verben-workflow-ui 0.5.49 → 0.5.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/esm2022/src/lib/components/file-render/file-render.component.mjs +45 -0
  2. package/esm2022/src/lib/components/file-render/file-render.module.mjs +35 -0
  3. package/esm2022/src/lib/components/file-render/index.mjs +2 -0
  4. package/esm2022/src/lib/components/file-render/public-api.mjs +3 -0
  5. package/esm2022/src/lib/components/file-render/verben-workflow-ui-src-lib-components-file-render.mjs +5 -0
  6. package/esm2022/src/lib/components/file-upload/file-upload.component.mjs +19 -4
  7. package/esm2022/src/lib/components/file-upload/file-upload.module.mjs +11 -4
  8. package/esm2022/src/lib/components/form-control/form-control.component.mjs +25 -6
  9. package/esm2022/src/lib/components/form-group/form-fields/form-fields.component.mjs +25 -15
  10. package/esm2022/src/lib/components/form-group/form-fields/form-fields.service.mjs +6 -1
  11. package/esm2022/src/lib/components/form-response/form-response.component.mjs +20 -8
  12. package/esm2022/src/lib/components/my-queue/my-queue.component.mjs +12 -248
  13. package/esm2022/src/lib/components/my-queue/my-queue.module.mjs +7 -3
  14. package/esm2022/src/lib/components/my-queue/tasks.form.component.mjs +1 -1
  15. package/esm2022/src/lib/components/operation-popup/index.mjs +2 -0
  16. package/esm2022/src/lib/components/operation-popup/operation-popup.component.mjs +322 -0
  17. package/esm2022/src/lib/components/operation-popup/operation-popup.facade.mjs +352 -0
  18. package/esm2022/src/lib/components/operation-popup/operation-popup.service.mjs +72 -0
  19. package/esm2022/src/lib/components/operation-popup/operation-popup.state.mjs +44 -0
  20. package/esm2022/src/lib/components/operation-popup/public-api.mjs +2 -0
  21. package/esm2022/src/lib/components/operation-popup/verben-workflow-ui-src-lib-components-operation-popup.mjs +5 -0
  22. package/esm2022/src/lib/components/task-form/task-form.component.mjs +1 -1
  23. package/esm2022/src/lib/components/task-history/task-history.component.mjs +1 -1
  24. package/esm2022/src/lib/components/tasks/tasks.component.mjs +7 -3
  25. package/esm2022/src/lib/components/tasks/tasks.form.component.mjs +1 -1
  26. package/esm2022/src/lib/components/tasks/tasks.module.mjs +7 -3
  27. package/esm2022/src/lib/components/workflow-designer/escalation-dialog/escalation-dialog.component.mjs +3 -3
  28. package/esm2022/src/lib/models/FormProperty.mjs +1 -1
  29. package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs +83 -0
  30. package/fesm2022/verben-workflow-ui-src-lib-components-file-render.mjs.map +1 -0
  31. package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs +27 -5
  32. package/fesm2022/verben-workflow-ui-src-lib-components-file-upload.mjs.map +1 -1
  33. package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs +23 -4
  34. package/fesm2022/verben-workflow-ui-src-lib-components-form-control.mjs.map +1 -1
  35. package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs +29 -14
  36. package/fesm2022/verben-workflow-ui-src-lib-components-form-group.mjs.map +1 -1
  37. package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs +19 -7
  38. package/fesm2022/verben-workflow-ui-src-lib-components-form-response.mjs.map +1 -1
  39. package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs +28 -257
  40. package/fesm2022/verben-workflow-ui-src-lib-components-my-queue.mjs.map +1 -1
  41. package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs +782 -0
  42. package/fesm2022/verben-workflow-ui-src-lib-components-operation-popup.mjs.map +1 -0
  43. package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs +1 -1
  44. package/fesm2022/verben-workflow-ui-src-lib-components-task-form.mjs.map +1 -1
  45. package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs +1 -1
  46. package/fesm2022/verben-workflow-ui-src-lib-components-task-history.mjs.map +1 -1
  47. package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs +13 -5
  48. package/fesm2022/verben-workflow-ui-src-lib-components-tasks.mjs.map +1 -1
  49. package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs +2 -2
  50. package/fesm2022/verben-workflow-ui-src-lib-components-workflow-designer.mjs.map +1 -1
  51. package/package.json +46 -34
  52. package/src/lib/components/file-render/file-render.component.d.ts +17 -0
  53. package/src/lib/components/file-render/file-render.module.d.ts +10 -0
  54. package/src/lib/components/file-render/index.d.ts +1 -0
  55. package/src/lib/components/file-render/public-api.d.ts +2 -0
  56. package/src/lib/components/file-upload/file-upload.component.d.ts +3 -1
  57. package/src/lib/components/file-upload/file-upload.module.d.ts +2 -1
  58. package/src/lib/components/form-control/form-control.component.d.ts +6 -2
  59. package/src/lib/components/my-queue/my-queue.component.d.ts +2 -42
  60. package/src/lib/components/my-queue/my-queue.module.d.ts +2 -1
  61. package/src/lib/components/operation-popup/index.d.ts +1 -0
  62. package/src/lib/components/operation-popup/operation-popup.component.d.ts +57 -0
  63. package/src/lib/components/operation-popup/operation-popup.facade.d.ts +32 -0
  64. package/src/lib/components/operation-popup/operation-popup.service.d.ts +24 -0
  65. package/src/lib/components/operation-popup/operation-popup.state.d.ts +20 -0
  66. package/src/lib/components/operation-popup/public-api.d.ts +1 -0
  67. package/src/lib/components/tasks/tasks.module.d.ts +2 -1
  68. package/src/lib/models/FormProperty.d.ts +1 -0
@@ -0,0 +1,45 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "verben-workflow-ui/src/lib/services";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "verben-ng-ui";
6
+ export class FileRenderComponent {
7
+ envService;
8
+ fileUrl = null;
9
+ multiple = false;
10
+ fileName = null;
11
+ disabled = false;
12
+ showCancel = false;
13
+ onCancelClicked = new EventEmitter();
14
+ constructor(envService) {
15
+ this.envService = envService;
16
+ }
17
+ ngOnInit() {
18
+ if (this.fileUrl) {
19
+ this.fileName = this.fileUrl.split('/').pop() || null;
20
+ }
21
+ }
22
+ openFile() {
23
+ if (!this.fileUrl) {
24
+ return;
25
+ }
26
+ window.open(`${this.envService.environment.FILE_URL}${this.fileUrl}`, '_blank');
27
+ }
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileRenderComponent, deps: [{ token: i1.EnvironmentService }], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileRenderComponent, selector: "verben-file-render", inputs: { fileUrl: "fileUrl", multiple: "multiple", disabled: "disabled", showCancel: "showCancel" }, outputs: { onCancelClicked: "onCancelClicked" }, ngImport: i0, template: "<div class=\"file-container p-2 flex items-center justify-between gap-3\">\n <div class=\"text-sm overflow-x-auto font-semibold\">{{ fileName }}</div>\n <div class=\"flex gap-2 items-center\">\n <span (click)=\"openFile()\" class=\"cursor-pointer\">\n <verben-svg\n [icon]=\"'download-icon'\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <verben-svg\n *ngIf=\"showCancel\"\n [stroke]=\"disabled ? '#9A9FBF' : multiple ? '#D4A007' : '#0000FF'\"\n [icon]=\"'close'\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"onCancelClicked.emit()\"\n >\n </verben-svg>\n </div>\n</div>\n", styles: [".file-container{border:1px solid #ccc6fbb2;border-radius:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }] });
30
+ }
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileRenderComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: 'verben-file-render', template: "<div class=\"file-container p-2 flex items-center justify-between gap-3\">\n <div class=\"text-sm overflow-x-auto font-semibold\">{{ fileName }}</div>\n <div class=\"flex gap-2 items-center\">\n <span (click)=\"openFile()\" class=\"cursor-pointer\">\n <verben-svg\n [icon]=\"'download-icon'\"\n [width]=\"15\"\n [height]=\"15\"\n ></verben-svg>\n </span>\n <verben-svg\n *ngIf=\"showCancel\"\n [stroke]=\"disabled ? '#9A9FBF' : multiple ? '#D4A007' : '#0000FF'\"\n [icon]=\"'close'\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"onCancelClicked.emit()\"\n >\n </verben-svg>\n </div>\n</div>\n", styles: [".file-container{border:1px solid #ccc6fbb2;border-radius:5px}\n"] }]
34
+ }], ctorParameters: () => [{ type: i1.EnvironmentService }], propDecorators: { fileUrl: [{
35
+ type: Input
36
+ }], multiple: [{
37
+ type: Input
38
+ }], disabled: [{
39
+ type: Input
40
+ }], showCancel: [{
41
+ type: Input
42
+ }], onCancelClicked: [{
43
+ type: Output
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1yZW5kZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXJlbmRlci9maWxlLXJlbmRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtcmVuZGVyL2ZpbGUtcmVuZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBUXZFLE1BQU0sT0FBTyxtQkFBbUI7SUFRVjtJQVBYLE9BQU8sR0FBa0IsSUFBSSxDQUFDO0lBQzlCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDbkMsUUFBUSxHQUFrQixJQUFJLENBQUM7SUFDdEIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzNCLGVBQWUsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVwRSxZQUFvQixVQUE4QjtRQUE5QixlQUFVLEdBQVYsVUFBVSxDQUFvQjtJQUFHLENBQUM7SUFFdEQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUNULEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFDeEQsUUFBUSxDQUNULENBQUM7SUFDSixDQUFDO3dHQXhCVSxtQkFBbUI7NEZBQW5CLG1CQUFtQixpTkNSaEMsbXFCQXFCQTs7NEZEYmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLG9CQUFvQjt1RkFLckIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAndmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tZmlsZS1yZW5kZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1yZW5kZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZmlsZS1yZW5kZXIuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVSZW5kZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBmaWxlVXJsOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgZmlsZU5hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93Q2FuY2VsOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBvbkNhbmNlbENsaWNrZWQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbnZTZXJ2aWNlOiBFbnZpcm9ubWVudFNlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlsZVVybCkge1xuICAgICAgdGhpcy5maWxlTmFtZSA9IHRoaXMuZmlsZVVybC5zcGxpdCgnLycpLnBvcCgpIHx8IG51bGw7XG4gICAgfVxuICB9XG5cbiAgb3BlbkZpbGUoKSB7XG4gICAgaWYgKCF0aGlzLmZpbGVVcmwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgd2luZG93Lm9wZW4oXG4gICAgICBgJHt0aGlzLmVudlNlcnZpY2UuZW52aXJvbm1lbnQuRklMRV9VUkx9JHt0aGlzLmZpbGVVcmx9YCxcbiAgICAgICdfYmxhbmsnLFxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmaWxlLWNvbnRhaW5lciBwLTIgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIGdhcC0zXCI+XG4gIDxkaXYgY2xhc3M9XCJ0ZXh0LXNtIG92ZXJmbG93LXgtYXV0byBmb250LXNlbWlib2xkXCI+e3sgZmlsZU5hbWUgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZsZXggZ2FwLTIgaXRlbXMtY2VudGVyXCI+XG4gICAgPHNwYW4gKGNsaWNrKT1cIm9wZW5GaWxlKClcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCI+XG4gICAgICA8dmVyYmVuLXN2Z1xuICAgICAgICBbaWNvbl09XCInZG93bmxvYWQtaWNvbidcIlxuICAgICAgICBbd2lkdGhdPVwiMTVcIlxuICAgICAgICBbaGVpZ2h0XT1cIjE1XCJcbiAgICAgID48L3ZlcmJlbi1zdmc+XG4gICAgPC9zcGFuPlxuICAgIDx2ZXJiZW4tc3ZnXG4gICAgICAqbmdJZj1cInNob3dDYW5jZWxcIlxuICAgICAgW3N0cm9rZV09XCJkaXNhYmxlZCA/ICcjOUE5RkJGJyA6IG11bHRpcGxlID8gJyNENEEwMDcnIDogJyMwMDAwRkYnXCJcbiAgICAgIFtpY29uXT1cIidjbG9zZSdcIlxuICAgICAgW3dpZHRoXT1cIjE1XCJcbiAgICAgIFtoZWlnaHRdPVwiMTVcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsQ2xpY2tlZC5lbWl0KClcIlxuICAgID5cbiAgICA8L3ZlcmJlbi1zdmc+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,35 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { ReactiveFormsModule } from '@angular/forms';
5
+ import { SvgModule, VerbenaButtonModule } from 'verben-ng-ui';
6
+ import { FileRenderComponent } from './file-render.component';
7
+ import * as i0 from "@angular/core";
8
+ export class FileRenderModule {
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileRenderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: FileRenderModule, declarations: [FileRenderComponent], imports: [CommonModule,
11
+ FormsModule,
12
+ ReactiveFormsModule,
13
+ SvgModule,
14
+ VerbenaButtonModule], exports: [FileRenderComponent] });
15
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileRenderModule, imports: [CommonModule,
16
+ FormsModule,
17
+ ReactiveFormsModule,
18
+ SvgModule,
19
+ VerbenaButtonModule] });
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileRenderModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ declarations: [FileRenderComponent],
25
+ imports: [
26
+ CommonModule,
27
+ FormsModule,
28
+ ReactiveFormsModule,
29
+ SvgModule,
30
+ VerbenaButtonModule,
31
+ ],
32
+ exports: [FileRenderComponent],
33
+ }]
34
+ }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1yZW5kZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXJlbmRlci9maWxlLXJlbmRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBYTlELE1BQU0sT0FBTyxnQkFBZ0I7d0dBQWhCLGdCQUFnQjt5R0FBaEIsZ0JBQWdCLGlCQVZaLG1CQUFtQixhQUVoQyxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixTQUFTO1lBQ1QsbUJBQW1CLGFBRVgsbUJBQW1CO3lHQUVsQixnQkFBZ0IsWUFSekIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsU0FBUztZQUNULG1CQUFtQjs7NEZBSVYsZ0JBQWdCO2tCQVg1QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNuQyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ZnTW9kdWxlLCBWZXJiZW5hQnV0dG9uTW9kdWxlIH0gZnJvbSAndmVyYmVuLW5nLXVpJztcbmltcG9ydCB7IEZpbGVSZW5kZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtcmVuZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0ZpbGVSZW5kZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3ZnTW9kdWxlLFxuICAgIFZlcmJlbmFCdXR0b25Nb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtGaWxlUmVuZGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgRmlsZVJlbmRlck1vZHVsZSB7fVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtcmVuZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './file-render.component';
2
+ export * from './file-render.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1yZW5kZXIvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbGUtcmVuZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtcmVuZGVyLm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyYmVuLXdvcmtmbG93LXVpLXNyYy1saWItY29tcG9uZW50cy1maWxlLXJlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZlcmJlbi13b3JrZmxvdy11aS9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1yZW5kZXIvdmVyYmVuLXdvcmtmbG93LXVpLXNyYy1saWItY29tcG9uZW50cy1maWxlLXJlbmRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,13 +1,15 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
1
+ import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "verben-ng-ui";
5
+ import * as i3 from "verben-workflow-ui/src/lib/components/file-render";
5
6
  export class FileUploadComponent {
6
7
  zone;
7
8
  multiple = false;
8
9
  label = '';
9
10
  accept = '';
10
11
  selectedFiles = [];
12
+ disabled = false;
11
13
  selectedFilesChange = new EventEmitter();
12
14
  fileInput;
13
15
  MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
@@ -15,10 +17,14 @@ export class FileUploadComponent {
15
17
  this.zone = zone;
16
18
  }
17
19
  onFileSelected(event) {
20
+ if (this.disabled)
21
+ return;
18
22
  const files = Array.from(event.target.files);
19
23
  this.processFiles(files);
20
24
  }
21
25
  onDrop(event) {
26
+ if (this.disabled)
27
+ return;
22
28
  event.preventDefault();
23
29
  if (event.dataTransfer?.files) {
24
30
  const files = Array.from(event.dataTransfer.files);
@@ -26,6 +32,8 @@ export class FileUploadComponent {
26
32
  }
27
33
  }
28
34
  onDragOver(event) {
35
+ if (this.disabled)
36
+ return;
29
37
  event.preventDefault();
30
38
  }
31
39
  processFiles(files) {
@@ -47,6 +55,8 @@ export class FileUploadComponent {
47
55
  });
48
56
  }
49
57
  removeFile(index) {
58
+ if (this.disabled)
59
+ return;
50
60
  this.selectedFiles = this.selectedFiles.filter((_, i) => i !== index);
51
61
  this.zone.run(() => {
52
62
  this.selectedFilesChange.emit(this.selectedFiles);
@@ -55,12 +65,15 @@ export class FileUploadComponent {
55
65
  this.fileInput.nativeElement.value = '';
56
66
  }
57
67
  }
68
+ trackByFile(index, file) {
69
+ return file.name; // or file.id if available
70
+ }
58
71
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
59
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileUploadComponent, selector: "file-upload", inputs: { multiple: "multiple", label: "label", accept: "accept", selectedFiles: "selectedFiles" }, outputs: { selectedFilesChange: "selectedFilesChange" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div class=\"file-upload-container\" (dragover)=\"onDragOver($event)\" (drop)=\"onDrop($event)\">\n <label>{{ label }}</label>\n\n <!-- Selected files -->\n <div class=\"py-6 px-3 border rounded-lg flex gap-2 flex-wrap border-[#9A9FBF66] mt-2 mb-3\">\n <span \n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg w-fit\" \n *ngFor=\"let file of selectedFiles; let i = index\">\n {{ file.name | slice:0:10 }}{{ file.name.length > 10 ? '...' : '' }}\n <verben-svg \n [stroke]=\"multiple ? '#D4A007' : '#0000FF'\" \n [icon]=\"'close'\" \n [width]=\"10\" \n [height]=\"10\" \n (click)=\"removeFile(i)\">\n </verben-svg>\n </span>\n\n <!-- Add File Button (only if multiple or empty for single) -->\n <button *ngIf=\"multiple || selectedFiles.length === 0\" \n (click)=\"fileInput.click()\" \n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg\">\n <verben-svg [icon]=\"'plus'\" [width]=\"12\" [height]=\"12\"></verben-svg> \n {{ multiple ? 'Add File' : 'Browse File' }}\n </button>\n </div>\n\n <!-- Hidden input -->\n <input #fileInput type=\"file\" [accept]=\"accept\" [multiple]=\"multiple\" (change)=\"onFileSelected($event)\" hidden />\n\n <!-- Drop Area -->\n <div class=\"drop-area border border-dashed w-full flex flex-col justify-center items-center border-[#9A9FBF66] p-4 rounded-lg bg-[#9a9fbf27] min-h-[200px]\" \n (click)=\"fileInput.click()\">\n <verben-svg [icon]=\"'upload-icon'\" [width]=\"90\" [height]=\"90\"></verben-svg>\n <p class=\"text-[#000000B2]\">Drag and drop files here</p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }] });
72
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileUploadComponent, selector: "file-upload", inputs: { multiple: "multiple", label: "label", accept: "accept", selectedFiles: "selectedFiles", disabled: "disabled" }, outputs: { selectedFilesChange: "selectedFilesChange" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }], ngImport: i0, template: "<div\n class=\"file-upload-container\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop($event)\"\n>\n <label>{{ label }}</label>\n\n <!-- Selected files -->\n <div\n class=\"py-6 px-3 border rounded-lg flex gap-2 flex-wrap border-[#9A9FBF66] mt-2 mb-3\"\n >\n <ng-container\n *ngFor=\"let file of selectedFiles; let i = index; trackBy: trackByFile\"\n >\n <verben-file-render\n [fileUrl]=\"file.name\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [showCancel]=\"true\"\n (onCancelClicked)=\"removeFile(i)\"\n ></verben-file-render>\n </ng-container>\n <!-- <span \n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg w-fit\" \n *ngFor=\"let file of selectedFiles; let i = index\">\n {{ file.name | slice:0:10 }}{{ file.name.length > 10 ? '...' : '' }}\n <verben-svg \n [stroke]=\"disabled ? '#9A9FBF' : (multiple ? '#D4A007' : '#0000FF')\" \n [icon]=\"'close'\" \n [width]=\"10\" \n [height]=\"10\" \n (click)=\"!disabled && removeFile(i)\">\n </verben-svg>\n </span> -->\n\n <!-- Add File Button (only if multiple or empty for single) -->\n <button\n *ngIf=\"multiple || selectedFiles.length === 0\"\n [disabled]=\"disabled\"\n (click)=\"!disabled && fileInput.click()\"\n [class.opacity-50]=\"disabled\"\n [class.cursor-not-allowed]=\"disabled\"\n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg\"\n >\n <verben-svg [icon]=\"'plus'\" [width]=\"12\" [height]=\"12\"></verben-svg>\n {{ multiple ? \"Add File\" : \"Browse File\" }}\n </button>\n </div>\n\n <!-- Hidden input -->\n <input\n #fileInput\n type=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (change)=\"onFileSelected($event)\"\n hidden\n />\n\n <!-- Drop Area -->\n <div\n class=\"drop-area border border-dashed w-full flex flex-col justify-center items-center border-[#9A9FBF66] p-4 rounded-lg bg-[#9a9fbf27] min-h-[200px]\"\n (click)=\"!disabled && fileInput.click()\"\n >\n <verben-svg [icon]=\"'upload-icon'\" [width]=\"90\" [height]=\"90\"></verben-svg>\n <p class=\"text-[#000000B2]\">Drag and drop files here</p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "type", "size"] }, { kind: "component", type: i3.FileRenderComponent, selector: "verben-file-render", inputs: ["fileUrl", "multiple", "disabled", "showCancel"], outputs: ["onCancelClicked"] }] });
60
73
  }
61
74
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadComponent, decorators: [{
62
75
  type: Component,
63
- args: [{ selector: 'file-upload', template: "<div class=\"file-upload-container\" (dragover)=\"onDragOver($event)\" (drop)=\"onDrop($event)\">\n <label>{{ label }}</label>\n\n <!-- Selected files -->\n <div class=\"py-6 px-3 border rounded-lg flex gap-2 flex-wrap border-[#9A9FBF66] mt-2 mb-3\">\n <span \n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg w-fit\" \n *ngFor=\"let file of selectedFiles; let i = index\">\n {{ file.name | slice:0:10 }}{{ file.name.length > 10 ? '...' : '' }}\n <verben-svg \n [stroke]=\"multiple ? '#D4A007' : '#0000FF'\" \n [icon]=\"'close'\" \n [width]=\"10\" \n [height]=\"10\" \n (click)=\"removeFile(i)\">\n </verben-svg>\n </span>\n\n <!-- Add File Button (only if multiple or empty for single) -->\n <button *ngIf=\"multiple || selectedFiles.length === 0\" \n (click)=\"fileInput.click()\" \n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg\">\n <verben-svg [icon]=\"'plus'\" [width]=\"12\" [height]=\"12\"></verben-svg> \n {{ multiple ? 'Add File' : 'Browse File' }}\n </button>\n </div>\n\n <!-- Hidden input -->\n <input #fileInput type=\"file\" [accept]=\"accept\" [multiple]=\"multiple\" (change)=\"onFileSelected($event)\" hidden />\n\n <!-- Drop Area -->\n <div class=\"drop-area border border-dashed w-full flex flex-col justify-center items-center border-[#9A9FBF66] p-4 rounded-lg bg-[#9a9fbf27] min-h-[200px]\" \n (click)=\"fileInput.click()\">\n <verben-svg [icon]=\"'upload-icon'\" [width]=\"90\" [height]=\"90\"></verben-svg>\n <p class=\"text-[#000000B2]\">Drag and drop files here</p>\n </div>\n</div>\n" }]
76
+ args: [{ selector: 'file-upload', template: "<div\n class=\"file-upload-container\"\n (dragover)=\"onDragOver($event)\"\n (drop)=\"onDrop($event)\"\n>\n <label>{{ label }}</label>\n\n <!-- Selected files -->\n <div\n class=\"py-6 px-3 border rounded-lg flex gap-2 flex-wrap border-[#9A9FBF66] mt-2 mb-3\"\n >\n <ng-container\n *ngFor=\"let file of selectedFiles; let i = index; trackBy: trackByFile\"\n >\n <verben-file-render\n [fileUrl]=\"file.name\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n [showCancel]=\"true\"\n (onCancelClicked)=\"removeFile(i)\"\n ></verben-file-render>\n </ng-container>\n <!-- <span \n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg w-fit\" \n *ngFor=\"let file of selectedFiles; let i = index\">\n {{ file.name | slice:0:10 }}{{ file.name.length > 10 ? '...' : '' }}\n <verben-svg \n [stroke]=\"disabled ? '#9A9FBF' : (multiple ? '#D4A007' : '#0000FF')\" \n [icon]=\"'close'\" \n [width]=\"10\" \n [height]=\"10\" \n (click)=\"!disabled && removeFile(i)\">\n </verben-svg>\n </span> -->\n\n <!-- Add File Button (only if multiple or empty for single) -->\n <button\n *ngIf=\"multiple || selectedFiles.length === 0\"\n [disabled]=\"disabled\"\n (click)=\"!disabled && fileInput.click()\"\n [class.opacity-50]=\"disabled\"\n [class.cursor-not-allowed]=\"disabled\"\n class=\"flex items-center gap-1 bg-[#1A237E33] px-1 py-1 rounded-lg\"\n >\n <verben-svg [icon]=\"'plus'\" [width]=\"12\" [height]=\"12\"></verben-svg>\n {{ multiple ? \"Add File\" : \"Browse File\" }}\n </button>\n </div>\n\n <!-- Hidden input -->\n <input\n #fileInput\n type=\"file\"\n [accept]=\"accept\"\n [multiple]=\"multiple\"\n [disabled]=\"disabled\"\n (change)=\"onFileSelected($event)\"\n hidden\n />\n\n <!-- Drop Area -->\n <div\n class=\"drop-area border border-dashed w-full flex flex-col justify-center items-center border-[#9A9FBF66] p-4 rounded-lg bg-[#9a9fbf27] min-h-[200px]\"\n (click)=\"!disabled && fileInput.click()\"\n >\n <verben-svg [icon]=\"'upload-icon'\" [width]=\"90\" [height]=\"90\"></verben-svg>\n <p class=\"text-[#000000B2]\">Drag and drop files here</p>\n </div>\n</div>\n" }]
64
77
  }], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { multiple: [{
65
78
  type: Input
66
79
  }], label: [{
@@ -69,10 +82,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
69
82
  type: Input
70
83
  }], selectedFiles: [{
71
84
  type: Input
85
+ }], disabled: [{
86
+ type: Input
72
87
  }], selectedFilesChange: [{
73
88
  type: Output
74
89
  }], fileInput: [{
75
90
  type: ViewChild,
76
91
  args: ['fileInput']
77
92
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3RHLE1BQU0sT0FBTyxtQkFBbUI7SUFVVjtJQVRYLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsS0FBSyxHQUFHLEVBQUUsQ0FBQztJQUNYLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDWixhQUFhLEdBQVcsRUFBRSxDQUFDO0lBQzFCLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDbkMsU0FBUyxDQUFnQztJQUV4RCxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxNQUFNO0lBRWhELFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQUVwQyxjQUFjLENBQUMsS0FBVTtRQUN2QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFXLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdCO1FBQ3JCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDOUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBZ0I7UUFDekIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ25DLEtBQUssQ0FBQyxhQUFhLElBQUksQ0FBQyxJQUFJLDhDQUE4QyxDQUFDLENBQUM7Z0JBQzVFLE9BQU87WUFDVCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUN6RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7d0dBM0RVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLHdUQ1BoQyxrcERBcUNBOzs0RkQ5QmEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7MkVBS2QsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNpQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsZS11cGxvYWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG11bHRpcGxlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XG4gIEBJbnB1dCgpIGFjY2VwdCA9ICcnO1xuICBASW5wdXQoKSBzZWxlY3RlZEZpbGVzOiBGaWxlW10gPSBbXTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkRmlsZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGVbXT4oKTtcbiAgQFZpZXdDaGlsZCgnZmlsZUlucHV0JykgZmlsZUlucHV0ITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICByZWFkb25seSBNQVhfRklMRV9TSVpFID0gNSAqIDEwMjQgKiAxMDI0OyAvLyA1TUJcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHpvbmU6IE5nWm9uZSkge31cblxuICBvbkZpbGVTZWxlY3RlZChldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGV2ZW50LnRhcmdldC5maWxlcykgYXMgRmlsZVtdO1xuICAgIHRoaXMucHJvY2Vzc0ZpbGVzKGZpbGVzKTtcbiAgfVxuXG4gIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcykge1xuICAgICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyk7XG4gICAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHByb2Nlc3NGaWxlcyhmaWxlczogRmlsZVtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICBpZiAoZmlsZS5zaXplID4gdGhpcy5NQVhfRklMRV9TSVpFKSB7XG4gICAgICAgIGFsZXJ0KGBUaGUgZmlsZSBcIiR7ZmlsZS5uYW1lfVwiIGlzIHRvbyBsYXJnZS4gTWF4aW11bSBzaXplIGFsbG93ZWQgaXMgNU1CLmApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFsuLi50aGlzLnNlbGVjdGVkRmlsZXMsIC4uLmZpbGVzXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzID0gW2ZpbGVzWzBdXTtcbiAgICB9XG5cbiAgICAvLyDinIUgZW5zdXJlIEFuZ3VsYXIgZGV0ZWN0cyB0aGUgdXBkYXRlXG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlRmlsZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGVzID0gdGhpcy5zZWxlY3RlZEZpbGVzLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpO1xuXG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZmlsZUlucHV0KSB7XG4gICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmlsZS11cGxvYWQtY29udGFpbmVyXCIgKGRyYWdvdmVyKT1cIm9uRHJhZ092ZXIoJGV2ZW50KVwiIChkcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCI+XG4gIDxsYWJlbD57eyBsYWJlbCB9fTwvbGFiZWw+XG5cbiAgPCEtLSBTZWxlY3RlZCBmaWxlcyAtLT5cbiAgPGRpdiBjbGFzcz1cInB5LTYgcHgtMyBib3JkZXIgcm91bmRlZC1sZyBmbGV4IGdhcC0yIGZsZXgtd3JhcCBib3JkZXItWyM5QTlGQkY2Nl0gbXQtMiBtYi0zXCI+XG4gICAgPHNwYW4gXG4gICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIGJnLVsjMUEyMzdFMzNdIHB4LTEgcHktMSByb3VuZGVkLWxnIHctZml0XCIgXG4gICAgICAqbmdGb3I9XCJsZXQgZmlsZSBvZiBzZWxlY3RlZEZpbGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICB7eyBmaWxlLm5hbWUgfCBzbGljZTowOjEwIH19e3sgZmlsZS5uYW1lLmxlbmd0aCA+IDEwID8gJy4uLicgOiAnJyB9fVxuICAgICAgPHZlcmJlbi1zdmcgXG4gICAgICAgIFtzdHJva2VdPVwibXVsdGlwbGUgPyAnI0Q0QTAwNycgOiAnIzAwMDBGRidcIiBcbiAgICAgICAgW2ljb25dPVwiJ2Nsb3NlJ1wiIFxuICAgICAgICBbd2lkdGhdPVwiMTBcIiBcbiAgICAgICAgW2hlaWdodF09XCIxMFwiIFxuICAgICAgICAoY2xpY2spPVwicmVtb3ZlRmlsZShpKVwiPlxuICAgICAgPC92ZXJiZW4tc3ZnPlxuICAgIDwvc3Bhbj5cblxuICAgIDwhLS0gQWRkIEZpbGUgQnV0dG9uIChvbmx5IGlmIG11bHRpcGxlIG9yIGVtcHR5IGZvciBzaW5nbGUpIC0tPlxuICAgIDxidXR0b24gKm5nSWY9XCJtdWx0aXBsZSB8fCBzZWxlY3RlZEZpbGVzLmxlbmd0aCA9PT0gMFwiIFxuICAgICAgICAgICAgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCIgXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIGJnLVsjMUEyMzdFMzNdIHB4LTEgcHktMSByb3VuZGVkLWxnXCI+XG4gICAgICA8dmVyYmVuLXN2ZyBbaWNvbl09XCIncGx1cydcIiBbd2lkdGhdPVwiMTJcIiBbaGVpZ2h0XT1cIjEyXCI+PC92ZXJiZW4tc3ZnPiBcbiAgICAgIHt7IG11bHRpcGxlID8gJ0FkZCBGaWxlJyA6ICdCcm93c2UgRmlsZScgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBIaWRkZW4gaW5wdXQgLS0+XG4gIDxpbnB1dCAjZmlsZUlucHV0IHR5cGU9XCJmaWxlXCIgW2FjY2VwdF09XCJhY2NlcHRcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdGVkKCRldmVudClcIiBoaWRkZW4gLz5cblxuICA8IS0tIERyb3AgQXJlYSAtLT5cbiAgPGRpdiBjbGFzcz1cImRyb3AtYXJlYSBib3JkZXIgYm9yZGVyLWRhc2hlZCB3LWZ1bGwgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgYm9yZGVyLVsjOUE5RkJGNjZdIHAtNCByb3VuZGVkLWxnIGJnLVsjOWE5ZmJmMjddIG1pbi1oLVsyMDBweF1cIiBcbiAgICAgICAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIj5cbiAgICA8dmVyYmVuLXN2ZyBbaWNvbl09XCIndXBsb2FkLWljb24nXCIgW3dpZHRoXT1cIjkwXCIgW2hlaWdodF09XCI5MFwiPjwvdmVyYmVuLXN2Zz5cbiAgICA8cCBjbGFzcz1cInRleHQtWyMwMDAwMDBCMl1cIj5EcmFnIGFuZCBkcm9wIGZpbGVzIGhlcmU8L3A+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDOzs7OztBQU92QixNQUFNLE9BQU8sbUJBQW1CO0lBV1Y7SUFWWCxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ1osYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2hCLG1CQUFtQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7SUFDbkMsU0FBUyxDQUFnQztJQUV4RCxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxNQUFNO0lBRWhELFlBQW9CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO0lBQUcsQ0FBQztJQUVwQyxjQUFjLENBQUMsS0FBVTtRQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFXLENBQUM7UUFDdkQsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWdCO1FBQ3JCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBQzFCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDOUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25ELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBZ0I7UUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ25DLEtBQUssQ0FDSCxhQUFhLElBQUksQ0FBQyxJQUFJLDhDQUE4QyxDQUNyRSxDQUFDO2dCQUNGLE9BQU87WUFDVCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxLQUFLLENBQUMsQ0FBQztRQUN6RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBRUQsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYSxFQUFFLElBQVU7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsMEJBQTBCO0lBQzlDLENBQUM7d0dBdEVVLG1CQUFtQjs0RkFBbkIsbUJBQW1CLDhVQ2ZoQyxpeEVBcUVBOzs0RkR0RGEsbUJBQW1CO2tCQUwvQixTQUFTOytCQUNFLGFBQWE7MkVBS2QsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ2lCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG4gIE5nWm9uZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbGUtdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbXVsdGlwbGUgPSBmYWxzZTtcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcbiAgQElucHV0KCkgYWNjZXB0ID0gJyc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkRmlsZXM6IEZpbGVbXSA9IFtdO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuICBAT3V0cHV0KCkgc2VsZWN0ZWRGaWxlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZVtdPigpO1xuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIHJlYWRvbmx5IE1BWF9GSUxFX1NJWkUgPSA1ICogMTAyNCAqIDEwMjQ7IC8vIDVNQlxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lKSB7fVxuXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xuICAgIGNvbnN0IGZpbGVzID0gQXJyYXkuZnJvbShldmVudC50YXJnZXQuZmlsZXMpIGFzIEZpbGVbXTtcbiAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlcyk7XG4gIH1cblxuICBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyPy5maWxlcykge1xuICAgICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcyk7XG4gICAgICB0aGlzLnByb2Nlc3NGaWxlcyhmaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgcHJvY2Vzc0ZpbGVzKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGlmIChmaWxlLnNpemUgPiB0aGlzLk1BWF9GSUxFX1NJWkUpIHtcbiAgICAgICAgYWxlcnQoXG4gICAgICAgICAgYFRoZSBmaWxlIFwiJHtmaWxlLm5hbWV9XCIgaXMgdG9vIGxhcmdlLiBNYXhpbXVtIHNpemUgYWxsb3dlZCBpcyA1TUIuYCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBbLi4udGhpcy5zZWxlY3RlZEZpbGVzLCAuLi5maWxlc107XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFtmaWxlc1swXV07XG4gICAgfVxuXG4gICAgLy8g4pyFIGVuc3VyZSBBbmd1bGFyIGRldGVjdHMgdGhlIHVwZGF0ZVxuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEZpbGVzKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZUZpbGUoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XG4gICAgdGhpcy5zZWxlY3RlZEZpbGVzID0gdGhpcy5zZWxlY3RlZEZpbGVzLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gaW5kZXgpO1xuXG4gICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZXNDaGFuZ2UuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuZmlsZUlucHV0KSB7XG4gICAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgdHJhY2tCeUZpbGUoaW5kZXg6IG51bWJlciwgZmlsZTogRmlsZSkge1xuICAgIHJldHVybiBmaWxlLm5hbWU7IC8vIG9yIGZpbGUuaWQgaWYgYXZhaWxhYmxlXG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJmaWxlLXVwbG9hZC1jb250YWluZXJcIlxuICAoZHJhZ292ZXIpPVwib25EcmFnT3ZlcigkZXZlbnQpXCJcbiAgKGRyb3ApPVwib25Ecm9wKCRldmVudClcIlxuPlxuICA8bGFiZWw+e3sgbGFiZWwgfX08L2xhYmVsPlxuXG4gIDwhLS0gU2VsZWN0ZWQgZmlsZXMgLS0+XG4gIDxkaXZcbiAgICBjbGFzcz1cInB5LTYgcHgtMyBib3JkZXIgcm91bmRlZC1sZyBmbGV4IGdhcC0yIGZsZXgtd3JhcCBib3JkZXItWyM5QTlGQkY2Nl0gbXQtMiBtYi0zXCJcbiAgPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0Zvcj1cImxldCBmaWxlIG9mIHNlbGVjdGVkRmlsZXM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGaWxlXCJcbiAgICA+XG4gICAgICA8dmVyYmVuLWZpbGUtcmVuZGVyXG4gICAgICAgIFtmaWxlVXJsXT1cImZpbGUubmFtZVwiXG4gICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtzaG93Q2FuY2VsXT1cInRydWVcIlxuICAgICAgICAob25DYW5jZWxDbGlja2VkKT1cInJlbW92ZUZpbGUoaSlcIlxuICAgICAgPjwvdmVyYmVuLWZpbGUtcmVuZGVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gPHNwYW4gXG4gICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIGJnLVsjMUEyMzdFMzNdIHB4LTEgcHktMSByb3VuZGVkLWxnIHctZml0XCIgXG4gICAgICAqbmdGb3I9XCJsZXQgZmlsZSBvZiBzZWxlY3RlZEZpbGVzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICB7eyBmaWxlLm5hbWUgfCBzbGljZTowOjEwIH19e3sgZmlsZS5uYW1lLmxlbmd0aCA+IDEwID8gJy4uLicgOiAnJyB9fVxuICAgICAgPHZlcmJlbi1zdmcgXG4gICAgICAgIFtzdHJva2VdPVwiZGlzYWJsZWQgPyAnIzlBOUZCRicgOiAobXVsdGlwbGUgPyAnI0Q0QTAwNycgOiAnIzAwMDBGRicpXCIgXG4gICAgICAgIFtpY29uXT1cIidjbG9zZSdcIiBcbiAgICAgICAgW3dpZHRoXT1cIjEwXCIgXG4gICAgICAgIFtoZWlnaHRdPVwiMTBcIiBcbiAgICAgICAgKGNsaWNrKT1cIiFkaXNhYmxlZCAmJiByZW1vdmVGaWxlKGkpXCI+XG4gICAgICA8L3ZlcmJlbi1zdmc+XG4gICAgPC9zcGFuPiAtLT5cblxuICAgIDwhLS0gQWRkIEZpbGUgQnV0dG9uIChvbmx5IGlmIG11bHRpcGxlIG9yIGVtcHR5IGZvciBzaW5nbGUpIC0tPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwibXVsdGlwbGUgfHwgc2VsZWN0ZWRGaWxlcy5sZW5ndGggPT09IDBcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIChjbGljayk9XCIhZGlzYWJsZWQgJiYgZmlsZUlucHV0LmNsaWNrKClcIlxuICAgICAgW2NsYXNzLm9wYWNpdHktNTBdPVwiZGlzYWJsZWRcIlxuICAgICAgW2NsYXNzLmN1cnNvci1ub3QtYWxsb3dlZF09XCJkaXNhYmxlZFwiXG4gICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xIGJnLVsjMUEyMzdFMzNdIHB4LTEgcHktMSByb3VuZGVkLWxnXCJcbiAgICA+XG4gICAgICA8dmVyYmVuLXN2ZyBbaWNvbl09XCIncGx1cydcIiBbd2lkdGhdPVwiMTJcIiBbaGVpZ2h0XT1cIjEyXCI+PC92ZXJiZW4tc3ZnPlxuICAgICAge3sgbXVsdGlwbGUgPyBcIkFkZCBGaWxlXCIgOiBcIkJyb3dzZSBGaWxlXCIgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBIaWRkZW4gaW5wdXQgLS0+XG4gIDxpbnB1dFxuICAgICNmaWxlSW5wdXRcbiAgICB0eXBlPVwiZmlsZVwiXG4gICAgW2FjY2VwdF09XCJhY2NlcHRcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdGVkKCRldmVudClcIlxuICAgIGhpZGRlblxuICAvPlxuXG4gIDwhLS0gRHJvcCBBcmVhIC0tPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJkcm9wLWFyZWEgYm9yZGVyIGJvcmRlci1kYXNoZWQgdy1mdWxsIGZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIGJvcmRlci1bIzlBOUZCRjY2XSBwLTQgcm91bmRlZC1sZyBiZy1bIzlhOWZiZjI3XSBtaW4taC1bMjAwcHhdXCJcbiAgICAoY2xpY2spPVwiIWRpc2FibGVkICYmIGZpbGVJbnB1dC5jbGljaygpXCJcbiAgPlxuICAgIDx2ZXJiZW4tc3ZnIFtpY29uXT1cIid1cGxvYWQtaWNvbidcIiBbd2lkdGhdPVwiOTBcIiBbaGVpZ2h0XT1cIjkwXCI+PC92ZXJiZW4tc3ZnPlxuICAgIDxwIGNsYXNzPVwidGV4dC1bIzAwMDAwMEIyXVwiPkRyYWcgYW5kIGRyb3AgZmlsZXMgaGVyZTwvcD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -4,6 +4,7 @@ import { FormsModule } from '@angular/forms';
4
4
  import { ReactiveFormsModule } from '@angular/forms';
5
5
  import { CardDataViewModule, DataExportModule, DataTableModule, DataViewModule, DropDownModule, SortTableModule, SvgModule, TableFilterModule, VerbenaButtonModule, VerbenaInputModule, } from 'verben-ng-ui';
6
6
  import { FileUploadComponent } from './file-upload.component';
7
+ import { FileRenderModule } from 'verben-workflow-ui/src/lib/components/file-render';
7
8
  import * as i0 from "@angular/core";
8
9
  export class FileUploadModule {
9
10
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -12,7 +13,9 @@ export class FileUploadModule {
12
13
  ReactiveFormsModule,
13
14
  DataTableModule,
14
15
  SvgModule,
15
- DataViewModule, VerbenaButtonModule,
16
+ FileRenderModule,
17
+ DataViewModule,
18
+ VerbenaButtonModule,
16
19
  CardDataViewModule,
17
20
  DropDownModule,
18
21
  TableFilterModule,
@@ -24,7 +27,9 @@ export class FileUploadModule {
24
27
  ReactiveFormsModule,
25
28
  DataTableModule,
26
29
  SvgModule,
27
- DataViewModule, VerbenaButtonModule,
30
+ FileRenderModule,
31
+ DataViewModule,
32
+ VerbenaButtonModule,
28
33
  CardDataViewModule,
29
34
  DropDownModule,
30
35
  TableFilterModule,
@@ -42,7 +47,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
42
47
  ReactiveFormsModule,
43
48
  DataTableModule,
44
49
  SvgModule,
45
- DataViewModule, VerbenaButtonModule,
50
+ FileRenderModule,
51
+ DataViewModule,
52
+ VerbenaButtonModule,
46
53
  CardDataViewModule,
47
54
  DropDownModule,
48
55
  TableFilterModule,
@@ -53,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
53
60
  exports: [FileUploadComponent],
54
61
  }]
55
62
  }] });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixjQUFjLEVBQ2QsY0FBYyxFQUNkLGVBQWUsRUFDZixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixrQkFBa0IsR0FFbkIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBdUI5RCxNQUFNLE9BQU8sZ0JBQWdCO3dHQUFoQixnQkFBZ0I7eUdBQWhCLGdCQUFnQixpQkFuQlosbUJBQW1CLGFBRWhDLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixTQUFTO1lBRVQsY0FBYyxFQUFFLG1CQUFtQjtZQUNuQyxrQkFBa0I7WUFDbEIsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGtCQUFrQixhQUdWLG1CQUFtQjt5R0FFbEIsZ0JBQWdCLFlBakJ6QixZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsU0FBUztZQUVULGNBQWMsRUFBRSxtQkFBbUI7WUFDbkMsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixrQkFBa0I7OzRGQUtULGdCQUFnQjtrQkFwQjVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ25DLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLFNBQVM7d0JBRVQsY0FBYyxFQUFFLG1CQUFtQjt3QkFDbkMsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjtxQkFFbkI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBDYXJkRGF0YVZpZXdNb2R1bGUsXG4gIERhdGFFeHBvcnRNb2R1bGUsXG4gIERhdGFUYWJsZU1vZHVsZSxcbiAgRGF0YVZpZXdNb2R1bGUsXG4gIERyb3BEb3duTW9kdWxlLFxuICBTb3J0VGFibGVNb2R1bGUsXG4gIFN2Z01vZHVsZSxcbiAgVGFibGVGaWx0ZXJNb2R1bGUsXG4gIFZlcmJlbmFCdXR0b25Nb2R1bGUsXG4gIFZlcmJlbmFJbnB1dE1vZHVsZSxcblxufSBmcm9tICd2ZXJiZW4tbmctdWknO1xuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWQuY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtGaWxlVXBsb2FkQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIERhdGFUYWJsZU1vZHVsZSxcbiAgICBTdmdNb2R1bGUsXG4gICAgXG4gICAgRGF0YVZpZXdNb2R1bGUsIFZlcmJlbmFCdXR0b25Nb2R1bGUsXG4gICAgQ2FyZERhdGFWaWV3TW9kdWxlLFxuICAgIERyb3BEb3duTW9kdWxlLFxuICAgIFRhYmxlRmlsdGVyTW9kdWxlLFxuICAgIFNvcnRUYWJsZU1vZHVsZSxcbiAgICBEYXRhRXhwb3J0TW9kdWxlLFxuICAgIFZlcmJlbmFJbnB1dE1vZHVsZSxcbiAgICBcbiAgXSxcbiAgZXhwb3J0czogW0ZpbGVVcGxvYWRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkTW9kdWxlIHt9XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLXdvcmtmbG93LXVpL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixjQUFjLEVBQ2QsY0FBYyxFQUNkLGVBQWUsRUFDZixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixrQkFBa0IsR0FDbkIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBc0JyRixNQUFNLE9BQU8sZ0JBQWdCO3dHQUFoQixnQkFBZ0I7eUdBQWhCLGdCQUFnQixpQkFuQlosbUJBQW1CLGFBRWhDLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixTQUFTO1lBQ1QsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGdCQUFnQjtZQUNoQixrQkFBa0IsYUFFVixtQkFBbUI7eUdBRWxCLGdCQUFnQixZQWpCekIsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLFNBQVM7WUFDVCxnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLGtCQUFrQjs7NEZBSVQsZ0JBQWdCO2tCQXBCNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDbkMsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsU0FBUzt3QkFDVCxnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztpQkFDL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIENhcmREYXRhVmlld01vZHVsZSxcbiAgRGF0YUV4cG9ydE1vZHVsZSxcbiAgRGF0YVRhYmxlTW9kdWxlLFxuICBEYXRhVmlld01vZHVsZSxcbiAgRHJvcERvd25Nb2R1bGUsXG4gIFNvcnRUYWJsZU1vZHVsZSxcbiAgU3ZnTW9kdWxlLFxuICBUYWJsZUZpbHRlck1vZHVsZSxcbiAgVmVyYmVuYUJ1dHRvbk1vZHVsZSxcbiAgVmVyYmVuYUlucHV0TW9kdWxlLFxufSBmcm9tICd2ZXJiZW4tbmctdWknO1xuaW1wb3J0IHsgRmlsZVVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS11cGxvYWQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVSZW5kZXJNb2R1bGUgfSBmcm9tICd2ZXJiZW4td29ya2Zsb3ctdWkvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtcmVuZGVyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbRmlsZVVwbG9hZENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBEYXRhVGFibGVNb2R1bGUsXG4gICAgU3ZnTW9kdWxlLFxuICAgIEZpbGVSZW5kZXJNb2R1bGUsXG4gICAgRGF0YVZpZXdNb2R1bGUsXG4gICAgVmVyYmVuYUJ1dHRvbk1vZHVsZSxcbiAgICBDYXJkRGF0YVZpZXdNb2R1bGUsXG4gICAgRHJvcERvd25Nb2R1bGUsXG4gICAgVGFibGVGaWx0ZXJNb2R1bGUsXG4gICAgU29ydFRhYmxlTW9kdWxlLFxuICAgIERhdGFFeHBvcnRNb2R1bGUsXG4gICAgVmVyYmVuYUlucHV0TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbRmlsZVVwbG9hZENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRNb2R1bGUge31cbiJdfQ==