nuxeo-development-framework 4.2.7 → 4.2.9

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 (172) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +2664 -3347
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/comments/comments.module.js +5 -9
  4. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +23 -30
  5. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +34 -28
  6. package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +77 -0
  7. package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +28 -0
  8. package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +29 -0
  9. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +35 -31
  10. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +41 -41
  11. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +34 -30
  12. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +3 -3
  13. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +2 -6
  14. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +24 -32
  15. package/esm2015/lib/components/diagrams/components/connection-label.component.js +1 -1
  16. package/esm2015/lib/components/diagrams/directive/diagram.directive.js +3 -2
  17. package/esm2015/lib/components/diagrams/editor/customize.js +4 -1
  18. package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +34 -21
  19. package/esm2015/lib/components/diagrams/editor/path-plugin.js +10 -11
  20. package/esm2015/lib/components/diagrams/models/base-node.model.js +1 -2
  21. package/esm2015/lib/components/diagrams/models/connection.model.js +1 -1
  22. package/esm2015/lib/components/diagrams/types/common.type.js +1 -1
  23. package/esm2015/lib/components/diagrams/types/diagram-config.type.js +1 -1
  24. package/esm2015/lib/components/diagrams/types/node-definition.js +1 -1
  25. package/esm2015/lib/components/diagrams/utilities/random.js +3 -9
  26. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +9 -11
  27. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +29 -30
  28. package/esm2015/lib/components/documents/documents.module.js +6 -2
  29. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +40 -45
  30. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +17 -21
  31. package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +164 -0
  32. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +92 -98
  33. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +2 -2
  34. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +29 -28
  35. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +10 -13
  36. package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +42 -58
  37. package/esm2015/lib/components/file-manger/components/copy/copy.component.js +36 -65
  38. package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +13 -39
  39. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +200 -238
  40. package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +12 -14
  41. package/esm2015/lib/components/file-manger/components/delete/delete.component.js +20 -48
  42. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +43 -45
  43. package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +36 -62
  44. package/esm2015/lib/components/file-manger/components/move/move.component.js +31 -60
  45. package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +81 -81
  46. package/esm2015/lib/components/file-manger/components/rename/rename.component.js +30 -57
  47. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +66 -99
  48. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +75 -95
  49. package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +11 -15
  50. package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +23 -53
  51. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +24 -24
  52. package/esm2015/lib/components/file-manger/file-manager.abstract.js +19 -21
  53. package/esm2015/lib/components/file-manger/file-manger.module.js +6 -10
  54. package/esm2015/lib/components/notifications/components/base-notifications.component.js +16 -2
  55. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +3 -3
  56. package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +1 -2
  57. package/esm2015/lib/components/notifications/services/notifications.service.js +17 -23
  58. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +90 -107
  59. package/esm2015/lib/components/permissions/permissions/permissions.component.js +57 -100
  60. package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +52 -36
  61. package/esm2015/lib/components/permissions/permissions.module.js +7 -23
  62. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +22 -22
  63. package/esm2015/lib/shared-services/dialog-mangment.service.js +23 -27
  64. package/esm2015/lib/shared-services/shared-docs.service.js +27 -22
  65. package/esm2015/public-api.js +5 -4
  66. package/fesm2015/nuxeo-development-framework.js +1843 -2523
  67. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  68. package/lib/components/comments/comments.module.d.ts +1 -2
  69. package/lib/components/comments/components/comment-item/comment-item.component.d.ts +1 -3
  70. package/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.d.ts +5 -8
  71. package/lib/components/confirm-caller/confirm-caller.dialog.d.ts +46 -0
  72. package/lib/components/confirm-caller/confirm-caller.module.d.ts +17 -0
  73. package/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.d.ts +12 -0
  74. package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +2 -4
  75. package/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.d.ts +4 -6
  76. package/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.d.ts +2 -4
  77. package/lib/components/correspondence-relation/correspondence-relation.module.d.ts +2 -3
  78. package/lib/components/diagrams/editor/overrides/connection-path.transformers.d.ts +5 -2
  79. package/lib/components/diagrams/models/base-node.model.d.ts +1 -1
  80. package/lib/components/diagrams/models/connection.model.d.ts +1 -2
  81. package/lib/components/diagrams/types/common.type.d.ts +0 -4
  82. package/lib/components/diagrams/types/diagram-config.type.d.ts +1 -1
  83. package/lib/components/diagrams/types/node-definition.d.ts +0 -1
  84. package/lib/components/diagrams/utilities/random.d.ts +1 -1
  85. package/lib/components/documents/components/document-list/documents-list.component.d.ts +1 -3
  86. package/lib/components/documents/documents.module.d.ts +14 -13
  87. package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +10 -11
  88. package/lib/components/dynamic-chart/dynamic-chart.module.d.ts +6 -5
  89. package/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.d.ts +33 -0
  90. package/lib/components/dynamic-form/components/department-form/department-form.component.d.ts +4 -4
  91. package/lib/components/dynamic-form/dynamic-form.module.d.ts +1 -2
  92. package/lib/components/file-manger/components/add-to-collection/add-to-collection.component.d.ts +5 -11
  93. package/lib/components/file-manger/components/copy/copy.component.d.ts +4 -11
  94. package/lib/components/file-manger/components/create-directory/create-directory.component.d.ts +4 -9
  95. package/lib/components/file-manger/components/create-modal/create-modal.component.d.ts +19 -13
  96. package/lib/components/file-manger/components/creation-type/creation-type.component.d.ts +4 -6
  97. package/lib/components/file-manger/components/delete/delete.component.d.ts +4 -11
  98. package/lib/components/file-manger/components/folder-modal/folder-modal.component.d.ts +11 -9
  99. package/lib/components/file-manger/components/loan-request/loan-request.component.d.ts +5 -11
  100. package/lib/components/file-manger/components/move/move.component.d.ts +4 -11
  101. package/lib/components/file-manger/components/publish-dialog/publish-dialog.component.d.ts +10 -12
  102. package/lib/components/file-manger/components/rename/rename.component.d.ts +5 -11
  103. package/lib/components/file-manger/components/scan-modal/scan-modal.component.d.ts +8 -9
  104. package/lib/components/file-manger/components/share-dialog/share-dialog.component.d.ts +7 -6
  105. package/lib/components/file-manger/components/template-modal/template-modal.component.d.ts +3 -4
  106. package/lib/components/file-manger/components/transfer-doc/transfer-doc.component.d.ts +4 -11
  107. package/lib/components/file-manger/components/update-modal/update-modal.component.d.ts +8 -9
  108. package/lib/components/file-manger/file-manager.abstract.d.ts +0 -2
  109. package/lib/components/file-manger/file-manger.module.d.ts +1 -2
  110. package/lib/components/notifications/components/base-notifications.component.d.ts +8 -2
  111. package/lib/components/notifications/components/notification-item/notification-item.component.d.ts +1 -1
  112. package/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.d.ts +6 -8
  113. package/lib/components/permissions/permissions/permissions.component.d.ts +1 -3
  114. package/lib/components/permissions/permissions-template/permissions-template.component.d.ts +3 -3
  115. package/lib/components/permissions/permissions.module.d.ts +1 -2
  116. package/lib/shared/components/nuxeo-dialog/nuxeo.dialog.d.ts +5 -5
  117. package/lib/shared-services/dialog-mangment.service.d.ts +3 -3
  118. package/lib/shared-services/shared-docs.service.d.ts +2 -4
  119. package/package.json +4 -3
  120. package/public-api.d.ts +4 -3
  121. package/esm2015/lib/components/charts/chart.const.js +0 -3
  122. package/esm2015/lib/components/charts/chart.token.js +0 -3
  123. package/esm2015/lib/components/charts/charts.module.js +0 -19
  124. package/esm2015/lib/components/charts/components/base-chart.component.js +0 -44
  125. package/esm2015/lib/components/charts/components/chart.component.js +0 -131
  126. package/esm2015/lib/components/charts/components/data-chart.component.js +0 -164
  127. package/esm2015/lib/components/charts/components/index.js +0 -4
  128. package/esm2015/lib/components/charts/defaults/bar.js +0 -18
  129. package/esm2015/lib/components/charts/defaults/doughnut.js +0 -18
  130. package/esm2015/lib/components/charts/defaults/index.js +0 -5
  131. package/esm2015/lib/components/charts/defaults/line.js +0 -36
  132. package/esm2015/lib/components/charts/defaults/pie.js +0 -20
  133. package/esm2015/lib/components/charts/index.js +0 -9
  134. package/esm2015/lib/components/charts/models/index.js +0 -5
  135. package/esm2015/lib/components/charts/models/options.js +0 -2
  136. package/esm2015/lib/components/charts/models/plugins-options.js +0 -2
  137. package/esm2015/lib/components/charts/models/response.js +0 -2
  138. package/esm2015/lib/components/charts/models/statistic-request-config.js +0 -2
  139. package/esm2015/lib/components/charts/plugins/doughnut-center-text.js +0 -21
  140. package/esm2015/lib/components/charts/plugins/doughnut-empty-state.js +0 -30
  141. package/esm2015/lib/components/charts/plugins/index.js +0 -3
  142. package/esm2015/lib/components/charts/services/index.js +0 -2
  143. package/esm2015/lib/components/charts/services/statistic.service.js +0 -17
  144. package/esm2015/lib/components/charts/utility/colors.js +0 -79
  145. package/esm2015/lib/components/charts/utility/common.js +0 -7
  146. package/esm2015/lib/components/charts/utility/index.js +0 -3
  147. package/lib/components/charts/chart.const.d.ts +0 -2
  148. package/lib/components/charts/chart.token.d.ts +0 -8
  149. package/lib/components/charts/charts.module.d.ts +0 -9
  150. package/lib/components/charts/components/base-chart.component.d.ts +0 -21
  151. package/lib/components/charts/components/chart.component.d.ts +0 -28
  152. package/lib/components/charts/components/data-chart.component.d.ts +0 -32
  153. package/lib/components/charts/components/index.d.ts +0 -3
  154. package/lib/components/charts/defaults/bar.d.ts +0 -2
  155. package/lib/components/charts/defaults/doughnut.d.ts +0 -2
  156. package/lib/components/charts/defaults/index.d.ts +0 -4
  157. package/lib/components/charts/defaults/line.d.ts +0 -2
  158. package/lib/components/charts/defaults/pie.d.ts +0 -2
  159. package/lib/components/charts/index.d.ts +0 -8
  160. package/lib/components/charts/models/index.d.ts +0 -4
  161. package/lib/components/charts/models/options.d.ts +0 -11
  162. package/lib/components/charts/models/plugins-options.d.ts +0 -15
  163. package/lib/components/charts/models/response.d.ts +0 -5
  164. package/lib/components/charts/models/statistic-request-config.d.ts +0 -28
  165. package/lib/components/charts/plugins/doughnut-center-text.d.ts +0 -2
  166. package/lib/components/charts/plugins/doughnut-empty-state.d.ts +0 -2
  167. package/lib/components/charts/plugins/index.d.ts +0 -2
  168. package/lib/components/charts/services/index.d.ts +0 -1
  169. package/lib/components/charts/services/statistic.service.d.ts +0 -9
  170. package/lib/components/charts/utility/colors.d.ts +0 -11
  171. package/lib/components/charts/utility/common.d.ts +0 -4
  172. package/lib/components/charts/utility/index.d.ts +0 -2
@@ -1,77 +1,41 @@
1
+ import { __awaiter } from "tslib";
1
2
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
3
  import { DxFormComponent } from 'devextreme-angular';
3
4
  import { concat, of, Subject } from 'rxjs';
4
5
  import { debounceTime, distinctUntilChanged, switchMap, catchError, tap } from 'rxjs/operators';
5
- import { NdfNuxeoDialog } from '../../../../shared/components/nuxeo-dialog/nuxeo.dialog';
6
- import { BaseComponent } from '../../../../shared/components/base/base.component';
7
6
  import * as i0 from "@angular/core";
8
7
  import * as i1 from "../../../../shared-services/file-manager.service";
9
8
  import * as i2 from "../../../custom-toastr/services/custom-toastr.service";
10
- import * as i3 from "../../../../shared/components/nuxeo-dialog/services/nuxeo-dialog.service";
11
- import * as i4 from "devextreme-angular";
12
- import * as i5 from "devextreme-angular/ui/nested";
13
- import * as i6 from "@ng-select/ng-select";
9
+ import * as i3 from "devextreme-angular";
10
+ import * as i4 from "devextreme-angular/ui/nested";
11
+ import * as i5 from "@ng-select/ng-select";
12
+ import * as i6 from "devextreme-angular/core";
14
13
  import * as i7 from "@angular/forms";
15
14
  import * as i8 from "@angular/common";
16
15
  import * as i9 from "@ngx-translate/core";
17
- export class AddToCollectionComponent extends BaseComponent {
18
- constructor(fileManagerService, customToastrService, nuxeoDialogService, injector) {
19
- super(injector);
16
+ export class AddToCollectionComponent {
17
+ constructor(fileManagerService, customToastrService) {
20
18
  this.fileManagerService = fileManagerService;
21
19
  this.customToastrService = customToastrService;
22
- this.nuxeoDialogService = nuxeoDialogService;
23
20
  this.visibleChange = new EventEmitter();
24
21
  this.rtlEnabled = false;
22
+ this.loading = false;
25
23
  this.isSelected = true;
26
24
  this.tagsInput$ = new Subject();
27
25
  this.tagsLoading = false;
28
26
  this._visible = false;
29
- this.onFormCollectionSubmit = (e) => {
30
- e.preventDefault();
31
- this.loading = true;
32
- return this.fileManagerService
33
- .addToCollection(this.selectedItems, this.collectionid)
34
- .pipe(tap((res) => {
35
- this.loading = false;
36
- this.form.instance.resetValues();
37
- this.selectedTags = null;
38
- this.visible = false;
39
- this.customToastrService.show('success', 'TOASTER.SUCCESS', 'TOASTER.DOCUMENT_ADDED_TO_COLLECTION');
40
- }, (err) => {
41
- this.loading = false;
42
- this.customToastrService.show('error', 'TOASTER.ERROR', 'TOASTER.DOCUMENT_ADDED_TO_COLLECTION_ERROR');
43
- }));
44
- };
45
27
  }
46
28
  set visible(value) {
47
29
  if (this._visible === value) {
48
30
  return;
49
31
  }
50
- if (value) {
51
- this.openDialog();
52
- }
53
32
  this._visible = value;
54
33
  this.visibleChange.emit(this._visible);
55
34
  }
56
35
  get visible() {
57
36
  return this._visible;
58
37
  }
59
- ngOnInit() { }
60
- openDialog() {
61
- const options = {
62
- component: NdfNuxeoDialog,
63
- config: {
64
- title: this.translateService.instant('FILE_MANAGER.ADD_TO_COLLECTION'),
65
- contentTemplate: this.contentTemplate,
66
- actionsTemplate: this.actionsTemplate
67
- }
68
- };
69
- this.nuxeoDialogService
70
- .open(options)
71
- .afterClosed()
72
- .subscribe((res) => {
73
- this.visible = false;
74
- });
38
+ ngOnInit() {
75
39
  }
76
40
  emitSelection(event) {
77
41
  if (this.isSelected) {
@@ -89,7 +53,7 @@ export class AddToCollectionComponent extends BaseComponent {
89
53
  this.isSelected = false;
90
54
  let mycategories = [];
91
55
  this.items$ = concat(this.fileManagerService.getCollectionFromPP(searchterm).pipe(switchMap((res) => {
92
- res.entries.map((entry) => {
56
+ res.entries.map(entry => {
93
57
  mycategories.push({
94
58
  displayLabel: entry.title,
95
59
  id: entry.uid,
@@ -100,12 +64,15 @@ export class AddToCollectionComponent extends BaseComponent {
100
64
  return of(mycategories);
101
65
  })), // default items
102
66
  this.tagsInput$.pipe(debounceTime(200), distinctUntilChanged(), tap(() => (this.tagsLoading = true)), switchMap((searchterm) => {
103
- return this.fileManagerService.getCollectionFromPP(searchterm).pipe(catchError(() => of([])), // empty list on error
67
+ // if (searchterm && searchterm.length) {
68
+ return this.fileManagerService
69
+ .getCollectionFromPP(searchterm)
70
+ .pipe(catchError(() => of([])), // empty list on error
104
71
  switchMap((searchCat) => {
105
72
  let myInerCateg = [];
106
73
  this.tagsLoading = false;
107
74
  this.isSelected = true;
108
- searchCat.entries.map((entry) => {
75
+ searchCat.entries.map(entry => {
109
76
  myInerCateg.push({
110
77
  displayLabel: entry.title,
111
78
  id: entry.uid,
@@ -115,11 +82,34 @@ export class AddToCollectionComponent extends BaseComponent {
115
82
  });
116
83
  return of(myInerCateg);
117
84
  }));
85
+ // } else {
86
+ // this.tagsLoading = false;
87
+ // this.isSelected = true;
88
+ // return of();
89
+ // }
118
90
  })));
119
91
  }
92
+ onFormCollectionSubmit(e) {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ e.preventDefault();
95
+ this.loading = true;
96
+ this.fileManagerService
97
+ .addToCollection(this.selectedItems, this.collectionid)
98
+ .subscribe((res) => {
99
+ this.loading = false;
100
+ this.form.instance.resetValues();
101
+ this.selectedTags = null;
102
+ this.visible = false;
103
+ this.customToastrService.show('success', 'TOASTER.SUCCESS', 'TOASTER.DOCUMENT_ADDED_TO_COLLECTION');
104
+ }, (err) => {
105
+ this.loading = false;
106
+ this.customToastrService.show('error', 'TOASTER.ERROR', 'TOASTER.DOCUMENT_ADDED_TO_COLLECTION_ERROR');
107
+ });
108
+ });
109
+ }
120
110
  }
121
- AddToCollectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddToCollectionComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }, { token: i3.NuxeoDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
122
- AddToCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddToCollectionComponent, selector: "app-add-to-collection", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItems: "selectedItems" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\r\n\t<form>\r\n\t\t<dx-form\r\n\t\t\tclass=\"collection-form-wrapper\"\r\n\t\t\t#createForm\r\n\t\t\t[formData]=\"formData\"\r\n\t\t\t[disabled]=\"loading\"\r\n\t\t>\r\n\t\t\t<dxi-item editorType=\"dxTextBox\">\r\n\t\t\t\t<ng-select\r\n\t\t\t\t\t[items]=\"items$ | async\"\r\n\t\t\t\t\tbindLabel=\"displayLabel\"\r\n\t\t\t\t\t[addTag]=\"true\"\r\n\t\t\t\t\taddTagText=\"Add collection\"\r\n\t\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t\t[hideSelected]=\"true\"\r\n\t\t\t\t\t[minTermLength]=\"0\"\r\n\t\t\t\t\t[loading]=\"tagsLoading\"\r\n\t\t\t\t\ttypeToSearchText=\"search\"\r\n\t\t\t\t\t[typeahead]=\"tagsInput$\"\r\n\t\t\t\t\t[(ngModel)]=\"selectedTags\"\r\n\t\t\t\t\trequired\r\n\t\t\t\t\tplaceholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n\t\t\t\t\tname=\"selectedItem\"\r\n\t\t\t\t\t(change)=\"emitSelection($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t</ng-select>\r\n\t\t\t</dxi-item>\r\n\t\t</dx-form>\r\n\t</form>\r\n</ng-template>\r\n\r\n<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t<button\r\n\t\tclass=\"submission-button px-5\"\r\n\t\t(click)=\"dialog.executeAction(onFormCollectionSubmit, [$event])\"\r\n\t>\r\n\t\t{{ 'FILE_MANAGER.ADD' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i4.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i5.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i6.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }], directives: [{ type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "async": i8.AsyncPipe, "translate": i9.TranslatePipe } });
111
+ AddToCollectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddToCollectionComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }], target: i0.ɵɵFactoryTarget.Component });
112
+ AddToCollectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: AddToCollectionComponent, selector: "app-add-to-collection", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItems: "selectedItems" }, outputs: { visibleChange: "visibleChange" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }], ngImport: i0, template: "<dx-popup class=\"popUpParent\" [rtlEnabled]=\"rtlEnabled\" id=\"photo-popup\" [width]=\"500\" [height]=\"200\"\r\n (onShown)=\"loadItems()\" closeOnOutsideClick=\"true\" title=\"{{ 'FILE_MANAGER.ADD_TO_COLLECTION' | translate }}\"\r\n [(visible)]=\"visible\">\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <form (submit)=\"onFormCollectionSubmit($event)\">\r\n <dx-form class=\"collection-form-wrapper\" #createForm [formData]=\"formData\" [disabled]=\"loading\">\r\n <dxi-item editorType=\"dxTextBox\">\r\n <ng-select [items]=\"items$ | async\" bindLabel=\"displayLabel\" [addTag]=\"true\"\r\n addTagText=\"Add collection\" [multiple]=\"false\" [hideSelected]=\"true\" [minTermLength]=\"0\"\r\n [loading]=\"tagsLoading\" typeToSearchText=\"search\" [typeahead]=\"tagsInput$\"\r\n [(ngModel)]=\"selectedTags\" required placeholder=\"{{\r\n 'VOCABULARY.SELECT_ITEM' | translate\r\n }}\" name=\"selectedItem\" (change)=\"emitSelection($event)\">\r\n </ng-select>\r\n </dxi-item>\r\n <dxi-item itemType=\"button\">\r\n <dxo-button-options width=\"30%\" type=\"danger\" [useSubmitBehavior]=\"true\"\r\n [template]=\"'addToCollectionTemplate'\">\r\n </dxo-button-options>\r\n </dxi-item>\r\n <ng-container *dxTemplate=\"let item of 'addToCollectionTemplate'\">\r\n <span class=\"dx-button-text\">\r\n <ng-container *ngIf=\"loading; else notLoading\">\r\n <dx-load-indicator width=\"24px\" height=\"24px\" [visible]=\"true\"></dx-load-indicator>\r\n </ng-container>\r\n <ng-template #notLoading>{{\r\n \"FILE_MANAGER.ADD\" | translate\r\n }}</ng-template>\r\n </span>\r\n </ng-container>\r\n </dx-form>\r\n </form>\r\n </div>\r\n</dx-popup>", styles: [""], components: [{ type: i3.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i3.DxFormComponent, selector: "dx-form", inputs: ["accessKey", "activeStateEnabled", "alignItemLabels", "alignItemLabelsInAllGroups", "colCount", "colCountByScreen", "customizeItem", "disabled", "elementAttr", "focusStateEnabled", "formData", "height", "hint", "hoverStateEnabled", "items", "labelLocation", "labelMode", "minColWidth", "optionalMark", "readOnly", "requiredMark", "requiredMessage", "rtlEnabled", "screenByWidth", "scrollingEnabled", "showColonAfterLabel", "showOptionalMark", "showRequiredMark", "showValidationSummary", "tabIndex", "validationGroup", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onEditorEnterKey", "onFieldDataChanged", "onInitialized", "onOptionChanged", "accessKeyChange", "activeStateEnabledChange", "alignItemLabelsChange", "alignItemLabelsInAllGroupsChange", "colCountChange", "colCountByScreenChange", "customizeItemChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "formDataChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemsChange", "labelLocationChange", "labelModeChange", "minColWidthChange", "optionalMarkChange", "readOnlyChange", "requiredMarkChange", "requiredMessageChange", "rtlEnabledChange", "screenByWidthChange", "scrollingEnabledChange", "showColonAfterLabelChange", "showOptionalMarkChange", "showRequiredMarkChange", "showValidationSummaryChange", "tabIndexChange", "validationGroupChange", "visibleChange", "widthChange"] }, { type: i4.DxiItemComponent, selector: "dxi-item", inputs: ["disabled", "html", "icon", "template", "text", "title", "titleTemplate", "visible", "onClick", "stylingMode", "type", "baseSize", "box", "ratio", "shrink", "elementAttr", "hint", "beginGroup", "closeMenuOnClick", "items", "selectable", "selected", "colSpan", "cssClass", "dataField", "editorOptions", "editorType", "helpText", "isRequired", "itemType", "label", "name", "validationRules", "visibleIndex", "alignItemLabels", "caption", "colCount", "colCountByScreen", "tabPanelOptions", "tabs", "badge", "tabTemplate", "buttonOptions", "horizontalAlignment", "verticalAlignment", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "widget", "height", "width", "imageAlt", "imageSrc", "acceptedValues", "formatName", "formatValues", "key", "showChevron", "linkAttr", "url", "heightRatio", "widthRatio", "expanded", "hasItems", "id", "parentId"] }, { type: i5.NgSelectComponent, selector: "ng-select", inputs: ["markFirst", "dropdownPosition", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "bufferAmount", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "bindLabel", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "virtualScroll", "openOnEnter", "appendTo", "bindValue", "appearance", "maxSelectedItems", "groupBy", "groupValue", "tabIndex", "typeahead"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { type: i4.DxoButtonOptionsComponent, selector: "dxo-button-options", inputs: ["accessKey", "activeStateEnabled", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "icon", "onClick", "onContentReady", "onDisposing", "onInitialized", "onOptionChanged", "rtlEnabled", "stylingMode", "tabIndex", "template", "text", "type", "useSubmitBehavior", "validationGroup", "visible", "width"] }], directives: [{ type: i6.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i9.TranslatePipe, "async": i8.AsyncPipe } });
123
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AddToCollectionComponent, decorators: [{
124
114
  type: Component,
125
115
  args: [{
@@ -127,15 +117,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
127
117
  templateUrl: './add-to-collection.component.html',
128
118
  styleUrls: ['./add-to-collection.component.scss']
129
119
  }]
130
- }], ctorParameters: function () { return [{ type: i1.FileManagerService }, { type: i2.CustomToastrService }, { type: i3.NuxeoDialogService }, { type: i0.Injector }]; }, propDecorators: { form: [{
120
+ }], ctorParameters: function () { return [{ type: i1.FileManagerService }, { type: i2.CustomToastrService }]; }, propDecorators: { form: [{
131
121
  type: ViewChild,
132
122
  args: [DxFormComponent, { static: false }]
133
- }], contentTemplate: [{
134
- type: ViewChild,
135
- args: ['contentTemplate']
136
- }], actionsTemplate: [{
137
- type: ViewChild,
138
- args: ['actionsTemplate']
139
123
  }], visible: [{
140
124
  type: Input
141
125
  }], visibleChange: [{
@@ -145,4 +129,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
145
129
  }], selectedItems: [{
146
130
  type: Input
147
131
  }] } });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXRvLWNvbGxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9maWxlLW1hbmdlci9jb21wb25lbnRzL2FkZC10by1jb2xsZWN0aW9uL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9hZGQtdG8tY29sbGVjdGlvbi9hZGQtdG8tY29sbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULFlBQVksRUFFWixLQUFLLEVBR0wsTUFBTSxFQUdOLFNBQVMsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFDTixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsR0FBRyxFQUVILE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7Ozs7Ozs7Ozs7QUFTbEYsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGFBQWE7SUFnQzFELFlBQ1Msa0JBQXNDLEVBQ3BDLG1CQUF3QyxFQUMzQyxrQkFBc0MsRUFFN0MsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFD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QUNFLGVBQWU7c0JBQTVDLFNBQVM7dUJBQUMsaUJBQWlCO2dCQUV4QixPQUFPO3NCQURWLEtBQUs7Z0JBZU4sYUFBYTtzQkFEWixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG5cdENvbXBvbmVudCxcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5qZWN0b3IsXHJcblx0SW5wdXQsXHJcblx0T25DaGFuZ2VzLFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0U2ltcGxlQ2hhbmdlcyxcclxuXHRUZW1wbGF0ZVJlZixcclxuXHRWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHhGb3JtQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgY29uY2F0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG5cdGRlYm91bmNlVGltZSxcclxuXHRkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuXHRzd2l0Y2hNYXAsXHJcblx0Y2F0Y2hFcnJvcixcclxuXHR0YXAsXHJcblx0bWFwXHJcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGaWxlTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQtc2VydmljZXMvZmlsZS1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL21vZGVscy9kaWFsb2ctb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgTmRmTnV4ZW9EaWFsb2cgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvbnV4ZW8uZGlhbG9nJztcclxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBOdXhlb0RpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvc2VydmljZXMvbnV4ZW8tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL21vZGVscy9kaWFsb2ctb3B0aW9uLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWFkZC10by1jb2xsZWN0aW9uJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vYWRkLXRvLWNvbGxlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZFRvQ29sbGVjdGlvbkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBWaWV3Q2hpbGQoRHhGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogRHhGb3JtQ29tcG9uZW50O1xyXG5cdEBWaWV3Q2hpbGQoJ2NvbnRlbnRUZW1wbGF0ZScpIGNvbnRlbnRUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblx0QFZpZXdDaGlsZCgnYWN0aW9uc1RlbXBsYXRlJykgYWN0aW9uc1RlbXBsYXRlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHRASW5wdXQoKVxyXG5cdHNldCB2aXNpYmxlKHZhbHVlOiBhbnkpIHtcclxuXHRcdGlmICh0aGlzLl92aXNpYmxlID09PSB2YWx1ZSkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRpZiAodmFsdWUpIHtcclxuXHRcdFx0dGhpcy5vcGVuRGlhbG9nKCk7XHJcblx0XHR9XHJcblx0XHR0aGlzLl92aXNpYmxlID0gdmFsdWU7XHJcblx0XHR0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh0aGlzLl92aXNpYmxlKTtcclxuXHR9XHJcblx0Z2V0IHZpc2libGUoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5fdmlzaWJsZTtcclxuXHR9XHJcblx0QE91dHB1dCgpXHJcblx0dmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBJbnB1dCgpXHJcblx0cnRsRW5hYmxlZCA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpXHJcblx0c2VsZWN0ZWRJdGVtczogYW55O1xyXG5cclxuXHRpc1NlbGVjdGVkOiBib29sZWFuID0gdHJ1ZTtcclxuXHRjb2xsZWN0aW9uaWQ6IGFueTtcclxuXHRzZWxlY3RlZFRhZ3M6IGFueTtcclxuXHRpdGVtcyQ6IE9ic2VydmFibGU8YW55W10+O1xyXG5cdHRhZ3NJbnB1dCQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcblx0dGFnc0xvYWRpbmcgPSBmYWxzZTtcclxuXHRfdmlzaWJsZSA9IGZhbHNlO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBmaWxlTWFuYWdlclNlcnZpY2U6IEZpbGVNYW5hZ2VyU2VydmljZSxcclxuXHRcdHByb3RlY3RlZCBjdXN0b21Ub2FzdHJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG5cdFx0cHVibGljIG51eGVvRGlhbG9nU2VydmljZTogTnV4ZW9EaWFsb2dTZXJ2aWNlLFxyXG5cclxuXHRcdGluamVjdG9yOiBJbmplY3RvclxyXG5cdCkge1xyXG5cdFx0c3VwZXIoaW5qZWN0b3IpO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuXHRvcGVuRGlhbG9nKCk6IHZvaWQge1xyXG5cdFx0Y29uc3Qgb3B0aW9uczogRGlhbG9nT3B0aW9ucyA9IHtcclxuXHRcdFx0Y29tcG9uZW50OiBOZGZOdXhlb0RpYWxvZyxcclxuXHRcdFx0Y29uZmlnOiB7XHJcblx0XHRcdFx0dGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdGSUxFX01BTkFHRVIuQUREX1RPX0NPTExFQ1RJT04nKSxcclxuXHRcdFx0XHRjb250ZW50VGVtcGxhdGU6IHRoaXMuY29udGVudFRlbXBsYXRlLFxyXG5cdFx0XHRcdGFjdGlvbnNUZW1wbGF0ZTogdGhpcy5hY3Rpb25zVGVtcGxhdGVcclxuXHRcdFx0fVxyXG5cdFx0fTtcclxuXHRcdHRoaXMubnV4ZW9EaWFsb2dTZXJ2aWNlXHJcblx0XHRcdC5vcGVuKG9wdGlvbnMpXHJcblx0XHRcdC5hZnRlckNsb3NlZCgpXHJcblx0XHRcdC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGVtaXRTZWxlY3Rpb24oZXZlbnQpIHtcclxuXHRcdGlmICh0aGlzLmlzU2VsZWN0ZWQpIHtcclxuXHRcdFx0dGhpcy5maWxlTWFuYWdlclNlcnZpY2VcclxuXHRcdFx0XHQuY3JlYXRlTmV3Q29sbGVjdGlvbihldmVudC5kaXNwbGF5TGFiZWwpXHJcblx0XHRcdFx0LnN1YnNjcmliZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmNvbGxlY3Rpb25pZCA9IHJlcy51aWQ7XHJcblx0XHRcdFx0fSk7XHJcblx0XHR9IGVsc2UgdGhpcy5jb2xsZWN0aW9uaWQgPSBldmVudC5pZDtcclxuXHR9XHJcblxyXG5cdGxvYWRJdGVtcygpIHtcclxuXHRcdGxldCBzZWFyY2h0ZXJtID0gJyc7XHJcblx0XHR0aGlzLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuXHRcdGxldCBteWNhdGVnb3JpZXMgPSBbXTtcclxuXHRcdHRoaXMuaXRlbXMkID0gY29uY2F0KFxyXG5cdFx0XHR0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5nZXRDb2xsZWN0aW9uRnJvbVBQKHNlYXJjaHRlcm0pLnBpcGUoXHJcblx0XHRcdFx0c3dpdGNoTWFwKChyZXM6IGFueSkgPT4ge1xyXG5cdFx0XHRcdFx0cmVzLmVudHJpZXMubWFwKChlbnRyeSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRteWNhdGVnb3JpZXMucHVzaCh7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheUxhYmVsOiBlbnRyeS50aXRsZSxcclxuXHRcdFx0XHRcdFx0XHRpZDogZW50cnkudWlkLFxyXG5cdFx0XHRcdFx0XHRcdHBhdGg6IGVudHJ5LnBhdGgsXHJcblx0XHRcdFx0XHRcdFx0aWNvbjogZW50cnkucHJvcGVydGllc1snY29tbW9uOmljb24nXVxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0cmV0dXJuIG9mKG15Y2F0ZWdvcmllcyk7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KSwgLy8gZGVmYXVsdCBpdGVtc1xyXG5cdFx0XHR0aGlzLnRhZ3NJbnB1dCQucGlwZShcclxuXHRcdFx0XHRkZWJvdW5jZVRpbWUoMjAwKSxcclxuXHRcdFx0XHRkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG5cdFx0XHRcdHRhcCgoKSA9PiAodGhpcy50YWdzTG9hZGluZyA9IHRydWUpKSxcclxuXHRcdFx0XHRzd2l0Y2hNYXAoKHNlYXJjaHRlcm0pID0+IHtcclxuXHRcdFx0XHRcdHJldHVybiB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5nZXRDb2xsZWN0aW9uRnJvbVBQKHNlYXJjaHRlcm0pLnBpcGUoXHJcblx0XHRcdFx0XHRcdGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSwgLy8gZW1wdHkgbGlzdCBvbiBlcnJvclxyXG5cdFx0XHRcdFx0XHRzd2l0Y2hNYXAoKHNlYXJjaENhdCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGxldCBteUluZXJDYXRlZyA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudGFnc0xvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdHNlYXJjaENhdC5lbnRyaWVzLm1hcCgoZW50cnkpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdG15SW5lckNhdGVnLnB1c2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5TGFiZWw6IGVudHJ5LnRpdGxlLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZDogZW50cnkudWlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRwYXRoOiBlbnRyeS5wYXRoLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBlbnRyeS5wcm9wZXJ0aWVzWydjb21tb246aWNvbiddXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gb2YobXlJbmVyQ2F0ZWcpO1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHQpXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0b25Gb3JtQ29sbGVjdGlvblN1Ym1pdDogRGlhbG9nQWN0aW9uVHlwZSA9IChlKSA9PiB7XHJcblx0XHRlLnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0cmV0dXJuIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlXHJcblx0XHRcdC5hZGRUb0NvbGxlY3Rpb24odGhpcy5zZWxlY3RlZEl0ZW1zLCB0aGlzLmNvbGxlY3Rpb25pZClcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0dGFwKFxyXG5cdFx0XHRcdFx0KHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0dGhpcy5mb3JtLmluc3RhbmNlLnJlc2V0VmFsdWVzKCk7XHJcblx0XHRcdFx0XHRcdHRoaXMuc2VsZWN0ZWRUYWdzID0gbnVsbDtcclxuXHRcdFx0XHRcdFx0dGhpcy52aXNpYmxlID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdCdzdWNjZXNzJyxcclxuXHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5TVUNDRVNTJyxcclxuXHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5ET0NVTUVOVF9BRERFRF9UT19DT0xMRUNUSU9OJ1xyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdCdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0J1RPQVNURVIuRVJST1InLFxyXG5cdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkRPQ1VNRU5UX0FEREVEX1RPX0NPTExFQ1RJT05fRVJST1InXHJcblx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KVxyXG5cdFx0XHQpO1xyXG5cdH07XHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+XHJcblx0PGZvcm0+XHJcblx0XHQ8ZHgtZm9ybVxyXG5cdFx0XHRjbGFzcz1cImNvbGxlY3Rpb24tZm9ybS13cmFwcGVyXCJcclxuXHRcdFx0I2NyZWF0ZUZvcm1cclxuXHRcdFx0W2Zvcm1EYXRhXT1cImZvcm1EYXRhXCJcclxuXHRcdFx0W2Rpc2FibGVkXT1cImxvYWRpbmdcIlxyXG5cdFx0PlxyXG5cdFx0XHQ8ZHhpLWl0ZW0gZWRpdG9yVHlwZT1cImR4VGV4dEJveFwiPlxyXG5cdFx0XHRcdDxuZy1zZWxlY3RcclxuXHRcdFx0XHRcdFtpdGVtc109XCJpdGVtcyQgfCBhc3luY1wiXHJcblx0XHRcdFx0XHRiaW5kTGFiZWw9XCJkaXNwbGF5TGFiZWxcIlxyXG5cdFx0XHRcdFx0W2FkZFRhZ109XCJ0cnVlXCJcclxuXHRcdFx0XHRcdGFkZFRhZ1RleHQ9XCJBZGQgY29sbGVjdGlvblwiXHJcblx0XHRcdFx0XHRbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG5cdFx0XHRcdFx0W2hpZGVTZWxlY3RlZF09XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFttaW5UZXJtTGVuZ3RoXT1cIjBcIlxyXG5cdFx0XHRcdFx0W2xvYWRpbmddPVwidGFnc0xvYWRpbmdcIlxyXG5cdFx0XHRcdFx0dHlwZVRvU2VhcmNoVGV4dD1cInNlYXJjaFwiXHJcblx0XHRcdFx0XHRbdHlwZWFoZWFkXT1cInRhZ3NJbnB1dCRcIlxyXG5cdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJzZWxlY3RlZFRhZ3NcIlxyXG5cdFx0XHRcdFx0cmVxdWlyZWRcclxuXHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwie3sgJ1ZPQ0FCVUxBUlkuU0VMRUNUX0lURU0nIHwgdHJhbnNsYXRlIH19XCJcclxuXHRcdFx0XHRcdG5hbWU9XCJzZWxlY3RlZEl0ZW1cIlxyXG5cdFx0XHRcdFx0KGNoYW5nZSk9XCJlbWl0U2VsZWN0aW9uKCRldmVudClcIlxyXG5cdFx0XHRcdD5cclxuXHRcdFx0XHQ8L25nLXNlbGVjdD5cclxuXHRcdFx0PC9keGktaXRlbT5cclxuXHRcdDwvZHgtZm9ybT5cclxuXHQ8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2FjdGlvbnNUZW1wbGF0ZSBsZXQtZGlhbG9nPVwiZGlhbG9nXCI+XHJcblx0PGJ1dHRvblxyXG5cdFx0Y2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvbiBweC01XCJcclxuXHRcdChjbGljayk9XCJkaWFsb2cuZXhlY3V0ZUFjdGlvbihvbkZvcm1Db2xsZWN0aW9uU3VibWl0LCBbJGV2ZW50XSlcIlxyXG5cdD5cclxuXHRcdHt7ICdGSUxFX01BTkFHRVIuQUREJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdDwvYnV0dG9uPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXRvLWNvbGxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9maWxlLW1hbmdlci9jb21wb25lbnRzL2FkZC10by1jb2xsZWN0aW9uL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9hZGQtdG8tY29sbGVjdGlvbi9hZGQtdG8tY29sbGVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFTckcsTUFBTSxPQUFPLHdCQUF3QjtJQTRCbkMsWUFDVSxrQkFBc0MsRUFDcEMsbUJBQXdDO1FBRDFDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWhCcEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBRXhDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFJbkIsWUFBTyxHQUFHLEtBQUss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ZSxFQUNmLDRDQUE0QyxDQUM3QyxDQUFDO1lBQ0osQ0FBQyxDQUNGLENBQUM7UUFDTixDQUFDO0tBQUE7O3NIQTVIVSx3QkFBd0I7MEdBQXhCLHdCQUF3QiwwT0FDeEIsZUFBZSxnRENiNUIsbW9FQWlDVzs0RkRyQkUsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxvQ0FBb0M7b0JBQ2pELFNBQVMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDO2lCQUNsRDsySUFFZ0QsSUFBSTtzQkFBbEQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUV6QyxPQUFPO3NCQURWLEtBQUs7Z0JBWU4sYUFBYTtzQkFEWixNQUFNO2dCQUdQLFVBQVU7c0JBRFQsS0FBSztnQkFHTixhQUFhO3NCQURaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEeEZvcm1Db21wb25lbnQgfSBmcm9tICdkZXZleHRyZW1lLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBjb25jYXQsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN3aXRjaE1hcCwgY2F0Y2hFcnJvciwgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbGVNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy9maWxlLW1hbmFnZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtdG8tY29sbGVjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC10by1jb2xsZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtdG8tY29sbGVjdGlvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRUb0NvbGxlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoRHhGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogRHhGb3JtQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZpc2libGUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuX3Zpc2libGUgPT09IHZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Zpc2libGUpO1xyXG4gIH1cclxuICBnZXQgdmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gIH1cclxuICBAT3V0cHV0KClcclxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KClcclxuICBydGxFbmFibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBzZWxlY3RlZEl0ZW1zOiBhbnk7XHJcblxyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBpc1NlbGVjdGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBjb2xsZWN0aW9uaWQ6IGFueTtcclxuICBzZWxlY3RlZFRhZ3M6IGFueTtcclxuICBpdGVtcyQ6IE9ic2VydmFibGU8YW55W10+O1xyXG4gIHRhZ3NJbnB1dCQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgdGFnc0xvYWRpbmcgPSBmYWxzZTtcclxuICBfdmlzaWJsZSA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmaWxlTWFuYWdlclNlcnZpY2U6IEZpbGVNYW5hZ2VyU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjdXN0b21Ub2FzdHJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlXHJcblxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbiAgZW1pdFNlbGVjdGlvbihldmVudCkge1xyXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZVxyXG4gICAgICAgIC5jcmVhdGVOZXdDb2xsZWN0aW9uKGV2ZW50LmRpc3BsYXlMYWJlbClcclxuICAgICAgICAuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMuY29sbGVjdGlvbmlkID0gcmVzLnVpZDtcclxuICAgICAgICB9KTtcclxuICAgIH0gZWxzZSB0aGlzLmNvbGxlY3Rpb25pZCA9IGV2ZW50LmlkO1xyXG4gIH1cclxuXHJcbiAgbG9hZEl0ZW1zKCkge1xyXG4gICAgbGV0IHNlYXJjaHRlcm0gPSAnJztcclxuICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgbGV0IG15Y2F0ZWdvcmllcyA9IFtdO1xyXG4gICAgdGhpcy5pdGVtcyQgPSBjb25jYXQoXHJcbiAgICAgIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLmdldENvbGxlY3Rpb25Gcm9tUFAoc2VhcmNodGVybSkucGlwZShzd2l0Y2hNYXAoKHJlczphbnkpPT4ge1xyXG4gICAgICAgIHJlcy5lbnRyaWVzLm1hcChlbnRyeSA9PiB7XHJcbiAgICAgICAgICAgICAgICBteWNhdGVnb3JpZXMucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUxhYmVsIDogZW50cnkudGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgaWQgOiBlbnRyeS51aWQsXHJcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogZW50cnkucGF0aCxcclxuICAgICAgICAgICAgICAgICAgICBpY29uIDplbnRyeS5wcm9wZXJ0aWVzWydjb21tb246aWNvbiddXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgcmV0dXJuIG9mKG15Y2F0ZWdvcmllcyk7XHJcbiAgICB9KSkgLCAvLyBkZWZhdWx0IGl0ZW1zXHJcbiAgICAgIHRoaXMudGFnc0lucHV0JC5waXBlKFxyXG4gICAgICAgIGRlYm91bmNlVGltZSgyMDApLFxyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXHJcbiAgICAgICAgdGFwKCgpID0+ICh0aGlzLnRhZ3NMb2FkaW5nID0gdHJ1ZSkpLFxyXG4gICAgICAgIHN3aXRjaE1hcCgoc2VhcmNodGVybSkgPT4ge1xyXG4gICAgICAgICAgLy8gaWYgKHNlYXJjaHRlcm0gJiYgc2VhcmNodGVybS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlXHJcbiAgICAgICAgICAgICAgLmdldENvbGxlY3Rpb25Gcm9tUFAoc2VhcmNodGVybSlcclxuICAgICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoW10pKSwgLy8gZW1wdHkgbGlzdCBvbiBlcnJvclxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChzZWFyY2hDYXQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgbGV0IG15SW5lckNhdGVnID0gW107XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMudGFnc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgc2VhcmNoQ2F0LmVudHJpZXMubWFwKGVudHJ5ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBteUluZXJDYXRlZy5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheUxhYmVsIDogZW50cnkudGl0bGUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkIDogZW50cnkudWlkLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBlbnRyeS5wYXRoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpY29uIDplbnRyeS5wcm9wZXJ0aWVzWydjb21tb246aWNvbiddXHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YobXlJbmVyQ2F0ZWcpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgIC8vICAgdGhpcy50YWdzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgLy8gICB0aGlzLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgLy8gICByZXR1cm4gb2YoKTtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgb25Gb3JtQ29sbGVjdGlvblN1Ym1pdChlKSB7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5maWxlTWFuYWdlclNlcnZpY2VcclxuICAgICAgLmFkZFRvQ29sbGVjdGlvbih0aGlzLnNlbGVjdGVkSXRlbXMsIHRoaXMuY29sbGVjdGlvbmlkKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5mb3JtLmluc3RhbmNlLnJlc2V0VmFsdWVzKCk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFncyA9IG51bGw7XHJcbiAgICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAnc3VjY2VzcycsXHJcbiAgICAgICAgICAgICdUT0FTVEVSLlNVQ0NFU1MnLFxyXG4gICAgICAgICAgICAnVE9BU1RFUi5ET0NVTUVOVF9BRERFRF9UT19DT0xMRUNUSU9OJ1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAgICdUT0FTVEVSLkVSUk9SJyxcclxuICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfQURERURfVE9fQ09MTEVDVElPTl9FUlJPUidcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGR4LXBvcHVwIGNsYXNzPVwicG9wVXBQYXJlbnRcIiBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgaWQ9XCJwaG90by1wb3B1cFwiIFt3aWR0aF09XCI1MDBcIiBbaGVpZ2h0XT1cIjIwMFwiXHJcbiAgICAob25TaG93bik9XCJsb2FkSXRlbXMoKVwiIGNsb3NlT25PdXRzaWRlQ2xpY2s9XCJ0cnVlXCIgdGl0bGU9XCJ7eyAnRklMRV9NQU5BR0VSLkFERF9UT19DT0xMRUNUSU9OJyB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICBbKHZpc2libGUpXT1cInZpc2libGVcIj5cclxuICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudCdcIj5cclxuICAgICAgICA8Zm9ybSAoc3VibWl0KT1cIm9uRm9ybUNvbGxlY3Rpb25TdWJtaXQoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8ZHgtZm9ybSBjbGFzcz1cImNvbGxlY3Rpb24tZm9ybS13cmFwcGVyXCIgI2NyZWF0ZUZvcm0gW2Zvcm1EYXRhXT1cImZvcm1EYXRhXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxkeGktaXRlbSBlZGl0b3JUeXBlPVwiZHhUZXh0Qm94XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLXNlbGVjdCBbaXRlbXNdPVwiaXRlbXMkIHwgYXN5bmNcIiBiaW5kTGFiZWw9XCJkaXNwbGF5TGFiZWxcIiBbYWRkVGFnXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhZGRUYWdUZXh0PVwiQWRkIGNvbGxlY3Rpb25cIiBbbXVsdGlwbGVdPVwiZmFsc2VcIiBbaGlkZVNlbGVjdGVkXT1cInRydWVcIiBbbWluVGVybUxlbmd0aF09XCIwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2xvYWRpbmddPVwidGFnc0xvYWRpbmdcIiB0eXBlVG9TZWFyY2hUZXh0PVwic2VhcmNoXCIgW3R5cGVhaGVhZF09XCJ0YWdzSW5wdXQkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFRhZ3NcIiByZXF1aXJlZCBwbGFjZWhvbGRlcj1cInt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdWT0NBQlVMQVJZLlNFTEVDVF9JVEVNJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgIH19XCIgbmFtZT1cInNlbGVjdGVkSXRlbVwiIChjaGFuZ2UpPVwiZW1pdFNlbGVjdGlvbigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPGR4aS1pdGVtIGl0ZW1UeXBlPVwiYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGR4by1idXR0b24tb3B0aW9ucyB3aWR0aD1cIjMwJVwiIHR5cGU9XCJkYW5nZXJcIiBbdXNlU3VibWl0QmVoYXZpb3JdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCInYWRkVG9Db2xsZWN0aW9uVGVtcGxhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9keG8tYnV0dG9uLW9wdGlvbnM+XHJcbiAgICAgICAgICAgICAgICA8L2R4aS1pdGVtPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZHhUZW1wbGF0ZT1cImxldCBpdGVtIG9mICdhZGRUb0NvbGxlY3Rpb25UZW1wbGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImR4LWJ1dHRvbi10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nOyBlbHNlIG5vdExvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkeC1sb2FkLWluZGljYXRvciB3aWR0aD1cIjI0cHhcIiBoZWlnaHQ9XCIyNHB4XCIgW3Zpc2libGVdPVwidHJ1ZVwiPjwvZHgtbG9hZC1pbmRpY2F0b3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI25vdExvYWRpbmc+e3tcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiRklMRV9NQU5BR0VSLkFERFwiIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fTwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvZHgtZm9ybT5cclxuICAgICAgICA8L2Zvcm0+XHJcbiAgICA8L2Rpdj5cclxuPC9keC1wb3B1cD4iXX0=
@@ -1,21 +1,17 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { DxFormComponent } from 'devextreme-angular';
3
3
  import { of } from 'rxjs';
4
- import { NdfNuxeoDialog } from '../../../../shared/components/nuxeo-dialog/nuxeo.dialog';
5
- import { tap } from 'rxjs/operators';
6
- import { BaseComponent } from '../../../../shared/components/base/base.component';
7
4
  import * as i0 from "@angular/core";
8
5
  import * as i1 from "../../../../shared-services/file-manager.service";
9
6
  import * as i2 from "../../../custom-toastr/services/custom-toastr.service";
10
- import * as i3 from "../../../../shared/components/nuxeo-dialog/services/nuxeo-dialog.service";
11
- import * as i4 from "devextreme-angular";
12
- import * as i5 from "@ngx-translate/core";
13
- export class CopyComponent extends BaseComponent {
14
- constructor(fileManagerService, customToastrService, nuxeoDialogService, injector) {
15
- super(injector);
7
+ import * as i3 from "devextreme-angular";
8
+ import * as i4 from "devextreme-angular/ui/nested";
9
+ import * as i5 from "devextreme-angular/core";
10
+ import * as i6 from "@ngx-translate/core";
11
+ export class CopyComponent {
12
+ constructor(fileManagerService, customToastrService) {
16
13
  this.fileManagerService = fileManagerService;
17
14
  this.customToastrService = customToastrService;
18
- this.nuxeoDialogService = nuxeoDialogService;
19
15
  this.visibleChange = new EventEmitter();
20
16
  this.getSelectedFolder = new EventEmitter();
21
17
  this.rtlEnabled = false;
@@ -26,7 +22,7 @@ export class CopyComponent extends BaseComponent {
26
22
  let myparent = parent ? parent.key : this.rootFolder;
27
23
  let myobs;
28
24
  if (myparent === this.pageConfigurations.rootName) {
29
- // when it is root of file list then used passed root entries and for root of
25
+ // when it is root of file list then used passed root entries and for root of
30
26
  // my files or any other folder use getting childs for that folder with its id
31
27
  myobs = this.fileManagerService.parseNodeChildren(of(this.rootEntries), this.pageConfigurations, parent);
32
28
  }
@@ -44,61 +40,18 @@ export class CopyComponent extends BaseComponent {
44
40
  // )
45
41
  // return this.fileManagerService.parseNodeChildren(obs, parent);
46
42
  };
47
- this.copy = (answer) => {
48
- var _a, _b;
49
- if (this.currentItem.canCopyToDestination) {
50
- if (((_b = (_a = this.directory) === null || _a === void 0 ? void 0 : _a.dataItem) === null || _b === void 0 ? void 0 : _b.id) !== this.currentItem.id &&
51
- !this.currentItem.entity.path.includes(this.selectedItem.name)) {
52
- // this.currentPath = '';
53
- return this.fileManagerService
54
- .copyTo(this.currentItem, this.selectedItems)
55
- .pipe(tap((res) => {
56
- this.visible = answer;
57
- this.getSelectedFolder.next(this.currentItem.id);
58
- this.customToastrService.show('success', 'TOASTER.SUCCESS', 'TOASTER.DOCUMENT_COPIED');
59
- }, (err) => {
60
- this.visible = true;
61
- this.customToastrService.show('error', 'TOASTER.ERROR', 'TOASTER.DOCUMENT_COPIED_ERROR');
62
- }));
63
- }
64
- else
65
- this.customToastrService.show('error', 'TOASTER.ERROR', 'TOASTER.FAILED_TO_COPY');
66
- }
67
- else {
68
- this.customToastrService.show('error', 'TOASTER.ERROR', 'TOASTER.NO_PERMISSION');
69
- }
70
- return of(null);
71
- };
72
43
  }
73
44
  set visible(value) {
74
45
  if (this._visible === value) {
75
46
  return;
76
47
  }
77
- if (value) {
78
- this.openDialog();
79
- }
80
48
  this._visible = value;
81
49
  this.visibleChange.emit(this._visible);
82
50
  }
83
51
  get visible() {
84
52
  return this._visible;
85
53
  }
86
- ngOnInit() { }
87
- openDialog() {
88
- const options = {
89
- component: NdfNuxeoDialog,
90
- config: {
91
- title: this.translateService.instant('FILE_MANAGER.COPY_OR_MOVE'),
92
- contentTemplate: this.contentTemplate,
93
- actionsTemplate: this.actionsTemplate
94
- }
95
- };
96
- this.nuxeoDialogService
97
- .open(options)
98
- .afterClosed()
99
- .subscribe((res) => {
100
- this.cancel();
101
- });
54
+ ngOnInit() {
102
55
  }
103
56
  cancel() {
104
57
  this.visible = false;
@@ -107,9 +60,33 @@ export class CopyComponent extends BaseComponent {
107
60
  this.disable = false;
108
61
  this.currentItem = e.itemData;
109
62
  }
63
+ copy(answer) {
64
+ var _a, _b;
65
+ if (this.currentItem.canCopyToDestination) {
66
+ if (((_b = (_a = this.directory) === null || _a === void 0 ? void 0 : _a.dataItem) === null || _b === void 0 ? void 0 : _b.id) !== this.currentItem.id &&
67
+ !this.currentItem.entity.path.includes(this.selectedItem.name)) {
68
+ // this.currentPath = '';
69
+ this.fileManagerService
70
+ .copyTo(this.currentItem, this.selectedItems)
71
+ .subscribe((res) => {
72
+ this.visible = answer;
73
+ this.getSelectedFolder.next(this.currentItem.id);
74
+ this.customToastrService.show('success', 'TOASTER.SUCCESS', 'TOASTER.DOCUMENT_COPIED');
75
+ }, (err) => {
76
+ this.visible = true;
77
+ this.customToastrService.show('error', 'TOASTER.ERROR', 'TOASTER.DOCUMENT_COPIED_ERROR');
78
+ });
79
+ }
80
+ else
81
+ this.customToastrService.show('error', 'TOASTER.ERROR', 'TOASTER.FAILED_TO_COPY');
82
+ }
83
+ else {
84
+ this.customToastrService.show('error', 'TOASTER.ERROR', 'TOASTER.NO_PERMISSION');
85
+ }
86
+ }
110
87
  }
111
- CopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CopyComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }, { token: i3.NuxeoDialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
112
- CopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CopyComponent, selector: "app-copy", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem", rootFolder: "rootFolder", rootEntries: "rootEntries", selectedItems: "selectedItems", directory: "directory", pageConfigurations: "pageConfigurations" }, outputs: { visibleChange: "visibleChange", getSelectedFolder: "getSelectedFolder" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }, { propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: ["actionsTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #contentTemplate>\r\n\t<div class=\"p-4\">\r\n\t\t<dx-scroll-view width=\"100%\" height=\"100%\">\r\n\t\t\t<div class=\"form\">\r\n\t\t\t\t<dx-tree-view\r\n\t\t\t\t\t[rtlEnabled]=\"rtlEnabled\"\r\n\t\t\t\t\tid=\"treeList\"\r\n\t\t\t\t\t[rootValue]=\"rootFolder\"\r\n\t\t\t\t\tkeyExpr=\"id\"\r\n\t\t\t\t\tdisplayExpr=\"name\"\r\n\t\t\t\t\thasItemsExpr=\"isExpanded\"\r\n\t\t\t\t\tdataStructure=\"plain\"\r\n\t\t\t\t\t[createChildren]=\"createTreeNodeChildren\"\r\n\t\t\t\t\t[width]=\"465\"\r\n\t\t\t\t\t(onItemClick)=\"selectItem($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t</dx-tree-view>\r\n\t\t\t</div>\r\n\t\t</dx-scroll-view>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t<button\r\n\t\t[disabled]=\"disable\"\r\n\t\tclass=\"submission-button px-5\"\r\n\t\t(click)=\"dialog.executeAction(copy, [false])\"\r\n\t>\r\n\t\t{{ 'BUTTONS.COPY' | translate }}\r\n\t</button>\r\n</ng-template>\r\n", styles: [""], components: [{ type: i4.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { type: i4.DxTreeViewComponent, selector: "dx-tree-view", inputs: ["accessKey", "activeStateEnabled", "animationEnabled", "collapseIcon", "createChildren", "dataSource", "dataStructure", "disabled", "disabledExpr", "displayExpr", "elementAttr", "expandAllEnabled", "expandedExpr", "expandEvent", "expandIcon", "expandNodesRecursive", "focusStateEnabled", "hasItemsExpr", "height", "hint", "hoverStateEnabled", "itemHoldTimeout", "items", "itemsExpr", "itemTemplate", "keyExpr", "noDataText", "parentIdExpr", "rootValue", "rtlEnabled", "scrollDirection", "searchEditorOptions", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "searchValue", "selectAllText", "selectByClick", "selectedExpr", "selectionMode", "selectNodesRecursive", "showCheckBoxesMode", "tabIndex", "useNativeScrolling", "virtualModeEnabled", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onItemClick", "onItemCollapsed", "onItemContextMenu", "onItemExpanded", "onItemHold", "onItemRendered", "onItemSelectionChanged", "onOptionChanged", "onSelectAllValueChanged", "onSelectionChanged", "accessKeyChange", "activeStateEnabledChange", "animationEnabledChange", "collapseIconChange", "createChildrenChange", "dataSourceChange", "dataStructureChange", "disabledChange", "disabledExprChange", "displayExprChange", "elementAttrChange", "expandAllEnabledChange", "expandedExprChange", "expandEventChange", "expandIconChange", "expandNodesRecursiveChange", "focusStateEnabledChange", "hasItemsExprChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemHoldTimeoutChange", "itemsChange", "itemsExprChange", "itemTemplateChange", "keyExprChange", "noDataTextChange", "parentIdExprChange", "rootValueChange", "rtlEnabledChange", "scrollDirectionChange", "searchEditorOptionsChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "searchValueChange", "selectAllTextChange", "selectByClickChange", "selectedExprChange", "selectionModeChange", "selectNodesRecursiveChange", "showCheckBoxesModeChange", "tabIndexChange", "useNativeScrollingChange", "virtualModeEnabledChange", "visibleChange", "widthChange"] }], pipes: { "translate": i5.TranslatePipe } });
88
+ CopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CopyComponent, deps: [{ token: i1.FileManagerService }, { token: i2.CustomToastrService }], target: i0.ɵɵFactoryTarget.Component });
89
+ CopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CopyComponent, selector: "app-copy", inputs: { visible: "visible", rtlEnabled: "rtlEnabled", selectedItem: "selectedItem", rootFolder: "rootFolder", rootEntries: "rootEntries", selectedItems: "selectedItems", directory: "directory", pageConfigurations: "pageConfigurations" }, outputs: { visibleChange: "visibleChange", getSelectedFolder: "getSelectedFolder" }, viewQueries: [{ propertyName: "form", first: true, predicate: DxFormComponent, descendants: true }], ngImport: i0, template: "<dx-popup class=\"popUpParent\" [rtlEnabled]=\"rtlEnabled\" id=\"photo-popup\" [width]=\"500\" [height]=\"500\"\r\n title=\"{{ 'FILE_MANAGER.COPY_OR_MOVE' | translate }}\" [(visible)]=\"visible\" [showTitle]=\"true\"\r\n [closeOnOutsideClick]=\"true\">\r\n <div class=\"p-4\" *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view width=\"100%\" height=\"100%\">\r\n <div class=\"form\">\r\n <dx-tree-view [rtlEnabled]=\"rtlEnabled\" id=\"treeList\" [rootValue]=\"rootFolder\" keyExpr=\"id\"\r\n displayExpr=\"name\" hasItemsExpr=\"isExpanded\" dataStructure=\"plain\"\r\n [createChildren]=\"createTreeNodeChildren\" [width]=\"465\" (onItemClick)=\"selectItem($event)\">\r\n </dx-tree-view>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n <dxi-toolbar-item toolbar=\"bottom\" [disabled]=\"disable\">\r\n <button class=\"submission-button px-5\" (click)=\"copy(false)\">\r\n {{ \"BUTTONS.COPY\" | translate }}\r\n </button>\r\n </dxi-toolbar-item>\r\n <dxi-toolbar-item toolbar=\"bottom\">\r\n <button class=\"cancelation-button px-5\" (click)=\"cancel()\">\r\n {{ \"BUTTONS.CANCEL\" | translate }}\r\n </button>\r\n </dxi-toolbar-item>\r\n</dx-popup>", styles: [""], components: [{ type: i3.DxPopupComponent, selector: "dx-popup", inputs: ["accessKey", "animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "dragAndResizeArea", "dragEnabled", "dragOutsideBoundary", "elementAttr", "enableBodyScroll", "focusStateEnabled", "fullScreen", "height", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "resizeEnabled", "restorePosition", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showTitle", "tabIndex", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onResize", "onResizeEnd", "onResizeStart", "onShowing", "onShown", "onTitleRendered", "accessKeyChange", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "dragAndResizeAreaChange", "dragEnabledChange", "dragOutsideBoundaryChange", "elementAttrChange", "enableBodyScrollChange", "focusStateEnabledChange", "fullScreenChange", "heightChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "resizeEnabledChange", "restorePositionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showTitleChange", "tabIndexChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i3.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }, { type: i3.DxTreeViewComponent, selector: "dx-tree-view", inputs: ["accessKey", "activeStateEnabled", "animationEnabled", "collapseIcon", "createChildren", "dataSource", "dataStructure", "disabled", "disabledExpr", "displayExpr", "elementAttr", "expandAllEnabled", "expandedExpr", "expandEvent", "expandIcon", "expandNodesRecursive", "focusStateEnabled", "hasItemsExpr", "height", "hint", "hoverStateEnabled", "itemHoldTimeout", "items", "itemsExpr", "itemTemplate", "keyExpr", "noDataText", "parentIdExpr", "rootValue", "rtlEnabled", "scrollDirection", "searchEditorOptions", "searchEnabled", "searchExpr", "searchMode", "searchTimeout", "searchValue", "selectAllText", "selectByClick", "selectedExpr", "selectionMode", "selectNodesRecursive", "showCheckBoxesMode", "tabIndex", "useNativeScrolling", "virtualModeEnabled", "visible", "width"], outputs: ["onContentReady", "onDisposing", "onInitialized", "onItemClick", "onItemCollapsed", "onItemContextMenu", "onItemExpanded", "onItemHold", "onItemRendered", "onItemSelectionChanged", "onOptionChanged", "onSelectAllValueChanged", "onSelectionChanged", "accessKeyChange", "activeStateEnabledChange", "animationEnabledChange", "collapseIconChange", "createChildrenChange", "dataSourceChange", "dataStructureChange", "disabledChange", "disabledExprChange", "displayExprChange", "elementAttrChange", "expandAllEnabledChange", "expandedExprChange", "expandEventChange", "expandIconChange", "expandNodesRecursiveChange", "focusStateEnabledChange", "hasItemsExprChange", "heightChange", "hintChange", "hoverStateEnabledChange", "itemHoldTimeoutChange", "itemsChange", "itemsExprChange", "itemTemplateChange", "keyExprChange", "noDataTextChange", "parentIdExprChange", "rootValueChange", "rtlEnabledChange", "scrollDirectionChange", "searchEditorOptionsChange", "searchEnabledChange", "searchExprChange", "searchModeChange", "searchTimeoutChange", "searchValueChange", "selectAllTextChange", "selectByClickChange", "selectedExprChange", "selectionModeChange", "selectNodesRecursiveChange", "showCheckBoxesModeChange", "tabIndexChange", "useNativeScrollingChange", "virtualModeEnabledChange", "visibleChange", "widthChange"] }, { type: i4.DxiToolbarItemComponent, selector: "dxi-toolbar-item", inputs: ["cssClass", "disabled", "html", "locateInMenu", "location", "menuItemTemplate", "options", "showText", "template", "text", "toolbar", "visible", "widget"] }], directives: [{ type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }], pipes: { "translate": i6.TranslatePipe } });
113
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CopyComponent, decorators: [{
114
91
  type: Component,
115
92
  args: [{
@@ -117,15 +94,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
117
94
  templateUrl: './copy.component.html',
118
95
  styleUrls: ['./copy.component.scss']
119
96
  }]
120
- }], ctorParameters: function () { return [{ type: i1.FileManagerService }, { type: i2.CustomToastrService }, { type: i3.NuxeoDialogService }, { type: i0.Injector }]; }, propDecorators: { form: [{
97
+ }], ctorParameters: function () { return [{ type: i1.FileManagerService }, { type: i2.CustomToastrService }]; }, propDecorators: { form: [{
121
98
  type: ViewChild,
122
99
  args: [DxFormComponent, { static: false }]
123
- }], contentTemplate: [{
124
- type: ViewChild,
125
- args: ['contentTemplate']
126
- }], actionsTemplate: [{
127
- type: ViewChild,
128
- args: ['actionsTemplate']
129
100
  }], visible: [{
130
101
  type: Input
131
102
  }], visibleChange: [{
@@ -147,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
147
118
  }], pageConfigurations: [{
148
119
  type: Input
149
120
  }] } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtbWFuZ2VyL2NvbXBvbmVudHMvY29weS9jb3B5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jb3B5L2NvcHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUVMLE1BQU0sRUFFTixTQUFTLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJMUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBR3pGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbURBQW1ELENBQUM7Ozs7Ozs7QUFNbEYsTUFBTSxPQUFPLGFBQWMsU0FBUSxhQUFhO0lBdUMvQyxZQUNTLGtCQUFzQyxFQUNwQyxtQkFBd0MsRUFDM0Msa0JBQXNDLEVBQzdDLFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUxSLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUMzQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBdkI5QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBWW5CLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFzQ2pCLDJCQUFzQixHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3JELElBQUksS0FBSyxDQUFDO1lBQ1YsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtnQkFDbEQsNkVBQTZFO2dCQUM3RSw4RUFBOEU7Z0JBQzlFLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQ2hELEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsTUFBTSxDQUNOLENBQUM7YUFDRjtpQkFBTTtnQkFDTixLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ2pFO1lBQ0QsT0FBTyxLQUFLLENBQUM7WUFDYix1QkFBdUI7WUFDdkIsY0FBYztZQUNkLFdBQVc7WUFDWCw0REFBNEQ7WUFDNUQsWUFBWTtZQUNaLHlCQUF5QjtZQUN6QixRQUFRO1lBQ1IsSUFBSTtZQUNKLGlFQUFpRTtRQUNsRSxDQUFDLENBQUM7UUFFRixTQUFJLEdBQXFCLENBQUMsTUFBTSxFQUFFLEVBQUU7O1lBQ25DLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRTtnQkFDMUMsSUFDQyxDQUFBLE1BQUEsTUFBQSxJQUFJLENBQUMsU0FBUywwQ0FBRSxRQUFRLDBDQUFFLEVBQUUsTUFBSyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUU7b0JBQ3BELENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUM3RDtvQkFDRCx5QkFBeUI7b0JBQ3pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQjt5QkFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQzt5QkFDNUMsSUFBSSxDQUNKLEdBQUcsQ0FDRixDQUFDLEdBQUcsRUFBRSxFQUFFO3dCQUNQLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO3dCQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQ2pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzVCLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIseUJBQXlCLENBQ3pCLENBQUM7b0JBQ0gsQ0FBQyxFQUNELENBQUMsR0FBRyxFQUFFLEVBQUU7d0JBQ1AsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7d0JBQ3BCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzVCLE9BQU8sRUFDUCxlQUFlLEVBQ2YsK0JBQStCLENBQy9CLENBQUM7b0JBQ0gsQ0FBQyxDQUNELENBQ0QsQ0FBQztpQkFDSDs7b0JBQ0EsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDNUIsT0FBTyxFQUNQLGVBQWUsRUFDZix3QkFBd0IsQ0FDeEIsQ0FBQzthQUNIO2lCQUFNO2dCQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzVCLE9BQU8sRUFDUCxlQUFlLEVBQ2YsdUJBQXVCLENBQ3ZCLENBQUM7YUFDRjtZQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pCLENBQUMsQ0FBQztJQW5HRixDQUFDO0lBMUNELElBQ0ksT0FBTyxDQUFDLEtBQVU7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssRUFBRTtZQUM1QixPQUFPO1NBQ1A7UUFDRCxJQUFJLEtBQUssRUFBRTtZQUNWLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNsQjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3RCLENBQUM7SUErQkQsUUFBUSxLQUFVLENBQUM7SUFFbkIsVUFBVTtRQUNULE1BQU0sT0FBTyxHQUFrQjtZQUM5QixTQUFTLEVBQUUsY0FBYztZQUN6QixNQUFNLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUM7Z0JBQ2pFLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtnQkFDckMsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO2FBQ3JDO1NBQ0QsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0I7YUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNiLFdBQVcsRUFBRTthQUNiLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ0QsVUFBVSxDQUFDLENBQUM7UUFDWCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQzs7MkdBekVXLGFBQWE7K0ZBQWIsYUFBYSwyWkFDZCxlQUFlLGlSQzFCM0IsazdCQStCQTs0RkROYSxhQUFhO2tCQUx6QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxVQUFVO29CQUNwQixXQUFXLEVBQUUsdUJBQXVCO29CQUNwQyxTQUFTLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDcEM7bU1BRStDLElBQUk7c0JBQWxELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDZixlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDRSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFFeEIsT0FBTztzQkFEVixLQUFLO2dCQWVOLGFBQWE7c0JBRFosTUFBTTtnQkFHUCxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBR1AsVUFBVTtzQkFEVCxLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBR04sV0FBVztzQkFEVixLQUFLO2dCQUdOLGFBQWE7c0JBRFosS0FBSztnQkFHTixTQUFTO3NCQURSLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdEluamVjdG9yLFxyXG5cdElucHV0LFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0VGVtcGxhdGVSZWYsXHJcblx0Vmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IER4Rm9ybUNvbXBvbmVudCB9IGZyb20gJ2RldmV4dHJlbWUtYW5ndWxhcic7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IEZpbGVNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy9maWxlLW1hbmFnZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IERpYWxvZ09wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvbW9kZWxzL2RpYWxvZy1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBOZGZOdXhlb0RpYWxvZyB9IGZyb20gJy4uLy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL251eGVvLWRpYWxvZy9udXhlby5kaWFsb2cnO1xyXG5pbXBvcnQgeyBOdXhlb0RpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9udXhlby1kaWFsb2cvc2VydmljZXMvbnV4ZW8tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWFsb2dBY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvbnV4ZW8tZGlhbG9nL21vZGVscy9kaWFsb2ctb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvYmFzZS9iYXNlLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXBwLWNvcHknLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9jb3B5LmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9jb3B5LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvcHlDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHRAVmlld0NoaWxkKER4Rm9ybUNvbXBvbmVudCwgeyBzdGF0aWM6IGZhbHNlIH0pIGZvcm06IER4Rm9ybUNvbXBvbmVudDtcclxuXHRAVmlld0NoaWxkKCdjb250ZW50VGVtcGxhdGUnKSBjb250ZW50VGVtcGxhdGUhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cdEBWaWV3Q2hpbGQoJ2FjdGlvbnNUZW1wbGF0ZScpIGFjdGlvbnNUZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XHJcblx0QElucHV0KClcclxuXHRzZXQgdmlzaWJsZSh2YWx1ZTogYW55KSB7XHJcblx0XHRpZiAodGhpcy5fdmlzaWJsZSA9PT0gdmFsdWUpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0aWYgKHZhbHVlKSB7XHJcblx0XHRcdHRoaXMub3BlbkRpYWxvZygpO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5fdmlzaWJsZSA9IHZhbHVlO1xyXG5cdFx0dGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQodGhpcy5fdmlzaWJsZSk7XHJcblx0fVxyXG5cdGdldCB2aXNpYmxlKCkge1xyXG5cdFx0cmV0dXJuIHRoaXMuX3Zpc2libGU7XHJcblx0fVxyXG5cdEBPdXRwdXQoKVxyXG5cdHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAT3V0cHV0KClcclxuXHRnZXRTZWxlY3RlZEZvbGRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBJbnB1dCgpXHJcblx0cnRsRW5hYmxlZCA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpXHJcblx0c2VsZWN0ZWRJdGVtOiBhbnk7XHJcblx0QElucHV0KClcclxuXHRyb290Rm9sZGVyOiBhbnk7XHJcblx0QElucHV0KClcclxuXHRyb290RW50cmllczogYW55O1xyXG5cdEBJbnB1dCgpXHJcblx0c2VsZWN0ZWRJdGVtczogYW55O1xyXG5cdEBJbnB1dCgpXHJcblx0ZGlyZWN0b3J5OiBhbnk7XHJcblx0QElucHV0KCkgcGFnZUNvbmZpZ3VyYXRpb25zO1xyXG5cdGZvcm1EYXRhOiBhbnkgPSB7fTtcclxuXHRkaXNhYmxlID0gdHJ1ZTtcclxuXHRfdmlzaWJsZSA9IGZhbHNlO1xyXG5cdGN1cnJlbnRJdGVtO1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBmaWxlTWFuYWdlclNlcnZpY2U6IEZpbGVNYW5hZ2VyU2VydmljZSxcclxuXHRcdHByb3RlY3RlZCBjdXN0b21Ub2FzdHJTZXJ2aWNlOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG5cdFx0cHVibGljIG51eGVvRGlhbG9nU2VydmljZTogTnV4ZW9EaWFsb2dTZXJ2aWNlLFxyXG5cdFx0aW5qZWN0b3I6IEluamVjdG9yXHJcblx0KSB7XHJcblx0XHRzdXBlcihpbmplY3Rvcik7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG5cdG9wZW5EaWFsb2coKTogdm9pZCB7XHJcblx0XHRjb25zdCBvcHRpb25zOiBEaWFsb2dPcHRpb25zID0ge1xyXG5cdFx0XHRjb21wb25lbnQ6IE5kZk51eGVvRGlhbG9nLFxyXG5cdFx0XHRjb25maWc6IHtcclxuXHRcdFx0XHR0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ0ZJTEVfTUFOQUdFUi5DT1BZX09SX01PVkUnKSxcclxuXHRcdFx0XHRjb250ZW50VGVtcGxhdGU6IHRoaXMuY29udGVudFRlbXBsYXRlLFxyXG5cdFx0XHRcdGFjdGlvbnNUZW1wbGF0ZTogdGhpcy5hY3Rpb25zVGVtcGxhdGVcclxuXHRcdFx0fVxyXG5cdFx0fTtcclxuXHRcdHRoaXMubnV4ZW9EaWFsb2dTZXJ2aWNlXHJcblx0XHRcdC5vcGVuKG9wdGlvbnMpXHJcblx0XHRcdC5hZnRlckNsb3NlZCgpXHJcblx0XHRcdC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdHRoaXMuY2FuY2VsKCk7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Y2FuY2VsKCkge1xyXG5cdFx0dGhpcy52aXNpYmxlID0gZmFsc2U7XHJcblx0fVxyXG5cdHNlbGVjdEl0ZW0oZSkge1xyXG5cdFx0dGhpcy5kaXNhYmxlID0gZmFsc2U7XHJcblx0XHR0aGlzLmN1cnJlbnRJdGVtID0gZS5pdGVtRGF0YTtcclxuXHR9XHJcblxyXG5cdGNyZWF0ZVRyZWVOb2RlQ2hpbGRyZW4gPSAocGFyZW50KSA9PiB7XHJcblx0XHRsZXQgbXlwYXJlbnQgPSBwYXJlbnQgPyBwYXJlbnQua2V5IDogdGhpcy5yb290Rm9sZGVyO1xyXG5cdFx0bGV0IG15b2JzO1xyXG5cdFx0aWYgKG15cGFyZW50ID09PSB0aGlzLnBhZ2VDb25maWd1cmF0aW9ucy5yb290TmFtZSkge1xyXG5cdFx0XHQvLyB3aGVuIGl0IGlzIHJvb3Qgb2YgZmlsZSBsaXN0IHRoZW4gdXNlZCBwYXNzZWQgcm9vdCBlbnRyaWVzIGFuZCBmb3Igcm9vdCBvZlxyXG5cdFx0XHQvLyBteSBmaWxlcyBvciBhbnkgb3RoZXIgZm9sZGVyIHVzZSBnZXR0aW5nIGNoaWxkcyBmb3IgdGhhdCBmb2xkZXIgd2l0aCBpdHMgaWRcclxuXHRcdFx0bXlvYnMgPSB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5wYXJzZU5vZGVDaGlsZHJlbihcclxuXHRcdFx0XHRvZih0aGlzLnJvb3RFbnRyaWVzKSxcclxuXHRcdFx0XHR0aGlzLnBhZ2VDb25maWd1cmF0aW9ucyxcclxuXHRcdFx0XHRwYXJlbnRcclxuXHRcdFx0KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdG15b2JzID0gdGhpcy5maWxlTWFuYWdlclNlcnZpY2UuY3JlYXRlVHJlZU5vZGVDaGlsZHJlbihteXBhcmVudCk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gbXlvYnM7XHJcblx0XHQvLyBjb25zb2xlLmxvZyhwYXJlbnQpO1xyXG5cdFx0Ly8gbGV0IG9icyA9IChcclxuXHRcdC8vICAgcGFyZW50XHJcblx0XHQvLyAgICAgPyB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5nZXRUcmVlTm9kZUNoaWxkcmVuKHBhcmVudClcclxuXHRcdC8vICAgICA6IG9mKFxyXG5cdFx0Ly8gICAgICAgdGhpcy5yb290RW50cmllc1xyXG5cdFx0Ly8gICAgIClcclxuXHRcdC8vIClcclxuXHRcdC8vIHJldHVybiB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5wYXJzZU5vZGVDaGlsZHJlbihvYnMsIHBhcmVudCk7XHJcblx0fTtcclxuXHJcblx0Y29weTogRGlhbG9nQWN0aW9uVHlwZSA9IChhbnN3ZXIpID0+IHtcclxuXHRcdGlmICh0aGlzLmN1cnJlbnRJdGVtLmNhbkNvcHlUb0Rlc3RpbmF0aW9uKSB7XHJcblx0XHRcdGlmIChcclxuXHRcdFx0XHR0aGlzLmRpcmVjdG9yeT8uZGF0YUl0ZW0/LmlkICE9PSB0aGlzLmN1cnJlbnRJdGVtLmlkICYmXHJcblx0XHRcdFx0IXRoaXMuY3VycmVudEl0ZW0uZW50aXR5LnBhdGguaW5jbHVkZXModGhpcy5zZWxlY3RlZEl0ZW0ubmFtZSlcclxuXHRcdFx0KSB7XHJcblx0XHRcdFx0Ly8gdGhpcy5jdXJyZW50UGF0aCA9ICcnO1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZVxyXG5cdFx0XHRcdFx0LmNvcHlUbyh0aGlzLmN1cnJlbnRJdGVtLCB0aGlzLnNlbGVjdGVkSXRlbXMpXHJcblx0XHRcdFx0XHQucGlwZShcclxuXHRcdFx0XHRcdFx0dGFwKFxyXG5cdFx0XHRcdFx0XHRcdChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMudmlzaWJsZSA9IGFuc3dlcjtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZ2V0U2VsZWN0ZWRGb2xkZXIubmV4dCh0aGlzLmN1cnJlbnRJdGVtLmlkKTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQnc3VjY2VzcycsXHJcblx0XHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLlNVQ0NFU1MnLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5ET0NVTUVOVF9DT1BJRUQnXHJcblx0XHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0KGVycikgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy52aXNpYmxlID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQnZXJyb3InLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQnVE9BU1RFUi5FUlJPUicsXHJcblx0XHRcdFx0XHRcdFx0XHRcdCdUT0FTVEVSLkRPQ1VNRU5UX0NPUElFRF9FUlJPUidcclxuXHRcdFx0XHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHR9IGVsc2VcclxuXHRcdFx0XHR0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuXHRcdFx0XHRcdCdlcnJvcicsXHJcblx0XHRcdFx0XHQnVE9BU1RFUi5FUlJPUicsXHJcblx0XHRcdFx0XHQnVE9BU1RFUi5GQUlMRURfVE9fQ09QWSdcclxuXHRcdFx0XHQpO1xyXG5cdFx0fSBlbHNlIHtcclxuXHRcdFx0dGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcblx0XHRcdFx0J2Vycm9yJyxcclxuXHRcdFx0XHQnVE9BU1RFUi5FUlJPUicsXHJcblx0XHRcdFx0J1RPQVNURVIuTk9fUEVSTUlTU0lPTidcclxuXHRcdFx0KTtcclxuXHRcdH1cclxuXHRcdHJldHVybiBvZihudWxsKTtcclxuXHR9O1xyXG59XHJcbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudFRlbXBsYXRlPlxyXG5cdDxkaXYgY2xhc3M9XCJwLTRcIj5cclxuXHRcdDxkeC1zY3JvbGwtdmlldyB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCIxMDAlXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmb3JtXCI+XHJcblx0XHRcdFx0PGR4LXRyZWUtdmlld1xyXG5cdFx0XHRcdFx0W3J0bEVuYWJsZWRdPVwicnRsRW5hYmxlZFwiXHJcblx0XHRcdFx0XHRpZD1cInRyZWVMaXN0XCJcclxuXHRcdFx0XHRcdFtyb290VmFsdWVdPVwicm9vdEZvbGRlclwiXHJcblx0XHRcdFx0XHRrZXlFeHByPVwiaWRcIlxyXG5cdFx0XHRcdFx0ZGlzcGxheUV4cHI9XCJuYW1lXCJcclxuXHRcdFx0XHRcdGhhc0l0ZW1zRXhwcj1cImlzRXhwYW5kZWRcIlxyXG5cdFx0XHRcdFx0ZGF0YVN0cnVjdHVyZT1cInBsYWluXCJcclxuXHRcdFx0XHRcdFtjcmVhdGVDaGlsZHJlbl09XCJjcmVhdGVUcmVlTm9kZUNoaWxkcmVuXCJcclxuXHRcdFx0XHRcdFt3aWR0aF09XCI0NjVcIlxyXG5cdFx0XHRcdFx0KG9uSXRlbUNsaWNrKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiXHJcblx0XHRcdFx0PlxyXG5cdFx0XHRcdDwvZHgtdHJlZS12aWV3PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZHgtc2Nyb2xsLXZpZXc+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2FjdGlvbnNUZW1wbGF0ZSBsZXQtZGlhbG9nPVwiZGlhbG9nXCI+XHJcblx0PGJ1dHRvblxyXG5cdFx0W2Rpc2FibGVkXT1cImRpc2FibGVcIlxyXG5cdFx0Y2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvbiBweC01XCJcclxuXHRcdChjbGljayk9XCJkaWFsb2cuZXhlY3V0ZUFjdGlvbihjb3B5LCBbZmFsc2VdKVwiXHJcblx0PlxyXG5cdFx0e3sgJ0JVVFRPTlMuQ09QWScgfCB0cmFuc2xhdGUgfX1cclxuXHQ8L2J1dHRvbj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtbWFuZ2VyL2NvbXBvbmVudHMvY29weS9jb3B5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZmlsZS1tYW5nZXIvY29tcG9uZW50cy9jb3B5L2NvcHkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBUzFCLE1BQU0sT0FBTyxhQUFhO0lBa0N4QixZQUNVLGtCQUFzQyxFQUNwQyxtQkFBd0M7UUFEMUMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUNwQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBdEJwRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBWW5CLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFDbkIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFvQmpCLDJCQUFzQixHQUFHLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3JELElBQUksS0FBSyxDQUFDO1lBQ1YsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtnQkFDakQsOEVBQThFO2dCQUM5RSw4RUFBOEU7Z0JBQzlFLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUcsTUFBTSxDQUFDLENBQUM7YUFFM0c7aUJBQU07Z0JBQ0wsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsQ0FBQTthQUNqRTtZQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2IsdUJBQXVCO1lBQ3ZCLGNBQWM7WUFDZCxXQUFXO1lBQ1gsNERBQTREO1lBQzVELFlBQVk7WUFDWix5QkFBeUI7WUFDekIsUUFBUTtZQUNSLElBQUk7WUFDSixpRUFBaUU7UUFDbkUsQ0FBQyxDQUFBO0lBbkNHLENBQUM7SUFwQ0wsSUFDSSxPQUFPLENBQUMsS0FBVTtRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQzNCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUE0QkQsUUFBUTtJQUNSLENBQUM7SUFHRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUNELFVBQVUsQ0FBQyxDQUFDO1FBQ1YsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUF5QkQsSUFBSSxDQUFDLE1BQU07O1FBQ1QsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFO1lBQ3pDLElBQ0UsQ0FBQSxNQUFBLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsUUFBUSwwQ0FBRSxFQUFFLE1BQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUNwRCxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFDOUQ7Z0JBQ0EseUJBQXlCO2dCQUN6QixJQUFJLENBQUMsa0JBQWtCO3FCQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDO3FCQUM1QyxTQUFTLENBQ1IsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDTixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztvQkFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUNqRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUMzQixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHlCQUF5QixDQUMxQixDQUFDO2dCQUNKLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO29CQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO29CQUNwQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUMzQixPQUFPLEVBQ1AsZUFBZSxFQUNmLCtCQUErQixDQUNoQyxDQUFDO2dCQUNKLENBQUMsQ0FDRixDQUFDO2FBQ0w7O2dCQUNDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzNCLE9BQU8sRUFDUCxlQUFlLEVBQ2Ysd0JBQXdCLENBQ3pCLENBQUM7U0FDTDthQUFNO1lBQ0wsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDM0IsT0FBTyxFQUNQLGVBQWUsRUFDZix1QkFBdUIsQ0FDeEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7MkdBcEhVLGFBQWE7K0ZBQWIsYUFBYSwyWkFDYixlQUFlLGdEQ1o1QixzekNBdUJXOzRGRFpFLGFBQWE7a0JBTHpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFdBQVcsRUFBRSx1QkFBdUI7b0JBQ3BDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUNyQzsySUFFZ0QsSUFBSTtzQkFBbEQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUV6QyxPQUFPO3NCQURWLEtBQUs7Z0JBWU4sYUFBYTtzQkFEWixNQUFNO2dCQUdQLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFHUCxVQUFVO3NCQURULEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFHTixXQUFXO3NCQURWLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFFRyxrQkFBa0I7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRHhGb3JtQ29tcG9uZW50IH0gZnJvbSAnZGV2ZXh0cmVtZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsZU1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2ZpbGUtbWFuYWdlci5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNvcHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb3B5LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb3B5LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvcHlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoRHhGb3JtQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZm9ybTogRHhGb3JtQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZpc2libGUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuX3Zpc2libGUgPT09IHZhbHVlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcclxuICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuX3Zpc2libGUpO1xyXG4gIH1cclxuICBnZXQgdmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92aXNpYmxlO1xyXG4gIH1cclxuICBAT3V0cHV0KClcclxuICB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpXHJcbiAgZ2V0U2VsZWN0ZWRGb2xkZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBASW5wdXQoKVxyXG4gIHJ0bEVuYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkSXRlbTogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgcm9vdEZvbGRlcjogYW55O1xyXG4gIEBJbnB1dCgpXHJcbiAgcm9vdEVudHJpZXM6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkSXRlbXM6IGFueTtcclxuICBASW5wdXQoKVxyXG4gIGRpcmVjdG9yeTogYW55O1xyXG4gIEBJbnB1dCgpIHBhZ2VDb25maWd1cmF0aW9ucztcclxuICBmb3JtRGF0YTogYW55ID0ge307XHJcbiAgZGlzYWJsZSA9IHRydWU7XHJcbiAgX3Zpc2libGUgPSBmYWxzZTtcclxuICBjdXJyZW50SXRlbTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZmlsZU1hbmFnZXJTZXJ2aWNlOiBGaWxlTWFuYWdlclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY3VzdG9tVG9hc3RyU2VydmljZTogQ3VzdG9tVG9hc3RyU2VydmljZVxyXG5cclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcclxuICB9XHJcbiAgc2VsZWN0SXRlbShlKSB7XHJcbiAgICB0aGlzLmRpc2FibGUgPSBmYWxzZTtcclxuICAgIHRoaXMuY3VycmVudEl0ZW0gPSBlLml0ZW1EYXRhO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlVHJlZU5vZGVDaGlsZHJlbiA9IChwYXJlbnQpID0+IHtcclxuICAgIGxldCBteXBhcmVudCA9IHBhcmVudCA/IHBhcmVudC5rZXkgOiB0aGlzLnJvb3RGb2xkZXI7XHJcbiAgICBsZXQgbXlvYnM7XHJcbiAgICBpZiAobXlwYXJlbnQgPT09IHRoaXMucGFnZUNvbmZpZ3VyYXRpb25zLnJvb3ROYW1lKSB7XHJcbiAgICAgIC8vIHdoZW4gaXQgaXMgcm9vdCBvZiBmaWxlIGxpc3QgdGhlbiB1c2VkIHBhc3NlZCByb290IGVudHJpZXMgYW5kIGZvciByb290IG9mIFxyXG4gICAgICAvLyBteSBmaWxlcyBvciBhbnkgb3RoZXIgZm9sZGVyIHVzZSBnZXR0aW5nIGNoaWxkcyBmb3IgdGhhdCBmb2xkZXIgd2l0aCBpdHMgaWRcclxuICAgICAgbXlvYnMgPSB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZS5wYXJzZU5vZGVDaGlsZHJlbihvZih0aGlzLnJvb3RFbnRyaWVzKSwgdGhpcy5wYWdlQ29uZmlndXJhdGlvbnMgLCBwYXJlbnQpO1xyXG5cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG15b2JzID0gdGhpcy5maWxlTWFuYWdlclNlcnZpY2UuY3JlYXRlVHJlZU5vZGVDaGlsZHJlbihteXBhcmVudClcclxuICAgIH1cclxuICAgIHJldHVybiBteW9icztcclxuICAgIC8vIGNvbnNvbGUubG9nKHBhcmVudCk7XHJcbiAgICAvLyBsZXQgb2JzID0gKFxyXG4gICAgLy8gICBwYXJlbnRcclxuICAgIC8vICAgICA/IHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLmdldFRyZWVOb2RlQ2hpbGRyZW4ocGFyZW50KVxyXG4gICAgLy8gICAgIDogb2YoXHJcbiAgICAvLyAgICAgICB0aGlzLnJvb3RFbnRyaWVzXHJcbiAgICAvLyAgICAgKVxyXG4gICAgLy8gKVxyXG4gICAgLy8gcmV0dXJuIHRoaXMuZmlsZU1hbmFnZXJTZXJ2aWNlLnBhcnNlTm9kZUNoaWxkcmVuKG9icywgcGFyZW50KTtcclxuICB9XHJcblxyXG4gIGNvcHkoYW5zd2VyKSB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50SXRlbS5jYW5Db3B5VG9EZXN0aW5hdGlvbikge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5kaXJlY3Rvcnk/LmRhdGFJdGVtPy5pZCAhPT0gdGhpcy5jdXJyZW50SXRlbS5pZCAmJlxyXG4gICAgICAgICF0aGlzLmN1cnJlbnRJdGVtLmVudGl0eS5wYXRoLmluY2x1ZGVzKHRoaXMuc2VsZWN0ZWRJdGVtLm5hbWUpXHJcbiAgICAgICkge1xyXG4gICAgICAgIC8vIHRoaXMuY3VycmVudFBhdGggPSAnJztcclxuICAgICAgICB0aGlzLmZpbGVNYW5hZ2VyU2VydmljZVxyXG4gICAgICAgICAgLmNvcHlUbyh0aGlzLmN1cnJlbnRJdGVtLCB0aGlzLnNlbGVjdGVkSXRlbXMpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy52aXNpYmxlID0gYW5zd2VyO1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRGb2xkZXIubmV4dCh0aGlzLmN1cnJlbnRJdGVtLmlkKTtcclxuICAgICAgICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLlNVQ0NFU1MnLFxyXG4gICAgICAgICAgICAgICAgJ1RPQVNURVIuRE9DVU1FTlRfQ09QSUVEJ1xyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLkVSUk9SJyxcclxuICAgICAgICAgICAgICAgICdUT0FTVEVSLkRPQ1VNRU5UX0NPUElFRF9FUlJPUidcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICB9IGVsc2VcclxuICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgICAnVE9BU1RFUi5GQUlMRURfVE9fQ09QWSdcclxuICAgICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAnVE9BU1RFUi5FUlJPUicsXHJcbiAgICAgICAgJ1RPQVNURVIuTk9fUEVSTUlTU0lPTidcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGR4LXBvcHVwIGNsYXNzPVwicG9wVXBQYXJlbnRcIiBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgaWQ9XCJwaG90by1wb3B1cFwiIFt3aWR0aF09XCI1MDBcIiBbaGVpZ2h0XT1cIjUwMFwiXHJcbiAgICB0aXRsZT1cInt7ICdGSUxFX01BTkFHRVIuQ09QWV9PUl9NT1ZFJyB8IHRyYW5zbGF0ZSB9fVwiIFsodmlzaWJsZSldPVwidmlzaWJsZVwiIFtzaG93VGl0bGVdPVwidHJ1ZVwiXHJcbiAgICBbY2xvc2VPbk91dHNpZGVDbGlja109XCJ0cnVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC00XCIgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudCdcIj5cclxuICAgICAgICA8ZHgtc2Nyb2xsLXZpZXcgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiMTAwJVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgPGR4LXRyZWUtdmlldyBbcnRsRW5hYmxlZF09XCJydGxFbmFibGVkXCIgaWQ9XCJ0cmVlTGlzdFwiIFtyb290VmFsdWVdPVwicm9vdEZvbGRlclwiIGtleUV4cHI9XCJpZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheUV4cHI9XCJuYW1lXCIgaGFzSXRlbXNFeHByPVwiaXNFeHBhbmRlZFwiIGRhdGFTdHJ1Y3R1cmU9XCJwbGFpblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NyZWF0ZUNoaWxkcmVuXT1cImNyZWF0ZVRyZWVOb2RlQ2hpbGRyZW5cIiBbd2lkdGhdPVwiNDY1XCIgKG9uSXRlbUNsaWNrKT1cInNlbGVjdEl0ZW0oJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9keC10cmVlLXZpZXc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZHgtc2Nyb2xsLXZpZXc+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkeGktdG9vbGJhci1pdGVtIHRvb2xiYXI9XCJib3R0b21cIiBbZGlzYWJsZWRdPVwiZGlzYWJsZVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJzdWJtaXNzaW9uLWJ1dHRvbiBweC01XCIgKGNsaWNrKT1cImNvcHkoZmFsc2UpXCI+XHJcbiAgICAgICAgICAgIHt7IFwiQlVUVE9OUy5DT1BZXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgIDwvZHhpLXRvb2xiYXItaXRlbT5cclxuICAgIDxkeGktdG9vbGJhci1pdGVtIHRvb2xiYXI9XCJib3R0b21cIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiY2FuY2VsYXRpb24tYnV0dG9uIHB4LTVcIiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgICAgICAgICAge3sgXCJCVVRUT05TLkNBTkNFTFwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICA8L2R4aS10b29sYmFyLWl0ZW0+XHJcbjwvZHgtcG9wdXA+Il19