@colijnit/sharedcomponents 255.1.16 → 255.1.18

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 (41) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +60 -36
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.metadata.json +1 -1
  4. package/esm2015/lib/components/email-selector/email-selector.component.js +21 -16
  5. package/esm2015/lib/components/file-upload/file-upload.component.js +4 -1
  6. package/esm2015/lib/components/files-upload/files-upload.component.js +30 -20
  7. package/esm2015/lib/components/role-email-selector/role-email-selector.component.js +41 -21
  8. package/esm2015/lib/components/task-creator/task-creator.component.js +41 -35
  9. package/esm2015/lib/components/task-creator/task-creator.module.js +4 -3
  10. package/esm2015/lib/enum/icon.enum.js +3 -1
  11. package/esm2015/lib/enum/keyboard-code.enum.js +2 -1
  12. package/esm2015/lib/model/icon-svg.js +3 -1
  13. package/esm2015/lib/service/shared.service.js +2 -2
  14. package/fesm2015/colijnit-sharedcomponents.js +138 -86
  15. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  16. package/lib/components/access/style/_layout.scss +16 -14
  17. package/lib/components/activity-list/style/_layout.scss +1 -1
  18. package/lib/components/activity-list-header/components/period-filter/style/_layout.scss +4 -4
  19. package/lib/components/activity-list-header/style/_layout.scss +1 -1
  20. package/lib/components/activity-overview-component/style/_layout.scss +1 -1
  21. package/lib/components/app-file-dropzone/style/_layout.scss +1 -1
  22. package/lib/components/email-selector/email-selector.component.d.ts +0 -4
  23. package/lib/components/email-selector/style/_layout.scss +34 -1
  24. package/lib/components/file-upload/file-upload.component.d.ts +1 -0
  25. package/lib/components/file-upload/style/_layout.scss +13 -3
  26. package/lib/components/files-upload/style/_layout.scss +35 -2
  27. package/lib/components/modify-task-form/components/activity-summary-block/style/_layout.scss +113 -100
  28. package/lib/components/modify-task-form/components/notification-summary-block/style/_layout.scss +110 -98
  29. package/lib/components/modify-task-form/components/status-summary-block/style/_layout.scss +2 -2
  30. package/lib/components/modify-task-form/components/task-details/style/_layout.scss +6 -6
  31. package/lib/components/modify-task-form/style/_layout.scss +5 -5
  32. package/lib/components/open-activity-list/components/personal-activity-overview/style/_layout.scss +2 -2
  33. package/lib/components/role-email-selector/role-email-selector.component.d.ts +10 -4
  34. package/lib/components/role-email-selector/style/_layout.scss +9 -2
  35. package/lib/components/role-email-selector/style/_material-definition.scss +4 -4
  36. package/lib/components/stock/style/_layout.scss +2 -2
  37. package/lib/components/task-creator/style/_layout.scss +39 -10
  38. package/lib/enum/icon.enum.d.ts +2 -0
  39. package/lib/enum/keyboard-code.enum.d.ts +2 -1
  40. package/lib/service/shared.service.d.ts +1 -2
  41. package/package.json +2 -2
@@ -1,16 +1,15 @@
1
1
  import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, HostBinding, Input, Output, ViewChild } from "@angular/core";
2
+ import { Component, EventEmitter, HostBinding, Input, Output } from "@angular/core";
3
3
  import { Icon } from "../../enum/icon.enum";
4
4
  import { IconCacheService } from "../../service/icon-cache.service";
5
5
  import { SharedService } from "../../service/shared.service";
6
- import { RoleEmailSelectorComponent } from "../role-email-selector/role-email-selector.component";
7
6
  export class EmailSelectorComponent {
8
7
  constructor(iconService, sharedService) {
9
8
  this.iconService = iconService;
10
9
  this.sharedService = sharedService;
11
10
  this.icons = Icon;
12
11
  this.showBCC = false;
13
- this.buttonIcon = this.iconService.getIcon(this.icons.PlusSimple);
12
+ this.buttonIcon = this.iconService.getIcon(this.icons.SquarePlusRegular);
14
13
  this.emailAddressesChange = new EventEmitter();
15
14
  this.bccEmailAddressesChange = new EventEmitter();
16
15
  this._emailAddresses = [];
@@ -72,10 +71,6 @@ export class EmailSelectorComponent {
72
71
  handleBccEmailAddressesChanged() {
73
72
  this.bccEmailAddressesChange.emit(this.bccEmailAddresses);
74
73
  }
75
- clear() {
76
- this.email.clear();
77
- this.bccEmail.clear();
78
- }
79
74
  }
80
75
  EmailSelectorComponent.decorators = [
81
76
  { type: Component, args: [{
@@ -83,13 +78,25 @@ EmailSelectorComponent.decorators = [
83
78
  template: `
84
79
 
85
80
  <div class="recipients-line">
86
- <co-role-email-selector #email [(model)]="emailAddresses" [key]="key" [workflowCategoryType]="workflowCategoryType"
87
- (modelChange)="handleEmailAddressesChanged()"></co-role-email-selector>
88
- <label class="BCC-label"[textContent]="'BCC'"></label>
89
- <co-button [iconData]="buttonIcon" (click)="toggleBCC()"></co-button>
81
+ <co-role-email-selector [(model)]="emailAddresses" [key]="key" [workflowCategoryType]="workflowCategoryType"
82
+ [fieldLabel]="'Aan'" (modelChange)="handleEmailAddressesChanged()"></co-role-email-selector>
83
+ <div class="recipients-bcc" *ngIf="!showBCC">
84
+ <label class="BCC-label"[textContent]="'BCC'"></label>
85
+ <co-button [iconData]="buttonIcon" (click)="toggleBCC()"></co-button>
86
+ </div>
87
+ <div class="recipients-add" *ngIf="showBCC">
88
+ <label class="add-label"[textContent]="'Aan'"></label>
89
+ <!--co-button [iconData]="buttonIcon" (click)="toggleBCC()"></co-button-->
90
+ </div>
91
+ </div>
92
+ <div class="recipients-line" *ngIf="showBCC">
93
+ <co-role-email-selector [(model)]="bccEmailAddresses" [key]="key" [workflowCategoryType]="workflowCategoryType"
94
+ [fieldLabel]="'BCC'" (modelChange)="handleBccEmailAddressesChanged()"></co-role-email-selector>
95
+ <div class="recipients-bcc">
96
+ <label class="bcc-label"[textContent]="'BCC'"></label>
97
+ <co-button [iconData]="buttonIcon" (click)="toggleBCC()"></co-button>
98
+ </div>
90
99
  </div>
91
- <co-role-email-selector #bccEmail *ngIf="showBCC" [(model)]="bccEmailAddresses" [key]="key" [workflowCategoryType]="workflowCategoryType"
92
- (modelChange)="handleBccEmailAddressesChanged()"></co-role-email-selector>
93
100
 
94
101
  `
95
102
  },] }
@@ -99,8 +106,6 @@ EmailSelectorComponent.ctorParameters = () => [
99
106
  { type: SharedService }
100
107
  ];
101
108
  EmailSelectorComponent.propDecorators = {
102
- email: [{ type: ViewChild, args: [RoleEmailSelectorComponent,] }],
103
- bccEmail: [{ type: ViewChild, args: [RoleEmailSelectorComponent,] }],
104
109
  key: [{ type: Input }],
105
110
  workflowCategoryType: [{ type: Input }],
106
111
  emailAddresses: [{ type: Input }],
@@ -109,4 +114,4 @@ EmailSelectorComponent.propDecorators = {
109
114
  bccEmailAddressesChange: [{ type: Output }],
110
115
  showClass: [{ type: HostBinding, args: ["class.co-email-selector",] }]
111
116
  };
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZW1haWwtc2VsZWN0b3IvZW1haWwtc2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBR2xFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUkzRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQWlCaEcsTUFBTSxPQUFPLHNCQUFzQjtJQWdFakMsWUFBbUIsV0FBNkIsRUFDN0IsYUFBNEI7UUFENUIsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO1FBQzdCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBaEUvQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQTRDbkMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixlQUFVLEdBQWEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUc5RCx5QkFBb0IsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVsRSw0QkFBdUIsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUs3RSxvQkFBZSxHQUFhLEVBQUUsQ0FBQztRQUMvQix1QkFBa0IsR0FBYSxFQUFFLENBQUM7SUFVMUMsQ0FBQztJQTFERCxJQUNXLEdBQUcsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBVyxHQUFHO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFDVyxvQkFBb0IsQ0FBQyxLQUEyQjtRQUN6RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUFBLENBQUM7SUFFRixJQUNXLGNBQWMsQ0FBQyxLQUFlO1FBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQUEsQ0FBQztJQUVGLElBQ1csaUJBQWlCLENBQUMsS0FBZTtRQUMxQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0lBQ2xDLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUFBLENBQUM7SUFpQkssU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQU9LLFFBQVE7O1FBQ2QsQ0FBQztLQUFBO0lBRU0sU0FBUztRQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNwRTthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDbkU7SUFDSCxDQUFDO0lBRU0sMkJBQTJCO1FBQ2hDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSw4QkFBOEI7UUFDbkMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7WUE3R0YsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7S0FXVDthQUNKOzs7WUF2Qk8sZ0JBQWdCO1lBR2hCLGFBQWE7OztvQkF3QmxCLFNBQVMsU0FBQywwQkFBMEI7dUJBR3BDLFNBQVMsU0FBQywwQkFBMEI7a0JBR3BDLEtBQUs7bUNBU0wsS0FBSzs2QkFTTCxLQUFLO2dDQVNMLEtBQUs7bUNBWUwsTUFBTTtzQ0FFTixNQUFNO3dCQVNOLFdBQVcsU0FBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dDYXRlZ29yeVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3dvcmtmbG93LWNhdGVnb3J5LmVudW1cIjtcclxuaW1wb3J0IHtSb2xlRW1haWxhZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcm9sZS1lbWFpbC1hZGRyZXNzXCI7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdHJpbmdVdGlsc30gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3V0aWxzL3N0cmluZy11dGlsc1wiO1xyXG5pbXBvcnQge1NhZmVIdG1sfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQge0Zvcm1Db21wb25lbnR9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7Um9sZUVtYWlsU2VsZWN0b3JDb21wb25lbnR9IGZyb20gXCIuLi9yb2xlLWVtYWlsLXNlbGVjdG9yL3JvbGUtZW1haWwtc2VsZWN0b3IuY29tcG9uZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLWVtYWlsLXNlbGVjdG9yXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJlY2lwaWVudHMtbGluZVwiPlxyXG4gICAgICAgIDxjby1yb2xlLWVtYWlsLXNlbGVjdG9yICNlbWFpbCBbKG1vZGVsKV09XCJlbWFpbEFkZHJlc3Nlc1wiIFtrZXldPVwia2V5XCIgW3dvcmtmbG93Q2F0ZWdvcnlUeXBlXT1cIndvcmtmbG93Q2F0ZWdvcnlUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRW1haWxBZGRyZXNzZXNDaGFuZ2VkKClcIj48L2NvLXJvbGUtZW1haWwtc2VsZWN0b3I+XHJcbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiQkNDLWxhYmVsXCJbdGV4dENvbnRlbnRdPVwiJ0JDQydcIj48L2xhYmVsPlxyXG4gICAgICAgIDxjby1idXR0b24gW2ljb25EYXRhXT1cImJ1dHRvbkljb25cIiAoY2xpY2spPVwidG9nZ2xlQkNDKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxjby1yb2xlLWVtYWlsLXNlbGVjdG9yICNiY2NFbWFpbCAqbmdJZj1cInNob3dCQ0NcIiAgWyhtb2RlbCldPVwiYmNjRW1haWxBZGRyZXNzZXNcIiAgW2tleV09XCJrZXlcIiBbd29ya2Zsb3dDYXRlZ29yeVR5cGVdPVwid29ya2Zsb3dDYXRlZ29yeVR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlQmNjRW1haWxBZGRyZXNzZXNDaGFuZ2VkKClcIj48L2NvLXJvbGUtZW1haWwtc2VsZWN0b3I+XHJcblxyXG4gICAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVtYWlsU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBWaWV3Q2hpbGQoUm9sZUVtYWlsU2VsZWN0b3JDb21wb25lbnQpXHJcbiAgcHVibGljIGVtYWlsOiBSb2xlRW1haWxTZWxlY3RvckNvbXBvbmVudDtcclxuXHJcbiAgQFZpZXdDaGlsZChSb2xlRW1haWxTZWxlY3RvckNvbXBvbmVudClcclxuICBwdWJsaWMgYmNjRW1haWw6IFJvbGVFbWFpbFNlbGVjdG9yQ29tcG9uZW50O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQga2V5KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2tleSA9IHZhbHVlO1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBnZXQga2V5KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fa2V5O1xyXG4gIH07XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB3b3JrZmxvd0NhdGVnb3J5VHlwZSh2YWx1ZTogV29ya2Zsb3dDYXRlZ29yeVR5cGUpIHtcclxuICAgIHRoaXMuX3dvcmtmbG93Q2F0ZWdvcnlUeXBlID0gdmFsdWU7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGdldCB3b3JrZmxvd0NhdGVnb3J5VHlwZSgpOiBXb3JrZmxvd0NhdGVnb3J5VHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fd29ya2Zsb3dDYXRlZ29yeVR5cGU7XHJcbiAgfTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGVtYWlsQWRkcmVzc2VzKHZhbHVlOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5fZW1haWxBZGRyZXNzZXMgPSB2YWx1ZTtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgZ2V0IGVtYWlsQWRkcmVzc2VzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9lbWFpbEFkZHJlc3NlcztcclxuICB9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgYmNjRW1haWxBZGRyZXNzZXModmFsdWU6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9iY2NFbWFpbEFkZHJlc3NlcyA9IHZhbHVlO1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBnZXQgYmNjRW1haWxBZGRyZXNzZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2JjY0VtYWlsQWRkcmVzc2VzO1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBzaG93QkNDOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGJ1dHRvbkljb246IFNhZmVIdG1sID0gdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuUGx1c1NpbXBsZSk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBlbWFpbEFkZHJlc3Nlc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgYmNjRW1haWxBZGRyZXNzZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHByaXZhdGUgX2tleTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3dvcmtmbG93Q2F0ZWdvcnlUeXBlOiBXb3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuXHJcbiAgcHJpdmF0ZSBfZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcHJpdmF0ZSBfYmNjRW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWVtYWlsLXNlbGVjdG9yXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGljb25TZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVCQ0MoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2hvd0JDQykge1xyXG4gICAgICB0aGlzLnNob3dCQ0MgPSB0cnVlO1xyXG4gICAgICB0aGlzLmJ1dHRvbkljb24gPSB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5NaW51c1NpbXBsZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dCQ0MgPSBmYWxzZTtcclxuICAgICAgdGhpcy5iY2NFbWFpbEFkZHJlc3NlcyA9IFtdO1xyXG4gICAgICB0aGlzLmJ1dHRvbkljb24gPSB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5QbHVzU2ltcGxlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVFbWFpbEFkZHJlc3Nlc0NoYW5nZWQoKTp2b2lkIHtcclxuICAgIHRoaXMuZW1haWxBZGRyZXNzZXNDaGFuZ2UuZW1pdCh0aGlzLmVtYWlsQWRkcmVzc2VzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVCY2NFbWFpbEFkZHJlc3Nlc0NoYW5nZWQoKTp2b2lkIHtcclxuICAgIHRoaXMuYmNjRW1haWxBZGRyZXNzZXNDaGFuZ2UuZW1pdCh0aGlzLmJjY0VtYWlsQWRkcmVzc2VzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuZW1haWwuY2xlYXIoKTtcclxuICAgIHRoaXMuYmNjRW1haWwuY2xlYXIoKTtcclxuICB9XHJcbn1cclxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZW1haWwtc2VsZWN0b3IvZW1haWwtc2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHbEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBK0IzRCxNQUFNLE9BQU8sc0JBQXNCO0lBMERqQyxZQUFtQixXQUE2QixFQUM3QixhQUE0QjtRQUQ1QixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUExRC9CLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBc0NuQyxZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLGVBQVUsR0FBYSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFHckUseUJBQW9CLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbEUsNEJBQXVCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFLN0Usb0JBQWUsR0FBYSxFQUFFLENBQUM7UUFDL0IsdUJBQWtCLEdBQWEsRUFBRSxDQUFDO0lBVTFDLENBQUM7SUExREQsSUFDVyxHQUFHLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQUEsQ0FBQztJQUVGLElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBQUEsQ0FBQztJQUVGLElBQ1csb0JBQW9CLENBQUMsS0FBMkI7UUFDekQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBQUEsQ0FBQztJQUVGLElBQVcsb0JBQW9CO1FBQzdCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7SUFBQSxDQUFDO0lBRUYsSUFDVyxjQUFjLENBQUMsS0FBZTtRQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBQUEsQ0FBQztJQUVGLElBQVcsY0FBYztRQUN2QixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUFBLENBQUM7SUFFRixJQUNXLGlCQUFpQixDQUFDLEtBQWU7UUFDMUMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBQUEsQ0FBQztJQUVGLElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFBQSxDQUFDO0lBaUJLLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFPSyxRQUFROztRQUNkLENBQUM7S0FBQTtJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDcEU7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ25FO0lBQ0gsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sOEJBQThCO1FBQ25DLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDNUQsQ0FBQzs7O1lBOUdGLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBdUJUO2FBQ0o7OztZQWpDTyxnQkFBZ0I7WUFHaEIsYUFBYTs7O2tCQWtDbEIsS0FBSzttQ0FTTCxLQUFLOzZCQVNMLEtBQUs7Z0NBU0wsS0FBSzttQ0FZTCxNQUFNO3NDQUVOLE1BQU07d0JBU04sV0FBVyxTQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtXb3JrZmxvd0NhdGVnb3J5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vd29ya2Zsb3ctY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge1JvbGVFbWFpbGFkZHJlc3N9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yb2xlLWVtYWlsLWFkZHJlc3NcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvdXRpbHMvc3RyaW5nLXV0aWxzXCI7XHJcbmltcG9ydCB7U2FmZUh0bWx9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLWVtYWlsLXNlbGVjdG9yXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cInJlY2lwaWVudHMtbGluZVwiPlxyXG4gICAgICAgIDxjby1yb2xlLWVtYWlsLXNlbGVjdG9yIFsobW9kZWwpXT1cImVtYWlsQWRkcmVzc2VzXCIgW2tleV09XCJrZXlcIiBbd29ya2Zsb3dDYXRlZ29yeVR5cGVdPVwid29ya2Zsb3dDYXRlZ29yeVR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWVsZExhYmVsXT1cIidBYW4nXCIgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUVtYWlsQWRkcmVzc2VzQ2hhbmdlZCgpXCI+PC9jby1yb2xlLWVtYWlsLXNlbGVjdG9yPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZWNpcGllbnRzLWJjY1wiICpuZ0lmPVwiIXNob3dCQ0NcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIkJDQy1sYWJlbFwiW3RleHRDb250ZW50XT1cIidCQ0MnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxjby1idXR0b24gW2ljb25EYXRhXT1cImJ1dHRvbkljb25cIiAoY2xpY2spPVwidG9nZ2xlQkNDKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVjaXBpZW50cy1hZGRcIiAqbmdJZj1cInNob3dCQ0NcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImFkZC1sYWJlbFwiW3RleHRDb250ZW50XT1cIidBYW4nXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDwhLS1jby1idXR0b24gW2ljb25EYXRhXT1cImJ1dHRvbkljb25cIiAoY2xpY2spPVwidG9nZ2xlQkNDKClcIj48L2NvLWJ1dHRvbi0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJlY2lwaWVudHMtbGluZVwiICpuZ0lmPVwic2hvd0JDQ1wiPlxyXG4gICAgICAgIDxjby1yb2xlLWVtYWlsLXNlbGVjdG9yIFsobW9kZWwpXT1cImJjY0VtYWlsQWRkcmVzc2VzXCIgIFtrZXldPVwia2V5XCIgW3dvcmtmbG93Q2F0ZWdvcnlUeXBlXT1cIndvcmtmbG93Q2F0ZWdvcnlUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRMYWJlbF09XCInQkNDJ1wiIChtb2RlbENoYW5nZSk9XCJoYW5kbGVCY2NFbWFpbEFkZHJlc3Nlc0NoYW5nZWQoKVwiPjwvY28tcm9sZS1lbWFpbC1zZWxlY3Rvcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicmVjaXBpZW50cy1iY2NcIj5cclxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImJjYy1sYWJlbFwiW3RleHRDb250ZW50XT1cIidCQ0MnXCI+PC9sYWJlbD5cclxuICAgICAgICAgIDxjby1idXR0b24gW2ljb25EYXRhXT1cImJ1dHRvbkljb25cIiAoY2xpY2spPVwidG9nZ2xlQkNDKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVtYWlsU2VsZWN0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBrZXkodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fa2V5ID0gdmFsdWU7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGdldCBrZXkoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9rZXk7XHJcbiAgfTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHdvcmtmbG93Q2F0ZWdvcnlUeXBlKHZhbHVlOiBXb3JrZmxvd0NhdGVnb3J5VHlwZSkge1xyXG4gICAgdGhpcy5fd29ya2Zsb3dDYXRlZ29yeVR5cGUgPSB2YWx1ZTtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgZ2V0IHdvcmtmbG93Q2F0ZWdvcnlUeXBlKCk6IFdvcmtmbG93Q2F0ZWdvcnlUeXBlIHtcclxuICAgIHJldHVybiB0aGlzLl93b3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuICB9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgZW1haWxBZGRyZXNzZXModmFsdWU6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9lbWFpbEFkZHJlc3NlcyA9IHZhbHVlO1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBnZXQgZW1haWxBZGRyZXNzZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VtYWlsQWRkcmVzc2VzO1xyXG4gIH07XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBiY2NFbWFpbEFkZHJlc3Nlcyh2YWx1ZTogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuX2JjY0VtYWlsQWRkcmVzc2VzID0gdmFsdWU7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIGdldCBiY2NFbWFpbEFkZHJlc3NlcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYmNjRW1haWxBZGRyZXNzZXM7XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHNob3dCQ0M6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgYnV0dG9uSWNvbjogU2FmZUh0bWwgPSB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5TcXVhcmVQbHVzUmVndWxhcik7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBlbWFpbEFkZHJlc3Nlc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgYmNjRW1haWxBZGRyZXNzZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHByaXZhdGUgX2tleTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3dvcmtmbG93Q2F0ZWdvcnlUeXBlOiBXb3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuXHJcbiAgcHJpdmF0ZSBfZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcHJpdmF0ZSBfYmNjRW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWVtYWlsLXNlbGVjdG9yXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGljb25TZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVCQ0MoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuc2hvd0JDQykge1xyXG4gICAgICB0aGlzLnNob3dCQ0MgPSB0cnVlO1xyXG4gICAgICB0aGlzLmJ1dHRvbkljb24gPSB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5NaW51c1NpbXBsZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dCQ0MgPSBmYWxzZTtcclxuICAgICAgdGhpcy5iY2NFbWFpbEFkZHJlc3NlcyA9IFtdO1xyXG4gICAgICB0aGlzLmJ1dHRvbkljb24gPSB0aGlzLmljb25TZXJ2aWNlLmdldEljb24odGhpcy5pY29ucy5QbHVzU2ltcGxlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVFbWFpbEFkZHJlc3Nlc0NoYW5nZWQoKTp2b2lkIHtcclxuICAgIHRoaXMuZW1haWxBZGRyZXNzZXNDaGFuZ2UuZW1pdCh0aGlzLmVtYWlsQWRkcmVzc2VzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVCY2NFbWFpbEFkZHJlc3Nlc0NoYW5nZWQoKTp2b2lkIHtcclxuICAgIHRoaXMuYmNjRW1haWxBZGRyZXNzZXNDaGFuZ2UuZW1pdCh0aGlzLmJjY0VtYWlsQWRkcmVzc2VzKTtcclxuICB9XHJcbn1cclxuIl19
@@ -16,6 +16,7 @@ export class FileUploadComponent {
16
16
  this.icons = Icon;
17
17
  // Element clickable
18
18
  this.link = false;
19
+ this.dropzone = false;
19
20
  this.readonly = false;
20
21
  // Is tile an 'adding' tile
21
22
  this.isAddingTile = false;
@@ -148,6 +149,7 @@ FileUploadComponent.decorators = [
148
149
  </ng-template>
149
150
  <co-icon *ngIf="showTrashCan && !readonly" [iconData]="iconService.getIcon(icons.Trashbin)" class="trash" (click)="onDeleteClick()"></co-icon>
150
151
  <co-icon tile-render-image-content *ngIf="icon" class="dark add-button" [icon]="icon"></co-icon>
152
+ <co-icon tile-render-image-content *ngIf="dropzone" class="dark add-button" [iconData]="iconService.getIcon(icons.FoldersSharpRegular)"></co-icon>
151
153
  </co-tile-render>
152
154
  `,
153
155
  encapsulation: ViewEncapsulation.None
@@ -164,6 +166,7 @@ FileUploadComponent.propDecorators = {
164
166
  file: [{ type: Input }],
165
167
  icon: [{ type: Input }],
166
168
  link: [{ type: Input }],
169
+ dropzone: [{ type: Input }],
167
170
  readonly: [{ type: Input }],
168
171
  isAddingTile: [{ type: Input }],
169
172
  fileSavesOnPopupOkClick: [{ type: Input }],
@@ -187,4 +190,4 @@ __decorate([
187
190
  __decorate([
188
191
  InputBoolean()
189
192
  ], FileUploadComponent.prototype, "isEditable", void 0);
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUUsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFMUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFnQjNELDBFQUEwRTtBQUMxRSxNQUFNLE9BQU8sbUJBQW1CO0lBOEY1QixZQUNZLGNBQTZCLEVBQzdCLGdCQUFtQyxFQUNwQyxXQUE2QixFQUM1QixjQUE2QjtRQUg3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQWpHekIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFzQjFDLG9CQUFvQjtRQUViLFNBQUksR0FBWSxLQUFLLENBQUM7UUFHdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVqQywyQkFBMkI7UUFHcEIsaUJBQVks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R0FBRyxZQUFZLENBQUMsQ0FBQztvQkFDM0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztpQkFDL0M7YUFDSjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ25GO1NBQ0o7SUFDTCxDQUFDOzs7WUFoTUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7O0tBU1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7OztZQXRCc0IsYUFBYTtZQUk1QixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBRWhCLGFBQWE7OzttQkFvQmhCLFNBQVMsU0FBQyxhQUFhO21CQUl2QixLQUFLO21CQWFMLEtBQUs7bUJBSUwsS0FBSzt1QkFHTCxLQUFLOzJCQUlMLEtBQUs7c0NBTUwsS0FBSzt5QkFJTCxLQUFLO29CQUlMLEtBQUs7MkJBY0wsS0FBSzt3QkFJTCxLQUFLOytCQUdMLEtBQUs7MEJBR0wsTUFBTTt3QkFHTixNQUFNO3lCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLHNCQUFzQjtxQkFLbEMsV0FBVyxTQUFDLFlBQVk7O0FBbER6QjtJQURDLFlBQVksRUFBRTt5REFDc0I7QUFNckM7SUFEQyxZQUFZLEVBQUU7b0VBQ2dDO0FBSS9DO0lBREMsWUFBWSxFQUFFO3VEQUNvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Rm9ybUNvbXBvbmVudCwgUHJvbXB0U2VydmljZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHtGaWxlVHlwZUltYWdlUGlwZX0gZnJvbSBcIi4uLy4uL3BpcGUvZmlsZS10eXBlLWltYWdlLnBpcGVcIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tZmlsZS11cGxvYWRcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGNvLXRpbGUtcmVuZGVyIFtoaWRlSW1hZ2VEaXNwbGF5V2hlbk5vSW1hZ2VdPVwidHJ1ZVwiIFtpbWFnZURhdGFVcmldPVwicHJldmlld0ltYWdlXCIgW2Rlc2NyaXB0aW9uXT1cImxhYmVsXCIgKGltYWdlQ2xpY2spPVwib25JbWFnZUNsaWNrKClcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNpbmZvVGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8Y28tYnV0dG9uICpuZ0lmPVwiaXNFZGl0YWJsZSAmJiAhcmVhZG9ubHlcIiBjbGFzcz1cImVkaXQtZmlsZVwiIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLkFjY291bnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvblBlbmNpbENsaWNrKClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJzaG93VHJhc2hDYW4gJiYgIXJlYWRvbmx5XCIgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuVHJhc2hiaW4pXCIgY2xhc3M9XCJ0cmFzaFwiIChjbGljayk9XCJvbkRlbGV0ZUNsaWNrKClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxjby1pY29uIHRpbGUtcmVuZGVyLWltYWdlLWNvbnRlbnQgKm5nSWY9XCJpY29uXCIgY2xhc3M9XCJkYXJrIGFkZC1idXR0b25cIiBbaWNvbl09XCJpY29uXCI+PC9jby1pY29uPlxyXG4gICAgICAgIDwvY28tdGlsZS1yZW5kZXI+XHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuLy8gVGhlIEdVSSBwYXJ0IG9mIHRoZSBmaWxlcy11cGxvYWQgY29tcG9uZW50LiBOb3QgYSBzdGFuZGFsb25lIGNvbXBvbmVudC5cclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gICAgQFZpZXdDaGlsZChGb3JtQ29tcG9uZW50KVxyXG4gICAgcHVibGljIGZvcm06IEZvcm1Db21wb25lbnQ7XHJcblxyXG4gICAgLy8gSW5wdXQgZmlsZSB0byB1cGxvYWQuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBmaWxlKGRvY3VtZW50OiBDb0RvY3VtZW50KSB7XHJcbiAgICAgICAgdGhpcy5fZmlsZSA9IGRvY3VtZW50O1xyXG4gICAgICAgIHRoaXMuX3VwZGF0ZVByZXZpZXdJbWFnZSgpO1xyXG4gICAgICAgIC8vIHdlIHNob3VsZCBwcm9kdWNlIGEgcHJldmlldyBpbWFnZSBmcm9tIGdpdmVuIGRvY3VtZW50LCBidXQgaXRzIGNvbnRlbnRzIG1pZ2h0IG5vdCB5ZXQgaGF2ZSBiZWVuIGxvYWRlZDpcclxuICAgICAgICB0aGlzLl9saXN0ZW5Gb3JEb2N1bWVudEJvZHlDaGFuZ2VzKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBmaWxlKCk6IENvRG9jdW1lbnQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9maWxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFNob3cgaWNvbiBhcyBwbGFjZWhvbGRlclxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBpY29uOiBJY29uO1xyXG5cclxuICAgIC8vIEVsZW1lbnQgY2xpY2thYmxlXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxpbms6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLy8gSXMgdGlsZSBhbiAnYWRkaW5nJyB0aWxlXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgaXNBZGRpbmdUaWxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLy8gU2V0IHRoaXMgcGFyYW1ldGVyIHRvIGZhbHNlIGlmIGNsaWNraW5nIG9rIG9uIHRoZSBkb2N1bWVudCBlZGl0IHBvcHVwIGRvZXMgbm90IHNhdmUgdGhlIGRvY3VtZW50XHJcbiAgICAvLyBzbyB0aGF0IHJlZnJlc2hpbmcgb2YgY29udGVudCBvbiBmaWxlIG9wZW4gd29ya3MgY29ycmVjdGx5XHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgZmlsZVNhdmVzT25Qb3B1cE9rQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBpc0VkaXRhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNldCBsYWJlbCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fbGFiZWwgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5fZmlsZSAmJiB0aGlzLl9maWxlLmRlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9maWxlLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9sYWJlbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2hvdyBhIHRyYXNoY2FuIGljb25cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd1RyYXNoQ2FuOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLy8gU2hvdyBhbiBpbWFnZSBhcyBwbGFjZWhvbGRlclxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93SW1hZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGN1c3RvbUltYWdlQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBkZWxldGVDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBlZGl0Q2xpY2s6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBpbWFnZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1maWxlLXVwbG9hZCcpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5saW5rXCIpXHJcbiAgICBwdWJsaWMgZ2V0IGlzTGluaygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5saW5rO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBwcmV2aWV3SW1hZ2U6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgcHJpdmF0ZSBfZmlsZTogQ29Eb2N1bWVudDtcclxuICAgIHByaXZhdGUgX2RvY0JvZHlDaGFuZ2VTdWI6IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgX2xhYmVsOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX3Byb21wdFNlcnZpY2U6IFByb21wdFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfZmlsZVR5cGVJbWdQaXBlOiBGaWxlVHlwZUltYWdlUGlwZSxcclxuICAgICAgICBwdWJsaWMgaWNvblNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICAgICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9kb2NCb2R5Q2hhbmdlU3ViKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RvY0JvZHlDaGFuZ2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uRGVsZXRlQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kZWxldGVDbGljay5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jICBvbkltYWdlQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNBZGRpbmdUaWxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tSW1hZ2VDbGljaykge1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlQ2xpY2submV4dCh0aGlzLl9maWxlKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2ZpcnN0IGRvd25sb2FkIGRvY3VtZW50IGJvZHkgaWYgaXQgaXMgc3RvcmVkIGluIGEgcHJpdmF0ZSBjZG4gZGlyZWN0b3J5XHJcbiAgICAgICAgaWYgKCF0aGlzLl9maWxlLmRvY3VtZW50Qm9keSkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldERvY3VtZW50Q29udGVudCh0aGlzLl9maWxlLmRvY3VtZW50SWQpLnRoZW4oZG9jdW1lbnRCb2R5ID0+IHRoaXMuX2ZpbGUuZG9jdW1lbnRCb2R5ID0gZG9jdW1lbnRCb2R5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuX2ZpbGUuaXNJbWFnZURvY3VtZW50KCkpIHsgLy9wcmV2aWV3IGltYWdlXHJcbiAgICAgICAgICAgIHRoaXMuX3Byb21wdFNlcnZpY2Uuc2hvd0ltYWdlKHRoaXMuZmlsZS5kb2N1bWVudEJvZHlBc0RhdGFVcmksIFwiUHJldmlld1wiKTtcclxuICAgICAgICB9IGVsc2UgeyAvL2Rvd25sb2FkIGRvY3VtZW50XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAvL0ZpbGVVdGlscy5Eb3dubG9hZEZyb21EYXRhVXJpKHRoaXMuX2ZpbGUuYm9keUFzRGF0YVVyaSwgdGhpcy5fZmlsZS5maWxlTmFtZSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIG9uUGVuY2lsQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgLy8gcmVmcmVzaCBmaWxlIGNvbnRlbnQgaWYgZmlsZXMgYXJlIHNhdmVkIGluZGl2aWR1YWxseVxyXG4gICAgICAgIGlmICh0aGlzLl9maWxlLmhhc0lkKCkgJiYgdGhpcy5maWxlU2F2ZXNPblBvcHVwT2tDbGljaykge1xyXG4gICAgICAgICAgICBsZXQgaWRGb3JMaW5rOiBudW1iZXI7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9maWxlLmlkRm9yTGluaykge1xyXG4gICAgICAgICAgICAgICAgaWRGb3JMaW5rID0gdGhpcy5fZmlsZS5pZEZvckxpbms7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gR2V0IG1vc3QgcmVjZW50IHZlcnNpb24gb2YgdGhpcyBmaWxlIGlmIGl0IGhhcyBhbiBpZCBhbmQgdGhlcmVmb3JlIGhhcyBiZWVuIHNhdmVkIGluIHRoZSBkYlxyXG4gICAgICAgICAgICAvL1RPRE8gZml4IGZldGNoXHJcbiAgICAgICAgICAgLy8gdGhpcy5fZmlsZSA9IGF3YWl0IHRoaXMuX2dlbmVyYWxEYWwuZ2V0RG9jdW1lbnRGcm9tVGFibGUodGhpcy5fZmlsZS5kb2N1bWVudElkKTtcclxuICAgICAgICAgICAgLy90aGlzLl9maWxlLmlkRm9yTGluayA9IGlkRm9yTGluazsgLy8gUmVzdG9yZSB0aGUgaWRGb3JMaW5rXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmVkaXRDbGljay5lbWl0KHRoaXMuX2ZpbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHVwZGF0ZXMgdGhpcy5wcmV2aWV3SW1hZ2Ugd2hlbiBkb2MgYm9keSBjaGFuZ2VzXHJcbiAgICBwcml2YXRlIF9saXN0ZW5Gb3JEb2N1bWVudEJvZHlDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9maWxlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9kb2NCb2R5Q2hhbmdlU3ViKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9kb2NCb2R5Q2hhbmdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgIHRoaXMuX2RvY0JvZHlDaGFuZ2VTdWIgPSB0aGlzLl9maWxlLmRvY3VtZW50Qm9keUNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlUHJldmlld0ltYWdlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF91cGRhdGVQcmV2aWV3SW1hZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2ZpbGUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2ZpbGUuaXNJbWFnZURvY3VtZW50KCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld0ltYWdlID0gdGhpcy5fZmlsZS5kb2N1bWVudEJvZHlBc0RhdGFVcmk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcmV2aWV3SW1hZ2UgPT09IFwiXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldERvY3VtZW50Q29udGVudCh0aGlzLl9maWxlLmRvY3VtZW50SWQpLnRoZW4oZG9jdW1lbnRCb2R5ID0+IHRoaXMuX2ZpbGUuZG9jdW1lbnRCb2R5ID0gZG9jdW1lbnRCb2R5KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZXZpZXdJbWFnZSA9IHRoaXMuX2ZpbGUuZG9jdW1lbnRCb2R5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3SW1hZ2UgPSB0aGlzLl9maWxlVHlwZUltZ1BpcGUudHJhbnNmb3JtKHRoaXMuZmlsZS5maWxlVHlwZUludGVybmFsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIl19
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxhQUFhLEVBQUUsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFFMUUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFpQjNELDBFQUEwRTtBQUMxRSxNQUFNLE9BQU8sbUJBQW1CO0lBaUc1QixZQUNZLGNBQTZCLEVBQzdCLGdCQUFtQyxFQUNwQyxXQUE2QixFQUM1QixjQUE2QjtRQUg3QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQUM3QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ3BDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQXBHekIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFzQjFDLG9CQUFvQjtRQUViLFNBQUksR0FBWSxLQUFLLENBQUM7UUFHdEIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixhQUFRLEdBQVksS0FBSyxDQUFD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LElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxDQUFDO29CQUMzSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO2lCQUMvQzthQUNKO2lCQUFNO2dCQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDbkY7U0FDSjtJQUNMLENBQUM7OztZQXBNSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsUUFBUSxFQUFFOzs7Ozs7Ozs7O0tBVVQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDeEM7OztZQXZCc0IsYUFBYTtZQUk1QixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBRWhCLGFBQWE7OzttQkFxQmhCLFNBQVMsU0FBQyxhQUFhO21CQUl2QixLQUFLO21CQWFMLEtBQUs7bUJBSUwsS0FBSzt1QkFHTCxLQUFLO3VCQUdMLEtBQUs7MkJBSUwsS0FBSztzQ0FNTCxLQUFLO3lCQUlMLEtBQUs7b0JBSUwsS0FBSzsyQkFjTCxLQUFLO3dCQUlMLEtBQUs7K0JBR0wsS0FBSzswQkFHTCxNQUFNO3dCQUdOLE1BQU07eUJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsc0JBQXNCO3FCQUtsQyxXQUFXLFNBQUMsWUFBWTs7QUFsRHpCO0lBREMsWUFBWSxFQUFFO3lEQUNzQjtBQU1yQztJQURDLFlBQVksRUFBRTtvRUFDZ0M7QUFJL0M7SUFEQyxZQUFZLEVBQUU7dURBQ29CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtGb3JtQ29tcG9uZW50LCBQcm9tcHRTZXJ2aWNlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvclwiO1xyXG5pbXBvcnQge0ZpbGVUeXBlSW1hZ2VQaXBlfSBmcm9tIFwiLi4vLi4vcGlwZS9maWxlLXR5cGUtaW1hZ2UucGlwZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby1maWxlLXVwbG9hZFwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgICA8Y28tdGlsZS1yZW5kZXIgW2hpZGVJbWFnZURpc3BsYXlXaGVuTm9JbWFnZV09XCJ0cnVlXCIgW2ltYWdlRGF0YVVyaV09XCJwcmV2aWV3SW1hZ2VcIiBbZGVzY3JpcHRpb25dPVwibGFiZWxcIiAoaW1hZ2VDbGljayk9XCJvbkltYWdlQ2xpY2soKVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2luZm9UZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxjby1idXR0b24gKm5nSWY9XCJpc0VkaXRhYmxlICYmICFyZWFkb25seVwiIGNsYXNzPVwiZWRpdC1maWxlXCIgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuQWNjb3VudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uUGVuY2lsQ2xpY2soKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInNob3dUcmFzaENhbiAmJiAhcmVhZG9ubHlcIiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcmFzaGJpbilcIiBjbGFzcz1cInRyYXNoXCIgKGNsaWNrKT1cIm9uRGVsZXRlQ2xpY2soKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgPGNvLWljb24gdGlsZS1yZW5kZXItaW1hZ2UtY29udGVudCAqbmdJZj1cImljb25cIiBjbGFzcz1cImRhcmsgYWRkLWJ1dHRvblwiIFtpY29uXT1cImljb25cIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxjby1pY29uIHRpbGUtcmVuZGVyLWltYWdlLWNvbnRlbnQgKm5nSWY9XCJkcm9wem9uZVwiIGNsYXNzPVwiZGFyayBhZGQtYnV0dG9uXCIgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuRm9sZGVyc1NoYXJwUmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgPC9jby10aWxlLXJlbmRlcj5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG4vLyBUaGUgR1VJIHBhcnQgb2YgdGhlIGZpbGVzLXVwbG9hZCBjb21wb25lbnQuIE5vdCBhIHN0YW5kYWxvbmUgY29tcG9uZW50LlxyXG5leHBvcnQgY2xhc3MgRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgICBAVmlld0NoaWxkKEZvcm1Db21wb25lbnQpXHJcbiAgICBwdWJsaWMgZm9ybTogRm9ybUNvbXBvbmVudDtcclxuXHJcbiAgICAvLyBJbnB1dCBmaWxlIHRvIHVwbG9hZC5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGZpbGUoZG9jdW1lbnQ6IENvRG9jdW1lbnQpIHtcclxuICAgICAgICB0aGlzLl9maWxlID0gZG9jdW1lbnQ7XHJcbiAgICAgICAgdGhpcy5fdXBkYXRlUHJldmlld0ltYWdlKCk7XHJcbiAgICAgICAgLy8gd2Ugc2hvdWxkIHByb2R1Y2UgYSBwcmV2aWV3IGltYWdlIGZyb20gZ2l2ZW4gZG9jdW1lbnQsIGJ1dCBpdHMgY29udGVudHMgbWlnaHQgbm90IHlldCBoYXZlIGJlZW4gbG9hZGVkOlxyXG4gICAgICAgIHRoaXMuX2xpc3RlbkZvckRvY3VtZW50Qm9keUNoYW5nZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGZpbGUoKTogQ29Eb2N1bWVudCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbGU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2hvdyBpY29uIGFzIHBsYWNlaG9sZGVyXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGljb246IEljb247XHJcblxyXG4gICAgLy8gRWxlbWVudCBjbGlja2FibGVcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbGluazogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZHJvcHpvbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLy8gSXMgdGlsZSBhbiAnYWRkaW5nJyB0aWxlXHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgaXNBZGRpbmdUaWxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLy8gU2V0IHRoaXMgcGFyYW1ldGVyIHRvIGZhbHNlIGlmIGNsaWNraW5nIG9rIG9uIHRoZSBkb2N1bWVudCBlZGl0IHBvcHVwIGRvZXMgbm90IHNhdmUgdGhlIGRvY3VtZW50XHJcbiAgICAvLyBzbyB0aGF0IHJlZnJlc2hpbmcgb2YgY29udGVudCBvbiBmaWxlIG9wZW4gd29ya3MgY29ycmVjdGx5XHJcbiAgICBASW5wdXQoKVxyXG4gICAgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgZmlsZVNhdmVzT25Qb3B1cE9rQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBpc0VkaXRhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHNldCBsYWJlbCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fbGFiZWwgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5fZmlsZSAmJiB0aGlzLl9maWxlLmRlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9maWxlLmRlc2NyaXB0aW9uO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9sYWJlbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2hvdyBhIHRyYXNoY2FuIGljb25cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2hvd1RyYXNoQ2FuOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLy8gU2hvdyBhbiBpbWFnZSBhcyBwbGFjZWhvbGRlclxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzaG93SW1hZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGN1c3RvbUltYWdlQ2xpY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBkZWxldGVDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBlZGl0Q2xpY2s6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcbiAgICBAT3V0cHV0KClcclxuICAgIHB1YmxpYyBpbWFnZUNsaWNrOiBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1maWxlLXVwbG9hZCcpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCk6IGJvb2xlYW4ge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5saW5rXCIpXHJcbiAgICBwdWJsaWMgZ2V0IGlzTGluaygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5saW5rO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBwcmV2aWV3SW1hZ2U6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgcHJpdmF0ZSBfZmlsZTogQ29Eb2N1bWVudDtcclxuICAgIHByaXZhdGUgX2RvY0JvZHlDaGFuZ2VTdWI6IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgX2xhYmVsOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX3Byb21wdFNlcnZpY2U6IFByb21wdFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfZmlsZVR5cGVJbWdQaXBlOiBGaWxlVHlwZUltYWdlUGlwZSxcclxuICAgICAgICBwdWJsaWMgaWNvblNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBfc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICAgICAgICkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9kb2NCb2R5Q2hhbmdlU3ViKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2RvY0JvZHlDaGFuZ2VTdWIudW5zdWJzY3JpYmUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG9uRGVsZXRlQ2xpY2soKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kZWxldGVDbGljay5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jICBvbkltYWdlQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNBZGRpbmdUaWxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tSW1hZ2VDbGljaykge1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlQ2xpY2submV4dCh0aGlzLl9maWxlKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2ZpcnN0IGRvd25sb2FkIGRvY3VtZW50IGJvZHkgaWYgaXQgaXMgc3RvcmVkIGluIGEgcHJpdmF0ZSBjZG4gZGlyZWN0b3J5XHJcbiAgICAgICAgaWYgKCF0aGlzLl9maWxlLmRvY3VtZW50Qm9keSkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldERvY3VtZW50Q29udGVudCh0aGlzLl9maWxlLmRvY3VtZW50SWQpLnRoZW4oZG9jdW1lbnRCb2R5ID0+IHRoaXMuX2ZpbGUuZG9jdW1lbnRCb2R5ID0gZG9jdW1lbnRCb2R5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuX2ZpbGUuaXNJbWFnZURvY3VtZW50KCkpIHsgLy9wcmV2aWV3IGltYWdlXHJcbiAgICAgICAgICAgIHRoaXMuX3Byb21wdFNlcnZpY2Uuc2hvd0ltYWdlKHRoaXMuZmlsZS5kb2N1bWVudEJvZHlBc0RhdGFVcmksIFwiUHJldmlld1wiKTtcclxuICAgICAgICB9IGVsc2UgeyAvL2Rvd25sb2FkIGRvY3VtZW50XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAvL0ZpbGVVdGlscy5Eb3dubG9hZEZyb21EYXRhVXJpKHRoaXMuX2ZpbGUuYm9keUFzRGF0YVVyaSwgdGhpcy5fZmlsZS5maWxlTmFtZSk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIG9uUGVuY2lsQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgLy8gcmVmcmVzaCBmaWxlIGNvbnRlbnQgaWYgZmlsZXMgYXJlIHNhdmVkIGluZGl2aWR1YWxseVxyXG4gICAgICAgIGlmICh0aGlzLl9maWxlLmhhc0lkKCkgJiYgdGhpcy5maWxlU2F2ZXNPblBvcHVwT2tDbGljaykge1xyXG4gICAgICAgICAgICBsZXQgaWRGb3JMaW5rOiBudW1iZXI7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9maWxlLmlkRm9yTGluaykge1xyXG4gICAgICAgICAgICAgICAgaWRGb3JMaW5rID0gdGhpcy5fZmlsZS5pZEZvckxpbms7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gR2V0IG1vc3QgcmVjZW50IHZlcnNpb24gb2YgdGhpcyBmaWxlIGlmIGl0IGhhcyBhbiBpZCBhbmQgdGhlcmVmb3JlIGhhcyBiZWVuIHNhdmVkIGluIHRoZSBkYlxyXG4gICAgICAgICAgICAvL1RPRE8gZml4IGZldGNoXHJcbiAgICAgICAgICAgLy8gdGhpcy5fZmlsZSA9IGF3YWl0IHRoaXMuX2dlbmVyYWxEYWwuZ2V0RG9jdW1lbnRGcm9tVGFibGUodGhpcy5fZmlsZS5kb2N1bWVudElkKTtcclxuICAgICAgICAgICAgLy90aGlzLl9maWxlLmlkRm9yTGluayA9IGlkRm9yTGluazsgLy8gUmVzdG9yZSB0aGUgaWRGb3JMaW5rXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmVkaXRDbGljay5lbWl0KHRoaXMuX2ZpbGUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHVwZGF0ZXMgdGhpcy5wcmV2aWV3SW1hZ2Ugd2hlbiBkb2MgYm9keSBjaGFuZ2VzXHJcbiAgICBwcml2YXRlIF9saXN0ZW5Gb3JEb2N1bWVudEJvZHlDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLl9maWxlKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9kb2NCb2R5Q2hhbmdlU3ViKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9kb2NCb2R5Q2hhbmdlU3ViLnVuc3Vic2NyaWJlKCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgIHRoaXMuX2RvY0JvZHlDaGFuZ2VTdWIgPSB0aGlzLl9maWxlLmRvY3VtZW50Qm9keUNoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlUHJldmlld0ltYWdlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIF91cGRhdGVQcmV2aWV3SW1hZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2ZpbGUpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX2ZpbGUuaXNJbWFnZURvY3VtZW50KCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld0ltYWdlID0gdGhpcy5fZmlsZS5kb2N1bWVudEJvZHlBc0RhdGFVcmk7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wcmV2aWV3SW1hZ2UgPT09IFwiXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9zaGFyZWRTZXJ2aWNlLmdldERvY3VtZW50Q29udGVudCh0aGlzLl9maWxlLmRvY3VtZW50SWQpLnRoZW4oZG9jdW1lbnRCb2R5ID0+IHRoaXMuX2ZpbGUuZG9jdW1lbnRCb2R5ID0gZG9jdW1lbnRCb2R5KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnByZXZpZXdJbWFnZSA9IHRoaXMuX2ZpbGUuZG9jdW1lbnRCb2R5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3SW1hZ2UgPSB0aGlzLl9maWxlVHlwZUltZ1BpcGUudHJhbnNmb3JtKHRoaXMuZmlsZS5maWxlVHlwZUludGVybmFsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIl19
@@ -64,26 +64,36 @@ FilesUploadComponent.decorators = [
64
64
  [handleSort]="true"
65
65
  dragHandle="tile"
66
66
  [enabled]="!noDragDropOrdering">
67
+ <div class="upload-add-wrapper">
67
68
  <co-file-upload *ngIf="canAdd && addWithButton" class="add-file"
68
- isAddingTile
69
- icon="plus_round_open"
70
- [link]="true"
71
- [label]="label | localize"
72
- (mouseover)="mouseOverAdd = true"
73
- (mouseout)="mouseOverAdd = false"
74
- (click)="handleAddClick()"></co-file-upload> <!-- (click)="handleAddClick()" -->
75
- <co-file-upload *ngFor="let file of documents" class="tile"
76
- [readonly]="file.readonly || readonly"
77
- [class.hidden]="hideAvatars ? file.isAvatar : false"
78
- [file]="file"
79
- [label]="file.fileName"
80
- [showTrashCan]="canDelete"
81
- [fileSavesOnPopupOkClick]="fileSavesOnPopupOkClick"
82
- [isEditable]="isEditable"
83
- [customImageClick]="customImageClick"
84
- (imageClick)="imageClick.emit($event)"
85
- (deleteClick)="handleDelete(file)"
86
- (editClick)="handleEditDocumentClick($event)"></co-file-upload>
69
+ isAddingTile
70
+ icon="plus_round_open"
71
+ [link]="true"
72
+ [label]="label | localize"
73
+ (mouseover)="mouseOverAdd = true"
74
+ (mouseout)="mouseOverAdd = false"
75
+ (click)="handleAddClick()"></co-file-upload> <!-- (click)="handleAddClick()" -->
76
+ <co-file-upload *ngIf="!documents || documents.length === 0" class="add-dropzone"
77
+ isAddingTile
78
+ [dropzone]="true"
79
+ [link]="true"
80
+ [label]="'DROPZONE_TEXT' | localize"
81
+ (mouseover)="mouseOverAdd = true"
82
+ (mouseout)="mouseOverAdd = false"
83
+ (click)="handleAddClick()"></co-file-upload>
84
+ </div>
85
+ <co-file-upload *ngFor="let file of documents" class="tile"
86
+ [readonly]="file.readonly || readonly"
87
+ [class.hidden]="hideAvatars ? file.isAvatar : false"
88
+ [file]="file"
89
+ [label]="file.fileName"
90
+ [showTrashCan]="canDelete"
91
+ [fileSavesOnPopupOkClick]="fileSavesOnPopupOkClick"
92
+ [isEditable]="isEditable"
93
+ [customImageClick]="customImageClick"
94
+ (imageClick)="imageClick.emit($event)"
95
+ (deleteClick)="handleDelete(file)"
96
+ (editClick)="handleEditDocumentClick($event)"></co-file-upload>
87
97
  </drag-drop-container>
88
98
  <span class="maxuploadsize" textContent="getMaxFileSizeNotition()" [class.show]="mouseOverAdd"></span>
89
99
  <input #inputFile [accept]="acceptedUploadFormats" (change)="handleFileChange($event)" type="file" hidden multiple/>
@@ -128,4 +138,4 @@ __decorate([
128
138
  __decorate([
129
139
  InputBoolean()
130
140
  ], FilesUploadComponent.prototype, "hideAvatars", void 0);
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzLXVwbG9hZC9maWxlcy11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUN4QixZQUFZLEVBRVosWUFBWSxFQUFFLFVBQVUsRUFDeEIsV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBNkNyRSwwSUFBMEk7QUFDMUksTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtJQW9FN0Q7SUFDSSwrQkFBK0I7SUFDL0IsaUJBQW9DO0lBQ3BDLDJCQUEyQjtJQUNqQixVQUE0QixFQUM1QixRQUFrQztRQVE1QyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBVHJDLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBMURoRCxxQkFBcUI7UUFFZCxVQUFLLEdBQVcsYUFBYSxDQUFDO1FBTTlCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUlsQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzVCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBU3BCLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNFLG9CQUFlLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBR2pGLGVBQVUsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQW1CdEUsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsZUFBVSxHQUFZLEtBQUssQ0FBQztJQWdCbkMsQ0FBQztJQWhGRCxJQUNXLFFBQVEsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUE0Q00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQ1csUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDVyxLQUFLO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUF1QkQsV0FBVztRQUNQLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFWSxlQUFlOztZQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQztLQUFBO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBOUlKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBZ0NUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxTQUFTLEVBQUU7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLDhDQUE4Qzt3QkFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztxQkFDdEQ7aUJBQ0o7YUFDSjs7O1lBL0NPLGlCQUFpQjtZQUx2QixnQkFBZ0I7WUFWaEIsd0JBQXdCOzs7dUJBa0VyQixLQUFLOytCQU1MLFlBQVksU0FBQyxrQkFBa0IsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7b0JBSS9DLFNBQVMsU0FBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO29CQUlyQyxLQUFLO3VCQUdMLEtBQUs7K0JBR0wsS0FBSzt5QkFHTCxLQUFLOzBCQUlMLEtBQUs7c0NBR0wsS0FBSzt1QkFHTCxLQUFLO2lDQUdMLE1BQU07OEJBR04sTUFBTTt5QkFHTixNQUFNO3dCQUlOLFdBQVcsU0FBQyx1QkFBdUI7dUJBS25DLFdBQVcsU0FBQyxnQkFBZ0I7b0JBSzVCLFdBQVcsU0FBQyxhQUFhO3lCQU96QixXQUFXLFNBQUMsZ0JBQWdCOztBQXRDN0I7SUFEQyxZQUFZLEVBQUU7d0RBQ29CO0FBR25DO0lBRFUsWUFBWSxFQUFFO3lEQUNZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtCYXNlRmlsZVVwbG9hZENvbXBvbmVudH0gZnJvbSBcIi4vY29tcG9uZW50cy9iYXNlLWZpbGUtdXBsb2FkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1NDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZVwiO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9jby1kb2N1bWVudFwiO1xyXG5pbXBvcnQge1RhZ1RyZWVJdGVtfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvdGFnLXRyZWUtaXRlbS5ib1wiO1xyXG5pbXBvcnQge0lucHV0Qm9vbGVhbn0gZnJvbSBcIi4uLy4uL2RlY29yYXRvci9pbnB1dC1ib29sZWFuLmRlY29yYXRvclwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJjby1maWxlcy11cGxvYWRcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVzLXVwbG9hZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxkcmFnLWRyb3AtY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzb3J0YWJsZUxpc3RdPVwiZG9jdW1lbnRzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNvcnRpbmdDaGFuZ2UpPVwiaGFuZGxlU29ydGluZ0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hhbmRsZVNvcnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdIYW5kbGU9XCJ0aWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuYWJsZWRdPVwiIW5vRHJhZ0Ryb3BPcmRlcmluZ1wiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWZpbGUtdXBsb2FkICpuZ0lmPVwiY2FuQWRkICYmIGFkZFdpdGhCdXR0b25cIiBjbGFzcz1cImFkZC1maWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FkZGluZ1RpbGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uPVwicGx1c19yb3VuZF9vcGVuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGlua109XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwibGFiZWwgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJtb3VzZU92ZXJBZGQgPSB0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VvdXQpPVwibW91c2VPdmVyQWRkID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVBZGRDbGljaygpXCI+PC9jby1maWxlLXVwbG9hZD4gPCEtLSAoY2xpY2spPVwiaGFuZGxlQWRkQ2xpY2soKVwiIC0tPlxyXG4gICAgICAgICAgICAgICAgPGNvLWZpbGUtdXBsb2FkICpuZ0Zvcj1cImxldCBmaWxlIG9mIGRvY3VtZW50c1wiIGNsYXNzPVwidGlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZpbGUucmVhZG9ubHkgfHwgcmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5oaWRkZW5dPVwiaGlkZUF2YXRhcnMgPyBmaWxlLmlzQXZhdGFyIDogZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWxlXT1cImZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmaWxlLmZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1RyYXNoQ2FuXT1cImNhbkRlbGV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVTYXZlc09uUG9wdXBPa0NsaWNrXT1cImZpbGVTYXZlc09uUG9wdXBPa0NsaWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNFZGl0YWJsZV09XCJpc0VkaXRhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tSW1hZ2VDbGlja109XCJjdXN0b21JbWFnZUNsaWNrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1hZ2VDbGljayk9XCJpbWFnZUNsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNsaWNrKT1cImhhbmRsZURlbGV0ZShmaWxlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVkaXRDbGljayk9XCJoYW5kbGVFZGl0RG9jdW1lbnRDbGljaygkZXZlbnQpXCI+PC9jby1maWxlLXVwbG9hZD5cclxuICAgICAgICAgICAgPC9kcmFnLWRyb3AtY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1heHVwbG9hZHNpemVcIiB0ZXh0Q29udGVudD1cImdldE1heEZpbGVTaXplTm90aXRpb24oKVwiIFtjbGFzcy5zaG93XT1cIm1vdXNlT3ZlckFkZFwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPGlucHV0ICNpbnB1dEZpbGUgW2FjY2VwdF09XCJhY2NlcHRlZFVwbG9hZEZvcm1hdHNcIiAoY2hhbmdlKT1cImhhbmRsZUZpbGVDaGFuZ2UoJGV2ZW50KVwiIHR5cGU9XCJmaWxlXCIgaGlkZGVuIG11bHRpcGxlLz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIGAsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBGaWxlc1VwbG9hZENvbXBvbmVudClcclxuICAgICAgICB9XHJcbiAgICBdXHJcbn0pXHJcbi8vIEEgY29tcG9uZW50IHRoYXQgbGV0cyB0aGUgdXNlciBtYWtlIGEgbGlzdCBvZiBmaWxlcyBmcm9tIGl0cyBkZXZpY2UuIERvZXNuJ3QgYWN0dWFsbHkgdXBsb2FkLCBidXQgb3V0cHV0cyBjaG9zZW4gZmlsZXMgYXMgZmlsZXNDaGFuZ2VkLlxyXG5leHBvcnQgY2xhc3MgRmlsZXNVcGxvYWRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRmlsZVVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgZHJvcHpvbmUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLmlzRHJvcHpvbmUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICAvL3RvZG8gc2VlIGlmIHRoaXMgaXMgdXNlZCBhbnl3aGVyZSBpZiBub3QsIHJlbW92ZVxyXG4gICAgQENvbnRlbnRDaGlsZChcInNsaWRlb3V0VGVtcGxhdGVcIiwge3N0YXRpYzogdHJ1ZX0pXHJcbiAgICBwdWJsaWMgc2xpZGVvdXRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICAvLyAoSGlkZGVuKSBpbnB1dCBmb3IgZmlsZSB1cGxvYWQgZmFjaWxpdGllc1xyXG4gICAgQFZpZXdDaGlsZChcImlucHV0RmlsZVwiLCB7c3RhdGljOiB0cnVlfSlcclxuICAgIHB1YmxpYyBpbnB1dDogRWxlbWVudFJlZjtcclxuXHJcbiAgICAvLyBJbnB1dCBidXR0b24gbGFiZWxcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbGFiZWw6IHN0cmluZyA9IFwiVVBMT0FEX0ZJTEVcIjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGNmZ05hbWVzOiBhbnk7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjdXN0b21JbWFnZUNsaWNrOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIEBJbnB1dEJvb2xlYW4oKVxyXG4gICAgcHVibGljIGlzRWRpdGFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKSBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBoaWRlQXZhdGFyczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZmlsZVNhdmVzT25Qb3B1cE9rQ2xpY2s6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNlbGVjdGVkOiBzdHJpbmc7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWRpdFNsaWRlb3V0U3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgdGFnc0NoYW5nZUV2ZW50OiBFdmVudEVtaXR0ZXI8VGFnVHJlZUl0ZW1bXT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhZ1RyZWVJdGVtW10+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgaW1hZ2VDbGljazogRXZlbnRFbWl0dGVyPENvRG9jdW1lbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PigpO1xyXG5cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWZpbGVzLXVwbG9hZCcpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoXCJjbGFzcy5lZGl0YWJsZVwiKVxyXG4gICAgcHVibGljIGdldCBlZGl0YWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jYW5BZGQ7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuZW1wdHlcIilcclxuICAgIHB1YmxpYyBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuICF0aGlzLmRvY3VtZW50cyB8fCB0aGlzLmRvY3VtZW50cy5sZW5ndGggPT09IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG1vdXNlT3ZlckFkZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBzbGlkZW91dFNob3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyb3B6b25lJylcclxuICAgIHB1YmxpYyBpc0Ryb3B6b25lOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgLy9wcm9tcHRTZXJ2aWNlOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgICAgIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICAvL3VzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgX2NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgICAgICBwcm90ZWN0ZWQgX2ZhY3Rvcnk6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgICAgICAvL3Byb3RlY3RlZCBfZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9iYXNlRGF0YURhbFJlcG9zaXRvcnk6IEJhc2VEYXRhRGFsUmVwb3NpdG9yeSxcclxuICAgICAgIC8vIHByb3RlY3RlZCBfZ2VuZXJhbERhbFJlcG9zaXRvcnk6IEdlbmVyYWxEYWxSZXBvc2l0b3J5LFxyXG4gICAgICAgIC8vcHJvdGVjdGVkIF9jb0RvY3VtZW50RGF0YUxvYWRlcjogQ29Eb2N1bWVudERhdGFMb2FkZXJTZXJ2aWNlLFxyXG4gICAgICAgIC8vcHJpdmF0ZSBfd29ya2FiaWxpdHk6IEFwcFdvcmthYmlsaXR5U2VydmljZSxcclxuICAgICAgICAvL3ByaXZhdGUgX2ZpbGVUeXBlSW1nUGlwZTogRmlsZVR5cGVJbWFnZVBpcGVcclxuICAgICkge1xyXG4gICAgICAgIHN1cGVyKGRpY3Rpb25hcnlTZXJ2aWNlLCBfY29udGFpbmVyLCBfZmFjdG9yeSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zbGlkZW91dFRlbXBsYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuaW5wdXQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgb3BlbkZpbGVCcm93c2VyKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmICh0aGlzLmlucHV0ICYmIHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCkge1xyXG4gICAgICAgICAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZUFkZENsaWNrKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub3BlbkZpbGVCcm93c2VyKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy90b2RvIGNoZWNrIGlmIHRoaXMgY2FuIGJlIHJlbW92ZWQgYXQgdGhlIGVuZCBvZiB0aGUgcnVuXHJcbiAgICAvKnB1YmxpYyBvbkN1c3RvbUNsb3NlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnRVbmRlckVkaXQgPSB1bmRlZmluZWQ7XHJcbiAgICB9Ki9cclxufVxyXG4iXX0=
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NoYXJlZGNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGVzLXVwbG9hZC9maWxlcy11cGxvYWQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHdCQUF3QixFQUN4QixZQUFZLEVBRVosWUFBWSxFQUFFLFVBQVUsRUFDeEIsV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBRU4sU0FBUyxFQUNULGdCQUFnQixFQUNoQixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDNUYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHbkUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlDQUF5QyxDQUFDO0FBdURyRSwwSUFBMEk7QUFDMUksTUFBTSxPQUFPLG9CQUFxQixTQUFRLHVCQUF1QjtJQW9FN0Q7SUFDSSwrQkFBK0I7SUFDL0IsaUJBQW9DO0lBQ3BDLDJCQUEyQjtJQUNqQixVQUE0QixFQUM1QixRQUFrQztRQVE1QyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBVHJDLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBMURoRCxxQkFBcUI7UUFFZCxVQUFLLEdBQVcsYUFBYSxDQUFDO1FBTTlCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUlsQyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRzVCLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBU3BCLHVCQUFrQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNFLG9CQUFlLEdBQWdDLElBQUksWUFBWSxFQUFpQixDQUFDO1FBR2pGLGVBQVUsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQW1CdEUsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsZUFBVSxHQUFZLEtBQUssQ0FBQztJQWdCbkMsQ0FBQztJQWhGRCxJQUNXLFFBQVEsQ0FBQyxLQUFjO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUE0Q00sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQ1csUUFBUTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDVyxLQUFLO1FBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUF1QkQsV0FBVztRQUNQLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFWSxlQUFlOztZQUN4QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQztLQUFBO0lBRU0sY0FBYztRQUNqQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7O1lBeEpKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTBDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsU0FBUyxFQUFFO29CQUNQO3dCQUNJLE9BQU8sRUFBRSw4Q0FBOEM7d0JBQ3ZELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7cUJBQ3REO2lCQUNKO2FBQ0o7OztZQXpETyxpQkFBaUI7WUFMdkIsZ0JBQWdCO1lBVmhCLHdCQUF3Qjs7O3VCQTRFckIsS0FBSzsrQkFNTCxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDO29CQUkvQyxTQUFTLFNBQUMsV0FBVyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQztvQkFJckMsS0FBSzt1QkFHTCxLQUFLOytCQUdMLEtBQUs7eUJBR0wsS0FBSzswQkFJTCxLQUFLO3NDQUdMLEtBQUs7dUJBR0wsS0FBSztpQ0FHTCxNQUFNOzhCQUdOLE1BQU07eUJBR04sTUFBTTt3QkFJTixXQUFXLFNBQUMsdUJBQXVCO3VCQUtuQyxXQUFXLFNBQUMsZ0JBQWdCO29CQUs1QixXQUFXLFNBQUMsYUFBYTt5QkFPekIsV0FBVyxTQUFDLGdCQUFnQjs7QUF0QzdCO0lBREMsWUFBWSxFQUFFO3dEQUNvQjtBQUduQztJQURVLFlBQVksRUFBRTt5REFDWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7QmFzZUZpbGVVcGxvYWRDb21wb25lbnR9IGZyb20gXCIuL2NvbXBvbmVudHMvYmFzZS1maWxlLXVwbG9hZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2VcIjtcclxuaW1wb3J0IHtDb0RvY3VtZW50fSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnRcIjtcclxuaW1wb3J0IHtUYWdUcmVlSXRlbX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3RhZy10cmVlLWl0ZW0uYm9cIjtcclxuaW1wb3J0IHtJbnB1dEJvb2xlYW59IGZyb20gXCIuLi8uLi9kZWNvcmF0b3IvaW5wdXQtYm9vbGVhbi5kZWNvcmF0b3JcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tZmlsZXMtdXBsb2FkXCIsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlcy11cGxvYWQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICA8ZHJhZy1kcm9wLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc29ydGFibGVMaXN0XT1cImRvY3VtZW50c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzb3J0aW5nQ2hhbmdlKT1cImhhbmRsZVNvcnRpbmdDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtoYW5kbGVTb3J0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcmFnSGFuZGxlPVwidGlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVkXT1cIiFub0RyYWdEcm9wT3JkZXJpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkLWFkZC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28tZmlsZS11cGxvYWQgKm5nSWY9XCJjYW5BZGQgJiYgYWRkV2l0aEJ1dHRvblwiIGNsYXNzPVwiYWRkLWZpbGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQWRkaW5nVGlsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249XCJwbHVzX3JvdW5kX29wZW5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJsYWJlbCB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VvdmVyKT1cIm1vdXNlT3ZlckFkZCA9IHRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb3VzZW91dCk9XCJtb3VzZU92ZXJBZGQgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZUFkZENsaWNrKClcIj48L2NvLWZpbGUtdXBsb2FkPiA8IS0tIChjbGljayk9XCJoYW5kbGVBZGRDbGljaygpXCIgLS0+XHJcbiAgICAgICAgICAgICAgICA8Y28tZmlsZS11cGxvYWQgKm5nSWY9XCIhZG9jdW1lbnRzIHx8IGRvY3VtZW50cy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImFkZC1kcm9wem9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNBZGRpbmdUaWxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Ryb3B6b25lXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsaW5rXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInRFJPUFpPTkVfVEVYVCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vdXNlb3Zlcik9XCJtb3VzZU92ZXJBZGQgPSB0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91c2VvdXQpPVwibW91c2VPdmVyQWRkID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVBZGRDbGljaygpXCI+PC9jby1maWxlLXVwbG9hZD5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8Y28tZmlsZS11cGxvYWQgKm5nRm9yPVwibGV0IGZpbGUgb2YgZG9jdW1lbnRzXCIgY2xhc3M9XCJ0aWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cImZpbGUucmVhZG9ubHkgfHwgcmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuaGlkZGVuXT1cImhpZGVBdmF0YXJzID8gZmlsZS5pc0F2YXRhciA6IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpbGVdPVwiZmlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJmaWxlLmZpbGVOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dUcmFzaENhbl09XCJjYW5EZWxldGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsZVNhdmVzT25Qb3B1cE9rQ2xpY2tdPVwiZmlsZVNhdmVzT25Qb3B1cE9rQ2xpY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNFZGl0YWJsZV09XCJpc0VkaXRhYmxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUltYWdlQ2xpY2tdPVwiY3VzdG9tSW1hZ2VDbGlja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbWFnZUNsaWNrKT1cImltYWdlQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUNsaWNrKT1cImhhbmRsZURlbGV0ZShmaWxlKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChlZGl0Q2xpY2spPVwiaGFuZGxlRWRpdERvY3VtZW50Q2xpY2soJGV2ZW50KVwiPjwvY28tZmlsZS11cGxvYWQ+XHJcbiAgICAgICAgICAgIDwvZHJhZy1kcm9wLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXh1cGxvYWRzaXplXCIgdGV4dENvbnRlbnQ9XCJnZXRNYXhGaWxlU2l6ZU5vdGl0aW9uKClcIiBbY2xhc3Muc2hvd109XCJtb3VzZU92ZXJBZGRcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDxpbnB1dCAjaW5wdXRGaWxlIFthY2NlcHRdPVwiYWNjZXB0ZWRVcGxvYWRGb3JtYXRzXCIgKGNoYW5nZSk9XCJoYW5kbGVGaWxlQ2hhbmdlKCRldmVudClcIiB0eXBlPVwiZmlsZVwiIGhpZGRlbiBtdWx0aXBsZS8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBgLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRmlsZXNVcGxvYWRDb21wb25lbnQpXHJcbiAgICAgICAgfVxyXG4gICAgXVxyXG59KVxyXG4vLyBBIGNvbXBvbmVudCB0aGF0IGxldHMgdGhlIHVzZXIgbWFrZSBhIGxpc3Qgb2YgZmlsZXMgZnJvbSBpdHMgZGV2aWNlLiBEb2Vzbid0IGFjdHVhbGx5IHVwbG9hZCwgYnV0IG91dHB1dHMgY2hvc2VuIGZpbGVzIGFzIGZpbGVzQ2hhbmdlZC5cclxuZXhwb3J0IGNsYXNzIEZpbGVzVXBsb2FkQ29tcG9uZW50IGV4dGVuZHMgQmFzZUZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGRyb3B6b25lKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5pc0Ryb3B6b25lID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLy90b2RvIHNlZSBpZiB0aGlzIGlzIHVzZWQgYW55d2hlcmUgaWYgbm90LCByZW1vdmVcclxuICAgIEBDb250ZW50Q2hpbGQoXCJzbGlkZW91dFRlbXBsYXRlXCIsIHtzdGF0aWM6IHRydWV9KVxyXG4gICAgcHVibGljIHNsaWRlb3V0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgLy8gKEhpZGRlbikgaW5wdXQgZm9yIGZpbGUgdXBsb2FkIGZhY2lsaXRpZXNcclxuICAgIEBWaWV3Q2hpbGQoXCJpbnB1dEZpbGVcIiwge3N0YXRpYzogdHJ1ZX0pXHJcbiAgICBwdWJsaWMgaW5wdXQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgLy8gSW5wdXQgYnV0dG9uIGxhYmVsXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmcgPSBcIlVQTE9BRF9GSUxFXCI7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjZmdOYW1lczogYW55O1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY3VzdG9tSW1hZ2VDbGljazogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBASW5wdXRCb29sZWFuKClcclxuICAgIHB1YmxpYyBpc0VkaXRhYmxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpXHJcbiAgICBwdWJsaWMgaGlkZUF2YXRhcnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGZpbGVTYXZlc09uUG9wdXBPa0NsaWNrOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZWxlY3RlZDogc3RyaW5nO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRTbGlkZW91dFN1Ym1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHRhZ3NDaGFuZ2VFdmVudDogRXZlbnRFbWl0dGVyPFRhZ1RyZWVJdGVtW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYWdUcmVlSXRlbVtdPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIGltYWdlQ2xpY2s6IEV2ZW50RW1pdHRlcjxDb0RvY3VtZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8Q29Eb2N1bWVudD4oKTtcclxuXHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1maWxlcy11cGxvYWQnKVxyXG4gICAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuZWRpdGFibGVcIilcclxuICAgIHB1YmxpYyBnZXQgZWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuQWRkO1xyXG4gICAgfVxyXG5cclxuICAgIEBIb3N0QmluZGluZyhcImNsYXNzLmVtcHR5XCIpXHJcbiAgICBwdWJsaWMgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiAhdGhpcy5kb2N1bWVudHMgfHwgdGhpcy5kb2N1bWVudHMubGVuZ3RoID09PSAwO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBtb3VzZU92ZXJBZGQ6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgc2xpZGVvdXRTaG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kcm9wem9uZScpXHJcbiAgICBwdWJsaWMgaXNEcm9wem9uZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIC8vcHJvbXB0U2VydmljZTogUHJvbXB0U2VydmljZSxcclxuICAgICAgICBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgICAgLy91c2VyU2VydmljZTogVXNlclNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9jb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgICAgcHJvdGVjdGVkIF9mYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICAgICAgLy9wcm90ZWN0ZWQgX2RhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgICAgICAvL3Byb3RlY3RlZCBfYmFzZURhdGFEYWxSZXBvc2l0b3J5OiBCYXNlRGF0YURhbFJlcG9zaXRvcnksXHJcbiAgICAgICAvLyBwcm90ZWN0ZWQgX2dlbmVyYWxEYWxSZXBvc2l0b3J5OiBHZW5lcmFsRGFsUmVwb3NpdG9yeSxcclxuICAgICAgICAvL3Byb3RlY3RlZCBfY29Eb2N1bWVudERhdGFMb2FkZXI6IENvRG9jdW1lbnREYXRhTG9hZGVyU2VydmljZSxcclxuICAgICAgICAvL3ByaXZhdGUgX3dvcmthYmlsaXR5OiBBcHBXb3JrYWJpbGl0eVNlcnZpY2UsXHJcbiAgICAgICAgLy9wcml2YXRlIF9maWxlVHlwZUltZ1BpcGU6IEZpbGVUeXBlSW1hZ2VQaXBlXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcihkaWN0aW9uYXJ5U2VydmljZSwgX2NvbnRhaW5lciwgX2ZhY3RvcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuc2xpZGVvdXRUZW1wbGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmlucHV0ID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIG9wZW5GaWxlQnJvd3NlcigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAodGhpcy5pbnB1dCAmJiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBoYW5kbGVBZGRDbGljaygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9wZW5GaWxlQnJvd3NlcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vdG9kbyBjaGVjayBpZiB0aGlzIGNhbiBiZSByZW1vdmVkIGF0IHRoZSBlbmQgb2YgdGhlIHJ1blxyXG4gICAgLypwdWJsaWMgb25DdXN0b21DbG9zZSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRvY3VtZW50VW5kZXJFZGl0ID0gdW5kZWZpbmVkO1xyXG4gICAgfSovXHJcbn1cclxuIl19
@@ -1,16 +1,18 @@
1
1
  import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, HostBinding, Input, Output } from "@angular/core";
2
+ import { Component, EventEmitter, HostBinding, Input, Output, Renderer2, ViewChild } from "@angular/core";
3
3
  import { Icon } from "../../enum/icon.enum";
4
4
  import { IconCacheService } from "../../service/icon-cache.service";
5
5
  import { SharedService } from "../../service/shared.service";
6
6
  import { StringUtils } from "@colijnit/ioneconnector/build/utils/string-utils";
7
7
  import { KeyboardCode } from "../../enum/keyboard-code.enum";
8
8
  export class RoleEmailSelectorComponent {
9
- constructor(iconService, sharedService) {
9
+ constructor(iconService, sharedService, renderer) {
10
10
  this.iconService = iconService;
11
11
  this.sharedService = sharedService;
12
+ this.renderer = renderer;
12
13
  this.icons = Icon;
13
14
  this.recipientLabel = 'RECIPIENTS';
15
+ this.fieldLabel = '';
14
16
  this.extraLabel = '';
15
17
  this.modelChange = new EventEmitter();
16
18
  this.emailAddressesAvailableForDropdown = [];
@@ -19,9 +21,11 @@ export class RoleEmailSelectorComponent {
19
21
  this._roleEmailAddresses = [];
20
22
  this._customEmailAddresses = [];
21
23
  this._model = [];
24
+ this.chipsWrapperWidth = 0;
22
25
  }
23
26
  set model(value) {
24
27
  this._model = value;
28
+ this.updateChipsWrapperWidth();
25
29
  }
26
30
  get model() {
27
31
  return this._model;
@@ -52,6 +56,9 @@ export class RoleEmailSelectorComponent {
52
56
  this.fetchRoleEmailAddresses();
53
57
  });
54
58
  }
59
+ ngAfterViewInit() {
60
+ this.updateChipsWrapperWidth();
61
+ }
55
62
  fetchRoleEmailAddresses() {
56
63
  return __awaiter(this, void 0, void 0, function* () {
57
64
  if (this.workflowCategoryType !== undefined && this.key !== undefined) {
@@ -73,7 +80,11 @@ export class RoleEmailSelectorComponent {
73
80
  this.updateModel();
74
81
  }
75
82
  handleKeyPressed(event) {
76
- if (event.code === KeyboardCode.Enter) {
83
+ if (event.code === KeyboardCode.Enter || event.code === KeyboardCode.NumpadEnter) {
84
+ this.addEmail();
85
+ }
86
+ else if (event.code === KeyboardCode.Tab) {
87
+ event.preventDefault();
77
88
  this.addEmail();
78
89
  }
79
90
  }
@@ -87,53 +98,62 @@ export class RoleEmailSelectorComponent {
87
98
  updateModel() {
88
99
  this.model = this._roleEmailAddresses.concat(this._customEmailAddresses);
89
100
  this.modelChange.emit(this.model);
101
+ setTimeout(() => {
102
+ this.updateChipsWrapperWidth();
103
+ });
90
104
  }
91
105
  removeOptionFromModel(email) {
92
- if (this._roleEmailAddresses.indexOf(email) > -1) {
93
- this._roleEmailAddresses.splice(this._roleEmailAddresses.indexOf(email), 1);
106
+ const indexRole = this._roleEmailAddresses.indexOf(email);
107
+ if (indexRole > -1) {
108
+ this._roleEmailAddresses.splice(indexRole, 1);
94
109
  }
95
- if (this._customEmailAddresses.indexOf(email) > -1) {
96
- this._customEmailAddresses.splice(this._customEmailAddresses.indexOf(email), 1);
110
+ const indexCustom = this._customEmailAddresses.indexOf(email);
111
+ if (indexCustom > -1) {
112
+ this._customEmailAddresses.splice(indexCustom, 1);
97
113
  }
98
114
  this.updateModel();
99
115
  }
100
- clear() {
101
- this.chosenEmailAddressesInDropDown = [];
116
+ updateChipsWrapperWidth() {
117
+ if (this.chipsWrapper) {
118
+ this.chipsWrapperWidth = this.chipsWrapper.nativeElement.offsetWidth;
119
+ }
102
120
  }
103
121
  }
104
122
  RoleEmailSelectorComponent.decorators = [
105
123
  { type: Component, args: [{
106
124
  selector: "co-role-email-selector",
107
125
  template: `
108
-
109
-
110
- <div class="chips-wrapper">
126
+ <co-input-text #inputText [(model)]="emailModel" [ngStyle]="{'padding-left.px': chipsWrapperWidth}" [placeholder]="fieldLabel | localize" (keyDown)="handleKeyPressed($event)"
127
+ ></co-input-text>
128
+ <co-list-of-values [multiselect]="true" [label]="recipientLabel | localize" [(model)]="chosenEmailAddressesInDropDown" [showChips]="false"
129
+ [collection]="emailAddressesAvailableForDropdown" [displayField]="'role'"
130
+ (modelChange)="roleChosen($event)">
131
+ </co-list-of-values>
132
+ <div class="chips-wrapper" #chipsWrapper>
111
133
  <div class="chips" *ngFor="let email of model">
112
134
  <span class="chips-description" [textContent]="email"></span>
113
135
  <co-icon class="remove-chip-icon" [iconData]="iconService.getIcon(icons.CrossSkinny)" (click)="removeOptionFromModel(email)"></co-icon>
114
136
  </div>
115
137
  </div>
116
- <co-list-of-values [multiselect]="true" [label]="recipientLabel | localize" [(model)]="chosenEmailAddressesInDropDown" [showChips]="false"
117
- [collection]="emailAddressesAvailableForDropdown" [displayField]="'role'"
118
- (modelChange)="roleChosen($event)">
119
- </co-list-of-values>
120
- <co-input-text [(model)]="emailModel" [placeholder]="extraLabel | localize" (keyDown)="handleKeyPressed($event)"
121
- ></co-input-text>
122
138
 
123
139
  `
124
140
  },] }
125
141
  ];
126
142
  RoleEmailSelectorComponent.ctorParameters = () => [
127
143
  { type: IconCacheService },
128
- { type: SharedService }
144
+ { type: SharedService },
145
+ { type: Renderer2 }
129
146
  ];
130
147
  RoleEmailSelectorComponent.propDecorators = {
131
148
  recipientLabel: [{ type: Input }],
149
+ fieldLabel: [{ type: Input }],
132
150
  extraLabel: [{ type: Input }],
133
151
  model: [{ type: Input }],
134
152
  key: [{ type: Input }],
135
153
  workflowCategoryType: [{ type: Input }],
136
154
  modelChange: [{ type: Output }],
137
- showClass: [{ type: HostBinding, args: ["class.co-role-email-selector",] }]
155
+ showClass: [{ type: HostBinding, args: ["class.co-role-email-selector",] }],
156
+ chipsWrapper: [{ type: ViewChild, args: ['chipsWrapper',] }],
157
+ inputText: [{ type: ViewChild, args: ['inputText',] }]
138
158
  };
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1lbWFpbC1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9yb2xlLWVtYWlsLXNlbGVjdG9yL3JvbGUtZW1haWwtc2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHbEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxrREFBa0QsQ0FBQztBQUM3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFzQjNELE1BQU0sT0FBTywwQkFBMEI7SUF5RHJDLFlBQW1CLFdBQTZCLEVBQzdCLGFBQTRCO1FBRDVCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXpEL0IsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFHbkMsbUJBQWMsR0FBVyxZQUFZLENBQUM7UUFHdEMsZUFBVSxHQUFXLEVBQUUsQ0FBRTtRQWdDaEIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVsRSx1Q0FBa0MsR0FBdUIsRUFBRSxDQUFDO1FBQzVELG1DQUE4QixHQUF1QixFQUFFLENBQUM7UUFFeEQsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUV2Qix3QkFBbUIsR0FBYSxFQUFFLENBQUM7UUFDbkMsMEJBQXFCLEdBQWEsRUFBRSxDQUFDO1FBQ3JDLFdB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dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7V29ya2Zsb3dDYXRlZ29yeVR5cGV9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9lbnVtL3dvcmtmbG93LWNhdGVnb3J5LmVudW1cIjtcclxuaW1wb3J0IHtSb2xlRW1haWxhZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcm9sZS1lbWFpbC1hZGRyZXNzXCI7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtTdHJpbmdVdGlsc30gZnJvbSBcIkBjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3V0aWxzL3N0cmluZy11dGlsc1wiO1xyXG5pbXBvcnQge0tleWJvYXJkQ29kZX0gZnJvbSBcIi4uLy4uL2VudW0va2V5Ym9hcmQtY29kZS5lbnVtXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImNvLXJvbGUtZW1haWwtc2VsZWN0b3JcIixcclxuICAgIHRlbXBsYXRlOiBgXHJcblxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImNoaXBzLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcHNcIiAqbmdGb3I9XCJsZXQgZW1haWwgb2YgbW9kZWxcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcHMtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiZW1haWxcIj48L3NwYW4+XHJcbiAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInJlbW92ZS1jaGlwLWljb25cIiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIiAoY2xpY2spPVwicmVtb3ZlT3B0aW9uRnJvbU1vZGVsKGVtYWlsKVwiPjwvY28taWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxjby1saXN0LW9mLXZhbHVlcyBbbXVsdGlzZWxlY3RdPVwidHJ1ZVwiIFtsYWJlbF09XCJyZWNpcGllbnRMYWJlbCB8IGxvY2FsaXplXCIgWyhtb2RlbCldPVwiY2hvc2VuRW1haWxBZGRyZXNzZXNJbkRyb3BEb3duXCIgW3Nob3dDaGlwc109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY29sbGVjdGlvbl09XCJlbWFpbEFkZHJlc3Nlc0F2YWlsYWJsZUZvckRyb3Bkb3duXCIgW2Rpc3BsYXlGaWVsZF09XCIncm9sZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInJvbGVDaG9zZW4oJGV2ZW50KVwiPlxyXG4gICAgICA8L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICA8Y28taW5wdXQtdGV4dCBbKG1vZGVsKV09XCJlbWFpbE1vZGVsXCIgW3BsYWNlaG9sZGVyXT1cImV4dHJhTGFiZWwgfCBsb2NhbGl6ZVwiIChrZXlEb3duKT1cImhhbmRsZUtleVByZXNzZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcblxyXG4gICAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvbGVFbWFpbFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZWNpcGllbnRMYWJlbDogc3RyaW5nID0gJ1JFQ0lQSUVOVFMnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleHRyYUxhYmVsOiBzdHJpbmcgPSAnJyA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBtb2RlbCh2YWx1ZTogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG1vZGVsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX21vZGVsO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGtleSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9rZXkgPSB2YWx1ZTtcclxuICAgIHRoaXMuZmV0Y2hSb2xlRW1haWxBZGRyZXNzZXMoKTtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgZ2V0IGtleSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2tleTtcclxuICB9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgd29ya2Zsb3dDYXRlZ29yeVR5cGUodmFsdWU6IFdvcmtmbG93Q2F0ZWdvcnlUeXBlKSB7XHJcbiAgICB0aGlzLl93b3JrZmxvd0NhdGVnb3J5VHlwZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5mZXRjaFJvbGVFbWFpbEFkZHJlc3NlcygpO1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBnZXQgd29ya2Zsb3dDYXRlZ29yeVR5cGUoKTogV29ya2Zsb3dDYXRlZ29yeVR5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dvcmtmbG93Q2F0ZWdvcnlUeXBlO1xyXG4gIH07XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzQXZhaWxhYmxlRm9yRHJvcGRvd246IFJvbGVFbWFpbGFkZHJlc3NbXSA9IFtdO1xyXG4gIHB1YmxpYyBjaG9zZW5FbWFpbEFkZHJlc3Nlc0luRHJvcERvd246IFJvbGVFbWFpbGFkZHJlc3NbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgZW1haWxNb2RlbDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHJpdmF0ZSBfcm9sZUVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUgX2N1c3RvbUVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUgX21vZGVsOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUgX2tleTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3dvcmtmbG93Q2F0ZWdvcnlUeXBlOiBXb3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tcm9sZS1lbWFpbC1zZWxlY3RvclwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgICAgICAgICBwdWJsaWMgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZldGNoUm9sZUVtYWlsQWRkcmVzc2VzKClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBmZXRjaFJvbGVFbWFpbEFkZHJlc3NlcygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmKHRoaXMud29ya2Zsb3dDYXRlZ29yeVR5cGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmtleSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuZW1haWxBZGRyZXNzZXNBdmFpbGFibGVGb3JEcm9wZG93biA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXRSb2xlRW1haWxBZGRyZXNzZXNCeVdvcmtmbG93Q2F0ZWdvcnlBbmRLZXkodGhpcy5fd29ya2Zsb3dDYXRlZ29yeVR5cGUsIHRoaXMuX2tleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcm9sZUNob3Nlbihyb2xlczogUm9sZUVtYWlsYWRkcmVzc1tdKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yb2xlRW1haWxBZGRyZXNzZXMgPSBbXTtcclxuICAgIGlmIChyb2xlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJvbGVzLmZvckVhY2gocm9sZSA9PiB7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IHJvbGUuZW1haWxBZGRyZXNzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmICh0aGlzLl9yb2xlRW1haWxBZGRyZXNzZXMuaW5kZXhPZihyb2xlLmVtYWlsQWRkcmVzc2VzW2ldKSA9PT0gLTEgJiYgU3RyaW5nVXRpbHMuSXNWYWxpZEVtYWlsKHJvbGUuZW1haWxBZGRyZXNzZXNbaV0pKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JvbGVFbWFpbEFkZHJlc3Nlcy5wdXNoKHJvbGUuZW1haWxBZGRyZXNzZXNbaV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYoZXZlbnQuY29kZSA9PT0gS2V5Ym9hcmRDb2RlLkVudGVyKSB7XHJcbiAgICAgIHRoaXMuYWRkRW1haWwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRFbWFpbCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9jdXN0b21FbWFpbEFkZHJlc3Nlcy5pbmRleE9mKHRoaXMuZW1haWxNb2RlbCkgPT09IC0xICYmIFN0cmluZ1V0aWxzLklzVmFsaWRFbWFpbCh0aGlzLmVtYWlsTW9kZWwpKSB7XHJcbiAgICAgICAgdGhpcy5fY3VzdG9tRW1haWxBZGRyZXNzZXMucHVzaCh0aGlzLmVtYWlsTW9kZWwpO1xyXG4gICAgICAgIHRoaXMuZW1haWxNb2RlbCA9IFwiXCI7XHJcbiAgICAgICAgdGhpcy51cGRhdGVNb2RlbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZU1vZGVsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5tb2RlbCA9IHRoaXMuX3JvbGVFbWFpbEFkZHJlc3Nlcy5jb25jYXQodGhpcy5fY3VzdG9tRW1haWxBZGRyZXNzZXMpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZU9wdGlvbkZyb21Nb2RlbChlbWFpbDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fcm9sZUVtYWlsQWRkcmVzc2VzLmluZGV4T2YoZW1haWwpID4gLTEpIHtcclxuICAgICAgdGhpcy5fcm9sZUVtYWlsQWRkcmVzc2VzLnNwbGljZSh0aGlzLl9yb2xlRW1haWxBZGRyZXNzZXMuaW5kZXhPZihlbWFpbCksIDEpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2N1c3RvbUVtYWlsQWRkcmVzc2VzLmluZGV4T2YoZW1haWwpID4gLTEpIHtcclxuICAgICAgdGhpcy5fY3VzdG9tRW1haWxBZGRyZXNzZXMuc3BsaWNlKHRoaXMuX2N1c3RvbUVtYWlsQWRkcmVzc2VzLmluZGV4T2YoZW1haWwpLCAxKTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlTW9kZWwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hvc2VuRW1haWxBZGRyZXNzZXNJbkRyb3BEb3duID0gW107XHJcbiAgfVxyXG59XHJcbiJdfQ==
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS1lbWFpbC1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9yb2xlLWVtYWlsLXNlbGVjdG9yL3JvbGUtZW1haWwtc2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxQyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUdsRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBQzdFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQW9CM0QsTUFBTSxPQUFPLDBCQUEwQjtJQWdFckMsWUFDUyxXQUE2QixFQUM3QixhQUE0QixFQUMzQixRQUFtQjtRQUZwQixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0Isa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDM0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWxFYixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUduQyxtQkFBYyxHQUFXLFlBQVksQ0FBQztRQUd0QyxlQUFVLEdBQVcsRUFBRSxDQUFFO1FBR3pCLGVBQVUsR0FBVyxFQUFFLENBQUU7UUFpQ2hCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFbEUsdUNBQWtDLEdBQXVCLEVBQUUsQ0FBQztRQUM1RCxtQ0FBOEIsR0FBdUIsRUFBRSxDQUFDO1FBRXhELGVB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O1lBQ3BCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7U0FDdEU7SUFDSCxDQUFDOzs7WUEvSkYsU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7S0FjVDthQUNKOzs7WUF4Qk8sZ0JBQWdCO1lBR2hCLGFBQWE7WUFQbkIsU0FBUzs7OzZCQWdDUixLQUFLO3lCQUdMLEtBQUs7eUJBR0wsS0FBSztvQkFHTCxLQUFLO2tCQVVMLEtBQUs7bUNBVUwsS0FBSzswQkFVTCxNQUFNO3dCQWNOLFdBQVcsU0FBQyw4QkFBOEI7MkJBSzFDLFNBQVMsU0FBQyxjQUFjO3dCQUN4QixTQUFTLFNBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBSZW5kZXJlcjIsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtXb3JrZmxvd0NhdGVnb3J5VHlwZX0gZnJvbSBcIkBjb2xpam5pdC9tYWluYXBpL2J1aWxkL2VudW0vd29ya2Zsb3ctY2F0ZWdvcnkuZW51bVwiO1xyXG5pbXBvcnQge1JvbGVFbWFpbGFkZHJlc3N9IGZyb20gXCJAY29saWpuaXQvbWFpbmFwaS9idWlsZC9tb2RlbC9yb2xlLWVtYWlsLWFkZHJlc3NcIjtcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZVwiO1xyXG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tIFwiQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvdXRpbHMvc3RyaW5nLXV0aWxzXCI7XHJcbmltcG9ydCB7S2V5Ym9hcmRDb2RlfSBmcm9tIFwiLi4vLi4vZW51bS9rZXlib2FyZC1jb2RlLmVudW1cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiY28tcm9sZS1lbWFpbC1zZWxlY3RvclwiLFxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgICAgPGNvLWlucHV0LXRleHQgI2lucHV0VGV4dCBbKG1vZGVsKV09XCJlbWFpbE1vZGVsXCIgW25nU3R5bGVdPVwieydwYWRkaW5nLWxlZnQucHgnOiBjaGlwc1dyYXBwZXJXaWR0aH1cIiBbcGxhY2Vob2xkZXJdPVwiZmllbGRMYWJlbCB8IGxvY2FsaXplXCIgKGtleURvd24pPVwiaGFuZGxlS2V5UHJlc3NlZCgkZXZlbnQpXCJcclxuICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIFttdWx0aXNlbGVjdF09XCJ0cnVlXCIgW2xhYmVsXT1cInJlY2lwaWVudExhYmVsIHwgbG9jYWxpemVcIiBbKG1vZGVsKV09XCJjaG9zZW5FbWFpbEFkZHJlc3Nlc0luRHJvcERvd25cIiBbc2hvd0NoaXBzXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xsZWN0aW9uXT1cImVtYWlsQWRkcmVzc2VzQXZhaWxhYmxlRm9yRHJvcGRvd25cIiBbZGlzcGxheUZpZWxkXT1cIidyb2xlJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwicm9sZUNob3NlbigkZXZlbnQpXCI+XHJcbiAgICAgIDwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjaGlwcy13cmFwcGVyXCIgI2NoaXBzV3JhcHBlcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcHNcIiAqbmdGb3I9XCJsZXQgZW1haWwgb2YgbW9kZWxcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcHMtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiZW1haWxcIj48L3NwYW4+XHJcbiAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInJlbW92ZS1jaGlwLWljb25cIiBbaWNvbkRhdGFdPVwiaWNvblNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc1NraW5ueSlcIiAoY2xpY2spPVwicmVtb3ZlT3B0aW9uRnJvbU1vZGVsKGVtYWlsKVwiPjwvY28taWNvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgYCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvbGVFbWFpbFNlbGVjdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmVjaXBpZW50TGFiZWw6IHN0cmluZyA9ICdSRUNJUElFTlRTJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZmllbGRMYWJlbDogc3RyaW5nID0gJycgO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleHRyYUxhYmVsOiBzdHJpbmcgPSAnJyA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBtb2RlbCh2YWx1ZTogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuX21vZGVsID0gdmFsdWU7XHJcbiAgICB0aGlzLnVwZGF0ZUNoaXBzV3JhcHBlcldpZHRoKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG1vZGVsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX21vZGVsO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGtleSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9rZXkgPSB2YWx1ZTtcclxuICAgIHRoaXMuZmV0Y2hSb2xlRW1haWxBZGRyZXNzZXMoKTtcclxuICB9O1xyXG5cclxuICBwdWJsaWMgZ2V0IGtleSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2tleTtcclxuICB9O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgd29ya2Zsb3dDYXRlZ29yeVR5cGUodmFsdWU6IFdvcmtmbG93Q2F0ZWdvcnlUeXBlKSB7XHJcbiAgICB0aGlzLl93b3JrZmxvd0NhdGVnb3J5VHlwZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5mZXRjaFJvbGVFbWFpbEFkZHJlc3NlcygpO1xyXG4gIH07XHJcblxyXG4gIHB1YmxpYyBnZXQgd29ya2Zsb3dDYXRlZ29yeVR5cGUoKTogV29ya2Zsb3dDYXRlZ29yeVR5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dvcmtmbG93Q2F0ZWdvcnlUeXBlO1xyXG4gIH07XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBtb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc2VzQXZhaWxhYmxlRm9yRHJvcGRvd246IFJvbGVFbWFpbGFkZHJlc3NbXSA9IFtdO1xyXG4gIHB1YmxpYyBjaG9zZW5FbWFpbEFkZHJlc3Nlc0luRHJvcERvd246IFJvbGVFbWFpbGFkZHJlc3NbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgZW1haWxNb2RlbDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgcHJpdmF0ZSBfcm9sZUVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUgX2N1c3RvbUVtYWlsQWRkcmVzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUgX21vZGVsOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHByaXZhdGUgX2tleTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3dvcmtmbG93Q2F0ZWdvcnlUeXBlOiBXb3JrZmxvd0NhdGVnb3J5VHlwZTtcclxuICBwdWJsaWMgY2hpcHNXcmFwcGVyV2lkdGg6IG51bWJlciA9IDA7XHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tcm9sZS1lbWFpbC1zZWxlY3RvclwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2NoaXBzV3JhcHBlcicpIGNoaXBzV3JhcHBlcjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpbnB1dFRleHQnKSBpbnB1dFRleHQ6IEVsZW1lbnRSZWY7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25TZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHsgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZmV0Y2hSb2xlRW1haWxBZGRyZXNzZXMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMudXBkYXRlQ2hpcHNXcmFwcGVyV2lkdGgoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBmZXRjaFJvbGVFbWFpbEFkZHJlc3NlcygpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmKHRoaXMud29ya2Zsb3dDYXRlZ29yeVR5cGUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmtleSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuZW1haWxBZGRyZXNzZXNBdmFpbGFibGVGb3JEcm9wZG93biA9IGF3YWl0IHRoaXMuc2hhcmVkU2VydmljZS5nZXRSb2xlRW1haWxBZGRyZXNzZXNCeVdvcmtmbG93Q2F0ZWdvcnlBbmRLZXkodGhpcy5fd29ya2Zsb3dDYXRlZ29yeVR5cGUsIHRoaXMuX2tleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcm9sZUNob3Nlbihyb2xlczogUm9sZUVtYWlsYWRkcmVzc1tdKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yb2xlRW1haWxBZGRyZXNzZXMgPSBbXTtcclxuICAgIGlmIChyb2xlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJvbGVzLmZvckVhY2gocm9sZSA9PiB7XHJcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gMDsgaSA8IHJvbGUuZW1haWxBZGRyZXNzZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGlmICh0aGlzLl9yb2xlRW1haWxBZGRyZXNzZXMuaW5kZXhPZihyb2xlLmVtYWlsQWRkcmVzc2VzW2ldKSA9PT0gLTEgJiYgU3RyaW5nVXRpbHMuSXNWYWxpZEVtYWlsKHJvbGUuZW1haWxBZGRyZXNzZXNbaV0pKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JvbGVFbWFpbEFkZHJlc3Nlcy5wdXNoKHJvbGUuZW1haWxBZGRyZXNzZXNbaV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5UHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYoZXZlbnQuY29kZSA9PT0gS2V5Ym9hcmRDb2RlLkVudGVyIHx8IGV2ZW50LmNvZGUgPT09IEtleWJvYXJkQ29kZS5OdW1wYWRFbnRlcikge1xyXG4gICAgICB0aGlzLmFkZEVtYWlsKCk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmNvZGUgPT09IEtleWJvYXJkQ29kZS5UYWIpIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdGhpcy5hZGRFbWFpbCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZEVtYWlsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2N1c3RvbUVtYWlsQWRkcmVzc2VzLmluZGV4T2YodGhpcy5lbWFpbE1vZGVsKSA9PT0gLTEgJiYgU3RyaW5nVXRpbHMuSXNWYWxpZEVtYWlsKHRoaXMuZW1haWxNb2RlbCkpIHtcclxuICAgICAgdGhpcy5fY3VzdG9tRW1haWxBZGRyZXNzZXMucHVzaCh0aGlzLmVtYWlsTW9kZWwpO1xyXG4gICAgICB0aGlzLmVtYWlsTW9kZWwgPSBcIlwiO1xyXG4gICAgICB0aGlzLnVwZGF0ZU1vZGVsKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlTW9kZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLm1vZGVsID0gdGhpcy5fcm9sZUVtYWlsQWRkcmVzc2VzLmNvbmNhdCh0aGlzLl9jdXN0b21FbWFpbEFkZHJlc3Nlcyk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy51cGRhdGVDaGlwc1dyYXBwZXJXaWR0aCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVtb3ZlT3B0aW9uRnJvbU1vZGVsKGVtYWlsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGluZGV4Um9sZSA9IHRoaXMuX3JvbGVFbWFpbEFkZHJlc3Nlcy5pbmRleE9mKGVtYWlsKTtcclxuICAgIGlmIChpbmRleFJvbGUgPiAtMSkge1xyXG4gICAgICB0aGlzLl9yb2xlRW1haWxBZGRyZXNzZXMuc3BsaWNlKGluZGV4Um9sZSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaW5kZXhDdXN0b20gPSB0aGlzLl9jdXN0b21FbWFpbEFkZHJlc3Nlcy5pbmRleE9mKGVtYWlsKTtcclxuICAgIGlmIChpbmRleEN1c3RvbSA+IC0xKSB7XHJcbiAgICAgIHRoaXMuX2N1c3RvbUVtYWlsQWRkcmVzc2VzLnNwbGljZShpbmRleEN1c3RvbSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVNb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVDaGlwc1dyYXBwZXJXaWR0aCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmNoaXBzV3JhcHBlcikge1xyXG4gICAgICB0aGlzLmNoaXBzV3JhcHBlcldpZHRoID0gdGhpcy5jaGlwc1dyYXBwZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19