@acorex/modules 20.0.23 → 20.1.0

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 (267) hide show
  1. package/auth/index.d.ts +57 -4
  2. package/common/index.d.ts +8 -1
  3. package/data-management/index.d.ts +401 -3
  4. package/fesm2022/{acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs → acorex-modules-application-management-module-designer.component-udoks-Ef.mjs} +17 -17
  5. package/fesm2022/acorex-modules-application-management-module-designer.component-udoks-Ef.mjs.map +1 -0
  6. package/fesm2022/acorex-modules-application-management.mjs +53 -53
  7. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  8. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs → acorex-modules-auth-acorex-modules-auth-5TIjp5UG.mjs} +182 -123
  9. package/fesm2022/acorex-modules-auth-acorex-modules-auth-5TIjp5UG.mjs.map +1 -0
  10. package/fesm2022/{acorex-modules-auth-app-chooser.component-D0pKNUts.mjs → acorex-modules-auth-app-chooser.component-B0w1Xzx7.mjs} +6 -6
  11. package/fesm2022/{acorex-modules-auth-app-chooser.component-D0pKNUts.mjs.map → acorex-modules-auth-app-chooser.component-B0w1Xzx7.mjs.map} +1 -1
  12. package/fesm2022/{acorex-modules-auth-blank.layout-BwVSMaFI.mjs → acorex-modules-auth-blank.layout-C8NsXB9K.mjs} +5 -5
  13. package/fesm2022/{acorex-modules-auth-blank.layout-BwVSMaFI.mjs.map → acorex-modules-auth-blank.layout-C8NsXB9K.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-auth-login.module-Dky49ylL.mjs → acorex-modules-auth-login.module-B8sVVZHV.mjs} +8 -8
  15. package/fesm2022/{acorex-modules-auth-login.module-Dky49ylL.mjs.map → acorex-modules-auth-login.module-B8sVVZHV.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-auth-master.layout-DXfRjCLL.mjs → acorex-modules-auth-master.layout-CMKxj1Qo.mjs} +7 -7
  17. package/fesm2022/{acorex-modules-auth-master.layout-DXfRjCLL.mjs.map → acorex-modules-auth-master.layout-CMKxj1Qo.mjs.map} +1 -1
  18. package/fesm2022/acorex-modules-auth-oauth-callback.component-C95YLpI_.mjs +101 -0
  19. package/fesm2022/acorex-modules-auth-oauth-callback.component-C95YLpI_.mjs.map +1 -0
  20. package/fesm2022/{acorex-modules-auth-password.component-oH5OFHqQ.mjs → acorex-modules-auth-password.component-DH0qKunk.mjs} +9 -9
  21. package/fesm2022/{acorex-modules-auth-password.component-oH5OFHqQ.mjs.map → acorex-modules-auth-password.component-DH0qKunk.mjs.map} +1 -1
  22. package/fesm2022/acorex-modules-auth-password.component-Du0EBIiw.mjs +239 -0
  23. package/fesm2022/acorex-modules-auth-password.component-Du0EBIiw.mjs.map +1 -0
  24. package/fesm2022/{acorex-modules-auth-routes-DAiaTm4Y.mjs → acorex-modules-auth-routes-Q9zaIiBS.mjs} +2 -2
  25. package/fesm2022/{acorex-modules-auth-routes-DAiaTm4Y.mjs.map → acorex-modules-auth-routes-Q9zaIiBS.mjs.map} +1 -1
  26. package/fesm2022/acorex-modules-auth-settings.provider-CM-T8nbI.mjs.map +1 -1
  27. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs → acorex-modules-auth-tenant-chooser.component-wp7OOLsH.mjs} +16 -13
  28. package/fesm2022/acorex-modules-auth-tenant-chooser.component-wp7OOLsH.mjs.map +1 -0
  29. package/fesm2022/{acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs → acorex-modules-auth-two-factor-code.component-DSWd06bn.mjs} +7 -7
  30. package/fesm2022/{acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs.map → acorex-modules-auth-two-factor-code.component-DSWd06bn.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-auth-two-factor.module-Coe4NNUW.mjs → acorex-modules-auth-two-factor.module-oRixkeAn.mjs} +7 -7
  32. package/fesm2022/{acorex-modules-auth-two-factor.module-Coe4NNUW.mjs.map → acorex-modules-auth-two-factor.module-oRixkeAn.mjs.map} +1 -1
  33. package/fesm2022/acorex-modules-auth-user-sessions.component-8wwWI0cQ.mjs +135 -0
  34. package/fesm2022/acorex-modules-auth-user-sessions.component-8wwWI0cQ.mjs.map +1 -0
  35. package/fesm2022/acorex-modules-auth.mjs +1 -1
  36. package/fesm2022/acorex-modules-calendar-management.mjs +19 -19
  37. package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
  38. package/fesm2022/acorex-modules-common-acorex-modules-common-DQESb8jf.mjs +1667 -0
  39. package/fesm2022/acorex-modules-common-acorex-modules-common-DQESb8jf.mjs.map +1 -0
  40. package/fesm2022/{acorex-modules-common-search-popup.component-B_bJ0ZRM.mjs → acorex-modules-common-search-popup.component-CpFvcrxw.mjs} +13 -13
  41. package/fesm2022/acorex-modules-common-search-popup.component-CpFvcrxw.mjs.map +1 -0
  42. package/fesm2022/{acorex-modules-platform-management-settings.provider-intHn3XI.mjs → acorex-modules-common-settings.provider-ha75F6g5.mjs} +2 -3
  43. package/fesm2022/acorex-modules-common-settings.provider-ha75F6g5.mjs.map +1 -0
  44. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs → acorex-modules-common-timeline-version-history-popup.component-D_6STmWm.mjs} +11 -11
  45. package/fesm2022/acorex-modules-common-timeline-version-history-popup.component-D_6STmWm.mjs.map +1 -0
  46. package/fesm2022/acorex-modules-common.mjs +1 -1199
  47. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  48. package/fesm2022/{acorex-modules-contact-management-acorex-modules-contact-management-DVjMlS0K.mjs → acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs} +47 -222
  49. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs.map +1 -0
  50. package/fesm2022/{acorex-modules-contact-management-address-type.entity-CWIBwWfZ.mjs → acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs} +2 -2
  51. package/fesm2022/{acorex-modules-contact-management-address-type.entity-CWIBwWfZ.mjs.map → acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs.map} +1 -1
  52. package/fesm2022/{acorex-modules-contact-management-contact-address.entity-DO6GizbS.mjs → acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs} +2 -2
  53. package/fesm2022/{acorex-modules-contact-management-contact-address.entity-DO6GizbS.mjs.map → acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs.map} +1 -1
  54. package/fesm2022/{acorex-modules-contact-management-contact-method.entity-tEtMSV4f.mjs → acorex-modules-contact-management-contact-method.entity-Cpdd-Xwb.mjs} +2 -2
  55. package/fesm2022/{acorex-modules-contact-management-contact-method.entity-tEtMSV4f.mjs.map → acorex-modules-contact-management-contact-method.entity-Cpdd-Xwb.mjs.map} +1 -1
  56. package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-C-B5aOoq.mjs → acorex-modules-contact-management-contact-relationship.entity-B_gQ7mEo.mjs} +2 -2
  57. package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-C-B5aOoq.mjs.map → acorex-modules-contact-management-contact-relationship.entity-B_gQ7mEo.mjs.map} +1 -1
  58. package/fesm2022/{acorex-modules-contact-management-contact-source.entity-Dw8jwcox.mjs → acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs} +2 -2
  59. package/fesm2022/{acorex-modules-contact-management-contact-source.entity-Dw8jwcox.mjs.map → acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs.map} +1 -1
  60. package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-BJOOhcD1.mjs → acorex-modules-contact-management-emergency-contact-category.entity-CDbm4Rq3.mjs} +2 -2
  61. package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-BJOOhcD1.mjs.map → acorex-modules-contact-management-emergency-contact-category.entity-CDbm4Rq3.mjs.map} +1 -1
  62. package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-Cr7_5JKD.mjs → acorex-modules-contact-management-emergency-contact.entity-BpNDJPVs.mjs} +2 -2
  63. package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-Cr7_5JKD.mjs.map → acorex-modules-contact-management-emergency-contact.entity-BpNDJPVs.mjs.map} +1 -1
  64. package/fesm2022/acorex-modules-contact-management.mjs +1 -1
  65. package/fesm2022/acorex-modules-content-management.mjs +14 -14
  66. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  67. package/fesm2022/acorex-modules-conversation.mjs +123 -123
  68. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  69. package/fesm2022/acorex-modules-dashboard-management.mjs +191 -191
  70. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  71. package/fesm2022/acorex-modules-data-management.mjs +2215 -265
  72. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  73. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-Bte3VGKC.mjs → acorex-modules-document-management-acorex-modules-document-management-B4Jd-KGV.mjs} +144 -144
  74. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-B4Jd-KGV.mjs.map +1 -0
  75. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Cc0anIMV.mjs → acorex-modules-document-management-attachment-widget.component-Bp4kKjC4.mjs} +5 -5
  76. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Cc0anIMV.mjs.map → acorex-modules-document-management-attachment-widget.component-Bp4kKjC4.mjs.map} +1 -1
  77. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BNcu8bzT.mjs → acorex-modules-document-management-create-folder-dialog.component-12aUAucS.mjs} +22 -22
  78. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-12aUAucS.mjs.map +1 -0
  79. package/fesm2022/{acorex-modules-document-management-details-view.component-BeN0NPcy.mjs → acorex-modules-document-management-details-view.component-bzA7fJZW.mjs} +5 -5
  80. package/fesm2022/{acorex-modules-document-management-details-view.component-BeN0NPcy.mjs.map → acorex-modules-document-management-details-view.component-bzA7fJZW.mjs.map} +1 -1
  81. package/fesm2022/{acorex-modules-document-management-drive-choose.component-B66wODCQ.mjs → acorex-modules-document-management-drive-choose.component-DLJdJzp1.mjs} +18 -18
  82. package/fesm2022/acorex-modules-document-management-drive-choose.component-DLJdJzp1.mjs.map +1 -0
  83. package/fesm2022/{acorex-modules-document-management-drive.component-CUej0GjY.mjs → acorex-modules-document-management-drive.component-DrkSd6Rv.mjs} +28 -28
  84. package/fesm2022/acorex-modules-document-management-drive.component-DrkSd6Rv.mjs.map +1 -0
  85. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BuwrkLhe.mjs → acorex-modules-document-management-large-icons-view.component-DV8oWdDh.mjs} +5 -5
  86. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BuwrkLhe.mjs.map → acorex-modules-document-management-large-icons-view.component-DV8oWdDh.mjs.map} +1 -1
  87. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Cs-mjiQX.mjs → acorex-modules-document-management-large-tiles-view.component-Bgr9s_zf.mjs} +5 -5
  88. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Cs-mjiQX.mjs.map → acorex-modules-document-management-large-tiles-view.component-Bgr9s_zf.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs → acorex-modules-document-management-link-dialog.component-CSEIhT4P.mjs} +5 -5
  90. package/fesm2022/{acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs.map → acorex-modules-document-management-link-dialog.component-CSEIhT4P.mjs.map} +1 -1
  91. package/fesm2022/{acorex-modules-document-management-list-view.component-1M2rIOGv.mjs → acorex-modules-document-management-list-view.component-Dz6ymqrq.mjs} +5 -5
  92. package/fesm2022/{acorex-modules-document-management-list-view.component-1M2rIOGv.mjs.map → acorex-modules-document-management-list-view.component-Dz6ymqrq.mjs.map} +1 -1
  93. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs → acorex-modules-document-management-meta-choose-popup.component-DYJN-4Pe.mjs} +20 -20
  94. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DYJN-4Pe.mjs.map +1 -0
  95. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs → acorex-modules-document-management-meta-selector-widget-column.component-C_J1rPak.mjs} +4 -4
  96. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-C_J1rPak.mjs.map} +1 -1
  97. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-By_NgUX6.mjs} +7 -7
  98. package/fesm2022/acorex-modules-document-management-meta-selector-widget-designer.component-By_NgUX6.mjs.map +1 -0
  99. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs → acorex-modules-document-management-meta-selector-widget-view.component-zwCw3v1w.mjs} +4 -4
  100. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs.map → acorex-modules-document-management-meta-selector-widget-view.component-zwCw3v1w.mjs.map} +1 -1
  101. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BEq3ySY3.mjs → acorex-modules-document-management-permission-definition.provider-CN7HVQLu.mjs} +2 -2
  102. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BEq3ySY3.mjs.map → acorex-modules-document-management-permission-definition.provider-CN7HVQLu.mjs.map} +1 -1
  103. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DWzD41AV.mjs → acorex-modules-document-management-rename-node-dialog.component-C_dsLLMb.mjs} +15 -15
  104. package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-C_dsLLMb.mjs.map +1 -0
  105. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs → acorex-modules-document-management-share-dialog.component-CBrf7hjZ.mjs} +6 -6
  106. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs.map → acorex-modules-document-management-share-dialog.component-CBrf7hjZ.mjs.map} +1 -1
  107. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs → acorex-modules-document-management-share-email-dialog.component-D3WcHAOf.mjs} +5 -5
  108. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs.map → acorex-modules-document-management-share-email-dialog.component-D3WcHAOf.mjs.map} +1 -1
  109. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Dh5Di_2Y.mjs → acorex-modules-document-management-small-icons-view.component-wvFkjOqg.mjs} +5 -5
  110. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Dh5Di_2Y.mjs.map → acorex-modules-document-management-small-icons-view.component-wvFkjOqg.mjs.map} +1 -1
  111. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-mOjQbw-f.mjs → acorex-modules-document-management-small-tiles-view.component-C4ARGOZR.mjs} +5 -5
  112. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-mOjQbw-f.mjs.map → acorex-modules-document-management-small-tiles-view.component-C4ARGOZR.mjs.map} +1 -1
  113. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  114. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-zz8KU2BM.mjs} +68 -68
  115. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-zz8KU2BM.mjs.map +1 -0
  116. package/fesm2022/{acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs → acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs} +2 -2
  117. package/fesm2022/{acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs.map → acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs.map} +1 -1
  118. package/fesm2022/{acorex-modules-form-template-management-designer.page-B14QVCAw.mjs → acorex-modules-form-template-management-designer.page-DQorNK3f.mjs} +6 -6
  119. package/fesm2022/acorex-modules-form-template-management-designer.page-DQorNK3f.mjs.map +1 -0
  120. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs → acorex-modules-form-template-management-permission-definition.provider-BFPqDVO3.mjs} +2 -2
  121. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs.map → acorex-modules-form-template-management-permission-definition.provider-BFPqDVO3.mjs.map} +1 -1
  122. package/fesm2022/{acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs → acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs} +2 -2
  123. package/fesm2022/{acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs.map → acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs.map} +1 -1
  124. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs → acorex-modules-form-template-management-template-picker.component-DgH_DUIB.mjs} +14 -14
  125. package/fesm2022/acorex-modules-form-template-management-template-picker.component-DgH_DUIB.mjs.map +1 -0
  126. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs → acorex-modules-form-template-management-template-widget-edit.component-CCL7xNSm.mjs} +9 -9
  127. package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CCL7xNSm.mjs.map +1 -0
  128. package/fesm2022/{acorex-modules-form-template-management-template.entity-DTx9CejD.mjs → acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs} +2 -2
  129. package/fesm2022/{acorex-modules-form-template-management-template.entity-DTx9CejD.mjs.map → acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs.map} +1 -1
  130. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs → acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs} +12 -12
  131. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs.map +1 -0
  132. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  133. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-DKdtV_QL.mjs → acorex-modules-issue-management-acorex-modules-issue-management-B8ZVc-0b.mjs} +45 -45
  134. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-DKdtV_QL.mjs.map → acorex-modules-issue-management-acorex-modules-issue-management-B8ZVc-0b.mjs.map} +1 -1
  135. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-CucnKDr1.mjs → acorex-modules-issue-management-capture-screen.component-D1vapaJC.mjs} +7 -7
  136. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-CucnKDr1.mjs.map → acorex-modules-issue-management-capture-screen.component-D1vapaJC.mjs.map} +1 -1
  137. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  138. package/fesm2022/acorex-modules-log-management.mjs +427 -479
  139. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  140. package/fesm2022/acorex-modules-notification-management.mjs +60 -60
  141. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  142. package/fesm2022/{acorex-modules-organization-management-add-item.component-Br70YGJS.mjs → acorex-modules-organization-management-add-item.component-DsDk5cyO.mjs} +16 -16
  143. package/fesm2022/{acorex-modules-organization-management-add-item.component-Br70YGJS.mjs.map → acorex-modules-organization-management-add-item.component-DsDk5cyO.mjs.map} +1 -1
  144. package/fesm2022/{acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs → acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs} +80 -6
  145. package/fesm2022/acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs.map +1 -0
  146. package/fesm2022/acorex-modules-organization-management-chart.entity-UAn44WCP.mjs.map +1 -1
  147. package/fesm2022/acorex-modules-organization-management-company.entity-D1A1HSkC.mjs.map +1 -1
  148. package/fesm2022/{acorex-modules-organization-management-department.entity-BMojk26d.mjs → acorex-modules-organization-management-department.entity-BxCyXNtv.mjs} +68 -7
  149. package/fesm2022/acorex-modules-organization-management-department.entity-BxCyXNtv.mjs.map +1 -0
  150. package/fesm2022/{acorex-modules-organization-management-division.entity-BnWpX4US.mjs → acorex-modules-organization-management-division.entity-DzQT2jpz.mjs} +68 -6
  151. package/fesm2022/acorex-modules-organization-management-division.entity-DzQT2jpz.mjs.map +1 -0
  152. package/fesm2022/{acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs → acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs} +152 -28
  153. package/fesm2022/acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs.map +1 -0
  154. package/fesm2022/{acorex-modules-organization-management-employment-type.entity-CWYu9tIg.mjs → acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs} +21 -8
  155. package/fesm2022/acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs.map +1 -0
  156. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs → acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs} +6 -6
  157. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs.map +1 -0
  158. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs → acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs} +5 -5
  159. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs.map +1 -0
  160. package/fesm2022/{acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs → acorex-modules-organization-management-org-chart.page-DWQ-5NF_.mjs} +20 -20
  161. package/fesm2022/acorex-modules-organization-management-org-chart.page-DWQ-5NF_.mjs.map +1 -0
  162. package/fesm2022/{acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs → acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs} +20 -35
  163. package/fesm2022/acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs.map +1 -0
  164. package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs +526 -0
  165. package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs.map +1 -0
  166. package/fesm2022/{acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs → acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs} +12 -25
  167. package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs.map +1 -0
  168. package/fesm2022/{acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs → acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs} +70 -25
  169. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs.map +1 -0
  170. package/fesm2022/{acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs → acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs} +22 -14
  171. package/fesm2022/acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs.map +1 -0
  172. package/fesm2022/{acorex-modules-organization-management-position.entity-CY4TugWR.mjs → acorex-modules-organization-management-role.entity-CruQeObl.mjs} +77 -79
  173. package/fesm2022/acorex-modules-organization-management-role.entity-CruQeObl.mjs.map +1 -0
  174. package/fesm2022/acorex-modules-organization-management-settings.provider-hlbUXugb.mjs.map +1 -1
  175. package/fesm2022/{acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs → acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs} +18 -33
  176. package/fesm2022/acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs.map +1 -0
  177. package/fesm2022/{acorex-modules-organization-management-skill.entity-D9XojzUV.mjs → acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs} +61 -22
  178. package/fesm2022/acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs.map +1 -0
  179. package/fesm2022/{acorex-modules-organization-management-team.entity-mYPhrc2l.mjs → acorex-modules-organization-management-team.entity-DMCfAZsr.mjs} +58 -10
  180. package/fesm2022/acorex-modules-organization-management-team.entity-DMCfAZsr.mjs.map +1 -0
  181. package/fesm2022/acorex-modules-organization-management.mjs +221 -136
  182. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  183. package/fesm2022/{acorex-modules-platform-management-list-version.component-CgF5pvTa.mjs → acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs} +9 -9
  184. package/fesm2022/acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs.map +1 -0
  185. package/fesm2022/acorex-modules-platform-management.mjs +3479 -1
  186. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  187. package/fesm2022/acorex-modules-project-management.mjs +43 -43
  188. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  189. package/fesm2022/{acorex-modules-report-management-report-create-root.component-DqrLa6vh.mjs → acorex-modules-report-management-report-create-root.component-DgouOz2M.mjs} +10 -10
  190. package/fesm2022/acorex-modules-report-management-report-create-root.component-DgouOz2M.mjs.map +1 -0
  191. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-C3UP9Jsi.mjs → acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs} +13 -13
  192. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-C3UP9Jsi.mjs.map → acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs.map} +1 -1
  193. package/fesm2022/acorex-modules-report-management.mjs +465 -232
  194. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  195. package/fesm2022/acorex-modules-scheduler-job-management.mjs +14 -14
  196. package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
  197. package/fesm2022/acorex-modules-security-management.mjs +170 -102
  198. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  199. package/fesm2022/{acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs → acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs} +17 -17
  200. package/fesm2022/acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs.map +1 -0
  201. package/fesm2022/{acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs → acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs} +11 -11
  202. package/fesm2022/acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs.map +1 -0
  203. package/fesm2022/acorex-modules-settings-management.mjs +6 -6
  204. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  205. package/fesm2022/acorex-modules-text-template-management-settings.provider-fX0dhWUL.mjs.map +1 -1
  206. package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
  207. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  208. package/fesm2022/acorex-modules-training-management.mjs +43 -43
  209. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  210. package/fesm2022/{acorex-modules-workflow-management-task-board.page-zaSchG-u.mjs → acorex-modules-workflow-management-task-board.page-BoG_tFGn.mjs} +123 -133
  211. package/fesm2022/acorex-modules-workflow-management-task-board.page-BoG_tFGn.mjs.map +1 -0
  212. package/fesm2022/acorex-modules-workflow-management.mjs +12 -12
  213. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  214. package/log-management/index.d.ts +46 -19
  215. package/organization-management/index.d.ts +41 -13
  216. package/package.json +1 -1
  217. package/platform-management/index.d.ts +8 -277
  218. package/report-management/index.d.ts +180 -126
  219. package/security-management/index.d.ts +2 -46
  220. package/fesm2022/acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs.map +0 -1
  221. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs.map +0 -1
  222. package/fesm2022/acorex-modules-auth-password.component-BbsQWpEh.mjs +0 -134
  223. package/fesm2022/acorex-modules-auth-password.component-BbsQWpEh.mjs.map +0 -1
  224. package/fesm2022/acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs.map +0 -1
  225. package/fesm2022/acorex-modules-auth-user-sessions.component-CtTrstZT.mjs +0 -135
  226. package/fesm2022/acorex-modules-auth-user-sessions.component-CtTrstZT.mjs.map +0 -1
  227. package/fesm2022/acorex-modules-common-search-popup.component-B_bJ0ZRM.mjs.map +0 -1
  228. package/fesm2022/acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs.map +0 -1
  229. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-DVjMlS0K.mjs.map +0 -1
  230. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-Bte3VGKC.mjs.map +0 -1
  231. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-BNcu8bzT.mjs.map +0 -1
  232. package/fesm2022/acorex-modules-document-management-drive-choose.component-B66wODCQ.mjs.map +0 -1
  233. package/fesm2022/acorex-modules-document-management-drive.component-CUej0GjY.mjs.map +0 -1
  234. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs.map +0 -1
  235. package/fesm2022/acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs.map +0 -1
  236. package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-DWzD41AV.mjs.map +0 -1
  237. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs.map +0 -1
  238. package/fesm2022/acorex-modules-form-template-management-designer.page-B14QVCAw.mjs.map +0 -1
  239. package/fesm2022/acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs.map +0 -1
  240. package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs.map +0 -1
  241. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs.map +0 -1
  242. package/fesm2022/acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs.map +0 -1
  243. package/fesm2022/acorex-modules-organization-management-department.entity-BMojk26d.mjs.map +0 -1
  244. package/fesm2022/acorex-modules-organization-management-division.entity-BnWpX4US.mjs.map +0 -1
  245. package/fesm2022/acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs.map +0 -1
  246. package/fesm2022/acorex-modules-organization-management-employment-type.entity-CWYu9tIg.mjs.map +0 -1
  247. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs.map +0 -1
  248. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs.map +0 -1
  249. package/fesm2022/acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs.map +0 -1
  250. package/fesm2022/acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs.map +0 -1
  251. package/fesm2022/acorex-modules-organization-management-position.entity-CY4TugWR.mjs.map +0 -1
  252. package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs.map +0 -1
  253. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs.map +0 -1
  254. package/fesm2022/acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs.map +0 -1
  255. package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs +0 -324
  256. package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +0 -1
  257. package/fesm2022/acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs.map +0 -1
  258. package/fesm2022/acorex-modules-organization-management-skill.entity-D9XojzUV.mjs.map +0 -1
  259. package/fesm2022/acorex-modules-organization-management-team.entity-mYPhrc2l.mjs.map +0 -1
  260. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-BLhzWiXM.mjs +0 -5524
  261. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-BLhzWiXM.mjs.map +0 -1
  262. package/fesm2022/acorex-modules-platform-management-list-version.component-CgF5pvTa.mjs.map +0 -1
  263. package/fesm2022/acorex-modules-platform-management-settings.provider-intHn3XI.mjs.map +0 -1
  264. package/fesm2022/acorex-modules-report-management-report-create-root.component-DqrLa6vh.mjs.map +0 -1
  265. package/fesm2022/acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs.map +0 -1
  266. package/fesm2022/acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs.map +0 -1
  267. package/fesm2022/acorex-modules-workflow-management-task-board.page-zaSchG-u.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-report-management-report-runner-root-page.component-C3UP9Jsi.mjs","sources":["../tmp-esm2022/report-management/lib/features/report-runner/report-runner.viewmodel.js","../tmp-esm2022/report-management/lib/features/report-runner/report-categories-tree/report-categories-tree.component.js","../tmp-esm2022/report-management/lib/features/report-runner/report-runner-root-page/report-runner-root-page.component.js"],"sourcesContent":["import { AXPReportDefinitionService } from \"@acorex/platform/common\";\nimport { AXPPageStatus } from \"@acorex/platform/layout/builder\";\nimport { computed, inject } from \"@angular/core\";\nimport { signalStore, withMethods, withComputed, withState, withHooks, patchState } from \"@ngrx/signals\";\nimport { isEmpty, isNil } from \"lodash-es\";\nimport { merge } from \"rxjs\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { AXLocaleService } from \"@acorex/core/locale\";\nimport { AXPLayoutThemeService } from \"@acorex/platform/themes/shared\";\nimport { RootConfig } from \"../../const\";\nexport const AXPReportRunnerRootViewModel = signalStore(withState(() => ({\n activeCategory: undefined,\n categories: [],\n reports: [],\n activeCategoriesPath: [],\n //\n searchExpression: null,\n //\n status: AXPPageStatus.Processing,\n})), withComputed((store, layout = inject(AXPLayoutThemeService)) => ({\n searchResults: computed(() => []),\n hasActiveCategory: computed(() => store.activeCategory() != null),\n showSideMenu: computed(() => layout.isLarge()),\n isSearching: computed(() => store.searchExpression() != null),\n isBusy: computed(() => store.status() == AXPPageStatus.Processing),\n isLoaded: computed(() => store.activeCategory() != null),\n title: computed(() => store.activeCategory()?.title ?? `@${RootConfig.config.i18n}:features.report-runner.page-title`),\n description: computed(() => store.activeCategory()?.description ?? `@${RootConfig.config.i18n}:features.report-runner.page-description`),\n})), withMethods((store, reportDefinitionService = inject(AXPReportDefinitionService)) => ({\n async loadRootCategories() {\n patchState(store, {\n activeCategory: undefined,\n reports: [],\n activeCategoriesPath: [],\n });\n //\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n patchState(store, {\n categories: await reportDefinitionService.getCategories(),\n });\n patchState(store, {\n status: AXPPageStatus.Idle,\n });\n },\n async getCategories(parentId) {\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n //\n const result = await reportDefinitionService.getCategories(parentId);\n //\n patchState(store, {\n status: AXPPageStatus.Idle,\n });\n //\n return result;\n },\n async getReports(categoryId) {\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n //\n const result = await reportDefinitionService.getReportsByCategoryId(categoryId);\n //\n patchState(store, {\n status: AXPPageStatus.Idle,\n });\n //\n return result;\n },\n async setActiveCategory(category) {\n //\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n //\n patchState(store, {\n activeCategory: category,\n });\n //\n patchState(store, {\n categories: await reportDefinitionService.getCategories(category.id),\n reports: await reportDefinitionService.getReportsByCategoryId(category.id),\n activeCategoriesPath: await reportDefinitionService.getCategoriesPathById(category.id),\n });\n //\n patchState(store, {\n status: AXPPageStatus.Idle,\n });\n },\n async setActiveCategoryById(id) {\n //\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n //\n const category = await reportDefinitionService.getCategoryById(id);\n if (category) {\n patchState(store, {\n activeCategory: category,\n });\n //\n patchState(store, {\n categories: await reportDefinitionService.getCategories(category.id),\n reports: await reportDefinitionService.getReportsByCategoryId(category.id),\n activeCategoriesPath: await reportDefinitionService.getCategoriesPathById(category.id),\n });\n }\n //\n patchState(store, {\n status: AXPPageStatus.Idle,\n });\n },\n //\n async search(expression) {\n if (!isNil(expression) && !isEmpty(expression)) {\n patchState(store, {\n searchExpression: expression,\n });\n }\n else {\n patchState(store, {\n searchExpression: null,\n });\n }\n },\n clearSearch() {\n patchState(store, {\n searchExpression: null,\n });\n },\n})), withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({\n async onInit() {\n merge(translationService.langChanges$, localeService.profileChanged$).subscribe(async () => {\n });\n //\n await store.loadRootCategories();\n },\n onDestroy() { },\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXJ1bm5lci52aWV3bW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1ydW5uZXIudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEMsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHekMsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsV0FBVyxDQUNuRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNiLGNBQWMsRUFBRSxTQUEwQztJQUMxRCxVQUFVLEVBQUUsRUFBeUI7SUFDckMsT0FBTyxFQUFFLEVBQTJCO0lBQ3BDLG9CQUFvQixFQUFFLEVBQXlCO0lBQy9DLEVBQUU7SUFDRixnQkFBZ0IsRUFB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QUFhLENBQUMsZUFBZSxDQUNoQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUN2QixDQUFDLENBQUMsQ0FBQztRQUNILEVBQUU7UUFDRixNQUFNLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxTQUFTLEtBQUssQ0FBQztDQUNsQixDQUFDLENBQUMsQ0FFTixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQUmVwb3J0Q2F0ZWdvcnksIEFYUFJlcG9ydERlZmluaXRpb24sIEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XG5pbXBvcnQgeyBBWFBQYWdlU3RhdHVzIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXJcIjtcbmltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgc2lnbmFsU3RvcmUsIHdpdGhNZXRob2RzLCB3aXRoQ29tcHV0ZWQsIHdpdGhTdGF0ZSwgd2l0aEhvb2tzLCBwYXRjaFN0YXRlIH0gZnJvbSBcIkBuZ3J4L3NpZ25hbHNcIjtcbmltcG9ydCB7IGlzRW1wdHksIGlzTmlsIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uXCI7XG5pbXBvcnQgeyBBWExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb3JlL2xvY2FsZVwiO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vdGhlbWVzL3NoYXJlZFwiO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25zdFwiO1xuXG5cbmV4cG9ydCBjb25zdCBBWFBSZXBvcnRSdW5uZXJSb290Vmlld01vZGVsID0gc2lnbmFsU3RvcmUoXG4gICAgd2l0aFN0YXRlKCgpID0+ICh7XG4gICAgICAgIGFjdGl2ZUNhdGVnb3J5OiB1bmRlZmluZWQgYXMgQVhQUmVwb3J0Q2F0ZWdvcnkgfCB1bmRlZmluZWQsXG4gICAgICAgIGNhdGVnb3JpZXM6IFtdIGFzIEFYUFJlcG9ydENhdGVnb3J5W10sXG4gICAgICAgIHJlcG9ydHM6IFtdIGFzIEFYUFJlcG9ydERlZmluaXRpb25bXSxcbiAgICAgICAgYWN0aXZlQ2F0ZWdvcmllc1BhdGg6IFtdIGFzIEFYUFJlcG9ydENhdGVnb3J5W10sXG4gICAgICAgIC8vXG4gICAgICAgIHNlYXJjaEV4cHJlc3Npb246IG51bGwgYXMgc3RyaW5nIHwgbnVsbCxcbiAgICAgICAgLy9cbiAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgfSkpLFxuICAgIHdpdGhDb21wdXRlZCgoc3RvcmUsIGxheW91dCA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpKSA9PiAoe1xuICAgICAgICBzZWFyY2hSZXN1bHRzOiBjb21wdXRlZCgoKSA9PiBbXSksXG4gICAgICAgIGhhc0FjdGl2ZUNhdGVnb3J5OiBjb21wdXRlZCgoKSA9PiBzdG9yZS5hY3RpdmVDYXRlZ29yeSgpICE9IG51bGwpLFxuICAgICAgICBzaG93U2lkZU1lbnU6IGNvbXB1dGVkKCgpID0+IGxheW91dC5pc0xhcmdlKCkpLFxuICAgICAgICBpc1NlYXJjaGluZzogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc2VhcmNoRXhwcmVzc2lvbigpICE9IG51bGwpLFxuICAgICAgICBpc0J1c3k6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnN0YXR1cygpID09IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyksXG4gICAgICAgIGlzTG9hZGVkOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5hY3RpdmVDYXRlZ29yeSgpICE9IG51bGwpLFxuICAgICAgICB0aXRsZTogY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgICAgIHN0b3JlLmFjdGl2ZUNhdGVnb3J5KCk/LnRpdGxlID8/IGBAJHtSb290Q29uZmlnLmNvbmZpZy5pMThufTpmZWF0dXJlcy5yZXBvcnQtcnVubmVyLnBhZ2UtdGl0bGVgXG4gICAgICAgICksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBjb21wdXRlZCgoKSA9PlxuICAgICAgICAgICAgc3RvcmUuYWN0aXZlQ2F0ZWdvcnkoKT8uZGVzY3JpcHRpb24gPz8gYEAke1Jvb3RDb25maWcuY29uZmlnLmkxOG59OmZlYXR1cmVzLnJlcG9ydC1ydW5uZXIucGFnZS1kZXNjcmlwdGlvbmBcbiAgICAgICAgKSxcbiAgICB9KSksXG4gICAgd2l0aE1ldGhvZHMoXG4gICAgICAgIChzdG9yZSxcbiAgICAgICAgICAgIHJlcG9ydERlZmluaXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlKSxcbiAgICAgICAgKSA9PiAoe1xuICAgICAgICAgICAgYXN5bmMgbG9hZFJvb3RDYXRlZ29yaWVzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlQ2F0ZWdvcnk6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgcmVwb3J0czogW10sXG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNhdGVnb3JpZXNQYXRoOiBbXSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcmllczogYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllcygpLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFzeW5jIGdldENhdGVnb3JpZXMocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+IHtcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yaWVzKHBhcmVudElkKTtcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLklkbGUsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXN5bmMgZ2V0UmVwb3J0cyhjYXRlZ29yeUlkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydERlZmluaXRpb25bXT4ge1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5JZGxlLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFzeW5jIHNldEFjdGl2ZUNhdGVnb3J5KGNhdGVnb3J5OiBBWFBSZXBvcnRDYXRlZ29yeSkge1xuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yeTogY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcmllczogYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllcyhjYXRlZ29yeS5pZCksXG4gICAgICAgICAgICAgICAgICAgIHJlcG9ydHM6IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnkuaWQpLFxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yaWVzUGF0aDogYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllc1BhdGhCeUlkKGNhdGVnb3J5LmlkKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLklkbGUsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhc3luYyBzZXRBY3RpdmVDYXRlZ29yeUJ5SWQoaWQ6IHN0cmluZykge1xuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSBhd2FpdCByZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yeUJ5SWQoaWQpO1xuICAgICAgICAgICAgICAgIGlmIChjYXRlZ29yeSkge1xuICAgICAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yeTogY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3JpZXM6IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldENhdGVnb3JpZXMoY2F0ZWdvcnkuaWQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVwb3J0czogYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0UmVwb3J0c0J5Q2F0ZWdvcnlJZChjYXRlZ29yeS5pZCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yaWVzUGF0aDogYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllc1BhdGhCeUlkKGNhdGVnb3J5LmlkKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBhc3luYyBzZWFyY2goZXhwcmVzc2lvbjogc3RyaW5nKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc05pbChleHByZXNzaW9uKSAmJiAhaXNFbXB0eShleHByZXNzaW9uKSkge1xuICAgICAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hFeHByZXNzaW9uOiBleHByZXNzaW9uLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRXhwcmVzc2lvbjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2xlYXJTZWFyY2goKSB7XG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzZWFyY2hFeHByZXNzaW9uOiBudWxsLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSksXG4gICAgd2l0aEhvb2tzKChzdG9yZSxcbiAgICAgICAgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKSxcbiAgICAgICAgbG9jYWxlU2VydmljZSA9IGluamVjdChBWExvY2FsZVNlcnZpY2UpXG4gICAgKSA9PiAoe1xuICAgICAgICBhc3luYyBvbkluaXQoKSB7XG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGlvblNlcnZpY2UubGFuZ0NoYW5nZXMkLFxuICAgICAgICAgICAgICAgIGxvY2FsZVNlcnZpY2UucHJvZmlsZUNoYW5nZWQkXG4gICAgICAgICAgICApLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBhd2FpdCBzdG9yZS5sb2FkUm9vdENhdGVnb3JpZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25EZXN0cm95KCkgeyB9LFxuICAgIH0pKVxuXG4pIl19","//#region ---- Imports ----\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTreeViewModule } from '@acorex/components/tree-view';\nimport { AXPReportDefinitionService } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, output, ViewEncapsulation } from '@angular/core';\nimport { isNil } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/tree-view\";\n//#endregion\nexport class AXPReportCategoriesTreeComponent {\n constructor() {\n //#region ---- Services & Dependencies ----\n this.reportDefinitionService = inject(AXPReportDefinitionService);\n //#endregion\n //#region ---- Output Events ----\n /**\n * Emitted when a category node is clicked\n */\n this.categoryClick = output();\n /**\n * Emitted when a report node is clicked\n */\n this.reportClick = output();\n //#endregion\n //#region ---- Data Loading Methods ----\n /**\n * Provide lazy loading tree data\n */\n this.provideLazyTreeView = async (selectedItemId) => {\n if (selectedItemId) {\n const categories = (await this.reportDefinitionService.getCategories(selectedItemId)).map((item) => ({\n id: item.id,\n title: item.title,\n hasChild: (item.hasChild || item.hasReport) ?? false,\n item: item,\n type: 'category',\n expanded: isNil(item.parentId) ? true : false,\n }));\n const definitions = (await this.reportDefinitionService.getReportsByCategoryId(selectedItemId)).map((item) => ({\n id: item.id,\n title: item.title,\n hasChild: false,\n item: item,\n type: 'definition',\n expanded: false,\n }));\n return [...categories, ...definitions];\n }\n else {\n const categories = await this.reportDefinitionService.getCategories();\n const items = categories.map((item) => ({\n id: item.id,\n title: item.title,\n hasChild: (item.hasChild || item.hasReport) ?? false,\n item: item,\n type: 'category',\n expanded: false,\n }));\n return items;\n }\n };\n }\n //#endregion\n //#region ---- Event Handlers ----\n /**\n * Handle tree node click events\n */\n async handleNodeClick(event) {\n const node = event.data;\n if (node.type === 'category') {\n this.categoryClick.emit(node.item);\n }\n else if (node.type === 'definition') {\n this.reportClick.emit(node.item);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXPReportCategoriesTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AXPReportCategoriesTreeComponent, isStandalone: true, selector: \"axp-report-categories-tree\", outputs: { categoryClick: \"categoryClick\", reportClick: \"reportClick\" }, host: { classAttribute: \"axp-report-categories-tree\" }, ngImport: i0, template: \"<ax-tree-view\\n [showCheckbox]=\\\"false\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [textField]=\\\"'title'\\\"\\n [hasChildField]=\\\"'hasChild'\\\"\\n [valueField]=\\\"'id'\\\"\\n [expandedField]=\\\"'expanded'\\\"\\n [items]=\\\"provideLazyTreeView\\\"\\n (onNodeClick)=\\\"handleNodeClick($event)\\\"\\n>\\n</ax-tree-view>\\n\\n<ng-template #itemTemplate let-item>\\n @if (item.type === 'category') {\\n <ax-icon class=\\\"fas ax-text-warning fa-folder\\\"></ax-icon>\\n } @else {\\n <ax-icon class=\\\"fas ax-text-accent1 fa-file-chart-column\\\"></ax-icon>\\n }\\n {{ item.title }}\\n</ng-template>\\n\", styles: [\".axp-report-categories-tree{height:100%;width:100%}.axp-report-categories-tree .__tree-view .__item{display:flex;align-items:center;gap:.5rem}.axp-report-categories-tree .__tree-view .__item .__icon{flex-shrink:0}.axp-report-categories-tree .__tree-view .__item .__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.axp-report-categories-tree .__tree-view .__item:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXTreeViewModule }, { kind: \"component\", type: i2.AXTreeViewComponent, selector: \"ax-tree-view\", inputs: [\"items\", \"showCheckbox\", \"hasCheckboxField\", \"selectionMode\", \"selectionBehavior\", \"selectionScope\", \"focusNodeEnabled\", \"valueField\", \"textField\", \"visibleField\", \"disableField\", \"hasChildField\", \"selectedField\", \"expandedField\", \"tooltipField\", \"childrenField\", \"activeField\", \"indeterminateField\", \"parentField\", \"iconField\", \"toggleIcons\", \"look\", \"showEmptyNodeMassage\", \"itemTemplate\", \"emptyTemplate\", \"expandOn\"], outputs: [\"onSelectionChanged\", \"onItemSelectedChanged\", \"onNodeClick\", \"onCollapsedChanged\", \"onNodedbClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXPReportCategoriesTreeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-categories-tree', standalone: true, imports: [\n CommonModule,\n AXDecoratorModule,\n AXTreeViewModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'axp-report-categories-tree' }, template: \"<ax-tree-view\\n [showCheckbox]=\\\"false\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [textField]=\\\"'title'\\\"\\n [hasChildField]=\\\"'hasChild'\\\"\\n [valueField]=\\\"'id'\\\"\\n [expandedField]=\\\"'expanded'\\\"\\n [items]=\\\"provideLazyTreeView\\\"\\n (onNodeClick)=\\\"handleNodeClick($event)\\\"\\n>\\n</ax-tree-view>\\n\\n<ng-template #itemTemplate let-item>\\n @if (item.type === 'category') {\\n <ax-icon class=\\\"fas ax-text-warning fa-folder\\\"></ax-icon>\\n } @else {\\n <ax-icon class=\\\"fas ax-text-accent1 fa-file-chart-column\\\"></ax-icon>\\n }\\n {{ item.title }}\\n</ng-template>\\n\", styles: [\".axp-report-categories-tree{height:100%;width:100%}.axp-report-categories-tree .__tree-view .__item{display:flex;align-items:center;gap:.5rem}.axp-report-categories-tree .__tree-view .__item .__icon{flex-shrink:0}.axp-report-categories-tree .__tree-view .__item .__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.axp-report-categories-tree .__tree-view .__item:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1jYXRlZ29yaWVzLXRyZWUvcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1jYXRlZ29yaWVzLXRyZWUvcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUE0QixnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFGLE9BQU8sRUFBMEMsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFnQmxDLFlBQVk7QUFnQlosTUFBTSxPQUFPLGdDQUFnQztJQWQ3QztRQWdCSSwrQ0FBK0M7UUFFOUIsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFOUUsWUFBWTtRQUVaLHFDQUFxQztRQUVyQzs7V0FFRztRQUNILGtCQUFhLEdBQUcsTUFBTSxFQUFxQixDQUFDO1FB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LFNBQVM7K0JBQ0ksNEJBQTRCLGNBQzFCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3FCQUNuQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSw0QkFBNEIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiAtLS0tICAgSW1wb3J0cyAgIC0tLS1cblxuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFRyZWVJdGVtQ2xpY2tCYXNlRXZlbnQsIEFYVHJlZVZpZXdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdHJlZS12aWV3JztcbmltcG9ydCB7IEFYUFJlcG9ydENhdGVnb3J5LCBBWFBSZXBvcnREZWZpbml0aW9uLCBBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIG91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiAtLS0tICAgSW50ZXJmYWNlICAgLS0tLVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVWaWV3SXRlbSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGhhc0NoaWxkOiBib29sZWFuO1xuICAgIGNoaWxkcmVuPzogVHJlZVZpZXdJdGVtW107XG4gICAgaXRlbT86IEFYUFJlcG9ydENhdGVnb3J5IHwgQVhQUmVwb3J0RGVmaW5pdGlvbjtcbiAgICB0eXBlOiAnY2F0ZWdvcnknIHwgJ2RlZmluaXRpb24nO1xuICAgIGV4cGFuZGVkOiBib29sZWFuO1xufVxuXG4vLyNlbmRyZWdpb25cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtcmVwb3J0LWNhdGVnb3JpZXMtdHJlZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYVHJlZVZpZXdNb2R1bGUsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3JlcG9ydC1jYXRlZ29yaWVzLXRyZWUuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2F4cC1yZXBvcnQtY2F0ZWdvcmllcy10cmVlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBBWFBSZXBvcnRDYXRlZ29yaWVzVHJlZUNvbXBvbmVudCB7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFNlcnZpY2VzICYgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXBvcnREZWZpbml0aW9uU2VydmljZSA9IGluamVjdChBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgT3V0cHV0IEV2ZW50cyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBhIGNhdGVnb3J5IG5vZGUgaXMgY2xpY2tlZFxuICAgICAqL1xuICAgIGNhdGVnb3J5Q2xpY2sgPSBvdXRwdXQ8QVhQUmVwb3J0Q2F0ZWdvcnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gYSByZXBvcnQgbm9kZSBpcyBjbGlja2VkXG4gICAgICovXG4gICAgcmVwb3J0Q2xpY2sgPSBvdXRwdXQ8QVhQUmVwb3J0RGVmaW5pdGlvbj4oKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBEYXRhIExvYWRpbmcgTWV0aG9kcyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIFByb3ZpZGUgbGF6eSBsb2FkaW5nIHRyZWUgZGF0YVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwcm92aWRlTGF6eVRyZWVWaWV3ID0gYXN5bmMgKHNlbGVjdGVkSXRlbUlkPzogc3RyaW5nIHwgbnVtYmVyKTogUHJvbWlzZTxUcmVlVmlld0l0ZW1bXT4gPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSAoYXdhaXQgdGhpcy5yZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yaWVzKHNlbGVjdGVkSXRlbUlkIGFzIHN0cmluZykpLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZSxcbiAgICAgICAgICAgICAgICBoYXNDaGlsZDogKGl0ZW0uaGFzQ2hpbGQgfHwgaXRlbS5oYXNSZXBvcnQpID8/IGZhbHNlLFxuICAgICAgICAgICAgICAgIGl0ZW06IGl0ZW0sXG4gICAgICAgICAgICAgICAgdHlwZTogJ2NhdGVnb3J5JyBhcyAnY2F0ZWdvcnknIHwgJ2RlZmluaXRpb24nLFxuICAgICAgICAgICAgICAgIGV4cGFuZGVkOiBpc05pbChpdGVtLnBhcmVudElkKSA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGNvbnN0IGRlZmluaXRpb25zID0gKGF3YWl0IHRoaXMucmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0UmVwb3J0c0J5Q2F0ZWdvcnlJZChzZWxlY3RlZEl0ZW1JZCBhcyBzdHJpbmcpKS5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0udGl0bGUsXG4gICAgICAgICAgICAgICAgaGFzQ2hpbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGl0ZW06IGl0ZW0sXG4gICAgICAgICAgICAgICAgdHlwZTogJ2RlZmluaXRpb24nIGFzICdjYXRlZ29yeScgfCAnZGVmaW5pdGlvbicsXG4gICAgICAgICAgICAgICAgZXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgcmV0dXJuIFsuLi5jYXRlZ29yaWVzLCAuLi5kZWZpbml0aW9uc107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjYXRlZ29yaWVzID0gYXdhaXQgdGhpcy5yZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yaWVzKCk7XG4gICAgICAgICAgICBjb25zdCBpdGVtcyA9IGNhdGVnb3JpZXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxuICAgICAgICAgICAgICAgIGhhc0NoaWxkOiAoaXRlbS5oYXNDaGlsZCB8fCBpdGVtLmhhc1JlcG9ydCkgPz8gZmFsc2UsXG4gICAgICAgICAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnY2F0ZWdvcnknIGFzICdjYXRlZ29yeScgfCAnZGVmaW5pdGlvbicsXG4gICAgICAgICAgICAgICAgZXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSB0cmVlIG5vZGUgY2xpY2sgZXZlbnRzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZU5vZGVDbGljayhldmVudDogQVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBldmVudC5kYXRhIGFzIFRyZWVWaWV3SXRlbTtcblxuICAgICAgICBpZiAobm9kZS50eXBlID09PSAnY2F0ZWdvcnknKSB7XG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5Q2xpY2suZW1pdChub2RlLml0ZW0gYXMgQVhQUmVwb3J0Q2F0ZWdvcnkpO1xuICAgICAgICB9IGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gJ2RlZmluaXRpb24nKSB7XG4gICAgICAgICAgICB0aGlzLnJlcG9ydENsaWNrLmVtaXQobm9kZS5pdGVtIGFzIEFYUFJlcG9ydERlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59ICIsIjxheC10cmVlLXZpZXdcbiAgW3Nob3dDaGVja2JveF09XCJmYWxzZVwiXG4gIFtpdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlXCJcbiAgW3RleHRGaWVsZF09XCIndGl0bGUnXCJcbiAgW2hhc0NoaWxkRmllbGRdPVwiJ2hhc0NoaWxkJ1wiXG4gIFt2YWx1ZUZpZWxkXT1cIidpZCdcIlxuICBbZXhwYW5kZWRGaWVsZF09XCInZXhwYW5kZWQnXCJcbiAgW2l0ZW1zXT1cInByb3ZpZGVMYXp5VHJlZVZpZXdcIlxuICAob25Ob2RlQ2xpY2spPVwiaGFuZGxlTm9kZUNsaWNrKCRldmVudClcIlxuPlxuPC9heC10cmVlLXZpZXc+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlIGxldC1pdGVtPlxuICBAaWYgKGl0ZW0udHlwZSA9PT0gJ2NhdGVnb3J5Jykge1xuICAgIDxheC1pY29uIGNsYXNzPVwiZmFzIGF4LXRleHQtd2FybmluZyBmYS1mb2xkZXJcIj48L2F4LWljb24+XG4gIH0gQGVsc2Uge1xuICAgIDxheC1pY29uIGNsYXNzPVwiZmFzIGF4LXRleHQtYWNjZW50MSBmYS1maWxlLWNoYXJ0LWNvbHVtblwiPjwvYXgtaWNvbj5cbiAgfVxuICB7eyBpdGVtLnRpdGxlIH19XG48L25nLXRlbXBsYXRlPlxuIl19","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPReportDefinitionService } from '@acorex/platform/common';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { filter, firstValueFrom, startWith } from 'rxjs';\nimport { AXPReportRunnerRootViewModel } from '../report-runner.viewmodel';\nimport { AXPReportCategoriesTreeComponent } from '../report-categories-tree/report-categories-tree.component';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@acorex/components/search-box\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXMReportRunnerRootPageComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n this.vm = inject(AXPReportRunnerRootViewModel);\n this.layoutService = inject(AXPLayoutThemeService);\n this.activatedRoute = inject(ActivatedRoute);\n this.unsubscribe = inject(AXUnsubscriber);\n this.reportDefinitionService = inject(AXPReportDefinitionService);\n this.workflow = inject(AXPWorkflowService);\n this.router = inject(Router);\n this.baseRoutes = [this.sessionService.application?.name, 'report-management', 'reports'];\n }\n async ngOnInit() {\n await super.ngOnInit();\n //\n this.router.events\n .pipe(this.unsubscribe.takeUntilDestroy, filter((event) => event instanceof NavigationEnd), startWith(null))\n .subscribe(async () => {\n await this.loadFromRoute();\n });\n }\n async loadFromRoute() {\n const snapshot = this.activatedRoute.snapshot;\n const segments = await firstValueFrom(this.activatedRoute.url);\n let categoryId = segments[segments.length - 1]?.path ?? null;\n if (categoryId) {\n await this.vm.setActiveCategoryById(categoryId);\n }\n else {\n await this.vm.loadRootCategories();\n return;\n }\n //\n let reportId = snapshot.queryParamMap.get('report') ?? null;\n if (reportId) {\n // Navigate directly to viewer instead of showing parameters\n await this.navigateToViewer(reportId);\n }\n }\n //#region ---- Event Handlers ----\n /**\n * Handle category selection from tree\n */\n async onCategoryClick(category) {\n await this.navigateToCategory(category);\n }\n /**\n * Handle report selection from tree\n */\n async onReportClick(report) {\n await this.navigateToReport(report);\n }\n /**\n * Navigate directly to report viewer with the selected report\n */\n async navigateToViewer(reportId) {\n const baseViewerRoute = [this.sessionService.application?.name, 'report-management', 'viewer'];\n await this.router.navigate(baseViewerRoute, {\n queryParams: { reportId }\n });\n }\n //#endregion\n async navigateToCategory(category) {\n // Find the path to this category\n const path = await this.reportDefinitionService.getCategoriesPathById(category.id);\n // Find the index of the target category in the path\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n async navigateToReport(report) {\n // Navigate directly to viewer instead of showing parameters in runner\n await this.navigateToViewer(report.id);\n }\n //#region ---- Page Configuration Overrides ----\n async getPageBreadcrumbs() {\n const path = this.vm.activeCategoriesPath();\n const report = {\n name: 'reports',\n title: await this.translateService.translateAsync('@report-management:root-menu'),\n command: {\n name: 'navigate-to-reports-root',\n },\n };\n if (!path || path.length === 0) {\n return [report];\n }\n const breadcrumbs = [report];\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts = [...urlParts, cat.id];\n breadcrumbs.push({\n name: cat.id,\n title: cat.title,\n command: {\n name: 'navigate-to-category',\n options: {\n category: cat,\n },\n },\n });\n }\n return breadcrumbs;\n }\n async getSecondaryMenuItems() {\n return [];\n }\n async getPageTitle() {\n return this.vm.title();\n }\n async getPageDescription() {\n return this.vm.description();\n }\n async getBackButton() {\n const categoriesPath = this.vm.activeCategoriesPath();\n if (!categoriesPath || categoriesPath.length === 0) {\n // At root level, no back button\n return null;\n }\n if (categoriesPath.length === 1) {\n // At first level category, back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:root-menu'),\n };\n }\n // At deeper level, back to parent category\n const parentCategory = categoriesPath[categoriesPath.length - 2];\n return {\n title: parentCategory.title,\n };\n }\n async onBackButtonClick() {\n const categoriesPath = this.vm.activeCategoriesPath();\n if (!categoriesPath || categoriesPath.length <= 1) {\n // Navigate back to reports root\n await this.router.navigate([...this.baseRoutes]);\n }\n else {\n // Navigate to parent category\n const parentCategoriesPath = categoriesPath.slice(0, -1);\n let urlParts = [...this.baseRoutes];\n for (const cat of parentCategoriesPath) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n }\n async execute(command) {\n switch (command.name) {\n case 'navigate-to-category':\n await this.navigateToCategory(command.options?.['category']);\n break;\n case 'navigate-to-reports-root':\n await this.router.navigate([...this.baseRoutes]);\n break;\n case 'create-report':\n await this.workflow.execute('report-create', {\n data: {\n categoryId: this.vm.activeCategory()?.id ?? null,\n },\n });\n break;\n }\n }\n async getPrimaryMenuItems() {\n return [\n {\n title: 't(\"actions.create\")',\n icon: 'fa-light fa-plus',\n color: 'primary',\n command: {\n name: 'create-report',\n },\n },\n ];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMReportRunnerRootPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AXMReportRunnerRootPageComponent, isStandalone: true, selector: \"ng-component\", host: { classAttribute: \"axp-report-runner-root-page\" }, providers: [\n AXUnsubscriber,\n AXPReportRunnerRootViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMReportRunnerRootPageComponent,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.showSideMenu()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>{{ t('@report-management:features.report-runner.menu-title') | async }}</axp-layout-title>\\n <axp-layout-toolbar>\\n <ax-search-box\\n [delayTime]=\\\"300\\\"\\n [ngModel]=\\\"vm.searchExpression()\\\"\\n (onValueChanged)=\\\"vm.search($event.value)\\\"\\n [placeholder]=\\\"t('search.placeholder') | async\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </axp-layout-toolbar>\\n </axp-layout-header>\\n <axp-layout-content>\\n <axp-report-categories-tree (categoryClick)=\\\"onCategoryClick($event)\\\" (reportClick)=\\\"onReportClick($event)\\\" />\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-content>\\n <!-- Desktop and Mobile: Always show browser template -->\\n <ng-container *ngTemplateOutlet=\\\"browser\\\"> </ng-container>\\n </axp-page-content>\\n\\n <!-- Desktop: Grid-based browser for main content -->\\n <ng-template #browser>\\n <div class=\\\"__reports-browser\\\">\\n @if (vm.categories().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Categories</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (category of vm.categories(); track category.id) {\\n <div class=\\\"__item __category\\\" (click)=\\\"navigateToCategory(category)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-folder\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ category.title }}</div>\\n @if (category.description) {\\n <div class=\\\"__item-description\\\">{{ category.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.reports().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Reports</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (report of vm.reports(); track report.id) {\\n <div class=\\\"__item __report\\\" (click)=\\\"navigateToReport(report)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-file-chart-column\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ report.title }}</div>\\n @if (report.description) {\\n <div class=\\\"__item-description\\\">{{ report.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.categories().length === 0 && vm.reports().length === 0) {\\n <div class=\\\"__empty-state\\\">\\n <div class=\\\"__empty-icon\\\">\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </div>\\n <div class=\\\"__empty-content\\\">\\n <h4>No items found</h4>\\n <p>There are no categories or reports available in this location.</p>\\n </div>\\n </div>\\n }\\n </div>\\n </ng-template>\\n</axp-page-layout>\\n\", styles: [\".axp-report-runner-root-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-runner-root-page axp-layout-start-side{width:24rem}}.axp-report-runner-root-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding-left:1rem;padding-right:1rem}.axp-report-runner-root-page .__reports-browser>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser{padding:.75rem}@media (min-width: 1024px){.axp-report-runner-root-page .__reports-browser{padding:1.5rem}}.axp-report-runner-root-page .__reports-browser .__section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser .__section .__section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-runner-root-page .__reports-browser .__section .__section-title ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1536px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 2560px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{cursor:pointer;border-radius:.5rem;border-width:1px;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{display:flex;align-items:flex-start;gap:.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-icon{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.25rem;font-size:1.125rem;line-height:1.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content{min-width:0px;flex:1 1 0%}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-description{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon{background-color:rgba(var(--ax-sys-color-warning-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-warning-500),.05)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon{background-color:rgba(var(--ax-sys-color-primary-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-primary-500),.05)}.axp-report-runner-root-page .__reports-browser .__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:4rem;padding-bottom:4rem;text-align:center}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;opacity:.5}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content h4{margin-bottom:.5rem;font-size:1.5rem;font-weight:500;line-height:1.5rem}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content p{max-width:28rem;opacity:74%;display:block;font-size:1rem;font-weight:400;line-height:1.625rem}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: \n //\n AXSearchBoxModule }, { kind: \"component\", type: i3.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i5.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXTabsModule }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"component\", type: \n //\n AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPThemeLayoutToolbarComponent, selector: \"axp-layout-toolbar\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPThemeLayoutStartSideComponent, selector: \"axp-layout-page-start-side, axp-layout-start-side\" }, { kind: \"component\", type: \n //\n AXPReportCategoriesTreeComponent, selector: \"axp-report-categories-tree\", outputs: [\"categoryClick\", \"reportClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMReportRunnerRootPageComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n //\n AXSearchBoxModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXTranslationModule,\n AXButtonModule,\n AXTabsModule,\n AXBadgeModule,\n AXLoadingModule,\n AXDropdownButtonModule,\n //\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutToolbarComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n //\n AXPReportCategoriesTreeComponent,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n AXUnsubscriber,\n AXPReportRunnerRootViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMReportRunnerRootPageComponent,\n },\n ], host: { class: 'axp-report-runner-root-page' }, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.showSideMenu()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>{{ t('@report-management:features.report-runner.menu-title') | async }}</axp-layout-title>\\n <axp-layout-toolbar>\\n <ax-search-box\\n [delayTime]=\\\"300\\\"\\n [ngModel]=\\\"vm.searchExpression()\\\"\\n (onValueChanged)=\\\"vm.search($event.value)\\\"\\n [placeholder]=\\\"t('search.placeholder') | async\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </axp-layout-toolbar>\\n </axp-layout-header>\\n <axp-layout-content>\\n <axp-report-categories-tree (categoryClick)=\\\"onCategoryClick($event)\\\" (reportClick)=\\\"onReportClick($event)\\\" />\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-content>\\n <!-- Desktop and Mobile: Always show browser template -->\\n <ng-container *ngTemplateOutlet=\\\"browser\\\"> </ng-container>\\n </axp-page-content>\\n\\n <!-- Desktop: Grid-based browser for main content -->\\n <ng-template #browser>\\n <div class=\\\"__reports-browser\\\">\\n @if (vm.categories().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Categories</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (category of vm.categories(); track category.id) {\\n <div class=\\\"__item __category\\\" (click)=\\\"navigateToCategory(category)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-folder\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ category.title }}</div>\\n @if (category.description) {\\n <div class=\\\"__item-description\\\">{{ category.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.reports().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Reports</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (report of vm.reports(); track report.id) {\\n <div class=\\\"__item __report\\\" (click)=\\\"navigateToReport(report)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-file-chart-column\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ report.title }}</div>\\n @if (report.description) {\\n <div class=\\\"__item-description\\\">{{ report.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.categories().length === 0 && vm.reports().length === 0) {\\n <div class=\\\"__empty-state\\\">\\n <div class=\\\"__empty-icon\\\">\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </div>\\n <div class=\\\"__empty-content\\\">\\n <h4>No items found</h4>\\n <p>There are no categories or reports available in this location.</p>\\n </div>\\n </div>\\n }\\n </div>\\n </ng-template>\\n</axp-page-layout>\\n\", styles: [\".axp-report-runner-root-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-runner-root-page axp-layout-start-side{width:24rem}}.axp-report-runner-root-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding-left:1rem;padding-right:1rem}.axp-report-runner-root-page .__reports-browser>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser{padding:.75rem}@media (min-width: 1024px){.axp-report-runner-root-page .__reports-browser{padding:1.5rem}}.axp-report-runner-root-page .__reports-browser .__section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser .__section .__section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-runner-root-page .__reports-browser .__section .__section-title ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1536px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 2560px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{cursor:pointer;border-radius:.5rem;border-width:1px;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{display:flex;align-items:flex-start;gap:.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-icon{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.25rem;font-size:1.125rem;line-height:1.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content{min-width:0px;flex:1 1 0%}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-description{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon{background-color:rgba(var(--ax-sys-color-warning-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-warning-500),.05)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon{background-color:rgba(var(--ax-sys-color-primary-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-primary-500),.05)}.axp-report-runner-root-page .__reports-browser .__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:4rem;padding-bottom:4rem;text-align:center}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;opacity:.5}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content h4{margin-bottom:.5rem;font-size:1.5rem;font-weight:500;line-height:1.5rem}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content p{max-width:28rem;opacity:74%;display:block;font-size:1rem;font-weight:400;line-height:1.625rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXJ1bm5lci1yb290LXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvcmVwb3J0LXJ1bm5lci9yZXBvcnQtcnVubmVyLXJvb3QtcGFnZS9yZXBvcnQtcnVubmVyLXJvb3QtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUEwQywwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFD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QUFzQjt3QkFDdEIsNEJBQTRCO3dCQUM1Qiw4QkFBOEI7d0JBQzlCLDZCQUE2Qjt3QkFDN0IsZ0NBQWdDO3dCQUNoQyxFQUFFO3dCQUNGLGdDQUFnQztxQkFDbkMsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1AsY0FBYzt3QkFDZCw0QkFBNEI7d0JBQzVCOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsa0NBQWtDO3lCQUNoRDtxQkFDSixRQUNLLEVBQUUsS0FBSyxFQUFFLDZCQUE2QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYU2VhcmNoQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlYXJjaC1ib3gnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBBWFBSZXBvcnRDYXRlZ29yeSwgQVhQUmVwb3J0RGVmaW5pdGlvbiwgQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQQmFja0J1dHRvbiwgQVhQQnJlYWRjcnVtYkl0ZW0sIEFYUEV4ZWN1dGVDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7XG4gICAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dFN0YXJ0U2lkZUNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dFRvb2xiYXJDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvdmlld3MnO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0VmFsdWVGcm9tLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUFJlcG9ydFJ1bm5lclJvb3RWaWV3TW9kZWwgfSBmcm9tICcuLi9yZXBvcnQtcnVubmVyLnZpZXdtb2RlbCc7XG5pbXBvcnQgeyBBWFBSZXBvcnRDYXRlZ29yaWVzVHJlZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1jYXRlZ29yaWVzLXRyZWUvcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29uc3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICAvL1xuICAgICAgICBBWFNlYXJjaEJveE1vZHVsZSxcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWFRhYnNNb2R1bGUsXG4gICAgICAgIEFYQmFkZ2VNb2R1bGUsXG4gICAgICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICAgICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICAgICAgLy9cbiAgICAgICAgQVhQUGFnZUxheW91dENvbXBvbmVudCxcbiAgICAgICAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgICAgICAgQVhQVGhlbWVMYXlvdXRUb29sYmFyQ29tcG9uZW50LFxuICAgICAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQsXG4gICAgICAgIC8vXG4gICAgICAgIEFYUFJlcG9ydENhdGVnb3JpZXNUcmVlQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcmVwb3J0LXJ1bm5lci1yb290LXBhZ2UuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEFYVW5zdWJzY3JpYmVyLFxuICAgICAgICBBWFBSZXBvcnRSdW5uZXJSb290Vmlld01vZGVsLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBWFBQYWdlTGF5b3V0QmFzZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBBWE1SZXBvcnRSdW5uZXJSb290UGFnZUNvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdheHAtcmVwb3J0LXJ1bm5lci1yb290LXBhZ2UnIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydFJ1bm5lclJvb3RQYWdlQ29tcG9uZW50IGV4dGVuZHMgQVhQUGFnZUxheW91dEJhc2VDb21wb25lbnQge1xuICAgIHByb3RlY3RlZCB2bSA9IGluamVjdChBWFBSZXBvcnRSdW5uZXJSb290Vmlld01vZGVsKTtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbGF5b3V0U2VydmljZSA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpO1xuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByaXZhdGUgdW5zdWJzY3JpYmUgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuICAgIHByaXZhdGUgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UgPSBpbmplY3QoQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UpO1xuICAgIHByaXZhdGUgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gICAgcHJpdmF0ZSBiYXNlUm91dGVzID0gW3RoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWUsICdyZXBvcnQtbWFuYWdlbWVudCcsICdyZXBvcnRzJ107XG5cbiAgICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgLy9cbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0aGlzLnVuc3Vic2NyaWJlLnRha2VVbnRpbERlc3Ryb3ksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWRGcm9tUm91dGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZEZyb21Sb3V0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3Qgc25hcHNob3QgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90O1xuICAgICAgICBjb25zdCBzZWdtZW50cyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuYWN0aXZhdGVkUm91dGUudXJsKTtcblxuICAgICAgICBsZXQgY2F0ZWdvcnlJZCA9IHNlZ21lbnRzW3NlZ21lbnRzLmxlbmd0aCAtIDFdPy5wYXRoID8/IG51bGw7XG4gICAgICAgIGlmIChjYXRlZ29yeUlkKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnZtLnNldEFjdGl2ZUNhdGVnb3J5QnlJZChjYXRlZ29yeUlkKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudm0ubG9hZFJvb3RDYXRlZ29yaWVzKCk7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICAvL1xuXG4gICAgICAgIGxldCByZXBvcnRJZCA9IHNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdyZXBvcnQnKSA/PyBudWxsO1xuXG4gICAgICAgIGlmIChyZXBvcnRJZCkge1xuICAgICAgICAgICAgLy8gTmF2aWdhdGUgZGlyZWN0bHkgdG8gdmlld2VyIGluc3RlYWQgb2Ygc2hvd2luZyBwYXJhbWV0ZXJzXG4gICAgICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG9WaWV3ZXIocmVwb3J0SWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSBjYXRlZ29yeSBzZWxlY3Rpb24gZnJvbSB0cmVlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIG9uQ2F0ZWdvcnlDbGljayhjYXRlZ29yeTogQVhQUmVwb3J0Q2F0ZWdvcnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5uYXZpZ2F0ZVRvQ2F0ZWdvcnkoY2F0ZWdvcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSByZXBvcnQgc2VsZWN0aW9uIGZyb20gdHJlZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhc3luYyBvblJlcG9ydENsaWNrKHJlcG9ydDogQVhQUmVwb3J0RGVmaW5pdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG9SZXBvcnQocmVwb3J0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOYXZpZ2F0ZSBkaXJlY3RseSB0byByZXBvcnQgdmlld2VyIHdpdGggdGhlIHNlbGVjdGVkIHJlcG9ydFxuICAgICAqL1xuICAgIHByaXZhdGUgYXN5bmMgbmF2aWdhdGVUb1ZpZXdlcihyZXBvcnRJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGJhc2VWaWV3ZXJSb3V0ZSA9IFt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lLCAncmVwb3J0LW1hbmFnZW1lbnQnLCAndmlld2VyJ107XG4gICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKGJhc2VWaWV3ZXJSb3V0ZSwge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgcmVwb3J0SWQgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIHByb3RlY3RlZCBhc3luYyBuYXZpZ2F0ZVRvQ2F0ZWdvcnkoY2F0ZWdvcnk6IEFYUFJlcG9ydENhdGVnb3J5KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIEZpbmQgdGhlIHBhdGggdG8gdGhpcyBjYXRlZ29yeVxuICAgICAgICBjb25zdCBwYXRoID0gYXdhaXQgdGhpcy5yZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yaWVzUGF0aEJ5SWQoY2F0ZWdvcnkuaWQpO1xuICAgICAgICAvLyBGaW5kIHRoZSBpbmRleCBvZiB0aGUgdGFyZ2V0IGNhdGVnb3J5IGluIHRoZSBwYXRoXG4gICAgICAgIGxldCB1cmxQYXJ0cyA9IFsuLi50aGlzLmJhc2VSb3V0ZXNdO1xuICAgICAgICBmb3IgKGNvbnN0IGNhdCBvZiBwYXRoKSB7XG4gICAgICAgICAgICB1cmxQYXJ0cy5wdXNoKGNhdC5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUodXJsUGFydHMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBuYXZpZ2F0ZVRvUmVwb3J0KHJlcG9ydDogQVhQUmVwb3J0RGVmaW5pdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBOYXZpZ2F0ZSBkaXJlY3RseSB0byB2aWV3ZXIgaW5zdGVhZCBvZiBzaG93aW5nIHBhcmFtZXRlcnMgaW4gcnVubmVyXG4gICAgICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUb1ZpZXdlcihyZXBvcnQuaWQpO1xuICAgIH1cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgUGFnZSBDb25maWd1cmF0aW9uIE92ZXJyaWRlcyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBnZXRQYWdlQnJlYWRjcnVtYnMoKTogUHJvbWlzZTxBWFBCcmVhZGNydW1iSXRlbVtdPiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLnZtLmFjdGl2ZUNhdGVnb3JpZXNQYXRoKCk7XG4gICAgICAgIGNvbnN0IHJlcG9ydCA9IHtcbiAgICAgICAgICAgIG5hbWU6ICdyZXBvcnRzJyxcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpyb290LW1lbnUnKSxcbiAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnbmF2aWdhdGUtdG8tcmVwb3J0cy1yb290JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIGlmICghcGF0aCB8fCBwYXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFtyZXBvcnRdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBBWFBCcmVhZGNydW1iSXRlbVtdID0gW3JlcG9ydF07XG4gICAgICAgIGxldCB1cmxQYXJ0cyA9IFsuLi50aGlzLmJhc2VSb3V0ZXNdO1xuICAgICAgICBmb3IgKGNvbnN0IGNhdCBvZiBwYXRoKSB7XG4gICAgICAgICAgICB1cmxQYXJ0cyA9IFsuLi51cmxQYXJ0cywgY2F0LmlkXTtcbiAgICAgICAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6IGNhdC5pZCxcbiAgICAgICAgICAgICAgICB0aXRsZTogY2F0LnRpdGxlLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ25hdmlnYXRlLXRvLWNhdGVnb3J5JyxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnk6IGNhdCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJyZWFkY3J1bWJzO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGFzeW5jIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VUaXRsZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy52bS50aXRsZSgpITtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBhc3luYyBnZXRQYWdlRGVzY3JpcHRpb24oKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZtLmRlc2NyaXB0aW9uKCkhO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGFzeW5jIGdldEJhY2tCdXR0b24oKTogUHJvbWlzZTxBWFBCYWNrQnV0dG9uIHwgbnVsbD4ge1xuICAgICAgICBjb25zdCBjYXRlZ29yaWVzUGF0aCA9IHRoaXMudm0uYWN0aXZlQ2F0ZWdvcmllc1BhdGgoKTtcblxuICAgICAgICBpZiAoIWNhdGVnb3JpZXNQYXRoIHx8IGNhdGVnb3JpZXNQYXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgLy8gQXQgcm9vdCBsZXZlbCwgbm8gYmFjayBidXR0b25cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhdGVnb3JpZXNQYXRoLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgLy8gQXQgZmlyc3QgbGV2ZWwgY2F0ZWdvcnksIGJhY2sgdG8gcmVwb3J0cyByb290XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpyb290LW1lbnUnKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBdCBkZWVwZXIgbGV2ZWwsIGJhY2sgdG8gcGFyZW50IGNhdGVnb3J5XG4gICAgICAgIGNvbnN0IHBhcmVudENhdGVnb3J5ID0gY2F0ZWdvcmllc1BhdGhbY2F0ZWdvcmllc1BhdGgubGVuZ3RoIC0gMl07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0aXRsZTogcGFyZW50Q2F0ZWdvcnkudGl0bGUsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgYXN5bmMgb25CYWNrQnV0dG9uQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGNhdGVnb3JpZXNQYXRoID0gdGhpcy52bS5hY3RpdmVDYXRlZ29yaWVzUGF0aCgpO1xuXG4gICAgICAgIGlmICghY2F0ZWdvcmllc1BhdGggfHwgY2F0ZWdvcmllc1BhdGgubGVuZ3RoIDw9IDEpIHtcbiAgICAgICAgICAgIC8vIE5hdmlnYXRlIGJhY2sgdG8gcmVwb3J0cyByb290XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbLi4udGhpcy5iYXNlUm91dGVzXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBOYXZpZ2F0ZSB0byBwYXJlbnQgY2F0ZWdvcnlcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudENhdGVnb3JpZXNQYXRoID0gY2F0ZWdvcmllc1BhdGguc2xpY2UoMCwgLTEpO1xuICAgICAgICAgICAgbGV0IHVybFBhcnRzID0gWy4uLnRoaXMuYmFzZVJvdXRlc107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhdCBvZiBwYXJlbnRDYXRlZ29yaWVzUGF0aCkge1xuICAgICAgICAgICAgICAgIHVybFBhcnRzLnB1c2goY2F0LmlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKHVybFBhcnRzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgc3dpdGNoIChjb21tYW5kLm5hbWUpIHtcbiAgICAgICAgICAgIGNhc2UgJ25hdmlnYXRlLXRvLWNhdGVnb3J5JzpcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG9DYXRlZ29yeShjb21tYW5kLm9wdGlvbnM/LlsnY2F0ZWdvcnknXSBhcyBBWFBSZXBvcnRDYXRlZ29yeSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICduYXZpZ2F0ZS10by1yZXBvcnRzLXJvb3QnOlxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFsuLi50aGlzLmJhc2VSb3V0ZXNdKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NyZWF0ZS1yZXBvcnQnOlxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgncmVwb3J0LWNyZWF0ZScsIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlJZDogdGhpcy52bS5hY3RpdmVDYXRlZ29yeSgpPy5pZCA/PyBudWxsLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgYXN5bmMgZ2V0UHJpbWFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ3QoXCJhY3Rpb25zLmNyZWF0ZVwiKScsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXBsdXMnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnY3JlYXRlLXJlcG9ydCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59XG4iLCI8YXhwLXBhZ2UtbGF5b3V0ICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICBAaWYgKHZtLnNob3dTaWRlTWVudSgpKSB7XG4gICAgPGF4cC1sYXlvdXQtc3RhcnQtc2lkZT5cbiAgICAgIDxheHAtbGF5b3V0LWhlYWRlcj5cbiAgICAgICAgPGF4cC1sYXlvdXQtdGl0bGU+e3sgdCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC1ydW5uZXIubWVudS10aXRsZScpIHwgYXN5bmMgfX08L2F4cC1sYXlvdXQtdGl0bGU+XG4gICAgICAgIDxheHAtbGF5b3V0LXRvb2xiYXI+XG4gICAgICAgICAgPGF4LXNlYXJjaC1ib3hcbiAgICAgICAgICAgIFtkZWxheVRpbWVdPVwiMzAwXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInZtLnNlYXJjaEV4cHJlc3Npb24oKVwiXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwidm0uc2VhcmNoKCRldmVudC52YWx1ZSlcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQoJ3NlYXJjaC5wbGFjZWhvbGRlcicpIHwgYXN5bmNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgICAgPC9heC1zZWFyY2gtYm94PlxuICAgICAgICA8L2F4cC1sYXlvdXQtdG9vbGJhcj5cbiAgICAgIDwvYXhwLWxheW91dC1oZWFkZXI+XG4gICAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgICA8YXhwLXJlcG9ydC1jYXRlZ29yaWVzLXRyZWUgKGNhdGVnb3J5Q2xpY2spPVwib25DYXRlZ29yeUNsaWNrKCRldmVudClcIiAocmVwb3J0Q2xpY2spPVwib25SZXBvcnRDbGljaygkZXZlbnQpXCIgLz5cbiAgICAgIDwvYXhwLWxheW91dC1jb250ZW50PlxuICAgIDwvYXhwLWxheW91dC1zdGFydC1zaWRlPlxuICB9XG5cbiAgPGF4cC1wYWdlLWNvbnRlbnQ+XG4gICAgPCEtLSBEZXNrdG9wIGFuZCBNb2JpbGU6IEFsd2F5cyBzaG93IGJyb3dzZXIgdGVtcGxhdGUgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJyb3dzZXJcIj4gPC9uZy1jb250YWluZXI+XG4gIDwvYXhwLXBhZ2UtY29udGVudD5cblxuICA8IS0tIERlc2t0b3A6IEdyaWQtYmFzZWQgYnJvd3NlciBmb3IgbWFpbiBjb250ZW50IC0tPlxuICA8bmctdGVtcGxhdGUgI2Jyb3dzZXI+XG4gICAgPGRpdiBjbGFzcz1cIl9fcmVwb3J0cy1icm93c2VyXCI+XG4gICAgICBAaWYgKHZtLmNhdGVnb3JpZXMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX3NlY3Rpb25cIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJfX3NlY3Rpb24tdGl0bGVcIj5DYXRlZ29yaWVzPC9oMz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtcy1ncmlkXCI+XG4gICAgICAgICAgICBAZm9yIChjYXRlZ29yeSBvZiB2bS5jYXRlZ29yaWVzKCk7IHRyYWNrIGNhdGVnb3J5LmlkKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2l0ZW0gX19jYXRlZ29yeVwiIChjbGljayk9XCJuYXZpZ2F0ZVRvQ2F0ZWdvcnkoY2F0ZWdvcnkpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWZvbGRlclwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2l0ZW0tdGl0bGVcIj57eyBjYXRlZ29yeS50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgQGlmIChjYXRlZ29yeS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtLWRlc2NyaXB0aW9uXCI+e3sgY2F0ZWdvcnkuZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICBAaWYgKHZtLnJlcG9ydHMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX3NlY3Rpb25cIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJfX3NlY3Rpb24tdGl0bGVcIj5SZXBvcnRzPC9oMz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtcy1ncmlkXCI+XG4gICAgICAgICAgICBAZm9yIChyZXBvcnQgb2Ygdm0ucmVwb3J0cygpOyB0cmFjayByZXBvcnQuaWQpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbSBfX3JlcG9ydFwiIChjbGljayk9XCJuYXZpZ2F0ZVRvUmVwb3J0KHJlcG9ydClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZmlsZS1jaGFydC1jb2x1bW5cIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtLXRpdGxlXCI+e3sgcmVwb3J0LnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICBAaWYgKHJlcG9ydC5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtLWRlc2NyaXB0aW9uXCI+e3sgcmVwb3J0LmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgQGlmICh2bS5jYXRlZ29yaWVzKCkubGVuZ3RoID09PSAwICYmIHZtLnJlcG9ydHMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fZW1wdHktc3RhdGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19lbXB0eS1pY29uXCI+XG4gICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLWxpZ2h0IGZhLWZvbGRlci1vcGVuXCI+PC9heC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2VtcHR5LWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxoND5ObyBpdGVtcyBmb3VuZDwvaDQ+XG4gICAgICAgICAgICA8cD5UaGVyZSBhcmUgbm8gY2F0ZWdvcmllcyBvciByZXBvcnRzIGF2YWlsYWJsZSBpbiB0aGlzIGxvY2F0aW9uLjwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2F4cC1wYWdlLWxheW91dD5cbiJdfQ=="],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs","sources":["../tmp-esm2022/report-management/lib/features/report-runner/report-runner.viewmodel.js","../tmp-esm2022/report-management/lib/features/report-runner/report-categories-tree/report-categories-tree.component.js","../tmp-esm2022/report-management/lib/features/report-runner/report-runner-root-page/report-runner-root-page.component.js"],"sourcesContent":["import { AXPReportDefinitionService } from \"@acorex/platform/common\";\nimport { AXPPageStatus } from \"@acorex/platform/layout/builder\";\nimport { computed, inject } from \"@angular/core\";\nimport { signalStore, withMethods, withComputed, withState, withHooks, patchState } from \"@ngrx/signals\";\nimport { isEmpty, isNil } from \"lodash-es\";\nimport { merge } from \"rxjs\";\nimport { AXTranslationService } from \"@acorex/core/translation\";\nimport { AXLocaleService } from \"@acorex/core/locale\";\nimport { AXPLayoutThemeService } from \"@acorex/platform/themes/shared\";\nimport { RootConfig } from \"../../const\";\nexport const AXPReportRunnerRootViewModel = signalStore(withState(() => ({\n activeCategory: undefined,\n categories: [],\n reports: [],\n activeCategoriesPath: [],\n //\n searchExpression: null,\n //\n status: AXPPageStatus.Processing,\n})), withComputed((store, layout = inject(AXPLayoutThemeService)) => ({\n searchResults: computed(() => []),\n hasActiveCategory: computed(() => store.activeCategory() != null),\n showSideMenu: computed(() => layout.isLarge()),\n isSearching: computed(() => store.searchExpression() != null),\n isBusy: computed(() => store.status() == AXPPageStatus.Processing),\n isLoaded: computed(() => store.activeCategory() != null),\n title: computed(() => store.activeCategory()?.title ?? `@${RootConfig.config.i18n}:features.report-runner.page-title`),\n description: computed(() => store.activeCategory()?.description ?? `@${RootConfig.config.i18n}:features.report-runner.page-description`),\n})), withMethods((store, reportDefinitionService = inject(AXPReportDefinitionService)) => ({\n async loadRootCategories() {\n patchState(store, {\n activeCategory: undefined,\n reports: [],\n activeCategoriesPath: [],\n });\n //\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n patchState(store, {\n categories: await reportDefinitionService.getCategories(),\n });\n patchState(store, {\n status: AXPPageStatus.Idle,\n });\n },\n async getCategories(parentId) {\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n //\n const result = await reportDefinitionService.getCategories(parentId);\n //\n patchState(store, {\n status: AXPPageStatus.Idle,\n });\n //\n return result;\n },\n async getReports(categoryId) {\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n //\n const result = await reportDefinitionService.getReportsByCategoryId(categoryId);\n //\n patchState(store, {\n status: AXPPageStatus.Idle,\n });\n //\n return result;\n },\n async setActiveCategory(category) {\n //\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n //\n patchState(store, {\n activeCategory: category,\n });\n //\n patchState(store, {\n categories: await reportDefinitionService.getCategories(category.id),\n reports: await reportDefinitionService.getReportsByCategoryId(category.id),\n activeCategoriesPath: await reportDefinitionService.getCategoriesPathById(category.id),\n });\n //\n patchState(store, {\n status: AXPPageStatus.Idle,\n });\n },\n async setActiveCategoryById(id) {\n //\n patchState(store, {\n status: AXPPageStatus.Processing,\n });\n //\n const category = await reportDefinitionService.getCategoryById(id);\n if (category) {\n patchState(store, {\n activeCategory: category,\n });\n //\n patchState(store, {\n categories: await reportDefinitionService.getCategories(category.id),\n reports: await reportDefinitionService.getReportsByCategoryId(category.id),\n activeCategoriesPath: await reportDefinitionService.getCategoriesPathById(category.id),\n });\n }\n //\n patchState(store, {\n status: AXPPageStatus.Idle,\n });\n },\n //\n async search(expression) {\n if (!isNil(expression) && !isEmpty(expression)) {\n patchState(store, {\n searchExpression: expression,\n });\n }\n else {\n patchState(store, {\n searchExpression: null,\n });\n }\n },\n clearSearch() {\n patchState(store, {\n searchExpression: null,\n });\n },\n})), withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({\n async onInit() {\n merge(translationService.langChanges$, localeService.profileChanged$).subscribe(async () => {\n });\n //\n await store.loadRootCategories();\n },\n onDestroy() { },\n})));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXJ1bm5lci52aWV3bW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1ydW5uZXIudmlld21vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMEMsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHekMsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsV0FBVyxDQUNuRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNiLGNBQWMsRUFBRSxTQUEwQztJQUMxRCxVQUFVLEVBQUUsRUFBeUI7SUFDckMsT0FBTyxFQUFFLEVBQTJCO0lBQ3BDLG9CQUFvQixFQUFFLEVBQXlCO0lBQy9DLEVBQUU7SUFDRixnQkFBZ0IsRUFB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QUFhLENBQUMsZUFBZSxDQUNoQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUN2QixDQUFDLENBQUMsQ0FBQztRQUNILEVBQUU7UUFDRixNQUFNLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFDRCxTQUFTLEtBQUssQ0FBQztDQUNsQixDQUFDLENBQUMsQ0FFTixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQUmVwb3J0Q2F0ZWdvcnksIEFYUFJlcG9ydERlZmluaXRpb24sIEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29tbW9uXCI7XG5pbXBvcnQgeyBBWFBQYWdlU3RhdHVzIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2J1aWxkZXJcIjtcbmltcG9ydCB7IGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgc2lnbmFsU3RvcmUsIHdpdGhNZXRob2RzLCB3aXRoQ29tcHV0ZWQsIHdpdGhTdGF0ZSwgd2l0aEhvb2tzLCBwYXRjaFN0YXRlIH0gZnJvbSBcIkBuZ3J4L3NpZ25hbHNcIjtcbmltcG9ydCB7IGlzRW1wdHksIGlzTmlsIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uXCI7XG5pbXBvcnQgeyBBWExvY2FsZVNlcnZpY2UgfSBmcm9tIFwiQGFjb3JleC9jb3JlL2xvY2FsZVwiO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vdGhlbWVzL3NoYXJlZFwiO1xuaW1wb3J0IHsgUm9vdENvbmZpZyB9IGZyb20gXCIuLi8uLi9jb25zdFwiO1xuXG5cbmV4cG9ydCBjb25zdCBBWFBSZXBvcnRSdW5uZXJSb290Vmlld01vZGVsID0gc2lnbmFsU3RvcmUoXG4gICAgd2l0aFN0YXRlKCgpID0+ICh7XG4gICAgICAgIGFjdGl2ZUNhdGVnb3J5OiB1bmRlZmluZWQgYXMgQVhQUmVwb3J0Q2F0ZWdvcnkgfCB1bmRlZmluZWQsXG4gICAgICAgIGNhdGVnb3JpZXM6IFtdIGFzIEFYUFJlcG9ydENhdGVnb3J5W10sXG4gICAgICAgIHJlcG9ydHM6IFtdIGFzIEFYUFJlcG9ydERlZmluaXRpb25bXSxcbiAgICAgICAgYWN0aXZlQ2F0ZWdvcmllc1BhdGg6IFtdIGFzIEFYUFJlcG9ydENhdGVnb3J5W10sXG4gICAgICAgIC8vXG4gICAgICAgIHNlYXJjaEV4cHJlc3Npb246IG51bGwgYXMgc3RyaW5nIHwgbnVsbCxcbiAgICAgICAgLy9cbiAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgfSkpLFxuICAgIHdpdGhDb21wdXRlZCgoc3RvcmUsIGxheW91dCA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpKSA9PiAoe1xuICAgICAgICBzZWFyY2hSZXN1bHRzOiBjb21wdXRlZCgoKSA9PiBbXSksXG4gICAgICAgIGhhc0FjdGl2ZUNhdGVnb3J5OiBjb21wdXRlZCgoKSA9PiBzdG9yZS5hY3RpdmVDYXRlZ29yeSgpICE9IG51bGwpLFxuICAgICAgICBzaG93U2lkZU1lbnU6IGNvbXB1dGVkKCgpID0+IGxheW91dC5pc0xhcmdlKCkpLFxuICAgICAgICBpc1NlYXJjaGluZzogY29tcHV0ZWQoKCkgPT4gc3RvcmUuc2VhcmNoRXhwcmVzc2lvbigpICE9IG51bGwpLFxuICAgICAgICBpc0J1c3k6IGNvbXB1dGVkKCgpID0+IHN0b3JlLnN0YXR1cygpID09IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyksXG4gICAgICAgIGlzTG9hZGVkOiBjb21wdXRlZCgoKSA9PiBzdG9yZS5hY3RpdmVDYXRlZ29yeSgpICE9IG51bGwpLFxuICAgICAgICB0aXRsZTogY29tcHV0ZWQoKCkgPT5cbiAgICAgICAgICAgIHN0b3JlLmFjdGl2ZUNhdGVnb3J5KCk/LnRpdGxlID8/IGBAJHtSb290Q29uZmlnLmNvbmZpZy5pMThufTpmZWF0dXJlcy5yZXBvcnQtcnVubmVyLnBhZ2UtdGl0bGVgXG4gICAgICAgICksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBjb21wdXRlZCgoKSA9PlxuICAgICAgICAgICAgc3RvcmUuYWN0aXZlQ2F0ZWdvcnkoKT8uZGVzY3JpcHRpb24gPz8gYEAke1Jvb3RDb25maWcuY29uZmlnLmkxOG59OmZlYXR1cmVzLnJlcG9ydC1ydW5uZXIucGFnZS1kZXNjcmlwdGlvbmBcbiAgICAgICAgKSxcbiAgICB9KSksXG4gICAgd2l0aE1ldGhvZHMoXG4gICAgICAgIChzdG9yZSxcbiAgICAgICAgICAgIHJlcG9ydERlZmluaXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYUFJlcG9ydERlZmluaXRpb25TZXJ2aWNlKSxcbiAgICAgICAgKSA9PiAoe1xuICAgICAgICAgICAgYXN5bmMgbG9hZFJvb3RDYXRlZ29yaWVzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlQ2F0ZWdvcnk6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgcmVwb3J0czogW10sXG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNhdGVnb3JpZXNQYXRoOiBbXSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcmllczogYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllcygpLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFzeW5jIGdldENhdGVnb3JpZXMocGFyZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydENhdGVnb3J5W10+IHtcbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5Qcm9jZXNzaW5nLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yaWVzKHBhcmVudElkKTtcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLklkbGUsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXN5bmMgZ2V0UmVwb3J0cyhjYXRlZ29yeUlkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFJlcG9ydERlZmluaXRpb25bXT4ge1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLlByb2Nlc3NpbmcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnlJZCk7XG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXR1czogQVhQUGFnZVN0YXR1cy5JZGxlLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGFzeW5jIHNldEFjdGl2ZUNhdGVnb3J5KGNhdGVnb3J5OiBBWFBSZXBvcnRDYXRlZ29yeSkge1xuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yeTogY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcmllczogYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllcyhjYXRlZ29yeS5pZCksXG4gICAgICAgICAgICAgICAgICAgIHJlcG9ydHM6IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldFJlcG9ydHNCeUNhdGVnb3J5SWQoY2F0ZWdvcnkuaWQpLFxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yaWVzUGF0aDogYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllc1BhdGhCeUlkKGNhdGVnb3J5LmlkKSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiBBWFBQYWdlU3RhdHVzLklkbGUsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBhc3luYyBzZXRBY3RpdmVDYXRlZ29yeUJ5SWQoaWQ6IHN0cmluZykge1xuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuUHJvY2Vzc2luZyxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSBhd2FpdCByZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yeUJ5SWQoaWQpO1xuICAgICAgICAgICAgICAgIGlmIChjYXRlZ29yeSkge1xuICAgICAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yeTogY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgICAgIHBhdGNoU3RhdGUoc3RvcmUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGVnb3JpZXM6IGF3YWl0IHJlcG9ydERlZmluaXRpb25TZXJ2aWNlLmdldENhdGVnb3JpZXMoY2F0ZWdvcnkuaWQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVwb3J0czogYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0UmVwb3J0c0J5Q2F0ZWdvcnlJZChjYXRlZ29yeS5pZCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVDYXRlZ29yaWVzUGF0aDogYXdhaXQgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0Q2F0ZWdvcmllc1BhdGhCeUlkKGNhdGVnb3J5LmlkKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IEFYUFBhZ2VTdGF0dXMuSWRsZSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBhc3luYyBzZWFyY2goZXhwcmVzc2lvbjogc3RyaW5nKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc05pbChleHByZXNzaW9uKSAmJiAhaXNFbXB0eShleHByZXNzaW9uKSkge1xuICAgICAgICAgICAgICAgICAgICBwYXRjaFN0YXRlKHN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hFeHByZXNzaW9uOiBleHByZXNzaW9uLFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoRXhwcmVzc2lvbjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2xlYXJTZWFyY2goKSB7XG4gICAgICAgICAgICAgICAgcGF0Y2hTdGF0ZShzdG9yZSwge1xuICAgICAgICAgICAgICAgICAgICBzZWFyY2hFeHByZXNzaW9uOiBudWxsLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSksXG4gICAgd2l0aEhvb2tzKChzdG9yZSxcbiAgICAgICAgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKSxcbiAgICAgICAgbG9jYWxlU2VydmljZSA9IGluamVjdChBWExvY2FsZVNlcnZpY2UpXG4gICAgKSA9PiAoe1xuICAgICAgICBhc3luYyBvbkluaXQoKSB7XG4gICAgICAgICAgICBtZXJnZShcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGlvblNlcnZpY2UubGFuZ0NoYW5nZXMkLFxuICAgICAgICAgICAgICAgIGxvY2FsZVNlcnZpY2UucHJvZmlsZUNoYW5nZWQkXG4gICAgICAgICAgICApLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBhd2FpdCBzdG9yZS5sb2FkUm9vdENhdGVnb3JpZXMoKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25EZXN0cm95KCkgeyB9LFxuICAgIH0pKVxuXG4pIl19","//#region ---- Imports ----\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTreeViewModule } from '@acorex/components/tree-view';\nimport { AXPReportDefinitionService } from '@acorex/platform/common';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, output, ViewEncapsulation } from '@angular/core';\nimport { isNil } from 'lodash-es';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@acorex/components/decorators\";\nimport * as i2 from \"@acorex/components/tree-view\";\n//#endregion\nexport class AXPReportCategoriesTreeComponent {\n constructor() {\n //#region ---- Services & Dependencies ----\n this.reportDefinitionService = inject(AXPReportDefinitionService);\n //#endregion\n //#region ---- Output Events ----\n /**\n * Emitted when a category node is clicked\n */\n this.categoryClick = output();\n /**\n * Emitted when a report node is clicked\n */\n this.reportClick = output();\n //#endregion\n //#region ---- Data Loading Methods ----\n /**\n * Provide lazy loading tree data\n */\n this.provideLazyTreeView = async (selectedItemId) => {\n if (selectedItemId) {\n const categories = (await this.reportDefinitionService.getCategories(selectedItemId)).map((item) => ({\n id: item.id,\n title: item.title,\n hasChild: (item.hasChild || item.hasReport) ?? false,\n item: item,\n type: 'category',\n expanded: isNil(item.parentId) ? true : false,\n }));\n const definitions = (await this.reportDefinitionService.getReportsByCategoryId(selectedItemId)).map((item) => ({\n id: item.id,\n title: item.title,\n hasChild: false,\n item: item,\n type: 'definition',\n expanded: false,\n }));\n return [...categories, ...definitions];\n }\n else {\n const categories = await this.reportDefinitionService.getCategories();\n const items = categories.map((item) => ({\n id: item.id,\n title: item.title,\n hasChild: (item.hasChild || item.hasReport) ?? false,\n item: item,\n type: 'category',\n expanded: false,\n }));\n return items;\n }\n };\n }\n //#endregion\n //#region ---- Event Handlers ----\n /**\n * Handle tree node click events\n */\n async handleNodeClick(event) {\n const node = event.data;\n if (node.type === 'category') {\n this.categoryClick.emit(node.item);\n }\n else if (node.type === 'definition') {\n this.reportClick.emit(node.item);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPReportCategoriesTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.3\", type: AXPReportCategoriesTreeComponent, isStandalone: true, selector: \"axp-report-categories-tree\", outputs: { categoryClick: \"categoryClick\", reportClick: \"reportClick\" }, host: { classAttribute: \"axp-report-categories-tree\" }, ngImport: i0, template: \"<ax-tree-view\\n [showCheckbox]=\\\"false\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [textField]=\\\"'title'\\\"\\n [hasChildField]=\\\"'hasChild'\\\"\\n [valueField]=\\\"'id'\\\"\\n [expandedField]=\\\"'expanded'\\\"\\n [items]=\\\"provideLazyTreeView\\\"\\n (onNodeClick)=\\\"handleNodeClick($event)\\\"\\n>\\n</ax-tree-view>\\n\\n<ng-template #itemTemplate let-item>\\n @if (item.type === 'category') {\\n <ax-icon class=\\\"fas ax-text-warning fa-folder\\\"></ax-icon>\\n } @else {\\n <ax-icon class=\\\"fas ax-text-accent1 fa-file-chart-column\\\"></ax-icon>\\n }\\n {{ item.title }}\\n</ng-template>\\n\", styles: [\".axp-report-categories-tree{height:100%;width:100%}.axp-report-categories-tree .__tree-view .__item{display:flex;align-items:center;gap:.5rem}.axp-report-categories-tree .__tree-view .__item .__icon{flex-shrink:0}.axp-report-categories-tree .__tree-view .__item .__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.axp-report-categories-tree .__tree-view .__item:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i1.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXTreeViewModule }, { kind: \"component\", type: i2.AXTreeViewComponent, selector: \"ax-tree-view\", inputs: [\"items\", \"showCheckbox\", \"hasCheckboxField\", \"selectionMode\", \"selectionBehavior\", \"selectionScope\", \"focusNodeEnabled\", \"valueField\", \"textField\", \"visibleField\", \"disableField\", \"hasChildField\", \"selectedField\", \"expandedField\", \"tooltipField\", \"childrenField\", \"activeField\", \"indeterminateField\", \"parentField\", \"iconField\", \"toggleIcons\", \"look\", \"showEmptyNodeMassage\", \"itemTemplate\", \"emptyTemplate\", \"expandOn\"], outputs: [\"onSelectionChanged\", \"onItemSelectedChanged\", \"onNodeClick\", \"onCollapsedChanged\", \"onNodedbClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXPReportCategoriesTreeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-categories-tree', standalone: true, imports: [\n CommonModule,\n AXDecoratorModule,\n AXTreeViewModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'axp-report-categories-tree' }, template: \"<ax-tree-view\\n [showCheckbox]=\\\"false\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [textField]=\\\"'title'\\\"\\n [hasChildField]=\\\"'hasChild'\\\"\\n [valueField]=\\\"'id'\\\"\\n [expandedField]=\\\"'expanded'\\\"\\n [items]=\\\"provideLazyTreeView\\\"\\n (onNodeClick)=\\\"handleNodeClick($event)\\\"\\n>\\n</ax-tree-view>\\n\\n<ng-template #itemTemplate let-item>\\n @if (item.type === 'category') {\\n <ax-icon class=\\\"fas ax-text-warning fa-folder\\\"></ax-icon>\\n } @else {\\n <ax-icon class=\\\"fas ax-text-accent1 fa-file-chart-column\\\"></ax-icon>\\n }\\n {{ item.title }}\\n</ng-template>\\n\", styles: [\".axp-report-categories-tree{height:100%;width:100%}.axp-report-categories-tree .__tree-view .__item{display:flex;align-items:center;gap:.5rem}.axp-report-categories-tree .__tree-view .__item .__icon{flex-shrink:0}.axp-report-categories-tree .__tree-view .__item .__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.axp-report-categories-tree .__tree-view .__item:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1jYXRlZ29yaWVzLXRyZWUvcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1jYXRlZ29yaWVzLXRyZWUvcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFFL0IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUE0QixnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFGLE9BQU8sRUFBMEMsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFnQmxDLFlBQVk7QUFnQlosTUFBTSxPQUFPLGdDQUFnQztJQWQ3QztRQWdCSSwrQ0FBK0M7UUFFOUIsNEJBQXVCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFFOUUsWUFBWTtRQUVaLHFDQUFxQztRQUVyQzs7V0FFRztRQUNILGtCQUFhLEdBQUcsTUFBTSxFQUFxQixDQUFDO1FB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LFNBQVM7K0JBQ0ksNEJBQTRCLGNBQzFCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsZ0JBQWdCO3FCQUNuQixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSw0QkFBNEIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiAtLS0tICAgSW1wb3J0cyAgIC0tLS1cblxuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFRyZWVJdGVtQ2xpY2tCYXNlRXZlbnQsIEFYVHJlZVZpZXdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdHJlZS12aWV3JztcbmltcG9ydCB7IEFYUFJlcG9ydENhdGVnb3J5LCBBWFBSZXBvcnREZWZpbml0aW9uLCBBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIG91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzTmlsIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuLy8jZW5kcmVnaW9uXG5cbi8vI3JlZ2lvbiAtLS0tICAgSW50ZXJmYWNlICAgLS0tLVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVWaWV3SXRlbSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGhhc0NoaWxkOiBib29sZWFuO1xuICAgIGNoaWxkcmVuPzogVHJlZVZpZXdJdGVtW107XG4gICAgaXRlbT86IEFYUFJlcG9ydENhdGVnb3J5IHwgQVhQUmVwb3J0RGVmaW5pdGlvbjtcbiAgICB0eXBlOiAnY2F0ZWdvcnknIHwgJ2RlZmluaXRpb24nO1xuICAgIGV4cGFuZGVkOiBib29sZWFuO1xufVxuXG4vLyNlbmRyZWdpb25cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdheHAtcmVwb3J0LWNhdGVnb3JpZXMtdHJlZScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYVHJlZVZpZXdNb2R1bGUsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3JlcG9ydC1jYXRlZ29yaWVzLXRyZWUuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2F4cC1yZXBvcnQtY2F0ZWdvcmllcy10cmVlJyB9LFxufSlcbmV4cG9ydCBjbGFzcyBBWFBSZXBvcnRDYXRlZ29yaWVzVHJlZUNvbXBvbmVudCB7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFNlcnZpY2VzICYgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXBvcnREZWZpbml0aW9uU2VydmljZSA9IGluamVjdChBWFBSZXBvcnREZWZpbml0aW9uU2VydmljZSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgT3V0cHV0IEV2ZW50cyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiBhIGNhdGVnb3J5IG5vZGUgaXMgY2xpY2tlZFxuICAgICAqL1xuICAgIGNhdGVnb3J5Q2xpY2sgPSBvdXRwdXQ8QVhQUmVwb3J0Q2F0ZWdvcnk+KCk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0dGVkIHdoZW4gYSByZXBvcnQgbm9kZSBpcyBjbGlja2VkXG4gICAgICovXG4gICAgcmVwb3J0Q2xpY2sgPSBvdXRwdXQ8QVhQUmVwb3J0RGVmaW5pdGlvbj4oKTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBEYXRhIExvYWRpbmcgTWV0aG9kcyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIFByb3ZpZGUgbGF6eSBsb2FkaW5nIHRyZWUgZGF0YVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBwcm92aWRlTGF6eVRyZWVWaWV3ID0gYXN5bmMgKHNlbGVjdGVkSXRlbUlkPzogc3RyaW5nIHwgbnVtYmVyKTogUHJvbWlzZTxUcmVlVmlld0l0ZW1bXT4gPT4ge1xuICAgICAgICBpZiAoc2VsZWN0ZWRJdGVtSWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSAoYXdhaXQgdGhpcy5yZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yaWVzKHNlbGVjdGVkSXRlbUlkIGFzIHN0cmluZykpLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgICAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICB0aXRsZTogaXRlbS50aXRsZSxcbiAgICAgICAgICAgICAgICBoYXNDaGlsZDogKGl0ZW0uaGFzQ2hpbGQgfHwgaXRlbS5oYXNSZXBvcnQpID8/IGZhbHNlLFxuICAgICAgICAgICAgICAgIGl0ZW06IGl0ZW0sXG4gICAgICAgICAgICAgICAgdHlwZTogJ2NhdGVnb3J5JyBhcyAnY2F0ZWdvcnknIHwgJ2RlZmluaXRpb24nLFxuICAgICAgICAgICAgICAgIGV4cGFuZGVkOiBpc05pbChpdGVtLnBhcmVudElkKSA/IHRydWUgOiBmYWxzZSxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGNvbnN0IGRlZmluaXRpb25zID0gKGF3YWl0IHRoaXMucmVwb3J0RGVmaW5pdGlvblNlcnZpY2UuZ2V0UmVwb3J0c0J5Q2F0ZWdvcnlJZChzZWxlY3RlZEl0ZW1JZCBhcyBzdHJpbmcpKS5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0udGl0bGUsXG4gICAgICAgICAgICAgICAgaGFzQ2hpbGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGl0ZW06IGl0ZW0sXG4gICAgICAgICAgICAgICAgdHlwZTogJ2RlZmluaXRpb24nIGFzICdjYXRlZ29yeScgfCAnZGVmaW5pdGlvbicsXG4gICAgICAgICAgICAgICAgZXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgcmV0dXJuIFsuLi5jYXRlZ29yaWVzLCAuLi5kZWZpbml0aW9uc107XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBjYXRlZ29yaWVzID0gYXdhaXQgdGhpcy5yZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yaWVzKCk7XG4gICAgICAgICAgICBjb25zdCBpdGVtcyA9IGNhdGVnb3JpZXMubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpdGVtLnRpdGxlLFxuICAgICAgICAgICAgICAgIGhhc0NoaWxkOiAoaXRlbS5oYXNDaGlsZCB8fCBpdGVtLmhhc1JlcG9ydCkgPz8gZmFsc2UsXG4gICAgICAgICAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgICAgICAgICB0eXBlOiAnY2F0ZWdvcnknIGFzICdjYXRlZ29yeScgfCAnZGVmaW5pdGlvbicsXG4gICAgICAgICAgICAgICAgZXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSB0cmVlIG5vZGUgY2xpY2sgZXZlbnRzXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZU5vZGVDbGljayhldmVudDogQVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBldmVudC5kYXRhIGFzIFRyZWVWaWV3SXRlbTtcblxuICAgICAgICBpZiAobm9kZS50eXBlID09PSAnY2F0ZWdvcnknKSB7XG4gICAgICAgICAgICB0aGlzLmNhdGVnb3J5Q2xpY2suZW1pdChub2RlLml0ZW0gYXMgQVhQUmVwb3J0Q2F0ZWdvcnkpO1xuICAgICAgICB9IGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gJ2RlZmluaXRpb24nKSB7XG4gICAgICAgICAgICB0aGlzLnJlcG9ydENsaWNrLmVtaXQobm9kZS5pdGVtIGFzIEFYUFJlcG9ydERlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59ICIsIjxheC10cmVlLXZpZXdcbiAgW3Nob3dDaGVja2JveF09XCJmYWxzZVwiXG4gIFtpdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlXCJcbiAgW3RleHRGaWVsZF09XCIndGl0bGUnXCJcbiAgW2hhc0NoaWxkRmllbGRdPVwiJ2hhc0NoaWxkJ1wiXG4gIFt2YWx1ZUZpZWxkXT1cIidpZCdcIlxuICBbZXhwYW5kZWRGaWVsZF09XCInZXhwYW5kZWQnXCJcbiAgW2l0ZW1zXT1cInByb3ZpZGVMYXp5VHJlZVZpZXdcIlxuICAob25Ob2RlQ2xpY2spPVwiaGFuZGxlTm9kZUNsaWNrKCRldmVudClcIlxuPlxuPC9heC10cmVlLXZpZXc+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVRlbXBsYXRlIGxldC1pdGVtPlxuICBAaWYgKGl0ZW0udHlwZSA9PT0gJ2NhdGVnb3J5Jykge1xuICAgIDxheC1pY29uIGNsYXNzPVwiZmFzIGF4LXRleHQtd2FybmluZyBmYS1mb2xkZXJcIj48L2F4LWljb24+XG4gIH0gQGVsc2Uge1xuICAgIDxheC1pY29uIGNsYXNzPVwiZmFzIGF4LXRleHQtYWNjZW50MSBmYS1maWxlLWNoYXJ0LWNvbHVtblwiPjwvYXgtaWNvbj5cbiAgfVxuICB7eyBpdGVtLnRpdGxlIH19XG48L25nLXRlbXBsYXRlPlxuIl19","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPReportDefinitionService } from '@acorex/platform/common';\nimport { AXPThemeLayoutBlockComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutToolbarComponent, } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, NavigationEnd, Router, RouterModule } from '@angular/router';\nimport { filter, firstValueFrom, startWith } from 'rxjs';\nimport { AXPReportRunnerRootViewModel } from '../report-runner.viewmodel';\nimport { AXPReportCategoriesTreeComponent } from '../report-categories-tree/report-categories-tree.component';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@angular/forms\";\nimport * as i3 from \"@acorex/components/search-box\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXMReportRunnerRootPageComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n this.vm = inject(AXPReportRunnerRootViewModel);\n this.layoutService = inject(AXPLayoutThemeService);\n this.activatedRoute = inject(ActivatedRoute);\n this.unsubscribe = inject(AXUnsubscriber);\n this.reportDefinitionService = inject(AXPReportDefinitionService);\n this.workflow = inject(AXPWorkflowService);\n this.router = inject(Router);\n this.baseRoutes = [this.sessionService.application?.name, 'report-management', 'reports'];\n }\n async ngOnInit() {\n await super.ngOnInit();\n //\n this.router.events\n .pipe(this.unsubscribe.takeUntilDestroy, filter((event) => event instanceof NavigationEnd), startWith(null))\n .subscribe(async () => {\n await this.loadFromRoute();\n });\n }\n async loadFromRoute() {\n const snapshot = this.activatedRoute.snapshot;\n const segments = await firstValueFrom(this.activatedRoute.url);\n let categoryId = segments[segments.length - 1]?.path ?? null;\n if (categoryId) {\n await this.vm.setActiveCategoryById(categoryId);\n }\n else {\n await this.vm.loadRootCategories();\n return;\n }\n //\n let reportId = snapshot.queryParamMap.get('report') ?? null;\n if (reportId) {\n // Navigate directly to viewer instead of showing parameters\n await this.navigateToViewer(reportId);\n }\n }\n //#region ---- Event Handlers ----\n /**\n * Handle category selection from tree\n */\n async onCategoryClick(category) {\n await this.navigateToCategory(category);\n }\n /**\n * Handle report selection from tree\n */\n async onReportClick(report) {\n await this.navigateToReport(report);\n }\n /**\n * Navigate directly to report viewer with the selected report\n */\n async navigateToViewer(reportId) {\n const baseViewerRoute = [this.sessionService.application?.name, 'report-management', 'viewer'];\n await this.router.navigate(baseViewerRoute, {\n queryParams: { reportId }\n });\n }\n //#endregion\n async navigateToCategory(category) {\n // Find the path to this category\n const path = await this.reportDefinitionService.getCategoriesPathById(category.id);\n // Find the index of the target category in the path\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n async navigateToReport(report) {\n // Navigate directly to viewer instead of showing parameters in runner\n await this.navigateToViewer(report.id);\n }\n //#region ---- Page Configuration Overrides ----\n async getPageBreadcrumbs() {\n const path = this.vm.activeCategoriesPath();\n const report = {\n name: 'reports',\n title: await this.translateService.translateAsync('@report-management:root-menu'),\n command: {\n name: 'navigate-to-reports-root',\n },\n };\n if (!path || path.length === 0) {\n return [report];\n }\n const breadcrumbs = [report];\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts = [...urlParts, cat.id];\n breadcrumbs.push({\n name: cat.id,\n title: cat.title,\n command: {\n name: 'navigate-to-category',\n options: {\n category: cat,\n },\n },\n });\n }\n return breadcrumbs;\n }\n async getSecondaryMenuItems() {\n return [];\n }\n async getPageTitle() {\n return this.vm.title();\n }\n async getPageDescription() {\n return this.vm.description();\n }\n async getBackButton() {\n const categoriesPath = this.vm.activeCategoriesPath();\n if (!categoriesPath || categoriesPath.length === 0) {\n // At root level, no back button\n return null;\n }\n if (categoriesPath.length === 1) {\n // At first level category, back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:root-menu'),\n };\n }\n // At deeper level, back to parent category\n const parentCategory = categoriesPath[categoriesPath.length - 2];\n return {\n title: parentCategory.title,\n };\n }\n async onBackButtonClick() {\n const categoriesPath = this.vm.activeCategoriesPath();\n if (!categoriesPath || categoriesPath.length <= 1) {\n // Navigate back to reports root\n await this.router.navigate([...this.baseRoutes]);\n }\n else {\n // Navigate to parent category\n const parentCategoriesPath = categoriesPath.slice(0, -1);\n let urlParts = [...this.baseRoutes];\n for (const cat of parentCategoriesPath) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n }\n async execute(command) {\n switch (command.name) {\n case 'navigate-to-category':\n await this.navigateToCategory(command.options?.['category']);\n break;\n case 'navigate-to-reports-root':\n await this.router.navigate([...this.baseRoutes]);\n break;\n case 'create-report':\n await this.workflow.execute('report-create', {\n data: {\n categoryId: this.vm.activeCategory()?.id ?? null,\n },\n });\n break;\n }\n }\n async getPrimaryMenuItems() {\n return [\n {\n title: 't(\"actions.create\")',\n icon: 'fa-light fa-plus',\n color: 'primary',\n command: {\n name: 'create-report',\n },\n },\n ];\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMReportRunnerRootPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.3\", type: AXMReportRunnerRootPageComponent, isStandalone: true, selector: \"ng-component\", host: { classAttribute: \"axp-report-runner-root-page\" }, providers: [\n AXUnsubscriber,\n AXPReportRunnerRootViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMReportRunnerRootPageComponent,\n },\n ], usesInheritance: true, ngImport: i0, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.showSideMenu()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>{{ t('@report-management:features.report-runner.menu-title') | async }}</axp-layout-title>\\n <axp-layout-toolbar>\\n <ax-search-box\\n [delayTime]=\\\"300\\\"\\n [ngModel]=\\\"vm.searchExpression()\\\"\\n (onValueChanged)=\\\"vm.search($event.value)\\\"\\n [placeholder]=\\\"t('search.placeholder') | async\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </axp-layout-toolbar>\\n </axp-layout-header>\\n <axp-layout-content>\\n <axp-report-categories-tree (categoryClick)=\\\"onCategoryClick($event)\\\" (reportClick)=\\\"onReportClick($event)\\\" />\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-content>\\n <!-- Desktop and Mobile: Always show browser template -->\\n <ng-container *ngTemplateOutlet=\\\"browser\\\"> </ng-container>\\n </axp-page-content>\\n\\n <!-- Desktop: Grid-based browser for main content -->\\n <ng-template #browser>\\n <div class=\\\"__reports-browser\\\">\\n @if (vm.categories().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Categories</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (category of vm.categories(); track category.id) {\\n <div class=\\\"__item __category\\\" (click)=\\\"navigateToCategory(category)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-folder\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ category.title }}</div>\\n @if (category.description) {\\n <div class=\\\"__item-description\\\">{{ category.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.reports().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Reports</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (report of vm.reports(); track report.id) {\\n <div class=\\\"__item __report\\\" (click)=\\\"navigateToReport(report)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-file-chart-column\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ report.title }}</div>\\n @if (report.description) {\\n <div class=\\\"__item-description\\\">{{ report.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.categories().length === 0 && vm.reports().length === 0) {\\n <div class=\\\"__empty-state\\\">\\n <div class=\\\"__empty-icon\\\">\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </div>\\n <div class=\\\"__empty-content\\\">\\n <h4>No items found</h4>\\n <p>There are no categories or reports available in this location.</p>\\n </div>\\n </div>\\n }\\n </div>\\n </ng-template>\\n</axp-page-layout>\\n\", styles: [\".axp-report-runner-root-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-runner-root-page axp-layout-start-side{width:24rem}}.axp-report-runner-root-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding-left:1rem;padding-right:1rem}.axp-report-runner-root-page .__reports-browser>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser{padding:.75rem}@media (min-width: 1024px){.axp-report-runner-root-page .__reports-browser{padding:1.5rem}}.axp-report-runner-root-page .__reports-browser .__section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser .__section .__section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-runner-root-page .__reports-browser .__section .__section-title ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1536px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 2560px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{cursor:pointer;border-radius:.5rem;border-width:1px;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{display:flex;align-items:flex-start;gap:.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-icon{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.25rem;font-size:1.125rem;line-height:1.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content{min-width:0px;flex:1 1 0%}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-description{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon{background-color:rgba(var(--ax-sys-color-warning-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-warning-500),.05)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon{background-color:rgba(var(--ax-sys-color-primary-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-primary-500),.05)}.axp-report-runner-root-page .__reports-browser .__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:4rem;padding-bottom:4rem;text-align:center}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;opacity:.5}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content h4{margin-bottom:.5rem;font-size:1.5rem;font-weight:500;line-height:1.5rem}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content p{max-width:28rem;opacity:74%;display:block;font-size:1rem;font-weight:400;line-height:1.625rem}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i2.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i2.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: \n //\n AXSearchBoxModule }, { kind: \"component\", type: i3.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i5.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"ngmodule\", type: AXTabsModule }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"ngmodule\", type: AXLoadingModule }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"component\", type: \n //\n AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: AXPThemeLayoutToolbarComponent, selector: \"axp-layout-toolbar\" }, { kind: \"component\", type: AXPThemeLayoutHeaderComponent, selector: \"axp-layout-header\" }, { kind: \"component\", type: AXPThemeLayoutStartSideComponent, selector: \"axp-layout-page-start-side, axp-layout-start-side\" }, { kind: \"component\", type: \n //\n AXPReportCategoriesTreeComponent, selector: \"axp-report-categories-tree\", outputs: [\"categoryClick\", \"reportClick\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.3\", ngImport: i0, type: AXMReportRunnerRootPageComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n //\n AXSearchBoxModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXTranslationModule,\n AXButtonModule,\n AXTabsModule,\n AXBadgeModule,\n AXLoadingModule,\n AXDropdownButtonModule,\n //\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutToolbarComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n //\n AXPReportCategoriesTreeComponent,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n AXUnsubscriber,\n AXPReportRunnerRootViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMReportRunnerRootPageComponent,\n },\n ], host: { class: 'axp-report-runner-root-page' }, template: \"<axp-page-layout *translate=\\\"let t\\\">\\n @if (vm.showSideMenu()) {\\n <axp-layout-start-side>\\n <axp-layout-header>\\n <axp-layout-title>{{ t('@report-management:features.report-runner.menu-title') | async }}</axp-layout-title>\\n <axp-layout-toolbar>\\n <ax-search-box\\n [delayTime]=\\\"300\\\"\\n [ngModel]=\\\"vm.searchExpression()\\\"\\n (onValueChanged)=\\\"vm.search($event.value)\\\"\\n [placeholder]=\\\"t('search.placeholder') | async\\\"\\n >\\n <ax-clear-button></ax-clear-button>\\n </ax-search-box>\\n </axp-layout-toolbar>\\n </axp-layout-header>\\n <axp-layout-content>\\n <axp-report-categories-tree (categoryClick)=\\\"onCategoryClick($event)\\\" (reportClick)=\\\"onReportClick($event)\\\" />\\n </axp-layout-content>\\n </axp-layout-start-side>\\n }\\n\\n <axp-page-content>\\n <!-- Desktop and Mobile: Always show browser template -->\\n <ng-container *ngTemplateOutlet=\\\"browser\\\"> </ng-container>\\n </axp-page-content>\\n\\n <!-- Desktop: Grid-based browser for main content -->\\n <ng-template #browser>\\n <div class=\\\"__reports-browser\\\">\\n @if (vm.categories().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Categories</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (category of vm.categories(); track category.id) {\\n <div class=\\\"__item __category\\\" (click)=\\\"navigateToCategory(category)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-folder\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ category.title }}</div>\\n @if (category.description) {\\n <div class=\\\"__item-description\\\">{{ category.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.reports().length > 0) {\\n <div class=\\\"__section\\\">\\n <h3 class=\\\"__section-title\\\">Reports</h3>\\n <div class=\\\"__items-grid\\\">\\n @for (report of vm.reports(); track report.id) {\\n <div class=\\\"__item __report\\\" (click)=\\\"navigateToReport(report)\\\">\\n <div class=\\\"__item-icon\\\">\\n <ax-icon class=\\\"fa-solid fa-file-chart-column\\\"></ax-icon>\\n </div>\\n <div class=\\\"__item-content\\\">\\n <div class=\\\"__item-title\\\">{{ report.title }}</div>\\n @if (report.description) {\\n <div class=\\\"__item-description\\\">{{ report.description }}</div>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n\\n @if (vm.categories().length === 0 && vm.reports().length === 0) {\\n <div class=\\\"__empty-state\\\">\\n <div class=\\\"__empty-icon\\\">\\n <ax-icon class=\\\"fa-light fa-folder-open\\\"></ax-icon>\\n </div>\\n <div class=\\\"__empty-content\\\">\\n <h4>No items found</h4>\\n <p>There are no categories or reports available in this location.</p>\\n </div>\\n </div>\\n }\\n </div>\\n </ng-template>\\n</axp-page-layout>\\n\", styles: [\".axp-report-runner-root-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-runner-root-page axp-layout-start-side{width:24rem}}.axp-report-runner-root-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding-left:1rem;padding-right:1rem}.axp-report-runner-root-page .__reports-browser>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser{padding:.75rem}@media (min-width: 1024px){.axp-report-runner-root-page .__reports-browser{padding:1.5rem}}.axp-report-runner-root-page .__reports-browser .__section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.axp-report-runner-root-page .__reports-browser .__section .__section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-runner-root-page .__reports-browser .__section .__section-title ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1280px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1536px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 2560px){.axp-report-runner-root-page .__reports-browser .__section .__items-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{cursor:pointer;border-radius:.5rem;border-width:1px;padding:1rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item:is(.ax-dark *){background-color:rgb(var(--ax-sys-color-lighter-surface));color:rgb(var(--ax-sys-color-on-lighter-surface));border-color:rgb(var(--ax-sys-color-border-lighter-surface))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item{display:flex;align-items:flex-start;gap:.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-icon{display:flex;height:2.5rem;width:2.5rem;flex-shrink:0;align-items:center;justify-content:center;border-radius:.25rem;font-size:1.125rem;line-height:1.75rem}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content{min-width:0px;flex:1 1 0%}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item .__item-content .__item-description{margin-top:.25rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon{background-color:rgba(var(--ax-sys-color-warning-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-warning-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__category:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-warning-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-warning-500),.05)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon{background-color:rgba(var(--ax-sys-color-primary-500),.1)}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report .__item-icon ax-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-runner-root-page .__reports-browser .__section .__items-grid .__item.__report:hover{--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-primary-500),var(--tw-border-opacity, 1));background-color:rgba(var(--ax-sys-color-primary-500),.05)}.axp-report-runner-root-page .__reports-browser .__empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:4rem;padding-bottom:4rem;text-align:center}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;opacity:.5}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content h4{margin-bottom:.5rem;font-size:1.5rem;font-weight:500;line-height:1.5rem}.axp-report-runner-root-page .__reports-browser .__empty-state .__empty-content p{max-width:28rem;opacity:74%;display:block;font-size:1rem;font-weight:400;line-height:1.625rem}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXJ1bm5lci1yb290LXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL3JlcG9ydC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvcmVwb3J0LXJ1bm5lci9yZXBvcnQtcnVubmVyLXJvb3QtcGFnZS9yZXBvcnQtcnVubmVyLXJvb3QtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQtcnVubmVyL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUEwQywwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFD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QUFzQjt3QkFDdEIsNEJBQTRCO3dCQUM1Qiw4QkFBOEI7d0JBQzlCLDZCQUE2Qjt3QkFDN0IsZ0NBQWdDO3dCQUNoQyxFQUFFO3dCQUNGLGdDQUFnQztxQkFDbkMsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1AsY0FBYzt3QkFDZCw0QkFBNEI7d0JBQzVCOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsa0NBQWtDO3lCQUNoRDtxQkFDSixRQUNLLEVBQUUsS0FBSyxFQUFFLDZCQUE2QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRHJvcGRvd25CdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24tYnV0dG9uJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYU2VhcmNoQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlYXJjaC1ib3gnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFVuc3Vic2NyaWJlciB9IGZyb20gJ0BhY29yZXgvY29yZS91dGlscyc7XG5pbXBvcnQgeyBBWFBSZXBvcnRDYXRlZ29yeSwgQVhQUmVwb3J0RGVmaW5pdGlvbiwgQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBBY3Rpb25NZW51SXRlbSwgQVhQQmFja0J1dHRvbiwgQVhQQnJlYWRjcnVtYkl0ZW0sIEFYUEV4ZWN1dGVDb21tYW5kIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7XG4gICAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dFN0YXJ0U2lkZUNvbXBvbmVudCxcbiAgICBBWFBUaGVtZUxheW91dFRvb2xiYXJDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvdmlld3MnO1xuaW1wb3J0IHsgQVhQTGF5b3V0VGhlbWVTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS90aGVtZXMvc2hhcmVkJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBmaWx0ZXIsIGZpcnN0VmFsdWVGcm9tLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUFJlcG9ydFJ1bm5lclJvb3RWaWV3TW9kZWwgfSBmcm9tICcuLi9yZXBvcnQtcnVubmVyLnZpZXdtb2RlbCc7XG5pbXBvcnQgeyBBWFBSZXBvcnRDYXRlZ29yaWVzVHJlZUNvbXBvbmVudCB9IGZyb20gJy4uL3JlcG9ydC1jYXRlZ29yaWVzLXRyZWUvcmVwb3J0LWNhdGVnb3JpZXMtdHJlZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBSb290Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29uc3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICAvL1xuICAgICAgICBBWFNlYXJjaEJveE1vZHVsZSxcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWFRhYnNNb2R1bGUsXG4gICAgICAgIEFYQmFkZ2VNb2R1bGUsXG4gICAgICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICAgICAgQVhEcm9wZG93bkJ1dHRvbk1vZHVsZSxcbiAgICAgICAgLy9cbiAgICAgICAgQVhQUGFnZUxheW91dENvbXBvbmVudCxcbiAgICAgICAgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCxcbiAgICAgICAgQVhQVGhlbWVMYXlvdXRUb29sYmFyQ29tcG9uZW50LFxuICAgICAgICBBWFBUaGVtZUxheW91dEhlYWRlckNvbXBvbmVudCxcbiAgICAgICAgQVhQVGhlbWVMYXlvdXRTdGFydFNpZGVDb21wb25lbnQsXG4gICAgICAgIC8vXG4gICAgICAgIEFYUFJlcG9ydENhdGVnb3JpZXNUcmVlQ29tcG9uZW50LFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1ydW5uZXItcm9vdC1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcmVwb3J0LXJ1bm5lci1yb290LXBhZ2UuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEFYVW5zdWJzY3JpYmVyLFxuICAgICAgICBBWFBSZXBvcnRSdW5uZXJSb290Vmlld01vZGVsLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBWFBQYWdlTGF5b3V0QmFzZSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBBWE1SZXBvcnRSdW5uZXJSb290UGFnZUNvbXBvbmVudCxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdheHAtcmVwb3J0LXJ1bm5lci1yb290LXBhZ2UnIH0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTVJlcG9ydFJ1bm5lclJvb3RQYWdlQ29tcG9uZW50IGV4dGVuZHMgQVhQUGFnZUxheW91dEJhc2VDb21wb25lbnQge1xuICAgIHByb3RlY3RlZCB2bSA9IGluamVjdChBWFBSZXBvcnRSdW5uZXJSb290Vmlld01vZGVsKTtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgbGF5b3V0U2VydmljZSA9IGluamVjdChBWFBMYXlvdXRUaGVtZVNlcnZpY2UpO1xuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByaXZhdGUgdW5zdWJzY3JpYmUgPSBpbmplY3QoQVhVbnN1YnNjcmliZXIpO1xuICAgIHByaXZhdGUgcmVwb3J0RGVmaW5pdGlvblNlcnZpY2UgPSBpbmplY3QoQVhQUmVwb3J0RGVmaW5pdGlvblNlcnZpY2UpO1xuICAgIHByaXZhdGUgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gICAgcHJpdmF0ZSBiYXNlUm91dGVzID0gW3RoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWUsICdyZXBvcnQtbWFuYWdlbWVudCcsICdyZXBvcnRzJ107XG5cbiAgICBvdmVycmlkZSBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgLy9cbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0aGlzLnVuc3Vic2NyaWJlLnRha2VVbnRpbERlc3Ryb3ksXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLmxvYWRGcm9tUm91dGUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZEZyb21Sb3V0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgY29uc3Qgc25hcHNob3QgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90O1xuICAgICAgICBjb25zdCBzZWdtZW50cyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuYWN0aXZhdGVkUm91dGUudXJsKTtcblxuICAgICAgICBsZXQgY2F0ZWdvcnlJZCA9IHNlZ21lbnRzW3NlZ21lbnRzLmxlbmd0aCAtIDFdPy5wYXRoID8/IG51bGw7XG4gICAgICAgIGlmIChjYXRlZ29yeUlkKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnZtLnNldEFjdGl2ZUNhdGVnb3J5QnlJZChjYXRlZ29yeUlkKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudm0ubG9hZFJvb3RDYXRlZ29yaWVzKCk7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICAvL1xuXG4gICAgICAgIGxldCByZXBvcnRJZCA9IHNuYXBzaG90LnF1ZXJ5UGFyYW1NYXAuZ2V0KCdyZXBvcnQnKSA/PyBudWxsO1xuXG4gICAgICAgIGlmIChyZXBvcnRJZCkge1xuICAgICAgICAgICAgLy8gTmF2aWdhdGUgZGlyZWN0bHkgdG8gdmlld2VyIGluc3RlYWQgb2Ygc2hvd2luZyBwYXJhbWV0ZXJzXG4gICAgICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG9WaWV3ZXIocmVwb3J0SWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSBjYXRlZ29yeSBzZWxlY3Rpb24gZnJvbSB0cmVlXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIG9uQ2F0ZWdvcnlDbGljayhjYXRlZ29yeTogQVhQUmVwb3J0Q2F0ZWdvcnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5uYXZpZ2F0ZVRvQ2F0ZWdvcnkoY2F0ZWdvcnkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhbmRsZSByZXBvcnQgc2VsZWN0aW9uIGZyb20gdHJlZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhc3luYyBvblJlcG9ydENsaWNrKHJlcG9ydDogQVhQUmVwb3J0RGVmaW5pdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG9SZXBvcnQocmVwb3J0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOYXZpZ2F0ZSBkaXJlY3RseSB0byByZXBvcnQgdmlld2VyIHdpdGggdGhlIHNlbGVjdGVkIHJlcG9ydFxuICAgICAqL1xuICAgIHByaXZhdGUgYXN5bmMgbmF2aWdhdGVUb1ZpZXdlcihyZXBvcnRJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGJhc2VWaWV3ZXJSb3V0ZSA9IFt0aGlzLnNlc3Npb25TZXJ2aWNlLmFwcGxpY2F0aW9uPy5uYW1lLCAncmVwb3J0LW1hbmFnZW1lbnQnLCAndmlld2VyJ107XG4gICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKGJhc2VWaWV3ZXJSb3V0ZSwge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgcmVwb3J0SWQgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIHByb3RlY3RlZCBhc3luYyBuYXZpZ2F0ZVRvQ2F0ZWdvcnkoY2F0ZWdvcnk6IEFYUFJlcG9ydENhdGVnb3J5KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIC8vIEZpbmQgdGhlIHBhdGggdG8gdGhpcyBjYXRlZ29yeVxuICAgICAgICBjb25zdCBwYXRoID0gYXdhaXQgdGhpcy5yZXBvcnREZWZpbml0aW9uU2VydmljZS5nZXRDYXRlZ29yaWVzUGF0aEJ5SWQoY2F0ZWdvcnkuaWQpO1xuICAgICAgICAvLyBGaW5kIHRoZSBpbmRleCBvZiB0aGUgdGFyZ2V0IGNhdGVnb3J5IGluIHRoZSBwYXRoXG4gICAgICAgIGxldCB1cmxQYXJ0cyA9IFsuLi50aGlzLmJhc2VSb3V0ZXNdO1xuICAgICAgICBmb3IgKGNvbnN0IGNhdCBvZiBwYXRoKSB7XG4gICAgICAgICAgICB1cmxQYXJ0cy5wdXNoKGNhdC5pZCk7XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy5yb3V0ZXIubmF2aWdhdGUodXJsUGFydHMpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBuYXZpZ2F0ZVRvUmVwb3J0KHJlcG9ydDogQVhQUmVwb3J0RGVmaW5pdGlvbik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAvLyBOYXZpZ2F0ZSBkaXJlY3RseSB0byB2aWV3ZXIgaW5zdGVhZCBvZiBzaG93aW5nIHBhcmFtZXRlcnMgaW4gcnVubmVyXG4gICAgICAgIGF3YWl0IHRoaXMubmF2aWdhdGVUb1ZpZXdlcihyZXBvcnQuaWQpO1xuICAgIH1cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgUGFnZSBDb25maWd1cmF0aW9uIE92ZXJyaWRlcyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBnZXRQYWdlQnJlYWRjcnVtYnMoKTogUHJvbWlzZTxBWFBCcmVhZGNydW1iSXRlbVtdPiB7XG4gICAgICAgIGNvbnN0IHBhdGggPSB0aGlzLnZtLmFjdGl2ZUNhdGVnb3JpZXNQYXRoKCk7XG4gICAgICAgIGNvbnN0IHJlcG9ydCA9IHtcbiAgICAgICAgICAgIG5hbWU6ICdyZXBvcnRzJyxcbiAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpyb290LW1lbnUnKSxcbiAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnbmF2aWdhdGUtdG8tcmVwb3J0cy1yb290JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICAgIGlmICghcGF0aCB8fCBwYXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIFtyZXBvcnRdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBBWFBCcmVhZGNydW1iSXRlbVtdID0gW3JlcG9ydF07XG4gICAgICAgIGxldCB1cmxQYXJ0cyA9IFsuLi50aGlzLmJhc2VSb3V0ZXNdO1xuICAgICAgICBmb3IgKGNvbnN0IGNhdCBvZiBwYXRoKSB7XG4gICAgICAgICAgICB1cmxQYXJ0cyA9IFsuLi51cmxQYXJ0cywgY2F0LmlkXTtcbiAgICAgICAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6IGNhdC5pZCxcbiAgICAgICAgICAgICAgICB0aXRsZTogY2F0LnRpdGxlLFxuICAgICAgICAgICAgICAgIGNvbW1hbmQ6IHtcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJ25hdmlnYXRlLXRvLWNhdGVnb3J5JyxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnk6IGNhdCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJyZWFkY3J1bWJzO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGFzeW5jIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VUaXRsZSgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy52bS50aXRsZSgpITtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBhc3luYyBnZXRQYWdlRGVzY3JpcHRpb24oKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZtLmRlc2NyaXB0aW9uKCkhO1xuICAgIH1cblxuICAgIG92ZXJyaWRlIGFzeW5jIGdldEJhY2tCdXR0b24oKTogUHJvbWlzZTxBWFBCYWNrQnV0dG9uIHwgbnVsbD4ge1xuICAgICAgICBjb25zdCBjYXRlZ29yaWVzUGF0aCA9IHRoaXMudm0uYWN0aXZlQ2F0ZWdvcmllc1BhdGgoKTtcblxuICAgICAgICBpZiAoIWNhdGVnb3JpZXNQYXRoIHx8IGNhdGVnb3JpZXNQYXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgLy8gQXQgcm9vdCBsZXZlbCwgbm8gYmFjayBidXR0b25cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhdGVnb3JpZXNQYXRoLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgLy8gQXQgZmlyc3QgbGV2ZWwgY2F0ZWdvcnksIGJhY2sgdG8gcmVwb3J0cyByb290XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHRpdGxlOiBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudHJhbnNsYXRlQXN5bmMoJ0ByZXBvcnQtbWFuYWdlbWVudDpyb290LW1lbnUnKSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBdCBkZWVwZXIgbGV2ZWwsIGJhY2sgdG8gcGFyZW50IGNhdGVnb3J5XG4gICAgICAgIGNvbnN0IHBhcmVudENhdGVnb3J5ID0gY2F0ZWdvcmllc1BhdGhbY2F0ZWdvcmllc1BhdGgubGVuZ3RoIC0gMl07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0aXRsZTogcGFyZW50Q2F0ZWdvcnkudGl0bGUsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgYXN5bmMgb25CYWNrQnV0dG9uQ2xpY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGNhdGVnb3JpZXNQYXRoID0gdGhpcy52bS5hY3RpdmVDYXRlZ29yaWVzUGF0aCgpO1xuXG4gICAgICAgIGlmICghY2F0ZWdvcmllc1BhdGggfHwgY2F0ZWdvcmllc1BhdGgubGVuZ3RoIDw9IDEpIHtcbiAgICAgICAgICAgIC8vIE5hdmlnYXRlIGJhY2sgdG8gcmVwb3J0cyByb290XG4gICAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbLi4udGhpcy5iYXNlUm91dGVzXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBOYXZpZ2F0ZSB0byBwYXJlbnQgY2F0ZWdvcnlcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudENhdGVnb3JpZXNQYXRoID0gY2F0ZWdvcmllc1BhdGguc2xpY2UoMCwgLTEpO1xuICAgICAgICAgICAgbGV0IHVybFBhcnRzID0gWy4uLnRoaXMuYmFzZVJvdXRlc107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhdCBvZiBwYXJlbnRDYXRlZ29yaWVzUGF0aCkge1xuICAgICAgICAgICAgICAgIHVybFBhcnRzLnB1c2goY2F0LmlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKHVybFBhcnRzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgc3dpdGNoIChjb21tYW5kLm5hbWUpIHtcbiAgICAgICAgICAgIGNhc2UgJ25hdmlnYXRlLXRvLWNhdGVnb3J5JzpcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm5hdmlnYXRlVG9DYXRlZ29yeShjb21tYW5kLm9wdGlvbnM/LlsnY2F0ZWdvcnknXSBhcyBBWFBSZXBvcnRDYXRlZ29yeSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICduYXZpZ2F0ZS10by1yZXBvcnRzLXJvb3QnOlxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFsuLi50aGlzLmJhc2VSb3V0ZXNdKTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NyZWF0ZS1yZXBvcnQnOlxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMud29ya2Zsb3cuZXhlY3V0ZSgncmVwb3J0LWNyZWF0ZScsIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlJZDogdGhpcy52bS5hY3RpdmVDYXRlZ29yeSgpPy5pZCA/PyBudWxsLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgYXN5bmMgZ2V0UHJpbWFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aXRsZTogJ3QoXCJhY3Rpb25zLmNyZWF0ZVwiKScsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXBsdXMnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICAgICAgICAgICAgY29tbWFuZDoge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnY3JlYXRlLXJlcG9ydCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgLy8jZW5kcmVnaW9uXG59XG4iLCI8YXhwLXBhZ2UtbGF5b3V0ICp0cmFuc2xhdGU9XCJsZXQgdFwiPlxuICBAaWYgKHZtLnNob3dTaWRlTWVudSgpKSB7XG4gICAgPGF4cC1sYXlvdXQtc3RhcnQtc2lkZT5cbiAgICAgIDxheHAtbGF5b3V0LWhlYWRlcj5cbiAgICAgICAgPGF4cC1sYXlvdXQtdGl0bGU+e3sgdCgnQHJlcG9ydC1tYW5hZ2VtZW50OmZlYXR1cmVzLnJlcG9ydC1ydW5uZXIubWVudS10aXRsZScpIHwgYXN5bmMgfX08L2F4cC1sYXlvdXQtdGl0bGU+XG4gICAgICAgIDxheHAtbGF5b3V0LXRvb2xiYXI+XG4gICAgICAgICAgPGF4LXNlYXJjaC1ib3hcbiAgICAgICAgICAgIFtkZWxheVRpbWVdPVwiMzAwXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInZtLnNlYXJjaEV4cHJlc3Npb24oKVwiXG4gICAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwidm0uc2VhcmNoKCRldmVudC52YWx1ZSlcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQoJ3NlYXJjaC5wbGFjZWhvbGRlcicpIHwgYXN5bmNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgICAgPC9heC1zZWFyY2gtYm94PlxuICAgICAgICA8L2F4cC1sYXlvdXQtdG9vbGJhcj5cbiAgICAgIDwvYXhwLWxheW91dC1oZWFkZXI+XG4gICAgICA8YXhwLWxheW91dC1jb250ZW50PlxuICAgICAgICA8YXhwLXJlcG9ydC1jYXRlZ29yaWVzLXRyZWUgKGNhdGVnb3J5Q2xpY2spPVwib25DYXRlZ29yeUNsaWNrKCRldmVudClcIiAocmVwb3J0Q2xpY2spPVwib25SZXBvcnRDbGljaygkZXZlbnQpXCIgLz5cbiAgICAgIDwvYXhwLWxheW91dC1jb250ZW50PlxuICAgIDwvYXhwLWxheW91dC1zdGFydC1zaWRlPlxuICB9XG5cbiAgPGF4cC1wYWdlLWNvbnRlbnQ+XG4gICAgPCEtLSBEZXNrdG9wIGFuZCBNb2JpbGU6IEFsd2F5cyBzaG93IGJyb3dzZXIgdGVtcGxhdGUgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImJyb3dzZXJcIj4gPC9uZy1jb250YWluZXI+XG4gIDwvYXhwLXBhZ2UtY29udGVudD5cblxuICA8IS0tIERlc2t0b3A6IEdyaWQtYmFzZWQgYnJvd3NlciBmb3IgbWFpbiBjb250ZW50IC0tPlxuICA8bmctdGVtcGxhdGUgI2Jyb3dzZXI+XG4gICAgPGRpdiBjbGFzcz1cIl9fcmVwb3J0cy1icm93c2VyXCI+XG4gICAgICBAaWYgKHZtLmNhdGVnb3JpZXMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX3NlY3Rpb25cIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJfX3NlY3Rpb24tdGl0bGVcIj5DYXRlZ29yaWVzPC9oMz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtcy1ncmlkXCI+XG4gICAgICAgICAgICBAZm9yIChjYXRlZ29yeSBvZiB2bS5jYXRlZ29yaWVzKCk7IHRyYWNrIGNhdGVnb3J5LmlkKSB7XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2l0ZW0gX19jYXRlZ29yeVwiIChjbGljayk9XCJuYXZpZ2F0ZVRvQ2F0ZWdvcnkoY2F0ZWdvcnkpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWZvbGRlclwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtLWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2l0ZW0tdGl0bGVcIj57eyBjYXRlZ29yeS50aXRsZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgQGlmIChjYXRlZ29yeS5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtLWRlc2NyaXB0aW9uXCI+e3sgY2F0ZWdvcnkuZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICBAaWYgKHZtLnJlcG9ydHMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX3NlY3Rpb25cIj5cbiAgICAgICAgICA8aDMgY2xhc3M9XCJfX3NlY3Rpb24tdGl0bGVcIj5SZXBvcnRzPC9oMz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtcy1ncmlkXCI+XG4gICAgICAgICAgICBAZm9yIChyZXBvcnQgb2Ygdm0ucmVwb3J0cygpOyB0cmFjayByZXBvcnQuaWQpIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbSBfX3JlcG9ydFwiIChjbGljayk9XCJuYXZpZ2F0ZVRvUmVwb3J0KHJlcG9ydClcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZmlsZS1jaGFydC1jb2x1bW5cIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIl9faXRlbS1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtLXRpdGxlXCI+e3sgcmVwb3J0LnRpdGxlIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICBAaWYgKHJlcG9ydC5kZXNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19pdGVtLWRlc2NyaXB0aW9uXCI+e3sgcmVwb3J0LmRlc2NyaXB0aW9uIH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgQGlmICh2bS5jYXRlZ29yaWVzKCkubGVuZ3RoID09PSAwICYmIHZtLnJlcG9ydHMoKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fZW1wdHktc3RhdGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiX19lbXB0eS1pY29uXCI+XG4gICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLWxpZ2h0IGZhLWZvbGRlci1vcGVuXCI+PC9heC1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJfX2VtcHR5LWNvbnRlbnRcIj5cbiAgICAgICAgICAgIDxoND5ObyBpdGVtcyBmb3VuZDwvaDQ+XG4gICAgICAgICAgICA8cD5UaGVyZSBhcmUgbm8gY2F0ZWdvcmllcyBvciByZXBvcnRzIGF2YWlsYWJsZSBpbiB0aGlzIGxvY2F0aW9uLjwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2F4cC1wYWdlLWxheW91dD5cbiJdfQ=="],"names":["i1","i2","i3","i4","i5"],"mappings":"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"}