@eo-sdk/client 11.14.0-rc.5 → 11.14.0-rc.7

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 (49) hide show
  1. package/app/eo-client/stored-queries-state/stored-queries-state.component.d.ts.map +1 -1
  2. package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts +5 -1
  3. package/app/eo-framework/accordion/simple-accordion/simple-accordion.component.d.ts.map +1 -1
  4. package/app/eo-framework/eo-framework.module.d.ts +8 -9
  5. package/app/eo-framework/eo-framework.module.d.ts.map +1 -1
  6. package/app/eo-framework/form-elements/form-elements.module.d.ts +6 -7
  7. package/app/eo-framework/form-elements/form-elements.module.d.ts.map +1 -1
  8. package/app/eo-framework/form-elements/organization/organization.component.d.ts.map +1 -1
  9. package/app/eo-framework/index.d.ts +0 -1
  10. package/app/eo-framework/index.d.ts.map +1 -1
  11. package/app/eo-framework/object-details/object-links/object-links.component.d.ts +2 -2
  12. package/app/eo-framework/object-details/object-links/object-links.component.d.ts.map +1 -1
  13. package/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.d.ts.map +1 -1
  14. package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
  15. package/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.d.ts.map +1 -1
  16. package/app/eo-framework/ui/index.d.ts +1 -0
  17. package/app/eo-framework/ui/index.d.ts.map +1 -1
  18. package/app/eo-framework/ui/ui.module.d.ts +7 -7
  19. package/app/eo-framework/ui/ui.module.d.ts.map +1 -1
  20. package/app/eo-framework-core/references/reference.service.d.ts +1 -0
  21. package/app/eo-framework-core/references/reference.service.d.ts.map +1 -1
  22. package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
  23. package/esm2022/app/eo-client/settings/settings.component.mjs +6 -6
  24. package/esm2022/app/eo-client/stored-queries-state/stored-queries-state.component.mjs +21 -4
  25. package/esm2022/app/eo-framework/accordion/simple-accordion/simple-accordion.component.mjs +11 -5
  26. package/esm2022/app/eo-framework/eo-framework.module.mjs +1 -8
  27. package/esm2022/app/eo-framework/form-elements/form-elements.module.mjs +1 -5
  28. package/esm2022/app/eo-framework/form-elements/id-reference/reference-finder/reference-finder.component.mjs +2 -2
  29. package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +13 -11
  30. package/esm2022/app/eo-framework/index.mjs +1 -2
  31. package/esm2022/app/eo-framework/object-details/object-links/object-links.component.mjs +40 -14
  32. package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +2 -1
  33. package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +3 -3
  34. package/esm2022/app/eo-framework/result-list/result-list.component.mjs +13 -6
  35. package/esm2022/app/eo-framework/stored-query/stored-query-details/stored-query-details.component.mjs +4 -3
  36. package/esm2022/app/eo-framework/ui/index.mjs +2 -1
  37. package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +3 -3
  38. package/esm2022/app/eo-framework/ui/ui.module.mjs +10 -9
  39. package/esm2022/app/eo-framework/upload-overlay/upload-overlay.component.mjs +2 -2
  40. package/esm2022/app/eo-framework-core/references/reference.service.mjs +32 -16
  41. package/fesm2022/eo-sdk-client.mjs +184 -135
  42. package/fesm2022/eo-sdk-client.mjs.map +1 -1
  43. package/package.json +2 -2
  44. package/app/eo-framework/accordion/accordion.module.d.ts +0 -9
  45. package/app/eo-framework/accordion/accordion.module.d.ts.map +0 -1
  46. package/app/eo-framework/accordion/index.d.ts +0 -3
  47. package/app/eo-framework/accordion/index.d.ts.map +0 -1
  48. package/esm2022/app/eo-framework/accordion/accordion.module.mjs +0 -20
  49. package/esm2022/app/eo-framework/accordion/index.mjs +0 -3
@@ -9,8 +9,8 @@ import * as i0 from "@angular/core";
9
9
  import * as i1 from "@eo-sdk/core";
10
10
  import * as i2 from "../../../eo-framework-core/api/grid.service";
11
11
  import * as i3 from "@angular/common";
12
- import * as i4 from "../../accordion/simple-accordion/simple-accordion.component";
13
- import * as i5 from "./indexdata-summary-entry/indexdata-summary-entry.component";
12
+ import * as i4 from "./indexdata-summary-entry/indexdata-summary-entry.component";
13
+ import * as i5 from "../../accordion/simple-accordion/simple-accordion.component";
14
14
  import * as i6 from "@ngx-translate/core";
15
15
  import * as i7 from "../../../eo-framework-core/pipes/filesize.pipe";
16
16
  import * as i8 from "../../../eo-framework-core/pipes/locale-date.pipe";
@@ -281,7 +281,7 @@ let IndexdataSummaryComponent = class IndexdataSummaryComponent {
281
281
  this.getCachedAccordionState();
282
282
  }
283
283
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: IndexdataSummaryComponent, deps: [{ token: i1.TranslateService }, { token: i2.GridService }, { token: i1.DmsService }, { token: i1.UserService }, { token: i0.ChangeDetectorRef }, { token: i1.LocalStorageService }], target: i0.ɵɵFactoryTarget.Component }); }
284
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: { baseparams: "baseparams", enableVersions: "enableVersions", isChangesTab: "isChangesTab", indexdata: "indexdata", dmsObject: "dmsObject", diff: "diff" }, ngImport: i0, template: "<div class=\"empty-container\" *ngIf=\"emptyState\">{{'eo.indexdata.summary.no.change' | translate}}</div>\n<div class=\"indexdata-summary\">\n\n <div class=\"core-section\" *ngIf=\"coreValues?.length\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of coreValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n\n @if (item?.contextFolder && !diffActive) {\n <eo-simple-accordion [header]=\"item.contextFolder?.type?.label + ':'\"\n [item]=\"item\" [selected]=\"infoFolderAcc\" (selectChange)=\"onContextfolderToggle($event)\">\n <eo-indexdata-summary-entry *ngFor=\"let item of dataValues2\"\n [label]=\"item.label\" [value]=\"item.data\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </eo-simple-accordion>\n }\n </div>\n <div class=\"data-section\" *ngIf=\"dataValues && dataValues.length\">\n <eo-simple-accordion #dataAccordion\n [header]=\"('eo.indexdata.summary.more' | translate)\"\n [selected]=\"moreInfoAcc\"\n (selectChange)=\"onMoreInfoToggle($event)\">\n <div class=\"data\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of dataValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n <div class=\"baseparams-section\" *ngIf=\"baseparams\">\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.modifiedOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modified' | translate\"\n [value]=\"baseparams.modifiedOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modifier' | translate\"\n [value]=\"baseparams.modifiedBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.createdOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.created' | translate\"\n [value]=\"baseparams.createdOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.creator' | translate\"\n [value]=\"baseparams.createdBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.object.summary.version' | translate\"\n [value]=\"getVersionLink(baseparams.version)\"\n (onValueClicked)=\"onValueClick($event, {version: baseparams.version})\">\n </eo-indexdata-summary-entry>\n\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filename' | translate\"\n [value]=\"baseparams.contentFileName\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentFileSize\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filesize' | translate\"\n [value]=\"diffActive ? {val1: baseparams.contentFileSize['val1'] | fileSize, val2: baseparams.contentFileSize['val2'] | fileSize} : (baseparams.contentFileSize | fileSize)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimetypegroup' | translate\"\n [value]=\"baseparams.mimeGroup\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimetype' | translate\"\n [value]=\"baseparams.mimeType\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.id' | translate\"\n [value]=\"baseparams.id\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentId !== baseparams.id && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.contentId' | translate\"\n [value]=\"baseparams.contentId\">\n </eo-indexdata-summary-entry>\n </div>\n\n @if(storageInfos?.length && isUserAllowedToShowStorageSection && !isChangesTab) {\n <div class=\"storageinfo\">\n <eo-simple-accordion [header]=\"('eo.state.settings.storageinfo' | translate)\"\n [selected]=\"dataInfoAcc\"\n (selectChange)=\"onStorageInfoToggle($event)\">\n\n <div class=\"storageinfo-entry baseparams-section\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.global.baseparam.digest' | translate\"\n [value]=\"baseparams.digest\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo-entry baseparams-section\" *ngFor=\"let stInfo of storageInfos; trackBy: trackByIndex\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.retention' | translate\"\n [value]=\"stInfo.retention | localeDate : 'eoShortDate'\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.permanence' | translate\"\n [value]=\"stInfo.permanence\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.setname' | translate\"\n [value]=\"stInfo.setname\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.storagename' | translate\"\n [value]=\"stInfo.storagename\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.location' | translate\"\n [value]=\"stInfo.location\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n }\n\n</div>\n", styles: [":host{display:block}:host .core-section,:host .data-section,:host .baseparams-section{list-style:none;margin:0;line-height:1.5em}:host .core-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section .data{margin-bottom:var(--app-pane-padding);margin-top:calc(var(--app-pane-padding) / 2)}:host .storageinfo{margin-top:var(--app-pane-padding)}:host .storageinfo .storageinfo-entry{margin-top:var(--app-pane-padding)}:host .empty-container{position:absolute;inset:2em;overflow:hidden;display:flex;justify-content:center;align-items:center}:host ::ng-deep .chip{width:max-content}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "item", "styles", "headerClass", "selected"], outputs: ["selectChange"] }, { kind: "component", type: i5.IndexdataSummaryEntryComponent, selector: "eo-indexdata-summary-entry", inputs: ["label", "item", "value", "className"], outputs: ["onValueClicked"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.FileSizePipe, name: "fileSize" }, { kind: "pipe", type: i8.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
284
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: IndexdataSummaryComponent, selector: "eo-indexdata-summary", inputs: { baseparams: "baseparams", enableVersions: "enableVersions", isChangesTab: "isChangesTab", indexdata: "indexdata", dmsObject: "dmsObject", diff: "diff" }, ngImport: i0, template: "<div class=\"empty-container\" *ngIf=\"emptyState\">{{'eo.indexdata.summary.no.change' | translate}}</div>\n<div class=\"indexdata-summary\">\n\n <div class=\"core-section\" *ngIf=\"coreValues?.length\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of coreValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n\n @if (item?.contextFolder && !diffActive) {\n <eo-simple-accordion [header]=\"item.contextFolder?.type?.label + ':'\"\n [item]=\"item\" [selected]=\"infoFolderAcc\" (selectChange)=\"onContextfolderToggle($event)\">\n <eo-indexdata-summary-entry *ngFor=\"let item of dataValues2\"\n [label]=\"item.label\" [value]=\"item.data\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </eo-simple-accordion>\n }\n </div>\n <div class=\"data-section\" *ngIf=\"dataValues && dataValues.length\">\n <eo-simple-accordion #dataAccordion\n [header]=\"('eo.indexdata.summary.more' | translate)\"\n [selected]=\"moreInfoAcc\"\n (selectChange)=\"onMoreInfoToggle($event)\">\n <div class=\"data\">\n\n <eo-indexdata-summary-entry *ngFor=\"let item of dataValues\"\n [label]=\"item.label\"\n [value]=\"item._value\"\n (onValueClicked)=\"onValueClick($event, item)\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n\n <div class=\"baseparams-section\" *ngIf=\"baseparams\">\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.modifiedOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modified' | translate\"\n [value]=\"baseparams.modifiedOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.modifier' | translate\"\n [value]=\"baseparams.modifiedBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.createdOn && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.created' | translate\"\n [value]=\"baseparams.createdOn | localeDate\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.creator' | translate\"\n [value]=\"baseparams.createdBy\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.object.summary.version' | translate\"\n [value]=\"getVersionLink(baseparams.version)\"\n (onValueClicked)=\"onValueClick($event, {version: baseparams.version})\">\n </eo-indexdata-summary-entry>\n\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filename' | translate\"\n [value]=\"baseparams.contentFileName\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentFileSize\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.filesize' | translate\"\n [value]=\"diffActive ? {val1: baseparams.contentFileSize['val1'] | fileSize, val2: baseparams.contentFileSize['val2'] | fileSize} : (baseparams.contentFileSize | fileSize)\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimetypegroup' | translate\"\n [value]=\"baseparams.mimeGroup\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.mimetype' | translate\"\n [value]=\"baseparams.mimeType\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"!diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.id' | translate\"\n [value]=\"baseparams.id\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry *ngIf=\"baseparams.contentId !== baseparams.id && !diffActive\"\n [className]=\"'baseparams-section'\"\n [label]=\"'eo.global.baseparam.contentId' | translate\"\n [value]=\"baseparams.contentId\">\n </eo-indexdata-summary-entry>\n </div>\n\n @if(storageInfos?.length && isUserAllowedToShowStorageSection && !isChangesTab) {\n <div class=\"storageinfo\">\n <eo-simple-accordion [header]=\"('eo.state.settings.storageinfo' | translate)\"\n [selected]=\"dataInfoAcc\"\n (selectChange)=\"onStorageInfoToggle($event)\">\n\n <div class=\"storageinfo-entry baseparams-section\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.global.baseparam.digest' | translate\"\n [value]=\"baseparams.digest\">\n </eo-indexdata-summary-entry>\n </div>\n\n <div class=\"storageinfo-entry baseparams-section\" *ngFor=\"let stInfo of storageInfos; trackBy: trackByIndex\">\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.retention' | translate\"\n [value]=\"stInfo.retention | localeDate : 'eoShortDate'\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.permanence' | translate\"\n [value]=\"stInfo.permanence\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.setname' | translate\"\n [value]=\"stInfo.setname\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.storagename' | translate\"\n [value]=\"stInfo.storagename\">\n </eo-indexdata-summary-entry>\n\n <eo-indexdata-summary-entry [className]=\"'storageinfo-subentry'\"\n [label]=\"'eo.object.storageinfo.location' | translate\"\n [value]=\"stInfo.location\">\n </eo-indexdata-summary-entry>\n </div>\n </eo-simple-accordion>\n </div>\n }\n\n</div>\n", styles: [":host{display:block}:host .core-section,:host .data-section,:host .baseparams-section{list-style:none;margin:0;line-height:1.5em}:host .core-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section{margin-bottom:calc(var(--app-pane-padding) / 2)}:host .data-section .data{margin-bottom:var(--app-pane-padding);margin-top:calc(var(--app-pane-padding) / 2)}:host .storageinfo{margin-top:var(--app-pane-padding)}:host .storageinfo .storageinfo-entry{margin-top:var(--app-pane-padding)}:host .empty-container{position:absolute;inset:2em;overflow:hidden;display:flex;justify-content:center;align-items:center}:host ::ng-deep .chip{width:max-content}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.IndexdataSummaryEntryComponent, selector: "eo-indexdata-summary-entry", inputs: ["label", "item", "value", "className"], outputs: ["onValueClicked"] }, { kind: "component", type: i5.SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "item", "styles", "headerClass", "iconObjectType", "itemAmount", "resultListLink", "selected"], outputs: ["selectChange"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.FileSizePipe, name: "fileSize" }, { kind: "pipe", type: i8.LocaleDatePipe, name: "localeDate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
285
285
  };
286
286
  IndexdataSummaryComponent = IndexdataSummaryComponent_1 = __decorate([
287
287
  UntilDestroy()
@@ -16,7 +16,6 @@ import { ErrorMessageComponent } from './error-message/error-message.component';
16
16
  import { EoDialogComponent } from './eo-dialog/eo-dialog.component';
17
17
  import { RouterModule } from '@angular/router';
18
18
  import { OverlayModule } from '@angular/cdk/overlay';
19
- import { AccordionModule } from '../accordion/accordion.module';
20
19
  import { IndexdataSummaryEntryComponent } from './indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component';
21
20
  import { RouterLinkDirective } from './router-link/router-link.directive';
22
21
  import { QueryScopeSelectComponent } from './query-scope-select/query-scope-select.component';
@@ -25,6 +24,7 @@ import { A11yModule } from '@angular/cdk/a11y';
25
24
  import { TrapFocusDirective } from '../util/directive/trap-focus.directive';
26
25
  import { SignatureTabComponent } from './signature-tab/signature-tab.component';
27
26
  import { YvcOverlayModule } from '@yuuvis/components/overlay';
27
+ import { SimpleAccordionComponent } from '../accordion/simple-accordion/simple-accordion.component';
28
28
  import * as i0 from "@angular/core";
29
29
  /**
30
30
  * Shared module for all ui components that are used across the whole app
@@ -46,12 +46,12 @@ export class UiModule {
46
46
  IndexdataSummaryEntryComponent,
47
47
  QueryScopeSelectComponent,
48
48
  TrapFocusDirective,
49
- SignatureTabComponent], imports: [CommonModule,
49
+ SignatureTabComponent,
50
+ SimpleAccordionComponent], imports: [CommonModule,
50
51
  EoSharedModule,
51
52
  PipesModule,
52
53
  BrowserAnimationsModule,
53
54
  RouterModule,
54
- AccordionModule,
55
55
  OverlayModule,
56
56
  YvcDialogModule,
57
57
  YvcOverlayModule,
@@ -71,13 +71,13 @@ export class UiModule {
71
71
  EoDialogComponent,
72
72
  QueryScopeSelectComponent,
73
73
  TrapFocusDirective,
74
- SignatureTabComponent] }); }
74
+ SignatureTabComponent,
75
+ SimpleAccordionComponent] }); }
75
76
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UiModule, providers: [provideHttpClient(withInterceptorsFromDi())], imports: [CommonModule,
76
77
  EoSharedModule,
77
78
  PipesModule,
78
79
  BrowserAnimationsModule,
79
80
  RouterModule,
80
- AccordionModule,
81
81
  OverlayModule,
82
82
  YvcDialogModule,
83
83
  YvcOverlayModule,
@@ -104,7 +104,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
104
104
  EoDialogComponent,
105
105
  QueryScopeSelectComponent,
106
106
  TrapFocusDirective,
107
- SignatureTabComponent
107
+ SignatureTabComponent,
108
+ SimpleAccordionComponent
108
109
  ],
109
110
  declarations: [
110
111
  EoIconComponent,
@@ -121,16 +122,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
121
122
  IndexdataSummaryEntryComponent,
122
123
  QueryScopeSelectComponent,
123
124
  TrapFocusDirective,
124
- SignatureTabComponent
125
+ SignatureTabComponent,
126
+ SimpleAccordionComponent
125
127
  ], imports: [CommonModule,
126
128
  EoSharedModule,
127
129
  PipesModule,
128
130
  BrowserAnimationsModule,
129
131
  RouterModule,
130
- AccordionModule,
131
132
  OverlayModule,
132
133
  YvcDialogModule,
133
134
  YvcOverlayModule,
134
135
  A11yModule], providers: [provideHttpClient(withInterceptorsFromDi())] }]
135
136
  }] });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvdWkvdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlC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ZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixVQUFVLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBwcm92aWRlSHR0cENsaWVudCwgd2l0aEludGVyY2VwdG9yc0Zyb21EaSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7RW9TaGFyZWRNb2R1bGV9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge0VvSWNvbkNvbXBvbmVudH0gZnJvbSAnLi9lby1pY29uL2VvLWljb24uY29tcG9uZW50JztcbmltcG9ydCB7T3V0c2lkZUNsaWNrRGlyZWN0aXZlfSBmcm9tICcuL291dHNpZGUtY2xpY2svb3V0c2lkZS1jbGljay5kaXJlY3RpdmUnO1xuaW1wb3J0IHtSdGxBd2FyZURpcmVjdGl2ZX0gZnJvbSAnLi9ydGwtYXdhcmUvcnRsLWF3YXJlLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1BpcGVzTW9kdWxlfSBmcm9tICcuLi8uLi9lby1mcmFtZXdvcmstY29yZS9waXBlcy9waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHtMb2FkaW5nU3Bpbm5lckNvbXBvbmVudH0gZnJvbSAnLi9sb2FkaW5nLXNwaW5uZXIvbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQge0Jyb3dzZXJBbmltYXRpb25zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtDbGlwYm9hcmRDb21wb25lbnR9IGZyb20gJy4vY2xpcGJvYXJkL2NsaXBib2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHtJbmRleGRhdGFTdW1tYXJ5Q29tcG9uZW50fSBmcm9tICcuL2luZGV4ZGF0YS1zdW1tYXJ5L2luZGV4ZGF0YS1zdW1tYXJ5LmNvbXBvbmVudCc7XG5pbXBvcnQge1VzZXJBdmF0YXJDb21wb25lbnR9IGZyb20gJy4vdXNlci1hdmF0YXIvdXNlci1hdmF0YXIuY29tcG9uZW50JztcbmltcG9ydCB7T3ZlcmxheUNvbXBvbmVudH0gZnJvbSAnLi9vdmVybGF5L292ZXJsYXkuY29tcG9uZW50JztcbmltcG9ydCB7RXJyb3JNZXNzYWdlQ29tcG9uZW50fSBmcm9tICcuL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZS5jb21wb25lbnQnO1xuaW1wb3J0IHtFb0RpYWxvZ0NvbXBvbmVudH0gZnJvbSAnLi9lby1kaWFsb2cvZW8tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7T3ZlcmxheU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtBY2NvcmRpb25Nb2R1bGV9IGZyb20gJy4uL2FjY29yZGlvbi9hY2NvcmRpb24ubW9kdWxlJztcbmltcG9ydCB7SW5kZXhkYXRhU3VtbWFyeUVudHJ5Q29tcG9uZW50fSBmcm9tICcuL2luZGV4ZGF0YS1zdW1tYXJ5L2luZGV4ZGF0YS1zdW1tYXJ5LWVudHJ5L2luZGV4ZGF0YS1zdW1tYXJ5LWVudHJ5LmNvbXBvbmVudCc7XG5pbXBvcnQge1JvdXRlckxpbmtEaXJlY3RpdmV9IGZyb20gJy4vcm91dGVyLWxpbmsvcm91dGVyLWxpbmsuZGlyZWN0aXZlJztcbmltcG9ydCB7IFF1ZXJ5U2NvcGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LXNjb3BlLXNlbGVjdC9xdWVyeS1zY29wZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7WXZjRGlhbG9nTW9kdWxlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7QTExeU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtUcmFwRm9jdXNEaXJlY3RpdmV9IGZyb20gJy4uL3V0aWwvZGlyZWN0aXZlL3RyYXAtZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNpZ25hdHVyZVRhYkNvbXBvbmVudCB9IGZyb20gJy4vc2lnbmF0dXJlLXRhYi9zaWduYXR1cmUtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge1l2Y092ZXJsYXlNb2R1bGV9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9vdmVybGF5JztcblxuLyoqXG4gKiBTaGFyZWQgbW9kdWxlIGZvciBhbGwgdWkgY29tcG9uZW50cyB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgd2hvbGUgYXBwXG4gKiBhbmQgaW4gb3RoZXIgY29tcG9uZW50cy5cbiAqL1xuXG5ATmdNb2R1bGUoeyBleHBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRW9TaGFyZWRNb2R1bGUsXG4gICAgICAgIFBpcGVzTW9kdWxlLFxuICAgICAgICBFb0ljb25Db21wb25lbnQsXG4gICAgICAgIE91dHNpZGVDbGlja0RpcmVjdGl2ZSxcbiAgICAgICAgUm91dGVyTGlua0RpcmVjdGl2ZSxcbiAgICAgICAgUnRsQXdhcmVEaXJlY3RpdmUsXG4gICAgICAgIExvYWRpbmdTcGlubmVyQ29tcG9uZW50LFxuICAgICAgICBDbGlwYm9hcmRDb21wb25lbnQsXG4gICAgICAgIEluZGV4ZGF0YVN1bW1hcnlDb21wb25lbnQsXG4gICAgICAgIFVzZXJBdmF0YXJDb21wb25lbnQsXG4gICAgICAgIE92ZXJsYXlDb21wb25lbnQsXG4gICAgICAgIEVycm9yTWVzc2FnZUNvbXBvbmVudCxcbiAgICAgICAgRW9EaWFsb2dDb21wb25lbnQsXG4gICAgICAgIFF1ZXJ5U2NvcGVTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIFRyYXBGb2N1c0RpcmVjdGl2ZSxcbiAgICAgICAgU2lnbmF0dXJlVGFiQ29tcG9uZW50XG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRW9JY29uQ29tcG9uZW50LFxuICAgICAgICBPdXRzaWRlQ2xpY2tEaXJlY3RpdmUsXG4gICAgICAgIFJvdXRlckxpbmtEaXJlY3RpdmUsXG4gICAgICAgIFJ0bEF3YXJlRGlyZWN0aXZlLFxuICAgICAgICBMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCxcbiAgICAgICAgQ2xpcGJvYXJkQ29tcG9uZW50LFxuICAgICAgICBJbmRleGRhdGFTdW1tYXJ5Q29tcG9uZW50LFxuICAgICAgICBVc2VyQXZhdGFyQ29tcG9uZW50LFxuICAgICAgICBPdmVybGF5Q29tcG9uZW50LFxuICAgICAgICBFcnJvck1lc3NhZ2VDb21wb25lbnQsXG4gICAgICAgIEVvRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBJbmRleGRhdGFTdW1tYXJ5RW50cnlDb21wb25lbnQsXG4gICAgICAgIFF1ZXJ5U2NvcGVTZWxlY3RDb21wb25lbnQsXG4gICAgICAgIFRyYXBGb2N1c0RpcmVjdGl2ZSxcbiAgICAgICAgU2lnbmF0dXJlVGFiQ29tcG9uZW50XG4gICAgXSwgaW1wb3J0czogW0NvbW1vbk1vZHVsZSxcbiAgICAgICAgRW9TaGFyZWRNb2R1bGUsXG4gICAgICAgIFBpcGVzTW9kdWxlLFxuICAgICAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBBY2NvcmRpb25Nb2R1bGUsXG4gICAgICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgICAgIFl2Y0RpYWxvZ01vZHVsZSxcbiAgICAgICAgWXZjT3ZlcmxheU1vZHVsZSxcbiAgICAgICAgQTExeU1vZHVsZV0sIHByb3ZpZGVyczogW3Byb3ZpZGVIdHRwQ2xpZW50KHdpdGhJbnRlcmNlcHRvcnNGcm9tRGkoKSldIH0pXG5leHBvcnQgY2xhc3MgVWlNb2R1bGUge1xufVxuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvdWkvdWkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUNwRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUMxRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlC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Vzt3QkFDWCx1QkFBdUI7d0JBQ3ZCLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsVUFBVSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgcHJvdmlkZUh0dHBDbGllbnQsIHdpdGhJbnRlcmNlcHRvcnNGcm9tRGkgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0VvU2hhcmVkTW9kdWxlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtFb0ljb25Db21wb25lbnR9IGZyb20gJy4vZW8taWNvbi9lby1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQge091dHNpZGVDbGlja0RpcmVjdGl2ZX0gZnJvbSAnLi9vdXRzaWRlLWNsaWNrL291dHNpZGUtY2xpY2suZGlyZWN0aXZlJztcbmltcG9ydCB7UnRsQXdhcmVEaXJlY3RpdmV9IGZyb20gJy4vcnRsLWF3YXJlL3J0bC1hd2FyZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtQaXBlc01vZHVsZX0gZnJvbSAnLi4vLi4vZW8tZnJhbWV3b3JrLWNvcmUvcGlwZXMvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7TG9hZGluZ1NwaW5uZXJDb21wb25lbnR9IGZyb20gJy4vbG9hZGluZy1zcGlubmVyL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHtCcm93c2VyQW5pbWF0aW9uc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zJztcbmltcG9ydCB7Q2xpcGJvYXJkQ29tcG9uZW50fSBmcm9tICcuL2NsaXBib2FyZC9jbGlwYm9hcmQuY29tcG9uZW50JztcbmltcG9ydCB7SW5kZXhkYXRhU3VtbWFyeUNvbXBvbmVudH0gZnJvbSAnLi9pbmRleGRhdGEtc3VtbWFyeS9pbmRleGRhdGEtc3VtbWFyeS5jb21wb25lbnQnO1xuaW1wb3J0IHtVc2VyQXZhdGFyQ29tcG9uZW50fSBmcm9tICcuL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudCc7XG5pbXBvcnQge092ZXJsYXlDb21wb25lbnR9IGZyb20gJy4vb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQge0Vycm9yTWVzc2FnZUNvbXBvbmVudH0gZnJvbSAnLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7RW9EaWFsb2dDb21wb25lbnR9IGZyb20gJy4vZW8tZGlhbG9nL2VvLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge092ZXJsYXlNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7SW5kZXhkYXRhU3VtbWFyeUVudHJ5Q29tcG9uZW50fSBmcm9tICcuL2luZGV4ZGF0YS1zdW1tYXJ5L2luZGV4ZGF0YS1zdW1tYXJ5LWVudHJ5L2luZGV4ZGF0YS1zdW1tYXJ5LWVudHJ5LmNvbXBvbmVudCc7XG5pbXBvcnQge1JvdXRlckxpbmtEaXJlY3RpdmV9IGZyb20gJy4vcm91dGVyLWxpbmsvcm91dGVyLWxpbmsuZGlyZWN0aXZlJztcbmltcG9ydCB7IFF1ZXJ5U2NvcGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3F1ZXJ5LXNjb3BlLXNlbGVjdC9xdWVyeS1zY29wZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7WXZjRGlhbG9nTW9kdWxlfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7QTExeU1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtUcmFwRm9jdXNEaXJlY3RpdmV9IGZyb20gJy4uL3V0aWwvZGlyZWN0aXZlL3RyYXAtZm9jdXMuZGlyZWN0aXZlJztcbmltcG9ydCB7IFNpZ25hdHVyZVRhYkNvbXBvbmVudCB9IGZyb20gJy4vc2lnbmF0dXJlLXRhYi9zaWduYXR1cmUtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQge1l2Y092ZXJsYXlNb2R1bGV9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9vdmVybGF5JztcbmltcG9ydCB7U2ltcGxlQWNjb3JkaW9uQ29tcG9uZW50fSBmcm9tICcuLi9hY2NvcmRpb24vc2ltcGxlLWFjY29yZGlvbi9zaW1wbGUtYWNjb3JkaW9uLmNvbXBvbmVudCc7XG5cbi8qKlxuICogU2hhcmVkIG1vZHVsZSBmb3IgYWxsIHVpIGNvbXBvbmVudHMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgdGhlIHdob2xlIGFwcFxuICogYW5kIGluIG90aGVyIGNvbXBvbmVudHMuXG4gKi9cblxuQE5nTW9kdWxlKHsgZXhwb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEVvU2hhcmVkTW9kdWxlLFxuICAgICAgICBQaXBlc01vZHVsZSxcbiAgICAgICAgRW9JY29uQ29tcG9uZW50LFxuICAgICAgICBPdXRzaWRlQ2xpY2tEaXJlY3RpdmUsXG4gICAgICAgIFJvdXRlckxpbmtEaXJlY3RpdmUsXG4gICAgICAgIFJ0bEF3YXJlRGlyZWN0aXZlLFxuICAgICAgICBMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCxcbiAgICAgICAgQ2xpcGJvYXJkQ29tcG9uZW50LFxuICAgICAgICBJbmRleGRhdGFTdW1tYXJ5Q29tcG9uZW50LFxuICAgICAgICBVc2VyQXZhdGFyQ29tcG9uZW50LFxuICAgICAgICBPdmVybGF5Q29tcG9uZW50LFxuICAgICAgICBFcnJvck1lc3NhZ2VDb21wb25lbnQsXG4gICAgICAgIEVvRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBRdWVyeVNjb3BlU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBUcmFwRm9jdXNEaXJlY3RpdmUsXG4gICAgICAgIFNpZ25hdHVyZVRhYkNvbXBvbmVudCxcbiAgICAgICAgU2ltcGxlQWNjb3JkaW9uQ29tcG9uZW50XG4gIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEVvSWNvbkNvbXBvbmVudCxcbiAgICAgICAgT3V0c2lkZUNsaWNrRGlyZWN0aXZlLFxuICAgICAgICBSb3V0ZXJMaW5rRGlyZWN0aXZlLFxuICAgICAgICBSdGxBd2FyZURpcmVjdGl2ZSxcbiAgICAgICAgTG9hZGluZ1NwaW5uZXJDb21wb25lbnQsXG4gICAgICAgIENsaXBib2FyZENvbXBvbmVudCxcbiAgICAgICAgSW5kZXhkYXRhU3VtbWFyeUNvbXBvbmVudCxcbiAgICAgICAgVXNlckF2YXRhckNvbXBvbmVudCxcbiAgICAgICAgT3ZlcmxheUNvbXBvbmVudCxcbiAgICAgICAgRXJyb3JNZXNzYWdlQ29tcG9uZW50LFxuICAgICAgICBFb0RpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgSW5kZXhkYXRhU3VtbWFyeUVudHJ5Q29tcG9uZW50LFxuICAgICAgICBRdWVyeVNjb3BlU2VsZWN0Q29tcG9uZW50LFxuICAgICAgICBUcmFwRm9jdXNEaXJlY3RpdmUsXG4gICAgICAgIFNpZ25hdHVyZVRhYkNvbXBvbmVudCxcbiAgICAgICAgU2ltcGxlQWNjb3JkaW9uQ29tcG9uZW50XG4gICAgXSwgaW1wb3J0czogW0NvbW1vbk1vZHVsZSxcbiAgICAgICAgRW9TaGFyZWRNb2R1bGUsXG4gICAgICAgIFBpcGVzTW9kdWxlLFxuICAgICAgICBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBPdmVybGF5TW9kdWxlLFxuICAgICAgICBZdmNEaWFsb2dNb2R1bGUsXG4gICAgICAgIFl2Y092ZXJsYXlNb2R1bGUsXG4gICAgICAgIEExMXlNb2R1bGVdLCBwcm92aWRlcnM6IFtwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzRnJvbURpKCkpXSB9KVxuZXhwb3J0IGNsYXNzIFVpTW9kdWxlIHtcbn1cbiJdfQ==
@@ -460,11 +460,11 @@ export class UploadOverlayComponent {
460
460
  return Array.from(event.clipboardData.items || []).filter(i => i.kind === 'file').length;
461
461
  }
462
462
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UploadOverlayComponent, deps: [{ token: i1.Router }, { token: i0.Renderer2 }, { token: i2.PrepareService }, { token: i2.TranslateService }, { token: i2.UserService }, { token: i3.AgentService }, { token: i2.SystemService }, { token: i2.EventService }, { token: i2.LocalStorageService }, { token: i2.UploadRegistryService }], target: i0.ɵɵFactoryTarget.Component }); }
463
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: UploadOverlayComponent, selector: "eo-upload-overlay", viewQueries: [{ propertyName: "overlayEl", first: true, predicate: ["overlay"], descendants: true }], ngImport: i0, template: "<div id=\"eo-upload-overlay\" #overlay class=\"dark\" *ngIf=\"fileOver\" tabindex=\"1\"\n [ngClass]=\"{file: queue.length, invalid: invalidInput, uploading: isUploading}\">\n\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"close()\"></eo-icon>\n\n <div class=\"count\">\n <div>{{queue.length}}</div>\n <div class=\"queueSize\">{{queueSize | fileSize}}</div>\n </div>\n\n <div class=\"headline\">\n <h1 translate>eo.upload.global.headline</h1>\n </div>\n \n <eo-icon class=\"uploady\" [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n\n <!-- batch upload dialog -->\n <div class=\"batch-dialog\" *ngIf=\"!invalidInput && selectedUploadTarget && !isUploading\">\n\n <h2 translate>eo.upload.global.choose.title</h2>\n <p translate>eo.upload.global.choose.message</p>\n <div class=\"actions\">\n <button (click)=\"resetSelectedUploadTarget()\" translate>eo.cta.button.cancel</button>\n <button (click)=\"proceedWithSelectedTarget(false)\" class=\"primary\"\n translate>eo.upload.global.choose.single</button>\n <button (click)=\"proceedWithSelectedTarget(true)\" class=\"primary\" translate>eo.upload.global.choose.multi</button>\n </div>\n </div>\n\n <!-- invalid input dialog -->\n <div class=\"batch-dialog\" *ngIf=\"hasValidUploadTargets && invalidInput\">\n\n <h2 translate>eo.upload.global.invalid.title</h2>\n <p translate>eo.upload.global.invalid.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <!-- no upload targets available -->\n <div class=\"batch-dialog\" *ngIf=\"!hasValidUploadTargets\">\n\n <h2 translate>eo.upload.global.notarget.title</h2>\n <p translate>eo.upload.global.notarget.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <div class=\"contents\" *ngIf=\"hasValidUploadTargets && !invalidInput && !selectedUploadTarget && !isUploading\">\n\n <div class=\"section\">\n <!-- list of available upload targets -->\n <div class=\"targets\">\n <div class=\"target-list\">\n @for (targetType of targetTypes; track targetType.type) {\n @for (t of validUploadTargets; track t.id) {\n @if (t.type === targetType.type) {\n <ng-container *ngTemplateOutlet=\"uploadTargetTemplate; context: {\n iconSrc: targetType.iconSrc,\n targetClass: targetType.targetClass,\n name: targetType.type === 'custom' ? t.name : targetType.type === 'contexttree' ? (targetType.name | translate : {folder: t.subFolder.name}) : targetType.type === 'context' ? (targetType.name | translate : {context: t.referenceObject.type.label}) : (targetType.name | translate),\n description: targetType.type === 'custom' || targetType.type === 'object' || targetType.type === 'context' ? t.description : (targetType.description | translate),\n targets: t\n }\">\n </ng-container>\n }\n }\n }\n </div>\n </div>\n\n <!-- upload to favorite -->\n @if (folderFavorites.length > 0) {\n <eo-simple-accordion [selected]=\"favoritesAccSelected\" [header]=\"'eo.upload.global.context.favorite' | translate\"\n (selectChange)=\"onFavoriteToggle($event)\">\n <div class=\"targets\" tabindex=\"-1\">\n <div class=\"target-list\" tabindex=\"-1\">\n @for (t of validUploadTargets; track $index) {\n @if (t.type === 'favorite') {\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(t)\" (click)=\"proceedWithUpload(t)\">\n <ng-container>\n <eo-icon [iconId]=\"t.iconId\"></eo-icon>\n <div class=\"upload-target-favorite\">\n <div class=\"name\">{{t.title}}\n <div class=\"description\">{{t.description}}</div>\n </div>\n </div>\n </ng-container>\n </div>\n }\n }\n </div>\n </div>\n </eo-simple-accordion>\n }\n\n @if(lastOpenedFolder.length > 0){\n <eo-simple-accordion [selected]=\"agentAccSelected\" [header]=\"'eo.upload.global.context.agent' | translate\"\n (selectChange)=\"onAgentToggle($event)\">\n <!-- upload to last opened folder -->\n <div class=\"targets\" tabindex=\"-1\">\n <div class=\"target-list\" tabindex=\"-1\">\n @for (t of validUploadTargets; track $index) {\n @if (t.type === 'agent') {\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(t)\" (click)=\"proceedWithUpload(t)\">\n <ng-container>\n <eo-icon [iconId]=\"t.iconId\"></eo-icon>\n <div class=\"upload-target-agent\">\n <div class=\"name\">{{t?.title}}\n <div class=\"description\">{{t?.description}}</div>\n </div>\n </div>\n </ng-container>\n </div>\n }\n }\n </div>\n </div>\n </eo-simple-accordion>\n }\n </div>\n <!-- list of files dragged to the component -->\n <div class=\"files\" [ngClass]=\"{file: queue.length, invalid: invalidInput, uploading: isUploading}\">\n <div class=\"files-list\">\n @for (i of queue; track $index) {\n <div class=\"file-item\">\n <div>\n <div class=\"name\">{{i.name}}</div>\n <div class=\"desc\"><span class=\"size\">{{i.size | fileSize}}</span>\n <span class=\"desc-text\">&nbsp;{{i.type}}</span></div>\n </div>\n <eo-icon class=\"button white\" (click)=\"removeFileItem(i)\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n </div>\n }\n </div>\n </div>\n </div>\n\n @if (isUploading) {\n <div class=\"loading\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </div>\n }\n</div>\n\n<ng-template #uploadTargetTemplate let-iconSrc=\"iconSrc\" let-targetClass=\"targetClass\" let-name=\"name\"\n let-description=\"description\" let-targets=\"targets\">\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(targets)\" (click)=\"proceedWithUpload(targets)\">\n <ng-container>\n <eo-icon [iconSrc]=\"iconSrc\"></eo-icon>\n <div [ngClass]=\"targetClass\">\n <div class=\"name\">{{ name }}</div>\n <div class=\"description\">{{ description }}</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host #eo-upload-overlay{position:absolute;inset:0;z-index:9900;background-color:rgba(var(--color-black-rgb),.85);animation:eoFadeIn var(--app-default-transition-duration);display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-white);overflow:hidden}:host #eo-upload-overlay .headline{display:flex;width:100%;min-width:200px;justify-content:center;overflow:hidden;align-content:center;flex-wrap:wrap}:host #eo-upload-overlay .headline h1{font-size:4em;font-weight:var(--font-weight-light);color:rgba(var(--color-white-rgb),.5);animation:eoFadeInDown var(--app-default-transition-duration);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .uploady{animation:uploady 2s linear infinite;width:20vw;height:20vw;display:block}:host #eo-upload-overlay .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding)}:host #eo-upload-overlay .count{position:absolute;display:none;right:calc(var(--app-pane-padding) * 3);top:calc(var(--app-pane-padding) * 3);font-size:10vh;flex-flow:column;align-items:flex-end;line-height:1em;animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .count .queueSize{font-size:var(--font-caption);line-height:var(--font-caption);margin-top:calc(var(--app-pane-padding) / 2);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .batch-dialog{max-width:350px}:host #eo-upload-overlay .batch-dialog .actions{display:flex;padding-top:var(--app-pane-padding);justify-content:flex-end}:host #eo-upload-overlay .batch-dialog .actions button{margin:0 calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .contents{display:none;flex-flow:row wrap;margin:var(--app-pane-padding);max-width:100%;max-height:100%;width:100%;height:100%}:host #eo-upload-overlay .targets{order:1;margin:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;justify-content:center;position:relative}:host #eo-upload-overlay .targets .target-list{animation:eoFadeInRight var(--app-default-transition-duration);overflow-y:auto}:host #eo-upload-overlay .targets .target-list h2{font-size:var(--font-subhead);font-weight:400}:host #eo-upload-overlay .targets .target-list .upload-target{background:rgba(var(--color-accent),.6);border:1px solid rgba(var(--color-white-rgb),.4);margin:calc(var(--app-pane-padding) / 2) 0;padding:calc(var(--app-pane-padding) / 2);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;cursor:pointer;flex-flow:row nowrap;align-items:center}:host #eo-upload-overlay .targets .target-list .upload-target:focus{background-color:var(--color-accent)}:host #eo-upload-overlay .targets .target-list .upload-target eo-icon{flex:0 0 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div{flex:1 1 auto;margin:0 calc(var(--app-pane-padding) / 2);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div .name{font-size:var(--font-subhead);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .targets .target-list .upload-target>div .description{width:100%;max-width:250px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-caption);opacity:.7}:host #eo-upload-overlay .targets .target-list .upload-target:hover{background-color:var(--color-accent)}:host #eo-upload-overlay .files{padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 2);overflow-y:auto;border-radius:2px;max-width:150px;width:95%;min-width:25%;animation:eoFadeInLeft var(--app-default-transition-duration);display:flex;flex-flow:column;justify-content:center}:host #eo-upload-overlay .files .files-list{height:100%;width:100%}:host #eo-upload-overlay .files .files-list .file-item{display:flex;align-items:center;cursor:default;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);margin-bottom:calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-white-rgb),.1);-webkit-user-select:none;user-select:none}:host #eo-upload-overlay .files .files-list .file-item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .files .files-list .file-item>div .name{font-size:var(--font-subhead);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .files .files-list .file-item>div .desc{color:rgba(var(--color-white-rgb),.75);font-size:var(--font-hint);margin-top:calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .files .files-list .file-item>div .size{border-radius:2px;display:inline-block;padding:0 4px;background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .files .files-list .file-item eo-icon{flex:0 0 auto;width:18px;height:18px;padding:calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay.invalid>h1,:host #eo-upload-overlay.invalid .uploady{display:none}:host #eo-upload-overlay.file .uploady{display:none}:host #eo-upload-overlay.file .contents{flex-flow:row-reverse;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;flex:1 1;flex-direction:row-reverse}:host #eo-upload-overlay.file .contents .section{display:flow-root;width:25%;min-width:200px;flex:0 0 auto;max-height:fit-content;overflow:hidden;box-sizing:content-box}:host #eo-upload-overlay.file .contents .targets{order:0;margin-bottom:var(--app-pane-padding)}:host #eo-upload-overlay.uploading h1,:host #eo-upload-overlay.uploading .close{display:none}@keyframes uploady{0%{transform:translateY(0);opacity:.1}50%{transform:translateY(-40px);opacity:.3}to{transform:translateY(0);opacity:.1}}::ng-deep eo-simple-accordion{display:flex;flex-flow:column;flex:0 0 auto}::ng-deep eo-simple-accordion:not(.selected){margin-bottom:var(--app-pane-padding)}::ng-deep eo-simple-accordion>section{min-height:50px;max-height:190px;overflow-y:auto;overflow-x:hidden}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i7.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i8.SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "item", "styles", "headerClass", "selected"], outputs: ["selectChange"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.FileSizePipe, name: "fileSize" }] }); }
463
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: UploadOverlayComponent, selector: "eo-upload-overlay", viewQueries: [{ propertyName: "overlayEl", first: true, predicate: ["overlay"], descendants: true }], ngImport: i0, template: "<div id=\"eo-upload-overlay\" #overlay class=\"dark\" *ngIf=\"fileOver\" tabindex=\"1\"\n [ngClass]=\"{file: queue.length, invalid: invalidInput, uploading: isUploading}\">\n\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"close()\"></eo-icon>\n\n <div class=\"count\">\n <div>{{queue.length}}</div>\n <div class=\"queueSize\">{{queueSize | fileSize}}</div>\n </div>\n\n <div class=\"headline\">\n <h1 translate>eo.upload.global.headline</h1>\n </div>\n \n <eo-icon class=\"uploady\" [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n\n <!-- batch upload dialog -->\n <div class=\"batch-dialog\" *ngIf=\"!invalidInput && selectedUploadTarget && !isUploading\">\n\n <h2 translate>eo.upload.global.choose.title</h2>\n <p translate>eo.upload.global.choose.message</p>\n <div class=\"actions\">\n <button (click)=\"resetSelectedUploadTarget()\" translate>eo.cta.button.cancel</button>\n <button (click)=\"proceedWithSelectedTarget(false)\" class=\"primary\"\n translate>eo.upload.global.choose.single</button>\n <button (click)=\"proceedWithSelectedTarget(true)\" class=\"primary\" translate>eo.upload.global.choose.multi</button>\n </div>\n </div>\n\n <!-- invalid input dialog -->\n <div class=\"batch-dialog\" *ngIf=\"hasValidUploadTargets && invalidInput\">\n\n <h2 translate>eo.upload.global.invalid.title</h2>\n <p translate>eo.upload.global.invalid.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <!-- no upload targets available -->\n <div class=\"batch-dialog\" *ngIf=\"!hasValidUploadTargets\">\n\n <h2 translate>eo.upload.global.notarget.title</h2>\n <p translate>eo.upload.global.notarget.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <div class=\"contents\" *ngIf=\"hasValidUploadTargets && !invalidInput && !selectedUploadTarget && !isUploading\">\n\n <div class=\"section\">\n <!-- list of available upload targets -->\n <div class=\"targets\">\n <div class=\"target-list\">\n @for (targetType of targetTypes; track targetType.type) {\n @for (t of validUploadTargets; track t.id) {\n @if (t.type === targetType.type) {\n <ng-container *ngTemplateOutlet=\"uploadTargetTemplate; context: {\n iconSrc: targetType.iconSrc,\n targetClass: targetType.targetClass,\n name: targetType.type === 'custom' ? t.name : targetType.type === 'contexttree' ? (targetType.name | translate : {folder: t.subFolder.name}) : targetType.type === 'context' ? (targetType.name | translate : {context: t.referenceObject.type.label}) : (targetType.name | translate),\n description: targetType.type === 'custom' || targetType.type === 'object' || targetType.type === 'context' ? t.description : (targetType.description | translate),\n targets: t\n }\">\n </ng-container>\n }\n }\n }\n </div>\n </div>\n\n <!-- upload to favorite -->\n @if (folderFavorites.length > 0) {\n <eo-simple-accordion [selected]=\"favoritesAccSelected\" [header]=\"'eo.upload.global.context.favorite' | translate\"\n (selectChange)=\"onFavoriteToggle($event)\">\n <div class=\"targets\" tabindex=\"-1\">\n <div class=\"target-list\" tabindex=\"-1\">\n @for (t of validUploadTargets; track $index) {\n @if (t.type === 'favorite') {\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(t)\" (click)=\"proceedWithUpload(t)\">\n <ng-container>\n <eo-icon [iconId]=\"t.iconId\"></eo-icon>\n <div class=\"upload-target-favorite\">\n <div class=\"name\">{{t.title}}\n <div class=\"description\">{{t.description}}</div>\n </div>\n </div>\n </ng-container>\n </div>\n }\n }\n </div>\n </div>\n </eo-simple-accordion>\n }\n\n @if(lastOpenedFolder.length > 0){\n <eo-simple-accordion [selected]=\"agentAccSelected\" [header]=\"'eo.upload.global.context.agent' | translate\"\n (selectChange)=\"onAgentToggle($event)\">\n <!-- upload to last opened folder -->\n <div class=\"targets\" tabindex=\"-1\">\n <div class=\"target-list\" tabindex=\"-1\">\n @for (t of validUploadTargets; track $index) {\n @if (t.type === 'agent') {\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(t)\" (click)=\"proceedWithUpload(t)\">\n <ng-container>\n <eo-icon [iconId]=\"t.iconId\"></eo-icon>\n <div class=\"upload-target-agent\">\n <div class=\"name\">{{t?.title}}\n <div class=\"description\">{{t?.description}}</div>\n </div>\n </div>\n </ng-container>\n </div>\n }\n }\n </div>\n </div>\n </eo-simple-accordion>\n }\n </div>\n <!-- list of files dragged to the component -->\n <div class=\"files\" [ngClass]=\"{file: queue.length, invalid: invalidInput, uploading: isUploading}\">\n <div class=\"files-list\">\n @for (i of queue; track $index) {\n <div class=\"file-item\">\n <div>\n <div class=\"name\">{{i.name}}</div>\n <div class=\"desc\"><span class=\"size\">{{i.size | fileSize}}</span>\n <span class=\"desc-text\">&nbsp;{{i.type}}</span></div>\n </div>\n <eo-icon class=\"button white\" (click)=\"removeFileItem(i)\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n </div>\n }\n </div>\n </div>\n </div>\n\n @if (isUploading) {\n <div class=\"loading\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </div>\n }\n</div>\n\n<ng-template #uploadTargetTemplate let-iconSrc=\"iconSrc\" let-targetClass=\"targetClass\" let-name=\"name\"\n let-description=\"description\" let-targets=\"targets\">\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(targets)\" (click)=\"proceedWithUpload(targets)\">\n <ng-container>\n <eo-icon [iconSrc]=\"iconSrc\"></eo-icon>\n <div [ngClass]=\"targetClass\">\n <div class=\"name\">{{ name }}</div>\n <div class=\"description\">{{ description }}</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host #eo-upload-overlay{position:absolute;inset:0;z-index:9900;background-color:rgba(var(--color-black-rgb),.85);animation:eoFadeIn var(--app-default-transition-duration);display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-white);overflow:hidden}:host #eo-upload-overlay .headline{display:flex;width:100%;min-width:200px;justify-content:center;overflow:hidden;align-content:center;flex-wrap:wrap}:host #eo-upload-overlay .headline h1{font-size:4em;font-weight:var(--font-weight-light);color:rgba(var(--color-white-rgb),.5);animation:eoFadeInDown var(--app-default-transition-duration);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .uploady{animation:uploady 2s linear infinite;width:20vw;height:20vw;display:block}:host #eo-upload-overlay .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding)}:host #eo-upload-overlay .count{position:absolute;display:none;right:calc(var(--app-pane-padding) * 3);top:calc(var(--app-pane-padding) * 3);font-size:10vh;flex-flow:column;align-items:flex-end;line-height:1em;animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .count .queueSize{font-size:var(--font-caption);line-height:var(--font-caption);margin-top:calc(var(--app-pane-padding) / 2);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .batch-dialog{max-width:350px}:host #eo-upload-overlay .batch-dialog .actions{display:flex;padding-top:var(--app-pane-padding);justify-content:flex-end}:host #eo-upload-overlay .batch-dialog .actions button{margin:0 calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .contents{display:none;flex-flow:row wrap;margin:var(--app-pane-padding);max-width:100%;max-height:100%;width:100%;height:100%}:host #eo-upload-overlay .targets{order:1;margin:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;justify-content:center;position:relative}:host #eo-upload-overlay .targets .target-list{animation:eoFadeInRight var(--app-default-transition-duration);overflow-y:auto}:host #eo-upload-overlay .targets .target-list h2{font-size:var(--font-subhead);font-weight:400}:host #eo-upload-overlay .targets .target-list .upload-target{background:rgba(var(--color-accent),.6);border:1px solid rgba(var(--color-white-rgb),.4);margin:calc(var(--app-pane-padding) / 2) 0;padding:calc(var(--app-pane-padding) / 2);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;cursor:pointer;flex-flow:row nowrap;align-items:center}:host #eo-upload-overlay .targets .target-list .upload-target:focus{background-color:var(--color-accent)}:host #eo-upload-overlay .targets .target-list .upload-target eo-icon{flex:0 0 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div{flex:1 1 auto;margin:0 calc(var(--app-pane-padding) / 2);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div .name{font-size:var(--font-subhead);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .targets .target-list .upload-target>div .description{width:100%;max-width:250px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-caption);opacity:.7}:host #eo-upload-overlay .targets .target-list .upload-target:hover{background-color:var(--color-accent)}:host #eo-upload-overlay .files{padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 2);overflow-y:auto;border-radius:2px;max-width:150px;width:95%;min-width:25%;animation:eoFadeInLeft var(--app-default-transition-duration);display:flex;flex-flow:column;justify-content:center}:host #eo-upload-overlay .files .files-list{height:100%;width:100%}:host #eo-upload-overlay .files .files-list .file-item{display:flex;align-items:center;cursor:default;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);margin-bottom:calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-white-rgb),.1);-webkit-user-select:none;user-select:none}:host #eo-upload-overlay .files .files-list .file-item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .files .files-list .file-item>div .name{font-size:var(--font-subhead);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .files .files-list .file-item>div .desc{color:rgba(var(--color-white-rgb),.75);font-size:var(--font-hint);margin-top:calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .files .files-list .file-item>div .size{border-radius:2px;display:inline-block;padding:0 4px;background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .files .files-list .file-item eo-icon{flex:0 0 auto;width:18px;height:18px;padding:calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay.invalid>h1,:host #eo-upload-overlay.invalid .uploady{display:none}:host #eo-upload-overlay.file .uploady{display:none}:host #eo-upload-overlay.file .contents{flex-flow:row-reverse;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;flex:1 1;flex-direction:row-reverse}:host #eo-upload-overlay.file .contents .section{display:flow-root;width:25%;min-width:200px;flex:0 0 auto;max-height:fit-content;overflow:hidden;box-sizing:content-box}:host #eo-upload-overlay.file .contents .targets{order:0;margin-bottom:var(--app-pane-padding)}:host #eo-upload-overlay.uploading h1,:host #eo-upload-overlay.uploading .close{display:none}:host ::ng-deep eo-simple-accordion{display:flex;flex-flow:column;flex:0 0 auto}:host ::ng-deep eo-simple-accordion:not(.selected){margin-bottom:var(--app-pane-padding)}:host ::ng-deep eo-simple-accordion>section{min-height:50px;max-height:190px;overflow-y:auto;overflow-x:hidden}@keyframes uploady{0%{transform:translateY(0);opacity:.1}50%{transform:translateY(-40px);opacity:.3}to{transform:translateY(0);opacity:.1}}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i5.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i6.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "component", type: i7.LoadingSpinnerComponent, selector: "eo-loading-spinner", inputs: ["size", "mode"] }, { kind: "component", type: i8.SimpleAccordionComponent, selector: "eo-simple-accordion", inputs: ["header", "item", "styles", "headerClass", "iconObjectType", "itemAmount", "resultListLink", "selected"], outputs: ["selectChange"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.FileSizePipe, name: "fileSize" }] }); }
464
464
  }
465
465
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: UploadOverlayComponent, decorators: [{
466
466
  type: Component,
467
- args: [{ selector: 'eo-upload-overlay', template: "<div id=\"eo-upload-overlay\" #overlay class=\"dark\" *ngIf=\"fileOver\" tabindex=\"1\"\n [ngClass]=\"{file: queue.length, invalid: invalidInput, uploading: isUploading}\">\n\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"close()\"></eo-icon>\n\n <div class=\"count\">\n <div>{{queue.length}}</div>\n <div class=\"queueSize\">{{queueSize | fileSize}}</div>\n </div>\n\n <div class=\"headline\">\n <h1 translate>eo.upload.global.headline</h1>\n </div>\n \n <eo-icon class=\"uploady\" [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n\n <!-- batch upload dialog -->\n <div class=\"batch-dialog\" *ngIf=\"!invalidInput && selectedUploadTarget && !isUploading\">\n\n <h2 translate>eo.upload.global.choose.title</h2>\n <p translate>eo.upload.global.choose.message</p>\n <div class=\"actions\">\n <button (click)=\"resetSelectedUploadTarget()\" translate>eo.cta.button.cancel</button>\n <button (click)=\"proceedWithSelectedTarget(false)\" class=\"primary\"\n translate>eo.upload.global.choose.single</button>\n <button (click)=\"proceedWithSelectedTarget(true)\" class=\"primary\" translate>eo.upload.global.choose.multi</button>\n </div>\n </div>\n\n <!-- invalid input dialog -->\n <div class=\"batch-dialog\" *ngIf=\"hasValidUploadTargets && invalidInput\">\n\n <h2 translate>eo.upload.global.invalid.title</h2>\n <p translate>eo.upload.global.invalid.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <!-- no upload targets available -->\n <div class=\"batch-dialog\" *ngIf=\"!hasValidUploadTargets\">\n\n <h2 translate>eo.upload.global.notarget.title</h2>\n <p translate>eo.upload.global.notarget.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <div class=\"contents\" *ngIf=\"hasValidUploadTargets && !invalidInput && !selectedUploadTarget && !isUploading\">\n\n <div class=\"section\">\n <!-- list of available upload targets -->\n <div class=\"targets\">\n <div class=\"target-list\">\n @for (targetType of targetTypes; track targetType.type) {\n @for (t of validUploadTargets; track t.id) {\n @if (t.type === targetType.type) {\n <ng-container *ngTemplateOutlet=\"uploadTargetTemplate; context: {\n iconSrc: targetType.iconSrc,\n targetClass: targetType.targetClass,\n name: targetType.type === 'custom' ? t.name : targetType.type === 'contexttree' ? (targetType.name | translate : {folder: t.subFolder.name}) : targetType.type === 'context' ? (targetType.name | translate : {context: t.referenceObject.type.label}) : (targetType.name | translate),\n description: targetType.type === 'custom' || targetType.type === 'object' || targetType.type === 'context' ? t.description : (targetType.description | translate),\n targets: t\n }\">\n </ng-container>\n }\n }\n }\n </div>\n </div>\n\n <!-- upload to favorite -->\n @if (folderFavorites.length > 0) {\n <eo-simple-accordion [selected]=\"favoritesAccSelected\" [header]=\"'eo.upload.global.context.favorite' | translate\"\n (selectChange)=\"onFavoriteToggle($event)\">\n <div class=\"targets\" tabindex=\"-1\">\n <div class=\"target-list\" tabindex=\"-1\">\n @for (t of validUploadTargets; track $index) {\n @if (t.type === 'favorite') {\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(t)\" (click)=\"proceedWithUpload(t)\">\n <ng-container>\n <eo-icon [iconId]=\"t.iconId\"></eo-icon>\n <div class=\"upload-target-favorite\">\n <div class=\"name\">{{t.title}}\n <div class=\"description\">{{t.description}}</div>\n </div>\n </div>\n </ng-container>\n </div>\n }\n }\n </div>\n </div>\n </eo-simple-accordion>\n }\n\n @if(lastOpenedFolder.length > 0){\n <eo-simple-accordion [selected]=\"agentAccSelected\" [header]=\"'eo.upload.global.context.agent' | translate\"\n (selectChange)=\"onAgentToggle($event)\">\n <!-- upload to last opened folder -->\n <div class=\"targets\" tabindex=\"-1\">\n <div class=\"target-list\" tabindex=\"-1\">\n @for (t of validUploadTargets; track $index) {\n @if (t.type === 'agent') {\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(t)\" (click)=\"proceedWithUpload(t)\">\n <ng-container>\n <eo-icon [iconId]=\"t.iconId\"></eo-icon>\n <div class=\"upload-target-agent\">\n <div class=\"name\">{{t?.title}}\n <div class=\"description\">{{t?.description}}</div>\n </div>\n </div>\n </ng-container>\n </div>\n }\n }\n </div>\n </div>\n </eo-simple-accordion>\n }\n </div>\n <!-- list of files dragged to the component -->\n <div class=\"files\" [ngClass]=\"{file: queue.length, invalid: invalidInput, uploading: isUploading}\">\n <div class=\"files-list\">\n @for (i of queue; track $index) {\n <div class=\"file-item\">\n <div>\n <div class=\"name\">{{i.name}}</div>\n <div class=\"desc\"><span class=\"size\">{{i.size | fileSize}}</span>\n <span class=\"desc-text\">&nbsp;{{i.type}}</span></div>\n </div>\n <eo-icon class=\"button white\" (click)=\"removeFileItem(i)\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n </div>\n }\n </div>\n </div>\n </div>\n\n @if (isUploading) {\n <div class=\"loading\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </div>\n }\n</div>\n\n<ng-template #uploadTargetTemplate let-iconSrc=\"iconSrc\" let-targetClass=\"targetClass\" let-name=\"name\"\n let-description=\"description\" let-targets=\"targets\">\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(targets)\" (click)=\"proceedWithUpload(targets)\">\n <ng-container>\n <eo-icon [iconSrc]=\"iconSrc\"></eo-icon>\n <div [ngClass]=\"targetClass\">\n <div class=\"name\">{{ name }}</div>\n <div class=\"description\">{{ description }}</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host #eo-upload-overlay{position:absolute;inset:0;z-index:9900;background-color:rgba(var(--color-black-rgb),.85);animation:eoFadeIn var(--app-default-transition-duration);display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-white);overflow:hidden}:host #eo-upload-overlay .headline{display:flex;width:100%;min-width:200px;justify-content:center;overflow:hidden;align-content:center;flex-wrap:wrap}:host #eo-upload-overlay .headline h1{font-size:4em;font-weight:var(--font-weight-light);color:rgba(var(--color-white-rgb),.5);animation:eoFadeInDown var(--app-default-transition-duration);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .uploady{animation:uploady 2s linear infinite;width:20vw;height:20vw;display:block}:host #eo-upload-overlay .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding)}:host #eo-upload-overlay .count{position:absolute;display:none;right:calc(var(--app-pane-padding) * 3);top:calc(var(--app-pane-padding) * 3);font-size:10vh;flex-flow:column;align-items:flex-end;line-height:1em;animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .count .queueSize{font-size:var(--font-caption);line-height:var(--font-caption);margin-top:calc(var(--app-pane-padding) / 2);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .batch-dialog{max-width:350px}:host #eo-upload-overlay .batch-dialog .actions{display:flex;padding-top:var(--app-pane-padding);justify-content:flex-end}:host #eo-upload-overlay .batch-dialog .actions button{margin:0 calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .contents{display:none;flex-flow:row wrap;margin:var(--app-pane-padding);max-width:100%;max-height:100%;width:100%;height:100%}:host #eo-upload-overlay .targets{order:1;margin:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;justify-content:center;position:relative}:host #eo-upload-overlay .targets .target-list{animation:eoFadeInRight var(--app-default-transition-duration);overflow-y:auto}:host #eo-upload-overlay .targets .target-list h2{font-size:var(--font-subhead);font-weight:400}:host #eo-upload-overlay .targets .target-list .upload-target{background:rgba(var(--color-accent),.6);border:1px solid rgba(var(--color-white-rgb),.4);margin:calc(var(--app-pane-padding) / 2) 0;padding:calc(var(--app-pane-padding) / 2);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;cursor:pointer;flex-flow:row nowrap;align-items:center}:host #eo-upload-overlay .targets .target-list .upload-target:focus{background-color:var(--color-accent)}:host #eo-upload-overlay .targets .target-list .upload-target eo-icon{flex:0 0 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div{flex:1 1 auto;margin:0 calc(var(--app-pane-padding) / 2);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div .name{font-size:var(--font-subhead);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .targets .target-list .upload-target>div .description{width:100%;max-width:250px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-caption);opacity:.7}:host #eo-upload-overlay .targets .target-list .upload-target:hover{background-color:var(--color-accent)}:host #eo-upload-overlay .files{padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 2);overflow-y:auto;border-radius:2px;max-width:150px;width:95%;min-width:25%;animation:eoFadeInLeft var(--app-default-transition-duration);display:flex;flex-flow:column;justify-content:center}:host #eo-upload-overlay .files .files-list{height:100%;width:100%}:host #eo-upload-overlay .files .files-list .file-item{display:flex;align-items:center;cursor:default;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);margin-bottom:calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-white-rgb),.1);-webkit-user-select:none;user-select:none}:host #eo-upload-overlay .files .files-list .file-item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .files .files-list .file-item>div .name{font-size:var(--font-subhead);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .files .files-list .file-item>div .desc{color:rgba(var(--color-white-rgb),.75);font-size:var(--font-hint);margin-top:calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .files .files-list .file-item>div .size{border-radius:2px;display:inline-block;padding:0 4px;background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .files .files-list .file-item eo-icon{flex:0 0 auto;width:18px;height:18px;padding:calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay.invalid>h1,:host #eo-upload-overlay.invalid .uploady{display:none}:host #eo-upload-overlay.file .uploady{display:none}:host #eo-upload-overlay.file .contents{flex-flow:row-reverse;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;flex:1 1;flex-direction:row-reverse}:host #eo-upload-overlay.file .contents .section{display:flow-root;width:25%;min-width:200px;flex:0 0 auto;max-height:fit-content;overflow:hidden;box-sizing:content-box}:host #eo-upload-overlay.file .contents .targets{order:0;margin-bottom:var(--app-pane-padding)}:host #eo-upload-overlay.uploading h1,:host #eo-upload-overlay.uploading .close{display:none}@keyframes uploady{0%{transform:translateY(0);opacity:.1}50%{transform:translateY(-40px);opacity:.3}to{transform:translateY(0);opacity:.1}}::ng-deep eo-simple-accordion{display:flex;flex-flow:column;flex:0 0 auto}::ng-deep eo-simple-accordion:not(.selected){margin-bottom:var(--app-pane-padding)}::ng-deep eo-simple-accordion>section{min-height:50px;max-height:190px;overflow-y:auto;overflow-x:hidden}\n"] }]
467
+ args: [{ selector: 'eo-upload-overlay', template: "<div id=\"eo-upload-overlay\" #overlay class=\"dark\" *ngIf=\"fileOver\" tabindex=\"1\"\n [ngClass]=\"{file: queue.length, invalid: invalidInput, uploading: isUploading}\">\n\n <eo-icon class=\"button white close\" [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\" (click)=\"close()\"></eo-icon>\n\n <div class=\"count\">\n <div>{{queue.length}}</div>\n <div class=\"queueSize\">{{queueSize | fileSize}}</div>\n </div>\n\n <div class=\"headline\">\n <h1 translate>eo.upload.global.headline</h1>\n </div>\n \n <eo-icon class=\"uploady\" [iconSrc]=\"'assets/_default/svg/ic_upload.svg'\"></eo-icon>\n\n <!-- batch upload dialog -->\n <div class=\"batch-dialog\" *ngIf=\"!invalidInput && selectedUploadTarget && !isUploading\">\n\n <h2 translate>eo.upload.global.choose.title</h2>\n <p translate>eo.upload.global.choose.message</p>\n <div class=\"actions\">\n <button (click)=\"resetSelectedUploadTarget()\" translate>eo.cta.button.cancel</button>\n <button (click)=\"proceedWithSelectedTarget(false)\" class=\"primary\"\n translate>eo.upload.global.choose.single</button>\n <button (click)=\"proceedWithSelectedTarget(true)\" class=\"primary\" translate>eo.upload.global.choose.multi</button>\n </div>\n </div>\n\n <!-- invalid input dialog -->\n <div class=\"batch-dialog\" *ngIf=\"hasValidUploadTargets && invalidInput\">\n\n <h2 translate>eo.upload.global.invalid.title</h2>\n <p translate>eo.upload.global.invalid.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <!-- no upload targets available -->\n <div class=\"batch-dialog\" *ngIf=\"!hasValidUploadTargets\">\n\n <h2 translate>eo.upload.global.notarget.title</h2>\n <p translate>eo.upload.global.notarget.message</p>\n <div class=\"actions\">\n <button (click)=\"close()\" translate>eo.upload.global.close</button>\n </div>\n </div>\n\n <div class=\"contents\" *ngIf=\"hasValidUploadTargets && !invalidInput && !selectedUploadTarget && !isUploading\">\n\n <div class=\"section\">\n <!-- list of available upload targets -->\n <div class=\"targets\">\n <div class=\"target-list\">\n @for (targetType of targetTypes; track targetType.type) {\n @for (t of validUploadTargets; track t.id) {\n @if (t.type === targetType.type) {\n <ng-container *ngTemplateOutlet=\"uploadTargetTemplate; context: {\n iconSrc: targetType.iconSrc,\n targetClass: targetType.targetClass,\n name: targetType.type === 'custom' ? t.name : targetType.type === 'contexttree' ? (targetType.name | translate : {folder: t.subFolder.name}) : targetType.type === 'context' ? (targetType.name | translate : {context: t.referenceObject.type.label}) : (targetType.name | translate),\n description: targetType.type === 'custom' || targetType.type === 'object' || targetType.type === 'context' ? t.description : (targetType.description | translate),\n targets: t\n }\">\n </ng-container>\n }\n }\n }\n </div>\n </div>\n\n <!-- upload to favorite -->\n @if (folderFavorites.length > 0) {\n <eo-simple-accordion [selected]=\"favoritesAccSelected\" [header]=\"'eo.upload.global.context.favorite' | translate\"\n (selectChange)=\"onFavoriteToggle($event)\">\n <div class=\"targets\" tabindex=\"-1\">\n <div class=\"target-list\" tabindex=\"-1\">\n @for (t of validUploadTargets; track $index) {\n @if (t.type === 'favorite') {\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(t)\" (click)=\"proceedWithUpload(t)\">\n <ng-container>\n <eo-icon [iconId]=\"t.iconId\"></eo-icon>\n <div class=\"upload-target-favorite\">\n <div class=\"name\">{{t.title}}\n <div class=\"description\">{{t.description}}</div>\n </div>\n </div>\n </ng-container>\n </div>\n }\n }\n </div>\n </div>\n </eo-simple-accordion>\n }\n\n @if(lastOpenedFolder.length > 0){\n <eo-simple-accordion [selected]=\"agentAccSelected\" [header]=\"'eo.upload.global.context.agent' | translate\"\n (selectChange)=\"onAgentToggle($event)\">\n <!-- upload to last opened folder -->\n <div class=\"targets\" tabindex=\"-1\">\n <div class=\"target-list\" tabindex=\"-1\">\n @for (t of validUploadTargets; track $index) {\n @if (t.type === 'agent') {\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(t)\" (click)=\"proceedWithUpload(t)\">\n <ng-container>\n <eo-icon [iconId]=\"t.iconId\"></eo-icon>\n <div class=\"upload-target-agent\">\n <div class=\"name\">{{t?.title}}\n <div class=\"description\">{{t?.description}}</div>\n </div>\n </div>\n </ng-container>\n </div>\n }\n }\n </div>\n </div>\n </eo-simple-accordion>\n }\n </div>\n <!-- list of files dragged to the component -->\n <div class=\"files\" [ngClass]=\"{file: queue.length, invalid: invalidInput, uploading: isUploading}\">\n <div class=\"files-list\">\n @for (i of queue; track $index) {\n <div class=\"file-item\">\n <div>\n <div class=\"name\">{{i.name}}</div>\n <div class=\"desc\"><span class=\"size\">{{i.size | fileSize}}</span>\n <span class=\"desc-text\">&nbsp;{{i.type}}</span></div>\n </div>\n <eo-icon class=\"button white\" (click)=\"removeFileItem(i)\"\n [iconSrc]=\"'assets/_default/svg/ic_clear.svg'\"></eo-icon>\n </div>\n }\n </div>\n </div>\n </div>\n\n @if (isUploading) {\n <div class=\"loading\">\n <eo-loading-spinner [size]=\"'large'\"></eo-loading-spinner>\n </div>\n }\n</div>\n\n<ng-template #uploadTargetTemplate let-iconSrc=\"iconSrc\" let-targetClass=\"targetClass\" let-name=\"name\"\n let-description=\"description\" let-targets=\"targets\">\n <div class=\"upload-target\" tabindex=\"0\" (keydown.enter)=\"proceedWithUpload(targets)\" (click)=\"proceedWithUpload(targets)\">\n <ng-container>\n <eo-icon [iconSrc]=\"iconSrc\"></eo-icon>\n <div [ngClass]=\"targetClass\">\n <div class=\"name\">{{ name }}</div>\n <div class=\"description\">{{ description }}</div>\n </div>\n </ng-container>\n </div>\n</ng-template>\n", styles: [":host #eo-upload-overlay{position:absolute;inset:0;z-index:9900;background-color:rgba(var(--color-black-rgb),.85);animation:eoFadeIn var(--app-default-transition-duration);display:flex;flex-flow:column;align-items:center;justify-content:center;color:var(--color-white);overflow:hidden}:host #eo-upload-overlay .headline{display:flex;width:100%;min-width:200px;justify-content:center;overflow:hidden;align-content:center;flex-wrap:wrap}:host #eo-upload-overlay .headline h1{font-size:4em;font-weight:var(--font-weight-light);color:rgba(var(--color-white-rgb),.5);animation:eoFadeInDown var(--app-default-transition-duration);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .uploady{animation:uploady 2s linear infinite;width:20vw;height:20vw;display:block}:host #eo-upload-overlay .close{position:absolute;right:var(--app-pane-padding);top:var(--app-pane-padding)}:host #eo-upload-overlay .count{position:absolute;display:none;right:calc(var(--app-pane-padding) * 3);top:calc(var(--app-pane-padding) * 3);font-size:10vh;flex-flow:column;align-items:flex-end;line-height:1em;animation:eoFadeInDown var(--app-default-transition-duration)}:host #eo-upload-overlay .count .queueSize{font-size:var(--font-caption);line-height:var(--font-caption);margin-top:calc(var(--app-pane-padding) / 2);border-radius:2px;padding:calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 2);background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .batch-dialog{max-width:350px}:host #eo-upload-overlay .batch-dialog .actions{display:flex;padding-top:var(--app-pane-padding);justify-content:flex-end}:host #eo-upload-overlay .batch-dialog .actions button{margin:0 calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .contents{display:none;flex-flow:row wrap;margin:var(--app-pane-padding);max-width:100%;max-height:100%;width:100%;height:100%}:host #eo-upload-overlay .targets{order:1;margin:0 calc(var(--app-pane-padding) / 2);display:flex;flex-flow:column;justify-content:center;position:relative}:host #eo-upload-overlay .targets .target-list{animation:eoFadeInRight var(--app-default-transition-duration);overflow-y:auto}:host #eo-upload-overlay .targets .target-list h2{font-size:var(--font-subhead);font-weight:400}:host #eo-upload-overlay .targets .target-list .upload-target{background:rgba(var(--color-accent),.6);border:1px solid rgba(var(--color-white-rgb),.4);margin:calc(var(--app-pane-padding) / 2) 0;padding:calc(var(--app-pane-padding) / 2);border-radius:2px;transition:all var(--app-default-transition-duration) ease-in-out;-webkit-transition:all var(--app-default-transition-duration) ease-in-out;-moz-transition:all var(--app-default-transition-duration) ease-in-out;-o-transition:all var(--app-default-transition-duration) ease-in-out;display:flex;cursor:pointer;flex-flow:row nowrap;align-items:center}:host #eo-upload-overlay .targets .target-list .upload-target:focus{background-color:var(--color-accent)}:host #eo-upload-overlay .targets .target-list .upload-target eo-icon{flex:0 0 auto;margin:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div{flex:1 1 auto;margin:0 calc(var(--app-pane-padding) / 2);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay .targets .target-list .upload-target>div .name{font-size:var(--font-subhead);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .targets .target-list .upload-target>div .description{width:100%;max-width:250px;overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-caption);opacity:.7}:host #eo-upload-overlay .targets .target-list .upload-target:hover{background-color:var(--color-accent)}:host #eo-upload-overlay .files{padding:calc(var(--app-pane-padding) / 4);margin:0 calc(var(--app-pane-padding) / 2);overflow-y:auto;border-radius:2px;max-width:150px;width:95%;min-width:25%;animation:eoFadeInLeft var(--app-default-transition-duration);display:flex;flex-flow:column;justify-content:center}:host #eo-upload-overlay .files .files-list{height:100%;width:100%}:host #eo-upload-overlay .files .files-list .file-item{display:flex;align-items:center;cursor:default;padding:calc(var(--app-pane-padding) / 2) calc(var(--app-pane-padding) / 4);margin-bottom:calc(var(--app-pane-padding) / 4);background-color:rgba(var(--color-white-rgb),.1);-webkit-user-select:none;user-select:none}:host #eo-upload-overlay .files .files-list .file-item>div{flex:1 1 auto;padding:0 calc(var(--app-pane-padding) / 2);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .files .files-list .file-item>div .name{font-size:var(--font-subhead);overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}:host #eo-upload-overlay .files .files-list .file-item>div .desc{color:rgba(var(--color-white-rgb),.75);font-size:var(--font-hint);margin-top:calc(var(--app-pane-padding) / 4)}:host #eo-upload-overlay .files .files-list .file-item>div .size{border-radius:2px;display:inline-block;padding:0 4px;background-color:rgba(var(--color-white-rgb),.2)}:host #eo-upload-overlay .files .files-list .file-item eo-icon{flex:0 0 auto;width:18px;height:18px;padding:calc(var(--app-pane-padding) / 2)}:host #eo-upload-overlay.invalid>h1,:host #eo-upload-overlay.invalid .uploady{display:none}:host #eo-upload-overlay.file .uploady{display:none}:host #eo-upload-overlay.file .contents{flex-flow:row-reverse;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;flex:1 1;flex-direction:row-reverse}:host #eo-upload-overlay.file .contents .section{display:flow-root;width:25%;min-width:200px;flex:0 0 auto;max-height:fit-content;overflow:hidden;box-sizing:content-box}:host #eo-upload-overlay.file .contents .targets{order:0;margin-bottom:var(--app-pane-padding)}:host #eo-upload-overlay.uploading h1,:host #eo-upload-overlay.uploading .close{display:none}:host ::ng-deep eo-simple-accordion{display:flex;flex-flow:column;flex:0 0 auto}:host ::ng-deep eo-simple-accordion:not(.selected){margin-bottom:var(--app-pane-padding)}:host ::ng-deep eo-simple-accordion>section{min-height:50px;max-height:190px;overflow-y:auto;overflow-x:hidden}@keyframes uploady{0%{transform:translateY(0);opacity:.1}50%{transform:translateY(-40px);opacity:.3}to{transform:translateY(0);opacity:.1}}\n"] }]
468
468
  }], ctorParameters: () => [{ type: i1.Router }, { type: i0.Renderer2 }, { type: i2.PrepareService }, { type: i2.TranslateService }, { type: i2.UserService }, { type: i3.AgentService }, { type: i2.SystemService }, { type: i2.EventService }, { type: i2.LocalStorageService }, { type: i2.UploadRegistryService }], propDecorators: { overlayEl: [{
469
469
  type: ViewChild,
470
470
  args: ['overlay']
@@ -39,7 +39,7 @@ export class ReferenceService {
39
39
  obs.push(promise);
40
40
  });
41
41
  return obs.length > 0 ? forkJoin(obs) : observableOf([]);
42
- }), map(results => this.mergeQueryResults(results, outReferenceMetaDatas)));
42
+ }), map(results => this.groupResults(this.mergeQueryResults(results, outReferenceMetaDatas))));
43
43
  }
44
44
  mergeQueryResults(results, metaDatas) {
45
45
  let mergedResult = [];
@@ -49,6 +49,35 @@ export class ReferenceService {
49
49
  });
50
50
  return mergedResult.map(mR => mR._source);
51
51
  }
52
+ groupResults(results) {
53
+ const references = [];
54
+ results.forEach(res => {
55
+ const refIndex = references.findIndex(ref => ref.title === res.metaData.objectType.label);
56
+ if (refIndex !== -1) {
57
+ references[refIndex].folder.push({
58
+ id: res.id,
59
+ title: res.title,
60
+ description: res.description,
61
+ referencefield: res.metaData.element.qname,
62
+ fieldLabel: res.metaData.element.label
63
+ });
64
+ }
65
+ else {
66
+ references.push({
67
+ title: res.metaData.objectType.label,
68
+ objectType: res.metaData.objectType,
69
+ folder: [{
70
+ id: res.id,
71
+ title: res.title,
72
+ description: res.description,
73
+ referencefield: res.metaData.element.qname,
74
+ fieldLabel: res.metaData.element.label
75
+ }]
76
+ });
77
+ }
78
+ });
79
+ return references;
80
+ }
52
81
  createOutReferenceQuery(outReferenceMetaData) {
53
82
  let query;
54
83
  if (outReferenceMetaData.remoteElement) {
@@ -136,20 +165,7 @@ export class ReferenceService {
136
165
  return outReferenceFields;
137
166
  }
138
167
  getInReferences(dmsObject) {
139
- let obs = [];
140
- let inReferenceMetaDatas = [];
141
- return this.getInReferenceMetaDatas(dmsObject)
142
- .pipe(mergeMap(metaDatas => {
143
- metaDatas.forEach(metaData => {
144
- if (metaData.remoteElement.type === 'REFERENCE' || dmsObject.data[metaData.remoteElement.reference.element.split('.')[1]]) {
145
- let query = this.createInReferenceQuery(dmsObject, metaData);
146
- let ob = this.executeQuery(query);
147
- inReferenceMetaDatas.push(metaData);
148
- obs.push(ob);
149
- }
150
- });
151
- return obs.length > 0 ? forkJoin(obs) : observableOf([]);
152
- }), map(results => this.mergeQueryResults(results, inReferenceMetaDatas)));
168
+ return this.searchService.getReferenceTree(dmsObject.id, dmsObject.typeName);
153
169
  }
154
170
  executeQuery(query) {
155
171
  return this.searchService
@@ -263,4 +279,4 @@ export class ReferenceService {
263
279
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ReferenceService, decorators: [{
264
280
  type: Injectable
265
281
  }], ctorParameters: () => [{ type: i1.SearchService }, { type: i1.SystemService }] });
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay1jb3JlL3JlZmVyZW5jZXMvcmVmZXJlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBYSxRQUFRLEVBQUUsRUFBRSxJQUFJLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQzs7O0FBR3BGLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFBb0IsYUFBNEIsRUFDNUIsYUFBNEI7UUFENUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDaEQsQ0FBQztJQUdELFVBQVUsQ0FBQyxTQUFvQjtRQUM3QixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUMvRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoSSxDQUFDO0lBRU8sc0JBQXNCLENBQUMsU0FBb0I7UUFDakQsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUNsRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FB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eEMsT0FBTyxFQUFFLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBQztTQUM1QixDQUFDO1FBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDakMsS0FBSyxDQUFDLElBQUksSUFBSSxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQ25FLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNULE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDcEIsT0FBTztvQkFDTCxFQUFFLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNsQixLQUFLLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLO29CQUN4QixXQUFXLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXO29CQUNwQyxJQUFJLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJO2lCQUN2QixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0E5UlUsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge21hcCwgbWVyZ2VNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIGZvcmtKb2luLCBvZiBhcyBvYnNlcnZhYmxlT2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtTZWFyY2hTZXJ2aWNlLCBTeXN0ZW1TZXJ2aWNlLCBEbXNPYmplY3R9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1V0aWxpdGllc1NlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay91dGlsL3NlcnZpY2VzL3V0aWxpdGllcy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlZmVyZW5jZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlKSB7XG4gIH1cblxuXG4gIGdldFF1ZXJpZXMoZG1zT2JqZWN0OiBEbXNPYmplY3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IFt0aGlzLmdldE91dFJlZmVyZW5jZVF1ZXJpZXMoZG1zT2JqZWN0KSwgdGhpcy5nZXRJblJlZmVyZW5jZVF1ZXJpZXMoZG1zT2JqZWN0KV07XG4gICAgcmV0dXJuIGZvcmtKb2luKHJlc3VsdCkucGlwZShtYXAoKFtvdXRSZWZlcmVuY2VRdWVyaWVzLCBpblJlZmVyZW5jZVF1ZXJpZXNdKSA9PiAoe291dFJlZmVyZW5jZVF1ZXJpZXMsIGluUmVmZXJlbmNlUXVlcmllc30pKSk7XG4gIH1cblxuICBwcml2YXRlIGdldE91dFJlZmVyZW5jZVF1ZXJpZXMoZG1zT2JqZWN0OiBEbXNPYmplY3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmdldE91dFJlZmVyZW5jZU1ldGFEYXRhcyhkbXNPYmplY3QpLnBpcGUoXG4gICAgICBtYXAocmVzID0+IHJlcy5tYXAobWV0YURhdGEgPT4ge1xuICAgICAgICAgIGxldCBxdWVyeSA9IHRoaXMuY3JlYXRlT3V0UmVmZXJlbmNlUXVlcnkobWV0YURhdGEpO1xuICAgICAgICAgIGRlbGV0ZSBxdWVyeS5maWVsZHM7XG4gICAgICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgICAgICB9KSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJblJlZmVyZW5jZVF1ZXJpZXMoZG1zT2JqZWN0OiBEbXNPYmplY3QpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRJblJlZmVyZW5jZU1ldGFEYXRhcyhkbXNPYmplY3QpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlZlR5cGVzID0+IHJlZlR5cGVzLm1hcChyZWZlcmVuY2VkVHlwZSA9PiB7XG4gICAgICAgICAgICBsZXQgcXVlcnkgPSB0aGlzLmNyZWF0ZUluUmVmZXJlbmNlUXVlcnkoZG1zT2JqZWN0LCByZWZlcmVuY2VkVHlwZSk7XG4gICAgICAgICAgICBkZWxldGUgcXVlcnkuZmllbGRzO1xuICAgICAgICAgICAgcmV0dXJuIHF1ZXJ5O1xuICAgICAgICAgIH0pKSk7XG4gIH1cblxuICBnZXRPdXRSZWZlcmVuY2VzKGRtc09iamVjdDogRG1zT2JqZWN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgb2JzID0gW107XG4gICAgbGV0IG91dFJlZmVyZW5jZU1ldGFEYXRhcztcbiAgICByZXR1cm4gdGhpcy5nZXRPdXRSZWZlcmVuY2VNZXRhRGF0YXMoZG1zT2JqZWN0KS5waXBlKFxuICAgICAgbWVyZ2VNYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIG91dFJlZmVyZW5jZU1ldGFEYXRhcyA9IHJlc3BvbnNlO1xuICAgICAgICAgIG91dFJlZmVyZW5jZU1ldGFEYXRhcy5mb3JFYWNoKG1ldGFEYXRhID0+IHtcbiAgICAgICAgICAgIGxldCBxdWVyeSA9IHRoaXMuY3JlYXRlT3V0UmVmZXJlbmNlUXVlcnkobWV0YURhdGEpO1xuICAgICAgICAgICAgbGV0IHByb21pc2UgPSB0aGlzLmV4ZWN1dGVRdWVyeShxdWVyeSk7XG4gICAgICAgICAgICBvYnMucHVzaChwcm9taXNlKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gb2JzLmxlbmd0aCA+IDAgPyBmb3JrSm9pbihvYnMpIDogb2JzZXJ2YWJsZU9mKFtdKTtcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICAgIG1hcChyZXN1bHRzID0+IHRoaXMubWVyZ2VRdWVyeVJlc3VsdHMocmVzdWx0cywgb3V0UmVmZXJlbmNlTWV0YURhdGFzKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBtZXJnZVF1ZXJ5UmVzdWx0cyhyZXN1bHRzLCBtZXRhRGF0YXMpIHtcbiAgICBsZXQgbWVyZ2VkUmVzdWx0ID0gW107XG4gICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQsIGluZGV4KSA9PiB7XG4gICAgICByZXN1bHQuZm9yRWFjaCgoaGl0KSA9PiBoaXQuX3NvdXJjZS5tZXRhRGF0YSA9IG1ldGFEYXRhc1tpbmRleF0pO1xuICAgICAgbWVyZ2VkUmVzdWx0ID0gbWVyZ2VkUmVzdWx0LmNvbmNhdChyZXN1bHQpO1xuICAgIH0pO1xuICAgIHJldHVybiBtZXJnZWRSZXN1bHQubWFwKG1SID0+IG1SLl9zb3VyY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdXRSZWZlcmVuY2VRdWVyeShvdXRSZWZlcmVuY2VNZXRhRGF0YSkge1xuICAgIGxldCBxdWVyeTtcbiAgICBpZiAob3V0UmVmZXJlbmNlTWV0YURhdGEucmVtb3RlRWxlbWVudCkge1xuICAgICAgcXVlcnkgPSB7XG4gICAgICAgIGZpbHRlcnM6IHt9LFxuICAgICAgICBmaWVsZHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZSddLFxuICAgICAgICB0eXBlczogW291dFJlZmVyZW5jZU1ldGFEYXRhLm9iamVjdFR5cGUubmFtZV0sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBzdWdnZXN0OiB0cnVlLFxuICAgICAgICAgIHNlYXJjaG1vZGU6ICdpZHhzJ1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBxdWVyeS5maWx0ZXJzW291dFJlZmVyZW5jZU1ldGFEYXRhLnJlbW90ZUVsZW1lbnQucW5hbWVdID0ge1xuICAgICAgICBvOiBBcnJheS5pc0FycmF5KG91dFJlZmVyZW5jZU1ldGFEYXRhLnZhbHVlKSA/ICdpbicgOiAnZXEnLFxuICAgICAgICB2MTogb3V0UmVmZXJlbmNlTWV0YURhdGEudmFsdWVcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHF1ZXJ5ID0ge1xuICAgICAgICB0ZXJtOiAnJyxcbiAgICAgICAgZmllbGRzOiBbJ3RpdGxlJywgJ2Rlc2NyaXB0aW9uJ10sXG4gICAgICAgIG9wdGlvbnM6IHtleHBlcnRtb2RlOiB0cnVlfSxcbiAgICAgICAgdHlwZXM6IFtvdXRSZWZlcmVuY2VNZXRhRGF0YS5vYmplY3RUeXBlLm5hbWVdXG4gICAgICB9O1xuICAgICAgb3V0UmVmZXJlbmNlTWV0YURhdGEudmFsdWUuZm9yRWFjaCgodmFsdWUsIGluZGV4LCBhcnIpID0+IHtcbiAgICAgICAgcXVlcnkudGVybSArPSAnX2lkOicgKyB2YWx1ZSArIChpbmRleCA9PT0gYXJyLmxlbmd0aCAtIDEgPyAnJyA6ICcgfHwgJyk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRSZWZlcmVuY2VNZXRhRGF0YXMoZG1zT2JqZWN0OiBEbXNPYmplY3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBtZXRhRGF0YXMgPSBbXTtcbiAgICBsZXQgdHlwZXMgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZXMoKTtcblxuICAgIGxldCBmb3JtRWxlbWVudHMgPSB0eXBlcy5maW5kKHQgPT4gdC5uYW1lID09PSBkbXNPYmplY3QudHlwZU5hbWUpLmVsZW1lbnRzO1xuICAgIGxldCBvdXRSZWZlcmVuY2VGaWVsZHMgPSB0aGlzLmdldE91dFJlZmVyZW5jZUZpZWxkcyhmb3JtRWxlbWVudHMpO1xuXG4gICAgb3V0UmVmZXJlbmNlRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgbGV0IG9iamVjdFR5cGUgPSB0eXBlcy5maW5kKHQgPT4gdC5xbmFtZSA9PT0gZmllbGQucmVmZXJlbmNlLnR5cGUpO1xuICAgICAgaWYgKG9iamVjdFR5cGUgJiYgb2JqZWN0VHlwZS5pc0Fic3RyYWN0KSB7XG4gICAgICAgIGxldCBzdWJUeXBlcyA9IHRoaXMuZ2V0U3ViVHlwZXMob2JqZWN0VHlwZS5uYW1lLCB0eXBlcyk7XG4gICAgICAgIHN1YlR5cGVzLmZvckVhY2goc3ViVHlwZSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVtb3RlRWxlbWVudCA9IGZpZWxkLnR5cGUgPT09ICdTVFJJTkcnID8gc3ViVHlwZS5lbGVtZW50cy5maW5kKGVsID0+IGVsLnFuYW1lID09PSBmaWVsZC5yZWZlcmVuY2UuZWxlbWVudCkgOiBudWxsO1xuICAgICAgICAgICAgbGV0IHZhbHVlcyA9IGRtc09iamVjdC5kYXRhW2ZpZWxkLm5hbWVdO1xuICAgICAgICAgICAgaWYgKHZhbHVlcykge1xuICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlcyA9IFt2YWx1ZXNdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGxldCBtZXRhRGF0YSA9IHtcbiAgICAgICAgICAgICAgICBncm91cEZpZWxkOiBvYmplY3RUeXBlLm5hbWUgKyAocmVtb3RlRWxlbWVudCA/IHJlbW90ZUVsZW1lbnQubGFiZWwgOiAnSUQnKSxcbiAgICAgICAgICAgICAgICByZW1vdGVFbGVtZW50OiByZW1vdGVFbGVtZW50LFxuICAgICAgICAgICAgICAgIG9iamVjdFR5cGU6IHN1YlR5cGUsXG4gICAgICAgICAgICAgICAgZWxlbWVudDogZmllbGQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlc1xuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBtZXRhRGF0YXMucHVzaChtZXRhRGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICB9IGVsc2UgaWYgKG9iamVjdFR5cGUpIHtcbiAgICAgICAgbGV0IHJlbW90ZUVsZW1lbnQgPSBmaWVsZC50eXBlID09PSAnU1RSSU5HJyA/IG9iamVjdFR5cGUuZWxlbWVudHMuZmluZChlbCA9PiBlbC5xbmFtZSA9PT0gZmllbGQucmVmZXJlbmNlLmVsZW1lbnQpIDogbnVsbDtcbiAgICAgICAgbGV0IHZhbHVlcyA9IGRtc09iamVjdC5kYXRhW2ZpZWxkLm5hbWVdO1xuICAgICAgICBpZiAodmFsdWVzKSB7XG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlcykpIHtcbiAgICAgICAgICAgIHZhbHVlcyA9IFt2YWx1ZXNdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsZXQgbWV0YURhdGEgPSB7XG4gICAgICAgICAgICBncm91cEZpZWxkOiBvYmplY3RUeXBlLm5hbWUgKyAocmVtb3RlRWxlbWVudCA/IHJlbW90ZUVsZW1lbnQubGFiZWwgOiAnSUQnKSxcbiAgICAgICAgICAgIHJlbW90ZUVsZW1lbnQ6IHJlbW90ZUVsZW1lbnQsXG4gICAgICAgICAgICBvYmplY3RUeXBlOiBvYmplY3RUeXBlLFxuICAgICAgICAgICAgZWxlbWVudDogZmllbGQsXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWVzXG4gICAgICAgICAgfTtcbiAgICAgICAgICBtZXRhRGF0YXMucHVzaChtZXRhRGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBvYnNlcnZhYmxlT2YobWV0YURhdGFzLmZpbHRlcihtZXRhRGF0YSA9PiAhVXRpbGl0aWVzU2VydmljZS5pc0VtcHR5KG1ldGFEYXRhLnZhbHVlKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRSZWZlcmVuY2VGaWVsZHMoZWxlbWVudHMpIHtcbiAgICBsZXQgb3V0UmVmZXJlbmNlRmllbGRzID0gW107XG4gICAgZWxlbWVudHMuZm9yRWFjaChlbGVtID0+IHtcbiAgICAgIGlmIChlbGVtLnJlZmVyZW5jZSkge1xuICAgICAgICBvdXRSZWZlcmVuY2VGaWVsZHMucHVzaChlbGVtKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gb3V0UmVmZXJlbmNlRmllbGRzO1xuICB9XG5cbiAgZ2V0SW5SZWZlcmVuY2VzKGRtc09iamVjdDogRG1zT2JqZWN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgb2JzID0gW107XG4gICAgbGV0IGluUmVmZXJlbmNlTWV0YURhdGFzID0gW107XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5SZWZlcmVuY2VNZXRhRGF0YXMoZG1zT2JqZWN0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKG1ldGFEYXRhcyA9PiB7XG4gICAgICAgICAgICBtZXRhRGF0YXMuZm9yRWFjaChtZXRhRGF0YSA9PiB7XG4gICAgICAgICAgICAgIGlmIChtZXRhRGF0YS5yZW1vdGVFbGVtZW50LnR5cGUgPT09ICdSRUZFUkVOQ0UnIHx8IGRtc09iamVjdC5kYXRhW21ldGFEYXRhLnJlbW90ZUVsZW1lbnQucmVmZXJlbmNlLmVsZW1lbnQuc3BsaXQoJy4nKVsxXV0pIHtcbiAgICAgICAgICAgICAgICBsZXQgcXVlcnkgPSB0aGlzLmNyZWF0ZUluUmVmZXJlbmNlUXVlcnkoZG1zT2JqZWN0LCBtZXRhRGF0YSk7XG4gICAgICAgICAgICAgICAgbGV0IG9iID0gdGhpcy5leGVjdXRlUXVlcnkocXVlcnkpO1xuICAgICAgICAgICAgICAgIGluUmVmZXJlbmNlTWV0YURhdGFzLnB1c2gobWV0YURhdGEpO1xuICAgICAgICAgICAgICAgIG9icy5wdXNoKG9iKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gb2JzLmxlbmd0aCA+IDAgPyBmb3JrSm9pbihvYnMpIDogb2JzZXJ2YWJsZU9mKFtdKTtcbiAgICAgICAgICB9XG4gICAgICAgICksXG4gICAgICAgIG1hcChyZXN1bHRzID0+IHRoaXMubWVyZ2VRdWVyeVJlc3VsdHMocmVzdWx0cywgaW5SZWZlcmVuY2VNZXRhRGF0YXMpKVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZXhlY3V0ZVF1ZXJ5KHF1ZXJ5OiBvYmplY3QpIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hTZXJ2aWNlXG4gICAgICAuZXhlY3V0ZVF1ZXJ5KHF1ZXJ5LCB1bmRlZmluZWQsIDEwMDAwKVxuICAgICAgLnBpcGUobWFwKHJlcyA9PiByZXMuaGl0cy5oaXRzKSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUluUmVmZXJlbmNlUXVlcnkoZG1zT2JqZWN0OiBEbXNPYmplY3QsIHJlZmVyZW5jZWRUeXBlKSB7XG4gICAgbGV0IHF1ZXJ5O1xuICAgIHF1ZXJ5ID0ge1xuICAgICAgZmlsdGVyczoge30sXG4gICAgICBmaWVsZHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZSddLFxuICAgICAgdHlwZXM6IFtyZWZlcmVuY2VkVHlwZS5vYmplY3RUeXBlLnFuYW1lXSxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgc3VnZ2VzdDogdHJ1ZSxcbiAgICAgICAgc2VhcmNobW9kZTogJ2lkeHMnXG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IHttdWx0aXNlbGVjdCwgcW5hbWV9ID0gcmVmZXJlbmNlZFR5cGUucmVtb3RlRWxlbWVudDtcbiAgICBpZiAocmVmZXJlbmNlZFR5cGUucmVtb3RlRWxlbWVudC50eXBlID09PSAnU1RSSU5HJykge1xuICAgICAgY29uc3QgcmVmZXJlbmNlID0gcmVmZXJlbmNlZFR5cGUucmVtb3RlRWxlbWVudC5yZWZlcmVuY2UuZWxlbWVudC5zcGxpdCgnLicpWzFdO1xuICAgICAgcXVlcnkuZmlsdGVyc1txbmFtZV0gPSB7XG4gICAgICAgIG86IG11bHRpc2VsZWN0ID8gJ2luJyA6ICdlcScsXG4gICAgICAgIHYxOiBtdWx0aXNlbGVjdCAmJiAhQXJyYXkuaXNBcnJheShkbXNPYmplY3QuZGF0YVtyZWZlcmVuY2VdKSA/IFtkbXNPYmplY3QuZGF0YVtyZWZlcmVuY2VdXSA6IGRtc09iamVjdC5kYXRhW3JlZmVyZW5jZV1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHF1ZXJ5LmZpbHRlcnNbcW5hbWVdID0ge1xuICAgICAgICBvOiBtdWx0aXNlbGVjdCA/ICdpbicgOiAnZXEnLFxuICAgICAgICB2MTogbXVsdGlzZWxlY3QgPyBbZG1zT2JqZWN0LmlkXSA6IGRtc09iamVjdC5pZFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJblJlZmVyZW5jZU1ldGFEYXRhcyhkbXNPYmplY3Q6IERtc09iamVjdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHR5cGVzID0gdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldE9iamVjdFR5cGVzKCk7XG4gICAgbGV0IHN1cGVyVHlwZXMgPSB0aGlzLmdldFN1cGVyVHlwZXMoZG1zT2JqZWN0LnR5cGVOYW1lLCB0eXBlcyk7XG4gICAgbGV0IG1ldGFEYXRhcyA9IFtdO1xuXG4gICAgdHlwZXMuZm9yRWFjaChvYmplY3RUeXBlID0+IHtcbiAgICAgIGlmICghb2JqZWN0VHlwZS5pc0Fic3RyYWN0KSB7XG4gICAgICAgIG9iamVjdFR5cGUuZWxlbWVudHNcbiAgICAgICAgICAuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChlbGVtZW50LnJlZmVyZW5jZSAmJiAoZWxlbWVudC5yZWZlcmVuY2UudHlwZSA9PT0gZG1zT2JqZWN0LnR5cGUubmFtZSB8fCB0aGlzLmlzUmVmZXJlbmNlT25TdXBlclR5cGUoZWxlbWVudC5yZWZlcmVuY2UudHlwZSwgc3VwZXJUeXBlcykpKSB7XG4gICAgICAgICAgICAgIGxldCBtZXRhRGF0YSA9IHtcbiAgICAgICAgICAgICAgICBncm91cEZpZWxkOiBvYmplY3RUeXBlLm5hbWUgKyBlbGVtZW50LmxhYmVsLFxuICAgICAgICAgICAgICAgIG9iamVjdFR5cGU6IG9iamVjdFR5cGUsXG4gICAgICAgICAgICAgICAgcmVtb3RlRWxlbWVudDogZWxlbWVudFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBtZXRhRGF0YXMucHVzaChtZXRhRGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG9ic2VydmFibGVPZihtZXRhRGF0YXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1JlZmVyZW5jZU9uU3VwZXJUeXBlKHR5cGVOYW1lLCBzdXBlclR5cGVzKSB7XG4gICAgbGV0IGlzUmVmZXJlbmNlT25TdXBlclR5cGUgPSBmYWxzZTtcbiAgICBzdXBlclR5cGVzLmZvckVhY2goc3VwZXJUeXBlID0+IHtcbiAgICAgICAgaWYgKHN1cGVyVHlwZS5xbmFtZSA9PT0gdHlwZU5hbWUpIHtcbiAgICAgICAgICBpc1JlZmVyZW5jZU9uU3VwZXJUeXBlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIGlzUmVmZXJlbmNlT25TdXBlclR5cGU7XG4gIH1cblxuICBwcml2YXRlIGdldFN1cGVyVHlwZXModHlwZU5hbWUsIHR5cGVzKSB7XG4gICAgbGV0IHN1cGVyVHlwZXMgPSBbXTtcbiAgICBsZXQgdHlwZURlZmluaXRpb24gPSB0eXBlcy5maW5kKHQgPT4gdC5xbmFtZSA9PT0gdHlwZU5hbWUpO1xuXG4gICAgaWYgKHR5cGVEZWZpbml0aW9uICYmIHR5cGVEZWZpbml0aW9uLnN1cGVydHlwZXMpIHtcbiAgICAgIHR5cGVEZWZpbml0aW9uLnN1cGVydHlwZXNcbiAgICAgICAgLmZvckVhY2goc1R5cGUgPT4ge1xuICAgICAgICAgIHN1cGVyVHlwZXMgPSBzdXBlclR5cGVzLmNvbmNhdCh0aGlzLmdldFN1cGVyVHlwZXMoc1R5cGUsIHR5cGVzKSk7XG4gICAgICAgICAgbGV0IHN1cGVyVHlwZSA9IHR5cGVzLmZpbmQodCA9PiB0LnFuYW1lID09PSBzVHlwZSk7XG4gICAgICAgICAgaWYgKHN1cGVyVHlwZSkge1xuICAgICAgICAgICAgc3VwZXJUeXBlcy5wdXNoKHN1cGVyVHlwZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyVHlwZXM7XG4gIH1cblxuICBwcml2YXRlIGdldFN1YlR5cGVzKHR5cGVOYW1lLCB0eXBlcykge1xuICAgIGxldCBzdWJUeXBlcyA9IFtdO1xuICAgIHR5cGVzLmZvckVhY2gob2JqZWN0VHlwZSA9PiB7XG4gICAgICBpZiAoISFvYmplY3RUeXBlLnN1cGVydHlwZXMuZmluZChzVCA9PiBzVCA9PT0gdHlwZU5hbWUpKSB7XG4gICAgICAgIHN1YlR5cGVzLnB1c2gob2JqZWN0VHlwZSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHN1YlR5cGVzO1xuICB9XG5cbiAgZmV0Y2hJRFJlZmVyZW5jZU1ldGFEYXRhKHZhbHVlcyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IHF1ZXJ5ID0ge1xuICAgICAgdGVybTogJycsXG4gICAgICBmaWVsZHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZSddLFxuICAgICAgb3B0aW9uczoge2V4cGVydG1vZGU6IHRydWV9XG4gICAgfTtcbiAgICB2YWx1ZXMuZm9yRWFjaCgodmFsLCBpbmRleCwgYXJyKSA9PiB7XG4gICAgICBxdWVyeS50ZXJtICs9ICdfaWQ6JyArIHZhbCArIChpbmRleCA9PT0gYXJyLmxlbmd0aCAtIDEgPyAnJyA6ICcgfHwgJyk7XG4gICAgfSk7XG4gICAgcmV0dXJuICFxdWVyeS50ZXJtID8gb2JzZXJ2YWJsZU9mKFtdKSA6IHRoaXMuZXhlY3V0ZVF1ZXJ5KHF1ZXJ5KS5waXBlKFxuICAgICAgbWFwKGhpdHMgPT4ge1xuICAgICAgICByZXR1cm4gaGl0cy5tYXAoaGl0ID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IGhpdC5fc291cmNlLmlkLFxuICAgICAgICAgICAgdGl0bGU6IGhpdC5fc291cmNlLnRpdGxlLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IGhpdC5fc291cmNlLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgdHlwZTogaGl0Ll9zb3VyY2UudHlwZVxuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay1jb3JlL3JlZmVyZW5jZXMvcmVmZXJlbmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBYSxRQUFRLEVBQUUsRUFBRSxJQUFJLFlBQVksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUU5RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxvREFBb0QsQ0FBQzs7O0FBR3BGLE1BQU0sT0FBTyxnQkFBZ0I7SUFFM0IsWUFBb0IsYUFBNEIsRUFDNUIsYUFBNEI7UUFENUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFDaEQsQ0FBQztJQUVELFVBQVUsQ0FBQyxTQUFvQjtRQUM3QixNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUMvRixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoSSxDQUFDO0lBRU8sc0JBQXNCLENBQUMsU0FBb0I7UUFDakQsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUNsRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FB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RyxDQUFDLE9BQU8sQ0FBQyxJQUFJO2lCQUN2QixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs4R0F6U1UsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge21hcCwgbWVyZ2VNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIGZvcmtKb2luLCBvZiBhcyBvYnNlcnZhYmxlT2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtTZWFyY2hTZXJ2aWNlLCBTeXN0ZW1TZXJ2aWNlLCBEbXNPYmplY3R9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1V0aWxpdGllc1NlcnZpY2V9IGZyb20gJy4uLy4uL2VvLWZyYW1ld29yay91dGlsL3NlcnZpY2VzL3V0aWxpdGllcy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlZmVyZW5jZVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2VhcmNoU2VydmljZTogU2VhcmNoU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzeXN0ZW1TZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlKSB7XG4gIH1cblxuICBnZXRRdWVyaWVzKGRtc09iamVjdDogRG1zT2JqZWN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCByZXN1bHQgPSBbdGhpcy5nZXRPdXRSZWZlcmVuY2VRdWVyaWVzKGRtc09iamVjdCksIHRoaXMuZ2V0SW5SZWZlcmVuY2VRdWVyaWVzKGRtc09iamVjdCldO1xuICAgIHJldHVybiBmb3JrSm9pbihyZXN1bHQpLnBpcGUobWFwKChbb3V0UmVmZXJlbmNlUXVlcmllcywgaW5SZWZlcmVuY2VRdWVyaWVzXSkgPT4gKHtvdXRSZWZlcmVuY2VRdWVyaWVzLCBpblJlZmVyZW5jZVF1ZXJpZXN9KSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRSZWZlcmVuY2VRdWVyaWVzKGRtc09iamVjdDogRG1zT2JqZWN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRPdXRSZWZlcmVuY2VNZXRhRGF0YXMoZG1zT2JqZWN0KS5waXBlKFxuICAgICAgbWFwKHJlcyA9PiByZXMubWFwKG1ldGFEYXRhID0+IHtcbiAgICAgICAgICBsZXQgcXVlcnkgPSB0aGlzLmNyZWF0ZU91dFJlZmVyZW5jZVF1ZXJ5KG1ldGFEYXRhKTtcbiAgICAgICAgICBkZWxldGUgcXVlcnkuZmllbGRzO1xuICAgICAgICAgIHJldHVybiBxdWVyeTtcbiAgICAgICAgfSkpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5SZWZlcmVuY2VRdWVyaWVzKGRtc09iamVjdDogRG1zT2JqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW5SZWZlcmVuY2VNZXRhRGF0YXMoZG1zT2JqZWN0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZWZUeXBlcyA9PiByZWZUeXBlcy5tYXAocmVmZXJlbmNlZFR5cGUgPT4ge1xuICAgICAgICAgICAgbGV0IHF1ZXJ5ID0gdGhpcy5jcmVhdGVJblJlZmVyZW5jZVF1ZXJ5KGRtc09iamVjdCwgcmVmZXJlbmNlZFR5cGUpO1xuICAgICAgICAgICAgZGVsZXRlIHF1ZXJ5LmZpZWxkcztcbiAgICAgICAgICAgIHJldHVybiBxdWVyeTtcbiAgICAgICAgICB9KSkpO1xuICB9XG5cbiAgZ2V0T3V0UmVmZXJlbmNlcyhkbXNPYmplY3Q6IERtc09iamVjdCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgbGV0IG9icyA9IFtdO1xuICAgIGxldCBvdXRSZWZlcmVuY2VNZXRhRGF0YXM7XG4gICAgcmV0dXJuIHRoaXMuZ2V0T3V0UmVmZXJlbmNlTWV0YURhdGFzKGRtc09iamVjdCkucGlwZShcbiAgICAgIG1lcmdlTWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBvdXRSZWZlcmVuY2VNZXRhRGF0YXMgPSByZXNwb25zZTtcbiAgICAgICAgICBvdXRSZWZlcmVuY2VNZXRhRGF0YXMuZm9yRWFjaChtZXRhRGF0YSA9PiB7XG4gICAgICAgICAgICBsZXQgcXVlcnkgPSB0aGlzLmNyZWF0ZU91dFJlZmVyZW5jZVF1ZXJ5KG1ldGFEYXRhKTtcbiAgICAgICAgICAgIGxldCBwcm9taXNlID0gdGhpcy5leGVjdXRlUXVlcnkocXVlcnkpO1xuICAgICAgICAgICAgb2JzLnB1c2gocHJvbWlzZSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIG9icy5sZW5ndGggPiAwID8gZm9ya0pvaW4ob2JzKSA6IG9ic2VydmFibGVPZihbXSk7XG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICBtYXAocmVzdWx0cyA9PiB0aGlzLmdyb3VwUmVzdWx0cyh0aGlzLm1lcmdlUXVlcnlSZXN1bHRzKHJlc3VsdHMsIG91dFJlZmVyZW5jZU1ldGFEYXRhcykpKSk7XG4gIH1cblxuICBwcml2YXRlIG1lcmdlUXVlcnlSZXN1bHRzKHJlc3VsdHMsIG1ldGFEYXRhcykge1xuICAgIGxldCBtZXJnZWRSZXN1bHQgPSBbXTtcbiAgICByZXN1bHRzLmZvckVhY2goKHJlc3VsdCwgaW5kZXgpID0+IHtcbiAgICAgIHJlc3VsdC5mb3JFYWNoKChoaXQpID0+IGhpdC5fc291cmNlLm1ldGFEYXRhID0gbWV0YURhdGFzW2luZGV4XSk7XG4gICAgICBtZXJnZWRSZXN1bHQgPSBtZXJnZWRSZXN1bHQuY29uY2F0KHJlc3VsdCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG1lcmdlZFJlc3VsdC5tYXAobVIgPT4gbVIuX3NvdXJjZSk7XG4gIH1cblxuICBwcml2YXRlIGdyb3VwUmVzdWx0cyhyZXN1bHRzKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlcyA9IFtdO1xuICAgIHJlc3VsdHMuZm9yRWFjaChyZXMgPT4ge1xuICAgICAgY29uc3QgcmVmSW5kZXggPSByZWZlcmVuY2VzLmZpbmRJbmRleChyZWYgPT4gcmVmLnRpdGxlID09PSByZXMubWV0YURhdGEub2JqZWN0VHlwZS5sYWJlbCk7XG4gICAgICBpZiAocmVmSW5kZXggIT09IC0xKSB7XG4gICAgICAgIHJlZmVyZW5jZXNbcmVmSW5kZXhdLmZvbGRlci5wdXNoKHtcbiAgICAgICAgICBpZDogcmVzLmlkLFxuICAgICAgICAgIHRpdGxlOiByZXMudGl0bGUsXG4gICAgICAgICAgZGVzY3JpcHRpb246IHJlcy5kZXNjcmlwdGlvbixcbiAgICAgICAgICByZWZlcmVuY2VmaWVsZDogcmVzLm1ldGFEYXRhLmVsZW1lbnQucW5hbWUsXG4gICAgICAgICAgZmllbGRMYWJlbDogcmVzLm1ldGFEYXRhLmVsZW1lbnQubGFiZWxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZWZlcmVuY2VzLnB1c2goe1xuICAgICAgICAgIHRpdGxlOiByZXMubWV0YURhdGEub2JqZWN0VHlwZS5sYWJlbCxcbiAgICAgICAgICBvYmplY3RUeXBlOiByZXMubWV0YURhdGEub2JqZWN0VHlwZSxcbiAgICAgICAgICBmb2xkZXI6IFt7XG4gICAgICAgICAgICBpZDogcmVzLmlkLFxuICAgICAgICAgICAgdGl0bGU6IHJlcy50aXRsZSxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiByZXMuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICByZWZlcmVuY2VmaWVsZDogcmVzLm1ldGFEYXRhLmVsZW1lbnQucW5hbWUsXG4gICAgICAgICAgICBmaWVsZExhYmVsOiByZXMubWV0YURhdGEuZWxlbWVudC5sYWJlbFxuICAgICAgICAgIH1dXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZWZlcmVuY2VzO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdXRSZWZlcmVuY2VRdWVyeShvdXRSZWZlcmVuY2VNZXRhRGF0YSkge1xuICAgIGxldCBxdWVyeTtcbiAgICBpZiAob3V0UmVmZXJlbmNlTWV0YURhdGEucmVtb3RlRWxlbWVudCkge1xuICAgICAgcXVlcnkgPSB7XG4gICAgICAgIGZpbHRlcnM6IHt9LFxuICAgICAgICBmaWVsZHM6IFsndGl0bGUnLCAnZGVzY3JpcHRpb24nLCAndHlwZSddLFxuICAgICAgICB0eXBlczogW291dFJlZmVyZW5jZU1ldGFEYXRhLm9iamVjdFR5cGUubmFtZV0sXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBzdWdnZXN0OiB0cnVlLFxuICAgICAgICAgIHNlYXJjaG1vZGU6ICdpZHhzJ1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBxdWVyeS5maWx0ZXJzW291dFJlZmVyZW5jZU1ldGFEYXRhLnJlbW90ZUVsZW1lbnQucW5hbWVdID0ge1xuICAgICAgICBvOiBBcnJheS5pc0FycmF5KG91dFJlZmVyZW5jZU1ldGFEYXRhLnZhbHVlKSA/ICdpbicgOiAnZXEnLFxuICAgICAgICB2MTogb3V0UmVmZXJlbmNlTWV0YURhdGEudmFsdWVcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHF1ZXJ5ID0ge1xuICAgICAgICB0ZXJtOiAnJyxcbiAgICAgICAgZmllbGRzOiBbJ3RpdGxlJywgJ2Rlc2NyaXB0aW9uJ10sXG4gICAgICAgIG9wdGlvbnM6IHtleHBlcnRtb2RlOiB0cnVlfSxcbiAgICAgICAgdHlwZXM6IFtvdXRSZWZlcmVuY2VNZXRhRGF0YS5vYmplY3RUeXBlLm5hbWVdXG4gICAgICB9O1xuICAgICAgb3V0UmVmZXJlbmNlTWV0YURhdGEudmFsdWUuZm9yRWFjaCgodmFsdWUsIGluZGV4LCBhcnIpID0+IHtcbiAgICAgICAgcXVlcnkudGVybSArPSAnX2lkOicgKyB2YWx1ZSArIChpbmRleCA9PT0gYXJyLmxlbmd0aCAtIDEgPyAnJyA6ICcgfHwgJyk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRSZWZlcmVuY2VNZXRhRGF0YXMoZG1zT2JqZWN0OiBEbXNPYmplY3QpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGxldCBtZXRhRGF0YXMgPSBbXTtcbiAgICBsZXQgdHlwZXMgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZXMoKTtcblxuICAgIGxldCBmb3JtRWxlbWVudHMgPSB0eXBlcy5maW5kKHQgPT4gdC5uYW1lID09PSBkbXNPYmplY3QudHlwZU5hbWUpLmVsZW1lbnRzO1xuICAgIGxldCBvdXRSZWZlcmVuY2VGaWVsZHMgPSB0aGlzLmdldE91dFJlZmVyZW5jZUZpZWxkcyhmb3JtRWxlbWVudHMpO1xuXG4gICAgb3V0UmVmZXJlbmNlRmllbGRzLmZvckVhY2goZmllbGQgPT4ge1xuICAgICAgbGV0IG9iamVjdFR5cGUgPSB0eXBlcy5maW5kKHQgPT4gdC5xbmFtZSA9PT0gZmllbGQucmVmZXJlbmNlLnR5cGUpO1xuICAgICAgaWYgKG9iamVjdFR5cGUgJiYgb2JqZWN0VHlwZS5pc0Fic3RyYWN0KSB7XG4gICAgICAgIGxldCBzdWJUeXBlcyA9IHRoaXMuZ2V0U3ViVHlwZXMob2JqZWN0VHlwZS5uYW1lLCB0eXBlcyk7XG4gICAgICAgIHN1YlR5cGVzLmZvckVhY2goc3ViVHlwZSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVtb3RlRWxlbWVudCA9IGZpZWxkLnR5cGUgPT09ICdTVFJJTkcnID8gc3ViVHlwZS5lbGVtZW50cy5maW5kKGVsID0+IGVsLnFuYW1lID09PSBmaWVsZC5yZWZlcmVuY2UuZWxlbWVudCkgOiBudWxsO1xuICAgICAgICAgICAgbGV0IHZhbHVlcyA9IGRtc09iamVjdC5kYXRhW2ZpZWxkLm5hbWVdO1xuICAgICAgICAgICAgaWYgKHZhbHVlcykge1xuICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgICAgICAgICAgIHZhbHVlcyA9IFt2YWx1ZXNdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGxldCBtZXRhRGF0YSA9IHtcbiAgICAgICAgICAgICAgICBncm91cEZpZWxkOiBvYmplY3RUeXBlLm5hbWUgKyAocmVtb3RlRWxlbWVudCA/IHJlbW90ZUVsZW1lbnQubGFiZWwgOiAnSUQnKSxcbiAgICAgICAgICAgICAgICByZW1vdGVFbGVtZW50OiByZW1vdGVFbGVtZW50LFxuICAgICAgICAgICAgICAgIG9iamVjdFR5cGU6IHN1YlR5cGUsXG4gICAgICAgICAgICAgICAgZWxlbWVudDogZmllbGQsXG4gICAgICAgICAgICAgICAgdmFsdWU6IHZhbHVlc1xuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBtZXRhRGF0YXMucHVzaChtZXRhRGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICB9IGVsc2UgaWYgKG9iamVjdFR5cGUpIHtcbiAgICAgICAgbGV0IHJlbW90ZUVsZW1lbnQgPSBmaWVsZC50eXBlID09PSAnU1RSSU5HJyA/IG9iamVjdFR5cGUuZWxlbWVudHMuZmluZChlbCA9PiBlbC5xbmFtZSA9PT0gZmllbGQucmVmZXJlbmNlLmVsZW1lbnQpIDogbnVsbDtcbiAgICAgICAgbGV0IHZhbHVlcyA9IGRtc09iamVjdC5kYXRhW2ZpZWxkLm5hbWVdO1xuICAgICAgICBpZiAodmFsdWVzKSB7XG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlcykpIHtcbiAgICAgICAgICAgIHZhbHVlcyA9IFt2YWx1ZXNdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsZXQgbWV0YURhdGEgPSB7XG4gICAgICAgICAgICBncm91cEZpZWxkOiBvYmplY3RUeXBlLm5hbWUgKyAocmVtb3RlRWxlbWVudCA/IHJlbW90ZUVsZW1lbnQubGFiZWwgOiAnSUQnKSxcbiAgICAgICAgICAgIHJlbW90ZUVsZW1lbnQ6IHJlbW90ZUVsZW1lbnQsXG4gICAgICAgICAgICBvYmplY3RUeXBlOiBvYmplY3RUeXBlLFxuICAgICAgICAgICAgZWxlbWVudDogZmllbGQsXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWVzXG4gICAgICAgICAgfTtcbiAgICAgICAgICBtZXRhRGF0YXMucHVzaChtZXRhRGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBvYnNlcnZhYmxlT2YobWV0YURhdGFzLmZpbHRlcihtZXRhRGF0YSA9PiAhVXRpbGl0aWVzU2VydmljZS5pc0VtcHR5KG1ldGFEYXRhLnZhbHVlKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPdXRSZWZlcmVuY2VGaWVsZHMoZWxlbWVudHMpIHtcbiAgICBsZXQgb3V0UmVmZXJlbmNlRmllbGRzID0gW107XG4gICAgZWxlbWVudHMuZm9yRWFjaChlbGVtID0+IHtcbiAgICAgIGlmIChlbGVtLnJlZmVyZW5jZSkge1xuICAgICAgICBvdXRSZWZlcmVuY2VGaWVsZHMucHVzaChlbGVtKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gb3V0UmVmZXJlbmNlRmllbGRzO1xuICB9XG5cbiAgZ2V0SW5SZWZlcmVuY2VzKGRtc09iamVjdDogRG1zT2JqZWN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hTZXJ2aWNlLmdldFJlZmVyZW5jZVRyZWUoZG1zT2JqZWN0LmlkLCBkbXNPYmplY3QudHlwZU5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBleGVjdXRlUXVlcnkocXVlcnk6IG9iamVjdCkge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaFNlcnZpY2VcbiAgICAgIC5leGVjdXRlUXVlcnkocXVlcnksIHVuZGVmaW5lZCwgMTAwMDApXG4gICAgICAucGlwZShtYXAocmVzID0+IHJlcy5oaXRzLmhpdHMpKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW5SZWZlcmVuY2VRdWVyeShkbXNPYmplY3Q6IERtc09iamVjdCwgcmVmZXJlbmNlZFR5cGUpIHtcbiAgICBsZXQgcXVlcnk7XG4gICAgcXVlcnkgPSB7XG4gICAgICBmaWx0ZXJzOiB7fSxcbiAgICAgIGZpZWxkczogWyd0aXRsZScsICdkZXNjcmlwdGlvbicsICd0eXBlJ10sXG4gICAgICB0eXBlczogW3JlZmVyZW5jZWRUeXBlLm9iamVjdFR5cGUucW5hbWVdLFxuICAgICAgb3B0aW9uczoge1xuICAgICAgICBzdWdnZXN0OiB0cnVlLFxuICAgICAgICBzZWFyY2htb2RlOiAnaWR4cydcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qge211bHRpc2VsZWN0LCBxbmFtZX0gPSByZWZlcmVuY2VkVHlwZS5yZW1vdGVFbGVtZW50O1xuICAgIGlmIChyZWZlcmVuY2VkVHlwZS5yZW1vdGVFbGVtZW50LnR5cGUgPT09ICdTVFJJTkcnKSB7XG4gICAgICBjb25zdCByZWZlcmVuY2UgPSByZWZlcmVuY2VkVHlwZS5yZW1vdGVFbGVtZW50LnJlZmVyZW5jZS5lbGVtZW50LnNwbGl0KCcuJylbMV07XG4gICAgICBxdWVyeS5maWx0ZXJzW3FuYW1lXSA9IHtcbiAgICAgICAgbzogbXVsdGlzZWxlY3QgPyAnaW4nIDogJ2VxJyxcbiAgICAgICAgdjE6IG11bHRpc2VsZWN0ICYmICFBcnJheS5pc0FycmF5KGRtc09iamVjdC5kYXRhW3JlZmVyZW5jZV0pID8gW2Rtc09iamVjdC5kYXRhW3JlZmVyZW5jZV1dIDogZG1zT2JqZWN0LmRhdGFbcmVmZXJlbmNlXVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcXVlcnkuZmlsdGVyc1txbmFtZV0gPSB7XG4gICAgICAgIG86IG11bHRpc2VsZWN0ID8gJ2luJyA6ICdlcScsXG4gICAgICAgIHYxOiBtdWx0aXNlbGVjdCA/IFtkbXNPYmplY3QuaWRdIDogZG1zT2JqZWN0LmlkXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnk7XG4gIH1cblxuICBwcml2YXRlIGdldEluUmVmZXJlbmNlTWV0YURhdGFzKGRtc09iamVjdDogRG1zT2JqZWN0KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgdHlwZXMgPSB0aGlzLnN5c3RlbVNlcnZpY2UuZ2V0T2JqZWN0VHlwZXMoKTtcbiAgICBsZXQgc3VwZXJUeXBlcyA9IHRoaXMuZ2V0U3VwZXJUeXBlcyhkbXNPYmplY3QudHlwZU5hbWUsIHR5cGVzKTtcbiAgICBsZXQgbWV0YURhdGFzID0gW107XG5cbiAgICB0eXBlcy5mb3JFYWNoKG9iamVjdFR5cGUgPT4ge1xuICAgICAgaWYgKCFvYmplY3RUeXBlLmlzQWJzdHJhY3QpIHtcbiAgICAgICAgb2JqZWN0VHlwZS5lbGVtZW50c1xuICAgICAgICAgIC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgaWYgKGVsZW1lbnQucmVmZXJlbmNlICYmIChlbGVtZW50LnJlZmVyZW5jZS50eXBlID09PSBkbXNPYmplY3QudHlwZS5uYW1lIHx8IHRoaXMuaXNSZWZlcmVuY2VPblN1cGVyVHlwZShlbGVtZW50LnJlZmVyZW5jZS50eXBlLCBzdXBlclR5cGVzKSkpIHtcbiAgICAgICAgICAgICAgbGV0IG1ldGFEYXRhID0ge1xuICAgICAgICAgICAgICAgIGdyb3VwRmllbGQ6IG9iamVjdFR5cGUubmFtZSArIGVsZW1lbnQubGFiZWwsXG4gICAgICAgICAgICAgICAgb2JqZWN0VHlwZTogb2JqZWN0VHlwZSxcbiAgICAgICAgICAgICAgICByZW1vdGVFbGVtZW50OiBlbGVtZW50XG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIG1ldGFEYXRhcy5wdXNoKG1ldGFEYXRhKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKG1ldGFEYXRhcyk7XG4gIH1cblxuICBwcml2YXRlIGlzUmVmZXJlbmNlT25TdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZXMpIHtcbiAgICBsZXQgaXNSZWZlcmVuY2VPblN1cGVyVHlwZSA9IGZhbHNlO1xuICAgIHN1cGVyVHlwZXMuZm9yRWFjaChzdXBlclR5cGUgPT4ge1xuICAgICAgICBpZiAoc3VwZXJUeXBlLnFuYW1lID09PSB0eXBlTmFtZSkge1xuICAgICAgICAgIGlzUmVmZXJlbmNlT25TdXBlclR5cGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gaXNSZWZlcmVuY2VPblN1cGVyVHlwZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3VwZXJUeXBlcyh0eXBlTmFtZSwgdHlwZXMpIHtcbiAgICBsZXQgc3VwZXJUeXBlcyA9IFtdO1xuICAgIGxldCB0eXBlRGVmaW5pdGlvbiA9IHR5cGVzLmZpbmQodCA9PiB0LnFuYW1lID09PSB0eXBlTmFtZSk7XG5cbiAgICBpZiAodHlwZURlZmluaXRpb24gJiYgdHlwZURlZmluaXRpb24uc3VwZXJ0eXBlcykge1xuICAgICAgdHlwZURlZmluaXRpb24uc3VwZXJ0eXBlc1xuICAgICAgICAuZm9yRWFjaChzVHlwZSA9PiB7XG4gICAgICAgICAgc3VwZXJUeXBlcyA9IHN1cGVyVHlwZXMuY29uY2F0KHRoaXMuZ2V0U3VwZXJUeXBlcyhzVHlwZSwgdHlwZXMpKTtcbiAgICAgICAgICBsZXQgc3VwZXJUeXBlID0gdHlwZXMuZmluZCh0ID0+IHQucW5hbWUgPT09IHNUeXBlKTtcbiAgICAgICAgICBpZiAoc3VwZXJUeXBlKSB7XG4gICAgICAgICAgICBzdXBlclR5cGVzLnB1c2goc3VwZXJUeXBlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXJUeXBlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3ViVHlwZXModHlwZU5hbWUsIHR5cGVzKSB7XG4gICAgbGV0IHN1YlR5cGVzID0gW107XG4gICAgdHlwZXMuZm9yRWFjaChvYmplY3RUeXBlID0+IHtcbiAgICAgIGlmICghIW9iamVjdFR5cGUuc3VwZXJ0eXBlcy5maW5kKHNUID0+IHNUID09PSB0eXBlTmFtZSkpIHtcbiAgICAgICAgc3ViVHlwZXMucHVzaChvYmplY3RUeXBlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gc3ViVHlwZXM7XG4gIH1cblxuICBmZXRjaElEUmVmZXJlbmNlTWV0YURhdGEodmFsdWVzKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgcXVlcnkgPSB7XG4gICAgICB0ZXJtOiAnJyxcbiAgICAgIGZpZWxkczogWyd0aXRsZScsICdkZXNjcmlwdGlvbicsICd0eXBlJ10sXG4gICAgICBvcHRpb25zOiB7ZXhwZXJ0bW9kZTogdHJ1ZX1cbiAgICB9O1xuICAgIHZhbHVlcy5mb3JFYWNoKCh2YWwsIGluZGV4LCBhcnIpID0+IHtcbiAgICAgIHF1ZXJ5LnRlcm0gKz0gJ19pZDonICsgdmFsICsgKGluZGV4ID09PSBhcnIubGVuZ3RoIC0gMSA/ICcnIDogJyB8fCAnKTtcbiAgICB9KTtcbiAgICByZXR1cm4gIXF1ZXJ5LnRlcm0gPyBvYnNlcnZhYmxlT2YoW10pIDogdGhpcy5leGVjdXRlUXVlcnkocXVlcnkpLnBpcGUoXG4gICAgICBtYXAoaGl0cyA9PiB7XG4gICAgICAgIHJldHVybiBoaXRzLm1hcChoaXQgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogaGl0Ll9zb3VyY2UuaWQsXG4gICAgICAgICAgICB0aXRsZTogaGl0Ll9zb3VyY2UudGl0bGUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogaGl0Ll9zb3VyY2UuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICB0eXBlOiBoaXQuX3NvdXJjZS50eXBlXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiJdfQ==