@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 +0,0 @@
1
- {"version":3,"file":"acorex-modules-platform-management-list-version.component-CgF5pvTa.mjs","sources":["../tmp-esm2022/platform-management/lib/features/app-version/components/list-versions/list-version.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTimeLineModule } from '@acorex/components/time-line';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXFormatModule, AXFormatService } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { AXMAppVersionService } from '../../../../entities/app-version/app-version.service';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/time-line\";\nimport * as i3 from \"@acorex/components/decorators\";\nimport * as i4 from \"@acorex/components/button\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXMListVersionComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.appVersionService = inject(AXMAppVersionService);\n this.formatService = inject(AXFormatService);\n this.sanitize = inject(DomSanitizer);\n this.versions = signal([]);\n }\n async ngOnInit() {\n const result = await this.appVersionService.query({\n take: 1000,\n skip: 0,\n });\n const mappedItems = result.items.map((item) => ({\n id: item.id,\n //TODO to translate\n title: `Version ${item.versionNumber} Published at ${this.formatService.format(item.publishDate, 'datetime', {\n format: 'date',\n })}`,\n content: this.sanitize.bypassSecurityTrustHtml(item.changeLog) ?? '',\n }));\n this.versions.set(mappedItems);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMListVersionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AXMListVersionComponent, isStandalone: true, selector: \"axm-list-version\", usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-px-12 ax-min-h-96\\\">\\n <ax-time-line>\\n @for(version of versions();track version.id){\\n <ax-time-line-item [text]=\\\"version.title\\\" [isCollapsed]=\\\"$index == 0 ? false : true\\\">\\n <ax-icon class=\\\"fa-solid fa-flag-checkered\\\"></ax-icon>\\n <ax-content class=\\\"ax-px-8 ax-py-2 ax-text-base/6\\\" [innerHtml]=\\\"version.content\\\"></ax-content>\\n </ax-time-line-item>\\n }\\n </ax-time-line>\\n</div>\\n<ax-footer class=\\\"ax-flex !ax-justify-end\\\"\\n ><ax-button [text]=\\\"'okay' | translate | async\\\" color=\\\"primary\\\" (onClick)=\\\"this.close()\\\"></ax-button\\n></ax-footer>\\n\", dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: AXTimeLineModule }, { kind: \"component\", type: i2.AXTimeLineComponent, selector: \"ax-time-line\", inputs: [\"mode\"] }, { kind: \"component\", type: i2.AXTimeLineItemComponent, selector: \"ax-time-line-item\", inputs: [\"text\", \"isActive\", \"isCollapsed\"], outputs: [\"isCollapsedChange\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i3.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i3.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"ngmodule\", type: AXDateTimeModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i4.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"pipe\", type: i5.AXTranslatorPipe, name: \"translate\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMListVersionComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-list-version', imports: [\n CommonModule,\n AXTimeLineModule,\n AXDecoratorModule,\n AXFormatModule,\n AXDateTimeModule,\n AXButtonModule,\n AXTranslationModule,\n ], changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"ax-px-12 ax-min-h-96\\\">\\n <ax-time-line>\\n @for(version of versions();track version.id){\\n <ax-time-line-item [text]=\\\"version.title\\\" [isCollapsed]=\\\"$index == 0 ? false : true\\\">\\n <ax-icon class=\\\"fa-solid fa-flag-checkered\\\"></ax-icon>\\n <ax-content class=\\\"ax-px-8 ax-py-2 ax-text-base/6\\\" [innerHtml]=\\\"version.content\\\"></ax-content>\\n </ax-time-line-item>\\n }\\n </ax-time-line>\\n</div>\\n<ax-footer class=\\\"ax-flex !ax-justify-end\\\"\\n ><ax-button [text]=\\\"'okay' | translate | async\\\" color=\\\"primary\\\" (onClick)=\\\"this.close()\\\"></ax-button\\n></ax-footer>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12ZXJzaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9wbGF0Zm9ybS1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvYXBwLXZlcnNpb24vY29tcG9uZW50cy9saXN0LXZlcnNpb25zL2xpc3QtdmVyc2lvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcGxhdGZvcm0tbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2FwcC12ZXJzaW9uL2NvbXBvbmVudHMvbGlzdC12ZXJzaW9ucy9saXN0LXZlcnNpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFNUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7O0FBZ0J6RCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsbUJBQW1CO0lBZGhFOztRQWVVLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2pELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2hELGFBQVEsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDL0IsYUFBUSxHQUFzRCxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7S0FpQjFFO0lBZm9CLEtBQUssQ0FBQyxRQUFRO1FBQy9CLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztZQUNoRCxJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxDQUFDO1NBQ1IsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQWtDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLG1CQUFtQjtZQUNuQixLQUFLLEVBQUUsV0FBVyxJQUFJLENBQUMsYUFBYSxrQkFBa0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUU7Z0JBQzVHLE1BQU0sRUFBRSxNQUFNO2FBQ2YsQ0FBQyxFQUFFO1lBQ0osT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7U0FDckUsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqQyxDQUFDOzhHQXBCVSx1QkFBdUI7a0dBQXZCLHVCQUF1QixtR0MzQnBDLDZsQkFhQSwyQ0RHSSxZQUFZLG1GQUNaLGdCQUFnQixvU0FDaEIsaUJBQWlCLHNWQUNqQixjQUFjLDhCQUNkLGdCQUFnQiw4QkFDaEIsY0FBYyw2WEFDZCxtQkFBbUI7OzJGQUtWLHVCQUF1QjtrQkFkbkMsU0FBUzsrQkFDRSxrQkFBa0IsV0FDbkI7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLGNBQWM7d0JBQ2QsbUJBQW1CO3FCQUNwQixtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYQmFzZVBhZ2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcGFnZSc7XG5pbXBvcnQgeyBBWFRpbWVMaW5lTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RpbWUtbGluZSc7XG5pbXBvcnQgeyBBWERhdGVUaW1lTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGUtdGltZSc7XG5pbXBvcnQgeyBBWEZvcm1hdE1vZHVsZSwgQVhGb3JtYXRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3QsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTUFwcFZlcnNpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW50aXRpZXMvYXBwLXZlcnNpb24vYXBwLXZlcnNpb24uc2VydmljZSc7XG5pbXBvcnQgeyBBWE1BcHBWZXJzaW9uTGlzdENvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vZW50aXRpZXMvYXBwLXZlcnNpb24vYXBwLXZlcnNpb24udHlwZXMnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4bS1saXN0LXZlcnNpb24nLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYVGltZUxpbmVNb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhGb3JtYXRNb2R1bGUsXG4gICAgQVhEYXRlVGltZU1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC12ZXJzaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEFYTUxpc3RWZXJzaW9uQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgYXBwVmVyc2lvblNlcnZpY2UgPSBpbmplY3QoQVhNQXBwVmVyc2lvblNlcnZpY2UpO1xuICBwcml2YXRlIGZvcm1hdFNlcnZpY2UgPSBpbmplY3QoQVhGb3JtYXRTZXJ2aWNlKTtcbiAgc2FuaXRpemUgPSBpbmplY3QoRG9tU2FuaXRpemVyKVxuICB2ZXJzaW9uczogV3JpdGFibGVTaWduYWw8QVhNQXBwVmVyc2lvbkxpc3RDb21wb25lbnRNb2RlbFtdPiA9IHNpZ25hbChbXSk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuYXBwVmVyc2lvblNlcnZpY2UucXVlcnkoe1xuICAgICAgdGFrZTogMTAwMCxcbiAgICAgIHNraXA6IDAsXG4gICAgfSk7XG4gICAgY29uc3QgbWFwcGVkSXRlbXMgPSByZXN1bHQuaXRlbXMubWFwPEFYTUFwcFZlcnNpb25MaXN0Q29tcG9uZW50TW9kZWw+KChpdGVtKSA9PiAoe1xuICAgICAgaWQ6IGl0ZW0uaWQsXG4gICAgICAvL1RPRE8gdG8gdHJhbnNsYXRlXG4gICAgICB0aXRsZTogYFZlcnNpb24gJHtpdGVtLnZlcnNpb25OdW1iZXJ9IFB1Ymxpc2hlZCAgYXQgJHt0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KGl0ZW0ucHVibGlzaERhdGUsICdkYXRldGltZScsIHtcbiAgICAgICAgZm9ybWF0OiAnZGF0ZScsXG4gICAgICB9KX1gLFxuICAgICAgY29udGVudDogdGhpcy5zYW5pdGl6ZS5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChpdGVtLmNoYW5nZUxvZykgPz8gJycsXG4gICAgfSkpO1xuICAgIHRoaXMudmVyc2lvbnMuc2V0KG1hcHBlZEl0ZW1zKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF4LXB4LTEyIGF4LW1pbi1oLTk2XCI+XG4gIDxheC10aW1lLWxpbmU+XG4gICAgQGZvcih2ZXJzaW9uIG9mIHZlcnNpb25zKCk7dHJhY2sgdmVyc2lvbi5pZCl7XG4gICAgPGF4LXRpbWUtbGluZS1pdGVtIFt0ZXh0XT1cInZlcnNpb24udGl0bGVcIiBbaXNDb2xsYXBzZWRdPVwiJGluZGV4ID09IDAgPyBmYWxzZSA6IHRydWVcIj5cbiAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtZmxhZy1jaGVja2VyZWRcIj48L2F4LWljb24+XG4gICAgICA8YXgtY29udGVudCBjbGFzcz1cImF4LXB4LTggYXgtcHktMiBheC10ZXh0LWJhc2UvNlwiIFtpbm5lckh0bWxdPVwidmVyc2lvbi5jb250ZW50XCI+PC9heC1jb250ZW50PlxuICAgIDwvYXgtdGltZS1saW5lLWl0ZW0+XG4gICAgfVxuICA8L2F4LXRpbWUtbGluZT5cbjwvZGl2PlxuPGF4LWZvb3RlciBjbGFzcz1cImF4LWZsZXggIWF4LWp1c3RpZnktZW5kXCJcbiAgPjxheC1idXR0b24gW3RleHRdPVwiJ29rYXknIHwgdHJhbnNsYXRlIHwgYXN5bmNcIiBjb2xvcj1cInByaW1hcnlcIiAob25DbGljayk9XCJ0aGlzLmNsb3NlKClcIj48L2F4LWJ1dHRvblxuPjwvYXgtZm9vdGVyPlxuIl19"],"names":["i4","i5"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-platform-management-settings.provider-intHn3XI.mjs","sources":["../tmp-esm2022/platform-management/lib/features/common/regional/settings.provider.js"],"sourcesContent":["import { AXFormatService } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPRegionalService, } from '@acorex/platform/common';\nimport { objectKeyValueTransforms } from '@acorex/platform/core';\nimport { AXPRegionalSetting } from './settings.keys';\nexport class AXMRegionalSettingProvider {\n constructor(injector) {\n this.injector = injector;\n this.regionalService = this.injector.get(AXPRegionalService);\n this.translateService = this.injector.get(AXTranslationService);\n this.formatService = this.injector.get(AXFormatService);\n }\n async provide(context) {\n const trans = async (key) => await this.translateService.translateAsync(`settings.regional.${key}`, { scope: 'regional' });\n const profiles = await this.regionalService.getLocaleProfiles();\n const defaultProfile = profiles.find((p) => p.code === 'en-US');\n context\n .addGroup('regional-settings', await trans('title'), await trans('description'), 'fa-light fa-earth-americas')\n // Date & Time Section\n .addSection('date-time', await trans('datetime.title'), await trans('datetime.description'))\n .addSetting({\n key: AXPRegionalSetting.TimeZone,\n title: await trans('datetime.timezone.title'),\n scope: 'T',\n isInherited: true,\n defaultValue: await this.regionalService.getBrowserTimeZoneCode(),\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n dataSource: await this.regionalService.getTimeZones(),\n },\n },\n description: await trans('datetime.timezone.description'),\n })\n .endSection()\n // Region Section\n .addSection('region', await trans('region.title'), await trans('region.description'))\n .addSetting({\n key: AXPRegionalSetting.LocaleProfile,\n title: await trans('region.format.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.code,\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n dataSource: profiles,\n },\n },\n description: await trans('region.format.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.Language,\n title: await trans('region.language.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: await this.translateService.getDefaultLang(),\n valueTransforms: objectKeyValueTransforms('code'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'code',\n dataSource: await this.regionalService.getAvailableLanguages(),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: `{{ widget.setValue(context.eval('${AXPRegionalSetting.LocaleProfile}')) }}`,\n },\n ],\n },\n description: await trans('region.language.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.Calendar,\n title: await trans('region.calendar.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.calendar.system,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n {\n text: await trans('region.calendar.options.gregorian'),\n value: 'gregorian',\n },\n {\n text: await trans('region.calendar.options.hijri'),\n value: 'solar-hijri',\n },\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.system) }}`,\n ],\n },\n ],\n },\n description: await trans('region.calendar.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.FirstDayOfWeek,\n title: await trans('region.firstday.title'),\n scope: 'T',\n isInherited: false,\n defaultValue: defaultProfile.calendar.week.startsOn,\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n {\n text: await trans('region.firstday.options.saturday'),\n value: 6,\n },\n {\n text: await trans('region.firstday.options.sunday'),\n value: 0,\n },\n {\n text: await trans('region.firstday.options.monday'),\n value: 1,\n },\n ],\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.week.startsOn) }}`,\n ],\n },\n ],\n },\n },\n description: await trans('region.firstday.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.WeekendDays,\n title: await trans('region.workdays.title'),\n scope: 'T',\n isInherited: false,\n defaultValue: defaultProfile.calendar.week.weekends,\n widget: {\n type: AXPWidgetsList.Editors.SelectionList,\n options: {\n multiple: true,\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { text: await trans('region.workdays.options.monday'), value: 1 },\n { text: await trans('region.workdays.options.tuesday'), value: 2 },\n { text: await trans('region.workdays.options.wednesday'), value: 3 },\n { text: await trans('region.workdays.options.thursday'), value: 4 },\n { text: await trans('region.workdays.options.friday'), value: 5 },\n { text: await trans('region.workdays.options.saturday'), value: 6 },\n { text: await trans('region.workdays.options.sunday'), value: 0 },\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').calendar.week.weekends) }}`,\n ],\n },\n ],\n },\n description: await trans('region.workdays.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.ShortDate,\n title: await trans('region.shortdate.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.date.medium,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(profiles.map(async (c) => ({\n text: `${c.formats.date.medium} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.date.medium })})`,\n value: c.formats.date.medium,\n }))),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.date.short) }}`,\n ],\n },\n ],\n },\n description: await trans('region.shortdate.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.LongDate,\n title: await trans('region.longdate.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.date.long,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(profiles.map(async (c) => ({\n text: `${c.formats.date.long} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.date.long })})`,\n value: c.formats.date.long,\n }))),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.date.long) }}`,\n ],\n },\n ],\n },\n description: await trans('region.longdate.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.ShortTime,\n title: await trans('region.shorttime.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.time.short,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(profiles.map(async (c) => ({\n text: `${c.formats.time.short} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.time.short })})`,\n value: c.formats.time.short,\n }))),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.time.short) }}`,\n ],\n },\n ],\n },\n description: await trans('region.shorttime.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.LongTime,\n title: await trans('region.longtime.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.formats.time.long,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(profiles.map(async (c) => ({\n text: `${c.formats.time.long} (${await this.formatService.format(new Date(), 'datetime', { format: c.formats.time.long })})`,\n value: c.formats.time.long,\n }))),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').formats.time.long) }}`,\n ],\n },\n ],\n },\n description: await trans('region.longtime.description'),\n })\n .endSection()\n // Unit Settings Section\n .addSection('units', await trans('units.title'), await trans('units.description'))\n .addSetting({\n key: AXPRegionalSetting.TemperatureUnits,\n title: await trans('units.temperature.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units.temperature,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(profiles.map(async (c) => ({\n text: await trans(`units.temperature.options.${c.units.temperature}`),\n value: c.units.temperature,\n }))),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.temperature) }}`,\n ],\n },\n ],\n },\n description: await trans('units.temperature.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.DistanceUnits,\n title: await trans('units.distance.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units.distance,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(profiles.map(async (c) => ({\n text: await trans(`units.distance.options.${c.units.distance}`),\n value: c.units.distance,\n }))),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.distance) }}`,\n ],\n },\n ],\n },\n description: await trans('units.distance.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.WeightUnits,\n title: await trans('units.weight.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units.weight,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(profiles.map(async (c) => ({\n text: await trans(`units.weight.options.${c.units.weight}`),\n value: c.units.weight,\n }))),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.weight) }}`,\n ],\n },\n ],\n },\n description: await trans('units.weight.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.VolumeUnits,\n title: await trans('units.volume.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units.volume,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { text: await trans('units.volume.options.liters'), value: 'liters' },\n { text: await trans('units.volume.options.gallons'), value: 'gallons' },\n ],\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.volume) }}`,\n ],\n },\n ],\n },\n description: await trans('units.volume.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.SpeedUnits,\n title: await trans('units.speed.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units.speed,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(profiles.map(async (c) => ({\n text: await trans(`units.speed.options.${c.units.speed}`),\n value: c.units.speed,\n }))),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.speed) }}`,\n ],\n },\n ],\n },\n description: await trans('units.speed.description'),\n })\n .addSetting({\n key: AXPRegionalSetting.AreaUnits,\n title: await trans('units.area.title'),\n scope: 'U',\n isInherited: true,\n defaultValue: defaultProfile.units.area,\n valueTransforms: objectKeyValueTransforms('value'),\n widget: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'value',\n textField: 'text',\n dataSource: await Promise.all(profiles.map(async (c) => ({\n text: await trans(`units.area.options.${c.units.area}`),\n value: c.units.area,\n }))),\n },\n triggers: [\n {\n event: `{{ events.context('${AXPRegionalSetting.LocaleProfile}') }}`,\n action: [\n `{{ widget.setValue(widget.find('${AXPRegionalSetting.LocaleProfile}').output('item').units.area) }}`,\n ],\n },\n ],\n },\n description: await trans('units.area.description'),\n })\n .endSection()\n .endGroup();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcGxhdGZvcm0tbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2NvbW1vbi9yZWdpb25hbC9zZXR0aW5ncy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFDTCxrQkFBa0IsR0FHbkIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFKOUIsb0JBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9DLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDM0Qsa0JBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUUzQixDQUFDO0lBRTFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBNEM7UUFDeEQsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBRSxFQUFFLENBQ2xDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVB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LGtCQUFrQixDQUFDLGFBQWEsa0NBQWtDO3lCQUN0RztxQkFDRjtpQkFDRjthQUNGO1lBQ0QsV0FBVyxFQUFFLE1BQU0sS0FBSyxDQUFDLHdCQUF3QixDQUFDO1NBQ25ELENBQUM7YUFDRCxVQUFVLEVBQUU7YUFDWixRQUFRLEVBQUUsQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEZvcm1hdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnQGFjb3JleC9tb2R1bGVzL2NvbW1vbic7XG5pbXBvcnQge1xuICBBWFBSZWdpb25hbFNlcnZpY2UsXG4gIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIsXG4gIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0LFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBvYmplY3RLZXlWYWx1ZVRyYW5zZm9ybXMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFJlZ2lvbmFsU2V0dGluZyB9IGZyb20gJy4vc2V0dGluZ3Mua2V5cyc7XG5leHBvcnQgY2xhc3MgQVhNUmVnaW9uYWxTZXR0aW5nUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyIHtcbiAgcHJpdmF0ZSByZWdpb25hbFNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWFBSZWdpb25hbFNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybWF0U2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYRm9ybWF0U2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgYXN5bmMgcHJvdmlkZShjb250ZXh0OiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHRyYW5zID0gYXN5bmMgKGtleTogc3RyaW5nKSA9PlxuICAgICAgYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKGBzZXR0aW5ncy5yZWdpb25hbC4ke2tleX1gLCB7IHNjb3BlOiAncmVnaW9uYWwnIH0pO1xuICAgIGNvbnN0IHByb2ZpbGVzID0gYXdhaXQgdGhpcy5yZWdpb25hbFNlcnZpY2UuZ2V0TG9jYWxlUHJvZmlsZXMoKTtcbiAgICBjb25zdCBkZWZhdWx0UHJvZmlsZSA9IHByb2ZpbGVzLmZpbmQoKHApID0+IHAuY29kZSA9PT0gJ2VuLVVTJykhO1xuXG4gICAgY29udGV4dFxuICAgICAgLmFkZEdyb3VwKCdyZWdpb25hbC1zZXR0aW5ncycsIGF3YWl0IHRyYW5zKCd0aXRsZScpLCBhd2FpdCB0cmFucygnZGVzY3JpcHRpb24nKSwgJ2ZhLWxpZ2h0IGZhLWVhcnRoLWFtZXJpY2FzJylcblxuICAgICAgLy8gRGF0ZSAmIFRpbWUgU2VjdGlvblxuICAgICAgLmFkZFNlY3Rpb24oJ2RhdGUtdGltZScsIGF3YWl0IHRyYW5zKCdkYXRldGltZS50aXRsZScpLCBhd2FpdCB0cmFucygnZGF0ZXRpbWUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAga2V5OiBBWFBSZWdpb25hbFNldHRpbmcuVGltZVpvbmUsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0cmFucygnZGF0ZXRpbWUudGltZXpvbmUudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6ICdUJyxcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogYXdhaXQgdGhpcy5yZWdpb25hbFNlcnZpY2UuZ2V0QnJvd3NlclRpbWVab25lQ29kZSgpLFxuICAgICAgICB2YWx1ZVRyYW5zZm9ybXM6IG9iamVjdEtleVZhbHVlVHJhbnNmb3JtcygnY29kZScpLFxuICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlNlbGVjdEJveCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICB2YWx1ZUZpZWxkOiAnY29kZScsXG4gICAgICAgICAgICBkYXRhU291cmNlOiBhd2FpdCB0aGlzLnJlZ2lvbmFsU2VydmljZS5nZXRUaW1lWm9uZXMoKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ2RhdGV0aW1lLnRpbWV6b25lLmRlc2NyaXB0aW9uJyksXG4gICAgICB9KVxuICAgICAgLmVuZFNlY3Rpb24oKVxuXG4gICAgICAvLyBSZWdpb24gU2VjdGlvblxuICAgICAgLmFkZFNlY3Rpb24oJ3JlZ2lvbicsIGF3YWl0IHRyYW5zKCdyZWdpb24udGl0bGUnKSwgYXdhaXQgdHJhbnMoJ3JlZ2lvbi5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUFJlZ2lvbmFsU2V0dGluZy5Mb2NhbGVQcm9maWxlLFxuICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnMoJ3JlZ2lvbi5mb3JtYXQudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6ICdVJyxcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFByb2ZpbGUuY29kZSxcbiAgICAgICAgdmFsdWVUcmFuc2Zvcm1zOiBvYmplY3RLZXlWYWx1ZVRyYW5zZm9ybXMoJ2NvZGUnKSxcbiAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5TZWxlY3RCb3gsXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgdmFsdWVGaWVsZDogJ2NvZGUnLFxuICAgICAgICAgICAgZGF0YVNvdXJjZTogcHJvZmlsZXMsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdyZWdpb24uZm9ybWF0LmRlc2NyaXB0aW9uJyksXG4gICAgICB9KVxuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUFJlZ2lvbmFsU2V0dGluZy5MYW5ndWFnZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdyZWdpb24ubGFuZ3VhZ2UudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6ICdVJyxcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldERlZmF1bHRMYW5nKCksXG4gICAgICAgIHZhbHVlVHJhbnNmb3Jtczogb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zKCdjb2RlJyksXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuU2VsZWN0Qm94LFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6ICdjb2RlJyxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGF3YWl0IHRoaXMucmVnaW9uYWxTZXJ2aWNlLmdldEF2YWlsYWJsZUxhbmd1YWdlcygpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHJpZ2dlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZXZlbnQ6IGB7eyBldmVudHMuY29udGV4dCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKSB9fWAsXG4gICAgICAgICAgICAgIGFjdGlvbjogYHt7IHdpZGdldC5zZXRWYWx1ZShjb250ZXh0LmV2YWwoJyR7QVhQUmVnaW9uYWxTZXR0aW5nLkxvY2FsZVByb2ZpbGV9JykpIH19YCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdyZWdpb24ubGFuZ3VhZ2UuZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG5cbiAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAga2V5OiBBWFBSZWdpb25hbFNldHRpbmcuQ2FsZW5kYXIsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0cmFucygncmVnaW9uLmNhbGVuZGFyLnRpdGxlJyksXG4gICAgICAgIHNjb3BlOiAnVScsXG4gICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRQcm9maWxlLmNhbGVuZGFyLnN5c3RlbSxcbiAgICAgICAgdmFsdWVUcmFuc2Zvcm1zOiBvYmplY3RLZXlWYWx1ZVRyYW5zZm9ybXMoJ3ZhbHVlJyksXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuU2VsZWN0Qm94LFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICB0ZXh0RmllbGQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKCdyZWdpb24uY2FsZW5kYXIub3B0aW9ucy5ncmVnb3JpYW4nKSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ2dyZWdvcmlhbicsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygncmVnaW9uLmNhbGVuZGFyLm9wdGlvbnMuaGlqcmknKSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ3NvbGFyLWhpanJpJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBldmVudDogYHt7IGV2ZW50cy5jb250ZXh0KCcke0FYUFJlZ2lvbmFsU2V0dGluZy5Mb2NhbGVQcm9maWxlfScpIH19YCxcbiAgICAgICAgICAgICAgYWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgYHt7IHdpZGdldC5zZXRWYWx1ZSh3aWRnZXQuZmluZCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKS5vdXRwdXQoJ2l0ZW0nKS5jYWxlbmRhci5zeXN0ZW0pIH19YCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdyZWdpb24uY2FsZW5kYXIuZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG4gICAgICAuYWRkU2V0dGluZyh7XG4gICAgICAgIGtleTogQVhQUmVnaW9uYWxTZXR0aW5nLkZpcnN0RGF5T2ZXZWVrLFxuICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnMoJ3JlZ2lvbi5maXJzdGRheS50aXRsZScpLFxuICAgICAgICBzY29wZTogJ1QnLFxuICAgICAgICBpc0luaGVyaXRlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFByb2ZpbGUuY2FsZW5kYXIud2Vlay5zdGFydHNPbixcbiAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5TZWxlY3RCb3gsXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgZGF0YVNvdXJjZTogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoJ3JlZ2lvbi5maXJzdGRheS5vcHRpb25zLnNhdHVyZGF5JyksXG4gICAgICAgICAgICAgICAgdmFsdWU6IDYsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygncmVnaW9uLmZpcnN0ZGF5Lm9wdGlvbnMuc3VuZGF5JyksXG4gICAgICAgICAgICAgICAgdmFsdWU6IDAsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBhd2FpdCB0cmFucygncmVnaW9uLmZpcnN0ZGF5Lm9wdGlvbnMubW9uZGF5JyksXG4gICAgICAgICAgICAgICAgdmFsdWU6IDEsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgdHJpZ2dlcnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGV2ZW50OiBge3sgZXZlbnRzLmNvbnRleHQoJyR7QVhQUmVnaW9uYWxTZXR0aW5nLkxvY2FsZVByb2ZpbGV9JykgfX1gLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogW1xuICAgICAgICAgICAgICAgICAgYHt7IHdpZGdldC5zZXRWYWx1ZSh3aWRnZXQuZmluZCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKS5vdXRwdXQoJ2l0ZW0nKS5jYWxlbmRhci53ZWVrLnN0YXJ0c09uKSB9fWAsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdyZWdpb24uZmlyc3RkYXkuZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG4gICAgICAuYWRkU2V0dGluZyh7XG4gICAgICAgIGtleTogQVhQUmVnaW9uYWxTZXR0aW5nLldlZWtlbmREYXlzLFxuICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnMoJ3JlZ2lvbi53b3JrZGF5cy50aXRsZScpLFxuICAgICAgICBzY29wZTogJ1QnLFxuICAgICAgICBpc0luaGVyaXRlZDogZmFsc2UsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFByb2ZpbGUuY2FsZW5kYXIud2Vlay53ZWVrZW5kcyxcbiAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5TZWxlY3Rpb25MaXN0LFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgZGF0YVNvdXJjZTogW1xuICAgICAgICAgICAgICB7IHRleHQ6IGF3YWl0IHRyYW5zKCdyZWdpb24ud29ya2RheXMub3B0aW9ucy5tb25kYXknKSwgdmFsdWU6IDEgfSxcbiAgICAgICAgICAgICAgeyB0ZXh0OiBhd2FpdCB0cmFucygncmVnaW9uLndvcmtkYXlzLm9wdGlvbnMudHVlc2RheScpLCB2YWx1ZTogMiB9LFxuICAgICAgICAgICAgICB7IHRleHQ6IGF3YWl0IHRyYW5zKCdyZWdpb24ud29ya2RheXMub3B0aW9ucy53ZWRuZXNkYXknKSwgdmFsdWU6IDMgfSxcbiAgICAgICAgICAgICAgeyB0ZXh0OiBhd2FpdCB0cmFucygncmVnaW9uLndvcmtkYXlzLm9wdGlvbnMudGh1cnNkYXknKSwgdmFsdWU6IDQgfSxcbiAgICAgICAgICAgICAgeyB0ZXh0OiBhd2FpdCB0cmFucygncmVnaW9uLndvcmtkYXlzLm9wdGlvbnMuZnJpZGF5JyksIHZhbHVlOiA1IH0sXG4gICAgICAgICAgICAgIHsgdGV4dDogYXdhaXQgdHJhbnMoJ3JlZ2lvbi53b3JrZGF5cy5vcHRpb25zLnNhdHVyZGF5JyksIHZhbHVlOiA2IH0sXG4gICAgICAgICAgICAgIHsgdGV4dDogYXdhaXQgdHJhbnMoJ3JlZ2lvbi53b3JrZGF5cy5vcHRpb25zLnN1bmRheScpLCB2YWx1ZTogMCB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRyaWdnZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGV2ZW50OiBge3sgZXZlbnRzLmNvbnRleHQoJyR7QVhQUmVnaW9uYWxTZXR0aW5nLkxvY2FsZVByb2ZpbGV9JykgfX1gLFxuICAgICAgICAgICAgICBhY3Rpb246IFtcbiAgICAgICAgICAgICAgICBge3sgd2lkZ2V0LnNldFZhbHVlKHdpZGdldC5maW5kKCcke0FYUFJlZ2lvbmFsU2V0dGluZy5Mb2NhbGVQcm9maWxlfScpLm91dHB1dCgnaXRlbScpLmNhbGVuZGFyLndlZWsud2Vla2VuZHMpIH19YCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdyZWdpb24ud29ya2RheXMuZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG4gICAgICAuYWRkU2V0dGluZyh7XG4gICAgICAgIGtleTogQVhQUmVnaW9uYWxTZXR0aW5nLlNob3J0RGF0ZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdyZWdpb24uc2hvcnRkYXRlLnRpdGxlJyksXG4gICAgICAgIHNjb3BlOiAnVScsXG4gICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRQcm9maWxlLmZvcm1hdHMuZGF0ZS5tZWRpdW0sXG4gICAgICAgIHZhbHVlVHJhbnNmb3Jtczogb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zKCd2YWx1ZScpLFxuICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlNlbGVjdEJveCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICB2YWx1ZUZpZWxkOiAndmFsdWUnLFxuICAgICAgICAgICAgdGV4dEZpZWxkOiAndGV4dCcsXG4gICAgICAgICAgICBkYXRhU291cmNlOiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgcHJvZmlsZXMubWFwKGFzeW5jIChjKSA9PiAoe1xuICAgICAgICAgICAgICAgIHRleHQ6IGAke2MuZm9ybWF0cy5kYXRlLm1lZGl1bX0gKCR7YXdhaXQgdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdChuZXcgRGF0ZSgpLCAnZGF0ZXRpbWUnLCB7IGZvcm1hdDogYy5mb3JtYXRzLmRhdGUubWVkaXVtIH0pfSlgLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBjLmZvcm1hdHMuZGF0ZS5tZWRpdW0sXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBldmVudDogYHt7IGV2ZW50cy5jb250ZXh0KCcke0FYUFJlZ2lvbmFsU2V0dGluZy5Mb2NhbGVQcm9maWxlfScpIH19YCxcbiAgICAgICAgICAgICAgYWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgYHt7IHdpZGdldC5zZXRWYWx1ZSh3aWRnZXQuZmluZCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKS5vdXRwdXQoJ2l0ZW0nKS5mb3JtYXRzLmRhdGUuc2hvcnQpIH19YCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdyZWdpb24uc2hvcnRkYXRlLmRlc2NyaXB0aW9uJyksXG4gICAgICB9KVxuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUFJlZ2lvbmFsU2V0dGluZy5Mb25nRGF0ZSxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdyZWdpb24ubG9uZ2RhdGUudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6ICdVJyxcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFByb2ZpbGUuZm9ybWF0cy5kYXRlLmxvbmcsXG4gICAgICAgIHZhbHVlVHJhbnNmb3Jtczogb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zKCd2YWx1ZScpLFxuICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlNlbGVjdEJveCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICB2YWx1ZUZpZWxkOiAndmFsdWUnLFxuICAgICAgICAgICAgdGV4dEZpZWxkOiAndGV4dCcsXG4gICAgICAgICAgICBkYXRhU291cmNlOiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgcHJvZmlsZXMubWFwKGFzeW5jIChjKSA9PiAoe1xuICAgICAgICAgICAgICAgIHRleHQ6IGAke2MuZm9ybWF0cy5kYXRlLmxvbmd9ICgke2F3YWl0IHRoaXMuZm9ybWF0U2VydmljZS5mb3JtYXQobmV3IERhdGUoKSwgJ2RhdGV0aW1lJywgeyBmb3JtYXQ6IGMuZm9ybWF0cy5kYXRlLmxvbmcgfSl9KWAsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGMuZm9ybWF0cy5kYXRlLmxvbmcsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBldmVudDogYHt7IGV2ZW50cy5jb250ZXh0KCcke0FYUFJlZ2lvbmFsU2V0dGluZy5Mb2NhbGVQcm9maWxlfScpIH19YCxcbiAgICAgICAgICAgICAgYWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgYHt7IHdpZGdldC5zZXRWYWx1ZSh3aWRnZXQuZmluZCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKS5vdXRwdXQoJ2l0ZW0nKS5mb3JtYXRzLmRhdGUubG9uZykgfX1gLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ3JlZ2lvbi5sb25nZGF0ZS5kZXNjcmlwdGlvbicpLFxuICAgICAgfSlcbiAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAga2V5OiBBWFBSZWdpb25hbFNldHRpbmcuU2hvcnRUaW1lLFxuICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnMoJ3JlZ2lvbi5zaG9ydHRpbWUudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6ICdVJyxcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFByb2ZpbGUuZm9ybWF0cy50aW1lLnNob3J0LFxuICAgICAgICB2YWx1ZVRyYW5zZm9ybXM6IG9iamVjdEtleVZhbHVlVHJhbnNmb3JtcygndmFsdWUnKSxcbiAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5TZWxlY3RCb3gsXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgZGF0YVNvdXJjZTogYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgIHByb2ZpbGVzLm1hcChhc3luYyAoYykgPT4gKHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBgJHtjLmZvcm1hdHMudGltZS5zaG9ydH0gKCR7YXdhaXQgdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdChuZXcgRGF0ZSgpLCAnZGF0ZXRpbWUnLCB7IGZvcm1hdDogYy5mb3JtYXRzLnRpbWUuc2hvcnQgfSl9KWAsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGMuZm9ybWF0cy50aW1lLnNob3J0LFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHJpZ2dlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZXZlbnQ6IGB7eyBldmVudHMuY29udGV4dCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKSB9fWAsXG4gICAgICAgICAgICAgIGFjdGlvbjogW1xuICAgICAgICAgICAgICAgIGB7eyB3aWRnZXQuc2V0VmFsdWUod2lkZ2V0LmZpbmQoJyR7QVhQUmVnaW9uYWxTZXR0aW5nLkxvY2FsZVByb2ZpbGV9Jykub3V0cHV0KCdpdGVtJykuZm9ybWF0cy50aW1lLnNob3J0KSB9fWAsXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBhd2FpdCB0cmFucygncmVnaW9uLnNob3J0dGltZS5kZXNjcmlwdGlvbicpLFxuICAgICAgfSlcbiAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAga2V5OiBBWFBSZWdpb25hbFNldHRpbmcuTG9uZ1RpbWUsXG4gICAgICAgIHRpdGxlOiBhd2FpdCB0cmFucygncmVnaW9uLmxvbmd0aW1lLnRpdGxlJyksXG4gICAgICAgIHNjb3BlOiAnVScsXG4gICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRQcm9maWxlLmZvcm1hdHMudGltZS5sb25nLFxuICAgICAgICB2YWx1ZVRyYW5zZm9ybXM6IG9iamVjdEtleVZhbHVlVHJhbnNmb3JtcygndmFsdWUnKSxcbiAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5TZWxlY3RCb3gsXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgZGF0YVNvdXJjZTogYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgIHByb2ZpbGVzLm1hcChhc3luYyAoYykgPT4gKHtcbiAgICAgICAgICAgICAgICB0ZXh0OiBgJHtjLmZvcm1hdHMudGltZS5sb25nfSAoJHthd2FpdCB0aGlzLmZvcm1hdFNlcnZpY2UuZm9ybWF0KG5ldyBEYXRlKCksICdkYXRldGltZScsIHsgZm9ybWF0OiBjLmZvcm1hdHMudGltZS5sb25nIH0pfSlgLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBjLmZvcm1hdHMudGltZS5sb25nLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHJpZ2dlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZXZlbnQ6IGB7eyBldmVudHMuY29udGV4dCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKSB9fWAsXG4gICAgICAgICAgICAgIGFjdGlvbjogW1xuICAgICAgICAgICAgICAgIGB7eyB3aWRnZXQuc2V0VmFsdWUod2lkZ2V0LmZpbmQoJyR7QVhQUmVnaW9uYWxTZXR0aW5nLkxvY2FsZVByb2ZpbGV9Jykub3V0cHV0KCdpdGVtJykuZm9ybWF0cy50aW1lLmxvbmcpIH19YCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdyZWdpb24ubG9uZ3RpbWUuZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG4gICAgICAuZW5kU2VjdGlvbigpXG5cbiAgICAgIC8vIFVuaXQgU2V0dGluZ3MgU2VjdGlvblxuICAgICAgLmFkZFNlY3Rpb24oJ3VuaXRzJywgYXdhaXQgdHJhbnMoJ3VuaXRzLnRpdGxlJyksIGF3YWl0IHRyYW5zKCd1bml0cy5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUFJlZ2lvbmFsU2V0dGluZy5UZW1wZXJhdHVyZVVuaXRzLFxuICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnMoJ3VuaXRzLnRlbXBlcmF0dXJlLnRpdGxlJyksXG4gICAgICAgIHNjb3BlOiAnVScsXG4gICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRQcm9maWxlLnVuaXRzIS50ZW1wZXJhdHVyZSxcbiAgICAgICAgdmFsdWVUcmFuc2Zvcm1zOiBvYmplY3RLZXlWYWx1ZVRyYW5zZm9ybXMoJ3ZhbHVlJyksXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuU2VsZWN0Qm94LFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICB0ZXh0RmllbGQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICBwcm9maWxlcy5tYXAoYXN5bmMgKGMpID0+ICh7XG4gICAgICAgICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoYHVuaXRzLnRlbXBlcmF0dXJlLm9wdGlvbnMuJHtjLnVuaXRzIS50ZW1wZXJhdHVyZX1gKSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogYy51bml0cyEudGVtcGVyYXR1cmUsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBldmVudDogYHt7IGV2ZW50cy5jb250ZXh0KCcke0FYUFJlZ2lvbmFsU2V0dGluZy5Mb2NhbGVQcm9maWxlfScpIH19YCxcbiAgICAgICAgICAgICAgYWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgYHt7IHdpZGdldC5zZXRWYWx1ZSh3aWRnZXQuZmluZCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKS5vdXRwdXQoJ2l0ZW0nKS51bml0cy50ZW1wZXJhdHVyZSkgfX1gLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ3VuaXRzLnRlbXBlcmF0dXJlLmRlc2NyaXB0aW9uJyksXG4gICAgICB9KVxuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUFJlZ2lvbmFsU2V0dGluZy5EaXN0YW5jZVVuaXRzLFxuICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnMoJ3VuaXRzLmRpc3RhbmNlLnRpdGxlJyksXG4gICAgICAgIHNjb3BlOiAnVScsXG4gICAgICAgIGlzSW5oZXJpdGVkOiB0cnVlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IGRlZmF1bHRQcm9maWxlLnVuaXRzIS5kaXN0YW5jZSxcbiAgICAgICAgdmFsdWVUcmFuc2Zvcm1zOiBvYmplY3RLZXlWYWx1ZVRyYW5zZm9ybXMoJ3ZhbHVlJyksXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuU2VsZWN0Qm94LFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICB0ZXh0RmllbGQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICBwcm9maWxlcy5tYXAoYXN5bmMgKGMpID0+ICh7XG4gICAgICAgICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoYHVuaXRzLmRpc3RhbmNlLm9wdGlvbnMuJHtjLnVuaXRzIS5kaXN0YW5jZX1gKSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogYy51bml0cyEuZGlzdGFuY2UsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBldmVudDogYHt7IGV2ZW50cy5jb250ZXh0KCcke0FYUFJlZ2lvbmFsU2V0dGluZy5Mb2NhbGVQcm9maWxlfScpIH19YCxcbiAgICAgICAgICAgICAgYWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgYHt7IHdpZGdldC5zZXRWYWx1ZSh3aWRnZXQuZmluZCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKS5vdXRwdXQoJ2l0ZW0nKS51bml0cy5kaXN0YW5jZSkgfX1gLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ3VuaXRzLmRpc3RhbmNlLmRlc2NyaXB0aW9uJyksXG4gICAgICB9KVxuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUFJlZ2lvbmFsU2V0dGluZy5XZWlnaHRVbml0cyxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCd1bml0cy53ZWlnaHQudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6ICdVJyxcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFByb2ZpbGUudW5pdHMhLndlaWdodCxcbiAgICAgICAgdmFsdWVUcmFuc2Zvcm1zOiBvYmplY3RLZXlWYWx1ZVRyYW5zZm9ybXMoJ3ZhbHVlJyksXG4gICAgICAgIHdpZGdldDoge1xuICAgICAgICAgIHR5cGU6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuU2VsZWN0Qm94LFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIHZhbHVlRmllbGQ6ICd2YWx1ZScsXG4gICAgICAgICAgICB0ZXh0RmllbGQ6ICd0ZXh0JyxcbiAgICAgICAgICAgIGRhdGFTb3VyY2U6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICBwcm9maWxlcy5tYXAoYXN5bmMgKGMpID0+ICh7XG4gICAgICAgICAgICAgICAgdGV4dDogYXdhaXQgdHJhbnMoYHVuaXRzLndlaWdodC5vcHRpb25zLiR7Yy51bml0cyEud2VpZ2h0fWApLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBjLnVuaXRzIS53ZWlnaHQsXG4gICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0cmlnZ2VyczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBldmVudDogYHt7IGV2ZW50cy5jb250ZXh0KCcke0FYUFJlZ2lvbmFsU2V0dGluZy5Mb2NhbGVQcm9maWxlfScpIH19YCxcbiAgICAgICAgICAgICAgYWN0aW9uOiBbXG4gICAgICAgICAgICAgICAgYHt7IHdpZGdldC5zZXRWYWx1ZSh3aWRnZXQuZmluZCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKS5vdXRwdXQoJ2l0ZW0nKS51bml0cy53ZWlnaHQpIH19YCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCd1bml0cy53ZWlnaHQuZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG4gICAgICAuYWRkU2V0dGluZyh7XG4gICAgICAgIGtleTogQVhQUmVnaW9uYWxTZXR0aW5nLlZvbHVtZVVuaXRzLFxuICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnMoJ3VuaXRzLnZvbHVtZS50aXRsZScpLFxuICAgICAgICBzY29wZTogJ1UnLFxuICAgICAgICBpc0luaGVyaXRlZDogdHJ1ZSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBkZWZhdWx0UHJvZmlsZS51bml0cyEudm9sdW1lLFxuICAgICAgICB2YWx1ZVRyYW5zZm9ybXM6IG9iamVjdEtleVZhbHVlVHJhbnNmb3JtcygndmFsdWUnKSxcbiAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5TZWxlY3RCb3gsXG4gICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgdmFsdWVGaWVsZDogJ3ZhbHVlJyxcbiAgICAgICAgICAgIHRleHRGaWVsZDogJ3RleHQnLFxuICAgICAgICAgICAgZGF0YVNvdXJjZTogW1xuICAgICAgICAgICAgICB7IHRleHQ6IGF3YWl0IHRyYW5zKCd1bml0cy52b2x1bWUub3B0aW9ucy5saXRlcnMnKSwgdmFsdWU6ICdsaXRlcnMnIH0sXG4gICAgICAgICAgICAgIHsgdGV4dDogYXdhaXQgdHJhbnMoJ3VuaXRzLnZvbHVtZS5vcHRpb25zLmdhbGxvbnMnKSwgdmFsdWU6ICdnYWxsb25zJyB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRyaWdnZXJzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGV2ZW50OiBge3sgZXZlbnRzLmNvbnRleHQoJyR7QVhQUmVnaW9uYWxTZXR0aW5nLkxvY2FsZVByb2ZpbGV9JykgfX1gLFxuICAgICAgICAgICAgICBhY3Rpb246IFtcbiAgICAgICAgICAgICAgICBge3sgd2lkZ2V0LnNldFZhbHVlKHdpZGdldC5maW5kKCcke0FYUFJlZ2lvbmFsU2V0dGluZy5Mb2NhbGVQcm9maWxlfScpLm91dHB1dCgnaXRlbScpLnVuaXRzLnZvbHVtZSkgfX1gLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ3VuaXRzLnZvbHVtZS5kZXNjcmlwdGlvbicpLFxuICAgICAgfSlcbiAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAga2V5OiBBWFBSZWdpb25hbFNldHRpbmcuU3BlZWRVbml0cyxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCd1bml0cy5zcGVlZC50aXRsZScpLFxuICAgICAgICBzY29wZTogJ1UnLFxuICAgICAgICBpc0luaGVyaXRlZDogdHJ1ZSxcbiAgICAgICAgZGVmYXVsdFZhbHVlOiBkZWZhdWx0UHJvZmlsZS51bml0cyEuc3BlZWQsXG4gICAgICAgIHZhbHVlVHJhbnNmb3Jtczogb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zKCd2YWx1ZScpLFxuICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlNlbGVjdEJveCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICB2YWx1ZUZpZWxkOiAndmFsdWUnLFxuICAgICAgICAgICAgdGV4dEZpZWxkOiAndGV4dCcsXG4gICAgICAgICAgICBkYXRhU291cmNlOiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgcHJvZmlsZXMubWFwKGFzeW5jIChjKSA9PiAoe1xuICAgICAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKGB1bml0cy5zcGVlZC5vcHRpb25zLiR7Yy51bml0cyEuc3BlZWR9YCksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGMudW5pdHMhLnNwZWVkLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHJpZ2dlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZXZlbnQ6IGB7eyBldmVudHMuY29udGV4dCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKSB9fWAsXG4gICAgICAgICAgICAgIGFjdGlvbjogW1xuICAgICAgICAgICAgICAgIGB7eyB3aWRnZXQuc2V0VmFsdWUod2lkZ2V0LmZpbmQoJyR7QVhQUmVnaW9uYWxTZXR0aW5nLkxvY2FsZVByb2ZpbGV9Jykub3V0cHV0KCdpdGVtJykudW5pdHMuc3BlZWQpIH19YCxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCd1bml0cy5zcGVlZC5kZXNjcmlwdGlvbicpLFxuICAgICAgfSlcbiAgICAgIC5hZGRTZXR0aW5nKHtcbiAgICAgICAga2V5OiBBWFBSZWdpb25hbFNldHRpbmcuQXJlYVVuaXRzLFxuICAgICAgICB0aXRsZTogYXdhaXQgdHJhbnMoJ3VuaXRzLmFyZWEudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6ICdVJyxcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFByb2ZpbGUudW5pdHMhLmFyZWEsXG4gICAgICAgIHZhbHVlVHJhbnNmb3Jtczogb2JqZWN0S2V5VmFsdWVUcmFuc2Zvcm1zKCd2YWx1ZScpLFxuICAgICAgICB3aWRnZXQ6IHtcbiAgICAgICAgICB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLlNlbGVjdEJveCxcbiAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICB2YWx1ZUZpZWxkOiAndmFsdWUnLFxuICAgICAgICAgICAgdGV4dEZpZWxkOiAndGV4dCcsXG4gICAgICAgICAgICBkYXRhU291cmNlOiBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgcHJvZmlsZXMubWFwKGFzeW5jIChjKSA9PiAoe1xuICAgICAgICAgICAgICAgIHRleHQ6IGF3YWl0IHRyYW5zKGB1bml0cy5hcmVhLm9wdGlvbnMuJHtjLnVuaXRzIS5hcmVhfWApLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBjLnVuaXRzIS5hcmVhLFxuICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdHJpZ2dlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZXZlbnQ6IGB7eyBldmVudHMuY29udGV4dCgnJHtBWFBSZWdpb25hbFNldHRpbmcuTG9jYWxlUHJvZmlsZX0nKSB9fWAsXG4gICAgICAgICAgICAgIGFjdGlvbjogW1xuICAgICAgICAgICAgICAgIGB7eyB3aWRnZXQuc2V0VmFsdWUod2lkZ2V0LmZpbmQoJyR7QVhQUmVnaW9uYWxTZXR0aW5nLkxvY2FsZVByb2ZpbGV9Jykub3V0cHV0KCdpdGVtJykudW5pdHMuYXJlYSkgfX1gLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBkZXNjcmlwdGlvbjogYXdhaXQgdHJhbnMoJ3VuaXRzLmFyZWEuZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG4gICAgICAuZW5kU2VjdGlvbigpXG4gICAgICAuZW5kR3JvdXAoKTtcbiAgfVxufVxuIl19"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-report-management-report-create-root.component-DqrLa6vh.mjs","sources":["../tmp-esm2022/report-management/lib/features/report/create/report-create-root/report-create-root.component.js"],"sourcesContent":["import { Component, ViewEncapsulation, computed, inject, signal, viewChild } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { trigger, transition, style, animate } from '@angular/animations';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXSwitchModule } from '@acorex/components/switch';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXStepWizardModule } from '@acorex/components/step-wizard';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXToastService } from '@acorex/components/toast';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@acorex/components/form\";\nimport * as i3 from \"@acorex/components/text-box\";\nimport * as i4 from \"@acorex/components/button\";\nimport * as i5 from \"@acorex/components/label\";\nimport * as i6 from \"@acorex/components/check-box\";\nimport * as i7 from \"@acorex/components/select-box\";\nimport * as i8 from \"@acorex/components/decorators\";\nimport * as i9 from \"@acorex/components/step-wizard\";\n//#endregion\nexport class AXPReportCreateRootComponent {\n constructor() {\n //#region ---- Services & Dependencies ----\n this.toastService = inject(AXToastService);\n //#endregion\n //#region ---- ViewChild & Signals ----\n this.reportWizard = viewChild('reportWizard');\n this.isValidating = signal(false);\n this.isSaving = signal(false);\n //#endregion\n //#region ---- Computed Properties ----\n this.canProceed = computed(() => {\n return this.validateCurrentStep();\n });\n //#endregion\n //#region ---- Form Data ----\n this.formData = {\n name: '',\n title: '',\n category: '',\n dataSource: '',\n template: '',\n formats: {},\n isScheduled: false,\n scheduleFrequency: '',\n parameters: []\n };\n //#endregion\n //#region ---- Step Definitions ----\n this.steps = [\n {\n id: 'basic-info',\n title: 'Basic Information',\n subtitle: 'Enter report details'\n },\n {\n id: 'configuration',\n title: 'Configuration',\n subtitle: 'Configure report settings'\n },\n {\n id: 'parameters',\n title: 'Parameters',\n subtitle: 'Define report parameters'\n },\n {\n id: 'review',\n title: 'Review & Finish',\n subtitle: 'Review and complete'\n }\n ];\n //#endregion\n //#region ---- Data Sources ----\n this.categories = [\n { id: 'financial', name: 'Financial Reports' },\n { id: 'operational', name: 'Operational Reports' },\n { id: 'analytics', name: 'Analytics Reports' },\n { id: 'compliance', name: 'Compliance Reports' }\n ];\n this.dataSources = [\n { id: 'users', title: 'Users Data' },\n { id: 'orders', title: 'Orders Data' },\n { id: 'products', title: 'Products Data' },\n { id: 'transactions', title: 'Transactions Data' },\n { id: 'logs', title: 'System Logs' }\n ];\n this.templates = [\n { id: 'standard', name: 'Standard Template' },\n { id: 'detailed', name: 'Detailed Template' },\n { id: 'summary', name: 'Summary Template' },\n { id: 'custom', name: 'Custom Template' }\n ];\n this.formats = [\n { id: 'pdf', name: 'PDF' },\n { id: 'excel', name: 'Excel' },\n { id: 'csv', name: 'CSV' },\n { id: 'html', name: 'HTML' }\n ];\n this.frequencies = [\n { id: 'daily', name: 'Daily' },\n { id: 'weekly', name: 'Weekly' },\n { id: 'monthly', name: 'Monthly' },\n { id: 'yearly', name: 'Yearly' }\n ];\n this.parameterTypes = [\n { id: 'string', name: 'Text' },\n { id: 'number', name: 'Number' },\n { id: 'date', name: 'Date' },\n { id: 'boolean', name: 'Boolean' },\n { id: 'select', name: 'Selection' }\n ];\n }\n //#endregion\n //#region ---- Lifecycle Methods ----\n ngOnInit() {\n this.initializeFormData();\n }\n ngOnDestroy() {\n // Cleanup if needed\n }\n //#endregion\n //#region ---- Step Navigation Methods ----\n async nextStep() {\n if (this.isValidating())\n return;\n this.isValidating.set(true);\n try {\n const isValid = this.validateCurrentStep();\n if (isValid) {\n const wizard = this.reportWizard();\n if (wizard) {\n wizard.next();\n }\n }\n else {\n this.toastService.warning('Please complete all required fields before proceeding.');\n }\n }\n catch (error) {\n this.toastService.danger('Validation failed. Please try again.');\n }\n finally {\n this.isValidating.set(false);\n }\n }\n async finishWizard() {\n if (this.isSaving())\n return;\n this.isSaving.set(true);\n try {\n const isValid = await this.validateAllSteps();\n if (isValid) {\n await this.saveReport();\n this.toastService.success('Report created successfully!');\n // Navigate to report list or show success message\n }\n else {\n this.toastService.warning('Please complete all required fields.');\n }\n }\n catch (error) {\n this.toastService.danger('Failed to create report. Please try again.');\n console.error('Error creating report:', error);\n }\n finally {\n this.isSaving.set(false);\n }\n }\n //#endregion\n //#region ---- Parameter Management ----\n addParameter() {\n const newParameter = {\n id: `param_${Date.now()}`,\n name: '',\n type: 'string',\n required: false\n };\n this.formData.parameters.push(newParameter);\n }\n removeParameter(index) {\n this.formData.parameters.splice(index, 1);\n }\n //#endregion\n //#region ---- Validation Methods ----\n validateCurrentStep() {\n // Since we can't reliably get current step index from wizard,\n // we'll validate all steps and let the wizard handle navigation\n return this.validateBasicInfo() || this.validateConfiguration() ||\n this.validateParameters() || this.validateReview();\n }\n validateBasicInfo() {\n return !!(this.formData.name?.trim() && this.formData.title?.trim() &&\n this.formData.category && this.formData.dataSource);\n }\n validateConfiguration() {\n const hasSelectedFormat = Object.values(this.formData.formats).some(selected => selected);\n const scheduleValid = !this.formData.isScheduled || !!this.formData.scheduleFrequency;\n return !!(this.formData.template && hasSelectedFormat && scheduleValid);\n }\n validateParameters() {\n return this.formData.parameters.every(param => param.name?.trim() && param.type);\n }\n validateReview() {\n return this.validateBasicInfo() && this.validateConfiguration() && this.validateParameters();\n }\n async validateAllSteps() {\n // Validate each step's form individually\n const basicValid = this.validateBasicInfo();\n const configValid = this.validateConfiguration();\n const paramsValid = this.validateParameters();\n const reviewValid = this.validateReview();\n return basicValid && configValid && paramsValid && reviewValid;\n }\n //#endregion\n //#region ---- Helper Methods ----\n initializeFormData() {\n // Initialize formats object\n this.formats.forEach(format => {\n this.formData.formats[format.id] = false;\n });\n // Set default PDF format\n this.formData.formats['pdf'] = true;\n }\n async saveReport() {\n // Simulate API call\n await new Promise(resolve => setTimeout(resolve, 1000));\n console.log('Saving report with data:', this.formData);\n // Here you would typically call a service to save the report\n // Example: await this.reportService.createReport(this.formData);\n }\n getCategoryName(categoryId) {\n const category = this.categories.find(c => c.id === categoryId);\n return category?.name || categoryId;\n }\n getTemplateName(templateId) {\n const template = this.templates.find(t => t.id === templateId);\n return template?.name || templateId;\n }\n getSelectedFormats() {\n const selectedFormats = Object.entries(this.formData.formats)\n .filter(([_, selected]) => selected)\n .map(([formatId, _]) => {\n const format = this.formats.find(f => f.id === formatId);\n return format?.name || formatId;\n });\n return selectedFormats.join(', ') || 'None';\n }\n getDataSourceTitle(dataSourceId) {\n const dataSource = this.dataSources.find(d => d.id === dataSourceId);\n return dataSource?.title || dataSourceId;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXPReportCreateRootComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AXPReportCreateRootComponent, isStandalone: true, selector: \"axp-report-create-root\", providers: [], viewQueries: [{ propertyName: \"reportWizard\", first: true, predicate: [\"reportWizard\"], descendants: true, isSignal: true }], ngImport: i0, template: \"<div class=\\\"ax-w-full ax-max-w-4xl ax-mx-auto ax-p-6\\\">\\n <div class=\\\"step-wizard-header ax-text-center ax-mb-8\\\">\\n <h2 class=\\\"ax-text-2xl ax-font-bold ax-text-gray-900 ax-mb-2\\\">Create New Report</h2>\\n <p class=\\\"ax-text-gray-600\\\">Follow these steps to create your custom report</p>\\n </div>\\n\\n <ax-step-wizard\\n [content]=\\\"wizardContent\\\"\\n [look]=\\\"'rounded-icon'\\\"\\n #reportWizard\\n >\\n <ax-step-wizard-item [label]=\\\"'Basic Information'\\\" [id]=\\\"'basic'\\\">\\n <ax-icon class=\\\"fas fa-info-circle\\\"></ax-icon>\\n <ax-content>\\n <div class=\\\"step-content\\\">\\n <div class=\\\"step-title-section ax-text-center ax-mb-6\\\">\\n <h3 class=\\\"ax-text-xl ax-font-bold ax-text-gray-900 ax-mb-2\\\">Basic Information</h3>\\n <p class=\\\"ax-text-gray-600 ax-text-sm\\\">Enter the basic details for your report</p>\\n </div>\\n \\n <ax-form #basicForm>\\n <div class=\\\"form-grid ax-grid ax-grid-cols-1 md:ax-grid-cols-2 ax-gap-6\\\">\\n <ax-form-field>\\n <ax-label>Report Name *</ax-label>\\n <ax-text-box \\n [(ngModel)]=\\\"formData.name\\\"\\n placeholder=\\\"Enter report name\\\"\\n [required]=\\\"true\\\"\\n name=\\\"reportName\\\">\\n </ax-text-box>\\n </ax-form-field>\\n\\n <ax-form-field>\\n <ax-label>Report Title *</ax-label>\\n <ax-text-box \\n [(ngModel)]=\\\"formData.title\\\"\\n placeholder=\\\"Enter report title\\\"\\n [required]=\\\"true\\\"\\n name=\\\"reportTitle\\\">\\n </ax-text-box>\\n </ax-form-field>\\n\\n <ax-form-field>\\n <ax-label>Category *</ax-label>\\n <ax-select-box \\n [(ngModel)]=\\\"formData.category\\\"\\n [dataSource]=\\\"categories\\\"\\n [valueField]=\\\"'id'\\\"\\n [textField]=\\\"'name'\\\"\\n placeholder=\\\"Select category\\\"\\n [required]=\\\"true\\\"\\n name=\\\"reportCategory\\\">\\n </ax-select-box>\\n </ax-form-field>\\n\\n <ax-form-field>\\n <ax-label>Data Source *</ax-label>\\n <ax-select-box \\n [(ngModel)]=\\\"formData.dataSource\\\"\\n [dataSource]=\\\"dataSources\\\"\\n [valueField]=\\\"'id'\\\"\\n [textField]=\\\"'title'\\\"\\n placeholder=\\\"Select data source\\\"\\n [required]=\\\"true\\\"\\n name=\\\"reportDataSource\\\">\\n </ax-select-box>\\n </ax-form-field>\\n </div>\\n </ax-form>\\n </div>\\n </ax-content>\\n </ax-step-wizard-item>\\n\\n <ax-step-wizard-item [label]=\\\"'Configuration'\\\" [id]=\\\"'config'\\\">\\n <ax-icon class=\\\"fas fa-cog\\\"></ax-icon>\\n <ax-content>\\n <div class=\\\"step-content\\\">\\n <div class=\\\"step-title-section ax-text-center ax-mb-6\\\">\\n <h3 class=\\\"ax-text-xl ax-font-bold ax-text-gray-900 ax-mb-2\\\">Report Configuration</h3>\\n <p class=\\\"ax-text-gray-600 ax-text-sm\\\">Configure your report settings</p>\\n </div>\\n \\n <ax-form #configForm>\\n <div class=\\\"form-grid ax-grid ax-grid-cols-1 md:ax-grid-cols-2 ax-gap-6\\\">\\n <ax-form-field>\\n <ax-label>Template *</ax-label>\\n <ax-select-box \\n [(ngModel)]=\\\"formData.template\\\"\\n [dataSource]=\\\"templates\\\"\\n [valueField]=\\\"'id'\\\"\\n [textField]=\\\"'name'\\\"\\n placeholder=\\\"Select template\\\"\\n [required]=\\\"true\\\"\\n name=\\\"reportTemplate\\\">\\n </ax-select-box>\\n </ax-form-field>\\n\\n <ax-form-field>\\n <ax-label>Output Formats *</ax-label>\\n <div class=\\\"format-selection ax-grid ax-grid-cols-2 ax-gap-3\\\">\\n @for (format of formats; track format.id) {\\n <div class=\\\"format-option ax-p-3 ax-border ax-border-gray-200 ax-rounded-lg ax-transition-colors\\\">\\n <ax-check-box \\n [(ngModel)]=\\\"formData.formats[format.id]\\\"\\n [name]=\\\"'format_' + format.id\\\">\\n {{ format.name }}\\n </ax-check-box>\\n </div>\\n }\\n </div>\\n </ax-form-field>\\n\\n <ax-form-field class=\\\"md:ax-col-span-2\\\">\\n <div class=\\\"schedule-section ax-space-y-4\\\">\\n <ax-check-box \\n [(ngModel)]=\\\"formData.isScheduled\\\"\\n name=\\\"isScheduled\\\">\\n Enable scheduled reports\\n </ax-check-box>\\n \\n @if (formData.isScheduled) {\\n <div class=\\\"schedule-options ax-pl-6 ax-border-l-2 ax-border-primary/20\\\">\\n <ax-form-field>\\n <ax-label>Frequency</ax-label>\\n <ax-select-box \\n [(ngModel)]=\\\"formData.scheduleFrequency\\\"\\n [dataSource]=\\\"frequencies\\\"\\n [valueField]=\\\"'id'\\\"\\n [textField]=\\\"'name'\\\"\\n placeholder=\\\"Select frequency\\\"\\n name=\\\"scheduleFrequency\\\">\\n </ax-select-box>\\n </ax-form-field>\\n </div>\\n }\\n </div>\\n </ax-form-field>\\n </div>\\n </ax-form>\\n </div>\\n </ax-content>\\n </ax-step-wizard-item>\\n\\n <ax-step-wizard-item [label]=\\\"'Parameters'\\\" [id]=\\\"'parameters'\\\">\\n <ax-icon class=\\\"fas fa-sliders-h\\\"></ax-icon>\\n <ax-content>\\n <div class=\\\"step-content\\\">\\n <div class=\\\"step-title-section ax-text-center ax-mb-6\\\">\\n <h3 class=\\\"ax-text-xl ax-font-bold ax-text-gray-900 ax-mb-2\\\">Report Parameters</h3>\\n <p class=\\\"ax-text-gray-600 ax-text-sm\\\">Define parameters for your report</p>\\n </div>\\n \\n <div class=\\\"parameters-section ax-space-y-6\\\">\\n @if (formData.parameters.length > 0) {\\n <div class=\\\"parameters-list ax-space-y-4\\\">\\n @for (param of formData.parameters; track param.id; let i = $index) {\\n <div class=\\\"parameter-item ax-p-4 ax-border ax-border-gray-200 ax-rounded-lg ax-bg-gray-50 ax-space-y-4\\\">\\n <div class=\\\"parameter-fields ax-grid ax-grid-cols-1 md:ax-grid-cols-3 ax-gap-4\\\">\\n <ax-form-field>\\n <ax-label>Parameter Name</ax-label>\\n <ax-text-box \\n [(ngModel)]=\\\"param.name\\\"\\n placeholder=\\\"Enter parameter name\\\"\\n [name]=\\\"'param_name_' + i\\\">\\n </ax-text-box>\\n </ax-form-field>\\n \\n <ax-form-field>\\n <ax-label>Type</ax-label>\\n <ax-select-box \\n [(ngModel)]=\\\"param.type\\\"\\n [dataSource]=\\\"parameterTypes\\\"\\n [valueField]=\\\"'id'\\\"\\n [textField]=\\\"'name'\\\"\\n placeholder=\\\"Select type\\\"\\n [name]=\\\"'param_type_' + i\\\">\\n </ax-select-box>\\n </ax-form-field>\\n \\n <ax-form-field>\\n <ax-check-box \\n [(ngModel)]=\\\"param.required\\\"\\n [name]=\\\"'param_required_' + i\\\">\\n Required\\n </ax-check-box>\\n </ax-form-field>\\n </div>\\n \\n <ax-button \\n look=\\\"ghost\\\"\\n color=\\\"danger\\\"\\n size=\\\"small\\\"\\n (onClick)=\\\"removeParameter(i)\\\">\\n Remove\\n </ax-button>\\n </div>\\n }\\n </div>\\n } @else {\\n <div class=\\\"no-parameters ax-text-center ax-py-8 ax-text-gray-500\\\">\\n <p>No parameters defined yet.</p>\\n </div>\\n }\\n \\n <div class=\\\"add-parameter-section ax-text-center\\\">\\n <ax-button \\n look=\\\"outline\\\"\\n color=\\\"primary\\\"\\n (onClick)=\\\"addParameter()\\\">\\n + Add Parameter\\n </ax-button>\\n </div>\\n </div>\\n </div>\\n </ax-content>\\n </ax-step-wizard-item>\\n\\n <ax-step-wizard-item [label]=\\\"'Review'\\\" [id]=\\\"'review'\\\">\\n <ax-icon class=\\\"fas fa-check-circle\\\"></ax-icon>\\n <ax-content>\\n <div class=\\\"step-content\\\">\\n <div class=\\\"step-title-section ax-text-center ax-mb-6\\\">\\n <h3 class=\\\"ax-text-xl ax-font-bold ax-text-gray-900 ax-mb-2\\\">Review & Confirm</h3>\\n <p class=\\\"ax-text-gray-600 ax-text-sm\\\">Review your report configuration before creating</p>\\n </div>\\n \\n <div class=\\\"review-sections ax-space-y-6\\\">\\n <div class=\\\"review-section ax-p-6 ax-border ax-border-gray-200 ax-rounded-lg ax-bg-gray-50\\\">\\n <h4 class=\\\"ax-text-lg ax-font-semibold ax-text-gray-900 ax-mb-4 ax-pb-2 ax-border-b ax-border-gray-200\\\">Basic Information</h4>\\n <div class=\\\"review-items ax-space-y-3\\\">\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Name:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ formData.name || 'Not specified' }}</span>\\n </div>\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Title:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ formData.title || 'Not specified' }}</span>\\n </div>\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Category:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ getCategoryName(formData.category) || 'Not selected' }}</span>\\n </div>\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Data Source:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ getDataSourceTitle(formData.dataSource) || 'Not selected' }}</span>\\n </div>\\n </div>\\n </div>\\n\\n <div class=\\\"review-section ax-p-6 ax-border ax-border-gray-200 ax-rounded-lg ax-bg-gray-50\\\">\\n <h4 class=\\\"ax-text-lg ax-font-semibold ax-text-gray-900 ax-mb-4 ax-pb-2 ax-border-b ax-border-gray-200\\\">Configuration</h4>\\n <div class=\\\"review-items ax-space-y-3\\\">\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Template:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ getTemplateName(formData.template) || 'Not selected' }}</span>\\n </div>\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Formats:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ getSelectedFormats() || 'None selected' }}</span>\\n </div>\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Scheduled:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ formData.isScheduled ? 'Yes - ' + formData.scheduleFrequency : 'No' }}</span>\\n </div>\\n </div>\\n </div>\\n\\n <div class=\\\"review-section ax-p-6 ax-border ax-border-gray-200 ax-rounded-lg ax-bg-gray-50\\\">\\n <h4 class=\\\"ax-text-lg ax-font-semibold ax-text-gray-900 ax-mb-4 ax-pb-2 ax-border-b ax-border-gray-200\\\">Parameters</h4>\\n <div class=\\\"review-items ax-space-y-3\\\">\\n @if (formData.parameters.length > 0) {\\n @for (param of formData.parameters; track param.id) {\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">{{ param.name }}:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ param.type }}{{ param.required ? ' (Required)' : '' }}</span>\\n </div>\\n }\\n } @else {\\n <div class=\\\"review-item\\\">\\n <span class=\\\"value ax-text-gray-900\\\">No parameters defined</span>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n </ax-content>\\n </ax-step-wizard-item>\\n </ax-step-wizard>\\n\\n <div class=\\\"ax-flex ax-justify-center ax-p-5\\\">\\n <ng-template [axStepWizardContent] #wizardContent=\\\"axStepWizardContent\\\">\\n </ng-template>\\n </div>\\n\\n <div class=\\\"ax-mt-10 ax-flex ax-justify-between ax-items-center ax-pt-6 ax-border-t ax-border-gray-200\\\">\\n <div class=\\\"nav-left\\\">\\n <ax-button\\n [disabled]=\\\"reportWizard.isFirst()\\\"\\n (onClick)=\\\"reportWizard.previous()\\\"\\n [color]=\\\"'primary'\\\"\\n text=\\\"\\u2190 Previous\\\"\\n look=\\\"outline\\\">\\n </ax-button>\\n </div>\\n\\n <div class=\\\"nav-right\\\">\\n @if(reportWizard.isLast()) {\\n <ax-button \\n (onClick)=\\\"finishWizard()\\\" \\n color=\\\"success\\\" \\n text=\\\"Create Report\\\"\\n [disabled]=\\\"isSaving()\\\">\\n @if (isSaving()) {\\n Creating...\\n } @else {\\n Create Report\\n }\\n </ax-button>\\n } @else {\\n <ax-button\\n (onClick)=\\\"nextStep()\\\"\\n color=\\\"primary\\\"\\n text=\\\"Next \\u2192\\\"\\n [disabled]=\\\"!canProceed()\\\">\\n </ax-button>\\n }\\n </div>\\n </div>\\n</div>\\n\", styles: [\".step-content{min-height:24rem}.step-title-section{margin-bottom:1.5rem;text-align:center}.step-title-section h3{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.step-title-section p{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.form-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem}@media (min-width: 768px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.format-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media (max-width: 480px){.format-selection{grid-template-columns:repeat(1,minmax(0,1fr))}}.format-option{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.format-option:has(input:checked){--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)}.schedule-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))}.schedule-section .schedule-options{border-left-width:2px;border-color:rgba(var(--ax-sys-color-primary-500),.2);padding-left:1.5rem}.parameters-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.parameters-list>: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))}.parameter-item{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.parameter-item>: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))}.parameter-item .parameter-fields{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.parameter-item .parameter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}.no-parameters{padding-top:2rem;padding-bottom:2rem;text-align:center;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.add-parameter-section{text-align:center}.review-sections>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.review-section{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1.5rem}.review-section h4{margin-bottom:1rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1));border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-bottom:.5rem}.review-items>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.review-item{display:flex;align-items:flex-start;justify-content:space-between}@media (max-width: 480px){.review-item{flex-direction:column}.review-item>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}}.review-item .label{margin-right:1rem;min-width:0px;flex-shrink:0;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.review-item .value{overflow-wrap:break-word;text-align:right;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}@media (max-width: 480px){.review-item .value{text-align:left}}ax-form-field{display:block}ax-form-field ax-label{margin-bottom:.5rem;display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}\\n\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.RequiredValidator, selector: \":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]\", inputs: [\"required\"] }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"ngmodule\", type: \n // ACoreX\n AXFormModule }, { kind: \"component\", type: i2.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"component\", type: i2.AXFormComponent, selector: \"ax-form\", inputs: [\"labelMode\", \"look\", \"messageStyle\", \"updateOn\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"component\", type: i3.AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i4.AXButtonComponent, selector: \"ax-button\", inputs: [\"disabled\", \"size\", \"tabIndex\", \"color\", \"look\", \"text\", \"toggleable\", \"selected\", \"iconOnly\", \"type\", \"loadingText\"], outputs: [\"onBlur\", \"onFocus\", \"onClick\", \"selectedChange\", \"toggleableChange\", \"lookChange\", \"colorChange\", \"disabledChange\", \"loadingTextChange\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i5.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"component\", type: i6.AXCheckBoxComponent, selector: \"ax-check-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"color\", \"value\", \"name\", \"id\", \"checked\", \"isLoading\", \"indeterminate\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"onValueChanged\"] }, { kind: \"ngmodule\", type: AXSelectBoxModule }, { kind: \"component\", type: i7.AXSelectBoxComponent, selector: \"ax-select-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"minValue\", \"maxValue\", \"value\", \"state\", \"name\", \"id\", \"type\", \"look\", \"multiple\", \"valueField\", \"textField\", \"disabledField\", \"textTemplate\", \"selectedItems\", \"dataSource\", \"minRecordsForSearch\", \"caption\", \"itemTemplate\", \"selectedTemplate\", \"emptyTemplate\", \"loadingTemplate\", \"dropdownWidth\", \"searchBoxAutoFocus\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXSwitchModule }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i8.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i8.AXDecoratorGenericComponent, selector: \"ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay\" }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"ngmodule\", type: AXStepWizardModule }, { kind: \"component\", type: i9.AXStepWizardComponent, selector: \"ax-step-wizard\", inputs: [\"connector\", \"size\", \"look\", \"changeStep\", \"orientation\", \"content\"], outputs: [\"stepChanged\"] }, { kind: \"component\", type: i9.AXStepWizardItemComponent, selector: \"ax-step-wizard-item\", inputs: [\"disabled\", \"color\", \"step\", \"label\", \"description\", \"customTemplate\", \"active\", \"passed\", \"look\", \"state\", \"id\"], outputs: [\"activeChange\", \"passedChange\", \"lookChange\", \"stateChange\"] }, { kind: \"directive\", type: i9.AXStepWizardContentDirective, selector: \"[axStepWizardContent]\", inputs: [\"axStepWizardContent\"], exportAs: [\"axStepWizardContent\"] }], animations: [\n trigger('fadeIn', [\n transition(':enter', [\n style({ opacity: 0, transform: 'translateY(20px)' }),\n animate('300ms ease-in', style({ opacity: 1, transform: 'translateY(0)' }))\n ])\n ])\n ], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXPReportCreateRootComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-report-create-root', imports: [\n // Angular\n CommonModule,\n FormsModule,\n // ACoreX\n AXFormModule,\n AXTextBoxModule,\n AXButtonModule,\n AXLabelModule,\n AXCheckBoxModule,\n AXSelectBoxModule,\n AXSwitchModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXStepWizardModule,\n // Platform\n ], encapsulation: ViewEncapsulation.None, providers: [], animations: [\n trigger('fadeIn', [\n transition(':enter', [\n style({ opacity: 0, transform: 'translateY(20px)' }),\n animate('300ms ease-in', style({ opacity: 1, transform: 'translateY(0)' }))\n ])\n ])\n ], template: \"<div class=\\\"ax-w-full ax-max-w-4xl ax-mx-auto ax-p-6\\\">\\n <div class=\\\"step-wizard-header ax-text-center ax-mb-8\\\">\\n <h2 class=\\\"ax-text-2xl ax-font-bold ax-text-gray-900 ax-mb-2\\\">Create New Report</h2>\\n <p class=\\\"ax-text-gray-600\\\">Follow these steps to create your custom report</p>\\n </div>\\n\\n <ax-step-wizard\\n [content]=\\\"wizardContent\\\"\\n [look]=\\\"'rounded-icon'\\\"\\n #reportWizard\\n >\\n <ax-step-wizard-item [label]=\\\"'Basic Information'\\\" [id]=\\\"'basic'\\\">\\n <ax-icon class=\\\"fas fa-info-circle\\\"></ax-icon>\\n <ax-content>\\n <div class=\\\"step-content\\\">\\n <div class=\\\"step-title-section ax-text-center ax-mb-6\\\">\\n <h3 class=\\\"ax-text-xl ax-font-bold ax-text-gray-900 ax-mb-2\\\">Basic Information</h3>\\n <p class=\\\"ax-text-gray-600 ax-text-sm\\\">Enter the basic details for your report</p>\\n </div>\\n \\n <ax-form #basicForm>\\n <div class=\\\"form-grid ax-grid ax-grid-cols-1 md:ax-grid-cols-2 ax-gap-6\\\">\\n <ax-form-field>\\n <ax-label>Report Name *</ax-label>\\n <ax-text-box \\n [(ngModel)]=\\\"formData.name\\\"\\n placeholder=\\\"Enter report name\\\"\\n [required]=\\\"true\\\"\\n name=\\\"reportName\\\">\\n </ax-text-box>\\n </ax-form-field>\\n\\n <ax-form-field>\\n <ax-label>Report Title *</ax-label>\\n <ax-text-box \\n [(ngModel)]=\\\"formData.title\\\"\\n placeholder=\\\"Enter report title\\\"\\n [required]=\\\"true\\\"\\n name=\\\"reportTitle\\\">\\n </ax-text-box>\\n </ax-form-field>\\n\\n <ax-form-field>\\n <ax-label>Category *</ax-label>\\n <ax-select-box \\n [(ngModel)]=\\\"formData.category\\\"\\n [dataSource]=\\\"categories\\\"\\n [valueField]=\\\"'id'\\\"\\n [textField]=\\\"'name'\\\"\\n placeholder=\\\"Select category\\\"\\n [required]=\\\"true\\\"\\n name=\\\"reportCategory\\\">\\n </ax-select-box>\\n </ax-form-field>\\n\\n <ax-form-field>\\n <ax-label>Data Source *</ax-label>\\n <ax-select-box \\n [(ngModel)]=\\\"formData.dataSource\\\"\\n [dataSource]=\\\"dataSources\\\"\\n [valueField]=\\\"'id'\\\"\\n [textField]=\\\"'title'\\\"\\n placeholder=\\\"Select data source\\\"\\n [required]=\\\"true\\\"\\n name=\\\"reportDataSource\\\">\\n </ax-select-box>\\n </ax-form-field>\\n </div>\\n </ax-form>\\n </div>\\n </ax-content>\\n </ax-step-wizard-item>\\n\\n <ax-step-wizard-item [label]=\\\"'Configuration'\\\" [id]=\\\"'config'\\\">\\n <ax-icon class=\\\"fas fa-cog\\\"></ax-icon>\\n <ax-content>\\n <div class=\\\"step-content\\\">\\n <div class=\\\"step-title-section ax-text-center ax-mb-6\\\">\\n <h3 class=\\\"ax-text-xl ax-font-bold ax-text-gray-900 ax-mb-2\\\">Report Configuration</h3>\\n <p class=\\\"ax-text-gray-600 ax-text-sm\\\">Configure your report settings</p>\\n </div>\\n \\n <ax-form #configForm>\\n <div class=\\\"form-grid ax-grid ax-grid-cols-1 md:ax-grid-cols-2 ax-gap-6\\\">\\n <ax-form-field>\\n <ax-label>Template *</ax-label>\\n <ax-select-box \\n [(ngModel)]=\\\"formData.template\\\"\\n [dataSource]=\\\"templates\\\"\\n [valueField]=\\\"'id'\\\"\\n [textField]=\\\"'name'\\\"\\n placeholder=\\\"Select template\\\"\\n [required]=\\\"true\\\"\\n name=\\\"reportTemplate\\\">\\n </ax-select-box>\\n </ax-form-field>\\n\\n <ax-form-field>\\n <ax-label>Output Formats *</ax-label>\\n <div class=\\\"format-selection ax-grid ax-grid-cols-2 ax-gap-3\\\">\\n @for (format of formats; track format.id) {\\n <div class=\\\"format-option ax-p-3 ax-border ax-border-gray-200 ax-rounded-lg ax-transition-colors\\\">\\n <ax-check-box \\n [(ngModel)]=\\\"formData.formats[format.id]\\\"\\n [name]=\\\"'format_' + format.id\\\">\\n {{ format.name }}\\n </ax-check-box>\\n </div>\\n }\\n </div>\\n </ax-form-field>\\n\\n <ax-form-field class=\\\"md:ax-col-span-2\\\">\\n <div class=\\\"schedule-section ax-space-y-4\\\">\\n <ax-check-box \\n [(ngModel)]=\\\"formData.isScheduled\\\"\\n name=\\\"isScheduled\\\">\\n Enable scheduled reports\\n </ax-check-box>\\n \\n @if (formData.isScheduled) {\\n <div class=\\\"schedule-options ax-pl-6 ax-border-l-2 ax-border-primary/20\\\">\\n <ax-form-field>\\n <ax-label>Frequency</ax-label>\\n <ax-select-box \\n [(ngModel)]=\\\"formData.scheduleFrequency\\\"\\n [dataSource]=\\\"frequencies\\\"\\n [valueField]=\\\"'id'\\\"\\n [textField]=\\\"'name'\\\"\\n placeholder=\\\"Select frequency\\\"\\n name=\\\"scheduleFrequency\\\">\\n </ax-select-box>\\n </ax-form-field>\\n </div>\\n }\\n </div>\\n </ax-form-field>\\n </div>\\n </ax-form>\\n </div>\\n </ax-content>\\n </ax-step-wizard-item>\\n\\n <ax-step-wizard-item [label]=\\\"'Parameters'\\\" [id]=\\\"'parameters'\\\">\\n <ax-icon class=\\\"fas fa-sliders-h\\\"></ax-icon>\\n <ax-content>\\n <div class=\\\"step-content\\\">\\n <div class=\\\"step-title-section ax-text-center ax-mb-6\\\">\\n <h3 class=\\\"ax-text-xl ax-font-bold ax-text-gray-900 ax-mb-2\\\">Report Parameters</h3>\\n <p class=\\\"ax-text-gray-600 ax-text-sm\\\">Define parameters for your report</p>\\n </div>\\n \\n <div class=\\\"parameters-section ax-space-y-6\\\">\\n @if (formData.parameters.length > 0) {\\n <div class=\\\"parameters-list ax-space-y-4\\\">\\n @for (param of formData.parameters; track param.id; let i = $index) {\\n <div class=\\\"parameter-item ax-p-4 ax-border ax-border-gray-200 ax-rounded-lg ax-bg-gray-50 ax-space-y-4\\\">\\n <div class=\\\"parameter-fields ax-grid ax-grid-cols-1 md:ax-grid-cols-3 ax-gap-4\\\">\\n <ax-form-field>\\n <ax-label>Parameter Name</ax-label>\\n <ax-text-box \\n [(ngModel)]=\\\"param.name\\\"\\n placeholder=\\\"Enter parameter name\\\"\\n [name]=\\\"'param_name_' + i\\\">\\n </ax-text-box>\\n </ax-form-field>\\n \\n <ax-form-field>\\n <ax-label>Type</ax-label>\\n <ax-select-box \\n [(ngModel)]=\\\"param.type\\\"\\n [dataSource]=\\\"parameterTypes\\\"\\n [valueField]=\\\"'id'\\\"\\n [textField]=\\\"'name'\\\"\\n placeholder=\\\"Select type\\\"\\n [name]=\\\"'param_type_' + i\\\">\\n </ax-select-box>\\n </ax-form-field>\\n \\n <ax-form-field>\\n <ax-check-box \\n [(ngModel)]=\\\"param.required\\\"\\n [name]=\\\"'param_required_' + i\\\">\\n Required\\n </ax-check-box>\\n </ax-form-field>\\n </div>\\n \\n <ax-button \\n look=\\\"ghost\\\"\\n color=\\\"danger\\\"\\n size=\\\"small\\\"\\n (onClick)=\\\"removeParameter(i)\\\">\\n Remove\\n </ax-button>\\n </div>\\n }\\n </div>\\n } @else {\\n <div class=\\\"no-parameters ax-text-center ax-py-8 ax-text-gray-500\\\">\\n <p>No parameters defined yet.</p>\\n </div>\\n }\\n \\n <div class=\\\"add-parameter-section ax-text-center\\\">\\n <ax-button \\n look=\\\"outline\\\"\\n color=\\\"primary\\\"\\n (onClick)=\\\"addParameter()\\\">\\n + Add Parameter\\n </ax-button>\\n </div>\\n </div>\\n </div>\\n </ax-content>\\n </ax-step-wizard-item>\\n\\n <ax-step-wizard-item [label]=\\\"'Review'\\\" [id]=\\\"'review'\\\">\\n <ax-icon class=\\\"fas fa-check-circle\\\"></ax-icon>\\n <ax-content>\\n <div class=\\\"step-content\\\">\\n <div class=\\\"step-title-section ax-text-center ax-mb-6\\\">\\n <h3 class=\\\"ax-text-xl ax-font-bold ax-text-gray-900 ax-mb-2\\\">Review & Confirm</h3>\\n <p class=\\\"ax-text-gray-600 ax-text-sm\\\">Review your report configuration before creating</p>\\n </div>\\n \\n <div class=\\\"review-sections ax-space-y-6\\\">\\n <div class=\\\"review-section ax-p-6 ax-border ax-border-gray-200 ax-rounded-lg ax-bg-gray-50\\\">\\n <h4 class=\\\"ax-text-lg ax-font-semibold ax-text-gray-900 ax-mb-4 ax-pb-2 ax-border-b ax-border-gray-200\\\">Basic Information</h4>\\n <div class=\\\"review-items ax-space-y-3\\\">\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Name:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ formData.name || 'Not specified' }}</span>\\n </div>\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Title:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ formData.title || 'Not specified' }}</span>\\n </div>\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Category:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ getCategoryName(formData.category) || 'Not selected' }}</span>\\n </div>\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Data Source:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ getDataSourceTitle(formData.dataSource) || 'Not selected' }}</span>\\n </div>\\n </div>\\n </div>\\n\\n <div class=\\\"review-section ax-p-6 ax-border ax-border-gray-200 ax-rounded-lg ax-bg-gray-50\\\">\\n <h4 class=\\\"ax-text-lg ax-font-semibold ax-text-gray-900 ax-mb-4 ax-pb-2 ax-border-b ax-border-gray-200\\\">Configuration</h4>\\n <div class=\\\"review-items ax-space-y-3\\\">\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Template:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ getTemplateName(formData.template) || 'Not selected' }}</span>\\n </div>\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Formats:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ getSelectedFormats() || 'None selected' }}</span>\\n </div>\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">Scheduled:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ formData.isScheduled ? 'Yes - ' + formData.scheduleFrequency : 'No' }}</span>\\n </div>\\n </div>\\n </div>\\n\\n <div class=\\\"review-section ax-p-6 ax-border ax-border-gray-200 ax-rounded-lg ax-bg-gray-50\\\">\\n <h4 class=\\\"ax-text-lg ax-font-semibold ax-text-gray-900 ax-mb-4 ax-pb-2 ax-border-b ax-border-gray-200\\\">Parameters</h4>\\n <div class=\\\"review-items ax-space-y-3\\\">\\n @if (formData.parameters.length > 0) {\\n @for (param of formData.parameters; track param.id) {\\n <div class=\\\"review-item ax-flex ax-justify-between ax-items-start\\\">\\n <span class=\\\"label ax-font-medium ax-text-gray-700 ax-min-w-0 ax-mr-4 ax-flex-shrink-0\\\">{{ param.name }}:</span>\\n <span class=\\\"value ax-text-gray-900 ax-text-right ax-break-words\\\">{{ param.type }}{{ param.required ? ' (Required)' : '' }}</span>\\n </div>\\n }\\n } @else {\\n <div class=\\\"review-item\\\">\\n <span class=\\\"value ax-text-gray-900\\\">No parameters defined</span>\\n </div>\\n }\\n </div>\\n </div>\\n </div>\\n </div>\\n </ax-content>\\n </ax-step-wizard-item>\\n </ax-step-wizard>\\n\\n <div class=\\\"ax-flex ax-justify-center ax-p-5\\\">\\n <ng-template [axStepWizardContent] #wizardContent=\\\"axStepWizardContent\\\">\\n </ng-template>\\n </div>\\n\\n <div class=\\\"ax-mt-10 ax-flex ax-justify-between ax-items-center ax-pt-6 ax-border-t ax-border-gray-200\\\">\\n <div class=\\\"nav-left\\\">\\n <ax-button\\n [disabled]=\\\"reportWizard.isFirst()\\\"\\n (onClick)=\\\"reportWizard.previous()\\\"\\n [color]=\\\"'primary'\\\"\\n text=\\\"\\u2190 Previous\\\"\\n look=\\\"outline\\\">\\n </ax-button>\\n </div>\\n\\n <div class=\\\"nav-right\\\">\\n @if(reportWizard.isLast()) {\\n <ax-button \\n (onClick)=\\\"finishWizard()\\\" \\n color=\\\"success\\\" \\n text=\\\"Create Report\\\"\\n [disabled]=\\\"isSaving()\\\">\\n @if (isSaving()) {\\n Creating...\\n } @else {\\n Create Report\\n }\\n </ax-button>\\n } @else {\\n <ax-button\\n (onClick)=\\\"nextStep()\\\"\\n color=\\\"primary\\\"\\n text=\\\"Next \\u2192\\\"\\n [disabled]=\\\"!canProceed()\\\">\\n </ax-button>\\n }\\n </div>\\n </div>\\n</div>\\n\", styles: [\".step-content{min-height:24rem}.step-title-section{margin-bottom:1.5rem;text-align:center}.step-title-section h3{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.step-title-section p{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.form-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem}@media (min-width: 768px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.format-selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media (max-width: 480px){.format-selection{grid-template-columns:repeat(1,minmax(0,1fr))}}.format-option{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.format-option:has(input:checked){--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)}.schedule-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))}.schedule-section .schedule-options{border-left-width:2px;border-color:rgba(var(--ax-sys-color-primary-500),.2);padding-left:1.5rem}.parameters-section>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.parameters-list>: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))}.parameter-item{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.parameter-item>: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))}.parameter-item .parameter-fields{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.parameter-item .parameter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}.no-parameters{padding-top:2rem;padding-bottom:2rem;text-align:center;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.add-parameter-section{text-align:center}.review-sections>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.review-section{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1.5rem}.review-section h4{margin-bottom:1rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1));border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));padding-bottom:.5rem}.review-items>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.review-item{display:flex;align-items:flex-start;justify-content:space-between}@media (max-width: 480px){.review-item{flex-direction:column}.review-item>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}}.review-item .label{margin-right:1rem;min-width:0px;flex-shrink:0;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.review-item .value{overflow-wrap:break-word;text-align:right;--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}@media (max-width: 480px){.review-item .value{text-align:left}}ax-form-field{display:block}ax-form-field ax-label{margin-bottom:.5rem;display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWNyZWF0ZS1yb290LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9yZXBvcnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL3JlcG9ydC9jcmVhdGUvcmVwb3J0LWNyZWF0ZS1yb290L3JlcG9ydC1jcmVhdGUtcm9vdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvcmVwb3J0LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9yZXBvcnQvY3JlYXRlL3JlcG9ydC1jcmVhdGUtcm9vdC9yZXBvcnQtY3JlYXRlLXJvb3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBcUIsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBUyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxZQUFZLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0s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LE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7NkJBQzlFLENBQUM7eUJBQ0wsQ0FBQztxQkFDTCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBjb21wdXRlZCwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsLCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHRyaWdnZXIsIHRyYW5zaXRpb24sIHN0eWxlLCBhbmltYXRlIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmltcG9ydCB7IEFYRm9ybU1vZHVsZSwgQVhGb3JtQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYVGV4dEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5pbXBvcnQgeyBBWExhYmVsTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xhYmVsJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gnO1xuaW1wb3J0IHsgQVhTd2l0Y2hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc3dpdGNoJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhTdGVwV2l6YXJkTW9kdWxlLCBBWFN0ZXBXaXphcmRDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc3RlcC13aXphcmQnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFRvYXN0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90b2FzdCc7XG5cbi8vI3JlZ2lvbiAtLS0tICAgSW50ZXJmYWNlcyAmIFR5cGVzICAgLS0tLVxuXG5pbnRlcmZhY2UgU3RlcERlZmluaXRpb24ge1xuICBpZDogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZTogc3RyaW5nO1xuICBpc1ZhbGlkPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIFJlcG9ydEZvcm1EYXRhIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICBkYXRhU291cmNlOiBzdHJpbmc7XG4gIHRlbXBsYXRlOiBzdHJpbmc7XG4gIGZvcm1hdHM6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9O1xuICBpc1NjaGVkdWxlZDogYm9vbGVhbjtcbiAgc2NoZWR1bGVGcmVxdWVuY3k6IHN0cmluZztcbiAgcGFyYW1ldGVyczogUGFyYW1ldGVyRGVmaW5pdGlvbltdO1xufVxuXG5pbnRlcmZhY2UgUGFyYW1ldGVyRGVmaW5pdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIENhdGVnb3J5T3B0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgVGVtcGxhdGVPcHRpb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBGb3JtYXRPcHRpb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBGcmVxdWVuY3lPcHRpb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBQYXJhbWV0ZXJUeXBlT3B0aW9uIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRGF0YVNvdXJjZU9wdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG59XG5cbi8vI2VuZHJlZ2lvblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjonYXhwLXJlcG9ydC1jcmVhdGUtcm9vdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC1jcmVhdGUtcm9vdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3JlcG9ydC1jcmVhdGUtcm9vdC5jb21wb25lbnQuc2NzcycsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBBbmd1bGFyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIC8vIEFDb3JlWFxuICAgICAgICBBWEZvcm1Nb2R1bGUsXG4gICAgICAgIEFYVGV4dEJveE1vZHVsZSxcbiAgICAgICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgICAgIEFYTGFiZWxNb2R1bGUsXG4gICAgICAgIEFYQ2hlY2tCb3hNb2R1bGUsXG4gICAgICAgIEFYU2VsZWN0Qm94TW9kdWxlLFxuICAgICAgICBBWFN3aXRjaE1vZHVsZSxcbiAgICAgICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgICAgIEFYU3RlcFdpemFyZE1vZHVsZSxcbiAgICAgICAgLy8gUGxhdGZvcm1cbiAgICBdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXSxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2ZhZGVJbicsIFtcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICAgICAgICAgICAgICBzdHlsZSh7IG9wYWNpdHk6IDAsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMjBweCknIH0pLFxuICAgICAgICAgICAgICAgIGFuaW1hdGUoJzMwMG1zIGVhc2UtaW4nLCBzdHlsZSh7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknIH0pKVxuICAgICAgICAgICAgXSlcbiAgICAgICAgXSlcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEFYUFJlcG9ydENyZWF0ZVJvb3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFNlcnZpY2VzICYgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2FzdFNlcnZpY2UgPSBpbmplY3QoQVhUb2FzdFNlcnZpY2UpO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFZpZXdDaGlsZCAmIFNpZ25hbHMgICAtLS0tXG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlcG9ydFdpemFyZCA9IHZpZXdDaGlsZDxBWFN0ZXBXaXphcmRDb21wb25lbnQ+KCdyZXBvcnRXaXphcmQnKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1ZhbGlkYXRpbmcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBpc1NhdmluZyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgQ29tcHV0ZWQgUHJvcGVydGllcyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCByZWFkb25seSBjYW5Qcm9jZWVkID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUN1cnJlbnRTdGVwKCk7XG4gICAgfSk7XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgRm9ybSBEYXRhICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIGZvcm1EYXRhOiBSZXBvcnRGb3JtRGF0YSA9IHtcbiAgICAgICAgbmFtZTogJycsXG4gICAgICAgIHRpdGxlOiAnJyxcbiAgICAgICAgY2F0ZWdvcnk6ICcnLFxuICAgICAgICBkYXRhU291cmNlOiAnJyxcbiAgICAgICAgdGVtcGxhdGU6ICcnLFxuICAgICAgICBmb3JtYXRzOiB7fSxcbiAgICAgICAgaXNTY2hlZHVsZWQ6IGZhbHNlLFxuICAgICAgICBzY2hlZHVsZUZyZXF1ZW5jeTogJycsXG4gICAgICAgIHBhcmFtZXRlcnM6IFtdXG4gICAgfTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBTdGVwIERlZmluaXRpb25zICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN0ZXBzOiBTdGVwRGVmaW5pdGlvbltdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2Jhc2ljLWluZm8nLFxuICAgICAgICAgICAgdGl0bGU6ICdCYXNpYyBJbmZvcm1hdGlvbicsXG4gICAgICAgICAgICBzdWJ0aXRsZTogJ0VudGVyIHJlcG9ydCBkZXRhaWxzJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogJ2NvbmZpZ3VyYXRpb24nLFxuICAgICAgICAgICAgdGl0bGU6ICdDb25maWd1cmF0aW9uJyxcbiAgICAgICAgICAgIHN1YnRpdGxlOiAnQ29uZmlndXJlIHJlcG9ydCBzZXR0aW5ncydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdwYXJhbWV0ZXJzJyxcbiAgICAgICAgICAgIHRpdGxlOiAnUGFyYW1ldGVycycsXG4gICAgICAgICAgICBzdWJ0aXRsZTogJ0RlZmluZSByZXBvcnQgcGFyYW1ldGVycydcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6ICdyZXZpZXcnLFxuICAgICAgICAgICAgdGl0bGU6ICdSZXZpZXcgJiBGaW5pc2gnLFxuICAgICAgICAgICAgc3VidGl0bGU6ICdSZXZpZXcgYW5kIGNvbXBsZXRlJ1xuICAgICAgICB9XG4gICAgXTtcblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBEYXRhIFNvdXJjZXMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2F0ZWdvcmllczogQ2F0ZWdvcnlPcHRpb25bXSA9IFtcbiAgICAgICAgeyBpZDogJ2ZpbmFuY2lhbCcsIG5hbWU6ICdGaW5hbmNpYWwgUmVwb3J0cycgfSxcbiAgICAgICAgeyBpZDogJ29wZXJhdGlvbmFsJywgbmFtZTogJ09wZXJhdGlvbmFsIFJlcG9ydHMnIH0sXG4gICAgICAgIHsgaWQ6ICdhbmFseXRpY3MnLCBuYW1lOiAnQW5hbHl0aWNzIFJlcG9ydHMnIH0sXG4gICAgICAgIHsgaWQ6ICdjb21wbGlhbmNlJywgbmFtZTogJ0NvbXBsaWFuY2UgUmVwb3J0cycgfVxuICAgIF07XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YVNvdXJjZXM6IERhdGFTb3VyY2VPcHRpb25bXSA9IFtcbiAgICAgICAgeyBpZDogJ3VzZXJzJywgdGl0bGU6ICdVc2VycyBEYXRhJyB9LFxuICAgICAgICB7IGlkOiAnb3JkZXJzJywgdGl0bGU6ICdPcmRlcnMgRGF0YScgfSxcbiAgICAgICAgeyBpZDogJ3Byb2R1Y3RzJywgdGl0bGU6ICdQcm9kdWN0cyBEYXRhJyB9LFxuICAgICAgICB7IGlkOiAndHJhbnNhY3Rpb25zJywgdGl0bGU6ICdUcmFuc2FjdGlvbnMgRGF0YScgfSxcbiAgICAgICAgeyBpZDogJ2xvZ3MnLCB0aXRsZTogJ1N5c3RlbSBMb2dzJyB9XG4gICAgXTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB0ZW1wbGF0ZXM6IFRlbXBsYXRlT3B0aW9uW10gPSBbXG4gICAgICAgIHsgaWQ6ICdzdGFuZGFyZCcsIG5hbWU6ICdTdGFuZGFyZCBUZW1wbGF0ZScgfSxcbiAgICAgICAgeyBpZDogJ2RldGFpbGVkJywgbmFtZTogJ0RldGFpbGVkIFRlbXBsYXRlJyB9LFxuICAgICAgICB7IGlkOiAnc3VtbWFyeScsIG5hbWU6ICdTdW1tYXJ5IFRlbXBsYXRlJyB9LFxuICAgICAgICB7IGlkOiAnY3VzdG9tJywgbmFtZTogJ0N1c3RvbSBUZW1wbGF0ZScgfVxuICAgIF07XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybWF0czogRm9ybWF0T3B0aW9uW10gPSBbXG4gICAgICAgIHsgaWQ6ICdwZGYnLCBuYW1lOiAnUERGJyB9LFxuICAgICAgICB7IGlkOiAnZXhjZWwnLCBuYW1lOiAnRXhjZWwnIH0sXG4gICAgICAgIHsgaWQ6ICdjc3YnLCBuYW1lOiAnQ1NWJyB9LFxuICAgICAgICB7IGlkOiAnaHRtbCcsIG5hbWU6ICdIVE1MJyB9XG4gICAgXTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBmcmVxdWVuY2llczogRnJlcXVlbmN5T3B0aW9uW10gPSBbXG4gICAgICAgIHsgaWQ6ICdkYWlseScsIG5hbWU6ICdEYWlseScgfSxcbiAgICAgICAgeyBpZDogJ3dlZWtseScsIG5hbWU6ICdXZWVrbHknIH0sXG4gICAgICAgIHsgaWQ6ICdtb250aGx5JywgbmFtZTogJ01vbnRobHknIH0sXG4gICAgICAgIHsgaWQ6ICd5ZWFybHknLCBuYW1lOiAnWWVhcmx5JyB9XG4gICAgXTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBwYXJhbWV0ZXJUeXBlczogUGFyYW1ldGVyVHlwZU9wdGlvbltdID0gW1xuICAgICAgICB7IGlkOiAnc3RyaW5nJywgbmFtZTogJ1RleHQnIH0sXG4gICAgICAgIHsgaWQ6ICdudW1iZXInLCBuYW1lOiAnTnVtYmVyJyB9LFxuICAgICAgICB7IGlkOiAnZGF0ZScsIG5hbWU6ICdEYXRlJyB9LFxuICAgICAgICB7IGlkOiAnYm9vbGVhbicsIG5hbWU6ICdCb29sZWFuJyB9LFxuICAgICAgICB7IGlkOiAnc2VsZWN0JywgbmFtZTogJ1NlbGVjdGlvbicgfVxuICAgIF07XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgTGlmZWN5Y2xlIE1ldGhvZHMgICAtLS0tXG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplRm9ybURhdGEoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgLy8gQ2xlYW51cCBpZiBuZWVkZWRcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgU3RlcCBOYXZpZ2F0aW9uIE1ldGhvZHMgICAtLS0tXG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgbmV4dFN0ZXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmlzVmFsaWRhdGluZygpKSByZXR1cm47XG4gICAgICAgIFxuICAgICAgICB0aGlzLmlzVmFsaWRhdGluZy5zZXQodHJ1ZSk7XG4gICAgICAgIFxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IHRoaXMudmFsaWRhdGVDdXJyZW50U3RlcCgpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdpemFyZCA9IHRoaXMucmVwb3J0V2l6YXJkKCk7XG4gICAgICAgICAgICAgICAgaWYgKHdpemFyZCkge1xuICAgICAgICAgICAgICAgICAgICB3aXphcmQubmV4dCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uud2FybmluZygnUGxlYXNlIGNvbXBsZXRlIGFsbCByZXF1aXJlZCBmaWVsZHMgYmVmb3JlIHByb2NlZWRpbmcuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5kYW5nZXIoJ1ZhbGlkYXRpb24gZmFpbGVkLiBQbGVhc2UgdHJ5IGFnYWluLicpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgdGhpcy5pc1ZhbGlkYXRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBmaW5pc2hXaXphcmQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmlzU2F2aW5nKCkpIHJldHVybjtcbiAgICAgICAgXG4gICAgICAgIHRoaXMuaXNTYXZpbmcuc2V0KHRydWUpO1xuICAgICAgICBcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSBhd2FpdCB0aGlzLnZhbGlkYXRlQWxsU3RlcHMoKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNhdmVSZXBvcnQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5zdWNjZXNzKCdSZXBvcnQgY3JlYXRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgICAgICAgICAgICAgLy8gTmF2aWdhdGUgdG8gcmVwb3J0IGxpc3Qgb3Igc2hvdyBzdWNjZXNzIG1lc3NhZ2VcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2Uud2FybmluZygnUGxlYXNlIGNvbXBsZXRlIGFsbCByZXF1aXJlZCBmaWVsZHMuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5kYW5nZXIoJ0ZhaWxlZCB0byBjcmVhdGUgcmVwb3J0LiBQbGVhc2UgdHJ5IGFnYWluLicpO1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgY3JlYXRpbmcgcmVwb3J0OicsIGVycm9yKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICAgIHRoaXMuaXNTYXZpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBQYXJhbWV0ZXIgTWFuYWdlbWVudCAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBhZGRQYXJhbWV0ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5ld1BhcmFtZXRlcjogUGFyYW1ldGVyRGVmaW5pdGlvbiA9IHtcbiAgICAgICAgICAgIGlkOiBgcGFyYW1fJHtEYXRlLm5vdygpfWAsXG4gICAgICAgICAgICBuYW1lOiAnJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIFxuICAgICAgICB0aGlzLmZvcm1EYXRhLnBhcmFtZXRlcnMucHVzaChuZXdQYXJhbWV0ZXIpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCByZW1vdmVQYXJhbWV0ZXIoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1EYXRhLnBhcmFtZXRlcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgVmFsaWRhdGlvbiBNZXRob2RzICAgLS0tLVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZUN1cnJlbnRTdGVwKCk6IGJvb2xlYW4ge1xuICAgICAgICAvLyBTaW5jZSB3ZSBjYW4ndCByZWxpYWJseSBnZXQgY3VycmVudCBzdGVwIGluZGV4IGZyb20gd2l6YXJkLFxuICAgICAgICAvLyB3ZSdsbCB2YWxpZGF0ZSBhbGwgc3RlcHMgYW5kIGxldCB0aGUgd2l6YXJkIGhhbmRsZSBuYXZpZ2F0aW9uXG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlQmFzaWNJbmZvKCkgfHwgdGhpcy52YWxpZGF0ZUNvbmZpZ3VyYXRpb24oKSB8fCBcbiAgICAgICAgICAgICAgIHRoaXMudmFsaWRhdGVQYXJhbWV0ZXJzKCkgfHwgdGhpcy52YWxpZGF0ZVJldmlldygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRhdGVCYXNpY0luZm8oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLmZvcm1EYXRhLm5hbWU/LnRyaW0oKSAmJiB0aGlzLmZvcm1EYXRhLnRpdGxlPy50cmltKCkgJiYgXG4gICAgICAgICAgICAgICAgIHRoaXMuZm9ybURhdGEuY2F0ZWdvcnkgJiYgdGhpcy5mb3JtRGF0YS5kYXRhU291cmNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlQ29uZmlndXJhdGlvbigpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaGFzU2VsZWN0ZWRGb3JtYXQgPSBPYmplY3QudmFsdWVzKHRoaXMuZm9ybURhdGEuZm9ybWF0cykuc29tZShzZWxlY3RlZCA9PiBzZWxlY3RlZCk7XG4gICAgICAgIGNvbnN0IHNjaGVkdWxlVmFsaWQgPSAhdGhpcy5mb3JtRGF0YS5pc1NjaGVkdWxlZCB8fCAhIXRoaXMuZm9ybURhdGEuc2NoZWR1bGVGcmVxdWVuY3k7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gISEodGhpcy5mb3JtRGF0YS50ZW1wbGF0ZSAmJiBoYXNTZWxlY3RlZEZvcm1hdCAmJiBzY2hlZHVsZVZhbGlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkYXRlUGFyYW1ldGVycygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybURhdGEucGFyYW1ldGVycy5ldmVyeShwYXJhbSA9PiBcbiAgICAgICAgICAgIHBhcmFtLm5hbWU/LnRyaW0oKSAmJiBwYXJhbS50eXBlXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2YWxpZGF0ZVJldmlldygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRhdGVCYXNpY0luZm8oKSAmJiB0aGlzLnZhbGlkYXRlQ29uZmlndXJhdGlvbigpICYmIHRoaXMudmFsaWRhdGVQYXJhbWV0ZXJzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyB2YWxpZGF0ZUFsbFN0ZXBzKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICAvLyBWYWxpZGF0ZSBlYWNoIHN0ZXAncyBmb3JtIGluZGl2aWR1YWxseVxuICAgICAgICBjb25zdCBiYXNpY1ZhbGlkID0gdGhpcy52YWxpZGF0ZUJhc2ljSW5mbygpO1xuICAgICAgICBjb25zdCBjb25maWdWYWxpZCA9IHRoaXMudmFsaWRhdGVDb25maWd1cmF0aW9uKCk7XG4gICAgICAgIGNvbnN0IHBhcmFtc1ZhbGlkID0gdGhpcy52YWxpZGF0ZVBhcmFtZXRlcnMoKTtcbiAgICAgICAgY29uc3QgcmV2aWV3VmFsaWQgPSB0aGlzLnZhbGlkYXRlUmV2aWV3KCk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gYmFzaWNWYWxpZCAmJiBjb25maWdWYWxpZCAmJiBwYXJhbXNWYWxpZCAmJiByZXZpZXdWYWxpZDtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgSGVscGVyIE1ldGhvZHMgICAtLS0tXG5cbiAgICBwcml2YXRlIGluaXRpYWxpemVGb3JtRGF0YSgpOiB2b2lkIHtcbiAgICAgICAgLy8gSW5pdGlhbGl6ZSBmb3JtYXRzIG9iamVjdFxuICAgICAgICB0aGlzLmZvcm1hdHMuZm9yRWFjaChmb3JtYXQgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3JtRGF0YS5mb3JtYXRzW2Zvcm1hdC5pZF0gPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICAvLyBTZXQgZGVmYXVsdCBQREYgZm9ybWF0XG4gICAgICAgIHRoaXMuZm9ybURhdGEuZm9ybWF0c1sncGRmJ10gPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgc2F2ZVJlcG9ydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gU2ltdWxhdGUgQVBJIGNhbGxcbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDEwMDApKTtcbiAgICAgICAgXG4gICAgICAgIGNvbnNvbGUubG9nKCdTYXZpbmcgcmVwb3J0IHdpdGggZGF0YTonLCB0aGlzLmZvcm1EYXRhKTtcbiAgICAgICAgXG4gICAgICAgIC8vIEhlcmUgeW91IHdvdWxkIHR5cGljYWxseSBjYWxsIGEgc2VydmljZSB0byBzYXZlIHRoZSByZXBvcnRcbiAgICAgICAgLy8gRXhhbXBsZTogYXdhaXQgdGhpcy5yZXBvcnRTZXJ2aWNlLmNyZWF0ZVJlcG9ydCh0aGlzLmZvcm1EYXRhKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0Q2F0ZWdvcnlOYW1lKGNhdGVnb3J5SWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNhdGVnb3J5ID0gdGhpcy5jYXRlZ29yaWVzLmZpbmQoYyA9PiBjLmlkID09PSBjYXRlZ29yeUlkKTtcbiAgICAgICAgcmV0dXJuIGNhdGVnb3J5Py5uYW1lIHx8IGNhdGVnb3J5SWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFRlbXBsYXRlTmFtZSh0ZW1wbGF0ZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IHRoaXMudGVtcGxhdGVzLmZpbmQodCA9PiB0LmlkID09PSB0ZW1wbGF0ZUlkKTtcbiAgICAgICAgcmV0dXJuIHRlbXBsYXRlPy5uYW1lIHx8IHRlbXBsYXRlSWQ7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFNlbGVjdGVkRm9ybWF0cygpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEZvcm1hdHMgPSBPYmplY3QuZW50cmllcyh0aGlzLmZvcm1EYXRhLmZvcm1hdHMpXG4gICAgICAgICAgICAuZmlsdGVyKChbXywgc2VsZWN0ZWRdKSA9PiBzZWxlY3RlZClcbiAgICAgICAgICAgIC5tYXAoKFtmb3JtYXRJZCwgX10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXQgPSB0aGlzLmZvcm1hdHMuZmluZChmID0+IGYuaWQgPT09IGZvcm1hdElkKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0Py5uYW1lIHx8IGZvcm1hdElkO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gc2VsZWN0ZWRGb3JtYXRzLmpvaW4oJywgJykgfHwgJ05vbmUnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXREYXRhU291cmNlVGl0bGUoZGF0YVNvdXJjZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRhU291cmNlID0gdGhpcy5kYXRhU291cmNlcy5maW5kKGQgPT4gZC5pZCA9PT0gZGF0YVNvdXJjZUlkKTtcbiAgICAgICAgcmV0dXJuIGRhdGFTb3VyY2U/LnRpdGxlIHx8IGRhdGFTb3VyY2VJZDtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC13LWZ1bGwgYXgtbWF4LXctNHhsIGF4LW14LWF1dG8gYXgtcC02XCI+XG4gIDxkaXYgY2xhc3M9XCJzdGVwLXdpemFyZC1oZWFkZXIgYXgtdGV4dC1jZW50ZXIgYXgtbWItOFwiPlxuICAgIDxoMiBjbGFzcz1cImF4LXRleHQtMnhsIGF4LWZvbnQtYm9sZCBheC10ZXh0LWdyYXktOTAwIGF4LW1iLTJcIj5DcmVhdGUgTmV3IFJlcG9ydDwvaDI+XG4gICAgPHAgY2xhc3M9XCJheC10ZXh0LWdyYXktNjAwXCI+Rm9sbG93IHRoZXNlIHN0ZXBzIHRvIGNyZWF0ZSB5b3VyIGN1c3RvbSByZXBvcnQ8L3A+XG4gIDwvZGl2PlxuXG4gIDxheC1zdGVwLXdpemFyZFxuICAgIFtjb250ZW50XT1cIndpemFyZENvbnRlbnRcIlxuICAgIFtsb29rXT1cIidyb3VuZGVkLWljb24nXCJcbiAgICAjcmVwb3J0V2l6YXJkXG4gID5cbiAgICA8YXgtc3RlcC13aXphcmQtaXRlbSBbbGFiZWxdPVwiJ0Jhc2ljIEluZm9ybWF0aW9uJ1wiIFtpZF09XCInYmFzaWMnXCI+XG4gICAgICA8YXgtaWNvbiBjbGFzcz1cImZhcyBmYS1pbmZvLWNpcmNsZVwiPjwvYXgtaWNvbj5cbiAgICAgIDxheC1jb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC1jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtdGl0bGUtc2VjdGlvbiBheC10ZXh0LWNlbnRlciBheC1tYi02XCI+XG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJheC10ZXh0LXhsIGF4LWZvbnQtYm9sZCBheC10ZXh0LWdyYXktOTAwIGF4LW1iLTJcIj5CYXNpYyBJbmZvcm1hdGlvbjwvaDM+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImF4LXRleHQtZ3JheS02MDAgYXgtdGV4dC1zbVwiPkVudGVyIHRoZSBiYXNpYyBkZXRhaWxzIGZvciB5b3VyIHJlcG9ydDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICA8YXgtZm9ybSAjYmFzaWNGb3JtPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JpZCBheC1ncmlkIGF4LWdyaWQtY29scy0xIG1kOmF4LWdyaWQtY29scy0yIGF4LWdhcC02XCI+XG4gICAgICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxheC1sYWJlbD5SZXBvcnQgTmFtZSAqPC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8YXgtdGV4dC1ib3ggXG4gICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImZvcm1EYXRhLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciByZXBvcnQgbmFtZVwiXG4gICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwicmVwb3J0TmFtZVwiPlxuICAgICAgICAgICAgICAgIDwvYXgtdGV4dC1ib3g+XG4gICAgICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8YXgtbGFiZWw+UmVwb3J0IFRpdGxlICo8L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxheC10ZXh0LWJveCBcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9ybURhdGEudGl0bGVcIlxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJFbnRlciByZXBvcnQgdGl0bGVcIlxuICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgbmFtZT1cInJlcG9ydFRpdGxlXCI+XG4gICAgICAgICAgICAgICAgPC9heC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgPC9heC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxheC1sYWJlbD5DYXRlZ29yeSAqPC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8YXgtc2VsZWN0LWJveCBcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9ybURhdGEuY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiY2F0ZWdvcmllc1wiXG4gICAgICAgICAgICAgICAgICBbdmFsdWVGaWVsZF09XCInaWQnXCJcbiAgICAgICAgICAgICAgICAgIFt0ZXh0RmllbGRdPVwiJ25hbWUnXCJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJyZXBvcnRDYXRlZ29yeVwiPlxuICAgICAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgPC9heC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxheC1sYWJlbD5EYXRhIFNvdXJjZSAqPC9heC1sYWJlbD5cbiAgICAgICAgICAgICAgICA8YXgtc2VsZWN0LWJveCBcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9ybURhdGEuZGF0YVNvdXJjZVwiXG4gICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlc1wiXG4gICAgICAgICAgICAgICAgICBbdmFsdWVGaWVsZF09XCInaWQnXCJcbiAgICAgICAgICAgICAgICAgIFt0ZXh0RmllbGRdPVwiJ3RpdGxlJ1wiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBkYXRhIHNvdXJjZVwiXG4gICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwicmVwb3J0RGF0YVNvdXJjZVwiPlxuICAgICAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9heC1mb3JtPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvYXgtY29udGVudD5cbiAgICA8L2F4LXN0ZXAtd2l6YXJkLWl0ZW0+XG5cbiAgICA8YXgtc3RlcC13aXphcmQtaXRlbSBbbGFiZWxdPVwiJ0NvbmZpZ3VyYXRpb24nXCIgW2lkXT1cIidjb25maWcnXCI+XG4gICAgICA8YXgtaWNvbiBjbGFzcz1cImZhcyBmYS1jb2dcIj48L2F4LWljb24+XG4gICAgICA8YXgtY29udGVudD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtY29udGVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwLXRpdGxlLXNlY3Rpb24gYXgtdGV4dC1jZW50ZXIgYXgtbWItNlwiPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiYXgtdGV4dC14bCBheC1mb250LWJvbGQgYXgtdGV4dC1ncmF5LTkwMCBheC1tYi0yXCI+UmVwb3J0IENvbmZpZ3VyYXRpb248L2gzPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJheC10ZXh0LWdyYXktNjAwIGF4LXRleHQtc21cIj5Db25maWd1cmUgeW91ciByZXBvcnQgc2V0dGluZ3M8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgXG4gICAgICAgICAgPGF4LWZvcm0gI2NvbmZpZ0Zvcm0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncmlkIGF4LWdyaWQgYXgtZ3JpZC1jb2xzLTEgbWQ6YXgtZ3JpZC1jb2xzLTIgYXgtZ2FwLTZcIj5cbiAgICAgICAgICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPGF4LWxhYmVsPlRlbXBsYXRlICo8L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgIDxheC1zZWxlY3QtYm94IFxuICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JtRGF0YS50ZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJ0ZW1wbGF0ZXNcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlRmllbGRdPVwiJ2lkJ1wiXG4gICAgICAgICAgICAgICAgICBbdGV4dEZpZWxkXT1cIiduYW1lJ1wiXG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCB0ZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwicmVwb3J0VGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8YXgtbGFiZWw+T3V0cHV0IEZvcm1hdHMgKjwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm1hdC1zZWxlY3Rpb24gYXgtZ3JpZCBheC1ncmlkLWNvbHMtMiBheC1nYXAtM1wiPlxuICAgICAgICAgICAgICAgICAgQGZvciAoZm9ybWF0IG9mIGZvcm1hdHM7IHRyYWNrIGZvcm1hdC5pZCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWF0LW9wdGlvbiBheC1wLTMgYXgtYm9yZGVyIGF4LWJvcmRlci1ncmF5LTIwMCBheC1yb3VuZGVkLWxnIGF4LXRyYW5zaXRpb24tY29sb3JzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWNoZWNrLWJveCBcbiAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9ybURhdGEuZm9ybWF0c1tmb3JtYXQuaWRdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIidmb3JtYXRfJyArIGZvcm1hdC5pZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZm9ybWF0Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2F4LWNoZWNrLWJveD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cblxuICAgICAgICAgICAgICA8YXgtZm9ybS1maWVsZCBjbGFzcz1cIm1kOmF4LWNvbC1zcGFuLTJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2NoZWR1bGUtc2VjdGlvbiBheC1zcGFjZS15LTRcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1jaGVjay1ib3ggXG4gICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9ybURhdGEuaXNTY2hlZHVsZWRcIlxuICAgICAgICAgICAgICAgICAgICBuYW1lPVwiaXNTY2hlZHVsZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgRW5hYmxlIHNjaGVkdWxlZCByZXBvcnRzXG4gICAgICAgICAgICAgICAgICA8L2F4LWNoZWNrLWJveD5cbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgQGlmIChmb3JtRGF0YS5pc1NjaGVkdWxlZCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2NoZWR1bGUtb3B0aW9ucyBheC1wbC02IGF4LWJvcmRlci1sLTIgYXgtYm9yZGVyLXByaW1hcnkvMjBcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD5GcmVxdWVuY3k8L2F4LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGF4LXNlbGVjdC1ib3ggXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9ybURhdGEuc2NoZWR1bGVGcmVxdWVuY3lcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJmcmVxdWVuY2llc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZUZpZWxkXT1cIidpZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdGV4dEZpZWxkXT1cIiduYW1lJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGZyZXF1ZW5jeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJzY2hlZHVsZUZyZXF1ZW5jeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICAgICAgICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYXgtZm9ybT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgPC9heC1zdGVwLXdpemFyZC1pdGVtPlxuXG4gICAgPGF4LXN0ZXAtd2l6YXJkLWl0ZW0gW2xhYmVsXT1cIidQYXJhbWV0ZXJzJ1wiIFtpZF09XCIncGFyYW1ldGVycydcIj5cbiAgICAgIDxheC1pY29uIGNsYXNzPVwiZmFzIGZhLXNsaWRlcnMtaFwiPjwvYXgtaWNvbj5cbiAgICAgIDxheC1jb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RlcC1jb250ZW50XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtdGl0bGUtc2VjdGlvbiBheC10ZXh0LWNlbnRlciBheC1tYi02XCI+XG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJheC10ZXh0LXhsIGF4LWZvbnQtYm9sZCBheC10ZXh0LWdyYXktOTAwIGF4LW1iLTJcIj5SZXBvcnQgUGFyYW1ldGVyczwvaDM+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImF4LXRleHQtZ3JheS02MDAgYXgtdGV4dC1zbVwiPkRlZmluZSBwYXJhbWV0ZXJzIGZvciB5b3VyIHJlcG9ydDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFyYW1ldGVycy1zZWN0aW9uIGF4LXNwYWNlLXktNlwiPlxuICAgICAgICAgICAgQGlmIChmb3JtRGF0YS5wYXJhbWV0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBhcmFtZXRlcnMtbGlzdCBheC1zcGFjZS15LTRcIj5cbiAgICAgICAgICAgICAgICBAZm9yIChwYXJhbSBvZiBmb3JtRGF0YS5wYXJhbWV0ZXJzOyB0cmFjayBwYXJhbS5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXJhbWV0ZXItaXRlbSBheC1wLTQgYXgtYm9yZGVyIGF4LWJvcmRlci1ncmF5LTIwMCBheC1yb3VuZGVkLWxnIGF4LWJnLWdyYXktNTAgYXgtc3BhY2UteS00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXJhbWV0ZXItZmllbGRzIGF4LWdyaWQgYXgtZ3JpZC1jb2xzLTEgbWQ6YXgtZ3JpZC1jb2xzLTMgYXgtZ2FwLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1sYWJlbD5QYXJhbWV0ZXIgTmFtZTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtdGV4dC1ib3ggXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwicGFyYW0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRW50ZXIgcGFyYW1ldGVyIG5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCIncGFyYW1fbmFtZV8nICsgaVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9heC10ZXh0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtbGFiZWw+VHlwZTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtc2VsZWN0LWJveCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJwYXJhbS50eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwicGFyYW1ldGVyVHlwZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVGaWVsZF09XCInaWQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3RleHRGaWVsZF09XCInbmFtZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCB0eXBlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ3BhcmFtX3R5cGVfJyArIGlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtY2hlY2stYm94IFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInBhcmFtLnJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiJ3BhcmFtX3JlcXVpcmVkXycgKyBpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVkXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2F4LWNoZWNrLWJveD5cbiAgICAgICAgICAgICAgICAgICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGF4LWJ1dHRvbiBcbiAgICAgICAgICAgICAgICAgICAgICBsb29rPVwiZ2hvc3RcIlxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwiZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cInJlbW92ZVBhcmFtZXRlcihpKVwiPlxuICAgICAgICAgICAgICAgICAgICAgIFJlbW92ZVxuICAgICAgICAgICAgICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vLXBhcmFtZXRlcnMgYXgtdGV4dC1jZW50ZXIgYXgtcHktOCBheC10ZXh0LWdyYXktNTAwXCI+XG4gICAgICAgICAgICAgICAgPHA+Tm8gcGFyYW1ldGVycyBkZWZpbmVkIHlldC48L3A+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRkLXBhcmFtZXRlci1zZWN0aW9uIGF4LXRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxheC1idXR0b24gXG4gICAgICAgICAgICAgICAgbG9vaz1cIm91dGxpbmVcIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwiYWRkUGFyYW1ldGVyKClcIj5cbiAgICAgICAgICAgICAgICArIEFkZCBQYXJhbWV0ZXJcbiAgICAgICAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2F4LWNvbnRlbnQ+XG4gICAgPC9heC1zdGVwLXdpemFyZC1pdGVtPlxuXG4gICAgPGF4LXN0ZXAtd2l6YXJkLWl0ZW0gW2xhYmVsXT1cIidSZXZpZXcnXCIgW2lkXT1cIidyZXZpZXcnXCI+XG4gICAgICA8YXgtaWNvbiBjbGFzcz1cImZhcyBmYS1jaGVjay1jaXJjbGVcIj48L2F4LWljb24+XG4gICAgICA8YXgtY29udGVudD5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXAtY29udGVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwLXRpdGxlLXNlY3Rpb24gYXgtdGV4dC1jZW50ZXIgYXgtbWItNlwiPlxuICAgICAgICAgICAgPGgzIGNsYXNzPVwiYXgtdGV4dC14bCBheC1mb250LWJvbGQgYXgtdGV4dC1ncmF5LTkwMCBheC1tYi0yXCI+UmV2aWV3ICYgQ29uZmlybTwvaDM+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImF4LXRleHQtZ3JheS02MDAgYXgtdGV4dC1zbVwiPlJldmlldyB5b3VyIHJlcG9ydCBjb25maWd1cmF0aW9uIGJlZm9yZSBjcmVhdGluZzwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICBcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmV2aWV3LXNlY3Rpb25zIGF4LXNwYWNlLXktNlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1zZWN0aW9uIGF4LXAtNiBheC1ib3JkZXIgYXgtYm9yZGVyLWdyYXktMjAwIGF4LXJvdW5kZWQtbGcgYXgtYmctZ3JheS01MFwiPlxuICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJheC10ZXh0LWxnIGF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1ncmF5LTkwMCBheC1tYi00IGF4LXBiLTIgYXgtYm9yZGVyLWIgYXgtYm9yZGVyLWdyYXktMjAwXCI+QmFzaWMgSW5mb3JtYXRpb248L2g0PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmV2aWV3LWl0ZW1zIGF4LXNwYWNlLXktM1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXZpZXctaXRlbSBheC1mbGV4IGF4LWp1c3RpZnktYmV0d2VlbiBheC1pdGVtcy1zdGFydFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBheC1mb250LW1lZGl1bSBheC10ZXh0LWdyYXktNzAwIGF4LW1pbi13LTAgYXgtbXItNCBheC1mbGV4LXNocmluay0wXCI+TmFtZTo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlIGF4LXRleHQtZ3JheS05MDAgYXgtdGV4dC1yaWdodCBheC1icmVhay13b3Jkc1wiPnt7IGZvcm1EYXRhLm5hbWUgfHwgJ05vdCBzcGVjaWZpZWQnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXZpZXctaXRlbSBheC1mbGV4IGF4LWp1c3RpZnktYmV0d2VlbiBheC1pdGVtcy1zdGFydFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBheC1mb250LW1lZGl1bSBheC10ZXh0LWdyYXktNzAwIGF4LW1pbi13LTAgYXgtbXItNCBheC1mbGV4LXNocmluay0wXCI+VGl0bGU6PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ2YWx1ZSBheC10ZXh0LWdyYXktOTAwIGF4LXRleHQtcmlnaHQgYXgtYnJlYWstd29yZHNcIj57eyBmb3JtRGF0YS50aXRsZSB8fCAnTm90IHNwZWNpZmllZCcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1pdGVtIGF4LWZsZXggYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsIGF4LWZvbnQtbWVkaXVtIGF4LXRleHQtZ3JheS03MDAgYXgtbWluLXctMCBheC1tci00IGF4LWZsZXgtc2hyaW5rLTBcIj5DYXRlZ29yeTo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlIGF4LXRleHQtZ3JheS05MDAgYXgtdGV4dC1yaWdodCBheC1icmVhay13b3Jkc1wiPnt7IGdldENhdGVnb3J5TmFtZShmb3JtRGF0YS5jYXRlZ29yeSkgfHwgJ05vdCBzZWxlY3RlZCcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1pdGVtIGF4LWZsZXggYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsIGF4LWZvbnQtbWVkaXVtIGF4LXRleHQtZ3JheS03MDAgYXgtbWluLXctMCBheC1tci00IGF4LWZsZXgtc2hyaW5rLTBcIj5EYXRhIFNvdXJjZTo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlIGF4LXRleHQtZ3JheS05MDAgYXgtdGV4dC1yaWdodCBheC1icmVhay13b3Jkc1wiPnt7IGdldERhdGFTb3VyY2VUaXRsZShmb3JtRGF0YS5kYXRhU291cmNlKSB8fCAnTm90IHNlbGVjdGVkJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1zZWN0aW9uIGF4LXAtNiBheC1ib3JkZXIgYXgtYm9yZGVyLWdyYXktMjAwIGF4LXJvdW5kZWQtbGcgYXgtYmctZ3JheS01MFwiPlxuICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJheC10ZXh0LWxnIGF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1ncmF5LTkwMCBheC1tYi00IGF4LXBiLTIgYXgtYm9yZGVyLWIgYXgtYm9yZGVyLWdyYXktMjAwXCI+Q29uZmlndXJhdGlvbjwvaDQ+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXZpZXctaXRlbXMgYXgtc3BhY2UteS0zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1pdGVtIGF4LWZsZXggYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsIGF4LWZvbnQtbWVkaXVtIGF4LXRleHQtZ3JheS03MDAgYXgtbWluLXctMCBheC1tci00IGF4LWZsZXgtc2hyaW5rLTBcIj5UZW1wbGF0ZTo8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlIGF4LXRleHQtZ3JheS05MDAgYXgtdGV4dC1yaWdodCBheC1icmVhay13b3Jkc1wiPnt7IGdldFRlbXBsYXRlTmFtZShmb3JtRGF0YS50ZW1wbGF0ZSkgfHwgJ05vdCBzZWxlY3RlZCcgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1pdGVtIGF4LWZsZXggYXgtanVzdGlmeS1iZXR3ZWVuIGF4LWl0ZW1zLXN0YXJ0XCI+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsIGF4LWZvbnQtbWVkaXVtIGF4LXRleHQtZ3JheS03MDAgYXgtbWluLXctMCBheC1tci00IGF4LWZsZXgtc2hyaW5rLTBcIj5Gb3JtYXRzOjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUgYXgtdGV4dC1ncmF5LTkwMCBheC10ZXh0LXJpZ2h0IGF4LWJyZWFrLXdvcmRzXCI+e3sgZ2V0U2VsZWN0ZWRGb3JtYXRzKCkgfHwgJ05vbmUgc2VsZWN0ZWQnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXZpZXctaXRlbSBheC1mbGV4IGF4LWp1c3RpZnktYmV0d2VlbiBheC1pdGVtcy1zdGFydFwiPlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBheC1mb250LW1lZGl1bSBheC10ZXh0LWdyYXktNzAwIGF4LW1pbi13LTAgYXgtbXItNCBheC1mbGV4LXNocmluay0wXCI+U2NoZWR1bGVkOjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUgYXgtdGV4dC1ncmF5LTkwMCBheC10ZXh0LXJpZ2h0IGF4LWJyZWFrLXdvcmRzXCI+e3sgZm9ybURhdGEuaXNTY2hlZHVsZWQgPyAnWWVzIC0gJyArIGZvcm1EYXRhLnNjaGVkdWxlRnJlcXVlbmN5IDogJ05vJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJldmlldy1zZWN0aW9uIGF4LXAtNiBheC1ib3JkZXIgYXgtYm9yZGVyLWdyYXktMjAwIGF4LXJvdW5kZWQtbGcgYXgtYmctZ3JheS01MFwiPlxuICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJheC10ZXh0LWxnIGF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1ncmF5LTkwMCBheC1tYi00IGF4LXBiLTIgYXgtYm9yZGVyLWIgYXgtYm9yZGVyLWdyYXktMjAwXCI+UGFyYW1ldGVyczwvaDQ+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXZpZXctaXRlbXMgYXgtc3BhY2UteS0zXCI+XG4gICAgICAgICAgICAgICAgQGlmIChmb3JtRGF0YS5wYXJhbWV0ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgIEBmb3IgKHBhcmFtIG9mIGZvcm1EYXRhLnBhcmFtZXRlcnM7IHRyYWNrIHBhcmFtLmlkKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXZpZXctaXRlbSBheC1mbGV4IGF4LWp1c3RpZnktYmV0d2VlbiBheC1pdGVtcy1zdGFydFwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwgYXgtZm9udC1tZWRpdW0gYXgtdGV4dC1ncmF5LTcwMCBheC1taW4tdy0wIGF4LW1yLTQgYXgtZmxleC1zaHJpbmstMFwiPnt7IHBhcmFtLm5hbWUgfX06PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmFsdWUgYXgtdGV4dC1ncmF5LTkwMCBheC10ZXh0LXJpZ2h0IGF4LWJyZWFrLXdvcmRzXCI+e3sgcGFyYW0udHlwZSB9fXt7IHBhcmFtLnJlcXVpcmVkID8gJyAoUmVxdWlyZWQpJyA6ICcnIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXZpZXctaXRlbVwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZhbHVlIGF4LXRleHQtZ3JheS05MDBcIj5ObyBwYXJhbWV0ZXJzIGRlZmluZWQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9heC1jb250ZW50PlxuICAgIDwvYXgtc3RlcC13aXphcmQtaXRlbT5cbiAgPC9heC1zdGVwLXdpemFyZD5cblxuICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1qdXN0aWZ5LWNlbnRlciBheC1wLTVcIj5cbiAgICA8bmctdGVtcGxhdGUgW2F4U3RlcFdpemFyZENvbnRlbnRdICN3aXphcmRDb250ZW50PVwiYXhTdGVwV2l6YXJkQ29udGVudFwiPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJheC1tdC0xMCBheC1mbGV4IGF4LWp1c3RpZnktYmV0d2VlbiBheC1pdGVtcy1jZW50ZXIgYXgtcHQtNiBheC1ib3JkZXItdCBheC1ib3JkZXItZ3JheS0yMDBcIj5cbiAgICA8ZGl2IGNsYXNzPVwibmF2LWxlZnRcIj5cbiAgICAgIDxheC1idXR0b25cbiAgICAgICAgW2Rpc2FibGVkXT1cInJlcG9ydFdpemFyZC5pc0ZpcnN0KClcIlxuICAgICAgICAob25DbGljayk9XCJyZXBvcnRXaXphcmQucHJldmlvdXMoKVwiXG4gICAgICAgIFtjb2xvcl09XCIncHJpbWFyeSdcIlxuICAgICAgICB0ZXh0PVwi4oaQIFByZXZpb3VzXCJcbiAgICAgICAgbG9vaz1cIm91dGxpbmVcIj5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm5hdi1yaWdodFwiPlxuICAgICAgQGlmKHJlcG9ydFdpemFyZC5pc0xhc3QoKSkge1xuICAgICAgICA8YXgtYnV0dG9uIFxuICAgICAgICAgIChvbkNsaWNrKT1cImZpbmlzaFdpemFyZCgpXCIgXG4gICAgICAgICAgY29sb3I9XCJzdWNjZXNzXCIgXG4gICAgICAgICAgdGV4dD1cIkNyZWF0ZSBSZXBvcnRcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJpc1NhdmluZygpXCI+XG4gICAgICAgICAgQGlmIChpc1NhdmluZygpKSB7XG4gICAgICAgICAgICBDcmVhdGluZy4uLlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQ3JlYXRlIFJlcG9ydFxuICAgICAgICAgIH1cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgIChvbkNsaWNrKT1cIm5leHRTdGVwKClcIlxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgdGV4dD1cIk5leHQg4oaSXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhblByb2NlZWQoKVwiPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ=="],"names":["i4","i8"],"mappings":"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"}