@bizdoc/core 2.5.5 → 2.5.6

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 (402) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +1 -1
  3. package/assets/themes/deep-purple-light-blue.min.css +2 -2
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +1 -1
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo.min.css +1 -1
  8. package/esm2022/lib/admin/admin-dismiss.service.mjs +3 -3
  9. package/esm2022/lib/admin/admin-menu.component.mjs +3 -3
  10. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +3 -3
  11. package/esm2022/lib/admin/architecture/designer-element.component.mjs +15 -15
  12. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +3 -3
  13. package/esm2022/lib/admin/architecture/designer.base.mjs +9 -9
  14. package/esm2022/lib/admin/architecture/designer.component.mjs +3 -3
  15. package/esm2022/lib/admin/architecture/elements/action.component.mjs +3 -3
  16. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +3 -3
  17. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +3 -3
  18. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +3 -3
  19. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +3 -3
  20. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +3 -3
  21. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +3 -3
  22. package/esm2022/lib/admin/architecture/elements/control.component.mjs +3 -3
  23. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +3 -3
  24. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +3 -3
  25. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +3 -3
  26. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +3 -3
  27. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +3 -3
  28. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +3 -3
  29. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +3 -3
  30. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +3 -3
  31. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +3 -3
  32. package/esm2022/lib/admin/architecture/elements/form.component.mjs +3 -3
  33. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +3 -3
  34. package/esm2022/lib/admin/architecture/elements/job.component.mjs +3 -3
  35. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +3 -3
  36. package/esm2022/lib/admin/architecture/elements/node.component.mjs +3 -3
  37. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +3 -3
  38. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -3
  39. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +3 -3
  40. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +3 -3
  41. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +3 -3
  42. package/esm2022/lib/admin/architecture/elements/report.component.mjs +3 -3
  43. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +3 -3
  44. package/esm2022/lib/admin/architecture/elements/role.component.mjs +3 -3
  45. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +3 -3
  46. package/esm2022/lib/admin/architecture/elements/source.component.mjs +3 -3
  47. package/esm2022/lib/admin/architecture/elements/state.component.mjs +3 -3
  48. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +3 -3
  49. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +3 -3
  50. package/esm2022/lib/admin/architecture/elements/type.component.mjs +3 -3
  51. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +3 -3
  52. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +3 -3
  53. package/esm2022/lib/admin/architecture/elements/view.component.mjs +3 -3
  54. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +3 -3
  55. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +3 -3
  56. package/esm2022/lib/admin/core/ace.input.mjs +3 -3
  57. package/esm2022/lib/admin/core/color-picker.input.mjs +3 -3
  58. package/esm2022/lib/admin/core/localized-string.component.mjs +3 -3
  59. package/esm2022/lib/admin/core/search.input.mjs +3 -3
  60. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +3 -3
  61. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +3 -3
  62. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  63. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +3 -3
  64. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +3 -3
  65. package/esm2022/lib/admin/form/designer/design-control.component.mjs +3 -3
  66. package/esm2022/lib/admin/form/designer/properties.component.mjs +3 -3
  67. package/esm2022/lib/admin/form/designer/section.component.mjs +3 -3
  68. package/esm2022/lib/admin/form/designer/settings.component.mjs +3 -3
  69. package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -3
  70. package/esm2022/lib/admin/form/workflow/node.component.mjs +3 -3
  71. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +3 -3
  72. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +3 -3
  73. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  74. package/esm2022/lib/admin/patterns/patterns.component.mjs +3 -3
  75. package/esm2022/lib/admin/permissions/permissions.component.mjs +3 -3
  76. package/esm2022/lib/admin/positions/positions-popup.component.mjs +3 -3
  77. package/esm2022/lib/admin/positions/positions.component.mjs +3 -3
  78. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +3 -3
  79. package/esm2022/lib/admin/profiler/profiler.component.mjs +3 -3
  80. package/esm2022/lib/admin/system.service.mjs +7 -4
  81. package/esm2022/lib/admin/utility-wrapper.component.mjs +3 -3
  82. package/esm2022/lib/admin/utility.pane.component.mjs +3 -3
  83. package/esm2022/lib/app.component.mjs +6 -6
  84. package/esm2022/lib/bizdoc.module.mjs +4 -4
  85. package/esm2022/lib/browse/browse-items.component.mjs +3 -3
  86. package/esm2022/lib/browse/browse.mobile.component.mjs +3 -3
  87. package/esm2022/lib/browse/browse.pane.component.mjs +3 -3
  88. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  89. package/esm2022/lib/browse/filter/filter.component.mjs +3 -3
  90. package/esm2022/lib/browse/folders-menu.component.mjs +3 -3
  91. package/esm2022/lib/chat/chat-info.mjs +3 -3
  92. package/esm2022/lib/chat/chat.mobile.component.mjs +3 -3
  93. package/esm2022/lib/chat/chat.service.mjs +3 -3
  94. package/esm2022/lib/chat/contacts.component.mjs +6 -6
  95. package/esm2022/lib/chat/contacts.pane.component.mjs +3 -3
  96. package/esm2022/lib/chat/conversation.component.mjs +3 -3
  97. package/esm2022/lib/chat/conversation.pane.component.mjs +3 -3
  98. package/esm2022/lib/compose/action/action-picker.component.mjs +3 -3
  99. package/esm2022/lib/compose/action/action.dialog.mjs +3 -3
  100. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  101. package/esm2022/lib/compose/action/assign-action.component.mjs +3 -3
  102. package/esm2022/lib/compose/action/moveto-action.component.mjs +3 -3
  103. package/esm2022/lib/compose/action/return-action.component.mjs +3 -3
  104. package/esm2022/lib/compose/attachments/attachments.component.mjs +3 -3
  105. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  106. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +3 -3
  107. package/esm2022/lib/compose/box/box.component.mjs +3 -3
  108. package/esm2022/lib/compose/box/control.component.mjs +3 -3
  109. package/esm2022/lib/compose/box/row.component.mjs +3 -3
  110. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +3 -3
  111. package/esm2022/lib/compose/comments/comment.component.mjs +3 -3
  112. package/esm2022/lib/compose/comments/comments.component.mjs +3 -3
  113. package/esm2022/lib/compose/comments/comments.pane.component.mjs +3 -3
  114. package/esm2022/lib/compose/comments/edit-comment.component.mjs +3 -3
  115. package/esm2022/lib/compose/comments/edits.component.mjs +3 -3
  116. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  117. package/esm2022/lib/compose/comments/votes.component.mjs +3 -3
  118. package/esm2022/lib/compose/compose-resolve.service.mjs +3 -3
  119. package/esm2022/lib/compose/compose.mobile.component.mjs +3 -3
  120. package/esm2022/lib/compose/compose.pane.component.mjs +3 -3
  121. package/esm2022/lib/compose/copy/copy.dialog.mjs +3 -3
  122. package/esm2022/lib/compose/dismiss.service.mjs +3 -3
  123. package/esm2022/lib/compose/document-resolve.service.mjs +3 -3
  124. package/esm2022/lib/compose/document-resolver.service.mjs +3 -3
  125. package/esm2022/lib/compose/document.component.mjs +3 -3
  126. package/esm2022/lib/compose/document.mobile.component.mjs +3 -3
  127. package/esm2022/lib/compose/document.pane.component.mjs +3 -3
  128. package/esm2022/lib/compose/events/events.component.mjs +3 -3
  129. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  130. package/esm2022/lib/compose/form.component.mjs +3 -3
  131. package/esm2022/lib/compose/new-menu.component.mjs +3 -3
  132. package/esm2022/lib/compose/overlay.component.exp.mjs +3 -3
  133. package/esm2022/lib/compose/privilage.directive.mjs +6 -6
  134. package/esm2022/lib/compose/recipient-resolver.service.mjs +3 -3
  135. package/esm2022/lib/compose/state.component.mjs +3 -3
  136. package/esm2022/lib/compose/tag/tags.component.mjs +3 -3
  137. package/esm2022/lib/compose/trace/flow.component.mjs +3 -3
  138. package/esm2022/lib/compose/trace/people.component.mjs +3 -3
  139. package/esm2022/lib/compose/trace/trace.base.mjs +3 -3
  140. package/esm2022/lib/compose/trace/trace.component.mjs +3 -3
  141. package/esm2022/lib/compose/trace/trace.pane.component.mjs +3 -3
  142. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +3 -3
  143. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  144. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +3 -3
  145. package/esm2022/lib/core/account.service.mjs +3 -3
  146. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  147. package/esm2022/lib/core/avatar/avatar.component.mjs +3 -3
  148. package/esm2022/lib/core/checkbox.mjs +3 -3
  149. package/esm2022/lib/core/component-factory-resolver.mjs +3 -3
  150. package/esm2022/lib/core/datasource.service.mjs +3 -3
  151. package/esm2022/lib/core/document-factory.service.mjs +3 -3
  152. package/esm2022/lib/core/fields/address.designer.mjs +3 -3
  153. package/esm2022/lib/core/fields/address.field.mjs +3 -3
  154. package/esm2022/lib/core/fields/autocomplete.field.mjs +6 -6
  155. package/esm2022/lib/core/fields/axes-picker.designer.mjs +59 -0
  156. package/esm2022/lib/core/fields/axes-picker.field.mjs +34 -0
  157. package/esm2022/lib/core/fields/checkbox.designer.mjs +3 -3
  158. package/esm2022/lib/core/fields/checkbox.field.mjs +3 -3
  159. package/esm2022/lib/core/fields/checklist.designer.mjs +3 -3
  160. package/esm2022/lib/core/fields/checklist.field.mjs +3 -3
  161. package/esm2022/lib/core/fields/date-range.designer.mjs +3 -3
  162. package/esm2022/lib/core/fields/date-range.field.mjs +3 -3
  163. package/esm2022/lib/core/fields/date.designer.mjs +3 -3
  164. package/esm2022/lib/core/fields/date.field.mjs +3 -3
  165. package/esm2022/lib/core/fields/expression.field.mjs +6 -6
  166. package/esm2022/lib/core/fields/file.designer.mjs +3 -3
  167. package/esm2022/lib/core/fields/file.field.mjs +3 -3
  168. package/esm2022/lib/core/fields/html.designer.mjs +3 -3
  169. package/esm2022/lib/core/fields/html.field.mjs +3 -3
  170. package/esm2022/lib/core/fields/input.designer.mjs +3 -3
  171. package/esm2022/lib/core/fields/input.field.mjs +3 -3
  172. package/esm2022/lib/core/fields/localized-string.field.mjs +6 -6
  173. package/esm2022/lib/core/fields/numeric.designer.mjs +3 -3
  174. package/esm2022/lib/core/fields/numeric.field.mjs +3 -3
  175. package/esm2022/lib/core/fields/options.base.mjs +6 -6
  176. package/esm2022/lib/core/fields/options.component.mjs +3 -3
  177. package/esm2022/lib/core/fields/radio-button.designer.mjs +3 -3
  178. package/esm2022/lib/core/fields/radio-button.field.mjs +3 -3
  179. package/esm2022/lib/core/fields/select.designer.mjs +3 -3
  180. package/esm2022/lib/core/fields/select.field.mjs +3 -3
  181. package/esm2022/lib/core/fields/signature.designer.mjs +3 -3
  182. package/esm2022/lib/core/fields/signature.field.mjs +3 -3
  183. package/esm2022/lib/core/fields/switch.field.mjs +3 -3
  184. package/esm2022/lib/core/fields/tags.designer.mjs +3 -3
  185. package/esm2022/lib/core/fields/tags.field.mjs +3 -3
  186. package/esm2022/lib/core/fields/textarea.designer.mjs +3 -3
  187. package/esm2022/lib/core/fields/textarea.field.mjs +3 -3
  188. package/esm2022/lib/core/fields/time.designer.mjs +3 -3
  189. package/esm2022/lib/core/fields/time.field.mjs +3 -3
  190. package/esm2022/lib/core/fields/timespan.field.mjs +6 -6
  191. package/esm2022/lib/core/fields/yesno.designer.mjs +13 -59
  192. package/esm2022/lib/core/fields/yesno.field.mjs +3 -3
  193. package/esm2022/lib/core/guide/guide.component.mjs +3 -3
  194. package/esm2022/lib/core/guide/guide.service.mjs +3 -3
  195. package/esm2022/lib/core/guide/help-tip.component.mjs +3 -3
  196. package/esm2022/lib/core/http.interceptor.mjs +3 -3
  197. package/esm2022/lib/core/hub.service.mjs +3 -3
  198. package/esm2022/lib/core/identity/identity.component.mjs +3 -3
  199. package/esm2022/lib/core/info/attachment-info.service.mjs +3 -3
  200. package/esm2022/lib/core/info/document-info.service.mjs +3 -3
  201. package/esm2022/lib/core/info/location-info.component.mjs +3 -3
  202. package/esm2022/lib/core/info/map-info.mjs +3 -3
  203. package/esm2022/lib/core/inputs/address.input.mjs +3 -3
  204. package/esm2022/lib/core/inputs/auto-complete.input.mjs +3 -3
  205. package/esm2022/lib/core/inputs/combination-picker-body.mjs +3 -3
  206. package/esm2022/lib/core/inputs/combination-picker.mjs +9 -4
  207. package/esm2022/lib/core/inputs/combination-pool.mjs +3 -3
  208. package/esm2022/lib/core/inputs/file.input.mjs +3 -3
  209. package/esm2022/lib/core/inputs/select.input.mjs +3 -3
  210. package/esm2022/lib/core/inputs/signature.input.mjs +3 -3
  211. package/esm2022/lib/core/inputs/time-picker.mjs +3 -3
  212. package/esm2022/lib/core/inputs/timespan.input.mjs +3 -3
  213. package/esm2022/lib/core/layout.component.mjs +3 -3
  214. package/esm2022/lib/core/lottie-animation.mjs +3 -3
  215. package/esm2022/lib/core/mailbox.service.mjs +3 -3
  216. package/esm2022/lib/core/none.component.mjs +3 -3
  217. package/esm2022/lib/core/pipes/action.pipe.mjs +3 -3
  218. package/esm2022/lib/core/pipes/calendar.pipe.mjs +3 -3
  219. package/esm2022/lib/core/pipes/date-format.pipe.mjs +3 -3
  220. package/esm2022/lib/core/pipes/daterange.pipe.mjs +6 -6
  221. package/esm2022/lib/core/pipes/difference.pipe.mjs +3 -3
  222. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +3 -3
  223. package/esm2022/lib/core/pipes/duration.pipe.mjs +3 -3
  224. package/esm2022/lib/core/pipes/form.pipe.mjs +3 -3
  225. package/esm2022/lib/core/pipes/join.pipe.mjs +3 -3
  226. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +3 -3
  227. package/esm2022/lib/core/pipes/role.pipe.mjs +3 -3
  228. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  229. package/esm2022/lib/core/pipes/sort.pipe.mjs +9 -9
  230. package/esm2022/lib/core/pipes/state.pipe.mjs +3 -3
  231. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +3 -3
  232. package/esm2022/lib/core/pipes/to-now.pipe.mjs +3 -3
  233. package/esm2022/lib/core/pipes/translate.pipe.mjs +9 -9
  234. package/esm2022/lib/core/pipes/type-value.pipe.mjs +3 -3
  235. package/esm2022/lib/core/pipes/user-name.pipe.mjs +3 -3
  236. package/esm2022/lib/core/popup/popup.component.mjs +3 -3
  237. package/esm2022/lib/core/popup/popup.service.mjs +3 -3
  238. package/esm2022/lib/core/popup/tooltip.directive.mjs +6 -6
  239. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  240. package/esm2022/lib/core/prompt/mask/mask.component.mjs +3 -3
  241. package/esm2022/lib/core/prompt.service.mjs +3 -3
  242. package/esm2022/lib/core/router.mjs +6 -6
  243. package/esm2022/lib/core/save-changes.dialog.mjs +3 -3
  244. package/esm2022/lib/core/session.service.mjs +3 -3
  245. package/esm2022/lib/core/slots/router.directive.mjs +3 -3
  246. package/esm2022/lib/core/slots/router.service.mjs +3 -3
  247. package/esm2022/lib/core/slots/slots.component.mjs +3 -3
  248. package/esm2022/lib/core/sticky-toolbar.exp.mjs +3 -3
  249. package/esm2022/lib/core/tagging/documents.component.mjs +3 -3
  250. package/esm2022/lib/core/tagging/edit-input.component.mjs +3 -3
  251. package/esm2022/lib/core/tagging/emoji.component.mjs +3 -3
  252. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +3 -3
  253. package/esm2022/lib/core/tagging/tagging.component-base.mjs +3 -3
  254. package/esm2022/lib/core/tagging/tagging.directive.mjs +3 -3
  255. package/esm2022/lib/core/tagging/tagging.pipe.mjs +3 -3
  256. package/esm2022/lib/core/tagging/users.component.mjs +3 -3
  257. package/esm2022/lib/core/translate.service.mjs +3 -3
  258. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +6 -6
  259. package/esm2022/lib/core/window-title.service.mjs +3 -3
  260. package/esm2022/lib/cube/accum/accum.component.mjs +3 -3
  261. package/esm2022/lib/cube/chart/chart.component.mjs +3 -3
  262. package/esm2022/lib/cube/cube-info.service.mjs +3 -3
  263. package/esm2022/lib/cube/cube-menu.component.mjs +3 -3
  264. package/esm2022/lib/cube/cube-view.component.mjs +3 -3
  265. package/esm2022/lib/cube/cube.service.mjs +3 -3
  266. package/esm2022/lib/cube/explore/document-item.component.mjs +3 -3
  267. package/esm2022/lib/cube/explore/explore-item.component.mjs +3 -3
  268. package/esm2022/lib/cube/explore/explore-items.component.mjs +3 -3
  269. package/esm2022/lib/cube/explore/explore.pane.component.mjs +3 -3
  270. package/esm2022/lib/cube/explore/item-resolver.service.mjs +6 -6
  271. package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -3
  272. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  273. package/esm2022/lib/cube/filter/filter.component.mjs +3 -3
  274. package/esm2022/lib/cube/grid/grid.component.mjs +3 -3
  275. package/esm2022/lib/cube/matrix/matrix.base.mjs +3 -3
  276. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  277. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  278. package/esm2022/lib/cube/matrix/popup.component.mjs +3 -3
  279. package/esm2022/lib/cube/matrix/table.component.mjs +3 -3
  280. package/esm2022/lib/cube/parallel/parallel.component.mjs +3 -3
  281. package/esm2022/lib/cube/pivot/pivot.component.mjs +3 -3
  282. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +3 -3
  283. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +3 -3
  284. package/esm2022/lib/cube/sum/sum.component.mjs +3 -3
  285. package/esm2022/lib/cube/view-base.mjs +3 -3
  286. package/esm2022/lib/cube/view.mobile.component.mjs +3 -3
  287. package/esm2022/lib/cube/view.pane.component.mjs +3 -3
  288. package/esm2022/lib/dashboard/actions/actions.widget.mjs +3 -3
  289. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  290. package/esm2022/lib/dashboard/cube/compare.widget.mjs +3 -3
  291. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  292. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  293. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
  294. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +3 -3
  295. package/esm2022/lib/dashboard/cube/documents.widget.mjs +3 -3
  296. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  297. package/esm2022/lib/dashboard/dashboard.component.mjs +3 -3
  298. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
  299. package/esm2022/lib/dashboard/recents/recents.widget.mjs +3 -3
  300. package/esm2022/lib/dashboard/score/activity.widget.mjs +3 -3
  301. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  302. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  303. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +3 -3
  304. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +3 -3
  305. package/esm2022/lib/dashboard/widget-item.component.mjs +3 -3
  306. package/esm2022/lib/designer.module.mjs +9 -8
  307. package/esm2022/lib/desktop.module.mjs +4 -4
  308. package/esm2022/lib/home/about/about.dialog.mjs +3 -3
  309. package/esm2022/lib/home/home-base.component.mjs +3 -3
  310. package/esm2022/lib/home/home.desktop.component.mjs +3 -3
  311. package/esm2022/lib/home/home.mobile.component.mjs +3 -3
  312. package/esm2022/lib/home/notifications/notifications.component.mjs +3 -3
  313. package/esm2022/lib/home/options/options.component.mjs +3 -3
  314. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  315. package/esm2022/lib/home/sign/sign.component.mjs +3 -3
  316. package/esm2022/lib/impersonate/impersonate.component.mjs +3 -3
  317. package/esm2022/lib/mobile.module.mjs +4 -4
  318. package/esm2022/lib/modules/chart.module.mjs +4 -4
  319. package/esm2022/lib/modules/circular-gauge.module.mjs +4 -4
  320. package/esm2022/lib/modules/datepicker.intl.mjs +3 -3
  321. package/esm2022/lib/modules/dayjs.module.mjs +4 -4
  322. package/esm2022/lib/modules/diagram.module.mjs +4 -4
  323. package/esm2022/lib/modules/gantt.module.mjs +4 -4
  324. package/esm2022/lib/modules/grid.module.mjs +4 -4
  325. package/esm2022/lib/modules/linear-gauge.module.mjs +4 -4
  326. package/esm2022/lib/modules/material.module.mjs +4 -4
  327. package/esm2022/lib/modules/paginator.intl.mjs +3 -3
  328. package/esm2022/lib/modules/pivot.module.mjs +4 -4
  329. package/esm2022/lib/modules/schedule.module.mjs +4 -4
  330. package/esm2022/lib/modules/spreadsheet.module.mjs +4 -4
  331. package/esm2022/lib/modules/stepper.intl.mjs +3 -3
  332. package/esm2022/lib/modules/texteditor.module.mjs +4 -4
  333. package/esm2022/lib/notifications/filter.component.mjs +3 -3
  334. package/esm2022/lib/notifications/notifications-table.component.mjs +3 -3
  335. package/esm2022/lib/notifications/notifications.mobile.component.mjs +3 -3
  336. package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -3
  337. package/esm2022/lib/notifications/notifications.service.mjs +3 -3
  338. package/esm2022/lib/notifications/types/commented.notification.mjs +3 -3
  339. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  340. package/esm2022/lib/notifications/types/escalated.notification.mjs +3 -3
  341. package/esm2022/lib/notifications/types/invite.notification.mjs +3 -3
  342. package/esm2022/lib/notifications/types/liked.notification.mjs +3 -3
  343. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +3 -3
  344. package/esm2022/lib/notifications/types/notification-base.mjs +3 -3
  345. package/esm2022/lib/notifications/types/nudge.notification.mjs +3 -3
  346. package/esm2022/lib/notifications/types/state-changed.notification.mjs +3 -3
  347. package/esm2022/lib/notifications/types/tagged.notification.mjs +3 -3
  348. package/esm2022/lib/notifications/types/text.notification.mjs +3 -3
  349. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  350. package/esm2022/lib/options/options.component.mjs +3 -3
  351. package/esm2022/lib/options/options.service.mjs +3 -3
  352. package/esm2022/lib/reports/arguments-component.mjs +3 -3
  353. package/esm2022/lib/reports/cube/documents.component.mjs +3 -3
  354. package/esm2022/lib/reports/cube/grid-documents.component.mjs +3 -3
  355. package/esm2022/lib/reports/cube/performance-hilo.component.mjs +3 -3
  356. package/esm2022/lib/reports/cube/performance-wind.component.mjs +3 -3
  357. package/esm2022/lib/reports/cube/table-documents.component.mjs +3 -3
  358. package/esm2022/lib/reports/cube/usage-args.component.mjs +3 -3
  359. package/esm2022/lib/reports/cube/usage-base.mjs +3 -3
  360. package/esm2022/lib/reports/cube/usage-chart.component.mjs +3 -3
  361. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +3 -3
  362. package/esm2022/lib/reports/cube/usage.component.mjs +3 -3
  363. package/esm2022/lib/reports/report-viewer.component.mjs +3 -3
  364. package/esm2022/lib/reports/report.mobile.component.mjs +3 -3
  365. package/esm2022/lib/reports/report.pane.component.mjs +3 -3
  366. package/esm2022/lib/reports/reports-menu.component.mjs +3 -3
  367. package/esm2022/lib/reports/substitution/substitution.component.mjs +3 -3
  368. package/esm2022/lib/reports/table/table-view.component.mjs +3 -3
  369. package/esm2022/lib/reports/tasks/tasks.component.mjs +3 -3
  370. package/esm2022/lib/scheduler/schedule.component.mjs +3 -3
  371. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  372. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +3 -3
  373. package/esm2022/lib/search/cube.component.mjs +3 -3
  374. package/esm2022/lib/search/document.component.mjs +3 -3
  375. package/esm2022/lib/search/guide.component.mjs +3 -3
  376. package/esm2022/lib/search/path.component.mjs +3 -3
  377. package/esm2022/lib/search/search.service.mjs +3 -3
  378. package/esm2022/lib/shared.module.mjs +10 -9
  379. package/esm2022/lib/system.module.mjs +4 -4
  380. package/esm2022/lib/views/cube/chart.component.mjs +3 -3
  381. package/esm2022/lib/views/cube/cube-base.mjs +3 -3
  382. package/esm2022/lib/views/cube/explore.component.mjs +3 -3
  383. package/esm2022/lib/views/cube/matrix.component.mjs +3 -3
  384. package/esm2022/lib/views/cube/parallel.component.mjs +3 -3
  385. package/esm2022/lib/views/cube/pivot.component.mjs +3 -3
  386. package/esm2022/lib/views/cube/sum.component.mjs +3 -3
  387. package/esm2022/lib/views/cube/view.component.mjs +3 -3
  388. package/esm2022/lib/views/timeline/timeline.component.mjs +3 -3
  389. package/esm2022/lib/views/view-item.component.mjs +3 -3
  390. package/esm2022/lib/views/views.component.mjs +3 -3
  391. package/esm2022/lib/views/views.mobile.component.mjs +3 -3
  392. package/esm2022/lib/views/views.pane.component.mjs +3 -3
  393. package/fesm2022/bizdoc-core.mjs +1328 -1295
  394. package/fesm2022/bizdoc-core.mjs.map +1 -1
  395. package/lib/admin/system.service.d.ts +4 -0
  396. package/lib/core/fields/axes-picker.designer.d.ts +24 -0
  397. package/lib/core/fields/axes-picker.field.d.ts +18 -0
  398. package/lib/core/fields/yesno.designer.d.ts +2 -4
  399. package/lib/core/inputs/combination-picker.d.ts +3 -0
  400. package/lib/designer.module.d.ts +19 -18
  401. package/lib/shared.module.d.ts +135 -134
  402. package/package.json +1 -1
@@ -6,6 +6,7 @@ import { merge, Subject } from "rxjs";
6
6
  import { filter, tap } from "rxjs/operators";
7
7
  import { ACCOUNT_DELIMITER } from "../../cube/cube.service";
8
8
  import { CombinationPickerBody, COMBINATION_PICKER_BODY } from "./combination-picker-body";
9
+ import { MatInput } from "@angular/material/input";
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@angular/forms";
11
12
  import * as i2 from "@angular/material/form-field";
@@ -48,6 +49,7 @@ export class CombinationPicker {
48
49
  this._disabled = value;
49
50
  this.stateChanges.next();
50
51
  }
52
+ focus() { this._input.focus(); }
51
53
  setDescribedByIds(ids) {
52
54
  this.describedBy = ids.join(' ');
53
55
  }
@@ -223,10 +225,10 @@ export class CombinationPicker {
223
225
  this.descriptionChange.complete();
224
226
  this.stateChanges.complete();
225
227
  }
226
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CombinationPicker, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.MatFormField, optional: true }, { token: i3.Overlay }, { token: i4.MatDialog }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i5.FocusMonitor }, { token: i0.ElementRef }, { token: i6.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
227
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: CombinationPicker, selector: "bizdoc-combination-picker", inputs: { _divider: ["divider", "_divider"], _displayDivider: ["displayDivider", "_displayDivider"], limit: "limit", cube: "cube", exploreSettings: "exploreSettings", description: "description", touchUi: "touchUi", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, outputs: { optionSelected: "optionSelected", descriptionChange: "descriptionChange" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: CombinationPicker }], viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<textarea matInput [disabled]=\"disabled\" (keydown)=\"_keyDown($event)\" [value]=\"description\" [placeholder]=\"placeholder\"></textarea>\r\n<mat-icon matSuffix tabindex=\"-1\" [ngClass]=\"{'mat-warn-text':errorState, 'disabled': disabled}\">arrow_drop_down</mat-icon>\r\n", styles: [":host{display:flex;flex-direction:row}:host textarea{resize:none;cursor:pointer;flex:1}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
228
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CombinationPicker, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.MatFormField, optional: true }, { token: i3.Overlay }, { token: i4.MatDialog }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i5.FocusMonitor }, { token: i0.ElementRef }, { token: i6.Directionality }], target: i0.ɵɵFactoryTarget.Component }); }
229
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: CombinationPicker, selector: "bizdoc-combination-picker", inputs: { _divider: ["divider", "_divider"], _displayDivider: ["displayDivider", "_displayDivider"], limit: "limit", cube: "cube", exploreSettings: "exploreSettings", description: "description", touchUi: "touchUi", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, outputs: { optionSelected: "optionSelected", descriptionChange: "descriptionChange" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: CombinationPicker }], viewQueries: [{ propertyName: "_input", first: true, predicate: MatInput, descendants: true }, { propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<textarea matInput [disabled]=\"disabled\" (keydown)=\"_keyDown($event)\" [value]=\"description\" [placeholder]=\"placeholder\"></textarea>\r\n<mat-icon matSuffix tabindex=\"-1\" [ngClass]=\"{'mat-warn-text':errorState, 'disabled': disabled}\">arrow_drop_down</mat-icon>\r\n", styles: [":host{display:flex;flex-direction:row}:host textarea{resize:none;cursor:pointer;flex:1}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
228
230
  }
229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CombinationPicker, decorators: [{
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CombinationPicker, decorators: [{
230
232
  type: Component,
231
233
  args: [{ selector: 'bizdoc-combination-picker', providers: [{ provide: MatFormFieldControl, useExisting: CombinationPicker }], host: {
232
234
  '[class.floating]': 'shouldLabelFloat',
@@ -272,10 +274,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
272
274
  }], describedBy: [{
273
275
  type: HostBinding,
274
276
  args: ['attr.aria-describedby']
277
+ }], _input: [{
278
+ type: ViewChild,
279
+ args: [MatInput]
275
280
  }], value: [{
276
281
  type: Input
277
282
  }], _template: [{
278
283
  type: ViewChild,
279
284
  args: [TemplateRef]
280
285
  }] } });
281
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluYXRpb24tcGlja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2lucHV0cy9jb21iaW5hdGlvbi1waWNrZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvaW5wdXRzL2NvbWJpbmF0aW9uLXBpY2tlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBYSxXQUFXLEVBQUUsSUFBSSxFQUFtQixRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoTSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFnQixtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSWpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUF1QixxQkFBcUIsRUFBNEIsdUJBQXVCLEVBQW1CLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7O0FBRTNKLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztBQVl6QixNQUFNLE9BQU8saUJBQWlCO2FBQ2IsV0FBTSxHQUFHLENBQUMsQUFBSixDQUFLO0lBZTFCLElBQWEsS0FBSyxDQUFDLEdBQVcsSUFBSSxJQUFJLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDLEdBQUcs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QixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLGNBQWM7c0JBRHRCLE1BQU07Z0JBR00sV0FBVztzQkFBdkIsS0FBSztnQkFHRyxpQkFBaUI7c0JBRHpCLE1BQU07Z0JBRWlCLEVBQUU7c0JBQXpCLFdBQVc7Z0JBQ0gsT0FBTztzQkFBZixLQUFLO2dCQUNPLFdBQVc7c0JBQXZCLEtBQUs7Z0JBWUYsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFLekIsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFRZ0MsV0FBVztzQkFBaEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBeUJ2QixLQUFLO3NCQUFqQixLQUFLO2dCQVNFLFNBQVM7c0JBRGhCLFNBQVM7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NvbnRhaW5lclJlZiwgRWxlbWVudFJlZiwgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBPcHRpb25hbCwgT25EZXN0cm95LCBIb3N0QmluZGluZywgU2VsZiwgT25Jbml0LCBEb0NoZWNrLCBJbmplY3RvciwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheVJlZiB9IGZyb20gXCJAYW5ndWxhci9jZGsvb3ZlcmxheVwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGQsIE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9hMTF5XCI7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9iaWRpXCI7XHJcbmltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvZXJjaW9uXCI7XHJcbmltcG9ydCB7IG1lcmdlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgZmlsdGVyLCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgQUNDT1VOVF9ERUxJTUlURVIgfSBmcm9tIFwiLi4vLi4vY3ViZS9jdWJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29tYmluYXRpb25Cb2R5RGF0YSwgQ29tYmluYXRpb25QaWNrZXJCb2R5LCBDb21iaW5hdGlvblNlbGVjdGVkRXZlbnQsIENPTUJJTkFUSU9OX1BJQ0tFUl9CT0RZLCBFeHBsb3JlU2V0dGluZ3MgfSBmcm9tIFwiLi9jb21iaW5hdGlvbi1waWNrZXItYm9keVwiO1xyXG5cclxuY29uc3QgUkVDT1JEU19MSU1JVCA9IDUwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY29tYmluYXRpb24tcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJ2NvbWJpbmF0aW9uLXBpY2tlci5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnY29tYmluYXRpb24tcGlja2VyLnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBDb21iaW5hdGlvblBpY2tlciB9XSxcclxuICBob3N0OiB7XHJcbiAgICAnW2NsYXNzLmZsb2F0aW5nXSc6ICdzaG91bGRMYWJlbEZsb2F0JyxcclxuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdkZXNjcmliZWRCeSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21iaW5hdGlvblBpY2tlciBpbXBsZW1lbnRzIE1hdEZvcm1GaWVsZENvbnRyb2w8c3RyaW5nPiwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgRG9DaGVjaywgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG4gIHByaXZhdGUgX29uVG91Y2hlZCA9ICgpID0+IHsgfTtcclxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX29wZW5lZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2xpbWl0OiBudW1iZXIgPSBSRUNPUkRTX0xJTUlUO1xyXG4gIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcbiAgcHJpdmF0ZSBfcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8Q29tYmluYXRpb25QaWNrZXJCb2R5PjtcclxuICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb21iaW5hdGlvblBpY2tlckJvZHk+O1xyXG4gIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQElucHV0KCdkaXZpZGVyJykgX2RpdmlkZXI6IHN0cmluZyA9IEFDQ09VTlRfREVMSU1JVEVSO1xyXG4gIEBJbnB1dCgnZGlzcGxheURpdmlkZXInKSBfZGlzcGxheURpdmlkZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBzZXQgbGltaXQodmFsOiBudW1iZXIpIHsgdGhpcy5fbGltaXQgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWwpOyB9XHJcbiAgZ2V0IGxpbWl0KCk6IG51bWJlciB7IHJldHVybiB0aGlzLl9saW1pdDsgfVxyXG4gIEBJbnB1dCgpIGN1YmU6IHN0cmluZztcclxuICBASW5wdXQoKSBleHBsb3JlU2V0dGluZ3M/OiBFeHBsb3JlU2V0dGluZ3M7XHJcbiAgQE91dHB1dCgpXHJcbiAgcmVhZG9ubHkgb3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbWJpbmF0aW9uU2VsZWN0ZWRFdmVudD4oKTtcclxuICBwcml2YXRlIF9kZXNjcmlwdGlvbjogc3RyaW5nID0gbnVsbDtcclxuICBASW5wdXQoKSBzZXQgZGVzY3JpcHRpb24odmFsOiBzdHJpbmcpIHsgdGhpcy5fZGVzY3JpcHRpb24gPSB2YWw7IH1cclxuICBnZXQgZGVzY3JpcHRpb24oKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX2Rlc2NyaXB0aW9uIHx8ICcnOyB9XHJcbiAgQE91dHB1dCgpXHJcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBASG9zdEJpbmRpbmcoKSByZWFkb25seSBpZCA9IGBhY2NvdW50LXBpY2tlci0ke0NvbWJpbmF0aW9uUGlja2VyLm5leHRJZCsrfWA7XHJcbiAgQElucHV0KCkgdG91Y2hVaTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBnZXQgcGxhY2Vob2xkZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG4gIHNldCBwbGFjZWhvbGRlcihwbGgpIHtcclxuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gcGxoO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlID09PSBudWxsO1xyXG4gIH1cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZsb2F0aW5nJylcclxuICBnZXQgc2hvdWxkTGFiZWxGbG9hdCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZW1wdHk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHJlcXVpcmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xyXG4gIH1cclxuICBzZXQgcmVxdWlyZWQocmVxKSB7XHJcbiAgICB0aGlzLl9yZXF1aXJlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShyZXEpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVkOyB9XHJcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBlcnJvclN0YXRlID0gZmFsc2U7XHJcbiAgY29udHJvbFR5cGU/OiBzdHJpbmcgPSAnYWNjb3VudC1waWNrZXItaW5wdXQnO1xyXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRlc2NyaWJlZGJ5JykgZGVzY3JpYmVkQnkgPSAnJztcclxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oJyAnKTtcclxuICB9XHJcbiAgb25Db250YWluZXJDbGljayhldnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICgoZXZ0LnRhcmdldCBhcyBFbGVtZW50KS50YWdOYW1lICE9PSAnSU5QVVQnKSB7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9vcGVuKCk7XHJcbiAgfVxyXG4gIG9wZW4oZXZ0OiBFdmVudCkge1xyXG4gICAgdGhpcy5fb3BlbigpO1xyXG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gb2JqO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcbiAgQElucHV0KCkgZ2V0IHZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuICBzZXQgdmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpXHJcbiAgcHJpdmF0ZSBfdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9mb3JtRmllbGQ6IE1hdEZvcm1GaWVsZCxcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF9mbTogRm9jdXNNb25pdG9yLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHkpIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gICAgX2ZtLm1vbml0b3IoX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdHJ1ZSkuc3Vic2NyaWJlKG9yaWdpbiA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmZvY3VzZWQgJiYgIW9yaWdpbikge1xyXG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZm9jdXNlZCA9ICEhb3JpZ2luO1xyXG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xyXG4gICAgICB0aGlzLmVycm9yU3RhdGUgPSB0aGlzLm5nQ29udHJvbC5pbnZhbGlkICYmIHRoaXMubmdDb250cm9sLnRvdWNoZWQ7XHJcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgX2tleURvd24oZXZ0OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZ0LmFsdEtleSAmJiBldnQua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICB0aGlzLl9vcGVuKCk7XHJcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9vcGVuKCkge1xyXG4gICAgaWYgKHRoaXMuX29wZW5lZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkKCk7XHJcbiAgICBjb25zdCBkYXRhID0ge1xyXG4gICAgICBkaXZpZGVyOiB0aGlzLl9kaXZpZGVyLFxyXG4gICAgICBkaXNwbGF5RGl2aWRlcjogdGhpcy5fZGlzcGxheURpdmlkZXIsXHJcbiAgICAgIGxpbWl0OiB0aGlzLl9saW1pdCxcclxuICAgICAgdmFsdWU6IHRoaXMuX3ZhbHVlLFxyXG4gICAgICBjdWJlOiB0aGlzLmN1YmUsXHJcbiAgICAgIGV4cGxvcmVTZXR0aW5nczogdGhpcy5leHBsb3JlU2V0dGluZ3NcclxuICAgIH0gYXMgQ29tYmluYXRpb25Cb2R5RGF0YTtcclxuICAgIGlmICh0aGlzLnRvdWNoVWkpIHtcclxuICAgICAgdGhpcy5fZGlhbG9nUmVmID0gdGhpcy5fZGlhbG9nLm9wZW4oQ29tYmluYXRpb25QaWNrZXJCb2R5LCB7XHJcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWUsXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBtYXhIZWlnaHQ6ICc5MHZoJ1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5fYXR0YWNoKHRoaXMuX2RpYWxvZ1JlZi5jb21wb25lbnRJbnN0YW5jZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKCF0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX2NyZWF0ZU92ZXJsYXlSZWYoKTtcclxuICAgICAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XHJcbiAgICAgICAgICBwcm92aWRlcnM6IFt7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IENPTUJJTkFUSU9OX1BJQ0tFUl9CT0RZLCB1c2VWYWx1ZTogZGF0YVxyXG4gICAgICAgICAgfV0scGFyZW50OiB0aGlzLl9pbmplY3RvclxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX3BvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoQ29tYmluYXRpb25QaWNrZXJCb2R5LCB0aGlzLl92YywgaW5qZWN0b3IpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl9yZXBvc2l0aW9uKCk7XHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKHRoaXMuX3BvcnRhbCk7XHJcbiAgICAgIHRoaXMuX2F0dGFjaChjb21wb25lbnRSZWYuaW5zdGFuY2UpO1xyXG4gICAgICB0aGlzLl9vcGVuZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9hdHRhY2goYm9keTogQ29tYmluYXRpb25QaWNrZXJCb2R5KSB7XHJcbiAgICBib2R5Lm1vZGVDaGFuZ2UuXHJcbiAgICAgIHN1YnNjcmliZSgoKSA9PiBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX3JlcG9zaXRpb24oKSwgMCkpO1xyXG4gICAgYm9keS5zZWxlY3Rpb25DaGFuZ2UuXHJcbiAgICAgIHN1YnNjcmliZShlID0+IHtcclxuICAgICAgICBjb25zdCB7IHZhbHVlLCBkZXNjcmlwdGlvbiB9ID0gZTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xyXG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb25DaGFuZ2UuZW1pdChkZXNjcmlwdGlvbik7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgICAgIHRoaXMub3B0aW9uU2VsZWN0ZWQuZW1pdChlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3JlcG9zaXRpb24oKSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuX2dldENvbm5lY3RlZE92ZXJsYXlPcmlnaW4oKTtcclxuICAgIHRoaXMuX292ZXJsYXlSZWYudXBkYXRlU2l6ZSh7IG1pbldpZHRoOiBgJHtlbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRofXB4YCB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheVJlZigpOiBPdmVybGF5UmVmIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5fZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpO1xyXG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmZsZXhpYmxlQ29ubmVjdGVkVG8oZWwpLlxyXG4gICAgICAgIHdpdGhWaWV3cG9ydE1hcmdpbig4KS5cclxuICAgICAgICB3aXRoRmxleGlibGVEaW1lbnNpb25zKCkuXHJcbiAgICAgICAgd2l0aFBvc2l0aW9ucyhbeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJyB9LFxyXG4gICAgICAgIHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ3RvcCcsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScgfV0pLFxyXG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWUsXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCcsXHJcbiAgICAgIG1pbldpZHRoOiBgJHtlbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRofXB4YCxcclxuICAgICAgcGFuZWxDbGFzczogJ2hvbWUtcGFuZWwnXHJcbiAgICB9KTtcclxuICAgIG1lcmdlKG92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLCBvdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5cclxuICAgICAgcGlwZShmaWx0ZXIoZSA9PiBlLmtleSA9PT0gJ0VzY2FwZScgfHwgKGUua2V5ID09PSAnQXJyb3dVcCcgJiYgZS5hbHRLZXkpKSxcclxuICAgICAgICB0YXAoZSA9PiBlLnN0b3BQcm9wYWdhdGlvbigpKSkpLlxyXG4gICAgICBzdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcclxuICAgIHJldHVybiBvdmVybGF5UmVmO1xyXG4gIH1cclxuICBwcml2YXRlIF9nZXRDb25uZWN0ZWRPdmVybGF5T3JpZ2luKCk6IEVsZW1lbnRSZWYge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1GaWVsZCA/IHRoaXMuX2Zvcm1GaWVsZC5nZXRDb25uZWN0ZWRPdmVybGF5T3JpZ2luKCkgOiB0aGlzLl9lbGVtZW50UmVmO1xyXG4gIH1cclxuICBjbG9zZSgpIHtcclxuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gICAgZWxzZSB0aGlzLl9kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIHRoaXMuX29wZW5lZCA9IGZhbHNlO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fZm0uc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMub3B0aW9uU2VsZWN0ZWQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuZGVzY3JpcHRpb25DaGFuZ2UuY29tcGxldGUoKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjx0ZXh0YXJlYSBtYXRJbnB1dCBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoa2V5ZG93bik9XCJfa2V5RG93bigkZXZlbnQpXCIgW3ZhbHVlXT1cImRlc2NyaXB0aW9uXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCI+PC90ZXh0YXJlYT5cclxuPG1hdC1pY29uIG1hdFN1ZmZpeCB0YWJpbmRleD1cIi0xXCIgW25nQ2xhc3NdPVwieydtYXQtd2Fybi10ZXh0JzplcnJvclN0YXRlLCAnZGlzYWJsZWQnOiBkaXNhYmxlZH1cIj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPlxyXG4iXX0=
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluYXRpb24tcGlja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2lucHV0cy9jb21iaW5hdGlvbi1waWNrZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvaW5wdXRzL2NvbWJpbmF0aW9uLXBpY2tlci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdDLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBYSxXQUFXLEVBQUUsSUFBSSxFQUFtQixRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdoTSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFnQixtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSWpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUF1QixxQkFBcUIsRUFBNEIsdUJBQXVCLEVBQW1CLE1BQU0sMkJBQTJCLENBQUM7QUFDM0osT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7OztBQUVuRCxNQUFNLGFBQWEsR0FBRyxFQUFFLENBQUM7QUFZekIsTUFBTSxPQUFPLGlCQUFpQjthQUNiLFdBQU0sR0FBRyxDQUFDLEFBQUosQ0FBSztJQWUxQixJQUFhLEtBQUssQ0FBQyxHQUFX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QUFROzswQkFBSSxJQUFJOzswQkFDMUIsUUFBUTs4TkFwRk8sUUFBUTtzQkFBekIsS0FBSzt1QkFBQyxTQUFTO2dCQUNTLGVBQWU7c0JBQXZDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUNWLEtBQUs7c0JBQWpCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUcsY0FBYztzQkFEdEIsTUFBTTtnQkFHTSxXQUFXO3NCQUF2QixLQUFLO2dCQUdHLGlCQUFpQjtzQkFEekIsTUFBTTtnQkFFaUIsRUFBRTtzQkFBekIsV0FBVztnQkFDSCxPQUFPO3NCQUFmLEtBQUs7Z0JBQ08sV0FBVztzQkFBdkIsS0FBSztnQkFZRixnQkFBZ0I7c0JBRG5CLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUt6QixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLO2dCQVFnQyxXQUFXO3NCQUFoRCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFDZixNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBMEJOLEtBQUs7c0JBQWpCLEtBQUs7Z0JBU0UsU0FBUztzQkFEaEIsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q29udGFpbmVyUmVmLCBFbGVtZW50UmVmLCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9wdGlvbmFsLCBPbkRlc3Ryb3ksIEhvc3RCaW5kaW5nLCBTZWxmLCBPbkluaXQsIERvQ2hlY2ssIEluamVjdG9yLCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2ExMXlcIjtcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcclxuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHksIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29lcmNpb25cIjtcclxuaW1wb3J0IHsgbWVyZ2UsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBBQ0NPVU5UX0RFTElNSVRFUiB9IGZyb20gXCIuLi8uLi9jdWJlL2N1YmUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb21iaW5hdGlvbkJvZHlEYXRhLCBDb21iaW5hdGlvblBpY2tlckJvZHksIENvbWJpbmF0aW9uU2VsZWN0ZWRFdmVudCwgQ09NQklOQVRJT05fUElDS0VSX0JPRFksIEV4cGxvcmVTZXR0aW5ncyB9IGZyb20gXCIuL2NvbWJpbmF0aW9uLXBpY2tlci1ib2R5XCI7XHJcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2lucHV0XCI7XHJcblxyXG5jb25zdCBSRUNPUkRTX0xJTUlUID0gNTA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jb21iaW5hdGlvbi1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnY29tYmluYXRpb24tcGlja2VyLmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydjb21iaW5hdGlvbi1waWNrZXIuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IENvbWJpbmF0aW9uUGlja2VyIH1dLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbY2xhc3MuZmxvYXRpbmddJzogJ3Nob3VsZExhYmVsRmxvYXQnLFxyXG4gICAgJ1thdHRyLmFyaWEtZGVzY3JpYmVkYnldJzogJ2Rlc2NyaWJlZEJ5J1xyXG4gIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbWJpbmF0aW9uUGlja2VyIGltcGxlbWVudHMgTWF0Rm9ybUZpZWxkQ29udHJvbDxzdHJpbmc+LCBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBEb0NoZWNrLCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgc3RhdGljIG5leHRJZCA9IDA7XHJcbiAgcHJpdmF0ZSBfcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBwcml2YXRlIF9yZXF1aXJlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCkgPT4geyB9O1xyXG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfb3BlbmVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfbGltaXQ6IG51bWJlciA9IFJFQ09SRFNfTElNSVQ7XHJcbiAgcHJpdmF0ZSBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcclxuICBwcml2YXRlIF9wb3J0YWw6IENvbXBvbmVudFBvcnRhbDxDb21iaW5hdGlvblBpY2tlckJvZHk+O1xyXG4gIHByaXZhdGUgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENvbWJpbmF0aW9uUGlja2VyQm9keT47XHJcbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBASW5wdXQoJ2RpdmlkZXInKSBfZGl2aWRlcjogc3RyaW5nID0gQUNDT1VOVF9ERUxJTUlURVI7XHJcbiAgQElucHV0KCdkaXNwbGF5RGl2aWRlcicpIF9kaXNwbGF5RGl2aWRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNldCBsaW1pdCh2YWw6IG51bWJlcikgeyB0aGlzLl9saW1pdCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbCk7IH1cclxuICBnZXQgbGltaXQoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMuX2xpbWl0OyB9XHJcbiAgQElucHV0KCkgY3ViZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGV4cGxvcmVTZXR0aW5ncz86IEV4cGxvcmVTZXR0aW5ncztcclxuICBAT3V0cHV0KClcclxuICByZWFkb25seSBvcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29tYmluYXRpb25TZWxlY3RlZEV2ZW50PigpO1xyXG4gIHByaXZhdGUgX2Rlc2NyaXB0aW9uOiBzdHJpbmcgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHNldCBkZXNjcmlwdGlvbih2YWw6IHN0cmluZykgeyB0aGlzLl9kZXNjcmlwdGlvbiA9IHZhbDsgfVxyXG4gIGdldCBkZXNjcmlwdGlvbigpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fZGVzY3JpcHRpb24gfHwgJyc7IH1cclxuICBAT3V0cHV0KClcclxuICByZWFkb25seSBkZXNjcmlwdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBIb3N0QmluZGluZygpIHJlYWRvbmx5IGlkID0gYGFjY291bnQtcGlja2VyLSR7Q29tYmluYXRpb25QaWNrZXIubmV4dElkKyt9YDtcclxuICBASW5wdXQoKSB0b3VjaFVpOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGdldCBwbGFjZWhvbGRlcigpIHtcclxuICAgIHJldHVybiB0aGlzLl9wbGFjZWhvbGRlcjtcclxuICB9XHJcbiAgc2V0IHBsYWNlaG9sZGVyKHBsaCkge1xyXG4gICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGg7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIGZvY3VzZWQgPSBmYWxzZTtcclxuICBnZXQgZW1wdHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWUgPT09IG51bGw7XHJcbiAgfVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXRpbmcnKVxyXG4gIGdldCBzaG91bGRMYWJlbEZsb2F0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9jdXNlZCB8fCAhdGhpcy5lbXB0eTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgcmVxdWlyZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XHJcbiAgfVxyXG4gIHNldCByZXF1aXJlZChyZXEpIHtcclxuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHJlcSk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7IH1cclxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIGVycm9yU3RhdGUgPSBmYWxzZTtcclxuICBjb250cm9sVHlwZT86IHN0cmluZyA9ICdhY2NvdW50LXBpY2tlci1pbnB1dCc7XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKSBkZXNjcmliZWRCeSA9ICcnO1xyXG4gIEBWaWV3Q2hpbGQoTWF0SW5wdXQpIF9pbnB1dDogTWF0SW5wdXQ7XHJcbiAgZm9jdXMoKSB7dGhpcy5faW5wdXQuZm9jdXMoKSB9XHJcbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJyk7XHJcbiAgfVxyXG4gIG9uQ29udGFpbmVyQ2xpY2soZXZ0OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoKGV2dC50YXJnZXQgYXMgRWxlbWVudCkudGFnTmFtZSAhPT0gJ0lOUFVUJykge1xyXG4gICAgfVxyXG4gICAgdGhpcy5fb3BlbigpO1xyXG4gIH1cclxuICBvcGVuKGV2dDogRXZlbnQpIHtcclxuICAgIHRoaXMuX29wZW4oKTtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy52YWx1ZSA9IG9iajtcclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcbiAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBAVmlld0NoaWxkKFRlbXBsYXRlUmVmKVxyXG4gIHByaXZhdGUgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxyXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfZm9ybUZpZWxkOiBNYXRGb3JtRmllbGQsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgX3ZjOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfZm06IEZvY3VzTW9uaXRvcixcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5KSB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICAgIH1cclxuICAgIF9mbS5tb25pdG9yKF9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpLnN1YnNjcmliZShvcmlnaW4gPT4ge1xyXG4gICAgICBpZiAodGhpcy5mb2N1c2VkICYmICFvcmlnaW4pIHtcclxuICAgICAgICB0aGlzLl9vblRvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZvY3VzZWQgPSAhIW9yaWdpbjtcclxuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5lcnJvclN0YXRlID0gdGhpcy5uZ0NvbnRyb2wuaW52YWxpZCAmJiB0aGlzLm5nQ29udHJvbC50b3VjaGVkO1xyXG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIF9rZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2dC5hbHRLZXkgJiYgZXZ0LmtleSA9PT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgdGhpcy5fb3BlbigpO1xyXG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfb3BlbigpIHtcclxuICAgIGlmICh0aGlzLl9vcGVuZWQpIHJldHVybjtcclxuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gICAgY29uc3QgZGF0YSA9IHtcclxuICAgICAgZGl2aWRlcjogdGhpcy5fZGl2aWRlcixcclxuICAgICAgZGlzcGxheURpdmlkZXI6IHRoaXMuX2Rpc3BsYXlEaXZpZGVyLFxyXG4gICAgICBsaW1pdDogdGhpcy5fbGltaXQsXHJcbiAgICAgIHZhbHVlOiB0aGlzLl92YWx1ZSxcclxuICAgICAgY3ViZTogdGhpcy5jdWJlLFxyXG4gICAgICBleHBsb3JlU2V0dGluZ3M6IHRoaXMuZXhwbG9yZVNldHRpbmdzXHJcbiAgICB9IGFzIENvbWJpbmF0aW9uQm9keURhdGE7XHJcbiAgICBpZiAodGhpcy50b3VjaFVpKSB7XHJcbiAgICAgIHRoaXMuX2RpYWxvZ1JlZiA9IHRoaXMuX2RpYWxvZy5vcGVuKENvbWJpbmF0aW9uUGlja2VyQm9keSwge1xyXG4gICAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLnZhbHVlLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgbWF4SGVpZ2h0OiAnOTB2aCdcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX2F0dGFjaCh0aGlzLl9kaWFsb2dSZWYuY29tcG9uZW50SW5zdGFuY2UpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmICghdGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9jcmVhdGVPdmVybGF5UmVmKCk7XHJcbiAgICAgICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xyXG4gICAgICAgICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICAgICAgICBwcm92aWRlOiBDT01CSU5BVElPTl9QSUNLRVJfQk9EWSwgdXNlVmFsdWU6IGRhdGFcclxuICAgICAgICAgIH1dLHBhcmVudDogdGhpcy5faW5qZWN0b3JcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKENvbWJpbmF0aW9uUGlja2VyQm9keSwgdGhpcy5fdmMsIGluamVjdG9yKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5fcmVwb3NpdGlvbigpO1xyXG4gICAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaCh0aGlzLl9wb3J0YWwpO1xyXG4gICAgICB0aGlzLl9hdHRhY2goY29tcG9uZW50UmVmLmluc3RhbmNlKTtcclxuICAgICAgdGhpcy5fb3BlbmVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfYXR0YWNoKGJvZHk6IENvbWJpbmF0aW9uUGlja2VyQm9keSkge1xyXG4gICAgYm9keS5tb2RlQ2hhbmdlLlxyXG4gICAgICBzdWJzY3JpYmUoKCkgPT4gc2V0VGltZW91dCgoKSA9PiB0aGlzLl9yZXBvc2l0aW9uKCksIDApKTtcclxuICAgIGJvZHkuc2VsZWN0aW9uQ2hhbmdlLlxyXG4gICAgICBzdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwgZGVzY3JpcHRpb24gfSA9IGU7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcclxuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uQ2hhbmdlLmVtaXQoZGVzY3JpcHRpb24pO1xyXG4gICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIHRoaXMuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLm9wdGlvblNlbGVjdGVkLmVtaXQoZSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9yZXBvc2l0aW9uKCkge1xyXG4gICAgY29uc3QgZWwgPSB0aGlzLl9nZXRDb25uZWN0ZWRPdmVybGF5T3JpZ2luKCk7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLnVwZGF0ZVNpemUoeyBtaW5XaWR0aDogYCR7ZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH1weGAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXlSZWYoKTogT3ZlcmxheVJlZiB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuX2dldENvbm5lY3RlZE92ZXJsYXlPcmlnaW4oKTtcclxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkucG9zaXRpb24oKS5mbGV4aWJsZUNvbm5lY3RlZFRvKGVsKS5cclxuICAgICAgICB3aXRoVmlld3BvcnRNYXJnaW4oOCkuXHJcbiAgICAgICAgd2l0aEZsZXhpYmxlRGltZW5zaW9ucygpLlxyXG4gICAgICAgIHdpdGhQb3NpdGlvbnMoW3sgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ2JvdHRvbScsIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ3RvcCcgfSxcclxuICAgICAgICB7IG9yaWdpblg6ICdzdGFydCcsIG9yaWdpblk6ICd0b3AnLCBvdmVybGF5WDogJ3N0YXJ0Jywgb3ZlcmxheVk6ICdib3R0b20nIH1dKSxcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fZGlyLnZhbHVlLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnLFxyXG4gICAgICBtaW5XaWR0aDogYCR7ZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aH1weGAsXHJcbiAgICAgIHBhbmVsQ2xhc3M6ICdob21lLXBhbmVsJ1xyXG4gICAgfSk7XHJcbiAgICBtZXJnZShvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKSwgb3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCkuXHJcbiAgICAgIHBpcGUoZmlsdGVyKGUgPT4gZS5rZXkgPT09ICdFc2NhcGUnIHx8IChlLmtleSA9PT0gJ0Fycm93VXAnICYmIGUuYWx0S2V5KSksXHJcbiAgICAgICAgdGFwKGUgPT4gZS5zdG9wUHJvcGFnYXRpb24oKSkpKS5cclxuICAgICAgc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XHJcbiAgICByZXR1cm4gb3ZlcmxheVJlZjtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpOiBFbGVtZW50UmVmIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtRmllbGQgPyB0aGlzLl9mb3JtRmllbGQuZ2V0Q29ubmVjdGVkT3ZlcmxheU9yaWdpbigpIDogdGhpcy5fZWxlbWVudFJlZjtcclxuICB9XHJcbiAgY2xvc2UoKSB7XHJcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIGVsc2UgdGhpcy5fZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICB0aGlzLl9vcGVuZWQgPSBmYWxzZTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2ZtLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLm9wdGlvblNlbGVjdGVkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLmRlc2NyaXB0aW9uQ2hhbmdlLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8dGV4dGFyZWEgbWF0SW5wdXQgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGtleWRvd24pPVwiX2tleURvd24oJGV2ZW50KVwiIFt2YWx1ZV09XCJkZXNjcmlwdGlvblwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiPjwvdGV4dGFyZWE+XHJcbjxtYXQtaWNvbiBtYXRTdWZmaXggdGFiaW5kZXg9XCItMVwiIFtuZ0NsYXNzXT1cInsnbWF0LXdhcm4tdGV4dCc6ZXJyb3JTdGF0ZSwgJ2Rpc2FibGVkJzogZGlzYWJsZWR9XCI+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cclxuIl19
@@ -81,10 +81,10 @@ export class CombinationPool {
81
81
  ngOnDestroy() {
82
82
  this._destroy.next();
83
83
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CombinationPool, deps: [{ token: i1.CubeService }, { token: i2.FormBuilder }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: CombinationPool, selector: "bizdoc-combination-pool", inputs: { form: ["formGroup", "form"], appearance: "appearance", cube: "cube", model: "model", source: "source" }, outputs: { modelChange: "modelChange" }, ngImport: i0, template: "<form [formGroup]=\"form\">\n @for (a of _axes; track a) {\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>{{a.title}}</mat-label>\n <mat-select [formControlName]=\"a.name\">\n @if (form.controls[a.name].value) {\n <mat-option>{{'Dashes'|translate:('Clear'|translate)}}</mat-option>\n }\n @for (key of _keys[a.dataType]; track key) {\n <mat-option [value]=\"key\">{{_values[a.dataType][key]}}</mat-option>\n }\n </mat-select>\n <mat-hint>{{form.controls[a.name].value}}</mat-hint>\n </mat-form-field>\n }\n</form>\n", styles: [":host{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto}form{flex-flow:row wrap;box-sizing:border-box;display:flex;padding:0!important}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}[dir=rtl] form>*{padding:0 0 5px}@media (max-width: 599px){form{flex-flow:column}form>*{width:unset}}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
84
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CombinationPool, deps: [{ token: i1.CubeService }, { token: i2.FormBuilder }, { token: i3.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
85
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: CombinationPool, selector: "bizdoc-combination-pool", inputs: { form: ["formGroup", "form"], appearance: "appearance", cube: "cube", model: "model", source: "source" }, outputs: { modelChange: "modelChange" }, ngImport: i0, template: "<form [formGroup]=\"form\">\n @for (a of _axes; track a) {\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>{{a.title}}</mat-label>\n <mat-select [formControlName]=\"a.name\">\n @if (form.controls[a.name].value) {\n <mat-option>{{'Dashes'|translate:('Clear'|translate)}}</mat-option>\n }\n @for (key of _keys[a.dataType]; track key) {\n <mat-option [value]=\"key\">{{_values[a.dataType][key]}}</mat-option>\n }\n </mat-select>\n <mat-hint>{{form.controls[a.name].value}}</mat-hint>\n </mat-form-field>\n }\n</form>\n", styles: [":host{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto}form{flex-flow:row wrap;box-sizing:border-box;display:flex;padding:0!important}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}[dir=rtl] form>*{padding:0 0 5px}@media (max-width: 599px){form{flex-flow:column}form>*{width:unset}}\n"], dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] }); }
86
86
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CombinationPool, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CombinationPool, decorators: [{
88
88
  type: Component,
89
89
  args: [{ selector: 'bizdoc-combination-pool', template: "<form [formGroup]=\"form\">\n @for (a of _axes; track a) {\n <mat-form-field [appearance]=\"appearance\">\n <mat-label>{{a.title}}</mat-label>\n <mat-select [formControlName]=\"a.name\">\n @if (form.controls[a.name].value) {\n <mat-option>{{'Dashes'|translate:('Clear'|translate)}}</mat-option>\n }\n @for (key of _keys[a.dataType]; track key) {\n <mat-option [value]=\"key\">{{_values[a.dataType][key]}}</mat-option>\n }\n </mat-select>\n <mat-hint>{{form.controls[a.name].value}}</mat-hint>\n </mat-form-field>\n }\n</form>\n", styles: [":host{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto}form{flex-flow:row wrap;box-sizing:border-box;display:flex;padding:0!important}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}[dir=rtl] form>*{padding:0 0 5px}@media (max-width: 599px){form{flex-flow:column}form>*{width:unset}}\n"] }]
90
90
  }], ctorParameters: () => [{ type: i1.CubeService }, { type: i2.FormBuilder }, { type: i3.SessionService }], propDecorators: { form: [{
@@ -367,10 +367,10 @@ export class FileInput {
367
367
  this._pending.complete();
368
368
  this.stateChanges.complete();
369
369
  }
370
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FileInput, deps: [{ token: i0.ElementRef }, { token: i1.MailboxService }, { token: i2.DomSanitizer }, { token: i3.AttachmentInfo }, { token: i4.TranslateService }, { token: i5.SessionService }, { token: i6.PromptService }, { token: i7.NgControl, optional: true, self: true }, { token: DOCUMENT_MODEL }], target: i0.ɵɵFactoryTarget.Component }); }
371
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: FileInput, selector: "bizdoc-file-upload", inputs: { multiple: "multiple", accept: "accept", icon: "icon", value: "value", placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { listeners: { "document:drop": "handleDocumentDrop($event)", "drop": "handleDrop($event)", "dragenter": "handleEnter($event)", "dragleave": "handleLeave($event)", "dragover": "handleOver($event)" }, properties: { "id": "this.id", "attr.aria-describedby": "this.describedBy" }, classAttribute: "file-dropable" }, viewQueries: [{ propertyName: "_input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "@if (!items.length) {\n <button mat-button (click)=\"open()\">\n <mat-icon class=\"filled\">{{icon}}</mat-icon>\n <span class=\"mat-h3\">{{placeholder}}</span>\n </button>\n} @else {\n @for (a of items; track a) {\n <div class=\"attachment-item\"\n [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\"\n [progressIndicator]=\"a.progress\">\n <div class=\"file-preview\">\n @if (a.isImage) {\n <img [src]=\"a.url\" (click)=\"apreview(a)\" height=\"80\">\n }\n @if (a.hasPreview && !a.isImage) {\n <button mat-icon-button [bizdocTooltip]=\"'Preview'|translate\" (click)=\"apreview(a)\">\n @switch (a.icon !== undefined) {\n @case (true) {\n <mat-icon [svgIcon]=\"a.icon\" [inline]=\"false\"></mat-icon>\n }\n @default {\n <mat-icon class=\"mat-icon-rtl-mirror\">find_in_page</mat-icon>\n }\n }\n </button>\n }\n @if (!a.hasPreview && a.icon) {\n <mat-icon [svgIcon]=\"a.icon\" [inline]=\"false\"></mat-icon>\n }\n </div>\n <div class=\"file-overlay row\">\n <span class=\"filename\">{{a.fileName}}</span>\n <span class=\"divider\"></span>\n <button mat-icon-button class=\"options\" [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Options' | translate\">\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n <mat-menu #menu>\n @if (!a.failed) {\n @if (canEdit(a) && !a.failed) {\n @if (!a.checkedOut) {\n <button mat-menu-item (click)=\"checkOut(a)\">{{\"CheckOut\" | translate}}</button>\n @if (multiple) {\n <button mat-menu-item (click)=\"open()\">{{\"Add\" | translate}}</button>\n }\n }\n @if (a.checkedOut) {\n <button mat-menu-item (click)=\"checkIn(a)\">{{\"CheckIn\" | translate}}</button>\n }\n }\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\n @if (a.hasPreview) {\n <button mat-menu-item (click)=\"apreview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\n }\n @if (hasVersions(a)) {\n <mat-divider></mat-divider>\n @for (v of getVersions(a); track v) {\n <button mat-menu-item (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\n }\n }\n @if (canEdit(a)) {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\n }\n }\n @if (a.failed) {\n <button mat-menu-item (click)=\"cancel(a)\">{{\"Cancel\" | translate}}</button>\n }\n </mat-menu>\n </div>\n }\n}\n<input type=\"file\" #input\n [accept]=accept [multiple]=multiple (change)='_change($event)' style=\"display: none\" />\n", styles: [":host{display:flex}.attachment-item{height:80px;position:relative;display:inline-flex}.attachment-item img{cursor:zoom-in}.attachment-item .file-overlay{position:relative;height:inherit}.attachment-item .file-overlay .filename{font-size:x-small;cursor:pointer;background:#fff6;align-self:flex-end}.attachment-item .file-overlay:hover .filename{background:#fff;opacity:.5}\n"], dependencies: [{ kind: "component", type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i12.ProgressDirective, selector: "[progressIndicator]", inputs: ["progressIndicator"] }, { kind: "directive", type: i13.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i14.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }] }); }
370
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FileInput, deps: [{ token: i0.ElementRef }, { token: i1.MailboxService }, { token: i2.DomSanitizer }, { token: i3.AttachmentInfo }, { token: i4.TranslateService }, { token: i5.SessionService }, { token: i6.PromptService }, { token: i7.NgControl, optional: true, self: true }, { token: DOCUMENT_MODEL }], target: i0.ɵɵFactoryTarget.Component }); }
371
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: FileInput, selector: "bizdoc-file-upload", inputs: { multiple: "multiple", accept: "accept", icon: "icon", value: "value", placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { listeners: { "document:drop": "handleDocumentDrop($event)", "drop": "handleDrop($event)", "dragenter": "handleEnter($event)", "dragleave": "handleLeave($event)", "dragover": "handleOver($event)" }, properties: { "id": "this.id", "attr.aria-describedby": "this.describedBy" }, classAttribute: "file-dropable" }, viewQueries: [{ propertyName: "_input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "@if (!items.length) {\n <button mat-button (click)=\"open()\">\n <mat-icon class=\"filled\">{{icon}}</mat-icon>\n <span class=\"mat-h3\">{{placeholder}}</span>\n </button>\n} @else {\n @for (a of items; track a) {\n <div class=\"attachment-item\"\n [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\"\n [progressIndicator]=\"a.progress\">\n <div class=\"file-preview\">\n @if (a.isImage) {\n <img [src]=\"a.url\" (click)=\"apreview(a)\" height=\"80\">\n }\n @if (a.hasPreview && !a.isImage) {\n <button mat-icon-button [bizdocTooltip]=\"'Preview'|translate\" (click)=\"apreview(a)\">\n @switch (a.icon !== undefined) {\n @case (true) {\n <mat-icon [svgIcon]=\"a.icon\" [inline]=\"false\"></mat-icon>\n }\n @default {\n <mat-icon class=\"mat-icon-rtl-mirror\">find_in_page</mat-icon>\n }\n }\n </button>\n }\n @if (!a.hasPreview && a.icon) {\n <mat-icon [svgIcon]=\"a.icon\" [inline]=\"false\"></mat-icon>\n }\n </div>\n <div class=\"file-overlay row\">\n <span class=\"filename\">{{a.fileName}}</span>\n <span class=\"divider\"></span>\n <button mat-icon-button class=\"options\" [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Options' | translate\">\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n <mat-menu #menu>\n @if (!a.failed) {\n @if (canEdit(a) && !a.failed) {\n @if (!a.checkedOut) {\n <button mat-menu-item (click)=\"checkOut(a)\">{{\"CheckOut\" | translate}}</button>\n @if (multiple) {\n <button mat-menu-item (click)=\"open()\">{{\"Add\" | translate}}</button>\n }\n }\n @if (a.checkedOut) {\n <button mat-menu-item (click)=\"checkIn(a)\">{{\"CheckIn\" | translate}}</button>\n }\n }\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\n @if (a.hasPreview) {\n <button mat-menu-item (click)=\"apreview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\n }\n @if (hasVersions(a)) {\n <mat-divider></mat-divider>\n @for (v of getVersions(a); track v) {\n <button mat-menu-item (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\n }\n }\n @if (canEdit(a)) {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\n }\n }\n @if (a.failed) {\n <button mat-menu-item (click)=\"cancel(a)\">{{\"Cancel\" | translate}}</button>\n }\n </mat-menu>\n </div>\n }\n}\n<input type=\"file\" #input\n [accept]=accept [multiple]=multiple (change)='_change($event)' style=\"display: none\" />\n", styles: [":host{display:flex}.attachment-item{height:80px;position:relative;display:inline-flex}.attachment-item img{cursor:zoom-in}.attachment-item .file-overlay{position:relative;height:inherit}.attachment-item .file-overlay .filename{font-size:x-small;cursor:pointer;background:#fff6;align-self:flex-end}.attachment-item .file-overlay:hover .filename{background:#fff;opacity:.5}\n"], dependencies: [{ kind: "component", type: i8.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i12.ProgressDirective, selector: "[progressIndicator]", inputs: ["progressIndicator"] }, { kind: "directive", type: i13.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i14.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }] }); }
372
372
  }
373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FileInput, decorators: [{
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FileInput, decorators: [{
374
374
  type: Component,
375
375
  args: [{ host: { class: 'file-dropable' }, selector: 'bizdoc-file-upload', template: "@if (!items.length) {\n <button mat-button (click)=\"open()\">\n <mat-icon class=\"filled\">{{icon}}</mat-icon>\n <span class=\"mat-h3\">{{placeholder}}</span>\n </button>\n} @else {\n @for (a of items; track a) {\n <div class=\"attachment-item\"\n [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\"\n [progressIndicator]=\"a.progress\">\n <div class=\"file-preview\">\n @if (a.isImage) {\n <img [src]=\"a.url\" (click)=\"apreview(a)\" height=\"80\">\n }\n @if (a.hasPreview && !a.isImage) {\n <button mat-icon-button [bizdocTooltip]=\"'Preview'|translate\" (click)=\"apreview(a)\">\n @switch (a.icon !== undefined) {\n @case (true) {\n <mat-icon [svgIcon]=\"a.icon\" [inline]=\"false\"></mat-icon>\n }\n @default {\n <mat-icon class=\"mat-icon-rtl-mirror\">find_in_page</mat-icon>\n }\n }\n </button>\n }\n @if (!a.hasPreview && a.icon) {\n <mat-icon [svgIcon]=\"a.icon\" [inline]=\"false\"></mat-icon>\n }\n </div>\n <div class=\"file-overlay row\">\n <span class=\"filename\">{{a.fileName}}</span>\n <span class=\"divider\"></span>\n <button mat-icon-button class=\"options\" [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Options' | translate\">\n <mat-icon>more_vert</mat-icon>\n </button>\n </div>\n <mat-menu #menu>\n @if (!a.failed) {\n @if (canEdit(a) && !a.failed) {\n @if (!a.checkedOut) {\n <button mat-menu-item (click)=\"checkOut(a)\">{{\"CheckOut\" | translate}}</button>\n @if (multiple) {\n <button mat-menu-item (click)=\"open()\">{{\"Add\" | translate}}</button>\n }\n }\n @if (a.checkedOut) {\n <button mat-menu-item (click)=\"checkIn(a)\">{{\"CheckIn\" | translate}}</button>\n }\n }\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\n @if (a.hasPreview) {\n <button mat-menu-item (click)=\"apreview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\n }\n @if (hasVersions(a)) {\n <mat-divider></mat-divider>\n @for (v of getVersions(a); track v) {\n <button mat-menu-item (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\n }\n }\n @if (canEdit(a)) {\n <mat-divider></mat-divider>\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\n }\n }\n @if (a.failed) {\n <button mat-menu-item (click)=\"cancel(a)\">{{\"Cancel\" | translate}}</button>\n }\n </mat-menu>\n </div>\n }\n}\n<input type=\"file\" #input\n [accept]=accept [multiple]=multiple (change)='_change($event)' style=\"display: none\" />\n", styles: [":host{display:flex}.attachment-item{height:80px;position:relative;display:inline-flex}.attachment-item img{cursor:zoom-in}.attachment-item .file-overlay{position:relative;height:inherit}.attachment-item .file-overlay .filename{font-size:x-small;cursor:pointer;background:#fff6;align-self:flex-end}.attachment-item .file-overlay:hover .filename{background:#fff;opacity:.5}\n"] }]
376
376
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.MailboxService }, { type: i2.DomSanitizer }, { type: i3.AttachmentInfo }, { type: i4.TranslateService }, { type: i5.SessionService }, { type: i6.PromptService }, { type: i7.NgControl, decorators: [{
@@ -167,8 +167,8 @@ export class TypeSelect {
167
167
  this.selectionChange.complete();
168
168
  this.stateChanges.complete();
169
169
  }
170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TypeSelect, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.FocusMonitor }, { token: i0.ElementRef }, { token: i3.SessionService }, { token: i4.DatasourceService }], target: i0.ɵɵFactoryTarget.Component }); }
171
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: TypeSelect, selector: "bizdoc-select", inputs: { type: "type", scope: "scope", multiple: "multiple", placeholder: "placeholder", required: "required", disabled: "disabled", text: "text", value: "value" }, outputs: { selectionChange: "selectionChange", textChange: "textChange" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: TypeSelect }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: MatSelect, descendants: true, static: true }], ngImport: i0, template: `<mat-select [placeholder]="placeholder" [formControl]="_control" [multiple]='multiple'
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TypeSelect, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.FocusMonitor }, { token: i0.ElementRef }, { token: i3.SessionService }, { token: i4.DatasourceService }], target: i0.ɵɵFactoryTarget.Component }); }
171
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: TypeSelect, selector: "bizdoc-select", inputs: { type: "type", scope: "scope", multiple: "multiple", placeholder: "placeholder", required: "required", disabled: "disabled", text: "text", value: "value" }, outputs: { selectionChange: "selectionChange", textChange: "textChange" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: TypeSelect }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: MatSelect, descendants: true, static: true }], ngImport: i0, template: `<mat-select [placeholder]="placeholder" [formControl]="_control" [multiple]='multiple'
172
172
  (focusin)="_onFocus()" (focusout)="_onBlur()" [compareWith]='_compareWithKey' [required]="required">
173
173
  @if (!required && !multiple) {
174
174
  <mat-option [value]="null">
@@ -187,7 +187,7 @@ export class TypeSelect {
187
187
  }
188
188
  </mat-select>`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] }); }
189
189
  }
190
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TypeSelect, decorators: [{
190
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TypeSelect, decorators: [{
191
191
  type: Component,
192
192
  args: [{
193
193
  selector: 'bizdoc-select',
@@ -99,12 +99,12 @@ export class Signature {
99
99
  this._fm.stopMonitoring(this._elementRef.nativeElement);
100
100
  this.stateChanges.complete();
101
101
  }
102
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: Signature, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: Signature, selector: "bizdoc-signature", inputs: { width: "width", height: "height", velocity: "velocity", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: Signature }], viewQueries: [{ propertyName: "_control", first: true, predicate: ["signature"], descendants: true }], ngImport: i0, template: `
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Signature, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: Signature, selector: "bizdoc-signature", inputs: { width: "width", height: "height", velocity: "velocity", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: Signature }], viewQueries: [{ propertyName: "_control", first: true, predicate: ["signature"], descendants: true }], ngImport: i0, template: `
104
104
  <canvas ejs-signature #signature (change)="_change($event)"></canvas>
105
105
  `, isInline: true, dependencies: [{ kind: "component", type: i3.SignatureComponent, selector: "[ejs-signature]", inputs: ["backgroundColor", "backgroundImage", "disabled", "enablePersistence", "enableRtl", "isReadOnly", "locale", "maxStrokeWidth", "minStrokeWidth", "saveWithBackground", "strokeColor", "velocity"], outputs: ["focus", "blur", "beforeSave", "change", "created"] }] }); }
106
106
  }
107
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: Signature, decorators: [{
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: Signature, decorators: [{
108
108
  type: Component,
109
109
  args: [{
110
110
  selector: 'bizdoc-signature',
@@ -167,10 +167,10 @@ export class TimePicker {
167
167
  this._destroy.next();
168
168
  this._destroy.complete();
169
169
  }
170
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TimePicker, deps: [{ token: i1.FocusMonitor }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
171
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: TimePicker, selector: "mat-time-picker", inputs: { dateControlName: "dateControlName", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "class.floating": "shouldLabelFloat", "id": "id", "attr.aria-describedby": "describedBy" } }, providers: [{ provide: MatFormFieldControl, useExisting: TimePicker }], ngImport: i0, template: "<input matInput type=\"text\" [matAutocomplete]=\"auto\" [formControl]=\"control\" [placeholder]=\"placeholder\">\n<mat-autocomplete #auto>\n @for (o of options; track o) {\n <mat-option [value]=\"o\">{{o}}</mat-option>\n }\n</mat-autocomplete>\n", dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TimePicker, deps: [{ token: i1.FocusMonitor }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
171
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: TimePicker, selector: "mat-time-picker", inputs: { dateControlName: "dateControlName", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "class.floating": "shouldLabelFloat", "id": "id", "attr.aria-describedby": "describedBy" } }, providers: [{ provide: MatFormFieldControl, useExisting: TimePicker }], ngImport: i0, template: "<input matInput type=\"text\" [matAutocomplete]=\"auto\" [formControl]=\"control\" [placeholder]=\"placeholder\">\n<mat-autocomplete #auto>\n @for (o of options; track o) {\n <mat-option [value]=\"o\">{{o}}</mat-option>\n }\n</mat-autocomplete>\n", dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
172
172
  }
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TimePicker, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TimePicker, decorators: [{
174
174
  type: Component,
175
175
  args: [{ selector: 'mat-time-picker', providers: [{ provide: MatFormFieldControl, useExisting: TimePicker }], host: {
176
176
  '[class.floating]': 'shouldLabelFloat',
@@ -133,8 +133,8 @@ export class TimespanInput {
133
133
  this._fm.stopMonitoring(this._elRef.nativeElement);
134
134
  this.stateChanges.complete();
135
135
  }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TimespanInput, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i1.FormBuilder }, { token: i2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: TimespanInput, selector: "bizdoc-timespan-input", inputs: { placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: TimespanInput }], ngImport: i0, template: `<div [formGroup]="parts" class="ts-input-container">
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TimespanInput, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i1.FormBuilder }, { token: i2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: TimespanInput, selector: "bizdoc-timespan-input", inputs: { placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: TimespanInput }], ngImport: i0, template: `<div [formGroup]="parts" class="ts-input-container">
138
138
  <input class="ts-input-element" formControlName="days" size="2" pattern="\\d*" #inp>
139
139
  <span class="ts-input-spacer">{{'DaysPart' | translate}}</span>
140
140
  <input class="ts-input-element" formControlName="hours" size="2" max="24" min="0" pattern="\\d*">
@@ -143,7 +143,7 @@ export class TimespanInput {
143
143
  <span class="ts-input-spacer">{{'MinutesPart' | translate}}</span>
144
144
  </div>`, isInline: true, styles: [".ts-input-container{display:flex}.ts-input-element{border:none;background:none;padding:0;outline:none;font:inherit;text-align:center}.ts-input-spacer{opacity:0;font-size:x-small;text-transform:uppercase;transition:opacity .2s}:host.floating .ts-input-spacer{opacity:1}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
145
145
  }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TimespanInput, decorators: [{
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TimespanInput, decorators: [{
147
147
  type: Component,
148
148
  args: [{ selector: 'bizdoc-timespan-input', providers: [{ provide: MatFormFieldControl, useExisting: TimespanInput }], template: `<div [formGroup]="parts" class="ts-input-container">
149
149
  <input class="ts-input-element" formControlName="days" size="2" pattern="\\d*" #inp>
@@ -61,10 +61,10 @@ export class LayoutComponent {
61
61
  this._destroy.next();
62
62
  this._destroy.complete();
63
63
  }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: LayoutComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.SessionService }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
65
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: LayoutComponent, selector: "bizdoc-layout", inputs: { fields: "fields", model: "model", dirty: "dirty", params: "params", valid: "valid" }, outputs: { modelChange: "modelChange", dirtyChange: "dirtyChange", validChange: "validChange" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":host{display:flex;flex-direction:column;padding:8px}::ng-deep .field{display:grid}\n"] }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LayoutComponent, deps: [{ token: i0.ViewContainerRef }, { token: i1.SessionService }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: LayoutComponent, selector: "bizdoc-layout", inputs: { fields: "fields", model: "model", dirty: "dirty", params: "params", valid: "valid" }, outputs: { modelChange: "modelChange", dirtyChange: "dirtyChange", validChange: "validChange" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":host{display:flex;flex-direction:column;padding:8px}::ng-deep .field{display:grid}\n"] }); }
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: LayoutComponent, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LayoutComponent, decorators: [{
68
68
  type: Component,
69
69
  args: [{ selector: 'bizdoc-layout', template: '', styles: [":host{display:flex;flex-direction:column;padding:8px}::ng-deep .field{display:grid}\n"] }]
70
70
  }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i1.SessionService }, { type: i2.BizDocComponentFactoryResolver }], propDecorators: { fields: [{
@@ -25,10 +25,10 @@ export class LottieAnimation {
25
25
  // this._instance.show();
26
26
  }
27
27
  play() { this._instance.play(); }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: LottieAnimation, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.0", type: LottieAnimation, selector: "lottie", inputs: { name: "name", size: "size", autoplay: "autoplay" }, host: { properties: { "style.width": "size", "style.height": "size" }, styleAttribute: "display:block" }, ngImport: i0, template: '', isInline: true }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LottieAnimation, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
29
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: LottieAnimation, selector: "lottie", inputs: { name: "name", size: "size", autoplay: "autoplay" }, host: { properties: { "style.width": "size", "style.height": "size" }, styleAttribute: "display:block" }, ngImport: i0, template: '', isInline: true }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: LottieAnimation, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: LottieAnimation, decorators: [{
32
32
  type: Component,
33
33
  args: [{
34
34
  selector: 'lottie', template: '',
@@ -369,10 +369,10 @@ export class MailboxService {
369
369
  }
370
370
  });
371
371
  }
372
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: MailboxService, deps: [{ token: i1.HubService }, { token: i2.SessionService }, { token: i3.AuthenticationImpl }, { token: i4.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
373
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: MailboxService, providedIn: 'root' }); }
372
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: MailboxService, deps: [{ token: i1.HubService }, { token: i2.SessionService }, { token: i3.AuthenticationImpl }, { token: i4.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
373
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: MailboxService, providedIn: 'root' }); }
374
374
  }
375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: MailboxService, decorators: [{
375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: MailboxService, decorators: [{
376
376
  type: Injectable,
377
377
  args: [{ providedIn: 'root' }]
378
378
  }], ctorParameters: () => [{ type: i1.HubService }, { type: i2.SessionService }, { type: i3.AuthenticationImpl }, { type: i4.HttpClient }] });
@@ -9,8 +9,8 @@ export class NoneComponent {
9
9
  constructor() {
10
10
  this.isMobile = isMobile();
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.0", type: NoneComponent, selector: "bizdoc-none", inputs: { title: "title", subtitle: "subtitle", icon: "icon" }, ngImport: i0, template: `<div class="none" @none>
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: NoneComponent, selector: "bizdoc-none", inputs: { title: "title", subtitle: "subtitle", icon: "icon" }, ngImport: i0, template: `<div class="none" @none>
14
14
  <h4 class="mat-h2">{{title|translate}}</h4>
15
15
  <mat-icon class="icon">{{icon}}</mat-icon>
16
16
  @if (subtitle) {
@@ -18,7 +18,7 @@ export class NoneComponent {
18
18
  }
19
19
  </div>`, isInline: true, styles: [".none{align-items:center;display:flex;flex-direction:column;opacity:.2;padding-top:2em;cursor:default}.none .icon{font-size:56px;height:auto;width:auto}.none h5{padding:0 8px}.none h5 ::ng-deep i.material-icons{vertical-align:text-bottom;font-size:initial}\n"], dependencies: [{ kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i3.SanitizeHtmlPipe, name: "sanitizeHtml" }], animations: [noneAnimation] }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: NoneComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: NoneComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'bizdoc-none', template: `<div class="none" @none>
24
24
  <h4 class="mat-h2">{{title|translate}}</h4>
@@ -15,10 +15,10 @@ export class ActionPipe {
15
15
  this.map = new Map();
16
16
  session.profile.actions.forEach(a => this.map.set(a.name, a));
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ActionPipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe }); }
19
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: ActionPipe, name: "action" }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ActionPipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe }); }
19
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: ActionPipe, name: "action" }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ActionPipe, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ActionPipe, decorators: [{
22
22
  type: Pipe,
23
23
  args: [{ name: 'action' }]
24
24
  }], ctorParameters: () => [{ type: i1.SessionService }] });
@@ -53,10 +53,10 @@ export class CalendarPipe {
53
53
  }
54
54
  this.midnightSub.unsubscribe();
55
55
  }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CalendarPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Pipe }); }
57
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: CalendarPipe, name: "amCalendar", pure: false }); }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalendarPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Pipe }); }
57
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: CalendarPipe, name: "amCalendar", pure: false }); }
58
58
  }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: CalendarPipe, decorators: [{
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CalendarPipe, decorators: [{
60
60
  type: Pipe,
61
61
  args: [{
62
62
  name: 'amCalendar',
@@ -9,10 +9,10 @@ export class DateFormatPipe {
9
9
  constructor() {
10
10
  dayjs.extend(localizedFormat);
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DateFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: DateFormatPipe, name: "amDateFormat" }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DateFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: DateFormatPipe, name: "amDateFormat" }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DateFormatPipe, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DateFormatPipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{ name: 'amDateFormat' }]
18
18
  }], ctorParameters: () => [] });
@@ -19,10 +19,10 @@ export class AgoPipe {
19
19
  constructor(_translate) {
20
20
  this._translate = _translate;
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AgoPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
23
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AgoPipe, name: "amMiniAgo" }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AgoPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
23
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: AgoPipe, name: "amMiniAgo" }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AgoPipe, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AgoPipe, decorators: [{
26
26
  type: Pipe,
27
27
  args: [{ name: 'amMiniAgo' }]
28
28
  }], ctorParameters: () => [{ type: i1.TranslateService }] });
@@ -52,10 +52,10 @@ export class DateRangePipe {
52
52
  return `${dayjs(date1).format(`${m} ${d}, ${y}`)} - ${dayjs(date2).format(`${m} ${d}, ${y}`)}`;
53
53
  }
54
54
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DateRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
56
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: DateRangePipe, name: "dateRange" }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DateRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
56
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: DateRangePipe, name: "dateRange" }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DateRangePipe, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DateRangePipe, decorators: [{
59
59
  type: Pipe,
60
60
  args: [{ name: 'dateRange' }]
61
61
  }] });
@@ -5,10 +5,10 @@ export class DifferencePipe {
5
5
  transform(value, ...args) {
6
6
  return dayjs(value).diff(args[0], args[1]);
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DifferencePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: DifferencePipe, name: "amDifference" }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DifferencePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: DifferencePipe, name: "amDifference" }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DifferencePipe, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DifferencePipe, decorators: [{
12
12
  type: Pipe,
13
13
  args: [{ name: 'amDifference' }]
14
14
  }] });
@@ -38,10 +38,10 @@ export class DurationFormatPipe {
38
38
  constructor(_translate) {
39
39
  this._translate = _translate;
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DurationFormatPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
42
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: DurationFormatPipe, name: "amDurationFormat" }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DurationFormatPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
42
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: DurationFormatPipe, name: "amDurationFormat" }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DurationFormatPipe, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DurationFormatPipe, decorators: [{
45
45
  type: Pipe,
46
46
  args: [{ name: 'amDurationFormat' }]
47
47
  }], ctorParameters: () => [{ type: i1.TranslateService }] });
@@ -9,10 +9,10 @@ export class DurationPipe {
9
9
  }
10
10
  constructor() {
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: DurationPipe, name: "amDuration" }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
13
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: DurationPipe, name: "amDuration" }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: DurationPipe, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: DurationPipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{ name: 'amDuration' }]
18
18
  }], ctorParameters: () => [] });
@@ -15,10 +15,10 @@ export class FormPipe {
15
15
  this.map = new Map();
16
16
  session.profile.forms.forEach(f => this.map.set(f.name, f));
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormPipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe }); }
19
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: FormPipe, name: "form" }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FormPipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe }); }
19
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: FormPipe, name: "form" }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: FormPipe, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FormPipe, decorators: [{
22
22
  type: Pipe,
23
23
  args: [{ name: 'form' }]
24
24
  }], ctorParameters: () => [{ type: i1.SessionService }] });