nuxeo-development-framework 6.1.0 → 6.1.2

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 (881) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +2091 -1569
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/activities-log/activities-log/activities-log.component.js +1 -1
  4. package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +1 -1
  5. package/esm2015/lib/components/activities-log/activities-log.module.js +1 -1
  6. package/esm2015/lib/components/activity/activity/activity.component.js +1 -1
  7. package/esm2015/lib/components/activity/activity.module.js +1 -1
  8. package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +2 -2
  9. package/esm2015/lib/components/attachment-item/attachment-item.module.js +1 -1
  10. package/esm2015/lib/components/attachment-modal/attachment-modal.module.js +1 -1
  11. package/esm2015/lib/components/attachment-modal/attachments/attachments.component.js +1 -1
  12. package/esm2015/lib/components/avatar/avatar/avatar.component.js +1 -1
  13. package/esm2015/lib/components/avatar/avatar.module.js +1 -1
  14. package/esm2015/lib/components/card/card.component.js +1 -1
  15. package/esm2015/lib/components/card/card.module.js +1 -1
  16. package/esm2015/lib/components/comments/comments.module.js +1 -1
  17. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +2 -2
  18. package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +1 -1
  19. package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +1 -1
  20. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +1 -1
  21. package/esm2015/lib/components/comments/constants/comment.js +1 -1
  22. package/esm2015/lib/components/comments/services/comment-api.service.js +1 -1
  23. package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +1 -1
  24. package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +1 -1
  25. package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +1 -1
  26. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.js +1 -1
  27. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog.module.js +1 -1
  28. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +1 -1
  29. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +1 -1
  30. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +2 -2
  31. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +1 -1
  32. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +1 -1
  33. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +1 -1
  34. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +1 -1
  35. package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +1 -1
  36. package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +1 -1
  37. package/esm2015/lib/components/create-entity/create-entity.module.js +1 -1
  38. package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +2 -2
  39. package/esm2015/lib/components/cts-tags/cts-tags.module.js +1 -1
  40. package/esm2015/lib/components/cts-tags/services/tags-api.service.js +1 -1
  41. package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +1 -1
  42. package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +1 -1
  43. package/esm2015/lib/components/custom-toastr/interfaces/toast-type.interface.js +1 -1
  44. package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +1 -1
  45. package/esm2015/lib/components/diagrams/components/base-node.component.js +1 -1
  46. package/esm2015/lib/components/diagrams/components/circle-node/circle-node.component.js +1 -1
  47. package/esm2015/lib/components/diagrams/components/connection-label.component.js +1 -1
  48. package/esm2015/lib/components/diagrams/components/content-node/content-node.component.js +1 -1
  49. package/esm2015/lib/components/diagrams/components/custom-connection.component.js +1 -1
  50. package/esm2015/lib/components/diagrams/components/custom-socket.component.js +1 -1
  51. package/esm2015/lib/components/diagrams/components/gateway-node/gateway-node.component.js +1 -1
  52. package/esm2015/lib/components/diagrams/components/gateway-ports.component.js +1 -1
  53. package/esm2015/lib/components/diagrams/components/index.js +1 -1
  54. package/esm2015/lib/components/diagrams/components/node-icon.component.js +1 -1
  55. package/esm2015/lib/components/diagrams/components/node-inputs.component.js +1 -1
  56. package/esm2015/lib/components/diagrams/components/node-outputs.component.js +1 -1
  57. package/esm2015/lib/components/diagrams/components/node-ports.component.js +1 -1
  58. package/esm2015/lib/components/diagrams/components/remove-button.component.js +1 -1
  59. package/esm2015/lib/components/diagrams/components/status-icon.component.js +1 -1
  60. package/esm2015/lib/components/diagrams/components/template-node/template-node.component.js +1 -1
  61. package/esm2015/lib/components/diagrams/components/zoom-control.component.js +1 -1
  62. package/esm2015/lib/components/diagrams/constants/defaults.js +1 -1
  63. package/esm2015/lib/components/diagrams/constants/direction.js +1 -1
  64. package/esm2015/lib/components/diagrams/constants/index.js +1 -1
  65. package/esm2015/lib/components/diagrams/constants/message-type.js +1 -1
  66. package/esm2015/lib/components/diagrams/constants/node-type.js +1 -1
  67. package/esm2015/lib/components/diagrams/constants/notify-events.js +1 -1
  68. package/esm2015/lib/components/diagrams/constants/sizes.js +1 -1
  69. package/esm2015/lib/components/diagrams/constants/status.js +1 -1
  70. package/esm2015/lib/components/diagrams/diagrams.module.js +1 -1
  71. package/esm2015/lib/components/diagrams/directive/diagram.directive.js +1 -1
  72. package/esm2015/lib/components/diagrams/directive/index.js +1 -1
  73. package/esm2015/lib/components/diagrams/editor/customize.js +1 -1
  74. package/esm2015/lib/components/diagrams/editor/editor.js +1 -1
  75. package/esm2015/lib/components/diagrams/editor/index.js +1 -1
  76. package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +1 -1
  77. package/esm2015/lib/components/diagrams/editor/overrides/index.js +1 -1
  78. package/esm2015/lib/components/diagrams/editor/path-plugin.js +1 -1
  79. package/esm2015/lib/components/diagrams/editor/socket-position-watcher.js +1 -1
  80. package/esm2015/lib/components/diagrams/index.js +1 -1
  81. package/esm2015/lib/components/diagrams/models/base-node.model.js +1 -1
  82. package/esm2015/lib/components/diagrams/models/circle-node.model.js +1 -1
  83. package/esm2015/lib/components/diagrams/models/connection.model.js +1 -1
  84. package/esm2015/lib/components/diagrams/models/content-node.model.js +1 -1
  85. package/esm2015/lib/components/diagrams/models/gate-way.model.js +1 -1
  86. package/esm2015/lib/components/diagrams/models/index.js +1 -1
  87. package/esm2015/lib/components/diagrams/models/ports.model.js +1 -1
  88. package/esm2015/lib/components/diagrams/models/socket.model.js +1 -1
  89. package/esm2015/lib/components/diagrams/models/template-node.model.js +1 -1
  90. package/esm2015/lib/components/diagrams/public-api.js +1 -1
  91. package/esm2015/lib/components/diagrams/services/diagram-plugins.service.js +1 -1
  92. package/esm2015/lib/components/diagrams/services/diagram.service.js +1 -1
  93. package/esm2015/lib/components/diagrams/services/index.js +1 -1
  94. package/esm2015/lib/components/diagrams/services/message.service.js +1 -1
  95. package/esm2015/lib/components/diagrams/services/workflow.service.js +1 -1
  96. package/esm2015/lib/components/diagrams/types/common.type.js +1 -1
  97. package/esm2015/lib/components/diagrams/types/connection-config.type.js +1 -1
  98. package/esm2015/lib/components/diagrams/types/connection-label.type.js +1 -1
  99. package/esm2015/lib/components/diagrams/types/customization.type.js +1 -1
  100. package/esm2015/lib/components/diagrams/types/diagram-config.type.js +1 -1
  101. package/esm2015/lib/components/diagrams/types/diagram-editor.type.js +1 -1
  102. package/esm2015/lib/components/diagrams/types/emitter-type.js +1 -1
  103. package/esm2015/lib/components/diagrams/types/index.js +1 -1
  104. package/esm2015/lib/components/diagrams/types/layout.type.js +1 -1
  105. package/esm2015/lib/components/diagrams/types/node-content.js +1 -1
  106. package/esm2015/lib/components/diagrams/types/node-definition.js +1 -1
  107. package/esm2015/lib/components/diagrams/types/node-status.type.js +1 -1
  108. package/esm2015/lib/components/diagrams/types/node.type.js +1 -1
  109. package/esm2015/lib/components/diagrams/types/notify-event.type.js +1 -1
  110. package/esm2015/lib/components/diagrams/types/path.type.js +1 -1
  111. package/esm2015/lib/components/diagrams/types/ports-config.type.js +1 -1
  112. package/esm2015/lib/components/diagrams/types/schemes.type.js +1 -1
  113. package/esm2015/lib/components/diagrams/types/socket.type.js +1 -1
  114. package/esm2015/lib/components/diagrams/utilities/common.js +1 -1
  115. package/esm2015/lib/components/diagrams/utilities/index.js +1 -1
  116. package/esm2015/lib/components/diagrams/utilities/random.js +1 -1
  117. package/esm2015/lib/components/diagrams/utilities/remove.util.js +1 -1
  118. package/esm2015/lib/components/diagrams/utilities/serialize.js +1 -1
  119. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.js +2 -2
  120. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/icon.service.js +1 -1
  121. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon.module.js +1 -1
  122. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +1 -1
  123. package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +1 -1
  124. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +1 -1
  125. package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +1 -1
  126. package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +1 -1
  127. package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +1 -1
  128. package/esm2015/lib/components/documents/components/documents/documents.component.js +1 -1
  129. package/esm2015/lib/components/documents/constants/document-templates.js +1 -1
  130. package/esm2015/lib/components/documents/constants/documents.js +1 -1
  131. package/esm2015/lib/components/documents/documents.module.js +1 -1
  132. package/esm2015/lib/components/documents/services/document-templates.service.js +1 -1
  133. package/esm2015/lib/components/documents/services/documents.service.js +1 -1
  134. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +1 -1
  135. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +1 -1
  136. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +1 -1
  137. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +1 -1
  138. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +1 -1
  139. package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +2 -2
  140. package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +1 -1
  141. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +1 -1
  142. package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +1 -1
  143. package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +1 -1
  144. package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +1 -1
  145. package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +1 -1
  146. package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +1 -1
  147. package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +1 -1
  148. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +1 -1
  149. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +1 -1
  150. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/constants/department.js +1 -1
  151. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +1 -1
  152. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +1 -1
  153. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +1 -1
  154. package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +1 -1
  155. package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +1 -1
  156. package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +1 -1
  157. package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +1 -1
  158. package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +1 -1
  159. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +1 -1
  160. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +1 -1
  161. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +1 -1
  162. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +1 -1
  163. package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +1 -1
  164. package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +2 -2
  165. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +1 -1
  166. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +1 -1
  167. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +1 -1
  168. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +2 -2
  169. package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +1 -1
  170. package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +1 -1
  171. package/esm2015/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.js +1 -1
  172. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +1 -1
  173. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.formio.js +1 -1
  174. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +1 -1
  175. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.formio.js +1 -1
  176. package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +1 -1
  177. package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.formio.js +1 -1
  178. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +1 -1
  179. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.formio.js +1 -1
  180. package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +1 -1
  181. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +1 -1
  182. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-boolitem-properties.interface.js +1 -1
  183. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-dateitem-properties.interface.js +1 -1
  184. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-properties.interface.js +1 -1
  185. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-validator.interface.js +1 -1
  186. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item.interface.js +1 -1
  187. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-keyvaluepairsitem-properties.interface.js +1 -1
  188. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-selectitem-properties.interface.js +1 -1
  189. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-pipe-property.interface.js +1 -1
  190. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-properties.interface.js +1 -1
  191. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form.interfaces.js +1 -1
  192. package/esm2015/lib/components/dynamic-form/models/dynamic-form-baseitem.model.js +1 -1
  193. package/esm2015/lib/components/dynamic-form/models/dynamic-form-boolitem.model.js +1 -1
  194. package/esm2015/lib/components/dynamic-form/models/dynamic-form-dateitem.model.js +1 -1
  195. package/esm2015/lib/components/dynamic-form/models/dynamic-form-datetimeitem.model.js +1 -1
  196. package/esm2015/lib/components/dynamic-form/models/dynamic-form-mapitem.model.js +1 -1
  197. package/esm2015/lib/components/dynamic-form/models/dynamic-form-selectitem.model.js +1 -1
  198. package/esm2015/lib/components/dynamic-form/models/dynamic-form-textitem.model.js +1 -1
  199. package/esm2015/lib/components/dynamic-form/models/dynamic-form.models.js +1 -1
  200. package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +1 -1
  201. package/esm2015/lib/components/dynamic-form/services/dynamic-component-mapper.service.js +1 -1
  202. package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +1 -1
  203. package/esm2015/lib/components/dynamic-form/services/vocabulary-api.service.js +1 -1
  204. package/esm2015/lib/components/dynamic-form/validators/length-validator.js +1 -1
  205. package/esm2015/lib/components/dynamic-form/validators/regex-validator.js +1 -1
  206. package/esm2015/lib/components/dynamic-form/validators/required-validator.js +1 -1
  207. package/esm2015/lib/components/dynamic-form/validators/value-validator.js +1 -1
  208. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +1 -1
  209. package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +1 -1
  210. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.js +1 -1
  211. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs.module.js +1 -1
  212. package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +2 -2
  213. package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +1 -1
  214. package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +1 -1
  215. package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +1 -1
  216. package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +2 -2
  217. package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +2 -2
  218. package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +2 -2
  219. package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +2 -2
  220. package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +1 -1
  221. package/esm2015/lib/components/dynamic-view/dynamic-viewe.service.js +1 -1
  222. package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +1 -1
  223. package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +2 -2
  224. package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +2 -2
  225. package/esm2015/lib/components/file-manger/components/copy/copy.component.js +1 -1
  226. package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +2 -2
  227. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +1 -1
  228. package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +1 -1
  229. package/esm2015/lib/components/file-manger/components/delete/delete.component.js +1 -1
  230. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +1 -1
  231. package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +2 -2
  232. package/esm2015/lib/components/file-manger/components/move/move.component.js +1 -1
  233. package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +1 -1
  234. package/esm2015/lib/components/file-manger/components/rename/rename.component.js +2 -2
  235. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +1 -1
  236. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +2 -2
  237. package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +2 -2
  238. package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +1 -1
  239. package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +1 -1
  240. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +1 -1
  241. package/esm2015/lib/components/file-manger/directives/file-grid-infinite-scroll.directive.js +1 -1
  242. package/esm2015/lib/components/file-manger/file-manager.abstract.js +1 -1
  243. package/esm2015/lib/components/file-manger/file-manger.module.js +1 -1
  244. package/esm2015/lib/components/file-manger/models/file-manager-config.model.js +1 -1
  245. package/esm2015/lib/components/file-manger/models/index.js +1 -1
  246. package/esm2015/lib/components/file-manger/models/pagination-payload.mode.js +1 -1
  247. package/esm2015/lib/components/file-manger/models/pagination-response.model.js +1 -1
  248. package/esm2015/lib/components/filter/filter/filter.component.js +1 -1
  249. package/esm2015/lib/components/filter/filter.module.js +1 -1
  250. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +1 -1
  251. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +1 -1
  252. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +1 -1
  253. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +1 -1
  254. package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +1 -1
  255. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +1 -1
  256. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +1 -1
  257. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +1 -1
  258. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +1 -1
  259. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/consts.js +1 -1
  260. package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +1 -1
  261. package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +1 -1
  262. package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +1 -1
  263. package/esm2015/lib/components/latest-activity/constants/activitylog.js +1 -1
  264. package/esm2015/lib/components/latest-activity/latest-activity.module.js +1 -1
  265. package/esm2015/lib/components/latest-activity/services/activity-log.service.js +1 -1
  266. package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +1 -1
  267. package/esm2015/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.js +1 -1
  268. package/esm2015/lib/components/ndf-config-editor/components/config-editor-actions/config-editor-actions.component.js +1 -1
  269. package/esm2015/lib/components/ndf-config-editor/components/editor-mode-switch.component.js +1 -1
  270. package/esm2015/lib/components/ndf-config-editor/components/index.js +1 -1
  271. package/esm2015/lib/components/ndf-config-editor/components/info-dialog/info-dialog.component.js +2 -2
  272. package/esm2015/lib/components/ndf-config-editor/config.token.js +1 -1
  273. package/esm2015/lib/components/ndf-config-editor/constants/index.js +1 -1
  274. package/esm2015/lib/components/ndf-config-editor/constants/mode.js +1 -1
  275. package/esm2015/lib/components/ndf-config-editor/constants/query.js +1 -1
  276. package/esm2015/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.js +2 -2
  277. package/esm2015/lib/components/ndf-config-editor/containers/editor-settings/editor-settings.component.js +2 -2
  278. package/esm2015/lib/components/ndf-config-editor/containers/index.js +1 -1
  279. package/esm2015/lib/components/ndf-config-editor/containers/monaco-editor.component.js +1 -1
  280. package/esm2015/lib/components/ndf-config-editor/containers/ndf-config-editor/ndf-config-editor.component.js +1 -1
  281. package/esm2015/lib/components/ndf-config-editor/index.js +1 -1
  282. package/esm2015/lib/components/ndf-config-editor/metadata-token.js +1 -1
  283. package/esm2015/lib/components/ndf-config-editor/models/config.js +1 -1
  284. package/esm2015/lib/components/ndf-config-editor/models/dialog-data.js +1 -1
  285. package/esm2015/lib/components/ndf-config-editor/models/editor-model.js +1 -1
  286. package/esm2015/lib/components/ndf-config-editor/models/index.js +1 -1
  287. package/esm2015/lib/components/ndf-config-editor/models/payload-data.js +1 -1
  288. package/esm2015/lib/components/ndf-config-editor/models/type-helper.js +1 -1
  289. package/esm2015/lib/components/ndf-config-editor/ndf-config-editor.module.js +1 -1
  290. package/esm2015/lib/components/ndf-config-editor/pipes/index.js +1 -1
  291. package/esm2015/lib/components/ndf-config-editor/pipes/is-valid-json.pipe.js +1 -1
  292. package/esm2015/lib/components/ndf-config-editor/pipes/validate-object.pipe.js +1 -1
  293. package/esm2015/lib/components/ndf-config-editor/public/editor-navigate-button.js +2 -2
  294. package/esm2015/lib/components/ndf-config-editor/public/index.js +1 -1
  295. package/esm2015/lib/components/ndf-config-editor/public-api.js +1 -1
  296. package/esm2015/lib/components/ndf-config-editor/services/data-access.service.js +1 -1
  297. package/esm2015/lib/components/ndf-config-editor/services/data-store.service.js +1 -1
  298. package/esm2015/lib/components/ndf-config-editor/services/index.js +1 -1
  299. package/esm2015/lib/components/ndf-config-editor/services/monaco.loader.service.js +1 -1
  300. package/esm2015/lib/components/ndf-config-editor/utility/index.js +1 -1
  301. package/esm2015/lib/components/ndf-config-editor/utility/json.js +1 -1
  302. package/esm2015/lib/components/ndf-datepicker/adapters/hijri-adapter.js +1 -1
  303. package/esm2015/lib/components/ndf-datepicker/adapters/index.js +1 -1
  304. package/esm2015/lib/components/ndf-datepicker/adapters/moment-adapter.js +1 -1
  305. package/esm2015/lib/components/ndf-datepicker/base/base-value-accessor.js +1 -1
  306. package/esm2015/lib/components/ndf-datepicker/base/index.js +1 -1
  307. package/esm2015/lib/components/ndf-datepicker/components/base-datepicker.js +1 -1
  308. package/esm2015/lib/components/ndf-datepicker/components/index.js +1 -1
  309. package/esm2015/lib/components/ndf-datepicker/components/input-date.component.js +1 -1
  310. package/esm2015/lib/components/ndf-datepicker/components/input-range-date.component.js +1 -1
  311. package/esm2015/lib/components/ndf-datepicker/constants/date-locale-keys.js +1 -1
  312. package/esm2015/lib/components/ndf-datepicker/constants/date-picker.js +1 -1
  313. package/esm2015/lib/components/ndf-datepicker/constants/date-type.js +1 -1
  314. package/esm2015/lib/components/ndf-datepicker/constants/formats.js +1 -1
  315. package/esm2015/lib/components/ndf-datepicker/constants/hijri-dates-names.js +1 -1
  316. package/esm2015/lib/components/ndf-datepicker/constants/index.js +1 -1
  317. package/esm2015/lib/components/ndf-datepicker/containers/datepicker-container.js +1 -1
  318. package/esm2015/lib/components/ndf-datepicker/containers/index.js +1 -1
  319. package/esm2015/lib/components/ndf-datepicker/containers/ndf-gregorian-datepicker.component.js +1 -1
  320. package/esm2015/lib/components/ndf-datepicker/containers/ndf-hijri-datepicker.component.js +1 -1
  321. package/esm2015/lib/components/ndf-datepicker/index.js +1 -1
  322. package/esm2015/lib/components/ndf-datepicker/models/data-types.js +1 -1
  323. package/esm2015/lib/components/ndf-datepicker/models/index.js +1 -1
  324. package/esm2015/lib/components/ndf-datepicker/models/value-object.js +1 -1
  325. package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.component.js +2 -2
  326. package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.module.js +1 -1
  327. package/esm2015/lib/components/ndf-datepicker/services/calendar.service.js +1 -1
  328. package/esm2015/lib/components/ndf-datepicker/services/index.js +1 -1
  329. package/esm2015/lib/components/ndf-datepicker/services/localize-state.service.js +1 -1
  330. package/esm2015/lib/components/ndf-filters/base/base-aggregation-field.component.js +1 -1
  331. package/esm2015/lib/components/ndf-filters/base/base-checkbox-radio.component.js +1 -1
  332. package/esm2015/lib/components/ndf-filters/base/base-custom-field.component.js +1 -1
  333. package/esm2015/lib/components/ndf-filters/base/base-predicate-field.component.js +1 -1
  334. package/esm2015/lib/components/ndf-filters/base/base-value-accessor.component.js +1 -1
  335. package/esm2015/lib/components/ndf-filters/base/index.js +1 -1
  336. package/esm2015/lib/components/ndf-filters/components/__parts/field-header.component.js +1 -1
  337. package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.js +1 -1
  338. package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +1 -1
  339. package/esm2015/lib/components/ndf-filters/components/__parts/filter-collapse-control/filter-collapse-control.component.js +1 -1
  340. package/esm2015/lib/components/ndf-filters/components/__parts/filter-date-range/filter-date-range.component.js +1 -1
  341. package/esm2015/lib/components/ndf-filters/components/__parts/filter-empty-message.component.js +1 -1
  342. package/esm2015/lib/components/ndf-filters/components/__parts/filter-option-text/filter-option-text.component.js +2 -2
  343. package/esm2015/lib/components/ndf-filters/components/__parts/filter-options-sort/filter-options-sort.component.js +2 -2
  344. package/esm2015/lib/components/ndf-filters/components/__parts/filter-search-input/filter-search-input.component.js +1 -1
  345. package/esm2015/lib/components/ndf-filters/components/__parts/html-dialog/html-dialog.component.js +1 -1
  346. package/esm2015/lib/components/ndf-filters/components/__parts/index.js +1 -1
  347. package/esm2015/lib/components/ndf-filters/components/aggregation-autocomplete/aggregation-autocomplete.component.js +1 -1
  348. package/esm2015/lib/components/ndf-filters/components/aggregation-checkbox/aggregation-checkbox.component.js +1 -1
  349. package/esm2015/lib/components/ndf-filters/components/aggregation-custom/aggregation-custom.component.js +1 -1
  350. package/esm2015/lib/components/ndf-filters/components/aggregation-date-list/aggregation-date-list.component.js +1 -1
  351. package/esm2015/lib/components/ndf-filters/components/aggregation-radio/aggregation-radio.component.js +1 -1
  352. package/esm2015/lib/components/ndf-filters/components/aggregation-select/aggregation-select.component.js +1 -1
  353. package/esm2015/lib/components/ndf-filters/components/aggregation-switch/aggregation-switch.component.js +2 -2
  354. package/esm2015/lib/components/ndf-filters/components/index.js +1 -1
  355. package/esm2015/lib/components/ndf-filters/components/predicate-date-input/predicate-date-input.component.js +1 -1
  356. package/esm2015/lib/components/ndf-filters/components/predicate-text-input/predicate-text-input.component.js +2 -2
  357. package/esm2015/lib/components/ndf-filters/constants/common.js +1 -1
  358. package/esm2015/lib/components/ndf-filters/constants/field.js +1 -1
  359. package/esm2015/lib/components/ndf-filters/constants/index.js +1 -1
  360. package/esm2015/lib/components/ndf-filters/constants/operators.js +1 -1
  361. package/esm2015/lib/components/ndf-filters/constants/sort.js +1 -1
  362. package/esm2015/lib/components/ndf-filters/constants/type.js +1 -1
  363. package/esm2015/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.js +1 -1
  364. package/esm2015/lib/components/ndf-filters/containers/base-field.js +1 -1
  365. package/esm2015/lib/components/ndf-filters/containers/custom-field/custom-field.component.js +1 -1
  366. package/esm2015/lib/components/ndf-filters/containers/filters-panel/base-filters-panel.js +1 -1
  367. package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +1 -1
  368. package/esm2015/lib/components/ndf-filters/containers/index.js +1 -1
  369. package/esm2015/lib/components/ndf-filters/containers/predicate-field/predicate-field.component.js +1 -1
  370. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user-switch.component.js +2 -2
  371. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user.service.js +1 -1
  372. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/user-types.js +1 -1
  373. package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/aggregation-group.component.js +1 -1
  374. package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/map-aggregation-config.js +1 -1
  375. package/esm2015/lib/components/ndf-filters/custom-components/index.js +1 -1
  376. package/esm2015/lib/components/ndf-filters/directives/autocomplete-template.directive.js +1 -1
  377. package/esm2015/lib/components/ndf-filters/directives/checkbox-template.directive.js +1 -1
  378. package/esm2015/lib/components/ndf-filters/directives/custom-template.directive.js +1 -1
  379. package/esm2015/lib/components/ndf-filters/directives/date-template.directive.js +1 -1
  380. package/esm2015/lib/components/ndf-filters/directives/dropdown-label-template.directive.js +1 -1
  381. package/esm2015/lib/components/ndf-filters/directives/dropdown-template.directive.js +1 -1
  382. package/esm2015/lib/components/ndf-filters/directives/index.js +1 -1
  383. package/esm2015/lib/components/ndf-filters/directives/radio-template.directive.js +1 -1
  384. package/esm2015/lib/components/ndf-filters/directives/switch-template.directive.js +1 -1
  385. package/esm2015/lib/components/ndf-filters/index.js +1 -1
  386. package/esm2015/lib/components/ndf-filters/models/aggregation-field-config.js +1 -1
  387. package/esm2015/lib/components/ndf-filters/models/aggregation-response.model.js +1 -1
  388. package/esm2015/lib/components/ndf-filters/models/base-field-config.js +1 -1
  389. package/esm2015/lib/components/ndf-filters/models/common.js +1 -1
  390. package/esm2015/lib/components/ndf-filters/models/custom-field-config.js +1 -1
  391. package/esm2015/lib/components/ndf-filters/models/field-config.model.js +1 -1
  392. package/esm2015/lib/components/ndf-filters/models/field-options/autocomplete-options.js +1 -1
  393. package/esm2015/lib/components/ndf-filters/models/field-options/checkbox-options.js +1 -1
  394. package/esm2015/lib/components/ndf-filters/models/field-options/common-utils.js +1 -1
  395. package/esm2015/lib/components/ndf-filters/models/field-options/custom-fields-options.js +1 -1
  396. package/esm2015/lib/components/ndf-filters/models/field-options/custom-options.js +1 -1
  397. package/esm2015/lib/components/ndf-filters/models/field-options/date-list-options.js +1 -1
  398. package/esm2015/lib/components/ndf-filters/models/field-options/date-options.js +1 -1
  399. package/esm2015/lib/components/ndf-filters/models/field-options/dropdown-options.js +1 -1
  400. package/esm2015/lib/components/ndf-filters/models/field-options/index.js +1 -1
  401. package/esm2015/lib/components/ndf-filters/models/field-options/input-options.js +1 -1
  402. package/esm2015/lib/components/ndf-filters/models/field-options/radio-options.js +1 -1
  403. package/esm2015/lib/components/ndf-filters/models/field-options/switch-options.js +1 -1
  404. package/esm2015/lib/components/ndf-filters/models/filter-option.model.js +1 -1
  405. package/esm2015/lib/components/ndf-filters/models/form-query-request.js +1 -1
  406. package/esm2015/lib/components/ndf-filters/models/index.js +1 -1
  407. package/esm2015/lib/components/ndf-filters/models/operator-value-object.js +1 -1
  408. package/esm2015/lib/components/ndf-filters/models/predicate-field-config.js +1 -1
  409. package/esm2015/lib/components/ndf-filters/models/types-helper.js +1 -1
  410. package/esm2015/lib/components/ndf-filters/models/value-object.model.js +1 -1
  411. package/esm2015/lib/components/ndf-filters/ndf-filters-panel.module.js +1 -1
  412. package/esm2015/lib/components/ndf-filters/pipes/autocomplete-filter.pipe.js +1 -1
  413. package/esm2015/lib/components/ndf-filters/pipes/check-condition.pipe.js +1 -1
  414. package/esm2015/lib/components/ndf-filters/pipes/filter.pipe.js +1 -1
  415. package/esm2015/lib/components/ndf-filters/pipes/hash-translate.pipe.js +1 -1
  416. package/esm2015/lib/components/ndf-filters/pipes/index.js +1 -1
  417. package/esm2015/lib/components/ndf-filters/pipes/localized-label.pipe.js +1 -1
  418. package/esm2015/lib/components/ndf-filters/pipes/roles-filters.pipe.js +1 -1
  419. package/esm2015/lib/components/ndf-filters/pipes/sanitizer.pipe.js +1 -1
  420. package/esm2015/lib/components/ndf-filters/pipes/sort.pipe.js +1 -1
  421. package/esm2015/lib/components/ndf-filters/pipes/tooltip.pipe.js +1 -1
  422. package/esm2015/lib/components/ndf-filters/public-api.js +1 -1
  423. package/esm2015/lib/components/ndf-filters/services/aggregation-field.service.js +1 -1
  424. package/esm2015/lib/components/ndf-filters/services/dynamic-component-loader.service.js +1 -1
  425. package/esm2015/lib/components/ndf-filters/services/filters-mapper.service.js +1 -1
  426. package/esm2015/lib/components/ndf-filters/services/filters-query.service.js +1 -1
  427. package/esm2015/lib/components/ndf-filters/services/index.js +1 -1
  428. package/esm2015/lib/components/ndf-filters/utility/index.js +1 -1
  429. package/esm2015/lib/components/ndf-filters/utility/nxql-query.js +1 -1
  430. package/esm2015/lib/components/ndf-filters/utility/nxql.js +1 -1
  431. package/esm2015/lib/components/ndf-filters/utility/object.js +1 -1
  432. package/esm2015/lib/components/ndf-panel/component/ndf-panel.component.js +1 -1
  433. package/esm2015/lib/components/ndf-panel/index.js +1 -1
  434. package/esm2015/lib/components/ndf-panel/ndf-panel.module.js +1 -1
  435. package/esm2015/lib/components/ndf-scanner/index.js +1 -1
  436. package/esm2015/lib/components/ndf-scanner/ndf-scanner.component.js +2 -2
  437. package/esm2015/lib/components/ndf-scanner/ndf-scanner.module.js +1 -1
  438. package/esm2015/lib/components/ndf-signatures/emdha/dialogs/auth/emdha-auth.dialog.js +1 -1
  439. package/esm2015/lib/components/ndf-signatures/emdha/dialogs/index.js +1 -1
  440. package/esm2015/lib/components/ndf-signatures/emdha/index.js +1 -1
  441. package/esm2015/lib/components/ndf-signatures/emdha/services/emdha.service.js +1 -1
  442. package/esm2015/lib/components/ndf-signatures/emdha/services/index.js +1 -1
  443. package/esm2015/lib/components/ndf-signatures/index.js +1 -1
  444. package/esm2015/lib/components/ndf-signatures/ndf-signature-panel/ndf-signature-panel.component.js +1 -1
  445. package/esm2015/lib/components/ndf-signatures/ndf-signatures.module.js +1 -1
  446. package/esm2015/lib/components/ndf-signatures/services/index.js +1 -1
  447. package/esm2015/lib/components/ndf-signatures/services/signatures.service.js +1 -1
  448. package/esm2015/lib/components/ndf-tabs/component/ndf-tabs.component.js +1 -1
  449. package/esm2015/lib/components/ndf-tabs/index.js +1 -1
  450. package/esm2015/lib/components/ndf-tabs/ndf-tabs.module.js +1 -1
  451. package/esm2015/lib/components/ndf-tabs/tab.type.js +1 -1
  452. package/esm2015/lib/components/ndf-uploader/components/bottom-sheet/ndf-uploader-bottom-sheet.component.js +2 -2
  453. package/esm2015/lib/components/ndf-uploader/components/index.js +1 -1
  454. package/esm2015/lib/components/ndf-uploader/config/index.js +1 -1
  455. package/esm2015/lib/components/ndf-uploader/config/uploader.config.js +1 -1
  456. package/esm2015/lib/components/ndf-uploader/constant/file-content.js +1 -1
  457. package/esm2015/lib/components/ndf-uploader/constant/index.js +1 -1
  458. package/esm2015/lib/components/ndf-uploader/helpers/index.js +1 -1
  459. package/esm2015/lib/components/ndf-uploader/helpers/uploader.helper.js +1 -1
  460. package/esm2015/lib/components/ndf-uploader/index.js +1 -1
  461. package/esm2015/lib/components/ndf-uploader/models/batch.model.js +1 -1
  462. package/esm2015/lib/components/ndf-uploader/models/index.js +1 -1
  463. package/esm2015/lib/components/ndf-uploader/models/ndf-file.model.js +1 -1
  464. package/esm2015/lib/components/ndf-uploader/models/provider.model.js +1 -1
  465. package/esm2015/lib/components/ndf-uploader/ndf-uploader-bottom-sheet.service.js +1 -1
  466. package/esm2015/lib/components/ndf-uploader/ndf-uploader.module.js +1 -1
  467. package/esm2015/lib/components/ndf-uploader/ndf-uploader.service.js +1 -1
  468. package/esm2015/lib/components/ndf-uploader/nuxeo-base-url.js +1 -1
  469. package/esm2015/lib/components/ndf-uploader/providers/index.js +1 -1
  470. package/esm2015/lib/components/ndf-uploader/providers/nuxeo-provider.service.js +1 -1
  471. package/esm2015/lib/components/ndf-uploader/providers/s3-provider.service.js +1 -1
  472. package/esm2015/lib/components/no-data-found/index.js +1 -1
  473. package/esm2015/lib/components/no-data-found/no-data-found.component.js +1 -1
  474. package/esm2015/lib/components/no-data-found/no-data.module.js +1 -1
  475. package/esm2015/lib/components/notifications/components/base-list-notfications.component.js +1 -1
  476. package/esm2015/lib/components/notifications/components/base-notifications.component.js +1 -1
  477. package/esm2015/lib/components/notifications/components/index.js +1 -1
  478. package/esm2015/lib/components/notifications/components/notification-item/get-icon.pipe.js +1 -1
  479. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +2 -2
  480. package/esm2015/lib/components/notifications/components/notification-sortby-toggle/notification-sortby-toggle.component.js +2 -2
  481. package/esm2015/lib/components/notifications/components/notification-source-select/notification-source-select.component.js +2 -2
  482. package/esm2015/lib/components/notifications/components/notification-status-toggle/notification-status-toggle.component.js +2 -2
  483. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +2 -2
  484. package/esm2015/lib/components/notifications/components/notifications-date-select/notifications-date-select.component.js +2 -2
  485. package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +2 -2
  486. package/esm2015/lib/components/notifications/components/notifications-list/options.js +1 -1
  487. package/esm2015/lib/components/notifications/components/notifications-list-actions/notifications-list-actions.component.js +2 -2
  488. package/esm2015/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.js +1 -1
  489. package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.adapter.js +1 -1
  490. package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.component.js +2 -2
  491. package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar-content.js +1 -1
  492. package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar.component.js +1 -1
  493. package/esm2015/lib/components/notifications/constants/date.js +1 -1
  494. package/esm2015/lib/components/notifications/constants/index.js +1 -1
  495. package/esm2015/lib/components/notifications/constants/pagination.js +1 -1
  496. package/esm2015/lib/components/notifications/constants/panel.js +1 -1
  497. package/esm2015/lib/components/notifications/constants/status.js +1 -1
  498. package/esm2015/lib/components/notifications/containers/index.js +1 -1
  499. package/esm2015/lib/components/notifications/containers/notifications-list-container/notifications-list-container.component.js +2 -2
  500. package/esm2015/lib/components/notifications/containers/notifications-list-container/options.js +1 -1
  501. package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +1 -1
  502. package/esm2015/lib/components/notifications/directives/button.directive.js +1 -1
  503. package/esm2015/lib/components/notifications/directives/index.js +1 -1
  504. package/esm2015/lib/components/notifications/directives/notification.directive.js +1 -1
  505. package/esm2015/lib/components/notifications/index.js +1 -1
  506. package/esm2015/lib/components/notifications/models/common.js +1 -1
  507. package/esm2015/lib/components/notifications/models/index.js +1 -1
  508. package/esm2015/lib/components/notifications/models/notification-definition.model.js +1 -1
  509. package/esm2015/lib/components/notifications/models/notification-message.mode.js +1 -1
  510. package/esm2015/lib/components/notifications/models/notification-options.js +1 -1
  511. package/esm2015/lib/components/notifications/models/notification-setting.presenter.js +1 -1
  512. package/esm2015/lib/components/notifications/models/notification-subscription.model.js +1 -1
  513. package/esm2015/lib/components/notifications/models/notification.model.js +1 -1
  514. package/esm2015/lib/components/notifications/models/notifications-list-options.js +1 -1
  515. package/esm2015/lib/components/notifications/models/paging-response.model.js +1 -1
  516. package/esm2015/lib/components/notifications/models/params.model.js +1 -1
  517. package/esm2015/lib/components/notifications/models/vocabularies.js +1 -1
  518. package/esm2015/lib/components/notifications/notifications.module.js +1 -1
  519. package/esm2015/lib/components/notifications/public-api.js +1 -1
  520. package/esm2015/lib/components/notifications/services/index.js +1 -1
  521. package/esm2015/lib/components/notifications/services/listener.service.js +1 -1
  522. package/esm2015/lib/components/notifications/services/notifications.service.js +1 -1
  523. package/esm2015/lib/components/notifications/services/params.service.js +1 -1
  524. package/esm2015/lib/components/notifications/services/response.service.js +1 -1
  525. package/esm2015/lib/components/notifications/services/socket.service.js +1 -1
  526. package/esm2015/lib/components/notifications/utilities/index.js +1 -1
  527. package/esm2015/lib/components/notifications/utilities/response.adapter.js +1 -1
  528. package/esm2015/lib/components/pagination/pagination/pagination.component.js +1 -1
  529. package/esm2015/lib/components/pagination/pagination.module.js +1 -1
  530. package/esm2015/lib/components/pdf-tron/directives/index.js +1 -1
  531. package/esm2015/lib/components/pdf-tron/directives/ndf-tron-extract-text.directive.js +1 -1
  532. package/esm2015/lib/components/pdf-tron/models/index.js +1 -1
  533. package/esm2015/lib/components/pdf-tron/models/tron.model.js +1 -1
  534. package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +1 -1
  535. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +1 -1
  536. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +1 -1
  537. package/esm2015/lib/components/pdf-tron/pdftron/silent-pdftron.service.js +1 -1
  538. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +2 -2
  539. package/esm2015/lib/components/permissions/permission.service.js +1 -1
  540. package/esm2015/lib/components/permissions/permissions/permissions.component.js +1 -1
  541. package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +1 -1
  542. package/esm2015/lib/components/permissions/permissions.module.js +1 -1
  543. package/esm2015/lib/components/reports/chart-panel.js +1 -1
  544. package/esm2015/lib/components/reports/charts/chart.const.js +1 -1
  545. package/esm2015/lib/components/reports/charts/chart.token.js +1 -1
  546. package/esm2015/lib/components/reports/charts/charts.module.js +1 -1
  547. package/esm2015/lib/components/reports/charts/components/base-chart.component.js +1 -1
  548. package/esm2015/lib/components/reports/charts/components/chart.component.js +1 -1
  549. package/esm2015/lib/components/reports/charts/components/data-chart.component.js +1 -1
  550. package/esm2015/lib/components/reports/charts/components/index.js +1 -1
  551. package/esm2015/lib/components/reports/charts/defaults/bar.js +1 -1
  552. package/esm2015/lib/components/reports/charts/defaults/doughnut.js +1 -1
  553. package/esm2015/lib/components/reports/charts/defaults/index.js +1 -1
  554. package/esm2015/lib/components/reports/charts/defaults/line.js +1 -1
  555. package/esm2015/lib/components/reports/charts/defaults/pie.js +1 -1
  556. package/esm2015/lib/components/reports/charts/index.js +1 -1
  557. package/esm2015/lib/components/reports/charts/models/index.js +1 -1
  558. package/esm2015/lib/components/reports/charts/models/options.js +1 -1
  559. package/esm2015/lib/components/reports/charts/models/plugins-options.js +1 -1
  560. package/esm2015/lib/components/reports/charts/models/response.js +1 -1
  561. package/esm2015/lib/components/reports/charts/models/statistic-request-config.js +1 -1
  562. package/esm2015/lib/components/reports/charts/plugins/data-labels.js +1 -1
  563. package/esm2015/lib/components/reports/charts/plugins/doughnut-center-text.js +1 -1
  564. package/esm2015/lib/components/reports/charts/plugins/doughnut-empty-state.js +1 -1
  565. package/esm2015/lib/components/reports/charts/plugins/index.js +1 -1
  566. package/esm2015/lib/components/reports/charts/plugins/legend-margin.js +1 -1
  567. package/esm2015/lib/components/reports/charts/plugins/scrollable-legends.js +1 -1
  568. package/esm2015/lib/components/reports/charts/public-api.js +1 -1
  569. package/esm2015/lib/components/reports/charts/services/index.js +1 -1
  570. package/esm2015/lib/components/reports/charts/services/statistic.service.js +1 -1
  571. package/esm2015/lib/components/reports/charts/utility/colors.js +1 -1
  572. package/esm2015/lib/components/reports/charts/utility/common.js +1 -1
  573. package/esm2015/lib/components/reports/charts/utility/css.js +1 -1
  574. package/esm2015/lib/components/reports/charts/utility/index.js +1 -1
  575. package/esm2015/lib/components/reports/index.js +1 -1
  576. package/esm2015/lib/components/reports/ndf-reports/base/base-chart.js +1 -1
  577. package/esm2015/lib/components/reports/ndf-reports/base/base-custom-report.js +1 -1
  578. package/esm2015/lib/components/reports/ndf-reports/base/base-graph.report.js +1 -1
  579. package/esm2015/lib/components/reports/ndf-reports/base/base-report.js +1 -1
  580. package/esm2015/lib/components/reports/ndf-reports/base/index.js +1 -1
  581. package/esm2015/lib/components/reports/ndf-reports/charts-components/custom-chart/custom-chart.component.js +1 -1
  582. package/esm2015/lib/components/reports/ndf-reports/charts-components/digit-chart/digit-chart.component.js +1 -1
  583. package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.js +1 -1
  584. package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.service.js +1 -1
  585. package/esm2015/lib/components/reports/ndf-reports/charts-components/index.js +1 -1
  586. package/esm2015/lib/components/reports/ndf-reports/components/_parts/chart-type-selector/chart-type-selector.component.js +2 -2
  587. package/esm2015/lib/components/reports/ndf-reports/components/_parts/custom-chart-dialog/custom-chart-dialog.component.js +2 -2
  588. package/esm2015/lib/components/reports/ndf-reports/components/_parts/graph-dialog/graph-dialog.component.js +2 -2
  589. package/esm2015/lib/components/reports/ndf-reports/components/_parts/index.js +1 -1
  590. package/esm2015/lib/components/reports/ndf-reports/components/_parts/report-actions/report-actions.component.js +2 -2
  591. package/esm2015/lib/components/reports/ndf-reports/components/_parts/time-group-selector/time-group-selector.component.js +1 -1
  592. package/esm2015/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.js +2 -2
  593. package/esm2015/lib/components/reports/ndf-reports/components/custom-report/custom-report.component.js +2 -2
  594. package/esm2015/lib/components/reports/ndf-reports/components/digit-report/digit-report.component.js +1 -1
  595. package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +3 -3
  596. package/esm2015/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.js +2 -2
  597. package/esm2015/lib/components/reports/ndf-reports/components/index.js +1 -1
  598. package/esm2015/lib/components/reports/ndf-reports/constants/charts-types.js +1 -1
  599. package/esm2015/lib/components/reports/ndf-reports/constants/index.js +1 -1
  600. package/esm2015/lib/components/reports/ndf-reports/constants/time-group.js +1 -1
  601. package/esm2015/lib/components/reports/ndf-reports/containers/index.js +1 -1
  602. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.js +1 -1
  603. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +73 -44
  604. package/esm2015/lib/components/reports/ndf-reports/directives/empty-content-template.directive.js +28 -0
  605. package/esm2015/lib/components/reports/ndf-reports/directives/header-panel-template.directive.js +28 -0
  606. package/esm2015/lib/components/reports/ndf-reports/directives/index.js +3 -1
  607. package/esm2015/lib/components/reports/ndf-reports/directives/scrollable-div.directive.js +1 -1
  608. package/esm2015/lib/components/reports/ndf-reports/index.js +1 -1
  609. package/esm2015/lib/components/reports/ndf-reports/models/base.js +1 -1
  610. package/esm2015/lib/components/reports/ndf-reports/models/common.js +1 -1
  611. package/esm2015/lib/components/reports/ndf-reports/models/custom-definition.js +1 -1
  612. package/esm2015/lib/components/reports/ndf-reports/models/details.js +1 -1
  613. package/esm2015/lib/components/reports/ndf-reports/models/dialog-data.js +1 -1
  614. package/esm2015/lib/components/reports/ndf-reports/models/digit.js +1 -1
  615. package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +1 -1
  616. package/esm2015/lib/components/reports/ndf-reports/models/graph-definition.js +1 -1
  617. package/esm2015/lib/components/reports/ndf-reports/models/index.js +1 -1
  618. package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
  619. package/esm2015/lib/components/reports/ndf-reports/models/report-config.js +1 -1
  620. package/esm2015/lib/components/reports/ndf-reports/models/report-data-source.js +1 -1
  621. package/esm2015/lib/components/reports/ndf-reports/models/report-response.model.js +1 -1
  622. package/esm2015/lib/components/reports/ndf-reports/models/request.js +1 -1
  623. package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +31 -17
  624. package/esm2015/lib/components/reports/ndf-reports/options/doughnut.js +1 -1
  625. package/esm2015/lib/components/reports/ndf-reports/options/horizontal-bar.js +1 -1
  626. package/esm2015/lib/components/reports/ndf-reports/options/index.js +1 -1
  627. package/esm2015/lib/components/reports/ndf-reports/options/line.js +1 -1
  628. package/esm2015/lib/components/reports/ndf-reports/options/pie.js +1 -1
  629. package/esm2015/lib/components/reports/ndf-reports/options/vertical-bar.js +1 -1
  630. package/esm2015/lib/components/reports/ndf-reports/pipes/check-condition.pipe.js +20 -0
  631. package/esm2015/lib/components/reports/ndf-reports/public-api.js +6 -5
  632. package/esm2015/lib/components/reports/ndf-reports/services/base-chart-builder.service.js +1 -1
  633. package/esm2015/lib/components/reports/ndf-reports/services/chart-callbacks-register.services.js +1 -1
  634. package/esm2015/lib/components/reports/ndf-reports/services/chart-data-transformers.service.js +1 -1
  635. package/esm2015/lib/components/reports/ndf-reports/services/chart-manager.service.js +1 -1
  636. package/esm2015/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.js +1 -1
  637. package/esm2015/lib/components/reports/ndf-reports/services/chart-theme.service.js +1 -1
  638. package/esm2015/lib/components/reports/ndf-reports/services/custom-reports-registry.service.js +1 -1
  639. package/esm2015/lib/components/reports/ndf-reports/services/digit-chart.service.js +1 -1
  640. package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +26 -31
  641. package/esm2015/lib/components/reports/ndf-reports/services/index.js +12 -11
  642. package/esm2015/lib/components/reports/ndf-reports/services/ndf-reports.service.js +20 -17
  643. package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +1 -1
  644. package/esm2015/lib/components/reports/ndf-reports/services/report-configuration.service.js +1 -1
  645. package/esm2015/lib/components/reports/ndf-reports/services/report-transform.service.js +1 -1
  646. package/esm2015/lib/components/reports/ndf-reports/services/reports-data-transformers.service.js +1 -1
  647. package/esm2015/lib/components/reports/ndf-reports/services/reports-dialog.service.js +1 -1
  648. package/esm2015/lib/components/reports/ndf-reports/services/reports-hooks.service.js +89 -0
  649. package/esm2015/lib/components/reports/ndf-reports/services/reports-state.service.js +1 -1
  650. package/esm2015/lib/components/reports/ndf-reports/utilities/dataset-colors.js +1 -1
  651. package/esm2015/lib/components/reports/ndf-reports/utilities/index.js +1 -1
  652. package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +1 -1
  653. package/esm2015/lib/components/select/select/select.component.js +1 -1
  654. package/esm2015/lib/components/select/select.module.js +1 -1
  655. package/esm2015/lib/components/select-users-by-department/select-users-by-department.module.js +1 -1
  656. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +1 -1
  657. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +1 -1
  658. package/esm2015/lib/components/skeleton/index.js +1 -1
  659. package/esm2015/lib/components/skeleton/skeleton.component.js +1 -1
  660. package/esm2015/lib/components/skeleton/skeleton.module.js +1 -1
  661. package/esm2015/lib/components/skeleton/table-skeleton.component.js +1 -1
  662. package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
  663. package/esm2015/lib/components/spell-checker-field/spell-checker-text-field/spell-checker-text-field.component.js +1 -1
  664. package/esm2015/lib/components/tables/dynamic-table/directives/empty-state.directive.js +1 -1
  665. package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +116 -102
  666. package/esm2015/lib/components/tables/dynamic-table/dynamic-table.module.js +1 -1
  667. package/esm2015/lib/components/tables/dynamic-table/index.js +1 -1
  668. package/esm2015/lib/components/tables/dynamic-table/public-api.js +3 -2
  669. package/esm2015/lib/components/tables/dynamic-table/services/dynamic-table.service.js +1 -1
  670. package/esm2015/lib/components/tables/dynamic-table/services/table-hooks.service.js +56 -0
  671. package/esm2015/lib/components/tables/index.js +1 -1
  672. package/esm2015/lib/components/tables/ndf-table/components/index.js +1 -1
  673. package/esm2015/lib/components/tables/ndf-table/components/mode-toggler/mode-toggler.component.js +1 -1
  674. package/esm2015/lib/components/tables/ndf-table/components/sorting-list/sorting-list.component.js +2 -2
  675. package/esm2015/lib/components/tables/ndf-table/components/table-columns-toggler/table-columns-toggler.component.js +2 -2
  676. package/esm2015/lib/components/tables/ndf-table/components/table-export/table-export.component.js +2 -2
  677. package/esm2015/lib/components/tables/ndf-table/components/text-search/text-search.component.js +1 -1
  678. package/esm2015/lib/components/tables/ndf-table/constants/index.js +1 -1
  679. package/esm2015/lib/components/tables/ndf-table/constants/sizes.js +1 -1
  680. package/esm2015/lib/components/tables/ndf-table/containers/index.js +1 -1
  681. package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +1 -1
  682. package/esm2015/lib/components/tables/ndf-table/directives/actions.directive.js +1 -1
  683. package/esm2015/lib/components/tables/ndf-table/directives/filter-custom.directive.js +1 -1
  684. package/esm2015/lib/components/tables/ndf-table/directives/index.js +1 -1
  685. package/esm2015/lib/components/tables/ndf-table/directives/search.directive.js +1 -1
  686. package/esm2015/lib/components/tables/ndf-table/index.js +1 -1
  687. package/esm2015/lib/components/tables/ndf-table/models/index.js +1 -1
  688. package/esm2015/lib/components/tables/ndf-table/models/payload-types.js +1 -1
  689. package/esm2015/lib/components/tables/ndf-table/models/search.config.js +1 -1
  690. package/esm2015/lib/components/tables/ndf-table/models/table-column.js +1 -1
  691. package/esm2015/lib/components/tables/ndf-table/models/table-config.js +1 -1
  692. package/esm2015/lib/components/tables/ndf-table/models/table-mode.js +1 -1
  693. package/esm2015/lib/components/tables/ndf-table/models/table-options.js +1 -1
  694. package/esm2015/lib/components/tables/ndf-table/models/types.js +1 -1
  695. package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +1 -1
  696. package/esm2015/lib/components/tables/ndf-table/public-api.js +1 -1
  697. package/esm2015/lib/components/tables/ndf-table/services/index.js +1 -1
  698. package/esm2015/lib/components/tables/ndf-table/services/ndf-table-configuration.service.js +1 -1
  699. package/esm2015/lib/components/tables/ndf-table/services/ndf-table.service.js +1 -1
  700. package/esm2015/lib/components/tables/public-api.js +1 -1
  701. package/esm2015/lib/components/tables/table/dynamic-column/dynamic-column.component.js +1 -1
  702. package/esm2015/lib/components/tables/table/dynamic-component.js +1 -1
  703. package/esm2015/lib/components/tables/table/index.js +1 -1
  704. package/esm2015/lib/components/tables/table/page-sizes-list/page-sizes-list.component.js +1 -1
  705. package/esm2015/lib/components/tables/table/public-api.js +1 -1
  706. package/esm2015/lib/components/tables/table/table/table.component.js +2 -2
  707. package/esm2015/lib/components/tables/table/table.module.js +1 -1
  708. package/esm2015/lib/components/toasts/components/notification-toast/notification-toast.component.js +1 -1
  709. package/esm2015/lib/components/toasts/index.js +1 -1
  710. package/esm2015/lib/components/toasts/public-api.js +1 -1
  711. package/esm2015/lib/components/toasts/toasts.module.js +1 -1
  712. package/esm2015/lib/components/user/user/user.component.js +1 -1
  713. package/esm2015/lib/components/user/user.module.js +1 -1
  714. package/esm2015/lib/components/users-card/users-card.component.js +2 -2
  715. package/esm2015/lib/components/users-card/users-card.module.js +1 -1
  716. package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +1 -1
  717. package/esm2015/lib/components/viewer-log/viewer-log.module.js +1 -1
  718. package/esm2015/lib/components/vocabulary/interfaces/op-type.interface.js +1 -1
  719. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +1 -1
  720. package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +1 -1
  721. package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +1 -1
  722. package/esm2015/lib/components/vocabulary/vocabulary.module.js +1 -1
  723. package/esm2015/lib/configuration/app-config.service.js +1 -1
  724. package/esm2015/lib/configuration/helpers/app-initializer.js +1 -1
  725. package/esm2015/lib/core/adapters/adapter.service.js +1 -1
  726. package/esm2015/lib/core/core.module.js +1 -1
  727. package/esm2015/lib/core/enums/language.enum.js +1 -1
  728. package/esm2015/lib/core/env/env-manager.js +1 -1
  729. package/esm2015/lib/core/env/index.js +1 -1
  730. package/esm2015/lib/core/models/api-response.model.js +1 -1
  731. package/esm2015/lib/core/models/automation-response.model.js +1 -1
  732. package/esm2015/lib/core/models/base-response.models.js +1 -1
  733. package/esm2015/lib/core/models/component.model.js +1 -1
  734. package/esm2015/lib/core/models/index.js +1 -1
  735. package/esm2015/lib/core/services/callApi/call-api.service.js +1 -1
  736. package/esm2015/lib/core/services/column-renderer/column-renderer-registry.service.js +1 -1
  737. package/esm2015/lib/core/services/column-renderer/index.js +1 -1
  738. package/esm2015/lib/core/services/extension/action.extensions.js +1 -1
  739. package/esm2015/lib/core/services/extension/component-register.service.js +1 -1
  740. package/esm2015/lib/core/services/extension/extenion-utils.js +1 -1
  741. package/esm2015/lib/core/services/extension/extension-element.js +1 -1
  742. package/esm2015/lib/core/services/extension/extension-loader.service.js +1 -1
  743. package/esm2015/lib/core/services/extension/extension.service.js +1 -1
  744. package/esm2015/lib/core/services/index.js +1 -1
  745. package/esm2015/lib/core/services/initialization/initialization.service.js +1 -1
  746. package/esm2015/lib/core/services/localStorag/local-storag.service.js +1 -1
  747. package/esm2015/lib/core/services/ndf-transform.service.js +1 -1
  748. package/esm2015/lib/core/services/nuxeo/new-nuxeo-overide.js +1 -1
  749. package/esm2015/lib/core/services/nuxeo/nuxeo-override.js +1 -1
  750. package/esm2015/lib/core/services/nuxeo/nuxeo.service.js +1 -1
  751. package/esm2015/lib/core/services/roles/roles.service.js +1 -1
  752. package/esm2015/lib/core/services/translation/translate-loader.service.js +1 -1
  753. package/esm2015/lib/core/services/translation/translation.service.js +1 -1
  754. package/esm2015/lib/core/services/user/user-preferences.service.js +1 -1
  755. package/esm2015/lib/core/tokens/index.js +1 -1
  756. package/esm2015/lib/core/tokens/project.token.js +1 -1
  757. package/esm2015/lib/core/utilities/moment-date-adapter.js +1 -1
  758. package/esm2015/lib/core/utilities/utility.service.js +1 -1
  759. package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +1 -1
  760. package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +1 -1
  761. package/esm2015/lib/directive/directive.module.js +1 -1
  762. package/esm2015/lib/directive/drag-and-drop/drag-and-drop.directive.js +1 -1
  763. package/esm2015/lib/directive/permissions/evaluators.service.js +1 -1
  764. package/esm2015/lib/directive/permissions/permissions.directive.js +1 -1
  765. package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +1 -1
  766. package/esm2015/lib/directive/rtl/set-rtl.directive.js +1 -1
  767. package/esm2015/lib/nuxeo-development-framework.component.js +1 -1
  768. package/esm2015/lib/nuxeo-development-framework.module.js +1 -1
  769. package/esm2015/lib/nuxeo-development-framework.service.js +1 -1
  770. package/esm2015/lib/pipes/file-size.pipe.js +1 -1
  771. package/esm2015/lib/pipes/hijri-date.pipe.js +1 -1
  772. package/esm2015/lib/pipes/localized-date.pipe.js +1 -1
  773. package/esm2015/lib/pipes/multi-value.pipe.js +1 -1
  774. package/esm2015/lib/pipes/pipes.module.js +1 -1
  775. package/esm2015/lib/pipes/secure-html.pipe.js +1 -1
  776. package/esm2015/lib/pipes/secure.pipe.js +1 -1
  777. package/esm2015/lib/pipes/time-ago.pipe.js +1 -1
  778. package/esm2015/lib/shared/components/base/base-column.component.js +1 -1
  779. package/esm2015/lib/shared/components/base/base-dialog.component.js +1 -1
  780. package/esm2015/lib/shared/components/base/base-selector.component.js +1 -1
  781. package/esm2015/lib/shared/components/base/base.component.js +1 -1
  782. package/esm2015/lib/shared/components/base/destroy.subject.js +1 -1
  783. package/esm2015/lib/shared/components/base/index.js +1 -1
  784. package/esm2015/lib/shared/components/button/button.component.js +1 -1
  785. package/esm2015/lib/shared/components/general-notification-popup/general-notification-popup.component.js +1 -1
  786. package/esm2015/lib/shared/components/index.js +1 -1
  787. package/esm2015/lib/shared/components/item-list/item-list.component.js +2 -2
  788. package/esm2015/lib/shared/components/no-data/no-data.component.js +1 -1
  789. package/esm2015/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.js +1 -1
  790. package/esm2015/lib/shared/components/nuxeo-dialog/index.js +1 -1
  791. package/esm2015/lib/shared/components/nuxeo-dialog/models/confirm-options.model.js +1 -1
  792. package/esm2015/lib/shared/components/nuxeo-dialog/models/dialog-option.model.js +1 -1
  793. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.js +1 -1
  794. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +2 -2
  795. package/esm2015/lib/shared/components/nuxeo-dialog/services/nuxeo-dialog.service.js +1 -1
  796. package/esm2015/lib/shared/components/read-more/read-more.component.js +1 -1
  797. package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +1 -1
  798. package/esm2015/lib/shared/components/spinner/spinner.component.js +1 -1
  799. package/esm2015/lib/shared/components/user-card/user-card.component.js +1 -1
  800. package/esm2015/lib/shared/constants/editor-config-type.js +1 -1
  801. package/esm2015/lib/shared/constants/index.js +1 -1
  802. package/esm2015/lib/shared/directives/copy-to-clipboard.directive.js +1 -1
  803. package/esm2015/lib/shared/directives/element-height.directive.js +1 -1
  804. package/esm2015/lib/shared/directives/fluid-height.directive.js +1 -1
  805. package/esm2015/lib/shared/directives/index.js +1 -1
  806. package/esm2015/lib/shared/evaluator/evaluator.js +1 -1
  807. package/esm2015/lib/shared/evaluator/index.js +1 -1
  808. package/esm2015/lib/shared/evaluator/types.js +1 -1
  809. package/esm2015/lib/shared/index.js +1 -1
  810. package/esm2015/lib/shared/libraryShared.module.js +1 -1
  811. package/esm2015/lib/shared/models/index.js +1 -1
  812. package/esm2015/lib/shared/models/mapper/index.js +1 -1
  813. package/esm2015/lib/shared/models/mapper/nuxeo-mapper.js +1 -1
  814. package/esm2015/lib/shared/models/ndf-request.model.js +1 -1
  815. package/esm2015/lib/shared/models/nuxeo-response.model.js +1 -1
  816. package/esm2015/lib/shared/models/task.model.js +1 -1
  817. package/esm2015/lib/shared/models/type-helpers.js +1 -1
  818. package/esm2015/lib/shared/services/base/base-editor-config.service.js +1 -1
  819. package/esm2015/lib/shared/services/base/base.service.js +9 -10
  820. package/esm2015/lib/shared/services/base/cache-base.service.js +1 -1
  821. package/esm2015/lib/shared/services/base/config/default-ttl-config.js +1 -1
  822. package/esm2015/lib/shared/services/base/config/index.js +1 -1
  823. package/esm2015/lib/shared/services/base/constants/default-cache-options.js +1 -1
  824. package/esm2015/lib/shared/services/base/constants/index.js +1 -1
  825. package/esm2015/lib/shared/services/base/http-base.service.js +1 -1
  826. package/esm2015/lib/shared/services/base/index.js +1 -1
  827. package/esm2015/lib/shared/services/base/models/cache-info-model.js +1 -1
  828. package/esm2015/lib/shared/services/base/models/http-options.model.js +1 -1
  829. package/esm2015/lib/shared/services/base/models/index.js +1 -1
  830. package/esm2015/lib/shared/services/base/models/operation-options.model.js +1 -1
  831. package/esm2015/lib/shared/services/base/models/query-options.model.js +1 -1
  832. package/esm2015/lib/shared/services/base/models/request-options.model.js +1 -1
  833. package/esm2015/lib/shared/services/base/override-token.service.js +1 -1
  834. package/esm2015/lib/shared/services/index.js +1 -1
  835. package/esm2015/lib/shared-services/apis-errors-messages.service.js +1 -1
  836. package/esm2015/lib/shared-services/dialog-mangment.service.js +1 -1
  837. package/esm2015/lib/shared-services/dynamic-form.service.js +1 -1
  838. package/esm2015/lib/shared-services/file-manager.adapter.js +1 -1
  839. package/esm2015/lib/shared-services/file-manager.service.js +1 -1
  840. package/esm2015/lib/shared-services/global-admin.service.js +1 -1
  841. package/esm2015/lib/shared-services/global-pdftron.service.js +1 -1
  842. package/esm2015/lib/shared-services/mainfolder.service.js +1 -1
  843. package/esm2015/lib/shared-services/publishing-document.service.js +1 -1
  844. package/esm2015/lib/shared-services/recently-viewed.service.js +1 -1
  845. package/esm2015/lib/shared-services/shared-docs.service.js +1 -1
  846. package/esm2015/lib/shared-services/shared-services.module.js +1 -1
  847. package/esm2015/lib/shared-services/upload-file.service.js +1 -1
  848. package/esm2015/lib/shared-services/upload-managment.service.js +1 -1
  849. package/esm2015/lib/shared-services/user.service.js +1 -1
  850. package/esm2015/nuxeo-development-framework.js +1 -1
  851. package/esm2015/public-api.js +1 -1
  852. package/fesm2015/nuxeo-development-framework.js +1625 -1369
  853. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  854. package/lib/components/diagrams/components/custom-connection.component.d.ts +1 -1
  855. package/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.d.ts +1 -1
  856. package/lib/components/reports/charts/components/base-chart.component.d.ts +1 -1
  857. package/lib/components/reports/ndf-reports/base/base-chart.d.ts +1 -1
  858. package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +2 -18
  859. package/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.d.ts +1 -1
  860. package/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.d.ts +14 -6
  861. package/lib/components/reports/ndf-reports/directives/empty-content-template.directive.d.ts +9 -0
  862. package/lib/components/reports/ndf-reports/directives/header-panel-template.directive.d.ts +9 -0
  863. package/lib/components/reports/ndf-reports/directives/index.d.ts +2 -0
  864. package/lib/components/reports/ndf-reports/models/common.d.ts +9 -1
  865. package/lib/components/reports/ndf-reports/models/dynamic-line.d.ts +4 -5
  866. package/lib/components/reports/ndf-reports/models/ndf-reports.config.d.ts +4 -1
  867. package/lib/components/reports/ndf-reports/ndf-reports.module.d.ts +29 -26
  868. package/lib/components/reports/ndf-reports/pipes/check-condition.pipe.d.ts +8 -0
  869. package/lib/components/reports/ndf-reports/public-api.d.ts +5 -4
  870. package/lib/components/reports/ndf-reports/services/base-chart-builder.service.d.ts +14 -14
  871. package/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.d.ts +4 -2
  872. package/lib/components/reports/ndf-reports/services/index.d.ts +11 -10
  873. package/lib/components/reports/ndf-reports/services/ndf-reports.service.d.ts +15 -6
  874. package/lib/components/reports/ndf-reports/services/reports-hooks.service.d.ts +24 -0
  875. package/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.d.ts +23 -9
  876. package/lib/components/tables/dynamic-table/public-api.d.ts +2 -1
  877. package/lib/components/tables/dynamic-table/services/table-hooks.service.d.ts +13 -0
  878. package/lib/components/tables/ndf-table/components/table-export/table-export.component.d.ts +1 -1
  879. package/lib/components/tables/ndf-table/models/table-options.d.ts +1 -1
  880. package/lib/shared/services/base/base.service.d.ts +4 -2
  881. package/package.json +1 -1
@@ -1,21 +1,23 @@
1
- import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewEncapsulation } from '@angular/core';
1
+ import { __awaiter } from "tslib";
2
+ import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewEncapsulation, } from '@angular/core';
2
3
  import _ from 'lodash';
3
- import { catchError, map, startWith } from 'rxjs/operators';
4
+ import { catchError, map, startWith, takeUntil } from 'rxjs/operators';
5
+ import { DestroySubject } from '../../../../shared';
4
6
  import { EMPTY_TEMPLATE } from '../directives/empty-state.directive';
5
- import { Evaluator } from '../../../../shared';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "../../../../core/adapters/adapter.service";
8
9
  import * as i2 from "../../../../core/services/callApi/call-api.service";
9
10
  import * as i3 from "../../../../core/services/nuxeo/nuxeo.service";
10
11
  import * as i4 from "../services/dynamic-table.service";
11
- import * as i5 from "../../../../shared/components/spinner/spinner.component";
12
- import * as i6 from "../../../pagination/pagination/pagination.component";
13
- import * as i7 from "../../table/page-sizes-list/page-sizes-list.component";
14
- import * as i8 from "../../table/table/table.component";
15
- import * as i9 from "@angular/material/progress-spinner";
16
- import * as i10 from "../../../skeleton/skeleton.component";
17
- import * as i11 from "@angular/common";
18
- import * as i12 from "@ngx-translate/core";
12
+ import * as i5 from "../services/table-hooks.service";
13
+ import * as i6 from "../../../../shared/components/spinner/spinner.component";
14
+ import * as i7 from "../../../pagination/pagination/pagination.component";
15
+ import * as i8 from "../../table/page-sizes-list/page-sizes-list.component";
16
+ import * as i9 from "../../table/table/table.component";
17
+ import * as i10 from "@angular/material/progress-spinner";
18
+ import * as i11 from "../../../skeleton/skeleton.component";
19
+ import * as i12 from "@angular/common";
20
+ import * as i13 from "@ngx-translate/core";
19
21
  /**
20
22
  * this component is an additional layer that uses [Table Component]{@link TableComponent} internally,
21
23
  * you can use this component to configure a page provider listing out of the box easily,
@@ -43,13 +45,15 @@ import * as i12 from "@ngx-translate/core";
43
45
  * (actionOnRow)="performAction($event)">
44
46
  * </cts-dynamic-table>
45
47
  */
46
- export class DynamicTableComponent {
47
- constructor(adapter, callApi, nuxeoService, dynamicTableService, cdr) {
48
+ export class DynamicTableComponent extends DestroySubject {
49
+ constructor(adapter, callApi, nuxeoService, dynamicTableService, cdr, _tableHooksService) {
50
+ super();
48
51
  this.adapter = adapter;
49
52
  this.callApi = callApi;
50
53
  this.nuxeoService = nuxeoService;
51
54
  this.dynamicTableService = dynamicTableService;
52
55
  this.cdr = cdr;
56
+ this._tableHooksService = _tableHooksService;
53
57
  /** event to emit when selecting single row */
54
58
  this.onRowSelected = new EventEmitter();
55
59
  /** event to emit when selecting single row to catch index*/
@@ -111,7 +115,9 @@ export class DynamicTableComponent {
111
115
  return this._pageNumber;
112
116
  }
113
117
  ngOnInit() {
114
- this.myDataSubscription = this.dynamicTableService.refreshData.pipe(startWith(null)).subscribe((filterData) => {
118
+ this.dynamicTableService.refreshData
119
+ .pipe(startWith(null), takeUntil(this.destroy$))
120
+ .subscribe((filterData) => {
115
121
  if (filterData) {
116
122
  this.filterParams = Object.assign({}, filterData);
117
123
  // reset page number when start new filtering
@@ -120,9 +126,6 @@ export class DynamicTableComponent {
120
126
  this.getData();
121
127
  });
122
128
  }
123
- ngOnDestroy() {
124
- this.myDataSubscription ? this.myDataSubscription.unsubscribe() : '';
125
- }
126
129
  ngOnChanges(changes) {
127
130
  const isFirstChange = Object.values(changes).some((c) => c.isFirstChange());
128
131
  if (isFirstChange) {
@@ -149,91 +152,100 @@ export class DynamicTableComponent {
149
152
  this.onPage.emit({
150
153
  pageIndex: this._pageNumber,
151
154
  pageSize: this.pageSize,
152
- length: this.totalRecords
155
+ length: this.totalRecords,
153
156
  });
154
157
  }
155
158
  getData(payload = {}, headers = {}) {
156
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
157
- this.loading = true; // internal loading
158
- this.onLoading.emit(true); // external loading
159
- let params = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (this.range ? { dublincore_created_agg: this.range } : {})), this.filterParams), this.queryParam), this.quickFilter), (Object.keys(this.sortingBy || {}).length
160
- ? {
161
- sortBy: (_a = this.sortingBy) === null || _a === void 0 ? void 0 : _a.sortBy,
162
- sortOrder: (_b = this.sortingBy) === null || _b === void 0 ? void 0 : _b.sortOrder
163
- }
164
- : {})), { currentPageIndex: +this.pageNum - 1 }), (this.pageSize ? { pageSize: this.pageSize } : {})), { offset: 0 }), payload);
165
- // don't refresh all table in case of sorting only
166
- if (!this.sorting && this.isLegacyMode) {
167
- // used to not refreshing all table in case of sorting since table lose sorting state when refresh all table
168
- this.rows = []; // used to refresh table to feel changes in actions when perform action and need to refresh actions
169
- }
170
- this.sorting = false; // reset sorting status to false and for next sorting func sorting set it to true again
171
- const _headers = Object.assign(Object.assign({}, this.headers), headers);
172
- let _providerPayload = {
173
- query: Object.assign({ pageProvider: this.pageProvider }, params),
174
- options: {
175
- headers: _headers
176
- }
177
- };
178
- let _customPayload = {
179
- params: Object.assign(Object.assign({}, params), (((_c = this.customFilters) === null || _c === void 0 ? void 0 : _c.params) || {})),
180
- headers: _headers,
181
- payload: _.merge({}, ((_d = this.customUrl) === null || _d === void 0 ? void 0 : _d.payload) || {}, ((_e = this.customFilters) === null || _e === void 0 ? void 0 : _e.payload) || {})
182
- };
183
- if (((_f = this.requestActions) === null || _f === void 0 ? void 0 : _f.beforeSubmit) && typeof ((_g = this.requestActions) === null || _g === void 0 ? void 0 : _g.beforeSubmit) === 'string') {
184
- try {
185
- if (this.customUrl) {
186
- _customPayload = Evaluator.evaluate((_h = this.requestActions) === null || _h === void 0 ? void 0 : _h.beforeSubmit, { criteria: _customPayload }, 'payload');
187
- }
188
- else {
189
- _providerPayload = Evaluator.evaluate((_j = this.requestActions) === null || _j === void 0 ? void 0 : _j.beforeSubmit, { criteria: _providerPayload }, 'payload');
159
+ var _a, _b, _c, _d, _e, _f, _g, _h;
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ this.loading = true; // internal loading
162
+ this.onLoading.emit(true); // external loading
163
+ let params = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, (this.range ? { dublincore_created_agg: this.range } : {})), this.filterParams), this.queryParam), this.quickFilter), (Object.keys(this.sortingBy || {}).length
164
+ ? {
165
+ sortBy: (_a = this.sortingBy) === null || _a === void 0 ? void 0 : _a.sortBy,
166
+ sortOrder: (_b = this.sortingBy) === null || _b === void 0 ? void 0 : _b.sortOrder,
190
167
  }
168
+ : {})), { currentPageIndex: +this.pageNum - 1 }), (this.pageSize ? { pageSize: this.pageSize } : {})), { offset: 0 }), payload);
169
+ // don't refresh all table in case of sorting only
170
+ if (!this.sorting && this.isLegacyMode) {
171
+ // used to not refreshing all table in case of sorting since table lose sorting state when refresh all table
172
+ this.rows = []; // used to refresh table to feel changes in actions when perform action and need to refresh actions
191
173
  }
192
- catch (e) {
193
- console.error(e);
174
+ this.sorting = false; // reset sorting status to false and for next sorting func sorting set it to true again
175
+ const _headers = Object.assign(Object.assign({}, this.headers), headers);
176
+ let _providerPayload = {
177
+ query: Object.assign(Object.assign({ pageProvider: this.pageProvider }, params), (((_c = this.customFilters) === null || _c === void 0 ? void 0 : _c.params) || {})),
178
+ options: {
179
+ headers: _headers,
180
+ },
181
+ };
182
+ let _customPayload = {
183
+ url: (_d = this.customUrl) === null || _d === void 0 ? void 0 : _d.url,
184
+ params: Object.assign(Object.assign({}, params), (((_e = this.customFilters) === null || _e === void 0 ? void 0 : _e.params) || {})),
185
+ headers: _headers,
186
+ payload: _.merge({}, ((_f = this.customUrl) === null || _f === void 0 ? void 0 : _f.payload) || {}, ((_g = this.customFilters) === null || _g === void 0 ? void 0 : _g.payload) || {}),
187
+ };
188
+ let requestData = this.customUrl
189
+ ? _customPayload
190
+ : _providerPayload;
191
+ const beforeSubmitString = (_h = this.requestActions) === null || _h === void 0 ? void 0 : _h.beforeSubmit;
192
+ if (typeof beforeSubmitString === 'string') {
193
+ requestData = yield this._tableHooksService.evaluate(beforeSubmitString, requestData);
194
194
  }
195
- }
196
- const query$ = this.customUrl
197
- ? this.callApi.customQuery(this.customUrl, _customPayload.params, _customPayload.headers, _customPayload.payload)
198
- : this.callApi.query(_providerPayload.query, _providerPayload.options);
199
- query$
200
- .pipe(map((data) => {
201
- data.entries.map((item) => this.adapter.adaptIn(item, this.fields));
202
- return data;
203
- }), catchError((err) => {
204
- throw err;
205
- }))
206
- .subscribe((res) => {
207
- this.loading = false;
208
- this.onLoading.emit(false);
209
- this.onLoad.emit(res);
210
- if (!this.initialized) {
211
- this.onInitialize.emit(res);
212
- this.initialized = true;
195
+ requestData = yield this._tableHooksService.executeBeforeSubmit(requestData);
196
+ let query$;
197
+ if (this.customUrl) {
198
+ const _request = requestData;
199
+ query$ = this.callApi.customQuery({
200
+ url: _request.url,
201
+ method: this.customUrl.method,
202
+ }, _request.params, _request.headers, _request.payload);
213
203
  }
214
- res.entries.forEach((element) => {
215
- var _a, _b, _c, _d, _e, _f, _g, _h;
216
- if (element.properties && ((_a = element.properties) === null || _a === void 0 ? void 0 : _a.creator) && ((_b = element.properties.creator) === null || _b === void 0 ? void 0 : _b.properties)) {
217
- element.properties['creatorFullObject'] = Object.assign({}, element.properties.creator);
218
- element.properties.creator =
219
- ((_d = (_c = element.properties.creator) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.firstName) +
220
- ' ' +
221
- ((_f = (_e = element.properties.creator) === null || _e === void 0 ? void 0 : _e.properties) === null || _f === void 0 ? void 0 : _f.lastName);
222
- }
223
- if (element.properties && ((_g = element.properties) === null || _g === void 0 ? void 0 : _g.assignee)) {
224
- element.properties.assignee = (_h = element.properties) === null || _h === void 0 ? void 0 : _h.assignee.fullName;
204
+ else {
205
+ const _request = requestData;
206
+ query$ = this.callApi.query(_request.query, _request.options);
207
+ }
208
+ query$
209
+ .pipe(map((data) => {
210
+ data.entries.map((item) => this.adapter.adaptIn(item, this.fields));
211
+ return data;
212
+ }), catchError((err) => {
213
+ throw err;
214
+ }), takeUntil(this.destroy$))
215
+ .subscribe((res) => {
216
+ this.loading = false;
217
+ this.onLoading.emit(false);
218
+ this.onLoad.emit(res);
219
+ if (!this.initialized) {
220
+ this.onInitialize.emit(res);
221
+ this.initialized = true;
225
222
  }
226
- // if(this.higlightUnread){
227
- // this.cechkIfReadOrNot(element.properties);
228
- // }
223
+ res.entries.forEach((element) => {
224
+ var _a, _b, _c, _d, _e, _f, _g, _h;
225
+ if (element.properties &&
226
+ ((_a = element.properties) === null || _a === void 0 ? void 0 : _a.creator) &&
227
+ ((_b = element.properties.creator) === null || _b === void 0 ? void 0 : _b.properties)) {
228
+ element.properties['creatorFullObject'] = Object.assign({}, element.properties.creator);
229
+ element.properties.creator =
230
+ ((_d = (_c = element.properties.creator) === null || _c === void 0 ? void 0 : _c.properties) === null || _d === void 0 ? void 0 : _d.firstName) +
231
+ ' ' +
232
+ ((_f = (_e = element.properties.creator) === null || _e === void 0 ? void 0 : _e.properties) === null || _f === void 0 ? void 0 : _f.lastName);
233
+ }
234
+ if (element.properties && ((_g = element.properties) === null || _g === void 0 ? void 0 : _g.assignee)) {
235
+ element.properties.assignee = (_h = element.properties) === null || _h === void 0 ? void 0 : _h.assignee.fullName;
236
+ }
237
+ // if(this.higlightUnread){
238
+ // this.cechkIfReadOrNot(element.properties);
239
+ // }
240
+ });
241
+ this.totalRecords = res.resultsCount;
242
+ this.rows = res.entries;
243
+ this.cdr.detectChanges();
244
+ // emit data to outside in case of search page for the first time only to prevent refreshing aggregation with every page change
245
+ // and for any other page type emit data directly in all page numbers
246
+ if ((this.isSearchPage && this.pageNum === 1) || !this.isSearchPage)
247
+ this.onGettingData.emit(res);
229
248
  });
230
- this.totalRecords = res.resultsCount;
231
- this.rows = res.entries;
232
- this.cdr.detectChanges();
233
- // emit data to outside in case of search page for the first time only to prevent refreshing aggregation with every page change
234
- // and for any other page type emit data directly in all page numbers
235
- if ((this.isSearchPage && this.pageNum === 1) || !this.isSearchPage)
236
- this.onGettingData.emit(res);
237
249
  });
238
250
  }
239
251
  // function to be executed when clicking on single row
@@ -263,7 +275,7 @@ export class DynamicTableComponent {
263
275
  this.onPage.emit({
264
276
  pageIndex: this._pageNumber,
265
277
  pageSize: this.pageSize,
266
- length: this.totalRecords
278
+ length: this.totalRecords,
267
279
  });
268
280
  this.getData({}, this.skipAggregation === 'onPageChange' ? { skipAggregates: 'true' } : {});
269
281
  }
@@ -276,8 +288,10 @@ export class DynamicTableComponent {
276
288
  // check if loged in user is in viewers array or not
277
289
  if (element['viewers:users'] && element['viewers:users'].length) {
278
290
  element.isReaded = false;
279
- element['viewers:users'].map(user => {
280
- if (user.username === this.nuxeoService.nuxeoClient.user.properties.username && user.state === "read") {
291
+ element['viewers:users'].map((user) => {
292
+ if (user.username ===
293
+ this.nuxeoService.nuxeoClient.user.properties.username &&
294
+ user.state === 'read') {
281
295
  element.isReaded = true;
282
296
  }
283
297
  });
@@ -287,8 +301,8 @@ export class DynamicTableComponent {
287
301
  }
288
302
  }
289
303
  }
290
- DynamicTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableComponent, deps: [{ token: i1.AdapterService }, { token: i2.CallApiService }, { token: i3.NuxeoService }, { token: i4.DynamicTableService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
291
- DynamicTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTableComponent, selector: "cts-dynamic-table", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", higlightUnread: "higlightUnread", isLegacyMode: "isLegacyMode", showTotalRecord: "showTotalRecord", pageNumber: "pageNumber", sortingBy: "sortingBy", queryParam: "queryParam", customFilters: "customFilters", quickFilter: "quickFilter", report: "report", rowCursor: "rowCursor", fullWidth: "fullWidth", tableMode: "tableMode", componentName: "componentName", tableActions: "tableActions", defultSort: "defultSort", range: "range", isSearchPage: "isSearchPage", multiSelectRows: "multiSelectRows", customFirstRow: "customFirstRow", highlightSelectedCard: "highlightSelectedCard", showActionsAsMenu: "showActionsAsMenu", filterParams: "filterParams", skipAggregation: "skipAggregation", customUrl: "customUrl", format: "format", requestActions: "requestActions", pageSizes: "pageSizes" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", actionOnRow: "actionOnRow", onGettingData: "onGettingData", onMultiRowSelected: "onMultiRowSelected", onLoading: "onLoading", sortChanged: "sortChanged", onPageChange: "onPageChange", onPage: "onPage", onLoad: "onLoad", onInitialize: "onInitialize" }, host: { properties: { "class.loading-results": "loading", "class.no-data": "rows.length <= 0" } }, queries: [{ propertyName: "emptyTemplate", first: true, predicate: EMPTY_TEMPLATE, descendants: true, read: TemplateRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"wrapping table-wrapping\">\r\n\t<ng-container *ngIf=\"isLegacyMode\">\r\n\t\t<div class=\"table-reposition\">\r\n\t\t\t<ng-container *ngIf=\"rows.length\" [ngTemplateOutlet]=\"table\"></ng-container>\r\n\t\t</div>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<cts-spinner></cts-spinner>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<div class=\"table-reposition\" *ngIf=\"!isLegacyMode\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"table\"></ng-container>\r\n\t\t<ng-container\r\n\t\t\t*ngIf=\"!initialized\"\r\n\t\t\t[ngTemplateOutlet]=\"skeleton\"\r\n\t\t\t[ngTemplateOutletContext]=\"{ $implicit: 10 }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n\r\n\t<div\r\n\t\tclass=\"pagination-iner-wraper my-3\"\r\n\t\t[ngClass]=\"{ relative: pageSizes?.length }\"\r\n\t\t*ngIf=\"rows.length \"\r\n\t>\r\n\t\t<cts-pagination\r\n *ngIf=\"totalRecords > pageSize\"\r\n\t\t\t[page]=\"pageNum\"\r\n\t\t\t(change)=\"paginationChange($event)\"\r\n\t\t\t[size]=\"pageSize\"\r\n\t\t\t[count]=\"totalRecords\"\r\n\t\t></cts-pagination>\r\n\t\t<div class=\"absolute ndfPageSizes flex gap-x-3 items-center mt-2\">\r\n\t\t\t<ndf-page-sizes-list\r\n\t\t\t\t*ngIf=\"pageSizes?.length\"\r\n\t\t\t\t[pageSizes]=\"pageSizes\"\r\n\t\t\t\t[selectedPageSize]=\"pageSize\"\r\n\t\t\t\t(onChangePageSize)=\"onChangePageSize($event)\"\r\n\t\t\t>\r\n\t\t\t</ndf-page-sizes-list>\r\n\r\n\t\t\t<span *ngIf=\"showTotalRecord\">{{ 'TABLE.totalRecords' | translate: { count: totalRecords } }}</span>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<ng-container\r\n\t\t*ngIf=\"isLegacyMode\"\r\n\t\t[ngTemplateOutlet]=\"emptyTemplate || legacyDefaultEmptyState\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: loading, rows: rows, initialized: initialized }\"\r\n\t></ng-container>\r\n\r\n\t<ng-container\r\n\t\t*ngIf=\"!isLegacyMode\"\r\n\t\t[ngTemplateOutlet]=\"emptyTemplate || defaultEmptyState\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: loading, rows: rows, initialized: initialized }\"\r\n\t></ng-container>\r\n</div>\r\n\r\n<ng-template #table>\r\n\t<cts-table\r\n\t\t[rows]=\"rows\"\r\n\t\t[columns]=\"columns\"\r\n\t\t[responsiveColumns]=\"responsiveColumns\"\r\n\t\t[rowCursor]=\"rowCursor\"\r\n\t\t[fullWidth]=\"fullWidth\"\r\n\t\t[entityType]=\"entityType\"\r\n\t\t[prefix]=\"prefix\"\r\n\t\t[totalRecords]=\"totalRecords\"\r\n\t\t[tableMode]=\"tableMode\"\r\n\t\t[higlightUnread]=\"higlightUnread\"\r\n\t\t[componentName]=\"componentName\"\r\n\t\t[multiSelectRows]=\"multiSelectRows\"\r\n\t\t[tableActions]=\"tableActions\"\r\n\t\t[showActionsAsMenu]=\"showActionsAsMenu\"\r\n\t\t[defultSort]=\"defultSort\"\r\n\t\t[format]=\"format\"\r\n\t\t[highlightSelectedCard]=\"highlightSelectedCard\"\r\n\t\t[customFirstRow]=\"customFirstRow\"\r\n\t\t(onRowSelected)=\"rowDetails($event)\"\r\n\t\t(onRowIndexSelected)=\"indexDetails($event)\"\r\n\t\t(onMultiRowSelected)=\"onMultiRowSelectValue($event)\"\r\n\t\t(actionOnRow)=\"performAction($event)\"\r\n\t\t(onSorting)=\"onSort($event)\"\r\n\t></cts-table>\r\n</ng-template>\r\n\r\n<ng-template #legacyDefaultEmptyState>\r\n\t<div class=\"empty-state\" *ngIf=\"!loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'noData' : 'noData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"empty-state\" *ngIf=\"loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'gettingData' : 'gettingData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #defaultEmptyState>\r\n\t<div class=\"empty-state\" *ngIf=\"!loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'noData' : 'noData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\t<div *ngIf=\"loading && initialized\" class=\"loading-content\">\r\n\t\t<mat-spinner [diameter]=\"100\"></mat-spinner>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #skeleton let-rows>\r\n\t<table class=\"w-full\">\r\n\t\t<thead *ngIf=\"false\">\r\n\t\t\t<tr class=\"border-b border-green-900\">\r\n\t\t\t\t<th *ngIf=\"multiSelectRows\" class=\"p-3 py-4\" style=\"width: 60px\">\r\n\t\t\t\t\t<app-skeleton width=\"60px\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</th>\r\n\t\t\t\t<th *ngFor=\"let num of [].constructor(columns?.length || 4); let i = index\" class=\"px-3 py-4\">\r\n\t\t\t\t\t<app-skeleton [randomWidth]=\"true\" height=\"1.7rem\"></app-skeleton>\r\n\t\t\t\t</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t\t<tbody>\r\n\t\t\t<tr *ngFor=\"let row of [].constructor(rows || 10); let index = index\" class=\"border-b border-gray-200\">\r\n\t\t\t\t<td *ngIf=\"multiSelectRows\" class=\"p-3 py-4\" style=\"width: 50px\">\r\n\t\t\t\t\t<app-skeleton width=\"50px\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td *ngFor=\"let col of [].constructor(columns?.length || 4); let i = index\" class=\"p-3 py-4\">\r\n\t\t\t\t\t<app-skeleton [randomWidth]=\"true\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</tbody>\r\n\t</table>\r\n</ng-template>\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}.wrapping{position:relative}.wrapping .table-reposition{overflow-y:var(--table-reposition-overflow-y, hidden);scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;overflow-x:hidden}.empty-state{padding:200px;display:flex;justify-content:center;align-items:center;font-size:20px;font-weight:bold}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#b4bac6}.dark-scroll::-webkit-scrollbar-thumb{background:#8f98aa}.ndfPageSizes{right:0;left:unset}.rtl .ndfPageSizes{right:unset;left:0}.loading-content{position:var(--loading-content-position, absolute);inset:0;display:grid;place-items:center;background:var(--loading-content-background, rgba(255, 255, 255, .2));-webkit-backdrop-filter:var(--loading-content-backdrop-filter, blur(3px));backdrop-filter:var(--loading-content-backdrop-filter, blur(3px))}.pagination-iner-wraper{display:var(--pagination-inner-display, flex);justify-content:var(--pagination-inner-justify, center);align-items:var(--pagination-inner-align, center)}\n"], components: [{ type: i5.SpinnerComponent, selector: "cts-spinner" }, { type: i6.PaginationComponent, selector: "cts-pagination", inputs: ["size", "count", "page"], outputs: ["change"] }, { type: i7.PageSizesListComponent, selector: "ndf-page-sizes-list", inputs: ["pageSizes", "selectedPageSize"], outputs: ["onChangePageSize"] }, { type: i8.TableComponent, selector: "cts-table", inputs: ["rows", "columns", "responsiveColumns", "entityType", "prefix", "pageCount", "totalRecords", "rowCursor", "fullWidth", "vocItemTranslationPrefix", "higlightUnread", "tableMode", "componentName", "tableActions", "format", "defultSort", "highlightSelectedCard", "multiSelectRows", "customFirstRow", "showActionsAsMenu", "messages", "defaultColumnSize"], outputs: ["onRowSelected", "onRowIndexSelected", "onIconSelected", "actionOnRow", "onSorting", "onMultiRowSelected"] }, { type: i9.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i10.SkeletonComponent, selector: "app-skeleton", inputs: ["styleClass", "style", "shape", "animation", "radius", "size", "width", "height", "randomWidth"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i11.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i11.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i12.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
304
+ DynamicTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableComponent, deps: [{ token: i1.AdapterService }, { token: i2.CallApiService }, { token: i3.NuxeoService }, { token: i4.DynamicTableService }, { token: i0.ChangeDetectorRef }, { token: i5.TableHooksService }], target: i0.ɵɵFactoryTarget.Component });
305
+ DynamicTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicTableComponent, selector: "cts-dynamic-table", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", higlightUnread: "higlightUnread", isLegacyMode: "isLegacyMode", showTotalRecord: "showTotalRecord", pageNumber: "pageNumber", sortingBy: "sortingBy", queryParam: "queryParam", customFilters: "customFilters", quickFilter: "quickFilter", report: "report", rowCursor: "rowCursor", fullWidth: "fullWidth", tableMode: "tableMode", componentName: "componentName", tableActions: "tableActions", defultSort: "defultSort", range: "range", isSearchPage: "isSearchPage", multiSelectRows: "multiSelectRows", customFirstRow: "customFirstRow", highlightSelectedCard: "highlightSelectedCard", showActionsAsMenu: "showActionsAsMenu", filterParams: "filterParams", skipAggregation: "skipAggregation", customUrl: "customUrl", format: "format", requestActions: "requestActions", pageSizes: "pageSizes" }, outputs: { onRowSelected: "onRowSelected", onRowIndexSelected: "onRowIndexSelected", actionOnRow: "actionOnRow", onGettingData: "onGettingData", onMultiRowSelected: "onMultiRowSelected", onLoading: "onLoading", sortChanged: "sortChanged", onPageChange: "onPageChange", onPage: "onPage", onLoad: "onLoad", onInitialize: "onInitialize" }, host: { properties: { "class.loading-results": "loading", "class.no-data": "rows.length <= 0" } }, queries: [{ propertyName: "emptyTemplate", first: true, predicate: EMPTY_TEMPLATE, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"wrapping table-wrapping\">\r\n\t<ng-container *ngIf=\"isLegacyMode\">\r\n\t\t<div class=\"table-reposition\">\r\n\t\t\t<ng-container *ngIf=\"rows.length\" [ngTemplateOutlet]=\"table\"></ng-container>\r\n\t\t</div>\r\n\t\t<ng-container *ngIf=\"loading\">\r\n\t\t\t<cts-spinner></cts-spinner>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<div class=\"table-reposition\" *ngIf=\"!isLegacyMode\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"table\"></ng-container>\r\n\t\t<ng-container\r\n\t\t\t*ngIf=\"!initialized\"\r\n\t\t\t[ngTemplateOutlet]=\"skeleton\"\r\n\t\t\t[ngTemplateOutletContext]=\"{ $implicit: 10 }\"\r\n\t\t></ng-container>\r\n\t</div>\r\n\r\n\t<div\r\n\t\tclass=\"pagination-iner-wraper my-3\"\r\n\t\t[ngClass]=\"{ relative: pageSizes?.length }\"\r\n\t\t*ngIf=\"rows.length \"\r\n\t>\r\n\t\t<cts-pagination\r\n *ngIf=\"totalRecords > pageSize\"\r\n\t\t\t[page]=\"pageNum\"\r\n\t\t\t(change)=\"paginationChange($event)\"\r\n\t\t\t[size]=\"pageSize\"\r\n\t\t\t[count]=\"totalRecords\"\r\n\t\t></cts-pagination>\r\n\t\t<div class=\"absolute ndfPageSizes flex gap-x-3 items-center mt-2\">\r\n\t\t\t<ndf-page-sizes-list\r\n\t\t\t\t*ngIf=\"pageSizes?.length\"\r\n\t\t\t\t[pageSizes]=\"pageSizes\"\r\n\t\t\t\t[selectedPageSize]=\"pageSize\"\r\n\t\t\t\t(onChangePageSize)=\"onChangePageSize($event)\"\r\n\t\t\t>\r\n\t\t\t</ndf-page-sizes-list>\r\n\r\n\t\t\t<span *ngIf=\"showTotalRecord\">{{ 'TABLE.totalRecords' | translate: { count: totalRecords } }}</span>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<ng-container\r\n\t\t*ngIf=\"isLegacyMode\"\r\n\t\t[ngTemplateOutlet]=\"emptyTemplate || legacyDefaultEmptyState\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: loading, rows: rows, initialized: initialized }\"\r\n\t></ng-container>\r\n\r\n\t<ng-container\r\n\t\t*ngIf=\"!isLegacyMode\"\r\n\t\t[ngTemplateOutlet]=\"emptyTemplate || defaultEmptyState\"\r\n\t\t[ngTemplateOutletContext]=\"{ $implicit: loading, rows: rows, initialized: initialized }\"\r\n\t></ng-container>\r\n</div>\r\n\r\n<ng-template #table>\r\n\t<cts-table\r\n\t\t[rows]=\"rows\"\r\n\t\t[columns]=\"columns\"\r\n\t\t[responsiveColumns]=\"responsiveColumns\"\r\n\t\t[rowCursor]=\"rowCursor\"\r\n\t\t[fullWidth]=\"fullWidth\"\r\n\t\t[entityType]=\"entityType\"\r\n\t\t[prefix]=\"prefix\"\r\n\t\t[totalRecords]=\"totalRecords\"\r\n\t\t[tableMode]=\"tableMode\"\r\n\t\t[higlightUnread]=\"higlightUnread\"\r\n\t\t[componentName]=\"componentName\"\r\n\t\t[multiSelectRows]=\"multiSelectRows\"\r\n\t\t[tableActions]=\"tableActions\"\r\n\t\t[showActionsAsMenu]=\"showActionsAsMenu\"\r\n\t\t[defultSort]=\"defultSort\"\r\n\t\t[format]=\"format\"\r\n\t\t[highlightSelectedCard]=\"highlightSelectedCard\"\r\n\t\t[customFirstRow]=\"customFirstRow\"\r\n\t\t(onRowSelected)=\"rowDetails($event)\"\r\n\t\t(onRowIndexSelected)=\"indexDetails($event)\"\r\n\t\t(onMultiRowSelected)=\"onMultiRowSelectValue($event)\"\r\n\t\t(actionOnRow)=\"performAction($event)\"\r\n\t\t(onSorting)=\"onSort($event)\"\r\n\t></cts-table>\r\n</ng-template>\r\n\r\n<ng-template #legacyDefaultEmptyState>\r\n\t<div class=\"empty-state\" *ngIf=\"!loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'noData' : 'noData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"empty-state\" *ngIf=\"loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'gettingData' : 'gettingData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #defaultEmptyState>\r\n\t<div class=\"empty-state\" *ngIf=\"!loading && rows.length === 0\">\r\n\t\t<div class=\"text\">\r\n\t\t\t{{ (prefix ? prefix + 'noData' : 'noData') | translate }}\r\n\t\t</div>\r\n\t</div>\r\n\t<div *ngIf=\"loading && initialized\" class=\"loading-content\">\r\n\t\t<mat-spinner [diameter]=\"100\"></mat-spinner>\r\n\t</div>\r\n</ng-template>\r\n\r\n<ng-template #skeleton let-rows>\r\n\t<table class=\"w-full\">\r\n\t\t<thead *ngIf=\"false\">\r\n\t\t\t<tr class=\"border-b border-green-900\">\r\n\t\t\t\t<th *ngIf=\"multiSelectRows\" class=\"p-3 py-4\" style=\"width: 60px\">\r\n\t\t\t\t\t<app-skeleton width=\"60px\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</th>\r\n\t\t\t\t<th *ngFor=\"let num of [].constructor(columns?.length || 4); let i = index\" class=\"px-3 py-4\">\r\n\t\t\t\t\t<app-skeleton [randomWidth]=\"true\" height=\"1.7rem\"></app-skeleton>\r\n\t\t\t\t</th>\r\n\t\t\t</tr>\r\n\t\t</thead>\r\n\t\t<tbody>\r\n\t\t\t<tr *ngFor=\"let row of [].constructor(rows || 10); let index = index\" class=\"border-b border-gray-200\">\r\n\t\t\t\t<td *ngIf=\"multiSelectRows\" class=\"p-3 py-4\" style=\"width: 50px\">\r\n\t\t\t\t\t<app-skeleton width=\"50px\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td *ngFor=\"let col of [].constructor(columns?.length || 4); let i = index\" class=\"p-3 py-4\">\r\n\t\t\t\t\t<app-skeleton [randomWidth]=\"true\" height=\"1.3rem\"></app-skeleton>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t</tbody>\r\n\t</table>\r\n</ng-template>\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}.wrapping{position:relative}.wrapping .table-reposition{overflow-y:var(--table-reposition-overflow-y, hidden);scrollbar-color:#b4bac6 transparent!important;scrollbar-width:thin!important;overflow-x:hidden}.empty-state{padding:200px;display:flex;justify-content:center;align-items:center;font-size:20px;font-weight:bold}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#b4bac6}.dark-scroll::-webkit-scrollbar-thumb{background:#8f98aa}.ndfPageSizes{right:0;left:unset}.rtl .ndfPageSizes{right:unset;left:0}.loading-content{position:var(--loading-content-position, absolute);inset:0;display:grid;place-items:center;background:var(--loading-content-background, rgba(255, 255, 255, .2));-webkit-backdrop-filter:var(--loading-content-backdrop-filter, blur(3px));backdrop-filter:var(--loading-content-backdrop-filter, blur(3px))}.pagination-iner-wraper{display:var(--pagination-inner-display, flex);justify-content:var(--pagination-inner-justify, center);align-items:var(--pagination-inner-align, center)}\n"], components: [{ type: i6.SpinnerComponent, selector: "cts-spinner" }, { type: i7.PaginationComponent, selector: "cts-pagination", inputs: ["size", "count", "page"], outputs: ["change"] }, { type: i8.PageSizesListComponent, selector: "ndf-page-sizes-list", inputs: ["pageSizes", "selectedPageSize"], outputs: ["onChangePageSize"] }, { type: i9.TableComponent, selector: "cts-table", inputs: ["rows", "columns", "responsiveColumns", "entityType", "prefix", "pageCount", "totalRecords", "rowCursor", "fullWidth", "vocItemTranslationPrefix", "higlightUnread", "tableMode", "componentName", "tableActions", "format", "defultSort", "highlightSelectedCard", "multiSelectRows", "customFirstRow", "showActionsAsMenu", "messages", "defaultColumnSize"], outputs: ["onRowSelected", "onRowIndexSelected", "onIconSelected", "actionOnRow", "onSorting", "onMultiRowSelected"] }, { type: i10.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i11.SkeletonComponent, selector: "app-skeleton", inputs: ["styleClass", "style", "shape", "animation", "radius", "size", "width", "height", "randomWidth"] }], directives: [{ type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i12.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i13.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
292
306
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicTableComponent, decorators: [{
293
307
  type: Component,
294
308
  args: [{
@@ -298,10 +312,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
298
312
  encapsulation: ViewEncapsulation.None,
299
313
  host: {
300
314
  '[class.loading-results]': 'loading',
301
- '[class.no-data]': 'rows.length <= 0'
302
- }
315
+ '[class.no-data]': 'rows.length <= 0',
316
+ },
303
317
  }]
304
- }], ctorParameters: function () { return [{ type: i1.AdapterService }, { type: i2.CallApiService }, { type: i3.NuxeoService }, { type: i4.DynamicTableService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onRowSelected: [{
318
+ }], ctorParameters: function () { return [{ type: i1.AdapterService }, { type: i2.CallApiService }, { type: i3.NuxeoService }, { type: i4.DynamicTableService }, { type: i0.ChangeDetectorRef }, { type: i5.TableHooksService }]; }, propDecorators: { onRowSelected: [{
305
319
  type: Output
306
320
  }], onRowIndexSelected: [{
307
321
  type: Output
@@ -397,4 +411,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
397
411
  }], pageSizes: [{
398
412
  type: Input
399
413
  }] } });
400
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvdGFibGVzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixTQUFTLEVBQ1QsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUVOLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUdyRSxPQUFPLEVBQW1CLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQUVoRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFXSCxNQUFNLE9BQU8scUJBQXFCO0lBK0dqQyxZQUNTLE9BQXVCLEVBQ3ZCLE9BQXVCLEVBQ3ZCLFlBQTJCLEVBQzNCLG1CQUF3QyxFQUN4QyxHQUFzQjtRQUp0QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQUMzQix3QkFBbUIsR0FB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U0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdENvbnRlbnRDaGlsZCxcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5wdXQsXHJcblx0T25EZXN0cm95LFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0U2ltcGxlQ2hhbmdlcyxcclxuXHRUZW1wbGF0ZVJlZixcclxuXHRWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWxsQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMvY2FsbEFwaS9jYWxsLWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRU1QVFlfVEVNUExBVEUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2VtcHR5LXN0YXRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IER5bmFtaWNUYWJsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9keW5hbWljLXRhYmxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYWdlRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3IvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgRXZhbHVhdGVkU3RyaW5nLCBFdmFsdWF0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi9zaGFyZWQnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnXHJcbi8qKlxyXG4gKiB0aGlzIGNvbXBvbmVudCBpcyBhbiBhZGRpdGlvbmFsIGxheWVyIHRoYXQgdXNlcyBbVGFibGUgQ29tcG9uZW50XXtAbGluayBUYWJsZUNvbXBvbmVudH0gaW50ZXJuYWxseSxcclxuICogeW91IGNhbiB1c2UgdGhpcyBjb21wb25lbnQgdG8gY29uZmlndXJlIGEgcGFnZSBwcm92aWRlciBsaXN0aW5nIG91dCBvZiB0aGUgYm94IGVhc2lseSxcclxuICogYW5kIGl0IHdpbGwgaGFuZGxlIGFsbCBvZiB0aGUgYmFzaWMgZmVhdHVyZXMgc3VjaCBhcyBnZXR0aW5nIGRhdGEgZnJvbSBBUEksIExpc3RpbmcsIFBhZ2luYXRpb24sIHNvcnRpbmcgYW5kIGZpbHRlcmluZ1xyXG4gKiAhW1NjcmVlbnNob3QtMV0oLi4vc2NyZWVuc2hvdHMvZHluYW1pY1RhYmxlLnBuZylcclxuICogQHRpdGxlXHJcbiAqIER5bmFtaWMgVGFibGVcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGN0cy1keW5hbWljLXRhYmxlXHJcbiAqICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gKiAgICBbcmVzcG9uc2l2ZUNvbHVtbnNdPVwicmVzcG9uc2l2ZUNvbHVtbnNcIlxyXG4gKiAgICBbZnVsbFdpZHRoXT1cImZ1bGxXaWR0aFwiXHJcbiAqICAgIFtwYWdlU2l6ZV09XCJQYWdlU2l6ZVwiXHJcbiAqICAgIFtwYWdlUHJvdmlkZXJdPVwicGFnZVByb3ZpZGVyXCJcclxuICogICAgW3F1aWNrRmlsdGVyXT1cImZpbHRlclwiXHJcbiAqICAgIFtzb3J0aW5nQnldPVwic29ydGluZ0J5XCJcclxuICogICAgW2VudGl0eVR5cGVdPVwiJ2FsbCdcIlxyXG4gKiAgICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAqICAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICogICAgW3Jvd0N1cnNvcl09XCJ0cnVlXCJcclxuICogICAgW3F1ZXJ5UGFyYW1dPVwicXVlcnlQYXJhbVwiXHJcbiAqICAgIFtoZWFkZXJzXT1cImhlYWRlcnNcIlxyXG4gKiAgICAob25Sb3dTZWxlY3RlZCk9XCJvcGVuVmlld2VyKCRldmVudClcIlxyXG4gKiAgICAoYWN0aW9uT25Sb3cpPVwicGVyZm9ybUFjdGlvbigkZXZlbnQpXCI+XHJcbiAqIDwvY3RzLWR5bmFtaWMtdGFibGU+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2N0cy1keW5hbWljLXRhYmxlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vZHluYW1pYy10YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcblx0aG9zdDoge1xyXG5cdFx0J1tjbGFzcy5sb2FkaW5nLXJlc3VsdHNdJzogJ2xvYWRpbmcnLFxyXG5cdFx0J1tjbGFzcy5uby1kYXRhXSc6ICdyb3dzLmxlbmd0aCA8PSAwJ1xyXG5cdH1cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHQvKiogZXZlbnQgdG8gZW1pdCB3aGVuIHNlbGVjdGluZyBzaW5nbGUgcm93ICAqL1xyXG5cdEBPdXRwdXQoKSBvblJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgdG8gY2F0Y2ggaW5kZXgqL1xyXG5cdEBPdXRwdXQoKSBvblJvd0luZGV4U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblx0LyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBwZXJmb3JtIGFjdGlvbiBvbiByb3cgKGRlbHRlLCBlZGl0LCAuLi4gKSAqL1xyXG5cdEBPdXRwdXQoKSBhY3Rpb25PblJvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKiogZXZlbnQgdG8gZW1pdCB0byB0aGUgaGlnaGVyIGxldmVsICB3aGVuIGdldHRpbmcgZGF0YSBmcm9tIGFwaSBpcyBmaW5pc2hlZCAqL1xyXG5cdEBPdXRwdXQoKSBvbkdldHRpbmdEYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdC8qKiBldmVudCB0IGVtaXQgd2hlbiBzZWxlY3RpbmcgbXVsdGlwbGUgcm93ICovXHJcblx0QE91dHB1dCgpIG9uTXVsdGlSb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHQvKiogZXZlbnQgdCBlbWl0IHdoZW4gc3RhcnQgZ2V0dGluZyBkYXRhIGFuZCB3aGVuIGZpbmlzaCAqL1xyXG5cdEBPdXRwdXQoKSBvbkxvYWRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdEBPdXRwdXQoKSBzb3J0Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBzb3J0Qnk6IHN0cmluZzsgc29ydE9yZGVyOiBzdHJpbmcgfT4oKTtcclxuXHQvKipcclxuXHQgKiBAZGVwcmVjYXRlZCBVc2UgYG9uUGFnZWAgaW5zdGVhZC5cclxuXHQgKiBAc2VlIG9uUGFnZVxyXG5cdCAqL1xyXG5cdEBPdXRwdXQoKSBvblBhZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdEBPdXRwdXQoKSBvblBhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2VFdmVudD4oKTtcclxuXHJcblx0QE91dHB1dCgpIG9uTG9hZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KCkgb25Jbml0aWFsaXplID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdC8qKiBBcnJheSBvZiBjb2x1bW5zICovXHJcblx0QElucHV0KCkgY29sdW1ucztcclxuXHQvKiogQXJyYXkgb2YgY29sdW1ucyBvbiBzbWFsbGVyIHNjcmVlbnMgKi9cclxuXHRASW5wdXQoKSByZXNwb25zaXZlQ29sdW1ucz87XHJcblx0LyoqIERlZmluZXMgdGhlIHBhZ2UgaW4gd2hpY2ggdGFibGUgaXMgYmVpbmcgdXNlZCAqL1xyXG5cdEBJbnB1dCgpIGVudGl0eVR5cGU6IHN0cmluZztcclxuXHQvKiogVHJhbnNsYXRpb25zIHByZWZpeCAqL1xyXG5cdEBJbnB1dCgpIHByZWZpeCA9ICcnO1xyXG5cdC8qKiBIZWFkZXJzIHRvIGJlIHNlbnQgd2l0aCBBUEkgUmVxdWVzdCAqL1xyXG5cdEBJbnB1dCgpIGhlYWRlcnM7XHJcblx0LyoqIEZpZWxkcyBrZXltYXAgdG8gYmUgbWFwcGVkIGluIHRoZSBhZGFwdGVyICovXHJcblx0QElucHV0KCkgZmllbGRzO1xyXG5cdC8qKiBQYWdlIFByb3ZpZGVyIG5hbWUgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmV0cmlldmUgZGF0YSAqL1xyXG5cdEBJbnB1dCgpIHBhZ2VQcm92aWRlcjtcclxuXHQvKiogQ29udHJvbHMgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGluIHRhYmxlICovXHJcblx0QElucHV0KCkgcGFnZVNpemUgPSAxMDtcclxuXHQvKiogQ29udHJvbHMgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGluIHRhYmxlICovXHJcblx0QElucHV0KCkgaGlnbGlnaHRVbnJlYWQgPSBmYWxzZTtcclxuXHRASW5wdXQoKSBpc0xlZ2FjeU1vZGUgPSB0cnVlO1xyXG5cdEBJbnB1dCgpIHNob3dUb3RhbFJlY29yZCA9IGZhbHNlO1xyXG5cclxuXHRAQ29udGVudENoaWxkKEVNUFRZX1RFTVBMQVRFLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IHRydWUgfSlcclxuXHRlbXB0eVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xyXG5cclxuXHRwcml2YXRlIF9wYWdlTnVtYmVyID0gMTtcclxuXHRASW5wdXQoKSBzZXQgcGFnZU51bWJlcih2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XHJcblx0XHR0aGlzLl9wYWdlTnVtYmVyID0gaXNOYU4oK3ZhbHVlKSA/IDEgOiArdmFsdWU7XHJcblx0fVxyXG5cclxuXHRnZXQgcGFnZU51bSgpIHtcclxuXHRcdHJldHVybiB0aGlzLl9wYWdlTnVtYmVyO1xyXG5cdH1cclxuXHJcblx0LyoqIFNvcnRpbmcgY29sdW1uICovXHJcblx0QElucHV0KCkgc29ydGluZ0J5OiB7XHJcblx0XHRzb3J0Qnk/OiBzdHJpbmc7XHJcblx0XHRzb3J0T3JkZXI/OiBzdHJpbmc7XHJcblx0fSA9IHt9O1xyXG5cdEBJbnB1dCgpIHF1ZXJ5UGFyYW0/ID0ge307XHJcblxyXG5cdEBJbnB1dCgpIGN1c3RvbUZpbHRlcnM6IHtcclxuXHRcdHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT47XHJcblx0XHRwYXlsb2FkPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHR9ID0ge307XHJcblxyXG5cdEBJbnB1dCgpIHF1aWNrRmlsdGVyPztcclxuXHQvKiogQ29udHJvbHMgaWYgaXQgcmVwb3J0IHBhZ2UgKi9cclxuXHRASW5wdXQoKSByZXBvcnQ7XHJcblx0LyoqIHRvIG1ha2UgY3Vyc29yIHdoZW4gaG92ZXIgb24gcm93IG9yIG5vdCAqL1xyXG5cdEBJbnB1dCgpIHJvd0N1cnNvcj87XHJcblx0QElucHV0KCkgZnVsbFdpZHRoPyA9ICdhdXRvJztcclxuXHQvKiogJ2xpc3QnIGZvciBub3JhbWwgdGFibGUgJ2NhcmQnIGZvciBjYXJkcyBtb2RlIGxpa2UgaW4gbWVtb3MgKi9cclxuXHRASW5wdXQoKSB0YWJsZU1vZGUgPSAnbGlzdCc7XHJcblxyXG5cdEBJbnB1dCgpIGNvbXBvbmVudE5hbWU6IHN0cmluZztcclxuXHQvKiogYWN0aW9uIHRvIGJlIHVzZWQgaW4gY2FzZSBvZiBjYXJkIG1vZGUgKi9cclxuXHRASW5wdXQoKSB0YWJsZUFjdGlvbnM7XHJcblx0QElucHV0KCkgZGVmdWx0U29ydDogYW55ID0geyBuYW1lOiAncHJvcGVydGllcy5jcmVhdGVkQXQnLCBkaXI6ICdkZXNjJyB9O1xyXG5cdEBJbnB1dCgpIHJhbmdlO1xyXG5cdEBJbnB1dCgpIGlzU2VhcmNoUGFnZSA9IGZhbHNlO1xyXG5cdC8qKiBhbGxvdyBtdWx0aXNlbGVjdCByb3dzIHdpdGggY2hlY2tib3ggKi9cclxuXHRASW5wdXQoKSBtdWx0aVNlbGVjdFJvd3MgPSBmYWxzZTtcclxuXHQvKiogdG8gc2hvdyAxc3Qgcm93IHdpdGggY3VzdG9tIHRlbXBsYXRlIGluIHRoZSB0YWJsZSovXHJcblx0QElucHV0KCkgY3VzdG9tRmlyc3RSb3cgPSBmYWxzZTtcclxuXHRASW5wdXQoKSBoaWdobGlnaHRTZWxlY3RlZENhcmQgPSBmYWxzZTtcclxuXHRASW5wdXQoKSBzaG93QWN0aW9uc0FzTWVudSA9IGZhbHNlOyAvLyBmbGFnZSB0byBzaG93IGFjdGlvbiBpbiBtZW51IG9yIHNpZGUgYnkgc2lkZVxyXG5cdEBJbnB1dCgpXHJcblx0ZmlsdGVyUGFyYW1zID0ge307XHJcblxyXG5cdEBJbnB1dCgpIHNraXBBZ2dyZWdhdGlvbjogJ25ldmVyJyB8ICdvblBhZ2VDaGFuZ2UnID0gJ29uUGFnZUNoYW5nZSc7XHJcblx0QElucHV0KCkgY3VzdG9tVXJsOiB7IHVybDogc3RyaW5nOyBtZXRob2Q6ICdQT1NUJyB8ICdHRVQnOyBwYXlsb2FkPzogUmVjb3JkPHN0cmluZywgYW55PiB9O1xyXG5cdEBJbnB1dCgpIGZvcm1hdCA9ICdNTU1NIGQsIHknO1xyXG5cclxuXHRASW5wdXQoKSByZXF1ZXN0QWN0aW9ucz86IHtcclxuXHRcdGJlZm9yZVN1Ym1pdD86IEV2YWx1YXRlZFN0cmluZzwncGF5bG9hZCc+O1xyXG5cdH07XHJcblxyXG5cdHJvd3MgPSBbXTtcclxuXHR0b3RhbFJlY29yZHMgPSAwO1xyXG5cdG15RGF0YVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cdGxvYWRpbmc7XHJcblx0c29ydGluZyA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHBhZ2VTaXplczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyBzaXplOiBudW1iZXIgfT4gPSBbXTtcclxuXHJcblx0aW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIGFkYXB0ZXI6IEFkYXB0ZXJTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBjYWxsQXBpOiBDYWxsQXBpU2VydmljZSxcclxuXHRcdHByaXZhdGUgbnV4ZW9TZXJ2aWNlIDogTnV4ZW9TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBkeW5hbWljVGFibGVTZXJ2aWNlOiBEeW5hbWljVGFibGVTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcblx0KSB7fVxyXG5cclxuXHRuZ09uSW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uID0gdGhpcy5keW5hbWljVGFibGVTZXJ2aWNlLnJlZnJlc2hEYXRhLnBpcGUoc3RhcnRXaXRoKG51bGwpKS5zdWJzY3JpYmUoKGZpbHRlckRhdGEpID0+IHtcclxuXHRcdFx0aWYgKGZpbHRlckRhdGEpIHtcclxuXHRcdFx0XHR0aGlzLmZpbHRlclBhcmFtcyA9IHsgLi4uZmlsdGVyRGF0YSB9O1xyXG5cdFx0XHRcdC8vIHJlc2V0IHBhZ2UgbnVtYmVyIHdoZW4gc3RhcnQgbmV3IGZpbHRlcmluZ1xyXG5cdFx0XHRcdHRoaXMuX3Jlc2V0UGFnZU51bWJlcigpO1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuZ2V0RGF0YSgpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uID8gdGhpcy5teURhdGFTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSA6ICcnO1xyXG5cdH1cclxuXHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG5cdFx0Y29uc3QgaXNGaXJzdENoYW5nZSA9IE9iamVjdC52YWx1ZXMoY2hhbmdlcykuc29tZSgoYykgPT4gYy5pc0ZpcnN0Q2hhbmdlKCkpO1xyXG5cdFx0aWYgKGlzRmlyc3RDaGFuZ2UpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGhhc0NoYW5nZWQgPSAoaXRlbXM6IHN0cmluZ1tdKSA9PlxyXG5cdFx0XHRpdGVtcy5zb21lKChrZXkpID0+IHtcclxuXHRcdFx0XHRjb25zdCBpc0VxdWFsID0gXy5pc0VxdWFsKGNoYW5nZXNba2V5XT8ucHJldmlvdXNWYWx1ZSB8fCBudWxsLCBjaGFuZ2VzW2tleV0/LmN1cnJlbnRWYWx1ZSB8fCBudWxsKTtcclxuXHRcdFx0XHRyZXR1cm4gIWlzRXF1YWw7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdGlmIChoYXNDaGFuZ2VkKFsncXVlcnlQYXJhbScsICdxdWlja0ZpbHRlcicsICdjdXN0b21GaWx0ZXJzJ10pKSB7XHJcblx0XHRcdGlmICh0aGlzLmluaXRpYWxpemVkKSB7XHJcblx0XHRcdFx0dGhpcy5fcmVzZXRQYWdlTnVtYmVyKCk7IC8vIFJlc2V0IHBhZ2UgbnVtYmVyIGJlZm9yZSByZWNhbGxpbmcgQVBJIHdpdGggZmlsdGVyc1xyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuZ2V0RGF0YSgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChoYXNDaGFuZ2VkKFsnc29ydGluZ0J5J10pKSB7XHJcblx0XHRcdHRoaXMuZ2V0RGF0YSgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBfcmVzZXRQYWdlTnVtYmVyKCkge1xyXG5cdFx0dGhpcy5fcGFnZU51bWJlciA9IDE7XHJcblx0XHR0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KHRoaXMuX3BhZ2VOdW1iZXIpO1xyXG5cdFx0dGhpcy5vblBhZ2UuZW1pdCh7XHJcblx0XHRcdHBhZ2VJbmRleDogdGhpcy5fcGFnZU51bWJlcixcclxuXHRcdFx0cGFnZVNpemU6IHRoaXMucGFnZVNpemUsXHJcblx0XHRcdGxlbmd0aDogdGhpcy50b3RhbFJlY29yZHNcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0Z2V0RGF0YShwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sIGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSkge1xyXG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTsgLy8gaW50ZXJuYWwgbG9hZGluZ1xyXG5cdFx0dGhpcy5vbkxvYWRpbmcuZW1pdCh0cnVlKTsgLy8gZXh0ZXJuYWwgbG9hZGluZ1xyXG5cdFx0bGV0IHBhcmFtcyA9IHtcclxuXHRcdFx0Li4uKHRoaXMucmFuZ2UgPyB7IGR1YmxpbmNvcmVfY3JlYXRlZF9hZ2c6IHRoaXMucmFuZ2UgfSA6IHt9KSxcclxuXHRcdFx0Li4udGhpcy5maWx0ZXJQYXJhbXMsIC8vIHVzZWQgdG8gZ2V0IGZpbHRlciBkYXRhIGFuZCBzZXQgaXQgaW4gb3VyIHBhcmFtc1xyXG5cdFx0XHQuLi50aGlzLnF1ZXJ5UGFyYW0sIC8vIHVzZWQgdG8gZ2V0IHBhcmFtcyBmcm9tIG91ciBjb25maWdcclxuXHRcdFx0Li4udGhpcy5xdWlja0ZpbHRlcixcclxuXHRcdFx0Li4uKE9iamVjdC5rZXlzKHRoaXMuc29ydGluZ0J5IHx8IHt9KS5sZW5ndGhcclxuXHRcdFx0XHQ/IHtcclxuXHRcdFx0XHRcdFx0c29ydEJ5OiB0aGlzLnNvcnRpbmdCeT8uc29ydEJ5LFxyXG5cdFx0XHRcdFx0XHRzb3J0T3JkZXI6IHRoaXMuc29ydGluZ0J5Py5zb3J0T3JkZXJcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQ6IHt9KSxcclxuXHRcdFx0Y3VycmVudFBhZ2VJbmRleDogK3RoaXMucGFnZU51bSAtIDEsXHJcblx0XHRcdC4uLih0aGlzLnBhZ2VTaXplID8geyBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSB9IDoge30pLFxyXG5cdFx0XHRvZmZzZXQ6IDAsXHJcblx0XHRcdC4uLnBheWxvYWRcclxuXHRcdH07XHJcblxyXG5cdFx0Ly8gZG9uJ3QgcmVmcmVzaCBhbGwgdGFibGUgaW4gY2FzZSBvZiBzb3J0aW5nIG9ubHlcclxuXHRcdGlmICghdGhpcy5zb3J0aW5nICYmIHRoaXMuaXNMZWdhY3lNb2RlKSB7XHJcblx0XHRcdC8vIHVzZWQgdG8gbm90IHJlZnJlc2hpbmcgYWxsIHRhYmxlIGluIGNhc2Ugb2Ygc29ydGluZyBzaW5jZSB0YWJsZSBsb3NlIHNvcnRpbmcgc3RhdGUgd2hlbiByZWZyZXNoIGFsbCB0YWJsZVxyXG5cdFx0XHR0aGlzLnJvd3MgPSBbXTsgLy8gdXNlZCB0byByZWZyZXNoIHRhYmxlIHRvIGZlZWwgY2hhbmdlcyBpbiBhY3Rpb25zIHdoZW4gcGVyZm9ybSBhY3Rpb24gYW5kIG5lZWQgdG8gcmVmcmVzaCBhY3Rpb25zXHJcblx0XHR9XHJcblx0XHR0aGlzLnNvcnRpbmcgPSBmYWxzZTsgLy8gcmVzZXQgc29ydGluZyBzdGF0dXMgdG8gZmFsc2UgYW5kIGZvciBuZXh0IHNvcnRpbmcgZnVuYyBzb3J0aW5nIHNldCBpdCB0byB0cnVlIGFnYWluXHJcblxyXG5cdFx0Y29uc3QgX2hlYWRlcnMgPSB7XHJcblx0XHRcdC4uLnRoaXMuaGVhZGVycyxcclxuXHRcdFx0Li4uaGVhZGVyc1xyXG5cdFx0fTtcclxuXHJcblx0XHRsZXQgX3Byb3ZpZGVyUGF5bG9hZCA9IHtcclxuXHRcdFx0cXVlcnk6IHtcclxuXHRcdFx0XHRwYWdlUHJvdmlkZXI6IHRoaXMucGFnZVByb3ZpZGVyLFxyXG5cdFx0XHRcdC4uLnBhcmFtc1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRvcHRpb25zOiB7XHJcblx0XHRcdFx0aGVhZGVyczogX2hlYWRlcnNcclxuXHRcdFx0fVxyXG5cdFx0fTtcclxuXHJcblx0XHRsZXQgX2N1c3RvbVBheWxvYWQgPSB7XHJcblx0XHRcdHBhcmFtczoge1xyXG5cdFx0XHRcdC4uLnBhcmFtcyxcclxuXHRcdFx0XHQuLi4odGhpcy5jdXN0b21GaWx0ZXJzPy5wYXJhbXMgfHwge30pXHJcblx0XHRcdH0sXHJcblx0XHRcdGhlYWRlcnM6IF9oZWFkZXJzLFxyXG5cdFx0XHRwYXlsb2FkOiBfLm1lcmdlKHt9LCB0aGlzLmN1c3RvbVVybD8ucGF5bG9hZCB8fCB7fSwgdGhpcy5jdXN0b21GaWx0ZXJzPy5wYXlsb2FkIHx8IHt9KVxyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAodGhpcy5yZXF1ZXN0QWN0aW9ucz8uYmVmb3JlU3VibWl0ICYmIHR5cGVvZiB0aGlzLnJlcXVlc3RBY3Rpb25zPy5iZWZvcmVTdWJtaXQgPT09ICdzdHJpbmcnKSB7XHJcblx0XHRcdHRyeSB7XHJcblx0XHRcdFx0aWYgKHRoaXMuY3VzdG9tVXJsKSB7XHJcblx0XHRcdFx0XHRfY3VzdG9tUGF5bG9hZCA9IEV2YWx1YXRvci5ldmFsdWF0ZShcclxuXHRcdFx0XHRcdFx0dGhpcy5yZXF1ZXN0QWN0aW9ucz8uYmVmb3JlU3VibWl0LFxyXG5cdFx0XHRcdFx0XHR7IGNyaXRlcmlhOiBfY3VzdG9tUGF5bG9hZCB9LFxyXG5cdFx0XHRcdFx0XHQncGF5bG9hZCdcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdF9wcm92aWRlclBheWxvYWQgPSBFdmFsdWF0b3IuZXZhbHVhdGUoXHJcblx0XHRcdFx0XHRcdHRoaXMucmVxdWVzdEFjdGlvbnM/LmJlZm9yZVN1Ym1pdCxcclxuXHRcdFx0XHRcdFx0eyBjcml0ZXJpYTogX3Byb3ZpZGVyUGF5bG9hZCB9LFxyXG5cdFx0XHRcdFx0XHQncGF5bG9hZCdcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9IGNhdGNoIChlKSB7XHJcblx0XHRcdFx0Y29uc29sZS5lcnJvcihlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHF1ZXJ5JCA9IHRoaXMuY3VzdG9tVXJsXHJcblx0XHRcdD8gdGhpcy5jYWxsQXBpLmN1c3RvbVF1ZXJ5KHRoaXMuY3VzdG9tVXJsLCBfY3VzdG9tUGF5bG9hZC5wYXJhbXMsIF9jdXN0b21QYXlsb2FkLmhlYWRlcnMsIF9jdXN0b21QYXlsb2FkLnBheWxvYWQpXHJcblx0XHRcdDogdGhpcy5jYWxsQXBpLnF1ZXJ5KF9wcm92aWRlclBheWxvYWQucXVlcnksIF9wcm92aWRlclBheWxvYWQub3B0aW9ucyk7XHJcblxyXG5cdFx0cXVlcnkkXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdG1hcCgoZGF0YTogYW55KSA9PiB7XHJcblx0XHRcdFx0XHRkYXRhLmVudHJpZXMubWFwKChpdGVtKSA9PiB0aGlzLmFkYXB0ZXIuYWRhcHRJbihpdGVtLCB0aGlzLmZpZWxkcykpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIGRhdGE7XHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0Y2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcblx0XHRcdFx0XHR0aHJvdyBlcnI7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLm9uTG9hZGluZy5lbWl0KGZhbHNlKTtcclxuXHRcdFx0XHR0aGlzLm9uTG9hZC5lbWl0KHJlcyk7XHJcblx0XHRcdFx0aWYgKCF0aGlzLmluaXRpYWxpemVkKSB7XHJcblx0XHRcdFx0XHR0aGlzLm9uSW5pdGlhbGl6ZS5lbWl0KHJlcyk7XHJcblx0XHRcdFx0XHR0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cmVzLmVudHJpZXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKGVsZW1lbnQucHJvcGVydGllcyAmJiBlbGVtZW50LnByb3BlcnRpZXM/LmNyZWF0b3IgJiYgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXMpIHtcclxuXHRcdFx0XHRcdFx0ZWxlbWVudC5wcm9wZXJ0aWVzWydjcmVhdG9yRnVsbE9iamVjdCddID0geyAuLi5lbGVtZW50LnByb3BlcnRpZXMuY3JlYXRvciB9O1xyXG5cdFx0XHRcdFx0XHRlbGVtZW50LnByb3BlcnRpZXMuY3JlYXRvciA9XHJcblx0XHRcdFx0XHRcdFx0ZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXM/LmZpcnN0TmFtZSArXHJcblx0XHRcdFx0XHRcdFx0JyAnICtcclxuXHRcdFx0XHRcdFx0XHRlbGVtZW50LnByb3BlcnRpZXMuY3JlYXRvcj8ucHJvcGVydGllcz8ubGFzdE5hbWU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZiAoZWxlbWVudC5wcm9wZXJ0aWVzICYmIGVsZW1lbnQucHJvcGVydGllcz8uYXNzaWduZWUpIHtcclxuXHRcdFx0XHRcdFx0ZWxlbWVudC5wcm9wZXJ0aWVzLmFzc2lnbmVlID0gZWxlbWVudC5wcm9wZXJ0aWVzPy5hc3NpZ25lZS5mdWxsTmFtZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIGlmKHRoaXMuaGlnbGlnaHRVbnJlYWQpe1xyXG5cdFx0XHRcdFx0Ly8gXHR0aGlzLmNlY2hrSWZSZWFkT3JOb3QoZWxlbWVudC5wcm9wZXJ0aWVzKTtcclxuXHRcdFx0XHRcdC8vIH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHR0aGlzLnRvdGFsUmVjb3JkcyA9IHJlcy5yZXN1bHRzQ291bnQ7XHJcblx0XHRcdFx0dGhpcy5yb3dzID0gcmVzLmVudHJpZXM7XHJcblx0XHRcdFx0dGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdFx0XHRcdC8vIGVtaXQgZGF0YSB0byBvdXRzaWRlIGluIGNhc2Ugb2Ygc2VhcmNoIHBhZ2UgZm9yIHRoZSBmaXJzdCB0aW1lIG9ubHkgdG8gcHJldmVudCByZWZyZXNoaW5nIGFnZ3JlZ2F0aW9uIHdpdGggZXZlcnkgcGFnZSBjaGFuZ2VcclxuXHRcdFx0XHQvLyBhbmQgZm9yIGFueSBvdGhlciBwYWdlIHR5cGUgZW1pdCBkYXRhIGRpcmVjdGx5IGluIGFsbCBwYWdlIG51bWJlcnNcclxuXHRcdFx0XHRpZiAoKHRoaXMuaXNTZWFyY2hQYWdlICYmIHRoaXMucGFnZU51bSA9PT0gMSkgfHwgIXRoaXMuaXNTZWFyY2hQYWdlKSB0aGlzLm9uR2V0dGluZ0RhdGEuZW1pdChyZXMpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdC8vIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIHdoZW4gY2xpY2tpbmcgb24gc2luZ2xlIHJvd1xyXG5cdHJvd0RldGFpbHMoZXZlbnQpIHtcclxuXHRcdHRoaXMub25Sb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuXHR9XHJcblxyXG5cdGluZGV4RGV0YWlscyhldmVudCkge1xyXG5cdFx0dGhpcy5vblJvd0luZGV4U2VsZWN0ZWQuZW1pdChldmVudCk7XHJcblx0fVxyXG5cclxuXHQvL2Z1bmN0aW9uIHRvIGhhbmRsZSBhbGwgb3BlcmF0aW9ucyBvbiBzaW5nbGUgcm93IChkZWxldGUgLCBlZGl0ICwgLi4uKVxyXG5cdHBlcmZvcm1BY3Rpb24oYWN0aW9uKSB7XHJcblx0XHR0aGlzLmFjdGlvbk9uUm93LmVtaXQoYWN0aW9uKTtcclxuXHR9XHJcblxyXG5cdC8vIGhhbmRsZSBzb3J0aW5nIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIHRhYmxlXHJcblx0b25Tb3J0KHNvcnRPYmplY3QpIHtcclxuXHRcdHRoaXMuc29ydENoYW5nZWQuZW1pdChzb3J0T2JqZWN0KTtcclxuXHRcdHRoaXMuc29ydGluZ0J5ID0gc29ydE9iamVjdDtcclxuXHRcdHRoaXMuc29ydGluZyA9IHRydWU7XHJcblx0XHR0aGlzLmdldERhdGEoe30sIHRoaXMuc2tpcEFnZ3JlZ2F0aW9uID09PSAnb25QYWdlQ2hhbmdlJyA/IHsgc2tpcEFnZ3JlZ2F0ZXM6ICd0cnVlJyB9IDoge30pO1xyXG5cdH1cclxuXHJcblx0b25NdWx0aVJvd1NlbGVjdFZhbHVlKGV2ZW50KSB7XHJcblx0XHR0aGlzLm9uTXVsdGlSb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBwYWdpbmF0aW9uQ2hhbmdlKGV2ZW50KSB7XHJcblx0XHR0aGlzLl9wYWdlTnVtYmVyID0gZXZlbnQ7XHJcblx0XHR0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuXHRcdHRoaXMub25QYWdlLmVtaXQoe1xyXG5cdFx0XHRwYWdlSW5kZXg6IHRoaXMuX3BhZ2VOdW1iZXIsXHJcblx0XHRcdHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxyXG5cdFx0XHRsZW5ndGg6IHRoaXMudG90YWxSZWNvcmRzXHJcblx0XHR9KTtcclxuXHRcdHRoaXMuZ2V0RGF0YSh7fSwgdGhpcy5za2lwQWdncmVnYXRpb24gPT09ICdvblBhZ2VDaGFuZ2UnID8geyBza2lwQWdncmVnYXRlczogJ3RydWUnIH0gOiB7fSk7XHJcblx0fVxyXG5cclxuXHRvbkNoYW5nZVBhZ2VTaXplKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuXHRcdHRoaXMucGFnZVNpemUgPSBwYWdlU2l6ZTtcclxuXHRcdHRoaXMuX3Jlc2V0UGFnZU51bWJlcigpO1xyXG5cdFx0dGhpcy5nZXREYXRhKHt9LCB0aGlzLnNraXBBZ2dyZWdhdGlvbiA9PT0gJ29uUGFnZUNoYW5nZScgPyB7IHNraXBBZ2dyZWdhdGVzOiAndHJ1ZScgfSA6IHt9KTtcclxuXHR9XHJcblxyXG5cdGNlY2hrSWZSZWFkT3JOb3QoZWxlbWVudCl7XHJcblx0XHQvLyBjaGVjayBpZiBsb2dlZCBpbiB1c2VyIGlzIGluIHZpZXdlcnMgYXJyYXkgb3Igbm90XHJcblx0XHRpZihlbGVtZW50Wyd2aWV3ZXJzOnVzZXJzJ10gJiYgZWxlbWVudFsndmlld2Vyczp1c2VycyddLmxlbmd0aCl7XHJcblx0XHRcdGVsZW1lbnQuaXNSZWFkZWQgPSBmYWxzZTtcclxuXHRcdFx0ZWxlbWVudFsndmlld2Vyczp1c2VycyddLm1hcCh1c2VyID0+IHtcclxuXHRcdFx0XHRpZih1c2VyLnVzZXJuYW1lID09PSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudXNlcm5hbWUgJiYgdXNlci5zdGF0ZSA9PT0gXCJyZWFkXCIpe1xyXG5cdFx0XHRcdFx0ZWxlbWVudC5pc1JlYWRlZCA9IHRydWU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cdFx0fWVsc2V7XHJcblx0XHRcdGVsZW1lbnQuaXNSZWFkZWQgPSBmYWxzZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndyYXBwaW5nIHRhYmxlLXdyYXBwaW5nXCI+XHJcblx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGVnYWN5TW9kZVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRhYmxlLXJlcG9zaXRpb25cIj5cclxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd3MubGVuZ3RoXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuXHRcdFx0PGN0cy1zcGlubmVyPjwvY3RzLXNwaW5uZXI+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHQ8L25nLWNvbnRhaW5lcj5cclxuXHJcblx0PGRpdiBjbGFzcz1cInRhYmxlLXJlcG9zaXRpb25cIiAqbmdJZj1cIiFpc0xlZ2FjeU1vZGVcIj5cclxuXHRcdDxuZy1jb250YWluZXIgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlXCI+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8bmctY29udGFpbmVyXHJcblx0XHRcdCpuZ0lmPVwiIWluaXRpYWxpemVkXCJcclxuXHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwic2tlbGV0b25cIlxyXG5cdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IDEwIH1cIlxyXG5cdFx0PjwvbmctY29udGFpbmVyPlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cInBhZ2luYXRpb24taW5lci13cmFwZXIgbXktM1wiXHJcblx0XHRbbmdDbGFzc109XCJ7IHJlbGF0aXZlOiBwYWdlU2l6ZXM/Lmxlbmd0aCB9XCJcclxuXHRcdCpuZ0lmPVwicm93cy5sZW5ndGggXCJcclxuXHQ+XHJcblx0XHQ8Y3RzLXBhZ2luYXRpb25cclxuICAgICAgKm5nSWY9XCJ0b3RhbFJlY29yZHMgPiBwYWdlU2l6ZVwiXHJcblx0XHRcdFtwYWdlXT1cInBhZ2VOdW1cIlxyXG5cdFx0XHQoY2hhbmdlKT1cInBhZ2luYXRpb25DaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFtzaXplXT1cInBhZ2VTaXplXCJcclxuXHRcdFx0W2NvdW50XT1cInRvdGFsUmVjb3Jkc1wiXHJcblx0XHQ+PC9jdHMtcGFnaW5hdGlvbj5cclxuXHRcdDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBuZGZQYWdlU2l6ZXMgZmxleCBnYXAteC0zIGl0ZW1zLWNlbnRlciBtdC0yXCI+XHJcblx0XHRcdDxuZGYtcGFnZS1zaXplcy1saXN0XHJcblx0XHRcdFx0Km5nSWY9XCJwYWdlU2l6ZXM/Lmxlbmd0aFwiXHJcblx0XHRcdFx0W3BhZ2VTaXplc109XCJwYWdlU2l6ZXNcIlxyXG5cdFx0XHRcdFtzZWxlY3RlZFBhZ2VTaXplXT1cInBhZ2VTaXplXCJcclxuXHRcdFx0XHQob25DaGFuZ2VQYWdlU2l6ZSk9XCJvbkNoYW5nZVBhZ2VTaXplKCRldmVudClcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdDwvbmRmLXBhZ2Utc2l6ZXMtbGlzdD5cclxuXHJcblx0XHRcdDxzcGFuICpuZ0lmPVwic2hvd1RvdGFsUmVjb3JkXCI+e3sgJ1RBQkxFLnRvdGFsUmVjb3JkcycgfCB0cmFuc2xhdGU6IHsgY291bnQ6IHRvdGFsUmVjb3JkcyB9IH19PC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxuZy1jb250YWluZXJcclxuXHRcdCpuZ0lmPVwiaXNMZWdhY3lNb2RlXCJcclxuXHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVtcHR5VGVtcGxhdGUgfHwgbGVnYWN5RGVmYXVsdEVtcHR5U3RhdGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBsb2FkaW5nLCByb3dzOiByb3dzLCBpbml0aWFsaXplZDogaW5pdGlhbGl6ZWQgfVwiXHJcblx0PjwvbmctY29udGFpbmVyPlxyXG5cclxuXHQ8bmctY29udGFpbmVyXHJcblx0XHQqbmdJZj1cIiFpc0xlZ2FjeU1vZGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiZW1wdHlUZW1wbGF0ZSB8fCBkZWZhdWx0RW1wdHlTdGF0ZVwiXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGxvYWRpbmcsIHJvd3M6IHJvd3MsIGluaXRpYWxpemVkOiBpbml0aWFsaXplZCB9XCJcclxuXHQ+PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICN0YWJsZT5cclxuXHQ8Y3RzLXRhYmxlXHJcblx0XHRbcm93c109XCJyb3dzXCJcclxuXHRcdFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG5cdFx0W3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuXHRcdFtyb3dDdXJzb3JdPVwicm93Q3Vyc29yXCJcclxuXHRcdFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuXHRcdFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG5cdFx0W3ByZWZpeF09XCJwcmVmaXhcIlxyXG5cdFx0W3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG5cdFx0W3RhYmxlTW9kZV09XCJ0YWJsZU1vZGVcIlxyXG5cdFx0W2hpZ2xpZ2h0VW5yZWFkXT1cImhpZ2xpZ2h0VW5yZWFkXCJcclxuXHRcdFtjb21wb25lbnROYW1lXT1cImNvbXBvbmVudE5hbWVcIlxyXG5cdFx0W211bHRpU2VsZWN0Um93c109XCJtdWx0aVNlbGVjdFJvd3NcIlxyXG5cdFx0W3RhYmxlQWN0aW9uc109XCJ0YWJsZUFjdGlvbnNcIlxyXG5cdFx0W3Nob3dBY3Rpb25zQXNNZW51XT1cInNob3dBY3Rpb25zQXNNZW51XCJcclxuXHRcdFtkZWZ1bHRTb3J0XT1cImRlZnVsdFNvcnRcIlxyXG5cdFx0W2Zvcm1hdF09XCJmb3JtYXRcIlxyXG5cdFx0W2hpZ2hsaWdodFNlbGVjdGVkQ2FyZF09XCJoaWdobGlnaHRTZWxlY3RlZENhcmRcIlxyXG5cdFx0W2N1c3RvbUZpcnN0Um93XT1cImN1c3RvbUZpcnN0Um93XCJcclxuXHRcdChvblJvd1NlbGVjdGVkKT1cInJvd0RldGFpbHMoJGV2ZW50KVwiXHJcblx0XHQob25Sb3dJbmRleFNlbGVjdGVkKT1cImluZGV4RGV0YWlscygkZXZlbnQpXCJcclxuXHRcdChvbk11bHRpUm93U2VsZWN0ZWQpPVwib25NdWx0aVJvd1NlbGVjdFZhbHVlKCRldmVudClcIlxyXG5cdFx0KGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiXHJcblx0XHQob25Tb3J0aW5nKT1cIm9uU29ydCgkZXZlbnQpXCJcclxuXHQ+PC9jdHMtdGFibGU+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2xlZ2FjeURlZmF1bHRFbXB0eVN0YXRlPlxyXG5cdDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgcm93cy5sZW5ndGggPT09IDBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcblx0XHRcdHt7IChwcmVmaXggPyBwcmVmaXggKyAnbm9EYXRhJyA6ICdub0RhdGEnKSB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCIgKm5nSWY9XCJsb2FkaW5nICYmIHJvd3MubGVuZ3RoID09PSAwXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHR7eyAocHJlZml4ID8gcHJlZml4ICsgJ2dldHRpbmdEYXRhJyA6ICdnZXR0aW5nRGF0YScpIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVtcHR5U3RhdGU+XHJcblx0PGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCIgKm5nSWY9XCIhbG9hZGluZyAmJiByb3dzLmxlbmd0aCA9PT0gMFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRleHRcIj5cclxuXHRcdFx0e3sgKHByZWZpeCA/IHByZWZpeCArICdub0RhdGEnIDogJ25vRGF0YScpIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2ICpuZ0lmPVwibG9hZGluZyAmJiBpbml0aWFsaXplZFwiIGNsYXNzPVwibG9hZGluZy1jb250ZW50XCI+XHJcblx0XHQ8bWF0LXNwaW5uZXIgW2RpYW1ldGVyXT1cIjEwMFwiPjwvbWF0LXNwaW5uZXI+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3NrZWxldG9uIGxldC1yb3dzPlxyXG5cdDx0YWJsZSBjbGFzcz1cInctZnVsbFwiPlxyXG5cdFx0PHRoZWFkICpuZ0lmPVwiZmFsc2VcIj5cclxuXHRcdFx0PHRyIGNsYXNzPVwiYm9yZGVyLWIgYm9yZGVyLWdyZWVuLTkwMFwiPlxyXG5cdFx0XHRcdDx0aCAqbmdJZj1cIm11bHRpU2VsZWN0Um93c1wiIGNsYXNzPVwicC0zIHB5LTRcIiBzdHlsZT1cIndpZHRoOiA2MHB4XCI+XHJcblx0XHRcdFx0XHQ8YXBwLXNrZWxldG9uIHdpZHRoPVwiNjBweFwiIGhlaWdodD1cIjEuM3JlbVwiPjwvYXBwLXNrZWxldG9uPlxyXG5cdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0PHRoICpuZ0Zvcj1cImxldCBudW0gb2YgW10uY29uc3RydWN0b3IoY29sdW1ucz8ubGVuZ3RoIHx8IDQpOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJweC0zIHB5LTRcIj5cclxuXHRcdFx0XHRcdDxhcHAtc2tlbGV0b24gW3JhbmRvbVdpZHRoXT1cInRydWVcIiBoZWlnaHQ9XCIxLjdyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0PC90aGVhZD5cclxuXHRcdDx0Ym9keT5cclxuXHRcdFx0PHRyICpuZ0Zvcj1cImxldCByb3cgb2YgW10uY29uc3RydWN0b3Iocm93cyB8fCAxMCk7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJib3JkZXItYiBib3JkZXItZ3JheS0yMDBcIj5cclxuXHRcdFx0XHQ8dGQgKm5nSWY9XCJtdWx0aVNlbGVjdFJvd3NcIiBjbGFzcz1cInAtMyBweS00XCIgc3R5bGU9XCJ3aWR0aDogNTBweFwiPlxyXG5cdFx0XHRcdFx0PGFwcC1za2VsZXRvbiB3aWR0aD1cIjUwcHhcIiBoZWlnaHQ9XCIxLjNyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdDx0ZCAqbmdGb3I9XCJsZXQgY29sIG9mIFtdLmNvbnN0cnVjdG9yKGNvbHVtbnM/Lmxlbmd0aCB8fCA0KTsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicC0zIHB5LTRcIj5cclxuXHRcdFx0XHRcdDxhcHAtc2tlbGV0b24gW3JhbmRvbVdpZHRoXT1cInRydWVcIiBoZWlnaHQ9XCIxLjNyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0PC90Ym9keT5cclxuXHQ8L3RhYmxlPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
414
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVOLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNYLGlCQUFpQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFdkIsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXZFLE9BQU8sRUFBRSxjQUFjLEVBQW1CLE1BQU0sb0JBQW9CLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFnQnJFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQVdILE1BQU0sT0FBTyxxQkFDWCxTQUFRLGNBQWM7SUF3SHRCLFlBQ1UsT0FBdUIsRUFDdkIsT0FBdUIsRUFDdkIsWUFBMEIsRUFDMUIsbUJBQXdDLEVBQ3hDLEdBQXNCLEVBQ3RCLGtCQUFxQztRQUU3QyxLQUFLLEVBQUUsQ0FBQztRQVBBLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZC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QWU7c0JBQXZCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVOLFlBQVk7c0JBRFgsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBU0csU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q29tcG9uZW50LFxyXG5cdENvbnRlbnRDaGlsZCxcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0SW5wdXQsXHJcblx0T25EZXN0cm95LFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0U2ltcGxlQ2hhbmdlcyxcclxuXHRUZW1wbGF0ZVJlZixcclxuXHRWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yL3BhZ2luYXRvcic7XHJcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL2FkYXB0ZXJzL2FkYXB0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9jYWxsQXBpL2NhbGwtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZXN0cm95U3ViamVjdCwgRXZhbHVhdGVkU3RyaW5nIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkJztcclxuaW1wb3J0IHsgRU1QVFlfVEVNUExBVEUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2VtcHR5LXN0YXRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IER5bmFtaWNUYWJsZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9keW5hbWljLXRhYmxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUYWJsZUhvb2tzU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3RhYmxlLWhvb2tzLnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgVGFibGVQcm92aWRlclJlcXVlc3QgPSB7XHJcbiAgcXVlcnk6IHsgcGFnZVByb3ZpZGVyOiBzdHJpbmc7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG4gIG9wdGlvbnM6IHsgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB9O1xyXG59O1xyXG5cclxuZXhwb3J0IHR5cGUgVGFibGVDdXN0b21SZXF1ZXN0ID0ge1xyXG4gIHVybDogc3RyaW5nO1xyXG4gIHBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xyXG4gIHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIGFueT47XHJcbn07XHJcblxyXG4vKipcclxuICogdGhpcyBjb21wb25lbnQgaXMgYW4gYWRkaXRpb25hbCBsYXllciB0aGF0IHVzZXMgW1RhYmxlIENvbXBvbmVudF17QGxpbmsgVGFibGVDb21wb25lbnR9IGludGVybmFsbHksXHJcbiAqIHlvdSBjYW4gdXNlIHRoaXMgY29tcG9uZW50IHRvIGNvbmZpZ3VyZSBhIHBhZ2UgcHJvdmlkZXIgbGlzdGluZyBvdXQgb2YgdGhlIGJveCBlYXNpbHksXHJcbiAqIGFuZCBpdCB3aWxsIGhhbmRsZSBhbGwgb2YgdGhlIGJhc2ljIGZlYXR1cmVzIHN1Y2ggYXMgZ2V0dGluZyBkYXRhIGZyb20gQVBJLCBMaXN0aW5nLCBQYWdpbmF0aW9uLCBzb3J0aW5nIGFuZCBmaWx0ZXJpbmdcclxuICogIVtTY3JlZW5zaG90LTFdKC4uL3NjcmVlbnNob3RzL2R5bmFtaWNUYWJsZS5wbmcpXHJcbiAqIEB0aXRsZVxyXG4gKiBEeW5hbWljIFRhYmxlXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIDxjdHMtZHluYW1pYy10YWJsZVxyXG4gKiAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICogICAgW3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuICogICAgW2Z1bGxXaWR0aF09XCJmdWxsV2lkdGhcIlxyXG4gKiAgICBbcGFnZVNpemVdPVwiUGFnZVNpemVcIlxyXG4gKiAgICBbcGFnZVByb3ZpZGVyXT1cInBhZ2VQcm92aWRlclwiXHJcbiAqICAgIFtxdWlja0ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gKiAgICBbc29ydGluZ0J5XT1cInNvcnRpbmdCeVwiXHJcbiAqICAgIFtlbnRpdHlUeXBlXT1cIidhbGwnXCJcclxuICogICAgW2ZpZWxkc109XCJmaWVsZHNcIlxyXG4gKiAgICBbcHJlZml4XT1cInByZWZpeFwiXHJcbiAqICAgIFtyb3dDdXJzb3JdPVwidHJ1ZVwiXHJcbiAqICAgIFtxdWVyeVBhcmFtXT1cInF1ZXJ5UGFyYW1cIlxyXG4gKiAgICBbaGVhZGVyc109XCJoZWFkZXJzXCJcclxuICogICAgKG9uUm93U2VsZWN0ZWQpPVwib3BlblZpZXdlcigkZXZlbnQpXCJcclxuICogICAgKGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiPlxyXG4gKiA8L2N0cy1keW5hbWljLXRhYmxlPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtZHluYW1pYy10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbY2xhc3MubG9hZGluZy1yZXN1bHRzXSc6ICdsb2FkaW5nJyxcclxuICAgICdbY2xhc3Mubm8tZGF0YV0nOiAncm93cy5sZW5ndGggPD0gMCcsXHJcbiAgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNUYWJsZUNvbXBvbmVudFxyXG4gIGV4dGVuZHMgRGVzdHJveVN1YmplY3RcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XHJcbntcclxuICAvKiogZXZlbnQgdG8gZW1pdCB3aGVuIHNlbGVjdGluZyBzaW5nbGUgcm93ICAqL1xyXG4gIEBPdXRwdXQoKSBvblJvd1NlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgdG8gY2F0Y2ggaW5kZXgqL1xyXG4gIEBPdXRwdXQoKSBvblJvd0luZGV4U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBwZXJmb3JtIGFjdGlvbiBvbiByb3cgKGRlbHRlLCBlZGl0LCAuLi4gKSAqL1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25PblJvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZXZlbnQgdG8gZW1pdCB0byB0aGUgaGlnaGVyIGxldmVsICB3aGVuIGdldHRpbmcgZGF0YSBmcm9tIGFwaSBpcyBmaW5pc2hlZCAqL1xyXG4gIEBPdXRwdXQoKSBvbkdldHRpbmdEYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBldmVudCB0IGVtaXQgd2hlbiBzZWxlY3RpbmcgbXVsdGlwbGUgcm93ICovXHJcbiAgQE91dHB1dCgpIG9uTXVsdGlSb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZXZlbnQgdCBlbWl0IHdoZW4gc3RhcnQgZ2V0dGluZyBkYXRhIGFuZCB3aGVuIGZpbmlzaCAqL1xyXG4gIEBPdXRwdXQoKSBvbkxvYWRpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBzb3J0Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc29ydEJ5OiBzdHJpbmc7XHJcbiAgICBzb3J0T3JkZXI6IHN0cmluZztcclxuICB9PigpO1xyXG4gIC8qKlxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgb25QYWdlYCBpbnN0ZWFkLlxyXG4gICAqIEBzZWUgb25QYWdlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG9uUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIG9uUGFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8UGFnZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KCkgb25Mb2FkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkluaXRpYWxpemUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIEFycmF5IG9mIGNvbHVtbnMgKi9cclxuICBASW5wdXQoKSBjb2x1bW5zO1xyXG4gIC8qKiBBcnJheSBvZiBjb2x1bW5zIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xyXG4gIEBJbnB1dCgpIHJlc3BvbnNpdmVDb2x1bW5zPztcclxuICAvKiogRGVmaW5lcyB0aGUgcGFnZSBpbiB3aGljaCB0YWJsZSBpcyBiZWluZyB1c2VkICovXHJcbiAgQElucHV0KCkgZW50aXR5VHlwZTogc3RyaW5nO1xyXG4gIC8qKiBUcmFuc2xhdGlvbnMgcHJlZml4ICovXHJcbiAgQElucHV0KCkgcHJlZml4ID0gJyc7XHJcbiAgLyoqIEhlYWRlcnMgdG8gYmUgc2VudCB3aXRoIEFQSSBSZXF1ZXN0ICovXHJcbiAgQElucHV0KCkgaGVhZGVycztcclxuICAvKiogRmllbGRzIGtleW1hcCB0byBiZSBtYXBwZWQgaW4gdGhlIGFkYXB0ZXIgKi9cclxuICBASW5wdXQoKSBmaWVsZHM7XHJcbiAgLyoqIFBhZ2UgUHJvdmlkZXIgbmFtZSB0aGF0IHdpbGwgYmUgdXNlZCB0byByZXRyaWV2ZSBkYXRhICovXHJcbiAgQElucHV0KCkgcGFnZVByb3ZpZGVyO1xyXG4gIC8qKiBDb250cm9scyBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UgaW4gdGFibGUgKi9cclxuICBASW5wdXQoKSBwYWdlU2l6ZSA9IDEwO1xyXG4gIC8qKiBDb250cm9scyBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UgaW4gdGFibGUgKi9cclxuICBASW5wdXQoKSBoaWdsaWdodFVucmVhZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTGVnYWN5TW9kZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1RvdGFsUmVjb3JkID0gZmFsc2U7XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoRU1QVFlfVEVNUExBVEUsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gIGVtcHR5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIHByaXZhdGUgX3BhZ2VOdW1iZXIgPSAxO1xyXG4gIEBJbnB1dCgpIHNldCBwYWdlTnVtYmVyKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIHRoaXMuX3BhZ2VOdW1iZXIgPSBpc05hTigrdmFsdWUpID8gMSA6ICt2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBwYWdlTnVtKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VOdW1iZXI7XHJcbiAgfVxyXG5cclxuICAvKiogU29ydGluZyBjb2x1bW4gKi9cclxuICBASW5wdXQoKSBzb3J0aW5nQnk6IHtcclxuICAgIHNvcnRCeT86IHN0cmluZztcclxuICAgIHNvcnRPcmRlcj86IHN0cmluZztcclxuICB9ID0ge307XHJcbiAgQElucHV0KCkgcXVlcnlQYXJhbT8gPSB7fTtcclxuXHJcbiAgQElucHV0KCkgY3VzdG9tRmlsdGVyczoge1xyXG4gICAgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICAgIHBheWxvYWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIH0gPSB7fTtcclxuXHJcbiAgQElucHV0KCkgcXVpY2tGaWx0ZXI/O1xyXG4gIC8qKiBDb250cm9scyBpZiBpdCByZXBvcnQgcGFnZSAqL1xyXG4gIEBJbnB1dCgpIHJlcG9ydDtcclxuICAvKiogdG8gbWFrZSBjdXJzb3Igd2hlbiBob3ZlciBvbiByb3cgb3Igbm90ICovXHJcbiAgQElucHV0KCkgcm93Q3Vyc29yPztcclxuICBASW5wdXQoKSBmdWxsV2lkdGg/ID0gJ2F1dG8nO1xyXG4gIC8qKiAnbGlzdCcgZm9yIG5vcmFtbCB0YWJsZSAnY2FyZCcgZm9yIGNhcmRzIG1vZGUgbGlrZSBpbiBtZW1vcyAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlTW9kZSA9ICdsaXN0JztcclxuXHJcbiAgQElucHV0KCkgY29tcG9uZW50TmFtZTogc3RyaW5nO1xyXG4gIC8qKiBhY3Rpb24gdG8gYmUgdXNlZCBpbiBjYXNlIG9mIGNhcmQgbW9kZSAqL1xyXG4gIEBJbnB1dCgpIHRhYmxlQWN0aW9ucztcclxuICBASW5wdXQoKSBkZWZ1bHRTb3J0OiBhbnkgPSB7IG5hbWU6ICdwcm9wZXJ0aWVzLmNyZWF0ZWRBdCcsIGRpcjogJ2Rlc2MnIH07XHJcbiAgQElucHV0KCkgcmFuZ2U7XHJcbiAgQElucHV0KCkgaXNTZWFyY2hQYWdlID0gZmFsc2U7XHJcbiAgLyoqIGFsbG93IG11bHRpc2VsZWN0IHJvd3Mgd2l0aCBjaGVja2JveCAqL1xyXG4gIEBJbnB1dCgpIG11bHRpU2VsZWN0Um93cyA9IGZhbHNlO1xyXG4gIC8qKiB0byBzaG93IDFzdCByb3cgd2l0aCBjdXN0b20gdGVtcGxhdGUgaW4gdGhlIHRhYmxlKi9cclxuICBASW5wdXQoKSBjdXN0b21GaXJzdFJvdyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhpZ2hsaWdodFNlbGVjdGVkQ2FyZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dBY3Rpb25zQXNNZW51ID0gZmFsc2U7IC8vIGZsYWdlIHRvIHNob3cgYWN0aW9uIGluIG1lbnUgb3Igc2lkZSBieSBzaWRlXHJcbiAgQElucHV0KClcclxuICBmaWx0ZXJQYXJhbXMgPSB7fTtcclxuXHJcbiAgQElucHV0KCkgc2tpcEFnZ3JlZ2F0aW9uOiAnbmV2ZXInIHwgJ29uUGFnZUNoYW5nZScgPSAnb25QYWdlQ2hhbmdlJztcclxuICBASW5wdXQoKSBjdXN0b21Vcmw6IHtcclxuICAgIHVybDogc3RyaW5nO1xyXG4gICAgbWV0aG9kOiAnUE9TVCcgfCAnR0VUJztcclxuICAgIHBheWxvYWQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIH07XHJcbiAgQElucHV0KCkgZm9ybWF0ID0gJ01NTU0gZCwgeSc7XHJcblxyXG4gIEBJbnB1dCgpIHJlcXVlc3RBY3Rpb25zPzoge1xyXG4gICAgYmVmb3JlU3VibWl0PzogRXZhbHVhdGVkU3RyaW5nPCdwYXlsb2FkJz47XHJcbiAgfTtcclxuXHJcbiAgcm93cyA9IFtdO1xyXG4gIHRvdGFsUmVjb3JkcyA9IDA7XHJcblxyXG4gIGxvYWRpbmc7XHJcbiAgc29ydGluZyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBhZ2VTaXplczogQXJyYXk8eyBsYWJlbDogc3RyaW5nOyBzaXplOiBudW1iZXIgfT4gPSBbXTtcclxuXHJcbiAgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFkYXB0ZXI6IEFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWxsQXBpOiBDYWxsQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGR5bmFtaWNUYWJsZVNlcnZpY2U6IER5bmFtaWNUYWJsZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF90YWJsZUhvb2tzU2VydmljZTogVGFibGVIb29rc1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZHluYW1pY1RhYmxlU2VydmljZS5yZWZyZXNoRGF0YVxyXG4gICAgICAucGlwZShzdGFydFdpdGgobnVsbCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoZmlsdGVyRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChmaWx0ZXJEYXRhKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlclBhcmFtcyA9IHsgLi4uZmlsdGVyRGF0YSB9O1xyXG4gICAgICAgICAgLy8gcmVzZXQgcGFnZSBudW1iZXIgd2hlbiBzdGFydCBuZXcgZmlsdGVyaW5nXHJcbiAgICAgICAgICB0aGlzLl9yZXNldFBhZ2VOdW1iZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgaXNGaXJzdENoYW5nZSA9IE9iamVjdC52YWx1ZXMoY2hhbmdlcykuc29tZSgoYykgPT4gYy5pc0ZpcnN0Q2hhbmdlKCkpO1xyXG4gICAgaWYgKGlzRmlyc3RDaGFuZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhhc0NoYW5nZWQgPSAoaXRlbXM6IHN0cmluZ1tdKSA9PlxyXG4gICAgICBpdGVtcy5zb21lKChrZXkpID0+IHtcclxuICAgICAgICBjb25zdCBpc0VxdWFsID0gXy5pc0VxdWFsKFxyXG4gICAgICAgICAgY2hhbmdlc1trZXldPy5wcmV2aW91c1ZhbHVlIHx8IG51bGwsXHJcbiAgICAgICAgICBjaGFuZ2VzW2tleV0/LmN1cnJlbnRWYWx1ZSB8fCBudWxsXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gIWlzRXF1YWw7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIGlmIChoYXNDaGFuZ2VkKFsncXVlcnlQYXJhbScsICdxdWlja0ZpbHRlcicsICdjdXN0b21GaWx0ZXJzJ10pKSB7XHJcbiAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XHJcbiAgICAgICAgdGhpcy5fcmVzZXRQYWdlTnVtYmVyKCk7IC8vIFJlc2V0IHBhZ2UgbnVtYmVyIGJlZm9yZSByZWNhbGxpbmcgQVBJIHdpdGggZmlsdGVyc1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChoYXNDaGFuZ2VkKFsnc29ydGluZ0J5J10pKSB7XHJcbiAgICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVzZXRQYWdlTnVtYmVyKCkge1xyXG4gICAgdGhpcy5fcGFnZU51bWJlciA9IDE7XHJcbiAgICB0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KHRoaXMuX3BhZ2VOdW1iZXIpO1xyXG4gICAgdGhpcy5vblBhZ2UuZW1pdCh7XHJcbiAgICAgIHBhZ2VJbmRleDogdGhpcy5fcGFnZU51bWJlcixcclxuICAgICAgcGFnZVNpemU6IHRoaXMucGFnZVNpemUsXHJcbiAgICAgIGxlbmd0aDogdGhpcy50b3RhbFJlY29yZHMsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldERhdGEoXHJcbiAgICBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXHJcbiAgICBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cclxuICApIHtcclxuICAgIHRoaXMubG9hZGluZyA9IHRydWU7IC8vIGludGVybmFsIGxvYWRpbmdcclxuICAgIHRoaXMub25Mb2FkaW5nLmVtaXQodHJ1ZSk7IC8vIGV4dGVybmFsIGxvYWRpbmdcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIC4uLih0aGlzLnJhbmdlID8geyBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiB0aGlzLnJhbmdlIH0gOiB7fSksXHJcbiAgICAgIC4uLnRoaXMuZmlsdGVyUGFyYW1zLCAvLyB1c2VkIHRvIGdldCBmaWx0ZXIgZGF0YSBhbmQgc2V0IGl0IGluIG91ciBwYXJhbXNcclxuICAgICAgLi4udGhpcy5xdWVyeVBhcmFtLCAvLyB1c2VkIHRvIGdldCBwYXJhbXMgZnJvbSBvdXIgY29uZmlnXHJcbiAgICAgIC4uLnRoaXMucXVpY2tGaWx0ZXIsXHJcbiAgICAgIC4uLihPYmplY3Qua2V5cyh0aGlzLnNvcnRpbmdCeSB8fCB7fSkubGVuZ3RoXHJcbiAgICAgICAgPyB7XHJcbiAgICAgICAgICAgIHNvcnRCeTogdGhpcy5zb3J0aW5nQnk/LnNvcnRCeSxcclxuICAgICAgICAgICAgc29ydE9yZGVyOiB0aGlzLnNvcnRpbmdCeT8uc29ydE9yZGVyLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDoge30pLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiArdGhpcy5wYWdlTnVtIC0gMSxcclxuICAgICAgLi4uKHRoaXMucGFnZVNpemUgPyB7IHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplIH0gOiB7fSksXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgLi4ucGF5bG9hZCxcclxuICAgIH07XHJcblxyXG4gICAgLy8gZG9uJ3QgcmVmcmVzaCBhbGwgdGFibGUgaW4gY2FzZSBvZiBzb3J0aW5nIG9ubHlcclxuICAgIGlmICghdGhpcy5zb3J0aW5nICYmIHRoaXMuaXNMZWdhY3lNb2RlKSB7XHJcbiAgICAgIC8vIHVzZWQgdG8gbm90IHJlZnJlc2hpbmcgYWxsIHRhYmxlIGluIGNhc2Ugb2Ygc29ydGluZyBzaW5jZSB0YWJsZSBsb3NlIHNvcnRpbmcgc3RhdGUgd2hlbiByZWZyZXNoIGFsbCB0YWJsZVxyXG4gICAgICB0aGlzLnJvd3MgPSBbXTsgLy8gdXNlZCB0byByZWZyZXNoIHRhYmxlIHRvIGZlZWwgY2hhbmdlcyBpbiBhY3Rpb25zIHdoZW4gcGVyZm9ybSBhY3Rpb24gYW5kIG5lZWQgdG8gcmVmcmVzaCBhY3Rpb25zXHJcbiAgICB9XHJcbiAgICB0aGlzLnNvcnRpbmcgPSBmYWxzZTsgLy8gcmVzZXQgc29ydGluZyBzdGF0dXMgdG8gZmFsc2UgYW5kIGZvciBuZXh0IHNvcnRpbmcgZnVuYyBzb3J0aW5nIHNldCBpdCB0byB0cnVlIGFnYWluXHJcblxyXG4gICAgY29uc3QgX2hlYWRlcnMgPSB7XHJcbiAgICAgIC4uLnRoaXMuaGVhZGVycyxcclxuICAgICAgLi4uaGVhZGVycyxcclxuICAgIH07XHJcblxyXG4gICAgbGV0IF9wcm92aWRlclBheWxvYWQ6IFRhYmxlUHJvdmlkZXJSZXF1ZXN0ID0ge1xyXG4gICAgICBxdWVyeToge1xyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogdGhpcy5wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIC4uLih0aGlzLmN1c3RvbUZpbHRlcnM/LnBhcmFtcyB8fCB7fSksXHJcbiAgICAgIH0sXHJcbiAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICBoZWFkZXJzOiBfaGVhZGVycyxcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgbGV0IF9jdXN0b21QYXlsb2FkOiBUYWJsZUN1c3RvbVJlcXVlc3QgPSB7XHJcbiAgICAgIHVybDogdGhpcy5jdXN0b21Vcmw/LnVybCxcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIC4uLih0aGlzLmN1c3RvbUZpbHRlcnM/LnBhcmFtcyB8fCB7fSksXHJcbiAgICAgIH0sXHJcbiAgICAgIGhlYWRlcnM6IF9oZWFkZXJzLFxyXG4gICAgICBwYXlsb2FkOiBfLm1lcmdlKFxyXG4gICAgICAgIHt9LFxyXG4gICAgICAgIHRoaXMuY3VzdG9tVXJsPy5wYXlsb2FkIHx8IHt9LFxyXG4gICAgICAgIHRoaXMuY3VzdG9tRmlsdGVycz8ucGF5bG9hZCB8fCB7fVxyXG4gICAgICApLFxyXG4gICAgfTtcclxuXHJcbiAgICBsZXQgcmVxdWVzdERhdGE6IFRhYmxlUHJvdmlkZXJSZXF1ZXN0IHwgVGFibGVDdXN0b21SZXF1ZXN0ID0gdGhpcy5jdXN0b21VcmxcclxuICAgICAgPyBfY3VzdG9tUGF5bG9hZFxyXG4gICAgICA6IF9wcm92aWRlclBheWxvYWQ7XHJcblxyXG4gICAgY29uc3QgYmVmb3JlU3VibWl0U3RyaW5nID0gdGhpcy5yZXF1ZXN0QWN0aW9ucz8uYmVmb3JlU3VibWl0O1xyXG4gICAgaWYgKHR5cGVvZiBiZWZvcmVTdWJtaXRTdHJpbmcgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJlcXVlc3REYXRhID0gYXdhaXQgdGhpcy5fdGFibGVIb29rc1NlcnZpY2UuZXZhbHVhdGUoXHJcbiAgICAgICAgYmVmb3JlU3VibWl0U3RyaW5nLFxyXG4gICAgICAgIHJlcXVlc3REYXRhXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVxdWVzdERhdGEgPSBhd2FpdCB0aGlzLl90YWJsZUhvb2tzU2VydmljZS5leGVjdXRlQmVmb3JlU3VibWl0KFxyXG4gICAgICByZXF1ZXN0RGF0YVxyXG4gICAgKTtcclxuXHJcbiAgICBsZXQgcXVlcnkkOiBPYnNlcnZhYmxlPHVua25vd24+O1xyXG4gICAgaWYgKHRoaXMuY3VzdG9tVXJsKSB7XHJcbiAgICAgIGNvbnN0IF9yZXF1ZXN0ID0gcmVxdWVzdERhdGEgYXMgVGFibGVDdXN0b21SZXF1ZXN0O1xyXG5cclxuICAgICAgcXVlcnkkID0gdGhpcy5jYWxsQXBpLmN1c3RvbVF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHVybDogX3JlcXVlc3QudXJsLFxyXG4gICAgICAgICAgbWV0aG9kOiB0aGlzLmN1c3RvbVVybC5tZXRob2QsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBfcmVxdWVzdC5wYXJhbXMsXHJcbiAgICAgICAgX3JlcXVlc3QuaGVhZGVycyxcclxuICAgICAgICBfcmVxdWVzdC5wYXlsb2FkXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBfcmVxdWVzdCA9IHJlcXVlc3REYXRhIGFzIFRhYmxlUHJvdmlkZXJSZXF1ZXN0O1xyXG4gICAgICBxdWVyeSQgPSB0aGlzLmNhbGxBcGkucXVlcnkoX3JlcXVlc3QucXVlcnksIF9yZXF1ZXN0Lm9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHF1ZXJ5JFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oaXRlbSwgdGhpcy5maWVsZHMpKTtcclxuICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMub25Mb2FkaW5nLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMub25Mb2FkLmVtaXQocmVzKTtcclxuICAgICAgICBpZiAoIXRoaXMuaW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgIHRoaXMub25Jbml0aWFsaXplLmVtaXQocmVzKTtcclxuICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXMuZW50cmllcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcyAmJlxyXG4gICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXM/LmNyZWF0b3IgJiZcclxuICAgICAgICAgICAgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXNcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXNbJ2NyZWF0b3JGdWxsT2JqZWN0J10gPSB7XHJcbiAgICAgICAgICAgICAgLi4uZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3IsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yID1cclxuICAgICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXMuY3JlYXRvcj8ucHJvcGVydGllcz8uZmlyc3ROYW1lICtcclxuICAgICAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yPy5wcm9wZXJ0aWVzPy5sYXN0TmFtZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50LnByb3BlcnRpZXMgJiYgZWxlbWVudC5wcm9wZXJ0aWVzPy5hc3NpZ25lZSkge1xyXG4gICAgICAgICAgICBlbGVtZW50LnByb3BlcnRpZXMuYXNzaWduZWUgPSBlbGVtZW50LnByb3BlcnRpZXM/LmFzc2lnbmVlLmZ1bGxOYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLy8gaWYodGhpcy5oaWdsaWdodFVucmVhZCl7XHJcbiAgICAgICAgICAvLyBcdHRoaXMuY2VjaGtJZlJlYWRPck5vdChlbGVtZW50LnByb3BlcnRpZXMpO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gcmVzLnJlc3VsdHNDb3VudDtcclxuICAgICAgICB0aGlzLnJvd3MgPSByZXMuZW50cmllcztcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgLy8gZW1pdCBkYXRhIHRvIG91dHNpZGUgaW4gY2FzZSBvZiBzZWFyY2ggcGFnZSBmb3IgdGhlIGZpcnN0IHRpbWUgb25seSB0byBwcmV2ZW50IHJlZnJlc2hpbmcgYWdncmVnYXRpb24gd2l0aCBldmVyeSBwYWdlIGNoYW5nZVxyXG4gICAgICAgIC8vIGFuZCBmb3IgYW55IG90aGVyIHBhZ2UgdHlwZSBlbWl0IGRhdGEgZGlyZWN0bHkgaW4gYWxsIHBhZ2UgbnVtYmVyc1xyXG4gICAgICAgIGlmICgodGhpcy5pc1NlYXJjaFBhZ2UgJiYgdGhpcy5wYWdlTnVtID09PSAxKSB8fCAhdGhpcy5pc1NlYXJjaFBhZ2UpXHJcbiAgICAgICAgICB0aGlzLm9uR2V0dGluZ0RhdGEuZW1pdChyZXMpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIHdoZW4gY2xpY2tpbmcgb24gc2luZ2xlIHJvd1xyXG4gIHJvd0RldGFpbHMoZXZlbnQpIHtcclxuICAgIHRoaXMub25Sb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGluZGV4RGV0YWlscyhldmVudCkge1xyXG4gICAgdGhpcy5vblJvd0luZGV4U2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvL2Z1bmN0aW9uIHRvIGhhbmRsZSBhbGwgb3BlcmF0aW9ucyBvbiBzaW5nbGUgcm93IChkZWxldGUgLCBlZGl0ICwgLi4uKVxyXG4gIHBlcmZvcm1BY3Rpb24oYWN0aW9uKSB7XHJcbiAgICB0aGlzLmFjdGlvbk9uUm93LmVtaXQoYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIC8vIGhhbmRsZSBzb3J0aW5nIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIHRhYmxlXHJcbiAgb25Tb3J0KHNvcnRPYmplY3QpIHtcclxuICAgIHRoaXMuc29ydENoYW5nZWQuZW1pdChzb3J0T2JqZWN0KTtcclxuICAgIHRoaXMuc29ydGluZ0J5ID0gc29ydE9iamVjdDtcclxuICAgIHRoaXMuc29ydGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmdldERhdGEoXHJcbiAgICAgIHt9LFxyXG4gICAgICB0aGlzLnNraXBBZ2dyZWdhdGlvbiA9PT0gJ29uUGFnZUNoYW5nZScgPyB7IHNraXBBZ2dyZWdhdGVzOiAndHJ1ZScgfSA6IHt9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25NdWx0aVJvd1NlbGVjdFZhbHVlKGV2ZW50KSB7XHJcbiAgICB0aGlzLm9uTXVsdGlSb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYWdpbmF0aW9uQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLl9wYWdlTnVtYmVyID0gZXZlbnQ7XHJcbiAgICB0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMub25QYWdlLmVtaXQoe1xyXG4gICAgICBwYWdlSW5kZXg6IHRoaXMuX3BhZ2VOdW1iZXIsXHJcbiAgICAgIHBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICBsZW5ndGg6IHRoaXMudG90YWxSZWNvcmRzLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdldERhdGEoXHJcbiAgICAgIHt9LFxyXG4gICAgICB0aGlzLnNraXBBZ2dyZWdhdGlvbiA9PT0gJ29uUGFnZUNoYW5nZScgPyB7IHNraXBBZ2dyZWdhdGVzOiAndHJ1ZScgfSA6IHt9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VQYWdlU2l6ZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnBhZ2VTaXplID0gcGFnZVNpemU7XHJcbiAgICB0aGlzLl9yZXNldFBhZ2VOdW1iZXIoKTtcclxuICAgIHRoaXMuZ2V0RGF0YShcclxuICAgICAge30sXHJcbiAgICAgIHRoaXMuc2tpcEFnZ3JlZ2F0aW9uID09PSAnb25QYWdlQ2hhbmdlJyA/IHsgc2tpcEFnZ3JlZ2F0ZXM6ICd0cnVlJyB9IDoge31cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjZWNoa0lmUmVhZE9yTm90KGVsZW1lbnQpIHtcclxuICAgIC8vIGNoZWNrIGlmIGxvZ2VkIGluIHVzZXIgaXMgaW4gdmlld2VycyBhcnJheSBvciBub3RcclxuICAgIGlmIChlbGVtZW50Wyd2aWV3ZXJzOnVzZXJzJ10gJiYgZWxlbWVudFsndmlld2Vyczp1c2VycyddLmxlbmd0aCkge1xyXG4gICAgICBlbGVtZW50LmlzUmVhZGVkID0gZmFsc2U7XHJcbiAgICAgIGVsZW1lbnRbJ3ZpZXdlcnM6dXNlcnMnXS5tYXAoKHVzZXIpID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB1c2VyLnVzZXJuYW1lID09PVxyXG4gICAgICAgICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudXNlcm5hbWUgJiZcclxuICAgICAgICAgIHVzZXIuc3RhdGUgPT09ICdyZWFkJ1xyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgZWxlbWVudC5pc1JlYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGVsZW1lbnQuaXNSZWFkZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndyYXBwaW5nIHRhYmxlLXdyYXBwaW5nXCI+XHJcblx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGVnYWN5TW9kZVwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRhYmxlLXJlcG9zaXRpb25cIj5cclxuXHRcdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd3MubGVuZ3RoXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuXHRcdFx0PGN0cy1zcGlubmVyPjwvY3RzLXNwaW5uZXI+XHJcblx0XHQ8L25nLWNvbnRhaW5lcj5cclxuXHQ8L25nLWNvbnRhaW5lcj5cclxuXHJcblx0PGRpdiBjbGFzcz1cInRhYmxlLXJlcG9zaXRpb25cIiAqbmdJZj1cIiFpc0xlZ2FjeU1vZGVcIj5cclxuXHRcdDxuZy1jb250YWluZXIgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYmxlXCI+PC9uZy1jb250YWluZXI+XHJcblx0XHQ8bmctY29udGFpbmVyXHJcblx0XHRcdCpuZ0lmPVwiIWluaXRpYWxpemVkXCJcclxuXHRcdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwic2tlbGV0b25cIlxyXG5cdFx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IDEwIH1cIlxyXG5cdFx0PjwvbmctY29udGFpbmVyPlxyXG5cdDwvZGl2PlxyXG5cclxuXHQ8ZGl2XHJcblx0XHRjbGFzcz1cInBhZ2luYXRpb24taW5lci13cmFwZXIgbXktM1wiXHJcblx0XHRbbmdDbGFzc109XCJ7IHJlbGF0aXZlOiBwYWdlU2l6ZXM/Lmxlbmd0aCB9XCJcclxuXHRcdCpuZ0lmPVwicm93cy5sZW5ndGggXCJcclxuXHQ+XHJcblx0XHQ8Y3RzLXBhZ2luYXRpb25cclxuICAgICAgKm5nSWY9XCJ0b3RhbFJlY29yZHMgPiBwYWdlU2l6ZVwiXHJcblx0XHRcdFtwYWdlXT1cInBhZ2VOdW1cIlxyXG5cdFx0XHQoY2hhbmdlKT1cInBhZ2luYXRpb25DaGFuZ2UoJGV2ZW50KVwiXHJcblx0XHRcdFtzaXplXT1cInBhZ2VTaXplXCJcclxuXHRcdFx0W2NvdW50XT1cInRvdGFsUmVjb3Jkc1wiXHJcblx0XHQ+PC9jdHMtcGFnaW5hdGlvbj5cclxuXHRcdDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSBuZGZQYWdlU2l6ZXMgZmxleCBnYXAteC0zIGl0ZW1zLWNlbnRlciBtdC0yXCI+XHJcblx0XHRcdDxuZGYtcGFnZS1zaXplcy1saXN0XHJcblx0XHRcdFx0Km5nSWY9XCJwYWdlU2l6ZXM/Lmxlbmd0aFwiXHJcblx0XHRcdFx0W3BhZ2VTaXplc109XCJwYWdlU2l6ZXNcIlxyXG5cdFx0XHRcdFtzZWxlY3RlZFBhZ2VTaXplXT1cInBhZ2VTaXplXCJcclxuXHRcdFx0XHQob25DaGFuZ2VQYWdlU2l6ZSk9XCJvbkNoYW5nZVBhZ2VTaXplKCRldmVudClcIlxyXG5cdFx0XHQ+XHJcblx0XHRcdDwvbmRmLXBhZ2Utc2l6ZXMtbGlzdD5cclxuXHJcblx0XHRcdDxzcGFuICpuZ0lmPVwic2hvd1RvdGFsUmVjb3JkXCI+e3sgJ1RBQkxFLnRvdGFsUmVjb3JkcycgfCB0cmFuc2xhdGU6IHsgY291bnQ6IHRvdGFsUmVjb3JkcyB9IH19PC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblxyXG5cdDxuZy1jb250YWluZXJcclxuXHRcdCpuZ0lmPVwiaXNMZWdhY3lNb2RlXCJcclxuXHRcdFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVtcHR5VGVtcGxhdGUgfHwgbGVnYWN5RGVmYXVsdEVtcHR5U3RhdGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBsb2FkaW5nLCByb3dzOiByb3dzLCBpbml0aWFsaXplZDogaW5pdGlhbGl6ZWQgfVwiXHJcblx0PjwvbmctY29udGFpbmVyPlxyXG5cclxuXHQ8bmctY29udGFpbmVyXHJcblx0XHQqbmdJZj1cIiFpc0xlZ2FjeU1vZGVcIlxyXG5cdFx0W25nVGVtcGxhdGVPdXRsZXRdPVwiZW1wdHlUZW1wbGF0ZSB8fCBkZWZhdWx0RW1wdHlTdGF0ZVwiXHJcblx0XHRbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGxvYWRpbmcsIHJvd3M6IHJvd3MsIGluaXRpYWxpemVkOiBpbml0aWFsaXplZCB9XCJcclxuXHQ+PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuPG5nLXRlbXBsYXRlICN0YWJsZT5cclxuXHQ8Y3RzLXRhYmxlXHJcblx0XHRbcm93c109XCJyb3dzXCJcclxuXHRcdFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG5cdFx0W3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuXHRcdFtyb3dDdXJzb3JdPVwicm93Q3Vyc29yXCJcclxuXHRcdFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuXHRcdFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG5cdFx0W3ByZWZpeF09XCJwcmVmaXhcIlxyXG5cdFx0W3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxyXG5cdFx0W3RhYmxlTW9kZV09XCJ0YWJsZU1vZGVcIlxyXG5cdFx0W2hpZ2xpZ2h0VW5yZWFkXT1cImhpZ2xpZ2h0VW5yZWFkXCJcclxuXHRcdFtjb21wb25lbnROYW1lXT1cImNvbXBvbmVudE5hbWVcIlxyXG5cdFx0W211bHRpU2VsZWN0Um93c109XCJtdWx0aVNlbGVjdFJvd3NcIlxyXG5cdFx0W3RhYmxlQWN0aW9uc109XCJ0YWJsZUFjdGlvbnNcIlxyXG5cdFx0W3Nob3dBY3Rpb25zQXNNZW51XT1cInNob3dBY3Rpb25zQXNNZW51XCJcclxuXHRcdFtkZWZ1bHRTb3J0XT1cImRlZnVsdFNvcnRcIlxyXG5cdFx0W2Zvcm1hdF09XCJmb3JtYXRcIlxyXG5cdFx0W2hpZ2hsaWdodFNlbGVjdGVkQ2FyZF09XCJoaWdobGlnaHRTZWxlY3RlZENhcmRcIlxyXG5cdFx0W2N1c3RvbUZpcnN0Um93XT1cImN1c3RvbUZpcnN0Um93XCJcclxuXHRcdChvblJvd1NlbGVjdGVkKT1cInJvd0RldGFpbHMoJGV2ZW50KVwiXHJcblx0XHQob25Sb3dJbmRleFNlbGVjdGVkKT1cImluZGV4RGV0YWlscygkZXZlbnQpXCJcclxuXHRcdChvbk11bHRpUm93U2VsZWN0ZWQpPVwib25NdWx0aVJvd1NlbGVjdFZhbHVlKCRldmVudClcIlxyXG5cdFx0KGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiXHJcblx0XHQob25Tb3J0aW5nKT1cIm9uU29ydCgkZXZlbnQpXCJcclxuXHQ+PC9jdHMtdGFibGU+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2xlZ2FjeURlZmF1bHRFbXB0eVN0YXRlPlxyXG5cdDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgcm93cy5sZW5ndGggPT09IDBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJ0ZXh0XCI+XHJcblx0XHRcdHt7IChwcmVmaXggPyBwcmVmaXggKyAnbm9EYXRhJyA6ICdub0RhdGEnKSB8IHRyYW5zbGF0ZSB9fVxyXG5cdFx0PC9kaXY+XHJcblx0PC9kaXY+XHJcblx0PGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCIgKm5nSWY9XCJsb2FkaW5nICYmIHJvd3MubGVuZ3RoID09PSAwXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG5cdFx0XHR7eyAocHJlZml4ID8gcHJlZml4ICsgJ2dldHRpbmdEYXRhJyA6ICdnZXR0aW5nRGF0YScpIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVtcHR5U3RhdGU+XHJcblx0PGRpdiBjbGFzcz1cImVtcHR5LXN0YXRlXCIgKm5nSWY9XCIhbG9hZGluZyAmJiByb3dzLmxlbmd0aCA9PT0gMFwiPlxyXG5cdFx0PGRpdiBjbGFzcz1cInRleHRcIj5cclxuXHRcdFx0e3sgKHByZWZpeCA/IHByZWZpeCArICdub0RhdGEnIDogJ25vRGF0YScpIHwgdHJhbnNsYXRlIH19XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2ICpuZ0lmPVwibG9hZGluZyAmJiBpbml0aWFsaXplZFwiIGNsYXNzPVwibG9hZGluZy1jb250ZW50XCI+XHJcblx0XHQ8bWF0LXNwaW5uZXIgW2RpYW1ldGVyXT1cIjEwMFwiPjwvbWF0LXNwaW5uZXI+XHJcblx0PC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3NrZWxldG9uIGxldC1yb3dzPlxyXG5cdDx0YWJsZSBjbGFzcz1cInctZnVsbFwiPlxyXG5cdFx0PHRoZWFkICpuZ0lmPVwiZmFsc2VcIj5cclxuXHRcdFx0PHRyIGNsYXNzPVwiYm9yZGVyLWIgYm9yZGVyLWdyZWVuLTkwMFwiPlxyXG5cdFx0XHRcdDx0aCAqbmdJZj1cIm11bHRpU2VsZWN0Um93c1wiIGNsYXNzPVwicC0zIHB5LTRcIiBzdHlsZT1cIndpZHRoOiA2MHB4XCI+XHJcblx0XHRcdFx0XHQ8YXBwLXNrZWxldG9uIHdpZHRoPVwiNjBweFwiIGhlaWdodD1cIjEuM3JlbVwiPjwvYXBwLXNrZWxldG9uPlxyXG5cdFx0XHRcdDwvdGg+XHJcblx0XHRcdFx0PHRoICpuZ0Zvcj1cImxldCBudW0gb2YgW10uY29uc3RydWN0b3IoY29sdW1ucz8ubGVuZ3RoIHx8IDQpOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJweC0zIHB5LTRcIj5cclxuXHRcdFx0XHRcdDxhcHAtc2tlbGV0b24gW3JhbmRvbVdpZHRoXT1cInRydWVcIiBoZWlnaHQ9XCIxLjdyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0PC90aGVhZD5cclxuXHRcdDx0Ym9keT5cclxuXHRcdFx0PHRyICpuZ0Zvcj1cImxldCByb3cgb2YgW10uY29uc3RydWN0b3Iocm93cyB8fCAxMCk7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJib3JkZXItYiBib3JkZXItZ3JheS0yMDBcIj5cclxuXHRcdFx0XHQ8dGQgKm5nSWY9XCJtdWx0aVNlbGVjdFJvd3NcIiBjbGFzcz1cInAtMyBweS00XCIgc3R5bGU9XCJ3aWR0aDogNTBweFwiPlxyXG5cdFx0XHRcdFx0PGFwcC1za2VsZXRvbiB3aWR0aD1cIjUwcHhcIiBoZWlnaHQ9XCIxLjNyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdDx0ZCAqbmdGb3I9XCJsZXQgY29sIG9mIFtdLmNvbnN0cnVjdG9yKGNvbHVtbnM/Lmxlbmd0aCB8fCA0KTsgbGV0IGkgPSBpbmRleFwiIGNsYXNzPVwicC0zIHB5LTRcIj5cclxuXHRcdFx0XHRcdDxhcHAtc2tlbGV0b24gW3JhbmRvbVdpZHRoXT1cInRydWVcIiBoZWlnaHQ9XCIxLjNyZW1cIj48L2FwcC1za2VsZXRvbj5cclxuXHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHQ8L3RyPlxyXG5cdFx0PC90Ym9keT5cclxuXHQ8L3RhYmxlPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -48,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
48
48
  exports: [DynamicTableComponent, EmptyTemplateDirective]
49
49
  }]
50
50
  }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBRTlFOzs7R0FHRztBQWNILE1BQU0sT0FBTyxrQkFBa0I7O2dIQUFsQixrQkFBa0I7aUhBQWxCLGtCQUFrQixpQkFaZixxQkFBcUIsRUFBRSxzQkFBc0IsYUFFM0QsWUFBWTtRQUNaLFdBQVc7UUFDWCxnQkFBZ0I7UUFDaEIsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixjQUFjO1FBQ2Qsd0JBQXdCLGFBRWYscUJBQXFCLEVBQUUsc0JBQXNCO2lIQUUzQyxrQkFBa0IsWUFYckI7WUFDUixZQUFZO1lBQ1osV0FBVztZQUNYLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLGNBQWM7WUFDZCx3QkFBd0I7U0FDeEI7NEZBR1csa0JBQWtCO2tCQWI5QixRQUFRO21CQUFDO29CQUNULFlBQVksRUFBRSxDQUFDLHFCQUFxQixFQUFFLHNCQUFzQixDQUFDO29CQUM3RCxPQUFPLEVBQUU7d0JBQ1IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2Qsd0JBQXdCO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxzQkFBc0IsQ0FBQztpQkFDeEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBEeW5hbWljVGFibGVDb21wb25lbnQgfSBmcm9tICcuL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJy4uL3RhYmxlJztcclxuaW1wb3J0IHsgUGFnaW5hdGlvbk1vZHVsZSB9IGZyb20gJy4uLy4uL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBMaWJyYXJ5U2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2xpYnJhcnlTaGFyZWQubW9kdWxlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEVtcHR5VGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZW1wdHktc3RhdGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU2tlbGV0b25Nb2R1bGUgfSBmcm9tICcuLi8uLi9za2VsZXRvbic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5cclxuLyoqXHJcbiAqIEB0aXRsZVxyXG4gKiBEeW5hbWljIFRhYmxlIEFQSVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuXHRkZWNsYXJhdGlvbnM6IFtEeW5hbWljVGFibGVDb21wb25lbnQsIEVtcHR5VGVtcGxhdGVEaXJlY3RpdmVdLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdFRhYmxlTW9kdWxlLFxyXG5cdFx0UGFnaW5hdGlvbk1vZHVsZSxcclxuXHRcdExpYnJhcnlTaGFyZWRNb2R1bGUsXHJcblx0XHRUcmFuc2xhdGVNb2R1bGUsXHJcblx0XHRTa2VsZXRvbk1vZHVsZSxcclxuXHRcdE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZVxyXG5cdF0sXHJcblx0ZXhwb3J0czogW0R5bmFtaWNUYWJsZUNvbXBvbmVudCwgRW1wdHlUZW1wbGF0ZURpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNUYWJsZU1vZHVsZSB7fVxyXG4iXX0=
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFFOUU7OztHQUdHO0FBY0gsTUFBTSxPQUFPLGtCQUFrQjs7Z0hBQWxCLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGlCQVpmLHFCQUFxQixFQUFFLHNCQUFzQixhQUUzRCxZQUFZO1FBQ1osV0FBVztRQUNYLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLGNBQWM7UUFDZCx3QkFBd0IsYUFFZixxQkFBcUIsRUFBRSxzQkFBc0I7aUhBRTNDLGtCQUFrQixZQVhyQjtZQUNSLFlBQVk7WUFDWixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsY0FBYztZQUNkLHdCQUF3QjtTQUN4Qjs0RkFHVyxrQkFBa0I7a0JBYjlCLFFBQVE7bUJBQUM7b0JBQ1QsWUFBWSxFQUFFLENBQUMscUJBQXFCLEVBQUUsc0JBQXNCLENBQUM7b0JBQzdELE9BQU8sRUFBRTt3QkFDUixZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCx3QkFBd0I7cUJBQ3hCO29CQUNELE9BQU8sRUFBRSxDQUFDLHFCQUFxQixFQUFFLHNCQUFzQixDQUFDO2lCQUN4RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IER5bmFtaWNUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAnLi4vdGFibGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IExpYnJhcnlTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbGlicmFyeVNoYXJlZC5tb2R1bGUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgRW1wdHlUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9lbXB0eS1zdGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTa2VsZXRvbk1vZHVsZSB9IGZyb20gJy4uLy4uL3NrZWxldG9uJztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XHJcblxyXG4vKipcclxuICogQHRpdGxlXHJcbiAqIER5bmFtaWMgVGFibGUgQVBJXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG5cdGRlY2xhcmF0aW9uczogW0R5bmFtaWNUYWJsZUNvbXBvbmVudCwgRW1wdHlUZW1wbGF0ZURpcmVjdGl2ZV0sXHJcblx0aW1wb3J0czogW1xyXG5cdFx0Q29tbW9uTW9kdWxlLFxyXG5cdFx0VGFibGVNb2R1bGUsXHJcblx0XHRQYWdpbmF0aW9uTW9kdWxlLFxyXG5cdFx0TGlicmFyeVNoYXJlZE1vZHVsZSxcclxuXHRcdFRyYW5zbGF0ZU1vZHVsZSxcclxuXHRcdFNrZWxldG9uTW9kdWxlLFxyXG5cdFx0TWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlXHJcblx0XSxcclxuXHRleHBvcnRzOiBbRHluYW1pY1RhYmxlQ29tcG9uZW50LCBFbXB0eVRlbXBsYXRlRGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY1RhYmxlTW9kdWxlIHt9XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXMvZHluYW1pYy10YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlcy9keW5hbWljLXRhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcclxuIl19