@acorex/modules 20.0.7 → 20.0.9

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 (186) hide show
  1. package/fesm2022/{acorex-modules-application-management-module-designer.component-BErRgx0w.mjs → acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs} +7 -7
  2. package/fesm2022/{acorex-modules-application-management-module-designer.component-BErRgx0w.mjs.map → acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs.map} +1 -1
  3. package/fesm2022/acorex-modules-application-management.mjs +41 -41
  4. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  5. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs → acorex-modules-auth-acorex-modules-auth-BXc_ogZY.mjs} +43 -43
  6. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-X866H4oy.mjs.map → acorex-modules-auth-acorex-modules-auth-BXc_ogZY.mjs.map} +1 -1
  7. package/fesm2022/{acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs → acorex-modules-auth-app-chooser.component-BS8kyO4q.mjs} +5 -5
  8. package/fesm2022/{acorex-modules-auth-app-chooser.component-DqKTfLA2.mjs.map → acorex-modules-auth-app-chooser.component-BS8kyO4q.mjs.map} +1 -1
  9. package/fesm2022/{acorex-modules-auth-blank.layout-D2qSgxTy.mjs → acorex-modules-auth-blank.layout-BwVSMaFI.mjs} +4 -4
  10. package/fesm2022/{acorex-modules-auth-blank.layout-D2qSgxTy.mjs.map → acorex-modules-auth-blank.layout-BwVSMaFI.mjs.map} +1 -1
  11. package/fesm2022/{acorex-modules-auth-login.module-CWOYzn0L.mjs → acorex-modules-auth-login.module-DGE_lE3s.mjs} +8 -8
  12. package/fesm2022/{acorex-modules-auth-login.module-CWOYzn0L.mjs.map → acorex-modules-auth-login.module-DGE_lE3s.mjs.map} +1 -1
  13. package/fesm2022/{acorex-modules-auth-master.layout-384T0lIg.mjs → acorex-modules-auth-master.layout-BsgOcazS.mjs} +5 -5
  14. package/fesm2022/{acorex-modules-auth-master.layout-384T0lIg.mjs.map → acorex-modules-auth-master.layout-BsgOcazS.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-auth-password.component-BW_ooTQG.mjs → acorex-modules-auth-password.component-BjpLB-GX.mjs} +5 -5
  16. package/fesm2022/{acorex-modules-auth-password.component-BW_ooTQG.mjs.map → acorex-modules-auth-password.component-BjpLB-GX.mjs.map} +1 -1
  17. package/fesm2022/{acorex-modules-auth-password.component-JG95JpLz.mjs → acorex-modules-auth-password.component-DwQwyJv_.mjs} +5 -5
  18. package/fesm2022/{acorex-modules-auth-password.component-JG95JpLz.mjs.map → acorex-modules-auth-password.component-DwQwyJv_.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-auth-routes-DqKtHu-i.mjs → acorex-modules-auth-routes-j9Ujy-xB.mjs} +2 -2
  20. package/fesm2022/{acorex-modules-auth-routes-DqKtHu-i.mjs.map → acorex-modules-auth-routes-j9Ujy-xB.mjs.map} +1 -1
  21. package/fesm2022/acorex-modules-auth-settings.provider-CM-T8nbI.mjs.map +1 -1
  22. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs → acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs} +4 -4
  23. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C0jxaqqg.mjs.map → acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs → acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs} +4 -4
  25. package/fesm2022/{acorex-modules-auth-two-factor-code.component-D7KOomHD.mjs.map → acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs.map} +1 -1
  26. package/fesm2022/{acorex-modules-auth-two-factor.module-C88pXqao.mjs → acorex-modules-auth-two-factor.module-EN4l_a4V.mjs} +7 -7
  27. package/fesm2022/{acorex-modules-auth-two-factor.module-C88pXqao.mjs.map → acorex-modules-auth-two-factor.module-EN4l_a4V.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-auth-user-sessions.component-loloVwv0.mjs → acorex-modules-auth-user-sessions.component-D9D-vWic.mjs} +5 -5
  29. package/fesm2022/{acorex-modules-auth-user-sessions.component-loloVwv0.mjs.map → acorex-modules-auth-user-sessions.component-D9D-vWic.mjs.map} +1 -1
  30. package/fesm2022/acorex-modules-auth.mjs +1 -1
  31. package/fesm2022/{acorex-modules-common-search-popup.component-CCKiQx0U.mjs → acorex-modules-common-search-popup.component-CNh7TFpe.mjs} +4 -4
  32. package/fesm2022/{acorex-modules-common-search-popup.component-CCKiQx0U.mjs.map → acorex-modules-common-search-popup.component-CNh7TFpe.mjs.map} +1 -1
  33. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs → acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs} +4 -4
  34. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-DJOcjquG.mjs.map → acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs.map} +1 -1
  35. package/fesm2022/acorex-modules-common.mjs +52 -49
  36. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  37. package/fesm2022/acorex-modules-contact-management-address-type.entity-QMEODkhx.mjs.map +1 -1
  38. package/fesm2022/acorex-modules-contact-management-contact-address.entity-0f4Vaw_k.mjs.map +1 -1
  39. package/fesm2022/acorex-modules-contact-management-contact-method.entity-ChEz1jW0.mjs.map +1 -1
  40. package/fesm2022/acorex-modules-contact-management-contact-relationship.entity-DLfiEEfk.mjs.map +1 -1
  41. package/fesm2022/acorex-modules-contact-management-contact-source.entity-hopVxiIT.mjs.map +1 -1
  42. package/fesm2022/acorex-modules-contact-management.mjs +31 -31
  43. package/fesm2022/acorex-modules-contact-management.mjs.map +1 -1
  44. package/fesm2022/acorex-modules-content-management.mjs +14 -13
  45. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  46. package/fesm2022/acorex-modules-conversation.mjs +55 -47
  47. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  48. package/fesm2022/acorex-modules-dashboard-management.mjs +74 -74
  49. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  50. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs → acorex-modules-document-management-acorex-modules-document-management-CJYBHKUf.mjs} +111 -111
  51. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs.map → acorex-modules-document-management-acorex-modules-document-management-CJYBHKUf.mjs.map} +1 -1
  52. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs → acorex-modules-document-management-attachment-widget.component-Cc-hsCCX.mjs} +5 -5
  53. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-B5txg8z0.mjs.map → acorex-modules-document-management-attachment-widget.component-Cc-hsCCX.mjs.map} +1 -1
  54. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs → acorex-modules-document-management-create-folder-dialog.component-CMhwz1-0.mjs} +5 -5
  55. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-LfnTz49a.mjs.map → acorex-modules-document-management-create-folder-dialog.component-CMhwz1-0.mjs.map} +1 -1
  56. package/fesm2022/{acorex-modules-document-management-details-view.component-Co5F8eWp.mjs → acorex-modules-document-management-details-view.component-CqK0rCnR.mjs} +5 -5
  57. package/fesm2022/{acorex-modules-document-management-details-view.component-Co5F8eWp.mjs.map → acorex-modules-document-management-details-view.component-CqK0rCnR.mjs.map} +1 -1
  58. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs → acorex-modules-document-management-drive-choose.component-r8KKbY1d.mjs} +5 -5
  59. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DFRdS7s1.mjs.map → acorex-modules-document-management-drive-choose.component-r8KKbY1d.mjs.map} +1 -1
  60. package/fesm2022/{acorex-modules-document-management-drive.component-jGs09Jrd.mjs → acorex-modules-document-management-drive.component-0wxNHSJr.mjs} +8 -8
  61. package/fesm2022/{acorex-modules-document-management-drive.component-jGs09Jrd.mjs.map → acorex-modules-document-management-drive.component-0wxNHSJr.mjs.map} +1 -1
  62. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs → acorex-modules-document-management-large-icons-view.component-z-EQb_uG.mjs} +5 -5
  63. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs.map → acorex-modules-document-management-large-icons-view.component-z-EQb_uG.mjs.map} +1 -1
  64. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs → acorex-modules-document-management-large-tiles-view.component-Ce9h5m2O.mjs} +5 -5
  65. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-CNBUzaUz.mjs.map → acorex-modules-document-management-large-tiles-view.component-Ce9h5m2O.mjs.map} +1 -1
  66. package/fesm2022/{acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs → acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs} +4 -4
  67. package/fesm2022/{acorex-modules-document-management-link-dialog.component-CXzR7mUW.mjs.map → acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs.map} +1 -1
  68. package/fesm2022/{acorex-modules-document-management-list-view.component-D4DbyB6W.mjs → acorex-modules-document-management-list-view.component-DZKdXqAA.mjs} +5 -5
  69. package/fesm2022/{acorex-modules-document-management-list-view.component-D4DbyB6W.mjs.map → acorex-modules-document-management-list-view.component-DZKdXqAA.mjs.map} +1 -1
  70. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs → acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs} +4 -4
  71. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-CmMvrfKW.mjs.map → acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs.map} +1 -1
  72. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs → acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs} +4 -4
  73. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-DHQjyq8s.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs} +4 -4
  75. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-Cc6n71wn.mjs.map → acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs.map} +1 -1
  76. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs → acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs} +4 -4
  77. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D88h9eR6.mjs.map → acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs.map} +1 -1
  78. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs → acorex-modules-document-management-permission-definition.provider-C31fYGZT.mjs} +2 -2
  79. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DoOyhnwQ.mjs.map → acorex-modules-document-management-permission-definition.provider-C31fYGZT.mjs.map} +1 -1
  80. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs → acorex-modules-document-management-rename-node-dialog.component-CMmT_vVe.mjs} +5 -5
  81. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-JDZWsFXL.mjs.map → acorex-modules-document-management-rename-node-dialog.component-CMmT_vVe.mjs.map} +1 -1
  82. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs → acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs} +4 -4
  83. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DTzXwqHw.mjs.map → acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs.map} +1 -1
  84. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs → acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs} +4 -4
  85. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-BaNzKKG4.mjs.map → acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs.map} +1 -1
  86. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs → acorex-modules-document-management-small-icons-view.component-DI7c4jHZ.mjs} +5 -5
  87. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BNTmgtYr.mjs.map → acorex-modules-document-management-small-icons-view.component-DI7c4jHZ.mjs.map} +1 -1
  88. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.mjs → acorex-modules-document-management-small-tiles-view.component-BYJfNu6O.mjs} +5 -5
  89. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CbCBAKyR.mjs.map → acorex-modules-document-management-small-tiles-view.component-BYJfNu6O.mjs.map} +1 -1
  90. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  91. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-BsAsK1EG.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs} +56 -56
  92. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-BsAsK1EG.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs.map} +1 -1
  93. package/fesm2022/{acorex-modules-form-template-management-category.entity-B3iAtREq.mjs → acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs} +2 -2
  94. package/fesm2022/{acorex-modules-form-template-management-category.entity-B3iAtREq.mjs.map → acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs.map} +1 -1
  95. package/fesm2022/{acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs → acorex-modules-form-template-management-designer.page-B14QVCAw.mjs} +4 -4
  96. package/fesm2022/{acorex-modules-form-template-management-designer.page-B-TIUKl7.mjs.map → acorex-modules-form-template-management-designer.page-B14QVCAw.mjs.map} +1 -1
  97. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs → acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs} +2 -2
  98. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-CTG95UDp.mjs.map → acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs.map} +1 -1
  99. package/fesm2022/{acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs → acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs} +2 -2
  100. package/fesm2022/{acorex-modules-form-template-management-settings.provider-BmFufTUd.mjs.map → acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs.map} +1 -1
  101. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs → acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs} +4 -4
  102. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-CNwhdnGC.mjs.map → acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs.map} +1 -1
  103. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs → acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs} +5 -5
  104. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-BNIx16WW.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs.map} +1 -1
  105. package/fesm2022/{acorex-modules-form-template-management-template.entity-BGsixiEI.mjs → acorex-modules-form-template-management-template.entity-DTx9CejD.mjs} +2 -2
  106. package/fesm2022/{acorex-modules-form-template-management-template.entity-BGsixiEI.mjs.map → acorex-modules-form-template-management-template.entity-DTx9CejD.mjs.map} +1 -1
  107. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs → acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs} +5 -5
  108. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-CzjuUz4o.mjs.map → acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs.map} +1 -1
  109. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  110. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs → acorex-modules-issue-management-acorex-modules-issue-management-BhascWnH.mjs} +712 -644
  111. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-BhascWnH.mjs.map +1 -0
  112. package/fesm2022/acorex-modules-issue-management-capture-screen.component-BIWYcqOI.mjs +28 -0
  113. package/fesm2022/acorex-modules-issue-management-capture-screen.component-BIWYcqOI.mjs.map +1 -0
  114. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  115. package/fesm2022/acorex-modules-log-management.mjs +10 -10
  116. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  117. package/fesm2022/acorex-modules-notification-management.mjs +35 -35
  118. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  119. package/fesm2022/{acorex-modules-organization-management-add-item.component-D99TugmE.mjs → acorex-modules-organization-management-add-item.component-Br70YGJS.mjs} +4 -4
  120. package/fesm2022/{acorex-modules-organization-management-add-item.component-D99TugmE.mjs.map → acorex-modules-organization-management-add-item.component-Br70YGJS.mjs.map} +1 -1
  121. package/fesm2022/acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs.map +1 -1
  122. package/fesm2022/acorex-modules-organization-management-chart.entity-UAn44WCP.mjs.map +1 -1
  123. package/fesm2022/acorex-modules-organization-management-company.entity-D1A1HSkC.mjs.map +1 -1
  124. package/fesm2022/acorex-modules-organization-management-department.entity-BMojk26d.mjs.map +1 -1
  125. package/fesm2022/acorex-modules-organization-management-division.entity-BnWpX4US.mjs.map +1 -1
  126. package/fesm2022/acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs.map +1 -1
  127. package/fesm2022/acorex-modules-organization-management-employment-type.entity-CWYu9tIg.mjs.map +1 -1
  128. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs → acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs} +5 -5
  129. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DTNqHbxt.mjs.map → acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs.map} +1 -1
  130. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs → acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs} +4 -4
  131. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-BSO0GrAW.mjs.map → acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs.map} +1 -1
  132. package/fesm2022/{acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs → acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs} +12 -12
  133. package/fesm2022/{acorex-modules-organization-management-org-chart.page-ioMhEPnQ.mjs.map → acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs.map} +1 -1
  134. package/fesm2022/acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs.map +1 -1
  135. package/fesm2022/acorex-modules-organization-management-position.entity-CY4TugWR.mjs.map +1 -1
  136. package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs.map +1 -1
  137. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs.map +1 -1
  138. package/fesm2022/acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs.map +1 -1
  139. package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +1 -1
  140. package/fesm2022/acorex-modules-organization-management-settings.provider-hlbUXugb.mjs.map +1 -1
  141. package/fesm2022/acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs.map +1 -1
  142. package/fesm2022/acorex-modules-organization-management-skill.entity-D9XojzUV.mjs.map +1 -1
  143. package/fesm2022/acorex-modules-organization-management-team.entity-mYPhrc2l.mjs.map +1 -1
  144. package/fesm2022/acorex-modules-organization-management.mjs +125 -122
  145. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  146. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs → acorex-modules-platform-management-acorex-modules-platform-management-TWTBqgn6.mjs} +107 -104
  147. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-CFoPmixl.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-TWTBqgn6.mjs.map} +1 -1
  148. package/fesm2022/{acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs → acorex-modules-platform-management-list-version.component-DQ3Gp9kl.mjs} +5 -5
  149. package/fesm2022/{acorex-modules-platform-management-list-version.component-D0-Ya-Yx.mjs.map → acorex-modules-platform-management-list-version.component-DQ3Gp9kl.mjs.map} +1 -1
  150. package/fesm2022/{acorex-modules-platform-management-settings.provider--ARXqBUY.mjs → acorex-modules-platform-management-settings.provider-FXMK1_44.mjs} +2 -2
  151. package/fesm2022/{acorex-modules-platform-management-settings.provider--ARXqBUY.mjs.map → acorex-modules-platform-management-settings.provider-FXMK1_44.mjs.map} +1 -1
  152. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  153. package/fesm2022/acorex-modules-project-management.mjs +43 -43
  154. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  155. package/fesm2022/{acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs → acorex-modules-report-management-report-create-root.component-CcNJIUk2.mjs} +4 -4
  156. package/fesm2022/{acorex-modules-report-management-report-create-root.component-LrE6TkIp.mjs.map → acorex-modules-report-management-report-create-root.component-CcNJIUk2.mjs.map} +1 -1
  157. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs → acorex-modules-report-management-report-runner-root-page.component-sI0yzJ4s.mjs} +7 -7
  158. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-BntIoMfN.mjs.map → acorex-modules-report-management-report-runner-root-page.component-sI0yzJ4s.mjs.map} +1 -1
  159. package/fesm2022/{acorex-modules-report-management-run.command-CoXvPC15.mjs → acorex-modules-report-management-run.command-DHPmdkSZ.mjs} +4 -4
  160. package/fesm2022/{acorex-modules-report-management-run.command-CoXvPC15.mjs.map → acorex-modules-report-management-run.command-DHPmdkSZ.mjs.map} +1 -1
  161. package/fesm2022/acorex-modules-report-management.mjs +17 -17
  162. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  163. package/fesm2022/acorex-modules-scheduler-job-management.mjs +14 -14
  164. package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
  165. package/fesm2022/acorex-modules-security-management.mjs +63 -63
  166. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  167. package/fesm2022/{acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs → acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs} +4 -4
  168. package/fesm2022/{acorex-modules-settings-management-setting-page.component-BKwKLUpD.mjs.map → acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs.map} +1 -1
  169. package/fesm2022/{acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs → acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs} +4 -4
  170. package/fesm2022/{acorex-modules-settings-management-setting-view.component-Dco7MvZr.mjs.map → acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs.map} +1 -1
  171. package/fesm2022/acorex-modules-settings-management.mjs +6 -6
  172. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  173. package/fesm2022/acorex-modules-text-template-management-settings.provider-fX0dhWUL.mjs.map +1 -1
  174. package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
  175. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  176. package/fesm2022/acorex-modules-training-management.mjs +43 -43
  177. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  178. package/fesm2022/{acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs → acorex-modules-workflow-management-task-board.page-Dh9nI9dz.mjs} +19 -19
  179. package/fesm2022/{acorex-modules-workflow-management-task-board.page-ChW_Hwf2.mjs.map → acorex-modules-workflow-management-task-board.page-Dh9nI9dz.mjs.map} +1 -1
  180. package/fesm2022/acorex-modules-workflow-management.mjs +12 -12
  181. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  182. package/issue-management/index.d.ts +63 -5
  183. package/package.json +5 -5
  184. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-C2JoHgaa.mjs.map +0 -1
  185. package/fesm2022/acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs +0 -28
  186. package/fesm2022/acorex-modules-issue-management-capture-screen.component-DTtUkL78.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-document-management-drive.component-jGs09Jrd.mjs","sources":["../tmp-esm2022/document-management/lib/features/document-explorer/views/detail-panel/detail-panel.component.js","../tmp-esm2022/document-management/lib/features/drive/drive.component.js"],"sourcesContent":["import { Component, inject, ViewEncapsulation } from \"@angular/core\";\nimport { AXPDocumentExplorerViewModel } from \"../../document-explorer.viewmodel\";\nimport { AXDecoratorModule } from \"@acorex/components/decorators\";\nimport { AXFormatModule } from \"@acorex/core/format\";\nimport { CommonModule } from \"@angular/common\";\nimport { AXButtonModule } from \"@acorex/components/button\";\nimport { AXTranslationModule } from \"@acorex/core/translation\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@acorex/core/format\";\nimport * as i4 from \"@acorex/components/button\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXMDocumentExplorerDetailPanelComponent {\n constructor() {\n this.vm = inject(AXPDocumentExplorerViewModel);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMDocumentExplorerDetailPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.6\", type: AXMDocumentExplorerDetailPanelComponent, isStandalone: true, selector: \"axm-document-explorer-detail-panel\", ngImport: i0, template: \"<!-- Multiple Selected -->\\n@if(vm.hasMultipleSelectedItems()) {\\n<div class=\\\"__header\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__title\\\">\\n <i class=\\\"fa-fw fa-lg fa-solid\\\"></i>\\n <span> {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}</span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n</div>\\n<div class=\\\"__content\\\"></div>\\n}\\n<!-- Single Selected -->\\n@else {\\n<!-- Info -->\\n@let nodeInfo = vm.getNodeInfo((vm.selectedNode() ?? vm.currentFolder())!);\\n<div class=\\\"__header\\\">\\n <div class=\\\"__title\\\">\\n <i class=\\\"fa-fw fa-lg {{ nodeInfo.icon }} fa-solid\\\"></i>\\n <span>{{ nodeInfo.name }}</span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n</div>\\n<div class=\\\"__content\\\">\\n @for(section of nodeInfo.sections; track section.title) {\\n <div class=\\\"__section\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ section.title }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n @for(detail of section.details; track detail.title) {\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ detail.title }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n @if(detail.format) {\\n <span>{{ detail.content | format : detail.format | async }}</span>\\n } @else {\\n <span>{{ detail.content ?? '---' }}</span>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n</div>\\n}\\n\", styles: [\"axm-document-explorer-detail-panel{display:flex;flex-direction:column;border-radius:.5rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1024px){axm-document-explorer-detail-panel{min-width:20rem}}axm-document-explorer-detail-panel>.__header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;padding:1rem}axm-document-explorer-detail-panel>.__header>.__title{display:flex;width:90%;flex-direction:row;align-items:center;gap:.5rem}axm-document-explorer-detail-panel>.__header>.__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start;font-weight:600;line-height:1.625}axm-document-explorer-detail-panel>.__content{display:flex;flex-direction:column}axm-document-explorer-detail-panel>.__content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axm-document-explorer-detail-panel>.__content>.__section{display:flex;flex-direction:column;padding:1rem}axm-document-explorer-detail-panel>.__content>.__section>.__title{margin-bottom:1rem;font-size:.875rem;line-height:1.25rem;font-weight:700}axm-document-explorer-detail-panel>.__content>.__section>.__content{display:flex;flex-direction:column;gap:1rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row{display:flex;flex-direction:column;gap:.25rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__title{display:flex;font-size:.875rem;line-height:1.25rem;font-weight:600;opacity:.9}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__content{display:flex;flex-direction:row;align-items:center;gap:.5rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__content span{opacity:.7}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"pipe\", type: i3.AXFormatPipe, name: \"format\" }, { 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: \"directive\", type: i5.AXTranslatorDirective, selector: \"[translate]\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMDocumentExplorerDetailPanelComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-document-explorer-detail-panel', standalone: true, encapsulation: ViewEncapsulation.None, imports: [\n CommonModule,\n AXDecoratorModule,\n AXFormatModule,\n AXButtonModule,\n AXTranslationModule\n ], template: \"<!-- Multiple Selected -->\\n@if(vm.hasMultipleSelectedItems()) {\\n<div class=\\\"__header\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__title\\\">\\n <i class=\\\"fa-fw fa-lg fa-solid\\\"></i>\\n <span> {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}</span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n</div>\\n<div class=\\\"__content\\\"></div>\\n}\\n<!-- Single Selected -->\\n@else {\\n<!-- Info -->\\n@let nodeInfo = vm.getNodeInfo((vm.selectedNode() ?? vm.currentFolder())!);\\n<div class=\\\"__header\\\">\\n <div class=\\\"__title\\\">\\n <i class=\\\"fa-fw fa-lg {{ nodeInfo.icon }} fa-solid\\\"></i>\\n <span>{{ nodeInfo.name }}</span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n</div>\\n<div class=\\\"__content\\\">\\n @for(section of nodeInfo.sections; track section.title) {\\n <div class=\\\"__section\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ section.title }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n @for(detail of section.details; track detail.title) {\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ detail.title }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n @if(detail.format) {\\n <span>{{ detail.content | format : detail.format | async }}</span>\\n } @else {\\n <span>{{ detail.content ?? '---' }}</span>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n</div>\\n}\\n\", styles: [\"axm-document-explorer-detail-panel{display:flex;flex-direction:column;border-radius:.5rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1024px){axm-document-explorer-detail-panel{min-width:20rem}}axm-document-explorer-detail-panel>.__header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;padding:1rem}axm-document-explorer-detail-panel>.__header>.__title{display:flex;width:90%;flex-direction:row;align-items:center;gap:.5rem}axm-document-explorer-detail-panel>.__header>.__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start;font-weight:600;line-height:1.625}axm-document-explorer-detail-panel>.__content{display:flex;flex-direction:column}axm-document-explorer-detail-panel>.__content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axm-document-explorer-detail-panel>.__content>.__section{display:flex;flex-direction:column;padding:1rem}axm-document-explorer-detail-panel>.__content>.__section>.__title{margin-bottom:1rem;font-size:.875rem;line-height:1.25rem;font-weight:700}axm-document-explorer-detail-panel>.__content>.__section>.__content{display:flex;flex-direction:column;gap:1rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row{display:flex;flex-direction:column;gap:.25rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__title{display:flex;font-size:.875rem;line-height:1.25rem;font-weight:600;opacity:.9}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__content{display:flex;flex-direction:row;align-items:center;gap:.5rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__content span{opacity:.7}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZG9jdW1lbnQtZXhwbG9yZXIvdmlld3MvZGV0YWlsLXBhbmVsL2RldGFpbC1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2RvY3VtZW50LWV4cGxvcmVyL3ZpZXdzL2RldGFpbC1wYW5lbC9kZXRhaWwtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFnQi9ELE1BQU0sT0FBTyx1Q0FBdUM7SUFkcEQ7UUFlYyxPQUFFLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDdkQ7OEdBRlksdUNBQXVDO2tHQUF2Qyx1Q0FBdUMsOEZDdEJwRCxxcURBb0RBLDJ0RURyQ1EsWUFBWSxtRkFDWixpQkFBaUIsK0hBQ2pCLGNBQWMsdUZBQ2QsY0FBYyw2WEFDZCxtQkFBbUI7OzJGQUdkLHVDQUF1QztrQkFkbkQsU0FBUzsrQkFDSSxvQ0FBb0MsY0FHbEMsSUFBSSxpQkFDRCxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNMLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsbUJBQW1CO3FCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGVsIH0gZnJvbSBcIi4uLy4uL2RvY3VtZW50LWV4cGxvcmVyLnZpZXdtb2RlbFwiO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IEFYRm9ybWF0TW9kdWxlIH0gZnJvbSBcIkBhY29yZXgvY29yZS9mb3JtYXRcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9idXR0b25cIjtcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tIFwiQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhtLWRvY3VtZW50LWV4cGxvcmVyLWRldGFpbC1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RldGFpbC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGV0YWlsLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhGb3JtYXRNb2R1bGUsXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWFRyYW5zbGF0aW9uTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudEV4cGxvcmVyRGV0YWlsUGFuZWxDb21wb25lbnQge1xuICAgIHByb3RlY3RlZCB2bSA9IGluamVjdChBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGVsKTtcbn1cbiIsIjwhLS0gIE11bHRpcGxlIFNlbGVjdGVkICAtLT5cbkBpZih2bS5oYXNNdWx0aXBsZVNlbGVjdGVkSXRlbXMoKSkge1xuPGRpdiBjbGFzcz1cIl9faGVhZGVyXCIgKnRyYW5zbGF0ZT1cImxldCB0XCI+XG4gIDxkaXYgY2xhc3M9XCJfX3RpdGxlXCI+XG4gICAgPGkgY2xhc3M9XCJmYS1mdyBmYS1sZyBmYS1zb2xpZFwiPjwvaT5cbiAgICA8c3Bhbj4ge3sgdm0uc2VsZWN0ZWRDb3VudCgpIH19IHt7IHQoJ2l0ZW1zU2VsZWN0ZWQnLCB7IHNjb3BlOiAnY29tbW9uJyB9KSB8IGFzeW5jIH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGF4LWJ1dHRvbiBbbG9va109XCInYmxhbmsnXCIgY2xhc3M9XCJheC1zbSBheC1yb3VuZGVkLWZ1bGxcIiAob25DbGljayk9XCJ2bS5jbG9zZURldGFpbFBhbmVsKClcIj5cbiAgICA8YXgtaWNvbiBpY29uPVwiZmEtc29saWQgZmEteG1hcmtcIj48L2F4LWljb24+XG4gIDwvYXgtYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiX19jb250ZW50XCI+PC9kaXY+XG59XG48IS0tIFNpbmdsZSBTZWxlY3RlZCAtLT5cbkBlbHNlIHtcbjwhLS0gSW5mbyAtLT5cbkBsZXQgbm9kZUluZm8gPSB2bS5nZXROb2RlSW5mbygodm0uc2VsZWN0ZWROb2RlKCkgPz8gdm0uY3VycmVudEZvbGRlcigpKSEpO1xuPGRpdiBjbGFzcz1cIl9faGVhZGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJfX3RpdGxlXCI+XG4gICAgPGkgY2xhc3M9XCJmYS1mdyBmYS1sZyB7eyBub2RlSW5mby5pY29uIH19IGZhLXNvbGlkXCI+PC9pPlxuICAgIDxzcGFuPnt7IG5vZGVJbmZvLm5hbWUgfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8YXgtYnV0dG9uIFtsb29rXT1cIidibGFuaydcIiBjbGFzcz1cImF4LXNtIGF4LXJvdW5kZWQtZnVsbFwiIChvbkNsaWNrKT1cInZtLmNsb3NlRGV0YWlsUGFuZWwoKVwiPlxuICAgIDxheC1pY29uIGljb249XCJmYS1zb2xpZCBmYS14bWFya1wiPjwvYXgtaWNvbj5cbiAgPC9heC1idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJfX2NvbnRlbnRcIj5cbiAgQGZvcihzZWN0aW9uIG9mIG5vZGVJbmZvLnNlY3Rpb25zOyB0cmFjayBzZWN0aW9uLnRpdGxlKSB7XG4gIDxkaXYgY2xhc3M9XCJfX3NlY3Rpb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiX190aXRsZVwiPlxuICAgICAgPHNwYW4+e3sgc2VjdGlvbi50aXRsZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiX19jb250ZW50XCI+XG4gICAgICBAZm9yKGRldGFpbCBvZiBzZWN0aW9uLmRldGFpbHM7IHRyYWNrIGRldGFpbC50aXRsZSkge1xuICAgICAgPGRpdiBjbGFzcz1cIl9fcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX3RpdGxlXCI+XG4gICAgICAgICAgPHNwYW4+e3sgZGV0YWlsLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fY29udGVudFwiPlxuICAgICAgICAgIEBpZihkZXRhaWwuZm9ybWF0KSB7XG4gICAgICAgICAgPHNwYW4+e3sgZGV0YWlsLmNvbnRlbnQgfCBmb3JtYXQgOiBkZXRhaWwuZm9ybWF0IHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4+e3sgZGV0YWlsLmNvbnRlbnQgPz8gJy0tLScgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG59XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostListener, inject, signal, untracked, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXMenuModule } from '@acorex/components/menu';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXFileModule } from '@acorex/core/file';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPFileTypeProviderService } from '@acorex/platform/common';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { resolvePlatformScopeKey, resolvePlatformScopeName, } from '@acorex/platform/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentExplorerComponent, AXPDocumentExplorerViewModel } from '../document-explorer';\nimport { AXMDocumentExplorerDetailPanelComponent } from '../document-explorer/views/detail-panel/detail-panel.component';\nimport { AXMDocumentManagerService, AXMFolderPathBreadcrumbsComponent } from '../shared';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/dropdown\";\nimport * as i4 from \"@acorex/core/translation\";\nimport * as i5 from \"@acorex/components/decorators\";\nimport * as i6 from \"@acorex/components/search-box\";\nexport class AXMDocumentDriveComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n //#region ---------------- Services & Dependencies ----------------\n this.rootConfig = RootConfig;\n this.fileTypeService = inject(AXPFileTypeProviderService);\n this.driveService = inject(AXMDocumentManagerService);\n this.vm = inject(AXPDocumentExplorerViewModel);\n this.router = inject(Router);\n this.activatedRoute = inject(ActivatedRoute);\n //#endregion\n //#region ---------------- View Properties ----------------\n this.filterItems = signal([]);\n this.selectedFilter = signal('all');\n this.searchQuery = '';\n this.sortItems = signal([\n { key: 'name', textKey: 'actions.sort-by-name', icon: 'fa-light fa-font' },\n { key: 'modified', textKey: 'actions.sort-by-date', icon: 'fa-light fa-calendar' },\n { key: 'size', textKey: 'actions.sort-by-size', icon: 'fa-light fa-weight-hanging' },\n ]);\n this.viewsItems = signal([\n { key: 'large-icons', icon: 'fa-light fa-grid' },\n { key: 'small-icons', icon: 'fa-light fa-grid', break: true },\n { key: 'large-tiles', icon: 'fa-grid-2' },\n { key: 'small-tiles', icon: 'fa-grid-2', break: true },\n { key: 'details', icon: 'fa-bars', break: true },\n { key: 'list', icon: 'fa-list' },\n ]);\n this.selectedViewMode = computed(() => this.viewsItems().find((item) => item.key === this.vm.viewMode()) || this.viewsItems()[0]);\n this.selectionMode = signal('single');\n this.documentExplorer = viewChild(AXMDocumentExplorerComponent);\n //#endregion\n //#region ---------------- Computed Properties ----------------\n this.selectedSort = computed(() => {\n const items = this.sortItems();\n return items.find((item) => item.key === this.vm.sortField()) || items[0];\n });\n //#endregion\n //#region ---------------- Effects ----------------\n this.#navigateEffect = effect(() => {\n const navigatingFolderId = this.vm.navigatingFolderId();\n if (navigatingFolderId) {\n this.handleNavigateToFolder(navigatingFolderId);\n }\n });\n this.#loadingEffect = effect(() => {\n const isLoading = this.vm.isLoading();\n untracked(() => {\n this.layoutService.setNavigationLoading(isLoading);\n });\n });\n }\n //#endregion\n //#region ---------------- Effects ----------------\n #navigateEffect;\n #loadingEffect;\n //#endregion\n //#region ---------------- Lifecycle Hooks ----------------\n async ngOnInit() {\n super.ngOnInit();\n await this.loadFilterItems();\n const snapshot = this.activatedRoute.snapshot;\n const routerScope = resolvePlatformScopeKey(snapshot.parent?.paramMap.get('scope')?.trim()?.toLowerCase());\n await this.vm.initialize({ browseMode: 'file', scope: routerScope });\n this.activatedRoute.paramMap.subscribe(async () => {\n this.loadDrive();\n });\n }\n //#endregion\n //#region ---------------- Event Handlers ----------------\n async handleSearchChange(event) {\n if (event.value == null) {\n return;\n }\n if (event.value?.length > 0) {\n const result = await this.driveService.searchNodes(event.value, this.vm.scope(), {\n tenantId: this.sessionService.tenant?.id,\n userId: this.sessionService.user?.id,\n folderId: this.vm.currentNode()?.id,\n });\n this.vm.virtualFolder(result, {\n name: 'Search Result',\n parentId: this.vm.currentNode()?.id == 'virtual' ?\n this.vm.currentNode()?.parentId ?? undefined : this.vm.currentNode()?.id,\n });\n }\n else {\n this.vm.navigateToUp();\n }\n }\n handleCtrlKey(e) {\n this.selectionMode.set('multiple');\n }\n handleCtrlKeyUp(e) {\n this.selectionMode.set('single');\n }\n handleNavigateToFolder(folderId) {\n this.router.navigate([\n `${this.sessionService.application?.name}/drive/${resolvePlatformScopeName(this.vm.scope())}/${folderId}`,\n ]);\n setTimeout(() => {\n this.searchQuery = null;\n }, 200);\n }\n //#endregion\n //#region ---------------- Data Loading Methods ----------------\n async loadDrive() {\n const folderId = this.activatedRoute.snapshot.paramMap.get('id');\n if (folderId) {\n await this.vm.loadFolderContents(folderId);\n }\n else {\n // TODO: get root from tenant or user by scope\n const root = await this.driveService.getRoot(this.vm.scope(), {\n tenantId: this.sessionService.tenant?.id,\n userId: this.sessionService.user?.id,\n });\n if (root.result) {\n await this.router.navigate([\n `${this.sessionService.application?.name}/drive/${resolvePlatformScopeName(this.vm.scope())}/${root.result.id}`,\n ], {\n replaceUrl: true,\n });\n }\n }\n //\n this.recompute();\n }\n async loadFilterItems() {\n const types = await this.fileTypeService.items();\n const items = [\n { key: 'all', textKey: 'file-types.all', icon: 'fa-light fa-folder-closed' },\n ...types.map((type) => ({\n key: type.name,\n textKey: `file-types.${type.name}`,\n icon: type.icon || 'fa-light fa-file',\n })),\n ];\n this.filterItems.set(items);\n }\n //#endregion\n //#region ---------------- Filter Methods ----------------\n setFilter(key) {\n this.selectedFilter.set(key);\n }\n getFilterIcon() {\n if (this.selectedFilter() === 'all') {\n return 'fa-light fa-folder-closed';\n }\n const item = this.filterItems().find((item) => item.key === this.selectedFilter());\n return item?.icon || 'fa-light fa-file';\n }\n getFilterText() {\n if (this.selectedFilter() === 'all') {\n return 'file-types.all';\n }\n const item = this.filterItems().find((item) => item.key === this.selectedFilter());\n return item?.textKey || 'file-types.all';\n }\n //#endregion\n //#region ---------------- Page Configuration Overrides ----------------\n async getPrimaryMenuItems() {\n if (this.vm.hasMultipleSelectedItems()) {\n return [\n {\n name: 'deleteItems',\n title: 't(\"deleteItems\")',\n icon: 'fa-light fa-trash-can',\n color: 'danger',\n },\n ];\n }\n const addItemItems = await this.vm.getFolderAddMenuItems();\n addItemItems[addItemItems.length - 1].break = false;\n return [\n {\n title: 't(\"add-item\")',\n icon: 'fa-light fa-plus',\n color: 'primary',\n items: addItemItems,\n },\n ];\n }\n async getSecondaryMenuItems() {\n if (this.vm.hasMultipleSelectedItems()) {\n return [\n {\n name: 'delete',\n title: 't(\"delete\")',\n icon: 'fa-light fa-trash-can',\n color: 'danger',\n },\n ];\n }\n return this.vm.getFolderActionMenuItems();\n }\n async getPageTitle() {\n if (this.vm.isRoot()) {\n return this.translateService.translateAsync(`scope.${resolvePlatformScopeName(this.vm.scope())}.title`, { scope: this.rootConfig.config.i18n });\n }\n return this.vm.currentFolder()?.name || '';\n }\n async getPageDescription() {\n const count = await this.vm.itemsCount();\n const size = await this.vm.availableSpace();\n const formattedSize = await this.formatService.format(size, 'filesize');\n return this.translateService.translateAsync(`scope.${resolvePlatformScopeName(this.vm.scope())}.description`, {\n scope: this.rootConfig.config.i18n,\n params: {\n count,\n size: formattedSize,\n },\n });\n }\n getBackButton() {\n if (this.vm.isUpAvailable() && this.vm.currentPath().length > 1) {\n return {\n title: this.vm.currentPath()[this.vm.currentPath().length - 2].name,\n };\n }\n return null;\n }\n onBackButtonClick() {\n if (this.vm.isUpAvailable()) {\n this.vm.navigateToUp();\n }\n }\n async getPageBreadcrumbs() {\n return [\n {\n title: await this.translateService.translateAsync(`scope.${resolvePlatformScopeName(this.vm.scope())}.title`, { scope: this.rootConfig.config.i18n }),\n },\n ];\n }\n async execute(command) {\n const folderId = command.options?.['folderId'];\n switch (command.name) {\n case 'new-folder':\n if (folderId) {\n await this.driveService.showCreateFolderDialog(folderId);\n this.vm.refresh();\n }\n break;\n case 'open-gallery':\n if (folderId) {\n await this.driveService.showFileViewerPopup(this.vm.currentFolder().children[0]);\n }\n break;\n default:\n if (command.name.startsWith('upload.')) {\n await this.driveService.uploadFileByType(folderId, command.options?.['documentType']?.id);\n this.vm.refresh();\n }\n break;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMDocumentDriveComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.6\", type: AXMDocumentDriveComponent, isStandalone: true, selector: \"axp-document-drive\", host: { listeners: { \"document:keydown.control\": \"handleCtrlKey($event)\", \"document:keyup.control\": \"handleCtrlKeyUp($event)\" } }, providers: [\n AXPDocumentExplorerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMDocumentDriveComponent,\n },\n ], viewQueries: [{ propertyName: \"documentExplorer\", first: true, predicate: AXMDocumentExplorerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<!-- Main Layout -->\\n<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-toolbar>\\n <!-- Left Side Toolbar -->\\n <axp-layout-prefix>\\n @if(vm.hasMultipleSelectedItems() ) {\\n <div class=\\\"ax-flex ax-gap-3 ax-items-center ax-h-10\\\">\\n <span class=\\\"ax-text-xl ax-font-bold\\\">\\n {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}\\n </span>\\n <span (click)=\\\"vm.deselectAll()\\\" class=\\\"ax-text-sm ax-text-secondary ax-underline ax-cursor-pointer\\\">{{\\n t('unselect', { scope: 'common' }) | async\\n }}</span>\\n </div>\\n }\\n <!---------->\\n @else {\\n <!-- Filter Dropdown -->\\n <ax-button [text]=\\\"t(getFilterText(), { scope: rootConfig.config.i18n }) | async\\\">\\n <ax-prefix>\\n <ax-icon [icon]=\\\"getFilterIcon()\\\"></ax-icon>\\n </ax-prefix>\\n\\n <ax-dropdown-panel>\\n <ax-button-item-list class=\\\"ax-p-2\\\">\\n @for(item of filterItems(); track item.key) {\\n <ax-button-item\\n (onClick)=\\\"setFilter(item.key)\\\"\\n [text]=\\\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\\\"\\n >\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n <!-- Search Box -->\\n <ax-search-box\\n [(value)]=\\\"searchQuery\\\"\\n (onValueChanged)=\\\"handleSearchChange($event)\\\"\\n class=\\\"ax-w-72 ax-hidden md:ax-flex\\\"\\n [placeholder]=\\\"t('actions.search', { scope: rootConfig.config.i18n }) | async\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n }\\n </axp-layout-prefix>\\n\\n <!-- Right Side Toolbar -->\\n <axp-layout-suffix>\\n <!-- Sort Dropdown -->\\n <ax-button>\\n <ax-icon\\n [icon]=\\\"'fa-light fa-arrow-' + (vm.sortDirection() === 'asc' ? 'up' : 'down') + '-wide-short'\\\"\\n ></ax-icon>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n <!-- Sort By Options -->\\n @for(item of sortItems(); track item.key) {\\n <ax-button-item\\n [text]=\\\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\\\"\\n (onClick)=\\\"vm.setSortField(item.key)\\\"\\n [selected]=\\\"vm.sortField() === item.key\\\"\\n >\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n }\\n <ax-divider></ax-divider>\\n <!-- Sort Direction Options -->\\n <ax-button-item\\n [text]=\\\"(t('actions.sort-ascending', { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.sortDirection() === 'asc'\\\"\\n (onClick)=\\\"vm.setSortDirection('asc')\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light fa-arrow-up-wide-short\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n <ax-button-item\\n [text]=\\\"(t('actions.sort-descending', { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.sortDirection() === 'desc'\\\"\\n (onClick)=\\\"vm.setSortDirection('desc')\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light fa-arrow-down-wide-short\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n\\n <!-- View Mode Toggle -->\\n <ax-button>\\n <ax-icon icon=\\\"fa-light {{ selectedViewMode().icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n @for(item of viewsItems(); track item.key) {\\n <!-- view mode items -->\\n <ax-button-item\\n [text]=\\\"(t('view-modes.' + item.key, { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.isViewMode(item.key)\\\"\\n (onClick)=\\\"vm.setViewMode(item.key)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if(item.break) {\\n <ax-divider></ax-divider>\\n }\\n <!-- end of view mode items -->\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n\\n @if(layoutService.isLarge()) {\\n <!-- Detail Panel Toggle -->\\n <ax-button (onClick)=\\\"vm.toggleDetailPanel()\\\">\\n <ax-icon icon=\\\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\\\"></ax-icon>\\n </ax-button>\\n }\\n </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Content Section -->\\n <axp-page-content class=\\\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\\\">\\n <axm-document-explorer [selectionMode]=\\\"selectionMode()\\\"></axm-document-explorer>\\n @if (vm.isDetailPanelOpen() && layoutService.isLarge()) {\\n <axm-document-explorer-detail-panel class=\\\"ax-sticky ax-top-0 ax-z-50\\\"></axm-document-explorer-detail-panel>\\n }\\n </axp-page-content>\\n\\n <!-- Footer Section -->\\n @if(!layoutService.isSmall()) {\\n <axp-page-footer>\\n <axp-layout-prefix>\\n <axm-folder-path-breadcrumbs></axm-folder-path-breadcrumbs>\\n </axp-layout-prefix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: \n //\n AXMenuModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.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: \"component\", type: i2.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i2.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXButtonGroupModule }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"component\", type: i3.AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i4.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i5.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i5.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i5.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: AXLoadingModule }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"ngmodule\", type: AXSearchBoxModule }, { kind: \"component\", type: i6.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"ngmodule\", type: AXFileModule }, { kind: \"ngmodule\", type: AXDateTimeModule }, { kind: \"component\", type: \n //\n AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: \n //\n AXMDocumentExplorerComponent, selector: \"axm-document-explorer\", inputs: [\"browseMode\", \"viewMode\", \"selectionMode\", \"showContextMenu\"] }, { kind: \"component\", type: AXMFolderPathBreadcrumbsComponent, selector: \"axm-folder-path-breadcrumbs\" }, { kind: \"component\", type: AXMDocumentExplorerDetailPanelComponent, selector: \"axm-document-explorer-detail-panel\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.6\", ngImport: i0, type: AXMDocumentDriveComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-document-drive', standalone: true, imports: [\n CommonModule,\n RouterModule,\n //\n AXMenuModule,\n AXButtonModule,\n AXButtonGroupModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n AXSearchBoxModule,\n AXFormatModule,\n AXFileModule,\n AXDateTimeModule,\n //\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n //\n AXMDocumentExplorerComponent,\n AXMFolderPathBreadcrumbsComponent,\n AXMDocumentExplorerDetailPanelComponent,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n AXPDocumentExplorerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMDocumentDriveComponent,\n },\n ], template: \"<!-- Main Layout -->\\n<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-toolbar>\\n <!-- Left Side Toolbar -->\\n <axp-layout-prefix>\\n @if(vm.hasMultipleSelectedItems() ) {\\n <div class=\\\"ax-flex ax-gap-3 ax-items-center ax-h-10\\\">\\n <span class=\\\"ax-text-xl ax-font-bold\\\">\\n {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}\\n </span>\\n <span (click)=\\\"vm.deselectAll()\\\" class=\\\"ax-text-sm ax-text-secondary ax-underline ax-cursor-pointer\\\">{{\\n t('unselect', { scope: 'common' }) | async\\n }}</span>\\n </div>\\n }\\n <!---------->\\n @else {\\n <!-- Filter Dropdown -->\\n <ax-button [text]=\\\"t(getFilterText(), { scope: rootConfig.config.i18n }) | async\\\">\\n <ax-prefix>\\n <ax-icon [icon]=\\\"getFilterIcon()\\\"></ax-icon>\\n </ax-prefix>\\n\\n <ax-dropdown-panel>\\n <ax-button-item-list class=\\\"ax-p-2\\\">\\n @for(item of filterItems(); track item.key) {\\n <ax-button-item\\n (onClick)=\\\"setFilter(item.key)\\\"\\n [text]=\\\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\\\"\\n >\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n <!-- Search Box -->\\n <ax-search-box\\n [(value)]=\\\"searchQuery\\\"\\n (onValueChanged)=\\\"handleSearchChange($event)\\\"\\n class=\\\"ax-w-72 ax-hidden md:ax-flex\\\"\\n [placeholder]=\\\"t('actions.search', { scope: rootConfig.config.i18n }) | async\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n }\\n </axp-layout-prefix>\\n\\n <!-- Right Side Toolbar -->\\n <axp-layout-suffix>\\n <!-- Sort Dropdown -->\\n <ax-button>\\n <ax-icon\\n [icon]=\\\"'fa-light fa-arrow-' + (vm.sortDirection() === 'asc' ? 'up' : 'down') + '-wide-short'\\\"\\n ></ax-icon>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n <!-- Sort By Options -->\\n @for(item of sortItems(); track item.key) {\\n <ax-button-item\\n [text]=\\\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\\\"\\n (onClick)=\\\"vm.setSortField(item.key)\\\"\\n [selected]=\\\"vm.sortField() === item.key\\\"\\n >\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n }\\n <ax-divider></ax-divider>\\n <!-- Sort Direction Options -->\\n <ax-button-item\\n [text]=\\\"(t('actions.sort-ascending', { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.sortDirection() === 'asc'\\\"\\n (onClick)=\\\"vm.setSortDirection('asc')\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light fa-arrow-up-wide-short\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n <ax-button-item\\n [text]=\\\"(t('actions.sort-descending', { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.sortDirection() === 'desc'\\\"\\n (onClick)=\\\"vm.setSortDirection('desc')\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light fa-arrow-down-wide-short\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n\\n <!-- View Mode Toggle -->\\n <ax-button>\\n <ax-icon icon=\\\"fa-light {{ selectedViewMode().icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n @for(item of viewsItems(); track item.key) {\\n <!-- view mode items -->\\n <ax-button-item\\n [text]=\\\"(t('view-modes.' + item.key, { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.isViewMode(item.key)\\\"\\n (onClick)=\\\"vm.setViewMode(item.key)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if(item.break) {\\n <ax-divider></ax-divider>\\n }\\n <!-- end of view mode items -->\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n\\n @if(layoutService.isLarge()) {\\n <!-- Detail Panel Toggle -->\\n <ax-button (onClick)=\\\"vm.toggleDetailPanel()\\\">\\n <ax-icon icon=\\\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\\\"></ax-icon>\\n </ax-button>\\n }\\n </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Content Section -->\\n <axp-page-content class=\\\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\\\">\\n <axm-document-explorer [selectionMode]=\\\"selectionMode()\\\"></axm-document-explorer>\\n @if (vm.isDetailPanelOpen() && layoutService.isLarge()) {\\n <axm-document-explorer-detail-panel class=\\\"ax-sticky ax-top-0 ax-z-50\\\"></axm-document-explorer-detail-panel>\\n }\\n </axp-page-content>\\n\\n <!-- Footer Section -->\\n @if(!layoutService.isSmall()) {\\n <axp-page-footer>\\n <axp-layout-prefix>\\n <axm-folder-path-breadcrumbs></axm-folder-path-breadcrumbs>\\n </axp-layout-prefix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\\n\" }]\n }], propDecorators: { handleCtrlKey: [{\n type: HostListener,\n args: ['document:keydown.control', ['$event']]\n }], handleCtrlKeyUp: [{\n type: HostListener,\n args: ['document:keyup.control', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJpdmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9kcml2ZS9kcml2ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2RyaXZlL2RyaXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUs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Q2pDLHVDQUF1Qzs7MkZBWTlCLHlCQUF5QjtrQkF6Q3JDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osRUFBRTt3QkFDRixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsRUFBRTt3QkFDRixzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIsRUFBRTt3QkFDRiw0QkFBNEI7d0JBQzVCLGlDQUFpQzt3QkFDakMsdUNBQXVDO3FCQUN4QyxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVCw0QkFBNEI7d0JBQzVCOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsMkJBQTJCO3lCQUN2QztxQkFDRjs4QkFnSEQsYUFBYTtzQkFEWixZQUFZO3VCQUFDLDBCQUEwQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU1wRCxlQUFlO3NCQURkLFlBQVk7dUJBQUMsd0JBQXdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIE9uSW5pdCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBWEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7IEFYQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQnV0dG9uR3JvdXBNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWE1lbnVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWVudSc7XG5pbXBvcnQgeyBBWFNlYXJjaEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94JztcbmltcG9ydCB7IEFYRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcbmltcG9ydCB7IEFYRmlsZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS9maWxlJztcbmltcG9ydCB7IEFYRm9ybWF0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEZpbGVUeXBlUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvdmlld3MnO1xuXG5pbXBvcnQge1xuICBBWFBBY3Rpb25NZW51SXRlbSxcbiAgQVhQQmFja0J1dHRvbixcbiAgQVhQQnJlYWRjcnVtYkl0ZW0sXG4gIEFYUEV4ZWN1dGVDb21tYW5kLFxuICBBWFBQbGF0Zm9ybVNjb3BlLFxuICByZXNvbHZlUGxhdGZvcm1TY29wZUtleSxcbiAgcmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1Eb2N1bWVudEV4cGxvcmVyQ29tcG9uZW50LCBBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGVsIH0gZnJvbSAnLi4vZG9jdW1lbnQtZXhwbG9yZXInO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRFeHBsb3JlckRldGFpbFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vZG9jdW1lbnQtZXhwbG9yZXIvdmlld3MvZGV0YWlsLXBhbmVsL2RldGFpbC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VyU2VydmljZSwgQVhNRm9sZGVyUGF0aEJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7IEFYTURvY3VtZW50U2VsZWN0aW9uTW9kZSB9IGZyb20gJy4uL3NoYXJlZC9kb2N1bWVudC1tYW5hZ2VyLnR5cGVzJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtZG9jdW1lbnQtZHJpdmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJpdmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcml2ZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICAvL1xuICAgIEFYTWVudU1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWEJ1dHRvbkdyb3VwTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWEJyZWFkY3J1bWJzTW9kdWxlLFxuICAgIEFYQmFkZ2VNb2R1bGUsXG4gICAgQVhTZWFyY2hCb3hNb2R1bGUsXG4gICAgQVhGb3JtYXRNb2R1bGUsXG4gICAgQVhGaWxlTW9kdWxlLFxuICAgIEFYRGF0ZVRpbWVNb2R1bGUsXG4gICAgLy9cbiAgICBBWFBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgLy9cbiAgICBBWE1Eb2N1bWVudEV4cGxvcmVyQ29tcG9uZW50LFxuICAgIEFYTUZvbGRlclBhdGhCcmVhZGNydW1ic0NvbXBvbmVudCxcbiAgICBBWE1Eb2N1bWVudEV4cGxvcmVyRGV0YWlsUGFuZWxDb21wb25lbnQsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICBBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGVsLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUFBhZ2VMYXlvdXRCYXNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYTURvY3VtZW50RHJpdmVDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNRG9jdW1lbnREcml2ZUNvbXBvbmVudCBleHRlbmRzIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBTZXJ2aWNlcyAmIERlcGVuZGVuY2llcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm9vdENvbmZpZyA9IFJvb3RDb25maWc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsZVR5cGVTZXJ2aWNlID0gaW5qZWN0KEFYUEZpbGVUeXBlUHJvdmlkZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkcml2ZVNlcnZpY2UgPSBpbmplY3QoQVhNRG9jdW1lbnRNYW5hZ2VyU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB2bSA9IGluamVjdChBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGVsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgVmlldyBQcm9wZXJ0aWVzICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJJdGVtcyA9IHNpZ25hbDxBcnJheTx7IGtleTogc3RyaW5nOyB0ZXh0S2V5OiBzdHJpbmc7IGljb246IHN0cmluZyB9Pj4oW10pO1xuICBwdWJsaWMgc2VsZWN0ZWRGaWx0ZXIgPSBzaWduYWw8c3RyaW5nPignYWxsJyk7XG5cbiAgcHJvdGVjdGVkIHNlYXJjaFF1ZXJ5OiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNvcnRJdGVtcyA9IHNpZ25hbChbXG4gICAgeyBrZXk6ICduYW1lJywgdGV4dEtleTogJ2FjdGlvbnMuc29ydC1ieS1uYW1lJywgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZvbnQnIH0sXG4gICAgeyBrZXk6ICdtb2RpZmllZCcsIHRleHRLZXk6ICdhY3Rpb25zLnNvcnQtYnktZGF0ZScsIGljb246ICdmYS1saWdodCBmYS1jYWxlbmRhcicgfSxcbiAgICB7IGtleTogJ3NpemUnLCB0ZXh0S2V5OiAnYWN0aW9ucy5zb3J0LWJ5LXNpemUnLCBpY29uOiAnZmEtbGlnaHQgZmEtd2VpZ2h0LWhhbmdpbmcnIH0sXG4gIF0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2aWV3c0l0ZW1zID0gc2lnbmFsKFtcbiAgICB7IGtleTogJ2xhcmdlLWljb25zJywgaWNvbjogJ2ZhLWxpZ2h0IGZhLWdyaWQnIH0sXG4gICAgeyBrZXk6ICdzbWFsbC1pY29ucycsIGljb246ICdmYS1saWdodCBmYS1ncmlkJywgYnJlYWs6IHRydWUgfSxcbiAgICB7IGtleTogJ2xhcmdlLXRpbGVzJywgaWNvbjogJ2ZhLWdyaWQtMicgfSxcbiAgICB7IGtleTogJ3NtYWxsLXRpbGVzJywgaWNvbjogJ2ZhLWdyaWQtMicsIGJyZWFrOiB0cnVlIH0sXG4gICAgeyBrZXk6ICdkZXRhaWxzJywgaWNvbjogJ2ZhLWJhcnMnLCBicmVhazogdHJ1ZSB9LFxuICAgIHsga2V5OiAnbGlzdCcsIGljb246ICdmYS1saXN0JyB9LFxuICBdKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0ZWRWaWV3TW9kZSA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMudmlld3NJdGVtcygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0ua2V5ID09PSB0aGlzLnZtLnZpZXdNb2RlKCkpIHx8IHRoaXMudmlld3NJdGVtcygpWzBdLFxuICApO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZSA9IHNpZ25hbDxBWE1Eb2N1bWVudFNlbGVjdGlvbk1vZGU+KCdzaW5nbGUnKTtcbiAgcHJvdGVjdGVkIGRvY3VtZW50RXhwbG9yZXIgPSB2aWV3Q2hpbGQoQVhNRG9jdW1lbnRFeHBsb3JlckNvbXBvbmVudCk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBzZWxlY3RlZFNvcnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLnNvcnRJdGVtcygpO1xuICAgIHJldHVybiBpdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmtleSA9PT0gdGhpcy52bS5zb3J0RmllbGQoKSkgfHwgaXRlbXNbMF07XG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgRWZmZWN0cyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICAjbmF2aWdhdGVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG5hdmlnYXRpbmdGb2xkZXJJZCA9IHRoaXMudm0ubmF2aWdhdGluZ0ZvbGRlcklkKCk7XG4gICAgaWYgKG5hdmlnYXRpbmdGb2xkZXJJZCkge1xuICAgICAgdGhpcy5oYW5kbGVOYXZpZ2F0ZVRvRm9sZGVyKG5hdmlnYXRpbmdGb2xkZXJJZCk7XG4gICAgfVxuICB9KTtcblxuICAjbG9hZGluZ0VmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaXNMb2FkaW5nID0gdGhpcy52bS5pc0xvYWRpbmcoKTtcbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnNldE5hdmlnYXRpb25Mb2FkaW5nKGlzTG9hZGluZyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgTGlmZWN5Y2xlIEhvb2tzICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIG92ZXJyaWRlIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgYXdhaXQgdGhpcy5sb2FkRmlsdGVySXRlbXMoKTtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3Q7XG4gICAgY29uc3Qgcm91dGVyU2NvcGUgPSByZXNvbHZlUGxhdGZvcm1TY29wZUtleShzbmFwc2hvdC5wYXJlbnQ/LnBhcmFtTWFwLmdldCgnc2NvcGUnKT8udHJpbSgpPy50b0xvd2VyQ2FzZSgpISk7XG4gICAgYXdhaXQgdGhpcy52bS5pbml0aWFsaXplKHsgYnJvd3NlTW9kZTogJ2ZpbGUnLCBzY29wZTogcm91dGVyU2NvcGUgYXMgQVhQUGxhdGZvcm1TY29wZSB9KTtcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtTWFwLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICB0aGlzLmxvYWREcml2ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBhc3luYyBoYW5kbGVTZWFyY2hDaGFuZ2UoZXZlbnQ6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICBpZihldmVudC52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIFxuICAgIGlmIChldmVudC52YWx1ZT8ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5kcml2ZVNlcnZpY2Uuc2VhcmNoTm9kZXMoZXZlbnQudmFsdWUsIHRoaXMudm0uc2NvcGUoKSxcbiAgICAgICAge1xuICAgICAgICAgIHRlbmFudElkOiB0aGlzLnNlc3Npb25TZXJ2aWNlLnRlbmFudD8uaWQsXG4gICAgICAgICAgdXNlcklkOiB0aGlzLnNlc3Npb25TZXJ2aWNlLnVzZXI/LmlkLFxuICAgICAgICAgIGZvbGRlcklkOiB0aGlzLnZtLmN1cnJlbnROb2RlKCk/LmlkLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgdGhpcy52bS52aXJ0dWFsRm9sZGVyKHJlc3VsdCwge1xuICAgICAgICBuYW1lOiAnU2VhcmNoIFJlc3VsdCcsXG4gICAgICAgIHBhcmVudElkOiB0aGlzLnZtLmN1cnJlbnROb2RlKCk/LmlkID09ICd2aXJ0dWFsJyA/XG4gICAgICAgICAgdGhpcy52bS5jdXJyZW50Tm9kZSgpPy5wYXJlbnRJZCA/PyB1bmRlZmluZWQgOiB0aGlzLnZtLmN1cnJlbnROb2RlKCk/LmlkLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudm0ubmF2aWdhdGVUb1VwKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5jb250cm9sJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlQ3RybEtleShlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlLnNldCgnbXVsdGlwbGUnKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXVwLmNvbnRyb2wnLCBbJyRldmVudCddKVxuICBoYW5kbGVDdHJsS2V5VXAoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZS5zZXQoJ3NpbmdsZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU5hdmlnYXRlVG9Gb2xkZXIoZm9sZGVySWQ6IHN0cmluZykge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcbiAgICAgIGAke3RoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWV9L2RyaXZlLyR7cmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHRoaXMudm0uc2NvcGUoKSl9LyR7Zm9sZGVySWR9YCxcbiAgICBdKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZWFyY2hRdWVyeSA9IG51bGw7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgRGF0YSBMb2FkaW5nIE1ldGhvZHMgICAtLS0tLS0tLS0tLS0tLS0tXG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkRHJpdmUoKSB7XG4gICAgY29uc3QgZm9sZGVySWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKTtcbiAgICBpZiAoZm9sZGVySWQpIHtcbiAgICAgIGF3YWl0IHRoaXMudm0ubG9hZEZvbGRlckNvbnRlbnRzKGZvbGRlcklkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVE9ETzogZ2V0IHJvb3QgZnJvbSB0ZW5hbnQgb3IgdXNlciBieSBzY29wZVxuICAgICAgY29uc3Qgcm9vdCA9IGF3YWl0IHRoaXMuZHJpdmVTZXJ2aWNlLmdldFJvb3QodGhpcy52bS5zY29wZSgpLCB7XG4gICAgICAgIHRlbmFudElkOiB0aGlzLnNlc3Npb25TZXJ2aWNlLnRlbmFudD8uaWQsXG4gICAgICAgIHVzZXJJZDogdGhpcy5zZXNzaW9uU2VydmljZS51c2VyPy5pZCxcbiAgICAgIH0pO1xuICAgICAgaWYgKHJvb3QucmVzdWx0KSB7XG4gICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIGAke3RoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWV9L2RyaXZlLyR7cmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHRoaXMudm0uc2NvcGUoKSl9LyR7cm9vdC5yZXN1bHQuaWRcbiAgICAgICAgICAgIH1gLFxuICAgICAgICAgIF0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcmVwbGFjZVVybDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICAvL1xuICAgIHRoaXMucmVjb21wdXRlKCk7XG4gIH1cblxuICBhc3luYyBsb2FkRmlsdGVySXRlbXMoKSB7XG4gICAgY29uc3QgdHlwZXMgPSBhd2FpdCB0aGlzLmZpbGVUeXBlU2VydmljZS5pdGVtcygpO1xuICAgIGNvbnN0IGl0ZW1zID0gW1xuICAgICAgeyBrZXk6ICdhbGwnLCB0ZXh0S2V5OiAnZmlsZS10eXBlcy5hbGwnLCBpY29uOiAnZmEtbGlnaHQgZmEtZm9sZGVyLWNsb3NlZCcgfSxcbiAgICAgIC4uLnR5cGVzLm1hcCgodHlwZSkgPT4gKHtcbiAgICAgICAga2V5OiB0eXBlLm5hbWUsXG4gICAgICAgIHRleHRLZXk6IGBmaWxlLXR5cGVzLiR7dHlwZS5uYW1lfWAsXG4gICAgICAgIGljb246IHR5cGUuaWNvbiB8fCAnZmEtbGlnaHQgZmEtZmlsZScsXG4gICAgICB9KSksXG4gICAgXTtcbiAgICB0aGlzLmZpbHRlckl0ZW1zLnNldChpdGVtcyk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLS0tLS0tLS0tLS0tLSAgIEZpbHRlciBNZXRob2RzICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByb3RlY3RlZCBzZXRGaWx0ZXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVyLnNldChrZXkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpbHRlckljb24oKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZpbHRlcigpID09PSAnYWxsJykge1xuICAgICAgcmV0dXJuICdmYS1saWdodCBmYS1mb2xkZXItY2xvc2VkJztcbiAgICB9XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZmlsdGVySXRlbXMoKS5maW5kKChpdGVtKSA9PiBpdGVtLmtleSA9PT0gdGhpcy5zZWxlY3RlZEZpbHRlcigpKTtcbiAgICByZXR1cm4gaXRlbT8uaWNvbiB8fCAnZmEtbGlnaHQgZmEtZmlsZSc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RmlsdGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRmlsdGVyKCkgPT09ICdhbGwnKSB7XG4gICAgICByZXR1cm4gJ2ZpbGUtdHlwZXMuYWxsJztcbiAgICB9XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZmlsdGVySXRlbXMoKS5maW5kKChpdGVtKSA9PiBpdGVtLmtleSA9PT0gdGhpcy5zZWxlY3RlZEZpbHRlcigpKTtcbiAgICByZXR1cm4gaXRlbT8udGV4dEtleSB8fCAnZmlsZS10eXBlcy5hbGwnO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBQYWdlIENvbmZpZ3VyYXRpb24gT3ZlcnJpZGVzICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFByaW1hcnlNZW51SXRlbXMoKTogUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgaWYgKHRoaXMudm0uaGFzTXVsdGlwbGVTZWxlY3RlZEl0ZW1zKCkpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZGVsZXRlSXRlbXMnLFxuICAgICAgICAgIHRpdGxlOiAndChcImRlbGV0ZUl0ZW1zXCIpJyxcbiAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtdHJhc2gtY2FuJyxcbiAgICAgICAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cbiAgICBjb25zdCBhZGRJdGVtSXRlbXMgPSBhd2FpdCB0aGlzLnZtLmdldEZvbGRlckFkZE1lbnVJdGVtcygpO1xuICAgIGFkZEl0ZW1JdGVtc1thZGRJdGVtSXRlbXMubGVuZ3RoIC0gMV0uYnJlYWsgPSBmYWxzZTtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0aXRsZTogJ3QoXCJhZGQtaXRlbVwiKScsXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1wbHVzJyxcbiAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgaXRlbXM6IGFkZEl0ZW1JdGVtcyxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICBpZiAodGhpcy52bS5oYXNNdWx0aXBsZVNlbGVjdGVkSXRlbXMoKSkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdkZWxldGUnLFxuICAgICAgICAgIHRpdGxlOiAndChcImRlbGV0ZVwiKScsXG4gICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXRyYXNoLWNhbicsXG4gICAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudm0uZ2V0Rm9sZGVyQWN0aW9uTWVudUl0ZW1zKCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRQYWdlVGl0bGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAodGhpcy52bS5pc1Jvb3QoKSkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyhcbiAgICAgICAgYHNjb3BlLiR7cmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHRoaXMudm0uc2NvcGUoKSBhcyBBWFBQbGF0Zm9ybVNjb3BlKX0udGl0bGVgLFxuICAgICAgICB7IHNjb3BlOiB0aGlzLnJvb3RDb25maWcuY29uZmlnLmkxOG4gfSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnZtLmN1cnJlbnRGb2xkZXIoKT8ubmFtZSB8fCAnJztcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VEZXNjcmlwdGlvbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGNvdW50ID0gYXdhaXQgdGhpcy52bS5pdGVtc0NvdW50KCk7XG4gICAgY29uc3Qgc2l6ZSA9IGF3YWl0IHRoaXMudm0uYXZhaWxhYmxlU3BhY2UoKTtcbiAgICBjb25zdCBmb3JtYXR0ZWRTaXplID0gYXdhaXQgdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdChzaXplLCAnZmlsZXNpemUnKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKFxuICAgICAgYHNjb3BlLiR7cmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHRoaXMudm0uc2NvcGUoKSBhcyBBWFBQbGF0Zm9ybVNjb3BlKX0uZGVzY3JpcHRpb25gLFxuICAgICAge1xuICAgICAgICBzY29wZTogdGhpcy5yb290Q29uZmlnLmNvbmZpZy5pMThuLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBjb3VudCxcbiAgICAgICAgICBzaXplOiBmb3JtYXR0ZWRTaXplLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0QmFja0J1dHRvbigpOiBBWFBCYWNrQnV0dG9uIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMudm0uaXNVcEF2YWlsYWJsZSgpICYmIHRoaXMudm0uY3VycmVudFBhdGgoKS5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aXRsZTogdGhpcy52bS5jdXJyZW50UGF0aCgpW3RoaXMudm0uY3VycmVudFBhdGgoKS5sZW5ndGggLSAyXS5uYW1lLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBvdmVycmlkZSBvbkJhY2tCdXR0b25DbGljaygpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMudm0uaXNVcEF2YWlsYWJsZSgpKSB7XG4gICAgICB0aGlzLnZtLm5hdmlnYXRlVG9VcCgpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VCcmVhZGNydW1icygpOiBQcm9taXNlPEFYUEJyZWFkY3J1bWJJdGVtW10+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKFxuICAgICAgICAgIGBzY29wZS4ke3Jlc29sdmVQbGF0Zm9ybVNjb3BlTmFtZSh0aGlzLnZtLnNjb3BlKCkgYXMgQVhQUGxhdGZvcm1TY29wZSl9LnRpdGxlYCxcbiAgICAgICAgICB7IHNjb3BlOiB0aGlzLnJvb3RDb25maWcuY29uZmlnLmkxOG4gfSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmb2xkZXJJZCA9IGNvbW1hbmQub3B0aW9ucz8uWydmb2xkZXJJZCddIGFzIHN0cmluZztcbiAgICBzd2l0Y2ggKGNvbW1hbmQubmFtZSkge1xuICAgICAgY2FzZSAnbmV3LWZvbGRlcic6XG4gICAgICAgIGlmIChmb2xkZXJJZCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuZHJpdmVTZXJ2aWNlLnNob3dDcmVhdGVGb2xkZXJEaWFsb2coZm9sZGVySWQpO1xuICAgICAgICAgIHRoaXMudm0ucmVmcmVzaCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnb3Blbi1nYWxsZXJ5JzpcbiAgICAgICAgaWYgKGZvbGRlcklkKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZVNlcnZpY2Uuc2hvd0ZpbGVWaWV3ZXJQb3B1cCh0aGlzLnZtLmN1cnJlbnRGb2xkZXIoKSEuY2hpbGRyZW4hWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChjb21tYW5kLm5hbWUuc3RhcnRzV2l0aCgndXBsb2FkLicpKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZVNlcnZpY2UudXBsb2FkRmlsZUJ5VHlwZShmb2xkZXJJZCwgY29tbWFuZC5vcHRpb25zPy5bJ2RvY3VtZW50VHlwZSddPy5pZCk7XG4gICAgICAgICAgdGhpcy52bS5yZWZyZXNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG4iLCI8IS0tIE1haW4gTGF5b3V0IC0tPlxuPGF4cC1wYWdlLWxheW91dCAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgPGF4cC1wYWdlLXRvb2xiYXI+XG4gICAgPCEtLSBMZWZ0IFNpZGUgVG9vbGJhciAtLT5cbiAgICA8YXhwLWxheW91dC1wcmVmaXg+XG4gICAgICBAaWYodm0uaGFzTXVsdGlwbGVTZWxlY3RlZEl0ZW1zKCkgKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1nYXAtMyBheC1pdGVtcy1jZW50ZXIgYXgtaC0xMFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQteGwgYXgtZm9udC1ib2xkXCI+XG4gICAgICAgICAge3sgdm0uc2VsZWN0ZWRDb3VudCgpIH19IHt7IHQoJ2l0ZW1zU2VsZWN0ZWQnLCB7IHNjb3BlOiAnY29tbW9uJyB9KSB8IGFzeW5jIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKGNsaWNrKT1cInZtLmRlc2VsZWN0QWxsKClcIiBjbGFzcz1cImF4LXRleHQtc20gYXgtdGV4dC1zZWNvbmRhcnkgYXgtdW5kZXJsaW5lIGF4LWN1cnNvci1wb2ludGVyXCI+e3tcbiAgICAgICAgICB0KCd1bnNlbGVjdCcsIHsgc2NvcGU6ICdjb21tb24nIH0pIHwgYXN5bmNcbiAgICAgICAgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDwhLS0tLS0tLS0tLT5cbiAgICAgIEBlbHNlIHtcbiAgICAgIDwhLS0gRmlsdGVyIERyb3Bkb3duIC0tPlxuICAgICAgPGF4LWJ1dHRvbiBbdGV4dF09XCJ0KGdldEZpbHRlclRleHQoKSwgeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9KSB8IGFzeW5jXCI+XG4gICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgPGF4LWljb24gW2ljb25dPVwiZ2V0RmlsdGVySWNvbigpXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4LXByZWZpeD5cblxuICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3QgY2xhc3M9XCJheC1wLTJcIj5cbiAgICAgICAgICAgIEBmb3IoaXRlbSBvZiBmaWx0ZXJJdGVtcygpOyB0cmFjayBpdGVtLmtleSkge1xuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cInNldEZpbHRlcihpdGVtLmtleSlcIlxuICAgICAgICAgICAgICBbdGV4dF09XCIodChpdGVtLnRleHRLZXksIHsgc2NvcGU6IHJvb3RDb25maWcuY29uZmlnLmkxOG4gfSkgfCBhc3luYykhXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBbaWNvbl09XCJpdGVtLmljb25cIj48L2F4LWljb24+XG4gICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgIDwhLS0gU2VhcmNoIEJveCAtLT5cbiAgICAgIDxheC1zZWFyY2gtYm94XG4gICAgICAgIFsodmFsdWUpXT1cInNlYXJjaFF1ZXJ5XCJcbiAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZVNlYXJjaENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJheC13LTcyIGF4LWhpZGRlbiBtZDpheC1mbGV4XCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQoJ2FjdGlvbnMuc2VhcmNoJywgeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9KSB8IGFzeW5jXCJcbiAgICAgICAgPjxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b25cbiAgICAgID48L2F4LXNlYXJjaC1ib3g+XG4gICAgICB9XG4gICAgPC9heHAtbGF5b3V0LXByZWZpeD5cblxuICAgIDwhLS0gUmlnaHQgU2lkZSBUb29sYmFyIC0tPlxuICAgIDxheHAtbGF5b3V0LXN1ZmZpeD5cbiAgICAgIDwhLS0gU29ydCBEcm9wZG93biAtLT5cbiAgICAgIDxheC1idXR0b24+XG4gICAgICAgIDxheC1pY29uXG4gICAgICAgICAgW2ljb25dPVwiJ2ZhLWxpZ2h0IGZhLWFycm93LScgKyAodm0uc29ydERpcmVjdGlvbigpID09PSAnYXNjJyA/ICd1cCcgOiAnZG93bicpICsgJy13aWRlLXNob3J0J1wiXG4gICAgICAgID48L2F4LWljb24+XG4gICAgICAgIDxheC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgIDwhLS0gU29ydCBCeSBPcHRpb25zIC0tPlxuICAgICAgICAgICAgQGZvcihpdGVtIG9mIHNvcnRJdGVtcygpOyB0cmFjayBpdGVtLmtleSkge1xuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtXG4gICAgICAgICAgICAgIFt0ZXh0XT1cIih0KGl0ZW0udGV4dEtleSwgeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9KSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJ2bS5zZXRTb3J0RmllbGQoaXRlbS5rZXkpXCJcbiAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInZtLnNvcnRGaWVsZCgpID09PSBpdGVtLmtleVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgPGF4LWljb24gW2ljb25dPVwiaXRlbS5pY29uXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8YXgtZGl2aWRlcj48L2F4LWRpdmlkZXI+XG4gICAgICAgICAgICA8IS0tIFNvcnQgRGlyZWN0aW9uIE9wdGlvbnMgLS0+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgW3RleHRdPVwiKHQoJ2FjdGlvbnMuc29ydC1hc2NlbmRpbmcnLCB7IHNjb3BlOiByb290Q29uZmlnLmNvbmZpZy5pMThuIH0pIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJ2bS5zb3J0RGlyZWN0aW9uKCkgPT09ICdhc2MnXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidm0uc2V0U29ydERpcmVjdGlvbignYXNjJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCBmYS1hcnJvdy11cC13aWRlLXNob3J0XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgW3RleHRdPVwiKHQoJ2FjdGlvbnMuc29ydC1kZXNjZW5kaW5nJywgeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9KSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwidm0uc29ydERpcmVjdGlvbigpID09PSAnZGVzYydcIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJ2bS5zZXRTb3J0RGlyZWN0aW9uKCdkZXNjJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCBmYS1hcnJvdy1kb3duLXdpZGUtc2hvcnRcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICA8L2F4LWJ1dHRvbj5cblxuICAgICAgPCEtLSBWaWV3IE1vZGUgVG9nZ2xlIC0tPlxuICAgICAgPGF4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IHNlbGVjdGVkVmlld01vZGUoKS5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICBAZm9yKGl0ZW0gb2Ygdmlld3NJdGVtcygpOyB0cmFjayBpdGVtLmtleSkge1xuICAgICAgICAgICAgPCEtLSB2aWV3IG1vZGUgaXRlbXMgLS0+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgW3RleHRdPVwiKHQoJ3ZpZXctbW9kZXMuJyArIGl0ZW0ua2V5LCB7IHNjb3BlOiByb290Q29uZmlnLmNvbmZpZy5pMThuIH0pIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJ2bS5pc1ZpZXdNb2RlKGl0ZW0ua2V5KVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cInZtLnNldFZpZXdNb2RlKGl0ZW0ua2V5KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IGl0ZW0uaWNvbiB9fVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgQGlmKGl0ZW0uYnJlYWspIHtcbiAgICAgICAgICAgIDxheC1kaXZpZGVyPjwvYXgtZGl2aWRlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwhLS0gZW5kIG9mIHZpZXcgbW9kZSBpdGVtcyAtLT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICA8L2F4LWJ1dHRvbj5cblxuICAgICAgQGlmKGxheW91dFNlcnZpY2UuaXNMYXJnZSgpKSB7XG4gICAgICA8IS0tIERldGFpbCBQYW5lbCBUb2dnbGUgLS0+XG4gICAgICA8YXgtYnV0dG9uIChvbkNsaWNrKT1cInZtLnRvZ2dsZURldGFpbFBhbmVsKClcIj5cbiAgICAgICAgPGF4LWljb24gaWNvbj1cInt7IHZtLmlzRGV0YWlsUGFuZWxPcGVuKCkgPyAnZmEtc29saWQgZmEtc3F1YXJlLWluZm8nIDogJ2ZhLWxpZ2h0IGZhLXNxdWFyZS1pbmZvJyB9fVwiPjwvYXgtaWNvbj5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvYXhwLWxheW91dC1zdWZmaXg+XG4gIDwvYXhwLXBhZ2UtdG9vbGJhcj5cblxuICA8IS0tIENvbnRlbnQgU2VjdGlvbiAtLT5cbiAgPGF4cC1wYWdlLWNvbnRlbnQgY2xhc3M9XCJheC1vdmVyZmxvdy1hdXRvIGF4LWZsZXggYXgtZmxleC1yb3cgYXgtZ2FwLTRcIj5cbiAgICA8YXhtLWRvY3VtZW50LWV4cGxvcmVyIFtzZWxlY3Rpb25Nb2RlXT1cInNlbGVjdGlvbk1vZGUoKVwiPjwvYXhtLWRvY3VtZW50LWV4cGxvcmVyPlxuICAgIEBpZiAodm0uaXNEZXRhaWxQYW5lbE9wZW4oKSAmJiBsYXlvdXRTZXJ2aWNlLmlzTGFyZ2UoKSkge1xuICAgIDxheG0tZG9jdW1lbnQtZXhwbG9yZXItZGV0YWlsLXBhbmVsIGNsYXNzPVwiYXgtc3RpY2t5IGF4LXRvcC0wIGF4LXotNTBcIj48L2F4bS1kb2N1bWVudC1leHBsb3Jlci1kZXRhaWwtcGFuZWw+XG4gICAgfVxuICA8L2F4cC1wYWdlLWNvbnRlbnQ+XG5cbiAgPCEtLSBGb290ZXIgU2VjdGlvbiAtLT5cbiAgQGlmKCFsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKSkge1xuICA8YXhwLXBhZ2UtZm9vdGVyPlxuICAgIDxheHAtbGF5b3V0LXByZWZpeD5cbiAgICAgIDxheG0tZm9sZGVyLXBhdGgtYnJlYWRjcnVtYnM+PC9heG0tZm9sZGVyLXBhdGgtYnJlYWRjcnVtYnM+XG4gICAgPC9heHAtbGF5b3V0LXByZWZpeD5cbiAgPC9heHAtcGFnZS1mb290ZXI+XG4gIH1cbjwvYXhwLXBhZ2UtbGF5b3V0PlxuIl19"],"names":["i2","i3","i4","i5","i6"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,MAAM,uCAAuC,CAAC;AACrD,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACtD;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACzM,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,uCAAuC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,oCAAoC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,qqDAAqqD,EAAE,MAAM,EAAE,CAAC,oqEAAoqE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,EAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAEC,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,IAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,IAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC19J;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uCAAuC,EAAE,UAAU,EAAE,CAAC;AACjJ,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,oCAAoC,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;AACvI,wBAAwB,YAAY;AACpC,wBAAwB,iBAAiB;AACzC,wBAAwB,cAAc;AACtC,wBAAwB,cAAc;AACtC,wBAAwB;AACxB,qBAAqB,EAAE,QAAQ,EAAE,qqDAAqqD,EAAE,MAAM,EAAE,CAAC,oqEAAoqE,CAAC,EAAE;AACx3H,SAAS,CAAC,EAAE,CAAC;;ACGN,MAAM,yBAAyB,SAAS,0BAA0B,CAAC;AAC1E,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU;AACpC,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,0BAA0B,CAAC;AACjE,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAC7D,QAAQ,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACtD,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACpC,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AACpD;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;AACrC,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3C,QAAQ,IAAI,CAAC,WAAW,GAAG,EAAE;AAC7B,QAAQ,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;AAChC,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,kBAAkB,EAAE;AACtF,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE;AAC9F,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,4BAA4B,EAAE;AAChG,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;AACjC,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE;AAC5D,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE;AACzE,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE;AACrD,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE;AAClE,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE;AAC5D,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;AAC5C,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;AACzI,QAAQ,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC7C,QAAQ,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,4BAA4B,CAAC;AACvE;AACA;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM;AAC3C,YAAY,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;AAC1C,YAAY,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;AACrF,SAAS,CAAC;AACV;AACA;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,MAAM;AAC5C,YAAY,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE;AACnE,YAAY,IAAI,kBAAkB,EAAE;AACpC,gBAAgB,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,CAAC;AAC/D;AACA,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM;AAC3C,YAAY,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE;AACjD,YAAY,SAAS,CAAC,MAAM;AAC5B,gBAAgB,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,SAAS,CAAC;AAClE,aAAa,CAAC;AACd,SAAS,CAAC;AACV;AACA;AACA;AACA,IAAI,eAAe;AACnB,IAAI,cAAc;AAClB;AACA;AACA,IAAI,MAAM,QAAQ,GAAG;AACrB,QAAQ,KAAK,CAAC,QAAQ,EAAE;AACxB,QAAQ,MAAM,IAAI,CAAC,eAAe,EAAE;AACpC,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ;AACrD,QAAQ,MAAM,WAAW,GAAG,uBAAuB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC;AAClH,QAAQ,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAC5E,QAAQ,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY;AAC3D,YAAY,IAAI,CAAC,SAAS,EAAE;AAC5B,SAAS,CAAC;AACV;AACA;AACA;AACA,IAAI,MAAM,kBAAkB,CAAC,KAAK,EAAE;AACpC,QAAQ,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;AACjC,YAAY;AACZ;AACA,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AACrC,YAAY,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;AAC7F,gBAAgB,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;AACxD,gBAAgB,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;AACpD,gBAAgB,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE;AACnD,aAAa,CAAC;AACd,YAAY,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE;AAC1C,gBAAgB,IAAI,EAAE,eAAe;AACrC,gBAAgB,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,SAAS;AAChE,oBAAoB,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE;AAC5F,aAAa,CAAC;AACd;AACA,aAAa;AACb,YAAY,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AAClC;AACA;AACA,IAAI,aAAa,CAAC,CAAC,EAAE;AACrB,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;AAC1C;AACA,IAAI,eAAe,CAAC,CAAC,EAAE;AACvB,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;AACxC;AACA,IAAI,sBAAsB,CAAC,QAAQ,EAAE;AACrC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC7B,YAAY,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACrH,SAAS,CAAC;AACV,QAAQ,UAAU,CAAC,MAAM;AACzB,YAAY,IAAI,CAAC,WAAW,GAAG,IAAI;AACnC,SAAS,EAAE,GAAG,CAAC;AACf;AACA;AACA;AACA,IAAI,MAAM,SAAS,GAAG;AACtB,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AACxE,QAAQ,IAAI,QAAQ,EAAE;AACtB,YAAY,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;AACtD;AACA,aAAa;AACb;AACA,YAAY,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;AAC1E,gBAAgB,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE;AACxD,gBAAgB,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;AACpD,aAAa,CAAC;AACd,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE;AAC7B,gBAAgB,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC3C,oBAAoB,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACnI,iBAAiB,EAAE;AACnB,oBAAoB,UAAU,EAAE,IAAI;AACpC,iBAAiB,CAAC;AAClB;AACA;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB;AACA,IAAI,MAAM,eAAe,GAAG;AAC5B,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AACxD,QAAQ,MAAM,KAAK,GAAG;AACtB,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,2BAA2B,EAAE;AACxF,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACpC,gBAAgB,GAAG,EAAE,IAAI,CAAC,IAAI;AAC9B,gBAAgB,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAClD,gBAAgB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,kBAAkB;AACrD,aAAa,CAAC,CAAC;AACf,SAAS;AACT,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AACnC;AACA;AACA;AACA,IAAI,SAAS,CAAC,GAAG,EAAE;AACnB,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;AACpC;AACA,IAAI,aAAa,GAAG;AACpB,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,KAAK,EAAE;AAC7C,YAAY,OAAO,2BAA2B;AAC9C;AACA,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;AAC1F,QAAQ,OAAO,IAAI,EAAE,IAAI,IAAI,kBAAkB;AAC/C;AACA,IAAI,aAAa,GAAG;AACpB,QAAQ,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,KAAK,EAAE;AAC7C,YAAY,OAAO,gBAAgB;AACnC;AACA,QAAQ,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;AAC1F,QAAQ,OAAO,IAAI,EAAE,OAAO,IAAI,gBAAgB;AAChD;AACA;AACA;AACA,IAAI,MAAM,mBAAmB,GAAG;AAChC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,wBAAwB,EAAE,EAAE;AAChD,YAAY,OAAO;AACnB,gBAAgB;AAChB,oBAAoB,IAAI,EAAE,aAAa;AACvC,oBAAoB,KAAK,EAAE,kBAAkB;AAC7C,oBAAoB,IAAI,EAAE,uBAAuB;AACjD,oBAAoB,KAAK,EAAE,QAAQ;AACnC,iBAAiB;AACjB,aAAa;AACb;AACA,QAAQ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE;AAClE,QAAQ,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK;AAC3D,QAAQ,OAAO;AACf,YAAY;AACZ,gBAAgB,KAAK,EAAE,eAAe;AACtC,gBAAgB,IAAI,EAAE,kBAAkB;AACxC,gBAAgB,KAAK,EAAE,SAAS;AAChC,gBAAgB,KAAK,EAAE,YAAY;AACnC,aAAa;AACb,SAAS;AACT;AACA,IAAI,MAAM,qBAAqB,GAAG;AAClC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,wBAAwB,EAAE,EAAE;AAChD,YAAY,OAAO;AACnB,gBAAgB;AAChB,oBAAoB,IAAI,EAAE,QAAQ;AAClC,oBAAoB,KAAK,EAAE,aAAa;AACxC,oBAAoB,IAAI,EAAE,uBAAuB;AACjD,oBAAoB,KAAK,EAAE,QAAQ;AACnC,iBAAiB;AACjB,aAAa;AACb;AACA,QAAQ,OAAO,IAAI,CAAC,EAAE,CAAC,wBAAwB,EAAE;AACjD;AACA,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE;AAC9B,YAAY,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC3J;AACA,QAAQ,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,IAAI,IAAI,EAAE;AAClD;AACA,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE;AAChD,QAAQ,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE;AACnD,QAAQ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC;AAC/E,QAAQ,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE;AACtH,YAAY,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;AAC9C,YAAY,MAAM,EAAE;AACpB,gBAAgB,KAAK;AACrB,gBAAgB,IAAI,EAAE,aAAa;AACnC,aAAa;AACb,SAAS,CAAC;AACV;AACA,IAAI,aAAa,GAAG;AACpB,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AACzE,YAAY,OAAO;AACnB,gBAAgB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI;AACnF,aAAa;AACb;AACA,QAAQ,OAAO,IAAI;AACnB;AACA,IAAI,iBAAiB,GAAG;AACxB,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE;AACrC,YAAY,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE;AAClC;AACA;AACA,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,OAAO;AACf,YAAY;AACZ,gBAAgB,KAAK,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACrK,aAAa;AACb,SAAS;AACT;AACA,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC;AACtD,QAAQ,QAAQ,OAAO,CAAC,IAAI;AAC5B,YAAY,KAAK,YAAY;AAC7B,gBAAgB,IAAI,QAAQ,EAAE;AAC9B,oBAAoB,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,QAAQ,CAAC;AAC5E,oBAAoB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;AACrC;AACA,gBAAgB;AAChB,YAAY,KAAK,cAAc;AAC/B,gBAAgB,IAAI,QAAQ,EAAE;AAC9B,oBAAoB,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpG;AACA,gBAAgB;AAChB,YAAY;AACZ,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;AACxD,oBAAoB,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,GAAG,cAAc,CAAC,EAAE,EAAE,CAAC;AAC7G,oBAAoB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE;AACrC;AACA,gBAAgB;AAChB;AACA;AACA,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC7L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,EAAE,EAAE,SAAS,EAAE;AAC/T,YAAY,4BAA4B;AACxC,YAAY;AACZ,gBAAgB,OAAO,EAAE,iBAAiB;AAC1C,gBAAgB,WAAW,EAAE,yBAAyB;AACtD,aAAa;AACb,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,4BAA4B,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,+8KAA+8K,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;AACv1L;AACA,gBAAgB,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEH,IAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,yBAAyB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,IAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,IAAE,CAAC,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,EAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,EAAE,CAAC,+BAA+B,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,EAAE,CAAC,2BAA2B,EAAE,QAAQ,EAAE,8IAA8I,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,EAAE,CAAC,oBAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;AACv6E;AACA,gBAAgB,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,4BAA4B,EAAE,QAAQ,EAAE,qfAAqf,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;AAC5pB;AACA,gBAAgB,4BAA4B,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iCAAiC,EAAE,QAAQ,EAAE,6BAA6B,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,uCAAuC,EAAE,QAAQ,EAAE,oCAAoC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3d;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;AACnI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;AAChF,wBAAwB,YAAY;AACpC,wBAAwB,YAAY;AACpC;AACA,wBAAwB,YAAY;AACpC,wBAAwB,cAAc;AACtC,wBAAwB,mBAAmB;AAC3C,wBAAwB,sBAAsB;AAC9C,wBAAwB,gBAAgB;AACxC,wBAAwB,mBAAmB;AAC3C,wBAAwB,iBAAiB;AACzC,wBAAwB,eAAe;AACvC,wBAAwB,mBAAmB;AAC3C,wBAAwB,aAAa;AACrC,wBAAwB,iBAAiB;AACzC,wBAAwB,cAAc;AACtC,wBAAwB,YAAY;AACpC,wBAAwB,gBAAgB;AACxC;AACA,wBAAwB,sBAAsB;AAC9C,wBAAwB,4BAA4B;AACpD;AACA,wBAAwB,4BAA4B;AACpD,wBAAwB,iCAAiC;AACzD,wBAAwB,uCAAuC;AAC/D,qBAAqB,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE;AAC1H,wBAAwB,4BAA4B;AACpD,wBAAwB;AACxB,4BAA4B,OAAO,EAAE,iBAAiB;AACtD,4BAA4B,WAAW,EAAE,yBAAyB;AAClE,yBAAyB;AACzB,qBAAqB,EAAE,QAAQ,EAAE,+8KAA+8K,EAAE;AACl/K,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,aAAa,EAAE,CAAC;AAC9C,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,0BAA0B,EAAE,CAAC,QAAQ,CAAC;AAC7D,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;AAClC,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC;AAC3D,aAAa,CAAC,EAAE,EAAE,CAAC;;;;"}
1
+ {"version":3,"file":"acorex-modules-document-management-drive.component-0wxNHSJr.mjs","sources":["../tmp-esm2022/document-management/lib/features/document-explorer/views/detail-panel/detail-panel.component.js","../tmp-esm2022/document-management/lib/features/drive/drive.component.js"],"sourcesContent":["import { Component, inject, ViewEncapsulation } from \"@angular/core\";\nimport { AXPDocumentExplorerViewModel } from \"../../document-explorer.viewmodel\";\nimport { AXDecoratorModule } from \"@acorex/components/decorators\";\nimport { AXFormatModule } from \"@acorex/core/format\";\nimport { CommonModule } from \"@angular/common\";\nimport { AXButtonModule } from \"@acorex/components/button\";\nimport { AXTranslationModule } from \"@acorex/core/translation\";\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@acorex/core/format\";\nimport * as i4 from \"@acorex/components/button\";\nimport * as i5 from \"@acorex/core/translation\";\nexport class AXMDocumentExplorerDetailPanelComponent {\n constructor() {\n this.vm = inject(AXPDocumentExplorerViewModel);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMDocumentExplorerDetailPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AXMDocumentExplorerDetailPanelComponent, isStandalone: true, selector: \"axm-document-explorer-detail-panel\", ngImport: i0, template: \"<!-- Multiple Selected -->\\n@if(vm.hasMultipleSelectedItems()) {\\n<div class=\\\"__header\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__title\\\">\\n <i class=\\\"fa-fw fa-lg fa-solid\\\"></i>\\n <span> {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}</span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n</div>\\n<div class=\\\"__content\\\"></div>\\n}\\n<!-- Single Selected -->\\n@else {\\n<!-- Info -->\\n@let nodeInfo = vm.getNodeInfo((vm.selectedNode() ?? vm.currentFolder())!);\\n<div class=\\\"__header\\\">\\n <div class=\\\"__title\\\">\\n <i class=\\\"fa-fw fa-lg {{ nodeInfo.icon }} fa-solid\\\"></i>\\n <span>{{ nodeInfo.name }}</span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n</div>\\n<div class=\\\"__content\\\">\\n @for(section of nodeInfo.sections; track section.title) {\\n <div class=\\\"__section\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ section.title }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n @for(detail of section.details; track detail.title) {\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ detail.title }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n @if(detail.format) {\\n <span>{{ detail.content | format : detail.format | async }}</span>\\n } @else {\\n <span>{{ detail.content ?? '---' }}</span>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n</div>\\n}\\n\", styles: [\"axm-document-explorer-detail-panel{display:flex;flex-direction:column;border-radius:.5rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1024px){axm-document-explorer-detail-panel{min-width:20rem}}axm-document-explorer-detail-panel>.__header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;padding:1rem}axm-document-explorer-detail-panel>.__header>.__title{display:flex;width:90%;flex-direction:row;align-items:center;gap:.5rem}axm-document-explorer-detail-panel>.__header>.__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start;font-weight:600;line-height:1.625}axm-document-explorer-detail-panel>.__content{display:flex;flex-direction:column}axm-document-explorer-detail-panel>.__content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axm-document-explorer-detail-panel>.__content>.__section{display:flex;flex-direction:column;padding:1rem}axm-document-explorer-detail-panel>.__content>.__section>.__title{margin-bottom:1rem;font-size:.875rem;line-height:1.25rem;font-weight:700}axm-document-explorer-detail-panel>.__content>.__section>.__content{display:flex;flex-direction:column;gap:1rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row{display:flex;flex-direction:column;gap:.25rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__title{display:flex;font-size:.875rem;line-height:1.25rem;font-weight:600;opacity:.9}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__content{display:flex;flex-direction:row;align-items:center;gap:.5rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__content span{opacity:.7}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i2.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"pipe\", type: i3.AXFormatPipe, name: \"format\" }, { 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: \"directive\", type: i5.AXTranslatorDirective, selector: \"[translate]\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMDocumentExplorerDetailPanelComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axm-document-explorer-detail-panel', standalone: true, encapsulation: ViewEncapsulation.None, imports: [\n CommonModule,\n AXDecoratorModule,\n AXFormatModule,\n AXButtonModule,\n AXTranslationModule\n ], template: \"<!-- Multiple Selected -->\\n@if(vm.hasMultipleSelectedItems()) {\\n<div class=\\\"__header\\\" *translate=\\\"let t\\\">\\n <div class=\\\"__title\\\">\\n <i class=\\\"fa-fw fa-lg fa-solid\\\"></i>\\n <span> {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}</span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n</div>\\n<div class=\\\"__content\\\"></div>\\n}\\n<!-- Single Selected -->\\n@else {\\n<!-- Info -->\\n@let nodeInfo = vm.getNodeInfo((vm.selectedNode() ?? vm.currentFolder())!);\\n<div class=\\\"__header\\\">\\n <div class=\\\"__title\\\">\\n <i class=\\\"fa-fw fa-lg {{ nodeInfo.icon }} fa-solid\\\"></i>\\n <span>{{ nodeInfo.name }}</span>\\n </div>\\n <ax-button [look]=\\\"'blank'\\\" class=\\\"ax-sm ax-rounded-full\\\" (onClick)=\\\"vm.closeDetailPanel()\\\">\\n <ax-icon icon=\\\"fa-solid fa-xmark\\\"></ax-icon>\\n </ax-button>\\n</div>\\n<div class=\\\"__content\\\">\\n @for(section of nodeInfo.sections; track section.title) {\\n <div class=\\\"__section\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ section.title }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n @for(detail of section.details; track detail.title) {\\n <div class=\\\"__row\\\">\\n <div class=\\\"__title\\\">\\n <span>{{ detail.title }}</span>\\n </div>\\n <div class=\\\"__content\\\">\\n @if(detail.format) {\\n <span>{{ detail.content | format : detail.format | async }}</span>\\n } @else {\\n <span>{{ detail.content ?? '---' }}</span>\\n }\\n </div>\\n </div>\\n }\\n </div>\\n </div>\\n }\\n</div>\\n}\\n\", styles: [\"axm-document-explorer-detail-panel{display:flex;flex-direction:column;border-radius:.5rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1024px){axm-document-explorer-detail-panel{min-width:20rem}}axm-document-explorer-detail-panel>.__header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;padding:1rem}axm-document-explorer-detail-panel>.__header>.__title{display:flex;width:90%;flex-direction:row;align-items:center;gap:.5rem}axm-document-explorer-detail-panel>.__header>.__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start;font-weight:600;line-height:1.625}axm-document-explorer-detail-panel>.__content{display:flex;flex-direction:column}axm-document-explorer-detail-panel>.__content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axm-document-explorer-detail-panel>.__content>.__section{display:flex;flex-direction:column;padding:1rem}axm-document-explorer-detail-panel>.__content>.__section>.__title{margin-bottom:1rem;font-size:.875rem;line-height:1.25rem;font-weight:700}axm-document-explorer-detail-panel>.__content>.__section>.__content{display:flex;flex-direction:column;gap:1rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row{display:flex;flex-direction:column;gap:.25rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__title{display:flex;font-size:.875rem;line-height:1.25rem;font-weight:600;opacity:.9}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__content{display:flex;flex-direction:row;align-items:center;gap:.5rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__content span{opacity:.7}\\n\"] }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZG9jdW1lbnQtZXhwbG9yZXIvdmlld3MvZGV0YWlsLXBhbmVsL2RldGFpbC1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2RvY3VtZW50LWV4cGxvcmVyL3ZpZXdzL2RldGFpbC1wYW5lbC9kZXRhaWwtcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFnQi9ELE1BQU0sT0FBTyx1Q0FBdUM7SUFkcEQ7UUFlYyxPQUFFLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7S0FDdkQ7OEdBRlksdUNBQXVDO2tHQUF2Qyx1Q0FBdUMsOEZDdEJwRCxxcURBb0RBLDJ0RURyQ1EsWUFBWSxtRkFDWixpQkFBaUIsK0hBQ2pCLGNBQWMsdUZBQ2QsY0FBYyw2WEFDZCxtQkFBbUI7OzJGQUdkLHVDQUF1QztrQkFkbkQsU0FBUzsrQkFDSSxvQ0FBb0MsY0FHbEMsSUFBSSxpQkFDRCxpQkFBaUIsQ0FBQyxJQUFJLFdBQzVCO3dCQUNMLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsbUJBQW1CO3FCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGVsIH0gZnJvbSBcIi4uLy4uL2RvY3VtZW50LWV4cGxvcmVyLnZpZXdtb2RlbFwiO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tIFwiQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IEFYRm9ybWF0TW9kdWxlIH0gZnJvbSBcIkBhY29yZXgvY29yZS9mb3JtYXRcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9idXR0b25cIjtcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tIFwiQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhtLWRvY3VtZW50LWV4cGxvcmVyLWRldGFpbC1wYW5lbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RldGFpbC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGV0YWlsLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhGb3JtYXRNb2R1bGUsXG4gICAgICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgICAgICBBWFRyYW5zbGF0aW9uTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBBWE1Eb2N1bWVudEV4cGxvcmVyRGV0YWlsUGFuZWxDb21wb25lbnQge1xuICAgIHByb3RlY3RlZCB2bSA9IGluamVjdChBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGVsKTtcbn1cbiIsIjwhLS0gIE11bHRpcGxlIFNlbGVjdGVkICAtLT5cbkBpZih2bS5oYXNNdWx0aXBsZVNlbGVjdGVkSXRlbXMoKSkge1xuPGRpdiBjbGFzcz1cIl9faGVhZGVyXCIgKnRyYW5zbGF0ZT1cImxldCB0XCI+XG4gIDxkaXYgY2xhc3M9XCJfX3RpdGxlXCI+XG4gICAgPGkgY2xhc3M9XCJmYS1mdyBmYS1sZyBmYS1zb2xpZFwiPjwvaT5cbiAgICA8c3Bhbj4ge3sgdm0uc2VsZWN0ZWRDb3VudCgpIH19IHt7IHQoJ2l0ZW1zU2VsZWN0ZWQnLCB7IHNjb3BlOiAnY29tbW9uJyB9KSB8IGFzeW5jIH19PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGF4LWJ1dHRvbiBbbG9va109XCInYmxhbmsnXCIgY2xhc3M9XCJheC1zbSBheC1yb3VuZGVkLWZ1bGxcIiAob25DbGljayk9XCJ2bS5jbG9zZURldGFpbFBhbmVsKClcIj5cbiAgICA8YXgtaWNvbiBpY29uPVwiZmEtc29saWQgZmEteG1hcmtcIj48L2F4LWljb24+XG4gIDwvYXgtYnV0dG9uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiX19jb250ZW50XCI+PC9kaXY+XG59XG48IS0tIFNpbmdsZSBTZWxlY3RlZCAtLT5cbkBlbHNlIHtcbjwhLS0gSW5mbyAtLT5cbkBsZXQgbm9kZUluZm8gPSB2bS5nZXROb2RlSW5mbygodm0uc2VsZWN0ZWROb2RlKCkgPz8gdm0uY3VycmVudEZvbGRlcigpKSEpO1xuPGRpdiBjbGFzcz1cIl9faGVhZGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJfX3RpdGxlXCI+XG4gICAgPGkgY2xhc3M9XCJmYS1mdyBmYS1sZyB7eyBub2RlSW5mby5pY29uIH19IGZhLXNvbGlkXCI+PC9pPlxuICAgIDxzcGFuPnt7IG5vZGVJbmZvLm5hbWUgfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8YXgtYnV0dG9uIFtsb29rXT1cIidibGFuaydcIiBjbGFzcz1cImF4LXNtIGF4LXJvdW5kZWQtZnVsbFwiIChvbkNsaWNrKT1cInZtLmNsb3NlRGV0YWlsUGFuZWwoKVwiPlxuICAgIDxheC1pY29uIGljb249XCJmYS1zb2xpZCBmYS14bWFya1wiPjwvYXgtaWNvbj5cbiAgPC9heC1idXR0b24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJfX2NvbnRlbnRcIj5cbiAgQGZvcihzZWN0aW9uIG9mIG5vZGVJbmZvLnNlY3Rpb25zOyB0cmFjayBzZWN0aW9uLnRpdGxlKSB7XG4gIDxkaXYgY2xhc3M9XCJfX3NlY3Rpb25cIj5cbiAgICA8ZGl2IGNsYXNzPVwiX190aXRsZVwiPlxuICAgICAgPHNwYW4+e3sgc2VjdGlvbi50aXRsZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiX19jb250ZW50XCI+XG4gICAgICBAZm9yKGRldGFpbCBvZiBzZWN0aW9uLmRldGFpbHM7IHRyYWNrIGRldGFpbC50aXRsZSkge1xuICAgICAgPGRpdiBjbGFzcz1cIl9fcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJfX3RpdGxlXCI+XG4gICAgICAgICAgPHNwYW4+e3sgZGV0YWlsLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIl9fY29udGVudFwiPlxuICAgICAgICAgIEBpZihkZXRhaWwuZm9ybWF0KSB7XG4gICAgICAgICAgPHNwYW4+e3sgZGV0YWlsLmNvbnRlbnQgfCBmb3JtYXQgOiBkZXRhaWwuZm9ybWF0IHwgYXN5bmMgfX08L3NwYW4+XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHNwYW4+e3sgZGV0YWlsLmNvbnRlbnQgPz8gJy0tLScgfX08L3NwYW4+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG59XG4iXX0=","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, effect, HostListener, inject, signal, untracked, viewChild, ViewEncapsulation, } from '@angular/core';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXMenuModule } from '@acorex/components/menu';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXFileModule } from '@acorex/core/file';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPFileTypeProviderService } from '@acorex/platform/common';\nimport { AXPThemeLayoutBlockComponent } from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { resolvePlatformScopeKey, resolvePlatformScopeName, } from '@acorex/platform/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentExplorerComponent, AXPDocumentExplorerViewModel } from '../document-explorer';\nimport { AXMDocumentExplorerDetailPanelComponent } from '../document-explorer/views/detail-panel/detail-panel.component';\nimport { AXMDocumentManagerService, AXMFolderPathBreadcrumbsComponent } from '../shared';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/button\";\nimport * as i3 from \"@acorex/components/dropdown\";\nimport * as i4 from \"@acorex/core/translation\";\nimport * as i5 from \"@acorex/components/decorators\";\nimport * as i6 from \"@acorex/components/search-box\";\nexport class AXMDocumentDriveComponent extends AXPPageLayoutBaseComponent {\n constructor() {\n super(...arguments);\n //#region ---------------- Services & Dependencies ----------------\n this.rootConfig = RootConfig;\n this.fileTypeService = inject(AXPFileTypeProviderService);\n this.driveService = inject(AXMDocumentManagerService);\n this.vm = inject(AXPDocumentExplorerViewModel);\n this.router = inject(Router);\n this.activatedRoute = inject(ActivatedRoute);\n //#endregion\n //#region ---------------- View Properties ----------------\n this.filterItems = signal([]);\n this.selectedFilter = signal('all');\n this.searchQuery = '';\n this.sortItems = signal([\n { key: 'name', textKey: 'actions.sort-by-name', icon: 'fa-light fa-font' },\n { key: 'modified', textKey: 'actions.sort-by-date', icon: 'fa-light fa-calendar' },\n { key: 'size', textKey: 'actions.sort-by-size', icon: 'fa-light fa-weight-hanging' },\n ]);\n this.viewsItems = signal([\n { key: 'large-icons', icon: 'fa-light fa-grid' },\n { key: 'small-icons', icon: 'fa-light fa-grid', break: true },\n { key: 'large-tiles', icon: 'fa-grid-2' },\n { key: 'small-tiles', icon: 'fa-grid-2', break: true },\n { key: 'details', icon: 'fa-bars', break: true },\n { key: 'list', icon: 'fa-list' },\n ]);\n this.selectedViewMode = computed(() => this.viewsItems().find((item) => item.key === this.vm.viewMode()) || this.viewsItems()[0]);\n this.selectionMode = signal('single');\n this.documentExplorer = viewChild(AXMDocumentExplorerComponent);\n //#endregion\n //#region ---------------- Computed Properties ----------------\n this.selectedSort = computed(() => {\n const items = this.sortItems();\n return items.find((item) => item.key === this.vm.sortField()) || items[0];\n });\n //#endregion\n //#region ---------------- Effects ----------------\n this.#navigateEffect = effect(() => {\n const navigatingFolderId = this.vm.navigatingFolderId();\n if (navigatingFolderId) {\n this.handleNavigateToFolder(navigatingFolderId);\n }\n });\n this.#loadingEffect = effect(() => {\n const isLoading = this.vm.isLoading();\n untracked(() => {\n this.layoutService.setNavigationLoading(isLoading);\n });\n });\n }\n //#endregion\n //#region ---------------- Effects ----------------\n #navigateEffect;\n #loadingEffect;\n //#endregion\n //#region ---------------- Lifecycle Hooks ----------------\n async ngOnInit() {\n super.ngOnInit();\n await this.loadFilterItems();\n const snapshot = this.activatedRoute.snapshot;\n const routerScope = resolvePlatformScopeKey(snapshot.parent?.paramMap.get('scope')?.trim()?.toLowerCase());\n await this.vm.initialize({ browseMode: 'file', scope: routerScope });\n this.activatedRoute.paramMap.subscribe(async () => {\n this.loadDrive();\n });\n }\n //#endregion\n //#region ---------------- Event Handlers ----------------\n async handleSearchChange(event) {\n if (event.value == null) {\n return;\n }\n if (event.value?.length > 0) {\n const result = await this.driveService.searchNodes(event.value, this.vm.scope(), {\n tenantId: this.sessionService.tenant?.id,\n userId: this.sessionService.user?.id,\n folderId: this.vm.currentNode()?.id,\n });\n this.vm.virtualFolder(result, {\n name: 'Search Result',\n parentId: this.vm.currentNode()?.id == 'virtual' ?\n this.vm.currentNode()?.parentId ?? undefined : this.vm.currentNode()?.id,\n });\n }\n else {\n this.vm.navigateToUp();\n }\n }\n handleCtrlKey(e) {\n this.selectionMode.set('multiple');\n }\n handleCtrlKeyUp(e) {\n this.selectionMode.set('single');\n }\n handleNavigateToFolder(folderId) {\n this.router.navigate([\n `${this.sessionService.application?.name}/drive/${resolvePlatformScopeName(this.vm.scope())}/${folderId}`,\n ]);\n setTimeout(() => {\n this.searchQuery = null;\n }, 200);\n }\n //#endregion\n //#region ---------------- Data Loading Methods ----------------\n async loadDrive() {\n const folderId = this.activatedRoute.snapshot.paramMap.get('id');\n if (folderId) {\n await this.vm.loadFolderContents(folderId);\n }\n else {\n // TODO: get root from tenant or user by scope\n const root = await this.driveService.getRoot(this.vm.scope(), {\n tenantId: this.sessionService.tenant?.id,\n userId: this.sessionService.user?.id,\n });\n if (root.result) {\n await this.router.navigate([\n `${this.sessionService.application?.name}/drive/${resolvePlatformScopeName(this.vm.scope())}/${root.result.id}`,\n ], {\n replaceUrl: true,\n });\n }\n }\n //\n this.recompute();\n }\n async loadFilterItems() {\n const types = await this.fileTypeService.items();\n const items = [\n { key: 'all', textKey: 'file-types.all', icon: 'fa-light fa-folder-closed' },\n ...types.map((type) => ({\n key: type.name,\n textKey: `file-types.${type.name}`,\n icon: type.icon || 'fa-light fa-file',\n })),\n ];\n this.filterItems.set(items);\n }\n //#endregion\n //#region ---------------- Filter Methods ----------------\n setFilter(key) {\n this.selectedFilter.set(key);\n }\n getFilterIcon() {\n if (this.selectedFilter() === 'all') {\n return 'fa-light fa-folder-closed';\n }\n const item = this.filterItems().find((item) => item.key === this.selectedFilter());\n return item?.icon || 'fa-light fa-file';\n }\n getFilterText() {\n if (this.selectedFilter() === 'all') {\n return 'file-types.all';\n }\n const item = this.filterItems().find((item) => item.key === this.selectedFilter());\n return item?.textKey || 'file-types.all';\n }\n //#endregion\n //#region ---------------- Page Configuration Overrides ----------------\n async getPrimaryMenuItems() {\n if (this.vm.hasMultipleSelectedItems()) {\n return [\n {\n name: 'deleteItems',\n title: 't(\"deleteItems\")',\n icon: 'fa-light fa-trash-can',\n color: 'danger',\n },\n ];\n }\n const addItemItems = await this.vm.getFolderAddMenuItems();\n addItemItems[addItemItems.length - 1].break = false;\n return [\n {\n title: 't(\"add-item\")',\n icon: 'fa-light fa-plus',\n color: 'primary',\n items: addItemItems,\n },\n ];\n }\n async getSecondaryMenuItems() {\n if (this.vm.hasMultipleSelectedItems()) {\n return [\n {\n name: 'delete',\n title: 't(\"delete\")',\n icon: 'fa-light fa-trash-can',\n color: 'danger',\n },\n ];\n }\n return this.vm.getFolderActionMenuItems();\n }\n async getPageTitle() {\n if (this.vm.isRoot()) {\n return this.translateService.translateAsync(`scope.${resolvePlatformScopeName(this.vm.scope())}.title`, { scope: this.rootConfig.config.i18n });\n }\n return this.vm.currentFolder()?.name || '';\n }\n async getPageDescription() {\n const count = await this.vm.itemsCount();\n const size = await this.vm.availableSpace();\n const formattedSize = await this.formatService.format(size, 'filesize');\n return this.translateService.translateAsync(`scope.${resolvePlatformScopeName(this.vm.scope())}.description`, {\n scope: this.rootConfig.config.i18n,\n params: {\n count,\n size: formattedSize,\n },\n });\n }\n getBackButton() {\n if (this.vm.isUpAvailable() && this.vm.currentPath().length > 1) {\n return {\n title: this.vm.currentPath()[this.vm.currentPath().length - 2].name,\n };\n }\n return null;\n }\n onBackButtonClick() {\n if (this.vm.isUpAvailable()) {\n this.vm.navigateToUp();\n }\n }\n async getPageBreadcrumbs() {\n return [\n {\n title: await this.translateService.translateAsync(`scope.${resolvePlatformScopeName(this.vm.scope())}.title`, { scope: this.rootConfig.config.i18n }),\n },\n ];\n }\n async execute(command) {\n const folderId = command.options?.['folderId'];\n switch (command.name) {\n case 'new-folder':\n if (folderId) {\n await this.driveService.showCreateFolderDialog(folderId);\n this.vm.refresh();\n }\n break;\n case 'open-gallery':\n if (folderId) {\n await this.driveService.showFileViewerPopup(this.vm.currentFolder().children[0]);\n }\n break;\n default:\n if (command.name.startsWith('upload.')) {\n await this.driveService.uploadFileByType(folderId, command.options?.['documentType']?.id);\n this.vm.refresh();\n }\n break;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMDocumentDriveComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: AXMDocumentDriveComponent, isStandalone: true, selector: \"axp-document-drive\", host: { listeners: { \"document:keydown.control\": \"handleCtrlKey($event)\", \"document:keyup.control\": \"handleCtrlKeyUp($event)\" } }, providers: [\n AXPDocumentExplorerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMDocumentDriveComponent,\n },\n ], viewQueries: [{ propertyName: \"documentExplorer\", first: true, predicate: AXMDocumentExplorerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: \"<!-- Main Layout -->\\n<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-toolbar>\\n <!-- Left Side Toolbar -->\\n <axp-layout-prefix>\\n @if(vm.hasMultipleSelectedItems() ) {\\n <div class=\\\"ax-flex ax-gap-3 ax-items-center ax-h-10\\\">\\n <span class=\\\"ax-text-xl ax-font-bold\\\">\\n {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}\\n </span>\\n <span (click)=\\\"vm.deselectAll()\\\" class=\\\"ax-text-sm ax-text-secondary ax-underline ax-cursor-pointer\\\">{{\\n t('unselect', { scope: 'common' }) | async\\n }}</span>\\n </div>\\n }\\n <!---------->\\n @else {\\n <!-- Filter Dropdown -->\\n <ax-button [text]=\\\"t(getFilterText(), { scope: rootConfig.config.i18n }) | async\\\">\\n <ax-prefix>\\n <ax-icon [icon]=\\\"getFilterIcon()\\\"></ax-icon>\\n </ax-prefix>\\n\\n <ax-dropdown-panel>\\n <ax-button-item-list class=\\\"ax-p-2\\\">\\n @for(item of filterItems(); track item.key) {\\n <ax-button-item\\n (onClick)=\\\"setFilter(item.key)\\\"\\n [text]=\\\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\\\"\\n >\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n <!-- Search Box -->\\n <ax-search-box\\n [(value)]=\\\"searchQuery\\\"\\n (onValueChanged)=\\\"handleSearchChange($event)\\\"\\n class=\\\"ax-w-72 ax-hidden md:ax-flex\\\"\\n [placeholder]=\\\"t('actions.search', { scope: rootConfig.config.i18n }) | async\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n }\\n </axp-layout-prefix>\\n\\n <!-- Right Side Toolbar -->\\n <axp-layout-suffix>\\n <!-- Sort Dropdown -->\\n <ax-button>\\n <ax-icon\\n [icon]=\\\"'fa-light fa-arrow-' + (vm.sortDirection() === 'asc' ? 'up' : 'down') + '-wide-short'\\\"\\n ></ax-icon>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n <!-- Sort By Options -->\\n @for(item of sortItems(); track item.key) {\\n <ax-button-item\\n [text]=\\\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\\\"\\n (onClick)=\\\"vm.setSortField(item.key)\\\"\\n [selected]=\\\"vm.sortField() === item.key\\\"\\n >\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n }\\n <ax-divider></ax-divider>\\n <!-- Sort Direction Options -->\\n <ax-button-item\\n [text]=\\\"(t('actions.sort-ascending', { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.sortDirection() === 'asc'\\\"\\n (onClick)=\\\"vm.setSortDirection('asc')\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light fa-arrow-up-wide-short\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n <ax-button-item\\n [text]=\\\"(t('actions.sort-descending', { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.sortDirection() === 'desc'\\\"\\n (onClick)=\\\"vm.setSortDirection('desc')\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light fa-arrow-down-wide-short\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n\\n <!-- View Mode Toggle -->\\n <ax-button>\\n <ax-icon icon=\\\"fa-light {{ selectedViewMode().icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n @for(item of viewsItems(); track item.key) {\\n <!-- view mode items -->\\n <ax-button-item\\n [text]=\\\"(t('view-modes.' + item.key, { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.isViewMode(item.key)\\\"\\n (onClick)=\\\"vm.setViewMode(item.key)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if(item.break) {\\n <ax-divider></ax-divider>\\n }\\n <!-- end of view mode items -->\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n\\n @if(layoutService.isLarge()) {\\n <!-- Detail Panel Toggle -->\\n <ax-button (onClick)=\\\"vm.toggleDetailPanel()\\\">\\n <ax-icon icon=\\\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\\\"></ax-icon>\\n </ax-button>\\n }\\n </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Content Section -->\\n <axp-page-content class=\\\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\\\">\\n <axm-document-explorer [selectionMode]=\\\"selectionMode()\\\"></axm-document-explorer>\\n @if (vm.isDetailPanelOpen() && layoutService.isLarge()) {\\n <axm-document-explorer-detail-panel class=\\\"ax-sticky ax-top-0 ax-z-50\\\"></axm-document-explorer-detail-panel>\\n }\\n </axp-page-content>\\n\\n <!-- Footer Section -->\\n @if(!layoutService.isSmall()) {\\n <axp-page-footer>\\n <axp-layout-prefix>\\n <axm-folder-path-breadcrumbs></axm-folder-path-breadcrumbs>\\n </axp-layout-prefix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"ngmodule\", type: \n //\n AXMenuModule }, { kind: \"ngmodule\", type: AXButtonModule }, { kind: \"component\", type: i2.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: \"component\", type: i2.AXButtonItemComponent, selector: \"ax-button-item\", inputs: [\"color\", \"disabled\", \"text\", \"selected\", \"divided\", \"data\", \"name\"], outputs: [\"onClick\", \"onFocus\", \"onBlur\", \"disabledChange\"] }, { kind: \"component\", type: i2.AXButtonItemListComponent, selector: \"ax-button-item-list\", inputs: [\"items\"], outputs: [\"onItemClick\"] }, { kind: \"ngmodule\", type: AXButtonGroupModule }, { kind: \"ngmodule\", type: AXDropdownButtonModule }, { kind: \"ngmodule\", type: AXDropdownModule }, { kind: \"component\", type: i3.AXDropdownPanelComponent, selector: \"ax-dropdown-panel\", inputs: [\"isOpen\", \"fitParent\", \"dropdownWidth\", \"position\", \"placement\", \"_target\", \"adaptivityEnabled\"], outputs: [\"onOpened\", \"onClosed\"] }, { kind: \"ngmodule\", type: AXTranslationModule }, { kind: \"directive\", type: i4.AXTranslatorDirective, selector: \"[translate]\" }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i5.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i5.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i5.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: AXLoadingModule }, { kind: \"ngmodule\", type: AXBreadcrumbsModule }, { kind: \"ngmodule\", type: AXBadgeModule }, { kind: \"ngmodule\", type: AXSearchBoxModule }, { kind: \"component\", type: i6.AXSearchBoxComponent, selector: \"ax-search-box\", inputs: [\"disabled\", \"readonly\", \"tabIndex\", \"placeholder\", \"value\", \"state\", \"name\", \"id\", \"look\", \"class\", \"delayTime\", \"type\"], outputs: [\"valueChange\", \"stateChange\", \"onValueChanged\", \"onBlur\", \"onFocus\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXFormatModule }, { kind: \"ngmodule\", type: AXFileModule }, { kind: \"ngmodule\", type: AXDateTimeModule }, { kind: \"component\", type: \n //\n AXPPageLayoutComponent, selector: \"axp-page-layout\" }, { kind: \"component\", type: AXPThemeLayoutBlockComponent, selector: \" axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, \" }, { kind: \"component\", type: \n //\n AXMDocumentExplorerComponent, selector: \"axm-document-explorer\", inputs: [\"browseMode\", \"viewMode\", \"selectionMode\", \"showContextMenu\"] }, { kind: \"component\", type: AXMFolderPathBreadcrumbsComponent, selector: \"axm-folder-path-breadcrumbs\" }, { kind: \"component\", type: AXMDocumentExplorerDetailPanelComponent, selector: \"axm-document-explorer-detail-panel\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: AXMDocumentDriveComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-document-drive', standalone: true, imports: [\n CommonModule,\n RouterModule,\n //\n AXMenuModule,\n AXButtonModule,\n AXButtonGroupModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXBreadcrumbsModule,\n AXBadgeModule,\n AXSearchBoxModule,\n AXFormatModule,\n AXFileModule,\n AXDateTimeModule,\n //\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n //\n AXMDocumentExplorerComponent,\n AXMFolderPathBreadcrumbsComponent,\n AXMDocumentExplorerDetailPanelComponent,\n ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [\n AXPDocumentExplorerViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMDocumentDriveComponent,\n },\n ], template: \"<!-- Main Layout -->\\n<axp-page-layout *translate=\\\"let t\\\">\\n <axp-page-toolbar>\\n <!-- Left Side Toolbar -->\\n <axp-layout-prefix>\\n @if(vm.hasMultipleSelectedItems() ) {\\n <div class=\\\"ax-flex ax-gap-3 ax-items-center ax-h-10\\\">\\n <span class=\\\"ax-text-xl ax-font-bold\\\">\\n {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}\\n </span>\\n <span (click)=\\\"vm.deselectAll()\\\" class=\\\"ax-text-sm ax-text-secondary ax-underline ax-cursor-pointer\\\">{{\\n t('unselect', { scope: 'common' }) | async\\n }}</span>\\n </div>\\n }\\n <!---------->\\n @else {\\n <!-- Filter Dropdown -->\\n <ax-button [text]=\\\"t(getFilterText(), { scope: rootConfig.config.i18n }) | async\\\">\\n <ax-prefix>\\n <ax-icon [icon]=\\\"getFilterIcon()\\\"></ax-icon>\\n </ax-prefix>\\n\\n <ax-dropdown-panel>\\n <ax-button-item-list class=\\\"ax-p-2\\\">\\n @for(item of filterItems(); track item.key) {\\n <ax-button-item\\n (onClick)=\\\"setFilter(item.key)\\\"\\n [text]=\\\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\\\"\\n >\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n <!-- Search Box -->\\n <ax-search-box\\n [(value)]=\\\"searchQuery\\\"\\n (onValueChanged)=\\\"handleSearchChange($event)\\\"\\n class=\\\"ax-w-72 ax-hidden md:ax-flex\\\"\\n [placeholder]=\\\"t('actions.search', { scope: rootConfig.config.i18n }) | async\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n }\\n </axp-layout-prefix>\\n\\n <!-- Right Side Toolbar -->\\n <axp-layout-suffix>\\n <!-- Sort Dropdown -->\\n <ax-button>\\n <ax-icon\\n [icon]=\\\"'fa-light fa-arrow-' + (vm.sortDirection() === 'asc' ? 'up' : 'down') + '-wide-short'\\\"\\n ></ax-icon>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n <!-- Sort By Options -->\\n @for(item of sortItems(); track item.key) {\\n <ax-button-item\\n [text]=\\\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\\\"\\n (onClick)=\\\"vm.setSortField(item.key)\\\"\\n [selected]=\\\"vm.sortField() === item.key\\\"\\n >\\n <ax-prefix>\\n <ax-icon [icon]=\\\"item.icon\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n }\\n <ax-divider></ax-divider>\\n <!-- Sort Direction Options -->\\n <ax-button-item\\n [text]=\\\"(t('actions.sort-ascending', { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.sortDirection() === 'asc'\\\"\\n (onClick)=\\\"vm.setSortDirection('asc')\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light fa-arrow-up-wide-short\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n <ax-button-item\\n [text]=\\\"(t('actions.sort-descending', { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.sortDirection() === 'desc'\\\"\\n (onClick)=\\\"vm.setSortDirection('desc')\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light fa-arrow-down-wide-short\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n\\n <!-- View Mode Toggle -->\\n <ax-button>\\n <ax-icon icon=\\\"fa-light {{ selectedViewMode().icon }}\\\"></ax-icon>\\n <ax-dropdown-panel>\\n <ax-button-item-list>\\n @for(item of viewsItems(); track item.key) {\\n <!-- view mode items -->\\n <ax-button-item\\n [text]=\\\"(t('view-modes.' + item.key, { scope: rootConfig.config.i18n }) | async)!\\\"\\n [selected]=\\\"vm.isViewMode(item.key)\\\"\\n (onClick)=\\\"vm.setViewMode(item.key)\\\"\\n >\\n <ax-prefix>\\n <ax-icon icon=\\\"fa-light {{ item.icon }}\\\"></ax-icon>\\n </ax-prefix>\\n </ax-button-item>\\n @if(item.break) {\\n <ax-divider></ax-divider>\\n }\\n <!-- end of view mode items -->\\n }\\n </ax-button-item-list>\\n </ax-dropdown-panel>\\n </ax-button>\\n\\n @if(layoutService.isLarge()) {\\n <!-- Detail Panel Toggle -->\\n <ax-button (onClick)=\\\"vm.toggleDetailPanel()\\\">\\n <ax-icon icon=\\\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\\\"></ax-icon>\\n </ax-button>\\n }\\n </axp-layout-suffix>\\n </axp-page-toolbar>\\n\\n <!-- Content Section -->\\n <axp-page-content class=\\\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\\\">\\n <axm-document-explorer [selectionMode]=\\\"selectionMode()\\\"></axm-document-explorer>\\n @if (vm.isDetailPanelOpen() && layoutService.isLarge()) {\\n <axm-document-explorer-detail-panel class=\\\"ax-sticky ax-top-0 ax-z-50\\\"></axm-document-explorer-detail-panel>\\n }\\n </axp-page-content>\\n\\n <!-- Footer Section -->\\n @if(!layoutService.isSmall()) {\\n <axp-page-footer>\\n <axp-layout-prefix>\\n <axm-folder-path-breadcrumbs></axm-folder-path-breadcrumbs>\\n </axp-layout-prefix>\\n </axp-page-footer>\\n }\\n</axp-page-layout>\\n\" }]\n }], propDecorators: { handleCtrlKey: [{\n type: HostListener,\n args: ['document:keydown.control', ['$event']]\n }], handleCtrlKeyUp: [{\n type: HostListener,\n args: ['document:keyup.control', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJpdmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9kcml2ZS9kcml2ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21vZHVsZXMvZG9jdW1lbnQtbWFuYWdlbWVudC9zcmMvbGliL2ZlYXR1cmVzL2RyaXZlL2RyaXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUs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Q2pDLHVDQUF1Qzs7MkZBWTlCLHlCQUF5QjtrQkF6Q3JDLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osRUFBRTt3QkFDRixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsRUFBRTt3QkFDRixzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIsRUFBRTt3QkFDRiw0QkFBNEI7d0JBQzVCLGlDQUFpQzt3QkFDakMsdUNBQXVDO3FCQUN4QyxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVCw0QkFBNEI7d0JBQzVCOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsMkJBQTJCO3lCQUN2QztxQkFDRjs4QkFnSEQsYUFBYTtzQkFEWixZQUFZO3VCQUFDLDBCQUEwQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU1wRCxlQUFlO3NCQURkLFlBQVk7dUJBQUMsd0JBQXdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIE9uSW5pdCxcbiAgc2lnbmFsLFxuICB1bnRyYWNrZWQsXG4gIHZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBWEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7IEFYQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYQnV0dG9uR3JvdXBNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEcm9wZG93bk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kcm9wZG93bic7XG5pbXBvcnQgeyBBWERyb3Bkb3duQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbic7XG5pbXBvcnQgeyBBWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZyc7XG5pbXBvcnQgeyBBWE1lbnVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWVudSc7XG5pbXBvcnQgeyBBWFNlYXJjaEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWFyY2gtYm94JztcbmltcG9ydCB7IEFYRGF0ZVRpbWVNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZGF0ZS10aW1lJztcbmltcG9ydCB7IEFYRmlsZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS9maWxlJztcbmltcG9ydCB7IEFYRm9ybWF0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEZpbGVUeXBlUHJvdmlkZXJTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQVGhlbWVMYXlvdXRCbG9ja0NvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0L2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgQVhQUGFnZUxheW91dEJhc2UsIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50LCBBWFBQYWdlTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvdmlld3MnO1xuXG5pbXBvcnQge1xuICBBWFBBY3Rpb25NZW51SXRlbSxcbiAgQVhQQmFja0J1dHRvbixcbiAgQVhQQnJlYWRjcnVtYkl0ZW0sXG4gIEFYUEV4ZWN1dGVDb21tYW5kLFxuICBBWFBQbGF0Zm9ybVNjb3BlLFxuICByZXNvbHZlUGxhdGZvcm1TY29wZUtleSxcbiAgcmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1Eb2N1bWVudEV4cGxvcmVyQ29tcG9uZW50LCBBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGVsIH0gZnJvbSAnLi4vZG9jdW1lbnQtZXhwbG9yZXInO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRFeHBsb3JlckRldGFpbFBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vZG9jdW1lbnQtZXhwbG9yZXIvdmlld3MvZGV0YWlsLXBhbmVsL2RldGFpbC1wYW5lbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VyU2VydmljZSwgQVhNRm9sZGVyUGF0aEJyZWFkY3J1bWJzQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hhcmVkJztcbmltcG9ydCB7IEFYTURvY3VtZW50U2VsZWN0aW9uTW9kZSB9IGZyb20gJy4uL3NoYXJlZC9kb2N1bWVudC1tYW5hZ2VyLnR5cGVzJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtZG9jdW1lbnQtZHJpdmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJpdmUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcml2ZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICAvL1xuICAgIEFYTWVudU1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWEJ1dHRvbkdyb3VwTW9kdWxlLFxuICAgIEFYRHJvcGRvd25CdXR0b25Nb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWEJyZWFkY3J1bWJzTW9kdWxlLFxuICAgIEFYQmFkZ2VNb2R1bGUsXG4gICAgQVhTZWFyY2hCb3hNb2R1bGUsXG4gICAgQVhGb3JtYXRNb2R1bGUsXG4gICAgQVhGaWxlTW9kdWxlLFxuICAgIEFYRGF0ZVRpbWVNb2R1bGUsXG4gICAgLy9cbiAgICBBWFBQYWdlTGF5b3V0Q29tcG9uZW50LFxuICAgIEFYUFRoZW1lTGF5b3V0QmxvY2tDb21wb25lbnQsXG4gICAgLy9cbiAgICBBWE1Eb2N1bWVudEV4cGxvcmVyQ29tcG9uZW50LFxuICAgIEFYTUZvbGRlclBhdGhCcmVhZGNydW1ic0NvbXBvbmVudCxcbiAgICBBWE1Eb2N1bWVudEV4cGxvcmVyRGV0YWlsUGFuZWxDb21wb25lbnQsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICBBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGVsLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYUFBhZ2VMYXlvdXRCYXNlLFxuICAgICAgdXNlRXhpc3Rpbmc6IEFYTURvY3VtZW50RHJpdmVDb21wb25lbnQsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhNRG9jdW1lbnREcml2ZUNvbXBvbmVudCBleHRlbmRzIEFYUFBhZ2VMYXlvdXRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBTZXJ2aWNlcyAmIERlcGVuZGVuY2llcyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm9vdENvbmZpZyA9IFJvb3RDb25maWc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmlsZVR5cGVTZXJ2aWNlID0gaW5qZWN0KEFYUEZpbGVUeXBlUHJvdmlkZXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkcml2ZVNlcnZpY2UgPSBpbmplY3QoQVhNRG9jdW1lbnRNYW5hZ2VyU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSB2bSA9IGluamVjdChBWFBEb2N1bWVudEV4cGxvcmVyVmlld01vZGVsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgVmlldyBQcm9wZXJ0aWVzICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBmaWx0ZXJJdGVtcyA9IHNpZ25hbDxBcnJheTx7IGtleTogc3RyaW5nOyB0ZXh0S2V5OiBzdHJpbmc7IGljb246IHN0cmluZyB9Pj4oW10pO1xuICBwdWJsaWMgc2VsZWN0ZWRGaWx0ZXIgPSBzaWduYWw8c3RyaW5nPignYWxsJyk7XG5cbiAgcHJvdGVjdGVkIHNlYXJjaFF1ZXJ5OiBzdHJpbmcgfCBudWxsID0gJyc7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHNvcnRJdGVtcyA9IHNpZ25hbChbXG4gICAgeyBrZXk6ICduYW1lJywgdGV4dEtleTogJ2FjdGlvbnMuc29ydC1ieS1uYW1lJywgaWNvbjogJ2ZhLWxpZ2h0IGZhLWZvbnQnIH0sXG4gICAgeyBrZXk6ICdtb2RpZmllZCcsIHRleHRLZXk6ICdhY3Rpb25zLnNvcnQtYnktZGF0ZScsIGljb246ICdmYS1saWdodCBmYS1jYWxlbmRhcicgfSxcbiAgICB7IGtleTogJ3NpemUnLCB0ZXh0S2V5OiAnYWN0aW9ucy5zb3J0LWJ5LXNpemUnLCBpY29uOiAnZmEtbGlnaHQgZmEtd2VpZ2h0LWhhbmdpbmcnIH0sXG4gIF0pO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2aWV3c0l0ZW1zID0gc2lnbmFsKFtcbiAgICB7IGtleTogJ2xhcmdlLWljb25zJywgaWNvbjogJ2ZhLWxpZ2h0IGZhLWdyaWQnIH0sXG4gICAgeyBrZXk6ICdzbWFsbC1pY29ucycsIGljb246ICdmYS1saWdodCBmYS1ncmlkJywgYnJlYWs6IHRydWUgfSxcbiAgICB7IGtleTogJ2xhcmdlLXRpbGVzJywgaWNvbjogJ2ZhLWdyaWQtMicgfSxcbiAgICB7IGtleTogJ3NtYWxsLXRpbGVzJywgaWNvbjogJ2ZhLWdyaWQtMicsIGJyZWFrOiB0cnVlIH0sXG4gICAgeyBrZXk6ICdkZXRhaWxzJywgaWNvbjogJ2ZhLWJhcnMnLCBicmVhazogdHJ1ZSB9LFxuICAgIHsga2V5OiAnbGlzdCcsIGljb246ICdmYS1saXN0JyB9LFxuICBdKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0ZWRWaWV3TW9kZSA9IGNvbXB1dGVkKFxuICAgICgpID0+IHRoaXMudmlld3NJdGVtcygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0ua2V5ID09PSB0aGlzLnZtLnZpZXdNb2RlKCkpIHx8IHRoaXMudmlld3NJdGVtcygpWzBdLFxuICApO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0aW9uTW9kZSA9IHNpZ25hbDxBWE1Eb2N1bWVudFNlbGVjdGlvbk1vZGU+KCdzaW5nbGUnKTtcbiAgcHJvdGVjdGVkIGRvY3VtZW50RXhwbG9yZXIgPSB2aWV3Q2hpbGQoQVhNRG9jdW1lbnRFeHBsb3JlckNvbXBvbmVudCk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBDb21wdXRlZCBQcm9wZXJ0aWVzICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBzZWxlY3RlZFNvcnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLnNvcnRJdGVtcygpO1xuICAgIHJldHVybiBpdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmtleSA9PT0gdGhpcy52bS5zb3J0RmllbGQoKSkgfHwgaXRlbXNbMF07XG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgRWZmZWN0cyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICAjbmF2aWdhdGVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG5hdmlnYXRpbmdGb2xkZXJJZCA9IHRoaXMudm0ubmF2aWdhdGluZ0ZvbGRlcklkKCk7XG4gICAgaWYgKG5hdmlnYXRpbmdGb2xkZXJJZCkge1xuICAgICAgdGhpcy5oYW5kbGVOYXZpZ2F0ZVRvRm9sZGVyKG5hdmlnYXRpbmdGb2xkZXJJZCk7XG4gICAgfVxuICB9KTtcblxuICAjbG9hZGluZ0VmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaXNMb2FkaW5nID0gdGhpcy52bS5pc0xvYWRpbmcoKTtcbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnNldE5hdmlnYXRpb25Mb2FkaW5nKGlzTG9hZGluZyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgTGlmZWN5Y2xlIEhvb2tzICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIG92ZXJyaWRlIGFzeW5jIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgYXdhaXQgdGhpcy5sb2FkRmlsdGVySXRlbXMoKTtcbiAgICBjb25zdCBzbmFwc2hvdCA9IHRoaXMuYWN0aXZhdGVkUm91dGUuc25hcHNob3Q7XG4gICAgY29uc3Qgcm91dGVyU2NvcGUgPSByZXNvbHZlUGxhdGZvcm1TY29wZUtleShzbmFwc2hvdC5wYXJlbnQ/LnBhcmFtTWFwLmdldCgnc2NvcGUnKT8udHJpbSgpPy50b0xvd2VyQ2FzZSgpISk7XG4gICAgYXdhaXQgdGhpcy52bS5pbml0aWFsaXplKHsgYnJvd3NlTW9kZTogJ2ZpbGUnLCBzY29wZTogcm91dGVyU2NvcGUgYXMgQVhQUGxhdGZvcm1TY29wZSB9KTtcbiAgICB0aGlzLmFjdGl2YXRlZFJvdXRlLnBhcmFtTWFwLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICB0aGlzLmxvYWREcml2ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBFdmVudCBIYW5kbGVycyAgIC0tLS0tLS0tLS0tLS0tLS1cblxuICBhc3luYyBoYW5kbGVTZWFyY2hDaGFuZ2UoZXZlbnQ6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICBpZihldmVudC52YWx1ZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIFxuICAgIGlmIChldmVudC52YWx1ZT8ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5kcml2ZVNlcnZpY2Uuc2VhcmNoTm9kZXMoZXZlbnQudmFsdWUsIHRoaXMudm0uc2NvcGUoKSxcbiAgICAgICAge1xuICAgICAgICAgIHRlbmFudElkOiB0aGlzLnNlc3Npb25TZXJ2aWNlLnRlbmFudD8uaWQsXG4gICAgICAgICAgdXNlcklkOiB0aGlzLnNlc3Npb25TZXJ2aWNlLnVzZXI/LmlkLFxuICAgICAgICAgIGZvbGRlcklkOiB0aGlzLnZtLmN1cnJlbnROb2RlKCk/LmlkLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgdGhpcy52bS52aXJ0dWFsRm9sZGVyKHJlc3VsdCwge1xuICAgICAgICBuYW1lOiAnU2VhcmNoIFJlc3VsdCcsXG4gICAgICAgIHBhcmVudElkOiB0aGlzLnZtLmN1cnJlbnROb2RlKCk/LmlkID09ICd2aXJ0dWFsJyA/XG4gICAgICAgICAgdGhpcy52bS5jdXJyZW50Tm9kZSgpPy5wYXJlbnRJZCA/PyB1bmRlZmluZWQgOiB0aGlzLnZtLmN1cnJlbnROb2RlKCk/LmlkLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudm0ubmF2aWdhdGVUb1VwKCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bi5jb250cm9sJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlQ3RybEtleShlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3Rpb25Nb2RlLnNldCgnbXVsdGlwbGUnKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleXVwLmNvbnRyb2wnLCBbJyRldmVudCddKVxuICBoYW5kbGVDdHJsS2V5VXAoZTogS2V5Ym9hcmRFdmVudCkge1xuICAgIHRoaXMuc2VsZWN0aW9uTW9kZS5zZXQoJ3NpbmdsZScpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZU5hdmlnYXRlVG9Gb2xkZXIoZm9sZGVySWQ6IHN0cmluZykge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcbiAgICAgIGAke3RoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWV9L2RyaXZlLyR7cmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHRoaXMudm0uc2NvcGUoKSl9LyR7Zm9sZGVySWR9YCxcbiAgICBdKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZWFyY2hRdWVyeSA9IG51bGw7XG4gICAgfSwgMjAwKTtcbiAgfVxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tLS0tLS0tLS0tLS0tICAgRGF0YSBMb2FkaW5nIE1ldGhvZHMgICAtLS0tLS0tLS0tLS0tLS0tXG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkRHJpdmUoKSB7XG4gICAgY29uc3QgZm9sZGVySWQgPSB0aGlzLmFjdGl2YXRlZFJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldCgnaWQnKTtcbiAgICBpZiAoZm9sZGVySWQpIHtcbiAgICAgIGF3YWl0IHRoaXMudm0ubG9hZEZvbGRlckNvbnRlbnRzKGZvbGRlcklkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVE9ETzogZ2V0IHJvb3QgZnJvbSB0ZW5hbnQgb3IgdXNlciBieSBzY29wZVxuICAgICAgY29uc3Qgcm9vdCA9IGF3YWl0IHRoaXMuZHJpdmVTZXJ2aWNlLmdldFJvb3QodGhpcy52bS5zY29wZSgpLCB7XG4gICAgICAgIHRlbmFudElkOiB0aGlzLnNlc3Npb25TZXJ2aWNlLnRlbmFudD8uaWQsXG4gICAgICAgIHVzZXJJZDogdGhpcy5zZXNzaW9uU2VydmljZS51c2VyPy5pZCxcbiAgICAgIH0pO1xuICAgICAgaWYgKHJvb3QucmVzdWx0KSB7XG4gICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIGAke3RoaXMuc2Vzc2lvblNlcnZpY2UuYXBwbGljYXRpb24/Lm5hbWV9L2RyaXZlLyR7cmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHRoaXMudm0uc2NvcGUoKSl9LyR7cm9vdC5yZXN1bHQuaWRcbiAgICAgICAgICAgIH1gLFxuICAgICAgICAgIF0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcmVwbGFjZVVybDogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICAvL1xuICAgIHRoaXMucmVjb21wdXRlKCk7XG4gIH1cblxuICBhc3luYyBsb2FkRmlsdGVySXRlbXMoKSB7XG4gICAgY29uc3QgdHlwZXMgPSBhd2FpdCB0aGlzLmZpbGVUeXBlU2VydmljZS5pdGVtcygpO1xuICAgIGNvbnN0IGl0ZW1zID0gW1xuICAgICAgeyBrZXk6ICdhbGwnLCB0ZXh0S2V5OiAnZmlsZS10eXBlcy5hbGwnLCBpY29uOiAnZmEtbGlnaHQgZmEtZm9sZGVyLWNsb3NlZCcgfSxcbiAgICAgIC4uLnR5cGVzLm1hcCgodHlwZSkgPT4gKHtcbiAgICAgICAga2V5OiB0eXBlLm5hbWUsXG4gICAgICAgIHRleHRLZXk6IGBmaWxlLXR5cGVzLiR7dHlwZS5uYW1lfWAsXG4gICAgICAgIGljb246IHR5cGUuaWNvbiB8fCAnZmEtbGlnaHQgZmEtZmlsZScsXG4gICAgICB9KSksXG4gICAgXTtcbiAgICB0aGlzLmZpbHRlckl0ZW1zLnNldChpdGVtcyk7XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLS0tLS0tLS0tLS0tLSAgIEZpbHRlciBNZXRob2RzICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHByb3RlY3RlZCBzZXRGaWx0ZXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkRmlsdGVyLnNldChrZXkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEZpbHRlckljb24oKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEZpbHRlcigpID09PSAnYWxsJykge1xuICAgICAgcmV0dXJuICdmYS1saWdodCBmYS1mb2xkZXItY2xvc2VkJztcbiAgICB9XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZmlsdGVySXRlbXMoKS5maW5kKChpdGVtKSA9PiBpdGVtLmtleSA9PT0gdGhpcy5zZWxlY3RlZEZpbHRlcigpKTtcbiAgICByZXR1cm4gaXRlbT8uaWNvbiB8fCAnZmEtbGlnaHQgZmEtZmlsZSc7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RmlsdGVyVGV4dCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRmlsdGVyKCkgPT09ICdhbGwnKSB7XG4gICAgICByZXR1cm4gJ2ZpbGUtdHlwZXMuYWxsJztcbiAgICB9XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZmlsdGVySXRlbXMoKS5maW5kKChpdGVtKSA9PiBpdGVtLmtleSA9PT0gdGhpcy5zZWxlY3RlZEZpbHRlcigpKTtcbiAgICByZXR1cm4gaXRlbT8udGV4dEtleSB8fCAnZmlsZS10eXBlcy5hbGwnO1xuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0tLS0tLS0tLS0tLS0gICBQYWdlIENvbmZpZ3VyYXRpb24gT3ZlcnJpZGVzICAgLS0tLS0tLS0tLS0tLS0tLVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFByaW1hcnlNZW51SXRlbXMoKTogUHJvbWlzZTxBWFBBY3Rpb25NZW51SXRlbVtdPiB7XG4gICAgaWYgKHRoaXMudm0uaGFzTXVsdGlwbGVTZWxlY3RlZEl0ZW1zKCkpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZGVsZXRlSXRlbXMnLFxuICAgICAgICAgIHRpdGxlOiAndChcImRlbGV0ZUl0ZW1zXCIpJyxcbiAgICAgICAgICBpY29uOiAnZmEtbGlnaHQgZmEtdHJhc2gtY2FuJyxcbiAgICAgICAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cbiAgICBjb25zdCBhZGRJdGVtSXRlbXMgPSBhd2FpdCB0aGlzLnZtLmdldEZvbGRlckFkZE1lbnVJdGVtcygpO1xuICAgIGFkZEl0ZW1JdGVtc1thZGRJdGVtSXRlbXMubGVuZ3RoIC0gMV0uYnJlYWsgPSBmYWxzZTtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0aXRsZTogJ3QoXCJhZGQtaXRlbVwiKScsXG4gICAgICAgIGljb246ICdmYS1saWdodCBmYS1wbHVzJyxcbiAgICAgICAgY29sb3I6ICdwcmltYXJ5JyxcbiAgICAgICAgaXRlbXM6IGFkZEl0ZW1JdGVtcyxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFNlY29uZGFyeU1lbnVJdGVtcygpOiBQcm9taXNlPEFYUEFjdGlvbk1lbnVJdGVtW10+IHtcbiAgICBpZiAodGhpcy52bS5oYXNNdWx0aXBsZVNlbGVjdGVkSXRlbXMoKSkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdkZWxldGUnLFxuICAgICAgICAgIHRpdGxlOiAndChcImRlbGV0ZVwiKScsXG4gICAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLXRyYXNoLWNhbicsXG4gICAgICAgICAgY29sb3I6ICdkYW5nZXInLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudm0uZ2V0Rm9sZGVyQWN0aW9uTWVudUl0ZW1zKCk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBnZXRQYWdlVGl0bGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBpZiAodGhpcy52bS5pc1Jvb3QoKSkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyhcbiAgICAgICAgYHNjb3BlLiR7cmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHRoaXMudm0uc2NvcGUoKSBhcyBBWFBQbGF0Zm9ybVNjb3BlKX0udGl0bGVgLFxuICAgICAgICB7IHNjb3BlOiB0aGlzLnJvb3RDb25maWcuY29uZmlnLmkxOG4gfSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnZtLmN1cnJlbnRGb2xkZXIoKT8ubmFtZSB8fCAnJztcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VEZXNjcmlwdGlvbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGNvdW50ID0gYXdhaXQgdGhpcy52bS5pdGVtc0NvdW50KCk7XG4gICAgY29uc3Qgc2l6ZSA9IGF3YWl0IHRoaXMudm0uYXZhaWxhYmxlU3BhY2UoKTtcbiAgICBjb25zdCBmb3JtYXR0ZWRTaXplID0gYXdhaXQgdGhpcy5mb3JtYXRTZXJ2aWNlLmZvcm1hdChzaXplLCAnZmlsZXNpemUnKTtcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKFxuICAgICAgYHNjb3BlLiR7cmVzb2x2ZVBsYXRmb3JtU2NvcGVOYW1lKHRoaXMudm0uc2NvcGUoKSBhcyBBWFBQbGF0Zm9ybVNjb3BlKX0uZGVzY3JpcHRpb25gLFxuICAgICAge1xuICAgICAgICBzY29wZTogdGhpcy5yb290Q29uZmlnLmNvbmZpZy5pMThuLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICBjb3VudCxcbiAgICAgICAgICBzaXplOiBmb3JtYXR0ZWRTaXplLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0QmFja0J1dHRvbigpOiBBWFBCYWNrQnV0dG9uIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMudm0uaXNVcEF2YWlsYWJsZSgpICYmIHRoaXMudm0uY3VycmVudFBhdGgoKS5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0aXRsZTogdGhpcy52bS5jdXJyZW50UGF0aCgpW3RoaXMudm0uY3VycmVudFBhdGgoKS5sZW5ndGggLSAyXS5uYW1lLFxuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBvdmVycmlkZSBvbkJhY2tCdXR0b25DbGljaygpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMudm0uaXNVcEF2YWlsYWJsZSgpKSB7XG4gICAgICB0aGlzLnZtLm5hdmlnYXRlVG9VcCgpO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGdldFBhZ2VCcmVhZGNydW1icygpOiBQcm9taXNlPEFYUEJyZWFkY3J1bWJJdGVtW10+IHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICB0aXRsZTogYXdhaXQgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKFxuICAgICAgICAgIGBzY29wZS4ke3Jlc29sdmVQbGF0Zm9ybVNjb3BlTmFtZSh0aGlzLnZtLnNjb3BlKCkgYXMgQVhQUGxhdGZvcm1TY29wZSl9LnRpdGxlYCxcbiAgICAgICAgICB7IHNjb3BlOiB0aGlzLnJvb3RDb25maWcuY29uZmlnLmkxOG4gfSxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgXTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGUoY29tbWFuZDogQVhQRXhlY3V0ZUNvbW1hbmQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBmb2xkZXJJZCA9IGNvbW1hbmQub3B0aW9ucz8uWydmb2xkZXJJZCddIGFzIHN0cmluZztcbiAgICBzd2l0Y2ggKGNvbW1hbmQubmFtZSkge1xuICAgICAgY2FzZSAnbmV3LWZvbGRlcic6XG4gICAgICAgIGlmIChmb2xkZXJJZCkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuZHJpdmVTZXJ2aWNlLnNob3dDcmVhdGVGb2xkZXJEaWFsb2coZm9sZGVySWQpO1xuICAgICAgICAgIHRoaXMudm0ucmVmcmVzaCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnb3Blbi1nYWxsZXJ5JzpcbiAgICAgICAgaWYgKGZvbGRlcklkKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZVNlcnZpY2Uuc2hvd0ZpbGVWaWV3ZXJQb3B1cCh0aGlzLnZtLmN1cnJlbnRGb2xkZXIoKSEuY2hpbGRyZW4hWzBdKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmIChjb21tYW5kLm5hbWUuc3RhcnRzV2l0aCgndXBsb2FkLicpKSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZVNlcnZpY2UudXBsb2FkRmlsZUJ5VHlwZShmb2xkZXJJZCwgY29tbWFuZC5vcHRpb25zPy5bJ2RvY3VtZW50VHlwZSddPy5pZCk7XG4gICAgICAgICAgdGhpcy52bS5yZWZyZXNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgLy8jZW5kcmVnaW9uXG59XG4iLCI8IS0tIE1haW4gTGF5b3V0IC0tPlxuPGF4cC1wYWdlLWxheW91dCAqdHJhbnNsYXRlPVwibGV0IHRcIj5cbiAgPGF4cC1wYWdlLXRvb2xiYXI+XG4gICAgPCEtLSBMZWZ0IFNpZGUgVG9vbGJhciAtLT5cbiAgICA8YXhwLWxheW91dC1wcmVmaXg+XG4gICAgICBAaWYodm0uaGFzTXVsdGlwbGVTZWxlY3RlZEl0ZW1zKCkgKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1nYXAtMyBheC1pdGVtcy1jZW50ZXIgYXgtaC0xMFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQteGwgYXgtZm9udC1ib2xkXCI+XG4gICAgICAgICAge3sgdm0uc2VsZWN0ZWRDb3VudCgpIH19IHt7IHQoJ2l0ZW1zU2VsZWN0ZWQnLCB7IHNjb3BlOiAnY29tbW9uJyB9KSB8IGFzeW5jIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKGNsaWNrKT1cInZtLmRlc2VsZWN0QWxsKClcIiBjbGFzcz1cImF4LXRleHQtc20gYXgtdGV4dC1zZWNvbmRhcnkgYXgtdW5kZXJsaW5lIGF4LWN1cnNvci1wb2ludGVyXCI+e3tcbiAgICAgICAgICB0KCd1bnNlbGVjdCcsIHsgc2NvcGU6ICdjb21tb24nIH0pIHwgYXN5bmNcbiAgICAgICAgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDwhLS0tLS0tLS0tLT5cbiAgICAgIEBlbHNlIHtcbiAgICAgIDwhLS0gRmlsdGVyIERyb3Bkb3duIC0tPlxuICAgICAgPGF4LWJ1dHRvbiBbdGV4dF09XCJ0KGdldEZpbHRlclRleHQoKSwgeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9KSB8IGFzeW5jXCI+XG4gICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgPGF4LWljb24gW2ljb25dPVwiZ2V0RmlsdGVySWNvbigpXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4LXByZWZpeD5cblxuICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3QgY2xhc3M9XCJheC1wLTJcIj5cbiAgICAgICAgICAgIEBmb3IoaXRlbSBvZiBmaWx0ZXJJdGVtcygpOyB0cmFjayBpdGVtLmtleSkge1xuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cInNldEZpbHRlcihpdGVtLmtleSlcIlxuICAgICAgICAgICAgICBbdGV4dF09XCIodChpdGVtLnRleHRLZXksIHsgc2NvcGU6IHJvb3RDb25maWcuY29uZmlnLmkxOG4gfSkgfCBhc3luYykhXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICA8YXgtaWNvbiBbaWNvbl09XCJpdGVtLmljb25cIj48L2F4LWljb24+XG4gICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgIDwhLS0gU2VhcmNoIEJveCAtLT5cbiAgICAgIDxheC1zZWFyY2gtYm94XG4gICAgICAgIFsodmFsdWUpXT1cInNlYXJjaFF1ZXJ5XCJcbiAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZVNlYXJjaENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgY2xhc3M9XCJheC13LTcyIGF4LWhpZGRlbiBtZDpheC1mbGV4XCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cInQoJ2FjdGlvbnMuc2VhcmNoJywgeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9KSB8IGFzeW5jXCJcbiAgICAgICAgPjxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b25cbiAgICAgID48L2F4LXNlYXJjaC1ib3g+XG4gICAgICB9XG4gICAgPC9heHAtbGF5b3V0LXByZWZpeD5cblxuICAgIDwhLS0gUmlnaHQgU2lkZSBUb29sYmFyIC0tPlxuICAgIDxheHAtbGF5b3V0LXN1ZmZpeD5cbiAgICAgIDwhLS0gU29ydCBEcm9wZG93biAtLT5cbiAgICAgIDxheC1idXR0b24+XG4gICAgICAgIDxheC1pY29uXG4gICAgICAgICAgW2ljb25dPVwiJ2ZhLWxpZ2h0IGZhLWFycm93LScgKyAodm0uc29ydERpcmVjdGlvbigpID09PSAnYXNjJyA/ICd1cCcgOiAnZG93bicpICsgJy13aWRlLXNob3J0J1wiXG4gICAgICAgID48L2F4LWljb24+XG4gICAgICAgIDxheC1kcm9wZG93bi1wYW5lbD5cbiAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW0tbGlzdD5cbiAgICAgICAgICAgIDwhLS0gU29ydCBCeSBPcHRpb25zIC0tPlxuICAgICAgICAgICAgQGZvcihpdGVtIG9mIHNvcnRJdGVtcygpOyB0cmFjayBpdGVtLmtleSkge1xuICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtXG4gICAgICAgICAgICAgIFt0ZXh0XT1cIih0KGl0ZW0udGV4dEtleSwgeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9KSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJ2bS5zZXRTb3J0RmllbGQoaXRlbS5rZXkpXCJcbiAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cInZtLnNvcnRGaWVsZCgpID09PSBpdGVtLmtleVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgPGF4LWljb24gW2ljb25dPVwiaXRlbS5pY29uXCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8YXgtZGl2aWRlcj48L2F4LWRpdmlkZXI+XG4gICAgICAgICAgICA8IS0tIFNvcnQgRGlyZWN0aW9uIE9wdGlvbnMgLS0+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgW3RleHRdPVwiKHQoJ2FjdGlvbnMuc29ydC1hc2NlbmRpbmcnLCB7IHNjb3BlOiByb290Q29uZmlnLmNvbmZpZy5pMThuIH0pIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJ2bS5zb3J0RGlyZWN0aW9uKCkgPT09ICdhc2MnXCJcbiAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidm0uc2V0U29ydERpcmVjdGlvbignYXNjJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCBmYS1hcnJvdy11cC13aWRlLXNob3J0XCI+PC9heC1pY29uPlxuICAgICAgICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgW3RleHRdPVwiKHQoJ2FjdGlvbnMuc29ydC1kZXNjZW5kaW5nJywgeyBzY29wZTogcm9vdENvbmZpZy5jb25maWcuaTE4biB9KSB8IGFzeW5jKSFcIlxuICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwidm0uc29ydERpcmVjdGlvbigpID09PSAnZGVzYydcIlxuICAgICAgICAgICAgICAob25DbGljayk9XCJ2bS5zZXRTb3J0RGlyZWN0aW9uKCdkZXNjJylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1saWdodCBmYS1hcnJvdy1kb3duLXdpZGUtc2hvcnRcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgPC9heC1idXR0b24taXRlbT5cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICA8L2F4LWJ1dHRvbj5cblxuICAgICAgPCEtLSBWaWV3IE1vZGUgVG9nZ2xlIC0tPlxuICAgICAgPGF4LWJ1dHRvbj5cbiAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IHNlbGVjdGVkVmlld01vZGUoKS5pY29uIH19XCI+PC9heC1pY29uPlxuICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICBAZm9yKGl0ZW0gb2Ygdmlld3NJdGVtcygpOyB0cmFjayBpdGVtLmtleSkge1xuICAgICAgICAgICAgPCEtLSB2aWV3IG1vZGUgaXRlbXMgLS0+XG4gICAgICAgICAgICA8YXgtYnV0dG9uLWl0ZW1cbiAgICAgICAgICAgICAgW3RleHRdPVwiKHQoJ3ZpZXctbW9kZXMuJyArIGl0ZW0ua2V5LCB7IHNjb3BlOiByb290Q29uZmlnLmNvbmZpZy5pMThuIH0pIHwgYXN5bmMpIVwiXG4gICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJ2bS5pc1ZpZXdNb2RlKGl0ZW0ua2V5KVwiXG4gICAgICAgICAgICAgIChvbkNsaWNrKT1cInZtLnNldFZpZXdNb2RlKGl0ZW0ua2V5KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgICAgICAgPGF4LWljb24gaWNvbj1cImZhLWxpZ2h0IHt7IGl0ZW0uaWNvbiB9fVwiPjwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgQGlmKGl0ZW0uYnJlYWspIHtcbiAgICAgICAgICAgIDxheC1kaXZpZGVyPjwvYXgtZGl2aWRlcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwhLS0gZW5kIG9mIHZpZXcgbW9kZSBpdGVtcyAtLT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICA8L2F4LWJ1dHRvbj5cblxuICAgICAgQGlmKGxheW91dFNlcnZpY2UuaXNMYXJnZSgpKSB7XG4gICAgICA8IS0tIERldGFpbCBQYW5lbCBUb2dnbGUgLS0+XG4gICAgICA8YXgtYnV0dG9uIChvbkNsaWNrKT1cInZtLnRvZ2dsZURldGFpbFBhbmVsKClcIj5cbiAgICAgICAgPGF4LWljb24gaWNvbj1cInt7IHZtLmlzRGV0YWlsUGFuZWxPcGVuKCkgPyAnZmEtc29saWQgZmEtc3F1YXJlLWluZm8nIDogJ2ZhLWxpZ2h0IGZhLXNxdWFyZS1pbmZvJyB9fVwiPjwvYXgtaWNvbj5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvYXhwLWxheW91dC1zdWZmaXg+XG4gIDwvYXhwLXBhZ2UtdG9vbGJhcj5cblxuICA8IS0tIENvbnRlbnQgU2VjdGlvbiAtLT5cbiAgPGF4cC1wYWdlLWNvbnRlbnQgY2xhc3M9XCJheC1vdmVyZmxvdy1hdXRvIGF4LWZsZXggYXgtZmxleC1yb3cgYXgtZ2FwLTRcIj5cbiAgICA8YXhtLWRvY3VtZW50LWV4cGxvcmVyIFtzZWxlY3Rpb25Nb2RlXT1cInNlbGVjdGlvbk1vZGUoKVwiPjwvYXhtLWRvY3VtZW50LWV4cGxvcmVyPlxuICAgIEBpZiAodm0uaXNEZXRhaWxQYW5lbE9wZW4oKSAmJiBsYXlvdXRTZXJ2aWNlLmlzTGFyZ2UoKSkge1xuICAgIDxheG0tZG9jdW1lbnQtZXhwbG9yZXItZGV0YWlsLXBhbmVsIGNsYXNzPVwiYXgtc3RpY2t5IGF4LXRvcC0wIGF4LXotNTBcIj48L2F4bS1kb2N1bWVudC1leHBsb3Jlci1kZXRhaWwtcGFuZWw+XG4gICAgfVxuICA8L2F4cC1wYWdlLWNvbnRlbnQ+XG5cbiAgPCEtLSBGb290ZXIgU2VjdGlvbiAtLT5cbiAgQGlmKCFsYXlvdXRTZXJ2aWNlLmlzU21hbGwoKSkge1xuICA8YXhwLXBhZ2UtZm9vdGVyPlxuICAgIDxheHAtbGF5b3V0LXByZWZpeD5cbiAgICAgIDxheG0tZm9sZGVyLXBhdGgtYnJlYWRjcnVtYnM+PC9heG0tZm9sZGVyLXBhdGgtYnJlYWRjcnVtYnM+XG4gICAgPC9heHAtbGF5b3V0LXByZWZpeD5cbiAgPC9heHAtcGFnZS1mb290ZXI+XG4gIH1cbjwvYXhwLXBhZ2UtbGF5b3V0PlxuIl19"],"names":["i2","i3","i4","i5","i6"],"mappings":"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"}
@@ -1,19 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { inject, Component } from '@angular/core';
3
3
  import { AXPElementDataDirective, AXPDblClickDirective } from '@acorex/platform/core';
4
- import { A as AXPDocumentExplorerViewModel } from './acorex-modules-document-management-acorex-modules-document-management-C4cvhxSV.mjs';
4
+ import { A as AXPDocumentExplorerViewModel } from './acorex-modules-document-management-acorex-modules-document-management-CJYBHKUf.mjs';
5
5
 
6
6
  class AXMDocumentExplorerLargeIconsViewComponent {
7
7
  constructor() {
8
8
  this.vm = inject(AXPDocumentExplorerViewModel);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMDocumentExplorerLargeIconsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: AXMDocumentExplorerLargeIconsViewComponent, isStandalone: true, selector: "axm-document-explorer-large-icons-view", ngImport: i0, template: "<!-- Large Icons View -->\n<div class=\"__content fa-4x\">\n @for (folder of vm.folders(); track folder.id) {\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(folder)\"\n [axp-data]=\"folder\"\n (click)=\"vm.toggleSelect(folder)\"\n (onDblClick)=\"vm.navigateToFolder(folder.id)\"\n >\n <div class=\"__icon ax-text-yellow-400\">\n @if (vm.isLoadingFolder(folder.id)) {\n <i class=\"fa-light fa-spinner fa-spin-pulse\"></i>\n } @else {\n <i class=\"fas fa-folder-closed\"></i>\n }\n </div>\n <div class=\"__name\">{{ folder.name }}</div>\n </div>\n } @for (file of vm.files(); track file.id) { @let fileInfo = vm.getFileInfo(file.name);\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (onDblClick)=\"vm.openFile(file)\"\n >\n <div class=\"__icon\">\n <i class=\"fa-fw {{ fileInfo.icon }} fa-solid\"></i>\n </div>\n <div class=\"__name\">{{ file.name }}</div>\n </div>\n }\n</div>\n", styles: [":host{width:100%}:host .__content{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}:host .__content .__explorer-item{display:flex;cursor:pointer;flex-direction:column;align-items:center;gap:.5rem;border-radius:.375rem;padding:1rem;text-align:center}:host .__content .__explorer-item:hover{background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host .__content .__explorer-item .__icon{flex-shrink:0}:host .__content .__explorer-item .__name{width:100%;font-size:.875rem;line-height:1.25rem;font-weight:500;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.6em}:host .__content .__explorer-item.--selected{background-color:rgb(var(--ax-sys-color-darker-surface));color:rgb(var(--ax-sys-color-on-darker-surface));border-color:rgb(var(--ax-sys-color-border-darker-surface))}\n"], dependencies: [{ kind: "directive", type: AXPElementDataDirective, selector: "[axp-data]", inputs: ["axp-data", "axp-data-path"] }, { kind: "directive", type: AXPDblClickDirective, selector: "[onDblClick]", outputs: ["onDblClick"] }] }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMDocumentExplorerLargeIconsViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: AXMDocumentExplorerLargeIconsViewComponent, isStandalone: true, selector: "axm-document-explorer-large-icons-view", ngImport: i0, template: "<!-- Large Icons View -->\n<div class=\"__content fa-4x\">\n @for (folder of vm.folders(); track folder.id) {\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(folder)\"\n [axp-data]=\"folder\"\n (click)=\"vm.toggleSelect(folder)\"\n (onDblClick)=\"vm.navigateToFolder(folder.id)\"\n >\n <div class=\"__icon ax-text-yellow-400\">\n @if (vm.isLoadingFolder(folder.id)) {\n <i class=\"fa-light fa-spinner fa-spin-pulse\"></i>\n } @else {\n <i class=\"fas fa-folder-closed\"></i>\n }\n </div>\n <div class=\"__name\">{{ folder.name }}</div>\n </div>\n } @for (file of vm.files(); track file.id) { @let fileInfo = vm.getFileInfo(file.name);\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (onDblClick)=\"vm.openFile(file)\"\n >\n <div class=\"__icon\">\n <i class=\"fa-fw {{ fileInfo.icon }} fa-solid\"></i>\n </div>\n <div class=\"__name\">{{ file.name }}</div>\n </div>\n }\n</div>\n", styles: [":host{width:100%}:host .__content{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}:host .__content .__explorer-item{display:flex;cursor:pointer;flex-direction:column;align-items:center;gap:.5rem;border-radius:.375rem;padding:1rem;text-align:center}:host .__content .__explorer-item:hover{background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host .__content .__explorer-item .__icon{flex-shrink:0}:host .__content .__explorer-item .__name{width:100%;font-size:.875rem;line-height:1.25rem;font-weight:500;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.6em}:host .__content .__explorer-item.--selected{background-color:rgb(var(--ax-sys-color-darker-surface));color:rgb(var(--ax-sys-color-on-darker-surface));border-color:rgb(var(--ax-sys-color-border-darker-surface))}\n"], dependencies: [{ kind: "directive", type: AXPElementDataDirective, selector: "[axp-data]", inputs: ["axp-data", "axp-data-path"] }, { kind: "directive", type: AXPDblClickDirective, selector: "[onDblClick]", outputs: ["onDblClick"] }] }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: AXMDocumentExplorerLargeIconsViewComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMDocumentExplorerLargeIconsViewComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'axm-document-explorer-large-icons-view', standalone: true, imports: [AXPElementDataDirective, AXPDblClickDirective], template: "<!-- Large Icons View -->\n<div class=\"__content fa-4x\">\n @for (folder of vm.folders(); track folder.id) {\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(folder)\"\n [axp-data]=\"folder\"\n (click)=\"vm.toggleSelect(folder)\"\n (onDblClick)=\"vm.navigateToFolder(folder.id)\"\n >\n <div class=\"__icon ax-text-yellow-400\">\n @if (vm.isLoadingFolder(folder.id)) {\n <i class=\"fa-light fa-spinner fa-spin-pulse\"></i>\n } @else {\n <i class=\"fas fa-folder-closed\"></i>\n }\n </div>\n <div class=\"__name\">{{ folder.name }}</div>\n </div>\n } @for (file of vm.files(); track file.id) { @let fileInfo = vm.getFileInfo(file.name);\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (onDblClick)=\"vm.openFile(file)\"\n >\n <div class=\"__icon\">\n <i class=\"fa-fw {{ fileInfo.icon }} fa-solid\"></i>\n </div>\n <div class=\"__name\">{{ file.name }}</div>\n </div>\n }\n</div>\n", styles: [":host{width:100%}:host .__content{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem}:host .__content .__explorer-item{display:flex;cursor:pointer;flex-direction:column;align-items:center;gap:.5rem;border-radius:.375rem;padding:1rem;text-align:center}:host .__content .__explorer-item:hover{background-color:rgb(var(--ax-sys-color-light-surface));color:rgb(var(--ax-sys-color-on-light-surface));border-color:rgb(var(--ax-sys-color-border-light-surface))}:host .__content .__explorer-item .__icon{flex-shrink:0}:host .__content .__explorer-item .__name{width:100%;font-size:.875rem;line-height:1.25rem;font-weight:500;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.6em}:host .__content .__explorer-item.--selected{background-color:rgb(var(--ax-sys-color-darker-surface));color:rgb(var(--ax-sys-color-on-darker-surface));border-color:rgb(var(--ax-sys-color-border-darker-surface))}\n"] }]
16
16
  }] });
17
17
 
18
18
  export { AXMDocumentExplorerLargeIconsViewComponent };
19
- //# sourceMappingURL=acorex-modules-document-management-large-icons-view.component-DD9_xgL4.mjs.map
19
+ //# sourceMappingURL=acorex-modules-document-management-large-icons-view.component-z-EQb_uG.mjs.map