@churchillliving/se-ui-toolkit 6.54.693 → 6.54.699

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.
@@ -3,25 +3,23 @@ import { ESelectFileType } from '../../../models/form.model';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "../../../services/request.service";
5
5
  import * as i2 from "../../../services/alert.service";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "@angular/forms";
8
- import * as i5 from "primeng/inputtext";
6
+ import * as i3 from "primeng/inputtext";
9
7
  export class FileUploadComponent {
10
8
  constructor(requestService, alertService) {
11
9
  this.requestService = requestService;
12
10
  this.alertService = alertService;
13
11
  this.allowMultiple = false;
14
12
  this.isAzureUpload = true;
15
- this.allowResize = false;
13
+ this.resizeWidth = '';
16
14
  this.fileUrl = new EventEmitter();
17
15
  this.uploadFileOnReturn = new EventEmitter();
18
16
  }
19
17
  ngOnInit() { }
20
- onResizeBlur(files) {
21
- if (files?.length > 0) {
22
- this.uploadFile(files);
23
- }
24
- }
18
+ // onResizeBlur(files) {
19
+ // if (files?.length > 0) {
20
+ // this.uploadFile(files);
21
+ // }
22
+ // }
25
23
  uploadFile(files) {
26
24
  let excelFileData = [];
27
25
  let fileData = new FormData;
@@ -40,8 +38,8 @@ export class FileUploadComponent {
40
38
  else if (this.fields && this.fields.pathSystemConfig?.length > 0) {
41
39
  fileData.append('azureContainer', this.fields.pathSystemConfig);
42
40
  }
43
- if (this.allowResize && this.imageWidth) {
44
- fileData.append('width', this.imageWidth.toString());
41
+ if (this.resizeWidth) {
42
+ fileData.append('width', this.resizeWidth);
45
43
  }
46
44
  this.requestService.get('/Upload', fileData).subscribe((data) => {
47
45
  if (data) {
@@ -73,11 +71,11 @@ export class FileUploadComponent {
73
71
  }
74
72
  }
75
73
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.RequestService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Component }); }
76
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileUploadComponent, selector: "se-file-upload", inputs: { acceptFileTypes: "acceptFileTypes", allowMultiple: "allowMultiple", fields: "fields", isAzureUpload: "isAzureUpload", allowResize: "allowResize" }, outputs: { fileUrl: "fileUrl", uploadFileOnReturn: "uploadFileOnReturn" }, ngImport: i0, template: "<div class=\"field-resizer\">\n<!-- file Upload Component-->\n<input\n pInputText\n #fileInput\n type=\"file\"\n id=\"file\"\n [accept]=\"acceptFileTypes\"\n [multiple]=\"allowMultiple\"\n (change)=\"uploadFile(fileInput.files)\"\n (click)=\"onClickEvent()\"\n/>\n\n<!-- Resize Input (only if allowResize is true) -->\n<div *ngIf=\"allowResize\" class=\"p-field p-grid\">\n <label for=\"resizeWidth\" class=\"p-col-fixed\" >Width (px):</label>\n <div class=\"p-col\">\n <input\n type=\"number\"\n pInputText\n [(ngModel)]=\"imageWidth\"\n placeholder=\"Image width\"\n (blur)=\"onResizeBlur(fileInput.files)\" \n />\n </div>\n</div>\n</div>\n", styles: [".field-resizer{display:flex;align-items:center;gap:5px}.field-resizer .p-field{position:relative;top:-10px}.field-resizer .p-field label{position:relative;top:-9px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] }); }
74
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileUploadComponent, selector: "se-file-upload", inputs: { acceptFileTypes: "acceptFileTypes", allowMultiple: "allowMultiple", fields: "fields", isAzureUpload: "isAzureUpload", resizeWidth: "resizeWidth" }, outputs: { fileUrl: "fileUrl", uploadFileOnReturn: "uploadFileOnReturn" }, ngImport: i0, template: "<div class=\"field-resizer\">\n<!-- file Upload Component-->\n<input\n pInputText\n #fileInput\n type=\"file\"\n id=\"file\"\n [accept]=\"acceptFileTypes\"\n [multiple]=\"allowMultiple\"\n (change)=\"uploadFile(fileInput.files)\"\n (click)=\"onClickEvent()\"\n/>\n\n<!-- Resize Input (only if allowResize is true) -->\n<!-- <div *ngIf=\"allowResize\" class=\"p-field p-grid\">\n <label for=\"resizeWidth\" class=\"p-col-fixed\" >Width (px):</label>\n <div class=\"p-col\">\n <input\n type=\"number\"\n pInputText\n [(ngModel)]=\"imageWidth\"\n placeholder=\"Image width\"\n (blur)=\"onResizeBlur(fileInput.files)\" \n />\n </div>\n</div> -->\n</div>\n", styles: [".field-resizer{display:flex;align-items:center;gap:5px}.field-resizer .p-field{position:relative;top:-10px}.field-resizer .p-field label{position:relative;top:-9px}\n"], dependencies: [{ kind: "directive", type: i3.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }] }); }
77
75
  }
78
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadComponent, decorators: [{
79
77
  type: Component,
80
- args: [{ selector: 'se-file-upload', template: "<div class=\"field-resizer\">\n<!-- file Upload Component-->\n<input\n pInputText\n #fileInput\n type=\"file\"\n id=\"file\"\n [accept]=\"acceptFileTypes\"\n [multiple]=\"allowMultiple\"\n (change)=\"uploadFile(fileInput.files)\"\n (click)=\"onClickEvent()\"\n/>\n\n<!-- Resize Input (only if allowResize is true) -->\n<div *ngIf=\"allowResize\" class=\"p-field p-grid\">\n <label for=\"resizeWidth\" class=\"p-col-fixed\" >Width (px):</label>\n <div class=\"p-col\">\n <input\n type=\"number\"\n pInputText\n [(ngModel)]=\"imageWidth\"\n placeholder=\"Image width\"\n (blur)=\"onResizeBlur(fileInput.files)\" \n />\n </div>\n</div>\n</div>\n", styles: [".field-resizer{display:flex;align-items:center;gap:5px}.field-resizer .p-field{position:relative;top:-10px}.field-resizer .p-field label{position:relative;top:-9px}\n"] }]
78
+ args: [{ selector: 'se-file-upload', template: "<div class=\"field-resizer\">\n<!-- file Upload Component-->\n<input\n pInputText\n #fileInput\n type=\"file\"\n id=\"file\"\n [accept]=\"acceptFileTypes\"\n [multiple]=\"allowMultiple\"\n (change)=\"uploadFile(fileInput.files)\"\n (click)=\"onClickEvent()\"\n/>\n\n<!-- Resize Input (only if allowResize is true) -->\n<!-- <div *ngIf=\"allowResize\" class=\"p-field p-grid\">\n <label for=\"resizeWidth\" class=\"p-col-fixed\" >Width (px):</label>\n <div class=\"p-col\">\n <input\n type=\"number\"\n pInputText\n [(ngModel)]=\"imageWidth\"\n placeholder=\"Image width\"\n (blur)=\"onResizeBlur(fileInput.files)\" \n />\n </div>\n</div> -->\n</div>\n", styles: [".field-resizer{display:flex;align-items:center;gap:5px}.field-resizer .p-field{position:relative;top:-10px}.field-resizer .p-field label{position:relative;top:-9px}\n"] }]
81
79
  }], ctorParameters: () => [{ type: i1.RequestService }, { type: i2.AlertService }], propDecorators: { acceptFileTypes: [{
82
80
  type: Input
83
81
  }], allowMultiple: [{
@@ -86,11 +84,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
86
84
  type: Input
87
85
  }], isAzureUpload: [{
88
86
  type: Input
89
- }], allowResize: [{
87
+ }], resizeWidth: [{
90
88
  type: Input
91
89
  }], fileUrl: [{
92
90
  type: Output
93
91
  }], uploadFileOnReturn: [{
94
92
  type: Output
95
93
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBUXpFLE1BQU0sT0FBTyxtQkFBbUI7SUFVOUIsWUFDVSxjQUE4QixFQUM5QixZQUEwQjtRQUQxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFWM0Isa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0Isa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFDOUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFNUIsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ2hELHVCQUFrQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBS2xFLENBQUM7SUFFSixRQUFRLEtBQVUsQ0FBQztJQUduQixZQUFZLENBQUMsS0FBSztRQUNsQixJQUFJLEtBQUssRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUVDLFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksYUFBYSxHQUFVLEVB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QUMsS0FBSyxHQUFHLGFBQWEsQ0FBQztZQUNwQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFDRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztrSUE3RVUsbUJBQW1CO3NIQUFuQixtQkFBbUIsK1JDVGhDLCtxQkEyQkE7OzRGRGxCYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsZ0JBQWdCOzhHQUtqQixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVTZWxlY3RGaWxlVHlwZSwgSUZvcm1GaWVsZCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9mb3JtLm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXF1ZXN0LnNlcnZpY2UnO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2UtZmlsZS11cGxvYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgYWNjZXB0RmlsZVR5cGVzOiBhbnk7XG4gIEBJbnB1dCgpIGFsbG93TXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZmllbGRzOiBhbnk7XG4gIEBJbnB1dCgpIGlzQXp1cmVVcGxvYWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBhbGxvd1Jlc2l6ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBpbWFnZVdpZHRoOiBudW1iZXI7XG4gIEBPdXRwdXQoKSBmaWxlVXJsOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHVwbG9hZEZpbGVPblJldHVybjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZXF1ZXN0U2VydmljZTogUmVxdWVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG5cbiAgb25SZXNpemVCbHVyKGZpbGVzKSB7XG4gIGlmIChmaWxlcz8ubGVuZ3RoID4gMCkge1xuICAgIHRoaXMudXBsb2FkRmlsZShmaWxlcyk7XG4gIH1cbn1cblxuICB1cGxvYWRGaWxlKGZpbGVzOiBhbnkpIHtcbiAgICBsZXQgZXhjZWxGaWxlRGF0YTogYW55W10gPSBbXTtcbiAgICBsZXQgZmlsZURhdGEgPSBuZXcgRm9ybURhdGE7IFxuICAgIGxldCBjaG9vc2VGaWxlOmJvb2xlYW4gPSBmYWxzZTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoZmlsZXNbaV0pIHtcbiAgICAgICAgY2hvb3NlRmlsZSA9IHRydWU7XG4gICAgICAgIGZpbGVEYXRhLmFwcGVuZChmaWxlc1tpXS5uYW1lLCBmaWxlc1tpXSk7XG4gICAgICAgIGV4Y2VsRmlsZURhdGEucHVzaChmaWxlc1tpXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZpbGVEYXRhICYmIGNob29zZUZpbGUgJiYgdGhpcy5pc0F6dXJlVXBsb2FkKSB7XG4gICAgICBpZiAodGhpcy5maWVsZHMgJiYgdGhpcy5maWVsZHMudW5pcXVlS2V5Py5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZpbGVEYXRhLmFwcGVuZCgndW5pcXVlS2V5JywgdGhpcy5maWVsZHM/LnVuaXF1ZUtleSk7XG4gICAgICB9ZWxzZSBpZih0aGlzLmZpZWxkcyAmJiB0aGlzLmZpZWxkcy5wYXRoU3lzdGVtQ29uZmlnPy5sZW5ndGggPiAwKXtcbiAgICAgICAgZmlsZURhdGEuYXBwZW5kKCdhenVyZUNvbnRhaW5lcicsIHRoaXMuZmllbGRzLnBhdGhTeXN0ZW1Db25maWcpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5hbGxvd1Jlc2l6ZSAmJiB0aGlzLmltYWdlV2lkdGgpIHtcbiAgICAgICAgZmlsZURhdGEuYXBwZW5kKCd3aWR0aCcsIHRoaXMuaW1hZ2VXaWR0aC50b1N0cmluZygpKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvVXBsb2FkJywgZmlsZURhdGEpLnN1YnNjcmliZShcbiAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKCdGaWxlIFVwbG9hZCBTdWNjZXNzZnVsbHkuJyk7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZHM/Lm9uUmV0dXJuKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmllbGRzLm9uUmV0dXJuKGRhdGEucmVzdWx0cyk7XG4gICAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZU9uUmV0dXJuLmVtaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZmlsZVVybC5lbWl0KGRhdGEucmVzdWx0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoeyBlcnJvciB9KSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYXBpRXJyb3IoZXJyb3IpO1xuICAgICAgICAgIGlmICh0aGlzLmZpZWxkcy5vblJldHVybikge1xuICAgICAgICAgICAgdGhpcy5maWVsZHMub25SZXR1cm4oZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy51cGxvYWRGaWxlT25SZXR1cm4uZW1pdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBpZiAodGhpcy5maWVsZHM/Lm9uUmV0dXJuICYmIHRoaXMuYWNjZXB0RmlsZVR5cGVzID09IEVTZWxlY3RGaWxlVHlwZS5FWENFTCkge1xuICAgICAgICB0aGlzLmZpZWxkcy5vblJldHVybihleGNlbEZpbGVEYXRhKTtcbiAgICAgICAgdGhpcy5maWVsZHMudmFsdWUgPSBleGNlbEZpbGVEYXRhO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBvbkNsaWNrRXZlbnQoKSB7XG4gICAgaWYgKHRoaXMuZmllbGRzICYmIHRoaXMuZmllbGRzLm9uQ2xpY2spIHtcbiAgICAgIHRoaXMuZmllbGRzLm9uQ2xpY2soKTtcbiAgICB9XG4gIH0gIFxufVxuIiwiPGRpdiBjbGFzcz1cImZpZWxkLXJlc2l6ZXJcIj5cbjwhLS0gZmlsZSBVcGxvYWQgQ29tcG9uZW50LS0+XG48aW5wdXRcbiAgcElucHV0VGV4dFxuICAjZmlsZUlucHV0XG4gIHR5cGU9XCJmaWxlXCJcbiAgaWQ9XCJmaWxlXCJcbiAgW2FjY2VwdF09XCJhY2NlcHRGaWxlVHlwZXNcIlxuICBbbXVsdGlwbGVdPVwiYWxsb3dNdWx0aXBsZVwiXG4gIChjaGFuZ2UpPVwidXBsb2FkRmlsZShmaWxlSW5wdXQuZmlsZXMpXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2tFdmVudCgpXCJcbi8+XG5cbjwhLS0gUmVzaXplIElucHV0IChvbmx5IGlmIGFsbG93UmVzaXplIGlzIHRydWUpIC0tPlxuPGRpdiAqbmdJZj1cImFsbG93UmVzaXplXCIgY2xhc3M9XCJwLWZpZWxkIHAtZ3JpZFwiPlxuICA8bGFiZWwgZm9yPVwicmVzaXplV2lkdGhcIiBjbGFzcz1cInAtY29sLWZpeGVkXCIgPldpZHRoIChweCk6PC9sYWJlbD5cbiAgPGRpdiBjbGFzcz1cInAtY29sXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgIHBJbnB1dFRleHRcbiAgICAgIFsobmdNb2RlbCldPVwiaW1hZ2VXaWR0aFwiXG4gICAgICBwbGFjZWhvbGRlcj1cIkltYWdlIHdpZHRoXCJcbiAgICAgIChibHVyKT1cIm9uUmVzaXplQmx1cihmaWxlSW5wdXQuZmlsZXMpXCIgIFxuICAgIC8+XG4gIDwvZGl2PlxuPC9kaXY+XG48L2Rpdj5cbiJdfQ==
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2UtdWktdG9vbGtpdC9zcmMvbGliL2NvbXBvbmVudHMvYmFzZS9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9iYXNlL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVF6RSxNQUFNLE9BQU8sbUJBQW1CO0lBUzlCLFlBQ1UsY0FBOEIsRUFDOUIsWUFBMEI7UUFEMUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBVDNCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRS9CLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBQzlCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNoRCx1QkFBa0IsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUtsRSxDQUFDO0lBRUosUUFBUSxLQUFVLENBQUM7SUFHckIsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3Qiw4QkFBOEI7SUFDOUIsTUFBTTtJQUNOLElBQUk7SUFFRixVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLGFBQWEsR0FBVSxFQUFFLENBQUM7UUFDOUIsSUFBSSxRQUFRLEdBQUcsSUFBSSxRQUFRLENBQUM7UUFDNUIsSUFBSSxVQUFVLEdBQVcsS0FBSyxD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QU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO2tJQTVFVSxtQkFBbUI7c0hBQW5CLG1CQUFtQiwrUkNUaEMsd3JCQTJCQTs7NEZEbEJhLG1CQUFtQjtrQkFML0IsU0FBUzsrQkFDRSxnQkFBZ0I7OEdBS2pCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRVNlbGVjdEZpbGVUeXBlLCBJRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3JlcXVlc3Quc2VydmljZSc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZS1maWxlLXVwbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBhY2NlcHRGaWxlVHlwZXM6IGFueTtcbiAgQElucHV0KCkgYWxsb3dNdWx0aXBsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBmaWVsZHM6IGFueTtcbiAgQElucHV0KCkgaXNBenVyZVVwbG9hZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHJlc2l6ZVdpZHRoOiBzdHJpbmcgPSAnJztcbiAgQE91dHB1dCgpIGZpbGVVcmw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgdXBsb2FkRmlsZU9uUmV0dXJuOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlcXVlc3RTZXJ2aWNlOiBSZXF1ZXN0U2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cblxuLy8gICBvblJlc2l6ZUJsdXIoZmlsZXMpIHtcbi8vICAgaWYgKGZpbGVzPy5sZW5ndGggPiAwKSB7XG4vLyAgICAgdGhpcy51cGxvYWRGaWxlKGZpbGVzKTtcbi8vICAgfVxuLy8gfVxuXG4gIHVwbG9hZEZpbGUoZmlsZXM6IGFueSkge1xuICAgIGxldCBleGNlbEZpbGVEYXRhOiBhbnlbXSA9IFtdO1xuICAgIGxldCBmaWxlRGF0YSA9IG5ldyBGb3JtRGF0YTsgXG4gICAgbGV0IGNob29zZUZpbGU6Ym9vbGVhbiA9IGZhbHNlO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChmaWxlc1tpXSkge1xuICAgICAgICBjaG9vc2VGaWxlID0gdHJ1ZTtcbiAgICAgICAgZmlsZURhdGEuYXBwZW5kKGZpbGVzW2ldLm5hbWUsIGZpbGVzW2ldKTtcbiAgICAgICAgZXhjZWxGaWxlRGF0YS5wdXNoKGZpbGVzW2ldKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZmlsZURhdGEgJiYgY2hvb3NlRmlsZSAmJiB0aGlzLmlzQXp1cmVVcGxvYWQpIHtcbiAgICAgIGlmICh0aGlzLmZpZWxkcyAmJiB0aGlzLmZpZWxkcy51bmlxdWVLZXk/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgZmlsZURhdGEuYXBwZW5kKCd1bmlxdWVLZXknLCB0aGlzLmZpZWxkcz8udW5pcXVlS2V5KTtcbiAgICAgIH1lbHNlIGlmKHRoaXMuZmllbGRzICYmIHRoaXMuZmllbGRzLnBhdGhTeXN0ZW1Db25maWc/Lmxlbmd0aCA+IDApe1xuICAgICAgICBmaWxlRGF0YS5hcHBlbmQoJ2F6dXJlQ29udGFpbmVyJywgdGhpcy5maWVsZHMucGF0aFN5c3RlbUNvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnJlc2l6ZVdpZHRoKSB7XG4gICAgICAgIGZpbGVEYXRhLmFwcGVuZCgnd2lkdGgnLCB0aGlzLnJlc2l6ZVdpZHRoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucmVxdWVzdFNlcnZpY2UuZ2V0PGFueVtdLCBhbnk+KCcvVXBsb2FkJywgZmlsZURhdGEpLnN1YnNjcmliZShcbiAgICAgICAgKGRhdGE6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zdWNjZXNzKCdGaWxlIFVwbG9hZCBTdWNjZXNzZnVsbHkuJyk7XG4gICAgICAgICAgICBpZiAodGhpcy5maWVsZHM/Lm9uUmV0dXJuKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmllbGRzLm9uUmV0dXJuKGRhdGEucmVzdWx0cyk7XG4gICAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZU9uUmV0dXJuLmVtaXQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZmlsZVVybC5lbWl0KGRhdGEucmVzdWx0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoeyBlcnJvciB9KSA9PiB7XG4gICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYXBpRXJyb3IoZXJyb3IpO1xuICAgICAgICAgIGlmICh0aGlzLmZpZWxkcy5vblJldHVybikge1xuICAgICAgICAgICAgdGhpcy5maWVsZHMub25SZXR1cm4oZXJyb3IpO1xuICAgICAgICAgICAgdGhpcy51cGxvYWRGaWxlT25SZXR1cm4uZW1pdCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBpZiAodGhpcy5maWVsZHM/Lm9uUmV0dXJuICYmIHRoaXMuYWNjZXB0RmlsZVR5cGVzID09IEVTZWxlY3RGaWxlVHlwZS5FWENFTCkge1xuICAgICAgICB0aGlzLmZpZWxkcy5vblJldHVybihleGNlbEZpbGVEYXRhKTtcbiAgICAgICAgdGhpcy5maWVsZHMudmFsdWUgPSBleGNlbEZpbGVEYXRhO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBvbkNsaWNrRXZlbnQoKSB7XG4gICAgaWYgKHRoaXMuZmllbGRzICYmIHRoaXMuZmllbGRzLm9uQ2xpY2spIHtcbiAgICAgIHRoaXMuZmllbGRzLm9uQ2xpY2soKTtcbiAgICB9XG4gIH0gIFxufVxuIiwiPGRpdiBjbGFzcz1cImZpZWxkLXJlc2l6ZXJcIj5cbjwhLS0gZmlsZSBVcGxvYWQgQ29tcG9uZW50LS0+XG48aW5wdXRcbiAgcElucHV0VGV4dFxuICAjZmlsZUlucHV0XG4gIHR5cGU9XCJmaWxlXCJcbiAgaWQ9XCJmaWxlXCJcbiAgW2FjY2VwdF09XCJhY2NlcHRGaWxlVHlwZXNcIlxuICBbbXVsdGlwbGVdPVwiYWxsb3dNdWx0aXBsZVwiXG4gIChjaGFuZ2UpPVwidXBsb2FkRmlsZShmaWxlSW5wdXQuZmlsZXMpXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2tFdmVudCgpXCJcbi8+XG5cbjwhLS0gUmVzaXplIElucHV0IChvbmx5IGlmIGFsbG93UmVzaXplIGlzIHRydWUpIC0tPlxuPCEtLSA8ZGl2ICpuZ0lmPVwiYWxsb3dSZXNpemVcIiBjbGFzcz1cInAtZmllbGQgcC1ncmlkXCI+XG4gIDxsYWJlbCBmb3I9XCJyZXNpemVXaWR0aFwiIGNsYXNzPVwicC1jb2wtZml4ZWRcIiA+V2lkdGggKHB4KTo8L2xhYmVsPlxuICA8ZGl2IGNsYXNzPVwicC1jb2xcIj5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgcElucHV0VGV4dFxuICAgICAgWyhuZ01vZGVsKV09XCJpbWFnZVdpZHRoXCJcbiAgICAgIHBsYWNlaG9sZGVyPVwiSW1hZ2Ugd2lkdGhcIlxuICAgICAgKGJsdXIpPVwib25SZXNpemVCbHVyKGZpbGVJbnB1dC5maWxlcylcIiAgXG4gICAgLz5cbiAgPC9kaXY+XG48L2Rpdj4gLS0+XG48L2Rpdj5cbiJdfQ==