@bizdoc/core 1.17.2 → 1.17.7

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 (413) 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 +1 -1
  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/esm2020/lib/admin/admin-dismiss.service.mjs +3 -3
  9. package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
  10. package/esm2020/lib/admin/architecture/cube-axes-filter.component.mjs +14 -15
  11. package/esm2020/lib/admin/architecture/declarations.mjs +11 -4
  12. package/esm2020/lib/admin/architecture/designer-element.component.mjs +19 -19
  13. package/esm2020/lib/admin/architecture/designer-privileges.component.mjs +15 -11
  14. package/esm2020/lib/admin/architecture/designer.base.mjs +11 -10
  15. package/esm2020/lib/admin/architecture/designer.component.mjs +25 -20
  16. package/esm2020/lib/admin/architecture/elements/action.component.mjs +5 -5
  17. package/esm2020/lib/admin/architecture/elements/analysis-view.component.mjs +7 -6
  18. package/esm2020/lib/admin/architecture/elements/analysis-widget.component.mjs +7 -6
  19. package/esm2020/lib/admin/architecture/elements/anomaly-rule.component.mjs +3 -3
  20. package/esm2020/lib/admin/architecture/elements/attribute.component.mjs +7 -6
  21. package/esm2020/lib/admin/architecture/elements/box-form.component.mjs +3 -3
  22. package/esm2020/lib/admin/architecture/elements/configuration-datasource.component.mjs +3 -3
  23. package/esm2020/lib/admin/architecture/elements/control.component.mjs +3 -3
  24. package/esm2020/lib/admin/architecture/elements/cube-index-utility.component.mjs +7 -6
  25. package/esm2020/lib/admin/architecture/elements/cube-view.component.mjs +7 -6
  26. package/esm2020/lib/admin/architecture/elements/cube.component.mjs +24 -25
  27. package/esm2020/lib/admin/architecture/elements/documents-report.component.mjs +7 -6
  28. package/esm2020/lib/admin/architecture/elements/documents-widget.component.mjs +7 -6
  29. package/esm2020/lib/admin/architecture/elements/explore-view.component.mjs +7 -6
  30. package/esm2020/lib/admin/architecture/elements/feedback-widget.component.mjs +9 -8
  31. package/esm2020/lib/admin/architecture/elements/folder.component.mjs +7 -6
  32. package/esm2020/lib/admin/architecture/elements/form-invite.dialog.mjs +44 -33
  33. package/esm2020/lib/admin/architecture/elements/form.component.mjs +39 -25
  34. package/esm2020/lib/admin/architecture/elements/guide.component.mjs +3 -3
  35. package/esm2020/lib/admin/architecture/elements/matrix-view.component.mjs +7 -6
  36. package/esm2020/lib/admin/architecture/elements/node.component.mjs +3 -3
  37. package/esm2020/lib/admin/architecture/elements/parallel-view.component.mjs +7 -6
  38. package/esm2020/lib/admin/architecture/elements/performance-report.component.mjs +7 -6
  39. package/esm2020/lib/admin/architecture/elements/performance-widget.component.mjs +7 -6
  40. package/esm2020/lib/admin/architecture/elements/pivot-view.component.mjs +7 -6
  41. package/esm2020/lib/admin/architecture/elements/policy.component.mjs +3 -3
  42. package/esm2020/lib/admin/architecture/elements/report.component.mjs +7 -6
  43. package/esm2020/lib/admin/architecture/elements/return-to-role-action.component.mjs +3 -3
  44. package/esm2020/lib/admin/architecture/elements/role.component.mjs +3 -3
  45. package/esm2020/lib/admin/architecture/elements/rule.component.mjs +3 -3
  46. package/esm2020/lib/admin/architecture/elements/state.component.mjs +5 -5
  47. package/esm2020/lib/admin/architecture/elements/sum-view.component.mjs +7 -6
  48. package/esm2020/lib/admin/architecture/elements/tasks-report.component.mjs +7 -6
  49. package/esm2020/lib/admin/architecture/elements/type.component.mjs +3 -3
  50. package/esm2020/lib/admin/architecture/elements/usage-report.component.mjs +7 -6
  51. package/esm2020/lib/admin/architecture/elements/utility.component.mjs +3 -3
  52. package/esm2020/lib/admin/architecture/elements/view.component.mjs +3 -3
  53. package/esm2020/lib/admin/architecture/elements/widget.component.mjs +7 -6
  54. package/esm2020/lib/admin/architecture/icon-picker.component.mjs +3 -3
  55. package/esm2020/lib/admin/core/ace.input.mjs +3 -3
  56. package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
  57. package/esm2020/lib/admin/core/localized-string.component.mjs +7 -6
  58. package/esm2020/lib/admin/core/search.input.mjs +3 -3
  59. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +19 -20
  60. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +24 -25
  61. package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +13 -14
  62. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +14 -15
  63. package/esm2020/lib/admin/form/designer/box-designer.component.mjs +9 -10
  64. package/esm2020/lib/admin/form/designer/properties.component.mjs +6 -5
  65. package/esm2020/lib/admin/form/designer/section.component.mjs +5 -5
  66. package/esm2020/lib/admin/form/designer/settings.component.mjs +3 -3
  67. package/esm2020/lib/admin/form/form.resolve.service.mjs +3 -3
  68. package/esm2020/lib/admin/form/workflow/node.component.mjs +11 -12
  69. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +17 -18
  70. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +12 -14
  71. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  72. package/esm2020/lib/admin/patterns/patterns.component.mjs +23 -24
  73. package/esm2020/lib/admin/permissions/permissions.component.mjs +3 -3
  74. package/esm2020/lib/admin/positions/positions-popup.component.mjs +3 -3
  75. package/esm2020/lib/admin/positions/positions.component.mjs +24 -25
  76. package/esm2020/lib/admin/profiler/outofoffice.component.mjs +16 -17
  77. package/esm2020/lib/admin/profiler/profiler.component.mjs +20 -21
  78. package/esm2020/lib/admin/system.service.mjs +4 -4
  79. package/esm2020/lib/admin/utility-wrapper.component.mjs +3 -3
  80. package/esm2020/lib/admin/utility.pane.component.mjs +3 -3
  81. package/esm2020/lib/app.component.mjs +6 -6
  82. package/esm2020/lib/bizdoc.module.mjs +4 -4
  83. package/esm2020/lib/browse/browse-items.component.mjs +24 -25
  84. package/esm2020/lib/browse/browse.mobile.component.mjs +17 -18
  85. package/esm2020/lib/browse/browse.pane.component.mjs +15 -16
  86. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +15 -16
  87. package/esm2020/lib/browse/filter/filter.component.mjs +15 -16
  88. package/esm2020/lib/browse/folders-menu.component.mjs +3 -3
  89. package/esm2020/lib/chat/chat-info.mjs +3 -3
  90. package/esm2020/lib/chat/chat.mobile.component.mjs +7 -8
  91. package/esm2020/lib/chat/chat.service.mjs +3 -3
  92. package/esm2020/lib/chat/contacts.component.mjs +6 -6
  93. package/esm2020/lib/chat/contacts.pane.component.mjs +3 -3
  94. package/esm2020/lib/chat/conversation.component.mjs +3 -3
  95. package/esm2020/lib/chat/conversation.pane.component.mjs +3 -3
  96. package/esm2020/lib/compose/action/action-picker.component.mjs +3 -3
  97. package/esm2020/lib/compose/action/action.dialog.mjs +10 -11
  98. package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  99. package/esm2020/lib/compose/action/assign-action.component.mjs +12 -13
  100. package/esm2020/lib/compose/action/moveto-action.component.mjs +14 -15
  101. package/esm2020/lib/compose/action/return-action.component.mjs +12 -13
  102. package/esm2020/lib/compose/attachments/attachments.component.mjs +3 -3
  103. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +10 -11
  104. package/esm2020/lib/compose/attachments/progress-button.directive.mjs +3 -3
  105. package/esm2020/lib/compose/box/box.component.mjs +9 -10
  106. package/esm2020/lib/compose/box/control.component.mjs +3 -3
  107. package/esm2020/lib/compose/box/row.component.mjs +3 -3
  108. package/esm2020/lib/compose/can-deactivate-changes.service.mjs +3 -3
  109. package/esm2020/lib/compose/comments/comment.component.mjs +16 -17
  110. package/esm2020/lib/compose/comments/comments.component.mjs +10 -11
  111. package/esm2020/lib/compose/comments/comments.pane.component.mjs +3 -3
  112. package/esm2020/lib/compose/comments/edit-comment.component.mjs +3 -3
  113. package/esm2020/lib/compose/comments/edits.component.mjs +3 -3
  114. package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  115. package/esm2020/lib/compose/comments/votes.component.mjs +3 -3
  116. package/esm2020/lib/compose/compose-resolve.service.mjs +6 -6
  117. package/esm2020/lib/compose/compose.mobile.component.mjs +3 -3
  118. package/esm2020/lib/compose/compose.pane.component.mjs +3 -3
  119. package/esm2020/lib/compose/copy/copy.dialog.mjs +3 -3
  120. package/esm2020/lib/compose/dismiss.service.mjs +3 -3
  121. package/esm2020/lib/compose/document-resolver.service.mjs +3 -3
  122. package/esm2020/lib/compose/document.component.mjs +3 -3
  123. package/esm2020/lib/compose/document.mobile.component.mjs +3 -3
  124. package/esm2020/lib/compose/document.pane.component.mjs +3 -3
  125. package/esm2020/lib/compose/events/events.component.mjs +3 -3
  126. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  127. package/esm2020/lib/compose/form.component.mjs +3 -3
  128. package/esm2020/lib/compose/new-menu.component.mjs +3 -3
  129. package/esm2020/lib/compose/privilage.directive.mjs +6 -6
  130. package/esm2020/lib/compose/recipient-resolver.service.mjs +3 -3
  131. package/esm2020/lib/compose/state.component.mjs +3 -3
  132. package/esm2020/lib/compose/tag/tags.component.mjs +3 -3
  133. package/esm2020/lib/compose/trace/flow.component.mjs +3 -3
  134. package/esm2020/lib/compose/trace/people.component.mjs +3 -3
  135. package/esm2020/lib/compose/trace/trace.base.mjs +3 -3
  136. package/esm2020/lib/compose/trace/trace.component.mjs +3 -3
  137. package/esm2020/lib/compose/trace/trace.pane.component.mjs +3 -3
  138. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +3 -3
  139. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  140. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +3 -3
  141. package/esm2020/lib/core/NgComponentOutlet.mjs +3 -3
  142. package/esm2020/lib/core/account.service.mjs +3 -3
  143. package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  144. package/esm2020/lib/core/avatar/avatar.component.mjs +3 -3
  145. package/esm2020/lib/core/checkbox.mjs +3 -3
  146. package/esm2020/lib/core/component-factory-resolver.mjs +3 -3
  147. package/esm2020/lib/core/datasource.service.mjs +3 -3
  148. package/esm2020/lib/core/fields/address.designer.mjs +3 -3
  149. package/esm2020/lib/core/fields/address.field.mjs +3 -3
  150. package/esm2020/lib/core/fields/autocomplete.field.mjs +10 -10
  151. package/esm2020/lib/core/fields/checkbox.designer.mjs +3 -3
  152. package/esm2020/lib/core/fields/checkbox.field.mjs +3 -3
  153. package/esm2020/lib/core/fields/checklist.designer.mjs +3 -3
  154. package/esm2020/lib/core/fields/checklist.field.mjs +6 -5
  155. package/esm2020/lib/core/fields/date-range.designer.mjs +3 -3
  156. package/esm2020/lib/core/fields/date-range.field.mjs +3 -3
  157. package/esm2020/lib/core/fields/date.designer.mjs +3 -3
  158. package/esm2020/lib/core/fields/date.field.mjs +3 -3
  159. package/esm2020/lib/core/fields/expression.field.mjs +3 -3
  160. package/esm2020/lib/core/fields/file.designer.mjs +3 -3
  161. package/esm2020/lib/core/fields/file.field.mjs +3 -3
  162. package/esm2020/lib/core/fields/html.designer.mjs +3 -3
  163. package/esm2020/lib/core/fields/html.field.mjs +3 -3
  164. package/esm2020/lib/core/fields/input.designer.mjs +3 -3
  165. package/esm2020/lib/core/fields/input.field.mjs +3 -3
  166. package/esm2020/lib/core/fields/localized-string.field.mjs +21 -0
  167. package/esm2020/lib/core/fields/numeric.designer.mjs +3 -3
  168. package/esm2020/lib/core/fields/numeric.field.mjs +3 -3
  169. package/esm2020/lib/core/fields/options.base.mjs +8 -8
  170. package/esm2020/lib/core/fields/options.component.mjs +3 -3
  171. package/esm2020/lib/core/fields/radio-button.designer.mjs +9 -7
  172. package/esm2020/lib/core/fields/radio-button.field.mjs +3 -3
  173. package/esm2020/lib/core/fields/select.designer.mjs +9 -8
  174. package/esm2020/lib/core/fields/select.field.mjs +6 -13
  175. package/esm2020/lib/core/fields/signature.designer.mjs +6 -4
  176. package/esm2020/lib/core/fields/signature.field.mjs +5 -5
  177. package/esm2020/lib/core/fields/switch.field.mjs +3 -3
  178. package/esm2020/lib/core/fields/textarea.designer.mjs +3 -3
  179. package/esm2020/lib/core/fields/textarea.field.mjs +3 -3
  180. package/esm2020/lib/core/fields/timespan.field.mjs +3 -3
  181. package/esm2020/lib/core/fields/yesno.designer.mjs +9 -8
  182. package/esm2020/lib/core/fields/yesno.field.mjs +3 -3
  183. package/esm2020/lib/core/guide/guide.component.mjs +9 -10
  184. package/esm2020/lib/core/guide/guide.service.mjs +3 -3
  185. package/esm2020/lib/core/guide/help-tip.component.mjs +11 -12
  186. package/esm2020/lib/core/http.interceptor.mjs +3 -3
  187. package/esm2020/lib/core/hub.service.mjs +3 -3
  188. package/esm2020/lib/core/identity/identity.component.mjs +3 -3
  189. package/esm2020/lib/core/info/attachment-info.service.mjs +3 -3
  190. package/esm2020/lib/core/info/document-info.service.mjs +3 -3
  191. package/esm2020/lib/core/info/location-info.component.mjs +3 -3
  192. package/esm2020/lib/core/info/map-info.mjs +3 -3
  193. package/esm2020/lib/core/inputs/address.input.mjs +3 -3
  194. package/esm2020/lib/core/inputs/auto-complete.input.mjs +3 -3
  195. package/esm2020/lib/core/inputs/combination-picker-body.mjs +3 -3
  196. package/esm2020/lib/core/inputs/combination-picker.mjs +3 -3
  197. package/esm2020/lib/core/inputs/combination-pool.mjs +3 -3
  198. package/esm2020/lib/core/inputs/file.input.mjs +3 -3
  199. package/esm2020/lib/core/inputs/select.input.mjs +3 -3
  200. package/esm2020/lib/core/inputs/signature.input.mjs +3 -3
  201. package/esm2020/lib/core/inputs/time-picker.mjs +3 -3
  202. package/esm2020/lib/core/inputs/timespan.input.mjs +3 -3
  203. package/esm2020/lib/core/layout.component.mjs +9 -5
  204. package/esm2020/lib/core/lottie-animation.mjs +3 -3
  205. package/esm2020/lib/core/mailbox.service.mjs +3 -3
  206. package/esm2020/lib/core/models.mjs +2 -1
  207. package/esm2020/lib/core/none.component.mjs +3 -3
  208. package/esm2020/lib/core/pipes/action.pipe.mjs +3 -3
  209. package/esm2020/lib/core/pipes/calendar.pipe.mjs +3 -3
  210. package/esm2020/lib/core/pipes/date-format.pipe.mjs +3 -3
  211. package/esm2020/lib/core/pipes/daterange.pipe.mjs +6 -6
  212. package/esm2020/lib/core/pipes/difference.pipe.mjs +3 -3
  213. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +3 -3
  214. package/esm2020/lib/core/pipes/duration.pipe.mjs +3 -3
  215. package/esm2020/lib/core/pipes/form.pipe.mjs +3 -3
  216. package/esm2020/lib/core/pipes/join.pipe.mjs +3 -3
  217. package/esm2020/lib/core/pipes/localized-string.pipe.mjs +3 -3
  218. package/esm2020/lib/core/pipes/role.pipe.mjs +3 -3
  219. package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  220. package/esm2020/lib/core/pipes/sort.pipe.mjs +6 -6
  221. package/esm2020/lib/core/pipes/state.pipe.mjs +3 -3
  222. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +6 -6
  223. package/esm2020/lib/core/pipes/translate.pipe.mjs +9 -9
  224. package/esm2020/lib/core/pipes/type-value.pipe.mjs +3 -3
  225. package/esm2020/lib/core/pipes/user-name.pipe.mjs +3 -3
  226. package/esm2020/lib/core/popup/popup.component.mjs +3 -3
  227. package/esm2020/lib/core/popup/popup.service.mjs +3 -3
  228. package/esm2020/lib/core/popup/tooltip.directive.mjs +6 -6
  229. package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  230. package/esm2020/lib/core/prompt/mask/mask.component.mjs +3 -3
  231. package/esm2020/lib/core/prompt.service.mjs +3 -3
  232. package/esm2020/lib/core/router.mjs +6 -6
  233. package/esm2020/lib/core/save-changes.dialog.mjs +3 -3
  234. package/esm2020/lib/core/session.service.mjs +3 -3
  235. package/esm2020/lib/core/slots/router.directive.mjs +3 -3
  236. package/esm2020/lib/core/slots/router.service.mjs +3 -3
  237. package/esm2020/lib/core/slots/slots.component.mjs +5 -5
  238. package/esm2020/lib/core/tagging/documents.component.mjs +3 -3
  239. package/esm2020/lib/core/tagging/edit-input.component.mjs +14 -15
  240. package/esm2020/lib/core/tagging/emoji.component.mjs +3 -3
  241. package/esm2020/lib/core/tagging/tagging-item.directive.mjs +3 -3
  242. package/esm2020/lib/core/tagging/tagging.component-base.mjs +3 -3
  243. package/esm2020/lib/core/tagging/tagging.directive.mjs +3 -3
  244. package/esm2020/lib/core/tagging/tagging.pipe.mjs +3 -3
  245. package/esm2020/lib/core/tagging/users.component.mjs +3 -3
  246. package/esm2020/lib/core/translate.service.mjs +3 -3
  247. package/esm2020/lib/core/translations.mjs +29 -114
  248. package/esm2020/lib/core/window-title.service.mjs +3 -3
  249. package/esm2020/lib/cube/accum/accum.component.mjs +3 -3
  250. package/esm2020/lib/cube/chart/chart.component.mjs +3 -3
  251. package/esm2020/lib/cube/cube-info.service.mjs +3 -3
  252. package/esm2020/lib/cube/cube-menu.component.mjs +3 -3
  253. package/esm2020/lib/cube/cube-view.component.mjs +3 -3
  254. package/esm2020/lib/cube/cube.service.mjs +3 -3
  255. package/esm2020/lib/cube/explore/document-item.component.mjs +3 -3
  256. package/esm2020/lib/cube/explore/explore-item.component.mjs +3 -3
  257. package/esm2020/lib/cube/explore/explore-items.component.mjs +3 -3
  258. package/esm2020/lib/cube/explore/explore.pane.component.mjs +3 -3
  259. package/esm2020/lib/cube/explore/item-resolver.service.mjs +6 -6
  260. package/esm2020/lib/cube/explore/item.pane.component.mjs +3 -3
  261. package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  262. package/esm2020/lib/cube/filter/filter.component.mjs +14 -15
  263. package/esm2020/lib/cube/grid/grid.component.mjs +3 -3
  264. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +3 -3
  265. package/esm2020/lib/cube/matrix/matrix.base.mjs +3 -3
  266. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  267. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  268. package/esm2020/lib/cube/matrix/popup.component.mjs +3 -3
  269. package/esm2020/lib/cube/matrix/table.component.mjs +3 -3
  270. package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -3
  271. package/esm2020/lib/cube/pivot/pivot.component.mjs +3 -3
  272. package/esm2020/lib/cube/sum/sum.component.mjs +3 -3
  273. package/esm2020/lib/cube/view-base.mjs +3 -3
  274. package/esm2020/lib/cube/view.mobile.component.mjs +3 -3
  275. package/esm2020/lib/cube/view.pane.component.mjs +3 -3
  276. package/esm2020/lib/dashboard/actions/actions.widget.mjs +3 -3
  277. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  278. package/esm2020/lib/dashboard/cube/compare.widget.mjs +3 -3
  279. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +46 -21
  280. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +4 -4
  281. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +6 -5
  282. package/esm2020/lib/dashboard/cube/document-state.widget.mjs +3 -3
  283. package/esm2020/lib/dashboard/cube/documents.widget.mjs +3 -3
  284. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  285. package/esm2020/lib/dashboard/dashboard.component.mjs +14 -15
  286. package/esm2020/lib/dashboard/dashboard.pane.component.mjs +3 -3
  287. package/esm2020/lib/dashboard/recents/recents.widget.mjs +3 -3
  288. package/esm2020/lib/dashboard/score/activity.widget.mjs +3 -3
  289. package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  290. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  291. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +3 -3
  292. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +3 -3
  293. package/esm2020/lib/dashboard/widget-item.component.mjs +9 -9
  294. package/esm2020/lib/designer.module.mjs +5 -9
  295. package/esm2020/lib/desktop.module.mjs +5 -9
  296. package/esm2020/lib/home/about/about.dialog.mjs +3 -3
  297. package/esm2020/lib/home/home-base.component.mjs +3 -3
  298. package/esm2020/lib/home/home.desktop.component.mjs +19 -20
  299. package/esm2020/lib/home/home.mobile.component.mjs +3 -3
  300. package/esm2020/lib/home/notifications/notifications.component.mjs +3 -3
  301. package/esm2020/lib/home/options/options.component.mjs +13 -14
  302. package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  303. package/esm2020/lib/home/sign/sign.component.mjs +3 -3
  304. package/esm2020/lib/home/tools.component.mjs +3 -3
  305. package/esm2020/lib/impersonate/impersonate.component.mjs +3 -3
  306. package/esm2020/lib/mobile.module.mjs +5 -9
  307. package/esm2020/lib/modules/chart.module.mjs +4 -4
  308. package/esm2020/lib/modules/circular-gauge.module.mjs +4 -4
  309. package/esm2020/lib/modules/datepicker.intl.mjs +3 -3
  310. package/esm2020/lib/modules/dayjs.module.mjs +4 -4
  311. package/esm2020/lib/modules/diagram.module.mjs +4 -4
  312. package/esm2020/lib/modules/gantt.module.mjs +4 -4
  313. package/esm2020/lib/modules/grid.module.mjs +4 -4
  314. package/esm2020/lib/modules/material.module.mjs +8 -12
  315. package/esm2020/lib/modules/paginator.intl.mjs +3 -3
  316. package/esm2020/lib/modules/pivot.module.mjs +4 -4
  317. package/esm2020/lib/modules/schedule.module.mjs +4 -4
  318. package/esm2020/lib/modules/spreadsheet.module.mjs +4 -4
  319. package/esm2020/lib/modules/stepper.intl.mjs +3 -3
  320. package/esm2020/lib/modules/texteditor.module.mjs +4 -4
  321. package/esm2020/lib/notifications/filter.component.mjs +9 -10
  322. package/esm2020/lib/notifications/notifications-table.component.mjs +3 -3
  323. package/esm2020/lib/notifications/notifications.mobile.component.mjs +3 -3
  324. package/esm2020/lib/notifications/notifications.pane.component.mjs +3 -3
  325. package/esm2020/lib/notifications/notifications.service.mjs +3 -3
  326. package/esm2020/lib/notifications/types/commented.notification.mjs +4 -4
  327. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  328. package/esm2020/lib/notifications/types/escalated.notification.mjs +4 -4
  329. package/esm2020/lib/notifications/types/invite.notification.mjs +14 -6
  330. package/esm2020/lib/notifications/types/liked.notification.mjs +4 -4
  331. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +6 -6
  332. package/esm2020/lib/notifications/types/notification-base.mjs +3 -3
  333. package/esm2020/lib/notifications/types/nudge.notification.mjs +4 -4
  334. package/esm2020/lib/notifications/types/state-changed.notification.mjs +5 -5
  335. package/esm2020/lib/notifications/types/tagged.notification.mjs +5 -5
  336. package/esm2020/lib/notifications/types/text.notification.mjs +3 -3
  337. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +4 -4
  338. package/esm2020/lib/options/options.component.mjs +18 -19
  339. package/esm2020/lib/options/options.service.mjs +3 -3
  340. package/esm2020/lib/reports/arguments-component.mjs +3 -3
  341. package/esm2020/lib/reports/cube/documents.component.mjs +3 -3
  342. package/esm2020/lib/reports/cube/grid-documents.component.mjs +3 -3
  343. package/esm2020/lib/reports/cube/role-performance.component.mjs +3 -3
  344. package/esm2020/lib/reports/cube/table-documents.component.mjs +3 -3
  345. package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
  346. package/esm2020/lib/reports/cube/usage-base.mjs +3 -3
  347. package/esm2020/lib/reports/cube/usage-chart.component.mjs +3 -3
  348. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +3 -3
  349. package/esm2020/lib/reports/cube/usage.component.mjs +3 -3
  350. package/esm2020/lib/reports/report-viewer.component.mjs +3 -3
  351. package/esm2020/lib/reports/report.mobile.component.mjs +3 -3
  352. package/esm2020/lib/reports/report.pane.component.mjs +12 -13
  353. package/esm2020/lib/reports/reports-menu.component.mjs +3 -3
  354. package/esm2020/lib/reports/substitution/substitution.component.mjs +3 -3
  355. package/esm2020/lib/reports/table/table-view.component.mjs +3 -3
  356. package/esm2020/lib/reports/tasks/tasks.component.mjs +3 -3
  357. package/esm2020/lib/scheduler/schedule.component.mjs +13 -14
  358. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  359. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +3 -3
  360. package/esm2020/lib/search/cube.component.mjs +3 -3
  361. package/esm2020/lib/search/document.component.mjs +3 -3
  362. package/esm2020/lib/search/guide.component.mjs +3 -3
  363. package/esm2020/lib/search/path.component.mjs +3 -3
  364. package/esm2020/lib/search/search.service.mjs +3 -3
  365. package/esm2020/lib/shared.module.mjs +5 -9
  366. package/esm2020/lib/system.module.mjs +132 -17
  367. package/esm2020/lib/views/cube/chart.component.mjs +3 -3
  368. package/esm2020/lib/views/cube/cube-base.mjs +3 -3
  369. package/esm2020/lib/views/cube/explore.component.mjs +3 -3
  370. package/esm2020/lib/views/cube/matrix.component.mjs +3 -3
  371. package/esm2020/lib/views/cube/parallel.component.mjs +3 -3
  372. package/esm2020/lib/views/cube/pivot.component.mjs +3 -3
  373. package/esm2020/lib/views/cube/sum.component.mjs +3 -3
  374. package/esm2020/lib/views/cube/view.component.mjs +3 -3
  375. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +3 -3
  376. package/esm2020/lib/views/view-item.component.mjs +3 -3
  377. package/esm2020/lib/views/views.component.mjs +3 -3
  378. package/esm2020/lib/views/views.mobile.component.mjs +3 -3
  379. package/esm2020/lib/views/views.pane.component.mjs +3 -3
  380. package/fesm2015/bizdoc-core.mjs +1918 -1815
  381. package/fesm2015/bizdoc-core.mjs.map +1 -1
  382. package/fesm2020/bizdoc-core.mjs +1915 -1812
  383. package/fesm2020/bizdoc-core.mjs.map +1 -1
  384. package/lib/admin/architecture/declarations.d.ts +4 -3
  385. package/lib/admin/architecture/designer.component.d.ts +1 -0
  386. package/lib/admin/architecture/elements/cube.component.d.ts +1 -1
  387. package/lib/admin/architecture/elements/form-invite.dialog.d.ts +6 -5
  388. package/lib/admin/architecture/elements/form.component.d.ts +4 -2
  389. package/lib/admin/core/localized-string.component.d.ts +3 -3
  390. package/lib/admin/system.service.d.ts +7 -1
  391. package/lib/core/fields/localized-string.field.d.ts +16 -0
  392. package/lib/core/fields/select.field.d.ts +0 -2
  393. package/lib/core/models.d.ts +4 -0
  394. package/lib/core/translations.d.ts +19 -104
  395. package/lib/dashboard/cube/cube-analysis.base.d.ts +4 -2
  396. package/lib/dashboard/cube/cube-analysis.widget.d.ts +2 -1
  397. package/lib/dashboard/dashboard.component.d.ts +6 -7
  398. package/lib/designer.module.d.ts +2 -3
  399. package/lib/desktop.module.d.ts +3 -4
  400. package/lib/mobile.module.d.ts +3 -4
  401. package/lib/modules/material.module.d.ts +38 -39
  402. package/lib/notifications/types/commented.notification.d.ts +0 -1
  403. package/lib/notifications/types/escalated.notification.d.ts +0 -1
  404. package/lib/notifications/types/invite.notification.d.ts +4 -5
  405. package/lib/notifications/types/liked.notification.d.ts +0 -1
  406. package/lib/notifications/types/long-running-task.notification.d.ts +1 -1
  407. package/lib/notifications/types/nudge.notification.d.ts +0 -1
  408. package/lib/notifications/types/state-changed.notification.d.ts +0 -2
  409. package/lib/notifications/types/tagged.notification.d.ts +0 -2
  410. package/lib/notifications/types/upcoming-event.notification.d.ts +0 -1
  411. package/lib/shared.module.d.ts +15 -16
  412. package/lib/system.module.d.ts +28 -28
  413. package/package.json +14 -15
@@ -16,7 +16,8 @@ import * as i8 from "@angular/material/button";
16
16
  import * as i9 from "@angular/material/input";
17
17
  import * as i10 from "@angular/material/icon";
18
18
  import * as i11 from "../../../core/popup/tooltip.directive";
19
- import * as i12 from "../../../core/pipes/translate.pipe";
19
+ import * as i12 from "../../../core/pipes/localized-string.pipe";
20
+ import * as i13 from "../../../core/pipes/translate.pipe";
20
21
  let MatrixViewDesignComponent = class MatrixViewDesignComponent extends DesignerCubeElementComponent {
21
22
  constructor() {
22
23
  super(...arguments);
@@ -66,14 +67,14 @@ let MatrixViewDesignComponent = class MatrixViewDesignComponent extends Designer
66
67
  });
67
68
  }
68
69
  };
69
- MatrixViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: MatrixViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
70
- MatrixViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: MatrixViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let i of cube.indices\" [value]=\"i.name\">{{i.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value !== a.name && form.get('series').value !== a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <table class=\"mat-table\" formArrayName=\"sum\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell\">{{s.get('title').value}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Summary', sumform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(sum, newSum(), 'Summary', sumform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #sumform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] });
70
+ MatrixViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MatrixViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
71
+ MatrixViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: MatrixViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let i of cube.indices\" [value]=\"i.name\">{{i.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value !== a.name && form.get('series').value !== a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <table class=\"mat-table\" formArrayName=\"sum\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell\">{{s.get('title').value}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Summary', sumform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(sum, newSum(), 'Summary', sumform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #sumform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { 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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: "directive", type: i2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i9.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] });
71
72
  MatrixViewDesignComponent = __decorate([
72
73
  BizDoc({ selector: 'matrix-view-designer' })
73
74
  ], MatrixViewDesignComponent);
74
75
  export { MatrixViewDesignComponent };
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: MatrixViewDesignComponent, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: MatrixViewDesignComponent, decorators: [{
76
77
  type: Component,
77
- args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let i of cube.indices\" [value]=\"i.name\">{{i.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value !== a.name && form.get('series').value !== a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <table class=\"mat-table\" formArrayName=\"sum\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell\">{{s.get('title').value}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Summary', sumform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(sum, newSum(), 'Summary', sumform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #sumform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n" }]
78
+ args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let i of cube.indices\" [value]=\"i.name\">{{i.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value !== a.name && form.get('series').value !== a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <h2 class=\"mat-title\">{{'Summary'|translate}}</h2>\r\n <table class=\"mat-table\" formArrayName=\"sum\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <tr class=\"mat-row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-cell\">{{s.get('title').value}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Summary', sumform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(sum, newSum(), 'Summary', sumform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #sumform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n" }]
78
79
  }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvbWF0cml4LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzVELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQUl6RCxJQUFNLHlCQUF5QixHQUEvQixNQUFNLHlCQUEwQixTQUFRLDRCQUFpRDtJQUF6Rjs7UUFDSSxRQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xELE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuRCxPQUFPLEVBQUUsSUFBSTtZQUNiLFNBQVMsRUFBRSxJQUFJO1lBQ2YsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7S0FrQ0o7SUFqQ0MsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDMUIsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xGLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO29CQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzs7b0JBRW5GLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2FBQ3RFO1lBQ0QsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQzlELElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLDZCQUE2QjtZQUM3QiwwQ0FBMEM7WUFDMUMsa0NBQWtDO1lBQ2xDLDhDQUE4QztZQUM5QyxzQ0FBc0M7WUFDdEMsMkNBQTJDO1lBQzNDLHVDQUF1QztZQUN2Qyw4Q0FBOEM7U0FDN0M7UUFDRCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0sQ0FBQyxHQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ3BCLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxJQUFJLFFBQVE7WUFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUN4RCxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssSUFBSSxJQUFJO1lBQ3pCLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLFVBQVU7WUFDakMsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLElBQUksSUFBSTtZQUNqQyxVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVUsSUFBSSxJQUFJO1lBQ25DLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxJQUFJLEtBQUs7U0FDbkMsQ0FBUSxDQUFDO0lBQ1osQ0FBQzs7c0hBM0NVLHlCQUF5QjswR0FBekIseUJBQXlCLDJFQ1Z0QywwbExBeUdBO0FEL0ZhLHlCQUF5QjtJQURyQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztHQUNoQyx5QkFBeUIsQ0E0Q3JDO1NBNUNZLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQUZyQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgaXNBcnJheSwgaXNTdHJpbmcgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgU3VtU2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vLi4vY3ViZS9tYXRyaXgvdGFibGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IE1hdHJpeFNldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vdmlld3MvY3ViZS9tYXRyaXguY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAnbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwnIH0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ21hdHJpeC12aWV3LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgTWF0cml4Vmlld0Rlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQ8TWF0cml4U2V0dGluZ3NNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IHN1bSA9IHRoaXMuX2ZiLmFycmF5KFtdKTtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHhBeGlzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgc2VyaWVzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgaW5kaWNlczogbnVsbCxcclxuICAgIGFnZ3JlZ2F0ZTogbnVsbCxcclxuICAgIHN1bTogdGhpcy5zdW0sXHJcbiAgICBmaWx0ZXJzOiBudWxsLFxyXG4gIH0pO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMubW9kZSAhPT0gJ3dpZGdldCcpIHtcclxuICAgICAgaWYgKGlzU3RyaW5nKHRoaXMub3B0aW9ucy5pbmRpY2VzKSkgdGhpcy5vcHRpb25zLmluZGljZXMgPSBbdGhpcy5vcHRpb25zLmluZGljZXNdO1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLnN1bSkge1xyXG4gICAgICAgIGlmIChpc0FycmF5KHRoaXMub3B0aW9ucy5zdW0pKVxyXG4gICAgICAgICAgdGhpcy5vcHRpb25zLnN1bS5mb3JFYWNoKHMgPT4gdGhpcy5zdW0ucHVzaCh0aGlzLm5ld1N1bShzKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLnN1bS5wdXNoKHRoaXMubmV3U3VtKHRoaXMub3B0aW9ucy5zdW0pLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgeyBjdWJlLCB4QXhpcywgc2VyaWVzLCBhZ2dyZWdhdGUgfSA9IHRoaXMuZm9ybS5jb250cm9scztcclxuICAgICAgY3ViZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHhBeGlzLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgLy8gIGlmICghdGhpcy5vcHRpb25zLnhBeGlzKSBcclxuICAgIC8vICAgIHRoaXMuZGlzYWJsZSgnc2VyaWVzJywgJ2FnZ3JlZ2F0ZScpO1xyXG4gICAgLy8gIGVsc2UgaWYgKCF0aGlzLm9wdGlvbnMuc2VyaWVzKVxyXG4gICAgLy8gICAgYWdncmVnYXRlLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgLy8gIHhBeGlzLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT5cclxuICAgIC8vICAgIHNlcmllcy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgIC8vICBzZXJpZXMudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgLy8gICAgYWdncmVnYXRlLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbiAgbmV3U3VtKHN1bT86IFN1bVNldHRpbmdzKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBheGlzOiBzdW0/LmF4aXMgfHwgJ1NlcmllcycsXHJcbiAgICAgIHRpdGxlOiB0aGlzLl9mYi5jb250cm9sKHN1bT8udGl0bGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICB2YWx1ZTogc3VtPy52YWx1ZSB8fCBudWxsLFxyXG4gICAgICBmb3JtYXQ6IHN1bT8uZm9ybWF0IHx8ICdDdXJyZW5jeScsXHJcbiAgICAgIHByZWNpc2lvbjogc3VtPy5wcmVjaXNpb24gfHwgbnVsbCxcclxuICAgICAgZXhwbG9yYWJsZTogc3VtPy5leHBsb3JhYmxlIHx8IG51bGwsXHJcbiAgICAgIGNhbGN1bGF0ZTogc3VtPy5jYWxjdWxhdGUgfHwgJ1N1bSdcclxuICAgIH0pIGFzIGFueTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICd3aWRnZXQnOyBlbHNlIGVkaXRcIj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjZWRpdD5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidmlldzsgZWxzZSBtYWluXCI+XHJcbiAgICA8aDIgY2xhc3M9XCJtYXQtdGl0bGVcIj57e2NvbnRleHQudGl0bGV8dHJhbnNsYXRlfX08L2gyPlxyXG4gICAgPGRpdiAoZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUpPVwiY2xvc2VWaWV3KCRldmVudClcIiAjZWxlbWVudCBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmlldzsgY29udGV4dDogY29udGV4dFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGFjdGlvbnNcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VWaWV3KClcIiB0eXBlPVwiYnV0dG9uXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0JhY2snfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5rZXlib2FyZF9yZXR1cm48L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjbWFpbj5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoPjFcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cImN1YmVTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGMgb2YgY3ViZXNcIiBbdmFsdWVdPVwiY1wiPnt7Yy50aXRsZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydYQXhpcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ4QXhpc1wiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGEgb2YgY3ViZT8uYXhlc1wiIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgneEF4aXMnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdYQXhpcyd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAmbmJzcDtcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snU2VyaWVzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInNlcmllc1wiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZm9ybS5nZXQoJ3hBeGlzJykudmFsdWUhPT1hLm5hbWVcIiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnc2VyaWVzJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignU2VyaWVzJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImN1YmU/LmluZGljZXM/Lmxlbmd0aFwiIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0luZGljZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGljZXNcIiBtdWx0aXBsZT5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaSBvZiBjdWJlLmluZGljZXNcIiBbdmFsdWVdPVwiaS5uYW1lXCI+e3tpLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J0ZpbHRlcnMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiZmlsdGVyc1wiIG11bHRpcGxlPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZm9ybS5nZXQoJ3hBeGlzJykudmFsdWUgIT09IGEubmFtZSAmJiBmb3JtLmdldCgnc2VyaWVzJykudmFsdWUgIT09IGEubmFtZVwiIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICZuYnNwO1xyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydBZ2dyZWdhdGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWdncmVnYXRlXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJmb3JtLmdldCgneEF4aXMnKS52YWx1ZSE9PWEubmFtZSAmJiBmb3JtLmdldCgnc2VyaWVzJykudmFsdWUgIT09IGEubmFtZSAmJiBmb3JtLmdldCgnZmlsdGVycycpLnZhbHVlPy5pbmRleE9mKGEubmFtZSkgPCAwXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8bWF0LWhpbnQ+PC9tYXQtaGludD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGgyIGNsYXNzPVwibWF0LXRpdGxlXCI+e3snU3VtbWFyeSd8dHJhbnNsYXRlfX08L2gyPlxyXG4gICAgPHRhYmxlIGNsYXNzPVwibWF0LXRhYmxlXCIgZm9ybUFycmF5TmFtZT1cInN1bVwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQsIHN1bSlcIj5cclxuICAgICAgPHRyIGNsYXNzPVwibWF0LXJvd1wiICpuZ0Zvcj1cImxldCBzIG9mIHN1bS5jb250cm9sczsgaW5kZXggYXMgaW5kZXhcIiBbZm9ybUdyb3VwXT1cInNcIiBjZGtEcmFnPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2RrRHJhZ0hhbmRsZT5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPnt7cy5nZXQoJ3RpdGxlJykudmFsdWV9fTwvdGQ+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJlZGl0KHMsICdTdW1tYXJ5Jywgc3VtZm9ybSlcIiBbYml6ZG9jVG9vbHRpcF09XCInRWRpdCd8dHJhbnNsYXRlXCIgdHlwZT1cImJ1dHRvblwiPjxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzdW0ucmVtb3ZlQXQoaW5kZXgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlbW92ZSd8dHJhbnNsYXRlXCIgdHlwZT1cImJ1dHRvblwiPjxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L3RhYmxlPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImFkZChzdW0sIG5ld1N1bSgpLCAnU3VtbWFyeScsIHN1bWZvcm0pXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0FkZCd8dHJhbnNsYXRlXCIgdHlwZT1cImJ1dHRvblwiPjxtYXQtaWNvbj5hZGRfY2lyY2xlX291dGxpbmU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDwvZm9ybT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNzdW1mb3JtIGxldC1mb3JtPlxyXG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3sndGl0bGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIHJlcXVpcmVkIC8+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1yYWRpby1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJheGlzXCI+XHJcbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIHZhbHVlPVwiWEF4aXNcIj57eydYQXhpcyd8dHJhbnNsYXRlfX08L21hdC1yYWRpby1idXR0b24+XHJcbiAgICAgIDxtYXQtcmFkaW8tYnV0dG9uIHZhbHVlPVwiU2VyaWVzXCI+e3snU2VyaWVzJ3x0cmFuc2xhdGV9fTwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0NhbGN1bGF0ZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY2FsY3VsYXRlXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24+e3snTm9uZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJRdWFydGVyXCI+e3snUXVhcnRlcid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJZZWFyXCI+e3snWWVhcid8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJNb250aFwiPnt7J01vbnRoJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlN1bVwiPnt7J1N1bSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvbWF0cml4LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzVELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFJekQsSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBMEIsU0FBUSw0QkFBaUQ7SUFBekY7O1FBQ0ksUUFBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbkQsT0FBTyxFQUFFLElBQUk7WUFDYixTQUFTLEVBQUUsSUFBSTtZQUNmLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQyxDQUFDO0tBa0NKO0lBakNDLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzFCLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO2dCQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsRixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO2dCQUNwQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7O29CQUVuRixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUN0RTtZQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM5RCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN4RSw2QkFBNkI7WUFDN0IsMENBQTBDO1lBQzFDLGtDQUFrQztZQUNsQyw4Q0FBOEM7WUFDOUMsc0NBQXNDO1lBQ3RDLDJDQUEyQztZQUMzQyx1Q0FBdUM7WUFDdkMsOENBQThDO1NBQzdDO1FBQ0QsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLENBQUMsR0FBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNwQixJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSSxRQUFRO1lBQzNCLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDeEQsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLElBQUksSUFBSTtZQUN6QixNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxVQUFVO1lBQ2pDLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxJQUFJLElBQUk7WUFDakMsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLElBQUksSUFBSTtZQUNuQyxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsSUFBSSxLQUFLO1NBQ25DLENBQVEsQ0FBQztJQUNaLENBQUM7O3NIQTNDVSx5QkFBeUI7MEdBQXpCLHlCQUF5QiwyRUNWdEMsMG1MQXlHQTtBRC9GYSx5QkFBeUI7SUFEckMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUM7R0FDaEMseUJBQXlCLENBNENyQztTQTVDWSx5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFGckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IGlzQXJyYXksIGlzU3RyaW5nIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7IFN1bVNldHRpbmdzIH0gZnJvbSBcIi4uLy4uLy4uL2N1YmUvbWF0cml4L3RhYmxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBNYXRyaXhTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3ZpZXdzL2N1YmUvbWF0cml4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ21hdHJpeC12aWV3LmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdtYXRyaXgtdmlldy1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIE1hdHJpeFZpZXdEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50PE1hdHJpeFNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBzdW0gPSB0aGlzLl9mYi5hcnJheShbXSk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGN1YmU6IG51bGwsXHJcbiAgICB4QXhpczogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHNlcmllczogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIGluZGljZXM6IG51bGwsXHJcbiAgICBhZ2dyZWdhdGU6IG51bGwsXHJcbiAgICBzdW06IHRoaXMuc3VtLFxyXG4gICAgZmlsdGVyczogbnVsbCxcclxuICB9KTtcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLm1vZGUgIT09ICd3aWRnZXQnKSB7XHJcbiAgICAgIGlmIChpc1N0cmluZyh0aGlzLm9wdGlvbnMuaW5kaWNlcykpIHRoaXMub3B0aW9ucy5pbmRpY2VzID0gW3RoaXMub3B0aW9ucy5pbmRpY2VzXTtcclxuICAgICAgaWYgKHRoaXMub3B0aW9ucy5zdW0pIHtcclxuICAgICAgICBpZiAoaXNBcnJheSh0aGlzLm9wdGlvbnMuc3VtKSlcclxuICAgICAgICAgIHRoaXMub3B0aW9ucy5zdW0uZm9yRWFjaChzID0+IHRoaXMuc3VtLnB1c2godGhpcy5uZXdTdW0ocyksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KSk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5zdW0ucHVzaCh0aGlzLm5ld1N1bSh0aGlzLm9wdGlvbnMuc3VtKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHsgY3ViZSwgeEF4aXMsIHNlcmllcywgYWdncmVnYXRlIH0gPSB0aGlzLmZvcm0uY29udHJvbHM7XHJcbiAgICAgIGN1YmUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB4QXhpcy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgIC8vICBpZiAoIXRoaXMub3B0aW9ucy54QXhpcykgXHJcbiAgICAvLyAgICB0aGlzLmRpc2FibGUoJ3NlcmllcycsICdhZ2dyZWdhdGUnKTtcclxuICAgIC8vICBlbHNlIGlmICghdGhpcy5vcHRpb25zLnNlcmllcylcclxuICAgIC8vICAgIGFnZ3JlZ2F0ZS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIC8vICB4QXhpcy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAvLyAgICBzZXJpZXMuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KSk7XHJcbiAgICAvLyAgc2VyaWVzLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT5cclxuICAgIC8vICAgIGFnZ3JlZ2F0ZS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgIH1cclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgfVxyXG4gIG5ld1N1bShzdW0/OiBTdW1TZXR0aW5ncykge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgICAgYXhpczogc3VtPy5heGlzIHx8ICdTZXJpZXMnLFxyXG4gICAgICB0aXRsZTogdGhpcy5fZmIuY29udHJvbChzdW0/LnRpdGxlLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgICAgdmFsdWU6IHN1bT8udmFsdWUgfHwgbnVsbCxcclxuICAgICAgZm9ybWF0OiBzdW0/LmZvcm1hdCB8fCAnQ3VycmVuY3knLFxyXG4gICAgICBwcmVjaXNpb246IHN1bT8ucHJlY2lzaW9uIHx8IG51bGwsXHJcbiAgICAgIGV4cGxvcmFibGU6IHN1bT8uZXhwbG9yYWJsZSB8fCBudWxsLFxyXG4gICAgICBjYWxjdWxhdGU6IHN1bT8uY2FsY3VsYXRlIHx8ICdTdW0nXHJcbiAgICB9KSBhcyBhbnk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnd2lkZ2V0JzsgZWxzZSBlZGl0XCI+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI2VkaXQ+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZpZXc7IGVsc2UgbWFpblwiPlxyXG4gICAgPGgyIGNsYXNzPVwibWF0LXRpdGxlXCI+e3tjb250ZXh0LnRpdGxlfHRyYW5zbGF0ZX19PC9oMj5cclxuICAgIDxkaXYgKGRvY3VtZW50OmtleWRvd24uZXNjYXBlKT1cImNsb3NlVmlldygkZXZlbnQpXCIgI2VsZW1lbnQgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZpZXc7IGNvbnRleHQ6IGNvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBhY3Rpb25zXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNsb3NlVmlldygpXCIgdHlwZT1cImJ1dHRvblwiIFtiaXpkb2NUb29sdGlwXT1cIidCYWNrJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+a2V5Ym9hcmRfcmV0dXJuPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI21haW4+XHJcbiAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImN1YmVzLmxlbmd0aD4xXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snQ3ViZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgcmVxdWlyZWQgKHNlbGVjdGlvbkNoYW5nZSk9XCJjdWJlU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjIG9mIGN1YmVzXCIgW3ZhbHVlXT1cImNcIj57e2MudGl0bGV8bG9jYWxpemVkU3RyaW5nfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J1hBeGlzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInhBeGlzXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1hBeGlzJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICZuYnNwO1xyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJmb3JtLmdldCgneEF4aXMnKS52YWx1ZSE9PWEubmFtZVwiIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdzZXJpZXMnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdTZXJpZXMnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZT8uaW5kaWNlcz8ubGVuZ3RoXCIgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snSW5kaWNlcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5kaWNlc1wiIG11bHRpcGxlPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpIG9mIGN1YmUuaW5kaWNlc1wiIFt2YWx1ZV09XCJpLm5hbWVcIj57e2kudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snRmlsdGVycyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJmaWx0ZXJzXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJmb3JtLmdldCgneEF4aXMnKS52YWx1ZSAhPT0gYS5uYW1lICYmIGZvcm0uZ2V0KCdzZXJpZXMnKS52YWx1ZSAhPT0gYS5uYW1lXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgJm5ic3A7XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J0FnZ3JlZ2F0ZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhZ2dyZWdhdGVcIiBtdWx0aXBsZT5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGEgb2YgY3ViZT8uYXhlc1wiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLnZhbHVlIT09YS5uYW1lICYmIGZvcm0uZ2V0KCdzZXJpZXMnKS52YWx1ZSAhPT0gYS5uYW1lICYmIGZvcm0uZ2V0KCdmaWx0ZXJzJykudmFsdWU/LmluZGV4T2YoYS5uYW1lKSA8IDBcIiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDxtYXQtaGludD48L21hdC1oaW50PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aDIgY2xhc3M9XCJtYXQtdGl0bGVcIj57eydTdW1tYXJ5J3x0cmFuc2xhdGV9fTwvaDI+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJtYXQtdGFibGVcIiBmb3JtQXJyYXlOYW1lPVwic3VtXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudCwgc3VtKVwiPlxyXG4gICAgICA8dHIgY2xhc3M9XCJtYXQtcm93XCIgKm5nRm9yPVwibGV0IHMgb2Ygc3VtLmNvbnRyb2xzOyBpbmRleCBhcyBpbmRleFwiIFtmb3JtR3JvdXBdPVwic1wiIGNka0RyYWc+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjZGtEcmFnSGFuZGxlPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1jZWxsXCI+e3tzLmdldCgndGl0bGUnKS52YWx1ZX19PC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImVkaXQocywgJ1N1bW1hcnknLCBzdW1mb3JtKVwiIFtiaXpkb2NUb29sdGlwXT1cIidFZGl0J3x0cmFuc2xhdGVcIiB0eXBlPVwiYnV0dG9uXCI+PG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInN1bS5yZW1vdmVBdChpbmRleClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVtb3ZlJ3x0cmFuc2xhdGVcIiB0eXBlPVwiYnV0dG9uXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGFibGU+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWRkKHN1bSwgbmV3U3VtKCksICdTdW1tYXJ5Jywgc3VtZm9ybSlcIiBbYml6ZG9jVG9vbHRpcF09XCInQWRkJ3x0cmFuc2xhdGVcIiB0eXBlPVwiYnV0dG9uXCI+PG1hdC1pY29uPmFkZF9jaXJjbGVfb3V0bGluZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3N1bWZvcm0gbGV0LWZvcm0+XHJcbiAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eyd0aXRsZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgcmVxdWlyZWQgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LXJhZGlvLWdyb3VwIGZvcm1Db250cm9sTmFtZT1cImF4aXNcIj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJYQXhpc1wiPnt7J1hBeGlzJ3x0cmFuc2xhdGV9fTwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJTZXJpZXNcIj57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snQ2FsY3VsYXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjYWxjdWxhdGVcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbj57eydOb25lJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlF1YXJ0ZXJcIj57eydRdWFydGVyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlllYXJcIj57eydZZWFyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIk1vbnRoXCI+e3snTW9udGgnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3VtXCI+e3snU3VtJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -9,9 +9,9 @@ export class NodeDesignerComponent extends DesignerTypeElementComponent {
9
9
  this.form = this._fb.group({});
10
10
  }
11
11
  }
12
- NodeDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: NodeDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13
- NodeDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: NodeDesignerComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i2.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "state"], outputs: ["continue", "save"] }] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: NodeDesignerComponent, decorators: [{
12
+ NodeDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NodeDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13
+ NodeDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: NodeDesignerComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i2.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "state"], outputs: ["continue", "save"] }] });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: NodeDesignerComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
17
17
  }] });
@@ -9,7 +9,8 @@ import * as i2 from "@angular/forms";
9
9
  import * as i3 from "@angular/material/core";
10
10
  import * as i4 from "@angular/material/form-field";
11
11
  import * as i5 from "@angular/material/select";
12
- import * as i6 from "../../../core/pipes/translate.pipe";
12
+ import * as i6 from "../../../core/pipes/localized-string.pipe";
13
+ import * as i7 from "../../../core/pipes/translate.pipe";
13
14
  let ParallelViewDesignComponent = class ParallelViewDesignComponent extends DesignerCubeElementComponent {
14
15
  constructor() {
15
16
  super(...arguments);
@@ -25,14 +26,14 @@ let ParallelViewDesignComponent = class ParallelViewDesignComponent extends Desi
25
26
  });
26
27
  }
27
28
  };
28
- ParallelViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ParallelViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
29
- ParallelViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: ParallelViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <!--<div>\r\n <bizdoc-cube-parallel *ngIf=\"options.xAxis\" [cube]=\"options.cube\"\r\n [xAxis]=\"options.xAxis\"\r\n [series]=\"options.series\"\r\n [indices]=\"options.indices\"\r\n [filters]=\"options.filters\"\r\n [chartType]=\"options.chartType\"\r\n [scope]=\"options.scope\"\r\n [size]=\"250\"></bizdoc-cube-parallel>\r\n </div>-->\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] });
29
+ ParallelViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ParallelViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
30
+ ParallelViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ParallelViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <!--<div>\r\n <bizdoc-cube-parallel *ngIf=\"options.xAxis\" [cube]=\"options.cube\"\r\n [xAxis]=\"options.xAxis\"\r\n [series]=\"options.series\"\r\n [indices]=\"options.indices\"\r\n [filters]=\"options.filters\"\r\n [chartType]=\"options.chartType\"\r\n [scope]=\"options.scope\"\r\n [size]=\"250\"></bizdoc-cube-parallel>\r\n </div>-->\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "pipe", type: i6.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
30
31
  ParallelViewDesignComponent = __decorate([
31
32
  BizDoc({ selector: 'parallel-view-designer' })
32
33
  ], ParallelViewDesignComponent);
33
34
  export { ParallelViewDesignComponent };
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: ParallelViewDesignComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ParallelViewDesignComponent, decorators: [{
35
36
  type: Component,
36
- args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <!--<div>\r\n <bizdoc-cube-parallel *ngIf=\"options.xAxis\" [cube]=\"options.cube\"\r\n [xAxis]=\"options.xAxis\"\r\n [series]=\"options.series\"\r\n [indices]=\"options.indices\"\r\n [filters]=\"options.filters\"\r\n [chartType]=\"options.chartType\"\r\n [scope]=\"options.scope\"\r\n [size]=\"250\"></bizdoc-cube-parallel>\r\n </div>-->\r\n</ng-template>\r\n" }]
37
+ args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'ChartType'|translate}}</mat-label>\r\n <mat-select formControlName=\"chartType\">\r\n <mat-option value=\"Pie\">{{'Pie'|translate}}</mat-option>\r\n <mat-option value=\"Column\">{{'Column'|translate}}</mat-option>\r\n <mat-option value=\"Line\">{{'Line'|translate}}</mat-option>\r\n <mat-option value=\"Area\">{{'Area'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n <!--<div>\r\n <bizdoc-cube-parallel *ngIf=\"options.xAxis\" [cube]=\"options.cube\"\r\n [xAxis]=\"options.xAxis\"\r\n [series]=\"options.series\"\r\n [indices]=\"options.indices\"\r\n [filters]=\"options.filters\"\r\n [chartType]=\"options.chartType\"\r\n [scope]=\"options.scope\"\r\n [size]=\"250\"></bizdoc-cube-parallel>\r\n </div>-->\r\n</ng-template>\r\n" }]
37
38
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9wYXJhbGxlbC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL3BhcmFsbGVsLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFJekQsSUFBTSwyQkFBMkIsR0FBakMsTUFBTSwyQkFBNEIsU0FBUSw0QkFBbUQ7SUFBN0Y7O1FBQ0ksU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ2xELE1BQU0sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuRCxPQUFPLEVBQUUsSUFBSTtZQUNiLE9BQU8sRUFBRSxJQUFJO1lBQ2IsU0FBUyxFQUFFLEtBQUs7WUFDaEIsU0FBUyxFQUFFLElBQUk7WUFDZixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztLQUNKOzt3SEFYWSwyQkFBMkI7NEdBQTNCLDJCQUEyQiwyRUNSeEMsa3NHQTZEQTtBRHJEYSwyQkFBMkI7SUFEdkMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLENBQUM7R0FDbEMsMkJBQTJCLENBV3ZDO1NBWFksMkJBQTJCOzJGQUEzQiwyQkFBMkI7a0JBRnZDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBQYXJhbGxlbFNldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vdmlld3MvY3ViZS9wYXJhbGxlbC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdwYXJhbGxlbC12aWV3LmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdwYXJhbGxlbC12aWV3LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgUGFyYWxsZWxWaWV3RGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudDxQYXJhbGxlbFNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHhBeGlzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgc2VyaWVzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgaW5kaWNlczogbnVsbCxcclxuICAgIGZpbHRlcnM6IG51bGwsXHJcbiAgICBjaGFydFR5cGU6ICdQaWUnLFxyXG4gICAgYWdncmVnYXRlOiBudWxsLFxyXG4gICAgc2NvcGU6IG51bGxcclxuICB9KTtcclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3dpZGdldCc7IGVsc2UgZWRpdFwiPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNlZGl0PlxyXG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlcy5sZW5ndGg+MVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjXCI+e3tjLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snWEF4aXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInhBeGlzXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGEgb2YgY3ViZT8uYXhlc1wiIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1hBeGlzJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J1Nlcmllcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLnZhbHVlIT09YS5uYW1lXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ3NlcmllcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1Nlcmllcyd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImN1YmU/LmluZGljZXM/Lmxlbmd0aFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0luZGljZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGljZXNcIiBtdWx0aXBsZT5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBjdWJlLmluZGljZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlIHx8IHgubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0NoYXJ0VHlwZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiY2hhcnRUeXBlXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJQaWVcIj57eydQaWUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiQ29sdW1uXCI+e3snQ29sdW1uJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkxpbmVcIj57eydMaW5lJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIkFyZWFcIj57eydBcmVhJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydBZ2dyZWdhdGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImFnZ3JlZ2F0ZVwiIG11bHRpcGxlPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGEgb2YgY3ViZT8uYXhlc1wiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJmb3JtLmdldCgneEF4aXMnKS52YWx1ZSE9PWEubmFtZSAmJiBmb3JtLmdldCgnc2VyaWVzJykudmFsdWUgIT09IGEubmFtZSAmJiBmb3JtLmdldCgnZmlsdGVycycpLnZhbHVlPy5pbmRleE9mKGEubmFtZSkgPCAwXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Zvcm0+XHJcbiAgPCEtLTxkaXY+XHJcbiAgICA8Yml6ZG9jLWN1YmUtcGFyYWxsZWwgKm5nSWY9XCJvcHRpb25zLnhBeGlzXCIgW2N1YmVdPVwib3B0aW9ucy5jdWJlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbeEF4aXNdPVwib3B0aW9ucy54QXhpc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nlcmllc109XCJvcHRpb25zLnNlcmllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2luZGljZXNdPVwib3B0aW9ucy5pbmRpY2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyc109XCJvcHRpb25zLmZpbHRlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGFydFR5cGVdPVwib3B0aW9ucy5jaGFydFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzY29wZV09XCJvcHRpb25zLnNjb3BlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2l6ZV09XCIyNTBcIj48L2JpemRvYy1jdWJlLXBhcmFsbGVsPlxyXG4gIDwvZGl2Pi0tPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9wYXJhbGxlbC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL3BhcmFsbGVsLXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBSXpELElBQU0sMkJBQTJCLEdBQWpDLE1BQU0sMkJBQTRCLFNBQVEsNEJBQW1EO0lBQTdGOztRQUNJLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbkQsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsSUFBSTtZQUNiLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLENBQUM7S0FDSjs7d0hBWFksMkJBQTJCOzRHQUEzQiwyQkFBMkIsMkVDUnhDLGt0R0E2REE7QURyRGEsMkJBQTJCO0lBRHZDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRSxDQUFDO0dBQ2xDLDJCQUEyQixDQVd2QztTQVhZLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUZ2QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgUGFyYWxsZWxTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3ZpZXdzL2N1YmUvcGFyYWxsZWwuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVzaWduZXIuYmFzZVwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlVXJsOiAncGFyYWxsZWwtdmlldy5jb21wb25lbnQuaHRtbCcgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAncGFyYWxsZWwtdmlldy1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIFBhcmFsbGVsVmlld0Rlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyQ3ViZUVsZW1lbnRDb21wb25lbnQ8UGFyYWxsZWxTZXR0aW5nc01vZGVsPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGN1YmU6IG51bGwsXHJcbiAgICB4QXhpczogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHNlcmllczogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIGluZGljZXM6IG51bGwsXHJcbiAgICBmaWx0ZXJzOiBudWxsLFxyXG4gICAgY2hhcnRUeXBlOiAnUGllJyxcclxuICAgIGFnZ3JlZ2F0ZTogbnVsbCxcclxuICAgIHNjb3BlOiBudWxsXHJcbiAgfSk7XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICd3aWRnZXQnOyBlbHNlIGVkaXRcIj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjZWRpdD5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoPjFcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cImN1YmVTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGMgb2YgY3ViZXNcIiBbdmFsdWVdPVwiY1wiPnt7Yy50aXRsZXxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydYQXhpcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwieEF4aXNcIiByZXF1aXJlZD5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ3hBeGlzJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignWEF4aXMnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snU2VyaWVzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzZXJpZXNcIiByZXF1aXJlZD5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZm9ybS5nZXQoJ3hBeGlzJykudmFsdWUhPT1hLm5hbWVcIiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnc2VyaWVzJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignU2VyaWVzJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZT8uaW5kaWNlcz8ubGVuZ3RoXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snSW5kaWNlcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5kaWNlc1wiIG11bHRpcGxlPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIGN1YmUuaW5kaWNlc1wiIFt2YWx1ZV09XCJ4Lm5hbWVcIj57e3gudGl0bGUgfHwgeC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snQ2hhcnRUeXBlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjaGFydFR5cGVcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlBpZVwiPnt7J1BpZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJDb2x1bW5cIj57eydDb2x1bW4nfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiTGluZVwiPnt7J0xpbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiQXJlYVwiPnt7J0FyZWEnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0FnZ3JlZ2F0ZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWdncmVnYXRlXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLnZhbHVlIT09YS5uYW1lICYmIGZvcm0uZ2V0KCdzZXJpZXMnKS52YWx1ZSAhPT0gYS5uYW1lICYmIGZvcm0uZ2V0KCdmaWx0ZXJzJykudmFsdWU/LmluZGV4T2YoYS5uYW1lKSA8IDBcIiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZm9ybT5cclxuICA8IS0tPGRpdj5cclxuICAgIDxiaXpkb2MtY3ViZS1wYXJhbGxlbCAqbmdJZj1cIm9wdGlvbnMueEF4aXNcIiBbY3ViZV09XCJvcHRpb25zLmN1YmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt4QXhpc109XCJvcHRpb25zLnhBeGlzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VyaWVzXT1cIm9wdGlvbnMuc2VyaWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNlc109XCJvcHRpb25zLmluZGljZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJzXT1cIm9wdGlvbnMuZmlsdGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoYXJ0VHlwZV09XCJvcHRpb25zLmNoYXJ0VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Njb3BlXT1cIm9wdGlvbnMuc2NvcGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cIjI1MFwiPjwvYml6ZG9jLWN1YmUtcGFyYWxsZWw+XHJcbiAgPC9kaXY+LS0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -9,7 +9,8 @@ import * as i3 from "@angular/material/core";
9
9
  import * as i4 from "@angular/material/form-field";
10
10
  import * as i5 from "@angular/material/select";
11
11
  import * as i6 from "../cube-axes-filter.component";
12
- import * as i7 from "../../../core/pipes/translate.pipe";
12
+ import * as i7 from "../../../core/pipes/localized-string.pipe";
13
+ import * as i8 from "../../../core/pipes/translate.pipe";
13
14
  let PerformanceReportDesignComponent = class PerformanceReportDesignComponent extends DesignerCubeElementComponent {
14
15
  constructor() {
15
16
  super(...arguments);
@@ -20,14 +21,14 @@ let PerformanceReportDesignComponent = class PerformanceReportDesignComponent ex
20
21
  });
21
22
  }
22
23
  };
23
- PerformanceReportDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: PerformanceReportDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
- PerformanceReportDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: PerformanceReportDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode !== 'widget'\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-container>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
24
+ PerformanceReportDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PerformanceReportDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
25
+ PerformanceReportDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PerformanceReportDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode !== 'widget'\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-container>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i7.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
25
26
  PerformanceReportDesignComponent = __decorate([
26
27
  BizDoc({ selector: 'performance-report-designer' })
27
28
  ], PerformanceReportDesignComponent);
28
29
  export { PerformanceReportDesignComponent };
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: PerformanceReportDesignComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PerformanceReportDesignComponent, decorators: [{
30
31
  type: Component,
31
- args: [{ template: "<ng-container *ngIf=\"mode !== 'widget'\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-container>\r\n" }]
32
+ args: [{ template: "<ng-container *ngIf=\"mode !== 'widget'\">\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-container>\r\n" }]
32
33
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2UtcmVwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL3BlcmZvcm1hbmNlLXJlcG9ydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9wZXJmb3JtYW5jZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7QUFJekQsSUFBTSxnQ0FBZ0MsR0FBdEMsTUFBTSxnQ0FBaUMsU0FBUSw0QkFBc0Q7SUFBckc7O1FBQ0ksU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFLElBQUk7WUFDWixPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1NBQzVCLENBQUMsQ0FBQztLQUNKOzs2SEFOWSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQywyRUNON0MsbWdDQWtCQTtBRFphLGdDQUFnQztJQUQ1QyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQztHQUN2QyxnQ0FBZ0MsQ0FNNUM7U0FOWSxnQ0FBZ0M7MkZBQWhDLGdDQUFnQztrQkFGNUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ3BlcmZvcm1hbmNlLXJlcG9ydC5jb21wb25lbnQuaHRtbCcgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAncGVyZm9ybWFuY2UtcmVwb3J0LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgUGVyZm9ybWFuY2VSZXBvcnREZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50PFBlcmZvcm1hbmNlU2V0dGluZ3NNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBjdWJlOiBudWxsLFxyXG4gICAgc2VyaWVzOiBudWxsLFxyXG4gICAgZmlsdGVyczogdGhpcy5fZmIuZ3JvdXAoe30pLFxyXG4gIH0pO1xyXG59XHJcbmludGVyZmFjZSBQZXJmb3JtYW5jZVNldHRpbmdzTW9kZWwgeyB9XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlICE9PSAnd2lkZ2V0J1wiPlxyXG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlcy5sZW5ndGg+MVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjXCI+e3tjLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snU2VyaWVzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzZXJpZXNcIiByZXF1aXJlZD5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBjdWJlPy5heGVzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZXx8eC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdzZXJpZXMnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdTZXJpZXMnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8Yml6ZG9jLWRlc2lnbmVyLWN1YmUtZmlsdGVyICpuZ0lmPVwiY3ViZVwiIFtjdWJlXT1cImN1YmVcIiBbZm9ybV09XCJmb3JtLmdldCgnZmlsdGVycycpXCI+PC9iaXpkb2MtZGVzaWduZXItY3ViZS1maWx0ZXI+XHJcbiAgPC9mb3JtPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2UtcmVwb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL3BlcmZvcm1hbmNlLXJlcG9ydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9wZXJmb3JtYW5jZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7O0FBSXpELElBQU0sZ0NBQWdDLEdBQXRDLE1BQU0sZ0NBQWlDLFNBQVEsNEJBQXNEO0lBQXJHOztRQUNJLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLE1BQU0sRUFBRSxJQUFJO1lBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUM1QixDQUFDLENBQUM7S0FDSjs7NkhBTlksZ0NBQWdDO2lIQUFoQyxnQ0FBZ0MsMkVDTjdDLG1oQ0FrQkE7QURaYSxnQ0FBZ0M7SUFENUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLDZCQUE2QixFQUFFLENBQUM7R0FDdkMsZ0NBQWdDLENBTTVDO1NBTlksZ0NBQWdDOzJGQUFoQyxnQ0FBZ0M7a0JBRjVDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdwZXJmb3JtYW5jZS1yZXBvcnQuY29tcG9uZW50Lmh0bWwnIH0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ3BlcmZvcm1hbmNlLXJlcG9ydC1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIFBlcmZvcm1hbmNlUmVwb3J0RGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudDxQZXJmb3JtYW5jZVNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHNlcmllczogbnVsbCxcclxuICAgIGZpbHRlcnM6IHRoaXMuX2ZiLmdyb3VwKHt9KSxcclxuICB9KTtcclxufVxyXG5pbnRlcmZhY2UgUGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsIHsgfVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSAhPT0gJ3dpZGdldCdcIj5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoPjFcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cImN1YmVTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGMgb2YgY3ViZXNcIiBbdmFsdWVdPVwiY1wiPnt7Yy50aXRsZXxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInNlcmllc1wiIHJlcXVpcmVkPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIGN1YmU/LmF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlfHx4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ3NlcmllcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1Nlcmllcyd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxiaXpkb2MtZGVzaWduZXItY3ViZS1maWx0ZXIgKm5nSWY9XCJjdWJlXCIgW2N1YmVdPVwiY3ViZVwiIFtmb3JtXT1cImZvcm0uZ2V0KCdmaWx0ZXJzJylcIj48L2JpemRvYy1kZXNpZ25lci1jdWJlLWZpbHRlcj5cclxuICA8L2Zvcm0+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
@@ -9,7 +9,8 @@ import * as i3 from "@angular/material/core";
9
9
  import * as i4 from "@angular/material/form-field";
10
10
  import * as i5 from "@angular/material/select";
11
11
  import * as i6 from "../cube-axes-filter.component";
12
- import * as i7 from "../../../core/pipes/translate.pipe";
12
+ import * as i7 from "../../../core/pipes/localized-string.pipe";
13
+ import * as i8 from "../../../core/pipes/translate.pipe";
13
14
  let PerformanceWidgetDesignComponent = class PerformanceWidgetDesignComponent extends DesignerCubeElementComponent {
14
15
  constructor() {
15
16
  super(...arguments);
@@ -21,14 +22,14 @@ let PerformanceWidgetDesignComponent = class PerformanceWidgetDesignComponent ex
21
22
  });
22
23
  }
23
24
  };
24
- PerformanceWidgetDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: PerformanceWidgetDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
25
- PerformanceWidgetDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: PerformanceWidgetDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
25
+ PerformanceWidgetDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PerformanceWidgetDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
26
+ PerformanceWidgetDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PerformanceWidgetDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i7.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
26
27
  PerformanceWidgetDesignComponent = __decorate([
27
28
  BizDoc({ selector: 'performance-widget-designer' })
28
29
  ], PerformanceWidgetDesignComponent);
29
30
  export { PerformanceWidgetDesignComponent };
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: PerformanceWidgetDesignComponent, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PerformanceWidgetDesignComponent, decorators: [{
31
32
  type: Component,
32
- args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n" }]
33
+ args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <mat-option *ngFor=\"let x of cube?.axes\" [value]=\"x.name\">{{x.title||x.name}}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n" }]
33
34
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2Utd2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL3BlcmZvcm1hbmNlLXdpZGdldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9wZXJmb3JtYW5jZS13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7QUFJekQsSUFBTSxnQ0FBZ0MsR0FBdEMsTUFBTSxnQ0FBaUMsU0FBUSw0QkFBc0Q7SUFBckc7O1FBQ0ksU0FBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQzdCLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFLElBQUk7WUFDWixPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxDQUFDO0tBQ0o7OzZIQVBZLGdDQUFnQztpSEFBaEMsZ0NBQWdDLDJFQ1A3Qyx1akNBb0JBO0FEYmEsZ0NBQWdDO0lBRDVDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSw2QkFBNkIsRUFBRSxDQUFDO0dBQ3ZDLGdDQUFnQyxDQU81QztTQVBZLGdDQUFnQzsyRkFBaEMsZ0NBQWdDO2tCQUY1QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IFBlcmZvcm1hbmNlU2V0dGluZ3NNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9kYXNoYm9hcmQvY3ViZS9jb21wYXJlLndpZGdldFwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ3BlcmZvcm1hbmNlLXdpZGdldC5jb21wb25lbnQuaHRtbCcgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAncGVyZm9ybWFuY2Utd2lkZ2V0LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgUGVyZm9ybWFuY2VXaWRnZXREZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50PFBlcmZvcm1hbmNlU2V0dGluZ3NNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBjdWJlOiBudWxsLFxyXG4gICAgc2VyaWVzOiBudWxsLFxyXG4gICAgZmlsdGVyczogdGhpcy5fZmIuZ3JvdXAoe30pLFxyXG4gICAgc2NvcGU6IG51bGxcclxuICB9KTtcclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3dpZGdldCc7IGVsc2UgZWRpdFwiPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNlZGl0PlxyXG4gIDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlcy5sZW5ndGg+MVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjXCI+e3tjLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snU2VyaWVzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzZXJpZXNcIiByZXF1aXJlZD5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBjdWJlPy5heGVzXCIgW3ZhbHVlXT1cIngubmFtZVwiPnt7eC50aXRsZXx8eC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdzZXJpZXMnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdTZXJpZXMnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8Yml6ZG9jLWRlc2lnbmVyLWN1YmUtZmlsdGVyICpuZ0lmPVwiY3ViZVwiIFtjdWJlXT1cImN1YmVcIiBbZm9ybV09XCJmb3JtLmdldCgnZmlsdGVycycpXCI+PC9iaXpkb2MtZGVzaWduZXItY3ViZS1maWx0ZXI+XHJcbiAgPC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2Utd2lkZ2V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL3BlcmZvcm1hbmNlLXdpZGdldC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9wZXJmb3JtYW5jZS13aWRnZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWxELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7O0FBSXpELElBQU0sZ0NBQWdDLEdBQXRDLE1BQU0sZ0NBQWlDLFNBQVEsNEJBQXNEO0lBQXJHOztRQUNJLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLE1BQU0sRUFBRSxJQUFJO1lBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztLQUNKOzs2SEFQWSxnQ0FBZ0M7aUhBQWhDLGdDQUFnQywyRUNQN0MsdWtDQW9CQTtBRGJhLGdDQUFnQztJQUQ1QyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQztHQUN2QyxnQ0FBZ0MsQ0FPNUM7U0FQWSxnQ0FBZ0M7MkZBQWhDLGdDQUFnQztrQkFGNUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBQZXJmb3JtYW5jZVNldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vZGFzaGJvYXJkL2N1YmUvY29tcGFyZS53aWRnZXRcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdwZXJmb3JtYW5jZS13aWRnZXQuY29tcG9uZW50Lmh0bWwnIH0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ3BlcmZvcm1hbmNlLXdpZGdldC1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIFBlcmZvcm1hbmNlV2lkZ2V0RGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudDxQZXJmb3JtYW5jZVNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHNlcmllczogbnVsbCxcclxuICAgIGZpbHRlcnM6IHRoaXMuX2ZiLmdyb3VwKHt9KSxcclxuICAgIHNjb3BlOiBudWxsXHJcbiAgfSk7XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICd3aWRnZXQnOyBlbHNlIGVkaXRcIj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjZWRpdD5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoPjFcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cImN1YmVTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGMgb2YgY3ViZXNcIiBbdmFsdWVdPVwiY1wiPnt7Yy50aXRsZXxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInNlcmllc1wiIHJlcXVpcmVkPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIGN1YmU/LmF4ZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlfHx4Lm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ3NlcmllcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1Nlcmllcyd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxiaXpkb2MtZGVzaWduZXItY3ViZS1maWx0ZXIgKm5nSWY9XCJjdWJlXCIgW2N1YmVdPVwiY3ViZVwiIFtmb3JtXT1cImZvcm0uZ2V0KCdmaWx0ZXJzJylcIj48L2JpemRvYy1kZXNpZ25lci1jdWJlLWZpbHRlcj5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -10,7 +10,8 @@ import * as i3 from "@angular/material/core";
10
10
  import * as i4 from "@angular/material/form-field";
11
11
  import * as i5 from "@angular/material/select";
12
12
  import * as i6 from "../cube-axes-filter.component";
13
- import * as i7 from "../../../core/pipes/translate.pipe";
13
+ import * as i7 from "../../../core/pipes/localized-string.pipe";
14
+ import * as i8 from "../../../core/pipes/translate.pipe";
14
15
  let PivotViewDesignComponent = class PivotViewDesignComponent extends DesignerCubeElementComponent {
15
16
  constructor() {
16
17
  super(...arguments);
@@ -27,14 +28,14 @@ let PivotViewDesignComponent = class PivotViewDesignComponent extends DesignerCu
27
28
  });
28
29
  }
29
30
  };
30
- PivotViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: PivotViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
31
- PivotViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.5", type: PivotViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length > 1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required multiple [sortComparator]=\"sortComparator\">\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value?.indexOf(a.name) < 0 && form.get('series').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }] });
31
+ PivotViewDesignComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PivotViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
32
+ PivotViewDesignComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: PivotViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length > 1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required multiple [sortComparator]=\"sortComparator\">\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value?.indexOf(a.name) < 0 && form.get('series').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { 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: i3.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.DesignerCubeFilterComponent, selector: "bizdoc-designer-cube-filter", inputs: ["cube", "form"] }, { kind: "pipe", type: i7.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
32
33
  PivotViewDesignComponent = __decorate([
33
34
  BizDoc({ selector: 'pivot-view-designer' })
34
35
  ], PivotViewDesignComponent);
35
36
  export { PivotViewDesignComponent };
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImport: i0, type: PivotViewDesignComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PivotViewDesignComponent, decorators: [{
37
38
  type: Component,
38
- args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length > 1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required multiple [sortComparator]=\"sortComparator\">\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value?.indexOf(a.name) < 0 && form.get('series').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n" }]
39
+ args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length > 1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required multiple [sortComparator]=\"sortComparator\">\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required multiple [sortComparator]=\"sortComparator\">\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let x of cube.indices\" [value]=\"x.name\">{{x.title || x.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value?.indexOf(a.name) < 0 && form.get('series').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <bizdoc-designer-cube-filter *ngIf=\"cube\" [cube]=\"cube\" [form]=\"form.get('filters')\"></bizdoc-designer-cube-filter>\r\n </form>\r\n</ng-template>\r\n" }]
39
40
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3Qtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9waXZvdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL3Bpdm90LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7O0FBSXpELElBQU0sd0JBQXdCLEdBQTlCLE1BQU0sd0JBQXlCLFNBQVEsNEJBQWdEO0lBQXZGOztRQUNJLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbkQsT0FBTyxFQUFFLElBQUk7WUFDYixTQUFTLEVBQUUsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0IsU0FBUyxFQUFFLElBQUk7WUFDZixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxDQUFDO0tBQ0o7O3FIQVpZLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDJFQ1JyQyw0NkVBMkNBO0FEbkNhLHdCQUF3QjtJQURwQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztHQUMvQix3QkFBd0IsQ0FZcEM7U0FaWSx3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFGcEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IFBpdm90U2V0dGluZ3NNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi92aWV3cy9jdWJlL3Bpdm90LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ3Bpdm90LXZpZXcuY29tcG9uZW50Lmh0bWwnIH0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ3Bpdm90LXZpZXctZGVzaWduZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBQaXZvdFZpZXdEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50PFBpdm90U2V0dGluZ3NNb2RlbD4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBjdWJlOiBudWxsLFxyXG4gICAgeEF4aXM6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBzZXJpZXM6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBpbmRpY2VzOiBudWxsLFxyXG4gICAgYWdncmVnYXRlOiBudWxsLFxyXG4gICAgZmlsdGVyczogdGhpcy5fZmIuZ3JvdXAoe30pLFxyXG4gICAgY2hhcnRUeXBlOiBudWxsLFxyXG4gICAgaW5kaWNlc0NoYXJ0VHlwZTogbnVsbCxcclxuICAgIHNjb3BlOiBudWxsXHJcbiAgfSk7XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICd3aWRnZXQnOyBlbHNlIGVkaXRcIj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjZWRpdD5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoID4gMVwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0N1YmUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IHJlcXVpcmVkIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjXCI+e3tjLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snWEF4aXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInhBeGlzXCIgcmVxdWlyZWQgbXVsdGlwbGUgW3NvcnRDb21wYXJhdG9yXT1cInNvcnRDb21wYXJhdG9yXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGEgb2YgY3ViZT8uYXhlc1wiIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1hBeGlzJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J1Nlcmllcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgcmVxdWlyZWQgbXVsdGlwbGUgW3NvcnRDb21wYXJhdG9yXT1cInNvcnRDb21wYXJhdG9yXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLnZhbHVlPy5pbmRleE9mKGEubmFtZSkgPCAwXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ3NlcmllcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1Nlcmllcyd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImN1YmU/LmluZGljZXM/Lmxlbmd0aFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0luZGljZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImluZGljZXNcIiBtdWx0aXBsZT5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgeCBvZiBjdWJlLmluZGljZXNcIiBbdmFsdWVdPVwieC5uYW1lXCI+e3t4LnRpdGxlIHx8IHgubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J0FnZ3JlZ2F0ZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiYWdncmVnYXRlXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLnZhbHVlPy5pbmRleE9mKGEubmFtZSkgPCAwICYmIGZvcm0uZ2V0KCdzZXJpZXMnKS52YWx1ZT8uaW5kZXhPZihhLm5hbWUpIDwgMFwiIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8Yml6ZG9jLWRlc2lnbmVyLWN1YmUtZmlsdGVyICpuZ0lmPVwiY3ViZVwiIFtjdWJlXT1cImN1YmVcIiBbZm9ybV09XCJmb3JtLmdldCgnZmlsdGVycycpXCI+PC9iaXpkb2MtZGVzaWduZXItY3ViZS1maWx0ZXI+XHJcbiAgPC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3Qtdmlldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9waXZvdC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL3Bpdm90LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7OztBQUl6RCxJQUFNLHdCQUF3QixHQUE5QixNQUFNLHdCQUF5QixTQUFRLDRCQUFnRDtJQUF2Rjs7UUFDSSxTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDN0IsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbEQsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ25ELE9BQU8sRUFBRSxJQUFJO1lBQ2IsU0FBUyxFQUFFLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzNCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztLQUNKOztxSEFaWSx3QkFBd0I7eUdBQXhCLHdCQUF3QiwyRUNSckMsNDdFQTJDQTtBRG5DYSx3QkFBd0I7SUFEcEMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLENBQUM7R0FDL0Isd0JBQXdCLENBWXBDO1NBWlksd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRnBDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBQaXZvdFNldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vdmlld3MvY3ViZS9waXZvdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdwaXZvdC12aWV3LmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdwaXZvdC12aWV3LWRlc2lnbmVyJyB9KVxyXG5leHBvcnQgY2xhc3MgUGl2b3RWaWV3RGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudDxQaXZvdFNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgY3ViZTogbnVsbCxcclxuICAgIHhBeGlzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgc2VyaWVzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgaW5kaWNlczogbnVsbCxcclxuICAgIGFnZ3JlZ2F0ZTogbnVsbCxcclxuICAgIGZpbHRlcnM6IHRoaXMuX2ZiLmdyb3VwKHt9KSxcclxuICAgIGNoYXJ0VHlwZTogbnVsbCxcclxuICAgIGluZGljZXNDaGFydFR5cGU6IG51bGwsXHJcbiAgICBzY29wZTogbnVsbFxyXG4gIH0pO1xyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnd2lkZ2V0JzsgZWxzZSBlZGl0XCI+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI2VkaXQ+XHJcbiAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImN1YmVzLmxlbmd0aCA+IDFcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCAoc2VsZWN0aW9uQ2hhbmdlKT1cImN1YmVTZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGMgb2YgY3ViZXNcIiBbdmFsdWVdPVwiY1wiPnt7Yy50aXRsZXxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydYQXhpcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwieEF4aXNcIiByZXF1aXJlZCBtdWx0aXBsZSBbc29ydENvbXBhcmF0b3JdPVwic29ydENvbXBhcmF0b3JcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ3hBeGlzJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignWEF4aXMnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snU2VyaWVzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzZXJpZXNcIiByZXF1aXJlZCBtdWx0aXBsZSBbc29ydENvbXBhcmF0b3JdPVwic29ydENvbXBhcmF0b3JcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZm9ybS5nZXQoJ3hBeGlzJykudmFsdWU/LmluZGV4T2YoYS5uYW1lKSA8IDBcIiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnc2VyaWVzJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignU2VyaWVzJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZT8uaW5kaWNlcz8ubGVuZ3RoXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snSW5kaWNlcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5kaWNlc1wiIG11bHRpcGxlPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB4IG9mIGN1YmUuaW5kaWNlc1wiIFt2YWx1ZV09XCJ4Lm5hbWVcIj57e3gudGl0bGUgfHwgeC5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snQWdncmVnYXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhZ2dyZWdhdGVcIiBtdWx0aXBsZT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZm9ybS5nZXQoJ3hBeGlzJykudmFsdWU/LmluZGV4T2YoYS5uYW1lKSA8IDAgJiYgZm9ybS5nZXQoJ3NlcmllcycpLnZhbHVlPy5pbmRleE9mKGEubmFtZSkgPCAwXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxiaXpkb2MtZGVzaWduZXItY3ViZS1maWx0ZXIgKm5nSWY9XCJjdWJlXCIgW2N1YmVdPVwiY3ViZVwiIFtmb3JtXT1cImZvcm0uZ2V0KCdmaWx0ZXJzJylcIj48L2JpemRvYy1kZXNpZ25lci1jdWJlLWZpbHRlcj5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==