@acorex/modules 20.3.0-next.7 → 20.3.0-next.8

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 (96) hide show
  1. package/common/index.d.ts +1 -0
  2. package/data-management/index.d.ts +22 -3
  3. package/fesm2022/acorex-modules-common.mjs +97 -6
  4. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  5. package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-D75qsDor.mjs → acorex-modules-contact-management-emergency-contact.entity-3vnkpSvv.mjs} +10 -9
  6. package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-3vnkpSvv.mjs.map +1 -0
  7. package/fesm2022/acorex-modules-contact-management.mjs +1 -1
  8. package/fesm2022/acorex-modules-content-management.mjs +6 -0
  9. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  10. package/fesm2022/acorex-modules-conversation.mjs +3 -3
  11. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  12. package/fesm2022/acorex-modules-dashboard-management.mjs +11 -11
  13. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  14. package/fesm2022/acorex-modules-data-management.mjs +924 -8
  15. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  16. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DhEDQZru.mjs → acorex-modules-document-management-acorex-modules-document-management-DUkSbCDD.mjs} +91 -58
  17. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DhEDQZru.mjs.map → acorex-modules-document-management-acorex-modules-document-management-DUkSbCDD.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Bx2Ps7uX.mjs → acorex-modules-document-management-attachment-widget.component-Ded4rmGD.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Bx2Ps7uX.mjs.map → acorex-modules-document-management-attachment-widget.component-Ded4rmGD.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-B26m8qWj.mjs → acorex-modules-document-management-create-folder-dialog.component-DdN8ilG4.mjs} +9 -9
  21. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-B26m8qWj.mjs.map → acorex-modules-document-management-create-folder-dialog.component-DdN8ilG4.mjs.map} +1 -1
  22. package/fesm2022/{acorex-modules-document-management-details-view.component-3DmulyK_.mjs → acorex-modules-document-management-details-view.component-DkeoYFvx.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-document-management-details-view.component-3DmulyK_.mjs.map → acorex-modules-document-management-details-view.component-DkeoYFvx.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-DmR6gFdD.mjs → acorex-modules-document-management-document-signature-popup.component-DuPMRUTY.mjs} +2 -2
  25. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-DmR6gFdD.mjs.map → acorex-modules-document-management-document-signature-popup.component-DuPMRUTY.mjs.map} +1 -1
  26. package/fesm2022/{acorex-modules-document-management-drive-choose.component-BNyPOrzl.mjs → acorex-modules-document-management-drive-choose.component-CKMMZHrc.mjs} +2 -2
  27. package/fesm2022/{acorex-modules-document-management-drive-choose.component-BNyPOrzl.mjs.map → acorex-modules-document-management-drive-choose.component-CKMMZHrc.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-document-management-drive.component-D5X_bI5D.mjs → acorex-modules-document-management-drive.component-Dh2hcCpJ.mjs} +2 -2
  29. package/fesm2022/{acorex-modules-document-management-drive.component-D5X_bI5D.mjs.map → acorex-modules-document-management-drive.component-Dh2hcCpJ.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-AzDtXQqt.mjs → acorex-modules-document-management-large-icons-view.component-DGUbA3xa.mjs} +2 -2
  31. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-AzDtXQqt.mjs.map → acorex-modules-document-management-large-icons-view.component-DGUbA3xa.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-DCG_v9JT.mjs → acorex-modules-document-management-large-tiles-view.component-Bt6Py82M.mjs} +2 -2
  33. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-DCG_v9JT.mjs.map → acorex-modules-document-management-large-tiles-view.component-Bt6Py82M.mjs.map} +1 -1
  34. package/fesm2022/{acorex-modules-document-management-list-view.component-Cb2OVElN.mjs → acorex-modules-document-management-list-view.component-DQllDW_Q.mjs} +2 -2
  35. package/fesm2022/{acorex-modules-document-management-list-view.component-Cb2OVElN.mjs.map → acorex-modules-document-management-list-view.component-DQllDW_Q.mjs.map} +1 -1
  36. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-DsSo9G8S.mjs → acorex-modules-document-management-meta-choose-popup.component-BSYX7W79.mjs} +4 -4
  37. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-BSYX7W79.mjs.map +1 -0
  38. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-EN4ttbvx.mjs → acorex-modules-document-management-small-icons-view.component-Umh8Z9qn.mjs} +2 -2
  39. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-EN4ttbvx.mjs.map → acorex-modules-document-management-small-icons-view.component-Umh8Z9qn.mjs.map} +1 -1
  40. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C-HjbNwe.mjs → acorex-modules-document-management-small-tiles-view.component-CBgWWCdt.mjs} +2 -2
  41. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-C-HjbNwe.mjs.map → acorex-modules-document-management-small-tiles-view.component-CBgWWCdt.mjs.map} +1 -1
  42. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  43. package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ_KNd7M.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-CdAtMLlz.mjs} +93 -213
  44. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-CdAtMLlz.mjs.map +1 -0
  45. package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-3wofaUXu.mjs → acorex-modules-human-capital-management-employee-skill.entity-BllN9Giu.mjs} +2 -2
  46. package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-3wofaUXu.mjs.map → acorex-modules-human-capital-management-employee-skill.entity-BllN9Giu.mjs.map} +1 -1
  47. package/fesm2022/{acorex-modules-human-capital-management-employee.entity-1fVathnk.mjs → acorex-modules-human-capital-management-employee.entity-CKofleq7.mjs} +2 -2
  48. package/fesm2022/{acorex-modules-human-capital-management-employee.entity-1fVathnk.mjs.map → acorex-modules-human-capital-management-employee.entity-CKofleq7.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BWrwli0P.mjs → acorex-modules-human-capital-management-employment-type.entity-DfrErkOs.mjs} +2 -2
  50. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-BWrwli0P.mjs.map → acorex-modules-human-capital-management-employment-type.entity-DfrErkOs.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-4ddc6R_K.mjs → acorex-modules-human-capital-management-leave-request.entity-Bz_4gE7D.mjs} +2 -2
  52. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-4ddc6R_K.mjs.map → acorex-modules-human-capital-management-leave-request.entity-Bz_4gE7D.mjs.map} +1 -1
  53. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-DYYJVRju.mjs → acorex-modules-human-capital-management-leave-type.entity-CFqmKzkn.mjs} +2 -2
  54. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-DYYJVRju.mjs.map → acorex-modules-human-capital-management-leave-type.entity-CFqmKzkn.mjs.map} +1 -1
  55. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-DIqdhqk4.mjs → acorex-modules-human-capital-management-position-assignment.entity-BYqhKD95.mjs} +36 -4
  56. package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-BYqhKD95.mjs.map +1 -0
  57. package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-BN67pBaa.mjs → acorex-modules-human-capital-management-skill-level.entity-D4WoE6MR.mjs} +2 -2
  58. package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-BN67pBaa.mjs.map → acorex-modules-human-capital-management-skill-level.entity-D4WoE6MR.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-human-capital-management-skill.entity-D4CglCC7.mjs → acorex-modules-human-capital-management-skill.entity-DqUyAAgW.mjs} +2 -2
  60. package/fesm2022/{acorex-modules-human-capital-management-skill.entity-D4CglCC7.mjs.map → acorex-modules-human-capital-management-skill.entity-DqUyAAgW.mjs.map} +1 -1
  61. package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
  62. package/fesm2022/acorex-modules-notification-management.mjs +5 -5
  63. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  64. package/fesm2022/{acorex-modules-organization-management-org-chart.page-keZ4Gk7y.mjs → acorex-modules-organization-management-org-chart.page-Caboa2La.mjs} +75 -23
  65. package/fesm2022/acorex-modules-organization-management-org-chart.page-Caboa2La.mjs.map +1 -0
  66. package/fesm2022/acorex-modules-organization-management.mjs +5 -2
  67. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  68. package/fesm2022/acorex-modules-project-management-email-jsa.command-DS9XIlQ0.mjs +91 -0
  69. package/fesm2022/acorex-modules-project-management-email-jsa.command-DS9XIlQ0.mjs.map +1 -0
  70. package/fesm2022/acorex-modules-project-management-reassign-jsa.command-DbxxI3e3.mjs +88 -0
  71. package/fesm2022/acorex-modules-project-management-reassign-jsa.command-DbxxI3e3.mjs.map +1 -0
  72. package/fesm2022/acorex-modules-project-management-sign-jsa.command-cRf0DeTE.mjs +75 -0
  73. package/fesm2022/acorex-modules-project-management-sign-jsa.command-cRf0DeTE.mjs.map +1 -0
  74. package/fesm2022/acorex-modules-project-management.mjs +6 -6
  75. package/fesm2022/acorex-modules-report-management.mjs +4 -2
  76. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  77. package/fesm2022/acorex-modules-security-management.mjs +347 -3
  78. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  79. package/fesm2022/acorex-modules-task-management.mjs +18 -11
  80. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  81. package/human-capital-management/index.d.ts +1 -1
  82. package/package.json +1 -1
  83. package/security-management/index.d.ts +42 -3
  84. package/fesm2022/acorex-modules-contact-management-emergency-contact.entity-D75qsDor.mjs.map +0 -1
  85. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DsSo9G8S.mjs.map +0 -1
  86. package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs +0 -101
  87. package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs.map +0 -1
  88. package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ_KNd7M.mjs.map +0 -1
  89. package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-DIqdhqk4.mjs.map +0 -1
  90. package/fesm2022/acorex-modules-organization-management-org-chart.page-keZ4Gk7y.mjs.map +0 -1
  91. package/fesm2022/acorex-modules-project-management-email-jsa.command-BuT5Vj4Y.mjs +0 -115
  92. package/fesm2022/acorex-modules-project-management-email-jsa.command-BuT5Vj4Y.mjs.map +0 -1
  93. package/fesm2022/acorex-modules-project-management-reassign-jsa.command-B3OsacOq.mjs +0 -113
  94. package/fesm2022/acorex-modules-project-management-reassign-jsa.command-B3OsacOq.mjs.map +0 -1
  95. package/fesm2022/acorex-modules-project-management-sign-jsa.command-CJWg6Ntg.mjs +0 -77
  96. package/fesm2022/acorex-modules-project-management-sign-jsa.command-CJWg6Ntg.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-document-management-meta-choose-popup.component-DsSo9G8S.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.8\", ngImport: i0, type: AXPMetaChoosePopupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", 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.8\", 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,101 +0,0 @@
1
- import * as i1$1 from '@acorex/components/button';
2
- import { AXButtonModule } from '@acorex/components/button';
3
- import { AXColorBoxModule } from '@acorex/components/color-box';
4
- import { AXAutoFocusDirective } from '@acorex/cdk/common';
5
- import * as i2 from '@acorex/components/decorators';
6
- import { AXDecoratorModule } from '@acorex/components/decorators';
7
- import * as i3 from '@acorex/components/form';
8
- import { AXFormModule } from '@acorex/components/form';
9
- import * as i4$1 from '@acorex/components/label';
10
- import { AXLabelModule } from '@acorex/components/label';
11
- import * as i8 from '@acorex/components/loading';
12
- import { AXLoadingModule } from '@acorex/components/loading';
13
- import { AXBasePageComponent } from '@acorex/components/page';
14
- import * as i4 from '@acorex/components/text-box';
15
- import { AXTextBoxModule } from '@acorex/components/text-box';
16
- import * as i5 from '@acorex/core/translation';
17
- import { AXTranslationModule } from '@acorex/core/translation';
18
- import * as i1$2 from '@angular/common';
19
- import { CommonModule } from '@angular/common';
20
- import * as i0 from '@angular/core';
21
- import { inject, model, Component } from '@angular/core';
22
- import * as i1 from '@angular/forms';
23
- import { FormsModule } from '@angular/forms';
24
- import { a as AXMDocumentManagerService } from './acorex-modules-document-management-acorex-modules-document-management-DhEDQZru.mjs';
25
-
26
- class AXMRenameNodeDialog extends AXBasePageComponent {
27
- constructor() {
28
- super(...arguments);
29
- this.driveService = inject(AXMDocumentManagerService);
30
- this.name = model('', ...(ngDevMode ? [{ debugName: "name" }] : []));
31
- }
32
- ngOnInit() {
33
- super.ngOnInit();
34
- this.name.set(this.node.name);
35
- }
36
- async handleSubmitButton(form) {
37
- this.isLoading = true;
38
- const validated = await form.validate();
39
- if (validated.result) {
40
- try {
41
- if (this.node.type == 'folder') {
42
- const folder = await this.driveService.updateFolder(this.node.id, {
43
- name: this.name(),
44
- });
45
- this.close({
46
- result: true,
47
- folder,
48
- });
49
- }
50
- else {
51
- await this.driveService.updateFileName(this.node, this.name());
52
- const file = await this.driveService.updateFile(this.node.id, {
53
- name: this.name(),
54
- });
55
- this.close({
56
- result: true,
57
- file,
58
- });
59
- }
60
- }
61
- catch (error) {
62
- console.error('Error updating node:', error);
63
- }
64
- finally {
65
- this.isLoading = false;
66
- }
67
- }
68
- else {
69
- this.isLoading = false;
70
- }
71
- }
72
- onCancel() {
73
- this.close({
74
- result: false,
75
- });
76
- }
77
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMRenameNodeDialog, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
78
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", 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
- //
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
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: AXMRenameNodeDialog, decorators: [{
83
- type: Component,
84
- args: [{ selector: 'ax-rename-node-dialog', standalone: true, imports: [
85
- CommonModule,
86
- FormsModule,
87
- //
88
- AXDecoratorModule,
89
- AXTextBoxModule,
90
- AXLabelModule,
91
- AXButtonModule,
92
- AXFormModule,
93
- AXColorBoxModule,
94
- AXTranslationModule,
95
- AXLoadingModule,
96
- AXAutoFocusDirective,
97
- ], 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" }]
98
- }] });
99
-
100
- export { AXMRenameNodeDialog };
101
- //# sourceMappingURL=acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs","sources":["../tmp-esm2022/document-management/lib/features/document-explorer/components/rename-node-dialog/rename-node-dialog.component.js"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\nimport { AXAutoFocusDirective } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, model } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMDocumentManagerService } from '../../../shared/document-manager.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nimport * as i2 from \"@acorex/components/decorators\";\nimport * as i3 from \"@acorex/components/text-box\";\nimport * as i4 from \"@acorex/components/label\";\nimport * as i5 from \"@acorex/components/button\";\nimport * as i6 from \"@acorex/components/form\";\nimport * as i7 from \"@acorex/components/loading\";\nimport * as i8 from \"@angular/common\";\nimport * as i9 from \"@acorex/core/translation\";\nexport class AXMRenameNodeDialog extends AXBasePageComponent {\n constructor() {\n super(...arguments);\n this.driveService = inject(AXMDocumentManagerService);\n this.name = model('', ...(ngDevMode ? [{ debugName: \"name\" }] : []));\n }\n ngOnInit() {\n super.ngOnInit();\n this.name.set(this.node.name);\n }\n async handleSubmitButton(form) {\n this.isLoading = true;\n const validated = await form.validate();\n if (validated.result) {\n try {\n if (this.node.type == 'folder') {\n const folder = await this.driveService.updateFolder(this.node.id, {\n name: this.name(),\n });\n this.close({\n result: true,\n folder,\n });\n }\n else {\n await this.driveService.updateFileName(this.node, this.name());\n const file = await this.driveService.updateFile(this.node.id, {\n name: this.name(),\n });\n this.close({\n result: true,\n file,\n });\n }\n }\n catch (error) {\n console.error('Error updating node:', error);\n }\n finally {\n this.isLoading = false;\n }\n }\n else {\n this.isLoading = false;\n }\n }\n onCancel() {\n this.close({\n result: false,\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMRenameNodeDialog, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", 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: \n //\n 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: i3.AXTextBoxComponent, selector: \"ax-text-box\", inputs: [\"disabled\", \"tabIndex\", \"readonly\", \"value\", \"state\", \"name\", \"id\", \"placeholder\", \"maxLength\", \"allowNull\", \"type\", \"autoComplete\", \"look\", \"mask-options\", \"class\"], outputs: [\"onBlur\", \"onFocus\", \"valueChange\", \"stateChange\", \"onValueChanged\", \"readonlyChange\", \"disabledChange\", \"onKeyDown\", \"onKeyUp\", \"onKeyPress\"] }, { kind: \"ngmodule\", type: AXLabelModule }, { kind: \"component\", type: i4.AXLabelComponent, selector: \"ax-label\", inputs: [\"required\", \"for\"], outputs: [\"requiredChange\"] }, { 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: AXFormModule }, { kind: \"component\", type: i6.AXFormFieldComponent, selector: \"ax-form-field\", inputs: [\"labelMode\"] }, { kind: \"component\", type: i6.AXFormComponent, selector: \"ax-form\", inputs: [\"labelMode\", \"look\", \"messageStyle\", \"updateOn\"], outputs: [\"onValidate\", \"updateOnChange\"] }, { kind: \"directive\", type: i6.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: i7.AXLoadingComponent, selector: \"ax-loading\", inputs: [\"visible\", \"type\", \"context\"], outputs: [\"visibleChange\"] }, { kind: \"directive\", type: AXAutoFocusDirective, selector: \"[axAutoFocus]\", inputs: [\"axAutoFocus\", \"axAutoFocusTime\"] }, { kind: \"pipe\", type: i8.AsyncPipe, name: \"async\" }, { kind: \"pipe\", type: i9.AXTranslatorPipe, name: \"translate\" }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: AXMRenameNodeDialog, decorators: [{\n type: Component,\n args: [{ selector: 'ax-rename-node-dialog', standalone: true, imports: [\n CommonModule,\n FormsModule,\n //\n AXDecoratorModule,\n AXTextBoxModule,\n AXLabelModule,\n AXButtonModule,\n AXFormModule,\n AXColorBoxModule,\n AXTranslationModule,\n AXLoadingModule,\n AXAutoFocusDirective,\n ], 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\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuYW1lLW5vZGUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZG9jdW1lbnQtZXhwbG9yZXIvY29tcG9uZW50cy9yZW5hbWUtbm9kZS1kaWFsb2cvcmVuYW1lLW5vZGUtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbW9kdWxlcy9kb2N1bWVudC1tYW5hZ2VtZW50L3NyYy9saWIvZmVhdHVyZXMvZG9jdW1lbnQtZXhwbG9yZXIvY29tcG9uZW50cy9yZW5hbWUtbm9kZS1kaWFsb2cvcmVuYW1lLW5vZGUtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQW1CLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFB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LEVBQUU7d0JBQ0YsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLG9CQUFvQjtxQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhDb2xvckJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb2xvci1ib3gnO1xuaW1wb3J0IHsgQVhBdXRvRm9jdXNEaXJlY3RpdmUgfSBmcm9tICdAYWNvcmV4L2Nkay9jb21tb24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWEZvcm1Db21wb25lbnQsIEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYTGFiZWxNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbGFiZWwnO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhCYXNlUGFnZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wYWdlJztcbmltcG9ydCB7IEFYVGV4dEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0LWJveCc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgbW9kZWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9kb2N1bWVudC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQVhNRG9jdW1lbnRFeHBsb3Jlck5vZGUgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvZG9jdW1lbnQtbWFuYWdlci50eXBlcyc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1yZW5hbWUtbm9kZS1kaWFsb2cnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIC8vXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhUZXh0Qm94TW9kdWxlLFxuICAgIEFYTGFiZWxNb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgQVhGb3JtTW9kdWxlLFxuICAgIEFYQ29sb3JCb3hNb2R1bGUsXG4gICAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcbiAgICBBWExvYWRpbmdNb2R1bGUsXG4gICAgQVhBdXRvRm9jdXNEaXJlY3RpdmUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yZW5hbWUtbm9kZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBBWE1SZW5hbWVOb2RlRGlhbG9nIGV4dGVuZHMgQVhCYXNlUGFnZUNvbXBvbmVudCB7XG4gIHByaXZhdGUgZHJpdmVTZXJ2aWNlID0gaW5qZWN0KEFYTURvY3VtZW50TWFuYWdlclNlcnZpY2UpO1xuXG4gIG5vZGU6IEFYTURvY3VtZW50RXhwbG9yZXJOb2RlO1xuXG4gIHByb3RlY3RlZCBuYW1lID0gbW9kZWw8c3RyaW5nPignJyk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5uYW1lLnNldCh0aGlzLm5vZGUubmFtZSk7XG4gIH1cblxuICBhc3luYyBoYW5kbGVTdWJtaXRCdXR0b24oZm9ybTogQVhGb3JtQ29tcG9uZW50KSB7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IGF3YWl0IGZvcm0udmFsaWRhdGUoKTtcbiAgICBpZiAodmFsaWRhdGVkLnJlc3VsdCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgaWYgKHRoaXMubm9kZS50eXBlID09ICdmb2xkZXInKSB7XG4gICAgICAgICAgY29uc3QgZm9sZGVyID0gYXdhaXQgdGhpcy5kcml2ZVNlcnZpY2UudXBkYXRlRm9sZGVyKHRoaXMubm9kZS5pZCwge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lKCksXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5jbG9zZSh7XG4gICAgICAgICAgICByZXN1bHQ6IHRydWUsXG4gICAgICAgICAgICBmb2xkZXIsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5kcml2ZVNlcnZpY2UudXBkYXRlRmlsZU5hbWUodGhpcy5ub2RlLCB0aGlzLm5hbWUoKSk7XG4gICAgICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IHRoaXMuZHJpdmVTZXJ2aWNlLnVwZGF0ZUZpbGUodGhpcy5ub2RlLmlkLCB7XG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUoKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICB0aGlzLmNsb3NlKHtcbiAgICAgICAgICAgIHJlc3VsdDogdHJ1ZSxcbiAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHVwZGF0aW5nIG5vZGU6JywgZXJyb3IpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvbkNhbmNlbCgpIHtcbiAgICB0aGlzLmNsb3NlKHtcbiAgICAgIHJlc3VsdDogZmFsc2UsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1wLTRcIj5cbiAgPGF4LWZvcm0gI2Zvcm0+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtZ2FwLTRcIj5cbiAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICA8YXgtbGFiZWw+XG4gICAgICAgICAge3sgJ25hbWUnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgICAgPC9heC1sYWJlbD5cbiAgICAgICAgPGF4LXRleHQtYm94IFsobmdNb2RlbCldPVwibmFtZVwiIGNsYXNzPVwiYXgtaW5wdXQgYXgtdy1mdWxsXCIgW2F4QXV0b0ZvY3VzXT1cInRydWVcIj5cbiAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1ydWxlIHJ1bGU9XCJyZXF1aXJlZFwiPjwvYXgtdmFsaWRhdGlvbi1ydWxlPlxuICAgICAgICA8L2F4LXRleHQtYm94PlxuICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtanVzdGlmeS1lbmQgYXgtZ2FwLTJcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9heC1mb3JtPlxuPC9kaXY+XG48YXgtZm9vdGVyPlxuICA8YXgtc3VmZml4PlxuICAgIDxheC1idXR0b24gKG9uQ2xpY2spPVwib25DYW5jZWwoKVwiIFt0ZXh0XT1cIidjYW5jZWwnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIj48L2F4LWJ1dHRvbj5cbiAgICA8YXgtYnV0dG9uIGxvb2s9XCJzb2xpZFwiIGNvbG9yPVwic2Vjb25kYXJ5XCIgKG9uQ2xpY2spPVwiaGFuZGxlU3VibWl0QnV0dG9uKGZvcm0pXCIgW3RleHRdPVwiJ3NhdmUnIHwgdHJhbnNsYXRlIHwgYXN5bmNcIj5cbiAgICAgIEBpZihpc0xvYWRpbmcpIHtcbiAgICAgIDxheC1sb2FkaW5nPiA8L2F4LWxvYWRpbmc+XG4gICAgICB9XG4gICAgPC9heC1idXR0b24+XG4gIDwvYXgtc3VmZml4PlxuPC9heC1mb290ZXI+XG4iXX0="],"names":["i3","i4","i5","i6","i7","i8","i9"],"mappings":"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"}