bpm-core 0.0.56 → 0.0.57

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.
Files changed (27) hide show
  1. package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +6 -4
  2. package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +7 -7
  3. package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +4 -3
  4. package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +5 -1
  5. package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +3 -3
  6. package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +4 -3
  7. package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +4 -3
  8. package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +7 -7
  9. package/esm2022/lib/components/shared-components/form-field/form-label/form-label.component.mjs +5 -3
  10. package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs +6 -4
  11. package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +16 -3
  12. package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +16 -13
  13. package/esm2022/lib/components/shared-components/form-field/shared-imports.mjs +4 -2
  14. package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +6 -6
  15. package/esm2022/lib/components/shared-components/form-field/validation-errors/validation-errors.component.mjs +5 -5
  16. package/esm2022/lib/pipes/translate.pipe.mjs +36 -0
  17. package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +86 -53
  18. package/fesm2022/bpm-core.mjs +526 -137
  19. package/fesm2022/bpm-core.mjs.map +1 -1
  20. package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +1 -0
  21. package/lib/components/shared-components/form-field/input-telephone/input-telephone.component.d.ts +2 -0
  22. package/lib/components/shared-components/form-field/shared-imports.d.ts +4 -3
  23. package/lib/components/shared-components/form-field/toggle-button/toggle-button.component.d.ts +2 -2
  24. package/lib/components/shared-components/form-field/validation-errors/validation-errors.component.d.ts +4 -4
  25. package/lib/pipes/translate.pipe.d.ts +11 -0
  26. package/lib/testComponent/request-details-section/request-details-section.component.d.ts +1 -0
  27. package/package.json +1 -1
@@ -2,12 +2,14 @@ import { Component, CUSTOM_ELEMENTS_SCHEMA, DestroyRef, inject, Input, NO_ERRORS
2
2
  import { NgClass } from "@angular/common";
3
3
  import { ActionButtonsComponent, AttachmentSectionComponent, CheckBoxComponent, CustomSearchableComponent, DatePickerComponent, DateRangePickerComponent, InputComponent, InputCurrencyComponent, InputEmailComponent, InputNumberComponent, InputTelephoneComponent, RadioComponent, SearchEmployeeComponent, TextareaComponent } from '../../components/shared-components';
4
4
  import { ToggleButtonComponent } from "../../components/shared-components";
5
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
+ import { TableComponent } from '../../components/shared-components/table/table.component';
6
6
  import { ReactiveFormsModule, Validators, FormControl } from "@angular/forms";
7
7
  import { DocsUploaderComponent } from "../../components/shared-components";
8
+ import { TranslatePipe } from '../../pipes/translate.pipe';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "../../services";
10
11
  import * as i2 from "@angular/forms";
12
+ // import { TranslatePipe } from '../../pipes/translate.pipe';
11
13
  export class RequestDetailsSectionComponent {
12
14
  i18n;
13
15
  fb;
@@ -270,31 +272,53 @@ export class RequestDetailsSectionComponent {
270
272
  },
271
273
  ];
272
274
  }
273
- // createForm() {
274
- // let newForm = {
275
- // input1: ['', Validators.required]
276
- // };
277
- // this.lov?.['decision']?.options?.forEach(option => {
278
- // newForm[option.value] = [''];
279
- // })
280
- // this.formGroup = this.fb.group({
281
- // input: new FormControl(null, Validators.required),
282
- // currencyInput: new FormControl(null, Validators.required),
283
- // emailInput: new FormControl(null, Validators.required),
284
- // numberInput: new FormControl(null, Validators.required),
285
- // customSearchable: new FormControl(null, Validators.required),
286
- // checkbox: new FormControl(null ,Validators.requiredTrue),
287
- // textArea: new FormControl(null, [Validators.required,Validators.maxLength(5)]),
288
- // datePicker: new FormControl(null, Validators.required),
289
- // datePickerRange: new FormControl(null, Validators.required),
290
- // radio: new FormControl(null, Validators.required),
291
- // toggle: new FormControl(null, Validators.required),
292
- // telephone: new FormControl(null, Validators.required),
293
- // searchEmployee: new FormControl(null, Validators.required),
294
- // // ...newForm,
295
- // attachment: new FormControl(null, Validators.required),
296
- // attachmentSection: new FormControl([], Validators.required),
297
- // });
275
+ createForm() {
276
+ let newForm = {
277
+ input1: ['', Validators.required]
278
+ };
279
+ this.lov?.['decision']?.options?.forEach(option => {
280
+ newForm[option.value] = [''];
281
+ });
282
+ this.formGroup = this.fb.group({
283
+ input: new FormControl(null, Validators.required),
284
+ currencyInput: new FormControl(null, Validators.required),
285
+ emailInput: new FormControl(null, Validators.required),
286
+ numberInput: new FormControl(null, Validators.required),
287
+ customSearchable: new FormControl(null, Validators.required),
288
+ checkbox: new FormControl(null, [Validators.requiredTrue, Validators.required]),
289
+ textArea: new FormControl(null, [Validators.required, Validators.maxLength(5)]),
290
+ datePicker: new FormControl(null, Validators.required),
291
+ datePickerRange: new FormControl(null, Validators.required),
292
+ radio: new FormControl(null, Validators.required),
293
+ toggle: new FormControl(null, Validators.required),
294
+ telephone: new FormControl(null, Validators.required),
295
+ searchEmployee: new FormControl(null, Validators.required),
296
+ // ...newForm,
297
+ attachment: new FormControl(null, Validators.required),
298
+ attachmentSection: new FormControl([], Validators.required),
299
+ });
300
+ // this.formGroup = this.fb.group({
301
+ // input: new FormControl(null),
302
+ // currencyInput: new FormControl(null),
303
+ // emailInput: new FormControl(null),
304
+ // numberInput: new FormControl(null),
305
+ // customSearchable: new FormControl(null),
306
+ // checkbox: new FormControl(null),
307
+ // textArea: new FormControl(null),
308
+ // datePicker: new FormControl(null),
309
+ // datePickerRange: new FormControl(null),
310
+ // radio: new FormControl(null),
311
+ // toggle: new FormControl(null),
312
+ // telephone: new FormControl(null),
313
+ // searchEmployee: new FormControl(null),
314
+ // // ...newForm,
315
+ // attachment: new FormControl(null),
316
+ // attachmentSection: new FormControl([]),
317
+ // });
318
+ this.formGroup.setValue(this.section.body.details);
319
+ // console.log(this.section.body.detils);
320
+ // console.log(this.lov?.['approverActions']?.options)
321
+ }
298
322
  // this.formGroup.valueChanges.subscribe(value => {
299
323
  // this.lov?.['decision']?.options?.forEach(option => {
300
324
  // let isActionValid = this.checkValidity(option.value);
@@ -306,29 +330,32 @@ export class RequestDetailsSectionComponent {
306
330
  // })
307
331
  // })
308
332
  // }
309
- createForm() {
310
- this.formGroup = this.fb.group({
311
- customerName: new FormControl(null, [Validators.required]),
312
- customerPhone: new FormControl(null, [Validators.required]),
313
- reasonForRequest: new FormControl(null, [Validators.required]),
314
- callType: new FormControl(null, [Validators.required]),
315
- centerOfCalls: new FormControl(null, [Validators.required]),
316
- callDate: new FormControl(null, [Validators.required]),
317
- agreement: new FormControl(null, [Validators.required, Validators.requiredTrue]),
318
- });
319
- this.formGroup.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(value => {
320
- this.lov?.['decision']?.options?.forEach(option => {
321
- let isActionValid = this.checkValidity(option.value);
322
- this.actionStateService.setActionValid(option.value, isActionValid);
323
- this.section.body.details = this.formGroup.value;
324
- this.section.body.details.customerPhone = this.section.body.details.customerPhone?.e164Number;
325
- // this.section.body.details.agreement = (this.section.body.details.agreement).toString()
326
- });
327
- });
328
- console.log(this.section.body.details);
329
- this.formGroup.setValue(this.section.body.details);
330
- console.log('customCallSubmit', this.formGroup.value);
331
- }
333
+ // createForm() {
334
+ // this.formGroup = this.fb.group({
335
+ // customerName: new FormControl(null, [Validators.required]),
336
+ // customerPhone: new FormControl(null, [Validators.required]),
337
+ // reasonForRequest: new FormControl(null, [Validators.required]),
338
+ // callType: new FormControl(null, [Validators.required]),
339
+ // centerOfCalls: new FormControl(null, [Validators.required]),
340
+ // callDate: new FormControl(null, [Validators.required]),
341
+ // agreement: new FormControl(null, [Validators.required,Validators.requiredTrue]),
342
+ // });
343
+ // this.formGroup.valueChanges.pipe(
344
+ // takeUntilDestroyed(this.destroyRef)
345
+ // ).subscribe(value => {
346
+ // this.lov?.['decision']?.options?.forEach(option => {
347
+ // let isActionValid = this.checkValidity(option.value);
348
+ // this.actionStateService.setActionValid(option.value, isActionValid);
349
+ // this.section.body.details = this.formGroup.value
350
+ // this.section.body.details.customerPhone = this.section.body.details.customerPhone?.e164Number
351
+ // // this.section.body.details.agreement = (this.section.body.details.agreement).toString()
352
+ // })
353
+ // })
354
+ // console.log(this.lov?.['decision']?.options)
355
+ // console.log(this.section.body.details)
356
+ // this.formGroup.setValue(this.section.body.details);
357
+ // console.log('customCallSubmit', this.formGroup.value)
358
+ // }
332
359
  editAsset(asset) {
333
360
  console.log(asset);
334
361
  }
@@ -358,8 +385,12 @@ export class RequestDetailsSectionComponent {
358
385
  resetForm() {
359
386
  this.formGroup.reset();
360
387
  }
388
+ pageChanged(event) {
389
+ this.pageNumber = event.pageIndex;
390
+ this.pageSize = event.pageSize;
391
+ }
361
392
  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 });
362
- 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<!--\r\n <app-search-employee [multiple]=\"true\" [arrayList]=\"formGroup.get('searchEmployee').value\" [isReadOnly]=\"isReadOnly\" formControlName=\"searchEmployee\" label=\"Search-employee\"></app-search-employee>\r\n <app-input [isReadOnly]=\"isReadOnly\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\" class=\"section-item\"></app-input>\r\n <app-input-currency class=\"section-item\" [isReadOnly]=\"isReadOnly\" formControlName=\"currencyInput\" label=\"currency\"></app-input-currency>\r\n <app-input-email class=\"section-item\" [isReadOnly]=\"isReadOnly\" formControlName=\"emailInput\" label=\"email\"></app-input-email>\r\n <app-input-number class=\"section-item\" [isReadOnly]=\"isReadOnly\" formControlName=\"numberInput\" label=\"number\"></app-input-number>\r\n <app-custom-searchable [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"customSearchable\" label=\"Custom-searchable\" [options]=\"lov?.['approverActions']?.options\" [displayedLabel]=\"'name'\" [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"checkbox\" termsLabel=\"Terms and condtions\" label=\"check-box\" [containTerms]=\"true\"></app-checkbox>\r\n <app-textarea [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"textArea\" label=\"Text-area\"></app-textarea>\r\n <app-datepicker [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"datePicker\" [matSuffix]=\"true\" label=\"Date-picker\"></app-datepicker>\r\n <app-date-range-picker [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"datePickerRange\" label=\"Date-picker-range\" [matSuffix]=\"true\"></app-date-range-picker>\r\n <app-radio [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"radio\" [options]=\"options\" label=\"Radio\"></app-radio>\r\n <app-toggle-button [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"toggle\" [options]=\"lov?.['approverActions']?.options\" label=\"Toggle-button\" [displayedLable]=\"'name'\" [key]=\"'name'\"></app-toggle-button>\r\n <app-input-telephone [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n <app-file-uploader [isReadOnly]=\"isReadOnly\" [multiple]=\"true\" class=\"section-item\" label=\"attachment\" formControlName=\"attachment\"></app-file-uploader>\r\n <app-attachment-section [descriptionRequired]=\"true\" [commentsRequired]=\"true\" [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"attachmentSection\"></app-attachment-section>\r\n-->\r\n\r\n <app-input\r\n class=\"section-item full\" formControlName=\"customerName\"\r\n [label]=\"i18n.translate('customerName')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input>\r\n\r\n\r\n <app-input-telephone\r\n class=\"section-item full\" formControlName=\"customerPhone\"\r\n [label]=\"i18n.translate('customerPhone')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input-telephone>\r\n\r\n\r\n <app-input\r\n class=\"section-item full\" formControlName=\"reasonForRequest\"\r\n [label]=\"i18n.translate('reasonForRequest')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input>\r\n\r\n\r\n <app-custom-searchable\r\n class=\"section-item full\" formControlName=\"callType\"\r\n [label]=\"i18n.translate('callType')\"\r\n [options]=\"lov?.['decision']?.options\"\r\n [displayedLabel]=\"'description'\" [key]=\"'value'\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-custom-searchable>\r\n\r\n\r\n <app-custom-searchable\r\n class=\"section-item full\" formControlName=\"centerOfCalls\"\r\n [label]=\"i18n.translate('centerOfCalls')\"\r\n [options]=\"lov?.['decision']?.options\"\r\n [displayedLabel]=\"'description'\" [key]=\"'value'\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-custom-searchable\r\n >\r\n\r\n\r\n <app-datepicker\r\n class=\"section-item full\" formControlName=\"callDate\"\r\n [label]=\"i18n.translate('callDate')\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-datepicker>\r\n\r\n\r\n <app-checkbox\r\n class=\"section-item full\" formControlName=\"agreement\"\r\n [label]=\"i18n.translate('agreement')\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-checkbox>\r\n\r\n\r\n\r\n</form>\r\n<!--<ds-button\r\n(click)=\"formValue(formGroup)\"\r\n[ngClass]=\"{'disabled': !formGroup.valid}\"\r\n>\r\n{{ i18n.translate('submit') }}\r\n</ds-button>\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n <div class=\"d-flex gap-2\">\r\n Request details working fine\r\n </div>\r\n </ds-alert>-->\r\n <ds-button\r\n (click)=\"formValue(formGroup)\"\r\n [ngClass]=\"{ disabled: !formGroup.valid }\"\r\n >\r\n {{ i18n.translate(\"submit\") }}\r\n </ds-button>\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n <div class=\"d-flex gap-2\">Request details working fine</div>\r\n </ds-alert>\r\n <!-- <form [formGroup]=\"fieldsForm\">\r\n <app-input formControlName=\"input1\" ></app-input>\r\n </form> -->\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}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "app-input", inputs: ["floatLabel", "className", "iconPrefixName", "iconSuffixName", "emitedChangedValue1"] }, { 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: CustomSearchableComponent, selector: "app-custom-searchable", inputs: ["options", "disabled", "displayedLabel", "key", "floatLabel", "className"], outputs: ["selectedValue", "isLengthGreaterThan4"] }, { kind: "component", type: CheckBoxComponent, selector: "app-checkbox", inputs: ["containTerms", "termsLabel", "linkText", "hrefLink", "link", "termsBody"], outputs: ["downloadCheckBox"] }, { kind: "component", type: DatePickerComponent, selector: "app-datepicker", inputs: ["className", "calendarType", "yearOnly", "error", "format"], outputs: ["dateValue"] }, { kind: "component", type: InputTelephoneComponent, selector: "app-input-telephone", inputs: ["floatLabel", "className"] }] });
393
+ 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\r\n <app-search-employee class=\"section-item full\" [multiple]=\"true\" [arrayList]=\"formGroup.get('searchEmployee').value\" [isReadOnly]=\"isReadOnly\" formControlName=\"searchEmployee\" 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 class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"customSearchable\" label=\"Custom-searchable\" [options]=\"lov?.['approverActions']?.options\" [displayedLabel]=\"'name'\" [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"checkbox\" termsLabel=\"Terms and conditions\" label=\"check-box\" [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 class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"datePicker\" [matSuffix]=\"true\" label=\"Date-picker\"></app-datepicker>\r\n <app-date-range-picker class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"datePickerRange\" label=\"Date-picker-range\" [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 class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"toggle\" [options]=\"lov?.['approverActions']?.options\" label=\"Toggle-button\" [displayedLabel]=\"'name'\" [key]=\"'name'\"></app-toggle-button>\r\n <app-input-telephone class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n <app-file-uploader class=\"section-item full\" [isReadOnly]=\"isReadOnly\" [multiple]=\"false\" label=\"attachment\" formControlName=\"attachment\"></app-file-uploader>\r\n <app-attachment-section class=\"section-item full\" [descriptionRequired]=\"true\" label=\"Attachment section\" [commentsRequired]=\"true\" [isReadOnly]=\"isReadOnly\" formControlName=\"attachmentSection\"></app-attachment-section>\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\nclass=\"new-primary-table full\">\r\n</app-table>\r\n\r\n\r\n <!-- <app-input\r\n class=\"section-item full\" formControlName=\"customerName\"\r\n [label]=\"i18n.translate('customerName')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input>\r\n\r\n\r\n <app-input-telephone\r\n class=\"section-item full\" formControlName=\"customerPhone\"\r\n [label]=\"i18n.translate('customerPhone')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input-telephone>\r\n\r\n\r\n <app-input\r\n class=\"section-item full\" formControlName=\"reasonForRequest\"\r\n [label]=\"i18n.translate('reasonForRequest')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input>\r\n\r\n\r\n <app-custom-searchable\r\n class=\"section-item full\" formControlName=\"callType\"\r\n [label]=\"i18n.translate('callType')\"\r\n [options]=\"lov?.['decision']?.options\"\r\n [displayedLabel]=\"'description'\" [key]=\"'value'\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-custom-searchable>\r\n\r\n\r\n <app-custom-searchable\r\n class=\"section-item full\" formControlName=\"centerOfCalls\"\r\n [label]=\"i18n.translate('centerOfCalls')\"\r\n [options]=\"lov?.['decision']?.options\"\r\n [displayedLabel]=\"'description'\" [key]=\"'value'\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-custom-searchable\r\n >\r\n\r\n\r\n <app-datepicker\r\n class=\"section-item full\" formControlName=\"callDate\"\r\n [label]=\"i18n.translate('callDate')\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-datepicker>\r\n\r\n\r\n <app-checkbox\r\n class=\"section-item full\" formControlName=\"agreement\"\r\n [label]=\"i18n.translate('agreement')\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-checkbox> -->\r\n\r\n\r\n\r\n</form>\r\n<!--<ds-button\r\n(click)=\"formValue(formGroup)\"\r\n[ngClass]=\"{'disabled': !formGroup.valid}\"\r\n>\r\n{{ i18n.translate('submit') }}\r\n</ds-button>\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n <div class=\"d-flex gap-2\">\r\n Request details working fine\r\n </div>\r\n </ds-alert>-->\r\n <ds-button\r\n (click)=\"formValue(formGroup)\"\r\n [ngClass]=\"{ disabled: !formGroup.valid }\"\r\n >\r\n {{ i18n.translate(\"submit\") }}\r\n </ds-button>\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n <div class=\"d-flex gap-2\">Request details working fine</div>\r\n </ds-alert>\r\n <!-- <form [formGroup]=\"fieldsForm\">\r\n <app-input formControlName=\"input1\" ></app-input>\r\n </form> -->\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}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "app-input", inputs: ["floatLabel", "className", "iconPrefixName", "iconSuffixName", "emitedChangedValue1"] }, { 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.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: CustomSearchableComponent, selector: "app-custom-searchable", inputs: ["options", "disabled", "displayedLabel", "key", "floatLabel", "className"], outputs: ["selectedValue", "isLengthGreaterThan4"] }, { kind: "component", type: CheckBoxComponent, selector: "app-checkbox", inputs: ["containTerms", "termsLabel", "linkText", "hrefLink", "link", "termsBody"], outputs: ["downloadCheckBox"] }, { kind: "component", type: TextareaComponent, selector: "app-textarea", inputs: ["className", "preventSpecailChar"] }, { kind: "component", type: InputCurrencyComponent, selector: "app-input-currency", inputs: ["floatLabel", "className", "iconPrefixName", "iconSuffixName", "numberSuffixName"] }, { kind: "component", type: DatePickerComponent, selector: "app-datepicker", inputs: ["className", "calendarType", "yearOnly", "error", "format"], outputs: ["dateValue"] }, { kind: "component", type: DateRangePickerComponent, selector: "app-date-range-picker", inputs: ["className", "yearOnly", "calendarType"] }, { kind: "component", type: InputEmailComponent, selector: "app-input-email", inputs: ["floatLabel", "className", "matPrefix", "iconPrefixName", "iconSuffixName", "numberSuffixName"] }, { kind: "component", type: InputNumberComponent, selector: "app-input-number", inputs: ["floatLabel", "className", "iconPrefixName", "iconSuffixName", "numberSuffixName", "allowedPattern"], outputs: ["emitedChangedValue"] }, { kind: "component", type: RadioComponent, selector: "app-radio", inputs: ["options"] }, { kind: "component", type: ToggleButtonComponent, selector: "app-toggle-button", inputs: ["className", "data", "error", "optionAr", "optionEn", "hasHint", "options", "displayedLabel", "key"], outputs: ["onChange"] }, { kind: "component", type: InputTelephoneComponent, selector: "app-input-telephone", inputs: ["floatLabel", "className"] }, { kind: "component", type: DocsUploaderComponent, selector: "app-file-uploader", inputs: ["useCrop", "formKey", "showLabel", "downloadLink", "showActions", "styleHeight", "fileInputHeight", "styleWidth", "hints", "allowedExtensions", "callApi", "display", "attachType", "error", "displayedFiles", "getDataFromTemplate", "allowFileContentsWithMultiAttachments", "accept", "signType", "showSignButton", "printType", "showPrintButton", "downloadType", "showDownloadButton", "preventFileContents", "maxSize"], outputs: ["selectedTemplateAttachment", "addSignatureClicked", "printActionClicked", "emitedValue", "downloadActionClicked"] }, { kind: "component", type: SearchEmployeeComponent, selector: "app-search-employee", inputs: ["valueName", "className", "optional", "data", "floatLabel", "error", "showEdit", "arrayList", "isUniqueUsers"], outputs: ["selectedEmp", "onInputChange", "editDirectManger", "deleteDirectManger", "emitedDeletedValue"] }, { kind: "component", type: AttachmentSectionComponent, selector: "app-attachment-section", inputs: ["className", "attachmentsMax", "isSortable", "downloadAll", "isRequired", "descriptionRequired", "commentsRequired", "allowedExtensions"], outputs: ["emitedValue"] }, { kind: "component", type: TableComponent, selector: "app-table", inputs: ["columns", "isError", "isLoading", "customMessage", "columnsConfig", "loadData", "actions", "className", "totalElements", "showPagination", "pageIndex", "pageSize", "sortDisabled", "useScroll", "hasPaginator", "currentPage", "keyWord", "rows"], outputs: ["serviceRowSelect", "selectPage", "rowClicked", "autoCompleteValueSelected", "selectValueSelected", "sortChanged", "inputCellChanged", "pageScroll", "toggleChanged", "eventClicked", "pageChange"] }] });
363
394
  }
364
395
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RequestDetailsSectionComponent, decorators: [{
365
396
  type: Component,
@@ -381,8 +412,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
381
412
  InputTelephoneComponent,
382
413
  DocsUploaderComponent,
383
414
  SearchEmployeeComponent,
384
- AttachmentSectionComponent
385
- ], template: "<div>\r\n<form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n<!--\r\n <app-search-employee [multiple]=\"true\" [arrayList]=\"formGroup.get('searchEmployee').value\" [isReadOnly]=\"isReadOnly\" formControlName=\"searchEmployee\" label=\"Search-employee\"></app-search-employee>\r\n <app-input [isReadOnly]=\"isReadOnly\" [loading]=\"true\" type=\"enOnly\" formControlName=\"input\" label=\"Input\" class=\"section-item\"></app-input>\r\n <app-input-currency class=\"section-item\" [isReadOnly]=\"isReadOnly\" formControlName=\"currencyInput\" label=\"currency\"></app-input-currency>\r\n <app-input-email class=\"section-item\" [isReadOnly]=\"isReadOnly\" formControlName=\"emailInput\" label=\"email\"></app-input-email>\r\n <app-input-number class=\"section-item\" [isReadOnly]=\"isReadOnly\" formControlName=\"numberInput\" label=\"number\"></app-input-number>\r\n <app-custom-searchable [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"customSearchable\" label=\"Custom-searchable\" [options]=\"lov?.['approverActions']?.options\" [displayedLabel]=\"'name'\" [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"checkbox\" termsLabel=\"Terms and condtions\" label=\"check-box\" [containTerms]=\"true\"></app-checkbox>\r\n <app-textarea [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"textArea\" label=\"Text-area\"></app-textarea>\r\n <app-datepicker [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"datePicker\" [matSuffix]=\"true\" label=\"Date-picker\"></app-datepicker>\r\n <app-date-range-picker [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"datePickerRange\" label=\"Date-picker-range\" [matSuffix]=\"true\"></app-date-range-picker>\r\n <app-radio [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"radio\" [options]=\"options\" label=\"Radio\"></app-radio>\r\n <app-toggle-button [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"toggle\" [options]=\"lov?.['approverActions']?.options\" label=\"Toggle-button\" [displayedLable]=\"'name'\" [key]=\"'name'\"></app-toggle-button>\r\n <app-input-telephone [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n <app-file-uploader [isReadOnly]=\"isReadOnly\" [multiple]=\"true\" class=\"section-item\" label=\"attachment\" formControlName=\"attachment\"></app-file-uploader>\r\n <app-attachment-section [descriptionRequired]=\"true\" [commentsRequired]=\"true\" [isReadOnly]=\"isReadOnly\" class=\"section-item\" formControlName=\"attachmentSection\"></app-attachment-section>\r\n-->\r\n\r\n <app-input\r\n class=\"section-item full\" formControlName=\"customerName\"\r\n [label]=\"i18n.translate('customerName')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input>\r\n\r\n\r\n <app-input-telephone\r\n class=\"section-item full\" formControlName=\"customerPhone\"\r\n [label]=\"i18n.translate('customerPhone')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input-telephone>\r\n\r\n\r\n <app-input\r\n class=\"section-item full\" formControlName=\"reasonForRequest\"\r\n [label]=\"i18n.translate('reasonForRequest')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input>\r\n\r\n\r\n <app-custom-searchable\r\n class=\"section-item full\" formControlName=\"callType\"\r\n [label]=\"i18n.translate('callType')\"\r\n [options]=\"lov?.['decision']?.options\"\r\n [displayedLabel]=\"'description'\" [key]=\"'value'\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-custom-searchable>\r\n\r\n\r\n <app-custom-searchable\r\n class=\"section-item full\" formControlName=\"centerOfCalls\"\r\n [label]=\"i18n.translate('centerOfCalls')\"\r\n [options]=\"lov?.['decision']?.options\"\r\n [displayedLabel]=\"'description'\" [key]=\"'value'\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-custom-searchable\r\n >\r\n\r\n\r\n <app-datepicker\r\n class=\"section-item full\" formControlName=\"callDate\"\r\n [label]=\"i18n.translate('callDate')\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-datepicker>\r\n\r\n\r\n <app-checkbox\r\n class=\"section-item full\" formControlName=\"agreement\"\r\n [label]=\"i18n.translate('agreement')\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-checkbox>\r\n\r\n\r\n\r\n</form>\r\n<!--<ds-button\r\n(click)=\"formValue(formGroup)\"\r\n[ngClass]=\"{'disabled': !formGroup.valid}\"\r\n>\r\n{{ i18n.translate('submit') }}\r\n</ds-button>\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n <div class=\"d-flex gap-2\">\r\n Request details working fine\r\n </div>\r\n </ds-alert>-->\r\n <ds-button\r\n (click)=\"formValue(formGroup)\"\r\n [ngClass]=\"{ disabled: !formGroup.valid }\"\r\n >\r\n {{ i18n.translate(\"submit\") }}\r\n </ds-button>\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n <div class=\"d-flex gap-2\">Request details working fine</div>\r\n </ds-alert>\r\n <!-- <form [formGroup]=\"fieldsForm\">\r\n <app-input formControlName=\"input1\" ></app-input>\r\n </form> -->\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}\n"] }]
415
+ AttachmentSectionComponent,
416
+ TableComponent,
417
+ TranslatePipe
418
+ ], template: "<div>\r\n<form [ngClass]=\"{'form-section-divide form-section':!section?.header?.readOnly,'info-section':section?.header?.readOnly}\" [formGroup]=\"formGroup\">\r\n\r\n <app-search-employee class=\"section-item full\" [multiple]=\"true\" [arrayList]=\"formGroup.get('searchEmployee').value\" [isReadOnly]=\"isReadOnly\" formControlName=\"searchEmployee\" 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 class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"customSearchable\" label=\"Custom-searchable\" [options]=\"lov?.['approverActions']?.options\" [displayedLabel]=\"'name'\" [key]=\"'name'\"></app-custom-searchable>\r\n <app-checkbox class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"checkbox\" termsLabel=\"Terms and conditions\" label=\"check-box\" [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 class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"datePicker\" [matSuffix]=\"true\" label=\"Date-picker\"></app-datepicker>\r\n <app-date-range-picker class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"datePickerRange\" label=\"Date-picker-range\" [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 class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"toggle\" [options]=\"lov?.['approverActions']?.options\" label=\"Toggle-button\" [displayedLabel]=\"'name'\" [key]=\"'name'\"></app-toggle-button>\r\n <app-input-telephone class=\"section-item full\" [isReadOnly]=\"isReadOnly\" formControlName=\"telephone\" label=\"Telephone\"></app-input-telephone>\r\n <app-file-uploader class=\"section-item full\" [isReadOnly]=\"isReadOnly\" [multiple]=\"false\" label=\"attachment\" formControlName=\"attachment\"></app-file-uploader>\r\n <app-attachment-section class=\"section-item full\" [descriptionRequired]=\"true\" label=\"Attachment section\" [commentsRequired]=\"true\" [isReadOnly]=\"isReadOnly\" formControlName=\"attachmentSection\"></app-attachment-section>\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\nclass=\"new-primary-table full\">\r\n</app-table>\r\n\r\n\r\n <!-- <app-input\r\n class=\"section-item full\" formControlName=\"customerName\"\r\n [label]=\"i18n.translate('customerName')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input>\r\n\r\n\r\n <app-input-telephone\r\n class=\"section-item full\" formControlName=\"customerPhone\"\r\n [label]=\"i18n.translate('customerPhone')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input-telephone>\r\n\r\n\r\n <app-input\r\n class=\"section-item full\" formControlName=\"reasonForRequest\"\r\n [label]=\"i18n.translate('reasonForRequest')\"\r\n\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-input>\r\n\r\n\r\n <app-custom-searchable\r\n class=\"section-item full\" formControlName=\"callType\"\r\n [label]=\"i18n.translate('callType')\"\r\n [options]=\"lov?.['decision']?.options\"\r\n [displayedLabel]=\"'description'\" [key]=\"'value'\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-custom-searchable>\r\n\r\n\r\n <app-custom-searchable\r\n class=\"section-item full\" formControlName=\"centerOfCalls\"\r\n [label]=\"i18n.translate('centerOfCalls')\"\r\n [options]=\"lov?.['decision']?.options\"\r\n [displayedLabel]=\"'description'\" [key]=\"'value'\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-custom-searchable\r\n >\r\n\r\n\r\n <app-datepicker\r\n class=\"section-item full\" formControlName=\"callDate\"\r\n [label]=\"i18n.translate('callDate')\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-datepicker>\r\n\r\n\r\n <app-checkbox\r\n class=\"section-item full\" formControlName=\"agreement\"\r\n [label]=\"i18n.translate('agreement')\"\r\n [required]=\"true\"\r\n [isReadOnly]=\"section?.header?.readOnly\">\r\n </app-checkbox> -->\r\n\r\n\r\n\r\n</form>\r\n<!--<ds-button\r\n(click)=\"formValue(formGroup)\"\r\n[ngClass]=\"{'disabled': !formGroup.valid}\"\r\n>\r\n{{ i18n.translate('submit') }}\r\n</ds-button>\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n <div class=\"d-flex gap-2\">\r\n Request details working fine\r\n </div>\r\n </ds-alert>-->\r\n <ds-button\r\n (click)=\"formValue(formGroup)\"\r\n [ngClass]=\"{ disabled: !formGroup.valid }\"\r\n >\r\n {{ i18n.translate(\"submit\") }}\r\n </ds-button>\r\n <ds-alert class=\"full\" type=\"warning\" icon=\"info\">\r\n <div class=\"d-flex gap-2\">Request details working fine</div>\r\n </ds-alert>\r\n <!-- <form [formGroup]=\"fieldsForm\">\r\n <app-input formControlName=\"input1\" ></app-input>\r\n </form> -->\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}\n"] }]
386
419
  }], ctorParameters: () => [{ type: i1.CoreI18nService }, { type: i2.FormBuilder }, { type: i1.ActionStateService }], propDecorators: { isReadOnly: [{
387
420
  type: Input
388
421
  }], section: [{
@@ -394,4 +427,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
394
427
  }], className: [{
395
428
  type: Input
396
429
  }] } });
397
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1kZXRhaWxzLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi90ZXN0Q29tcG9uZW50L3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvdGVzdENvbXBvbmVudC9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR3JILE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsc0JBQXNCLEVBQzVCLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBeUIsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG9DQUFvQyxDQUFD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QUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBEZXN0cm95UmVmLCBpbmplY3QsIElucHV0LCBOT19FUlJPUlNfU0NIRU1BLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Zvcm0sIFNlY3Rpb259IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7QWN0aW9uU3RhdGVTZXJ2aWNlLCBDb3JlSTE4blNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQge05nQ2xhc3N9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtBY3Rpb25CdXR0b25zQ29tcG9uZW50LFxyXG4gIEF0dGFjaG1lbnRTZWN0aW9uQ29tcG9uZW50LFxyXG4gIENoZWNrQm94Q29tcG9uZW50LFxyXG4gIEN1c3RvbVNlYXJjaGFibGVDb21wb25lbnQsXHJcbiAgRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXHJcbiAgSW5wdXRDb21wb25lbnQsXHJcbiAgSW5wdXRDdXJyZW5jeUNvbXBvbmVudCxcclxuICBJbnB1dEVtYWlsQ29tcG9uZW50LFxyXG4gIElucHV0TnVtYmVyQ29tcG9uZW50LFxyXG4gIElucHV0VGVsZXBob25lQ29tcG9uZW50LFxyXG4gIFJhZGlvQ29tcG9uZW50LFxyXG4gIFNlYXJjaEVtcGxveWVlQ29tcG9uZW50LFxyXG4gIFRleHRhcmVhQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFJlZ2V4UGF0dGVybnMgfSBmcm9tICcuLi8uLi9yZWdleC9yZWdleC1wYXR0ZXJucyc7XHJcbmltcG9ydCB7IFRvZ2dsZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2x9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge0RvY3NVcGxvYWRlckNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlcXVlc3QtZGV0YWlscy1zZWN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVxdWVzdC1kZXRhaWxzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdDbGFzcyxcclxuICAgIElucHV0Q29tcG9uZW50LFxyXG4gICAgQWN0aW9uQnV0dG9uc0NvbXBvbmVudCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDdXN0b21TZWFyY2hhYmxlQ29tcG9uZW50LFxyXG4gICAgQ2hlY2tCb3hDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIElucHV0Q3VycmVuY3lDb21wb25lbnQsXHJcbiAgICBEYXRlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgSW5wdXRFbWFpbENvbXBvbmVudCxcclxuICAgIElucHV0TnVtYmVyQ29tcG9uZW50LFxyXG4gICAgUmFkaW9Db21wb25lbnQsXHJcbiAgICBUb2dnbGVCdXR0b25Db21wb25lbnQsXHJcbiAgICBJbnB1dFRlbGVwaG9uZUNvbXBvbmVudCxcclxuICAgIERvY3NVcGxvYWRlckNvbXBvbmVudCxcclxuICAgIFNlYXJjaEVtcGxveWVlQ29tcG9uZW50LFxyXG4gICAgQXR0YWNobWVudFNlY3Rpb25Db21wb25lbnRcclxuICBdXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcXVlc3REZXRhaWxzU2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuXHJcbiAgQElucHV0KCkgaXNSZWFkT25seTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzZWN0aW9uOiBTZWN0aW9uO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcbiAgQElucHV0KCkgbG92OiBhbnk7XHJcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGNsYXNzTmFtZTogc3RyaW5nID0gXCJpbmZvLXNlY3Rpb25cIjtcclxuICBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcclxuICBvcHRpb25zOiBzdHJpbmdbXSA9IFsnT3B0aW9uIDEnLCAnT3B0aW9uIDInLCAnT3B0aW9uIDMnXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfUEFHRV9TSVpFID0gMTA7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX1BBR0VfTlVNQkVSID0gMDtcclxuICBwYWdlTnVtYmVyOiBudW1iZXIgPSB0aGlzLkRFRkFVTFRfUEFHRV9OVU1CRVI7XHJcbiAgcGFnZVNpemU6IG51bWJlciA9IHRoaXMuREVGQVVMVF9QQUdFX1NJWkU7XHJcbiAgY29sdW1uc0NvbmZpZzogYW55W10gPSBbXTtcclxuICBjb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcblxyXG4gIGlzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYXRlZ29yeURhdGEgPSBbXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJCZW5xXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDAyXCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJCNDAwXCIsXHJcbiAgICAgIFwiZmlsZXNcIjogbnVsbCxcclxuICAgICAgXCJ2ZW5kb3JzXCI6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImlkXCI6IDcxLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOYW1lXCI6IG51bGwsXHJcbiAgICAgICAgICBcInZlbmRvck51bWJlclwiOiBcIjI2XCIsXHJcbiAgICAgICAgICBcIl9fdHlwZW5hbWVcIjogXCJWZW5kb3JEdG9cIlxyXG4gICAgICAgIH1cclxuICAgICAgXSxcclxuICAgICAgXCJjYXRlZ29yeVwiOiBudWxsLFxyXG4gICAgICBcImFzc2V0VHlwZVwiOiBcIlNjYW5uZXJcIixcclxuICAgICAgXCJjbGFzc2lmaWNhdGlvbnNcIjogbnVsbCxcclxuICAgICAgXCJjb25zdW1lZENvdW50XCI6IDAsXHJcbiAgICAgIFwiY29uc3VtZWRQZXJjZW50YWdlXCI6IDAsXHJcbiAgICAgIFwic3BlY3NcIjogW1xyXG4gICAgICAgIFwiNEdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgXCJhc3NldERldmljZVR5cGVcIjogbnVsbCxcclxuICAgICAgXCJicmFuZFwiOiBcIkhQXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDAzXCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJFbGl0ZUJvb2tcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiTGFwdG9wXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjUxMkdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgXCJhc3NldERldmljZVR5cGVcIjogbnVsbCxcclxuICAgICAgXCJicmFuZFwiOiBcIkhwXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA0XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJMYXNlclwiLFxyXG4gICAgICBcImZpbGVzXCI6IG51bGwsXHJcbiAgICAgIFwidmVuZG9yc1wiOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJpZFwiOiA3MSxcclxuICAgICAgICAgIFwidmVuZG9yTmFtZVwiOiBudWxsLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOdW1iZXJcIjogXCIyNlwiLFxyXG4gICAgICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiVmVuZG9yRHRvXCJcclxuICAgICAgICB9XHJcbiAgICAgIF0sXHJcbiAgICAgIFwiY2F0ZWdvcnlcIjogbnVsbCxcclxuICAgICAgXCJhc3NldFR5cGVcIjogXCJQcmludGVyXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjJHQlwiXHJcbiAgICAgIF0sXHJcbiAgICAgIFwic3VtUXVhbnRpdHlcIjogMSxcclxuICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiQWxsQXNzZXRzRHRvXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJBc3VzXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA1XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJBNTAwXCIsXHJcbiAgICAgIFwiZmlsZXNcIjogbnVsbCxcclxuICAgICAgXCJ2ZW5kb3JzXCI6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImlkXCI6IDcxLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOYW1lXCI6IG51bGwsXHJcbiAgICAgICAgICBcInZlbmRvck51bWJlclwiOiBcIjI2XCIsXHJcbiAgICAgICAgICBcIl9fdHlwZW5hbWVcIjogXCJWZW5kb3JEdG9cIlxyXG4gICAgICAgIH1cclxuICAgICAgXSxcclxuICAgICAgXCJjYXRlZ29yeVwiOiBudWxsLFxyXG4gICAgICBcImFzc2V0VHlwZVwiOiBcIkxhcHRvcFwiLFxyXG4gICAgICBcImNsYXNzaWZpY2F0aW9uc1wiOiBudWxsLFxyXG4gICAgICBcImNvbnN1bWVkQ291bnRcIjogMCxcclxuICAgICAgXCJjb25zdW1lZFBlcmNlbnRhZ2VcIjogMCxcclxuICAgICAgXCJzcGVjc1wiOiBbXHJcbiAgICAgICAgXCIxVEJcIlxyXG4gICAgICBdLFxyXG4gICAgICBcInN1bVF1YW50aXR5XCI6IDEsXHJcbiAgICAgIFwiX190eXBlbmFtZVwiOiBcIkFsbEFzc2V0c0R0b1wiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBcImFzc2V0RGV2aWNlVHlwZVwiOiBudWxsLFxyXG4gICAgICBcImJyYW5kXCI6IFwiRGVsbFwiLFxyXG4gICAgICBcImNvbG9yc1wiOiBudWxsLFxyXG4gICAgICBcImFzc2V0Q29tcGFuaWVzXCI6IG51bGwsXHJcbiAgICAgIFwiZGVzY0FyXCI6IG51bGwsXHJcbiAgICAgIFwiZGVzY0VuXCI6IG51bGwsXHJcbiAgICAgIFwiZXN0b3JlVmlzaWJsZVwiOiBmYWxzZSxcclxuICAgICAgXCJpZFwiOiBcIjQwN1wiLFxyXG4gICAgICBcIm1vZGVsXCI6IFwiTGF0aXR1ZGVcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiTGFwdG9wXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjFUQlwiXHJcbiAgICAgIF0sXHJcbiAgICAgIFwic3VtUXVhbnRpdHlcIjogNCxcclxuICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiQWxsQXNzZXRzRHRvXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJTYW1zdW5nXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA4XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJHYWxheHlcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiVGFibGV0XCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjI1NkdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfVxyXG4gIF1cclxuXHJcbiAgdG90YWxFbGVtZW50czogbnVtYmVyID0gNjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFjdGlvblN0YXRlU2VydmljZTogQWN0aW9uU3RhdGVTZXJ2aWNlKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVRhYmxlQ29uZmlnKClcclxuICB9XHJcblxyXG5cclxuICBpbml0aWFsaXplVGFibGVDb25maWcoKSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVDb2x1bW5zKClcclxuICAgIHRoaXMuaW5pdGlhbGl6ZUNvbHVtbkNvbmZpZygpXHJcblxyXG59XHJcbmluaXRpYWxpemVDb2x1bW5zKCkge1xyXG4gIHRoaXMuY29sdW1ucyA9IFsnaWQnLCAnYXNzZXRUeXBlJywgJ2JyYW5kJywgJ21vZGVsJywgJ3N1bVF1YW50aXR5JywgJ3NwZWNzJywgJ2FsbG9jYXRlJ107XHJcbn1cclxuXHJcbmluaXRpYWxpemVDb2x1bW5Db25maWcoKSB7XHJcbiAgdGhpcy5jb2x1bW5zQ29uZmlnID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogJ0lkJyxcclxuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdBc3NldCBUeXBlJyxcclxuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdCcmFuZCcsXHJcbiAgICAgICAgICB0eXBlOiAndGV4dCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdNb2RlbCcsXHJcbiAgICAgICAgICB0eXBlOiAndGV4dCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdRdWFudGl0eScsXHJcbiAgICAgICAgICB0eXBlOiAndGV4dCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdDYXBhY2l0eScsXHJcbiAgICAgICAgICB0eXBlOiAnc3BlY3MnLFxyXG4gICAgICAgICAgY2xpY2thYmxlVGV4dDogJ1ZpZXcnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ0FjdGlvbnMnLFxyXG4gICAgICAgIHR5cGU6ICdhY3Rpb25zJyxcclxuICAgICAgICBhY3Rpb25zOiBbXHJcbiAgICAgICAgICB7dmlld01vZGU6ICdhbGxvY2F0ZScsIGFjdGlvbk5hbWU6IFwiQWxsb2NhdGVcIiwgZGlzYWJsZWQ6dHJ1ZX0sXHJcbiAgICAgICAgICAge3ZpZXdNb2RlOiAnZWRpdCcsIGFjdGlvbk5hbWU6IFwiRWRpdFwiLCBhY3Rpb246IFwiZWRpdFwiLG9uQ2xpY2s6IChhc3NldDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdEFzc2V0KGFzc2V0KTtcclxuICAgICAgICB9LH0sXHJcbiAgICAgICAge3ZpZXdNb2RlOiAnZGVsZXRlJywgYWN0aW9uTmFtZTogXCJEZWxldGVcIiwgYWN0aW9uOiBcImRlbGV0ZVwiLG9uQ2xpY2s6IChhc3NldDogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRlbGV0ZUFzc2V0KGFzc2V0KTtcclxuICAgICAgfSx9LFxyXG4gICAgICB7dmlld01vZGU6ICdjaGFydCcsIGFjdGlvbk5hbWU6IFwiQ2hhcnRcIiwgYWN0aW9uOlwiY2hhcnRcIn0sXHJcbiAgICAgICAgICBdXHJcbiAgICB9LFxyXG4gIF07XHJcbn1cclxuXHJcblxyXG4gIC8vIGNyZWF0ZUZvcm0oKSB7XHJcbiAgLy8gICBsZXQgbmV3Rm9ybSA9IHtcclxuICAvLyAgICAgaW5wdXQxOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdXHJcbiAgLy8gICB9O1xyXG4gIC8vICAgdGhpcy5sb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9ucz8uZm9yRWFjaChvcHRpb24gPT4ge1xyXG4gIC8vICAgICBuZXdGb3JtW29wdGlvbi52YWx1ZV0gPSBbJyddO1xyXG4gIC8vICAgfSlcclxuICAvLyAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgLy8gICAgIGlucHV0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgLy8gICAgIGN1cnJlbmN5SW5wdXQ6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAvLyAgICAgZW1haWxJbnB1dDogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gIC8vICAgICBudW1iZXJJbnB1dDogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gIC8vICAgICBjdXN0b21TZWFyY2hhYmxlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgLy8gICAgIGNoZWNrYm94OiBuZXcgRm9ybUNvbnRyb2wobnVsbCAsVmFsaWRhdG9ycy5yZXF1aXJlZFRydWUpLFxyXG4gIC8vICAgICB0ZXh0QXJlYTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUpXSksXHJcbiAgLy8gICAgIGRhdGVQaWNrZXI6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAvLyAgICAgZGF0ZVBpY2tlclJhbmdlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgLy8gICAgIHJhZGlvOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgLy8gICAgIHRvZ2dsZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gIC8vICAgICB0ZWxlcGhvbmU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAvLyAgICAgc2VhcmNoRW1wbG95ZWU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAvLyAgICAgLy8gLi4ubmV3Rm9ybSxcclxuICAvLyAgICAgYXR0YWNobWVudDogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gIC8vICAgICBhdHRhY2htZW50U2VjdGlvbjogbmV3IEZvcm1Db250cm9sKFtdLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAvLyAgIH0pO1xyXG4gIC8vICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgLy8gICAgIHRoaXMubG92Py5bJ2RlY2lzaW9uJ10/Lm9wdGlvbnM/LmZvckVhY2gob3B0aW9uID0+IHtcclxuICAvLyAgICAgICBsZXQgaXNBY3Rpb25WYWxpZCA9IHRoaXMuY2hlY2tWYWxpZGl0eShvcHRpb24udmFsdWUpO1xyXG4gIC8vICAgICAgIHRoaXMuYWN0aW9uU3RhdGVTZXJ2aWNlLnNldEFjdGlvblZhbGlkKG9wdGlvbi52YWx1ZSwgaXNBY3Rpb25WYWxpZCk7XHJcbiAgLy8gICAgICAgdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscyA9IHRoaXMuZm9ybUdyb3VwLnZhbHVlXHJcbiAgLy8gICAgICAgIC8hKntcclxuICAvLyAgICAgICAgIGlucHV0MTogdGhpcy5maWVsZHNGb3JtLmdldCgnaW5wdXQxJykudmFsdWVcclxuICAvLyAgICAgICB9KiEvXHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICB9KVxyXG4gIC8vIH1cclxuICAgIGNyZWF0ZUZvcm0oKSB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICBjdXN0b21lck5hbWU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gICAgICBjdXN0b21lclBob25lOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAgICAgcmVhc29uRm9yUmVxdWVzdDogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgIGNhbGxUeXBlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAgICAgY2VudGVyT2ZDYWxsczogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgIGNhbGxEYXRlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAgICAgYWdyZWVtZW50OiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5yZXF1aXJlZFRydWVdKSxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXHJcbiAgICApLnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHRoaXMubG92Py5bJ2RlY2lzaW9uJ10/Lm9wdGlvbnM/LmZvckVhY2gob3B0aW9uID0+IHtcclxuICAgICAgICBsZXQgaXNBY3Rpb25WYWxpZCA9IHRoaXMuY2hlY2tWYWxpZGl0eShvcHRpb24udmFsdWUpO1xyXG4gICAgICAgIHRoaXMuYWN0aW9uU3RhdGVTZXJ2aWNlLnNldEFjdGlvblZhbGlkKG9wdGlvbi52YWx1ZSwgaXNBY3Rpb25WYWxpZCk7XHJcbiAgICAgICAgdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscyA9IHRoaXMuZm9ybUdyb3VwLnZhbHVlXHJcbiAgICAgICAgdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5jdXN0b21lclBob25lID0gdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5jdXN0b21lclBob25lPy5lMTY0TnVtYmVyXHJcbiAgICAgICAgLy8gdGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5hZ3JlZW1lbnQgPSAodGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscy5hZ3JlZW1lbnQpLnRvU3RyaW5nKClcclxuXHJcbiAgICAgIH0pXHJcbiAgICB9KVxyXG4gICAgY29uc29sZS5sb2codGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscylcclxuICAgIHRoaXMuZm9ybUdyb3VwLnNldFZhbHVlKHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMpO1xyXG4gICAgY29uc29sZS5sb2coJ2N1c3RvbUNhbGxTdWJtaXQnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSlcclxuICB9XHJcblxyXG4gIGVkaXRBc3NldChhc3NldCl7XHJcbiAgICBjb25zb2xlLmxvZyhhc3NldClcclxuICB9XHJcbiAgZGVsZXRlQXNzZXQoYXNzZXQpe1xyXG4gICAgY29uc29sZS5sb2coYXNzZXQpXHJcbiAgfVxyXG5cclxuICBmb3JtVmFsdWUoZm9ybSl7XHJcbmNvbnNvbGUubG9nKGZvcm0udmFsdWUpXHJcbiAgfVxyXG5cclxuICBjaGVja1ZhbGlkaXR5KGFjdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xyXG4gICAgICBjYXNlICdTVUJNSVQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC52YWxpZDtcclxuICAgICAgY2FzZSAnQVBQUk9WRSc6XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGNhc2UgJ1JFSkVDVCc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xyXG4gICAgICBjYXNlICdTRU5EQkFDSyc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBjdXN0b21DYWxsU3VibWl0KGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zb2xlLmxvZygnY3VzdG9tQ2FsbFN1Ym1pdCcsIGFjdGlvbilcclxuICB9XHJcblxyXG4gIHJlc2V0Rm9ybSgpIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KClcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXY+XHJcbjxmb3JtIFtuZ0NsYXNzXT1cInsnZm9ybS1zZWN0aW9uLWRpdmlkZSBmb3JtLXNlY3Rpb24nOiFzZWN0aW9uPy5oZWFkZXI/LnJlYWRPbmx5LCdpbmZvLXNlY3Rpb24nOnNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHl9XCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cclxuPCEtLVxyXG4gICAgPGFwcC1zZWFyY2gtZW1wbG95ZWUgW211bHRpcGxlXT1cInRydWVcIiBbYXJyYXlMaXN0XT1cImZvcm1Hcm91cC5nZXQoJ3NlYXJjaEVtcGxveWVlJykudmFsdWVcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoRW1wbG95ZWVcIiBsYWJlbD1cIlNlYXJjaC1lbXBsb3llZVwiPjwvYXBwLXNlYXJjaC1lbXBsb3llZT5cclxuICAgIDxhcHAtaW5wdXQgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIFtsb2FkaW5nXT1cInRydWVcIiB0eXBlPVwiZW5Pbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwiaW5wdXRcIiBsYWJlbD1cIklucHV0XCIgY2xhc3M9XCJzZWN0aW9uLWl0ZW1cIj48L2FwcC1pbnB1dD5cclxuICAgIDxhcHAtaW5wdXQtY3VycmVuY3kgY2xhc3M9XCJzZWN0aW9uLWl0ZW1cIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwiY3VycmVuY3lJbnB1dFwiIGxhYmVsPVwiY3VycmVuY3lcIj48L2FwcC1pbnB1dC1jdXJyZW5jeT5cclxuICAgIDxhcHAtaW5wdXQtZW1haWwgY2xhc3M9XCJzZWN0aW9uLWl0ZW1cIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxJbnB1dFwiIGxhYmVsPVwiZW1haWxcIj48L2FwcC1pbnB1dC1lbWFpbD5cclxuICAgIDxhcHAtaW5wdXQtbnVtYmVyIGNsYXNzPVwic2VjdGlvbi1pdGVtXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cIm51bWJlcklucHV0XCIgbGFiZWw9XCJudW1iZXJcIj48L2FwcC1pbnB1dC1udW1iZXI+XHJcbiAgICA8YXBwLWN1c3RvbS1zZWFyY2hhYmxlIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBjbGFzcz1cInNlY3Rpb24taXRlbVwiIGZvcm1Db250cm9sTmFtZT1cImN1c3RvbVNlYXJjaGFibGVcIiBsYWJlbD1cIkN1c3RvbS1zZWFyY2hhYmxlXCIgW29wdGlvbnNdPVwibG92Py5bJ2FwcHJvdmVyQWN0aW9ucyddPy5vcHRpb25zXCIgW2Rpc3BsYXllZExhYmVsXT1cIiduYW1lJ1wiIFtrZXldPVwiJ25hbWUnXCI+PC9hcHAtY3VzdG9tLXNlYXJjaGFibGU+XHJcbiAgICA8YXBwLWNoZWNrYm94ICBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgY2xhc3M9XCJzZWN0aW9uLWl0ZW1cIiBmb3JtQ29udHJvbE5hbWU9XCJjaGVja2JveFwiIHRlcm1zTGFiZWw9XCJUZXJtcyBhbmQgY29uZHRpb25zXCIgbGFiZWw9XCJjaGVjay1ib3hcIiBbY29udGFpblRlcm1zXT1cInRydWVcIj48L2FwcC1jaGVja2JveD5cclxuICAgIDxhcHAtdGV4dGFyZWEgIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBjbGFzcz1cInNlY3Rpb24taXRlbVwiIGZvcm1Db250cm9sTmFtZT1cInRleHRBcmVhXCIgbGFiZWw9XCJUZXh0LWFyZWFcIj48L2FwcC10ZXh0YXJlYT5cclxuICAgIDxhcHAtZGF0ZXBpY2tlciBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgY2xhc3M9XCJzZWN0aW9uLWl0ZW1cIiBmb3JtQ29udHJvbE5hbWU9XCJkYXRlUGlja2VyXCIgW21hdFN1ZmZpeF09XCJ0cnVlXCIgbGFiZWw9XCJEYXRlLXBpY2tlclwiPjwvYXBwLWRhdGVwaWNrZXI+XHJcbiAgICA8YXBwLWRhdGUtcmFuZ2UtcGlja2VyIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBjbGFzcz1cInNlY3Rpb24taXRlbVwiIGZvcm1Db250cm9sTmFtZT1cImRhdGVQaWNrZXJSYW5nZVwiIGxhYmVsPVwiRGF0ZS1waWNrZXItcmFuZ2VcIiBbbWF0U3VmZml4XT1cInRydWVcIj48L2FwcC1kYXRlLXJhbmdlLXBpY2tlcj5cclxuICAgIDxhcHAtcmFkaW8gW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGNsYXNzPVwic2VjdGlvbi1pdGVtXCIgZm9ybUNvbnRyb2xOYW1lPVwicmFkaW9cIiBbb3B0aW9uc109XCJvcHRpb25zXCIgbGFiZWw9XCJSYWRpb1wiPjwvYXBwLXJhZGlvPlxyXG4gICAgPGFwcC10b2dnbGUtYnV0dG9uIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBjbGFzcz1cInNlY3Rpb24taXRlbVwiICBmb3JtQ29udHJvbE5hbWU9XCJ0b2dnbGVcIiBbb3B0aW9uc109XCJsb3Y/LlsnYXBwcm92ZXJBY3Rpb25zJ10/Lm9wdGlvbnNcIiBsYWJlbD1cIlRvZ2dsZS1idXR0b25cIiBbZGlzcGxheWVkTGFibGVdPVwiJ25hbWUnXCIgW2tleV09XCInbmFtZSdcIj48L2FwcC10b2dnbGUtYnV0dG9uPlxyXG4gICAgPGFwcC1pbnB1dC10ZWxlcGhvbmUgIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBjbGFzcz1cInNlY3Rpb24taXRlbVwiICBmb3JtQ29udHJvbE5hbWU9XCJ0ZWxlcGhvbmVcIiAgbGFiZWw9XCJUZWxlcGhvbmVcIj48L2FwcC1pbnB1dC10ZWxlcGhvbmU+XHJcbiAgPGFwcC1maWxlLXVwbG9hZGVyIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBbbXVsdGlwbGVdPVwidHJ1ZVwiIGNsYXNzPVwic2VjdGlvbi1pdGVtXCIgbGFiZWw9XCJhdHRhY2htZW50XCIgZm9ybUNvbnRyb2xOYW1lPVwiYXR0YWNobWVudFwiPjwvYXBwLWZpbGUtdXBsb2FkZXI+XHJcbiAgPGFwcC1hdHRhY2htZW50LXNlY3Rpb24gW2Rlc2NyaXB0aW9uUmVxdWlyZWRdPVwidHJ1ZVwiIFtjb21tZW50c1JlcXVpcmVkXT1cInRydWVcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgY2xhc3M9XCJzZWN0aW9uLWl0ZW1cIiBmb3JtQ29udHJvbE5hbWU9XCJhdHRhY2htZW50U2VjdGlvblwiPjwvYXBwLWF0dGFjaG1lbnQtc2VjdGlvbj5cclxuLS0+XHJcblxyXG4gIDxhcHAtaW5wdXRcclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIGZvcm1Db250cm9sTmFtZT1cImN1c3RvbWVyTmFtZVwiXHJcbiAgICAgIFtsYWJlbF09XCJpMThuLnRyYW5zbGF0ZSgnY3VzdG9tZXJOYW1lJylcIlxyXG5cclxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJzZWN0aW9uPy5oZWFkZXI/LnJlYWRPbmx5XCI+XHJcbiAgICA8L2FwcC1pbnB1dD5cclxuXHJcblxyXG4gICAgPGFwcC1pbnB1dC10ZWxlcGhvbmVcclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIGZvcm1Db250cm9sTmFtZT1cImN1c3RvbWVyUGhvbmVcIlxyXG4gICAgICBbbGFiZWxdPVwiaTE4bi50cmFuc2xhdGUoJ2N1c3RvbWVyUGhvbmUnKVwiXHJcblxyXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cInNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHlcIj5cclxuICAgIDwvYXBwLWlucHV0LXRlbGVwaG9uZT5cclxuXHJcblxyXG4gICAgPGFwcC1pbnB1dFxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgZm9ybUNvbnRyb2xOYW1lPVwicmVhc29uRm9yUmVxdWVzdFwiXHJcbiAgICAgIFtsYWJlbF09XCJpMThuLnRyYW5zbGF0ZSgncmVhc29uRm9yUmVxdWVzdCcpXCJcclxuXHJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwic2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seVwiPlxyXG4gICAgPC9hcHAtaW5wdXQ+XHJcblxyXG5cclxuICAgIDxhcHAtY3VzdG9tLXNlYXJjaGFibGVcclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIGZvcm1Db250cm9sTmFtZT1cImNhbGxUeXBlXCJcclxuICAgICAgW2xhYmVsXT1cImkxOG4udHJhbnNsYXRlKCdjYWxsVHlwZScpXCJcclxuICAgICAgW29wdGlvbnNdPVwibG92Py5bJ2RlY2lzaW9uJ10/Lm9wdGlvbnNcIlxyXG4gICAgICBbZGlzcGxheWVkTGFiZWxdPVwiJ2Rlc2NyaXB0aW9uJ1wiIFtrZXldPVwiJ3ZhbHVlJ1wiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwic2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seVwiPlxyXG4gICAgPC9hcHAtY3VzdG9tLXNlYXJjaGFibGU+XHJcblxyXG5cclxuICAgIDxhcHAtY3VzdG9tLXNlYXJjaGFibGVcclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIGZvcm1Db250cm9sTmFtZT1cImNlbnRlck9mQ2FsbHNcIlxyXG4gICAgICBbbGFiZWxdPVwiaTE4bi50cmFuc2xhdGUoJ2NlbnRlck9mQ2FsbHMnKVwiXHJcbiAgICAgIFtvcHRpb25zXT1cImxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zXCJcclxuICAgICAgW2Rpc3BsYXllZExhYmVsXT1cIidkZXNjcmlwdGlvbidcIiBba2V5XT1cIid2YWx1ZSdcIlxyXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cInNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHlcIj5cclxuICAgIDwvYXBwLWN1c3RvbS1zZWFyY2hhYmxlXHJcbiAgICA+XHJcblxyXG5cclxuICAgIDxhcHAtZGF0ZXBpY2tlclxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgZm9ybUNvbnRyb2xOYW1lPVwiY2FsbERhdGVcIlxyXG4gICAgICBbbGFiZWxdPVwiaTE4bi50cmFuc2xhdGUoJ2NhbGxEYXRlJylcIlxyXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cInNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHlcIj5cclxuICAgIDwvYXBwLWRhdGVwaWNrZXI+XHJcblxyXG5cclxuICAgIDxhcHAtY2hlY2tib3hcclxuICAgICAgY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIGZvcm1Db250cm9sTmFtZT1cImFncmVlbWVudFwiXHJcbiAgICAgIFtsYWJlbF09XCJpMThuLnRyYW5zbGF0ZSgnYWdyZWVtZW50JylcIlxyXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cInNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHlcIj5cclxuICAgIDwvYXBwLWNoZWNrYm94PlxyXG5cclxuXHJcblxyXG48L2Zvcm0+XHJcbjwhLS08ZHMtYnV0dG9uXHJcbihjbGljayk9XCJmb3JtVmFsdWUoZm9ybUdyb3VwKVwiXHJcbltuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiAhZm9ybUdyb3VwLnZhbGlkfVwiXHJcbj5cclxue3sgaTE4bi50cmFuc2xhdGUoJ3N1Ym1pdCcpIH19XHJcbjwvZHMtYnV0dG9uPlxyXG4gIDxkcy1hbGVydCBjbGFzcz1cImZ1bGxcIiB0eXBlPVwid2FybmluZ1wiIGljb249XCJpbmZvXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yXCI+XHJcbiAgICAgIFJlcXVlc3QgZGV0YWlscyB3b3JraW5nIGZpbmVcclxuICAgIDwvZGl2PlxyXG4gIDwvZHMtYWxlcnQ+LS0+XHJcbiAgPGRzLWJ1dHRvblxyXG4gICAgKGNsaWNrKT1cImZvcm1WYWx1ZShmb3JtR3JvdXApXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6ICFmb3JtR3JvdXAudmFsaWQgfVwiXHJcbiAgPlxyXG4gICAge3sgaTE4bi50cmFuc2xhdGUoXCJzdWJtaXRcIikgfX1cclxuICA8L2RzLWJ1dHRvbj5cclxuICA8ZHMtYWxlcnQgY2xhc3M9XCJmdWxsXCIgdHlwZT1cIndhcm5pbmdcIiBpY29uPVwiaW5mb1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMlwiPlJlcXVlc3QgZGV0YWlscyB3b3JraW5nIGZpbmU8L2Rpdj5cclxuICA8L2RzLWFsZXJ0PlxyXG4gIDwhLS0gPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWVsZHNGb3JtXCI+XHJcbiAgICA8YXBwLWlucHV0IGZvcm1Db250cm9sTmFtZT1cImlucHV0MVwiID48L2FwcC1pbnB1dD5cclxuICA8L2Zvcm0+IC0tPlxyXG48L2Rpdj5cclxuQGlmICghc2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seSkge1xyXG48ZGl2IGNsYXNzPVwibXQtNFwiPlxyXG4gIDxsaWItYWN0aW9uLWJ1dHRvbnNcclxuICAgIFtsb3ZPcHRpb25zXT1cImxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zXCJcclxuICAgIFtsb3ZUeXBlXT1cImxvdj8uWydkZWNpc2lvbiddPy50eXBlXCJcclxuICAgIFtzZWN0aW9uXT1cInNlY3Rpb25cIlxyXG4gICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICBbc2VjdGlvbnNdPVwiZm9ybS5zZWN0aW9uc1wiXHJcbiAgICBbc2hvd0FwcHJvdmFsQ3ljbGVdPVwidHJ1ZVwiXHJcbiAgICBbY3VzdG9tQ2FsbF09XCJmYWxzZVwiXHJcbiAgICBbZmllbGRzRm9ybV09XCJmb3JtR3JvdXBcIlxyXG4gICAgKGN1c3RvbUNhbGxFbWl0KT1cImN1c3RvbUNhbGxTdWJtaXQoJGV2ZW50KVwiXHJcbiAgICAocmVzZXRGb3JtRW1pdCk9XCJyZXNldEZvcm0oKVwiXHJcbiAgLz5cclxuPC9kaXY+XHJcbn1cclxuIl19
430
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1kZXRhaWxzLXNlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi90ZXN0Q29tcG9uZW50L3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvdGVzdENvbXBvbmVudC9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi9yZXF1ZXN0LWRldGFpbHMtc2VjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFTLE1BQU0sZUFBZSxDQUFDO0FBR3JILE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsc0JBQXNCLEVBQzVCLDBCQUEwQixFQUMxQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxFQUNkLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHVCQUF1QixFQUN2QixjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNsQixNQUFNLG9DQUFvQyxDQUFDO0FBRTVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUUxRixPQUFPLEVBQXlCLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztB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LHlCQUF5QiwyTUFDekIsaUJBQWlCLDZLQUNqQixpQkFBaUIsc0dBQ2pCLHNCQUFzQiw0SkFDdEIsbUJBQW1CLHlKQUNuQix3QkFBd0IscUhBQ3hCLG1CQUFtQixzS0FDbkIsb0JBQW9CLDZNQUNwQixjQUFjLDJFQUNkLHFCQUFxQixvTUFDckIsdUJBQXVCLHFHQUN2QixxQkFBcUIscW1CQUNyQix1QkFBdUIsb1NBQ3ZCLDBCQUEwQixpUEFDMUIsY0FBYzs7MkZBTUwsOEJBQThCO2tCQS9CMUMsU0FBUzsrQkFDRSw2QkFBNkIsY0FHM0IsSUFBSSxXQUNQLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUMsV0FDMUM7d0JBQ1AsT0FBTzt3QkFDUCxjQUFjO3dCQUNkLHNCQUFzQjt3QkFDdEIsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLHVCQUF1Qjt3QkFDdkIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLDBCQUEwQjt3QkFDMUIsY0FBYzt3QkFDZCxhQUFhO3FCQUNkOytJQU1RLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBEZXN0cm95UmVmLCBpbmplY3QsIElucHV0LCBOT19FUlJPUlNfU0NIRU1BLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Zvcm0sIFNlY3Rpb259IGZyb20gXCIuLi8uLi9pbnRlcmZhY2VzXCI7XHJcbmltcG9ydCB7QWN0aW9uU3RhdGVTZXJ2aWNlLCBDb3JlSTE4blNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlc1wiO1xyXG5pbXBvcnQge05nQ2xhc3N9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtBY3Rpb25CdXR0b25zQ29tcG9uZW50LFxyXG4gIEF0dGFjaG1lbnRTZWN0aW9uQ29tcG9uZW50LFxyXG4gIENoZWNrQm94Q29tcG9uZW50LFxyXG4gIEN1c3RvbVNlYXJjaGFibGVDb21wb25lbnQsXHJcbiAgRGF0ZVBpY2tlckNvbXBvbmVudCxcclxuICBEYXRlUmFuZ2VQaWNrZXJDb21wb25lbnQsXHJcbiAgSW5wdXRDb21wb25lbnQsXHJcbiAgSW5wdXRDdXJyZW5jeUNvbXBvbmVudCxcclxuICBJbnB1dEVtYWlsQ29tcG9uZW50LFxyXG4gIElucHV0TnVtYmVyQ29tcG9uZW50LFxyXG4gIElucHV0VGVsZXBob25lQ29tcG9uZW50LFxyXG4gIFJhZGlvQ29tcG9uZW50LFxyXG4gIFNlYXJjaEVtcGxveWVlQ29tcG9uZW50LFxyXG4gIFRleHRhcmVhQ29tcG9uZW50XHJcbn0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IFJlZ2V4UGF0dGVybnMgfSBmcm9tICcuLi8uLi9yZWdleC9yZWdleC1wYXR0ZXJucyc7XHJcbmltcG9ydCB7IFRvZ2dsZUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7IFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7Rm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2x9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQge0RvY3NVcGxvYWRlckNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHNcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcclxuLy8gaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXJlcXVlc3QtZGV0YWlscy1zZWN0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcmVxdWVzdC1kZXRhaWxzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JlcXVlc3QtZGV0YWlscy1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTk9fRVJST1JTX1NDSEVNQV0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTmdDbGFzcyxcclxuICAgIElucHV0Q29tcG9uZW50LFxyXG4gICAgQWN0aW9uQnV0dG9uc0NvbXBvbmVudCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDdXN0b21TZWFyY2hhYmxlQ29tcG9uZW50LFxyXG4gICAgQ2hlY2tCb3hDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIElucHV0Q3VycmVuY3lDb21wb25lbnQsXHJcbiAgICBEYXRlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxyXG4gICAgSW5wdXRFbWFpbENvbXBvbmVudCxcclxuICAgIElucHV0TnVtYmVyQ29tcG9uZW50LFxyXG4gICAgUmFkaW9Db21wb25lbnQsXHJcbiAgICBUb2dnbGVCdXR0b25Db21wb25lbnQsXHJcbiAgICBJbnB1dFRlbGVwaG9uZUNvbXBvbmVudCxcclxuICAgIERvY3NVcGxvYWRlckNvbXBvbmVudCxcclxuICAgIFNlYXJjaEVtcGxveWVlQ29tcG9uZW50LFxyXG4gICAgQXR0YWNobWVudFNlY3Rpb25Db21wb25lbnQsXHJcbiAgICBUYWJsZUNvbXBvbmVudCxcclxuICAgIFRyYW5zbGF0ZVBpcGVcclxuICBdXHJcbn0pXHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIFJlcXVlc3REZXRhaWxzU2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuXHJcbiAgQElucHV0KCkgaXNSZWFkT25seTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzZWN0aW9uOiBTZWN0aW9uO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm07XHJcbiAgQElucHV0KCkgbG92OiBhbnk7XHJcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpIGNsYXNzTmFtZTogc3RyaW5nID0gXCJpbmZvLXNlY3Rpb25cIjtcclxuICBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcclxuICBvcHRpb25zOiBzdHJpbmdbXSA9IFsnT3B0aW9uIDEnLCAnT3B0aW9uIDInLCAnT3B0aW9uIDMnXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IERFRkFVTFRfUEFHRV9TSVpFID0gMTA7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBERUZBVUxUX1BBR0VfTlVNQkVSID0gMDtcclxuICBwYWdlTnVtYmVyOiBudW1iZXIgPSB0aGlzLkRFRkFVTFRfUEFHRV9OVU1CRVI7XHJcbiAgcGFnZVNpemU6IG51bWJlciA9IHRoaXMuREVGQVVMVF9QQUdFX1NJWkU7XHJcbiAgY29sdW1uc0NvbmZpZzogYW55W10gPSBbXTtcclxuICBjb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XHJcblxyXG4gIGlzRXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBjYXRlZ29yeURhdGEgPSBbXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJCZW5xXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDAyXCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJCNDAwXCIsXHJcbiAgICAgIFwiZmlsZXNcIjogbnVsbCxcclxuICAgICAgXCJ2ZW5kb3JzXCI6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImlkXCI6IDcxLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOYW1lXCI6IG51bGwsXHJcbiAgICAgICAgICBcInZlbmRvck51bWJlclwiOiBcIjI2XCIsXHJcbiAgICAgICAgICBcIl9fdHlwZW5hbWVcIjogXCJWZW5kb3JEdG9cIlxyXG4gICAgICAgIH1cclxuICAgICAgXSxcclxuICAgICAgXCJjYXRlZ29yeVwiOiBudWxsLFxyXG4gICAgICBcImFzc2V0VHlwZVwiOiBcIlNjYW5uZXJcIixcclxuICAgICAgXCJjbGFzc2lmaWNhdGlvbnNcIjogbnVsbCxcclxuICAgICAgXCJjb25zdW1lZENvdW50XCI6IDAsXHJcbiAgICAgIFwiY29uc3VtZWRQZXJjZW50YWdlXCI6IDAsXHJcbiAgICAgIFwic3BlY3NcIjogW1xyXG4gICAgICAgIFwiNEdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgXCJhc3NldERldmljZVR5cGVcIjogbnVsbCxcclxuICAgICAgXCJicmFuZFwiOiBcIkhQXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDAzXCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJFbGl0ZUJvb2tcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiTGFwdG9wXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjUxMkdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgXCJhc3NldERldmljZVR5cGVcIjogbnVsbCxcclxuICAgICAgXCJicmFuZFwiOiBcIkhwXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA0XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJMYXNlclwiLFxyXG4gICAgICBcImZpbGVzXCI6IG51bGwsXHJcbiAgICAgIFwidmVuZG9yc1wiOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgXCJpZFwiOiA3MSxcclxuICAgICAgICAgIFwidmVuZG9yTmFtZVwiOiBudWxsLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOdW1iZXJcIjogXCIyNlwiLFxyXG4gICAgICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiVmVuZG9yRHRvXCJcclxuICAgICAgICB9XHJcbiAgICAgIF0sXHJcbiAgICAgIFwiY2F0ZWdvcnlcIjogbnVsbCxcclxuICAgICAgXCJhc3NldFR5cGVcIjogXCJQcmludGVyXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjJHQlwiXHJcbiAgICAgIF0sXHJcbiAgICAgIFwic3VtUXVhbnRpdHlcIjogMSxcclxuICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiQWxsQXNzZXRzRHRvXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJBc3VzXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA1XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJBNTAwXCIsXHJcbiAgICAgIFwiZmlsZXNcIjogbnVsbCxcclxuICAgICAgXCJ2ZW5kb3JzXCI6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBcImlkXCI6IDcxLFxyXG4gICAgICAgICAgXCJ2ZW5kb3JOYW1lXCI6IG51bGwsXHJcbiAgICAgICAgICBcInZlbmRvck51bWJlclwiOiBcIjI2XCIsXHJcbiAgICAgICAgICBcIl9fdHlwZW5hbWVcIjogXCJWZW5kb3JEdG9cIlxyXG4gICAgICAgIH1cclxuICAgICAgXSxcclxuICAgICAgXCJjYXRlZ29yeVwiOiBudWxsLFxyXG4gICAgICBcImFzc2V0VHlwZVwiOiBcIkxhcHRvcFwiLFxyXG4gICAgICBcImNsYXNzaWZpY2F0aW9uc1wiOiBudWxsLFxyXG4gICAgICBcImNvbnN1bWVkQ291bnRcIjogMCxcclxuICAgICAgXCJjb25zdW1lZFBlcmNlbnRhZ2VcIjogMCxcclxuICAgICAgXCJzcGVjc1wiOiBbXHJcbiAgICAgICAgXCIxVEJcIlxyXG4gICAgICBdLFxyXG4gICAgICBcInN1bVF1YW50aXR5XCI6IDEsXHJcbiAgICAgIFwiX190eXBlbmFtZVwiOiBcIkFsbEFzc2V0c0R0b1wiXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBcImFzc2V0RGV2aWNlVHlwZVwiOiBudWxsLFxyXG4gICAgICBcImJyYW5kXCI6IFwiRGVsbFwiLFxyXG4gICAgICBcImNvbG9yc1wiOiBudWxsLFxyXG4gICAgICBcImFzc2V0Q29tcGFuaWVzXCI6IG51bGwsXHJcbiAgICAgIFwiZGVzY0FyXCI6IG51bGwsXHJcbiAgICAgIFwiZGVzY0VuXCI6IG51bGwsXHJcbiAgICAgIFwiZXN0b3JlVmlzaWJsZVwiOiBmYWxzZSxcclxuICAgICAgXCJpZFwiOiBcIjQwN1wiLFxyXG4gICAgICBcIm1vZGVsXCI6IFwiTGF0aXR1ZGVcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiTGFwdG9wXCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjFUQlwiXHJcbiAgICAgIF0sXHJcbiAgICAgIFwic3VtUXVhbnRpdHlcIjogNCxcclxuICAgICAgXCJfX3R5cGVuYW1lXCI6IFwiQWxsQXNzZXRzRHRvXCJcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIFwiYXNzZXREZXZpY2VUeXBlXCI6IG51bGwsXHJcbiAgICAgIFwiYnJhbmRcIjogXCJTYW1zdW5nXCIsXHJcbiAgICAgIFwiY29sb3JzXCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRDb21wYW5pZXNcIjogbnVsbCxcclxuICAgICAgXCJkZXNjQXJcIjogbnVsbCxcclxuICAgICAgXCJkZXNjRW5cIjogbnVsbCxcclxuICAgICAgXCJlc3RvcmVWaXNpYmxlXCI6IGZhbHNlLFxyXG4gICAgICBcImlkXCI6IFwiNDA4XCIsXHJcbiAgICAgIFwibW9kZWxcIjogXCJHYWxheHlcIixcclxuICAgICAgXCJmaWxlc1wiOiBudWxsLFxyXG4gICAgICBcInZlbmRvcnNcIjogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFwiaWRcIjogNzEsXHJcbiAgICAgICAgICBcInZlbmRvck5hbWVcIjogbnVsbCxcclxuICAgICAgICAgIFwidmVuZG9yTnVtYmVyXCI6IFwiMjZcIixcclxuICAgICAgICAgIFwiX190eXBlbmFtZVwiOiBcIlZlbmRvckR0b1wiXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBcImNhdGVnb3J5XCI6IG51bGwsXHJcbiAgICAgIFwiYXNzZXRUeXBlXCI6IFwiVGFibGV0XCIsXHJcbiAgICAgIFwiY2xhc3NpZmljYXRpb25zXCI6IG51bGwsXHJcbiAgICAgIFwiY29uc3VtZWRDb3VudFwiOiAwLFxyXG4gICAgICBcImNvbnN1bWVkUGVyY2VudGFnZVwiOiAwLFxyXG4gICAgICBcInNwZWNzXCI6IFtcclxuICAgICAgICBcIjI1NkdCXCJcclxuICAgICAgXSxcclxuICAgICAgXCJzdW1RdWFudGl0eVwiOiAxLFxyXG4gICAgICBcIl9fdHlwZW5hbWVcIjogXCJBbGxBc3NldHNEdG9cIlxyXG4gICAgfVxyXG4gIF1cclxuXHJcbiAgdG90YWxFbGVtZW50czogbnVtYmVyID0gNjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIGFjdGlvblN0YXRlU2VydmljZTogQWN0aW9uU3RhdGVTZXJ2aWNlKSB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZVRhYmxlQ29uZmlnKClcclxuICB9XHJcblxyXG5cclxuICBpbml0aWFsaXplVGFibGVDb25maWcoKSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVDb2x1bW5zKClcclxuICAgIHRoaXMuaW5pdGlhbGl6ZUNvbHVtbkNvbmZpZygpXHJcblxyXG59XHJcbmluaXRpYWxpemVDb2x1bW5zKCkge1xyXG4gIHRoaXMuY29sdW1ucyA9IFsnaWQnLCAnYXNzZXRUeXBlJywgJ2JyYW5kJywgJ21vZGVsJywgJ3N1bVF1YW50aXR5JywgJ3NwZWNzJywgJ2FsbG9jYXRlJ107XHJcbn1cclxuXHJcbmluaXRpYWxpemVDb2x1bW5Db25maWcoKSB7XHJcbiAgdGhpcy5jb2x1bW5zQ29uZmlnID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgICBsYWJlbDogJ0lkJyxcclxuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdBc3NldCBUeXBlJyxcclxuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdCcmFuZCcsXHJcbiAgICAgICAgICB0eXBlOiAndGV4dCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdNb2RlbCcsXHJcbiAgICAgICAgICB0eXBlOiAndGV4dCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdRdWFudGl0eScsXHJcbiAgICAgICAgICB0eXBlOiAndGV4dCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgICAgbGFiZWw6ICdDYXBhY2l0eScsXHJcbiAgICAgICAgICB0eXBlOiAnc3BlY3MnLFxyXG4gICAgICAgICAgY2xpY2thYmxlVGV4dDogJ1ZpZXcnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ0FjdGlvbnMnLFxyXG4gICAgICAgIHR5cGU6ICdhY3Rpb25zJyxcclxuICAgICAgICBhY3Rpb25zOiBbXHJcbiAgICAgICAgICB7dmlld01vZGU6ICdhbGxvY2F0ZScsIGFjdGlvbk5hbWU6IFwiQWxsb2NhdGVcIiwgZGlzYWJsZWQ6dHJ1ZX0sXHJcbiAgICAgICAgICAge3ZpZXdNb2RlOiAnZWRpdCcsIGFjdGlvbk5hbWU6IFwiRWRpdFwiLCBhY3Rpb246IFwiZWRpdFwiLG9uQ2xpY2s6IChhc3NldDogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZWRpdEFzc2V0KGFzc2V0KTtcclxuICAgICAgICB9LH0sXHJcbiAgICAgICAge3ZpZXdNb2RlOiAnZGVsZXRlJywgYWN0aW9uTmFtZTogXCJEZWxldGVcIiwgYWN0aW9uOiBcImRlbGV0ZVwiLG9uQ2xpY2s6IChhc3NldDogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRlbGV0ZUFzc2V0KGFzc2V0KTtcclxuICAgICAgfSx9LFxyXG4gICAgICB7dmlld01vZGU6ICdjaGFydCcsIGFjdGlvbk5hbWU6IFwiQ2hhcnRcIiwgYWN0aW9uOlwiY2hhcnRcIn0sXHJcbiAgICAgICAgICBdXHJcbiAgICB9LFxyXG4gIF07XHJcbn1cclxuXHJcblxyXG4gIGNyZWF0ZUZvcm0oKSB7XHJcbiAgICBsZXQgbmV3Rm9ybSA9IHtcclxuICAgICAgaW5wdXQxOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdXHJcbiAgICB9O1xyXG4gICAgdGhpcy5sb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9ucz8uZm9yRWFjaChvcHRpb24gPT4ge1xyXG4gICAgICBuZXdGb3JtW29wdGlvbi52YWx1ZV0gPSBbJyddO1xyXG4gICAgfSlcclxuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGlucHV0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIGN1cnJlbmN5SW5wdXQ6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgZW1haWxJbnB1dDogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICBudW1iZXJJbnB1dDogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICBjdXN0b21TZWFyY2hhYmxlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIGNoZWNrYm94OiBuZXcgRm9ybUNvbnRyb2wobnVsbCAsW1ZhbGlkYXRvcnMucmVxdWlyZWRUcnVlLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgICAgIHRleHRBcmVhOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5tYXhMZW5ndGgoNSldKSxcclxuICAgICAgZGF0ZVBpY2tlcjogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICBkYXRlUGlja2VyUmFuZ2U6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgcmFkaW86IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgdG9nZ2xlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIHRlbGVwaG9uZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICBzZWFyY2hFbXBsb3llZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICAvLyAuLi5uZXdGb3JtLFxyXG4gICAgICBhdHRhY2htZW50OiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIGF0dGFjaG1lbnRTZWN0aW9uOiBuZXcgRm9ybUNvbnRyb2woW10sIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgfSk7XHJcbiAgLy8gICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gIC8vICAgICBpbnB1dDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gIC8vICAgICBjdXJyZW5jeUlucHV0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgLy8gICAgIGVtYWlsSW5wdXQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAvLyAgICAgbnVtYmVySW5wdXQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAvLyAgICAgY3VzdG9tU2VhcmNoYWJsZTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gIC8vICAgICBjaGVja2JveDogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gIC8vICAgICB0ZXh0QXJlYTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gIC8vICAgICBkYXRlUGlja2VyOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgLy8gICAgIGRhdGVQaWNrZXJSYW5nZTogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gIC8vICAgICByYWRpbzogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gIC8vICAgICB0b2dnbGU6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAvLyAgICAgdGVsZXBob25lOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgLy8gICAgIHNlYXJjaEVtcGxveWVlOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgLy8gICAgIC8vIC4uLm5ld0Zvcm0sXHJcbiAgLy8gICAgIGF0dGFjaG1lbnQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuICAvLyAgICAgYXR0YWNobWVudFNlY3Rpb246IG5ldyBGb3JtQ29udHJvbChbXSksXHJcbiAgLy8gICB9KTtcclxuICAgIHRoaXMuZm9ybUdyb3VwLnNldFZhbHVlKHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMpO1xyXG4gIC8vICAgY29uc29sZS5sb2codGhpcy5zZWN0aW9uLmJvZHkuZGV0aWxzKTtcclxuICAvLyAgIGNvbnNvbGUubG9nKHRoaXMubG92Py5bJ2FwcHJvdmVyQWN0aW9ucyddPy5vcHRpb25zKVxyXG4gIH1cclxuXHJcbiAgLy8gICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAvLyAgICAgdGhpcy5sb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9ucz8uZm9yRWFjaChvcHRpb24gPT4ge1xyXG4gIC8vICAgICAgIGxldCBpc0FjdGlvblZhbGlkID0gdGhpcy5jaGVja1ZhbGlkaXR5KG9wdGlvbi52YWx1ZSk7XHJcbiAgLy8gICAgICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2Uuc2V0QWN0aW9uVmFsaWQob3B0aW9uLnZhbHVlLCBpc0FjdGlvblZhbGlkKTtcclxuICAvLyAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzID0gdGhpcy5mb3JtR3JvdXAudmFsdWVcclxuICAvLyAgICAgICAgLyEqe1xyXG4gIC8vICAgICAgICAgaW5wdXQxOiB0aGlzLmZpZWxkc0Zvcm0uZ2V0KCdpbnB1dDEnKS52YWx1ZVxyXG4gIC8vICAgICAgIH0qIS9cclxuICAvLyAgICAgfSlcclxuICAvLyAgIH0pXHJcbiAgLy8gfVxyXG4gIC8vICAgY3JlYXRlRm9ybSgpIHtcclxuICAvLyAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgLy8gICAgIGN1c3RvbWVyTmFtZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSksXHJcbiAgLy8gICAgIGN1c3RvbWVyUGhvbmU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gIC8vICAgICByZWFzb25Gb3JSZXF1ZXN0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAvLyAgICAgY2FsbFR5cGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gIC8vICAgICBjZW50ZXJPZkNhbGxzOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWRdKSxcclxuICAvLyAgICAgY2FsbERhdGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pLFxyXG4gIC8vICAgICBhZ3JlZW1lbnQ6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZV0pLFxyXG4gIC8vICAgfSk7XHJcbiAgLy8gICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShcclxuICAvLyAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcclxuICAvLyAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcclxuICAvLyAgICAgdGhpcy5sb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9ucz8uZm9yRWFjaChvcHRpb24gPT4ge1xyXG4gIC8vICAgICAgIGxldCBpc0FjdGlvblZhbGlkID0gdGhpcy5jaGVja1ZhbGlkaXR5KG9wdGlvbi52YWx1ZSk7XHJcbiAgLy8gICAgICAgdGhpcy5hY3Rpb25TdGF0ZVNlcnZpY2Uuc2V0QWN0aW9uVmFsaWQob3B0aW9uLnZhbHVlLCBpc0FjdGlvblZhbGlkKTtcclxuICAvLyAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzID0gdGhpcy5mb3JtR3JvdXAudmFsdWVcclxuICAvLyAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmN1c3RvbWVyUGhvbmUgPSB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmN1c3RvbWVyUGhvbmU/LmUxNjROdW1iZXJcclxuICAvLyAgICAgICAvLyB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmFncmVlbWVudCA9ICh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzLmFncmVlbWVudCkudG9TdHJpbmcoKVxyXG5cclxuICAvLyAgICAgfSlcclxuICAvLyAgIH0pXHJcbiAgLy8gICBjb25zb2xlLmxvZyh0aGlzLmxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zKVxyXG4gIC8vICAgY29uc29sZS5sb2codGhpcy5zZWN0aW9uLmJvZHkuZGV0YWlscylcclxuICAvLyAgIHRoaXMuZm9ybUdyb3VwLnNldFZhbHVlKHRoaXMuc2VjdGlvbi5ib2R5LmRldGFpbHMpO1xyXG4gIC8vICAgY29uc29sZS5sb2coJ2N1c3RvbUNhbGxTdWJtaXQnLCB0aGlzLmZvcm1Hcm91cC52YWx1ZSlcclxuICAvLyB9XHJcblxyXG4gIGVkaXRBc3NldChhc3NldCl7XHJcbiAgICBjb25zb2xlLmxvZyhhc3NldClcclxuICB9XHJcbiAgZGVsZXRlQXNzZXQoYXNzZXQpe1xyXG4gICAgY29uc29sZS5sb2coYXNzZXQpXHJcbiAgfVxyXG5cclxuICBmb3JtVmFsdWUoZm9ybSl7XHJcbmNvbnNvbGUubG9nKGZvcm0udmFsdWUpXHJcbiAgfVxyXG5cclxuICBjaGVja1ZhbGlkaXR5KGFjdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xyXG4gICAgICBjYXNlICdTVUJNSVQnOlxyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cC52YWxpZDtcclxuICAgICAgY2FzZSAnQVBQUk9WRSc6XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIGNhc2UgJ1JFSkVDVCc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xyXG4gICAgICBjYXNlICdTRU5EQkFDSyc6XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBjdXN0b21DYWxsU3VibWl0KGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zb2xlLmxvZygnY3VzdG9tQ2FsbFN1Ym1pdCcsIGFjdGlvbilcclxuICB9XHJcblxyXG4gIHJlc2V0Rm9ybSgpIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KClcclxuICB9XHJcblxyXG4gIHBhZ2VDaGFuZ2VkKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMucGFnZU51bWJlciA9IGV2ZW50LnBhZ2VJbmRleFxyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IGV2ZW50LnBhZ2VTaXplXHJcbn1cclxuXHJcbn1cclxuIiwiPGRpdj5cclxuPGZvcm0gW25nQ2xhc3NdPVwieydmb3JtLXNlY3Rpb24tZGl2aWRlIGZvcm0tc2VjdGlvbic6IXNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHksJ2luZm8tc2VjdGlvbic6c2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seX1cIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiPlxyXG5cclxuICA8YXBwLXNlYXJjaC1lbXBsb3llZSBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW211bHRpcGxlXT1cInRydWVcIiBbYXJyYXlMaXN0XT1cImZvcm1Hcm91cC5nZXQoJ3NlYXJjaEVtcGxveWVlJykudmFsdWVcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwic2VhcmNoRW1wbG95ZWVcIiBsYWJlbD1cIlNlYXJjaC1lbXBsb3llZVwiPjwvYXBwLXNlYXJjaC1lbXBsb3llZT5cclxuICA8YXBwLWlucHV0IGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgW2xvYWRpbmddPVwidHJ1ZVwiIHR5cGU9XCJlbk9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJpbnB1dFwiIGxhYmVsPVwiSW5wdXRcIj48L2FwcC1pbnB1dD5cclxuICA8YXBwLWlucHV0LWN1cnJlbmN5IGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwiY3VycmVuY3lJbnB1dFwiIGxhYmVsPVwiY3VycmVuY3lcIj48L2FwcC1pbnB1dC1jdXJyZW5jeT5cclxuICA8YXBwLWlucHV0LWVtYWlsIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxJbnB1dFwiIGxhYmVsPVwiZW1haWxcIj48L2FwcC1pbnB1dC1lbWFpbD5cclxuICA8YXBwLWlucHV0LW51bWJlciBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cIm51bWJlcklucHV0XCIgbGFiZWw9XCJudW1iZXJcIj48L2FwcC1pbnB1dC1udW1iZXI+XHJcbiAgPGFwcC1jdXN0b20tc2VhcmNoYWJsZSBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cImN1c3RvbVNlYXJjaGFibGVcIiBsYWJlbD1cIkN1c3RvbS1zZWFyY2hhYmxlXCIgW29wdGlvbnNdPVwibG92Py5bJ2FwcHJvdmVyQWN0aW9ucyddPy5vcHRpb25zXCIgW2Rpc3BsYXllZExhYmVsXT1cIiduYW1lJ1wiIFtrZXldPVwiJ25hbWUnXCI+PC9hcHAtY3VzdG9tLXNlYXJjaGFibGU+XHJcbiAgPGFwcC1jaGVja2JveCBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cImNoZWNrYm94XCIgdGVybXNMYWJlbD1cIlRlcm1zIGFuZCBjb25kaXRpb25zXCIgbGFiZWw9XCJjaGVjay1ib3hcIiBbY29udGFpblRlcm1zXT1cInRydWVcIj48L2FwcC1jaGVja2JveD5cclxuICA8YXBwLXRleHRhcmVhIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwidGV4dEFyZWFcIiBsYWJlbD1cIlRleHQtYXJlYVwiPjwvYXBwLXRleHRhcmVhPlxyXG4gIDxhcHAtZGF0ZXBpY2tlciBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cImRhdGVQaWNrZXJcIiBbbWF0U3VmZml4XT1cInRydWVcIiBsYWJlbD1cIkRhdGUtcGlja2VyXCI+PC9hcHAtZGF0ZXBpY2tlcj5cclxuICA8YXBwLWRhdGUtcmFuZ2UtcGlja2VyIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVBpY2tlclJhbmdlXCIgbGFiZWw9XCJEYXRlLXBpY2tlci1yYW5nZVwiIFttYXRTdWZmaXhdPVwidHJ1ZVwiPjwvYXBwLWRhdGUtcmFuZ2UtcGlja2VyPlxyXG4gIDxhcHAtcmFkaW8gY2xhc3M9XCJzZWN0aW9uLWl0ZW0gZnVsbFwiIFtpc1JlYWRPbmx5XT1cImlzUmVhZE9ubHlcIiBmb3JtQ29udHJvbE5hbWU9XCJyYWRpb1wiIFtvcHRpb25zXT1cIm9wdGlvbnNcIiBsYWJlbD1cIlJhZGlvXCI+PC9hcHAtcmFkaW8+XHJcbiAgPGFwcC10b2dnbGUtYnV0dG9uIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbaXNSZWFkT25seV09XCJpc1JlYWRPbmx5XCIgZm9ybUNvbnRyb2xOYW1lPVwidG9nZ2xlXCIgW29wdGlvbnNdPVwibG92Py5bJ2FwcHJvdmVyQWN0aW9ucyddPy5vcHRpb25zXCIgbGFiZWw9XCJUb2dnbGUtYnV0dG9uXCIgW2Rpc3BsYXllZExhYmVsXT1cIiduYW1lJ1wiIFtrZXldPVwiJ25hbWUnXCI+PC9hcHAtdG9nZ2xlLWJ1dHRvbj5cclxuICA8YXBwLWlucHV0LXRlbGVwaG9uZSBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cInRlbGVwaG9uZVwiIGxhYmVsPVwiVGVsZXBob25lXCI+PC9hcHAtaW5wdXQtdGVsZXBob25lPlxyXG4gIDxhcHAtZmlsZS11cGxvYWRlciBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIFttdWx0aXBsZV09XCJmYWxzZVwiIGxhYmVsPVwiYXR0YWNobWVudFwiIGZvcm1Db250cm9sTmFtZT1cImF0dGFjaG1lbnRcIj48L2FwcC1maWxlLXVwbG9hZGVyPlxyXG4gIDxhcHAtYXR0YWNobWVudC1zZWN0aW9uIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBbZGVzY3JpcHRpb25SZXF1aXJlZF09XCJ0cnVlXCIgbGFiZWw9XCJBdHRhY2htZW50IHNlY3Rpb25cIiBbY29tbWVudHNSZXF1aXJlZF09XCJ0cnVlXCIgW2lzUmVhZE9ubHldPVwiaXNSZWFkT25seVwiIGZvcm1Db250cm9sTmFtZT1cImF0dGFjaG1lbnRTZWN0aW9uXCI+PC9hcHAtYXR0YWNobWVudC1zZWN0aW9uPlxyXG5cclxuXHJcblxyXG48YXBwLXRhYmxlXHJcbltjb2x1bW5zQ29uZmlnXT1cImNvbHVtbnNDb25maWdcIlxyXG5bY29sdW1uc109XCJjb2x1bW5zXCJcclxuW2lzRXJyb3JdPVwiaXNFcnJvclwiXHJcbltpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcclxuW3Jvd3NdPVwiY2F0ZWdvcnlEYXRhXCIgW2hhc1BhZ2luYXRvcl09XCJ0cnVlXCJcclxuW3BhZ2VTaXplXT1cInBhZ2VTaXplXCIgW2N1cnJlbnRQYWdlXT1cInBhZ2VOdW1iZXJcIlxyXG5bdG90YWxFbGVtZW50c109XCJ0b3RhbEVsZW1lbnRzXCJcclxuKHBhZ2VDaGFuZ2UpPVwicGFnZUNoYW5nZWQoJGV2ZW50KVwiXHJcbmNsYXNzPVwibmV3LXByaW1hcnktdGFibGUgZnVsbFwiPlxyXG48L2FwcC10YWJsZT5cclxuXHJcblxyXG4gIDwhLS0gPGFwcC1pbnB1dFxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgZm9ybUNvbnRyb2xOYW1lPVwiY3VzdG9tZXJOYW1lXCJcclxuICAgICAgW2xhYmVsXT1cImkxOG4udHJhbnNsYXRlKCdjdXN0b21lck5hbWUnKVwiXHJcblxyXG4gICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgIFtpc1JlYWRPbmx5XT1cInNlY3Rpb24/LmhlYWRlcj8ucmVhZE9ubHlcIj5cclxuICAgIDwvYXBwLWlucHV0PlxyXG5cclxuXHJcbiAgICA8YXBwLWlucHV0LXRlbGVwaG9uZVxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgZm9ybUNvbnRyb2xOYW1lPVwiY3VzdG9tZXJQaG9uZVwiXHJcbiAgICAgIFtsYWJlbF09XCJpMThuLnRyYW5zbGF0ZSgnY3VzdG9tZXJQaG9uZScpXCJcclxuXHJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwic2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seVwiPlxyXG4gICAgPC9hcHAtaW5wdXQtdGVsZXBob25lPlxyXG5cclxuXHJcbiAgICA8YXBwLWlucHV0XHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBmb3JtQ29udHJvbE5hbWU9XCJyZWFzb25Gb3JSZXF1ZXN0XCJcclxuICAgICAgW2xhYmVsXT1cImkxOG4udHJhbnNsYXRlKCdyZWFzb25Gb3JSZXF1ZXN0JylcIlxyXG5cclxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJzZWN0aW9uPy5oZWFkZXI/LnJlYWRPbmx5XCI+XHJcbiAgICA8L2FwcC1pbnB1dD5cclxuXHJcblxyXG4gICAgPGFwcC1jdXN0b20tc2VhcmNoYWJsZVxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgZm9ybUNvbnRyb2xOYW1lPVwiY2FsbFR5cGVcIlxyXG4gICAgICBbbGFiZWxdPVwiaTE4bi50cmFuc2xhdGUoJ2NhbGxUeXBlJylcIlxyXG4gICAgICBbb3B0aW9uc109XCJsb3Y/LlsnZGVjaXNpb24nXT8ub3B0aW9uc1wiXHJcbiAgICAgIFtkaXNwbGF5ZWRMYWJlbF09XCInZGVzY3JpcHRpb24nXCIgW2tleV09XCIndmFsdWUnXCJcclxuICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICBbaXNSZWFkT25seV09XCJzZWN0aW9uPy5oZWFkZXI/LnJlYWRPbmx5XCI+XHJcbiAgICA8L2FwcC1jdXN0b20tc2VhcmNoYWJsZT5cclxuXHJcblxyXG4gICAgPGFwcC1jdXN0b20tc2VhcmNoYWJsZVxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgZm9ybUNvbnRyb2xOYW1lPVwiY2VudGVyT2ZDYWxsc1wiXHJcbiAgICAgIFtsYWJlbF09XCJpMThuLnRyYW5zbGF0ZSgnY2VudGVyT2ZDYWxscycpXCJcclxuICAgICAgW29wdGlvbnNdPVwibG92Py5bJ2RlY2lzaW9uJ10/Lm9wdGlvbnNcIlxyXG4gICAgICBbZGlzcGxheWVkTGFiZWxdPVwiJ2Rlc2NyaXB0aW9uJ1wiIFtrZXldPVwiJ3ZhbHVlJ1wiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwic2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seVwiPlxyXG4gICAgPC9hcHAtY3VzdG9tLXNlYXJjaGFibGVcclxuICAgID5cclxuXHJcblxyXG4gICAgPGFwcC1kYXRlcGlja2VyXHJcbiAgICAgIGNsYXNzPVwic2VjdGlvbi1pdGVtIGZ1bGxcIiBmb3JtQ29udHJvbE5hbWU9XCJjYWxsRGF0ZVwiXHJcbiAgICAgIFtsYWJlbF09XCJpMThuLnRyYW5zbGF0ZSgnY2FsbERhdGUnKVwiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwic2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seVwiPlxyXG4gICAgPC9hcHAtZGF0ZXBpY2tlcj5cclxuXHJcblxyXG4gICAgPGFwcC1jaGVja2JveFxyXG4gICAgICBjbGFzcz1cInNlY3Rpb24taXRlbSBmdWxsXCIgZm9ybUNvbnRyb2xOYW1lPVwiYWdyZWVtZW50XCJcclxuICAgICAgW2xhYmVsXT1cImkxOG4udHJhbnNsYXRlKCdhZ3JlZW1lbnQnKVwiXHJcbiAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgW2lzUmVhZE9ubHldPVwic2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seVwiPlxyXG4gICAgPC9hcHAtY2hlY2tib3g+IC0tPlxyXG5cclxuXHJcblxyXG48L2Zvcm0+XHJcbjwhLS08ZHMtYnV0dG9uXHJcbihjbGljayk9XCJmb3JtVmFsdWUoZm9ybUdyb3VwKVwiXHJcbltuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiAhZm9ybUdyb3VwLnZhbGlkfVwiXHJcbj5cclxue3sgaTE4bi50cmFuc2xhdGUoJ3N1Ym1pdCcpIH19XHJcbjwvZHMtYnV0dG9uPlxyXG4gIDxkcy1hbGVydCBjbGFzcz1cImZ1bGxcIiB0eXBlPVwid2FybmluZ1wiIGljb249XCJpbmZvXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGdhcC0yXCI+XHJcbiAgICAgIFJlcXVlc3QgZGV0YWlscyB3b3JraW5nIGZpbmVcclxuICAgIDwvZGl2PlxyXG4gIDwvZHMtYWxlcnQ+LS0+XHJcbiAgPGRzLWJ1dHRvblxyXG4gICAgKGNsaWNrKT1cImZvcm1WYWx1ZShmb3JtR3JvdXApXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6ICFmb3JtR3JvdXAudmFsaWQgfVwiXHJcbiAgPlxyXG4gICAge3sgaTE4bi50cmFuc2xhdGUoXCJzdWJtaXRcIikgfX1cclxuICA8L2RzLWJ1dHRvbj5cclxuICA8ZHMtYWxlcnQgY2xhc3M9XCJmdWxsXCIgdHlwZT1cIndhcm5pbmdcIiBpY29uPVwiaW5mb1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBnYXAtMlwiPlJlcXVlc3QgZGV0YWlscyB3b3JraW5nIGZpbmU8L2Rpdj5cclxuICA8L2RzLWFsZXJ0PlxyXG4gIDwhLS0gPGZvcm0gW2Zvcm1Hcm91cF09XCJmaWVsZHNGb3JtXCI+XHJcbiAgICA8YXBwLWlucHV0IGZvcm1Db250cm9sTmFtZT1cImlucHV0MVwiID48L2FwcC1pbnB1dD5cclxuICA8L2Zvcm0+IC0tPlxyXG48L2Rpdj5cclxuQGlmICghc2VjdGlvbj8uaGVhZGVyPy5yZWFkT25seSkge1xyXG48ZGl2IGNsYXNzPVwibXQtNFwiPlxyXG4gIDxsaWItYWN0aW9uLWJ1dHRvbnNcclxuICAgIFtsb3ZPcHRpb25zXT1cImxvdj8uWydkZWNpc2lvbiddPy5vcHRpb25zXCJcclxuICAgIFtsb3ZUeXBlXT1cImxvdj8uWydkZWNpc2lvbiddPy50eXBlXCJcclxuICAgIFtzZWN0aW9uXT1cInNlY3Rpb25cIlxyXG4gICAgW2Zvcm1dPVwiZm9ybVwiXHJcbiAgICBbc2VjdGlvbnNdPVwiZm9ybS5zZWN0aW9uc1wiXHJcbiAgICBbc2hvd0FwcHJvdmFsQ3ljbGVdPVwidHJ1ZVwiXHJcbiAgICBbY3VzdG9tQ2FsbF09XCJmYWxzZVwiXHJcbiAgICBbZmllbGRzRm9ybV09XCJmb3JtR3JvdXBcIlxyXG4gICAgKGN1c3RvbUNhbGxFbWl0KT1cImN1c3RvbUNhbGxTdWJtaXQoJGV2ZW50KVwiXHJcbiAgICAocmVzZXRGb3JtRW1pdCk9XCJyZXNldEZvcm0oKVwiXHJcbiAgLz5cclxuPC9kaXY+XHJcbn1cclxuIl19