@acorex/modules 20.2.4-next.1 → 20.2.4-next.3

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 (141) hide show
  1. package/conversation/index.d.ts +1 -0
  2. package/customer-management/index.d.ts +167 -0
  3. package/document-management/index.d.ts +99 -13
  4. package/fesm2022/acorex-modules-conversation.mjs +49 -32
  5. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  6. package/fesm2022/acorex-modules-customer-management-acorex-modules-customer-management-OQ1bNJgq.mjs +679 -0
  7. package/fesm2022/acorex-modules-customer-management-acorex-modules-customer-management-OQ1bNJgq.mjs.map +1 -0
  8. package/fesm2022/acorex-modules-customer-management-activity.entity-DMe1FSzX.mjs +98 -0
  9. package/fesm2022/acorex-modules-customer-management-activity.entity-DMe1FSzX.mjs.map +1 -0
  10. package/fesm2022/acorex-modules-customer-management-customer-segment.entity-BwaPguXv.mjs +83 -0
  11. package/fesm2022/acorex-modules-customer-management-customer-segment.entity-BwaPguXv.mjs.map +1 -0
  12. package/fesm2022/acorex-modules-customer-management-customer-type.entity--593B7S-.mjs +95 -0
  13. package/fesm2022/acorex-modules-customer-management-customer-type.entity--593B7S-.mjs.map +1 -0
  14. package/fesm2022/acorex-modules-customer-management-customer.entity-Bh9tz06I.mjs +344 -0
  15. package/fesm2022/acorex-modules-customer-management-customer.entity-Bh9tz06I.mjs.map +1 -0
  16. package/fesm2022/acorex-modules-customer-management-deal-contact-role.entity-CZIIOqbm.mjs +147 -0
  17. package/fesm2022/acorex-modules-customer-management-deal-contact-role.entity-CZIIOqbm.mjs.map +1 -0
  18. package/fesm2022/acorex-modules-customer-management-lead.entity-DGtsH0mF.mjs +97 -0
  19. package/fesm2022/acorex-modules-customer-management-lead.entity-DGtsH0mF.mjs.map +1 -0
  20. package/fesm2022/acorex-modules-customer-management-lifecycle-stage.entity-BAsoYXzc.mjs +72 -0
  21. package/fesm2022/acorex-modules-customer-management-lifecycle-stage.entity-BAsoYXzc.mjs.map +1 -0
  22. package/fesm2022/acorex-modules-customer-management-opportunity-stage.entity-CwWixlpD.mjs +72 -0
  23. package/fesm2022/acorex-modules-customer-management-opportunity-stage.entity-CwWixlpD.mjs.map +1 -0
  24. package/fesm2022/acorex-modules-customer-management-opportunity.entity-U0QaZb0W.mjs +188 -0
  25. package/fesm2022/acorex-modules-customer-management-opportunity.entity-U0QaZb0W.mjs.map +1 -0
  26. package/fesm2022/acorex-modules-customer-management-sales-pipeline.entity-BKl_WTld.mjs +72 -0
  27. package/fesm2022/acorex-modules-customer-management-sales-pipeline.entity-BKl_WTld.mjs.map +1 -0
  28. package/fesm2022/acorex-modules-customer-management-sales-territory.entity-DKV0CYPg.mjs +72 -0
  29. package/fesm2022/acorex-modules-customer-management-sales-territory.entity-DKV0CYPg.mjs.map +1 -0
  30. package/fesm2022/acorex-modules-customer-management.mjs +2 -0
  31. package/fesm2022/acorex-modules-customer-management.mjs.map +1 -0
  32. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-BCTTw-hI.mjs → acorex-modules-document-management-acorex-modules-document-management-uQnZ0m0T.mjs} +1437 -428
  33. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-uQnZ0m0T.mjs.map +1 -0
  34. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C80j1Gn7.mjs → acorex-modules-document-management-attachment-widget.component-Be8WgyUR.mjs} +2 -2
  35. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-C80j1Gn7.mjs.map → acorex-modules-document-management-attachment-widget.component-Be8WgyUR.mjs.map} +1 -1
  36. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BFnvHSjH.mjs → acorex-modules-document-management-create-folder-dialog.component-BlyK5a50.mjs} +4 -4
  37. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BFnvHSjH.mjs.map → acorex-modules-document-management-create-folder-dialog.component-BlyK5a50.mjs.map} +1 -1
  38. package/fesm2022/{acorex-modules-document-management-details-view.component-7OR6bXr-.mjs → acorex-modules-document-management-details-view.component-BlTJ_p5m.mjs} +2 -2
  39. package/fesm2022/{acorex-modules-document-management-details-view.component-7OR6bXr-.mjs.map → acorex-modules-document-management-details-view.component-BlTJ_p5m.mjs.map} +1 -1
  40. package/fesm2022/{acorex-modules-document-management-document-distribution-popup.component-DB4JJ3w7.mjs → acorex-modules-document-management-document-distribution-popup.component-BFL8zeml.mjs} +4 -4
  41. package/fesm2022/acorex-modules-document-management-document-distribution-popup.component-BFL8zeml.mjs.map +1 -0
  42. package/fesm2022/{acorex-modules-document-management-document-send-to-review-popup.component-CtpLvPIr.mjs → acorex-modules-document-management-document-send-to-review-popup.component-CoymgoD7.mjs} +4 -4
  43. package/fesm2022/acorex-modules-document-management-document-send-to-review-popup.component-CoymgoD7.mjs.map +1 -0
  44. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-BOjb2k4S.mjs → acorex-modules-document-management-document-signature-popup.component-BONQz9u3.mjs} +4 -4
  45. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-BOjb2k4S.mjs.map → acorex-modules-document-management-document-signature-popup.component-BONQz9u3.mjs.map} +1 -1
  46. package/fesm2022/{acorex-modules-document-management-drive-choose.component-B66hegSh.mjs → acorex-modules-document-management-drive-choose.component-B1CoE7aP.mjs} +4 -4
  47. package/fesm2022/{acorex-modules-document-management-drive-choose.component-B66hegSh.mjs.map → acorex-modules-document-management-drive-choose.component-B1CoE7aP.mjs.map} +1 -1
  48. package/fesm2022/{acorex-modules-document-management-drive.component-DZhd1DUn.mjs → acorex-modules-document-management-drive.component-I5pzEVVg.mjs} +5 -5
  49. package/fesm2022/{acorex-modules-document-management-drive.component-DZhd1DUn.mjs.map → acorex-modules-document-management-drive.component-I5pzEVVg.mjs.map} +1 -1
  50. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DJn6kyvL.mjs → acorex-modules-document-management-large-icons-view.component-9GtpGvk4.mjs} +2 -2
  51. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-DJn6kyvL.mjs.map → acorex-modules-document-management-large-icons-view.component-9GtpGvk4.mjs.map} +1 -1
  52. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-BeR4aIqh.mjs → acorex-modules-document-management-large-tiles-view.component-ByBZUD_u.mjs} +2 -2
  53. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-BeR4aIqh.mjs.map → acorex-modules-document-management-large-tiles-view.component-ByBZUD_u.mjs.map} +1 -1
  54. package/fesm2022/{acorex-modules-document-management-list-view.component-oDeeGScM.mjs → acorex-modules-document-management-list-view.component-ClW5GdHG.mjs} +2 -2
  55. package/fesm2022/{acorex-modules-document-management-list-view.component-oDeeGScM.mjs.map → acorex-modules-document-management-list-view.component-ClW5GdHG.mjs.map} +1 -1
  56. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-BbPbZmkc.mjs → acorex-modules-document-management-meta-choose-popup.component-DXTdVhrh.mjs} +3 -3
  57. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-BbPbZmkc.mjs.map → acorex-modules-document-management-meta-choose-popup.component-DXTdVhrh.mjs.map} +1 -1
  58. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-CMEJt7pe.mjs → acorex-modules-document-management-permission-definition.provider-CljbPHm-.mjs} +2 -2
  59. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-CMEJt7pe.mjs.map → acorex-modules-document-management-permission-definition.provider-CljbPHm-.mjs.map} +1 -1
  60. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-Da9v8nVj.mjs → acorex-modules-document-management-rename-node-dialog.component-xeY0XzAG.mjs} +4 -4
  61. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-Da9v8nVj.mjs.map → acorex-modules-document-management-rename-node-dialog.component-xeY0XzAG.mjs.map} +1 -1
  62. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Wfms-st6.mjs → acorex-modules-document-management-small-icons-view.component--GP3AYPi.mjs} +2 -2
  63. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Wfms-st6.mjs.map → acorex-modules-document-management-small-icons-view.component--GP3AYPi.mjs.map} +1 -1
  64. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-DSDfR1nj.mjs → acorex-modules-document-management-small-tiles-view.component-BVxR6ndq.mjs} +2 -2
  65. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-DSDfR1nj.mjs.map → acorex-modules-document-management-small-tiles-view.component-BVxR6ndq.mjs.map} +1 -1
  66. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  67. package/fesm2022/{acorex-modules-help-desk-acorex-modules-help-desk-Bvoh_GpG.mjs → acorex-modules-help-desk-acorex-modules-help-desk-UzQZBc6W.mjs} +19 -79
  68. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-UzQZBc6W.mjs.map +1 -0
  69. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-DIMqm4q_.mjs → acorex-modules-help-desk-capture-screen.component-C4veMiCB.mjs} +4 -4
  70. package/fesm2022/{acorex-modules-help-desk-capture-screen.component-DIMqm4q_.mjs.map → acorex-modules-help-desk-capture-screen.component-C4veMiCB.mjs.map} +1 -1
  71. package/fesm2022/acorex-modules-help-desk.mjs +1 -1
  72. package/fesm2022/acorex-modules-log-management.mjs +261 -10
  73. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  74. package/fesm2022/{acorex-modules-meeting-management-meeting-publish-popup.component-PcBFprq3.mjs → acorex-modules-meeting-management-meeting-publish-popup.component-BKZy7M-X.mjs} +2 -2
  75. package/fesm2022/acorex-modules-meeting-management-meeting-publish-popup.component-BKZy7M-X.mjs.map +1 -0
  76. package/fesm2022/acorex-modules-meeting-management.mjs +51 -11
  77. package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
  78. package/fesm2022/{acorex-modules-organization-management-branch.entity-B_CYwiX9.mjs → acorex-modules-organization-management-branch.entity-Dres_jqx.mjs} +4 -2
  79. package/fesm2022/acorex-modules-organization-management-branch.entity-Dres_jqx.mjs.map +1 -0
  80. package/fesm2022/{acorex-modules-organization-management-department.entity-BbBrK4BN.mjs → acorex-modules-organization-management-department.entity-Cot-9HVC.mjs} +4 -2
  81. package/fesm2022/acorex-modules-organization-management-department.entity-Cot-9HVC.mjs.map +1 -0
  82. package/fesm2022/{acorex-modules-organization-management-division.entity-DdX7LcCU.mjs → acorex-modules-organization-management-division.entity-Dg68kBto.mjs} +11 -5
  83. package/fesm2022/acorex-modules-organization-management-division.entity-Dg68kBto.mjs.map +1 -0
  84. package/fesm2022/acorex-modules-organization-management-employee-skill.entity-DoQcCwQz.mjs +296 -0
  85. package/fesm2022/acorex-modules-organization-management-employee-skill.entity-DoQcCwQz.mjs.map +1 -0
  86. package/fesm2022/{acorex-modules-organization-management-employee.entity-zDTyY9NK.mjs → acorex-modules-organization-management-employee.entity-BuvyXqnP.mjs} +92 -311
  87. package/fesm2022/acorex-modules-organization-management-employee.entity-BuvyXqnP.mjs.map +1 -0
  88. package/fesm2022/{acorex-modules-organization-management-role.entity-BdjgFsgo.mjs → acorex-modules-organization-management-position.entity-DK-i78ck.mjs} +18 -93
  89. package/fesm2022/acorex-modules-organization-management-position.entity-DK-i78ck.mjs.map +1 -0
  90. package/fesm2022/{acorex-modules-organization-management-position.entity-DT7EyvrR.mjs → acorex-modules-organization-management-role.entity-DVoKtduv.mjs} +10 -25
  91. package/fesm2022/acorex-modules-organization-management-role.entity-DVoKtduv.mjs.map +1 -0
  92. package/fesm2022/{acorex-modules-organization-management-team.entity-DkRLWl0u.mjs → acorex-modules-organization-management-team.entity-D6iNAU4g.mjs} +14 -12
  93. package/fesm2022/acorex-modules-organization-management-team.entity-D6iNAU4g.mjs.map +1 -0
  94. package/fesm2022/acorex-modules-organization-management.mjs +59 -154
  95. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  96. package/fesm2022/{acorex-modules-party-management-acorex-modules-party-management-BFyD7IcC.mjs → acorex-modules-party-management-acorex-modules-party-management-BY6hXmhQ.mjs} +42 -7
  97. package/fesm2022/acorex-modules-party-management-acorex-modules-party-management-BY6hXmhQ.mjs.map +1 -0
  98. package/fesm2022/acorex-modules-party-management-industry.entity-CALiUOAF.mjs +91 -0
  99. package/fesm2022/acorex-modules-party-management-industry.entity-CALiUOAF.mjs.map +1 -0
  100. package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-BYsWpup7.mjs → acorex-modules-party-management-party-identifier-type.entity-BTkKl8Ka.mjs} +2 -2
  101. package/fesm2022/{acorex-modules-party-management-party-identifier-type.entity-BYsWpup7.mjs.map → acorex-modules-party-management-party-identifier-type.entity-BTkKl8Ka.mjs.map} +1 -1
  102. package/fesm2022/{acorex-modules-party-management-party-identifier.entity-DSn4lsX-.mjs → acorex-modules-party-management-party-identifier.entity-eDKHu-Ek.mjs} +2 -2
  103. package/fesm2022/{acorex-modules-party-management-party-identifier.entity-DSn4lsX-.mjs.map → acorex-modules-party-management-party-identifier.entity-eDKHu-Ek.mjs.map} +1 -1
  104. package/fesm2022/{acorex-modules-party-management-party-relationship.entity-BG5zuKPH.mjs → acorex-modules-party-management-party-relationship.entity-BNTNx-oY.mjs} +2 -2
  105. package/fesm2022/{acorex-modules-party-management-party-relationship.entity-BG5zuKPH.mjs.map → acorex-modules-party-management-party-relationship.entity-BNTNx-oY.mjs.map} +1 -1
  106. package/fesm2022/{acorex-modules-party-management-party-role.entity-jCTZL0mT.mjs → acorex-modules-party-management-party-role.entity-iETQVgTK.mjs} +3 -3
  107. package/fesm2022/acorex-modules-party-management-party-role.entity-iETQVgTK.mjs.map +1 -0
  108. package/fesm2022/{acorex-modules-party-management-party.entity-BwAAZRJc.mjs → acorex-modules-party-management-party.entity-lRpTfdRp.mjs} +7 -7
  109. package/fesm2022/acorex-modules-party-management-party.entity-lRpTfdRp.mjs.map +1 -0
  110. package/fesm2022/acorex-modules-party-management.mjs +1 -1
  111. package/fesm2022/acorex-modules-project-management.mjs +1 -1
  112. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  113. package/fesm2022/acorex-modules-report-management.mjs +289 -160
  114. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  115. package/fesm2022/acorex-modules-security-management.mjs +50 -243
  116. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  117. package/fesm2022/{acorex-modules-task-management-task-board.page-BBbHu2jz.mjs → acorex-modules-task-management-task-board.page-DsaCXemI.mjs} +5 -5
  118. package/fesm2022/acorex-modules-task-management-task-board.page-DsaCXemI.mjs.map +1 -0
  119. package/fesm2022/acorex-modules-task-management.mjs +2 -2
  120. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  121. package/organization-management/index.d.ts +49 -16
  122. package/package.json +5 -1
  123. package/party-management/index.d.ts +6 -0
  124. package/report-management/index.d.ts +234 -231
  125. package/security-management/index.d.ts +1 -4
  126. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BCTTw-hI.mjs.map +0 -1
  127. package/fesm2022/acorex-modules-document-management-document-distribution-popup.component-DB4JJ3w7.mjs.map +0 -1
  128. package/fesm2022/acorex-modules-document-management-document-send-to-review-popup.component-CtpLvPIr.mjs.map +0 -1
  129. package/fesm2022/acorex-modules-help-desk-acorex-modules-help-desk-Bvoh_GpG.mjs.map +0 -1
  130. package/fesm2022/acorex-modules-meeting-management-meeting-publish-popup.component-PcBFprq3.mjs.map +0 -1
  131. package/fesm2022/acorex-modules-organization-management-branch.entity-B_CYwiX9.mjs.map +0 -1
  132. package/fesm2022/acorex-modules-organization-management-department.entity-BbBrK4BN.mjs.map +0 -1
  133. package/fesm2022/acorex-modules-organization-management-division.entity-DdX7LcCU.mjs.map +0 -1
  134. package/fesm2022/acorex-modules-organization-management-employee.entity-zDTyY9NK.mjs.map +0 -1
  135. package/fesm2022/acorex-modules-organization-management-position.entity-DT7EyvrR.mjs.map +0 -1
  136. package/fesm2022/acorex-modules-organization-management-role.entity-BdjgFsgo.mjs.map +0 -1
  137. package/fesm2022/acorex-modules-organization-management-team.entity-DkRLWl0u.mjs.map +0 -1
  138. package/fesm2022/acorex-modules-party-management-acorex-modules-party-management-BFyD7IcC.mjs.map +0 -1
  139. package/fesm2022/acorex-modules-party-management-party-role.entity-jCTZL0mT.mjs.map +0 -1
  140. package/fesm2022/acorex-modules-party-management-party.entity-BwAAZRJc.mjs.map +0 -1
  141. package/fesm2022/acorex-modules-task-management-task-board.page-BBbHu2jz.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-document-management-meta-choose-popup.component-BbPbZmkc.mjs","sources":["../tmp-esm2022/document-management/lib/features/meta-choose-widget/meta-choose-popup/meta-choose-popup.component.js"],"sourcesContent":["import { Component, signal, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTreeViewModule } from '@acorex/components/tree-view';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CdkDrag, CdkDragHandle, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { FormsModule } from '@angular/forms';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXPQueryService } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/search-box\";\nimport * as i3 from \"@acorex/components/tree-view\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/components/button\";\nimport * as i6 from \"@acorex/components/check-box\";\nimport * as i7 from \"@acorex/components/collapse\";\nimport * as i8 from \"@acorex/components/label\";\nimport * as i9 from \"@angular/forms\";\nimport * as i10 from \"@acorex/core/translation\";\n//#endregion\nexport class AXPMetaChoosePopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.queryService = inject(AXPQueryService);\n this.workflow = inject(AXPWorkflowService);\n this.initialData = [];\n /**\n * Holds the complete list of tree items in a flattened structure.\n * This structure makes it easy to:\n * 1) Provide children lazily via `provideLazyTreeView` using `parentId`.\n * 2) Perform search across all levels while still being able to include\n * ancestor nodes of matched items.\n */\n this.treeViewData = signal([], ...(ngDevMode ? [{ debugName: \"treeViewData\" }] : []));\n /**\n * Flat list of ALL nodes (for easy look-ups during search).\n */\n this.originalFlatData = [];\n /**\n * Original *nested* tree structure (used to reset and to rebuild filtered trees).\n */\n this.originalNestedData = [];\n this.searchTerm = signal('', ...(ngDevMode ? [{ debugName: \"searchTerm\" }] : []));\n //#region ---- Selected Configs ----\n this.selectedConfigs = signal([], ...(ngDevMode ? [{ debugName: \"selectedConfigs\" }] : []));\n }\n //#endregion\n ngOnInit() {\n this.queryService.fetch('category-with-items', undefined).then((categories) => {\n //#region ---- Helper Functions ----\n const convertCategoryToTreeItem = (category) => {\n const categoryChildren = [\n // Map sub-categories recursively\n ...category.children?.map((c) => convertCategoryToTreeItem(c)) ?? [],\n // Map items of current category\n ...category.items.map((item) => ({\n id: item.id,\n text: item.title,\n parentId: category.id,\n hasCheckbox: true,\n isSelected: false,\n //\n interface: item.interface,\n name: item.name,\n title: item.title\n })),\n ];\n return {\n id: category.id,\n text: category.title,\n parentId: category.parentId,\n hasCheckbox: false,\n children: categoryChildren,\n isSelected: false,\n //fake\n interface: '',\n name: '',\n title: ''\n };\n };\n //#endregion\n // Build **nested** tree structure first so that each parent\n // contains its children array (similar to the sample at line 208).\n const nestedTree = categories?.map((c) => convertCategoryToTreeItem(c)) ?? [];\n // Additionally build a flattened list of all nodes (same objects) so\n // that we can re-use the existing search implementation which\n // expects a flat array.\n const flatList = [];\n const collectFlat = (nodes) => {\n nodes.forEach((n) => {\n flatList.push(n);\n if (Array.isArray(n.children) && n.children.length > 0) {\n collectFlat(n.children);\n }\n });\n };\n collectFlat(nestedTree);\n // --- Apply initial selections ---\n if (this.initialData && this.initialData.length > 0) {\n const initialIds = new Set(this.initialData.map((d) => d.id));\n flatList.forEach((node) => {\n if (node.hasCheckbox && initialIds.has(node.id)) {\n node.isSelected = true;\n }\n });\n }\n // Persist original data (both flattened and nested) & initialise reactive signal.\n this.originalFlatData = flatList;\n this.originalNestedData = nestedTree;\n // Set initial tree view data to display the tree\n this.treeViewData.set([...nestedTree]);\n // Initialise selected list if any initial selections\n this.synchroniseSelectedConfigs();\n });\n this.selectedConfigs.set(this.initialData ?? []);\n }\n handleSelectClick() {\n // Return the configured selected items from the right panel\n const selectedConfigs = this.selectedConfigs();\n if (selectedConfigs.length > 0) {\n this.close(selectedConfigs);\n }\n else {\n this.close();\n }\n }\n handleCloseClick() {\n this.close();\n }\n handleChangeSearchValue(e) {\n const term = (e.value ?? '').trim();\n this.searchTerm.set(term);\n // Reset to the pristine nested tree when search is cleared.\n if (!term) {\n this.treeViewData.set([...this.originalNestedData]);\n return;\n }\n const loweredTerm = term.toLowerCase();\n // Build a quick lookup map to traverse ancestors efficiently\n const mapById = new Map(this.originalFlatData.map((item) => [item.id, item]));\n // Helper to collect all ancestors of a given node\n const collectAncestors = (node) => {\n const ancestors = [];\n let currentParentId = node.parentId;\n while (currentParentId) {\n const parent = mapById.get(currentParentId);\n if (!parent) {\n break;\n }\n ancestors.push(parent);\n currentParentId = parent.parentId;\n }\n return ancestors;\n };\n // 1) Find all nodes whose text contains the search term\n const matchedNodes = this.originalFlatData.filter((item) => item.text.toLowerCase().includes(loweredTerm));\n // 2) Collect their ancestors to ensure the tree can render correct paths\n const resultSet = new Map();\n matchedNodes.forEach((node) => {\n resultSet.set(node.id, node);\n collectAncestors(node).forEach((ancestor) => resultSet.set(ancestor.id, ancestor));\n });\n // ---------------------------------------------------------\n // Ensure child nodes are NOT rendered at the root level.\n // We only pass nodes to the tree component that do **not**\n // have their parent already present in the final result set.\n // This preserves the correct hierarchy and prevents duplicates\n // like the extra root-level entry highlighted in yellow.\n // ---------------------------------------------------------\n // Build a *nested* tree that contains ONLY nodes present in `resultSet`.\n const idSet = new Set(resultSet.keys());\n const cloneIfIncluded = (node) => {\n if (!idSet.has(node.id)) {\n return null;\n }\n const cloned = {\n ...node,\n // Create fresh children array (will be populated recursively)\n children: []\n };\n if (Array.isArray(node.children)) {\n node.children.forEach((child) => {\n const c = cloneIfIncluded(child);\n if (c) {\n cloned.children.push(c);\n }\n });\n }\n return cloned;\n };\n const filteredRoots = [];\n this.originalNestedData.forEach((root) => {\n const clonedRoot = cloneIfIncluded(root);\n if (clonedRoot) {\n filteredRoots.push(clonedRoot);\n }\n });\n this.treeViewData.set(filteredRoots);\n }\n //#region ---- Tree Interaction Handlers ----\n handleSelectionChanged(e) {\n // Tree toggles selection internally; just sync configs afterwards\n this.synchroniseSelectedConfigs();\n }\n synchroniseSelectedConfigs() {\n const selectedNodes = this.originalFlatData.filter((n) => n.hasCheckbox && n.isSelected);\n this.selectedConfigs.update((prev) => {\n // Remove configs that are no longer selected\n let next = prev.filter((cfg) => selectedNodes.some((n) => n.id === cfg.id));\n // Add new configs\n selectedNodes.forEach((n) => {\n if (!next.some((cfg) => cfg.id === n.id)) {\n next.push({ ...n, isRequired: false, placeholder: '', status: 'temporary' });\n }\n });\n return [...next];\n });\n }\n toggleSelection(cfg) {\n // Find the original node in flatData and update it\n const originalNode = this.originalFlatData.find(n => n.id === cfg.id);\n if (originalNode) {\n originalNode.isSelected = !originalNode.isSelected;\n }\n // Force tree view to update by triggering signal change\n this.treeViewData.set([...this.treeViewData()]);\n this.synchroniseSelectedConfigs();\n }\n //#endregion\n //#region ---- Drag & Drop (Ordering) ----\n handleDrop(event) {\n const list = [...this.selectedConfigs()];\n moveItemInArray(list, event.previousIndex, event.currentIndex);\n this.selectedConfigs.set(list);\n }\n //#endregion\n //#region ---- Manual Ordering Methods ----\n moveItemUp(e, index) {\n e.stopPropagation();\n if (index <= 0)\n return; // Already at top\n const list = [...this.selectedConfigs()];\n [list[index - 1], list[index]] = [list[index], list[index - 1]];\n this.selectedConfigs.set(list);\n }\n moveItemDown(e, index) {\n e.stopPropagation();\n const currentList = this.selectedConfigs();\n if (index >= currentList.length - 1)\n return; // Already at bottom\n const list = [...currentList];\n [list[index], list[index + 1]] = [list[index + 1], list[index]];\n this.selectedConfigs.set(list);\n }\n //#endregion\n //#region ---- Template Actions ----\n async handlePreviewMeta(item) {\n if (item.hasCheckbox) {\n await this.workflow.execute('open-form-template', {\n data: {\n template: item.interface,\n },\n metadata: {\n preview: true,\n },\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPMetaChoosePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPMetaChoosePopupComponent, isStandalone: true, selector: \"axp-meta-choose-popup\", providers: [], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-p-4 ax-flex ax-gap-4 ax-overflow-hidden\\\">\\n <!-- Left: Meta tree -->\\n <div class=\\\"ax-flex-1 ax-flex ax-flex-col ax-gap-4 ax-min-w-0\\\">\\n <ax-search-box\\n [placeholder]=\\\"'widget.lookup.search' | translate | async\\\"\\n [value]=\\\"searchTerm()\\\"\\n (onValueChanged)=\\\"handleChangeSearchValue($event)\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n\\n <ax-tree-view\\n [hasChildField]=\\\"'hasChild'\\\"\\n [parentField]=\\\"'parentId'\\\"\\n [items]=\\\"treeViewData()\\\"\\n [selectionMode]=\\\"'multiple'\\\"\\n [selectedField]=\\\"'isSelected'\\\"\\n (onSelectionChanged)=\\\"handleSelectionChanged($event)\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [focusNodeEnabled]=\\\"false\\\"\\n class=\\\"ax-flex-1 ax-overflow-auto\\\"\\n ></ax-tree-view>\\n </div>\\n\\n <!-- Right: Selected list -->\\n <div class=\\\"ax-w-1/2 ax-flex ax-flex-col ax-gap-3 ax-select-none ax-overflow-auto ax-h-[400px]\\\" cdkDropList (cdkDropListDropped)=\\\"handleDrop($event)\\\">\\n <h6 class=\\\"ax-font-semibold ax-text-sm\\\" *ngIf=\\\"selectedConfigs().length\\\">Selected Items</h6>\\n\\n @for(cfg of selectedConfigs(); track cfg.id; let i = $index) {\\n <div cdkDrag class=\\\"ax-bg-white ax-rounded-md ax-shadow-sm ax-border ax-border-gray-200\\\" cdkDragBoundary=\\\".ax-select-none\\\">\\n <!-- Collapse with custom header template -->\\n <ax-collapse-group look=\\\"fill\\\">\\n <ax-collapse caption=\\\"Options\\\" [headerTemplate]=\\\"headerTpl\\\">\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n >\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </ax-check-box>\\n \\n </div>\\n \\n <!-- Header template -->\\n <ng-template #headerTpl>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full ax-px-3 ax-py-2\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-gray-400\\\" cdkDragHandle></ax-icon>\\n <span class=\\\"ax-text-sm ax-font-medium\\\">{{ cfg.text }}</span>\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-1\\\">\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-up ax-text-primary ax-cursor-pointer ax-text-xs\\\" \\n (click)=\\\"moveItemUp($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === 0\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === 0\\\"\\n title=\\\"Move Up\\\">\\n </ax-icon>\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-down ax-text-primary ax-cursor-pointer ax-text-xs ax-px-2\\\" \\n (click)=\\\"moveItemDown($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === selectedConfigs().length - 1\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === selectedConfigs().length - 1\\\"\\n title=\\\"Move Down\\\">\\n </ax-icon>\\n <ax-icon class=\\\"fa-solid fa-xmark ax-text-danger ax-cursor-pointer\\\" (click)=\\\"toggleSelection(cfg)\\\"></ax-icon>\\n </div>\\n </div>\\n </ng-template>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<ax-footer>\\n <ax-suffix>\\n <ax-button look=\\\"solid\\\" [text]=\\\"('close' | translate | async)!\\\" (onClick)=\\\"handleCloseClick()\\\"> </ax-button>\\n <ax-button look=\\\"solid\\\" color=\\\"primary\\\" [text]=\\\"('select' | translate | async)!\\\" (onClick)=\\\"handleSelectClick()\\\">\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\\n<ng-template #itemTemplate let-item>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full\\\">\\n <span>{{ item.text }}</span>\\n @if(item.hasCheckbox) {\\n <ax-icon \\n class=\\\"fa-regular fa-eye ax-text-primary ax-cursor-pointer ax-ml-2\\\" \\n (click)=\\\"handlePreviewMeta(item)\\\"\\n title=\\\"Preview Meta\\\">\\n </ax-icon>\\n }\\n </div>\\n</ng-template>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"directive\", type: i1.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"ngmodule\", type: \n // ACoreX\n AXSearchBoxModule }, { kind: \"component\", type: i2.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: AXTreeViewModule }, { kind: \"component\", type: i3.AXTreeViewComponent, selector: \"ax-tree-view\", inputs: [\"items\", \"showCheckbox\", \"hasCheckboxField\", \"selectionMode\", \"selectionBehavior\", \"selectionScope\", \"focusNodeEnabled\", \"valueField\", \"textField\", \"visibleField\", \"disableField\", \"hasChildField\", \"selectedField\", \"expandedField\", \"tooltipField\", \"childrenField\", \"activeField\", \"indeterminateField\", \"parentField\", \"iconField\", \"toggleIcons\", \"look\", \"showEmptyNodeMassage\", \"itemTemplate\", \"emptyTemplate\", \"expandOn\"], outputs: [\"onSelectionChanged\", \"onItemSelectedChanged\", \"onNodeClick\", \"onCollapsedChanged\", \"onNodedbClick\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.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: AXButtonModule }, { kind: \"component\", type: i5.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: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"component\", type: i6.AXCheckBoxComponent, selector: \"ax-check-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"color\", \"value\", \"name\", \"id\", \"isLoading\", \"indeterminate\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"onValueChanged\"] }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"ngmodule\", type: AXCollapseModule }, { kind: \"component\", type: i7.AXCollapseComponent, selector: \"ax-collapse\", inputs: [\"disabled\", \"look\", \"isCollapsed\", \"showHeader\", \"caption\", \"icon\", \"isLoading\", \"headerTemplate\"], outputs: [\"onClick\", \"isCollapsedChange\"] }, { kind: \"component\", type: i7.AXCollapseGroupComponent, selector: \"ax-collapse-group\", inputs: [\"look\", \"accordion\", \"activeIndex\"], outputs: [\"accordionChange\", \"activeIndexChange\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i8.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"directive\", type: \n // CDK DragDrop modules\n CdkDropList, selector: \"[cdkDropList], cdk-drop-list\", inputs: [\"cdkDropListConnectedTo\", \"cdkDropListData\", \"cdkDropListOrientation\", \"id\", \"cdkDropListLockAxis\", \"cdkDropListDisabled\", \"cdkDropListSortingDisabled\", \"cdkDropListEnterPredicate\", \"cdkDropListSortPredicate\", \"cdkDropListAutoScrollDisabled\", \"cdkDropListAutoScrollStep\", \"cdkDropListElementContainer\", \"cdkDropListHasAnchor\"], outputs: [\"cdkDropListDropped\", \"cdkDropListEntered\", \"cdkDropListExited\", \"cdkDropListSorted\"], exportAs: [\"cdkDropList\"] }, { kind: \"directive\", type: CdkDrag, selector: \"[cdkDrag]\", inputs: [\"cdkDragData\", \"cdkDragLockAxis\", \"cdkDragRootElement\", \"cdkDragBoundary\", \"cdkDragStartDelay\", \"cdkDragFreeDragPosition\", \"cdkDragDisabled\", \"cdkDragConstrainPosition\", \"cdkDragPreviewClass\", \"cdkDragPreviewContainer\", \"cdkDragScale\"], outputs: [\"cdkDragStarted\", \"cdkDragReleased\", \"cdkDragEnded\", \"cdkDragEntered\", \"cdkDragExited\", \"cdkDragDropped\", \"cdkDragMoved\"], exportAs: [\"cdkDrag\"] }, { kind: \"directive\", type: CdkDragHandle, selector: \"[cdkDragHandle]\", inputs: [\"cdkDragHandleDisabled\"] }, { kind: \"ngmodule\", type: \n // Forms\n FormsModule }, { kind: \"directive\", type: i9.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i9.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i10.AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPMetaChoosePopupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-meta-choose-popup', imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXSearchBoxModule,\n AXTreeViewModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXCheckBoxModule,\n AXTextBoxModule,\n AXCollapseModule,\n AXLabelModule,\n // CDK DragDrop modules\n CdkDropList,\n CdkDrag,\n CdkDragHandle,\n // Forms\n FormsModule,\n ], encapsulation: ViewEncapsulation.None, providers: [], template: \"<div class=\\\"ax-p-4 ax-flex ax-gap-4 ax-overflow-hidden\\\">\\n <!-- Left: Meta tree -->\\n <div class=\\\"ax-flex-1 ax-flex ax-flex-col ax-gap-4 ax-min-w-0\\\">\\n <ax-search-box\\n [placeholder]=\\\"'widget.lookup.search' | translate | async\\\"\\n [value]=\\\"searchTerm()\\\"\\n (onValueChanged)=\\\"handleChangeSearchValue($event)\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n\\n <ax-tree-view\\n [hasChildField]=\\\"'hasChild'\\\"\\n [parentField]=\\\"'parentId'\\\"\\n [items]=\\\"treeViewData()\\\"\\n [selectionMode]=\\\"'multiple'\\\"\\n [selectedField]=\\\"'isSelected'\\\"\\n (onSelectionChanged)=\\\"handleSelectionChanged($event)\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [focusNodeEnabled]=\\\"false\\\"\\n class=\\\"ax-flex-1 ax-overflow-auto\\\"\\n ></ax-tree-view>\\n </div>\\n\\n <!-- Right: Selected list -->\\n <div class=\\\"ax-w-1/2 ax-flex ax-flex-col ax-gap-3 ax-select-none ax-overflow-auto ax-h-[400px]\\\" cdkDropList (cdkDropListDropped)=\\\"handleDrop($event)\\\">\\n <h6 class=\\\"ax-font-semibold ax-text-sm\\\" *ngIf=\\\"selectedConfigs().length\\\">Selected Items</h6>\\n\\n @for(cfg of selectedConfigs(); track cfg.id; let i = $index) {\\n <div cdkDrag class=\\\"ax-bg-white ax-rounded-md ax-shadow-sm ax-border ax-border-gray-200\\\" cdkDragBoundary=\\\".ax-select-none\\\">\\n <!-- Collapse with custom header template -->\\n <ax-collapse-group look=\\\"fill\\\">\\n <ax-collapse caption=\\\"Options\\\" [headerTemplate]=\\\"headerTpl\\\">\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n >\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </ax-check-box>\\n \\n </div>\\n \\n <!-- Header template -->\\n <ng-template #headerTpl>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full ax-px-3 ax-py-2\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-gray-400\\\" cdkDragHandle></ax-icon>\\n <span class=\\\"ax-text-sm ax-font-medium\\\">{{ cfg.text }}</span>\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-1\\\">\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-up ax-text-primary ax-cursor-pointer ax-text-xs\\\" \\n (click)=\\\"moveItemUp($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === 0\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === 0\\\"\\n title=\\\"Move Up\\\">\\n </ax-icon>\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-down ax-text-primary ax-cursor-pointer ax-text-xs ax-px-2\\\" \\n (click)=\\\"moveItemDown($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === selectedConfigs().length - 1\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === selectedConfigs().length - 1\\\"\\n title=\\\"Move Down\\\">\\n </ax-icon>\\n <ax-icon class=\\\"fa-solid fa-xmark ax-text-danger ax-cursor-pointer\\\" (click)=\\\"toggleSelection(cfg)\\\"></ax-icon>\\n </div>\\n </div>\\n </ng-template>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<ax-footer>\\n <ax-suffix>\\n <ax-button look=\\\"solid\\\" [text]=\\\"('close' | translate | async)!\\\" (onClick)=\\\"handleCloseClick()\\\"> </ax-button>\\n <ax-button look=\\\"solid\\\" color=\\\"primary\\\" [text]=\\\"('select' | translate | async)!\\\" (onClick)=\\\"handleSelectClick()\\\">\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\\n<ng-template #itemTemplate let-item>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full\\\">\\n <span>{{ item.text }}</span>\\n @if(item.hasCheckbox) {\\n <ax-icon \\n class=\\\"fa-regular fa-eye ax-text-primary ax-cursor-pointer ax-ml-2\\\" \\n (click)=\\\"handlePreviewMeta(item)\\\"\\n title=\\\"Preview Meta\\\">\\n </ax-icon>\\n }\\n </div>\\n</ng-template>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1jaG9vc2UtcG9wdXAvbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1jaG9vc2UtcG9wdXAvbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTRCLE1BQU0sOEJBQThCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxPQUFPLEVBQWUsYUFBYSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FB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QUFPLEVBQUUsSUFBSTtpQkFDaEI7YUFDSixDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQzs4R0FsVFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIsb0VBSnpCLEVBRVYsaURDeEVMLDRwSUErRkE7Z0JEN0NRLFVBQVU7Z0JBQ1YsWUFBWTtnQkFDWixTQUFTO2dCQUNULGlCQUFpQiw0WUFDakIsZ0JBQWdCLDRvQkFDaEIsaUJBQWlCLHNjQUNqQixjQUFjLDZYQUNkLG1CQUFtQiw4QkFDbkIsZ0JBQWdCLDBSQUNoQixlQUFlLDhCQUNmLGdCQUFnQiw4YkFDaEIsYUFBYTtnQkFDYix1QkFBdUI7Z0JBQ3ZCLFdBQVcsc2hCQUNYLE9BQU8sd2NBQ1AsYUFBYTtnQkFDYixRQUFRO2dCQUNSLFdBQVc7OzJGQU9OLDJCQUEyQjtrQkE3QnZDLFNBQVM7K0JBQ0ksdUJBQXVCLFdBR3hCO3dCQUNMLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixTQUFTO3dCQUNULGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLHVCQUF1Qjt3QkFDdkIsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixXQUFXO3FCQUNkLGlCQUNjLGlCQUFpQixDQUFDLElBQUksYUFDMUIsRUFFViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgc2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYU2VhcmNoQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlYXJjaC1ib3gnO1xuaW1wb3J0IHsgQVhUcmVlVmlld01vZHVsZSwgQVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RyZWUtdmlldyc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWwgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvZGF0YS1tYW5hZ2VtZW50JztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcmFnSGFuZGxlLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgQVhDb2xsYXBzZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xsYXBzZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYTGFiZWxNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWFBNZXRhRGF0YURlZmluaXRpb24gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEFYUFF1ZXJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBBWFBDYXRlZ29yeUVudGl0eVdpdGhJdGVtcyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTWV0YVRyZWVJdGVtIGV4dGVuZHMgQVhQTWV0YURhdGFEZWZpbml0aW9uIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHBhcmVudElkPzogc3RyaW5nO1xuICAgIGhhc0NoaWxkPzogYm9vbGVhbjtcbiAgICBoYXNDaGVja2JveD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWwgY2hpbGRyZW4gY29sbGVjdGlvbiBmb3IgbmVzdGVkIHRyZWUgcmVuZGVyaW5nLlxuICAgICAqL1xuICAgIGNoaWxkcmVuPzogQVhQTWV0YVRyZWVJdGVtW107XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbi8vI3JlZ2lvbiAtLS0tICAgSGVscGVyIEludGVyZmFjZXMgICAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0ZWRDb25maWcgZXh0ZW5kcyBBWFBNZXRhVHJlZUl0ZW0ge1xuICAgIGlzUmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcbn1cblxuLy8jZW5kcmVnaW9uXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhwLW1ldGEtY2hvb3NlLXBvcHVwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9tZXRhLWNob29zZS1wb3B1cC5jb21wb25lbnQuc2NzcycsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBBbmd1bGFyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgLy8gQUNvcmVYXG4gICAgICAgIEFYU2VhcmNoQm94TW9kdWxlLFxuICAgICAgICBBWFRyZWVWaWV3TW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgICAgIEFYQ2hlY2tCb3hNb2R1bGUsXG4gICAgICAgIEFYVGV4dEJveE1vZHVsZSxcbiAgICAgICAgQVhDb2xsYXBzZU1vZHVsZSxcbiAgICAgICAgQVhMYWJlbE1vZHVsZSxcbiAgICAgICAgLy8gQ0RLIERyYWdEcm9wIG1vZHVsZXNcbiAgICAgICAgQ2RrRHJvcExpc3QsXG4gICAgICAgIENka0RyYWcsXG4gICAgICAgIENka0RyYWdIYW5kbGUsXG4gICAgICAgIC8vIEZvcm1zXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcblxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUE1ldGFDaG9vc2VQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuXG4gICAgcHJvdGVjdGVkIHF1ZXJ5U2VydmljZSA9IGluamVjdChBWFBRdWVyeVNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxEYXRhOiBTZWxlY3RlZENvbmZpZ1tdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBIb2xkcyB0aGUgY29tcGxldGUgbGlzdCBvZiB0cmVlIGl0ZW1zIGluIGEgZmxhdHRlbmVkIHN0cnVjdHVyZS5cbiAgICAgKiBUaGlzIHN0cnVjdHVyZSBtYWtlcyBpdCBlYXN5IHRvOlxuICAgICAqICAxKSBQcm92aWRlIGNoaWxkcmVuIGxhemlseSB2aWEgYHByb3ZpZGVMYXp5VHJlZVZpZXdgIHVzaW5nIGBwYXJlbnRJZGAuXG4gICAgICogIDIpIFBlcmZvcm0gc2VhcmNoIGFjcm9zcyBhbGwgbGV2ZWxzIHdoaWxlIHN0aWxsIGJlaW5nIGFibGUgdG8gaW5jbHVkZVxuICAgICAqICAgICBhbmNlc3RvciBub2RlcyBvZiBtYXRjaGVkIGl0ZW1zLlxuICAgICAqL1xuICAgIHRyZWVWaWV3RGF0YSA9IHNpZ25hbDxBWFBNZXRhVHJlZUl0ZW1bXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICogRmxhdCBsaXN0IG9mIEFMTCBub2RlcyAoZm9yIGVhc3kgbG9vay11cHMgZHVyaW5nIHNlYXJjaCkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBvcmlnaW5hbEZsYXREYXRhOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogT3JpZ2luYWwgKm5lc3RlZCogdHJlZSBzdHJ1Y3R1cmUgKHVzZWQgdG8gcmVzZXQgYW5kIHRvIHJlYnVpbGQgZmlsdGVyZWQgdHJlZXMpLlxuICAgICAqL1xuICAgIHByaXZhdGUgb3JpZ2luYWxOZXN0ZWREYXRhOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuXG4gICAgcHJvdGVjdGVkIHNlYXJjaFRlcm0gPSBzaWduYWw8c3RyaW5nPignJyk7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFNlbGVjdGVkIENvbmZpZ3MgICAtLS0tXG5cbiAgICBzZWxlY3RlZENvbmZpZ3MgPSBzaWduYWw8U2VsZWN0ZWRDb25maWdbXT4oW10pO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5xdWVyeVNlcnZpY2UuZmV0Y2g8dm9pZCwgQVhQQ2F0ZWdvcnlFbnRpdHlXaXRoSXRlbXM8QVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWw+W10+KCdjYXRlZ29yeS13aXRoLWl0ZW1zJywgdW5kZWZpbmVkKS50aGVuKChjYXRlZ29yaWVzKSA9PiB7XG5cbiAgICAgICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgSGVscGVyIEZ1bmN0aW9ucyAgIC0tLS1cblxuICAgICAgICAgICAgY29uc3QgY29udmVydENhdGVnb3J5VG9UcmVlSXRlbSA9IChjYXRlZ29yeTogQVhQQ2F0ZWdvcnlFbnRpdHlXaXRoSXRlbXM8QVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWw+KTogQVhQTWV0YVRyZWVJdGVtID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yeUNoaWxkcmVuOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtcbiAgICAgICAgICAgICAgICAgICAgLy8gTWFwIHN1Yi1jYXRlZ29yaWVzIHJlY3Vyc2l2ZWx5XG4gICAgICAgICAgICAgICAgICAgIC4uLmNhdGVnb3J5LmNoaWxkcmVuPy5tYXAoKGM6IEFYUENhdGVnb3J5RW50aXR5V2l0aEl0ZW1zPEFYTU1ldGFEYXRhRGVmaW5pdGlvbkVudGl0eU1vZGVsPikgPT4gY29udmVydENhdGVnb3J5VG9UcmVlSXRlbShjKSkgPz8gW10sXG4gICAgICAgICAgICAgICAgICAgIC8vIE1hcCBpdGVtcyBvZiBjdXJyZW50IGNhdGVnb3J5XG4gICAgICAgICAgICAgICAgICAgIC4uLmNhdGVnb3J5Lml0ZW1zLm1hcCgoaXRlbTogQVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWwpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW0udGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNDaGVja2JveDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAgICAgICAgIGludGVyZmFjZTogaXRlbS5pbnRlcmZhY2UgYXMgc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBpZDogY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGNhdGVnb3J5LnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogY2F0ZWdvcnkucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgIGhhc0NoZWNrYm94OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IGNhdGVnb3J5Q2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAvL2Zha2VcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAgICAgLy8gQnVpbGQgKipuZXN0ZWQqKiB0cmVlIHN0cnVjdHVyZSBmaXJzdCBzbyB0aGF0IGVhY2ggcGFyZW50XG4gICAgICAgICAgICAvLyBjb250YWlucyBpdHMgY2hpbGRyZW4gYXJyYXkgKHNpbWlsYXIgdG8gdGhlIHNhbXBsZSBhdCBsaW5lIDIwOCkuXG4gICAgICAgICAgICBjb25zdCBuZXN0ZWRUcmVlOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IGNhdGVnb3JpZXM/Lm1hcCgoYykgPT4gY29udmVydENhdGVnb3J5VG9UcmVlSXRlbShjKSkgPz8gW107XG5cbiAgICAgICAgICAgIC8vIEFkZGl0aW9uYWxseSBidWlsZCBhIGZsYXR0ZW5lZCBsaXN0IG9mIGFsbCBub2RlcyAoc2FtZSBvYmplY3RzKSBzb1xuICAgICAgICAgICAgLy8gdGhhdCB3ZSBjYW4gcmUtdXNlIHRoZSBleGlzdGluZyBzZWFyY2ggaW1wbGVtZW50YXRpb24gd2hpY2hcbiAgICAgICAgICAgIC8vIGV4cGVjdHMgYSBmbGF0IGFycmF5LlxuICAgICAgICAgICAgY29uc3QgZmxhdExpc3Q6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG4gICAgICAgICAgICBjb25zdCBjb2xsZWN0RmxhdCA9IChub2RlczogQVhQTWV0YVRyZWVJdGVtW10pID0+IHtcbiAgICAgICAgICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZsYXRMaXN0LnB1c2gobik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdEZsYXQobi5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb2xsZWN0RmxhdChuZXN0ZWRUcmVlKTtcblxuICAgICAgICAgICAgLy8gLS0tICAgQXBwbHkgaW5pdGlhbCBzZWxlY3Rpb25zICAgLS0tXG4gICAgICAgICAgICBpZiAodGhpcy5pbml0aWFsRGF0YSAmJiB0aGlzLmluaXRpYWxEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbml0aWFsSWRzID0gbmV3IFNldCh0aGlzLmluaXRpYWxEYXRhLm1hcCgoZCkgPT4gZC5pZCkpO1xuXG4gICAgICAgICAgICAgICAgZmxhdExpc3QuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS5oYXNDaGVja2JveCAmJiBpbml0aWFsSWRzLmhhcyhub2RlLmlkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBQZXJzaXN0IG9yaWdpbmFsIGRhdGEgKGJvdGggZmxhdHRlbmVkIGFuZCBuZXN0ZWQpICYgaW5pdGlhbGlzZSByZWFjdGl2ZSBzaWduYWwuXG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsRmxhdERhdGEgPSBmbGF0TGlzdDtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxOZXN0ZWREYXRhID0gbmVzdGVkVHJlZTtcblxuICAgICAgICAgICAgLy8gU2V0IGluaXRpYWwgdHJlZSB2aWV3IGRhdGEgdG8gZGlzcGxheSB0aGUgdHJlZVxuICAgICAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KFsuLi5uZXN0ZWRUcmVlXSk7XG5cbiAgICAgICAgICAgIC8vIEluaXRpYWxpc2Ugc2VsZWN0ZWQgbGlzdCBpZiBhbnkgaW5pdGlhbCBzZWxlY3Rpb25zXG4gICAgICAgICAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRDb25maWdzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnNldCh0aGlzLmluaXRpYWxEYXRhID8/IFtdKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlU2VsZWN0Q2xpY2soKSB7XG4gICAgICAgIC8vIFJldHVybiB0aGUgY29uZmlndXJlZCBzZWxlY3RlZCBpdGVtcyBmcm9tIHRoZSByaWdodCBwYW5lbFxuICAgICAgICBjb25zdCBzZWxlY3RlZENvbmZpZ3MgPSB0aGlzLnNlbGVjdGVkQ29uZmlncygpO1xuXG4gICAgICAgIGlmIChzZWxlY3RlZENvbmZpZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZShzZWxlY3RlZENvbmZpZ3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNsb3NlQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2hhbmdlU2VhcmNoVmFsdWUoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCkge1xuICAgICAgICBjb25zdCB0ZXJtID0gKGUudmFsdWUgPz8gJycpLnRyaW0oKTtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtLnNldCh0ZXJtKTtcblxuICAgICAgICAvLyBSZXNldCB0byB0aGUgcHJpc3RpbmUgbmVzdGVkIHRyZWUgd2hlbiBzZWFyY2ggaXMgY2xlYXJlZC5cbiAgICAgICAgaWYgKCF0ZXJtKSB7XG4gICAgICAgICAgICB0aGlzLnRyZWVWaWV3RGF0YS5zZXQoWy4uLnRoaXMub3JpZ2luYWxOZXN0ZWREYXRhXSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsb3dlcmVkVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAvLyBCdWlsZCBhIHF1aWNrIGxvb2t1cCBtYXAgdG8gdHJhdmVyc2UgYW5jZXN0b3JzIGVmZmljaWVudGx5XG4gICAgICAgIGNvbnN0IG1hcEJ5SWQgPSBuZXcgTWFwPHN0cmluZywgQVhQTWV0YVRyZWVJdGVtPihcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxGbGF0RGF0YS5tYXAoKGl0ZW0pID0+IFtpdGVtLmlkLCBpdGVtXSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIZWxwZXIgdG8gY29sbGVjdCBhbGwgYW5jZXN0b3JzIG9mIGEgZ2l2ZW4gbm9kZVxuICAgICAgICBjb25zdCBjb2xsZWN0QW5jZXN0b3JzID0gKG5vZGU6IEFYUE1ldGFUcmVlSXRlbSk6IEFYUE1ldGFUcmVlSXRlbVtdID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFuY2VzdG9yczogQVhQTWV0YVRyZWVJdGVtW10gPSBbXTtcbiAgICAgICAgICAgIGxldCBjdXJyZW50UGFyZW50SWQgPSBub2RlLnBhcmVudElkO1xuICAgICAgICAgICAgd2hpbGUgKGN1cnJlbnRQYXJlbnRJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IG1hcEJ5SWQuZ2V0KGN1cnJlbnRQYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFuY2VzdG9ycy5wdXNoKHBhcmVudCk7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmVudElkID0gcGFyZW50LnBhcmVudElkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFuY2VzdG9ycztcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAxKSBGaW5kIGFsbCBub2RlcyB3aG9zZSB0ZXh0IGNvbnRhaW5zIHRoZSBzZWFyY2ggdGVybVxuICAgICAgICBjb25zdCBtYXRjaGVkTm9kZXMgPSB0aGlzLm9yaWdpbmFsRmxhdERhdGEuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgICAgaXRlbS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJlZFRlcm0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gMikgQ29sbGVjdCB0aGVpciBhbmNlc3RvcnMgdG8gZW5zdXJlIHRoZSB0cmVlIGNhbiByZW5kZXIgY29ycmVjdCBwYXRoc1xuICAgICAgICBjb25zdCByZXN1bHRTZXQgPSBuZXcgTWFwPHN0cmluZywgQVhQTWV0YVRyZWVJdGVtPigpO1xuICAgICAgICBtYXRjaGVkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0U2V0LnNldChub2RlLmlkLCBub2RlKTtcbiAgICAgICAgICAgIGNvbGxlY3RBbmNlc3RvcnMobm9kZSkuZm9yRWFjaCgoYW5jZXN0b3IpID0+IHJlc3VsdFNldC5zZXQoYW5jZXN0b3IuaWQsIGFuY2VzdG9yKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBFbnN1cmUgY2hpbGQgbm9kZXMgYXJlIE5PVCByZW5kZXJlZCBhdCB0aGUgcm9vdCBsZXZlbC5cbiAgICAgICAgLy8gV2Ugb25seSBwYXNzIG5vZGVzIHRvIHRoZSB0cmVlIGNvbXBvbmVudCB0aGF0IGRvICoqbm90KipcbiAgICAgICAgLy8gaGF2ZSB0aGVpciBwYXJlbnQgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBmaW5hbCByZXN1bHQgc2V0LlxuICAgICAgICAvLyBUaGlzIHByZXNlcnZlcyB0aGUgY29ycmVjdCBoaWVyYXJjaHkgYW5kIHByZXZlbnRzIGR1cGxpY2F0ZXNcbiAgICAgICAgLy8gbGlrZSB0aGUgZXh0cmEgcm9vdC1sZXZlbCBlbnRyeSBoaWdobGlnaHRlZCBpbiB5ZWxsb3cuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBCdWlsZCBhICpuZXN0ZWQqIHRyZWUgdGhhdCBjb250YWlucyBPTkxZIG5vZGVzIHByZXNlbnQgaW4gYHJlc3VsdFNldGAuXG4gICAgICAgIGNvbnN0IGlkU2V0ID0gbmV3IFNldDxzdHJpbmc+KHJlc3VsdFNldC5rZXlzKCkpO1xuXG4gICAgICAgIGNvbnN0IGNsb25lSWZJbmNsdWRlZCA9IChub2RlOiBBWFBNZXRhVHJlZUl0ZW0pOiBBWFBNZXRhVHJlZUl0ZW0gfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICghaWRTZXQuaGFzKG5vZGUuaWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNsb25lZDogQVhQTWV0YVRyZWVJdGVtID0ge1xuICAgICAgICAgICAgICAgIC4uLm5vZGUsXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGZyZXNoIGNoaWxkcmVuIGFycmF5ICh3aWxsIGJlIHBvcHVsYXRlZCByZWN1cnNpdmVseSlcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG5vZGUuY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjID0gY2xvbmVJZkluY2x1ZGVkKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb25lZC5jaGlsZHJlbiEucHVzaChjKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY2xvbmVkO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkUm9vdHM6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG4gICAgICAgIHRoaXMub3JpZ2luYWxOZXN0ZWREYXRhLmZvckVhY2goKHJvb3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNsb25lZFJvb3QgPSBjbG9uZUlmSW5jbHVkZWQocm9vdCk7XG4gICAgICAgICAgICBpZiAoY2xvbmVkUm9vdCkge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkUm9vdHMucHVzaChjbG9uZWRSb290KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KGZpbHRlcmVkUm9vdHMpO1xuICAgIH1cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgVHJlZSBJbnRlcmFjdGlvbiBIYW5kbGVycyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKGU6IEFYVHJlZUl0ZW1DbGlja0Jhc2VFdmVudCkge1xuICAgICAgICAvLyBUcmVlIHRvZ2dsZXMgc2VsZWN0aW9uIGludGVybmFsbHk7IGp1c3Qgc3luYyBjb25maWdzIGFmdGVyd2FyZHNcbiAgICAgICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkQ29uZmlncygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY2hyb25pc2VTZWxlY3RlZENvbmZpZ3MoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZXMgPSB0aGlzLm9yaWdpbmFsRmxhdERhdGEuZmlsdGVyKChuKSA9PiBuLmhhc0NoZWNrYm94ICYmIG4uaXNTZWxlY3RlZCk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZ3MudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICAgICAgICAvLyBSZW1vdmUgY29uZmlncyB0aGF0IGFyZSBubyBsb25nZXIgc2VsZWN0ZWRcbiAgICAgICAgICAgIGxldCBuZXh0ID0gcHJldi5maWx0ZXIoKGNmZykgPT4gc2VsZWN0ZWROb2Rlcy5zb21lKChuKSA9PiBuLmlkID09PSBjZmcuaWQpKTtcblxuICAgICAgICAgICAgLy8gQWRkIG5ldyBjb25maWdzXG4gICAgICAgICAgICBzZWxlY3RlZE5vZGVzLmZvckVhY2goKG4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIW5leHQuc29tZSgoY2ZnKSA9PiBjZmcuaWQgPT09IG4uaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5leHQucHVzaCh7IC4uLm4sIGlzUmVxdWlyZWQ6IGZhbHNlLCBwbGFjZWhvbGRlcjogJycsIHN0YXR1czogJ3RlbXBvcmFyeScgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBbLi4ubmV4dF07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0b2dnbGVTZWxlY3Rpb24oY2ZnOiBTZWxlY3RlZENvbmZpZykge1xuICAgICAgICAvLyBGaW5kIHRoZSBvcmlnaW5hbCBub2RlIGluIGZsYXREYXRhIGFuZCB1cGRhdGUgaXRcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxOb2RlID0gdGhpcy5vcmlnaW5hbEZsYXREYXRhLmZpbmQobiA9PiBuLmlkID09PSBjZmcuaWQpO1xuICAgICAgICBpZiAob3JpZ2luYWxOb2RlKSB7XG4gICAgICAgICAgICBvcmlnaW5hbE5vZGUuaXNTZWxlY3RlZCA9ICFvcmlnaW5hbE5vZGUuaXNTZWxlY3RlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvcmNlIHRyZWUgdmlldyB0byB1cGRhdGUgYnkgdHJpZ2dlcmluZyBzaWduYWwgY2hhbmdlXG4gICAgICAgIHRoaXMudHJlZVZpZXdEYXRhLnNldChbLi4udGhpcy50cmVlVmlld0RhdGEoKV0pO1xuXG4gICAgICAgIHRoaXMuc3luY2hyb25pc2VTZWxlY3RlZENvbmZpZ3MoKTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgRHJhZyAmIERyb3AgKE9yZGVyaW5nKSAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVEcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxTZWxlY3RlZENvbmZpZ1tdPikge1xuICAgICAgICBjb25zdCBsaXN0ID0gWy4uLnRoaXMuc2VsZWN0ZWRDb25maWdzKCldO1xuICAgICAgICBtb3ZlSXRlbUluQXJyYXkobGlzdCwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZ3Muc2V0KGxpc3QpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBNYW51YWwgT3JkZXJpbmcgTWV0aG9kcyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBtb3ZlSXRlbVVwKGU6IE1vdXNlRXZlbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKGluZGV4IDw9IDApIHJldHVybjsgLy8gQWxyZWFkeSBhdCB0b3BcblxuICAgICAgICBjb25zdCBsaXN0ID0gWy4uLnRoaXMuc2VsZWN0ZWRDb25maWdzKCldO1xuICAgICAgICBbbGlzdFtpbmRleCAtIDFdLCBsaXN0W2luZGV4XV0gPSBbbGlzdFtpbmRleF0sIGxpc3RbaW5kZXggLSAxXV07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnNldChsaXN0KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbW92ZUl0ZW1Eb3duKGU6IE1vdXNlRXZlbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgY29uc3QgY3VycmVudExpc3QgPSB0aGlzLnNlbGVjdGVkQ29uZmlncygpO1xuICAgICAgICBpZiAoaW5kZXggPj0gY3VycmVudExpc3QubGVuZ3RoIC0gMSkgcmV0dXJuOyAvLyBBbHJlYWR5IGF0IGJvdHRvbVxuXG4gICAgICAgIGNvbnN0IGxpc3QgPSBbLi4uY3VycmVudExpc3RdO1xuICAgICAgICBbbGlzdFtpbmRleF0sIGxpc3RbaW5kZXggKyAxXV0gPSBbbGlzdFtpbmRleCArIDFdLCBsaXN0W2luZGV4XV07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnNldChsaXN0KTtcblxuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBUZW1wbGF0ZSBBY3Rpb25zICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVByZXZpZXdNZXRhKGl0ZW06IEFYUE1ldGFUcmVlSXRlbSkge1xuICAgICAgICBpZiAoaXRlbS5oYXNDaGVja2JveCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdvcGVuLWZvcm0tdGVtcGxhdGUnLCB7XG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogaXRlbS5pbnRlcmZhY2UsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgICBwcmV2aWV3OiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxufVxuIiwiPGRpdiBjbGFzcz1cImF4LXAtNCBheC1mbGV4IGF4LWdhcC00IGF4LW92ZXJmbG93LWhpZGRlblwiPlxuICA8IS0tIExlZnQ6IE1ldGEgdHJlZSAtLT5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXgtMSBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC00IGF4LW1pbi13LTBcIj5cbiAgICA8YXgtc2VhcmNoLWJveFxuICAgICAgW3BsYWNlaG9sZGVyXT1cIid3aWRnZXQubG9va3VwLnNlYXJjaCcgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICBbdmFsdWVdPVwic2VhcmNoVGVybSgpXCJcbiAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVDaGFuZ2VTZWFyY2hWYWx1ZSgkZXZlbnQpXCJcbiAgICAgID48YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uXG4gICAgPjwvYXgtc2VhcmNoLWJveD5cblxuICAgIDxheC10cmVlLXZpZXdcbiAgICAgIFtoYXNDaGlsZEZpZWxkXT1cIidoYXNDaGlsZCdcIlxuICAgICAgW3BhcmVudEZpZWxkXT1cIidwYXJlbnRJZCdcIlxuICAgICAgW2l0ZW1zXT1cInRyZWVWaWV3RGF0YSgpXCJcbiAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cIidtdWx0aXBsZSdcIlxuICAgICAgW3NlbGVjdGVkRmllbGRdPVwiJ2lzU2VsZWN0ZWQnXCJcbiAgICAgIChvblNlbGVjdGlvbkNoYW5nZWQpPVwiaGFuZGxlU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtpdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlXCJcbiAgICAgIFtmb2N1c05vZGVFbmFibGVkXT1cImZhbHNlXCJcbiAgICAgIGNsYXNzPVwiYXgtZmxleC0xIGF4LW92ZXJmbG93LWF1dG9cIlxuICAgID48L2F4LXRyZWUtdmlldz5cbiAgPC9kaXY+XG5cbiAgPCEtLSBSaWdodDogU2VsZWN0ZWQgbGlzdCAtLT5cbiAgPGRpdiBjbGFzcz1cImF4LXctMS8yIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtc2VsZWN0LW5vbmUgYXgtb3ZlcmZsb3ctYXV0byBheC1oLVs0MDBweF1cIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImhhbmRsZURyb3AoJGV2ZW50KVwiPlxuICAgIDxoNiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1zbVwiICpuZ0lmPVwic2VsZWN0ZWRDb25maWdzKCkubGVuZ3RoXCI+U2VsZWN0ZWQgSXRlbXM8L2g2PlxuXG4gICAgQGZvcihjZmcgb2Ygc2VsZWN0ZWRDb25maWdzKCk7IHRyYWNrIGNmZy5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgIDxkaXYgY2RrRHJhZyBjbGFzcz1cImF4LWJnLXdoaXRlIGF4LXJvdW5kZWQtbWQgYXgtc2hhZG93LXNtIGF4LWJvcmRlciBheC1ib3JkZXItZ3JheS0yMDBcIiBjZGtEcmFnQm91bmRhcnk9XCIuYXgtc2VsZWN0LW5vbmVcIj5cbiAgICAgICAgPCEtLSBDb2xsYXBzZSB3aXRoIGN1c3RvbSBoZWFkZXIgdGVtcGxhdGUgLS0+XG4gICAgICAgIDxheC1jb2xsYXBzZS1ncm91cCBsb29rPVwiZmlsbFwiPlxuICAgICAgICAgIDxheC1jb2xsYXBzZSBjYXB0aW9uPVwiT3B0aW9uc1wiIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUcGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sXCI+XG4gICAgICAgICAgICAgICAgPGF4LWNoZWNrLWJveFxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiY2ZnLmlzUmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImNmZy5pc1JlcXVpcmVkID0gJGV2ZW50LnZhbHVlID8/IGZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGF4LWxhYmVsPnt7ICdyZXF1aXJlZCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgIDwvYXgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPCEtLSBIZWFkZXIgdGVtcGxhdGUgLS0+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRwbD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC13LWZ1bGwgYXgtcHgtMyBheC1weS0yXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWdyaXAtZG90cy12ZXJ0aWNhbCBheC1jdXJzb3ItbW92ZSBheC10ZXh0LWdyYXktNDAwXCIgY2RrRHJhZ0hhbmRsZT48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtc20gYXgtZm9udC1tZWRpdW1cIj57eyBjZmcudGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTFcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZhLWNoZXZyb24tdXAgYXgtdGV4dC1wcmltYXJ5IGF4LWN1cnNvci1wb2ludGVyIGF4LXRleHQteHNcIiBcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vdmVJdGVtVXAoJGV2ZW50LGkpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LW9wYWNpdHktMzBdPVwiaSA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1jdXJzb3Itbm90LWFsbG93ZWRdPVwiaSA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiTW92ZSBVcFwiPlxuICAgICAgICAgICAgICAgICAgPC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtY2hldnJvbi1kb3duIGF4LXRleHQtcHJpbWFyeSBheC1jdXJzb3ItcG9pbnRlciBheC10ZXh0LXhzIGF4LXB4LTJcIiBcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vdmVJdGVtRG93bigkZXZlbnQsaSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtb3BhY2l0eS0zMF09XCJpID09PSBzZWxlY3RlZENvbmZpZ3MoKS5sZW5ndGggLSAxXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LWN1cnNvci1ub3QtYWxsb3dlZF09XCJpID09PSBzZWxlY3RlZENvbmZpZ3MoKS5sZW5ndGggLSAxXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJNb3ZlIERvd25cIj5cbiAgICAgICAgICAgICAgICAgIDwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEteG1hcmsgYXgtdGV4dC1kYW5nZXIgYXgtY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidG9nZ2xlU2VsZWN0aW9uKGNmZylcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2F4LWNvbGxhcHNlPlxuICAgICAgICA8L2F4LWNvbGxhcHNlLWdyb3VwPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuXG48YXgtZm9vdGVyPlxuICA8YXgtc3VmZml4PlxuICAgIDxheC1idXR0b24gbG9vaz1cInNvbGlkXCIgW3RleHRdPVwiKCdjbG9zZScgfCB0cmFuc2xhdGUgfCBhc3luYykhXCIgKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2VDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgIDxheC1idXR0b24gbG9vaz1cInNvbGlkXCIgY29sb3I9XCJwcmltYXJ5XCIgW3RleHRdPVwiKCdzZWxlY3QnIHwgdHJhbnNsYXRlIHwgYXN5bmMpIVwiIChvbkNsaWNrKT1cImhhbmRsZVNlbGVjdENsaWNrKClcIj5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgPC9heC1zdWZmaXg+XG48L2F4LWZvb3Rlcj5cblxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGUgbGV0LWl0ZW0+XG4gIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWJldHdlZW4gYXgtdy1mdWxsXCI+XG4gICAgPHNwYW4+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxuICAgIEBpZihpdGVtLmhhc0NoZWNrYm94KSB7XG4gICAgPGF4LWljb24gXG4gICAgICBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtZXllIGF4LXRleHQtcHJpbWFyeSBheC1jdXJzb3ItcG9pbnRlciBheC1tbC0yXCIgXG4gICAgICAoY2xpY2spPVwiaGFuZGxlUHJldmlld01ldGEoaXRlbSlcIlxuICAgICAgdGl0bGU9XCJQcmV2aWV3IE1ldGFcIj5cbiAgICA8L2F4LWljb24+XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0="],"names":["i2","i4","i5","i8","i9","i10"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA;AACO,MAAM,2BAA2B,SAAS,mBAAmB,CAAC;AACrE,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC;AACnD,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAClD,QAAQ,IAAI,CAAC,WAAW,GAAG,EAAE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7F;AACA;AACA;AACA,QAAQ,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAClC;AACA;AACA;AACA,QAAQ,IAAI,CAAC,kBAAkB,GAAG,EAAE;AACpC,QAAQ,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzF;AACA,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACnG;AACA;AACA,IAAI,QAAQ,GAAG;AACf,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK;AACvF;AACA,YAAY,MAAM,yBAAyB,GAAG,CAAC,QAAQ,KAAK;AAC5D,gBAAgB,MAAM,gBAAgB,GAAG;AACzC;AACA,oBAAoB,GAAG,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AACxF;AACA,oBAAoB,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;AACrD,wBAAwB,EAAE,EAAE,IAAI,CAAC,EAAE;AACnC,wBAAwB,IAAI,EAAE,IAAI,CAAC,KAAK;AACxC,wBAAwB,QAAQ,EAAE,QAAQ,CAAC,EAAE;AAC7C,wBAAwB,WAAW,EAAE,IAAI;AACzC,wBAAwB,UAAU,EAAE,KAAK;AACzC;AACA,wBAAwB,SAAS,EAAE,IAAI,CAAC,SAAS;AACjD,wBAAwB,IAAI,EAAE,IAAI,CAAC,IAAI;AACvC,wBAAwB,KAAK,EAAE,IAAI,CAAC;AACpC,qBAAqB,CAAC,CAAC;AACvB,iBAAiB;AACjB,gBAAgB,OAAO;AACvB,oBAAoB,EAAE,EAAE,QAAQ,CAAC,EAAE;AACnC,oBAAoB,IAAI,EAAE,QAAQ,CAAC,KAAK;AACxC,oBAAoB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;AAC/C,oBAAoB,WAAW,EAAE,KAAK;AACtC,oBAAoB,QAAQ,EAAE,gBAAgB;AAC9C,oBAAoB,UAAU,EAAE,KAAK;AACrC;AACA,oBAAoB,SAAS,EAAE,EAAE;AACjC,oBAAoB,IAAI,EAAE,EAAE;AAC5B,oBAAoB,KAAK,EAAE;AAC3B,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,YAAY,MAAM,UAAU,GAAG,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;AACzF;AACA;AACA;AACA,YAAY,MAAM,QAAQ,GAAG,EAAE;AAC/B,YAAY,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK;AAC3C,gBAAgB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AACrC,oBAAoB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACpC,oBAAoB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5E,wBAAwB,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC/C;AACA,iBAAiB,CAAC;AAClB,aAAa;AACb,YAAY,WAAW,CAAC,UAAU,CAAC;AACnC;AACA,YAAY,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACjE,gBAAgB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7E,gBAAgB,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC3C,oBAAoB,IAAI,IAAI,CAAC,WAAW,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;AACrE,wBAAwB,IAAI,CAAC,UAAU,GAAG,IAAI;AAC9C;AACA,iBAAiB,CAAC;AAClB;AACA;AACA,YAAY,IAAI,CAAC,gBAAgB,GAAG,QAAQ;AAC5C,YAAY,IAAI,CAAC,kBAAkB,GAAG,UAAU;AAChD;AACA,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;AAClD;AACA,YAAY,IAAI,CAAC,0BAA0B,EAAE;AAC7C,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;AACxD;AACA,IAAI,iBAAiB,GAAG;AACxB;AACA,QAAQ,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE;AACtD,QAAQ,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AACxC,YAAY,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;AACvC;AACA,aAAa;AACb,YAAY,IAAI,CAAC,KAAK,EAAE;AACxB;AACA;AACA,IAAI,gBAAgB,GAAG;AACvB,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB;AACA,IAAI,uBAAuB,CAAC,CAAC,EAAE;AAC/B,QAAQ,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE;AAC3C,QAAQ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACjC;AACA,QAAQ,IAAI,CAAC,IAAI,EAAE;AACnB,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC/D,YAAY;AACZ;AACA,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AAC9C;AACA,QAAQ,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;AACrF;AACA,QAAQ,MAAM,gBAAgB,GAAG,CAAC,IAAI,KAAK;AAC3C,YAAY,MAAM,SAAS,GAAG,EAAE;AAChC,YAAY,IAAI,eAAe,GAAG,IAAI,CAAC,QAAQ;AAC/C,YAAY,OAAO,eAAe,EAAE;AACpC,gBAAgB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AAC3D,gBAAgB,IAAI,CAAC,MAAM,EAAE;AAC7B,oBAAoB;AACpB;AACA,gBAAgB,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;AACtC,gBAAgB,eAAe,GAAG,MAAM,CAAC,QAAQ;AACjD;AACA,YAAY,OAAO,SAAS;AAC5B,SAAS;AACT;AACA,QAAQ,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAClH;AACA,QAAQ,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE;AACnC,QAAQ,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AACvC,YAAY,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC;AACxC,YAAY,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC9F,SAAS,CAAC;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAC/C,QAAQ,MAAM,eAAe,GAAG,CAAC,IAAI,KAAK;AAC1C,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;AACrC,gBAAgB,OAAO,IAAI;AAC3B;AACA,YAAY,MAAM,MAAM,GAAG;AAC3B,gBAAgB,GAAG,IAAI;AACvB;AACA,gBAAgB,QAAQ,EAAE;AAC1B,aAAa;AACb,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AAC9C,gBAAgB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK;AACjD,oBAAoB,MAAM,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC;AACpD,oBAAoB,IAAI,CAAC,EAAE;AAC3B,wBAAwB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C;AACA,iBAAiB,CAAC;AAClB;AACA,YAAY,OAAO,MAAM;AACzB,SAAS;AACT,QAAQ,MAAM,aAAa,GAAG,EAAE;AAChC,QAAQ,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAClD,YAAY,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC;AACpD,YAAY,IAAI,UAAU,EAAE;AAC5B,gBAAgB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9C;AACA,SAAS,CAAC;AACV,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC;AAC5C;AACA;AACA,IAAI,sBAAsB,CAAC,CAAC,EAAE;AAC9B;AACA,QAAQ,IAAI,CAAC,0BAA0B,EAAE;AACzC;AACA,IAAI,0BAA0B,GAAG;AACjC,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,UAAU,CAAC;AAChG,QAAQ,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK;AAC9C;AACA,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;AACvF;AACA,YAAY,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;AACzC,gBAAgB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE;AAC1D,oBAAoB,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAChG;AACA,aAAa,CAAC;AACd,YAAY,OAAO,CAAC,GAAG,IAAI,CAAC;AAC5B,SAAS,CAAC;AACV;AACA,IAAI,eAAe,CAAC,GAAG,EAAE;AACzB;AACA,QAAQ,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAC7E,QAAQ,IAAI,YAAY,EAAE;AAC1B,YAAY,YAAY,CAAC,UAAU,GAAG,CAAC,YAAY,CAAC,UAAU;AAC9D;AACA;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;AACvD,QAAQ,IAAI,CAAC,0BAA0B,EAAE;AACzC;AACA;AACA;AACA,IAAI,UAAU,CAAC,KAAK,EAAE;AACtB,QAAQ,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AAChD,QAAQ,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC;AACtE,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;AACtC;AACA;AACA;AACA,IAAI,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE;AACzB,QAAQ,CAAC,CAAC,eAAe,EAAE;AAC3B,QAAQ,IAAI,KAAK,IAAI,CAAC;AACtB,YAAY,OAAO;AACnB,QAAQ,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;AAChD,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;AACtC;AACA,IAAI,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE;AAC3B,QAAQ,CAAC,CAAC,eAAe,EAAE;AAC3B,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE;AAClD,QAAQ,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;AAC3C,YAAY,OAAO;AACnB,QAAQ,MAAM,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC;AACrC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;AACvE,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;AACtC;AACA;AACA;AACA,IAAI,MAAM,iBAAiB,CAAC,IAAI,EAAE;AAClC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AAC9B,YAAY,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,EAAE;AAC9D,gBAAgB,IAAI,EAAE;AACtB,oBAAoB,QAAQ,EAAE,IAAI,CAAC,SAAS;AAC5C,iBAAiB;AACjB,gBAAgB,QAAQ,EAAE;AAC1B,oBAAoB,OAAO,EAAE,IAAI;AACjC,iBAAiB;AACjB,aAAa,CAAC;AACd;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,2BAA2B,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,uBAAuB,EAAE,SAAS,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,4pIAA4pI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;AACv8I;AACA,gBAAgB,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;AAC5J;AACA,gBAAgB,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,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,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,sBAAsB,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,CAAC,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,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,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,wBAAwB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,iBAAiB,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,IAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;AAC76F;AACA,gBAAgB,WAAW,EAAE,QAAQ,EAAE,8BAA8B,EAAE,MAAM,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,IAAI,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,sBAAsB,CAAC,EAAE,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,aAAa,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI;AACzmC;AACA,gBAAgB,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEC,IAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,2CAA2C,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAEA,IAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,qDAAqD,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAEC,IAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AAClgB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,CAAC;AACrI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE;AACjE;AACA,wBAAwB,YAAY;AACpC;AACA,wBAAwB,iBAAiB;AACzC,wBAAwB,gBAAgB;AACxC,wBAAwB,iBAAiB;AACzC,wBAAwB,cAAc;AACtC,wBAAwB,mBAAmB;AAC3C,wBAAwB,gBAAgB;AACxC,wBAAwB,eAAe;AACvC,wBAAwB,gBAAgB;AACxC,wBAAwB,aAAa;AACrC;AACA,wBAAwB,WAAW;AACnC,wBAAwB,OAAO;AAC/B,wBAAwB,aAAa;AACrC;AACA,wBAAwB,WAAW;AACnC,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,4pIAA4pI,EAAE;AACrvI,SAAS,CAAC,EAAE,CAAC;;;;"}
1
+ {"version":3,"file":"acorex-modules-document-management-meta-choose-popup.component-DXTdVhrh.mjs","sources":["../tmp-esm2022/document-management/lib/features/meta-choose-widget/meta-choose-popup/meta-choose-popup.component.js"],"sourcesContent":["import { Component, signal, ViewEncapsulation, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTreeViewModule } from '@acorex/components/tree-view';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CdkDrag, CdkDragHandle, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { FormsModule } from '@angular/forms';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { AXPQueryService } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nimport * as i2 from \"@acorex/components/search-box\";\nimport * as i3 from \"@acorex/components/tree-view\";\nimport * as i4 from \"@acorex/components/decorators\";\nimport * as i5 from \"@acorex/components/button\";\nimport * as i6 from \"@acorex/components/check-box\";\nimport * as i7 from \"@acorex/components/collapse\";\nimport * as i8 from \"@acorex/components/label\";\nimport * as i9 from \"@angular/forms\";\nimport * as i10 from \"@acorex/core/translation\";\n//#endregion\nexport class AXPMetaChoosePopupComponent extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.queryService = inject(AXPQueryService);\n this.workflow = inject(AXPWorkflowService);\n this.initialData = [];\n /**\n * Holds the complete list of tree items in a flattened structure.\n * This structure makes it easy to:\n * 1) Provide children lazily via `provideLazyTreeView` using `parentId`.\n * 2) Perform search across all levels while still being able to include\n * ancestor nodes of matched items.\n */\n this.treeViewData = signal([], ...(ngDevMode ? [{ debugName: \"treeViewData\" }] : []));\n /**\n * Flat list of ALL nodes (for easy look-ups during search).\n */\n this.originalFlatData = [];\n /**\n * Original *nested* tree structure (used to reset and to rebuild filtered trees).\n */\n this.originalNestedData = [];\n this.searchTerm = signal('', ...(ngDevMode ? [{ debugName: \"searchTerm\" }] : []));\n //#region ---- Selected Configs ----\n this.selectedConfigs = signal([], ...(ngDevMode ? [{ debugName: \"selectedConfigs\" }] : []));\n }\n //#endregion\n ngOnInit() {\n this.queryService.fetch('category-with-items', undefined).then((categories) => {\n //#region ---- Helper Functions ----\n const convertCategoryToTreeItem = (category) => {\n const categoryChildren = [\n // Map sub-categories recursively\n ...category.children?.map((c) => convertCategoryToTreeItem(c)) ?? [],\n // Map items of current category\n ...category.items.map((item) => ({\n id: item.id,\n text: item.title,\n parentId: category.id,\n hasCheckbox: true,\n isSelected: false,\n //\n interface: item.interface,\n name: item.name,\n title: item.title\n })),\n ];\n return {\n id: category.id,\n text: category.title,\n parentId: category.parentId,\n hasCheckbox: false,\n children: categoryChildren,\n isSelected: false,\n //fake\n interface: '',\n name: '',\n title: ''\n };\n };\n //#endregion\n // Build **nested** tree structure first so that each parent\n // contains its children array (similar to the sample at line 208).\n const nestedTree = categories?.map((c) => convertCategoryToTreeItem(c)) ?? [];\n // Additionally build a flattened list of all nodes (same objects) so\n // that we can re-use the existing search implementation which\n // expects a flat array.\n const flatList = [];\n const collectFlat = (nodes) => {\n nodes.forEach((n) => {\n flatList.push(n);\n if (Array.isArray(n.children) && n.children.length > 0) {\n collectFlat(n.children);\n }\n });\n };\n collectFlat(nestedTree);\n // --- Apply initial selections ---\n if (this.initialData && this.initialData.length > 0) {\n const initialIds = new Set(this.initialData.map((d) => d.id));\n flatList.forEach((node) => {\n if (node.hasCheckbox && initialIds.has(node.id)) {\n node.isSelected = true;\n }\n });\n }\n // Persist original data (both flattened and nested) & initialise reactive signal.\n this.originalFlatData = flatList;\n this.originalNestedData = nestedTree;\n // Set initial tree view data to display the tree\n this.treeViewData.set([...nestedTree]);\n // Initialise selected list if any initial selections\n this.synchroniseSelectedConfigs();\n });\n this.selectedConfigs.set(this.initialData ?? []);\n }\n handleSelectClick() {\n // Return the configured selected items from the right panel\n const selectedConfigs = this.selectedConfigs();\n if (selectedConfigs.length > 0) {\n this.close(selectedConfigs);\n }\n else {\n this.close();\n }\n }\n handleCloseClick() {\n this.close();\n }\n handleChangeSearchValue(e) {\n const term = (e.value ?? '').trim();\n this.searchTerm.set(term);\n // Reset to the pristine nested tree when search is cleared.\n if (!term) {\n this.treeViewData.set([...this.originalNestedData]);\n return;\n }\n const loweredTerm = term.toLowerCase();\n // Build a quick lookup map to traverse ancestors efficiently\n const mapById = new Map(this.originalFlatData.map((item) => [item.id, item]));\n // Helper to collect all ancestors of a given node\n const collectAncestors = (node) => {\n const ancestors = [];\n let currentParentId = node.parentId;\n while (currentParentId) {\n const parent = mapById.get(currentParentId);\n if (!parent) {\n break;\n }\n ancestors.push(parent);\n currentParentId = parent.parentId;\n }\n return ancestors;\n };\n // 1) Find all nodes whose text contains the search term\n const matchedNodes = this.originalFlatData.filter((item) => item.text.toLowerCase().includes(loweredTerm));\n // 2) Collect their ancestors to ensure the tree can render correct paths\n const resultSet = new Map();\n matchedNodes.forEach((node) => {\n resultSet.set(node.id, node);\n collectAncestors(node).forEach((ancestor) => resultSet.set(ancestor.id, ancestor));\n });\n // ---------------------------------------------------------\n // Ensure child nodes are NOT rendered at the root level.\n // We only pass nodes to the tree component that do **not**\n // have their parent already present in the final result set.\n // This preserves the correct hierarchy and prevents duplicates\n // like the extra root-level entry highlighted in yellow.\n // ---------------------------------------------------------\n // Build a *nested* tree that contains ONLY nodes present in `resultSet`.\n const idSet = new Set(resultSet.keys());\n const cloneIfIncluded = (node) => {\n if (!idSet.has(node.id)) {\n return null;\n }\n const cloned = {\n ...node,\n // Create fresh children array (will be populated recursively)\n children: []\n };\n if (Array.isArray(node.children)) {\n node.children.forEach((child) => {\n const c = cloneIfIncluded(child);\n if (c) {\n cloned.children.push(c);\n }\n });\n }\n return cloned;\n };\n const filteredRoots = [];\n this.originalNestedData.forEach((root) => {\n const clonedRoot = cloneIfIncluded(root);\n if (clonedRoot) {\n filteredRoots.push(clonedRoot);\n }\n });\n this.treeViewData.set(filteredRoots);\n }\n //#region ---- Tree Interaction Handlers ----\n handleSelectionChanged(e) {\n // Tree toggles selection internally; just sync configs afterwards\n this.synchroniseSelectedConfigs();\n }\n synchroniseSelectedConfigs() {\n const selectedNodes = this.originalFlatData.filter((n) => n.hasCheckbox && n.isSelected);\n this.selectedConfigs.update((prev) => {\n // Remove configs that are no longer selected\n let next = prev.filter((cfg) => selectedNodes.some((n) => n.id === cfg.id));\n // Add new configs\n selectedNodes.forEach((n) => {\n if (!next.some((cfg) => cfg.id === n.id)) {\n next.push({ ...n, isRequired: false, placeholder: '', status: 'temporary' });\n }\n });\n return [...next];\n });\n }\n toggleSelection(cfg) {\n // Find the original node in flatData and update it\n const originalNode = this.originalFlatData.find(n => n.id === cfg.id);\n if (originalNode) {\n originalNode.isSelected = !originalNode.isSelected;\n }\n // Force tree view to update by triggering signal change\n this.treeViewData.set([...this.treeViewData()]);\n this.synchroniseSelectedConfigs();\n }\n //#endregion\n //#region ---- Drag & Drop (Ordering) ----\n handleDrop(event) {\n const list = [...this.selectedConfigs()];\n moveItemInArray(list, event.previousIndex, event.currentIndex);\n this.selectedConfigs.set(list);\n }\n //#endregion\n //#region ---- Manual Ordering Methods ----\n moveItemUp(e, index) {\n e.stopPropagation();\n if (index <= 0)\n return; // Already at top\n const list = [...this.selectedConfigs()];\n [list[index - 1], list[index]] = [list[index], list[index - 1]];\n this.selectedConfigs.set(list);\n }\n moveItemDown(e, index) {\n e.stopPropagation();\n const currentList = this.selectedConfigs();\n if (index >= currentList.length - 1)\n return; // Already at bottom\n const list = [...currentList];\n [list[index], list[index + 1]] = [list[index + 1], list[index]];\n this.selectedConfigs.set(list);\n }\n //#endregion\n //#region ---- Template Actions ----\n async handlePreviewMeta(item) {\n if (item.hasCheckbox) {\n await this.workflow.execute('open-form-template', {\n data: {\n template: item.interface,\n },\n metadata: {\n preview: true,\n },\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPMetaChoosePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.6\", type: AXPMetaChoosePopupComponent, isStandalone: true, selector: \"axp-meta-choose-popup\", providers: [], usesInheritance: true, ngImport: i0, template: \"<div class=\\\"ax-p-4 ax-flex ax-gap-4 ax-overflow-hidden\\\">\\n <!-- Left: Meta tree -->\\n <div class=\\\"ax-flex-1 ax-flex ax-flex-col ax-gap-4 ax-min-w-0\\\">\\n <ax-search-box\\n [placeholder]=\\\"'widget.lookup.search' | translate | async\\\"\\n [value]=\\\"searchTerm()\\\"\\n (onValueChanged)=\\\"handleChangeSearchValue($event)\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n\\n <ax-tree-view\\n [hasChildField]=\\\"'hasChild'\\\"\\n [parentField]=\\\"'parentId'\\\"\\n [items]=\\\"treeViewData()\\\"\\n [selectionMode]=\\\"'multiple'\\\"\\n [selectedField]=\\\"'isSelected'\\\"\\n (onSelectionChanged)=\\\"handleSelectionChanged($event)\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [focusNodeEnabled]=\\\"false\\\"\\n class=\\\"ax-flex-1 ax-overflow-auto\\\"\\n ></ax-tree-view>\\n </div>\\n\\n <!-- Right: Selected list -->\\n <div class=\\\"ax-w-1/2 ax-flex ax-flex-col ax-gap-3 ax-select-none ax-overflow-auto ax-h-[400px]\\\" cdkDropList (cdkDropListDropped)=\\\"handleDrop($event)\\\">\\n <h6 class=\\\"ax-font-semibold ax-text-sm\\\" *ngIf=\\\"selectedConfigs().length\\\">Selected Items</h6>\\n\\n @for(cfg of selectedConfigs(); track cfg.id; let i = $index) {\\n <div cdkDrag class=\\\"ax-bg-white ax-rounded-md ax-shadow-sm ax-border ax-border-gray-200\\\" cdkDragBoundary=\\\".ax-select-none\\\">\\n <!-- Collapse with custom header template -->\\n <ax-collapse-group look=\\\"fill\\\">\\n <ax-collapse caption=\\\"Options\\\" [headerTemplate]=\\\"headerTpl\\\">\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n >\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </ax-check-box>\\n \\n </div>\\n \\n <!-- Header template -->\\n <ng-template #headerTpl>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full ax-px-3 ax-py-2\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-gray-400\\\" cdkDragHandle></ax-icon>\\n <span class=\\\"ax-text-sm ax-font-medium\\\">{{ cfg.text }}</span>\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-1\\\">\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-up ax-text-primary ax-cursor-pointer ax-text-xs\\\" \\n (click)=\\\"moveItemUp($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === 0\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === 0\\\"\\n title=\\\"Move Up\\\">\\n </ax-icon>\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-down ax-text-primary ax-cursor-pointer ax-text-xs ax-px-2\\\" \\n (click)=\\\"moveItemDown($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === selectedConfigs().length - 1\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === selectedConfigs().length - 1\\\"\\n title=\\\"Move Down\\\">\\n </ax-icon>\\n <ax-icon class=\\\"fa-solid fa-xmark ax-text-danger ax-cursor-pointer\\\" (click)=\\\"toggleSelection(cfg)\\\"></ax-icon>\\n </div>\\n </div>\\n </ng-template>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<ax-footer>\\n <ax-suffix>\\n <ax-button look=\\\"solid\\\" [text]=\\\"('close' | translate | async)!\\\" (onClick)=\\\"handleCloseClick()\\\"> </ax-button>\\n <ax-button look=\\\"solid\\\" color=\\\"primary\\\" [text]=\\\"('select' | translate | async)!\\\" (onClick)=\\\"handleSelectClick()\\\">\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\\n<ng-template #itemTemplate let-item>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full\\\">\\n <span>{{ item.text }}</span>\\n @if(item.hasCheckbox) {\\n <ax-icon \\n class=\\\"fa-regular fa-eye ax-text-primary ax-cursor-pointer ax-ml-2\\\" \\n (click)=\\\"handlePreviewMeta(item)\\\"\\n title=\\\"Preview Meta\\\">\\n </ax-icon>\\n }\\n </div>\\n</ng-template>\\n\", styles: [\"\"], dependencies: [{ kind: \"ngmodule\", type: \n // Angular\n CommonModule }, { kind: \"directive\", type: i1.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"ngmodule\", type: \n // ACoreX\n AXSearchBoxModule }, { kind: \"component\", type: i2.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: AXTreeViewModule }, { kind: \"component\", type: i3.AXTreeViewComponent, selector: \"ax-tree-view\", inputs: [\"items\", \"showCheckbox\", \"hasCheckboxField\", \"selectionMode\", \"selectionBehavior\", \"selectionScope\", \"focusNodeEnabled\", \"valueField\", \"textField\", \"visibleField\", \"disableField\", \"hasChildField\", \"selectedField\", \"expandedField\", \"tooltipField\", \"childrenField\", \"activeField\", \"indeterminateField\", \"parentField\", \"iconField\", \"toggleIcons\", \"look\", \"showEmptyNodeMassage\", \"itemTemplate\", \"emptyTemplate\", \"expandOn\"], outputs: [\"onSelectionChanged\", \"onItemSelectedChanged\", \"onNodeClick\", \"onCollapsedChanged\", \"onNodedbClick\"] }, { kind: \"ngmodule\", type: AXDecoratorModule }, { kind: \"component\", type: i4.AXDecoratorIconComponent, selector: \"ax-icon\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.AXDecoratorClearButtonComponent, selector: \"ax-clear-button\", inputs: [\"icon\"] }, { kind: \"component\", type: i4.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: AXButtonModule }, { kind: \"component\", type: i5.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: \"ngmodule\", type: AXCheckBoxModule }, { kind: \"component\", type: i6.AXCheckBoxComponent, selector: \"ax-check-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"color\", \"value\", \"name\", \"id\", \"isLoading\", \"indeterminate\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"onValueChanged\"] }, { kind: \"ngmodule\", type: AXTextBoxModule }, { kind: \"ngmodule\", type: AXCollapseModule }, { kind: \"component\", type: i7.AXCollapseComponent, selector: \"ax-collapse\", inputs: [\"disabled\", \"look\", \"isCollapsed\", \"showHeader\", \"caption\", \"icon\", \"isLoading\", \"headerTemplate\"], outputs: [\"onClick\", \"isCollapsedChange\"] }, { kind: \"component\", type: i7.AXCollapseGroupComponent, selector: \"ax-collapse-group\", inputs: [\"look\", \"accordion\", \"activeIndex\"], outputs: [\"accordionChange\", \"activeIndexChange\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i8.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { kind: \"directive\", type: \n // CDK DragDrop modules\n CdkDropList, selector: \"[cdkDropList], cdk-drop-list\", inputs: [\"cdkDropListConnectedTo\", \"cdkDropListData\", \"cdkDropListOrientation\", \"id\", \"cdkDropListLockAxis\", \"cdkDropListDisabled\", \"cdkDropListSortingDisabled\", \"cdkDropListEnterPredicate\", \"cdkDropListSortPredicate\", \"cdkDropListAutoScrollDisabled\", \"cdkDropListAutoScrollStep\", \"cdkDropListElementContainer\", \"cdkDropListHasAnchor\"], outputs: [\"cdkDropListDropped\", \"cdkDropListEntered\", \"cdkDropListExited\", \"cdkDropListSorted\"], exportAs: [\"cdkDropList\"] }, { kind: \"directive\", type: CdkDrag, selector: \"[cdkDrag]\", inputs: [\"cdkDragData\", \"cdkDragLockAxis\", \"cdkDragRootElement\", \"cdkDragBoundary\", \"cdkDragStartDelay\", \"cdkDragFreeDragPosition\", \"cdkDragDisabled\", \"cdkDragConstrainPosition\", \"cdkDragPreviewClass\", \"cdkDragPreviewContainer\", \"cdkDragScale\"], outputs: [\"cdkDragStarted\", \"cdkDragReleased\", \"cdkDragEnded\", \"cdkDragEntered\", \"cdkDragExited\", \"cdkDragDropped\", \"cdkDragMoved\"], exportAs: [\"cdkDrag\"] }, { kind: \"directive\", type: CdkDragHandle, selector: \"[cdkDragHandle]\", inputs: [\"cdkDragHandleDisabled\"] }, { kind: \"ngmodule\", type: \n // Forms\n FormsModule }, { kind: \"directive\", type: i9.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i9.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"pipe\", type: i1.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i10.AXTranslatorPipe, name: \"translate\" }], encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.6\", ngImport: i0, type: AXPMetaChoosePopupComponent, decorators: [{\n type: Component,\n args: [{ selector: 'axp-meta-choose-popup', imports: [\n // Angular\n CommonModule,\n // ACoreX\n AXSearchBoxModule,\n AXTreeViewModule,\n AXDecoratorModule,\n AXButtonModule,\n AXTranslationModule,\n AXCheckBoxModule,\n AXTextBoxModule,\n AXCollapseModule,\n AXLabelModule,\n // CDK DragDrop modules\n CdkDropList,\n CdkDrag,\n CdkDragHandle,\n // Forms\n FormsModule,\n ], encapsulation: ViewEncapsulation.None, providers: [], template: \"<div class=\\\"ax-p-4 ax-flex ax-gap-4 ax-overflow-hidden\\\">\\n <!-- Left: Meta tree -->\\n <div class=\\\"ax-flex-1 ax-flex ax-flex-col ax-gap-4 ax-min-w-0\\\">\\n <ax-search-box\\n [placeholder]=\\\"'widget.lookup.search' | translate | async\\\"\\n [value]=\\\"searchTerm()\\\"\\n (onValueChanged)=\\\"handleChangeSearchValue($event)\\\"\\n ><ax-clear-button></ax-clear-button\\n ></ax-search-box>\\n\\n <ax-tree-view\\n [hasChildField]=\\\"'hasChild'\\\"\\n [parentField]=\\\"'parentId'\\\"\\n [items]=\\\"treeViewData()\\\"\\n [selectionMode]=\\\"'multiple'\\\"\\n [selectedField]=\\\"'isSelected'\\\"\\n (onSelectionChanged)=\\\"handleSelectionChanged($event)\\\"\\n [itemTemplate]=\\\"itemTemplate\\\"\\n [focusNodeEnabled]=\\\"false\\\"\\n class=\\\"ax-flex-1 ax-overflow-auto\\\"\\n ></ax-tree-view>\\n </div>\\n\\n <!-- Right: Selected list -->\\n <div class=\\\"ax-w-1/2 ax-flex ax-flex-col ax-gap-3 ax-select-none ax-overflow-auto ax-h-[400px]\\\" cdkDropList (cdkDropListDropped)=\\\"handleDrop($event)\\\">\\n <h6 class=\\\"ax-font-semibold ax-text-sm\\\" *ngIf=\\\"selectedConfigs().length\\\">Selected Items</h6>\\n\\n @for(cfg of selectedConfigs(); track cfg.id; let i = $index) {\\n <div cdkDrag class=\\\"ax-bg-white ax-rounded-md ax-shadow-sm ax-border ax-border-gray-200\\\" cdkDragBoundary=\\\".ax-select-none\\\">\\n <!-- Collapse with custom header template -->\\n <ax-collapse-group look=\\\"fill\\\">\\n <ax-collapse caption=\\\"Options\\\" [headerTemplate]=\\\"headerTpl\\\">\\n <div class=\\\"ax-flex ax-flex-col\\\">\\n <ax-check-box\\n [ngModel]=\\\"cfg.isRequired\\\"\\n (onValueChanged)=\\\"cfg.isRequired = $event.value ?? false\\\"\\n >\\n <ax-label>{{ 'required' | translate | async }}</ax-label>\\n </ax-check-box>\\n \\n </div>\\n \\n <!-- Header template -->\\n <ng-template #headerTpl>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full ax-px-3 ax-py-2\\\">\\n <div class=\\\"ax-flex ax-items-center ax-gap-2\\\">\\n <ax-icon class=\\\"fa-solid fa-grip-dots-vertical ax-cursor-move ax-text-gray-400\\\" cdkDragHandle></ax-icon>\\n <span class=\\\"ax-text-sm ax-font-medium\\\">{{ cfg.text }}</span>\\n </div>\\n <div class=\\\"ax-flex ax-items-center ax-gap-1\\\">\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-up ax-text-primary ax-cursor-pointer ax-text-xs\\\" \\n (click)=\\\"moveItemUp($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === 0\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === 0\\\"\\n title=\\\"Move Up\\\">\\n </ax-icon>\\n <ax-icon \\n class=\\\"fa-solid fa-chevron-down ax-text-primary ax-cursor-pointer ax-text-xs ax-px-2\\\" \\n (click)=\\\"moveItemDown($event,i)\\\"\\n [class.ax-opacity-30]=\\\"i === selectedConfigs().length - 1\\\"\\n [class.ax-cursor-not-allowed]=\\\"i === selectedConfigs().length - 1\\\"\\n title=\\\"Move Down\\\">\\n </ax-icon>\\n <ax-icon class=\\\"fa-solid fa-xmark ax-text-danger ax-cursor-pointer\\\" (click)=\\\"toggleSelection(cfg)\\\"></ax-icon>\\n </div>\\n </div>\\n </ng-template>\\n </ax-collapse>\\n </ax-collapse-group>\\n </div>\\n }\\n </div>\\n</div>\\n\\n<ax-footer>\\n <ax-suffix>\\n <ax-button look=\\\"solid\\\" [text]=\\\"('close' | translate | async)!\\\" (onClick)=\\\"handleCloseClick()\\\"> </ax-button>\\n <ax-button look=\\\"solid\\\" color=\\\"primary\\\" [text]=\\\"('select' | translate | async)!\\\" (onClick)=\\\"handleSelectClick()\\\">\\n </ax-button>\\n </ax-suffix>\\n</ax-footer>\\n\\n<ng-template #itemTemplate let-item>\\n <div class=\\\"ax-flex ax-items-center ax-justify-between ax-w-full\\\">\\n <span>{{ item.text }}</span>\\n @if(item.hasCheckbox) {\\n <ax-icon \\n class=\\\"fa-regular fa-eye ax-text-primary ax-cursor-pointer ax-ml-2\\\" \\n (click)=\\\"handlePreviewMeta(item)\\\"\\n title=\\\"Preview Meta\\\">\\n </ax-icon>\\n }\\n </div>\\n</ng-template>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1jaG9vc2UtcG9wdXAvbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9mZWF0dXJlcy9tZXRhLWNob29zZS13aWRnZXQvbWV0YS1jaG9vc2UtcG9wdXAvbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQTRCLE1BQU0sOEJBQThCLENBQUM7QUFDMUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxPQUFPLEVBQWUsYUFBYSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FB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QUFPLEVBQUUsSUFBSTtpQkFDaEI7YUFDSixDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQzs4R0FsVFEsMkJBQTJCO2tHQUEzQiwyQkFBMkIsb0VBSnpCLEVBRVYsaURDeEVMLDRwSUErRkE7Z0JEN0NRLFVBQVU7Z0JBQ1YsWUFBWTtnQkFDWixTQUFTO2dCQUNULGlCQUFpQiw0WUFDakIsZ0JBQWdCLDRvQkFDaEIsaUJBQWlCLHNjQUNqQixjQUFjLDZYQUNkLG1CQUFtQiw4QkFDbkIsZ0JBQWdCLDBSQUNoQixlQUFlLDhCQUNmLGdCQUFnQiw4YkFDaEIsYUFBYTtnQkFDYix1QkFBdUI7Z0JBQ3ZCLFdBQVcsc2hCQUNYLE9BQU8sd2NBQ1AsYUFBYTtnQkFDYixRQUFRO2dCQUNSLFdBQVc7OzJGQU9OLDJCQUEyQjtrQkE3QnZDLFNBQVM7K0JBQ0ksdUJBQXVCLFdBR3hCO3dCQUNMLFVBQVU7d0JBQ1YsWUFBWTt3QkFDWixTQUFTO3dCQUNULGlCQUFpQjt3QkFDakIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLHVCQUF1Qjt3QkFDdkIsV0FBVzt3QkFDWCxPQUFPO3dCQUNQLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixXQUFXO3FCQUNkLGlCQUNjLGlCQUFpQixDQUFDLElBQUksYUFDMUIsRUFFViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgc2lnbmFsLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYU2VhcmNoQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlYXJjaC1ib3gnO1xuaW1wb3J0IHsgQVhUcmVlVmlld01vZHVsZSwgQVhUcmVlSXRlbUNsaWNrQmFzZUV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RyZWUtdmlldyc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWwgfSBmcm9tICdAYWNvcmV4L21vZHVsZXMvZGF0YS1tYW5hZ2VtZW50JztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcmFnSGFuZGxlLCBDZGtEcm9wTGlzdCwgbW92ZUl0ZW1JbkFycmF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBBWENoZWNrQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NoZWNrLWJveCc7XG5pbXBvcnQgeyBBWFRleHRCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGV4dC1ib3gnO1xuaW1wb3J0IHsgQVhDb2xsYXBzZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xsYXBzZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYTGFiZWxNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBBWFBNZXRhRGF0YURlZmluaXRpb24gfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEFYUFF1ZXJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBBWFBDYXRlZ29yeUVudGl0eVdpdGhJdGVtcyB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTWV0YVRyZWVJdGVtIGV4dGVuZHMgQVhQTWV0YURhdGFEZWZpbml0aW9uIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHBhcmVudElkPzogc3RyaW5nO1xuICAgIGhhc0NoaWxkPzogYm9vbGVhbjtcbiAgICBoYXNDaGVja2JveD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWwgY2hpbGRyZW4gY29sbGVjdGlvbiBmb3IgbmVzdGVkIHRyZWUgcmVuZGVyaW5nLlxuICAgICAqL1xuICAgIGNoaWxkcmVuPzogQVhQTWV0YVRyZWVJdGVtW107XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59XG5cbi8vI3JlZ2lvbiAtLS0tICAgSGVscGVyIEludGVyZmFjZXMgICAtLS0tXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0ZWRDb25maWcgZXh0ZW5kcyBBWFBNZXRhVHJlZUl0ZW0ge1xuICAgIGlzUmVxdWlyZWQ6IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcbn1cblxuLy8jZW5kcmVnaW9uXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYXhwLW1ldGEtY2hvb3NlLXBvcHVwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWV0YS1jaG9vc2UtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9tZXRhLWNob29zZS1wb3B1cC5jb21wb25lbnQuc2NzcycsXG4gICAgaW1wb3J0czogW1xuICAgICAgICAvLyBBbmd1bGFyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgLy8gQUNvcmVYXG4gICAgICAgIEFYU2VhcmNoQm94TW9kdWxlLFxuICAgICAgICBBWFRyZWVWaWV3TW9kdWxlLFxuICAgICAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICAgICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgICAgIEFYQ2hlY2tCb3hNb2R1bGUsXG4gICAgICAgIEFYVGV4dEJveE1vZHVsZSxcbiAgICAgICAgQVhDb2xsYXBzZU1vZHVsZSxcbiAgICAgICAgQVhMYWJlbE1vZHVsZSxcbiAgICAgICAgLy8gQ0RLIERyYWdEcm9wIG1vZHVsZXNcbiAgICAgICAgQ2RrRHJvcExpc3QsXG4gICAgICAgIENka0RyYWcsXG4gICAgICAgIENka0RyYWdIYW5kbGUsXG4gICAgICAgIC8vIEZvcm1zXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtcblxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUE1ldGFDaG9vc2VQb3B1cENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVBhZ2VDb21wb25lbnQge1xuXG4gICAgcHJvdGVjdGVkIHF1ZXJ5U2VydmljZSA9IGluamVjdChBWFBRdWVyeVNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCB3b3JrZmxvdyA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpO1xuXG4gICAgcHJvdGVjdGVkIGluaXRpYWxEYXRhOiBTZWxlY3RlZENvbmZpZ1tdID0gW107XG5cbiAgICAvKipcbiAgICAgKiBIb2xkcyB0aGUgY29tcGxldGUgbGlzdCBvZiB0cmVlIGl0ZW1zIGluIGEgZmxhdHRlbmVkIHN0cnVjdHVyZS5cbiAgICAgKiBUaGlzIHN0cnVjdHVyZSBtYWtlcyBpdCBlYXN5IHRvOlxuICAgICAqICAxKSBQcm92aWRlIGNoaWxkcmVuIGxhemlseSB2aWEgYHByb3ZpZGVMYXp5VHJlZVZpZXdgIHVzaW5nIGBwYXJlbnRJZGAuXG4gICAgICogIDIpIFBlcmZvcm0gc2VhcmNoIGFjcm9zcyBhbGwgbGV2ZWxzIHdoaWxlIHN0aWxsIGJlaW5nIGFibGUgdG8gaW5jbHVkZVxuICAgICAqICAgICBhbmNlc3RvciBub2RlcyBvZiBtYXRjaGVkIGl0ZW1zLlxuICAgICAqL1xuICAgIHRyZWVWaWV3RGF0YSA9IHNpZ25hbDxBWFBNZXRhVHJlZUl0ZW1bXT4oW10pO1xuXG4gICAgLyoqXG4gICAgICogRmxhdCBsaXN0IG9mIEFMTCBub2RlcyAoZm9yIGVhc3kgbG9vay11cHMgZHVyaW5nIHNlYXJjaCkuXG4gICAgICovXG4gICAgcHJpdmF0ZSBvcmlnaW5hbEZsYXREYXRhOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogT3JpZ2luYWwgKm5lc3RlZCogdHJlZSBzdHJ1Y3R1cmUgKHVzZWQgdG8gcmVzZXQgYW5kIHRvIHJlYnVpbGQgZmlsdGVyZWQgdHJlZXMpLlxuICAgICAqL1xuICAgIHByaXZhdGUgb3JpZ2luYWxOZXN0ZWREYXRhOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtdO1xuXG4gICAgcHJvdGVjdGVkIHNlYXJjaFRlcm0gPSBzaWduYWw8c3RyaW5nPignJyk7XG5cbiAgICAvLyNyZWdpb24gLS0tLSAgIFNlbGVjdGVkIENvbmZpZ3MgICAtLS0tXG5cbiAgICBzZWxlY3RlZENvbmZpZ3MgPSBzaWduYWw8U2VsZWN0ZWRDb25maWdbXT4oW10pO1xuXG4gICAgLy8jZW5kcmVnaW9uXG5cbiAgICBvdmVycmlkZSBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5xdWVyeVNlcnZpY2UuZmV0Y2g8dm9pZCwgQVhQQ2F0ZWdvcnlFbnRpdHlXaXRoSXRlbXM8QVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWw+W10+KCdjYXRlZ29yeS13aXRoLWl0ZW1zJywgdW5kZWZpbmVkKS50aGVuKChjYXRlZ29yaWVzKSA9PiB7XG5cbiAgICAgICAgICAgIC8vI3JlZ2lvbiAtLS0tICAgSGVscGVyIEZ1bmN0aW9ucyAgIC0tLS1cblxuICAgICAgICAgICAgY29uc3QgY29udmVydENhdGVnb3J5VG9UcmVlSXRlbSA9IChjYXRlZ29yeTogQVhQQ2F0ZWdvcnlFbnRpdHlXaXRoSXRlbXM8QVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWw+KTogQVhQTWV0YVRyZWVJdGVtID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yeUNoaWxkcmVuOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IFtcbiAgICAgICAgICAgICAgICAgICAgLy8gTWFwIHN1Yi1jYXRlZ29yaWVzIHJlY3Vyc2l2ZWx5XG4gICAgICAgICAgICAgICAgICAgIC4uLmNhdGVnb3J5LmNoaWxkcmVuPy5tYXAoKGM6IEFYUENhdGVnb3J5RW50aXR5V2l0aEl0ZW1zPEFYTU1ldGFEYXRhRGVmaW5pdGlvbkVudGl0eU1vZGVsPikgPT4gY29udmVydENhdGVnb3J5VG9UcmVlSXRlbShjKSkgPz8gW10sXG4gICAgICAgICAgICAgICAgICAgIC8vIE1hcCBpdGVtcyBvZiBjdXJyZW50IGNhdGVnb3J5XG4gICAgICAgICAgICAgICAgICAgIC4uLmNhdGVnb3J5Lml0ZW1zLm1hcCgoaXRlbTogQVhNTWV0YURhdGFEZWZpbml0aW9uRW50aXR5TW9kZWwpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW0udGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYXNDaGVja2JveDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgICAgICAgICAgIGludGVyZmFjZTogaXRlbS5pbnRlcmZhY2UgYXMgc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IGl0ZW0udGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgIF07XG5cbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBpZDogY2F0ZWdvcnkuaWQsXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IGNhdGVnb3J5LnRpdGxlLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogY2F0ZWdvcnkucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgIGhhc0NoZWNrYm94OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IGNhdGVnb3J5Q2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAvL2Zha2VcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogJycsXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnJ1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAvLyNlbmRyZWdpb25cblxuICAgICAgICAgICAgLy8gQnVpbGQgKipuZXN0ZWQqKiB0cmVlIHN0cnVjdHVyZSBmaXJzdCBzbyB0aGF0IGVhY2ggcGFyZW50XG4gICAgICAgICAgICAvLyBjb250YWlucyBpdHMgY2hpbGRyZW4gYXJyYXkgKHNpbWlsYXIgdG8gdGhlIHNhbXBsZSBhdCBsaW5lIDIwOCkuXG4gICAgICAgICAgICBjb25zdCBuZXN0ZWRUcmVlOiBBWFBNZXRhVHJlZUl0ZW1bXSA9IGNhdGVnb3JpZXM/Lm1hcCgoYykgPT4gY29udmVydENhdGVnb3J5VG9UcmVlSXRlbShjKSkgPz8gW107XG5cbiAgICAgICAgICAgIC8vIEFkZGl0aW9uYWxseSBidWlsZCBhIGZsYXR0ZW5lZCBsaXN0IG9mIGFsbCBub2RlcyAoc2FtZSBvYmplY3RzKSBzb1xuICAgICAgICAgICAgLy8gdGhhdCB3ZSBjYW4gcmUtdXNlIHRoZSBleGlzdGluZyBzZWFyY2ggaW1wbGVtZW50YXRpb24gd2hpY2hcbiAgICAgICAgICAgIC8vIGV4cGVjdHMgYSBmbGF0IGFycmF5LlxuICAgICAgICAgICAgY29uc3QgZmxhdExpc3Q6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG4gICAgICAgICAgICBjb25zdCBjb2xsZWN0RmxhdCA9IChub2RlczogQVhQTWV0YVRyZWVJdGVtW10pID0+IHtcbiAgICAgICAgICAgICAgICBub2Rlcy5mb3JFYWNoKChuKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGZsYXRMaXN0LnB1c2gobik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG4uY2hpbGRyZW4pICYmIG4uY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sbGVjdEZsYXQobi5jaGlsZHJlbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb2xsZWN0RmxhdChuZXN0ZWRUcmVlKTtcblxuICAgICAgICAgICAgLy8gLS0tICAgQXBwbHkgaW5pdGlhbCBzZWxlY3Rpb25zICAgLS0tXG4gICAgICAgICAgICBpZiAodGhpcy5pbml0aWFsRGF0YSAmJiB0aGlzLmluaXRpYWxEYXRhLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbml0aWFsSWRzID0gbmV3IFNldCh0aGlzLmluaXRpYWxEYXRhLm1hcCgoZCkgPT4gZC5pZCkpO1xuXG4gICAgICAgICAgICAgICAgZmxhdExpc3QuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS5oYXNDaGVja2JveCAmJiBpbml0aWFsSWRzLmhhcyhub2RlLmlkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbm9kZS5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBQZXJzaXN0IG9yaWdpbmFsIGRhdGEgKGJvdGggZmxhdHRlbmVkIGFuZCBuZXN0ZWQpICYgaW5pdGlhbGlzZSByZWFjdGl2ZSBzaWduYWwuXG4gICAgICAgICAgICB0aGlzLm9yaWdpbmFsRmxhdERhdGEgPSBmbGF0TGlzdDtcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxOZXN0ZWREYXRhID0gbmVzdGVkVHJlZTtcblxuICAgICAgICAgICAgLy8gU2V0IGluaXRpYWwgdHJlZSB2aWV3IGRhdGEgdG8gZGlzcGxheSB0aGUgdHJlZVxuICAgICAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KFsuLi5uZXN0ZWRUcmVlXSk7XG5cbiAgICAgICAgICAgIC8vIEluaXRpYWxpc2Ugc2VsZWN0ZWQgbGlzdCBpZiBhbnkgaW5pdGlhbCBzZWxlY3Rpb25zXG4gICAgICAgICAgICB0aGlzLnN5bmNocm9uaXNlU2VsZWN0ZWRDb25maWdzKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnNldCh0aGlzLmluaXRpYWxEYXRhID8/IFtdKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlU2VsZWN0Q2xpY2soKSB7XG4gICAgICAgIC8vIFJldHVybiB0aGUgY29uZmlndXJlZCBzZWxlY3RlZCBpdGVtcyBmcm9tIHRoZSByaWdodCBwYW5lbFxuICAgICAgICBjb25zdCBzZWxlY3RlZENvbmZpZ3MgPSB0aGlzLnNlbGVjdGVkQ29uZmlncygpO1xuXG4gICAgICAgIGlmIChzZWxlY3RlZENvbmZpZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5jbG9zZShzZWxlY3RlZENvbmZpZ3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNsb3NlQ2xpY2soKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2hhbmdlU2VhcmNoVmFsdWUoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCkge1xuICAgICAgICBjb25zdCB0ZXJtID0gKGUudmFsdWUgPz8gJycpLnRyaW0oKTtcbiAgICAgICAgdGhpcy5zZWFyY2hUZXJtLnNldCh0ZXJtKTtcblxuICAgICAgICAvLyBSZXNldCB0byB0aGUgcHJpc3RpbmUgbmVzdGVkIHRyZWUgd2hlbiBzZWFyY2ggaXMgY2xlYXJlZC5cbiAgICAgICAgaWYgKCF0ZXJtKSB7XG4gICAgICAgICAgICB0aGlzLnRyZWVWaWV3RGF0YS5zZXQoWy4uLnRoaXMub3JpZ2luYWxOZXN0ZWREYXRhXSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsb3dlcmVkVGVybSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAvLyBCdWlsZCBhIHF1aWNrIGxvb2t1cCBtYXAgdG8gdHJhdmVyc2UgYW5jZXN0b3JzIGVmZmljaWVudGx5XG4gICAgICAgIGNvbnN0IG1hcEJ5SWQgPSBuZXcgTWFwPHN0cmluZywgQVhQTWV0YVRyZWVJdGVtPihcbiAgICAgICAgICAgIHRoaXMub3JpZ2luYWxGbGF0RGF0YS5tYXAoKGl0ZW0pID0+IFtpdGVtLmlkLCBpdGVtXSlcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBIZWxwZXIgdG8gY29sbGVjdCBhbGwgYW5jZXN0b3JzIG9mIGEgZ2l2ZW4gbm9kZVxuICAgICAgICBjb25zdCBjb2xsZWN0QW5jZXN0b3JzID0gKG5vZGU6IEFYUE1ldGFUcmVlSXRlbSk6IEFYUE1ldGFUcmVlSXRlbVtdID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFuY2VzdG9yczogQVhQTWV0YVRyZWVJdGVtW10gPSBbXTtcbiAgICAgICAgICAgIGxldCBjdXJyZW50UGFyZW50SWQgPSBub2RlLnBhcmVudElkO1xuICAgICAgICAgICAgd2hpbGUgKGN1cnJlbnRQYXJlbnRJZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IG1hcEJ5SWQuZ2V0KGN1cnJlbnRQYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGFuY2VzdG9ycy5wdXNoKHBhcmVudCk7XG4gICAgICAgICAgICAgICAgY3VycmVudFBhcmVudElkID0gcGFyZW50LnBhcmVudElkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFuY2VzdG9ycztcbiAgICAgICAgfTtcblxuICAgICAgICAvLyAxKSBGaW5kIGFsbCBub2RlcyB3aG9zZSB0ZXh0IGNvbnRhaW5zIHRoZSBzZWFyY2ggdGVybVxuICAgICAgICBjb25zdCBtYXRjaGVkTm9kZXMgPSB0aGlzLm9yaWdpbmFsRmxhdERhdGEuZmlsdGVyKChpdGVtKSA9PlxuICAgICAgICAgICAgaXRlbS50ZXh0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJlZFRlcm0pXG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gMikgQ29sbGVjdCB0aGVpciBhbmNlc3RvcnMgdG8gZW5zdXJlIHRoZSB0cmVlIGNhbiByZW5kZXIgY29ycmVjdCBwYXRoc1xuICAgICAgICBjb25zdCByZXN1bHRTZXQgPSBuZXcgTWFwPHN0cmluZywgQVhQTWV0YVRyZWVJdGVtPigpO1xuICAgICAgICBtYXRjaGVkTm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0U2V0LnNldChub2RlLmlkLCBub2RlKTtcbiAgICAgICAgICAgIGNvbGxlY3RBbmNlc3RvcnMobm9kZSkuZm9yRWFjaCgoYW5jZXN0b3IpID0+IHJlc3VsdFNldC5zZXQoYW5jZXN0b3IuaWQsIGFuY2VzdG9yKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBFbnN1cmUgY2hpbGQgbm9kZXMgYXJlIE5PVCByZW5kZXJlZCBhdCB0aGUgcm9vdCBsZXZlbC5cbiAgICAgICAgLy8gV2Ugb25seSBwYXNzIG5vZGVzIHRvIHRoZSB0cmVlIGNvbXBvbmVudCB0aGF0IGRvICoqbm90KipcbiAgICAgICAgLy8gaGF2ZSB0aGVpciBwYXJlbnQgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBmaW5hbCByZXN1bHQgc2V0LlxuICAgICAgICAvLyBUaGlzIHByZXNlcnZlcyB0aGUgY29ycmVjdCBoaWVyYXJjaHkgYW5kIHByZXZlbnRzIGR1cGxpY2F0ZXNcbiAgICAgICAgLy8gbGlrZSB0aGUgZXh0cmEgcm9vdC1sZXZlbCBlbnRyeSBoaWdobGlnaHRlZCBpbiB5ZWxsb3cuXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAvLyBCdWlsZCBhICpuZXN0ZWQqIHRyZWUgdGhhdCBjb250YWlucyBPTkxZIG5vZGVzIHByZXNlbnQgaW4gYHJlc3VsdFNldGAuXG4gICAgICAgIGNvbnN0IGlkU2V0ID0gbmV3IFNldDxzdHJpbmc+KHJlc3VsdFNldC5rZXlzKCkpO1xuXG4gICAgICAgIGNvbnN0IGNsb25lSWZJbmNsdWRlZCA9IChub2RlOiBBWFBNZXRhVHJlZUl0ZW0pOiBBWFBNZXRhVHJlZUl0ZW0gfCBudWxsID0+IHtcbiAgICAgICAgICAgIGlmICghaWRTZXQuaGFzKG5vZGUuaWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGNsb25lZDogQVhQTWV0YVRyZWVJdGVtID0ge1xuICAgICAgICAgICAgICAgIC4uLm5vZGUsXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGZyZXNoIGNoaWxkcmVuIGFycmF5ICh3aWxsIGJlIHBvcHVsYXRlZCByZWN1cnNpdmVseSlcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW11cbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG5vZGUuY2hpbGRyZW4pKSB7XG4gICAgICAgICAgICAgICAgbm9kZS5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjID0gY2xvbmVJZkluY2x1ZGVkKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsb25lZC5jaGlsZHJlbiEucHVzaChjKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gY2xvbmVkO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkUm9vdHM6IEFYUE1ldGFUcmVlSXRlbVtdID0gW107XG4gICAgICAgIHRoaXMub3JpZ2luYWxOZXN0ZWREYXRhLmZvckVhY2goKHJvb3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNsb25lZFJvb3QgPSBjbG9uZUlmSW5jbHVkZWQocm9vdCk7XG4gICAgICAgICAgICBpZiAoY2xvbmVkUm9vdCkge1xuICAgICAgICAgICAgICAgIGZpbHRlcmVkUm9vdHMucHVzaChjbG9uZWRSb290KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50cmVlVmlld0RhdGEuc2V0KGZpbHRlcmVkUm9vdHMpO1xuICAgIH1cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgVHJlZSBJbnRlcmFjdGlvbiBIYW5kbGVycyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVTZWxlY3Rpb25DaGFuZ2VkKGU6IEFYVHJlZUl0ZW1DbGlja0Jhc2VFdmVudCkge1xuICAgICAgICAvLyBUcmVlIHRvZ2dsZXMgc2VsZWN0aW9uIGludGVybmFsbHk7IGp1c3Qgc3luYyBjb25maWdzIGFmdGVyd2FyZHNcbiAgICAgICAgdGhpcy5zeW5jaHJvbmlzZVNlbGVjdGVkQ29uZmlncygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY2hyb25pc2VTZWxlY3RlZENvbmZpZ3MoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZXMgPSB0aGlzLm9yaWdpbmFsRmxhdERhdGEuZmlsdGVyKChuKSA9PiBuLmhhc0NoZWNrYm94ICYmIG4uaXNTZWxlY3RlZCk7XG5cbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZ3MudXBkYXRlKChwcmV2KSA9PiB7XG4gICAgICAgICAgICAvLyBSZW1vdmUgY29uZmlncyB0aGF0IGFyZSBubyBsb25nZXIgc2VsZWN0ZWRcbiAgICAgICAgICAgIGxldCBuZXh0ID0gcHJldi5maWx0ZXIoKGNmZykgPT4gc2VsZWN0ZWROb2Rlcy5zb21lKChuKSA9PiBuLmlkID09PSBjZmcuaWQpKTtcblxuICAgICAgICAgICAgLy8gQWRkIG5ldyBjb25maWdzXG4gICAgICAgICAgICBzZWxlY3RlZE5vZGVzLmZvckVhY2goKG4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIW5leHQuc29tZSgoY2ZnKSA9PiBjZmcuaWQgPT09IG4uaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIG5leHQucHVzaCh7IC4uLm4sIGlzUmVxdWlyZWQ6IGZhbHNlLCBwbGFjZWhvbGRlcjogJycsIHN0YXR1czogJ3RlbXBvcmFyeScgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBbLi4ubmV4dF07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0b2dnbGVTZWxlY3Rpb24oY2ZnOiBTZWxlY3RlZENvbmZpZykge1xuICAgICAgICAvLyBGaW5kIHRoZSBvcmlnaW5hbCBub2RlIGluIGZsYXREYXRhIGFuZCB1cGRhdGUgaXRcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxOb2RlID0gdGhpcy5vcmlnaW5hbEZsYXREYXRhLmZpbmQobiA9PiBuLmlkID09PSBjZmcuaWQpO1xuICAgICAgICBpZiAob3JpZ2luYWxOb2RlKSB7XG4gICAgICAgICAgICBvcmlnaW5hbE5vZGUuaXNTZWxlY3RlZCA9ICFvcmlnaW5hbE5vZGUuaXNTZWxlY3RlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvcmNlIHRyZWUgdmlldyB0byB1cGRhdGUgYnkgdHJpZ2dlcmluZyBzaWduYWwgY2hhbmdlXG4gICAgICAgIHRoaXMudHJlZVZpZXdEYXRhLnNldChbLi4udGhpcy50cmVlVmlld0RhdGEoKV0pO1xuXG4gICAgICAgIHRoaXMuc3luY2hyb25pc2VTZWxlY3RlZENvbmZpZ3MoKTtcbiAgICB9XG5cbiAgICAvLyNlbmRyZWdpb25cblxuICAgIC8vI3JlZ2lvbiAtLS0tICAgRHJhZyAmIERyb3AgKE9yZGVyaW5nKSAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBoYW5kbGVEcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxTZWxlY3RlZENvbmZpZ1tdPikge1xuICAgICAgICBjb25zdCBsaXN0ID0gWy4uLnRoaXMuc2VsZWN0ZWRDb25maWdzKCldO1xuICAgICAgICBtb3ZlSXRlbUluQXJyYXkobGlzdCwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbmZpZ3Muc2V0KGxpc3QpO1xuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBNYW51YWwgT3JkZXJpbmcgTWV0aG9kcyAgIC0tLS1cblxuICAgIHByb3RlY3RlZCBtb3ZlSXRlbVVwKGU6IE1vdXNlRXZlbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgaWYgKGluZGV4IDw9IDApIHJldHVybjsgLy8gQWxyZWFkeSBhdCB0b3BcblxuICAgICAgICBjb25zdCBsaXN0ID0gWy4uLnRoaXMuc2VsZWN0ZWRDb25maWdzKCldO1xuICAgICAgICBbbGlzdFtpbmRleCAtIDFdLCBsaXN0W2luZGV4XV0gPSBbbGlzdFtpbmRleF0sIGxpc3RbaW5kZXggLSAxXV07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnNldChsaXN0KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgbW92ZUl0ZW1Eb3duKGU6IE1vdXNlRXZlbnQsIGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgY29uc3QgY3VycmVudExpc3QgPSB0aGlzLnNlbGVjdGVkQ29uZmlncygpO1xuICAgICAgICBpZiAoaW5kZXggPj0gY3VycmVudExpc3QubGVuZ3RoIC0gMSkgcmV0dXJuOyAvLyBBbHJlYWR5IGF0IGJvdHRvbVxuXG4gICAgICAgIGNvbnN0IGxpc3QgPSBbLi4uY3VycmVudExpc3RdO1xuICAgICAgICBbbGlzdFtpbmRleF0sIGxpc3RbaW5kZXggKyAxXV0gPSBbbGlzdFtpbmRleCArIDFdLCBsaXN0W2luZGV4XV07XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb25maWdzLnNldChsaXN0KTtcblxuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxuXG4gICAgLy8jcmVnaW9uIC0tLS0gICBUZW1wbGF0ZSBBY3Rpb25zICAgLS0tLVxuXG4gICAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZVByZXZpZXdNZXRhKGl0ZW06IEFYUE1ldGFUcmVlSXRlbSkge1xuICAgICAgICBpZiAoaXRlbS5oYXNDaGVja2JveCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy53b3JrZmxvdy5leGVjdXRlKCdvcGVuLWZvcm0tdGVtcGxhdGUnLCB7XG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogaXRlbS5pbnRlcmZhY2UsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgICAgICAgICBwcmV2aWV3OiB0cnVlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vI2VuZHJlZ2lvblxufVxuIiwiPGRpdiBjbGFzcz1cImF4LXAtNCBheC1mbGV4IGF4LWdhcC00IGF4LW92ZXJmbG93LWhpZGRlblwiPlxuICA8IS0tIExlZnQ6IE1ldGEgdHJlZSAtLT5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXgtMSBheC1mbGV4IGF4LWZsZXgtY29sIGF4LWdhcC00IGF4LW1pbi13LTBcIj5cbiAgICA8YXgtc2VhcmNoLWJveFxuICAgICAgW3BsYWNlaG9sZGVyXT1cIid3aWRnZXQubG9va3VwLnNlYXJjaCcgfCB0cmFuc2xhdGUgfCBhc3luY1wiXG4gICAgICBbdmFsdWVdPVwic2VhcmNoVGVybSgpXCJcbiAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVDaGFuZ2VTZWFyY2hWYWx1ZSgkZXZlbnQpXCJcbiAgICAgID48YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uXG4gICAgPjwvYXgtc2VhcmNoLWJveD5cblxuICAgIDxheC10cmVlLXZpZXdcbiAgICAgIFtoYXNDaGlsZEZpZWxkXT1cIidoYXNDaGlsZCdcIlxuICAgICAgW3BhcmVudEZpZWxkXT1cIidwYXJlbnRJZCdcIlxuICAgICAgW2l0ZW1zXT1cInRyZWVWaWV3RGF0YSgpXCJcbiAgICAgIFtzZWxlY3Rpb25Nb2RlXT1cIidtdWx0aXBsZSdcIlxuICAgICAgW3NlbGVjdGVkRmllbGRdPVwiJ2lzU2VsZWN0ZWQnXCJcbiAgICAgIChvblNlbGVjdGlvbkNoYW5nZWQpPVwiaGFuZGxlU2VsZWN0aW9uQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgIFtpdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlXCJcbiAgICAgIFtmb2N1c05vZGVFbmFibGVkXT1cImZhbHNlXCJcbiAgICAgIGNsYXNzPVwiYXgtZmxleC0xIGF4LW92ZXJmbG93LWF1dG9cIlxuICAgID48L2F4LXRyZWUtdmlldz5cbiAgPC9kaXY+XG5cbiAgPCEtLSBSaWdodDogU2VsZWN0ZWQgbGlzdCAtLT5cbiAgPGRpdiBjbGFzcz1cImF4LXctMS8yIGF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTMgYXgtc2VsZWN0LW5vbmUgYXgtb3ZlcmZsb3ctYXV0byBheC1oLVs0MDBweF1cIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImhhbmRsZURyb3AoJGV2ZW50KVwiPlxuICAgIDxoNiBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC1zbVwiICpuZ0lmPVwic2VsZWN0ZWRDb25maWdzKCkubGVuZ3RoXCI+U2VsZWN0ZWQgSXRlbXM8L2g2PlxuXG4gICAgQGZvcihjZmcgb2Ygc2VsZWN0ZWRDb25maWdzKCk7IHRyYWNrIGNmZy5pZDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgIDxkaXYgY2RrRHJhZyBjbGFzcz1cImF4LWJnLXdoaXRlIGF4LXJvdW5kZWQtbWQgYXgtc2hhZG93LXNtIGF4LWJvcmRlciBheC1ib3JkZXItZ3JheS0yMDBcIiBjZGtEcmFnQm91bmRhcnk9XCIuYXgtc2VsZWN0LW5vbmVcIj5cbiAgICAgICAgPCEtLSBDb2xsYXBzZSB3aXRoIGN1c3RvbSBoZWFkZXIgdGVtcGxhdGUgLS0+XG4gICAgICAgIDxheC1jb2xsYXBzZS1ncm91cCBsb29rPVwiZmlsbFwiPlxuICAgICAgICAgIDxheC1jb2xsYXBzZSBjYXB0aW9uPVwiT3B0aW9uc1wiIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUcGxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWZsZXgtY29sXCI+XG4gICAgICAgICAgICAgICAgPGF4LWNoZWNrLWJveFxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiY2ZnLmlzUmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImNmZy5pc1JlcXVpcmVkID0gJGV2ZW50LnZhbHVlID8/IGZhbHNlXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGF4LWxhYmVsPnt7ICdyZXF1aXJlZCcgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvYXgtbGFiZWw+XG4gICAgICAgICAgICAgIDwvYXgtY2hlY2stYm94PlxuICAgICAgICAgICAgICAgXG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgPCEtLSBIZWFkZXIgdGVtcGxhdGUgLS0+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2hlYWRlclRwbD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktYmV0d2VlbiBheC13LWZ1bGwgYXgtcHgtMyBheC1weS0yXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWdyaXAtZG90cy12ZXJ0aWNhbCBheC1jdXJzb3ItbW92ZSBheC10ZXh0LWdyYXktNDAwXCIgY2RrRHJhZ0hhbmRsZT48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImF4LXRleHQtc20gYXgtZm9udC1tZWRpdW1cIj57eyBjZmcudGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTFcIj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZhLXNvbGlkIGZhLWNoZXZyb24tdXAgYXgtdGV4dC1wcmltYXJ5IGF4LWN1cnNvci1wb2ludGVyIGF4LXRleHQteHNcIiBcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vdmVJdGVtVXAoJGV2ZW50LGkpXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LW9wYWNpdHktMzBdPVwiaSA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGFzcy5heC1jdXJzb3Itbm90LWFsbG93ZWRdPVwiaSA9PT0gMFwiXG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiTW92ZSBVcFwiPlxuICAgICAgICAgICAgICAgICAgPC9heC1pY29uPlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEtc29saWQgZmEtY2hldnJvbi1kb3duIGF4LXRleHQtcHJpbWFyeSBheC1jdXJzb3ItcG9pbnRlciBheC10ZXh0LXhzIGF4LXB4LTJcIiBcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm1vdmVJdGVtRG93bigkZXZlbnQsaSlcIlxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXgtb3BhY2l0eS0zMF09XCJpID09PSBzZWxlY3RlZENvbmZpZ3MoKS5sZW5ndGggLSAxXCJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LWN1cnNvci1ub3QtYWxsb3dlZF09XCJpID09PSBzZWxlY3RlZENvbmZpZ3MoKS5sZW5ndGggLSAxXCJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJNb3ZlIERvd25cIj5cbiAgICAgICAgICAgICAgICAgIDwvYXgtaWNvbj5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEteG1hcmsgYXgtdGV4dC1kYW5nZXIgYXgtY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidG9nZ2xlU2VsZWN0aW9uKGNmZylcIj48L2F4LWljb24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L2F4LWNvbGxhcHNlPlxuICAgICAgICA8L2F4LWNvbGxhcHNlLWdyb3VwPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvZGl2PlxuXG48YXgtZm9vdGVyPlxuICA8YXgtc3VmZml4PlxuICAgIDxheC1idXR0b24gbG9vaz1cInNvbGlkXCIgW3RleHRdPVwiKCdjbG9zZScgfCB0cmFuc2xhdGUgfCBhc3luYykhXCIgKG9uQ2xpY2spPVwiaGFuZGxlQ2xvc2VDbGljaygpXCI+IDwvYXgtYnV0dG9uPlxuICAgIDxheC1idXR0b24gbG9vaz1cInNvbGlkXCIgY29sb3I9XCJwcmltYXJ5XCIgW3RleHRdPVwiKCdzZWxlY3QnIHwgdHJhbnNsYXRlIHwgYXN5bmMpIVwiIChvbkNsaWNrKT1cImhhbmRsZVNlbGVjdENsaWNrKClcIj5cbiAgICA8L2F4LWJ1dHRvbj5cbiAgPC9heC1zdWZmaXg+XG48L2F4LWZvb3Rlcj5cblxuPG5nLXRlbXBsYXRlICNpdGVtVGVtcGxhdGUgbGV0LWl0ZW0+XG4gIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWJldHdlZW4gYXgtdy1mdWxsXCI+XG4gICAgPHNwYW4+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxuICAgIEBpZihpdGVtLmhhc0NoZWNrYm94KSB7XG4gICAgPGF4LWljb24gXG4gICAgICBjbGFzcz1cImZhLXJlZ3VsYXIgZmEtZXllIGF4LXRleHQtcHJpbWFyeSBheC1jdXJzb3ItcG9pbnRlciBheC1tbC0yXCIgXG4gICAgICAoY2xpY2spPVwiaGFuZGxlUHJldmlld01ldGEoaXRlbSlcIlxuICAgICAgdGl0bGU9XCJQcmV2aWV3IE1ldGFcIj5cbiAgICA8L2F4LWljb24+XG4gICAgfVxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0="],"names":["i2","i4","i5","i8","i9","i10"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AXTranslationService } from '@acorex/core/translation';
2
- import { c as AXMPermissionsKeys } from './acorex-modules-document-management-acorex-modules-document-management-BCTTw-hI.mjs';
2
+ import { c as AXMPermissionsKeys } from './acorex-modules-document-management-acorex-modules-document-management-uQnZ0m0T.mjs';
3
3
 
4
4
  class AXMPermissionDefinitionProvider {
5
5
  constructor(injector) {
@@ -36,4 +36,4 @@ class AXMPermissionDefinitionProvider {
36
36
  }
37
37
 
38
38
  export { AXMPermissionDefinitionProvider };
39
- //# sourceMappingURL=acorex-modules-document-management-permission-definition.provider-CMEJt7pe.mjs.map
39
+ //# sourceMappingURL=acorex-modules-document-management-permission-definition.provider-CljbPHm-.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-document-management-permission-definition.provider-CMEJt7pe.mjs","sources":["../tmp-esm2022/document-management/lib/permission-definition.provider.js"],"sourcesContent":["import { AXTranslationService } from '@acorex/core/translation';\nimport { AXMPermissionsKeys } from './permission.keys';\nexport class AXMPermissionDefinitionProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n }\n async define(context) {\n const trans = async (key) => await this.translateService.translateAsync(`permissions.document-management.${key}`, { scope: 'document-management' });\n const keys = AXMPermissionsKeys.DocumentManagement;\n context.addGroup(keys.Management, await trans('manage.title'), await trans('manage.description'))\n // \n .addPermission(keys.DocumentType.Management, await trans('document-type.manage.title'), await trans('document-type.manage.description'))\n .addChild(keys.DocumentType.View, await trans('document-type.view.title'), await trans('document-type.view.description'))\n .addChild(keys.DocumentType.Edit, await trans('document-type.edit.title'), await trans('document-type.edit.description'))\n .addChild(keys.DocumentType.Delete, await trans('document-type.delete.title'), await trans('document-type.delete.description'))\n .addChild(keys.DocumentType.Create, await trans('document-type.create.title'), await trans('document-type.create.description'))\n .endPermission()\n //\n .addPermission(keys.Driver.Management, await trans('driver.manage.title'), await trans('driver.manage.description'))\n .addChild(keys.Driver.View, await trans('driver.view.title'), await trans('driver.view.description'))\n .addChild(keys.Driver.Edit, await trans('driver.edit.title'), await trans('driver.edit.description'))\n .addChild(keys.Driver.Delete, await trans('driver.delete.title'), await trans('driver.delete.description'))\n .addChild(keys.Driver.Create, await trans('driver.create.title'), await trans('driver.create.description'))\n .endPermission()\n //\n .addPermission(keys.Review.Management, await trans('review.manage.title'), await trans('review.manage.description'))\n .addChild(keys.Review.View, await trans('review.view.title'), await trans('review.view.description'))\n .addChild(keys.Review.Edit, await trans('review.edit.title'), await trans('review.edit.description'))\n .addChild(keys.Review.Delete, await trans('review.delete.title'), await trans('review.delete.description'))\n .addChild(keys.Review.Create, await trans('review.create.title'), await trans('review.create.description'))\n .endPermission();\n //\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9wZXJtaXNzaW9uLWRlZmluaXRpb24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdkQsTUFBTSxPQUFPLCtCQUErQjtJQUcxQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRnJCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFHNUUsQ0FBQztJQUdELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBK0M7UUFFMUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLG1DQUFtQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFFNUosTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7UUFFbkQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDL0YsSUFBSTthQUNILGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7YUFDdkksUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLDBCQUEwQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQzthQUN4SCxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsMEJBQTBCLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO2FBQ3hILFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7YUFDOUgsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQzthQUM5SCxhQUFhLEVBQUU7WUFDaEIsRUFBRTthQUNELGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7YUFDbkgsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQzthQUNwRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2FBQ3BHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7YUFDMUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQzthQUMxRyxhQUFhLEVBQUU7WUFDaEIsRUFBRTthQUNELGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7YUFDbkgsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQzthQUNwRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2FBQ3BHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7YUFDMUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQzthQUMxRyxhQUFhLEVBQUUsQ0FBQTtRQUNoQixFQUFFO0lBRU4sQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciwgQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlckNvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTVBlcm1pc3Npb25zS2V5cyB9IGZyb20gJy4vcGVybWlzc2lvbi5rZXlzJztcblxuZXhwb3J0IGNsYXNzIEFYTVBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuXG4gIGFzeW5jIGRlZmluZShjb250ZXh0OiBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuXG4gICAgY29uc3QgdHJhbnMgPSBhc3luYyAoa2V5OiBzdHJpbmcpID0+IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyhgcGVybWlzc2lvbnMuZG9jdW1lbnQtbWFuYWdlbWVudC4ke2tleX1gLCB7IHNjb3BlOiAnZG9jdW1lbnQtbWFuYWdlbWVudCcgfSk7XG5cbiAgICBjb25zdCBrZXlzID0gQVhNUGVybWlzc2lvbnNLZXlzLkRvY3VtZW50TWFuYWdlbWVudDtcblxuICAgIGNvbnRleHQuYWRkR3JvdXAoa2V5cy5NYW5hZ2VtZW50LCBhd2FpdCB0cmFucygnbWFuYWdlLnRpdGxlJyksIGF3YWl0IHRyYW5zKCdtYW5hZ2UuZGVzY3JpcHRpb24nKSlcbiAgICAgIC8vICBcbiAgICAgIC5hZGRQZXJtaXNzaW9uKGtleXMuRG9jdW1lbnRUeXBlLk1hbmFnZW1lbnQsIGF3YWl0IHRyYW5zKCdkb2N1bWVudC10eXBlLm1hbmFnZS50aXRsZScpLCBhd2FpdCB0cmFucygnZG9jdW1lbnQtdHlwZS5tYW5hZ2UuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkRvY3VtZW50VHlwZS5WaWV3LCBhd2FpdCB0cmFucygnZG9jdW1lbnQtdHlwZS52aWV3LnRpdGxlJyksIGF3YWl0IHRyYW5zKCdkb2N1bWVudC10eXBlLnZpZXcuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkRvY3VtZW50VHlwZS5FZGl0LCBhd2FpdCB0cmFucygnZG9jdW1lbnQtdHlwZS5lZGl0LnRpdGxlJyksIGF3YWl0IHRyYW5zKCdkb2N1bWVudC10eXBlLmVkaXQuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkRvY3VtZW50VHlwZS5EZWxldGUsIGF3YWl0IHRyYW5zKCdkb2N1bWVudC10eXBlLmRlbGV0ZS50aXRsZScpLCBhd2FpdCB0cmFucygnZG9jdW1lbnQtdHlwZS5kZWxldGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkRvY3VtZW50VHlwZS5DcmVhdGUsIGF3YWl0IHRyYW5zKCdkb2N1bWVudC10eXBlLmNyZWF0ZS50aXRsZScpLCBhd2FpdCB0cmFucygnZG9jdW1lbnQtdHlwZS5jcmVhdGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5lbmRQZXJtaXNzaW9uKClcbiAgICAgIC8vXG4gICAgICAuYWRkUGVybWlzc2lvbihrZXlzLkRyaXZlci5NYW5hZ2VtZW50LCBhd2FpdCB0cmFucygnZHJpdmVyLm1hbmFnZS50aXRsZScpLCBhd2FpdCB0cmFucygnZHJpdmVyLm1hbmFnZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRHJpdmVyLlZpZXcsIGF3YWl0IHRyYW5zKCdkcml2ZXIudmlldy50aXRsZScpLCBhd2FpdCB0cmFucygnZHJpdmVyLnZpZXcuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkRyaXZlci5FZGl0LCBhd2FpdCB0cmFucygnZHJpdmVyLmVkaXQudGl0bGUnKSwgYXdhaXQgdHJhbnMoJ2RyaXZlci5lZGl0LmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5Ecml2ZXIuRGVsZXRlLCBhd2FpdCB0cmFucygnZHJpdmVyLmRlbGV0ZS50aXRsZScpLCBhd2FpdCB0cmFucygnZHJpdmVyLmRlbGV0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRHJpdmVyLkNyZWF0ZSwgYXdhaXQgdHJhbnMoJ2RyaXZlci5jcmVhdGUudGl0bGUnKSwgYXdhaXQgdHJhbnMoJ2RyaXZlci5jcmVhdGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5lbmRQZXJtaXNzaW9uKClcbiAgICAgIC8vXG4gICAgICAuYWRkUGVybWlzc2lvbihrZXlzLlJldmlldy5NYW5hZ2VtZW50LCBhd2FpdCB0cmFucygncmV2aWV3Lm1hbmFnZS50aXRsZScpLCBhd2FpdCB0cmFucygncmV2aWV3Lm1hbmFnZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuUmV2aWV3LlZpZXcsIGF3YWl0IHRyYW5zKCdyZXZpZXcudmlldy50aXRsZScpLCBhd2FpdCB0cmFucygncmV2aWV3LnZpZXcuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLlJldmlldy5FZGl0LCBhd2FpdCB0cmFucygncmV2aWV3LmVkaXQudGl0bGUnKSwgYXdhaXQgdHJhbnMoJ3Jldmlldy5lZGl0LmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5SZXZpZXcuRGVsZXRlLCBhd2FpdCB0cmFucygncmV2aWV3LmRlbGV0ZS50aXRsZScpLCBhd2FpdCB0cmFucygncmV2aWV3LmRlbGV0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuUmV2aWV3LkNyZWF0ZSwgYXdhaXQgdHJhbnMoJ3Jldmlldy5jcmVhdGUudGl0bGUnKSwgYXdhaXQgdHJhbnMoJ3Jldmlldy5jcmVhdGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5lbmRQZXJtaXNzaW9uKClcbiAgICAgIC8vXG5cbiAgfVxufVxuIl19"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-modules-document-management-permission-definition.provider-CljbPHm-.mjs","sources":["../tmp-esm2022/document-management/lib/permission-definition.provider.js"],"sourcesContent":["import { AXTranslationService } from '@acorex/core/translation';\nimport { AXMPermissionsKeys } from './permission.keys';\nexport class AXMPermissionDefinitionProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n }\n async define(context) {\n const trans = async (key) => await this.translateService.translateAsync(`permissions.document-management.${key}`, { scope: 'document-management' });\n const keys = AXMPermissionsKeys.DocumentManagement;\n context.addGroup(keys.Management, await trans('manage.title'), await trans('manage.description'))\n // \n .addPermission(keys.DocumentType.Management, await trans('document-type.manage.title'), await trans('document-type.manage.description'))\n .addChild(keys.DocumentType.View, await trans('document-type.view.title'), await trans('document-type.view.description'))\n .addChild(keys.DocumentType.Edit, await trans('document-type.edit.title'), await trans('document-type.edit.description'))\n .addChild(keys.DocumentType.Delete, await trans('document-type.delete.title'), await trans('document-type.delete.description'))\n .addChild(keys.DocumentType.Create, await trans('document-type.create.title'), await trans('document-type.create.description'))\n .endPermission()\n //\n .addPermission(keys.Driver.Management, await trans('driver.manage.title'), await trans('driver.manage.description'))\n .addChild(keys.Driver.View, await trans('driver.view.title'), await trans('driver.view.description'))\n .addChild(keys.Driver.Edit, await trans('driver.edit.title'), await trans('driver.edit.description'))\n .addChild(keys.Driver.Delete, await trans('driver.delete.title'), await trans('driver.delete.description'))\n .addChild(keys.Driver.Create, await trans('driver.create.title'), await trans('driver.create.description'))\n .endPermission()\n //\n .addPermission(keys.Review.Management, await trans('review.manage.title'), await trans('review.manage.description'))\n .addChild(keys.Review.View, await trans('review.view.title'), await trans('review.view.description'))\n .addChild(keys.Review.Edit, await trans('review.edit.title'), await trans('review.edit.description'))\n .addChild(keys.Review.Delete, await trans('review.delete.title'), await trans('review.delete.description'))\n .addChild(keys.Review.Create, await trans('review.create.title'), await trans('review.create.description'))\n .endPermission();\n //\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2RvY3VtZW50LW1hbmFnZW1lbnQvc3JjL2xpYi9wZXJtaXNzaW9uLWRlZmluaXRpb24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdkQsTUFBTSxPQUFPLCtCQUErQjtJQUcxQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRnJCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFHNUUsQ0FBQztJQUdELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBK0M7UUFFMUQsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLEdBQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLG1DQUFtQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFFNUosTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7UUFFbkQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDL0YsSUFBSTthQUNILGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7YUFDdkksUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLDBCQUEwQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQzthQUN4SCxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsMEJBQTBCLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO2FBQ3hILFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7YUFDOUgsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDLDRCQUE0QixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQzthQUM5SCxhQUFhLEVBQUU7WUFDaEIsRUFBRTthQUNELGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7YUFDbkgsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQzthQUNwRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2FBQ3BHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7YUFDMUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQzthQUMxRyxhQUFhLEVBQUU7WUFDaEIsRUFBRTthQUNELGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxNQUFNLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7YUFDbkgsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQzthQUNwRyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsbUJBQW1CLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO2FBQ3BHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7YUFDMUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQzthQUMxRyxhQUFhLEVBQUUsQ0FBQTtRQUNoQixFQUFFO0lBRU4sQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlciwgQVhQUGVybWlzc2lvbkRlZmluaXRpb25Qcm92aWRlckNvbnRleHQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTVBlcm1pc3Npb25zS2V5cyB9IGZyb20gJy4vcGVybWlzc2lvbi5rZXlzJztcblxuZXhwb3J0IGNsYXNzIEFYTVBlcm1pc3Npb25EZWZpbml0aW9uUHJvdmlkZXIgaW1wbGVtZW50cyBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoQVhUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gIH1cblxuXG4gIGFzeW5jIGRlZmluZShjb250ZXh0OiBBWFBQZXJtaXNzaW9uRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuXG4gICAgY29uc3QgdHJhbnMgPSBhc3luYyAoa2V5OiBzdHJpbmcpID0+IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyhgcGVybWlzc2lvbnMuZG9jdW1lbnQtbWFuYWdlbWVudC4ke2tleX1gLCB7IHNjb3BlOiAnZG9jdW1lbnQtbWFuYWdlbWVudCcgfSk7XG5cbiAgICBjb25zdCBrZXlzID0gQVhNUGVybWlzc2lvbnNLZXlzLkRvY3VtZW50TWFuYWdlbWVudDtcblxuICAgIGNvbnRleHQuYWRkR3JvdXAoa2V5cy5NYW5hZ2VtZW50LCBhd2FpdCB0cmFucygnbWFuYWdlLnRpdGxlJyksIGF3YWl0IHRyYW5zKCdtYW5hZ2UuZGVzY3JpcHRpb24nKSlcbiAgICAgIC8vICBcbiAgICAgIC5hZGRQZXJtaXNzaW9uKGtleXMuRG9jdW1lbnRUeXBlLk1hbmFnZW1lbnQsIGF3YWl0IHRyYW5zKCdkb2N1bWVudC10eXBlLm1hbmFnZS50aXRsZScpLCBhd2FpdCB0cmFucygnZG9jdW1lbnQtdHlwZS5tYW5hZ2UuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkRvY3VtZW50VHlwZS5WaWV3LCBhd2FpdCB0cmFucygnZG9jdW1lbnQtdHlwZS52aWV3LnRpdGxlJyksIGF3YWl0IHRyYW5zKCdkb2N1bWVudC10eXBlLnZpZXcuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkRvY3VtZW50VHlwZS5FZGl0LCBhd2FpdCB0cmFucygnZG9jdW1lbnQtdHlwZS5lZGl0LnRpdGxlJyksIGF3YWl0IHRyYW5zKCdkb2N1bWVudC10eXBlLmVkaXQuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkRvY3VtZW50VHlwZS5EZWxldGUsIGF3YWl0IHRyYW5zKCdkb2N1bWVudC10eXBlLmRlbGV0ZS50aXRsZScpLCBhd2FpdCB0cmFucygnZG9jdW1lbnQtdHlwZS5kZWxldGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkRvY3VtZW50VHlwZS5DcmVhdGUsIGF3YWl0IHRyYW5zKCdkb2N1bWVudC10eXBlLmNyZWF0ZS50aXRsZScpLCBhd2FpdCB0cmFucygnZG9jdW1lbnQtdHlwZS5jcmVhdGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5lbmRQZXJtaXNzaW9uKClcbiAgICAgIC8vXG4gICAgICAuYWRkUGVybWlzc2lvbihrZXlzLkRyaXZlci5NYW5hZ2VtZW50LCBhd2FpdCB0cmFucygnZHJpdmVyLm1hbmFnZS50aXRsZScpLCBhd2FpdCB0cmFucygnZHJpdmVyLm1hbmFnZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRHJpdmVyLlZpZXcsIGF3YWl0IHRyYW5zKCdkcml2ZXIudmlldy50aXRsZScpLCBhd2FpdCB0cmFucygnZHJpdmVyLnZpZXcuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLkRyaXZlci5FZGl0LCBhd2FpdCB0cmFucygnZHJpdmVyLmVkaXQudGl0bGUnKSwgYXdhaXQgdHJhbnMoJ2RyaXZlci5lZGl0LmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5Ecml2ZXIuRGVsZXRlLCBhd2FpdCB0cmFucygnZHJpdmVyLmRlbGV0ZS50aXRsZScpLCBhd2FpdCB0cmFucygnZHJpdmVyLmRlbGV0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuRHJpdmVyLkNyZWF0ZSwgYXdhaXQgdHJhbnMoJ2RyaXZlci5jcmVhdGUudGl0bGUnKSwgYXdhaXQgdHJhbnMoJ2RyaXZlci5jcmVhdGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5lbmRQZXJtaXNzaW9uKClcbiAgICAgIC8vXG4gICAgICAuYWRkUGVybWlzc2lvbihrZXlzLlJldmlldy5NYW5hZ2VtZW50LCBhd2FpdCB0cmFucygncmV2aWV3Lm1hbmFnZS50aXRsZScpLCBhd2FpdCB0cmFucygncmV2aWV3Lm1hbmFnZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuUmV2aWV3LlZpZXcsIGF3YWl0IHRyYW5zKCdyZXZpZXcudmlldy50aXRsZScpLCBhd2FpdCB0cmFucygncmV2aWV3LnZpZXcuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5hZGRDaGlsZChrZXlzLlJldmlldy5FZGl0LCBhd2FpdCB0cmFucygncmV2aWV3LmVkaXQudGl0bGUnKSwgYXdhaXQgdHJhbnMoJ3Jldmlldy5lZGl0LmRlc2NyaXB0aW9uJykpXG4gICAgICAuYWRkQ2hpbGQoa2V5cy5SZXZpZXcuRGVsZXRlLCBhd2FpdCB0cmFucygncmV2aWV3LmRlbGV0ZS50aXRsZScpLCBhd2FpdCB0cmFucygncmV2aWV3LmRlbGV0ZS5kZXNjcmlwdGlvbicpKVxuICAgICAgLmFkZENoaWxkKGtleXMuUmV2aWV3LkNyZWF0ZSwgYXdhaXQgdHJhbnMoJ3Jldmlldy5jcmVhdGUudGl0bGUnKSwgYXdhaXQgdHJhbnMoJ3Jldmlldy5jcmVhdGUuZGVzY3JpcHRpb24nKSlcbiAgICAgIC5lbmRQZXJtaXNzaW9uKClcbiAgICAgIC8vXG5cbiAgfVxufVxuIl19"],"names":[],"mappings":";;;AAEO,MAAM,+BAA+B,CAAC;AAC7C,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC;AACvE;AACA,IAAI,MAAM,MAAM,CAAC,OAAO,EAAE;AAC1B,QAAQ,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;AAC3J,QAAQ,MAAM,IAAI,GAAG,kBAAkB,CAAC,kBAAkB;AAC1D,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,cAAc,CAAC,EAAE,MAAM,KAAK,CAAC,oBAAoB,CAAC;AACxG;AACA,aAAa,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC,EAAE,MAAM,KAAK,CAAC,kCAAkC,CAAC;AACnJ,aAAa,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,0BAA0B,CAAC,EAAE,MAAM,KAAK,CAAC,gCAAgC,CAAC;AACpI,aAAa,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,0BAA0B,CAAC,EAAE,MAAM,KAAK,CAAC,gCAAgC,CAAC;AACpI,aAAa,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC,EAAE,MAAM,KAAK,CAAC,kCAAkC,CAAC;AAC1I,aAAa,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,4BAA4B,CAAC,EAAE,MAAM,KAAK,CAAC,kCAAkC,CAAC;AAC1I,aAAa,aAAa;AAC1B;AACA,aAAa,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,qBAAqB,CAAC,EAAE,MAAM,KAAK,CAAC,2BAA2B,CAAC;AAC/H,aAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,KAAK,CAAC,yBAAyB,CAAC;AAChH,aAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,KAAK,CAAC,yBAAyB,CAAC;AAChH,aAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,qBAAqB,CAAC,EAAE,MAAM,KAAK,CAAC,2BAA2B,CAAC;AACtH,aAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,qBAAqB,CAAC,EAAE,MAAM,KAAK,CAAC,2BAA2B,CAAC;AACtH,aAAa,aAAa;AAC1B;AACA,aAAa,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,KAAK,CAAC,qBAAqB,CAAC,EAAE,MAAM,KAAK,CAAC,2BAA2B,CAAC;AAC/H,aAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,KAAK,CAAC,yBAAyB,CAAC;AAChH,aAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,KAAK,CAAC,yBAAyB,CAAC;AAChH,aAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,qBAAqB,CAAC,EAAE,MAAM,KAAK,CAAC,2BAA2B,CAAC;AACtH,aAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,qBAAqB,CAAC,EAAE,MAAM,KAAK,CAAC,2BAA2B,CAAC;AACtH,aAAa,aAAa,EAAE;AAC5B;AACA;AACA;;;;"}
@@ -13,7 +13,7 @@ import { AXLoadingModule } from '@acorex/components/loading';
13
13
  import { AXBasePageComponent } from '@acorex/components/page';
14
14
  import * as i4 from '@acorex/components/text-box';
15
15
  import { AXTextBoxModule } from '@acorex/components/text-box';
16
- import * as i3$1 from '@acorex/core/translation';
16
+ import * as i5 from '@acorex/core/translation';
17
17
  import { AXTranslationModule } from '@acorex/core/translation';
18
18
  import * as i1$2 from '@angular/common';
19
19
  import { CommonModule } from '@angular/common';
@@ -21,7 +21,7 @@ import * as i0 from '@angular/core';
21
21
  import { inject, model, Component } from '@angular/core';
22
22
  import * as i1 from '@angular/forms';
23
23
  import { FormsModule } from '@angular/forms';
24
- import { a as AXMDocumentManagerService } from './acorex-modules-document-management-acorex-modules-document-management-BCTTw-hI.mjs';
24
+ import { a as AXMDocumentManagerService } from './acorex-modules-document-management-acorex-modules-document-management-uQnZ0m0T.mjs';
25
25
 
26
26
  class AXMRenameNodeDialog extends AXBasePageComponent {
27
27
  constructor() {
@@ -77,7 +77,7 @@ class AXMRenameNodeDialog extends AXBasePageComponent {
77
77
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMRenameNodeDialog, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
78
78
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.6", type: AXMRenameNodeDialog, isStandalone: true, selector: "ax-rename-node-dialog", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { name: "nameChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-p-4\">\n <ax-form #form>\n <div class=\"ax-flex ax-flex-col ax-gap-4\">\n <ax-form-field>\n <ax-label>\n {{ 'name' | translate | async }}\n </ax-label>\n <ax-text-box [(ngModel)]=\"name\" class=\"ax-input ax-w-full\" [axAutoFocus]=\"true\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-box>\n </ax-form-field>\n <div class=\"ax-flex ax-justify-end ax-gap-2\"></div>\n </div>\n </ax-form>\n</div>\n<ax-footer>\n <ax-suffix>\n <ax-button (onClick)=\"onCancel()\" [text]=\"'cancel' | translate | async\"></ax-button>\n <ax-button look=\"solid\" color=\"secondary\" (onClick)=\"handleSubmitButton(form)\" [text]=\"'save' | translate | async\">\n @if(isLoading) {\n <ax-loading> </ax-loading>\n }\n </ax-button>\n </ax-suffix>\n</ax-footer>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
79
79
  //
80
- AXDecoratorModule }, { kind: "component", type: i2.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: AXTextBoxModule }, { kind: "component", type: i4.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i4$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.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: AXFormModule }, { kind: "component", type: i3.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i3.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i3.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "ngmodule", type: AXColorBoxModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i8.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "directive", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }] }); }
80
+ AXDecoratorModule }, { kind: "component", type: i2.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: AXTextBoxModule }, { kind: "component", type: i4.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i4$1.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1$1.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: AXFormModule }, { kind: "component", type: i3.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i3.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i3.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "ngmodule", type: AXColorBoxModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i8.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "directive", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "translate" }] }); }
81
81
  }
82
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImport: i0, type: AXMRenameNodeDialog, decorators: [{
83
83
  type: Component,
@@ -98,4 +98,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.6", ngImpor
98
98
  }] });
99
99
 
100
100
  export { AXMRenameNodeDialog };
101
- //# sourceMappingURL=acorex-modules-document-management-rename-node-dialog.component-Da9v8nVj.mjs.map
101
+ //# sourceMappingURL=acorex-modules-document-management-rename-node-dialog.component-xeY0XzAG.mjs.map