nuxeo-development-framework 4.3.1 → 4.3.3

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 (214) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +4365 -3037
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/charts/chart.const.js +3 -0
  4. package/esm2015/lib/components/charts/chart.token.js +3 -0
  5. package/esm2015/lib/components/charts/charts.module.js +19 -0
  6. package/esm2015/lib/components/charts/components/base-chart.component.js +44 -0
  7. package/esm2015/lib/components/charts/components/chart.component.js +135 -0
  8. package/esm2015/lib/components/charts/components/data-chart.component.js +169 -0
  9. package/esm2015/lib/components/charts/components/index.js +4 -0
  10. package/esm2015/lib/components/charts/defaults/bar.js +18 -0
  11. package/esm2015/lib/components/charts/defaults/doughnut.js +18 -0
  12. package/esm2015/lib/components/charts/defaults/index.js +5 -0
  13. package/esm2015/lib/components/charts/defaults/line.js +36 -0
  14. package/esm2015/lib/components/charts/defaults/pie.js +20 -0
  15. package/esm2015/lib/components/charts/index.js +10 -0
  16. package/esm2015/lib/components/charts/models/index.js +5 -0
  17. package/esm2015/lib/components/charts/models/options.js +2 -0
  18. package/esm2015/lib/components/charts/models/plugins-options.js +2 -0
  19. package/esm2015/lib/components/charts/models/response.js +2 -0
  20. package/esm2015/lib/components/charts/models/statistic-request-config.js +2 -0
  21. package/esm2015/lib/components/charts/plugins/doughnut-center-text.js +25 -0
  22. package/esm2015/lib/components/charts/plugins/doughnut-empty-state.js +34 -0
  23. package/esm2015/lib/components/charts/plugins/index.js +4 -0
  24. package/esm2015/lib/components/charts/plugins/legend-margin.js +16 -0
  25. package/esm2015/lib/components/charts/services/index.js +2 -0
  26. package/esm2015/lib/components/charts/services/statistic.service.js +75 -0
  27. package/esm2015/lib/components/charts/utility/colors.js +79 -0
  28. package/esm2015/lib/components/charts/utility/common.js +7 -0
  29. package/esm2015/lib/components/charts/utility/index.js +3 -0
  30. package/esm2015/lib/components/comments/comments.module.js +9 -5
  31. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +30 -23
  32. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +28 -34
  33. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +22 -22
  34. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +16 -18
  35. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +6 -6
  36. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +3 -2
  37. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +33 -29
  38. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +32 -24
  39. package/esm2015/lib/components/diagrams/components/connection-label.component.js +1 -1
  40. package/esm2015/lib/components/diagrams/directive/diagram.directive.js +2 -3
  41. package/esm2015/lib/components/diagrams/editor/customize.js +11 -14
  42. package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +21 -34
  43. package/esm2015/lib/components/diagrams/editor/path-plugin.js +11 -10
  44. package/esm2015/lib/components/diagrams/models/base-node.model.js +2 -1
  45. package/esm2015/lib/components/diagrams/models/connection.model.js +1 -1
  46. package/esm2015/lib/components/diagrams/types/common.type.js +1 -1
  47. package/esm2015/lib/components/diagrams/types/diagram-config.type.js +1 -1
  48. package/esm2015/lib/components/diagrams/types/node-definition.js +1 -1
  49. package/esm2015/lib/components/diagrams/utilities/random.js +9 -3
  50. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +9 -11
  51. package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +17 -7
  52. package/esm2015/lib/components/documents/components/documents/documents.component.js +1 -1
  53. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +45 -40
  54. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +21 -17
  55. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +98 -92
  56. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +22 -10
  57. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +8 -4
  58. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +28 -29
  59. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +16 -3
  60. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +26 -18
  61. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +2 -2
  62. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +4 -2
  63. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +13 -10
  64. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +3 -3
  65. package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +68 -29
  66. package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +60 -42
  67. package/esm2015/lib/components/file-manger/components/copy/copy.component.js +66 -36
  68. package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +40 -13
  69. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +238 -200
  70. package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +14 -12
  71. package/esm2015/lib/components/file-manger/components/delete/delete.component.js +49 -20
  72. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +45 -43
  73. package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +63 -36
  74. package/esm2015/lib/components/file-manger/components/move/move.component.js +61 -31
  75. package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +81 -81
  76. package/esm2015/lib/components/file-manger/components/rename/rename.component.js +58 -30
  77. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +99 -66
  78. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +95 -75
  79. package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +15 -11
  80. package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +54 -23
  81. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +24 -24
  82. package/esm2015/lib/components/file-manger/file-manager.abstract.js +266 -264
  83. package/esm2015/lib/components/file-manger/file-manger.module.js +39 -35
  84. package/esm2015/lib/components/filter/filter/filter.component.js +1 -1
  85. package/esm2015/lib/components/notifications/components/base-notifications.component.js +2 -16
  86. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +3 -3
  87. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +24 -4
  88. package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +3 -2
  89. package/esm2015/lib/components/notifications/models/notification-message.mode.js +1 -1
  90. package/esm2015/lib/components/notifications/models/notifications-list-options.js +1 -1
  91. package/esm2015/lib/components/notifications/services/notifications.service.js +23 -17
  92. package/esm2015/lib/components/notifications/services/socket.service.js +13 -5
  93. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +107 -90
  94. package/esm2015/lib/components/permissions/permissions/permissions.component.js +100 -57
  95. package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +36 -52
  96. package/esm2015/lib/components/permissions/permissions.module.js +23 -7
  97. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +1 -1
  98. package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +37 -0
  99. package/esm2015/lib/components/spell-checker-field/spell-checker-text-field/spell-checker-text-field.component.js +88 -0
  100. package/esm2015/lib/components/table/dynamic-component.js +59 -0
  101. package/esm2015/lib/components/table/page-sizes-list/page-sizes-list.component.js +38 -0
  102. package/esm2015/lib/components/table/table/table.component.js +39 -21
  103. package/esm2015/lib/components/table/table.module.js +22 -18
  104. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +11 -6
  105. package/esm2015/lib/core/services/callApi/call-api.service.js +23 -6
  106. package/esm2015/lib/shared/components/base/base-selector.component.js +1 -1
  107. package/esm2015/lib/shared/components/base/base.component.js +5 -5
  108. package/esm2015/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.js +1 -1
  109. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.js +8 -4
  110. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +11 -7
  111. package/esm2015/lib/shared/services/base/http-base.service.js +10 -19
  112. package/esm2015/lib/shared-services/dialog-mangment.service.js +66 -21
  113. package/esm2015/lib/shared-services/shared-docs.service.js +20 -26
  114. package/esm2015/public-api.js +8 -2
  115. package/fesm2015/nuxeo-development-framework.js +3555 -2277
  116. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  117. package/lib/components/charts/chart.const.d.ts +2 -0
  118. package/lib/components/charts/chart.token.d.ts +8 -0
  119. package/lib/components/charts/charts.module.d.ts +9 -0
  120. package/lib/components/charts/components/base-chart.component.d.ts +21 -0
  121. package/lib/components/charts/components/chart.component.d.ts +28 -0
  122. package/lib/components/charts/components/data-chart.component.d.ts +39 -0
  123. package/lib/components/charts/components/index.d.ts +3 -0
  124. package/lib/components/charts/defaults/bar.d.ts +2 -0
  125. package/lib/components/charts/defaults/doughnut.d.ts +2 -0
  126. package/lib/components/charts/defaults/index.d.ts +4 -0
  127. package/lib/components/charts/defaults/line.d.ts +2 -0
  128. package/lib/components/charts/defaults/pie.d.ts +2 -0
  129. package/lib/components/charts/index.d.ts +9 -0
  130. package/lib/components/charts/models/index.d.ts +4 -0
  131. package/lib/components/charts/models/options.d.ts +12 -0
  132. package/lib/components/charts/models/plugins-options.d.ts +18 -0
  133. package/lib/components/charts/models/response.d.ts +5 -0
  134. package/lib/components/charts/models/statistic-request-config.d.ts +30 -0
  135. package/lib/components/charts/plugins/doughnut-center-text.d.ts +2 -0
  136. package/lib/components/charts/plugins/doughnut-empty-state.d.ts +2 -0
  137. package/lib/components/charts/plugins/index.d.ts +3 -0
  138. package/lib/components/charts/plugins/legend-margin.d.ts +2 -0
  139. package/lib/components/charts/services/index.d.ts +1 -0
  140. package/lib/components/charts/services/statistic.service.d.ts +23 -0
  141. package/lib/components/charts/utility/colors.d.ts +11 -0
  142. package/lib/components/charts/utility/common.d.ts +4 -0
  143. package/lib/components/charts/utility/index.d.ts +2 -0
  144. package/lib/components/comments/comments.module.d.ts +2 -1
  145. package/lib/components/comments/components/comment-item/comment-item.component.d.ts +3 -1
  146. package/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.d.ts +8 -5
  147. package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +8 -8
  148. package/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.d.ts +5 -5
  149. package/lib/components/correspondence-relation/correspondence-relation.module.d.ts +3 -2
  150. package/lib/components/diagrams/editor/customize.d.ts +7 -7
  151. package/lib/components/diagrams/editor/overrides/connection-path.transformers.d.ts +2 -5
  152. package/lib/components/diagrams/models/base-node.model.d.ts +1 -1
  153. package/lib/components/diagrams/models/connection.model.d.ts +2 -1
  154. package/lib/components/diagrams/types/common.type.d.ts +4 -0
  155. package/lib/components/diagrams/types/diagram-config.type.d.ts +7 -7
  156. package/lib/components/diagrams/types/node-definition.d.ts +1 -0
  157. package/lib/components/diagrams/utilities/random.d.ts +1 -1
  158. package/lib/components/documents/components/document-upload/document-upload.component.d.ts +3 -1
  159. package/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.d.ts +11 -10
  160. package/lib/components/dynamic-chart/dynamic-chart.module.d.ts +5 -6
  161. package/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.d.ts +6 -2
  162. package/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.d.ts +2 -1
  163. package/lib/components/dynamic-form/components/department-form/department-form.component.d.ts +4 -4
  164. package/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.d.ts +5 -1
  165. package/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.d.ts +3 -1
  166. package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +5 -1
  167. package/lib/components/dynamic-form/dynamic-form.module.d.ts +2 -1
  168. package/lib/components/dynamic-table/dynamic-table/dynamic-table.component.d.ts +29 -11
  169. package/lib/components/file-manger/components/add-to-collection/add-to-collection.component.d.ts +11 -5
  170. package/lib/components/file-manger/components/copy/copy.component.d.ts +11 -4
  171. package/lib/components/file-manger/components/create-directory/create-directory.component.d.ts +9 -4
  172. package/lib/components/file-manger/components/create-modal/create-modal.component.d.ts +13 -19
  173. package/lib/components/file-manger/components/creation-type/creation-type.component.d.ts +6 -4
  174. package/lib/components/file-manger/components/delete/delete.component.d.ts +11 -4
  175. package/lib/components/file-manger/components/folder-modal/folder-modal.component.d.ts +9 -11
  176. package/lib/components/file-manger/components/loan-request/loan-request.component.d.ts +11 -5
  177. package/lib/components/file-manger/components/move/move.component.d.ts +11 -4
  178. package/lib/components/file-manger/components/publish-dialog/publish-dialog.component.d.ts +12 -10
  179. package/lib/components/file-manger/components/rename/rename.component.d.ts +11 -5
  180. package/lib/components/file-manger/components/scan-modal/scan-modal.component.d.ts +9 -8
  181. package/lib/components/file-manger/components/share-dialog/share-dialog.component.d.ts +6 -7
  182. package/lib/components/file-manger/components/template-modal/template-modal.component.d.ts +4 -3
  183. package/lib/components/file-manger/components/transfer-doc/transfer-doc.component.d.ts +11 -4
  184. package/lib/components/file-manger/components/update-modal/update-modal.component.d.ts +9 -8
  185. package/lib/components/file-manger/file-manager.abstract.d.ts +24 -22
  186. package/lib/components/file-manger/file-manger.module.d.ts +2 -1
  187. package/lib/components/notifications/components/base-notifications.component.d.ts +2 -8
  188. package/lib/components/notifications/components/notification-item/notification-item.component.d.ts +1 -1
  189. package/lib/components/notifications/components/notifications-button/notifications-button.component.d.ts +4 -1
  190. package/lib/components/notifications/models/notification-message.mode.d.ts +1 -0
  191. package/lib/components/notifications/models/notifications-list-options.d.ts +4 -0
  192. package/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.d.ts +8 -6
  193. package/lib/components/permissions/permissions/permissions.component.d.ts +3 -1
  194. package/lib/components/permissions/permissions-template/permissions-template.component.d.ts +3 -3
  195. package/lib/components/permissions/permissions.module.d.ts +2 -1
  196. package/lib/components/spell-checker-field/spell-checker-field.module.d.ts +10 -0
  197. package/lib/components/spell-checker-field/spell-checker-text-field/spell-checker-text-field.component.d.ts +24 -0
  198. package/lib/components/table/dynamic-component.d.ts +20 -0
  199. package/lib/components/table/page-sizes-list/page-sizes-list.component.d.ts +15 -0
  200. package/lib/components/table/table/table.component.d.ts +15 -6
  201. package/lib/components/table/table.module.d.ts +14 -10
  202. package/lib/components/vocabulary/services/vocabulary-api.service.d.ts +2 -2
  203. package/lib/core/services/callApi/call-api.service.d.ts +8 -1
  204. package/lib/shared/components/base/base-selector.component.d.ts +4 -4
  205. package/lib/shared/components/base/base.component.d.ts +5 -5
  206. package/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.d.ts +2 -1
  207. package/lib/shared/components/nuxeo-dialog/nuxeo.dialog.d.ts +2 -1
  208. package/lib/shared/services/base/http-base.service.d.ts +3 -1
  209. package/lib/shared-services/dialog-mangment.service.d.ts +5 -1
  210. package/lib/shared-services/shared-docs.service.d.ts +3 -1
  211. package/package.json +3 -4
  212. package/public-api.d.ts +7 -1
  213. package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +0 -164
  214. package/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.d.ts +0 -33
@@ -1,12 +1,14 @@
1
- import { Component, ViewEncapsulation, Input } from '@angular/core';
1
+ import { Component, ViewEncapsulation, Input, EventEmitter, Output } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "../../dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component";
4
- import * as i2 from "../../dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component";
5
- import * as i3 from "../../vocabulary/translated-vocabulary-select/translated-vocabulary-select.component";
6
- import * as i4 from "@angular/common";
7
- import * as i5 from "@angular/forms";
8
- import * as i6 from "../../../directive/permissions/permissions.directive";
9
- import * as i7 from "@ngx-translate/core";
3
+ import * as i1 from "../../dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component";
4
+ import * as i2 from "../../dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component";
5
+ import * as i3 from "../../spell-checker-field/spell-checker-text-field/spell-checker-text-field.component";
6
+ import * as i4 from "../../dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component";
7
+ import * as i5 from "../../vocabulary/translated-vocabulary-select/translated-vocabulary-select.component";
8
+ import * as i6 from "@angular/common";
9
+ import * as i7 from "@angular/forms";
10
+ import * as i8 from "../../../directive/permissions/permissions.directive";
11
+ import * as i9 from "@ngx-translate/core";
10
12
  export class DynamicFieldsRendererComponent {
11
13
  constructor() {
12
14
  this.mode = "add";
@@ -153,6 +155,7 @@ export class DynamicFieldsRendererComponent {
153
155
  permission: 'isHiddenField'
154
156
  }
155
157
  ];
158
+ this.checkTextSpellCheckerField = new EventEmitter();
156
159
  }
157
160
  ngOnInit() {
158
161
  if (this.fields.length && this.form) {
@@ -164,9 +167,12 @@ export class DynamicFieldsRendererComponent {
164
167
  }
165
168
  }
166
169
  }
170
+ checkTextOfSpellCheckField(control) {
171
+ this.checkTextSpellCheckerField.emit(control);
172
+ }
167
173
  }
168
174
  DynamicFieldsRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
169
- DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", mode: "mode", fields: "fields" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n <div class=\"renderer-container\">\r\n <div class=\"field-container\" *ngFor=\"let field of fields\">\r\n <ng-container\r\n *permission=\"{ name: field.permission, entity: field.formControlName }\"\r\n >\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'number'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n min=\"1\"\r\n type=\"number\"\r\n class=\"field-style\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'date'\">\r\n <cts-dynamic-form-hijri-dateitem\r\n [formControlName]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n\r\n <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'dynamic-vocabulary'\"\r\n >\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"field.label\"\r\n [bindLabel]=\"field.bindLabel\"\r\n [bindValue]=\"field.bindValue\"\r\n placeholder=\"{{ field.placeholder | translate }}\"\r\n [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\"\r\n [closeOnSelect]=\"field.closeOnSelect\"\r\n [disabled]=\"field.disabled\"\r\n [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [vocabularyType]=\"field.vocabularyType\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <!-- <div class=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n\r\n <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'translated-vocabulary'\"\r\n >\r\n <app-translated-vocabulary-select\r\n [label]=\"field.label\"\r\n [arbBindLabel]=\"field.arbBindLabel\"\r\n [engBindLabel]=\"field.engBindLabel\"\r\n [bindValue]=\"field.bindValue\"\r\n placeholder=\"{{ field.placeholder | translate }}\"\r\n [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\"\r\n [closeOnSelect]=\"field.closeOnSelect\"\r\n [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [formControlName]=\"field.formControlName\"\r\n [vocbularyId]=\"field.vocbularyId\"\r\n [useFilter]=\"field.useFilter\"\r\n [filter]=\"\r\n field.filter === 'agencyName'\r\n ? agencyNameFilter\r\n : field.filter === 'countryName'\r\n ? countryNameFilter\r\n : {}\r\n \"\r\n [params]=\"field.params || {}\"\r\n [getByDirectorySuggestion]=\"field.getByDirectorySuggestion\"\r\n >\r\n </app-translated-vocabulary-select>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], components: [{ type: i1.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i2.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i3.TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: ["label", "bindValue", "arbBindLabel", "engBindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "filter", "useFilter", "vocbularyId", "mapingResponse", "params", "getByDirectorySuggestion"], outputs: ["onSelectItems"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i5.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
175
+ DynamicFieldsRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFieldsRendererComponent, selector: "app-dynamic-fields-renderer", inputs: { form: "form", agencyNameFilter: "agencyNameFilter", countryNameFilter: "countryNameFilter", orgNameFilter: "orgNameFilter", ngoNameFilter: "ngoNameFilter", mode: "mode", fields: "fields" }, outputs: { checkTextSpellCheckerField: "checkTextSpellCheckerField" }, ngImport: i0, template: "<div [formGroup]=\"form\" *ngIf=\"form\">\r\n <div class=\"renderer-container\">\r\n <div class=\"field-container\" *ngFor=\"let field of fields\">\r\n <div\r\n class=\"flex gap-x-2 items-center\"\r\n *permission=\"{ name: field.permission, entity: field.formControlName }\"\r\n >\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'text'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n class=\"field-style\"\r\n id=\"{{ field.formControlName }}\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'number'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <input\r\n min=\"1\"\r\n type=\"number\"\r\n class=\"field-style\"\r\n [formControlName]=\"field.formControlName\"\r\n placeholder=\" {{ field.placeholder | translate }}\"\r\n />\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'textarea'\">\r\n <app-dynamic-form-textarea\r\n [id]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n placeholder=\"{{ field.placeholder | translate }}\"\r\n [disabled]=\"field.disabled\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-textarea>\r\n </div>\r\n <div class=\"single-field mb-3\" *ngIf=\"field.type === 'date'\">\r\n <cts-dynamic-form-hijri-dateitem\r\n [formControlName]=\"field.formControlName\"\r\n [label]=\"field.label\"\r\n >\r\n </cts-dynamic-form-hijri-dateitem>\r\n </div>\r\n <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'spellCheckerField'\"\r\n >\r\n <ndf-spell-checker-text-field\r\n [id]=\"field.formControlName\"\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [fieldType]=\"field.fieldType\"\r\n [label]=\"field.label\"\r\n (checkFromText)=\"checkTextOfSpellCheckField(field.formControlName)\"\r\n ></ndf-spell-checker-text-field>\r\n </div>\r\n <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'dynamic-vocabulary'\"\r\n >\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"field.label\"\r\n [bindLabel]=\"field.bindLabel\"\r\n [bindValue]=\"field.bindValue\"\r\n placeholder=\"{{ field.placeholder | translate }}\"\r\n [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\"\r\n [closeOnSelect]=\"field.closeOnSelect\"\r\n [disabled]=\"field.disabled\"\r\n [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [vocabularyType]=\"field.vocabularyType\"\r\n [formControlName]=\"field.formControlName\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <!-- <div class=\"single-field mb-3\" *ngIf=\"field.type === 'department-selector'\">\r\n <div class=\"label-style\">\r\n {{ field.label | translate }}\r\n <span class=\"text-red-500\" *ngIf=\"field.required\">*</span>\r\n </div>\r\n <app-dynamic-form-department\r\n [formControlName]=\"field.formControlName\"\r\n [placeholder]=\"field.placeholder\"\r\n [pp_departmentNestedTree]=\"field.pp_departmentNestedTree\"\r\n [pp_departmentTree]=\"field.pp_departmentTree\"\r\n [customPrefix]=\"field.customPrefix\"\r\n [customParentProperty]=\"field.customParentProperty\"\r\n [useCustomAddEditAction]=\"field.useCustomAddEditAction\"\r\n >\r\n </app-dynamic-form-department>\r\n </div> -->\r\n\r\n <div\r\n class=\"single-field mb-3\"\r\n *ngIf=\"field.type === 'translated-vocabulary'\"\r\n >\r\n <app-translated-vocabulary-select\r\n [label]=\"field.label\"\r\n [arbBindLabel]=\"field.arbBindLabel\"\r\n [engBindLabel]=\"field.engBindLabel\"\r\n [bindValue]=\"field.bindValue\"\r\n placeholder=\"{{ field.placeholder | translate }}\"\r\n [multiple]=\"field.multiple\"\r\n [searchable]=\"field.searchable\"\r\n [closeOnSelect]=\"field.closeOnSelect\"\r\n [hideSelectedItems]=\"field.hideSelectedItems\"\r\n [formControlName]=\"field.formControlName\"\r\n [vocbularyId]=\"field.vocbularyId\"\r\n [useFilter]=\"field.useFilter\"\r\n [filter]=\"\r\n field.filter === 'agencyName'\r\n ? agencyNameFilter\r\n : field.filter === 'countryName'\r\n ? countryNameFilter\r\n : field.filter === 'orgName'\r\n ? orgNameFilter\r\n : field.filter === 'ngoName'\r\n ? ngoNameFilter\r\n : {}\r\n \"\r\n [params]=\"field.params || {}\"\r\n [getByDirectorySuggestion]=\"field.getByDirectorySuggestion\"\r\n >\r\n </app-translated-vocabulary-select>\r\n </div>\r\n <ng-container *ngIf=\"field.selectable\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n fieldsCheckBox;\r\n context: {\r\n checkBoxTemplate: field.template,\r\n controlName: field.formControlName\r\n }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n\r\n <!-- template in client -->\r\n <ng-container *ngIf=\"field.suggest\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n suggest;\r\n context: {\r\n field: field.label,\r\n suggestName: field.suggest,\r\n controlName: field.formControlName,\r\n template: field.suggestTemplate\r\n }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template\r\n #fieldsCheckBox\r\n let-checkBoxTemplate=\"checkBoxTemplate\"\r\n let-controlName=\"controlName\"\r\n>\r\n <ng-container\r\n *ngTemplateOutlet=\"checkBoxTemplate; context: { controlName: controlName }\"\r\n >\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-template\r\n #suggest\r\n let-field=\"field\"\r\n let-suggestName=\"suggestName\"\r\n let-controlName=\"controlName\"\r\n let-template=\"template\"\r\n>\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n template;\r\n context: {\r\n field: field,\r\n suggestName: suggestName,\r\n controlName: controlName\r\n }\r\n \"\r\n >\r\n </ng-container>\r\n</ng-template>\r\n", styles: [".single-field{width:100%}\n"], components: [{ type: i1.DynamicFormTextareaComponent, selector: "app-dynamic-form-textarea", inputs: ["property", "label", "editable", "disabled", "id", "placeholder", "displayEmpty", "horizontalAlign"] }, { type: i2.DynamicFormHijriDateitemComponent, selector: "cts-dynamic-form-hijri-dateitem", inputs: ["minHijri", "maxHijri", "minGreg", "maxGreg", "label", "isDisabled", "range", "vertical", "isReadOnly", "placeholder"], outputs: ["valueChanged"] }, { type: i3.SpellCheckerTextFieldComponent, selector: "ndf-spell-checker-text-field", inputs: ["id", "placeholder", "fieldType", "label"], outputs: ["checkFromText"] }, { type: i4.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i5.TranslatedVocabularySelectComponent, selector: "app-translated-vocabulary-select", inputs: ["label", "bindValue", "arbBindLabel", "engBindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "clear", "filter", "useFilter", "vocbularyId", "mapingResponse", "params", "getByDirectorySuggestion"], outputs: ["onSelectItems"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i7.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "translate": i9.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
170
176
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererComponent, decorators: [{
171
177
  type: Component,
172
178
  args: [{
@@ -181,9 +187,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
181
187
  type: Input
182
188
  }], countryNameFilter: [{
183
189
  type: Input
190
+ }], orgNameFilter: [{
191
+ type: Input
192
+ }], ngoNameFilter: [{
193
+ type: Input
184
194
  }], mode: [{
185
195
  type: Input
186
196
  }], fields: [{
187
197
  type: Input
198
+ }], checkTextSpellCheckerField: [{
199
+ type: Output
188
200
  }] } });
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUcsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLDhCQUE4QjtJQW9KekM7UUFoSlMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLFdBQU0sR0FBRztZQUNoQjtnQkFDRSxJQUFJLEVBQUcsTUFBTTtnQkFDYixLQUFLLEVBQUcseUJBQXlCO2dCQUNqQyxlQUFlLEVBQUcsU0FBUztnQkFDM0IsV0FBVyxFQUFHLHlCQUF5QjtnQkFDdkMsUUFBUSxFQUFHLElBQUk7Z0JBQ2YsVUFBVSxFQUFHLGVBQWU7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUcsTUFBTTtnQkFDYixLQUFLLEVBQUcsd0JBQXdCO2dCQUNoQyxlQUFlLEVBQUcsZ0JBQWdCO2dCQUNsQyxXQUFXLEVBQUcsd0JBQXdCO2dCQUN0QyxRQUFRLEVBQUcsS0FBSztnQkFDaEIsVUFBVSxFQUFHLGVBQWU7YUFDN0I7WUFDRDtnQkFDRSxJQUFJLEVBQUcsTUFBTTtn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Q0FBQyxDQUFDO2FBQ3BEO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN4RTtTQUNGO0lBQ0gsQ0FBQzs7NEhBOUpVLDhCQUE4QjtnSEFBOUIsOEJBQThCLDJNQ1IzQyxpb0pBNEdBOzRGRHBHYSw4QkFBOEI7a0JBTjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7b0JBQ3ZELGFBQWEsRUFBRyxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN2QzswRUFFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uICwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZmllbGRzLXJlbmRlcmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbiA6IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZHNSZW5kZXJlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZm9ybTtcclxuICBASW5wdXQoKSBhZ2VuY3lOYW1lRmlsdGVyO1xyXG4gIEBJbnB1dCgpIGNvdW50cnlOYW1lRmlsdGVyO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSBcImFkZFwiO1xyXG4gIEBJbnB1dCgpIGZpZWxkcyA9IFtcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5ET0NVTUVOVF9TVUJKRUNUXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwic3ViamVjdFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLkRPQ1VNRU5UX1NVQkpFQ1RcIixcclxuICAgICAgcmVxdWlyZWQgOiB0cnVlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5ET0NVTUVOVF9OVU1CRVJcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJkb2N1bWVudE51bWJlclwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLkRPQ1VNRU5UX05VTUJFUlwiLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2RhdGUnLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRPQ1VNRU5UX0RBVEVcIixcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJnZG9jdW1lbnREYXRlXCIsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAnZHluYW1pYy12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5TQ1JFQ1lfTEVWRUxcIixcclxuICAgICAgYmluZExhYmVsIDogJ2xhYmVsJyxcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IGZhbHNlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIGRpc2FibGVkIDogZmFsc2UsXHJcbiAgICAgIHZvY2FidWxhcnlUeXBlIDogJ1ZPQ19TZWNyZWN5TGV2ZWwnLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcInNlY3JlY3lMZXZlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2R5bmFtaWMtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuSU1QT1JUQU5DRV9MRVZFTFwiLFxyXG4gICAgICBiaW5kTGFiZWwgOiAnbGFiZWwnLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgZGlzYWJsZWQgOiBmYWxzZSxcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYWJ1bGFyeVR5cGUgOiAnVk9DX0ltcG9ydGFuY2UnLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImltcG9ydGFuY2VMZXZlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ2RlcGFydG1lbnQtc2VsZWN0b3InLFxyXG4gICAgICBsYWJlbCA6IFwiQ1JFQVRFLkRFUEFSVE1FTlRfQ09ERVwiLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImRlcGFydG1lbnRDb2RlXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJwbGVhc2Ugc2VsZWN0IGRlcGFydG1lbnRcIixcclxuICAgICAgcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWUgOiBcIlBQX09TX0RlcGFydG1lbnRzXCIsXHJcbiAgICAgIHBwX2RlcGFydG1lbnRUcmVlIDogXCJQUF9PU19EZXBhcnRtZW50c1wiLFxyXG4gICAgICBjdXN0b21QcmVmaXggOiBcIm9zZGVwdFwiLFxyXG4gICAgICBjdXN0b21QYXJlbnRQcm9wZXJ0eSA6IFwib3NkZXBhcnRtZW50X3BhcmVudERlcGFydG1lbnRDb2RlXCIsXHJcbiAgICAgIHVzZUN1c3RvbUFkZEVkaXRBY3Rpb24gOiB0cnVlLFxyXG4gICAgICByZXF1aXJlZCA6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuQUdFTkNZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0FnZW5jeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJhZ2VuY3lDYXRlZ29yeUNvZGVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiBmYWxzZSxcclxuICAgICAgZmlsdGVyIDogJycsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5BR0VOQ1lfTkFNRVwiLFxyXG4gICAgICBhcmJCaW5kTGFiZWwgOiAnbGFiZWxfYXInLFxyXG4gICAgICBlbmdCaW5kTGFiZWwgOiBcImxhYmVsX2VuXCIsXHJcbiAgICAgIGJpbmRWYWx1ZSA6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlIDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGUgOiB0cnVlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0IDogdHJ1ZSwgXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zIDogZmFsc2UsXHJcbiAgICAgIHZvY2J1bGFyeUlkIDogJ1ZPQ19BZ2VuY3knLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImFnZW5jeU5hbWVcIixcclxuICAgICAgcGxhY2Vob2xkZXIgOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgdXNlRmlsdGVyOiB0cnVlLFxyXG4gICAgICBmaWx0ZXIgOiAnYWdlbmN5TmFtZScsXHJcbiAgICAgIHBlcm1pc3Npb24gOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGUgOiAndHJhbnNsYXRlZC12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5DT1VOVFJZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsIDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsIDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWUgOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZSA6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlIDogdHJ1ZSxcclxuICAgICAgY2xvc2VPblNlbGVjdCA6IHRydWUsIFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtcyA6IGZhbHNlLFxyXG4gICAgICB2b2NidWxhcnlJZCA6ICdWT0NfQ291bnRyeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lIDogXCJjb3VudHJ5Q2F0ZWdvcnlDb2RlXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogZmFsc2UsXHJcbiAgICAgIGZpbHRlciA6ICcnLFxyXG4gICAgICBwZXJtaXNzaW9uIDogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlIDogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsIDogXCJDUkVBVEUuQ09VTlRSWV9OQU1FXCIsXHJcbiAgICAgIGFyYkJpbmRMYWJlbCA6ICdsYWJlbF9hcicsXHJcbiAgICAgIGVuZ0JpbmRMYWJlbCA6IFwibGFiZWxfZW5cIixcclxuICAgICAgYmluZFZhbHVlIDogJ2lkJyxcclxuICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZSA6IHRydWUsXHJcbiAgICAgIGNsb3NlT25TZWxlY3QgOiB0cnVlLCBcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXMgOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQgOiAnVk9DX0NvdW50cnknLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWUgOiBcImNvdW50cnlOYW1lXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyIDogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcclxuICAgICAgZmlsdGVyIDogJ2NvdW50cnlOYW1lJyxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZSA6ICd0ZXh0JyxcclxuICAgICAgbGFiZWwgOiBcIkNSRUFURS5SRU1BUktTXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZSA6IFwicmVtYXJrc1wiLFxyXG4gICAgICBwbGFjZWhvbGRlciA6IFwiQ1JFQVRFLlJFTUFSS1NcIixcclxuICAgICAgcmVxdWlyZWQgOiBmYWxzZSxcclxuICAgICAgcGVybWlzc2lvbiA6ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfVxyXG4gIF07XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmZpZWxkcy5sZW5ndGggJiYgdGhpcy5mb3JtKSB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09IFwiYWRkXCIpIHtcclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KFwic2VjcmVjeUxldmVsXCIpLnBhdGNoVmFsdWUoXCJOb3JtYWxcIik7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSBcImVkaXRcIikge1xyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoXCJzZWNyZWN5TGV2ZWxcIikucGF0Y2hWYWx1ZSh0aGlzLmZvcm0udmFsdWUuc2VjcmVjeUxldmVsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiICpuZ0lmPVwiZm9ybVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJyZW5kZXJlci1jb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1jb250YWluZXJcIiAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZmllbGRzXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogZmllbGQucGVybWlzc2lvbiwgZW50aXR5OiBmaWVsZC5mb3JtQ29udHJvbE5hbWUgfVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICd0ZXh0J1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCIgKm5nSWY9XCJmaWVsZC5yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBjbGFzcz1cImZpZWxkLXN0eWxlXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIiB7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ251bWJlcidcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1zdHlsZVwiPlxyXG4gICAgICAgICAgICB7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcmVkLTUwMFwiICpuZ0lmPVwiZmllbGQucmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgbWluPVwiMVwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZpZWxkLXN0eWxlXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cIiB7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ2RhdGUnXCI+XHJcbiAgICAgICAgICA8Y3RzLWR5bmFtaWMtZm9ybS1oaWpyaS1kYXRlaXRlbVxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2N0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW0+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIlxyXG4gICAgICAgICAgKm5nSWY9XCJmaWVsZC50eXBlID09PSAnZHluYW1pYy12b2NhYnVsYXJ5J1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGFwcC1keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiXHJcbiAgICAgICAgICAgIFtiaW5kTGFiZWxdPVwiZmllbGQuYmluZExhYmVsXCJcclxuICAgICAgICAgICAgW2JpbmRWYWx1ZV09XCJmaWVsZC5iaW5kVmFsdWVcIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7IGZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgICAgW211bHRpcGxlXT1cImZpZWxkLm11bHRpcGxlXCJcclxuICAgICAgICAgICAgW3NlYXJjaGFibGVdPVwiZmllbGQuc2VhcmNoYWJsZVwiXHJcbiAgICAgICAgICAgIFtjbG9zZU9uU2VsZWN0XT1cImZpZWxkLmNsb3NlT25TZWxlY3RcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbaGlkZVNlbGVjdGVkSXRlbXNdPVwiZmllbGQuaGlkZVNlbGVjdGVkSXRlbXNcIlxyXG4gICAgICAgICAgICBbdm9jYWJ1bGFyeVR5cGVdPVwiZmllbGQudm9jYWJ1bGFyeVR5cGVcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0tdm9jYWJ1bGFyeS1pdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ2RlcGFydG1lbnQtc2VsZWN0b3InXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCIgKm5nSWY9XCJmaWVsZC5yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1keW5hbWljLWZvcm0tZGVwYXJ0bWVudFxyXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwcF9kZXBhcnRtZW50TmVzdGVkVHJlZV09XCJmaWVsZC5wcF9kZXBhcnRtZW50TmVzdGVkVHJlZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BwX2RlcGFydG1lbnRUcmVlXT1cImZpZWxkLnBwX2RlcGFydG1lbnRUcmVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY3VzdG9tUHJlZml4XT1cImZpZWxkLmN1c3RvbVByZWZpeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVBhcmVudFByb3BlcnR5XT1cImZpZWxkLmN1c3RvbVBhcmVudFByb3BlcnR5XCJcclxuICAgICAgICAgICAgICAgICAgICBbdXNlQ3VzdG9tQWRkRWRpdEFjdGlvbl09XCJmaWVsZC51c2VDdXN0b21BZGRFZGl0QWN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8L2FwcC1keW5hbWljLWZvcm0tZGVwYXJ0bWVudD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJzaW5nbGUtZmllbGQgbWItM1wiXHJcbiAgICAgICAgICAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICd0cmFuc2xhdGVkLXZvY2FidWxhcnknXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8YXBwLXRyYW5zbGF0ZWQtdm9jYWJ1bGFyeS1zZWxlY3RcclxuICAgICAgICAgICAgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcclxuICAgICAgICAgICAgW2FyYkJpbmRMYWJlbF09XCJmaWVsZC5hcmJCaW5kTGFiZWxcIlxyXG4gICAgICAgICAgICBbZW5nQmluZExhYmVsXT1cImZpZWxkLmVuZ0JpbmRMYWJlbFwiXHJcbiAgICAgICAgICAgIFtiaW5kVmFsdWVdPVwiZmllbGQuYmluZFZhbHVlXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXHJcbiAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImZpZWxkLnNlYXJjaGFibGVcIlxyXG4gICAgICAgICAgICBbY2xvc2VPblNlbGVjdF09XCJmaWVsZC5jbG9zZU9uU2VsZWN0XCJcclxuICAgICAgICAgICAgW2hpZGVTZWxlY3RlZEl0ZW1zXT1cImZpZWxkLmhpZGVTZWxlY3RlZEl0ZW1zXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICBbdm9jYnVsYXJ5SWRdPVwiZmllbGQudm9jYnVsYXJ5SWRcIlxyXG4gICAgICAgICAgICBbdXNlRmlsdGVyXT1cImZpZWxkLnVzZUZpbHRlclwiXHJcbiAgICAgICAgICAgIFtmaWx0ZXJdPVwiXHJcbiAgICAgICAgICAgICAgZmllbGQuZmlsdGVyID09PSAnYWdlbmN5TmFtZSdcclxuICAgICAgICAgICAgICAgID8gYWdlbmN5TmFtZUZpbHRlclxyXG4gICAgICAgICAgICAgICAgOiBmaWVsZC5maWx0ZXIgPT09ICdjb3VudHJ5TmFtZSdcclxuICAgICAgICAgICAgICAgID8gY291bnRyeU5hbWVGaWx0ZXJcclxuICAgICAgICAgICAgICAgIDoge31cclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgW3BhcmFtc109XCJmaWVsZC5wYXJhbXMgfHwge31cIlxyXG4gICAgICAgICAgICBbZ2V0QnlEaXJlY3RvcnlTdWdnZXN0aW9uXT1cImZpZWxkLmdldEJ5RGlyZWN0b3J5U3VnZ2VzdGlvblwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICA8L2FwcC10cmFuc2xhdGVkLXZvY2FidWxhcnktc2VsZWN0PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7O0FBUWxHLE1BQU0sT0FBTyw4QkFBOEI7SUF1SnpDO1FBakpTLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixXQUFNLEdBQUc7WUFDaEI7Z0JBQ0UsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLHlCQUF5QjtnQkFDaEMsZUFBZSxFQUFFLFNBQVM7Z0JBQzFCLFdBQVcsRUFBRSx5QkFBeUI7Z0JBQ3RDLFFBQVEsRUFBRSxJQUFJO2dCQUNkLFVBQVUsRUFBRSxlQUFlO2FBQzVCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLE1BQU07Z0JBQ1osS0FBSyxFQUFFLHdCQUF3QjtnQkFDL0IsZUFBZSxFQUFFLGdCQUFnQjtnQkFDakMsV0FBVyxFQUFFLHdCQUF3QjtnQkFDckMsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsVUFBVSxFQUFFLGVBQWU7YUFDNUI7WUFDRDtn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QUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUNwRDtpQkFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDeEU7U0FDRjtJQUNILENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxPQUFlO1FBQ3hDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs7NEhBcEtVLDhCQUE4QjtnSEFBOUIsOEJBQThCLGtWQ1IzQyxrM09BaU1BOzRGRHpMYSw4QkFBOEI7a0JBTjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDZCQUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7b0JBQ3ZELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QzswRUFFVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkErSUksMEJBQTBCO3NCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWR5bmFtaWMtZmllbGRzLXJlbmRlcmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZmllbGRzLXJlbmRlcmVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkc1JlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBmb3JtO1xyXG4gIEBJbnB1dCgpIGFnZW5jeU5hbWVGaWx0ZXI7XHJcbiAgQElucHV0KCkgY291bnRyeU5hbWVGaWx0ZXI7XHJcbiAgQElucHV0KCkgb3JnTmFtZUZpbHRlcjtcclxuICBASW5wdXQoKSBuZ29OYW1lRmlsdGVyO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSBcImFkZFwiO1xyXG4gIEBJbnB1dCgpIGZpZWxkcyA9IFtcclxuICAgIHtcclxuICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICBsYWJlbDogXCJDUkVBVEUuRE9DVU1FTlRfU1VCSkVDVFwiLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU6IFwic3ViamVjdFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCJDUkVBVEUuRE9DVU1FTlRfU1VCSkVDVFwiLFxyXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgcGVybWlzc2lvbjogJ2lzSGlkZGVuRmllbGQnLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICBsYWJlbDogXCJDUkVBVEUuRE9DVU1FTlRfTlVNQkVSXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZTogXCJkb2N1bWVudE51bWJlclwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCJDUkVBVEUuRE9DVU1FTlRfTlVNQkVSXCIsXHJcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgcGVybWlzc2lvbjogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlOiAnZGF0ZScsXHJcbiAgICAgIGxhYmVsOiBcIkNSRUFURS5ET0NVTUVOVF9EQVRFXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZTogXCJnZG9jdW1lbnREYXRlXCIsXHJcbiAgICAgIHBlcm1pc3Npb246ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZTogJ2R5bmFtaWMtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsOiBcIkNSRUFURS5TQ1JFQ1lfTEVWRUxcIixcclxuICAgICAgYmluZExhYmVsOiAnbGFiZWwnLFxyXG4gICAgICBiaW5kVmFsdWU6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZTogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3Q6IHRydWUsXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zOiBmYWxzZSxcclxuICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxyXG4gICAgICB2b2NhYnVsYXJ5VHlwZTogJ1ZPQ19TZWNyZWN5TGV2ZWwnLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU6IFwic2VjcmVjeUxldmVsXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyOiBcIlZPQ0FCVUxBUlkuU0VMRUNUX0lURU1cIixcclxuICAgICAgcGVybWlzc2lvbjogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlOiAnZHluYW1pYy12b2NhYnVsYXJ5JyxcclxuICAgICAgbGFiZWw6IFwiQ1JFQVRFLklNUE9SVEFOQ0VfTEVWRUxcIixcclxuICAgICAgYmluZExhYmVsOiAnbGFiZWwnLFxyXG4gICAgICBiaW5kVmFsdWU6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZTogZmFsc2UsXHJcbiAgICAgIGNsb3NlT25TZWxlY3Q6IHRydWUsXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXM6IGZhbHNlLFxyXG4gICAgICB2b2NhYnVsYXJ5VHlwZTogJ1ZPQ19JbXBvcnRhbmNlJyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lOiBcImltcG9ydGFuY2VMZXZlbFwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHBlcm1pc3Npb246ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZTogJ2RlcGFydG1lbnQtc2VsZWN0b3InLFxyXG4gICAgICBsYWJlbDogXCJDUkVBVEUuREVQQVJUTUVOVF9DT0RFXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZTogXCJkZXBhcnRtZW50Q29kZVwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCJwbGVhc2Ugc2VsZWN0IGRlcGFydG1lbnRcIixcclxuICAgICAgcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWU6IFwiUFBfT1NfRGVwYXJ0bWVudHNcIixcclxuICAgICAgcHBfZGVwYXJ0bWVudFRyZWU6IFwiUFBfT1NfRGVwYXJ0bWVudHNcIixcclxuICAgICAgY3VzdG9tUHJlZml4OiBcIm9zZGVwdFwiLFxyXG4gICAgICBjdXN0b21QYXJlbnRQcm9wZXJ0eTogXCJvc2RlcGFydG1lbnRfcGFyZW50RGVwYXJ0bWVudENvZGVcIixcclxuICAgICAgdXNlQ3VzdG9tQWRkRWRpdEFjdGlvbjogdHJ1ZSxcclxuICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxyXG4gICAgICBwZXJtaXNzaW9uOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGU6ICd0cmFuc2xhdGVkLXZvY2FidWxhcnknLFxyXG4gICAgICBsYWJlbDogXCJDUkVBVEUuQUdFTkNZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsOiAnbGFiZWxfYXInLFxyXG4gICAgICBlbmdCaW5kTGFiZWw6IFwibGFiZWxfZW5cIixcclxuICAgICAgYmluZFZhbHVlOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZTogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGU6IGZhbHNlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0OiB0cnVlLFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtczogZmFsc2UsXHJcbiAgICAgIHZvY2J1bGFyeUlkOiAnVk9DX0FnZW5jeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lOiBcImFnZW5jeUNhdGVnb3J5Q29kZVwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogZmFsc2UsXHJcbiAgICAgIGZpbHRlcjogJycsXHJcbiAgICAgIHBlcm1pc3Npb246ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZTogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsOiBcIkNSRUFURS5BR0VOQ1lfTkFNRVwiLFxyXG4gICAgICBhcmJCaW5kTGFiZWw6ICdsYWJlbF9hcicsXHJcbiAgICAgIGVuZ0JpbmRMYWJlbDogXCJsYWJlbF9lblwiLFxyXG4gICAgICBiaW5kVmFsdWU6ICdpZCcsXHJcbiAgICAgIG11bHRpcGxlOiBmYWxzZSxcclxuICAgICAgc2VhcmNoYWJsZTogdHJ1ZSxcclxuICAgICAgY2xvc2VPblNlbGVjdDogdHJ1ZSxcclxuICAgICAgaGlkZVNlbGVjdGVkSXRlbXM6IGZhbHNlLFxyXG4gICAgICB2b2NidWxhcnlJZDogJ1ZPQ19BZ2VuY3knLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU6IFwiYWdlbmN5TmFtZVwiLFxyXG4gICAgICBwbGFjZWhvbGRlcjogXCJWT0NBQlVMQVJZLlNFTEVDVF9JVEVNXCIsXHJcbiAgICAgIHVzZUZpbHRlcjogdHJ1ZSxcclxuICAgICAgZmlsdGVyOiAnYWdlbmN5TmFtZScsXHJcbiAgICAgIHBlcm1pc3Npb246ICdpc0hpZGRlbkZpZWxkJ1xyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgdHlwZTogJ3RyYW5zbGF0ZWQtdm9jYWJ1bGFyeScsXHJcbiAgICAgIGxhYmVsOiBcIkNSRUFURS5DT1VOVFJZX0NBVEVHT1JZX0NPREVcIixcclxuICAgICAgYXJiQmluZExhYmVsOiAnbGFiZWxfYXInLFxyXG4gICAgICBlbmdCaW5kTGFiZWw6IFwibGFiZWxfZW5cIixcclxuICAgICAgYmluZFZhbHVlOiAnaWQnLFxyXG4gICAgICBtdWx0aXBsZTogZmFsc2UsXHJcbiAgICAgIHNlYXJjaGFibGU6IHRydWUsXHJcbiAgICAgIGNsb3NlT25TZWxlY3Q6IHRydWUsXHJcbiAgICAgIGhpZGVTZWxlY3RlZEl0ZW1zOiBmYWxzZSxcclxuICAgICAgdm9jYnVsYXJ5SWQ6ICdWT0NfQ291bnRyeUNhdGVnb3J5JyxcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lOiBcImNvdW50cnlDYXRlZ29yeUNvZGVcIixcclxuICAgICAgcGxhY2Vob2xkZXI6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICB1c2VGaWx0ZXI6IGZhbHNlLFxyXG4gICAgICBmaWx0ZXI6ICcnLFxyXG4gICAgICBwZXJtaXNzaW9uOiAnaXNIaWRkZW5GaWVsZCdcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHR5cGU6ICd0cmFuc2xhdGVkLXZvY2FidWxhcnknLFxyXG4gICAgICBsYWJlbDogXCJDUkVBVEUuQ09VTlRSWV9OQU1FXCIsXHJcbiAgICAgIGFyYkJpbmRMYWJlbDogJ2xhYmVsX2FyJyxcclxuICAgICAgZW5nQmluZExhYmVsOiBcImxhYmVsX2VuXCIsXHJcbiAgICAgIGJpbmRWYWx1ZTogJ2lkJyxcclxuICAgICAgbXVsdGlwbGU6IGZhbHNlLFxyXG4gICAgICBzZWFyY2hhYmxlOiB0cnVlLFxyXG4gICAgICBjbG9zZU9uU2VsZWN0OiB0cnVlLFxyXG4gICAgICBoaWRlU2VsZWN0ZWRJdGVtczogZmFsc2UsXHJcbiAgICAgIHZvY2J1bGFyeUlkOiAnVk9DX0NvdW50cnknLFxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU6IFwiY291bnRyeU5hbWVcIixcclxuICAgICAgcGxhY2Vob2xkZXI6IFwiVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTVwiLFxyXG4gICAgICB1c2VGaWx0ZXI6IHRydWUsXHJcbiAgICAgIGZpbHRlcjogJ2NvdW50cnlOYW1lJyxcclxuICAgICAgcGVybWlzc2lvbjogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICB0eXBlOiAndGV4dCcsXHJcbiAgICAgIGxhYmVsOiBcIkNSRUFURS5SRU1BUktTXCIsXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZTogXCJyZW1hcmtzXCIsXHJcbiAgICAgIHBsYWNlaG9sZGVyOiBcIkNSRUFURS5SRU1BUktTXCIsXHJcbiAgICAgIHJlcXVpcmVkOiBmYWxzZSxcclxuICAgICAgcGVybWlzc2lvbjogJ2lzSGlkZGVuRmllbGQnXHJcbiAgICB9XHJcbiAgXTtcclxuICBAT3V0cHV0KCkgY2hlY2tUZXh0U3BlbGxDaGVja2VyRmllbGQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpZWxkcy5sZW5ndGggJiYgdGhpcy5mb3JtKSB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGUgPT09IFwiYWRkXCIpIHtcclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KFwic2VjcmVjeUxldmVsXCIpLnBhdGNoVmFsdWUoXCJOb3JtYWxcIik7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tb2RlID09PSBcImVkaXRcIikge1xyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoXCJzZWNyZWN5TGV2ZWxcIikucGF0Y2hWYWx1ZSh0aGlzLmZvcm0udmFsdWUuc2VjcmVjeUxldmVsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjaGVja1RleHRPZlNwZWxsQ2hlY2tGaWVsZChjb250cm9sOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY2hlY2tUZXh0U3BlbGxDaGVja2VyRmllbGQuZW1pdChjb250cm9sKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiAqbmdJZj1cImZvcm1cIj5cclxuICA8ZGl2IGNsYXNzPVwicmVuZGVyZXItY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmllbGQtY29udGFpbmVyXCIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGZpZWxkc1wiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC14LTIgaXRlbXMtY2VudGVyXCJcclxuICAgICAgICAqcGVybWlzc2lvbj1cInsgbmFtZTogZmllbGQucGVybWlzc2lvbiwgZW50aXR5OiBmaWVsZC5mb3JtQ29udHJvbE5hbWUgfVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICd0ZXh0J1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCIgKm5nSWY9XCJmaWVsZC5yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBjbGFzcz1cImZpZWxkLXN0eWxlXCJcclxuICAgICAgICAgICAgaWQ9XCJ7eyBmaWVsZC5mb3JtQ29udHJvbE5hbWUgfX1cIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiIHt7IGZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1maWVsZCBtYi0zXCIgKm5nSWY9XCJmaWVsZC50eXBlID09PSAnbnVtYmVyJ1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXN0eWxlXCI+XHJcbiAgICAgICAgICAgIHt7IGZpZWxkLmxhYmVsIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1yZWQtNTAwXCIgKm5nSWY9XCJmaWVsZC5yZXF1aXJlZFwiPio8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBtaW49XCIxXCJcclxuICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmllbGQtc3R5bGVcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiIHt7IGZpZWxkLnBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlIH19XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1maWVsZCBtYi0zXCIgKm5nSWY9XCJmaWVsZC50eXBlID09PSAndGV4dGFyZWEnXCI+XHJcbiAgICAgICAgICA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0YXJlYVxyXG4gICAgICAgICAgICBbaWRdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvYXBwLWR5bmFtaWMtZm9ybS10ZXh0YXJlYT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdkYXRlJ1wiPlxyXG4gICAgICAgICAgPGN0cy1keW5hbWljLWZvcm0taGlqcmktZGF0ZWl0ZW1cclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9jdHMtZHluYW1pYy1mb3JtLWhpanJpLWRhdGVpdGVtPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIlxyXG4gICAgICAgICAgKm5nSWY9XCJmaWVsZC50eXBlID09PSAnc3BlbGxDaGVja2VyRmllbGQnXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bmRmLXNwZWxsLWNoZWNrZXItdGV4dC1maWVsZFxyXG4gICAgICAgICAgICBbaWRdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICBbZmllbGRUeXBlXT1cImZpZWxkLmZpZWxkVHlwZVwiXHJcbiAgICAgICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiXHJcbiAgICAgICAgICAgIChjaGVja0Zyb21UZXh0KT1cImNoZWNrVGV4dE9mU3BlbGxDaGVja0ZpZWxkKGZpZWxkLmZvcm1Db250cm9sTmFtZSlcIlxyXG4gICAgICAgICAgPjwvbmRmLXNwZWxsLWNoZWNrZXItdGV4dC1maWVsZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInNpbmdsZS1maWVsZCBtYi0zXCJcclxuICAgICAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gJ2R5bmFtaWMtdm9jYWJ1bGFyeSdcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbVxyXG4gICAgICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIlxyXG4gICAgICAgICAgICBbYmluZExhYmVsXT1cImZpZWxkLmJpbmRMYWJlbFwiXHJcbiAgICAgICAgICAgIFtiaW5kVmFsdWVdPVwiZmllbGQuYmluZFZhbHVlXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBmaWVsZC5wbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCJmaWVsZC5tdWx0aXBsZVwiXHJcbiAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImZpZWxkLnNlYXJjaGFibGVcIlxyXG4gICAgICAgICAgICBbY2xvc2VPblNlbGVjdF09XCJmaWVsZC5jbG9zZU9uU2VsZWN0XCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCJcclxuICAgICAgICAgICAgW2hpZGVTZWxlY3RlZEl0ZW1zXT1cImZpZWxkLmhpZGVTZWxlY3RlZEl0ZW1zXCJcclxuICAgICAgICAgICAgW3ZvY2FidWxhcnlUeXBlXT1cImZpZWxkLnZvY2FidWxhcnlUeXBlXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5mb3JtQ29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbT5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIiAqbmdJZj1cImZpZWxkLnR5cGUgPT09ICdkZXBhcnRtZW50LXNlbGVjdG9yJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1zdHlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcmVkLTUwMFwiICpuZ0lmPVwiZmllbGQucmVxdWlyZWRcIj4qPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnRcclxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZvcm1Db250cm9sTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICBbcHBfZGVwYXJ0bWVudE5lc3RlZFRyZWVdPVwiZmllbGQucHBfZGVwYXJ0bWVudE5lc3RlZFRyZWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtwcF9kZXBhcnRtZW50VHJlZV09XCJmaWVsZC5wcF9kZXBhcnRtZW50VHJlZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVByZWZpeF09XCJmaWVsZC5jdXN0b21QcmVmaXhcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjdXN0b21QYXJlbnRQcm9wZXJ0eV09XCJmaWVsZC5jdXN0b21QYXJlbnRQcm9wZXJ0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3VzZUN1c3RvbUFkZEVkaXRBY3Rpb25dPVwiZmllbGQudXNlQ3VzdG9tQWRkRWRpdEFjdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPC9hcHAtZHluYW1pYy1mb3JtLWRlcGFydG1lbnQ+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcblxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwic2luZ2xlLWZpZWxkIG1iLTNcIlxyXG4gICAgICAgICAgKm5nSWY9XCJmaWVsZC50eXBlID09PSAndHJhbnNsYXRlZC12b2NhYnVsYXJ5J1wiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGFwcC10cmFuc2xhdGVkLXZvY2FidWxhcnktc2VsZWN0XHJcbiAgICAgICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiXHJcbiAgICAgICAgICAgIFthcmJCaW5kTGFiZWxdPVwiZmllbGQuYXJiQmluZExhYmVsXCJcclxuICAgICAgICAgICAgW2VuZ0JpbmRMYWJlbF09XCJmaWVsZC5lbmdCaW5kTGFiZWxcIlxyXG4gICAgICAgICAgICBbYmluZFZhbHVlXT1cImZpZWxkLmJpbmRWYWx1ZVwiXHJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgZmllbGQucGxhY2Vob2xkZXIgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICAgICAgICBbbXVsdGlwbGVdPVwiZmllbGQubXVsdGlwbGVcIlxyXG4gICAgICAgICAgICBbc2VhcmNoYWJsZV09XCJmaWVsZC5zZWFyY2hhYmxlXCJcclxuICAgICAgICAgICAgW2Nsb3NlT25TZWxlY3RdPVwiZmllbGQuY2xvc2VPblNlbGVjdFwiXHJcbiAgICAgICAgICAgIFtoaWRlU2VsZWN0ZWRJdGVtc109XCJmaWVsZC5oaWRlU2VsZWN0ZWRJdGVtc1wiXHJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZm9ybUNvbnRyb2xOYW1lXCJcclxuICAgICAgICAgICAgW3ZvY2J1bGFyeUlkXT1cImZpZWxkLnZvY2J1bGFyeUlkXCJcclxuICAgICAgICAgICAgW3VzZUZpbHRlcl09XCJmaWVsZC51c2VGaWx0ZXJcIlxyXG4gICAgICAgICAgICBbZmlsdGVyXT1cIlxyXG4gICAgICAgICAgICAgIGZpZWxkLmZpbHRlciA9PT0gJ2FnZW5jeU5hbWUnXHJcbiAgICAgICAgICAgICAgICA/IGFnZW5jeU5hbWVGaWx0ZXJcclxuICAgICAgICAgICAgICAgIDogZmllbGQuZmlsdGVyID09PSAnY291bnRyeU5hbWUnXHJcbiAgICAgICAgICAgICAgICA/IGNvdW50cnlOYW1lRmlsdGVyXHJcbiAgICAgICAgICAgICAgICA6IGZpZWxkLmZpbHRlciA9PT0gJ29yZ05hbWUnXHJcbiAgICAgICAgICAgICAgICA/IG9yZ05hbWVGaWx0ZXJcclxuICAgICAgICAgICAgICAgIDogZmllbGQuZmlsdGVyID09PSAnbmdvTmFtZSdcclxuICAgICAgICAgICAgICAgID8gbmdvTmFtZUZpbHRlclxyXG4gICAgICAgICAgICAgICAgOiB7fVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICBbcGFyYW1zXT1cImZpZWxkLnBhcmFtcyB8fCB7fVwiXHJcbiAgICAgICAgICAgIFtnZXRCeURpcmVjdG9yeVN1Z2dlc3Rpb25dPVwiZmllbGQuZ2V0QnlEaXJlY3RvcnlTdWdnZXN0aW9uXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvYXBwLXRyYW5zbGF0ZWQtdm9jYWJ1bGFyeS1zZWxlY3Q+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpZWxkLnNlbGVjdGFibGVcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgICBmaWVsZHNDaGVja0JveDtcclxuICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICBjaGVja0JveFRlbXBsYXRlOiBmaWVsZC50ZW1wbGF0ZSxcclxuICAgICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiBmaWVsZC5mb3JtQ29udHJvbE5hbWVcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPCEtLSB0ZW1wbGF0ZSBpbiBjbGllbnQgLS0+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWVsZC5zdWdnZXN0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgICAgICAgc3VnZ2VzdDtcclxuICAgICAgICAgICAgY29udGV4dDoge1xyXG4gICAgICAgICAgICAgIGZpZWxkOiBmaWVsZC5sYWJlbCxcclxuICAgICAgICAgICAgICBzdWdnZXN0TmFtZTogZmllbGQuc3VnZ2VzdCxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogZmllbGQuZm9ybUNvbnRyb2xOYW1lLFxyXG4gICAgICAgICAgICAgIHRlbXBsYXRlOiBmaWVsZC5zdWdnZXN0VGVtcGxhdGVcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlXHJcbiAgI2ZpZWxkc0NoZWNrQm94XHJcbiAgbGV0LWNoZWNrQm94VGVtcGxhdGU9XCJjaGVja0JveFRlbXBsYXRlXCJcclxuICBsZXQtY29udHJvbE5hbWU9XCJjb250cm9sTmFtZVwiXHJcbj5cclxuICA8bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImNoZWNrQm94VGVtcGxhdGU7IGNvbnRleHQ6IHsgY29udHJvbE5hbWU6IGNvbnRyb2xOYW1lIH1cIlxyXG4gID5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZVxyXG4gICNzdWdnZXN0XHJcbiAgbGV0LWZpZWxkPVwiZmllbGRcIlxyXG4gIGxldC1zdWdnZXN0TmFtZT1cInN1Z2dlc3ROYW1lXCJcclxuICBsZXQtY29udHJvbE5hbWU9XCJjb250cm9sTmFtZVwiXHJcbiAgbGV0LXRlbXBsYXRlPVwidGVtcGxhdGVcIlxyXG4+XHJcbiAgPG5nLWNvbnRhaW5lclxyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcclxuICAgICAgdGVtcGxhdGU7XHJcbiAgICAgIGNvbnRleHQ6IHtcclxuICAgICAgICBmaWVsZDogZmllbGQsXHJcbiAgICAgICAgc3VnZ2VzdE5hbWU6IHN1Z2dlc3ROYW1lLFxyXG4gICAgICAgIGNvbnRyb2xOYW1lOiBjb250cm9sTmFtZVxyXG4gICAgICB9XHJcbiAgICBcIlxyXG4gID5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -6,6 +6,7 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
6
6
  import { DirectiveModule } from '../../directive/directive.module';
7
7
  import { TranslateModule } from '@ngx-translate/core';
8
8
  import { VocabularyModule } from '../vocabulary/vocabulary.module';
9
+ import { SpellCheckerFieldModule } from '../spell-checker-field/spell-checker-field.module';
9
10
  import * as i0 from "@angular/core";
10
11
  export class DynamicFieldsRendererModule {
11
12
  }
@@ -16,7 +17,8 @@ DynamicFieldsRendererModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0
16
17
  ReactiveFormsModule,
17
18
  DirectiveModule,
18
19
  TranslateModule,
19
- VocabularyModule], exports: [DynamicFieldsRendererComponent] });
20
+ VocabularyModule,
21
+ SpellCheckerFieldModule], exports: [DynamicFieldsRendererComponent] });
20
22
  DynamicFieldsRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererModule, imports: [[
21
23
  CommonModule,
22
24
  DynamicFormModule,
@@ -24,7 +26,8 @@ DynamicFieldsRendererModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0
24
26
  ReactiveFormsModule,
25
27
  DirectiveModule,
26
28
  TranslateModule,
27
- VocabularyModule
29
+ VocabularyModule,
30
+ SpellCheckerFieldModule
28
31
  ]] });
29
32
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFieldsRendererModule, decorators: [{
30
33
  type: NgModule,
@@ -37,11 +40,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
37
40
  ReactiveFormsModule,
38
41
  DirectiveModule,
39
42
  TranslateModule,
40
- VocabularyModule
43
+ VocabularyModule,
44
+ SpellCheckerFieldModule
41
45
  ],
42
46
  exports: [
43
47
  DynamicFieldsRendererComponent
44
48
  ]
45
49
  }]
46
50
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBbUJuRSxNQUFNLE9BQU8sMkJBQTJCOzt5SEFBM0IsMkJBQTJCOzBIQUEzQiwyQkFBMkIsaUJBZHZCLDhCQUE4QixhQUUzQyxZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGVBQWU7UUFDZixnQkFBZ0IsYUFHaEIsOEJBQThCOzBIQUdyQiwyQkFBMkIsWUFiN0I7WUFDUCxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGVBQWU7WUFDZixnQkFBZ0I7U0FDakI7NEZBS1UsMkJBQTJCO2tCQWZ2QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUM5QyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUM7d0JBQ04sOEJBQThCO3FCQUMvQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IER5bmFtaWNGaWVsZHNSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1maWVsZHMtcmVuZGVyZXIvZHluYW1pYy1maWVsZHMtcmVuZGVyZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1Nb2R1bGUgfSBmcm9tICcuLi9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmVNb2R1bGUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvZGlyZWN0aXZlLm1vZHVsZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBWb2NhYnVsYXJ5TW9kdWxlIH0gZnJvbSAnLi4vdm9jYWJ1bGFyeS92b2NhYnVsYXJ5Lm1vZHVsZSc7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbRHluYW1pY0ZpZWxkc1JlbmRlcmVyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBEeW5hbWljRm9ybU1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIERpcmVjdGl2ZU1vZHVsZSxcclxuICAgIFRyYW5zbGF0ZU1vZHVsZSxcclxuICAgIFZvY2FidWxhcnlNb2R1bGVcclxuICBdLFxyXG4gIGV4cG9ydHM6W1xyXG4gICAgRHluYW1pY0ZpZWxkc1JlbmRlcmVyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkc1JlbmRlcmVyTW9kdWxlIHsgfVxyXG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZHMtcmVuZGVyZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDN0csT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7O0FBb0I1RixNQUFNLE9BQU8sMkJBQTJCOzt5SEFBM0IsMkJBQTJCOzBIQUEzQiwyQkFBMkIsaUJBZnZCLDhCQUE4QixhQUUzQyxZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsdUJBQXVCLGFBR3ZCLDhCQUE4QjswSEFHckIsMkJBQTJCLFlBZDdCO1lBQ1AsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLHVCQUF1QjtTQUN4Qjs0RkFLVSwyQkFBMkI7a0JBaEJ2QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLDhCQUE4QixDQUFDO29CQUM5QyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQix1QkFBdUI7cUJBQ3hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCw4QkFBOEI7cUJBQy9CO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRHluYW1pY0ZpZWxkc1JlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9keW5hbWljLWZpZWxkcy1yZW5kZXJlci9keW5hbWljLWZpZWxkcy1yZW5kZXJlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybU1vZHVsZSB9IGZyb20gJy4uL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0ubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9kaXJlY3RpdmUubW9kdWxlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFZvY2FidWxhcnlNb2R1bGUgfSBmcm9tICcuLi92b2NhYnVsYXJ5L3ZvY2FidWxhcnkubW9kdWxlJztcclxuaW1wb3J0IHsgU3BlbGxDaGVja2VyRmllbGRNb2R1bGUgfSBmcm9tICcuLi9zcGVsbC1jaGVja2VyLWZpZWxkL3NwZWxsLWNoZWNrZXItZmllbGQubW9kdWxlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtEeW5hbWljRmllbGRzUmVuZGVyZXJDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIER5bmFtaWNGb3JtTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRGlyZWN0aXZlTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgVm9jYWJ1bGFyeU1vZHVsZSxcclxuICAgIFNwZWxsQ2hlY2tlckZpZWxkTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEeW5hbWljRmllbGRzUmVuZGVyZXJDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRmllbGRzUmVuZGVyZXJNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -1,34 +1,39 @@
1
1
  import { Component, Inject } from '@angular/core';
2
2
  import { FormControl, FormGroup, Validators } from '@angular/forms';
3
3
  import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
+ import { BaseDialogComponent } from '../../../../shared/components/base/base-dialog.component';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/material/dialog";
6
7
  import * as i2 from "../../../custom-toastr/services/custom-toastr.service";
7
8
  import * as i3 from "../dynamic-form-department/services/department-api.service";
8
- import * as i4 from "../dynamic-form-textitem/dynamic-form-textitem.component";
9
- import * as i5 from "../dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component";
10
- import * as i6 from "../dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component";
11
- import * as i7 from "../../../../shared/components/button/button.component";
12
- import * as i8 from "../../../../directive/rtl/set-dir-rtl.directive";
13
- import * as i9 from "@angular/forms";
14
- import * as i10 from "@angular/common";
15
- import * as i11 from "@ngx-translate/core";
16
- export class DepartmentFormComponent {
17
- constructor(data, dialogRef, toastr, departmentManagementService) {
9
+ import * as i4 from "../../../../shared/components/nuxeo-dialog/nuxeo.dialog";
10
+ import * as i5 from "../dynamic-form-textitem/dynamic-form-textitem.component";
11
+ import * as i6 from "../dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component";
12
+ import * as i7 from "../dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component";
13
+ import * as i8 from "@angular/forms";
14
+ import * as i9 from "@angular/common";
15
+ import * as i10 from "@ngx-translate/core";
16
+ export class DepartmentFormComponent extends BaseDialogComponent {
17
+ constructor(data, dialogRef, toastr, departmentManagementService, injector) {
18
+ super(injector);
18
19
  this.data = data;
19
20
  this.dialogRef = dialogRef;
20
21
  this.toastr = toastr;
21
22
  this.departmentManagementService = departmentManagementService;
22
- this.loading = false;
23
23
  this.updateMode = false;
24
24
  this.departmentForm = new FormGroup({
25
- title: new FormControl(null, [Validators.required, Validators.pattern(new RegExp("^\\S*$"))]),
25
+ title: new FormControl(null, [
26
+ Validators.required,
27
+ Validators.pattern(new RegExp('^\\S*$'))
28
+ ]),
26
29
  agencyCode: new FormControl('tdf', Validators.required),
27
30
  arabicName: new FormControl(null, Validators.required),
28
31
  englishName: new FormControl(null, Validators.required),
29
- deptTypee: this.data.displayDepTypee ? new FormControl(null, Validators.required) : new FormControl(null),
32
+ deptTypee: this.data.displayDepTypee
33
+ ? new FormControl(null, Validators.required)
34
+ : new FormControl(null),
30
35
  description: new FormControl(null),
31
- isAllowRecExternal: new FormControl(false),
36
+ isAllowRecExternal: new FormControl(false)
32
37
  // manager: new FormControl(null),
33
38
  });
34
39
  }
@@ -61,9 +66,7 @@ export class DepartmentFormComponent {
61
66
  }, (err) => {
62
67
  this.loading = false;
63
68
  this.dialogRef.close(false);
64
- this.toastr.show('error', 'error', err.ret.message ?
65
- `errors.${err.ret.code}`
66
- : 'genericError');
69
+ this.toastr.show('error', 'error', err.ret.message ? `errors.${err.ret.code}` : 'genericError');
67
70
  });
68
71
  }
69
72
  else {
@@ -75,9 +78,7 @@ export class DepartmentFormComponent {
75
78
  this.toastr.show('success', 'success', 'success');
76
79
  }, (err) => {
77
80
  this.loading = false;
78
- this.toastr.show('error', 'error', err.ret.message ?
79
- `errors.${err.ret.code}`
80
- : 'genericError');
81
+ this.toastr.show('error', 'error', err.ret.message ? `errors.${err.ret.code}` : 'genericError');
81
82
  });
82
83
  }
83
84
  }
@@ -88,7 +89,7 @@ export class DepartmentFormComponent {
88
89
  englishName: department.englishName,
89
90
  deptTypee: department.deptTypee,
90
91
  description: department.description,
91
- isAllowRecExternal: department.isAllowRecExternal,
92
+ isAllowRecExternal: department.isAllowRecExternal
92
93
  });
93
94
  }
94
95
  getDepartment() {
@@ -108,23 +109,21 @@ export class DepartmentFormComponent {
108
109
  this.toastr.show('success', 'success', 'success');
109
110
  }, (err) => {
110
111
  this.loading = false;
111
- this.toastr.show('error', 'error', err.ret.message ?
112
- `errors.${err.ret.code}`
113
- : 'genericError');
112
+ this.toastr.show('error', 'error', err.ret.message ? `errors.${err.ret.code}` : 'genericError');
114
113
  });
115
114
  }
116
115
  }
117
- DepartmentFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DepartmentFormComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.CustomToastrService }, { token: i3.DepartmentApiService }], target: i0.ɵɵFactoryTarget.Component });
118
- DepartmentFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DepartmentFormComponent, selector: "cts-department-form", ngImport: i0, template: "<div SetDirRtl class=\"voc-form\">\r\n <div class=\"voc-form-hedaer\">\r\n {{\r\n \"department_management.form.\" + (updateMode ? \"updateHeader\" : \"header\")\r\n | translate\r\n }}\r\n </div>\r\n <form [formGroup]=\"departmentForm\" class=\"row voc-form-body\">\r\n <div class=\"col-lg-6 col-12\">\r\n <app-dynamic-form-textitem\r\n formControlName=\"title\"\r\n [label]=\"'department_management.form.title'\"\r\n [disabled]=\"updateMode\"\r\n [preventSpace]=\"true\"\r\n ></app-dynamic-form-textitem>\r\n <div class=\"hint-msg\">{{ \"department_management.form.hintMsg\" | translate }}</div>\r\n </div>\r\n <!-- <app-dynamic-form-textitem\r\n class=\"col-lg-6 col-12\"\r\n formControlName=\"agencyCode\"\r\n [label]=\"'department_management.form.AgencyCode'\"\r\n ></app-dynamic-form-textitem> -->\r\n <app-dynamic-form-textitem\r\n class=\"col-lg-6 col-12\"\r\n formControlName=\"arabicName\"\r\n [label]=\"'department_management.form.ArabicName'\"\r\n ></app-dynamic-form-textitem>\r\n <app-dynamic-form-textitem\r\n class=\"col-lg-6 col-12\"\r\n formControlName=\"englishName\"\r\n [label]=\"'department_management.form.EnglishName'\"\r\n ></app-dynamic-form-textitem>\r\n <app-dynamic-form-vocabulary-item *ngIf=\"data.displayDepTypee\"\r\n class=\"col-lg-6 col-12\"\r\n [label]=\"'department_management.form.deptTypee'\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_DepartmentType'\"\r\n formControlName=\"deptTypee\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n <app-dynamic-form-textitem\r\n class=\"col-lg-6 col-12\"\r\n formControlName=\"description\"\r\n [label]=\"'department_management.form.Description'\"\r\n ></app-dynamic-form-textitem>\r\n <!-- <cts-dynamic-form-select-users\r\n class=\"col-lg-6 col-12\"\r\n formControlName=\"manager\"\r\n [bindValue]=\"\"\r\n [bindLabel]=\"\"\r\n [label]=\"'department_management.form.Manager'\"\r\n [deptTitle]=\"'all'\"\r\n [bindValue]=\"'properties.username'\"\r\n ></cts-dynamic-form-select-users> -->\r\n\r\n <cts-dynamic-form-slide-toggleitem *ngIf=\"data.displayIsAllowRecExternal\"\r\n class=\"col-lg-6 col-12 isAllowRecExternal\"\r\n formControlName=\"isAllowRecExternal\"\r\n [label]=\"'department_management.form.isAllowRecExternal'\"\r\n ></cts-dynamic-form-slide-toggleitem>\r\n </form>\r\n <div class=\"button-group d-flex flex-row-reverse\">\r\n <cts-button\r\n [theme]=\"'danger'\"\r\n size=\"'regular'\"\r\n class=\"voc-form-close\"\r\n mat-dialog-close\r\n >\r\n {{ \"BUTTONS.CLOSE\" | translate }}\r\n </cts-button>\r\n <cts-button\r\n *ngIf=\"!updateMode\"\r\n [loading]=\"loading\"\r\n size=\"'regular'\"\r\n [theme]=\"'primary'\"\r\n class=\"voc-form-submit\"\r\n (onClick)=\"save()\"\r\n [disabled]=\"departmentForm.invalid\"\r\n >\r\n {{ \"BUTTONS.SAVE\" | translate }}\r\n </cts-button>\r\n <cts-button\r\n *ngIf=\"updateMode\"\r\n [loading]=\"loading\"\r\n size=\"'regular'\"\r\n [theme]=\"'primary'\"\r\n class=\"voc-form-submit\"\r\n (onClick)=\"update()\"\r\n [disabled]=\"departmentForm.invalid\"\r\n >\r\n {{ \"BUTTONS.UPDATE\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.voc-form{padding:20px}.voc-form .hint-msg{font-size:12px;font-style:italic;margin-top:2px;color:#6a768e}.voc-form .voc-form-hedaer{margin-bottom:8px;font-size:20px;color:#465573}.voc-form .button-group{margin-top:12px;grid-column-gap:6px!important;column-gap:6px!important}.voc-form .button-group cts-button{width:16%}@media (max-width: 992px){.voc-form .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.voc-form .button-group cts-button{width:28%}}.voc-form .isAllowRecExternal{display:flex;align-items:center;margin-top:26px;overflow:hidden}@media only screen and (max-width: 768px){.voc-form .isAllowRecExternal{font-size:12px}}\n"], components: [{ type: i4.DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { type: i5.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i6.DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }, { type: i7.ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }], directives: [{ type: i8.SetDirRtlDirective, selector: "[SetDirRtl]" }, { type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i11.TranslatePipe } });
116
+ DepartmentFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DepartmentFormComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.CustomToastrService }, { token: i3.DepartmentApiService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
117
+ DepartmentFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DepartmentFormComponent, selector: "cts-department-form", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog\r\n\tdialogTitle=\"{{\r\n\t\t'department_management.form.' + (updateMode ? 'updateHeader' : 'header')\r\n\t\t\t| translate\r\n\t}}\"\r\n\tpanelClass=\"voc-form\"\r\n>\r\n\t<ng-template #contentTemplate>\r\n\t\t<form [formGroup]=\"departmentForm\" class=\"row voc-form-body\">\r\n\t\t\t<div class=\"col-lg-6 col-12\">\r\n\t\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\t\tformControlName=\"title\"\r\n\t\t\t\t\t[label]=\"'department_management.form.title'\"\r\n\t\t\t\t\t[disabled]=\"updateMode\"\r\n\t\t\t\t\t[preventSpace]=\"true\"\r\n\t\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t\t<div class=\"hint-msg\">\r\n\t\t\t\t\t{{ 'department_management.form.hintMsg' | translate }}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"arabicName\"\r\n\t\t\t\t[label]=\"'department_management.form.ArabicName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"englishName\"\r\n\t\t\t\t[label]=\"'department_management.form.EnglishName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-vocabulary-item\r\n\t\t\t\t*ngIf=\"data.displayDepTypee\"\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\t[label]=\"'department_management.form.deptTypee'\"\r\n\t\t\t\t[bindLabel]=\"'label'\"\r\n\t\t\t\t[bindValue]=\"'id'\"\r\n\t\t\t\tplaceholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t[searchable]=\"false\"\r\n\t\t\t\t[closeOnSelect]=\"true\"\r\n\t\t\t\t[hideSelectedItems]=\"false\"\r\n\t\t\t\t[vocabularyType]=\"'VOC_DepartmentType'\"\r\n\t\t\t\tformControlName=\"deptTypee\"\r\n\t\t\t>\r\n\t\t\t</app-dynamic-form-vocabulary-item>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"description\"\r\n\t\t\t\t[label]=\"'department_management.form.Description'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\r\n\t\t\t<cts-dynamic-form-slide-toggleitem\r\n\t\t\t\t*ngIf=\"data.displayIsAllowRecExternal\"\r\n\t\t\t\tclass=\"col-lg-6 col-12 isAllowRecExternal\"\r\n\t\t\t\tformControlName=\"isAllowRecExternal\"\r\n\t\t\t\t[label]=\"'department_management.form.isAllowRecExternal'\"\r\n\t\t\t></cts-dynamic-form-slide-toggleitem>\r\n\t\t</form>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<button\r\n\t\t\t(click)=\"dialog.executeAction(createDocument)\"\r\n\t\t\t[disabled]=\"\r\n\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\tfileForm.invalid\r\n\t\t\t\"\r\n\t\t\t[ngClass]=\"{\r\n\t\t\t\t'opacity-30 cursor-not-allowed':\r\n\t\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\t\tfileForm.invalid\r\n\t\t\t}\"\r\n\t\t\tclass=\"submission-button\"\r\n\t\t>\r\n\t\t\t{{\r\n\t\t\t\tuploadMangmentService?.scanCreationFailed\r\n\t\t\t\t\t? ('BUTTONS.TRY_AGAIN' | translate)\r\n\t\t\t\t\t: ('BUTTONS.CREATE' | translate)\r\n\t\t\t}}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"!updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(save)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.SAVE' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(update)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.UPDATE' | translate }}\r\n\t\t</button>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.voc-form{padding:20px}.voc-form .hint-msg{font-size:12px;font-style:italic;margin-top:2px;color:#6a768e}.voc-form .voc-form-hedaer{margin-bottom:8px;font-size:20px;color:#465573}.voc-form .button-group{margin-top:12px;grid-column-gap:6px!important;column-gap:6px!important}.voc-form .button-group cts-button{width:16%}@media (max-width: 992px){.voc-form .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.voc-form .button-group cts-button{width:28%}}.voc-form .isAllowRecExternal{display:flex;align-items:center;margin-top:26px;overflow:hidden}@media only screen and (max-width: 768px){.voc-form .isAllowRecExternal{font-size:12px}}\n"], components: [{ type: i4.NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "loaderMode"] }, { type: i5.DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { type: i6.DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues"], outputs: ["onSelecting"] }, { type: i7.DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }], directives: [{ type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i10.TranslatePipe } });
119
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DepartmentFormComponent, decorators: [{
120
119
  type: Component,
121
120
  args: [{
122
121
  selector: 'cts-department-form',
123
122
  templateUrl: './department-form.component.html',
124
- styleUrls: ['./department-form.component.scss'],
123
+ styleUrls: ['./department-form.component.scss']
125
124
  }]
126
125
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
127
126
  type: Inject,
128
127
  args: [MAT_DIALOG_DATA]
129
- }] }, { type: i1.MatDialogRef }, { type: i2.CustomToastrService }, { type: i3.DepartmentApiService }]; } });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZGVwYXJ0bWVudC1mb3JtL2RlcGFydG1lbnQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2RlcGFydG1lbnQtZm9ybS9kZXBhcnRtZW50LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWF6RSxNQUFNLE9BQU8sdUJBQXVCO0lBTWxDLFlBQ2tDLElBQUksRUFDN0IsU0FBZ0QsRUFDL0MsTUFBMkIsRUFDM0IsMkJBQWlEO1FBSHpCLFNBQUksR0FBSixJQUFJLENBQUE7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBdUM7UUFDL0MsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDM0IsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUFzQjtRQVQzRCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFTbkIsbUJBQWMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUM3QixLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsVUFBVSxD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dCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgVHJlZXZpZXdJdGVtIH0gZnJvbSAnbmd4LXRyZWV2aWV3JztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2RvY3VtZW50cy9zZXJ2aWNlcy9kb2N1bWVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRNYW5hZ2VtZW50U2VydmljZSB9IGZyb20gJy4uL2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50L3NlcnZpY2VzL2RlcGFydG1lbnQtbWFuYWdlbWVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGVwYXJ0bWVudEFwaVNlcnZpY2UgfSBmcm9tICcuLi9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC9zZXJ2aWNlcy9kZXBhcnRtZW50LWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy1kZXBhcnRtZW50LWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXBhcnRtZW50LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RlcGFydG1lbnQtZm9ybS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVwYXJ0bWVudEZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBkZXBJZDtcclxuICB1cGRhdGVNb2RlID0gZmFsc2U7XHJcbiAgZGVwQ29kZTtcclxuICBpdGVtOiBUcmVldmlld0l0ZW07XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGEsXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RGVwYXJ0bWVudEZvcm1Db21wb25lbnQ+LFxyXG4gICAgcHJpdmF0ZSB0b2FzdHI6IEN1c3RvbVRvYXN0clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRlcGFydG1lbnRNYW5hZ2VtZW50U2VydmljZTogRGVwYXJ0bWVudEFwaVNlcnZpY2UsXHJcbiAgKSB7IH1cclxuICBkZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgdGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5wYXR0ZXJuKG5ldyBSZWdFeHAoXCJeXFxcXFMqJFwiKSldKSxcclxuICAgIGFnZW5jeUNvZGU6IG5ldyBGb3JtQ29udHJvbCgndGRmJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBhcmFiaWNOYW1lOiBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBlbmdsaXNoTmFtZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgZGVwdFR5cGVlOnRoaXMuZGF0YS5kaXNwbGF5RGVwVHlwZWU/IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTpuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgICBkZXNjcmlwdGlvbjogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gICAgaXNBbGxvd1JlY0V4dGVybmFsOiBuZXcgRm9ybUNvbnRyb2woZmFsc2UpLFxyXG4gICAgLy8gbWFuYWdlcjogbmV3IEZvcm1Db250cm9sKG51bGwpLFxyXG4gIH0pO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVwSWQgPSB0aGlzLmRhdGEuZGVwSWQ7XHJcbiAgICB0aGlzLnVwZGF0ZU1vZGUgPSB0aGlzLmRhdGEudXBkYXRlTW9kZTtcclxuICAgIHRoaXMuZGVwQ29kZSA9IHRoaXMuZGF0YS5kZXBDb2RlO1xyXG4gICAgdGhpcy5pdGVtID0gdGhpcy5kYXRhLml0ZW07XHJcbiAgICBpZiAodGhpcy51cGRhdGVNb2RlKSB7XHJcbiAgICAgIHRoaXMuZ2V0RGVwYXJ0bWVudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZmlsdGVyTnVsbFZhbHVlcyhmb3JtVmFsdWUpIHtcclxuICAgIGNvbnN0IGZpbHRlcmVkID0ge307XHJcbiAgICBmb3IgKGxldCBrZXkgaW4gZm9ybVZhbHVlKSB7XHJcbiAgICAgIGlmIChmb3JtVmFsdWVba2V5XSkge1xyXG4gICAgICAgIGZpbHRlcmVkW2tleV0gPSBmb3JtVmFsdWVba2V5XTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpbHRlcmVkO1xyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGNvbnN0IGRlcE9iaiA9IHRoaXMuZmlsdGVyTnVsbFZhbHVlcyh0aGlzLmRlcGFydG1lbnRGb3JtLnZhbHVlKTtcclxuICAgIGlmICh0aGlzLmRlcElkID09PSAncm9vdCcpIHtcclxuICAgICAgdGhpcy5kZXBhcnRtZW50TWFuYWdlbWVudFNlcnZpY2UuY3JlYXRlRGVwYXJ0bWVudEluUm9vdChkZXBPYmopLnN1YnNjcmliZShcclxuICAgICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRydWUpO1xyXG4gICAgICAgICAgdGhpcy50b2FzdHIuc2hvdygnc3VjY2VzcycsICdzdWNjZXNzJywgJ3N1Y2Nlc3MnKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZmFsc2UpO1xyXG4gICAgICAgICAgdGhpcy50b2FzdHIuc2hvdygnZXJyb3InLCAnZXJyb3InLFxyXG4gICAgICAgICAgICBlcnIucmV0Lm1lc3NhZ2UgP1xyXG4gICAgICAgICAgICAgIGBlcnJvcnMuJHtlcnIucmV0LmNvZGV9YFxyXG4gICAgICAgICAgICAgIDogJ2dlbmVyaWNFcnJvcicpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGVwYXJ0bWVudE1hbmFnZW1lbnRTZXJ2aWNlXHJcbiAgICAgICAgLmNyZWF0ZURlcGFydG1lbnQoZGVwT2JqLCB0aGlzLmRlcElkKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy50b2FzdHIuc2hvdygnc3VjY2VzcycsICdzdWNjZXNzJywgJ3N1Y2Nlc3MnKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ci5zaG93KCdlcnJvcicsICdlcnJvcicsXHJcbiAgICAgICAgICAgICAgZXJyLnJldC5tZXNzYWdlID9cclxuICAgICAgICAgICAgICAgIGBlcnJvcnMuJHtlcnIucmV0LmNvZGV9YFxyXG4gICAgICAgICAgICAgICAgOiAnZ2VuZXJpY0Vycm9yJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgZGVwYXJ0bWVudEZvcm1Qb3B1bGF0ZShkZXBhcnRtZW50KSB7XHJcbiAgICB0aGlzLmRlcGFydG1lbnRGb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICB0aXRsZTogZGVwYXJ0bWVudC50aXRsZSxcclxuICAgICAgYXJhYmljTmFtZTogZGVwYXJ0bWVudC5hcmFiaWNOYW1lLFxyXG4gICAgICBlbmdsaXNoTmFtZTogZGVwYXJ0bWVudC5lbmdsaXNoTmFtZSxcclxuICAgICAgZGVwdFR5cGVlOiBkZXBhcnRtZW50LmRlcHRUeXBlZSxcclxuICAgICAgZGVzY3JpcHRpb246IGRlcGFydG1lbnQuZGVzY3JpcHRpb24sXHJcbiAgICAgIGlzQWxsb3dSZWNFeHRlcm5hbDogZGVwYXJ0bWVudC5pc0FsbG93UmVjRXh0ZXJuYWwsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0RGVwYXJ0bWVudCgpIHtcclxuICAgIHRoaXMuZGVwYXJ0bWVudE1hbmFnZW1lbnRTZXJ2aWNlXHJcbiAgICAgIC5nZXREZXBhcnRtZW50KHRoaXMuZGVwSWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuZGVwYXJ0bWVudEZvcm1Qb3B1bGF0ZShyZXMucHJvcGVydGllcyk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICB1cGRhdGUoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5kZXBhcnRtZW50TWFuYWdlbWVudFNlcnZpY2VcclxuICAgICAgLnVwZGF0ZURlcGFydG1lbnQodGhpcy5kZXBhcnRtZW50Rm9ybS52YWx1ZSwgdGhpcy5kZXBJZClcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRydWUpO1xyXG4gICAgICAgICAgdGhpcy50b2FzdHIuc2hvdygnc3VjY2VzcycsICdzdWNjZXNzJywgJ3N1Y2Nlc3MnKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy50b2FzdHIuc2hvdygnZXJyb3InLCAnZXJyb3InLFxyXG4gICAgICAgICAgICBlcnIucmV0Lm1lc3NhZ2UgP1xyXG4gICAgICAgICAgICAgIGBlcnJvcnMuJHtlcnIucmV0LmNvZGV9YFxyXG4gICAgICAgICAgICAgIDogJ2dlbmVyaWNFcnJvcicpO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBTZXREaXJSdGwgY2xhc3M9XCJ2b2MtZm9ybVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ2b2MtZm9ybS1oZWRhZXJcIj5cclxuICAgIHt7XHJcbiAgICAgIFwiZGVwYXJ0bWVudF9tYW5hZ2VtZW50LmZvcm0uXCIgKyAodXBkYXRlTW9kZSA/IFwidXBkYXRlSGVhZGVyXCIgOiBcImhlYWRlclwiKVxyXG4gICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICB9fVxyXG4gIDwvZGl2PlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZGVwYXJ0bWVudEZvcm1cIiBjbGFzcz1cInJvdyB2b2MtZm9ybS1ib2R5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTYgY29sLTEyXCI+XHJcbiAgICAgIDxhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtXHJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIlxyXG4gICAgICAgIFtsYWJlbF09XCInZGVwYXJ0bWVudF9tYW5hZ2VtZW50LmZvcm0udGl0bGUnXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwidXBkYXRlTW9kZVwiXHJcbiAgICAgICAgW3ByZXZlbnRTcGFjZV09XCJ0cnVlXCJcclxuICAgICAgPjwvYXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbT5cclxuICAgICAgPGRpdiBjbGFzcz1cImhpbnQtbXNnXCI+e3sgXCJkZXBhcnRtZW50X21hbmFnZW1lbnQuZm9ybS5oaW50TXNnXCIgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbVxyXG4gICAgICBjbGFzcz1cImNvbC1sZy02IGNvbC0xMlwiXHJcbiAgICAgIGZvcm1Db250cm9sTmFtZT1cImFnZW5jeUNvZGVcIlxyXG4gICAgICBbbGFiZWxdPVwiJ2RlcGFydG1lbnRfbWFuYWdlbWVudC5mb3JtLkFnZW5jeUNvZGUnXCJcclxuICAgID48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+IC0tPlxyXG4gICAgPGFwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW1cclxuICAgICAgY2xhc3M9XCJjb2wtbGctNiBjb2wtMTJcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJhcmFiaWNOYW1lXCJcclxuICAgICAgW2xhYmVsXT1cIidkZXBhcnRtZW50X21hbmFnZW1lbnQuZm9ybS5BcmFiaWNOYW1lJ1wiXHJcbiAgICA+PC9hcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtPlxyXG4gICAgPGFwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW1cclxuICAgICAgY2xhc3M9XCJjb2wtbGctNiBjb2wtMTJcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJlbmdsaXNoTmFtZVwiXHJcbiAgICAgIFtsYWJlbF09XCInZGVwYXJ0bWVudF9tYW5hZ2VtZW50LmZvcm0uRW5nbGlzaE5hbWUnXCJcclxuICAgID48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAgICA8YXBwLWR5bmFtaWMtZm9ybS12b2NhYnVsYXJ5LWl0ZW0gKm5nSWY9XCJkYXRhLmRpc3BsYXlEZXBUeXBlZVwiXHJcbiAgICAgIGNsYXNzPVwiY29sLWxnLTYgY29sLTEyXCJcclxuICAgICAgW2xhYmVsXT1cIidkZXBhcnRtZW50X21hbmFnZW1lbnQuZm9ybS5kZXB0VHlwZWUnXCJcclxuICAgICAgW2JpbmRMYWJlbF09XCInbGFiZWwnXCJcclxuICAgICAgW2JpbmRWYWx1ZV09XCInaWQnXCJcclxuICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnVk9DQUJVTEFSWS5TRUxFQ1RfSVRFTScgfCB0cmFuc2xhdGUgfX1cIlxyXG4gICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxyXG4gICAgICBbc2VhcmNoYWJsZV09XCJmYWxzZVwiXHJcbiAgICAgIFtjbG9zZU9uU2VsZWN0XT1cInRydWVcIlxyXG4gICAgICBbaGlkZVNlbGVjdGVkSXRlbXNdPVwiZmFsc2VcIlxyXG4gICAgICBbdm9jYWJ1bGFyeVR5cGVdPVwiJ1ZPQ19EZXBhcnRtZW50VHlwZSdcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXB0VHlwZWVcIlxyXG4gICAgPlxyXG4gICAgPC9hcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbT5cclxuICAgIDxhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtXHJcbiAgICAgIGNsYXNzPVwiY29sLWxnLTYgY29sLTEyXCJcclxuICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxyXG4gICAgICBbbGFiZWxdPVwiJ2RlcGFydG1lbnRfbWFuYWdlbWVudC5mb3JtLkRlc2NyaXB0aW9uJ1wiXHJcbiAgICA+PC9hcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtPlxyXG4gICAgPCEtLSA8Y3RzLWR5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnNcclxuICAgICAgY2xhc3M9XCJjb2wtbGctNiBjb2wtMTJcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJtYW5hZ2VyXCJcclxuICAgICAgW2JpbmRWYWx1ZV09XCJcIlxyXG4gICAgICBbYmluZExhYmVsXT1cIlwiXHJcbiAgICAgIFtsYWJlbF09XCInZGVwYXJ0bWVudF9tYW5hZ2VtZW50LmZvcm0uTWFuYWdlcidcIlxyXG4gICAgICBbZGVwdFRpdGxlXT1cIidhbGwnXCJcclxuICAgICAgW2JpbmRWYWx1ZV09XCIncHJvcGVydGllcy51c2VybmFtZSdcIlxyXG4gICAgPjwvY3RzLWR5bmFtaWMtZm9ybS1zZWxlY3QtdXNlcnM+IC0tPlxyXG5cclxuICAgIDxjdHMtZHluYW1pYy1mb3JtLXNsaWRlLXRvZ2dsZWl0ZW0gKm5nSWY9XCJkYXRhLmRpc3BsYXlJc0FsbG93UmVjRXh0ZXJuYWxcIlxyXG4gICAgICBjbGFzcz1cImNvbC1sZy02IGNvbC0xMiBpc0FsbG93UmVjRXh0ZXJuYWxcIlxyXG4gICAgICBmb3JtQ29udHJvbE5hbWU9XCJpc0FsbG93UmVjRXh0ZXJuYWxcIlxyXG4gICAgICBbbGFiZWxdPVwiJ2RlcGFydG1lbnRfbWFuYWdlbWVudC5mb3JtLmlzQWxsb3dSZWNFeHRlcm5hbCdcIlxyXG4gICAgPjwvY3RzLWR5bmFtaWMtZm9ybS1zbGlkZS10b2dnbGVpdGVtPlxyXG4gIDwvZm9ybT5cclxuICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyb3VwIGQtZmxleCBmbGV4LXJvdy1yZXZlcnNlXCI+XHJcbiAgICA8Y3RzLWJ1dHRvblxyXG4gICAgICBbdGhlbWVdPVwiJ2RhbmdlcidcIlxyXG4gICAgICBzaXplPVwiJ3JlZ3VsYXInXCJcclxuICAgICAgY2xhc3M9XCJ2b2MtZm9ybS1jbG9zZVwiXHJcbiAgICAgIG1hdC1kaWFsb2ctY2xvc2VcclxuICAgID5cclxuICAgICAge3sgXCJCVVRUT05TLkNMT1NFXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvY3RzLWJ1dHRvbj5cclxuICAgIDxjdHMtYnV0dG9uXHJcbiAgICAgICpuZ0lmPVwiIXVwZGF0ZU1vZGVcIlxyXG4gICAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICAgICAgc2l6ZT1cIidyZWd1bGFyJ1wiXHJcbiAgICAgIFt0aGVtZV09XCIncHJpbWFyeSdcIlxyXG4gICAgICBjbGFzcz1cInZvYy1mb3JtLXN1Ym1pdFwiXHJcbiAgICAgIChvbkNsaWNrKT1cInNhdmUoKVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkZXBhcnRtZW50Rm9ybS5pbnZhbGlkXCJcclxuICAgID5cclxuICAgICAge3sgXCJCVVRUT05TLlNBVkVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9jdHMtYnV0dG9uPlxyXG4gICAgPGN0cy1idXR0b25cclxuICAgICAgKm5nSWY9XCJ1cGRhdGVNb2RlXCJcclxuICAgICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgICAgIHNpemU9XCIncmVndWxhcidcIlxyXG4gICAgICBbdGhlbWVdPVwiJ3ByaW1hcnknXCJcclxuICAgICAgY2xhc3M9XCJ2b2MtZm9ybS1zdWJtaXRcIlxyXG4gICAgICAob25DbGljayk9XCJ1cGRhdGUoKVwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkZXBhcnRtZW50Rm9ybS5pbnZhbGlkXCJcclxuICAgID5cclxuICAgICAge3sgXCJCVVRUT05TLlVQREFURVwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICA8L2N0cy1idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
128
+ }] }, { type: i1.MatDialogRef }, { type: i2.CustomToastrService }, { type: i3.DepartmentApiService }, { type: i0.Injector }]; } });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZGVwYXJ0bWVudC1mb3JtL2RlcGFydG1lbnQtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2RlcGFydG1lbnQtZm9ybS9kZXBhcnRtZW50LWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BFLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMERBQTBELENBQUM7Ozs7Ozs7Ozs7OztBQU0vRixNQUFNLE9BQU8sdUJBQ1osU0FBUSxtQkFBc0Q7SUFPOUQsWUFDaUMsSUFBSSxFQUM3QixTQUFnRCxFQUMvQyxNQUEyQixFQUMzQiwyQkFBaUQsRUFDekQsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBTmdCLFNBQUksR0FBSixJQUFJLENBQUE7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBdUM7UUFDL0MsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFDM0IsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUFzQjtRQVAxRCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBWW5CLG1CQUFj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QVMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDO2lCQUMvQzs7MEJBVUUsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBUcmVldmlld0l0ZW0gfSBmcm9tICduZ3gtdHJlZXZpZXcnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZXBhcnRtZW50QXBpU2VydmljZSB9IGZyb20gJy4uL2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50L3NlcnZpY2VzL2RlcGFydG1lbnQtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvYmFzZS9iYXNlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2N0cy1kZXBhcnRtZW50LWZvcm0nLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9kZXBhcnRtZW50LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsczogWycuL2RlcGFydG1lbnQtZm9ybS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBhcnRtZW50Rm9ybUNvbXBvbmVudFxyXG5cdGV4dGVuZHMgQmFzZURpYWxvZ0NvbXBvbmVudDxEZXBhcnRtZW50Rm9ybUNvbXBvbmVudCwgYW55LCBhbnk+XHJcblx0aW1wbGVtZW50cyBPbkluaXRcclxue1xyXG5cdGRlcElkO1xyXG5cdHVwZGF0ZU1vZGUgPSBmYWxzZTtcclxuXHRkZXBDb2RlO1xyXG5cdGl0ZW06IFRyZWV2aWV3SXRlbTtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YSxcclxuXHRcdHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEZXBhcnRtZW50Rm9ybUNvbXBvbmVudD4sXHJcblx0XHRwcml2YXRlIHRvYXN0cjogQ3VzdG9tVG9hc3RyU2VydmljZSxcclxuXHRcdHByaXZhdGUgZGVwYXJ0bWVudE1hbmFnZW1lbnRTZXJ2aWNlOiBEZXBhcnRtZW50QXBpU2VydmljZSxcclxuXHRcdGluamVjdG9yOiBJbmplY3RvclxyXG5cdCkge1xyXG5cdFx0c3VwZXIoaW5qZWN0b3IpO1xyXG5cdH1cclxuXHRkZXBhcnRtZW50Rm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG5cdFx0dGl0bGU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBbXHJcblx0XHRcdFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcblx0XHRcdFZhbGlkYXRvcnMucGF0dGVybihuZXcgUmVnRXhwKCdeXFxcXFMqJCcpKVxyXG5cdFx0XSksXHJcblx0XHRhZ2VuY3lDb2RlOiBuZXcgRm9ybUNvbnRyb2woJ3RkZicsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG5cdFx0YXJhYmljTmFtZTogbmV3IEZvcm1Db250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG5cdFx0ZW5nbGlzaE5hbWU6IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuXHRcdGRlcHRUeXBlZTogdGhpcy5kYXRhLmRpc3BsYXlEZXBUeXBlZVxyXG5cdFx0XHQ/IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG5cdFx0XHQ6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuXHRcdGRlc2NyaXB0aW9uOiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcblx0XHRpc0FsbG93UmVjRXh0ZXJuYWw6IG5ldyBGb3JtQ29udHJvbChmYWxzZSlcclxuXHRcdC8vIG1hbmFnZXI6IG5ldyBGb3JtQ29udHJvbChudWxsKSxcclxuXHR9KTtcclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmRlcElkID0gdGhpcy5kYXRhLmRlcElkO1xyXG5cdFx0dGhpcy51cGRhdGVNb2RlID0gdGhpcy5kYXRhLnVwZGF0ZU1vZGU7XHJcblx0XHR0aGlzLmRlcENvZGUgPSB0aGlzLmRhdGEuZGVwQ29kZTtcclxuXHRcdHRoaXMuaXRlbSA9IHRoaXMuZGF0YS5pdGVtO1xyXG5cdFx0aWYgKHRoaXMudXBkYXRlTW9kZSkge1xyXG5cdFx0XHR0aGlzLmdldERlcGFydG1lbnQoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGZpbHRlck51bGxWYWx1ZXMoZm9ybVZhbHVlKSB7XHJcblx0XHRjb25zdCBmaWx0ZXJlZCA9IHt9O1xyXG5cdFx0Zm9yIChsZXQga2V5IGluIGZvcm1WYWx1ZSkge1xyXG5cdFx0XHRpZiAoZm9ybVZhbHVlW2tleV0pIHtcclxuXHRcdFx0XHRmaWx0ZXJlZFtrZXldID0gZm9ybVZhbHVlW2tleV07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiBmaWx0ZXJlZDtcclxuXHR9XHJcblx0c2F2ZSgpIHtcclxuXHRcdHRoaXMubG9hZGluZyA9IHRydWU7XHJcblx0XHRjb25zdCBkZXBPYmogPSB0aGlzLmZpbHRlck51bGxWYWx1ZXModGhpcy5kZXBhcnRtZW50Rm9ybS52YWx1ZSk7XHJcblx0XHRpZiAodGhpcy5kZXBJZCA9PT0gJ3Jvb3QnKSB7XHJcblx0XHRcdHRoaXMuZGVwYXJ0bWVudE1hbmFnZW1lbnRTZXJ2aWNlLmNyZWF0ZURlcGFydG1lbnRJblJvb3QoZGVwT2JqKS5zdWJzY3JpYmUoXHJcblx0XHRcdFx0KHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0XHR0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcclxuXHRcdFx0XHRcdHRoaXMudG9hc3RyLnNob3coJ3N1Y2Nlc3MnLCAnc3VjY2VzcycsICdzdWNjZXNzJyk7XHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcclxuXHRcdFx0XHRcdHRoaXMudG9hc3RyLnNob3coXHJcblx0XHRcdFx0XHRcdCdlcnJvcicsXHJcblx0XHRcdFx0XHRcdCdlcnJvcicsXHJcblx0XHRcdFx0XHRcdGVyci5yZXQubWVzc2FnZSA/IGBlcnJvcnMuJHtlcnIucmV0LmNvZGV9YCA6ICdnZW5lcmljRXJyb3InXHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMuZGVwYXJ0bWVudE1hbmFnZW1lbnRTZXJ2aWNlXHJcblx0XHRcdFx0LmNyZWF0ZURlcGFydG1lbnQoZGVwT2JqLCB0aGlzLmRlcElkKVxyXG5cdFx0XHRcdC5zdWJzY3JpYmUoXHJcblx0XHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcclxuXHRcdFx0XHRcdFx0dGhpcy50b2FzdHIuc2hvdygnc3VjY2VzcycsICdzdWNjZXNzJywgJ3N1Y2Nlc3MnKTtcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRvYXN0ci5zaG93KFxyXG5cdFx0XHRcdFx0XHRcdCdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0J2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0XHRlcnIucmV0Lm1lc3NhZ2UgPyBgZXJyb3JzLiR7ZXJyLnJldC5jb2RlfWAgOiAnZ2VuZXJpY0Vycm9yJ1xyXG5cdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdGRlcGFydG1lbnRGb3JtUG9wdWxhdGUoZGVwYXJ0bWVudCkge1xyXG5cdFx0dGhpcy5kZXBhcnRtZW50Rm9ybS5wYXRjaFZhbHVlKHtcclxuXHRcdFx0dGl0bGU6IGRlcGFydG1lbnQudGl0bGUsXHJcblx0XHRcdGFyYWJpY05hbWU6IGRlcGFydG1lbnQuYXJhYmljTmFtZSxcclxuXHRcdFx0ZW5nbGlzaE5hbWU6IGRlcGFydG1lbnQuZW5nbGlzaE5hbWUsXHJcblx0XHRcdGRlcHRUeXBlZTogZGVwYXJ0bWVudC5kZXB0VHlwZWUsXHJcblx0XHRcdGRlc2NyaXB0aW9uOiBkZXBhcnRtZW50LmRlc2NyaXB0aW9uLFxyXG5cdFx0XHRpc0FsbG93UmVjRXh0ZXJuYWw6IGRlcGFydG1lbnQuaXNBbGxvd1JlY0V4dGVybmFsXHJcblx0XHR9KTtcclxuXHR9XHJcblx0Z2V0RGVwYXJ0bWVudCgpIHtcclxuXHRcdHRoaXMuZGVwYXJ0bWVudE1hbmFnZW1lbnRTZXJ2aWNlXHJcblx0XHRcdC5nZXREZXBhcnRtZW50KHRoaXMuZGVwSWQpXHJcblx0XHRcdC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG5cdFx0XHRcdHRoaXMuZGVwYXJ0bWVudEZvcm1Qb3B1bGF0ZShyZXMucHJvcGVydGllcyk7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHR1cGRhdGUoKSB7XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0dGhpcy5kZXBhcnRtZW50TWFuYWdlbWVudFNlcnZpY2VcclxuXHRcdFx0LnVwZGF0ZURlcGFydG1lbnQodGhpcy5kZXBhcnRtZW50Rm9ybS52YWx1ZSwgdGhpcy5kZXBJZClcclxuXHRcdFx0LnN1YnNjcmliZShcclxuXHRcdFx0XHQocmVzKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRydWUpO1xyXG5cdFx0XHRcdFx0dGhpcy50b2FzdHIuc2hvdygnc3VjY2VzcycsICdzdWNjZXNzJywgJ3N1Y2Nlc3MnKTtcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdChlcnIpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0dGhpcy50b2FzdHIuc2hvdyhcclxuXHRcdFx0XHRcdFx0J2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0J2Vycm9yJyxcclxuXHRcdFx0XHRcdFx0ZXJyLnJldC5tZXNzYWdlID8gYGVycm9ycy4ke2Vyci5yZXQuY29kZX1gIDogJ2dlbmVyaWNFcnJvcidcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQpO1xyXG5cdH1cclxufVxyXG4iLCI8bmRmLW51eGVvLWRpYWxvZ1xyXG5cdGRpYWxvZ1RpdGxlPVwie3tcclxuXHRcdCdkZXBhcnRtZW50X21hbmFnZW1lbnQuZm9ybS4nICsgKHVwZGF0ZU1vZGUgPyAndXBkYXRlSGVhZGVyJyA6ICdoZWFkZXInKVxyXG5cdFx0XHR8IHRyYW5zbGF0ZVxyXG5cdH19XCJcclxuXHRwYW5lbENsYXNzPVwidm9jLWZvcm1cIlxyXG4+XHJcblx0PG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+XHJcblx0XHQ8Zm9ybSBbZm9ybUdyb3VwXT1cImRlcGFydG1lbnRGb3JtXCIgY2xhc3M9XCJyb3cgdm9jLWZvcm0tYm9keVwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWxnLTYgY29sLTEyXCI+XHJcblx0XHRcdFx0PGFwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW1cclxuXHRcdFx0XHRcdGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCJcclxuXHRcdFx0XHRcdFtsYWJlbF09XCInZGVwYXJ0bWVudF9tYW5hZ2VtZW50LmZvcm0udGl0bGUnXCJcclxuXHRcdFx0XHRcdFtkaXNhYmxlZF09XCJ1cGRhdGVNb2RlXCJcclxuXHRcdFx0XHRcdFtwcmV2ZW50U3BhY2VdPVwidHJ1ZVwiXHJcblx0XHRcdFx0PjwvYXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbT5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiaGludC1tc2dcIj5cclxuXHRcdFx0XHRcdHt7ICdkZXBhcnRtZW50X21hbmFnZW1lbnQuZm9ybS5oaW50TXNnJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PGFwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW1cclxuXHRcdFx0XHRjbGFzcz1cImNvbC1sZy02IGNvbC0xMlwiXHJcblx0XHRcdFx0Zm9ybUNvbnRyb2xOYW1lPVwiYXJhYmljTmFtZVwiXHJcblx0XHRcdFx0W2xhYmVsXT1cIidkZXBhcnRtZW50X21hbmFnZW1lbnQuZm9ybS5BcmFiaWNOYW1lJ1wiXHJcblx0XHRcdD48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcblx0XHRcdDxhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtXHJcblx0XHRcdFx0Y2xhc3M9XCJjb2wtbGctNiBjb2wtMTJcIlxyXG5cdFx0XHRcdGZvcm1Db250cm9sTmFtZT1cImVuZ2xpc2hOYW1lXCJcclxuXHRcdFx0XHRbbGFiZWxdPVwiJ2RlcGFydG1lbnRfbWFuYWdlbWVudC5mb3JtLkVuZ2xpc2hOYW1lJ1wiXHJcblx0XHRcdD48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcblx0XHRcdDxhcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbVxyXG5cdFx0XHRcdCpuZ0lmPVwiZGF0YS5kaXNwbGF5RGVwVHlwZWVcIlxyXG5cdFx0XHRcdGNsYXNzPVwiY29sLWxnLTYgY29sLTEyXCJcclxuXHRcdFx0XHRbbGFiZWxdPVwiJ2RlcGFydG1lbnRfbWFuYWdlbWVudC5mb3JtLmRlcHRUeXBlZSdcIlxyXG5cdFx0XHRcdFtiaW5kTGFiZWxdPVwiJ2xhYmVsJ1wiXHJcblx0XHRcdFx0W2JpbmRWYWx1ZV09XCInaWQnXCJcclxuXHRcdFx0XHRwbGFjZWhvbGRlcj1cInt7ICdWT0NBQlVMQVJZLlNFTEVDVF9JVEVNJyB8IHRyYW5zbGF0ZSB9fVwiXHJcblx0XHRcdFx0W211bHRpcGxlXT1cImZhbHNlXCJcclxuXHRcdFx0XHRbc2VhcmNoYWJsZV09XCJmYWxzZVwiXHJcblx0XHRcdFx0W2Nsb3NlT25TZWxlY3RdPVwidHJ1ZVwiXHJcblx0XHRcdFx0W2hpZGVTZWxlY3RlZEl0ZW1zXT1cImZhbHNlXCJcclxuXHRcdFx0XHRbdm9jYWJ1bGFyeVR5cGVdPVwiJ1ZPQ19EZXBhcnRtZW50VHlwZSdcIlxyXG5cdFx0XHRcdGZvcm1Db250cm9sTmFtZT1cImRlcHRUeXBlZVwiXHJcblx0XHRcdD5cclxuXHRcdFx0PC9hcHAtZHluYW1pYy1mb3JtLXZvY2FidWxhcnktaXRlbT5cclxuXHRcdFx0PGFwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW1cclxuXHRcdFx0XHRjbGFzcz1cImNvbC1sZy02IGNvbC0xMlwiXHJcblx0XHRcdFx0Zm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIlxyXG5cdFx0XHRcdFtsYWJlbF09XCInZGVwYXJ0bWVudF9tYW5hZ2VtZW50LmZvcm0uRGVzY3JpcHRpb24nXCJcclxuXHRcdFx0PjwvYXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbT5cclxuXHJcblx0XHRcdDxjdHMtZHluYW1pYy1mb3JtLXNsaWRlLXRvZ2dsZWl0ZW1cclxuXHRcdFx0XHQqbmdJZj1cImRhdGEuZGlzcGxheUlzQWxsb3dSZWNFeHRlcm5hbFwiXHJcblx0XHRcdFx0Y2xhc3M9XCJjb2wtbGctNiBjb2wtMTIgaXNBbGxvd1JlY0V4dGVybmFsXCJcclxuXHRcdFx0XHRmb3JtQ29udHJvbE5hbWU9XCJpc0FsbG93UmVjRXh0ZXJuYWxcIlxyXG5cdFx0XHRcdFtsYWJlbF09XCInZGVwYXJ0bWVudF9tYW5hZ2VtZW50LmZvcm0uaXNBbGxvd1JlY0V4dGVybmFsJ1wiXHJcblx0XHRcdD48L2N0cy1keW5hbWljLWZvcm0tc2xpZGUtdG9nZ2xlaXRlbT5cclxuXHRcdDwvZm9ybT5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHQ8bmctdGVtcGxhdGUgI2FjdGlvbnNUZW1wbGF0ZSBsZXQtZGlhbG9nPVwiZGlhbG9nXCI+XHJcblx0XHQ8YnV0dG9uXHJcblx0XHRcdChjbGljayk9XCJkaWFsb2cuZXhlY3V0ZUFjdGlvbihjcmVhdGVEb2N1bWVudClcIlxyXG5cdFx0XHRbZGlzYWJsZWRdPVwiXHJcblx0XHRcdFx0c2Nhbm5lclVwbG9hZEJ1dHRvbj8uZGlzYWJsZWQgfHxcclxuXHRcdFx0XHQhc2VsZWN0ZWRGaWxlPy5keW5hbWljRGF0YS52YWxpZCB8fFxyXG5cdFx0XHRcdGZpbGVGb3JtLmludmFsaWRcclxuXHRcdFx0XCJcclxuXHRcdFx0W25nQ2xhc3NdPVwie1xyXG5cdFx0XHRcdCdvcGFjaXR5LTMwIGN1cnNvci1ub3QtYWxsb3dlZCc6XHJcblx0XHRcdFx0XHRzY2FubmVyVXBsb2FkQnV0dG9uPy5kaXNhYmxlZCB8fFxyXG5cdFx0XHRcdFx0IXNlbGVjdGVkRmlsZT8uZHluYW1pY0RhdGEudmFsaWQgfHxcclxuXHRcdFx0XHRcdGZpbGVGb3JtLmludmFsaWRcclxuXHRcdFx0fVwiXHJcblx0XHRcdGNsYXNzPVwic3VibWlzc2lvbi1idXR0b25cIlxyXG5cdFx0PlxyXG5cdFx0XHR7e1xyXG5cdFx0XHRcdHVwbG9hZE1hbmdtZW50U2VydmljZT8uc2NhbkNyZWF0aW9uRmFpbGVkXHJcblx0XHRcdFx0XHQ/ICgnQlVUVE9OUy5UUllfQUdBSU4nIHwgdHJhbnNsYXRlKVxyXG5cdFx0XHRcdFx0OiAoJ0JVVFRPTlMuQ1JFQVRFJyB8IHRyYW5zbGF0ZSlcclxuXHRcdFx0fX1cclxuXHRcdDwvYnV0dG9uPlxyXG5cclxuXHRcdDxidXR0b25cclxuXHRcdFx0Km5nSWY9XCIhdXBkYXRlTW9kZVwiXHJcblx0XHRcdChjbGljayk9XCJkaWFsb2cuZXhlY3V0ZUFjdGlvbihzYXZlKVwiXHJcblx0XHRcdFtkaXNhYmxlZF09XCJkZXBhcnRtZW50Rm9ybS5pbnZhbGlkXCJcclxuXHRcdFx0Y2xhc3M9XCJ2b2MtZm9ybS1zdWJtaXRcIlxyXG5cdFx0PlxyXG5cdFx0XHR7eyAnQlVUVE9OUy5TQVZFJyB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9idXR0b24+XHJcblxyXG5cdFx0PGJ1dHRvblxyXG5cdFx0XHQqbmdJZj1cInVwZGF0ZU1vZGVcIlxyXG5cdFx0XHQoY2xpY2spPVwiZGlhbG9nLmV4ZWN1dGVBY3Rpb24odXBkYXRlKVwiXHJcblx0XHRcdFtkaXNhYmxlZF09XCJkZXBhcnRtZW50Rm9ybS5pbnZhbGlkXCJcclxuXHRcdFx0Y2xhc3M9XCJ2b2MtZm9ybS1zdWJtaXRcIlxyXG5cdFx0PlxyXG5cdFx0XHR7eyAnQlVUVE9OUy5VUERBVEUnIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2J1dHRvbj5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG48L25kZi1udXhlby1kaWFsb2c+XHJcbiJdfQ==