@ieeesa-npm/presentation 0.14.9 → 0.15.0

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.
@@ -49,7 +49,6 @@ export class FileUploadComponent {
49
49
  this.allowedFileTypeErrorMessage = this.constants?.fileUpload?.message?.error?.invalidFileFormat;
50
50
  this.maxFileSizeErrorMessage = this.constants?.fileUpload?.message?.error?.invalidFileSize;
51
51
  this.allowedFileTypesAndSizeText = '';
52
- this.isFileSelected = false;
53
52
  this.isValidFileType = false;
54
53
  this.isValidFileSize = false;
55
54
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -60,6 +59,7 @@ export class FileUploadComponent {
60
59
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
60
  this.uploadedFiles = [];
62
61
  this.formControlName = 'fileUpload';
62
+ this.isFileSelected = false;
63
63
  this.allowedFileTypes = [];
64
64
  this.isMultiFileUpload = false;
65
65
  this.isUploadInProgress = false;
@@ -98,6 +98,7 @@ export class FileUploadComponent {
98
98
  this.allowedFileTypeErrorMessage;
99
99
  this.config.maxFileSizeErrorMessage =
100
100
  this.config?.maxFileSizeErrorMessage ?? this.maxFileSizeErrorMessage;
101
+ this.isFileSelected = this.config?.isFileSelected ?? this.isFileSelected;
101
102
  }
102
103
  /**
103
104
  * Formats allowed file format and size message in required format.
@@ -115,7 +116,7 @@ export class FileUploadComponent {
115
116
  */
116
117
  getFile(file) {
117
118
  this.selectedFiles = [];
118
- const fileUploadFormControl = this.group?.get('fileUpload');
119
+ const fileUploadFormControl = this.group?.get(this.config?.controlName ?? 'fileUpload');
119
120
  if (fileUploadFormControl) {
120
121
  fileUploadFormControl.markAsDirty();
121
122
  }
@@ -241,7 +242,7 @@ export class FileUploadComponent {
241
242
  return index;
242
243
  }
243
244
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.FormUtilityService }, { token: i2.FileUploadService }], target: i0.ɵɵFactoryTarget.Component }); }
244
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileUploadComponent, isStandalone: true, selector: "ieeesa-file-upload", inputs: { formControlName: "formControlName", supportMessage: "supportMessage", allowedFileTypes: "allowedFileTypes", isMultiFileUpload: "isMultiFileUpload", isUploadInProgress: "isUploadInProgress", fileUploadHeading: "fileUploadHeading", maxUploadFileSize: "maxUploadFileSize", uploadedSize: "uploadedSize" }, outputs: { uploadSelectedFiles: "uploadSelectedFiles", downloadSelectedFile: "downloadSelectedFile" }, ngImport: i0, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-file-upload\"\r\n [ngClass]=\"\r\nconfig.isLabelAlignedLeft\r\n ? 'ieeesa-file-upload__label-left'\r\n : 'ieeesa-file-upload__label-top'\r\n\"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-file-upload__label\"\r\n >{{ config.label }}</mat-label\r\n >\r\n <div class=\"ieeesa-file-upload__list\" *ngIf=\"!isFormField\">\r\n <div\r\n *ngFor=\"let file of uploadedFiles; let i = index; trackBy: trackByFn\"\r\n class=\"ieeesa-file-upload__list__item mb-1 w-50 d-flex justify-content-between align-items-center\"\r\n >\r\n <button\r\n class=\"mat-text-button border-0 ieeesa-file-upload__list__name ieeesa-body-sm-bold-14\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.fileDownload\"\r\n (click)=\"downloadFile()\"\r\n >\r\n {{ file.name }}\r\n </button>\r\n <button\r\n class=\"ieeesa-icon-button border-0 ieeesa-file-upload__list__delete-btn\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.deleteFileIcon\"\r\n (click)=\"onDeleteFile(file, i)\"\r\n >\r\n <svg class=\"ieeesa-file-upload__list__delete-btn__icon\">\r\n <use [attr.xlink:href]=\"fileUploadIconUrl.deleteIcon\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload p-4\"\r\n ieeesaFileUpload\r\n (fileDropped)=\"getFile($event)\"\r\n >\r\n <p class=\"ieeesa-file-upload__upload__heading m-0 ieeesa-label-md-14\">\r\n {{fileUploadHeading}}\r\n </p>\r\n <div\r\n class=\"ieeesa-file-upload__upload-wrapper d-flex\"\r\n *ngIf=\"isFileSelected\"\r\n >\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-file-upload__upload-wrapper__input-field ieeesa-body-lg-16\"\r\n type=\"text\"\r\n value=\"selectedFileNames\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n [attr.aria-label]=\"config.ariaLabel ?? fileUploadAriaLabel.fileUploadInput\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n autocomplete=\"off\"\r\n (keydown)=\"onKeyDown($event)\"\r\n matInput\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-file-upload__upload-wrapper--clear-icon-btn\"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"fileUploadAriaLabel.removeFileIcon\"\r\n *ngIf=\"selectedFileNames\"\r\n (click)=\"resetUpload()\"\r\n >\r\n <i\r\n class=\"fa-regular fa-circle-xmark ieeesa-input-field-upload__icon--clear\"\r\n ></i>\r\n </button>\r\n </mat-form-field>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-file-upload__upload-wrapper--upload-btn d-flex align-items-center\"\r\n [iconButton]=\"fileUploadBtn\"\r\n [isLabelNeeded]=\"false\"\r\n (iconButtonClick)=\"onUpload()\"\r\n *ngIf=\"!isFormField\"\r\n >\r\n </ieeesa-icon-button>\r\n </div>\r\n <ng-container *ngIf=\"!isFormField\">\r\n <div class=\"ieeesa-file-upload__progress\" *ngIf=\"isUploadInProgress\">\r\n <p class=\"ieeesa-file-upload__progress__text\">\r\n {{fileUploadLabel.uploadProgress}}\r\n </p>\r\n <mat-progress-bar\r\n class=\"ieeesa-file-upload__progress--bar\"\r\n mode=\"determinate\"\r\n [value]=\"uploadedSize\"\r\n ></mat-progress-bar>\r\n </div>\r\n </ng-container>\r\n <button\r\n mat-button\r\n (click)=\"fileField.click()\"\r\n class=\"ieeesa-file-upload__browse-btn mat-tertiary-button\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.browseFiles\"\r\n [disabled]=\"isFileSelected\"\r\n type=\"button\"\r\n >\r\n {{fileUploadLabel.browseFiles}}\r\n </button>\r\n <input\r\n type=\"file\"\r\n #fileField\r\n (change)=\"getFile($any($event).target.files)\"\r\n hidden\r\n [accept]=\"allowedFileTypes\"\r\n multiple=\"isMultiFileUpload\"\r\n />\r\n <p\r\n class=\"ieeesa-file-upload__allowed-file-text m-0 ieeesa-label-md-14\"\r\n [attr.aria-label]=\"allowedFileTypesAndSizeText\"\r\n >\r\n {{allowedFileTypesAndSizeText}}\r\n </p>\r\n </div>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-file-upload__label-left{display:flex}.ieeesa-file-upload__label-top{display:block}.ieeesa-file-upload__list{margin-bottom:.75em}.ieeesa-file-upload__list__item{background-color:#b0d6ec;padding:0 .66em}.ieeesa-file-upload__list__name{background-color:#b0d6ec;font-family:Calibri Bold;margin-right:.625em;text-decoration:underline;color:#00629b!important}.ieeesa-file-upload__list__delete-btn{background-color:#b0d6ec}.ieeesa-file-upload__list__delete-btn__icon{height:18px;width:18px}.ieeesa-file-upload__upload{border:2px dashed #B0D6EC;background-color:#f8fcff}.ieeesa-file-upload__upload__heading{font-size:.75rem!important;color:#49454f!important;padding-bottom:.75em}.ieeesa-file-upload__upload-wrapper{margin-bottom:.75em}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:60%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{background-color:#fff!important;border:1px solid #49454f;height:40px;border-radius:4px;padding-left:10px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-infix{min-height:40px;width:100%!important;padding-top:7px!important;padding-bottom:7px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field .mat-mdc-button-base{height:24px!important;width:24px!important;padding:0;margin-right:8px}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f!important}.ieeesa-file-upload__upload-wrapper__input-field.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:0}.ieeesa-file-upload__upload-wrapper--clear-icon-btn{padding:0!important;height:2em!important;width:2em!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1{padding:0!important;border-radius:4px!important;background-color:#00629b!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;height:40px!important;width:40px!important;margin-left:2px}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1[disabled]{background-color:#d9d9d6!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__svg{height:1.5em;width:1.5em}.ieeesa-file-upload__progress{margin-bottom:.75em}.ieeesa-file-upload__progress__text{margin-bottom:6px}.ieeesa-file-upload__progress--bar{width:60%!important}.ieeesa-file-upload__progress--bar .mdc-linear-progress__bar-inner{border-color:#00629b!important}.ieeesa-file-upload__allowed-file-text{font-size:.75rem!important;font-style:italic!important;color:#63666a!important;padding-top:.75em}@media (max-width: 767px){.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:100%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{width:100%!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i8.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: FileUploadDirective, selector: "[ieeesaFileUpload]", inputs: ["allowedFileTypes", "isMultiFileUpload"], outputs: ["fileDropped"] }, { kind: "component", type: IconButtonComponent, selector: "ieeesa-icon-button", inputs: ["iconButton", "isLabelNeeded"], outputs: ["iconButtonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
245
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileUploadComponent, isStandalone: true, selector: "ieeesa-file-upload", inputs: { formControlName: "formControlName", isFileSelected: "isFileSelected", supportMessage: "supportMessage", allowedFileTypes: "allowedFileTypes", isMultiFileUpload: "isMultiFileUpload", isUploadInProgress: "isUploadInProgress", fileUploadHeading: "fileUploadHeading", maxUploadFileSize: "maxUploadFileSize", uploadedSize: "uploadedSize" }, outputs: { uploadSelectedFiles: "uploadSelectedFiles", downloadSelectedFile: "downloadSelectedFile" }, ngImport: i0, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-file-upload\"\r\n [ngClass]=\"\r\nconfig.isLabelAlignedLeft\r\n ? 'ieeesa-file-upload__label-left'\r\n : 'ieeesa-file-upload__label-top'\r\n\"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-file-upload__label\"\r\n >{{ config.label }}</mat-label\r\n >\r\n <div class=\"ieeesa-file-upload__list\" *ngIf=\"!isFormField\">\r\n <div\r\n *ngFor=\"let file of uploadedFiles; let i = index; trackBy: trackByFn\"\r\n class=\"ieeesa-file-upload__list__item mb-1 w-50 d-flex justify-content-between align-items-center\"\r\n >\r\n <button\r\n class=\"mat-text-button border-0 ieeesa-file-upload__list__name ieeesa-body-sm-bold-14\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.fileDownload\"\r\n (click)=\"downloadFile()\"\r\n >\r\n {{ file.name }}\r\n </button>\r\n <button\r\n class=\"ieeesa-icon-button border-0 ieeesa-file-upload__list__delete-btn\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.deleteFileIcon\"\r\n (click)=\"onDeleteFile(file, i)\"\r\n >\r\n <svg class=\"ieeesa-file-upload__list__delete-btn__icon\">\r\n <use [attr.xlink:href]=\"fileUploadIconUrl.deleteIcon\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload p-4\"\r\n ieeesaFileUpload\r\n (fileDropped)=\"getFile($event)\"\r\n >\r\n <p class=\"ieeesa-file-upload__upload__heading m-0 ieeesa-label-md-14\">\r\n {{fileUploadHeading}}\r\n </p>\r\n <div\r\n class=\"ieeesa-file-upload__upload-wrapper d-flex\"\r\n *ngIf=\"isFileSelected\"\r\n >\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-file-upload__upload-wrapper__input-field ieeesa-body-lg-16\"\r\n type=\"text\"\r\n value=\"selectedFileNames\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n [attr.aria-label]=\"config.ariaLabel ?? fileUploadAriaLabel.fileUploadInput\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n autocomplete=\"off\"\r\n (keydown)=\"onKeyDown($event)\"\r\n matInput\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-file-upload__upload-wrapper--clear-icon-btn\"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"fileUploadAriaLabel.removeFileIcon\"\r\n *ngIf=\"isFileSelected\"\r\n (click)=\"resetUpload()\"\r\n >\r\n <i\r\n class=\"fa-regular fa-circle-xmark ieeesa-input-field-upload__icon--clear\"\r\n ></i>\r\n </button>\r\n </mat-form-field>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-file-upload__upload-wrapper--upload-btn d-flex align-items-center\"\r\n [iconButton]=\"fileUploadBtn\"\r\n [isLabelNeeded]=\"false\"\r\n (iconButtonClick)=\"onUpload()\"\r\n *ngIf=\"!isFormField\"\r\n >\r\n </ieeesa-icon-button>\r\n </div>\r\n <ng-container *ngIf=\"!isFormField\">\r\n <div class=\"ieeesa-file-upload__progress\" *ngIf=\"isUploadInProgress\">\r\n <p class=\"ieeesa-file-upload__progress__text\">\r\n {{fileUploadLabel.uploadProgress}}\r\n </p>\r\n <mat-progress-bar\r\n class=\"ieeesa-file-upload__progress--bar\"\r\n mode=\"determinate\"\r\n [value]=\"uploadedSize\"\r\n ></mat-progress-bar>\r\n </div>\r\n </ng-container>\r\n <button\r\n mat-button\r\n (click)=\"fileField.click()\"\r\n class=\"ieeesa-file-upload__browse-btn mat-tertiary-button\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.browseFiles\"\r\n type=\"button\"\r\n >\r\n {{fileUploadLabel.browseFiles}}\r\n </button>\r\n <input\r\n type=\"file\"\r\n #fileField\r\n (change)=\"getFile($any($event).target.files)\"\r\n hidden\r\n [accept]=\"allowedFileTypes\"\r\n multiple=\"isMultiFileUpload\"\r\n />\r\n <p\r\n class=\"ieeesa-file-upload__allowed-file-text m-0 ieeesa-label-md-14\"\r\n [attr.aria-label]=\"allowedFileTypesAndSizeText\"\r\n >\r\n {{allowedFileTypesAndSizeText}}\r\n </p>\r\n </div>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-file-upload__label-left{display:flex}.ieeesa-file-upload__label-top{display:block}.ieeesa-file-upload__list{margin-bottom:.75em}.ieeesa-file-upload__list__item{background-color:#b0d6ec;padding:0 .66em}.ieeesa-file-upload__list__name{background-color:#b0d6ec;font-family:Calibri Bold;margin-right:.625em;text-decoration:underline;color:#00629b!important}.ieeesa-file-upload__list__delete-btn{background-color:#b0d6ec}.ieeesa-file-upload__list__delete-btn__icon{height:18px;width:18px}.ieeesa-file-upload__upload{border:2px dashed #B0D6EC;background-color:#f8fcff}.ieeesa-file-upload__upload__heading{font-size:.75rem!important;color:#49454f!important;padding-bottom:.75em}.ieeesa-file-upload__upload-wrapper{margin-bottom:.75em}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:60%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{background-color:#fff!important;border:1px solid #49454f;height:40px;border-radius:4px;padding-left:10px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-infix{min-height:40px;width:100%!important;padding-top:7px!important;padding-bottom:7px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field .mat-mdc-button-base{height:24px!important;width:24px!important;padding:0;margin-right:8px}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f!important}.ieeesa-file-upload__upload-wrapper__input-field.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:0}.ieeesa-file-upload__upload-wrapper--clear-icon-btn{padding:0!important;height:2em!important;width:2em!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1{padding:0!important;border-radius:4px!important;background-color:#00629b!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;height:40px!important;width:40px!important;margin-left:2px}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1[disabled]{background-color:#d9d9d6!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__svg{height:1.5em;width:1.5em}.ieeesa-file-upload__progress{margin-bottom:.75em}.ieeesa-file-upload__progress__text{margin-bottom:6px}.ieeesa-file-upload__progress--bar{width:60%!important}.ieeesa-file-upload__progress--bar .mdc-linear-progress__bar-inner{border-color:#00629b!important}.ieeesa-file-upload__allowed-file-text{font-size:.75rem!important;font-style:italic!important;color:#63666a!important;padding-top:.75em}@media (max-width: 767px){.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:100%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{width:100%!important}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i8.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: FileUploadDirective, selector: "[ieeesaFileUpload]", inputs: ["allowedFileTypes", "isMultiFileUpload"], outputs: ["fileDropped"] }, { kind: "component", type: IconButtonComponent, selector: "ieeesa-icon-button", inputs: ["iconButton", "isLabelNeeded"], outputs: ["iconButtonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
245
246
  }
246
247
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileUploadComponent, decorators: [{
247
248
  type: Component,
@@ -256,9 +257,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
256
257
  MatProgressBarModule,
257
258
  FileUploadDirective,
258
259
  IconButtonComponent,
259
- ], encapsulation: ViewEncapsulation.None, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-file-upload\"\r\n [ngClass]=\"\r\nconfig.isLabelAlignedLeft\r\n ? 'ieeesa-file-upload__label-left'\r\n : 'ieeesa-file-upload__label-top'\r\n\"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-file-upload__label\"\r\n >{{ config.label }}</mat-label\r\n >\r\n <div class=\"ieeesa-file-upload__list\" *ngIf=\"!isFormField\">\r\n <div\r\n *ngFor=\"let file of uploadedFiles; let i = index; trackBy: trackByFn\"\r\n class=\"ieeesa-file-upload__list__item mb-1 w-50 d-flex justify-content-between align-items-center\"\r\n >\r\n <button\r\n class=\"mat-text-button border-0 ieeesa-file-upload__list__name ieeesa-body-sm-bold-14\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.fileDownload\"\r\n (click)=\"downloadFile()\"\r\n >\r\n {{ file.name }}\r\n </button>\r\n <button\r\n class=\"ieeesa-icon-button border-0 ieeesa-file-upload__list__delete-btn\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.deleteFileIcon\"\r\n (click)=\"onDeleteFile(file, i)\"\r\n >\r\n <svg class=\"ieeesa-file-upload__list__delete-btn__icon\">\r\n <use [attr.xlink:href]=\"fileUploadIconUrl.deleteIcon\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload p-4\"\r\n ieeesaFileUpload\r\n (fileDropped)=\"getFile($event)\"\r\n >\r\n <p class=\"ieeesa-file-upload__upload__heading m-0 ieeesa-label-md-14\">\r\n {{fileUploadHeading}}\r\n </p>\r\n <div\r\n class=\"ieeesa-file-upload__upload-wrapper d-flex\"\r\n *ngIf=\"isFileSelected\"\r\n >\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-file-upload__upload-wrapper__input-field ieeesa-body-lg-16\"\r\n type=\"text\"\r\n value=\"selectedFileNames\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n [attr.aria-label]=\"config.ariaLabel ?? fileUploadAriaLabel.fileUploadInput\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n autocomplete=\"off\"\r\n (keydown)=\"onKeyDown($event)\"\r\n matInput\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-file-upload__upload-wrapper--clear-icon-btn\"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"fileUploadAriaLabel.removeFileIcon\"\r\n *ngIf=\"selectedFileNames\"\r\n (click)=\"resetUpload()\"\r\n >\r\n <i\r\n class=\"fa-regular fa-circle-xmark ieeesa-input-field-upload__icon--clear\"\r\n ></i>\r\n </button>\r\n </mat-form-field>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-file-upload__upload-wrapper--upload-btn d-flex align-items-center\"\r\n [iconButton]=\"fileUploadBtn\"\r\n [isLabelNeeded]=\"false\"\r\n (iconButtonClick)=\"onUpload()\"\r\n *ngIf=\"!isFormField\"\r\n >\r\n </ieeesa-icon-button>\r\n </div>\r\n <ng-container *ngIf=\"!isFormField\">\r\n <div class=\"ieeesa-file-upload__progress\" *ngIf=\"isUploadInProgress\">\r\n <p class=\"ieeesa-file-upload__progress__text\">\r\n {{fileUploadLabel.uploadProgress}}\r\n </p>\r\n <mat-progress-bar\r\n class=\"ieeesa-file-upload__progress--bar\"\r\n mode=\"determinate\"\r\n [value]=\"uploadedSize\"\r\n ></mat-progress-bar>\r\n </div>\r\n </ng-container>\r\n <button\r\n mat-button\r\n (click)=\"fileField.click()\"\r\n class=\"ieeesa-file-upload__browse-btn mat-tertiary-button\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.browseFiles\"\r\n [disabled]=\"isFileSelected\"\r\n type=\"button\"\r\n >\r\n {{fileUploadLabel.browseFiles}}\r\n </button>\r\n <input\r\n type=\"file\"\r\n #fileField\r\n (change)=\"getFile($any($event).target.files)\"\r\n hidden\r\n [accept]=\"allowedFileTypes\"\r\n multiple=\"isMultiFileUpload\"\r\n />\r\n <p\r\n class=\"ieeesa-file-upload__allowed-file-text m-0 ieeesa-label-md-14\"\r\n [attr.aria-label]=\"allowedFileTypesAndSizeText\"\r\n >\r\n {{allowedFileTypesAndSizeText}}\r\n </p>\r\n </div>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-file-upload__label-left{display:flex}.ieeesa-file-upload__label-top{display:block}.ieeesa-file-upload__list{margin-bottom:.75em}.ieeesa-file-upload__list__item{background-color:#b0d6ec;padding:0 .66em}.ieeesa-file-upload__list__name{background-color:#b0d6ec;font-family:Calibri Bold;margin-right:.625em;text-decoration:underline;color:#00629b!important}.ieeesa-file-upload__list__delete-btn{background-color:#b0d6ec}.ieeesa-file-upload__list__delete-btn__icon{height:18px;width:18px}.ieeesa-file-upload__upload{border:2px dashed #B0D6EC;background-color:#f8fcff}.ieeesa-file-upload__upload__heading{font-size:.75rem!important;color:#49454f!important;padding-bottom:.75em}.ieeesa-file-upload__upload-wrapper{margin-bottom:.75em}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:60%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{background-color:#fff!important;border:1px solid #49454f;height:40px;border-radius:4px;padding-left:10px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-infix{min-height:40px;width:100%!important;padding-top:7px!important;padding-bottom:7px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field .mat-mdc-button-base{height:24px!important;width:24px!important;padding:0;margin-right:8px}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f!important}.ieeesa-file-upload__upload-wrapper__input-field.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:0}.ieeesa-file-upload__upload-wrapper--clear-icon-btn{padding:0!important;height:2em!important;width:2em!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1{padding:0!important;border-radius:4px!important;background-color:#00629b!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;height:40px!important;width:40px!important;margin-left:2px}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1[disabled]{background-color:#d9d9d6!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__svg{height:1.5em;width:1.5em}.ieeesa-file-upload__progress{margin-bottom:.75em}.ieeesa-file-upload__progress__text{margin-bottom:6px}.ieeesa-file-upload__progress--bar{width:60%!important}.ieeesa-file-upload__progress--bar .mdc-linear-progress__bar-inner{border-color:#00629b!important}.ieeesa-file-upload__allowed-file-text{font-size:.75rem!important;font-style:italic!important;color:#63666a!important;padding-top:.75em}@media (max-width: 767px){.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:100%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{width:100%!important}}\n"] }]
260
+ ], encapsulation: ViewEncapsulation.None, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-file-upload\"\r\n [ngClass]=\"\r\nconfig.isLabelAlignedLeft\r\n ? 'ieeesa-file-upload__label-left'\r\n : 'ieeesa-file-upload__label-top'\r\n\"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-file-upload__label\"\r\n >{{ config.label }}</mat-label\r\n >\r\n <div class=\"ieeesa-file-upload__list\" *ngIf=\"!isFormField\">\r\n <div\r\n *ngFor=\"let file of uploadedFiles; let i = index; trackBy: trackByFn\"\r\n class=\"ieeesa-file-upload__list__item mb-1 w-50 d-flex justify-content-between align-items-center\"\r\n >\r\n <button\r\n class=\"mat-text-button border-0 ieeesa-file-upload__list__name ieeesa-body-sm-bold-14\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.fileDownload\"\r\n (click)=\"downloadFile()\"\r\n >\r\n {{ file.name }}\r\n </button>\r\n <button\r\n class=\"ieeesa-icon-button border-0 ieeesa-file-upload__list__delete-btn\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.deleteFileIcon\"\r\n (click)=\"onDeleteFile(file, i)\"\r\n >\r\n <svg class=\"ieeesa-file-upload__list__delete-btn__icon\">\r\n <use [attr.xlink:href]=\"fileUploadIconUrl.deleteIcon\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload p-4\"\r\n ieeesaFileUpload\r\n (fileDropped)=\"getFile($event)\"\r\n >\r\n <p class=\"ieeesa-file-upload__upload__heading m-0 ieeesa-label-md-14\">\r\n {{fileUploadHeading}}\r\n </p>\r\n <div\r\n class=\"ieeesa-file-upload__upload-wrapper d-flex\"\r\n *ngIf=\"isFileSelected\"\r\n >\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-file-upload__upload-wrapper__input-field ieeesa-body-lg-16\"\r\n type=\"text\"\r\n value=\"selectedFileNames\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n [attr.aria-label]=\"config.ariaLabel ?? fileUploadAriaLabel.fileUploadInput\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n autocomplete=\"off\"\r\n (keydown)=\"onKeyDown($event)\"\r\n matInput\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-file-upload__upload-wrapper--clear-icon-btn\"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"fileUploadAriaLabel.removeFileIcon\"\r\n *ngIf=\"isFileSelected\"\r\n (click)=\"resetUpload()\"\r\n >\r\n <i\r\n class=\"fa-regular fa-circle-xmark ieeesa-input-field-upload__icon--clear\"\r\n ></i>\r\n </button>\r\n </mat-form-field>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-file-upload__upload-wrapper--upload-btn d-flex align-items-center\"\r\n [iconButton]=\"fileUploadBtn\"\r\n [isLabelNeeded]=\"false\"\r\n (iconButtonClick)=\"onUpload()\"\r\n *ngIf=\"!isFormField\"\r\n >\r\n </ieeesa-icon-button>\r\n </div>\r\n <ng-container *ngIf=\"!isFormField\">\r\n <div class=\"ieeesa-file-upload__progress\" *ngIf=\"isUploadInProgress\">\r\n <p class=\"ieeesa-file-upload__progress__text\">\r\n {{fileUploadLabel.uploadProgress}}\r\n </p>\r\n <mat-progress-bar\r\n class=\"ieeesa-file-upload__progress--bar\"\r\n mode=\"determinate\"\r\n [value]=\"uploadedSize\"\r\n ></mat-progress-bar>\r\n </div>\r\n </ng-container>\r\n <button\r\n mat-button\r\n (click)=\"fileField.click()\"\r\n class=\"ieeesa-file-upload__browse-btn mat-tertiary-button\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.browseFiles\"\r\n type=\"button\"\r\n >\r\n {{fileUploadLabel.browseFiles}}\r\n </button>\r\n <input\r\n type=\"file\"\r\n #fileField\r\n (change)=\"getFile($any($event).target.files)\"\r\n hidden\r\n [accept]=\"allowedFileTypes\"\r\n multiple=\"isMultiFileUpload\"\r\n />\r\n <p\r\n class=\"ieeesa-file-upload__allowed-file-text m-0 ieeesa-label-md-14\"\r\n [attr.aria-label]=\"allowedFileTypesAndSizeText\"\r\n >\r\n {{allowedFileTypesAndSizeText}}\r\n </p>\r\n </div>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-file-upload__label-left{display:flex}.ieeesa-file-upload__label-top{display:block}.ieeesa-file-upload__list{margin-bottom:.75em}.ieeesa-file-upload__list__item{background-color:#b0d6ec;padding:0 .66em}.ieeesa-file-upload__list__name{background-color:#b0d6ec;font-family:Calibri Bold;margin-right:.625em;text-decoration:underline;color:#00629b!important}.ieeesa-file-upload__list__delete-btn{background-color:#b0d6ec}.ieeesa-file-upload__list__delete-btn__icon{height:18px;width:18px}.ieeesa-file-upload__upload{border:2px dashed #B0D6EC;background-color:#f8fcff}.ieeesa-file-upload__upload__heading{font-size:.75rem!important;color:#49454f!important;padding-bottom:.75em}.ieeesa-file-upload__upload-wrapper{margin-bottom:.75em}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:60%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{background-color:#fff!important;border:1px solid #49454f;height:40px;border-radius:4px;padding-left:10px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-infix{min-height:40px;width:100%!important;padding-top:7px!important;padding-bottom:7px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field .mat-mdc-button-base{height:24px!important;width:24px!important;padding:0;margin-right:8px}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f!important}.ieeesa-file-upload__upload-wrapper__input-field.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:0}.ieeesa-file-upload__upload-wrapper--clear-icon-btn{padding:0!important;height:2em!important;width:2em!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1{padding:0!important;border-radius:4px!important;background-color:#00629b!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;height:40px!important;width:40px!important;margin-left:2px}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1[disabled]{background-color:#d9d9d6!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__svg{height:1.5em;width:1.5em}.ieeesa-file-upload__progress{margin-bottom:.75em}.ieeesa-file-upload__progress__text{margin-bottom:6px}.ieeesa-file-upload__progress--bar{width:60%!important}.ieeesa-file-upload__progress--bar .mdc-linear-progress__bar-inner{border-color:#00629b!important}.ieeesa-file-upload__allowed-file-text{font-size:.75rem!important;font-style:italic!important;color:#63666a!important;padding-top:.75em}@media (max-width: 767px){.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:100%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{width:100%!important}}\n"] }]
260
261
  }], ctorParameters: function () { return [{ type: i1.FormUtilityService }, { type: i2.FileUploadService }]; }, propDecorators: { formControlName: [{
261
262
  type: Input
263
+ }], isFileSelected: [{
264
+ type: Input
262
265
  }], supportMessage: [{
263
266
  type: Input
264
267
  }], allowedFileTypes: [{
@@ -278,4 +281,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
278
281
  }], downloadSelectedFile: [{
279
282
  type: Output
280
283
  }] } });
281
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxD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QUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLG1CQUFtQjtxQkFDcEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTt5SUF5QjVCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdGLFlBQVk7c0JBRGYsS0FBSztnQkFPSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCAqIGFzIGNvbnN0YW50cyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZvcm1FcnJvckNvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tc3VwcG9ydC10ZXh0L2Zvcm0tc3VwcG9ydC10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1VdGlsaXR5U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Zvcm0tdXRpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1jb250cm9sLXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgQWxsb3dlZEZpbGVUeXBlcyB9IGZyb20gJy4uLy4uL21vZGVscy9hbGxvd2VkLWZpbGUtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbGUtdXBsb2FkLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50JztcclxuLyoqXHJcbiAqIFByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgZm9yIHVwbG9hZGluZyBmaWxlcyB0byBhd3MgczMgYnVja2V0LlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1maWxlLXVwbG9hZCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQsXHJcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcclxuICAgIEZpbGVVcGxvYWREaXJlY3RpdmUsXHJcbiAgICBJY29uQnV0dG9uQ29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdGFudHMgPSBjb25zdGFudHM7XHJcbiAgZmlsZVVwbG9hZExhYmVsID0gdGhpcy5jb25zdGFudHM/LmZpbGVVcGxvYWQ/LmxhYmVsO1xyXG4gIGZpbGVVcGxvYWRBcmlhTGFiZWwgPSB0aGlzLmNvbnN0YW50cz8uZmlsZVVwbG9hZD8uYXJpYUxhYmVsO1xyXG4gIGZpbGVVcGxvYWRJY29uVXJsID0gdGhpcy5jb25zdGFudHM/LmZpbGVVcGxvYWQ/Lmljb25Vcmw7XHJcbiAgZmlsZVVwbG9hZEJ0biA9IHRoaXMuY29uc3RhbnRzPy5maWxlVXBsb2FkPy5idXR0b25zWzBdO1xyXG4gIGFsbG93ZWRGaWxlVHlwZUVycm9yTWVzc2FnZSA9XHJcbiAgICB0aGlzLmNvbnN0YW50cz8uZmlsZVVwbG9hZD8ubWVzc2FnZT8uZXJyb3I/LmludmFsaWRGaWxlRm9ybWF0O1xyXG4gIG1heEZpbGVTaXplRXJyb3JNZXNzYWdlID1cclxuICAgIHRoaXMuY29uc3RhbnRzPy5maWxlVXBsb2FkPy5tZXNzYWdlPy5lcnJvcj8uaW52YWxpZEZpbGVTaXplO1xyXG4gIGFsbG93ZWRGaWxlVHlwZXNBbmRTaXplVGV4dCA9ICcnO1xyXG4gIGNvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIGdyb3VwITogRm9ybUdyb3VwO1xyXG4gIGlzRmlsZVNlbGVjdGVkID0gZmFsc2U7XHJcbiAgaXNWYWxpZEZpbGVUeXBlID0gZmFsc2U7XHJcbiAgaXNWYWxpZEZpbGVTaXplID0gZmFsc2U7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZWxlY3RlZEZpbGVzOiBGaWxlTGlzdCB8IEZpbGUgfCBhbnkgPSBbXTtcclxuICBzZWxlY3RlZEZpbGVOYW1lcyA9ICcnO1xyXG4gIGlzRm9ybUZpZWxkID0gZmFsc2U7XHJcbiAgdG90YWxTaXplID0gMDtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHVwbG9hZGVkRmlsZXM6IEZpbGVMaXN0IHwgRmlsZSB8IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSA9ICdmaWxlVXBsb2FkJztcclxuICBASW5wdXQoKSBzdXBwb3J0TWVzc2FnZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBhbGxvd2VkRmlsZVR5cGVzOiBBbGxvd2VkRmlsZVR5cGVzW10gPSBbXTtcclxuICBASW5wdXQoKSBpc011bHRpRmlsZVVwbG9hZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzVXBsb2FkSW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGZpbGVVcGxvYWRIZWFkaW5nITogc3RyaW5nO1xyXG4gIC8vIERlZmF1bHQgbWF4aW11bSBhbGxvd2VkIHVwbG9hZCBmaWxlIHNpemUgaXMgMm1iLlxyXG4gIEBJbnB1dCgpIG1heFVwbG9hZEZpbGVTaXplID0gMjtcclxuICBwcml2YXRlIHVwbG9hZGVkU2l6ZVZhbHVlID0gMDtcclxuICBASW5wdXQoKVxyXG4gIGdldCB1cGxvYWRlZFNpemUoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnVwbG9hZGVkU2l6ZVZhbHVlO1xyXG4gIH1cclxuICBzZXQgdXBsb2FkZWRTaXplKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMudXBsb2FkZWRTaXplVmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcbiAgQE91dHB1dCgpIHVwbG9hZFNlbGVjdGVkRmlsZXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBGaWxlTGlzdD4oKTtcclxuICBAT3V0cHV0KCkgZG93bmxvYWRTZWxlY3RlZEZpbGUgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBGaWxlTGlzdD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBmb3JtVXRpbGl0eVNlcnZpY2U6IEZvcm1VdGlsaXR5U2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGZpbGVVcGxvYWRTZXJ2aWNlOiBGaWxlVXBsb2FkU2VydmljZSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb25cclxuICApIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIGNvbXBvbmVudCBwcm9wZXJ0aWVzIGFuZCByZXRyaWV2ZXMgY29uZmlndXJhdGlvbi5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5pc0Zvcm1GaWVsZCA9ICEhdGhpcy5jb25maWc7XHJcbiAgICB0aGlzLmNvbmZpZyA9XHJcbiAgICAgIHRoaXMuY29uZmlnID8/XHJcbiAgICAgIHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1GaWVsZENvbmZpZyhcclxuICAgICAgICAnZmlsZVVwbG9hZCcsXHJcbiAgICAgICAgRm9ybUNvbnRyb2xUeXBlLkZJTEVfVVBMT0FEXHJcbiAgICAgICk7XHJcbiAgICB0aGlzLmdyb3VwID1cclxuICAgICAgdGhpcy5ncm91cCA/PyB0aGlzLmZvcm1VdGlsaXR5U2VydmljZS5nZXRGb3JtR3JvdXAoJ2ZpbGVVcGxvYWQnKTtcclxuICAgIHRoaXMuY29uZmlnLnN1cHBvcnRNZXNzYWdlID1cclxuICAgICAgdGhpcy5jb25maWc/LnN1cHBvcnRNZXNzYWdlID8/IHRoaXMuc3VwcG9ydE1lc3NhZ2U7XHJcbiAgICB0aGlzLmlzTXVsdGlGaWxlVXBsb2FkID1cclxuICAgICAgdGhpcy5jb25maWc/LmlzTXVsdGlGaWxlVXBsb2FkID8/IHRoaXMuaXNNdWx0aUZpbGVVcGxvYWQ7XHJcbiAgICB0aGlzLm1heFVwbG9hZEZpbGVTaXplID1cclxuICAgICAgdGhpcy5jb25maWc/Lm1heFVwbG9hZEZpbGVTaXplID8/IHRoaXMubWF4VXBsb2FkRmlsZVNpemU7XHJcbiAgICB0aGlzLmFsbG93ZWRGaWxlVHlwZXMgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uYWxsb3dlZEZpbGVUeXBlcyA/PyB0aGlzLmFsbG93ZWRGaWxlVHlwZXM7XHJcbiAgICB0aGlzLmdldEFsbG93ZWRGaWxlRm9ybWF0U2l6ZU1lc3NhZ2UoKTtcclxuICAgIHRoaXMuZmlsZVVwbG9hZEhlYWRpbmcgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uZmlsZVVwbG9hZEhlYWRpbmcgPz9cclxuICAgICAgdGhpcy5maWxlVXBsb2FkSGVhZGluZyA/P1xyXG4gICAgICB0aGlzLmZpbGVVcGxvYWRMYWJlbC5maWxlVXBsb2FkO1xyXG4gICAgdGhpcy5jb25maWcuYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlID1cclxuICAgICAgdGhpcy5jb25maWc/LmFsbG93ZWRGaWxlVHlwZUVycm9yTWVzc2FnZSA/P1xyXG4gICAgICB0aGlzLmFsbG93ZWRGaWxlVHlwZUVycm9yTWVzc2FnZTtcclxuICAgIHRoaXMuY29uZmlnLm1heEZpbGVTaXplRXJyb3JNZXNzYWdlID1cclxuICAgICAgdGhpcy5jb25maWc/Lm1heEZpbGVTaXplRXJyb3JNZXNzYWdlID8/IHRoaXMubWF4RmlsZVNpemVFcnJvck1lc3NhZ2U7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGb3JtYXRzIGFsbG93ZWQgZmlsZSBmb3JtYXQgYW5kIHNpemUgbWVzc2FnZSBpbiByZXF1aXJlZCBmb3JtYXQuXHJcbiAgICogQG1lbWJlcm9mIEZpbGVVcGxvYWRDb21wb25lbnRcclxuICAgKi9cclxuICBnZXRBbGxvd2VkRmlsZUZvcm1hdFNpemVNZXNzYWdlKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgc3VwcG9ydGVkRmlsZUZvcm1hdFRleHQgPSB0aGlzLmFsbG93ZWRGaWxlVHlwZXMuam9pbignLCAnKTtcclxuICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlc0FuZFNpemVUZXh0ID0gYCR7dGhpcy5maWxlVXBsb2FkTGFiZWw/LmFsbG93ZWRGaWxlU2l6ZTF9XHJcbiAgICAke3RoaXMubWF4VXBsb2FkRmlsZVNpemV9ICAke3RoaXMuZmlsZVVwbG9hZExhYmVsPy5hbGxvd2VkRmlsZVNpemUyfSAke3RoaXMuZmlsZVVwbG9hZExhYmVsPy5hbGxvd2VkRmlsZUZvcm1hdH0gJHtzdXBwb3J0ZWRGaWxlRm9ybWF0VGV4dH0uYDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgdGhlIHNlbGVjdGVkIG9mIGZpbGUocykgYW5kIGVtaXRzIEZpbGVVcGxvYWQgZXZlbnQgZW1pdHRlciBmb3IgdXBsb2FkaW5nIHRoZSBmaWxlKHMpLlxyXG4gICAqIEBwYXJhbSB7KEZpbGUgfCBGaWxlTGlzdCl9IGZpbGVcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEZpbGUoZmlsZTogRmlsZSB8IEZpbGVMaXN0KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBbXTtcclxuICAgIGNvbnN0IGZpbGVVcGxvYWRGb3JtQ29udHJvbCA9IHRoaXMuZ3JvdXA/LmdldCgnZmlsZVVwbG9hZCcpO1xyXG4gICAgaWYgKGZpbGVVcGxvYWRGb3JtQ29udHJvbCkge1xyXG4gICAgICBmaWxlVXBsb2FkRm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzTXVsdGlGaWxlVXBsb2FkKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGVGaWxlKGZpbGUpO1xyXG4gICAgICBpZiAodGhpcy5pc1ZhbGlkRmlsZVR5cGUgJiYgdGhpcy5pc1ZhbGlkRmlsZVNpemUpIHtcclxuICAgICAgICBpZiAoZmlsZSkge1xyXG4gICAgICAgICAgT2JqZWN0LnZhbHVlcyhmaWxlKS5mb3JFYWNoKChmaWxlSXRlbTogRmlsZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXM/LnB1c2goZmlsZUl0ZW0pO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsU2l6ZSArPSBmaWxlSXRlbS5zaXplO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRmlsZXM/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuaXNGaWxlU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRmlsZXNOYW1lczogc3RyaW5nW10gPSBbXTtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcz8uZm9yRWFjaCgoZmlsZTogRmlsZSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgc2VsZWN0ZWRGaWxlc05hbWVzLnB1c2goZmlsZS5uYW1lKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZU5hbWVzID0gc2VsZWN0ZWRGaWxlc05hbWVzPy5qb2luKCcsICcpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5ncm91cFxyXG4gICAgICAgICAgLmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpXHJcbiAgICAgICAgICA/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRGaWxlTmFtZXMpO1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZEJ0bi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLmlzRm9ybUZpZWxkKVxyXG4gICAgICAgICAgdGhpcy51cGxvYWRTZWxlY3RlZEZpbGVzPy5lbWl0KHRoaXMuc2VsZWN0ZWRGaWxlcyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGZpbGVJdGVtID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXTtcclxuICAgICAgdGhpcy52YWxpZGF0ZUZpbGUoZmlsZUl0ZW0pO1xyXG4gICAgICBpZiAodGhpcy5pc1ZhbGlkRmlsZVR5cGUgJiYgdGhpcy5pc1ZhbGlkRmlsZVNpemUpIHtcclxuICAgICAgICB0aGlzLmlzRmlsZVNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZU5hbWVzID0gZmlsZUl0ZW0ubmFtZTtcclxuICAgICAgICB0aGlzLnRvdGFsU2l6ZSA9IGZpbGVJdGVtLnNpemU7XHJcbiAgICAgICAgdGhpcy5maWxlVXBsb2FkU2VydmljZT8uY29udmVydEZpbGVUb0J5dGVBcnJheShmaWxlSXRlbSk7XHJcbiAgICAgICAgdGhpcy5ncm91cFxyXG4gICAgICAgICAgLmdldCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSlcclxuICAgICAgICAgID8uc2V0VmFsdWUodGhpcy5zZWxlY3RlZEZpbGVOYW1lcyk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNGb3JtRmllbGQpIHRoaXMudXBsb2FkU2VsZWN0ZWRGaWxlcy5lbWl0KGZpbGVJdGVtKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBmaWxlO1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZEJ0bi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZXMgdGhlIHNlbGVjdGVkIGZpbGUocykgZm9ybWF0IGFuZCBzaXplLlxyXG4gICAqIEBwYXJhbSB7KEZpbGUgfCBGaWxlTGlzdCl9IGZpbGVcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRmlsZShmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNWYWxpZEZpbGVUeXBlID0gdGhpcy5maWxlVXBsb2FkU2VydmljZS52YWxpZGF0ZUZpbGVUeXBlcyhcclxuICAgICAgZmlsZSxcclxuICAgICAgdGhpcy5hbGxvd2VkRmlsZVR5cGVzLFxyXG4gICAgICB0aGlzLmlzTXVsdGlGaWxlVXBsb2FkXHJcbiAgICApO1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRGaWxlVHlwZSkge1xyXG4gICAgICB0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKHtcclxuICAgICAgICBpbnZhbGlkRmlsZVR5cGU6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc1ZhbGlkRmlsZVNpemUgPSB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLnZhbGlkYXRlRmlsZVNpemUoXHJcbiAgICAgIGZpbGUsXHJcbiAgICAgIHRoaXMubWF4VXBsb2FkRmlsZVNpemUsXHJcbiAgICAgIHRoaXMuaXNNdWx0aUZpbGVVcGxvYWRcclxuICAgICk7XHJcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEZpbGVTaXplKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXA/LmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoe1xyXG4gICAgICAgIG1heEZpbGVTaXplOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYXRlcyB0aGUgZmlsZSB1cGxvYWQgcHJvY2VzcyBmb3IgaW5kZXBlbmRlbnQgZmlsZSB1cGxvYWQgY29tcG9uZW50LlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25VcGxvYWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwbG9hZFNlbGVjdGVkRmlsZXMuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xyXG4gICAgaWYgKHRoaXMuZmlsZVVwbG9hZFNlcnZpY2U/LmdldEZpbGVVcGxvYWRTdGF0dXMoKSkge1xyXG4gICAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSB0aGlzLnNlbGVjdGVkRmlsZXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhcnMgdGhlIGZvcm0gZ3JvdXAgY29udHJvbCB2YWx1ZSBvZiB0eXBlIGlucHV0IGFuZCByZXNldHMgb3RoZXIgZmlsZSB1cGxvYWQgcHJvcGVydGllcy5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHJlc2V0VXBsb2FkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkU2VydmljZS5jbGVhckZpbGVCeXRlQXJyYXkoKTtcclxuICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IFtdO1xyXG4gICAgdGhpcy5pc1VwbG9hZEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlTmFtZXMgPSAnJztcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFtdO1xyXG4gICAgdGhpcy5pc0ZpbGVTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0VmFsdWUoJycpO1xyXG4gICAgdGhpcy5maWxlVXBsb2FkQnRuLmRpc2FibGVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZXMgdGhlIHNlbGVjdGVkIGZpbGUgZnJvbSB0aGUgdXBsb2FkZWQgZmlsZXMgbGlzdC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRGVsZXRlRmlsZShmaWxlOiBGaWxlLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvdGFsU2l6ZSA9IDA7XHJcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvciB0YWIga2V5IGtleWRvd24gZXZlbnQgaXQgcGFzc2VzIGV2ZW50IGFuZCByZXN0cmljdHMgb3RoZXIga2V5cyBmcm9tIGtleWJvYXJkLlxyXG4gICAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgLUtleWRvd24gZXZlbnQgb2JqZWN0LlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJykgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZpbGUgZG93bmxvYWQgZXZlbnQgZW1pdHRlci5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGRvd25sb2FkRmlsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZG93bmxvYWRTZWxlY3RlZEZpbGUuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZpbGUgbGlzdC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcmV0dXJuIHsobnVtYmVyIHwgc3RyaW5nKX1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkXCJcclxuICBbbmdDbGFzc109XCJcclxuY29uZmlnLmlzTGFiZWxBbGlnbmVkTGVmdFxyXG4gID8gJ2llZWVzYS1maWxlLXVwbG9hZF9fbGFiZWwtbGVmdCdcclxuICA6ICdpZWVlc2EtZmlsZS11cGxvYWRfX2xhYmVsLXRvcCdcclxuXCJcclxuPlxyXG4gIDxtYXQtbGFiZWwgY2xhc3M9XCJpZWVlc2EtYm9keS1zbS0xNCBpZWVlc2EtZmlsZS11cGxvYWRfX2xhYmVsXCJcclxuICAgID57eyBjb25maWcubGFiZWwgfX08L21hdC1sYWJlbFxyXG4gID5cclxuICA8ZGl2IGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0XCIgKm5nSWY9XCIhaXNGb3JtRmllbGRcIj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2YgdXBsb2FkZWRGaWxlczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX2xpc3RfX2l0ZW0gbWItMSB3LTUwIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJtYXQtdGV4dC1idXR0b24gYm9yZGVyLTAgaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0X19uYW1lIGllZWVzYS1ib2R5LXNtLWJvbGQtMTRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsZVVwbG9hZEFyaWFMYWJlbC5maWxlRG93bmxvYWRcIlxyXG4gICAgICAgIChjbGljayk9XCJkb3dubG9hZEZpbGUoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBmaWxlLm5hbWUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBjbGFzcz1cImllZWVzYS1pY29uLWJ1dHRvbiBib3JkZXItMCBpZWVlc2EtZmlsZS11cGxvYWRfX2xpc3RfX2RlbGV0ZS1idG5cIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsZVVwbG9hZEFyaWFMYWJlbC5kZWxldGVGaWxlSWNvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlRmlsZShmaWxlLCBpKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3ZnIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0X19kZWxldGUtYnRuX19pY29uXCI+XHJcbiAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwiZmlsZVVwbG9hZEljb25VcmwuZGVsZXRlSWNvblwiPjwvdXNlPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWQgcC00XCJcclxuICAgIGllZWVzYUZpbGVVcGxvYWRcclxuICAgIChmaWxlRHJvcHBlZCk9XCJnZXRGaWxlKCRldmVudClcIlxyXG4gID5cclxuICAgIDxwIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWRfX2hlYWRpbmcgbS0wIGllZWVzYS1sYWJlbC1tZC0xNFwiPlxyXG4gICAgICB7e2ZpbGVVcGxvYWRIZWFkaW5nfX1cclxuICAgIDwvcD5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3VwbG9hZC13cmFwcGVyIGQtZmxleFwiXHJcbiAgICAgICpuZ0lmPVwiaXNGaWxlU2VsZWN0ZWRcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBjbGFzcz1cImllZWVzYS1maWxlLXVwbG9hZF9fdXBsb2FkLXdyYXBwZXJfX2lucHV0LWZpZWxkIGllZWVzYS1ib2R5LWxnLTE2XCJcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPVwic2VsZWN0ZWRGaWxlTmFtZXNcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZy5wbGFjZWhvbGRlciA/PyAnJ1wiXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgICAgICBbbmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWcuYXJpYUxhYmVsID8/IGZpbGVVcGxvYWRBcmlhTGFiZWwuZmlsZVVwbG9hZElucHV0XCJcclxuICAgICAgICAgIFthcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3VwbG9hZC13cmFwcGVyLS1jbGVhci1pY29uLWJ0blwiXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmaWxlVXBsb2FkQXJpYUxhYmVsLnJlbW92ZUZpbGVJY29uXCJcclxuICAgICAgICAgICpuZ0lmPVwic2VsZWN0ZWRGaWxlTmFtZXNcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInJlc2V0VXBsb2FkKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmEtcmVndWxhciBmYS1jaXJjbGUteG1hcmsgaWVlZXNhLWlucHV0LWZpZWxkLXVwbG9hZF9faWNvbi0tY2xlYXJcIlxyXG4gICAgICAgICAgPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGllZWVzYS1pY29uLWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWQtd3JhcHBlci0tdXBsb2FkLWJ0biBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgICAgICBbaWNvbkJ1dHRvbl09XCJmaWxlVXBsb2FkQnRuXCJcclxuICAgICAgICBbaXNMYWJlbE5lZWRlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgKGljb25CdXR0b25DbGljayk9XCJvblVwbG9hZCgpXCJcclxuICAgICAgICAqbmdJZj1cIiFpc0Zvcm1GaWVsZFwiXHJcbiAgICAgID5cclxuICAgICAgPC9pZWVlc2EtaWNvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNGb3JtRmllbGRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImllZWVzYS1maWxlLXVwbG9hZF9fcHJvZ3Jlc3NcIiAqbmdJZj1cImlzVXBsb2FkSW5Qcm9ncmVzc1wiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19wcm9ncmVzc19fdGV4dFwiPlxyXG4gICAgICAgICAge3tmaWxlVXBsb2FkTGFiZWwudXBsb2FkUHJvZ3Jlc3N9fVxyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8bWF0LXByb2dyZXNzLWJhclxyXG4gICAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3Byb2dyZXNzLS1iYXJcIlxyXG4gICAgICAgICAgbW9kZT1cImRldGVybWluYXRlXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJ1cGxvYWRlZFNpemVcIlxyXG4gICAgICAgID48L21hdC1wcm9ncmVzcy1iYXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgKGNsaWNrKT1cImZpbGVGaWVsZC5jbGljaygpXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX2Jyb3dzZS1idG4gbWF0LXRlcnRpYXJ5LWJ1dHRvblwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsZVVwbG9hZEFyaWFMYWJlbC5icm93c2VGaWxlc1wiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJpc0ZpbGVTZWxlY3RlZFwiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgPlxyXG4gICAgICB7e2ZpbGVVcGxvYWRMYWJlbC5icm93c2VGaWxlc319XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwiZmlsZVwiXHJcbiAgICAgICNmaWxlRmllbGRcclxuICAgICAgKGNoYW5nZSk9XCJnZXRGaWxlKCRhbnkoJGV2ZW50KS50YXJnZXQuZmlsZXMpXCJcclxuICAgICAgaGlkZGVuXHJcbiAgICAgIFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlc1wiXHJcbiAgICAgIG11bHRpcGxlPVwiaXNNdWx0aUZpbGVVcGxvYWRcIlxyXG4gICAgLz5cclxuICAgIDxwXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19hbGxvd2VkLWZpbGUtdGV4dCBtLTAgaWVlZXNhLWxhYmVsLW1kLTE0XCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhbGxvd2VkRmlsZVR5cGVzQW5kU2l6ZVRleHRcIlxyXG4gICAgPlxyXG4gICAgICB7e2FsbG93ZWRGaWxlVHlwZXNBbmRTaXplVGV4dH19XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbiAgPGllZWVzYS1mb3JtLWVycm9yIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPiA8L2llZWVzYS1mb3JtLWVycm9yPlxyXG4gIDxpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHRcclxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gID48L2llZWVzYS1mb3JtLXN1cHBvcnQtdGV4dD5cclxuPC9kaXY+XHJcbiJdfQ==
284
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxD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RSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLG1CQUFtQjtxQkFDcEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTt5SUF3QjVCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0YsWUFBWTtzQkFEZixLQUFLO2dCQU9JLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1zdXBwb3J0LXRleHQvZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybVV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS11dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWNvbnRyb2wtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBBbGxvd2VkRmlsZVR5cGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FsbG93ZWQtZmlsZS10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcbmltcG9ydCB7IEljb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xyXG4vKipcclxuICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgdXBsb2FkaW5nIGZpbGVzIHRvIGF3cyBzMyBidWNrZXQuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWZpbGUtdXBsb2FkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCxcclxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgRmlsZVVwbG9hZERpcmVjdGl2ZSxcclxuICAgIEljb25CdXR0b25Db21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0YW50cyA9IGNvbnN0YW50cztcclxuICBmaWxlVXBsb2FkTGFiZWwgPSB0aGlzLmNvbnN0YW50cz8uZmlsZVVwbG9hZD8ubGFiZWw7XHJcbiAgZmlsZVVwbG9hZEFyaWFMYWJlbCA9IHRoaXMuY29uc3RhbnRzPy5maWxlVXBsb2FkPy5hcmlhTGFiZWw7XHJcbiAgZmlsZVVwbG9hZEljb25VcmwgPSB0aGlzLmNvbnN0YW50cz8uZmlsZVVwbG9hZD8uaWNvblVybDtcclxuICBmaWxlVXBsb2FkQnRuID0gdGhpcy5jb25zdGFudHM/LmZpbGVVcGxvYWQ/LmJ1dHRvbnNbMF07XHJcbiAgYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlID1cclxuICAgIHRoaXMuY29uc3RhbnRzPy5maWxlVXBsb2FkPy5tZXNzYWdlPy5lcnJvcj8uaW52YWxpZEZpbGVGb3JtYXQ7XHJcbiAgbWF4RmlsZVNpemVFcnJvck1lc3NhZ2UgPVxyXG4gICAgdGhpcy5jb25zdGFudHM/LmZpbGVVcGxvYWQ/Lm1lc3NhZ2U/LmVycm9yPy5pbnZhbGlkRmlsZVNpemU7XHJcbiAgYWxsb3dlZEZpbGVUeXBlc0FuZFNpemVUZXh0ID0gJyc7XHJcbiAgY29uZmlnITogRmllbGRDb25maWc7XHJcbiAgZ3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgaXNWYWxpZEZpbGVUeXBlID0gZmFsc2U7XHJcbiAgaXNWYWxpZEZpbGVTaXplID0gZmFsc2U7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZWxlY3RlZEZpbGVzOiBGaWxlTGlzdCB8IEZpbGUgfCBhbnkgPSBbXTtcclxuICBzZWxlY3RlZEZpbGVOYW1lcyA9ICcnO1xyXG4gIGlzRm9ybUZpZWxkID0gZmFsc2U7XHJcbiAgdG90YWxTaXplID0gMDtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHVwbG9hZGVkRmlsZXM6IEZpbGVMaXN0IHwgRmlsZSB8IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSA9ICdmaWxlVXBsb2FkJztcclxuICBASW5wdXQoKSBpc0ZpbGVTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN1cHBvcnRNZXNzYWdlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFsbG93ZWRGaWxlVHlwZXM6IEFsbG93ZWRGaWxlVHlwZXNbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGlzTXVsdGlGaWxlVXBsb2FkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNVcGxvYWRJblByb2dyZXNzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmlsZVVwbG9hZEhlYWRpbmchOiBzdHJpbmc7XHJcbiAgLy8gRGVmYXVsdCBtYXhpbXVtIGFsbG93ZWQgdXBsb2FkIGZpbGUgc2l6ZSBpcyAybWIuXHJcbiAgQElucHV0KCkgbWF4VXBsb2FkRmlsZVNpemUgPSAyO1xyXG4gIHByaXZhdGUgdXBsb2FkZWRTaXplVmFsdWUgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHVwbG9hZGVkU2l6ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudXBsb2FkZWRTaXplVmFsdWU7XHJcbiAgfVxyXG4gIHNldCB1cGxvYWRlZFNpemUodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy51cGxvYWRlZFNpemVWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuICBAT3V0cHV0KCkgdXBsb2FkU2VsZWN0ZWRGaWxlcyA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZSB8IEZpbGVMaXN0PigpO1xyXG4gIEBPdXRwdXQoKSBkb3dubG9hZFNlbGVjdGVkRmlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZSB8IEZpbGVMaXN0PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGZvcm1VdGlsaXR5U2VydmljZTogRm9ybVV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvblxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZXMgY29tcG9uZW50IHByb3BlcnRpZXMgYW5kIHJldHJpZXZlcyBjb25maWd1cmF0aW9uLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRm9ybUZpZWxkID0gISF0aGlzLmNvbmZpZztcclxuICAgIHRoaXMuY29uZmlnID1cclxuICAgICAgdGhpcy5jb25maWcgPz9cclxuICAgICAgdGhpcy5mb3JtVXRpbGl0eVNlcnZpY2UuZ2V0Rm9ybUZpZWxkQ29uZmlnKFxyXG4gICAgICAgICdmaWxlVXBsb2FkJyxcclxuICAgICAgICBGb3JtQ29udHJvbFR5cGUuRklMRV9VUExPQURcclxuICAgICAgKTtcclxuICAgIHRoaXMuZ3JvdXAgPVxyXG4gICAgICB0aGlzLmdyb3VwID8/IHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1Hcm91cCgnZmlsZVVwbG9hZCcpO1xyXG4gICAgdGhpcy5jb25maWcuc3VwcG9ydE1lc3NhZ2UgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uc3VwcG9ydE1lc3NhZ2UgPz8gdGhpcy5zdXBwb3J0TWVzc2FnZTtcclxuICAgIHRoaXMuaXNNdWx0aUZpbGVVcGxvYWQgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uaXNNdWx0aUZpbGVVcGxvYWQgPz8gdGhpcy5pc011bHRpRmlsZVVwbG9hZDtcclxuICAgIHRoaXMubWF4VXBsb2FkRmlsZVNpemUgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8ubWF4VXBsb2FkRmlsZVNpemUgPz8gdGhpcy5tYXhVcGxvYWRGaWxlU2l6ZTtcclxuICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlcyA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5hbGxvd2VkRmlsZVR5cGVzID8/IHRoaXMuYWxsb3dlZEZpbGVUeXBlcztcclxuICAgIHRoaXMuZ2V0QWxsb3dlZEZpbGVGb3JtYXRTaXplTWVzc2FnZSgpO1xyXG4gICAgdGhpcy5maWxlVXBsb2FkSGVhZGluZyA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5maWxlVXBsb2FkSGVhZGluZyA/P1xyXG4gICAgICB0aGlzLmZpbGVVcGxvYWRIZWFkaW5nID8/XHJcbiAgICAgIHRoaXMuZmlsZVVwbG9hZExhYmVsLmZpbGVVcGxvYWQ7XHJcbiAgICB0aGlzLmNvbmZpZy5hbGxvd2VkRmlsZVR5cGVFcnJvck1lc3NhZ2UgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlID8/XHJcbiAgICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlO1xyXG4gICAgdGhpcy5jb25maWcubWF4RmlsZVNpemVFcnJvck1lc3NhZ2UgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8ubWF4RmlsZVNpemVFcnJvck1lc3NhZ2UgPz8gdGhpcy5tYXhGaWxlU2l6ZUVycm9yTWVzc2FnZTtcclxuICAgIHRoaXMuaXNGaWxlU2VsZWN0ZWQgPSB0aGlzLmNvbmZpZz8uaXNGaWxlU2VsZWN0ZWQgPz8gdGhpcy5pc0ZpbGVTZWxlY3RlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcm1hdHMgYWxsb3dlZCBmaWxlIGZvcm1hdCBhbmQgc2l6ZSBtZXNzYWdlIGluIHJlcXVpcmVkIGZvcm1hdC5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEFsbG93ZWRGaWxlRm9ybWF0U2l6ZU1lc3NhZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdXBwb3J0ZWRGaWxlRm9ybWF0VGV4dCA9IHRoaXMuYWxsb3dlZEZpbGVUeXBlcy5qb2luKCcsICcpO1xyXG4gICAgdGhpcy5hbGxvd2VkRmlsZVR5cGVzQW5kU2l6ZVRleHQgPSBgJHt0aGlzLmZpbGVVcGxvYWRMYWJlbD8uYWxsb3dlZEZpbGVTaXplMX1cclxuICAgICR7dGhpcy5tYXhVcGxvYWRGaWxlU2l6ZX0gICR7dGhpcy5maWxlVXBsb2FkTGFiZWw/LmFsbG93ZWRGaWxlU2l6ZTJ9ICR7dGhpcy5maWxlVXBsb2FkTGFiZWw/LmFsbG93ZWRGaWxlRm9ybWF0fSAke3N1cHBvcnRlZEZpbGVGb3JtYXRUZXh0fS5gO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyB0aGUgc2VsZWN0ZWQgb2YgZmlsZShzKSBhbmQgZW1pdHMgRmlsZVVwbG9hZCBldmVudCBlbWl0dGVyIGZvciB1cGxvYWRpbmcgdGhlIGZpbGUocykuXHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZVxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0RmlsZShmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFtdO1xyXG4gICAgY29uc3QgZmlsZVVwbG9hZEZvcm1Db250cm9sID0gdGhpcy5ncm91cD8uZ2V0KFxyXG4gICAgICB0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUgPz8gJ2ZpbGVVcGxvYWQnXHJcbiAgICApO1xyXG4gICAgaWYgKGZpbGVVcGxvYWRGb3JtQ29udHJvbCkge1xyXG4gICAgICBmaWxlVXBsb2FkRm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzTXVsdGlGaWxlVXBsb2FkKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGVGaWxlKGZpbGUpO1xyXG4gICAgICBpZiAodGhpcy5pc1ZhbGlkRmlsZVR5cGUgJiYgdGhpcy5pc1ZhbGlkRmlsZVNpemUpIHtcclxuICAgICAgICBpZiAoZmlsZSkge1xyXG4gICAgICAgICAgT2JqZWN0LnZhbHVlcyhmaWxlKS5mb3JFYWNoKChmaWxlSXRlbTogRmlsZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXM/LnB1c2goZmlsZUl0ZW0pO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsU2l6ZSArPSBmaWxlSXRlbS5zaXplO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRmlsZXM/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuaXNGaWxlU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRmlsZXNOYW1lczogc3RyaW5nW10gPSBbXTtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcz8uZm9yRWFjaCgoZmlsZTogRmlsZSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgc2VsZWN0ZWRGaWxlc05hbWVzLnB1c2goZmlsZS5uYW1lKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZU5hbWVzID0gc2VsZWN0ZWRGaWxlc05hbWVzPy5qb2luKCcsICcpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5ncm91cFxyXG4gICAgICAgICAgLmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpXHJcbiAgICAgICAgICA/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRGaWxlTmFtZXMpO1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZEJ0bi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLmlzRm9ybUZpZWxkKVxyXG4gICAgICAgICAgdGhpcy51cGxvYWRTZWxlY3RlZEZpbGVzPy5lbWl0KHRoaXMuc2VsZWN0ZWRGaWxlcyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGZpbGVJdGVtID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXTtcclxuICAgICAgdGhpcy52YWxpZGF0ZUZpbGUoZmlsZUl0ZW0pO1xyXG4gICAgICBpZiAodGhpcy5pc1ZhbGlkRmlsZVR5cGUgJiYgdGhpcy5pc1ZhbGlkRmlsZVNpemUpIHtcclxuICAgICAgICB0aGlzLmlzRmlsZVNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZU5hbWVzID0gZmlsZUl0ZW0ubmFtZTtcclxuICAgICAgICB0aGlzLnRvdGFsU2l6ZSA9IGZpbGVJdGVtLnNpemU7XHJcbiAgICAgICAgdGhpcy5maWxlVXBsb2FkU2VydmljZT8uY29udmVydEZpbGVUb0J5dGVBcnJheShmaWxlSXRlbSk7XHJcbiAgICAgICAgdGhpcy5ncm91cFxyXG4gICAgICAgICAgLmdldCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSlcclxuICAgICAgICAgID8uc2V0VmFsdWUodGhpcy5zZWxlY3RlZEZpbGVOYW1lcyk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNGb3JtRmllbGQpIHRoaXMudXBsb2FkU2VsZWN0ZWRGaWxlcy5lbWl0KGZpbGVJdGVtKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBmaWxlO1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZEJ0bi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZXMgdGhlIHNlbGVjdGVkIGZpbGUocykgZm9ybWF0IGFuZCBzaXplLlxyXG4gICAqIEBwYXJhbSB7KEZpbGUgfCBGaWxlTGlzdCl9IGZpbGVcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRmlsZShmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNWYWxpZEZpbGVUeXBlID0gdGhpcy5maWxlVXBsb2FkU2VydmljZS52YWxpZGF0ZUZpbGVUeXBlcyhcclxuICAgICAgZmlsZSxcclxuICAgICAgdGhpcy5hbGxvd2VkRmlsZVR5cGVzLFxyXG4gICAgICB0aGlzLmlzTXVsdGlGaWxlVXBsb2FkXHJcbiAgICApO1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRGaWxlVHlwZSkge1xyXG4gICAgICB0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKHtcclxuICAgICAgICBpbnZhbGlkRmlsZVR5cGU6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc1ZhbGlkRmlsZVNpemUgPSB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLnZhbGlkYXRlRmlsZVNpemUoXHJcbiAgICAgIGZpbGUsXHJcbiAgICAgIHRoaXMubWF4VXBsb2FkRmlsZVNpemUsXHJcbiAgICAgIHRoaXMuaXNNdWx0aUZpbGVVcGxvYWRcclxuICAgICk7XHJcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEZpbGVTaXplKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXA/LmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoe1xyXG4gICAgICAgIG1heEZpbGVTaXplOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYXRlcyB0aGUgZmlsZSB1cGxvYWQgcHJvY2VzcyBmb3IgaW5kZXBlbmRlbnQgZmlsZSB1cGxvYWQgY29tcG9uZW50LlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25VcGxvYWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwbG9hZFNlbGVjdGVkRmlsZXMuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xyXG4gICAgaWYgKHRoaXMuZmlsZVVwbG9hZFNlcnZpY2U/LmdldEZpbGVVcGxvYWRTdGF0dXMoKSkge1xyXG4gICAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSB0aGlzLnNlbGVjdGVkRmlsZXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhcnMgdGhlIGZvcm0gZ3JvdXAgY29udHJvbCB2YWx1ZSBvZiB0eXBlIGlucHV0IGFuZCByZXNldHMgb3RoZXIgZmlsZSB1cGxvYWQgcHJvcGVydGllcy5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHJlc2V0VXBsb2FkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkU2VydmljZS5jbGVhckZpbGVCeXRlQXJyYXkoKTtcclxuICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IFtdO1xyXG4gICAgdGhpcy5pc1VwbG9hZEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlTmFtZXMgPSAnJztcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFtdO1xyXG4gICAgdGhpcy5pc0ZpbGVTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0VmFsdWUoJycpO1xyXG4gICAgdGhpcy5maWxlVXBsb2FkQnRuLmRpc2FibGVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZXMgdGhlIHNlbGVjdGVkIGZpbGUgZnJvbSB0aGUgdXBsb2FkZWQgZmlsZXMgbGlzdC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRGVsZXRlRmlsZShmaWxlOiBGaWxlLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvdGFsU2l6ZSA9IDA7XHJcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvciB0YWIga2V5IGtleWRvd24gZXZlbnQgaXQgcGFzc2VzIGV2ZW50IGFuZCByZXN0cmljdHMgb3RoZXIga2V5cyBmcm9tIGtleWJvYXJkLlxyXG4gICAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgLUtleWRvd24gZXZlbnQgb2JqZWN0LlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJykgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZpbGUgZG93bmxvYWQgZXZlbnQgZW1pdHRlci5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGRvd25sb2FkRmlsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZG93bmxvYWRTZWxlY3RlZEZpbGUuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZpbGUgbGlzdC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcmV0dXJuIHsobnVtYmVyIHwgc3RyaW5nKX1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkXCJcclxuICBbbmdDbGFzc109XCJcclxuY29uZmlnLmlzTGFiZWxBbGlnbmVkTGVmdFxyXG4gID8gJ2llZWVzYS1maWxlLXVwbG9hZF9fbGFiZWwtbGVmdCdcclxuICA6ICdpZWVlc2EtZmlsZS11cGxvYWRfX2xhYmVsLXRvcCdcclxuXCJcclxuPlxyXG4gIDxtYXQtbGFiZWwgY2xhc3M9XCJpZWVlc2EtYm9keS1zbS0xNCBpZWVlc2EtZmlsZS11cGxvYWRfX2xhYmVsXCJcclxuICAgID57eyBjb25maWcubGFiZWwgfX08L21hdC1sYWJlbFxyXG4gID5cclxuICA8ZGl2IGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0XCIgKm5nSWY9XCIhaXNGb3JtRmllbGRcIj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2YgdXBsb2FkZWRGaWxlczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX2xpc3RfX2l0ZW0gbWItMSB3LTUwIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJtYXQtdGV4dC1idXR0b24gYm9yZGVyLTAgaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0X19uYW1lIGllZWVzYS1ib2R5LXNtLWJvbGQtMTRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsZVVwbG9hZEFyaWFMYWJlbC5maWxlRG93bmxvYWRcIlxyXG4gICAgICAgIChjbGljayk9XCJkb3dubG9hZEZpbGUoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBmaWxlLm5hbWUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBjbGFzcz1cImllZWVzYS1pY29uLWJ1dHRvbiBib3JkZXItMCBpZWVlc2EtZmlsZS11cGxvYWRfX2xpc3RfX2RlbGV0ZS1idG5cIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsZVVwbG9hZEFyaWFMYWJlbC5kZWxldGVGaWxlSWNvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlRmlsZShmaWxlLCBpKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3ZnIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0X19kZWxldGUtYnRuX19pY29uXCI+XHJcbiAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwiZmlsZVVwbG9hZEljb25VcmwuZGVsZXRlSWNvblwiPjwvdXNlPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWQgcC00XCJcclxuICAgIGllZWVzYUZpbGVVcGxvYWRcclxuICAgIChmaWxlRHJvcHBlZCk9XCJnZXRGaWxlKCRldmVudClcIlxyXG4gID5cclxuICAgIDxwIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWRfX2hlYWRpbmcgbS0wIGllZWVzYS1sYWJlbC1tZC0xNFwiPlxyXG4gICAgICB7e2ZpbGVVcGxvYWRIZWFkaW5nfX1cclxuICAgIDwvcD5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3VwbG9hZC13cmFwcGVyIGQtZmxleFwiXHJcbiAgICAgICpuZ0lmPVwiaXNGaWxlU2VsZWN0ZWRcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBjbGFzcz1cImllZWVzYS1maWxlLXVwbG9hZF9fdXBsb2FkLXdyYXBwZXJfX2lucHV0LWZpZWxkIGllZWVzYS1ib2R5LWxnLTE2XCJcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPVwic2VsZWN0ZWRGaWxlTmFtZXNcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZy5wbGFjZWhvbGRlciA/PyAnJ1wiXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgICAgICBbbmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWcuYXJpYUxhYmVsID8/IGZpbGVVcGxvYWRBcmlhTGFiZWwuZmlsZVVwbG9hZElucHV0XCJcclxuICAgICAgICAgIFthcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3VwbG9hZC13cmFwcGVyLS1jbGVhci1pY29uLWJ0blwiXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmaWxlVXBsb2FkQXJpYUxhYmVsLnJlbW92ZUZpbGVJY29uXCJcclxuICAgICAgICAgICpuZ0lmPVwiaXNGaWxlU2VsZWN0ZWRcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInJlc2V0VXBsb2FkKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmEtcmVndWxhciBmYS1jaXJjbGUteG1hcmsgaWVlZXNhLWlucHV0LWZpZWxkLXVwbG9hZF9faWNvbi0tY2xlYXJcIlxyXG4gICAgICAgICAgPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGllZWVzYS1pY29uLWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWQtd3JhcHBlci0tdXBsb2FkLWJ0biBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgICAgICBbaWNvbkJ1dHRvbl09XCJmaWxlVXBsb2FkQnRuXCJcclxuICAgICAgICBbaXNMYWJlbE5lZWRlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgKGljb25CdXR0b25DbGljayk9XCJvblVwbG9hZCgpXCJcclxuICAgICAgICAqbmdJZj1cIiFpc0Zvcm1GaWVsZFwiXHJcbiAgICAgID5cclxuICAgICAgPC9pZWVlc2EtaWNvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNGb3JtRmllbGRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImllZWVzYS1maWxlLXVwbG9hZF9fcHJvZ3Jlc3NcIiAqbmdJZj1cImlzVXBsb2FkSW5Qcm9ncmVzc1wiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19wcm9ncmVzc19fdGV4dFwiPlxyXG4gICAgICAgICAge3tmaWxlVXBsb2FkTGFiZWwudXBsb2FkUHJvZ3Jlc3N9fVxyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8bWF0LXByb2dyZXNzLWJhclxyXG4gICAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3Byb2dyZXNzLS1iYXJcIlxyXG4gICAgICAgICAgbW9kZT1cImRldGVybWluYXRlXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJ1cGxvYWRlZFNpemVcIlxyXG4gICAgICAgID48L21hdC1wcm9ncmVzcy1iYXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIG1hdC1idXR0b25cclxuICAgICAgKGNsaWNrKT1cImZpbGVGaWVsZC5jbGljaygpXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX2Jyb3dzZS1idG4gbWF0LXRlcnRpYXJ5LWJ1dHRvblwiXHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsZVVwbG9hZEFyaWFMYWJlbC5icm93c2VGaWxlc1wiXHJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgPlxyXG4gICAgICB7e2ZpbGVVcGxvYWRMYWJlbC5icm93c2VGaWxlc319XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwiZmlsZVwiXHJcbiAgICAgICNmaWxlRmllbGRcclxuICAgICAgKGNoYW5nZSk9XCJnZXRGaWxlKCRhbnkoJGV2ZW50KS50YXJnZXQuZmlsZXMpXCJcclxuICAgICAgaGlkZGVuXHJcbiAgICAgIFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlc1wiXHJcbiAgICAgIG11bHRpcGxlPVwiaXNNdWx0aUZpbGVVcGxvYWRcIlxyXG4gICAgLz5cclxuICAgIDxwXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19hbGxvd2VkLWZpbGUtdGV4dCBtLTAgaWVlZXNhLWxhYmVsLW1kLTE0XCJcclxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhbGxvd2VkRmlsZVR5cGVzQW5kU2l6ZVRleHRcIlxyXG4gICAgPlxyXG4gICAgICB7e2FsbG93ZWRGaWxlVHlwZXNBbmRTaXplVGV4dH19XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbiAgPGllZWVzYS1mb3JtLWVycm9yIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPiA8L2llZWVzYS1mb3JtLWVycm9yPlxyXG4gIDxpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHRcclxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gID48L2llZWVzYS1mb3JtLXN1cHBvcnQtdGV4dD5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -115,7 +115,7 @@ export class HeaderComponent {
115
115
  this.destroy$.unsubscribe();
116
116
  }
117
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.BreakpointObserverService }, { token: i1.AuthService }, { token: i1.StorageService }], target: i0.ɵɵFactoryTarget.Component }); }
118
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderComponent, isStandalone: true, selector: "ieeesa-header", inputs: { headerConfig: "headerConfig", menuConfig: "menuConfig" }, outputs: { toggleNavMenuClick: "toggleNavMenuClick", profileMenuClick: "profileMenuClick" }, ngImport: i0, template: "<header\r\n class=\"ieeesa-header container-fluid d-flex align-items-center justify-content-between flex-wrap\"\r\n>\r\n <div class=\"order-0 order-sm-0\">\r\n <img\r\n class=\"ieeesa-header__logo\"\r\n src=\"{{ headerConfig.logoUrl }}\"\r\n alt=\"{{ screenTexts?.header?.alt?.logo }}\"\r\n />\r\n </div>\r\n <div\r\n class=\"order-2 order-sm-1 ieeesa-header__heading-container flex-align-center justify-content-start justify-content-sm-center\"\r\n >\r\n <button\r\n type=\"button\"\r\n (click)=\"toggleNavMenu($event)\"\r\n *ngIf=\"headerConfig?.isSignedIn && isMobileView\"\r\n [attr.aria-label]=\"screenTexts?.header?.ariaLabel?.hamburgerMenu\"\r\n class=\"ieeesa-text-button d-block d-sm-none\"\r\n >\r\n <i class=\"fa-solid fa-bars ieeesa-header__hamburger-menu\"></i>\r\n </button>\r\n <h2 class=\"ieeesa-header__heading ieeesa-title-inter-lg-bold-24\">\r\n {{ headerConfig.applicationName }}\r\n </h2>\r\n </div>\r\n <div\r\n class=\"order-1 order-sm-2 ieeesa-header__profile-container px-0 d-flex align-items-start align-items-sm-center justify-content-end\"\r\n >\r\n <a\r\n class=\"ieeesa-header__help-icon-link\"\r\n [attr.aria-label]=\"screenTexts?.header?.ariaLabel?.helpLink\"\r\n href=\"{{ headerConfig.helpLink }}\"\r\n target=\"_blank\"\r\n >\r\n <i class=\"fa-regular fa-circle-question ieeesa-header__help-icon\"></i>\r\n </a>\r\n <p\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-header__user-name ieeesa-title-sm-16 m-0 d-none d-md-block\"\r\n >\r\n {{ headerConfig.userName }}\r\n </p>\r\n <div\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-header__user-profile-wrapper\"\r\n >\r\n <ng-container>\r\n <ieeesa-menu\r\n [button]=\"userProfileIconButton\"\r\n (menuItemClick)=\"onUserProfileMenuClick($event)\"\r\n [isMarginBottomZero]=\"true\"\r\n [menuItems]=\"menuItems\"\r\n ></ieeesa-menu>\r\n </ng-container>\r\n </div>\r\n <button\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-text-button ieeesa-header__sign-out ieeesa-label-md-14 d-none d-md-block\"\r\n (click)=\"logout()\"\r\n >\r\n {{ screenTexts?.header?.label?.signOut }}\r\n </button>\r\n </div>\r\n</header>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-header{position:fixed;top:0;left:0;right:0;z-index:999;background-color:#000;margin:0;padding:.625em 1.5em .625em 1.25em}.ieeesa-header__logo{width:10em;height:3.375em;object-fit:contain}.ieeesa-header__heading{color:#fff;margin-bottom:0}.ieeesa-header__help-icon-link{margin-right:26px}.ieeesa-header__help-icon,.ieeesa-header__user-profile-icon,.ieeesa-header__user-profile-button{width:24px;height:24px;color:#777a7e;font-size:1.5rem}.ieeesa-header__user-name{color:#fff!important;padding-right:8px}.ieeesa-header__sign-out{margin-left:14px;padding-left:12px;border-left:1px solid #63666a;height:1.5em}.ieeesa-header__user-profile-wrapper{position:relative}.ieeesa-header__user-profile-button{position:absolute;top:0;left:0}@media (max-width: 767px){.ieeesa-header__heading{margin-left:.5em;font-size:1.125rem}}@media (max-width: 576px){.ieeesa-header{padding:.75em 1.125em 1.125em .75em}.ieeesa-header__heading-container{padding-top:1.5em;width:100%}.ieeesa-header__profile-container{padding-top:1.25em}.ieeesa-header__hamburger-menu{color:#fff;display:inline-block;width:18px;height:12px;margin-left:.5em;object-fit:contain}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: MenuComponent, selector: "ieeesa-menu", inputs: ["menuItems", "button", "isMarginBottomZero"], outputs: ["menuItemClick"] }, { kind: "ngmodule", type: MatMenuModule }], encapsulation: i0.ViewEncapsulation.None }); }
118
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderComponent, isStandalone: true, selector: "ieeesa-header", inputs: { headerConfig: "headerConfig", menuConfig: "menuConfig" }, outputs: { toggleNavMenuClick: "toggleNavMenuClick", profileMenuClick: "profileMenuClick" }, ngImport: i0, template: "<header\r\n class=\"ieeesa-header container-fluid d-flex align-items-center justify-content-between flex-wrap\"\r\n>\r\n <div class=\"order-0 order-sm-0\">\r\n <img\r\n class=\"ieeesa-header__logo\"\r\n src=\"{{ headerConfig.logoUrl }}\"\r\n alt=\"{{ screenTexts?.header?.alt?.logo }}\"\r\n />\r\n </div>\r\n <div\r\n class=\"order-2 order-sm-1 ieeesa-header__heading-container flex-align-center justify-content-start justify-content-sm-center\"\r\n >\r\n <button\r\n type=\"button\"\r\n (click)=\"toggleNavMenu($event)\"\r\n *ngIf=\"headerConfig?.isSignedIn && isMobileView\"\r\n [attr.aria-label]=\"screenTexts?.header?.ariaLabel?.hamburgerMenu\"\r\n class=\"ieeesa-text-button d-block d-sm-none\"\r\n >\r\n <i class=\"fa-solid fa-bars ieeesa-header__hamburger-menu\"></i>\r\n </button>\r\n <h2 class=\"ieeesa-header__heading ieeesa-title-inter-lg-bold-24\">\r\n {{ headerConfig.applicationName }}\r\n </h2>\r\n </div>\r\n <div\r\n class=\"order-1 order-sm-2 ieeesa-header__profile-container px-0 d-flex align-items-start align-items-sm-center justify-content-end\"\r\n >\r\n <a\r\n class=\"ieeesa-header__help-icon-link\"\r\n [attr.aria-label]=\"screenTexts?.header?.ariaLabel?.helpLink\"\r\n href=\"{{ headerConfig.helpLink }}\"\r\n target=\"_blank\"\r\n >\r\n <i class=\"fa-regular fa-circle-question ieeesa-header__help-icon\"></i>\r\n </a>\r\n <p\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-header__user-name ieeesa-title-sm-16 m-0 d-none d-md-block\"\r\n >\r\n {{ headerConfig.userName }}\r\n </p>\r\n <div\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-header__user-profile-wrapper\"\r\n >\r\n <ng-container>\r\n <ieeesa-menu\r\n [button]=\"userProfileIconButton\"\r\n (menuItemClick)=\"onUserProfileMenuClick($event)\"\r\n [isMarginBottomZero]=\"true\"\r\n [menuItems]=\"menuItems\"\r\n ></ieeesa-menu>\r\n </ng-container>\r\n </div>\r\n <button\r\n *ngIf=\"headerConfig.isSignedIn\"\r\n class=\"ieeesa-text-button ieeesa-header__sign-out ieeesa-label-md-14 d-none d-md-block\"\r\n (click)=\"logout()\"\r\n >\r\n {{ screenTexts?.header?.label?.signOut }}\r\n </button>\r\n </div>\r\n</header>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-header{position:fixed;top:0;left:0;right:0;z-index:999;background-color:#000;margin:0;padding:.625em 1.5em .625em 1.25em}.ieeesa-header__logo{width:10em;height:3.375em;object-fit:contain}.ieeesa-header__heading{color:#fff;margin-bottom:0}.ieeesa-header__help-icon-link{margin-right:26px}.ieeesa-header__help-icon,.ieeesa-header__user-profile-icon,.ieeesa-header__user-profile-button{width:24px;height:24px;color:#777a7e;font-size:1.5rem}.ieeesa-header__user-name{color:#fff!important;padding-right:8px}.ieeesa-header__sign-out{margin-left:14px;padding-left:12px;border-left:1px solid #63666a;height:1.5em}.ieeesa-header__user-profile-wrapper{position:relative}.ieeesa-header__user-profile-button{position:absolute;top:0;left:0}@media (max-width: 767px){.ieeesa-header__heading{margin-left:.5em;font-size:1.125rem}}@media (max-width: 576px){.ieeesa-header{padding:.75em 1.125em 1.125em .75em}.ieeesa-header__heading-container{padding-top:1.5em;width:100%}.ieeesa-header__profile-container{padding-top:1.25em}.ieeesa-header__hamburger-menu{color:#fff;display:inline-block;width:18px;height:12px;margin-left:.5em;object-fit:contain}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: MenuComponent, selector: "ieeesa-menu", inputs: ["menuItems", "button", "defaultIconSize", "isMarginBottomZero"], outputs: ["menuItemClick"] }, { kind: "ngmodule", type: MatMenuModule }], encapsulation: i0.ViewEncapsulation.None }); }
119
119
  }
120
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderComponent, decorators: [{
121
121
  type: Component,
@@ -135,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
135
135
  }], profileMenuClick: [{
136
136
  type: Output
137
137
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQUNsRTs7O0dBR0c7QUFlSCxNQUFNLE9BQU8sZUFBZTtJQVMxQjs7Ozs7T0FLRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQW1CO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUNJLFVBQVUs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OUIsQ0FBQzsrR0F6R1UsZUFBZTttR0FBZixlQUFlLDBPQzFDNUIsKzBFQWlFQSx1L1JEakNJLFlBQVksa0lBQ1osWUFBWSw4QkFDWixlQUFlLCtCQUNmLGFBQWEsMElBQ2IsYUFBYTs7NEZBTUosZUFBZTtrQkFkM0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTtxQkFDZCxpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJO3VLQWtCakMsWUFBWTtzQkFEZixLQUFLO2dCQVFGLFVBQVU7c0JBRGIsS0FBSztnQkFVSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEhlYWRlckNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9oZWFkZXItY29uZmlnLm1vZGVsJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7XHJcbiAgQnJlYWtwb2ludE9ic2VydmVyU2VydmljZSxcclxuICBBdXRoU2VydmljZSxcclxuICBTdG9yYWdlU2VydmljZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUubW9kZWwnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ljb24tYnV0dG9uLm1vZGVsJztcclxuaW1wb3J0IHsgVXNlclByb2ZpbGVNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Byb2ZpbGUtbWVudS5tb2RlbCc7XHJcbi8qKlxyXG4gKiBJbXBsZW1lbnRzICYgZGlzcGxheXMgYXBwbGljYXRpb24gbG9nbywgdGl0bGUsIHNpZ25lZCBpbiB1c2VyIGluZm9ybWF0aW9uLCBzaWduLW91dCBsaW5rLCBhbmQgaGFtYnVyZ2VyIGxpbmsgZm9yIG1vYmlsZSB2aWV3LlxyXG4gKiBAY2xhc3MgSGVhZGVyQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1oZWFkZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWVudUNvbXBvbmVudCxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIGhlYWRlckNvbmZpZ0luZm8hOiBIZWFkZXJDb25maWc7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzY3JlZW5UZXh0czogYW55ID0gY29uc3RhbnRzO1xyXG4gIHByaXZhdGUgcHJvZmlsZU1lbnVPcHRpb25zOiBNZW51W10gPVxyXG4gICAgdGhpcy5zY3JlZW5UZXh0cz8uaGVhZGVyPy51c2VyUHJvZmlsZU1lbnVPcHRpb25zO1xyXG4gIG1lbnVJdGVtcyE6IE1lbnVbXTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWluZmVycmFibGUtdHlwZXNcclxuICBpc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBIZWFkZXJDb25maWcgcmVwcmVzZW50cyB0aGUgY29uZmlndXJhYmxlIHByb3BlcnRpZXMgcmVxdWlyZWQgZm9yIGhlYWRlciBjb21wb25lbnQuXHJcbiAgICogSW5wdXQgcHJvcGVydHkgb2YgdGhlIGNvbXBvbmVudCB0byBnZXQgdGhlIGNvbmZpZ3VyYWJsZSB2YWx1ZXMgc3VjaCBhcyBsb2dvLCBhcHAgdGl0bGUsIHNpZ25lZCBpbiB1c2VyIG5hbWUgYW5kIGxvZ291dCByZWRpcmVjdCBVUkwuXHJcbiAgICogQHR5cGUge0hlYWRlckNvbmZpZ31cclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgaGVhZGVyQ29uZmlnKHZhbHVlOiBIZWFkZXJDb25maWcpIHtcclxuICAgIHRoaXMuaGVhZGVyQ29uZmlnSW5mbyA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgaGVhZGVyQ29uZmlnKCk6IEhlYWRlckNvbmZpZyB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJDb25maWdJbmZvO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHNldCBtZW51Q29uZmlnKHZhbHVlOiBNZW51W10pIHtcclxuICAgIHRoaXMucHJvZmlsZU1lbnVPcHRpb25zID0gdmFsdWU7XHJcbiAgICB0aGlzLmdldE1lbnVJdGVtcygpO1xyXG4gIH1cclxuICBnZXQgbWVudUNvbmZpZygpOiBNZW51W10ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZU1lbnVPcHRpb25zO1xyXG4gIH1cclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSB0b2dnbGVOYXZNZW51Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBwcm9maWxlTWVudUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZW51PigpO1xyXG4gIHVzZXJQcm9maWxlSWNvbkJ1dHRvbjogSWNvbkJ1dHRvbiA9IHRoaXMuc2NyZWVuVGV4dHM/LmhlYWRlcj8uYnV0dG9uc1swXTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBicmVha1BvaW50T2JzZXJ2ZXJTZXJ2aWNlOiBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxyXG4gICkge1xyXG4gICAgYnJlYWtQb2ludE9ic2VydmVyU2VydmljZVxyXG4gICAgICAuZ2V0QnJlYWtwb2ludCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vYmlsZVZpZXcgPSByZXN1bHQubWF0Y2hlcztcclxuICAgICAgICB0aGlzLmdldE1lbnVJdGVtcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRGVza3RvcCBldmVudCB0byBuYXZpZ2F0ZSB0byBsb2dvdXQgcGFnZS5cclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICogSXQgd2lsbCBkZWxldGVzIHRoZSBhcHBsaWNhdGlvbiBzcGVjaWZpYyBhbmQgU1NPIHJlbGF0ZWQgY29va2llc1xyXG4gICAqL1xyXG4gIGxvZ291dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2U/LmRlbGV0ZUNvb2tpZSh0aGlzLmhlYWRlckNvbmZpZz8uY29va2llTmFtZSk7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlPy5jbGVhclN0b3JhZ2UoKTtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5oZWFkZXJDb25maWc/LnNzb1NpZ25PdXRVcmw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRvZ2dsZU5hdk1lbnVDbGljayBldmVudCBvbmNlIGhhbWJ1cmdlciBpY29uIGlzIGNsaWNrZWQuXHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgdG9nZ2xlTmF2TWVudShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMudG9nZ2xlTmF2TWVudUNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBwcm9maWxlIG1lbnUgaXRlbSBjbGljayBldmVudCBhbmQgY2FsbHMgdGhlIGxvZ291dFxyXG4gICAqIG1ldGhvZCB3aGVuIFNpZ24gT3V0IGJ1dHRvbiBpcyBjbGlja2VkLi5cclxuICAgKiBAcGFyYW0ge01lbnV9IG1lbnVcclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Vc2VyUHJvZmlsZU1lbnVDbGljayhtZW51OiBNZW51KTogdm9pZCB7XHJcbiAgICBpZiAobWVudT8uaWQgPT09IFVzZXJQcm9maWxlTWVudS5TSUdOX09VVCkge1xyXG4gICAgICB0aGlzLmxvZ291dCgpO1xyXG4gICAgfSBlbHNlIGlmIChtZW51Py5pZCA9PT0gVXNlclByb2ZpbGVNZW51LlVTRVJfUFJPRklMRSkge1xyXG4gICAgICB0aGlzLnByb2ZpbGVNZW51Q2xpY2suZW1pdChtZW51KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vZGlmaWVzIHRoZSBtZW51IGl0ZW1zIGJhc2VkIG9uIG1vYmlsZSBvciBkZXNrdG9wLlxyXG4gICAqL1xyXG4gIGdldE1lbnVJdGVtcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzTW9iaWxlVmlldykge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IHRoaXMucHJvZmlsZU1lbnVPcHRpb25zO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSB0aGlzLnByb2ZpbGVNZW51T3B0aW9ucz8uc2xpY2UoXHJcbiAgICAgICAgMCxcclxuICAgICAgICB0aGlzLnByb2ZpbGVNZW51T3B0aW9ucz8ubGVuZ3RoIC0gMVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBDbGVhbnMgdXAgcmVzb3VyY2VzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIEhlYWRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aGVhZGVyXHJcbiAgY2xhc3M9XCJpZWVlc2EtaGVhZGVyIGNvbnRhaW5lci1mbHVpZCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtd3JhcFwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwib3JkZXItMCBvcmRlci1zbS0wXCI+XHJcbiAgICA8aW1nXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWhlYWRlcl9fbG9nb1wiXHJcbiAgICAgIHNyYz1cInt7IGhlYWRlckNvbmZpZy5sb2dvVXJsIH19XCJcclxuICAgICAgYWx0PVwie3sgc2NyZWVuVGV4dHM/LmhlYWRlcj8uYWx0Py5sb2dvIH19XCJcclxuICAgIC8+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJvcmRlci0yIG9yZGVyLXNtLTEgaWVlZXNhLWhlYWRlcl9faGVhZGluZy1jb250YWluZXIgZmxleC1hbGlnbi1jZW50ZXIganVzdGlmeS1jb250ZW50LXN0YXJ0IGp1c3RpZnktY29udGVudC1zbS1jZW50ZXJcIlxyXG4gID5cclxuICAgIDxidXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVOYXZNZW51KCRldmVudClcIlxyXG4gICAgICAqbmdJZj1cImhlYWRlckNvbmZpZz8uaXNTaWduZWRJbiAmJiBpc01vYmlsZVZpZXdcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNjcmVlblRleHRzPy5oZWFkZXI/LmFyaWFMYWJlbD8uaGFtYnVyZ2VyTWVudVwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLXRleHQtYnV0dG9uIGQtYmxvY2sgZC1zbS1ub25lXCJcclxuICAgID5cclxuICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1iYXJzIGllZWVzYS1oZWFkZXJfX2hhbWJ1cmdlci1tZW51XCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8aDIgY2xhc3M9XCJpZWVlc2EtaGVhZGVyX19oZWFkaW5nIGllZWVzYS10aXRsZS1pbnRlci1sZy1ib2xkLTI0XCI+XHJcbiAgICAgIHt7IGhlYWRlckNvbmZpZy5hcHBsaWNhdGlvbk5hbWUgfX1cclxuICAgIDwvaDI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJvcmRlci0xIG9yZGVyLXNtLTIgaWVlZXNhLWhlYWRlcl9fcHJvZmlsZS1jb250YWluZXIgcHgtMCBkLWZsZXggYWxpZ24taXRlbXMtc3RhcnQgYWxpZ24taXRlbXMtc20tY2VudGVyIGp1c3RpZnktY29udGVudC1lbmRcIlxyXG4gID5cclxuICAgIDxhXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWhlYWRlcl9faGVscC1pY29uLWxpbmtcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNjcmVlblRleHRzPy5oZWFkZXI/LmFyaWFMYWJlbD8uaGVscExpbmtcIlxyXG4gICAgICBocmVmPVwie3sgaGVhZGVyQ29uZmlnLmhlbHBMaW5rIH19XCJcclxuICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgID5cclxuICAgICAgPGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbiBpZWVlc2EtaGVhZGVyX19oZWxwLWljb25cIj48L2k+XHJcbiAgICA8L2E+XHJcbiAgICA8cFxyXG4gICAgICAqbmdJZj1cImhlYWRlckNvbmZpZy5pc1NpZ25lZEluXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtaGVhZGVyX191c2VyLW5hbWUgaWVlZXNhLXRpdGxlLXNtLTE2IG0tMCBkLW5vbmUgZC1tZC1ibG9ja1wiXHJcbiAgICA+XHJcbiAgICAgIHt7IGhlYWRlckNvbmZpZy51c2VyTmFtZSB9fVxyXG4gICAgPC9wPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cImhlYWRlckNvbmZpZy5pc1NpZ25lZEluXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtaGVhZGVyX191c2VyLXByb2ZpbGUtd3JhcHBlclwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgPGllZWVzYS1tZW51XHJcbiAgICAgICAgICBbYnV0dG9uXT1cInVzZXJQcm9maWxlSWNvbkJ1dHRvblwiXHJcbiAgICAgICAgICAobWVudUl0ZW1DbGljayk9XCJvblVzZXJQcm9maWxlTWVudUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgW2lzTWFyZ2luQm90dG9tWmVyb109XCJ0cnVlXCJcclxuICAgICAgICAgIFttZW51SXRlbXNdPVwibWVudUl0ZW1zXCJcclxuICAgICAgICA+PC9pZWVlc2EtbWVudT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxidXR0b25cclxuICAgICAgKm5nSWY9XCJoZWFkZXJDb25maWcuaXNTaWduZWRJblwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLXRleHQtYnV0dG9uIGllZWVzYS1oZWFkZXJfX3NpZ24tb3V0IGllZWVzYS1sYWJlbC1tZC0xNCBkLW5vbmUgZC1tZC1ibG9ja1wiXHJcbiAgICAgIChjbGljayk9XCJsb2dvdXQoKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7IHNjcmVlblRleHRzPy5oZWFkZXI/LmxhYmVsPy5zaWduT3V0IH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9oZWFkZXI+XHJcbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sS0FBSyxTQUFTLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTS9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7OztBQUNsRTs7O0dBR0c7QUFlSCxNQUFNLE9BQU8sZUFBZTtJQVMxQjs7Ozs7T0FLRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQW1CO1FBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUNELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUNJLFVBQVUs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OUIsQ0FBQzsrR0F6R1UsZUFBZTttR0FBZixlQUFlLDBPQzFDNUIsKzBFQWlFQSx1L1JEakNJLFlBQVksa0lBQ1osWUFBWSw4QkFDWixlQUFlLCtCQUNmLGFBQWEsNkpBQ2IsYUFBYTs7NEZBTUosZUFBZTtrQkFkM0IsU0FBUzsrQkFDRSxlQUFlLGNBQ2IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTtxQkFDZCxpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJO3VLQWtCakMsWUFBWTtzQkFEZixLQUFLO2dCQVFGLFVBQVU7c0JBRGIsS0FBSztnQkFVSSxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEhlYWRlckNvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9oZWFkZXItY29uZmlnLm1vZGVsJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7XHJcbiAgQnJlYWtwb2ludE9ic2VydmVyU2VydmljZSxcclxuICBBdXRoU2VydmljZSxcclxuICBTdG9yYWdlU2VydmljZSxcclxufSBmcm9tICdAaWVlZXNhLW5wbS91dGlsaXR5JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcclxuaW1wb3J0IHsgTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL21lbnUvbWVudS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUubW9kZWwnO1xyXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ljb24tYnV0dG9uLm1vZGVsJztcclxuaW1wb3J0IHsgVXNlclByb2ZpbGVNZW51IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Byb2ZpbGUtbWVudS5tb2RlbCc7XHJcbi8qKlxyXG4gKiBJbXBsZW1lbnRzICYgZGlzcGxheXMgYXBwbGljYXRpb24gbG9nbywgdGl0bGUsIHNpZ25lZCBpbiB1c2VyIGluZm9ybWF0aW9uLCBzaWduLW91dCBsaW5rLCBhbmQgaGFtYnVyZ2VyIGxpbmsgZm9yIG1vYmlsZSB2aWV3LlxyXG4gKiBAY2xhc3MgSGVhZGVyQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1oZWFkZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWVudUNvbXBvbmVudCxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIGhlYWRlckNvbmZpZ0luZm8hOiBIZWFkZXJDb25maWc7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzY3JlZW5UZXh0czogYW55ID0gY29uc3RhbnRzO1xyXG4gIHByaXZhdGUgcHJvZmlsZU1lbnVPcHRpb25zOiBNZW51W10gPVxyXG4gICAgdGhpcy5zY3JlZW5UZXh0cz8uaGVhZGVyPy51c2VyUHJvZmlsZU1lbnVPcHRpb25zO1xyXG4gIG1lbnVJdGVtcyE6IE1lbnVbXTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWluZmVycmFibGUtdHlwZXNcclxuICBpc01vYmlsZVZpZXcgPSBmYWxzZTtcclxuICAvKipcclxuICAgKiBIZWFkZXJDb25maWcgcmVwcmVzZW50cyB0aGUgY29uZmlndXJhYmxlIHByb3BlcnRpZXMgcmVxdWlyZWQgZm9yIGhlYWRlciBjb21wb25lbnQuXHJcbiAgICogSW5wdXQgcHJvcGVydHkgb2YgdGhlIGNvbXBvbmVudCB0byBnZXQgdGhlIGNvbmZpZ3VyYWJsZSB2YWx1ZXMgc3VjaCBhcyBsb2dvLCBhcHAgdGl0bGUsIHNpZ25lZCBpbiB1c2VyIG5hbWUgYW5kIGxvZ291dCByZWRpcmVjdCBVUkwuXHJcbiAgICogQHR5cGUge0hlYWRlckNvbmZpZ31cclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgaGVhZGVyQ29uZmlnKHZhbHVlOiBIZWFkZXJDb25maWcpIHtcclxuICAgIHRoaXMuaGVhZGVyQ29uZmlnSW5mbyA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgaGVhZGVyQ29uZmlnKCk6IEhlYWRlckNvbmZpZyB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJDb25maWdJbmZvO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHNldCBtZW51Q29uZmlnKHZhbHVlOiBNZW51W10pIHtcclxuICAgIHRoaXMucHJvZmlsZU1lbnVPcHRpb25zID0gdmFsdWU7XHJcbiAgICB0aGlzLmdldE1lbnVJdGVtcygpO1xyXG4gIH1cclxuICBnZXQgbWVudUNvbmZpZygpOiBNZW51W10ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZU1lbnVPcHRpb25zO1xyXG4gIH1cclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKSB0b2dnbGVOYXZNZW51Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBwcm9maWxlTWVudUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZW51PigpO1xyXG4gIHVzZXJQcm9maWxlSWNvbkJ1dHRvbjogSWNvbkJ1dHRvbiA9IHRoaXMuc2NyZWVuVGV4dHM/LmhlYWRlcj8uYnV0dG9uc1swXTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBicmVha1BvaW50T2JzZXJ2ZXJTZXJ2aWNlOiBCcmVha3BvaW50T2JzZXJ2ZXJTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVxyXG4gICkge1xyXG4gICAgYnJlYWtQb2ludE9ic2VydmVyU2VydmljZVxyXG4gICAgICAuZ2V0QnJlYWtwb2ludCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vYmlsZVZpZXcgPSByZXN1bHQubWF0Y2hlcztcclxuICAgICAgICB0aGlzLmdldE1lbnVJdGVtcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRGVza3RvcCBldmVudCB0byBuYXZpZ2F0ZSB0byBsb2dvdXQgcGFnZS5cclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICogSXQgd2lsbCBkZWxldGVzIHRoZSBhcHBsaWNhdGlvbiBzcGVjaWZpYyBhbmQgU1NPIHJlbGF0ZWQgY29va2llc1xyXG4gICAqL1xyXG4gIGxvZ291dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2U/LmRlbGV0ZUNvb2tpZSh0aGlzLmhlYWRlckNvbmZpZz8uY29va2llTmFtZSk7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlPy5jbGVhclN0b3JhZ2UoKTtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdGhpcy5oZWFkZXJDb25maWc/LnNzb1NpZ25PdXRVcmw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRvZ2dsZU5hdk1lbnVDbGljayBldmVudCBvbmNlIGhhbWJ1cmdlciBpY29uIGlzIGNsaWNrZWQuXHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgdG9nZ2xlTmF2TWVudShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMudG9nZ2xlTmF2TWVudUNsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBwcm9maWxlIG1lbnUgaXRlbSBjbGljayBldmVudCBhbmQgY2FsbHMgdGhlIGxvZ291dFxyXG4gICAqIG1ldGhvZCB3aGVuIFNpZ24gT3V0IGJ1dHRvbiBpcyBjbGlja2VkLi5cclxuICAgKiBAcGFyYW0ge01lbnV9IG1lbnVcclxuICAgKiBAbWVtYmVyb2YgSGVhZGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Vc2VyUHJvZmlsZU1lbnVDbGljayhtZW51OiBNZW51KTogdm9pZCB7XHJcbiAgICBpZiAobWVudT8uaWQgPT09IFVzZXJQcm9maWxlTWVudS5TSUdOX09VVCkge1xyXG4gICAgICB0aGlzLmxvZ291dCgpO1xyXG4gICAgfSBlbHNlIGlmIChtZW51Py5pZCA9PT0gVXNlclByb2ZpbGVNZW51LlVTRVJfUFJPRklMRSkge1xyXG4gICAgICB0aGlzLnByb2ZpbGVNZW51Q2xpY2suZW1pdChtZW51KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vZGlmaWVzIHRoZSBtZW51IGl0ZW1zIGJhc2VkIG9uIG1vYmlsZSBvciBkZXNrdG9wLlxyXG4gICAqL1xyXG4gIGdldE1lbnVJdGVtcygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmlzTW9iaWxlVmlldykge1xyXG4gICAgICB0aGlzLm1lbnVJdGVtcyA9IHRoaXMucHJvZmlsZU1lbnVPcHRpb25zO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5tZW51SXRlbXMgPSB0aGlzLnByb2ZpbGVNZW51T3B0aW9ucz8uc2xpY2UoXHJcbiAgICAgICAgMCxcclxuICAgICAgICB0aGlzLnByb2ZpbGVNZW51T3B0aW9ucz8ubGVuZ3RoIC0gMVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBDbGVhbnMgdXAgcmVzb3VyY2VzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIEhlYWRlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aGVhZGVyXHJcbiAgY2xhc3M9XCJpZWVlc2EtaGVhZGVyIGNvbnRhaW5lci1mbHVpZCBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGZsZXgtd3JhcFwiXHJcbj5cclxuICA8ZGl2IGNsYXNzPVwib3JkZXItMCBvcmRlci1zbS0wXCI+XHJcbiAgICA8aW1nXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWhlYWRlcl9fbG9nb1wiXHJcbiAgICAgIHNyYz1cInt7IGhlYWRlckNvbmZpZy5sb2dvVXJsIH19XCJcclxuICAgICAgYWx0PVwie3sgc2NyZWVuVGV4dHM/LmhlYWRlcj8uYWx0Py5sb2dvIH19XCJcclxuICAgIC8+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJvcmRlci0yIG9yZGVyLXNtLTEgaWVlZXNhLWhlYWRlcl9faGVhZGluZy1jb250YWluZXIgZmxleC1hbGlnbi1jZW50ZXIganVzdGlmeS1jb250ZW50LXN0YXJ0IGp1c3RpZnktY29udGVudC1zbS1jZW50ZXJcIlxyXG4gID5cclxuICAgIDxidXR0b25cclxuICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgIChjbGljayk9XCJ0b2dnbGVOYXZNZW51KCRldmVudClcIlxyXG4gICAgICAqbmdJZj1cImhlYWRlckNvbmZpZz8uaXNTaWduZWRJbiAmJiBpc01vYmlsZVZpZXdcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNjcmVlblRleHRzPy5oZWFkZXI/LmFyaWFMYWJlbD8uaGFtYnVyZ2VyTWVudVwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLXRleHQtYnV0dG9uIGQtYmxvY2sgZC1zbS1ub25lXCJcclxuICAgID5cclxuICAgICAgPGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1iYXJzIGllZWVzYS1oZWFkZXJfX2hhbWJ1cmdlci1tZW51XCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8aDIgY2xhc3M9XCJpZWVlc2EtaGVhZGVyX19oZWFkaW5nIGllZWVzYS10aXRsZS1pbnRlci1sZy1ib2xkLTI0XCI+XHJcbiAgICAgIHt7IGhlYWRlckNvbmZpZy5hcHBsaWNhdGlvbk5hbWUgfX1cclxuICAgIDwvaDI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJvcmRlci0xIG9yZGVyLXNtLTIgaWVlZXNhLWhlYWRlcl9fcHJvZmlsZS1jb250YWluZXIgcHgtMCBkLWZsZXggYWxpZ24taXRlbXMtc3RhcnQgYWxpZ24taXRlbXMtc20tY2VudGVyIGp1c3RpZnktY29udGVudC1lbmRcIlxyXG4gID5cclxuICAgIDxhXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWhlYWRlcl9faGVscC1pY29uLWxpbmtcIlxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInNjcmVlblRleHRzPy5oZWFkZXI/LmFyaWFMYWJlbD8uaGVscExpbmtcIlxyXG4gICAgICBocmVmPVwie3sgaGVhZGVyQ29uZmlnLmhlbHBMaW5rIH19XCJcclxuICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcclxuICAgID5cclxuICAgICAgPGkgY2xhc3M9XCJmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbiBpZWVlc2EtaGVhZGVyX19oZWxwLWljb25cIj48L2k+XHJcbiAgICA8L2E+XHJcbiAgICA8cFxyXG4gICAgICAqbmdJZj1cImhlYWRlckNvbmZpZy5pc1NpZ25lZEluXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtaGVhZGVyX191c2VyLW5hbWUgaWVlZXNhLXRpdGxlLXNtLTE2IG0tMCBkLW5vbmUgZC1tZC1ibG9ja1wiXHJcbiAgICA+XHJcbiAgICAgIHt7IGhlYWRlckNvbmZpZy51c2VyTmFtZSB9fVxyXG4gICAgPC9wPlxyXG4gICAgPGRpdlxyXG4gICAgICAqbmdJZj1cImhlYWRlckNvbmZpZy5pc1NpZ25lZEluXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtaGVhZGVyX191c2VyLXByb2ZpbGUtd3JhcHBlclwiXHJcbiAgICA+XHJcbiAgICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgICAgPGllZWVzYS1tZW51XHJcbiAgICAgICAgICBbYnV0dG9uXT1cInVzZXJQcm9maWxlSWNvbkJ1dHRvblwiXHJcbiAgICAgICAgICAobWVudUl0ZW1DbGljayk9XCJvblVzZXJQcm9maWxlTWVudUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgW2lzTWFyZ2luQm90dG9tWmVyb109XCJ0cnVlXCJcclxuICAgICAgICAgIFttZW51SXRlbXNdPVwibWVudUl0ZW1zXCJcclxuICAgICAgICA+PC9pZWVlc2EtbWVudT5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxidXR0b25cclxuICAgICAgKm5nSWY9XCJoZWFkZXJDb25maWcuaXNTaWduZWRJblwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLXRleHQtYnV0dG9uIGllZWVzYS1oZWFkZXJfX3NpZ24tb3V0IGllZWVzYS1sYWJlbC1tZC0xNCBkLW5vbmUgZC1tZC1ibG9ja1wiXHJcbiAgICAgIChjbGljayk9XCJsb2dvdXQoKVwiXHJcbiAgICA+XHJcbiAgICAgIHt7IHNjcmVlblRleHRzPy5oZWFkZXI/LmxhYmVsPy5zaWduT3V0IH19XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9oZWFkZXI+XHJcbiJdfQ==