@foblex/flow 17.6.1 → 17.7.1

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 (515) hide show
  1. package/domain/css-cls.d.ts +4 -0
  2. package/domain/f-canvas/providers.d.ts +1 -1
  3. package/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.d.ts +1 -1
  4. package/domain/f-connectors/add-output-to-store/add-output-to-store.execution.d.ts +1 -1
  5. package/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.d.ts +1 -1
  6. package/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.d.ts +1 -1
  7. package/domain/f-connectors/providers.d.ts +1 -1
  8. package/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.d.ts +1 -1
  9. package/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.d.ts +1 -1
  10. package/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.d.ts +1 -1
  11. package/domain/f-draggable/is-drag-started/index.d.ts +1 -1
  12. package/domain/f-draggable/is-drag-started/{is-drag-started.execution.d.ts → is-drag-started.d.ts} +3 -3
  13. package/domain/f-draggable/on-pointer-move/on-pointer-move.execution.d.ts +1 -1
  14. package/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.d.ts +1 -1
  15. package/domain/f-draggable/providers.d.ts +2 -2
  16. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +1 -1
  17. package/domain/f-flow/get-flow-state/i-f-flow-state-node.d.ts +2 -1
  18. package/domain/f-flow/get-flow-state/providers.d.ts +1 -1
  19. package/domain/f-flow/providers.d.ts +1 -1
  20. package/domain/f-node/add-node-to-store/{add-node-to-store.execution.d.ts → add-node-to-store.d.ts} +3 -3
  21. package/domain/f-node/add-node-to-store/index.d.ts +1 -1
  22. package/domain/f-node/calculate-input-connections/{calculate-input-connections.execution.d.ts → calculate-input-connections.d.ts} +3 -3
  23. package/domain/f-node/calculate-input-connections/index.d.ts +1 -1
  24. package/domain/f-node/calculate-nodes-bounding-box/{calculate-nodes-bounding-box.execution.d.ts → calculate-nodes-bounding-box.d.ts} +3 -3
  25. package/domain/f-node/calculate-nodes-bounding-box/index.d.ts +1 -1
  26. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/{calculate-nodes-bounding-box-normalized-position.execution.d.ts → calculate-nodes-bounding-box-normalized-position.d.ts} +3 -3
  27. package/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.d.ts +1 -1
  28. package/domain/f-node/calculate-output-connections/{calculate-output-connections.execution.d.ts → calculate-output-connections.d.ts} +3 -3
  29. package/domain/f-node/calculate-output-connections/index.d.ts +1 -1
  30. package/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.d.ts +6 -0
  31. package/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.d.ts +16 -0
  32. package/domain/f-node/fit-to-child-nodes-and-groups/index.d.ts +2 -0
  33. package/domain/f-node/get-child-node-ids/get-child-node-ids.d.ts +14 -0
  34. package/domain/f-node/get-child-node-ids/get-child-node-ids.request.d.ts +5 -0
  35. package/domain/f-node/get-child-node-ids/index.d.ts +2 -0
  36. package/domain/f-node/get-node-padding/{get-node-padding.execution.d.ts → get-node-padding.d.ts} +3 -3
  37. package/domain/f-node/get-node-padding/index.d.ts +1 -1
  38. package/domain/f-node/get-nodes/{get-nodes.execution.d.ts → get-nodes.d.ts} +3 -3
  39. package/domain/f-node/get-nodes/index.d.ts +1 -1
  40. package/domain/f-node/get-parent-nodes/{get-parent-nodes.execution.d.ts → get-parent-nodes.d.ts} +3 -3
  41. package/domain/f-node/get-parent-nodes/index.d.ts +1 -1
  42. package/domain/f-node/index.d.ts +2 -0
  43. package/domain/f-node/providers.d.ts +13 -11
  44. package/domain/f-node/remove-node-from-store/index.d.ts +1 -1
  45. package/domain/f-node/remove-node-from-store/{remove-node-from-store.execution.d.ts → remove-node-from-store.d.ts} +3 -3
  46. package/domain/f-node/update-node-when-state-or-size-changed/index.d.ts +1 -1
  47. package/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.d.ts +2 -2
  48. package/domain/f-node/update-node-when-state-or-size-changed/{update-node-when-state-or-size-changed.execution.d.ts → update-node-when-state-or-size-changed.d.ts} +6 -4
  49. package/domain/f-selection/clear-selection/clear-selection.execution.d.ts +1 -1
  50. package/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.d.ts +1 -1
  51. package/domain/f-selection/get-current-selection/get-current-selection.execution.d.ts +1 -1
  52. package/domain/f-selection/select/select.execution.d.ts +1 -1
  53. package/domain/f-selection/select-all/select-all.execution.d.ts +1 -1
  54. package/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.d.ts +1 -1
  55. package/domain/providers.d.ts +1 -1
  56. package/esm2022/domain/css-cls.mjs +5 -1
  57. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +2 -2
  58. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +2 -2
  59. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +2 -2
  60. package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store.execution.mjs +3 -3
  61. package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store.execution.mjs +3 -3
  62. package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +2 -2
  63. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +3 -3
  64. package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.execution.mjs +3 -3
  65. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +4 -4
  66. package/esm2022/domain/f-draggable/end-drag-sequence/end-drag-sequence.execution.mjs +3 -3
  67. package/esm2022/domain/f-draggable/initialize-drag-sequence/initialize-drag-sequence.execution.mjs +3 -3
  68. package/esm2022/domain/f-draggable/is-drag-started/index.mjs +2 -2
  69. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started-request.mjs +1 -1
  70. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.mjs +25 -0
  71. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +5 -5
  72. package/esm2022/domain/f-draggable/prepare-drag-sequence/prepare-drag-sequence.execution.mjs +3 -3
  73. package/esm2022/domain/f-draggable/providers.mjs +3 -3
  74. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +5 -5
  75. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +5 -4
  76. package/esm2022/domain/f-flow/get-flow-state/i-f-flow-state-node.mjs +1 -1
  77. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.mjs +25 -0
  78. package/esm2022/domain/f-node/add-node-to-store/index.mjs +2 -2
  79. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +34 -0
  80. package/esm2022/domain/f-node/calculate-input-connections/index.mjs +2 -2
  81. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.mjs +33 -0
  82. package/esm2022/domain/f-node/calculate-nodes-bounding-box/index.mjs +2 -2
  83. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.mjs +36 -0
  84. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/index.mjs +2 -2
  85. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +34 -0
  86. package/esm2022/domain/f-node/calculate-output-connections/index.mjs +2 -2
  87. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.mjs +8 -0
  88. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.mjs +64 -0
  89. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/index.mjs +3 -0
  90. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.mjs +45 -0
  91. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +8 -0
  92. package/esm2022/domain/f-node/get-child-node-ids/index.mjs +3 -0
  93. package/esm2022/domain/f-node/get-node-padding/get-node-padding.mjs +35 -0
  94. package/esm2022/domain/f-node/get-node-padding/index.mjs +2 -2
  95. package/esm2022/domain/f-node/get-nodes/get-nodes.mjs +25 -0
  96. package/esm2022/domain/f-node/get-nodes/index.mjs +2 -2
  97. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +37 -0
  98. package/esm2022/domain/f-node/get-parent-nodes/index.mjs +2 -2
  99. package/esm2022/domain/f-node/index.mjs +3 -1
  100. package/esm2022/domain/f-node/providers.mjs +25 -21
  101. package/esm2022/domain/f-node/remove-node-from-store/index.mjs +2 -2
  102. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.mjs +25 -0
  103. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/index.mjs +2 -2
  104. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.mjs +4 -4
  105. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +104 -0
  106. package/esm2022/domain/f-selection/clear-selection/clear-selection.execution.mjs +5 -5
  107. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +5 -5
  108. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +5 -5
  109. package/esm2022/domain/f-selection/select/select.execution.mjs +7 -7
  110. package/esm2022/domain/f-selection/select-all/select-all.execution.mjs +7 -7
  111. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +5 -5
  112. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +2 -2
  113. package/esm2022/f-canvas/f-canvas.component.mjs +7 -7
  114. package/esm2022/f-connection/common/f-connection-base.mjs +22 -3
  115. package/esm2022/f-connection/common/i-has-connection-color.mjs +1 -1
  116. package/esm2022/f-connection/f-connection/f-connection.component.mjs +16 -31
  117. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +7 -22
  118. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +7 -22
  119. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +13 -13
  120. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +4 -4
  121. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +8 -8
  122. package/esm2022/f-draggable/f-canvas/f-canvas.drag-handler.mjs +7 -7
  123. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +4 -4
  124. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +11 -11
  125. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +8 -8
  126. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +8 -8
  127. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +5 -5
  128. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.mjs +4 -4
  129. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +4 -4
  130. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +5 -5
  131. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +11 -11
  132. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +3 -3
  133. package/esm2022/f-draggable/f-draggable-base.mjs +2 -2
  134. package/esm2022/f-draggable/f-draggable-data-context.mjs +2 -1
  135. package/esm2022/f-draggable/f-draggable.directive.mjs +53 -47
  136. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.mjs +8 -0
  137. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.mjs +69 -0
  138. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/index.mjs +3 -3
  139. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +8 -0
  140. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +101 -0
  141. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/index.mjs +3 -3
  142. package/esm2022/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.mjs +20 -13
  143. package/esm2022/f-draggable/f-drop-to-group/index.mjs +2 -1
  144. package/esm2022/f-draggable/f-drop-to-group/providers.mjs +7 -5
  145. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/index.mjs +3 -0
  146. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.mjs +8 -0
  147. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.mjs +48 -0
  148. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +10 -10
  149. package/esm2022/f-draggable/f-node-move/constraint/drag-constraint-pipeline.mjs +29 -0
  150. package/esm2022/f-draggable/f-node-move/constraint/expand-rect-from-baseline.mjs +18 -0
  151. package/esm2022/f-draggable/f-node-move/constraint/index.mjs +5 -0
  152. package/esm2022/f-draggable/f-node-move/constraint/rect-constraint.mjs +36 -0
  153. package/esm2022/f-draggable/f-node-move/constraint/snap-to-grid.mjs +36 -0
  154. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.mjs +8 -0
  155. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.mjs +9 -0
  156. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.mjs +47 -0
  157. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/index.mjs +4 -0
  158. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.mjs +8 -0
  159. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.mjs +72 -0
  160. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.mjs +2 -0
  161. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.mjs +2 -0
  162. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/index.mjs +5 -0
  163. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection-request.mjs +8 -0
  164. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.mjs +88 -0
  165. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler-request.mjs +12 -0
  166. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.mjs +59 -0
  167. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/index.mjs +3 -0
  168. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler-request.mjs +12 -0
  169. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.mjs +59 -0
  170. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/index.mjs +3 -0
  171. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.mjs +10 -0
  172. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.mjs +33 -0
  173. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/index.mjs +3 -0
  174. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-request.mjs +10 -0
  175. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-response.mjs +13 -0
  176. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings.mjs +39 -0
  177. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/index.mjs +4 -0
  178. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits-and-position.mjs +2 -0
  179. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/i-node-move-limits.mjs +2 -0
  180. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/index.mjs +12 -0
  181. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/providers.mjs +17 -0
  182. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.mjs +8 -0
  183. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines.mjs +52 -0
  184. package/esm2022/f-draggable/f-node-move/create-snap-lines/index.mjs +3 -0
  185. package/esm2022/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.mjs +51 -0
  186. package/esm2022/f-draggable/f-node-move/f-move-nodes.event.mjs +8 -2
  187. package/esm2022/f-draggable/f-node-move/index.mjs +8 -7
  188. package/esm2022/f-draggable/f-node-move/move-drag-handler.mjs +95 -0
  189. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +38 -49
  190. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +26 -26
  191. package/esm2022/f-draggable/f-node-move/move-summary-drag-handler.mjs +44 -0
  192. package/esm2022/f-draggable/f-node-move/providers.mjs +4 -4
  193. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints-request.mjs +10 -0
  194. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints.mjs +56 -0
  195. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/index.mjs +3 -0
  196. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.mjs +10 -0
  197. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.mjs +145 -0
  198. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/index.mjs +3 -0
  199. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.mjs +14 -0
  200. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.mjs +55 -0
  201. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/index.mjs +3 -0
  202. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.mjs +10 -0
  203. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.mjs +39 -0
  204. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/index.mjs +3 -0
  205. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits-request.mjs +10 -0
  206. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.mjs +69 -0
  207. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/index.mjs +3 -0
  208. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-constraint.mjs +2 -0
  209. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limit.mjs +2 -0
  210. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limits.mjs +2 -0
  211. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-overflow.mjs +2 -0
  212. package/esm2022/f-draggable/f-node-resize/constraint/index.mjs +5 -0
  213. package/esm2022/f-draggable/f-node-resize/index.mjs +8 -8
  214. package/esm2022/f-draggable/f-node-resize/node-resize.drag-handler.mjs +64 -0
  215. package/esm2022/f-draggable/f-node-resize/providers.mjs +15 -17
  216. package/esm2022/f-draggable/f-node-resize/resize-finalize/index.mjs +3 -3
  217. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize-request.mjs +8 -0
  218. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.mjs +29 -0
  219. package/esm2022/f-draggable/f-node-resize/resize-preparation/index.mjs +3 -3
  220. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation-request.mjs +10 -0
  221. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.mjs +71 -0
  222. package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +9 -9
  223. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.mjs +4 -4
  224. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +13 -13
  225. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +18 -18
  226. package/esm2022/f-external-item/domain/constraint/external-rect-constraint.mjs +44 -0
  227. package/esm2022/f-external-item/domain/constraint/index.mjs +2 -0
  228. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +27 -22
  229. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +9 -9
  230. package/esm2022/f-external-item/domain/index.mjs +2 -1
  231. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +8 -8
  232. package/esm2022/f-line-alignment/domain/i-snap-coordinate.mjs +2 -0
  233. package/esm2022/f-line-alignment/domain/i-snap-result.mjs +2 -0
  234. package/esm2022/f-line-alignment/domain/index.mjs +5 -5
  235. package/esm2022/f-line-alignment/domain/snap-line-element.mjs +24 -0
  236. package/esm2022/f-line-alignment/domain/snap-line-service.mjs +38 -0
  237. package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.mjs +11 -10
  238. package/esm2022/f-node/f-group.directive.mjs +56 -94
  239. package/esm2022/f-node/f-node-base.mjs +61 -7
  240. package/esm2022/f-node/f-node.directive.mjs +56 -95
  241. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +1 -1
  242. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +4 -4
  243. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +9 -9
  244. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +13 -13
  245. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +3 -3
  246. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +3 -3
  247. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +3 -3
  248. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +3 -3
  249. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +3 -3
  250. package/esm2022/mixins/change-selection/change-selection.mjs +2 -2
  251. package/esm2022/mixins/change-selection/i-selectable.mjs +1 -1
  252. package/esm2022/reactivity/f-resize-channel.mjs +1 -1
  253. package/f-canvas/f-canvas.component.d.ts +4 -4
  254. package/f-connection/common/f-connection-base.d.ts +17 -15
  255. package/f-connection/common/i-has-connection-color.d.ts +3 -3
  256. package/f-connection/f-connection/f-connection.component.d.ts +6 -20
  257. package/f-connection/f-connection-for-create/f-connection-for-create.component.d.ts +2 -17
  258. package/f-connection/f-snap-connection/f-snap-connection.component.d.ts +2 -17
  259. package/f-connection/providers.d.ts +1 -1
  260. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.d.ts +3 -3
  261. package/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.d.ts +2 -2
  262. package/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.d.ts +1 -1
  263. package/f-draggable/domain/providers.d.ts +1 -1
  264. package/f-draggable/f-canvas/f-canvas.drag-handler.d.ts +1 -1
  265. package/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.d.ts +1 -1
  266. package/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.d.ts +2 -2
  267. package/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.d.ts +2 -2
  268. package/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.d.ts +2 -2
  269. package/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.d.ts +2 -2
  270. package/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.d.ts +1 -1
  271. package/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.d.ts +1 -1
  272. package/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.d.ts +1 -1
  273. package/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.d.ts +2 -2
  274. package/f-draggable/f-connection/providers.d.ts +1 -1
  275. package/f-draggable/f-draggable-base.d.ts +4 -4
  276. package/f-draggable/f-draggable-data-context.d.ts +1 -0
  277. package/f-draggable/f-draggable.directive.d.ts +23 -11
  278. package/f-draggable/{f-node-resize/resize-finalize/f-node-resize-finalize.request.d.ts → f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.d.ts} +1 -1
  279. package/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.d.ts +16 -0
  280. package/f-draggable/f-drop-to-group/drop-to-group-finalize/index.d.ts +2 -2
  281. package/f-draggable/f-drop-to-group/{drop-to-group-finalize/f-node-drop-to-group-finalize.request.d.ts → drop-to-group-preparation/drop-to-group-preparation-request.d.ts} +1 -1
  282. package/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.d.ts +29 -0
  283. package/f-draggable/f-drop-to-group/drop-to-group-preparation/index.d.ts +2 -2
  284. package/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.d.ts +4 -4
  285. package/f-draggable/f-drop-to-group/index.d.ts +1 -0
  286. package/f-draggable/f-drop-to-group/providers.d.ts +4 -3
  287. package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/index.d.ts +2 -0
  288. package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.d.ts +6 -0
  289. package/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.d.ts +10 -0
  290. package/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.d.ts +2 -2
  291. package/f-draggable/f-node-move/constraint/drag-constraint-pipeline.d.ts +17 -0
  292. package/f-draggable/f-node-move/constraint/expand-rect-from-baseline.d.ts +3 -0
  293. package/f-draggable/f-node-move/constraint/index.d.ts +4 -0
  294. package/f-draggable/f-node-move/constraint/rect-constraint.d.ts +19 -0
  295. package/f-draggable/f-node-move/constraint/snap-to-grid.d.ts +15 -0
  296. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.d.ts +6 -0
  297. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.d.ts +6 -0
  298. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.d.ts +13 -0
  299. package/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/index.d.ts +3 -0
  300. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.d.ts +6 -0
  301. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.d.ts +19 -0
  302. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.d.ts +6 -0
  303. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.d.ts +8 -0
  304. package/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/index.d.ts +4 -0
  305. package/f-draggable/f-node-move/{create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.d.ts → create-drag-model-from-selection/create-drag-model-from-selection-request.d.ts} +1 -1
  306. package/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.d.ts +24 -0
  307. package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler-request.d.ts +9 -0
  308. package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/create-input-connection-handler-and-set-to-node-handler.d.ts +16 -0
  309. package/f-draggable/f-node-move/create-drag-model-from-selection/create-input-connection-handler-and-set-to-node-handler/index.d.ts +2 -0
  310. package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler-request.d.ts +9 -0
  311. package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/create-output-connection-handler-and-set-to-node-handler.d.ts +18 -0
  312. package/f-draggable/f-node-move/create-drag-model-from-selection/create-output-connection-handler-and-set-to-node-handler/index.d.ts +2 -0
  313. package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.d.ts +7 -0
  314. package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.d.ts +13 -0
  315. package/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/index.d.ts +2 -0
  316. package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-request.d.ts +7 -0
  317. package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-response.d.ts +9 -0
  318. package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings.d.ts +13 -0
  319. package/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/index.d.ts +3 -0
  320. package/f-draggable/f-node-move/create-drag-model-from-selection/index.d.ts +11 -0
  321. package/f-draggable/f-node-move/create-drag-model-from-selection/providers.d.ts +8 -0
  322. package/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.d.ts +6 -0
  323. package/f-draggable/f-node-move/create-snap-lines/create-snap-lines.d.ts +19 -0
  324. package/f-draggable/f-node-move/create-snap-lines/index.d.ts +2 -0
  325. package/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.d.ts +16 -0
  326. package/f-draggable/f-node-move/f-move-nodes.event.d.ts +4 -0
  327. package/f-draggable/f-node-move/index.d.ts +7 -6
  328. package/f-draggable/f-node-move/move-drag-handler.d.ts +33 -0
  329. package/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.d.ts +10 -10
  330. package/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.d.ts +4 -4
  331. package/f-draggable/f-node-move/move-summary-drag-handler.d.ts +22 -0
  332. package/f-draggable/f-node-move/providers.d.ts +2 -2
  333. package/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints-request.d.ts +7 -0
  334. package/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints.d.ts +13 -0
  335. package/f-draggable/f-node-resize/apply-child-resize-constraints/index.d.ts +2 -0
  336. package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.d.ts +8 -0
  337. package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.d.ts +36 -0
  338. package/f-draggable/f-node-resize/apply-parent-resize-constraints/index.d.ts +2 -0
  339. package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.d.ts +10 -0
  340. package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.d.ts +11 -0
  341. package/f-draggable/f-node-resize/calculate-changed-rect-from-difference/index.d.ts +2 -0
  342. package/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.d.ts +7 -0
  343. package/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.d.ts +15 -0
  344. package/f-draggable/f-node-resize/calculate-direct-children-union-rect/index.d.ts +2 -0
  345. package/f-draggable/f-node-resize/{get-node-resize-restrictions/get-node-resize-restrictions.request.d.ts → calculate-resize-limits/calculate-resize-limits-request.d.ts} +3 -3
  346. package/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.d.ts +17 -0
  347. package/f-draggable/f-node-resize/calculate-resize-limits/index.d.ts +2 -0
  348. package/f-draggable/f-node-resize/constraint/i-resize-constraint.d.ts +7 -0
  349. package/f-draggable/f-node-resize/constraint/i-resize-limit.d.ts +7 -0
  350. package/f-draggable/f-node-resize/constraint/i-resize-limits.d.ts +5 -0
  351. package/f-draggable/f-node-resize/constraint/i-resize-overflow.d.ts +6 -0
  352. package/f-draggable/f-node-resize/constraint/index.d.ts +4 -0
  353. package/f-draggable/f-node-resize/index.d.ts +7 -7
  354. package/f-draggable/f-node-resize/node-resize.drag-handler.d.ts +25 -0
  355. package/f-draggable/f-node-resize/providers.d.ts +8 -9
  356. package/f-draggable/f-node-resize/resize-finalize/index.d.ts +2 -2
  357. package/f-draggable/{f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.request.d.ts → f-node-resize/resize-finalize/node-resize-finalize-request.d.ts} +2 -2
  358. package/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.d.ts +10 -0
  359. package/f-draggable/f-node-resize/resize-preparation/index.d.ts +2 -2
  360. package/f-draggable/f-node-resize/resize-preparation/{f-node-resize-preparation.request.d.ts → node-resize-preparation-request.d.ts} +1 -1
  361. package/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.d.ts +22 -0
  362. package/f-draggable/f-node-rotate/f-node-rotate.drag-handler.d.ts +2 -2
  363. package/f-draggable/f-node-rotate/providers.d.ts +1 -1
  364. package/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.d.ts +1 -1
  365. package/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.d.ts +2 -2
  366. package/f-draggable/f-single-select/f-single-select.execution.d.ts +2 -2
  367. package/f-draggable/providers.d.ts +1 -1
  368. package/{f-draggable/f-node-move/point-bounds-limiter.d.ts → f-external-item/domain/constraint/external-rect-constraint.d.ts} +4 -4
  369. package/f-external-item/domain/constraint/index.d.ts +1 -0
  370. package/f-external-item/domain/f-external-item.drag-handler.d.ts +6 -5
  371. package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +2 -2
  372. package/f-external-item/domain/index.d.ts +1 -0
  373. package/f-external-item/domain/preparation/f-external-item-preparation.execution.d.ts +2 -2
  374. package/f-line-alignment/domain/{i-nearest-coordinate-result.d.ts → i-snap-coordinate.d.ts} +1 -1
  375. package/f-line-alignment/domain/i-snap-result.d.ts +5 -0
  376. package/f-line-alignment/domain/index.d.ts +4 -4
  377. package/f-line-alignment/domain/{line-element.d.ts → snap-line-element.d.ts} +1 -1
  378. package/f-line-alignment/domain/{line-service.d.ts → snap-line-service.d.ts} +1 -1
  379. package/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.d.ts +2 -2
  380. package/f-minimap/domain/providers.d.ts +1 -1
  381. package/f-node/f-group.directive.d.ts +19 -28
  382. package/f-node/f-node-base.d.ts +26 -17
  383. package/f-node/f-node.directive.d.ts +19 -28
  384. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
  385. package/f-node/providers.d.ts +2 -2
  386. package/f-selection-area/domain/providers.d.ts +1 -1
  387. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +1 -1
  388. package/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.d.ts +2 -2
  389. package/f-selection-area/domain/selection-area.drag-handle.d.ts +3 -3
  390. package/f-storage/features/listen-components-data-changed/listen-data-changes.execution.d.ts +1 -1
  391. package/f-storage/features/listen-count-changes/listen-count-changes.execution.d.ts +1 -1
  392. package/f-storage/features/listen-transform-changes/listen-transform-changes.execution.d.ts +1 -1
  393. package/f-storage/features/notify-data-changed/notify-data-changed.execution.d.ts +1 -1
  394. package/f-storage/features/notify-transform-changed/notify-transform-changed.execution.d.ts +1 -1
  395. package/f-storage/providers.d.ts +1 -1
  396. package/fesm2022/foblex-flow.mjs +2010 -1481
  397. package/fesm2022/foblex-flow.mjs.map +1 -1
  398. package/mixins/change-selection/i-selectable.d.ts +1 -1
  399. package/package.json +1 -1
  400. package/reactivity/f-resize-channel.d.ts +2 -2
  401. package/esm2022/domain/f-draggable/is-drag-started/is-drag-started.execution.mjs +0 -25
  402. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store.execution.mjs +0 -25
  403. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.execution.mjs +0 -34
  404. package/esm2022/domain/f-node/calculate-nodes-bounding-box/calculate-nodes-bounding-box.execution.mjs +0 -35
  405. package/esm2022/domain/f-node/calculate-nodes-bounding-box-normalized-position/calculate-nodes-bounding-box-normalized-position.execution.mjs +0 -36
  406. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.execution.mjs +0 -34
  407. package/esm2022/domain/f-node/get-node-padding/get-node-padding.execution.mjs +0 -35
  408. package/esm2022/domain/f-node/get-nodes/get-nodes.execution.mjs +0 -25
  409. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.execution.mjs +0 -37
  410. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store.execution.mjs +0 -25
  411. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.execution.mjs +0 -95
  412. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.mjs +0 -57
  413. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.request.mjs +0 -8
  414. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.mjs +0 -83
  415. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.request.mjs +0 -8
  416. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.mjs +0 -110
  417. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.request.mjs +0 -8
  418. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.mjs +0 -69
  419. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.mjs +0 -8
  420. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.mjs +0 -3
  421. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.mjs +0 -46
  422. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.mjs +0 -10
  423. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.mjs +0 -3
  424. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.mjs +0 -3
  425. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.mjs +0 -60
  426. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.mjs +0 -12
  427. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.mjs +0 -3
  428. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.mjs +0 -60
  429. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.mjs +0 -12
  430. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits-and-position.mjs +0 -2
  431. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/i-node-move-limits.mjs +0 -2
  432. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/index.mjs +0 -10
  433. package/esm2022/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.mjs +0 -13
  434. package/esm2022/f-draggable/f-node-move/f-line-alignment.drag-handler.mjs +0 -63
  435. package/esm2022/f-draggable/f-node-move/f-node-move.drag-handler.mjs +0 -30
  436. package/esm2022/f-draggable/f-node-move/f-summary-node-move.drag-handler.mjs +0 -33
  437. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/index.mjs +0 -3
  438. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.mjs +0 -57
  439. package/esm2022/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.request.mjs +0 -10
  440. package/esm2022/f-draggable/f-node-move/point-bounds-limiter.mjs +0 -43
  441. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.mjs +0 -53
  442. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.mjs +0 -10
  443. package/esm2022/f-draggable/f-node-resize/apply-child-resize-restrictions/index.mjs +0 -3
  444. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.mjs +0 -49
  445. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.mjs +0 -10
  446. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-restrictions/index.mjs +0 -3
  447. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.execution.mjs +0 -25
  448. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.request.mjs +0 -14
  449. package/esm2022/f-draggable/f-node-resize/calculate-changed-position/index.mjs +0 -3
  450. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.execution.mjs +0 -34
  451. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.request.mjs +0 -12
  452. package/esm2022/f-draggable/f-node-resize/calculate-changed-size/index.mjs +0 -3
  453. package/esm2022/f-draggable/f-node-resize/f-node-resize.drag-handler.mjs +0 -73
  454. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.mjs +0 -39
  455. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.request.mjs +0 -10
  456. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/i-node-resize-restrictions.mjs +0 -2
  457. package/esm2022/f-draggable/f-node-resize/get-node-resize-restrictions/index.mjs +0 -4
  458. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.mjs +0 -38
  459. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.mjs +0 -10
  460. package/esm2022/f-draggable/f-node-resize/get-normalized-children-nodes-rect/index.mjs +0 -3
  461. package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.mjs +0 -31
  462. package/esm2022/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.request.mjs +0 -8
  463. package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.mjs +0 -73
  464. package/esm2022/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.request.mjs +0 -10
  465. package/esm2022/f-line-alignment/domain/i-line-alignment-result.mjs +0 -2
  466. package/esm2022/f-line-alignment/domain/i-nearest-coordinate-result.mjs +0 -2
  467. package/esm2022/f-line-alignment/domain/line-element.mjs +0 -24
  468. package/esm2022/f-line-alignment/domain/line-service.mjs +0 -38
  469. package/f-draggable/f-drop-to-group/drop-to-group-finalize/f-node-drop-to-group-finalize.execution.d.ts +0 -15
  470. package/f-draggable/f-drop-to-group/drop-to-group-preparation/f-node-drop-to-group-preparation.execution.d.ts +0 -22
  471. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/create-move-nodes-drag-model-from-selection.execution.d.ts +0 -29
  472. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.execution.d.ts +0 -19
  473. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/calculate-common-node-move-limits.request.d.ts +0 -6
  474. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-common-node-move-limits/index.d.ts +0 -2
  475. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.execution.d.ts +0 -15
  476. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/calculate-node-move-limits.request.d.ts +0 -7
  477. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/calculate-node-move-limits/index.d.ts +0 -2
  478. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/index.d.ts +0 -2
  479. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.execution.d.ts +0 -16
  480. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-input-connection-handlers-to-array/put-input-connection-handlers-to-array.request.d.ts +0 -9
  481. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/index.d.ts +0 -2
  482. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.execution.d.ts +0 -18
  483. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/domain/put-output-connection-handlers-to-array/put-output-connection-handlers-to-array.request.d.ts +0 -9
  484. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/index.d.ts +0 -9
  485. package/f-draggable/f-node-move/create-move-nodes-drag-model-from-selection/providers.d.ts +0 -6
  486. package/f-draggable/f-node-move/f-line-alignment.drag-handler.d.ts +0 -21
  487. package/f-draggable/f-node-move/f-node-move.drag-handler.d.ts +0 -16
  488. package/f-draggable/f-node-move/f-summary-node-move.drag-handler.d.ts +0 -17
  489. package/f-draggable/f-node-move/line-alignment-preparation/index.d.ts +0 -2
  490. package/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.execution.d.ts +0 -20
  491. package/f-draggable/f-node-move/line-alignment-preparation/line-alignment-preparation.request.d.ts +0 -8
  492. package/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.execution.d.ts +0 -13
  493. package/f-draggable/f-node-resize/apply-child-resize-restrictions/apply-child-resize-restrictions.request.d.ts +0 -8
  494. package/f-draggable/f-node-resize/apply-child-resize-restrictions/index.d.ts +0 -2
  495. package/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.execution.d.ts +0 -13
  496. package/f-draggable/f-node-resize/apply-parent-resize-restrictions/apply-parent-resize-restrictions.request.d.ts +0 -7
  497. package/f-draggable/f-node-resize/apply-parent-resize-restrictions/index.d.ts +0 -2
  498. package/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.execution.d.ts +0 -10
  499. package/f-draggable/f-node-resize/calculate-changed-position/calculate-changed-position.request.d.ts +0 -10
  500. package/f-draggable/f-node-resize/calculate-changed-position/index.d.ts +0 -2
  501. package/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.execution.d.ts +0 -10
  502. package/f-draggable/f-node-resize/calculate-changed-size/calculate-changed-size.request.d.ts +0 -9
  503. package/f-draggable/f-node-resize/calculate-changed-size/index.d.ts +0 -2
  504. package/f-draggable/f-node-resize/f-node-resize.drag-handler.d.ts +0 -27
  505. package/f-draggable/f-node-resize/get-node-resize-restrictions/get-node-resize-restrictions.execution.d.ts +0 -13
  506. package/f-draggable/f-node-resize/get-node-resize-restrictions/i-node-resize-restrictions.d.ts +0 -6
  507. package/f-draggable/f-node-resize/get-node-resize-restrictions/index.d.ts +0 -3
  508. package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.execution.d.ts +0 -14
  509. package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/get-normalized-children-nodes-rect.request.d.ts +0 -7
  510. package/f-draggable/f-node-resize/get-normalized-children-nodes-rect/index.d.ts +0 -2
  511. package/f-draggable/f-node-resize/resize-finalize/f-node-resize-finalize.execution.d.ts +0 -10
  512. package/f-draggable/f-node-resize/resize-preparation/f-node-resize-preparation.execution.d.ts +0 -22
  513. package/f-line-alignment/domain/i-line-alignment-result.d.ts +0 -5
  514. /package/f-draggable/f-node-move/{create-move-nodes-drag-model-from-selection → create-drag-model-from-selection}/i-node-move-limits-and-position.d.ts +0 -0
  515. /package/f-draggable/f-node-move/{create-move-nodes-drag-model-from-selection → create-drag-model-from-selection}/i-node-move-limits.d.ts +0 -0
@@ -9,28 +9,28 @@ import * as i0 from "@angular/core";
9
9
  * Execution that handles the selection of nodes and connections in the FFlow.
10
10
  */
11
11
  let SelectExecution = class SelectExecution {
12
- _fDraggableDataContext = inject(FDraggableDataContext);
12
+ _dragContext = inject(FDraggableDataContext);
13
13
  _store = inject(FComponentsStore);
14
14
  handle(request) {
15
- this._fDraggableDataContext.selectedItems.forEach((x) => {
15
+ this._dragContext.selectedItems.forEach((x) => {
16
16
  x.unmarkAsSelected();
17
17
  });
18
- this._fDraggableDataContext.selectedItems = [];
18
+ this._dragContext.selectedItems = [];
19
19
  request.nodes.forEach((key) => {
20
20
  const node = this._store.fNodes.find((x) => x.fId() === key);
21
21
  if (node) {
22
22
  node.markAsSelected();
23
- this._fDraggableDataContext.selectedItems.push(node);
23
+ this._dragContext.selectedItems.push(node);
24
24
  }
25
25
  });
26
26
  request.connections.forEach((key) => {
27
27
  const connection = this._store.fConnections.find((x) => x.fId() === key);
28
28
  if (connection) {
29
29
  connection.markAsSelected();
30
- this._fDraggableDataContext.selectedItems.push(connection);
30
+ this._dragContext.selectedItems.push(connection);
31
31
  }
32
32
  });
33
- this._fDraggableDataContext.isSelectedChanged = request.isSelectedChanged;
33
+ this._dragContext.isSelectedChanged = request.isSelectedChanged;
34
34
  }
35
35
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
36
36
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectExecution });
@@ -42,4 +42,4 @@ export { SelectExecution };
42
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectExecution, decorators: [{
43
43
  type: Injectable
44
44
  }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytc2VsZWN0aW9uL3NlbGVjdC9zZWxlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRTdEOztHQUVHO0FBR0ksSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZTtJQUVULHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU1QyxNQUFNLENBQUMsT0FBc0I7UUFDbEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN0RCxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRS9DLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDN0QsSUFBRyxJQUFJLEVBQUUsQ0FBQztnQkFDUixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDekUsSUFBRyxVQUFVLEVBQUUsQ0FBQztnQkFDZCxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7SUFDNUUsQ0FBQzt3R0E1QlUsZUFBZTs0R0FBZixlQUFlOztBQUFmLGVBQWU7SUFEM0Isa0JBQWtCLENBQUMsYUFBYSxDQUFDO0dBQ3JCLGVBQWUsQ0E2QjNCOzs0RkE3QlksZUFBZTtrQkFGM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdFJlcXVlc3QgfSBmcm9tICcuL3NlbGVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2YtZHJhZ2dhYmxlJztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCBoYW5kbGVzIHRoZSBzZWxlY3Rpb24gb2Ygbm9kZXMgYW5kIGNvbm5lY3Rpb25zIGluIHRoZSBGRmxvdy5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihTZWxlY3RSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248U2VsZWN0UmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFNlbGVjdFJlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICB4LnVubWFya0FzU2VsZWN0ZWQoKTtcbiAgICB9KTtcbiAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuXG4gICAgcmVxdWVzdC5ub2Rlcy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLl9zdG9yZS5mTm9kZXMuZmluZCgoeCkgPT4geC5mSWQoKSA9PT0ga2V5KTtcbiAgICAgIGlmKG5vZGUpIHtcbiAgICAgICAgbm9kZS5tYXJrQXNTZWxlY3RlZCgpO1xuICAgICAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5wdXNoKG5vZGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmVxdWVzdC5jb25uZWN0aW9ucy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGNvbm5lY3Rpb24gPSB0aGlzLl9zdG9yZS5mQ29ubmVjdGlvbnMuZmluZCgoeCkgPT4geC5mSWQoKSA9PT0ga2V5KTtcbiAgICAgIGlmKGNvbm5lY3Rpb24pIHtcbiAgICAgICAgY29ubmVjdGlvbi5tYXJrQXNTZWxlY3RlZCgpO1xuICAgICAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5wdXNoKGNvbm5lY3Rpb24pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gcmVxdWVzdC5pc1NlbGVjdGVkQ2hhbmdlZDtcbiAgfVxufVxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL2Ytc2VsZWN0aW9uL3NlbGVjdC9zZWxlY3QuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRTdEOztHQUVHO0FBR0ksSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZTtJQUVULFlBQVksR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUM3QyxNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFNUMsTUFBTSxDQUFDLE9BQXNCO1FBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzVDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXJDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDN0QsSUFBRyxJQUFJLEVBQUUsQ0FBQztnQkFDUixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ3pFLElBQUcsVUFBVSxFQUFFLENBQUM7Z0JBQ2QsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDbkQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUM7SUFDbEUsQ0FBQzt3R0E1QlUsZUFBZTs0R0FBZixlQUFlOztBQUFmLGVBQWU7SUFEM0Isa0JBQWtCLENBQUMsYUFBYSxDQUFDO0dBQ3JCLGVBQWUsQ0E2QjNCOzs0RkE3QlksZUFBZTtrQkFGM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdFJlcXVlc3QgfSBmcm9tICcuL3NlbGVjdC5yZXF1ZXN0JztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZEcmFnZ2FibGVEYXRhQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2YtZHJhZ2dhYmxlJztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCBoYW5kbGVzIHRoZSBzZWxlY3Rpb24gb2Ygbm9kZXMgYW5kIGNvbm5lY3Rpb25zIGluIHRoZSBGRmxvdy5cbiAqL1xuQEluamVjdGFibGUoKVxuQEZFeGVjdXRpb25SZWdpc3RlcihTZWxlY3RSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248U2VsZWN0UmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RyYWdDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogU2VsZWN0UmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2RyYWdDb250ZXh0LnNlbGVjdGVkSXRlbXMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgeC51bm1hcmtBc1NlbGVjdGVkKCk7XG4gICAgfSk7XG4gICAgdGhpcy5fZHJhZ0NvbnRleHQuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuXG4gICAgcmVxdWVzdC5ub2Rlcy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLl9zdG9yZS5mTm9kZXMuZmluZCgoeCkgPT4geC5mSWQoKSA9PT0ga2V5KTtcbiAgICAgIGlmKG5vZGUpIHtcbiAgICAgICAgbm9kZS5tYXJrQXNTZWxlY3RlZCgpO1xuICAgICAgICB0aGlzLl9kcmFnQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2gobm9kZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXF1ZXN0LmNvbm5lY3Rpb25zLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgY29uc3QgY29ubmVjdGlvbiA9IHRoaXMuX3N0b3JlLmZDb25uZWN0aW9ucy5maW5kKCh4KSA9PiB4LmZJZCgpID09PSBrZXkpO1xuICAgICAgaWYoY29ubmVjdGlvbikge1xuICAgICAgICBjb25uZWN0aW9uLm1hcmtBc1NlbGVjdGVkKCk7XG4gICAgICAgIHRoaXMuX2RyYWdDb250ZXh0LnNlbGVjdGVkSXRlbXMucHVzaChjb25uZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX2RyYWdDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gcmVxdWVzdC5pc1NlbGVjdGVkQ2hhbmdlZDtcbiAgfVxufVxuIl19
@@ -10,22 +10,22 @@ import * as i0 from "@angular/core";
10
10
  * It marks all nodes and connections as selected and updates the selected items in the FDraggableDataContext.
11
11
  */
12
12
  let SelectAllExecution = class SelectAllExecution {
13
- _fDraggableDataContext = inject(FDraggableDataContext);
13
+ _dragContext = inject(FDraggableDataContext);
14
14
  _store = inject(FComponentsStore);
15
15
  handle(request) {
16
- this._fDraggableDataContext.selectedItems.forEach((x) => {
16
+ this._dragContext.selectedItems.forEach((x) => {
17
17
  x.unmarkAsSelected();
18
18
  });
19
- this._fDraggableDataContext.selectedItems = [];
19
+ this._dragContext.selectedItems = [];
20
20
  this._store.fNodes.forEach((x) => {
21
21
  x.markAsSelected();
22
- this._fDraggableDataContext.selectedItems.push(x);
22
+ this._dragContext.selectedItems.push(x);
23
23
  });
24
24
  this._store.fConnections.forEach((x) => {
25
25
  x.markAsSelected();
26
- this._fDraggableDataContext.selectedItems.push(x);
26
+ this._dragContext.selectedItems.push(x);
27
27
  });
28
- this._fDraggableDataContext.isSelectedChanged = true;
28
+ this._dragContext.isSelectedChanged = true;
29
29
  }
30
30
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectAllExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
31
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectAllExecution });
@@ -37,4 +37,4 @@ export { SelectAllExecution };
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectAllExecution, decorators: [{
38
38
  type: Injectable
39
39
  }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFsbC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9zZWxlY3QtYWxsL3NlbGVjdC1hbGwuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFN0Q7OztHQUdHO0FBR0ksSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFFckIsc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDOUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sQ0FBQyxPQUF5QjtRQUNyQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RELENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDckMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUN2RCxDQUFDO3dHQW5CVSxrQkFBa0I7NEdBQWxCLGtCQUFrQjs7QUFBbEIsa0JBQWtCO0lBRDlCLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO0dBQ3hCLGtCQUFrQixDQW9COUI7OzRGQXBCWSxrQkFBa0I7a0JBRjlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RBbGxSZXF1ZXN0IH0gZnJvbSAnLi9zZWxlY3QtYWxsLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUnO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IHNlbGVjdHMgYWxsIGNvbXBvbmVudHMgaW4gdGhlIEZDb21wb25lbnRzU3RvcmUuXG4gKiBJdCBtYXJrcyBhbGwgbm9kZXMgYW5kIGNvbm5lY3Rpb25zIGFzIHNlbGVjdGVkIGFuZCB1cGRhdGVzIHRoZSBzZWxlY3RlZCBpdGVtcyBpbiB0aGUgRkRyYWdnYWJsZURhdGFDb250ZXh0LlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNlbGVjdEFsbFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgU2VsZWN0QWxsRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxTZWxlY3RBbGxSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBfZkRyYWdnYWJsZURhdGFDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogU2VsZWN0QWxsUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHgudW5tYXJrQXNTZWxlY3RlZCgpO1xuICAgIH0pO1xuICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5fc3RvcmUuZk5vZGVzLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHgubWFya0FzU2VsZWN0ZWQoKTtcbiAgICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goeCk7XG4gICAgfSk7XG4gICAgdGhpcy5fc3RvcmUuZkNvbm5lY3Rpb25zLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHgubWFya0FzU2VsZWN0ZWQoKTtcbiAgICAgIHRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goeCk7XG4gICAgfSk7XG4gICAgdGhpcy5fZkRyYWdnYWJsZURhdGFDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gdHJ1ZTtcbiAgfVxufVxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFsbC5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9zZWxlY3QtYWxsL3NlbGVjdC1hbGwuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFN0Q7OztHQUdHO0FBR0ksSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFFckIsWUFBWSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUU1QyxNQUFNLENBQUMsT0FBeUI7UUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztJQUM3QyxDQUFDO3dHQW5CVSxrQkFBa0I7NEdBQWxCLGtCQUFrQjs7QUFBbEIsa0JBQWtCO0lBRDlCLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDO0dBQ3hCLGtCQUFrQixDQW9COUI7OzRGQXBCWSxrQkFBa0I7a0JBRjlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3RBbGxSZXF1ZXN0IH0gZnJvbSAnLi9zZWxlY3QtYWxsLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEZDb21wb25lbnRzU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9mLXN0b3JhZ2UnO1xuaW1wb3J0IHsgRkRyYWdnYWJsZURhdGFDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vZi1kcmFnZ2FibGUnO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IHNlbGVjdHMgYWxsIGNvbXBvbmVudHMgaW4gdGhlIEZDb21wb25lbnRzU3RvcmUuXG4gKiBJdCBtYXJrcyBhbGwgbm9kZXMgYW5kIGNvbm5lY3Rpb25zIGFzIHNlbGVjdGVkIGFuZCB1cGRhdGVzIHRoZSBzZWxlY3RlZCBpdGVtcyBpbiB0aGUgRkRyYWdnYWJsZURhdGFDb250ZXh0LlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNlbGVjdEFsbFJlcXVlc3QpXG5leHBvcnQgY2xhc3MgU2VsZWN0QWxsRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxTZWxlY3RBbGxSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSBfZHJhZ0NvbnRleHQgPSBpbmplY3QoRkRyYWdnYWJsZURhdGFDb250ZXh0KTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBTZWxlY3RBbGxSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5fZHJhZ0NvbnRleHQuc2VsZWN0ZWRJdGVtcy5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICB4LnVubWFya0FzU2VsZWN0ZWQoKTtcbiAgICB9KTtcbiAgICB0aGlzLl9kcmFnQ29udGV4dC5zZWxlY3RlZEl0ZW1zID0gW107XG4gICAgdGhpcy5fc3RvcmUuZk5vZGVzLmZvckVhY2goKHgpID0+IHtcbiAgICAgIHgubWFya0FzU2VsZWN0ZWQoKTtcbiAgICAgIHRoaXMuX2RyYWdDb250ZXh0LnNlbGVjdGVkSXRlbXMucHVzaCh4KTtcbiAgICB9KTtcbiAgICB0aGlzLl9zdG9yZS5mQ29ubmVjdGlvbnMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgeC5tYXJrQXNTZWxlY3RlZCgpO1xuICAgICAgdGhpcy5fZHJhZ0NvbnRleHQuc2VsZWN0ZWRJdGVtcy5wdXNoKHgpO1xuICAgIH0pO1xuICAgIHRoaXMuX2RyYWdDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -11,17 +11,17 @@ import * as i0 from "@angular/core";
11
11
  * and updates the layers of the node and its children.
12
12
  */
13
13
  let SelectAndUpdateNodeLayerExecution = class SelectAndUpdateNodeLayerExecution {
14
- _fDraggableDataContext = inject(FDraggableDataContext);
14
+ _dragContext = inject(FDraggableDataContext);
15
15
  _mediator = inject(FMediator);
16
16
  handle(request) {
17
17
  this.selectNodeIfNotSelected(request.fNode);
18
18
  this._mediator.execute(new UpdateItemAndChildrenLayersRequest(request.fNode, request.fNode.hostElement.parentElement));
19
19
  }
20
20
  selectNodeIfNotSelected(fNode) {
21
- if (!this._fDraggableDataContext.selectedItems.includes(fNode) && !fNode.fSelectionDisabled) {
22
- this._fDraggableDataContext.selectedItems.push(fNode);
21
+ if (!this._dragContext.selectedItems.includes(fNode) && !fNode.fSelectionDisabled()) {
22
+ this._dragContext.selectedItems.push(fNode);
23
23
  fNode.markAsSelected();
24
- this._fDraggableDataContext.isSelectedChanged = true;
24
+ this._dragContext.isSelectedChanged = true;
25
25
  }
26
26
  }
27
27
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectAndUpdateNodeLayerExecution, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
@@ -34,4 +34,4 @@ export { SelectAndUpdateNodeLayerExecution };
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SelectAndUpdateNodeLayerExecution, decorators: [{
35
35
  type: Injectable
36
36
  }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXIuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRzNGOzs7O0dBSUc7QUFHSSxJQUFNLGlDQUFpQyxHQUF2QyxNQUFNLGlDQUFpQztJQUUzQixzQkFBc0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN2RCxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sQ0FBQyxPQUF3QztRQUNwRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUNwQixJQUFJLGtDQUFrQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsYUFBNEIsQ0FBQyxDQUM5RyxDQUFDO0lBQ0osQ0FBQztJQUVPLHVCQUF1QixDQUFDLEtBQWdCO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzVGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsc0JBQXNCLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO3dHQW5CVSxpQ0FBaUM7NEdBQWpDLGlDQUFpQzs7QUFBakMsaUNBQWlDO0lBRDdDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDO0dBQ3ZDLGlDQUFpQyxDQW9CN0M7OzRGQXBCWSxpQ0FBaUM7a0JBRjdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QgfSBmcm9tICcuL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXIucmVxdWVzdCc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycyc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IHNlbGVjdHMgYSBub2RlIGFuZCB1cGRhdGVzIGl0cyBsYXllciBhbG9uZyB3aXRoIGl0cyBjaGlsZHJlbi5cbiAqIEl0IGNoZWNrcyBpZiB0aGUgbm9kZSBpcyBhbHJlYWR5IHNlbGVjdGVkLCBhbmQgaWYgbm90LCBpdCBtYXJrcyBpdCBhcyBzZWxlY3RlZFxuICogYW5kIHVwZGF0ZXMgdGhlIGxheWVycyBvZiB0aGUgbm9kZSBhbmQgaXRzIGNoaWxkcmVuLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QpXG5leHBvcnQgY2xhc3MgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyRXhlY3V0aW9uIGltcGxlbWVudHMgSUhhbmRsZXI8U2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZEcmFnZ2FibGVEYXRhQ29udGV4dCA9IGluamVjdChGRHJhZ2dhYmxlRGF0YUNvbnRleHQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0Tm9kZUlmTm90U2VsZWN0ZWQocmVxdWVzdC5mTm9kZSk7XG5cbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlPHZvaWQ+KFxuICAgICAgbmV3IFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QocmVxdWVzdC5mTm9kZSwgcmVxdWVzdC5mTm9kZS5ob3N0RWxlbWVudC5wYXJlbnRFbGVtZW50IGFzIEhUTUxFbGVtZW50KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdE5vZGVJZk5vdFNlbGVjdGVkKGZOb2RlOiBGTm9kZUJhc2UpIHtcbiAgICBpZiAoIXRoaXMuX2ZEcmFnZ2FibGVEYXRhQ29udGV4dC5zZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKGZOb2RlKSAmJiAhZk5vZGUuZlNlbGVjdGlvbkRpc2FibGVkKSB7XG4gICAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuc2VsZWN0ZWRJdGVtcy5wdXNoKGZOb2RlKTtcbiAgICAgIGZOb2RlLm1hcmtBc1NlbGVjdGVkKCk7XG4gICAgICB0aGlzLl9mRHJhZ2dhYmxlRGF0YUNvbnRleHQuaXNTZWxlY3RlZENoYW5nZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWFuZC11cGRhdGUtbm9kZS1sYXllci5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9mLXNlbGVjdGlvbi9zZWxlY3QtYW5kLXVwZGF0ZS1ub2RlLWxheWVyL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXIuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRzNGOzs7O0dBSUc7QUFHSSxJQUFNLGlDQUFpQyxHQUF2QyxNQUFNLGlDQUFpQztJQUUzQixZQUFZLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDN0MsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUV4QyxNQUFNLENBQUMsT0FBd0M7UUFDcEQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FDcEIsSUFBSSxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQTRCLENBQUMsQ0FDOUcsQ0FBQztJQUNKLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxLQUFnQjtRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQztZQUNwRixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDNUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQzdDLENBQUM7SUFDSCxDQUFDO3dHQW5CVSxpQ0FBaUM7NEdBQWpDLGlDQUFpQzs7QUFBakMsaUNBQWlDO0lBRDdDLGtCQUFrQixDQUFDLCtCQUErQixDQUFDO0dBQ3ZDLGlDQUFpQyxDQW9CN0M7OzRGQXBCWSxpQ0FBaUM7a0JBRjdDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QgfSBmcm9tICcuL3NlbGVjdC1hbmQtdXBkYXRlLW5vZGUtbGF5ZXIucmVxdWVzdCc7XG5pbXBvcnQgeyBGRHJhZ2dhYmxlRGF0YUNvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9mLWRyYWdnYWJsZSc7XG5pbXBvcnQgeyBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vdXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycyc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuXG4vKipcbiAqIEV4ZWN1dGlvbiB0aGF0IHNlbGVjdHMgYSBub2RlIGFuZCB1cGRhdGVzIGl0cyBsYXllciBhbG9uZyB3aXRoIGl0cyBjaGlsZHJlbi5cbiAqIEl0IGNoZWNrcyBpZiB0aGUgbm9kZSBpcyBhbHJlYWR5IHNlbGVjdGVkLCBhbmQgaWYgbm90LCBpdCBtYXJrcyBpdCBhcyBzZWxlY3RlZFxuICogYW5kIHVwZGF0ZXMgdGhlIGxheWVycyBvZiB0aGUgbm9kZSBhbmQgaXRzIGNoaWxkcmVuLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNlbGVjdEFuZFVwZGF0ZU5vZGVMYXllclJlcXVlc3QpXG5leHBvcnQgY2xhc3MgU2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyRXhlY3V0aW9uIGltcGxlbWVudHMgSUhhbmRsZXI8U2VsZWN0QW5kVXBkYXRlTm9kZUxheWVyUmVxdWVzdCwgdm9pZD4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RyYWdDb250ZXh0ID0gaW5qZWN0KEZEcmFnZ2FibGVEYXRhQ29udGV4dCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBTZWxlY3RBbmRVcGRhdGVOb2RlTGF5ZXJSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3ROb2RlSWZOb3RTZWxlY3RlZChyZXF1ZXN0LmZOb2RlKTtcblxuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8dm9pZD4oXG4gICAgICBuZXcgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdChyZXF1ZXN0LmZOb2RlLCByZXF1ZXN0LmZOb2RlLmhvc3RFbGVtZW50LnBhcmVudEVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0Tm9kZUlmTm90U2VsZWN0ZWQoZk5vZGU6IEZOb2RlQmFzZSkge1xuICAgIGlmICghdGhpcy5fZHJhZ0NvbnRleHQuc2VsZWN0ZWRJdGVtcy5pbmNsdWRlcyhmTm9kZSkgJiYgIWZOb2RlLmZTZWxlY3Rpb25EaXNhYmxlZCgpKSB7XG4gICAgICB0aGlzLl9kcmFnQ29udGV4dC5zZWxlY3RlZEl0ZW1zLnB1c2goZk5vZGUpO1xuICAgICAgZk5vZGUubWFya0FzU2VsZWN0ZWQoKTtcbiAgICAgIHRoaXMuX2RyYWdDb250ZXh0LmlzU2VsZWN0ZWRDaGFuZ2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -18,7 +18,7 @@ let GetDeepChildrenNodesAndGroupsExecution = class GetDeepChildrenNodesAndGroups
18
18
  throw new Error('Circular reference detected in the node hierarchy. Node id: ' + fId);
19
19
  }
20
20
  visited.add(fId);
21
- const directChildren = this._store.fNodes.filter((x) => x.fParentId === fId);
21
+ const directChildren = this._store.fNodes.filter((x) => x.fParentId() === fId);
22
22
  return directChildren.reduce((result, x) => {
23
23
  return result.concat(this._getChildrenNodes(x.fId(), visited));
24
24
  }, directChildren);
@@ -33,4 +33,4 @@ export { GetDeepChildrenNodesAndGroupsExecution };
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GetDeepChildrenNodesAndGroupsExecution, decorators: [{
34
34
  type: Injectable
35
35
  }] });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWRlZXAtY2hpbGRyZW4tbm9kZXMtYW5kLWdyb3Vwcy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtZGVlcC1jaGlsZHJlbi1ub2Rlcy1hbmQtZ3JvdXBzL2dldC1kZWVwLWNoaWxkcmVuLW5vZGVzLWFuZC1ncm91cHMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFbEU7OztHQUdHO0FBR0ksSUFBTSxzQ0FBc0MsR0FBNUMsTUFBTSxzQ0FBc0M7SUFHaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sQ0FBQyxPQUE2QztRQUN6RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEdBQVcsRUFBRSxVQUF1QixJQUFJLEdBQUcsRUFBRTtRQUNyRSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUM3RSxPQUFPLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDckIsQ0FBQzt3R0FuQlUsc0NBQXNDOzRHQUF0QyxzQ0FBc0M7O0FBQXRDLHNDQUFzQztJQURsRCxrQkFBa0IsQ0FBQyxvQ0FBb0MsQ0FBQztHQUM1QyxzQ0FBc0MsQ0FvQmxEOzs0RkFwQlksc0NBQXNDO2tCQUZsRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtZGVlcC1jaGlsZHJlbi1ub2Rlcy1hbmQtZ3JvdXBzLnJlcXVlc3QnO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgRkV4ZWN1dGlvblJlZ2lzdGVyLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgcmV0cmlldmVzIGFsbCBkZWVwIGNoaWxkcmVuIG5vZGVzIGFuZCBncm91cHMgZnJvbSB0aGUgRkNvbXBvbmVudHNTdG9yZS5cbiAqIEl0IHRyYXZlcnNlcyB0aGUgbm9kZSBoaWVyYXJjaHkgdG8gZmluZCBhbGwgZGVzY2VuZGFudHMgb2YgYSBnaXZlbiBub2RlLlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdClcbmV4cG9ydCBjbGFzcyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc0V4ZWN1dGlvblxuICBpbXBsZW1lbnRzIElFeGVjdXRpb248R2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0LCBGTm9kZUJhc2VbXT4ge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gaW5qZWN0KEZDb21wb25lbnRzU3RvcmUpO1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KTogRk5vZGVCYXNlW10ge1xuICAgIHJldHVybiB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKHJlcXVlc3QuZklkKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuTm9kZXMoZklkOiBzdHJpbmcsIHZpc2l0ZWQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpKTogRk5vZGVCYXNlW10ge1xuICAgIGlmICh2aXNpdGVkLmhhcyhmSWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NpcmN1bGFyIHJlZmVyZW5jZSBkZXRlY3RlZCBpbiB0aGUgbm9kZSBoaWVyYXJjaHkuIE5vZGUgaWQ6ICcgKyBmSWQpO1xuICAgIH1cbiAgICB2aXNpdGVkLmFkZChmSWQpO1xuXG4gICAgY29uc3QgZGlyZWN0Q2hpbGRyZW4gPSB0aGlzLl9zdG9yZS5mTm9kZXMuZmlsdGVyKCh4KSA9PiB4LmZQYXJlbnRJZCA9PT0gZklkKTtcbiAgICByZXR1cm4gZGlyZWN0Q2hpbGRyZW4ucmVkdWNlKChyZXN1bHQsIHgpID0+IHtcbiAgICAgIHJldHVybiByZXN1bHQuY29uY2F0KHRoaXMuX2dldENoaWxkcmVuTm9kZXMoeC5mSWQoKSwgdmlzaXRlZCkpO1xuICAgIH0sIGRpcmVjdENoaWxkcmVuKTtcbiAgfVxufVxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWRlZXAtY2hpbGRyZW4tbm9kZXMtYW5kLWdyb3Vwcy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9nZXQtZGVlcC1jaGlsZHJlbi1ub2Rlcy1hbmQtZ3JvdXBzL2dldC1kZWVwLWNoaWxkcmVuLW5vZGVzLWFuZC1ncm91cHMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFbEU7OztHQUdHO0FBR0ksSUFBTSxzQ0FBc0MsR0FBNUMsTUFBTSxzQ0FBc0M7SUFHaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTVDLE1BQU0sQ0FBQyxPQUE2QztRQUN6RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEdBQVcsRUFBRSxVQUF1QixJQUFJLEdBQUcsRUFBRTtRQUNyRSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ3hGLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNyQixDQUFDO3dHQW5CVSxzQ0FBc0M7NEdBQXRDLHNDQUFzQzs7QUFBdEMsc0NBQXNDO0lBRGxELGtCQUFrQixDQUFDLG9DQUFvQyxDQUFDO0dBQzVDLHNDQUFzQyxDQW9CbEQ7OzRGQXBCWSxzQ0FBc0M7a0JBRmxELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QgfSBmcm9tICcuL2dldC1kZWVwLWNoaWxkcmVuLW5vZGVzLWFuZC1ncm91cHMucmVxdWVzdCc7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIElFeGVjdXRpb24gfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCByZXRyaWV2ZXMgYWxsIGRlZXAgY2hpbGRyZW4gbm9kZXMgYW5kIGdyb3VwcyBmcm9tIHRoZSBGQ29tcG9uZW50c1N0b3JlLlxuICogSXQgdHJhdmVyc2VzIHRoZSBub2RlIGhpZXJhcmNoeSB0byBmaW5kIGFsbCBkZXNjZW5kYW50cyBvZiBhIGdpdmVuIG5vZGUuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzRXhlY3V0aW9uXG4gIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QsIEZOb2RlQmFzZVtdPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QpOiBGTm9kZUJhc2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldENoaWxkcmVuTm9kZXMocmVxdWVzdC5mSWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Ob2RlcyhmSWQ6IHN0cmluZywgdmlzaXRlZDogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCkpOiBGTm9kZUJhc2VbXSB7XG4gICAgaWYgKHZpc2l0ZWQuaGFzKGZJZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2lyY3VsYXIgcmVmZXJlbmNlIGRldGVjdGVkIGluIHRoZSBub2RlIGhpZXJhcmNoeS4gTm9kZSBpZDogJyArIGZJZCk7XG4gICAgfVxuICAgIHZpc2l0ZWQuYWRkKGZJZCk7XG5cbiAgICBjb25zdCBkaXJlY3RDaGlsZHJlbiA9IHRoaXMuX3N0b3JlLmZOb2Rlcy5maWx0ZXIoKHgpID0+IHguZlBhcmVudElkKCkgPT09IGZJZCk7XG4gICAgcmV0dXJuIGRpcmVjdENoaWxkcmVuLnJlZHVjZSgocmVzdWx0LCB4KSA9PiB7XG4gICAgICByZXR1cm4gcmVzdWx0LmNvbmNhdCh0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKHguZklkKCksIHZpc2l0ZWQpKTtcbiAgICB9LCBkaXJlY3RDaGlsZHJlbik7XG4gIH1cbn1cbiJdfQ==
@@ -71,19 +71,19 @@ export class FCanvasComponent extends FCanvasBase {
71
71
  }
72
72
  /**
73
73
  * Centers the specified group or node on the canvas.
74
- * @param id - The ID of the group or node to center.
74
+ * @param groupOrNodeId - The ID of the group or node to center.
75
75
  * @param animated - If true, the centering will be animated; otherwise, it will be instantaneous.
76
76
  */
77
- centerGroupOrNode(id, animated = true) {
78
- setTimeout(() => this._mediator.execute(new CenterGroupOrNodeRequest(id, animated)));
77
+ centerGroupOrNode(groupOrNodeId, animated = true) {
78
+ setTimeout(() => this._mediator.execute(new CenterGroupOrNodeRequest(groupOrNodeId, animated)));
79
79
  }
80
80
  /**
81
81
  * Fits the canvas to the screen by adjusting the scale and position.
82
- * @param toCenter - paddings from the bounds of the canvas
82
+ * @param padding - paddings from the bounds of the canvas
83
83
  * @param animated - If true, the fit will be animated; otherwise, it will be instantaneous.
84
84
  */
85
- fitToScreen(toCenter = PointExtensions.initialize(), animated = true) {
86
- setTimeout(() => this._mediator.execute(new FitToFlowRequest(toCenter, animated)));
85
+ fitToScreen(padding = PointExtensions.initialize(), animated = true) {
86
+ setTimeout(() => this._mediator.execute(new FitToFlowRequest(padding, animated)));
87
87
  }
88
88
  /**
89
89
  * Resets the scale and center all nodes and groups on the canvas.
@@ -152,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
152
152
  { provide: F_CANVAS, useExisting: FCanvasComponent }
153
153
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container>\n <div #fGroupsContainer>\n <ng-content select=\"[fGroup]\"></ng-content>\n </div>\n <div #fConnectionsContainer>\n <ng-content select=\"f-snap-connection\"></ng-content>\n <ng-content select=\"f-connection\"></ng-content>\n <ng-content select=\"f-connection-for-create\"></ng-content>\n </div>\n\n <div #fNodesContainer>\n <ng-content select=\"[fNode]\"></ng-content>\n </div>\n</ng-container>\n", styles: [":host{position:absolute;overflow:visible;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}\n"] }]
154
154
  }], propDecorators: { setZoom: [], resetZoom: [] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxlQUFlLEVBR2YsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFFLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBUyxlQUFlLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFFN0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsUUFBUSxFQUNSLDRCQUE0QixFQUM1QiwwQkFBMEIsRUFDMUIsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3QixhQUFhLEVBQ2Isa0JBQWtCLEdBQ25CLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGNBQWMsQ0FBQzs7QUFHM0Q7Ozs7Ozs7O0dBUUc7QUFjSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUU5QixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJ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Q0FBQyxNQUFNOzhCQTZHeEMsT0FBTyxNQW1CUCxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBJbmplY3RvcixcbiAgaW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIG91dHB1dCxcbiAgdmlld0NoaWxkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtGX0NBTlZBUywgRkNhbnZhc0Jhc2V9IGZyb20gJy4vZi1jYW52YXMtYmFzZSc7XG5pbXBvcnQge0lQb2ludCwgUG9pbnRFeHRlbnNpb25zLCBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnN9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtGQ2FudmFzQ2hhbmdlRXZlbnQsfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQge0ZNZWRpYXRvcn0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBBZGRDYW52YXNUb1N0b3JlUmVxdWVzdCxcbiAgQ2VudGVyR3JvdXBPck5vZGVSZXF1ZXN0LFxuICBEZXByZWNhdGVkLFxuICBGaXRUb0Zsb3dSZXF1ZXN0LFxuICBHZXRGbG93UmVxdWVzdCxcbiAgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QsXG4gIElucHV0Q2FudmFzU2NhbGVSZXF1ZXN0LFxuICBpc01vYmlsZSxcbiAgUmVtb3ZlQ2FudmFzRnJvbVN0b3JlUmVxdWVzdCxcbiAgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QsXG4gIFJlc2V0U2NhbGVSZXF1ZXN0LFxuICBTZXRCYWNrZ3JvdW5kVHJhbnNmb3JtUmVxdWVzdCxcbiAgdHJhbnNpdGlvbkVuZCxcbiAgVXBkYXRlU2NhbGVSZXF1ZXN0LFxufSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHtOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdH0gZnJvbSAnLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7RkZsb3dCYXNlfSBmcm9tICcuLi9mLWZsb3cnO1xuXG4vKipcbiAqIENvbXBvbmVudCByZXByZXNlbnRpbmcgYSBjYW52YXMgaW4gdGhlIEYtRmxvdyBmcmFtZXdvcmsuXG4gKiBJdCBoYW5kbGVzIHRoZSByZW5kZXJpbmcgb2Ygbm9kZXMsIGNvbm5lY3Rpb25zLCBhbmQgZ3JvdXBzLFxuICogYXMgd2VsbCBhcyB1c2VyIGludGVyYWN0aW9ucyBzdWNoIGFzIHpvb21pbmcgYW5kIHBhbm5pbmcuXG4gKiBJdCBleHRlbmRzIHRoZSBGQ2FudmFzQmFzZSBjbGFzcyBhbmQgaW1wbGVtZW50cyBPbkluaXQgYW5kIE9uRGVzdHJveSBsaWZlY3ljbGUgaG9va3MuXG4gKiBJdCBwcm92aWRlcyBtZXRob2RzIHRvIG1hbmlwdWxhdGUgdGhlIGNhbnZhcywgc3VjaCBhcyBjZW50ZXJpbmcgbm9kZXMgb3IgZ3JvdXBzLFxuICogZml0dGluZyB0aGUgY2FudmFzIHRvIHRoZSBzY3JlZW4sIGFuZCByZXNldHRpbmcgdGhlIHNjYWxlLlxuICogSXQgYWxzbyBlbWl0cyBldmVudHMgd2hlbiB0aGUgY2FudmFzIGNoYW5nZXMsIGFsbG93aW5nIG90aGVyIGNvbXBvbmVudHMgdG8gcmVhY3QgdG8gdGhlc2UgY2hhbmdlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1jYW52YXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1jYW52YXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mLWNhbnZhcy5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2YtY29tcG9uZW50IGYtY2FudmFzJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge3Byb3ZpZGU6IEZfQ0FOVkFTLCB1c2VFeGlzdGluZzogRkNhbnZhc0NvbXBvbmVudH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZDYW52YXNDb21wb25lbnQgZXh0ZW5kcyBGQ2FudmFzQmFzZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cbiAgcHJpdmF0ZSBfZmxvd0lkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZDYW52YXNDaGFuZ2UgPSBvdXRwdXQ8RkNhbnZhc0NoYW5nZUV2ZW50PigpO1xuXG4gIHB1YmxpYyByZWFkb25seSBwb3NpdGlvbiA9IGlucHV0PElQb2ludCwgSVBvaW50IHwgbnVsbCB8IHVuZGVmaW5lZD4oUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSwge3RyYW5zZm9ybTogUG9pbnRFeHRlbnNpb25zLmNhc3RUb1BvaW50fSk7XG4gIHB1YmxpYyByZWFkb25seSBzY2FsZSA9IGlucHV0PG51bWJlciwgdW5rbm93bj4oMSwge3RyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlfSk7XG4gIHB1YmxpYyByZWFkb25seSBkZWJvdW5jZVRpbWUgPSBpbnB1dDxudW1iZXIsIHVua25vd24+KDAsIHt0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pO1xuICBwdWJsaWMgb3ZlcnJpZGUgZGVib3VuY2UgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRlYm91bmNlVGltZSgpIDwgMCA/IDAgOiB0aGlzLmRlYm91bmNlVGltZSgpKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZHcm91cHNDb250YWluZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmR3JvdXBzQ29udGFpbmVyJyk7XG4gIHB1YmxpYyBvdmVycmlkZSBmTm9kZXNDb250YWluZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmTm9kZXNDb250YWluZXInKTtcbiAgcHVibGljIG92ZXJyaWRlIGZDb25uZWN0aW9uc0NvbnRhaW5lciA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ2ZDb25uZWN0aW9uc0NvbnRhaW5lcicpO1xuXG4gIHB1YmxpYyBnZXQgZmxvd0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2Zsb3dJZCE7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZmxvd0lkID0gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxGRmxvd0Jhc2U+KG5ldyBHZXRGbG93UmVxdWVzdCgpKS5mSWQoKTtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBBZGRDYW52YXNUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gICAgdGhpcy5fcG9zaXRpb25DaGFuZ2UoKTtcbiAgICB0aGlzLl9zY2FsZUNoYW5nZSgpO1xuICAgIHN1cGVyLnN1YnNjcmliZU9uQ2FudmFzQ2hhbmdlKCk7XG4gIH1cblxuICBwcml2YXRlIF9wb3NpdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNQb3NpdGlvblJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMucG9zaXRpb24oKSkpO1xuICAgIH0sIHtpbmplY3RvcjogdGhpcy5faW5qZWN0b3J9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3NjYWxlQ2hhbmdlKCk6IHZvaWQge1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBJbnB1dENhbnZhc1NjYWxlUmVxdWVzdCh0aGlzLnRyYW5zZm9ybSwgdGhpcy5zY2FsZSgpKSk7XG4gICAgfSwge2luamVjdG9yOiB0aGlzLl9pbmplY3Rvcn0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZHJhd3MgdGhlIGNhbnZhcyBieSBhcHBseWluZyB0aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbi5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSByZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QodGhpcy50cmFuc2Zvcm0pKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2Zvcm06ICR7VHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLnRvU3RyaW5nKHRoaXMudHJhbnNmb3JtKX1gKTtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBOb3RpZnlUcmFuc2Zvcm1DaGFuZ2VkUmVxdWVzdCgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgd2l0aCBhbiBhbmltYXRpb24gZWZmZWN0LlxuICAgKiBUaGlzIG1ldGhvZCBhcHBsaWVzIGEgQ1NTIHRyYW5zaXRpb24gdG8gdGhlIGNhbnZhcyBlbGVtZW50LFxuICAgKiBhbGxvd2luZyBmb3IgYSBzbW9vdGggdmlzdWFsIHVwZGF0ZSBvZiB0aGUgY2FudmFzJ3MgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3V2l0aEFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBTZXRCYWNrZ3JvdW5kVHJhbnNmb3JtUmVxdWVzdCh0aGlzLnRyYW5zZm9ybSkpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuc2V0QXR0cmlidXRlKFwic3R5bGVcIiwgYHRyYW5zaXRpb246IHRyYW5zZm9ybSAke2lzTW9iaWxlKCkgPyA4MCA6IDE1MH1tcyBlYXNlLWluLW91dDsgdHJhbnNmb3JtOiAke1RyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy50b1N0cmluZyh0aGlzLnRyYW5zZm9ybSl9YCk7XG4gICAgdHJhbnNpdGlvbkVuZCh0aGlzLmhvc3RFbGVtZW50LCAoKSA9PiB0aGlzLnJlZHJhdygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDZW50ZXJzIHRoZSBzcGVjaWZpZWQgZ3JvdXAgb3Igbm9kZSBvbiB0aGUgY2FudmFzLlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgSUQgb2YgdGhlIGdyb3VwIG9yIG5vZGUgdG8gY2VudGVyLlxuICAgKiBAcGFyYW0gYW5pbWF0ZWQgLSBJZiB0cnVlLCB0aGUgY2VudGVyaW5nIHdpbGwgYmUgYW5pbWF0ZWQ7IG90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnN0YW50YW5lb3VzLlxuICAgKi9cbiAgcHVibGljIGNlbnRlckdyb3VwT3JOb2RlKGlkOiBzdHJpbmcsIGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgQ2VudGVyR3JvdXBPck5vZGVSZXF1ZXN0KGlkLCBhbmltYXRlZCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXRzIHRoZSBjYW52YXMgdG8gdGhlIHNjcmVlbiBieSBhZGp1c3RpbmcgdGhlIHNjYWxlIGFuZCBwb3NpdGlvbi5cbiAgICogQHBhcmFtIHRvQ2VudGVyIC0gcGFkZGluZ3MgZnJvbSB0aGUgYm91bmRzIG9mIHRoZSBjYW52YXNcbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIGZpdCB3aWxsIGJlIGFuaW1hdGVkOyBvdGhlcndpc2UsIGl0IHdpbGwgYmUgaW5zdGFudGFuZW91cy5cbiAgICovXG4gIHB1YmxpYyBmaXRUb1NjcmVlbih0b0NlbnRlcjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSwgYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBGaXRUb0Zsb3dSZXF1ZXN0KHRvQ2VudGVyLCBhbmltYXRlZCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIHNjYWxlIGFuZCBjZW50ZXIgYWxsIG5vZGVzIGFuZCBncm91cHMgb24gdGhlIGNhbnZhcy5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZXN0b3JlIHRoZSBjYW52YXMgdG8gaXRzIGRlZmF1bHQgc2NhbGUgYW5kIHBvc2l0aW9uLFxuICAgKiBhbGxvd2luZyB1c2VycyB0byBxdWlja2x5IHJldHVybiB0byBhIHN0YW5kYXJkIHZpZXcgb2YgdGhlIGNhbnZhcyBjb250ZW50LlxuICAgKiBAcGFyYW0gYW5pbWF0ZWQgLSBJZiB0cnVlLCB0aGUgcmVzZXQgd2lsbCBiZSBhbmltYXRlZDsgb3RoZXJ3aXNlLCBpdCB3aWxsIGJlIGluc3RhbnRhbmVvdXMuXG4gICAqIFRoaXMgaXMgdXNlZnVsIGZvciBwcm92aWRpbmcgYSBzbW9vdGggdXNlciBleHBlcmllbmNlIHdoZW4gcmVzZXR0aW5nIHRoZSB2aWV3LlxuICAgKi9cbiAgcHVibGljIHJlc2V0U2NhbGVBbmRDZW50ZXIoYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZXNldFNjYWxlQW5kQ2VudGVyUmVxdWVzdChhbmltYXRlZCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgR2V0cyB0aGUgY3VycmVudCBzY2FsZSBvZiB0aGUgY2FudmFzLlxuICAgKi9cbiAgcHVibGljIGdldFNjYWxlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtLnNjYWxlIHx8IDE7XG4gIH1cblxuICAvKipcbiAgICogIEBkZXByZWNhdGVkIE1ldGhvZCBcInNldFpvb21cIiBpcyBkZXByZWNhdGVkLiBVc2UgXCJzZXRTY2FsZVwiIGluc3RlYWQuIFRoaXMgbWV0aG9kIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDE4LjAuMC5gLFxuICAgKi9cbiAgQERlcHJlY2F0ZWQoJ3NldFNjYWxlJylcbiAgcHVibGljIHNldFpvb20oc2NhbGU6IG51bWJlciwgdG9Qb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSk6IHZvaWQge1xuICAgIHRoaXMuc2V0U2NhbGUoc2NhbGUsIHRvUG9zaXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHNjYWxlIG9mIHRoZSBjYW52YXMgdG8gYSBzcGVjaWZpZWQgdmFsdWUuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gem9vbSBpbiBvciBvdXQgb2YgdGhlIGNhbnZhcyxcbiAgICogYWxsb3dpbmcgdXNlcnMgdG8gYWRqdXN0IHRoZSB2aWV3IG9mIHRoZSBjYW52YXMgY29udGVudC5cbiAgICogQHBhcmFtIHNjYWxlIC0gVGhlIHNjYWxlIGZhY3RvciB0byBzZXQgZm9yIHRoZSBjYW52YXMuXG4gICAqIEBwYXJhbSB0b1Bvc2l0aW9uIC0gVGhlIHBvc2l0aW9uIHRvIHdoaWNoIHRoZSBjYW52YXMgc2hvdWxkIGJlIGNlbnRlcmVkIGFmdGVyIHNjYWxpbmcuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgc2V0U2NhbGUoc2NhbGU6IG51bWJlciwgdG9Qb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKSk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFVwZGF0ZVNjYWxlUmVxdWVzdChzY2FsZSwgdG9Qb3NpdGlvbikpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAZGVwcmVjYXRlZCBNZXRob2QgXCJyZXNldFpvb21cIiBpcyBkZXByZWNhdGVkLiBVc2UgXCJyZXNldFNjYWxlXCIgaW5zdGVhZC4gVGhpcyBtZXRob2Qgd2lsbCBiZSByZW1vdmVkIGluIHZlcnNpb24gMTguMC4wLmAsXG4gICAqL1xuICBARGVwcmVjYXRlZCgncmVzZXRTY2FsZScpXG4gIHB1YmxpYyByZXNldFpvb20oKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldFNjYWxlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzY2FsZSBvZiB0aGUgY2FudmFzIHRvIGl0cyBkZWZhdWx0IHZhbHVlLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIHJlc3RvcmUgdGhlIGNhbnZhcyB0byBpdHMgb3JpZ2luYWwgc2NhbGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVzZXRTY2FsZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZXNldFNjYWxlUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBSZW1vdmVDYW52YXNGcm9tU3RvcmVSZXF1ZXN0KCkpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyPlxuICA8ZGl2ICNmR3JvdXBzQ29udGFpbmVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmR3JvdXBdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdiAjZkNvbm5lY3Rpb25zQ29udGFpbmVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtc25hcC1jb25uZWN0aW9uXCI+PC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImYtY29ubmVjdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG5cbiAgPGRpdiAjZk5vZGVzQ29udGFpbmVyPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmTm9kZV1cIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jYW52YXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNhbnZhcy9mLWNhbnZhcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY2FudmFzL2YtY2FudmFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxlQUFlLEVBR2YsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsUUFBUSxFQUFFLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sRUFBUyxlQUFlLEVBQUUsd0JBQXdCLEVBQUMsTUFBTSxZQUFZLENBQUM7QUFFN0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsUUFBUSxFQUNSLDRCQUE0QixFQUM1QiwwQkFBMEIsRUFDMUIsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3QixhQUFhLEVBQ2Isa0JBQWtCLEdBQ25CLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLGNBQWMsQ0FBQzs7QUFHM0Q7Ozs7Ozs7O0dBUUc7QUFjSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUU5QixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJ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LENBQUMsTUFBTTs4QkE2R3hDLE9BQU8sTUFtQlAsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIGNvbXB1dGVkLFxuICBlZmZlY3QsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgSW5qZWN0b3IsXG4gIGlucHV0LFxuICBudW1iZXJBdHRyaWJ1dGUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBvdXRwdXQsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7Rl9DQU5WQVMsIEZDYW52YXNCYXNlfSBmcm9tICcuL2YtY2FudmFzLWJhc2UnO1xuaW1wb3J0IHtJUG9pbnQsIFBvaW50RXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7RkNhbnZhc0NoYW5nZUV2ZW50LH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHtGTWVkaWF0b3J9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtcbiAgQWRkQ2FudmFzVG9TdG9yZVJlcXVlc3QsXG4gIENlbnRlckdyb3VwT3JOb2RlUmVxdWVzdCxcbiAgRGVwcmVjYXRlZCxcbiAgRml0VG9GbG93UmVxdWVzdCxcbiAgR2V0Rmxvd1JlcXVlc3QsXG4gIElucHV0Q2FudmFzUG9zaXRpb25SZXF1ZXN0LFxuICBJbnB1dENhbnZhc1NjYWxlUmVxdWVzdCxcbiAgaXNNb2JpbGUsXG4gIFJlbW92ZUNhbnZhc0Zyb21TdG9yZVJlcXVlc3QsXG4gIFJlc2V0U2NhbGVBbmRDZW50ZXJSZXF1ZXN0LFxuICBSZXNldFNjYWxlUmVxdWVzdCxcbiAgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QsXG4gIHRyYW5zaXRpb25FbmQsXG4gIFVwZGF0ZVNjYWxlUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7Tm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3R9IGZyb20gJy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQge0ZGbG93QmFzZX0gZnJvbSAnLi4vZi1mbG93JztcblxuLyoqXG4gKiBDb21wb25lbnQgcmVwcmVzZW50aW5nIGEgY2FudmFzIGluIHRoZSBGLUZsb3cgZnJhbWV3b3JrLlxuICogSXQgaGFuZGxlcyB0aGUgcmVuZGVyaW5nIG9mIG5vZGVzLCBjb25uZWN0aW9ucywgYW5kIGdyb3VwcyxcbiAqIGFzIHdlbGwgYXMgdXNlciBpbnRlcmFjdGlvbnMgc3VjaCBhcyB6b29taW5nIGFuZCBwYW5uaW5nLlxuICogSXQgZXh0ZW5kcyB0aGUgRkNhbnZhc0Jhc2UgY2xhc3MgYW5kIGltcGxlbWVudHMgT25Jbml0IGFuZCBPbkRlc3Ryb3kgbGlmZWN5Y2xlIGhvb2tzLlxuICogSXQgcHJvdmlkZXMgbWV0aG9kcyB0byBtYW5pcHVsYXRlIHRoZSBjYW52YXMsIHN1Y2ggYXMgY2VudGVyaW5nIG5vZGVzIG9yIGdyb3VwcyxcbiAqIGZpdHRpbmcgdGhlIGNhbnZhcyB0byB0aGUgc2NyZWVuLCBhbmQgcmVzZXR0aW5nIHRoZSBzY2FsZS5cbiAqIEl0IGFsc28gZW1pdHMgZXZlbnRzIHdoZW4gdGhlIGNhbnZhcyBjaGFuZ2VzLCBhbGxvd2luZyBvdGhlciBjb21wb25lbnRzIHRvIHJlYWN0IHRvIHRoZXNlIGNoYW5nZXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtY2FudmFzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtY2FudmFzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZi1jYW52YXMuY29tcG9uZW50LnNjc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWNvbXBvbmVudCBmLWNhbnZhcycsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtwcm92aWRlOiBGX0NBTlZBUywgdXNlRXhpc3Rpbmc6IEZDYW52YXNDb21wb25lbnR9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGQ2FudmFzQ29tcG9uZW50IGV4dGVuZHMgRkNhbnZhc0Jhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByaXZhdGUgX2Zsb3dJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmQ2FudmFzQ2hhbmdlID0gb3V0cHV0PEZDYW52YXNDaGFuZ2VFdmVudD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgcG9zaXRpb24gPSBpbnB1dDxJUG9pbnQsIElQb2ludCB8IG51bGwgfCB1bmRlZmluZWQ+KFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCksIHt0cmFuc2Zvcm06IFBvaW50RXh0ZW5zaW9ucy5jYXN0VG9Qb2ludH0pO1xuICBwdWJsaWMgcmVhZG9ubHkgc2NhbGUgPSBpbnB1dDxudW1iZXIsIHVua25vd24+KDEsIHt0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVib3VuY2VUaW1lID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigwLCB7dHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGV9KTtcbiAgcHVibGljIG92ZXJyaWRlIGRlYm91bmNlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5kZWJvdW5jZVRpbWUoKSA8IDAgPyAwIDogdGhpcy5kZWJvdW5jZVRpbWUoKSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JvdXBzQ29udGFpbmVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZkdyb3Vwc0NvbnRhaW5lcicpO1xuICBwdWJsaWMgb3ZlcnJpZGUgZk5vZGVzQ29udGFpbmVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZk5vZGVzQ29udGFpbmVyJyk7XG4gIHB1YmxpYyBvdmVycmlkZSBmQ29ubmVjdGlvbnNDb250YWluZXIgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdmQ29ubmVjdGlvbnNDb250YWluZXInKTtcblxuICBwdWJsaWMgZ2V0IGZsb3dJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9mbG93SWQhO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2Zsb3dJZCA9IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8RkZsb3dCYXNlPihuZXcgR2V0Rmxvd1JlcXVlc3QoKSkuZklkKCk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgQWRkQ2FudmFzVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICAgIHRoaXMuX3Bvc2l0aW9uQ2hhbmdlKCk7XG4gICAgdGhpcy5fc2NhbGVDaGFuZ2UoKTtcbiAgICBzdXBlci5zdWJzY3JpYmVPbkNhbnZhc0NoYW5nZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcG9zaXRpb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IElucHV0Q2FudmFzUG9zaXRpb25SZXF1ZXN0KHRoaXMudHJhbnNmb3JtLCB0aGlzLnBvc2l0aW9uKCkpKTtcbiAgICB9LCB7aW5qZWN0b3I6IHRoaXMuX2luamVjdG9yfSk7XG4gIH1cblxuICBwcml2YXRlIF9zY2FsZUNoYW5nZSgpOiB2b2lkIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgSW5wdXRDYW52YXNTY2FsZVJlcXVlc3QodGhpcy50cmFuc2Zvcm0sIHRoaXMuc2NhbGUoKSkpO1xuICAgIH0sIHtpbmplY3RvcjogdGhpcy5faW5qZWN0b3J9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWRyYXdzIHRoZSBjYW52YXMgYnkgYXBwbHlpbmcgdGhlIGN1cnJlbnQgdHJhbnNmb3JtYXRpb24uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFNldEJhY2tncm91bmRUcmFuc2Zvcm1SZXF1ZXN0KHRoaXMudHJhbnNmb3JtKSk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBgdHJhbnNmb3JtOiAke1RyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy50b1N0cmluZyh0aGlzLnRyYW5zZm9ybSl9YCk7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5VHJhbnNmb3JtQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVkcmF3cyB0aGUgY2FudmFzIHdpdGggYW4gYW5pbWF0aW9uIGVmZmVjdC5cbiAgICogVGhpcyBtZXRob2QgYXBwbGllcyBhIENTUyB0cmFuc2l0aW9uIHRvIHRoZSBjYW52YXMgZWxlbWVudCxcbiAgICogYWxsb3dpbmcgZm9yIGEgc21vb3RoIHZpc3VhbCB1cGRhdGUgb2YgdGhlIGNhbnZhcydzIHRyYW5zZm9ybWF0aW9uLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlZHJhd1dpdGhBbmltYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgU2V0QmFja2dyb3VuZFRyYW5zZm9ybVJlcXVlc3QodGhpcy50cmFuc2Zvcm0pKTtcbiAgICB0aGlzLmhvc3RFbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIGB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHtpc01vYmlsZSgpID8gODAgOiAxNTB9bXMgZWFzZS1pbi1vdXQ7IHRyYW5zZm9ybTogJHtUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMudG9TdHJpbmcodGhpcy50cmFuc2Zvcm0pfWApO1xuICAgIHRyYW5zaXRpb25FbmQodGhpcy5ob3N0RWxlbWVudCwgKCkgPT4gdGhpcy5yZWRyYXcoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2VudGVycyB0aGUgc3BlY2lmaWVkIGdyb3VwIG9yIG5vZGUgb24gdGhlIGNhbnZhcy5cbiAgICogQHBhcmFtIGdyb3VwT3JOb2RlSWQgLSBUaGUgSUQgb2YgdGhlIGdyb3VwIG9yIG5vZGUgdG8gY2VudGVyLlxuICAgKiBAcGFyYW0gYW5pbWF0ZWQgLSBJZiB0cnVlLCB0aGUgY2VudGVyaW5nIHdpbGwgYmUgYW5pbWF0ZWQ7IG90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnN0YW50YW5lb3VzLlxuICAgKi9cbiAgcHVibGljIGNlbnRlckdyb3VwT3JOb2RlKGdyb3VwT3JOb2RlSWQ6IHN0cmluZywgYW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBDZW50ZXJHcm91cE9yTm9kZVJlcXVlc3QoZ3JvdXBPck5vZGVJZCwgYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogRml0cyB0aGUgY2FudmFzIHRvIHRoZSBzY3JlZW4gYnkgYWRqdXN0aW5nIHRoZSBzY2FsZSBhbmQgcG9zaXRpb24uXG4gICAqIEBwYXJhbSBwYWRkaW5nIC0gcGFkZGluZ3MgZnJvbSB0aGUgYm91bmRzIG9mIHRoZSBjYW52YXNcbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIGZpdCB3aWxsIGJlIGFuaW1hdGVkOyBvdGhlcndpc2UsIGl0IHdpbGwgYmUgaW5zdGFudGFuZW91cy5cbiAgICovXG4gIHB1YmxpYyBmaXRUb1NjcmVlbihwYWRkaW5nOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpLCBhbmltYXRlZDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEZpdFRvRmxvd1JlcXVlc3QocGFkZGluZywgYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBzY2FsZSBhbmQgY2VudGVyIGFsbCBub2RlcyBhbmQgZ3JvdXBzIG9uIHRoZSBjYW52YXMuXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gcmVzdG9yZSB0aGUgY2FudmFzIHRvIGl0cyBkZWZhdWx0IHNjYWxlIGFuZCBwb3NpdGlvbixcbiAgICogYWxsb3dpbmcgdXNlcnMgdG8gcXVpY2tseSByZXR1cm4gdG8gYSBzdGFuZGFyZCB2aWV3IG9mIHRoZSBjYW52YXMgY29udGVudC5cbiAgICogQHBhcmFtIGFuaW1hdGVkIC0gSWYgdHJ1ZSwgdGhlIHJlc2V0IHdpbGwgYmUgYW5pbWF0ZWQ7IG90aGVyd2lzZSwgaXQgd2lsbCBiZSBpbnN0YW50YW5lb3VzLlxuICAgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgcHJvdmlkaW5nIGEgc21vb3RoIHVzZXIgZXhwZXJpZW5jZSB3aGVuIHJlc2V0dGluZyB0aGUgdmlldy5cbiAgICovXG4gIHB1YmxpYyByZXNldFNjYWxlQW5kQ2VudGVyKGFuaW1hdGVkOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZUFuZENlbnRlclJlcXVlc3QoYW5pbWF0ZWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogIEdldHMgdGhlIGN1cnJlbnQgc2NhbGUgb2YgdGhlIGNhbnZhcy5cbiAgICovXG4gIHB1YmxpYyBnZXRTY2FsZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybS5zY2FsZSB8fCAxO1xuICB9XG5cbiAgLyoqXG4gICAqICBAZGVwcmVjYXRlZCBNZXRob2QgXCJzZXRab29tXCIgaXMgZGVwcmVjYXRlZC4gVXNlIFwic2V0U2NhbGVcIiBpbnN0ZWFkLiBUaGlzIG1ldGhvZCB3aWxsIGJlIHJlbW92ZWQgaW4gdmVyc2lvbiAxOC4wLjAuYCxcbiAgICovXG4gIEBEZXByZWNhdGVkKCdzZXRTY2FsZScpXG4gIHB1YmxpYyBzZXRab29tKHNjYWxlOiBudW1iZXIsIHRvUG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCkpOiB2b2lkIHtcbiAgICB0aGlzLnNldFNjYWxlKHNjYWxlLCB0b1Bvc2l0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBzY2FsZSBvZiB0aGUgY2FudmFzIHRvIGEgc3BlY2lmaWVkIHZhbHVlLlxuICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIHpvb20gaW4gb3Igb3V0IG9mIHRoZSBjYW52YXMsXG4gICAqIGFsbG93aW5nIHVzZXJzIHRvIGFkanVzdCB0aGUgdmlldyBvZiB0aGUgY2FudmFzIGNvbnRlbnQuXG4gICAqIEBwYXJhbSBzY2FsZSAtIFRoZSBzY2FsZSBmYWN0b3IgdG8gc2V0IGZvciB0aGUgY2FudmFzLlxuICAgKiBAcGFyYW0gdG9Qb3NpdGlvbiAtIFRoZSBwb3NpdGlvbiB0byB3aGljaCB0aGUgY2FudmFzIHNob3VsZCBiZSBjZW50ZXJlZCBhZnRlciBzY2FsaW5nLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldFNjYWxlKHNjYWxlOiBudW1iZXIsIHRvUG9zaXRpb246IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCkpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXRvci5leGVjdXRlKG5ldyBVcGRhdGVTY2FsZVJlcXVlc3Qoc2NhbGUsIHRvUG9zaXRpb24pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiAgQGRlcHJlY2F0ZWQgTWV0aG9kIFwicmVzZXRab29tXCIgaXMgZGVwcmVjYXRlZC4gVXNlIFwicmVzZXRTY2FsZVwiIGluc3RlYWQuIFRoaXMgbWV0aG9kIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDE4LjAuMC5gLFxuICAgKi9cbiAgQERlcHJlY2F0ZWQoJ3Jlc2V0U2NhbGUnKVxuICBwdWJsaWMgcmVzZXRab29tKCk6IHZvaWQge1xuICAgIHRoaXMucmVzZXRTY2FsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgc2NhbGUgb2YgdGhlIGNhbnZhcyB0byBpdHMgZGVmYXVsdCB2YWx1ZS5cbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byByZXN0b3JlIHRoZSBjYW52YXMgdG8gaXRzIG9yaWdpbmFsIHNjYWxlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlc2V0U2NhbGUoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVzZXRTY2FsZVJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgUmVtb3ZlQ2FudmFzRnJvbVN0b3JlUmVxdWVzdCgpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lcj5cbiAgPGRpdiAjZkdyb3Vwc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkdyb3VwXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXYgI2ZDb25uZWN0aW9uc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLXNuYXAtY29ubmVjdGlvblwiPjwvbmctY29udGVudD5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmLWNvbm5lY3Rpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZi1jb25uZWN0aW9uLWZvci1jcmVhdGVcIj48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuXG4gIDxkaXYgI2ZOb2Rlc0NvbnRhaW5lcj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZk5vZGVdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,6 +1,12 @@
1
- import { Directive, signal } from '@angular/core';
1
+ import { contentChildren, Directive, input, signal, viewChild } from '@angular/core';
2
2
  import { LineExtensions, PointExtensions } from '@foblex/2d';
3
+ import { CONNECTION_PATH } from './f-path';
4
+ import { CONNECTION_GRADIENT } from './f-gradient';
5
+ import { FConnectionDragHandleEndComponent, FConnectionDragHandleStartComponent } from './f-drag-handle';
6
+ import { FConnectionSelectionComponent } from './f-selection';
7
+ import { CONNECTION_TEXT } from './f-connection-text';
3
8
  import { mixinChangeSelection, mixinChangeVisibility } from '../../mixins';
9
+ import { FConnectionCenterDirective } from "../f-connection-center";
4
10
  import * as i0 from "@angular/core";
5
11
  import * as i1 from "../f-connection-builder";
6
12
  const MIXIN_BASE = mixinChangeSelection(mixinChangeVisibility(class {
@@ -11,9 +17,22 @@ const MIXIN_BASE = mixinChangeSelection(mixinChangeVisibility(class {
11
17
  }));
12
18
  export class FConnectionBase extends MIXIN_BASE {
13
19
  cFactory;
20
+ fStartColor = input('black');
21
+ fEndColor = input('black');
14
22
  path = '';
15
23
  line = LineExtensions.initialize();
16
24
  fReassignableStart = signal(false);
25
+ fDraggingDisabled = signal(false);
26
+ fSelectionDisabled = signal(false);
27
+ fDefs = viewChild.required('defs');
28
+ fPath = viewChild.required(CONNECTION_PATH);
29
+ fGradient = viewChild.required(CONNECTION_GRADIENT);
30
+ fDragHandleStart = viewChild(FConnectionDragHandleStartComponent);
31
+ fDragHandleEnd = viewChild.required(FConnectionDragHandleEndComponent);
32
+ fSelection = viewChild.required(FConnectionSelectionComponent);
33
+ fTextComponent = viewChild.required(CONNECTION_TEXT);
34
+ fConnectionCenter = viewChild('fConnectionCenter');
35
+ fConnectionCenters = contentChildren(FConnectionCenterDirective, { descendants: true });
17
36
  penultimatePoint = PointExtensions.initialize();
18
37
  secondPoint = PointExtensions.initialize();
19
38
  constructor(elementReference, cFactory) {
@@ -62,9 +81,9 @@ export class FConnectionBase extends MIXIN_BASE {
62
81
  this.fTextComponent().redraw(this.line);
63
82
  }
64
83
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }], target: i0.ɵɵFactoryTarget.Directive });
65
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: FConnectionBase, usesInheritance: true, ngImport: i0 });
84
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: FConnectionBase, inputs: { fStartColor: { classPropertyName: "fStartColor", publicName: "fStartColor", isSignal: true, isRequired: false, transformFunction: null }, fEndColor: { classPropertyName: "fEndColor", publicName: "fEndColor", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, isSignal: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, isSignal: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, isSignal: true }, { propertyName: "fDragHandleStart", first: true, predicate: FConnectionDragHandleStartComponent, descendants: true, isSignal: true }, { propertyName: "fDragHandleEnd", first: true, predicate: FConnectionDragHandleEndComponent, descendants: true, isSignal: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, isSignal: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, isSignal: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
66
85
  }
67
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionBase, decorators: [{
68
87
  type: Directive
69
88
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBMkIsTUFBTSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBaUIsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLFlBQVksQ0FBQztBQWM1RSxPQUFPLEVBRUwsb0JBQW9CLEVBQUUscUJBQXFCLEVBQzVDLE1BQU0sY0FBYyxDQUFDOzs7QUFFdEIsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQ3JDLHFCQUFxQixDQUNuQjtJQUVXO0lBRFQsWUFDUyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUVqQyxDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUM7QUFHUixNQUFNLE9BQWdCLGVBQWdCLFNBQVEsVUFBVTtJQTRENUM7SUF4Q0gsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUVsQixJQUFJLEdBQVUsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBWTFDLGtCQUFrQixHQUFvQixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFxQm5ELGdCQUFnQixHQUFXLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN4RCxXQUFXLEdBQVcsZUFBZSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRTNELFlBQ0UsZ0JBQXlDLEVBQ2pDLFFBQTRCO1FBRXBDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUY5QixhQUFRLEdBQVIsUUFBUSxDQUFvQjtJQUd0QyxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxVQUFVLENBQUMsT0FBaUM7UUFDakQsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLFNBQXlCLENBQUEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVNLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQVMsRUFBRSxVQUE2QixFQUFFLFVBQTZCO1FBQ3BHLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsSUFBSSxNQUFNLENBQUM7UUFDOUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQztRQUNwRCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxhQUFhLEVBQUUsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVPLGFBQWEsQ0FBQyxNQUFjLEVBQUUsVUFBNkIsRUFBRSxNQUFjLEVBQUUsVUFBNkI7UUFDaEgsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQ3pCO1lBQ0UsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO1NBQ3BFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxZQUFZLENBQUMsUUFBZ0I7UUFDbkMsT0FBTyxtRkFBb0YsUUFBUSxDQUFDLENBQUUsWUFBYSxRQUFRLENBQUMsQ0FBRSxJQUFJLENBQUM7SUFDckksQ0FBQztJQUVlLHNCQUFzQjtRQUNwQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVlLHdCQUF3QjtRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQzt3R0FsSG1CLGVBQWU7NEZBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEcEMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dFNpZ25hbCwgc2lnbmFsLCBTaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUxpbmUsIElQb2ludCwgTGluZUV4dGVuc2lvbnMsIFBvaW50RXh0ZW5zaW9ucyB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRUZDb25uZWN0aW9uQmVoYXZpb3IgfSBmcm9tICcuL2UtZi1jb25uZWN0aW9uLWJlaGF2aW9yJztcbmltcG9ydCB7IEVGQ29ubmVjdGlvblR5cGUgfSBmcm9tICcuL2UtZi1jb25uZWN0aW9uLXR5cGUnO1xuaW1wb3J0IHsgSUhhc0Nvbm5lY3Rpb25Db2xvciB9IGZyb20gJy4vaS1oYXMtY29ubmVjdGlvbi1jb2xvcic7XG5pbXBvcnQgeyBJSGFzQ29ubmVjdGlvbkZyb21UbyB9IGZyb20gJy4vaS1oYXMtY29ubmVjdGlvbi1mcm9tLXRvJztcbmltcG9ydCB7IElIYXNDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4vaS1oYXMtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7IElDb25uZWN0aW9uUGF0aCB9IGZyb20gJy4vZi1wYXRoJztcbmltcG9ydCB7IElDb25uZWN0aW9uR3JhZGllbnQgfSBmcm9tICcuL2YtZ3JhZGllbnQnO1xuaW1wb3J0IHtGQ29ubmVjdGlvbkRyYWdIYW5kbGVFbmRDb21wb25lbnQsIEZDb25uZWN0aW9uRHJhZ0hhbmRsZVN0YXJ0Q29tcG9uZW50fSBmcm9tICcuL2YtZHJhZy1oYW5kbGUnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2Ytc2VsZWN0aW9uJztcbmltcG9ydCB7IElDb25uZWN0aW9uVGV4dCB9IGZyb20gJy4vZi1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHsgRUZDb25uZWN0YWJsZVNpZGUgfSBmcm9tICcuLi8uLi9mLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgRkNvbm5lY3Rpb25GYWN0b3J5IH0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWJ1aWxkZXInO1xuaW1wb3J0IHsgSUhhc0hvc3RFbGVtZW50IH0gZnJvbSAnLi4vLi4vaS1oYXMtaG9zdC1lbGVtZW50JztcbmltcG9ydCB7XG4gIElTZWxlY3RhYmxlLCBJQ2FuQ2hhbmdlVmlzaWJpbGl0eSxcbiAgbWl4aW5DaGFuZ2VTZWxlY3Rpb24sIG1peGluQ2hhbmdlVmlzaWJpbGl0eVxufSBmcm9tICcuLi8uLi9taXhpbnMnO1xuXG5jb25zdCBNSVhJTl9CQVNFID0gbWl4aW5DaGFuZ2VTZWxlY3Rpb24oXG4gIG1peGluQ2hhbmdlVmlzaWJpbGl0eShcbiAgICBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudFxuICAgICAgKSB7XG4gICAgICB9XG4gICAgfSkpO1xuXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGQ29ubmVjdGlvbkJhc2UgZXh0ZW5kcyBNSVhJTl9CQVNFXG4gIGltcGxlbWVudHMgSUhhc0hvc3RFbGVtZW50LCBJU2VsZWN0YWJsZSxcbiAgICAgICAgICAgICBJQ2FuQ2hhbmdlVmlzaWJpbGl0eSxcbiAgICAgICAgICAgICBJSGFzQ29ubmVjdGlvbkNvbG9yLFxuICAgICAgICAgICAgIElIYXNDb25uZWN0aW9uRnJvbVRvLCBJSGFzQ29ubmVjdGlvblRleHQge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBvdmVycmlkZSBmSWQ6IFNpZ25hbDxzdHJpbmc+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU3RhcnRDb2xvcjogSW5wdXRTaWduYWw8c3RyaW5nPjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkVuZENvbG9yOiBJbnB1dFNpZ25hbDxzdHJpbmc+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmT3V0cHV0SWQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZklucHV0SWQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZlJhZGl1czogbnVtYmVyO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmT2Zmc2V0OiBudW1iZXI7XG5cbiAgcHVibGljIHBhdGg6IHN0cmluZyA9ICcnO1xuXG4gIHB1YmxpYyBsaW5lOiBJTGluZSA9IExpbmVFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZkRyYWdnaW5nRGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHVibGljIGFic3RyYWN0IG92ZXJyaWRlIGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgYm91bmRpbmdFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZCZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3I7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nO1xuXG4gIHB1YmxpYyBmUmVhc3NpZ25hYmxlU3RhcnQ6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIGFic3RyYWN0IGZEZWZzOiBTaWduYWw8RWxlbWVudFJlZjxTVkdEZWZzRWxlbWVudD4+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmUGF0aDogU2lnbmFsPElDb25uZWN0aW9uUGF0aD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZHcmFkaWVudDogU2lnbmFsPElDb25uZWN0aW9uR3JhZGllbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmRHJhZ0hhbmRsZVN0YXJ0OiBTaWduYWw8RkNvbm5lY3Rpb25EcmFnSGFuZGxlU3RhcnRDb21wb25lbnQgfCB1bmRlZmluZWQ+O1xuICBwdWJsaWMgYWJzdHJhY3QgZkRyYWdIYW5kbGVFbmQ6IFNpZ25hbDxGQ29ubmVjdGlvbkRyYWdIYW5kbGVFbmRDb21wb25lbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmU2VsZWN0aW9uOiBTaWduYWw8RkNvbm5lY3Rpb25TZWxlY3Rpb25Db21wb25lbnQ+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVGV4dENvbXBvbmVudDogU2lnbmFsPElDb25uZWN0aW9uVGV4dD47XG5cbiAgcHVibGljIGFic3RyYWN0IGZUZXh0OiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUZXh0U3RhcnRPZmZzZXQ6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgZkNvbm5lY3Rpb25DZW50ZXI6IFNpZ25hbDxFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PiB8IHVuZGVmaW5lZD47XG5cbiAgcHJpdmF0ZSBwZW51bHRpbWF0ZVBvaW50OiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuICBwcml2YXRlIHNlY29uZFBvaW50OiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmZXJlbmNlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGNGYWN0b3J5OiBGQ29ubmVjdGlvbkZhY3RvcnlcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZmVyZW5jZS5uYXRpdmVFbGVtZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGgoKS5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5mR3JhZGllbnQoKS5pbml0aWFsaXplKCk7XG4gICAgdGhpcy5yZWRyYXcoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0NvbnRhaW5zKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5ob3N0RWxlbWVudC5maXJzdENoaWxkPy5sYXN0Q2hpbGQgYXMgSFRNTEVsZW1lbnQpLmNvbnRhaW5zKGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHNldExpbmUoeyBwb2ludDEsIHBvaW50MiB9OiBJTGluZSwgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHRhcmdldFNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogdm9pZCB7XG4gICAgdGhpcy5saW5lID0gTGluZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZShwb2ludDEsIHBvaW50Mik7XG4gICAgY29uc3QgcGF0aFJlc3VsdCA9IHRoaXMuZ2V0UGF0aFJlc3VsdChwb2ludDEsIHNvdXJjZVNpZGUsIHBvaW50MiwgdGFyZ2V0U2lkZSk7XG4gICAgdGhpcy5wYXRoID0gcGF0aFJlc3VsdC5wYXRoO1xuICAgIHRoaXMucGVudWx0aW1hdGVQb2ludCA9IHBhdGhSZXN1bHQucGVudWx0aW1hdGVQb2ludCB8fCBwb2ludDE7XG4gICAgdGhpcy5zZWNvbmRQb2ludCA9IHBhdGhSZXN1bHQuc2Vjb25kUG9pbnQgfHwgcG9pbnQyO1xuICAgIHRoaXMuZkNvbm5lY3Rpb25DZW50ZXIoKT8ubmF0aXZlRWxlbWVudD8uc2V0QXR0cmlidXRlKCdzdHlsZScsIHRoaXMuZ2V0VHJhbnNmb3JtKHBhdGhSZXN1bHQuY29ubmVjdGlvbkNlbnRlcikpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXRoUmVzdWx0KHNvdXJjZTogSVBvaW50LCBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgdGFyZ2V0OiBJUG9pbnQsIHRhcmdldFNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogYW55IHtcbiAgICBjb25zdCByYWRpdXMgPSB0aGlzLmZSYWRpdXMgPiAwID8gdGhpcy5mUmFkaXVzIDogMDtcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmZPZmZzZXQgPiAwID8gdGhpcy5mT2Zmc2V0IDogMTtcbiAgICByZXR1cm4gdGhpcy5jRmFjdG9yeS5oYW5kbGUoXG4gICAgICB7XG4gICAgICAgIHR5cGU6IHRoaXMuZlR5cGUsXG4gICAgICAgIHBheWxvYWQ6IHsgc291cmNlLCBzb3VyY2VTaWRlLCB0YXJnZXQsIHRhcmdldFNpZGUsIHJhZGl1cywgb2Zmc2V0IH1cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUcmFuc2Zvcm0ocG9zaXRpb246IElQb2ludCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBwb3NpdGlvbjogYWJzb2x1dGU7IHBvaW50ZXJFdmVudHM6IGFsbDsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IGxlZnQ6ICR7IHBvc2l0aW9uLnggfXB4OyB0b3A6ICR7IHBvc2l0aW9uLnkgfXB4YDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBtYXJrQ2hpbGRyZW5Bc1NlbGVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGgoKS5zZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB1bm1hcmtDaGlsZHJlbkFzU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aCgpLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGgoKS5zZXRQYXRoKHRoaXMucGF0aCk7XG4gICAgdGhpcy5mU2VsZWN0aW9uKCkuc2V0UGF0aCh0aGlzLnBhdGgpO1xuICAgIHRoaXMuZkdyYWRpZW50KCkucmVkcmF3KHRoaXMubGluZSk7XG4gICAgdGhpcy5mRHJhZ0hhbmRsZUVuZCgpLnJlZHJhdyh0aGlzLnBlbnVsdGltYXRlUG9pbnQsIHRoaXMubGluZS5wb2ludDIpO1xuICAgIHRoaXMuZkRyYWdIYW5kbGVTdGFydCgpPy5yZWRyYXcodGhpcy5zZWNvbmRQb2ludCwgdGhpcy5saW5lLnBvaW50MSk7XG4gICAgdGhpcy5mVGV4dENvbXBvbmVudCgpLnJlZHJhdyh0aGlzLmxpbmUpO1xuICB9XG59XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtY29ubmVjdGlvbi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGVBQWUsRUFDZixTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFnQixjQUFjLEVBQUUsZUFBZSxFQUFDLE1BQU0sWUFBWSxDQUFDO0FBTTFFLE9BQU8sRUFBQyxlQUFlLEVBQWtCLE1BQU0sVUFBVSxDQUFDO0FBQzFELE9BQU8sRUFBQyxtQkFBbUIsRUFBc0IsTUFBTSxjQUFjLENBQUM7QUFDdEUsT0FBTyxFQUFDLGlDQUFpQyxFQUFFLG1DQUFtQyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkcsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBQyxlQUFlLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7QUFJckUsT0FBTyxFQUVMLG9CQUFvQixFQUFFLHFCQUFxQixFQUM1QyxNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRWxFLE1BQU0sVUFBVSxHQUFHLG9CQUFvQixDQUNyQyxxQkFBcUIsQ0FDbkI7SUFFVztJQURULFlBQ1MsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFFakMsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFDO0FBR1IsTUFBTSxPQUFnQixlQUFnQixTQUFRLFVBQVU7SUErRDVDO0lBdkRNLFdBQVcsR0FBRyxLQUFLLENBQVMsT0FBTyxDQUFDLENBQUM7SUFFckMsU0FBUyxHQUFHLEtBQUssQ0FBUyxPQUFPLENBQUMsQ0FBQztJQVU1QyxJQUFJLEdBQVcs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Q3BFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7d0dBckhtQixlQUFlOzRGQUFmLGVBQWUsdVZBd0RrQiwwQkFBMEIsdU1BbEJuQixlQUFlLDRGQUVQLG1CQUFtQixtR0FFMUMsbUNBQW1DLGlHQUU1QixpQ0FBaUMsNkZBRXJDLDZCQUE2QixpR0FFUixlQUFlOzs0RkFoRGhFLGVBQWU7a0JBRHBDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBjb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbiAgU2lnbmFsLFxuICB2aWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lMaW5lLCBJUG9pbnQsIExpbmVFeHRlbnNpb25zLCBQb2ludEV4dGVuc2lvbnN9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHtFRkNvbm5lY3Rpb25CZWhhdmlvcn0gZnJvbSAnLi9lLWYtY29ubmVjdGlvbi1iZWhhdmlvcic7XG5pbXBvcnQge0VGQ29ubmVjdGlvblR5cGV9IGZyb20gJy4vZS1mLWNvbm5lY3Rpb24tdHlwZSc7XG5pbXBvcnQge0lIYXNDb25uZWN0aW9uQ29sb3J9IGZyb20gJy4vaS1oYXMtY29ubmVjdGlvbi1jb2xvcic7XG5pbXBvcnQge0lIYXNDb25uZWN0aW9uRnJvbVRvfSBmcm9tICcuL2ktaGFzLWNvbm5lY3Rpb24tZnJvbS10byc7XG5pbXBvcnQge0lIYXNDb25uZWN0aW9uVGV4dH0gZnJvbSAnLi9pLWhhcy1jb25uZWN0aW9uLXRleHQnO1xuaW1wb3J0IHtDT05ORUNUSU9OX1BBVEgsIElDb25uZWN0aW9uUGF0aH0gZnJvbSAnLi9mLXBhdGgnO1xuaW1wb3J0IHtDT05ORUNUSU9OX0dSQURJRU5ULCBJQ29ubmVjdGlvbkdyYWRpZW50fSBmcm9tICcuL2YtZ3JhZGllbnQnO1xuaW1wb3J0IHtGQ29ubmVjdGlvbkRyYWdIYW5kbGVFbmRDb21wb25lbnQsIEZDb25uZWN0aW9uRHJhZ0hhbmRsZVN0YXJ0Q29tcG9uZW50fSBmcm9tICcuL2YtZHJhZy1oYW5kbGUnO1xuaW1wb3J0IHtGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9mLXNlbGVjdGlvbic7XG5pbXBvcnQge0NPTk5FQ1RJT05fVEVYVCwgSUNvbm5lY3Rpb25UZXh0fSBmcm9tICcuL2YtY29ubmVjdGlvbi10ZXh0JztcbmltcG9ydCB7RUZDb25uZWN0YWJsZVNpZGV9IGZyb20gJy4uLy4uL2YtY29ubmVjdG9ycyc7XG5pbXBvcnQge0ZDb25uZWN0aW9uRmFjdG9yeX0gZnJvbSAnLi4vZi1jb25uZWN0aW9uLWJ1aWxkZXInO1xuaW1wb3J0IHtJSGFzSG9zdEVsZW1lbnR9IGZyb20gJy4uLy4uL2ktaGFzLWhvc3QtZWxlbWVudCc7XG5pbXBvcnQge1xuICBJU2VsZWN0YWJsZSwgSUNhbkNoYW5nZVZpc2liaWxpdHksXG4gIG1peGluQ2hhbmdlU2VsZWN0aW9uLCBtaXhpbkNoYW5nZVZpc2liaWxpdHlcbn0gZnJvbSAnLi4vLi4vbWl4aW5zJztcbmltcG9ydCB7RkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmV9IGZyb20gXCIuLi9mLWNvbm5lY3Rpb24tY2VudGVyXCI7XG5cbmNvbnN0IE1JWElOX0JBU0UgPSBtaXhpbkNoYW5nZVNlbGVjdGlvbihcbiAgbWl4aW5DaGFuZ2VWaXNpYmlsaXR5KFxuICAgIGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50XG4gICAgICApIHtcbiAgICAgIH1cbiAgICB9KSk7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZDb25uZWN0aW9uQmFzZSBleHRlbmRzIE1JWElOX0JBU0VcbiAgaW1wbGVtZW50cyBJSGFzSG9zdEVsZW1lbnQsIElTZWxlY3RhYmxlLFxuICAgIElDYW5DaGFuZ2VWaXNpYmlsaXR5LFxuICAgIElIYXNDb25uZWN0aW9uQ29sb3IsXG4gICAgSUhhc0Nvbm5lY3Rpb25Gcm9tVG8sIElIYXNDb25uZWN0aW9uVGV4dCB7XG5cbiAgcHVibGljIGFic3RyYWN0IG92ZXJyaWRlIGZJZDogU2lnbmFsPHN0cmluZz47XG5cbiAgcHVibGljIHJlYWRvbmx5IGZTdGFydENvbG9yID0gaW5wdXQ8c3RyaW5nPignYmxhY2snKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkVuZENvbG9yID0gaW5wdXQ8c3RyaW5nPignYmxhY2snKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk91dHB1dElkOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZJbnB1dElkOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IGZSYWRpdXM6IG51bWJlcjtcblxuICBwdWJsaWMgYWJzdHJhY3QgZk9mZnNldDogbnVtYmVyO1xuXG4gIHB1YmxpYyBwYXRoOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgbGluZTogSUxpbmUgPSBMaW5lRXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZSZWFzc2lnbmFibGVTdGFydDogU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkRyYWdnaW5nRGlzYWJsZWQ6IFNpZ25hbDxib29sZWFuPiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlYWRvbmx5IGZTZWxlY3Rpb25EaXNhYmxlZDogU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcblxuICBwdWJsaWMgYWJzdHJhY3QgYm91bmRpbmdFbGVtZW50OiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGZCZWhhdmlvcjogRUZDb25uZWN0aW9uQmVoYXZpb3I7XG5cbiAgcHVibGljIGFic3RyYWN0IGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nO1xuXG4gIHB1YmxpYyByZWFkb25seSBmRGVmcyA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPFNWR0RlZnNFbGVtZW50Pj4oJ2RlZnMnKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZlBhdGggPSB2aWV3Q2hpbGQucmVxdWlyZWQ8SUNvbm5lY3Rpb25QYXRoPihDT05ORUNUSU9OX1BBVEgpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmR3JhZGllbnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8SUNvbm5lY3Rpb25HcmFkaWVudD4oQ09OTkVDVElPTl9HUkFESUVOVCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZEcmFnSGFuZGxlU3RhcnQgPSB2aWV3Q2hpbGQoRkNvbm5lY3Rpb25EcmFnSGFuZGxlU3RhcnRDb21wb25lbnQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmRHJhZ0hhbmRsZUVuZCA9IHZpZXdDaGlsZC5yZXF1aXJlZChGQ29ubmVjdGlvbkRyYWdIYW5kbGVFbmRDb21wb25lbnQpO1xuXG4gIHB1YmxpYyByZWFkb25seSBmU2VsZWN0aW9uID0gdmlld0NoaWxkLnJlcXVpcmVkKEZDb25uZWN0aW9uU2VsZWN0aW9uQ29tcG9uZW50KTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZlRleHRDb21wb25lbnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8SUNvbm5lY3Rpb25UZXh0PihDT05ORUNUSU9OX1RFWFQpO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVGV4dDogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBmVGV4dFN0YXJ0T2Zmc2V0OiBzdHJpbmc7XG5cbiAgcHVibGljIHJlYWRvbmx5IGZDb25uZWN0aW9uQ2VudGVyID0gdmlld0NoaWxkPEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PignZkNvbm5lY3Rpb25DZW50ZXInKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZkNvbm5lY3Rpb25DZW50ZXJzID0gY29udGVudENoaWxkcmVuKEZDb25uZWN0aW9uQ2VudGVyRGlyZWN0aXZlLCB7ZGVzY2VuZGFudHM6IHRydWV9KTtcblxuICBwcml2YXRlIHBlbnVsdGltYXRlUG9pbnQ6IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG4gIHByaXZhdGUgc2Vjb25kUG9pbnQ6IElQb2ludCA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgY0ZhY3Rvcnk6IEZDb25uZWN0aW9uRmFjdG9yeVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aCgpLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLmZHcmFkaWVudCgpLmluaXRpYWxpemUoKTtcbiAgICB0aGlzLnJlZHJhdygpO1xuICB9XG5cbiAgcHVibGljIGlzQ29udGFpbnMoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmhvc3RFbGVtZW50LmZpcnN0Q2hpbGQ/Lmxhc3RDaGlsZCBhcyBIVE1MRWxlbWVudCkuY29udGFpbnMoZWxlbWVudCk7XG4gIH1cblxuICBwdWJsaWMgc2V0TGluZSh7cG9pbnQxLCBwb2ludDJ9OiBJTGluZSwgc291cmNlU2lkZTogRUZDb25uZWN0YWJsZVNpZGUsIHRhcmdldFNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogdm9pZCB7XG4gICAgdGhpcy5saW5lID0gTGluZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZShwb2ludDEsIHBvaW50Mik7XG4gICAgY29uc3QgcGF0aFJlc3VsdCA9IHRoaXMuZ2V0UGF0aFJlc3VsdChwb2ludDEsIHNvdXJjZVNpZGUsIHBvaW50MiwgdGFyZ2V0U2lkZSk7XG4gICAgdGhpcy5wYXRoID0gcGF0aFJlc3VsdC5wYXRoO1xuICAgIHRoaXMucGVudWx0aW1hdGVQb2ludCA9IHBhdGhSZXN1bHQucGVudWx0aW1hdGVQb2ludCB8fCBwb2ludDE7XG4gICAgdGhpcy5zZWNvbmRQb2ludCA9IHBhdGhSZXN1bHQuc2Vjb25kUG9pbnQgfHwgcG9pbnQyO1xuICAgIHRoaXMuZkNvbm5lY3Rpb25DZW50ZXIoKT8ubmF0aXZlRWxlbWVudD8uc2V0QXR0cmlidXRlKCdzdHlsZScsIHRoaXMuZ2V0VHJhbnNmb3JtKHBhdGhSZXN1bHQuY29ubmVjdGlvbkNlbnRlcikpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXRoUmVzdWx0KHNvdXJjZTogSVBvaW50LCBzb3VyY2VTaWRlOiBFRkNvbm5lY3RhYmxlU2lkZSwgdGFyZ2V0OiBJUG9pbnQsIHRhcmdldFNpZGU6IEVGQ29ubmVjdGFibGVTaWRlKTogYW55IHtcbiAgICBjb25zdCByYWRpdXMgPSB0aGlzLmZSYWRpdXMgPiAwID8gdGhpcy5mUmFkaXVzIDogMDtcbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmZPZmZzZXQgPiAwID8gdGhpcy5mT2Zmc2V0IDogMTtcbiAgICByZXR1cm4gdGhpcy5jRmFjdG9yeS5oYW5kbGUoXG4gICAgICB7XG4gICAgICAgIHR5cGU6IHRoaXMuZlR5cGUsXG4gICAgICAgIHBheWxvYWQ6IHtzb3VyY2UsIHNvdXJjZVNpZGUsIHRhcmdldCwgdGFyZ2V0U2lkZSwgcmFkaXVzLCBvZmZzZXR9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhbnNmb3JtKHBvc2l0aW9uOiBJUG9pbnQpOiBzdHJpbmcge1xuICAgIHJldHVybiBgcG9zaXRpb246IGFic29sdXRlOyBwb2ludGVyRXZlbnRzOiBhbGw7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyBsZWZ0OiAke3Bvc2l0aW9uLnh9cHg7IHRvcDogJHtwb3NpdGlvbi55fXB4YDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBtYXJrQ2hpbGRyZW5Bc1NlbGVjdGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGgoKS5zZWxlY3QoKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB1bm1hcmtDaGlsZHJlbkFzU2VsZWN0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5mUGF0aCgpLmRlc2VsZWN0KCk7XG4gIH1cblxuICBwdWJsaWMgcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuZlBhdGgoKS5zZXRQYXRoKHRoaXMucGF0aCk7XG4gICAgdGhpcy5mU2VsZWN0aW9uKCkuc2V0UGF0aCh0aGlzLnBhdGgpO1xuICAgIHRoaXMuZkdyYWRpZW50KCkucmVkcmF3KHRoaXMubGluZSk7XG4gICAgdGhpcy5mRHJhZ0hhbmRsZUVuZCgpLnJlZHJhdyh0aGlzLnBlbnVsdGltYXRlUG9pbnQsIHRoaXMubGluZS5wb2ludDIpO1xuICAgIHRoaXMuZkRyYWdIYW5kbGVTdGFydCgpPy5yZWRyYXcodGhpcy5zZWNvbmRQb2ludCwgdGhpcy5saW5lLnBvaW50MSk7XG4gICAgdGhpcy5mVGV4dENvbXBvbmVudCgpLnJlZHJhdyh0aGlzLmxpbmUpO1xuICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1oYXMtY29ubmVjdGlvbi1jb2xvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lucHV0U2lnbmFsfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElIYXNDb25uZWN0aW9uQ29sb3Ige1xuXG4gIGZTdGFydENvbG9yOiBJbnB1dFNpZ25hbDxzdHJpbmc+O1xuXG4gIGZFbmRDb2xvcjogSW5wdXRTaWduYWw8c3RyaW5nPjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1oYXMtY29ubmVjdGlvbi1jb2xvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2NvbW1vbi9pLWhhcy1jb25uZWN0aW9uLWNvbG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1NpZ25hbH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJSGFzQ29ubmVjdGlvbkNvbG9yIHtcblxuICBmU3RhcnRDb2xvcjogU2lnbmFsPHN0cmluZz47XG5cbiAgZkVuZENvbG9yOiBTaWduYWw8c3RyaW5nPjtcbn1cbiJdfQ==
@@ -1,7 +1,6 @@
1
- import { booleanAttribute, ChangeDetectionStrategy, Component, contentChildren, inject, input, Input, numberAttribute, viewChild, } from "@angular/core";
2
- import { CONNECTION_GRADIENT, CONNECTION_PATH, CONNECTION_TEXT, EFConnectionBehavior, EFConnectionType, FConnectionDragHandleEndComponent, FConnectionDragHandleStartComponent, FConnectionSelectionComponent, } from '../common';
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, Input, numberAttribute } from "@angular/core";
2
+ import { EFConnectionBehavior, EFConnectionType, } from '../common';
3
3
  import { NotifyDataChangedRequest } from '../../f-storage';
4
- import { FConnectionCenterDirective } from '../f-connection-center';
5
4
  import { F_CONNECTION } from '../common/f-connection.injection-token';
6
5
  //TODO: Need to deal with cyclic dependencies, since in some cases an error occurs when importing them ../common
7
6
  // TypeError: Class extends value undefined is not a constructor or null
@@ -23,52 +22,44 @@ export class FConnectionComponent extends FConnectionBase {
23
22
  fId = input(`f-connection-${uniqueId++}`, { alias: 'fConnectionId' });
24
23
  fText = '';
25
24
  fTextStartOffset = '';
26
- fStartColor = input('black');
27
- fEndColor = input('black');
28
25
  fOutputId = '';
29
26
  fInputId = '';
30
27
  fRadius = 8;
31
28
  fOffset = 12;
32
29
  fBehavior = EFConnectionBehavior.FIXED;
33
30
  fType = EFConnectionType.STRAIGHT;
34
- fReassignableStart = input(false);
35
- fDraggingDisabled = false;
36
- fSelectionDisabled = false;
37
- fDefs = viewChild.required('defs');
38
- fPath = viewChild.required(CONNECTION_PATH);
39
- fGradient = viewChild.required(CONNECTION_GRADIENT);
40
- fDragHandleStart = viewChild(FConnectionDragHandleStartComponent);
41
- fDragHandleEnd = viewChild.required(FConnectionDragHandleEndComponent);
42
- fSelection = viewChild.required(FConnectionSelectionComponent);
43
- fTextComponent = viewChild.required(CONNECTION_TEXT);
44
- fConnectionCenter = viewChild('fConnectionCenter');
45
- fConnectionCenters = contentChildren(FConnectionCenterDirective, { descendants: true });
31
+ fSelectionDisabled = input(false, { transform: booleanAttribute });
32
+ fReassignableStart = input(false, { transform: booleanAttribute });
33
+ fDraggingDisabled = input(false, {
34
+ alias: 'fReassignDisabled',
35
+ transform: booleanAttribute
36
+ });
46
37
  get boundingElement() {
47
38
  return this.fPath().hostElement;
48
39
  }
49
- _fMediator = inject(FMediator);
40
+ _mediator = inject(FMediator);
50
41
  constructor(elementReference, fConnectionFactory) {
51
42
  super(elementReference, fConnectionFactory);
52
43
  }
53
44
  ngOnInit() {
54
- this._fMediator.execute(new AddConnectionToStoreRequest(this));
45
+ this._mediator.execute(new AddConnectionToStoreRequest(this));
55
46
  }
56
47
  ngOnChanges() {
57
- this._fMediator.execute(new NotifyDataChangedRequest());
48
+ this._mediator.execute(new NotifyDataChangedRequest());
58
49
  }
59
50
  ngOnDestroy() {
60
- this._fMediator.execute(new RemoveConnectionFromStoreRequest(this));
51
+ this._mediator.execute(new RemoveConnectionFromStoreRequest(this));
61
52
  }
62
53
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, deps: [{ token: i0.ElementRef }, { token: i1.FConnectionFactory }], target: i0.ɵɵFactoryTarget.Component });
63
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fText: { classPropertyName: "fText", publicName: "fText", isSignal: false, isRequired: false, transformFunction: null }, fTextStartOffset: { classPropertyName: "fTextStartOffset", publicName: "fTextStartOffset", isSignal: false, isRequired: false, transformFunction: null }, fStartColor: { classPropertyName: "fStartColor", publicName: "fStartColor", isSignal: true, isRequired: false, transformFunction: null }, fEndColor: { classPropertyName: "fEndColor", publicName: "fEndColor", isSignal: true, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal: false, isRequired: false, transformFunction: null }, fInputId: { classPropertyName: "fInputId", publicName: "fInputId", isSignal: false, isRequired: false, transformFunction: null }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fReassignableStart: { classPropertyName: "fReassignableStart", publicName: "fReassignableStart", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fReassignDisabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fSelectionDisabled", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, host: { properties: { "attr.id": "fId()", "class.f-connection-selection-disabled": "fSelectionDisabled", "class.f-connection-reassign-disabled": "fDraggingDisabled" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], queries: [{ propertyName: "fConnectionCenters", predicate: FConnectionCenterDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "fDefs", first: true, predicate: ["defs"], descendants: true, isSignal: true }, { propertyName: "fPath", first: true, predicate: CONNECTION_PATH, descendants: true, isSignal: true }, { propertyName: "fGradient", first: true, predicate: CONNECTION_GRADIENT, descendants: true, isSignal: true }, { propertyName: "fDragHandleStart", first: true, predicate: FConnectionDragHandleStartComponent, descendants: true, isSignal: true }, { propertyName: "fDragHandleEnd", first: true, predicate: FConnectionDragHandleEndComponent, descendants: true, isSignal: true }, { propertyName: "fSelection", first: true, predicate: FConnectionSelectionComponent, descendants: true, isSignal: true }, { propertyName: "fTextComponent", first: true, predicate: CONNECTION_TEXT, descendants: true, isSignal: true }, { propertyName: "fConnectionCenter", first: true, predicate: ["fConnectionCenter"], descendants: true, isSignal: true }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "component", type: i2.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i3.FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: i4.FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: i5.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i6.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i7.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FConnectionComponent, selector: "f-connection", inputs: { fId: { classPropertyName: "fId", publicName: "fConnectionId", isSignal: true, isRequired: false, transformFunction: null }, fText: { classPropertyName: "fText", publicName: "fText", isSignal: false, isRequired: false, transformFunction: null }, fTextStartOffset: { classPropertyName: "fTextStartOffset", publicName: "fTextStartOffset", isSignal: false, isRequired: false, transformFunction: null }, fOutputId: { classPropertyName: "fOutputId", publicName: "fOutputId", isSignal: false, isRequired: false, transformFunction: null }, fInputId: { classPropertyName: "fInputId", publicName: "fInputId", isSignal: false, isRequired: false, transformFunction: null }, fRadius: { classPropertyName: "fRadius", publicName: "fRadius", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fOffset: { classPropertyName: "fOffset", publicName: "fOffset", isSignal: false, isRequired: false, transformFunction: numberAttribute }, fBehavior: { classPropertyName: "fBehavior", publicName: "fBehavior", isSignal: false, isRequired: false, transformFunction: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }, fType: { classPropertyName: "fType", publicName: "fType", isSignal: false, isRequired: false, transformFunction: null }, fSelectionDisabled: { classPropertyName: "fSelectionDisabled", publicName: "fSelectionDisabled", isSignal: true, isRequired: false, transformFunction: null }, fReassignableStart: { classPropertyName: "fReassignableStart", publicName: "fReassignableStart", isSignal: true, isRequired: false, transformFunction: null }, fDraggingDisabled: { classPropertyName: "fDraggingDisabled", publicName: "fReassignDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "fId()", "class.f-connection-selection-disabled": "fSelectionDisabled()", "class.f-connection-reassign-disabled": "fDraggingDisabled()" }, classAttribute: "f-component f-connection" }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], exportAs: ["fComponent"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"], dependencies: [{ kind: "component", type: i2.FConnectionTextComponent, selector: "text[f-connection-text]" }, { kind: "component", type: i3.FConnectionDragHandleStartComponent, selector: "circle[f-connection-drag-handle-start]" }, { kind: "component", type: i4.FConnectionDragHandleEndComponent, selector: "circle[f-connection-drag-handle-end]" }, { kind: "component", type: i5.FConnectionGradientComponent, selector: "linearGradient[fConnectionGradient]" }, { kind: "component", type: i6.FConnectionPathComponent, selector: "path[f-connection-path]" }, { kind: "component", type: i7.FConnectionSelectionComponent, selector: "path[fConnectionSelection]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
64
55
  }
65
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FConnectionComponent, decorators: [{
66
57
  type: Component,
67
58
  args: [{ selector: "f-connection", exportAs: 'fComponent', changeDetection: ChangeDetectionStrategy.OnPush, host: {
68
59
  '[attr.id]': 'fId()',
69
60
  class: "f-component f-connection",
70
- '[class.f-connection-selection-disabled]': 'fSelectionDisabled',
71
- '[class.f-connection-reassign-disabled]': 'fDraggingDisabled',
61
+ '[class.f-connection-selection-disabled]': 'fSelectionDisabled()',
62
+ '[class.f-connection-reassign-disabled]': 'fDraggingDisabled()',
72
63
  }, providers: [{ provide: F_CONNECTION, useExisting: FConnectionComponent }], template: "<svg xmlns=\"http://www.w3.org/2000/svg\" style=\"overflow: visible; display: block; vertical-align: middle;\">\n <defs #defs></defs>\n <ng-content></ng-content>\n <g class=\"f-connection-group\">\n <linearGradient fConnectionGradient></linearGradient>\n <path fConnectionSelection [attr.d]=\"path\"></path>\n <g>\n <path f-connection-path [attr.d]=\"path\"></path>\n @if (fReassignableStart()) {\n <circle f-connection-drag-handle-start r=\"8\"></circle>\n }\n <circle f-connection-drag-handle-end r=\"8\"></circle>\n </g>\n <text f-connection-text></text>\n </g>\n</svg>\n@if (fConnectionCenters().length) {\n <div #fConnectionCenter class=\"f-connection-center\">\n <ng-content select=\"[fConnectionCenter]\"></ng-content>\n </div>\n}\n", styles: [":host{pointer-events:none;position:absolute}:host svg{overflow:visible}:host svg .f-connection-group{pointer-events:all}:host .f-connection-center{pointer-events:all}\n"] }]
73
64
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.FConnectionFactory }], propDecorators: { fText: [{
74
65
  type: Input
@@ -89,11 +80,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
89
80
  args: [{ transform: (value) => castToEnum(value, 'fBehavior', EFConnectionBehavior) }]
90
81
  }], fType: [{
91
82
  type: Input
92
- }], fDraggingDisabled: [{
93
- type: Input,
94
- args: [{ alias: 'fReassignDisabled', transform: booleanAttribute }]
95
- }], fSelectionDisabled: [{
96
- type: Input,
97
- args: [{ transform: booleanAttribute }]
98
83
  }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsZUFBZSxFQUUxQixNQUFNLEVBQUUsS0FBSyxFQUNiLEtBQUssRUFDTCxlQUFlLEVBSWYsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGVBQWUsRUFDZixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLGlDQUFpQyxFQUFFLG1DQUFtQyxFQUN0RSw2QkFBNkIsR0FJOUIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFbEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3BFLGdIQUFnSDtBQUNoSCx3RUFBd0U7QUFDeEUsZ0RBQWdEO0FBQ2hELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsMkJBQTJCLEVBQUUsZ0NBQWdDLEVBQUMsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7OztBQUUz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QWlDLDZGQUVyQyw2QkFBNkIsaUdBRVIsZUFBZSwrUEN6R3RGLHd4QkFxQkE7OzRGRGdDYSxvQkFBb0I7a0JBZGhDLFNBQVM7K0JBQ0UsY0FBYyxZQUNkLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixXQUFXLEVBQUUsT0FBTzt3QkFDcEIsS0FBSyxFQUFFLDBCQUEwQjt3QkFDakMseUNBQXlDLEVBQUUsb0JBQW9CO3dCQUMvRCx3Q0FBd0MsRUFBRSxtQkFBbUI7cUJBQzlELGFBQ1UsQ0FBQyxFQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxzQkFBc0IsRUFBQyxDQUFDO2dIQVF2RCxLQUFLO3NCQURwQixLQUFLO2dCQUlVLGdCQUFnQjtzQkFEL0IsS0FBSztnQkFRVSxTQUFTO3NCQUR4QixLQUFLO2dCQUlVLFFBQVE7c0JBRHZCLEtBQUs7Z0JBSVUsT0FBTztzQkFEdEIsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUM7Z0JBSW5CLE9BQU87c0JBRHRCLEtBQUs7dUJBQUMsRUFBQyxTQUFTLEVBQUUsZUFBZSxFQUFDO2dCQUluQixTQUFTO3NCQUR4QixLQUFLO3VCQUFDLEVBQUMsU0FBUyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxFQUFDO2dCQUk1RSxLQUFLO3NCQURwQixLQUFLO2dCQU1VLGlCQUFpQjtzQkFEaEMsS0FBSzt1QkFBQyxFQUFDLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUM7Z0JBSWhELGtCQUFrQjtzQkFEakMsS0FBSzt1QkFBQyxFQUFDLFNBQVMsRUFBRSxnQkFBZ0IsRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIGNvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LCBpbnB1dCxcbiAgSW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgdmlld0NoaWxkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ09OTkVDVElPTl9HUkFESUVOVCxcbiAgQ09OTkVDVElPTl9QQVRILFxuICBDT05ORUNUSU9OX1RFWFQsXG4gIEVGQ29ubmVjdGlvbkJlaGF2aW9yLFxuICBFRkNvbm5lY3Rpb25UeXBlLFxuICBGQ29ubmVjdGlvbkRyYWdIYW5kbGVFbmRDb21wb25lbnQsIEZDb25uZWN0aW9uRHJhZ0hhbmRsZVN0YXJ0Q29tcG9uZW50LFxuICBGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCxcbiAgSUNvbm5lY3Rpb25HcmFkaWVudCxcbiAgSUNvbm5lY3Rpb25QYXRoLFxuICBJQ29ubmVjdGlvblRleHQsXG59IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQge05vdGlmeURhdGFDaGFuZ2VkUmVxdWVzdH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7RkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmV9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1jZW50ZXInO1xuaW1wb3J0IHtGQ29ubmVjdGlvbkZhY3Rvcnl9IGZyb20gJy4uL2YtY29ubmVjdGlvbi1idWlsZGVyJztcbmltcG9ydCB7Rl9DT05ORUNUSU9OfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLmluamVjdGlvbi10b2tlbic7XG4vL1RPRE86IE5lZWQgdG8gZGVhbCB3aXRoIGN5Y2xpYyBkZXBlbmRlbmNpZXMsIHNpbmNlIGluIHNvbWUgY2FzZXMgYW4gZXJyb3Igb2NjdXJzIHdoZW4gaW1wb3J0aW5nIHRoZW0gLi4vY29tbW9uXG4vLyBUeXBlRXJyb3I6IENsYXNzIGV4dGVuZHMgdmFsdWUgdW5kZWZpbmVkIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcbi8vIGF0IGYtY29ubmVjdGlvbi1mb3ItY3JlYXRlLmNvbXBvbmVudC50czozNDoxMVxuaW1wb3J0IHtGQ29ubmVjdGlvbkJhc2V9IGZyb20gJy4uL2NvbW1vbi9mLWNvbm5lY3Rpb24tYmFzZSc7XG5pbXBvcnQge2Nhc3RUb0VudW19IGZyb20gJ0Bmb2JsZXgvdXRpbHMnO1xuaW1wb3J0IHtGTWVkaWF0b3J9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHtBZGRDb25uZWN0aW9uVG9TdG9yZVJlcXVlc3QsIFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0fSBmcm9tICcuLi8uLi9kb21haW4nO1xuXG5sZXQgdW5pcXVlSWQ6IG51bWJlciA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWNvbm5lY3Rpb25cIixcbiAgZXhwb3J0QXM6ICdmQ29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6IFwiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL2YtY29ubmVjdGlvbi5jb21wb25lbnQuc2Nzc1wiXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaWRdJzogJ2ZJZCgpJyxcbiAgICBjbGFzczogXCJmLWNvbXBvbmVudCBmLWNvbm5lY3Rpb25cIixcbiAgICAnW2NsYXNzLmYtY29ubmVjdGlvbi1zZWxlY3Rpb24tZGlzYWJsZWRdJzogJ2ZTZWxlY3Rpb25EaXNhYmxlZCcsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tcmVhc3NpZ24tZGlzYWJsZWRdJzogJ2ZEcmFnZ2luZ0Rpc2FibGVkJyxcbiAgfSxcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IEZfQ09OTkVDVElPTiwgdXNlRXhpc3Rpbmc6IEZDb25uZWN0aW9uQ29tcG9uZW50fV0sXG59KVxuZXhwb3J0IGNsYXNzIEZDb25uZWN0aW9uQ29tcG9uZW50XG4gIGV4dGVuZHMgRkNvbm5lY3Rpb25CYXNlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZJZCA9IGlucHV0PHN0cmluZz4oYGYtY29ubmVjdGlvbi0ke3VuaXF1ZUlkKyt9YCwge2FsaWFzOiAnZkNvbm5lY3Rpb25JZCd9KTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgb3ZlcnJpZGUgZlRleHQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dFN0YXJ0T2Zmc2V0OiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlN0YXJ0Q29sb3IgPSBpbnB1dDxzdHJpbmc+KCdibGFjaycpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmRW5kQ29sb3IgPSBpbnB1dDxzdHJpbmc+KCdibGFjaycpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0SWQ6IGFueSA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRJZDogYW55ID0gJyc7XG5cbiAgQElucHV0KHt0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pXG4gIHB1YmxpYyBvdmVycmlkZSBmUmFkaXVzOiBudW1iZXIgPSA4O1xuXG4gIEBJbnB1dCh7dHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGV9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZk9mZnNldDogbnVtYmVyID0gMTI7XG5cbiAgQElucHV0KHt0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZCZWhhdmlvcicsIEVGQ29ubmVjdGlvbkJlaGF2aW9yKX0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nID0gRUZDb25uZWN0aW9uVHlwZS5TVFJBSUdIVDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlJlYXNzaWduYWJsZVN0YXJ0ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIEBJbnB1dCh7YWxpYXM6ICdmUmVhc3NpZ25EaXNhYmxlZCcsIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZX0pXG4gIHB1YmxpYyBvdmVycmlkZSBmRHJhZ2dpbmdEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlfSlcbiAgcHVibGljIG92ZXJyaWRlIGZTZWxlY3Rpb25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmRGVmcyA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPFNWR0RlZnNFbGVtZW50Pj4oJ2RlZnMnKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlBhdGggPSB2aWV3Q2hpbGQucmVxdWlyZWQ8SUNvbm5lY3Rpb25QYXRoPihDT05ORUNUSU9OX1BBVEgpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBmR3JhZGllbnQgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8SUNvbm5lY3Rpb25HcmFkaWVudD4oQ09OTkVDVElPTl9HUkFESUVOVCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZEcmFnSGFuZGxlU3RhcnQgPSB2aWV3Q2hpbGQoRkNvbm5lY3Rpb25EcmFnSGFuZGxlU3RhcnRDb21wb25lbnQpO1xuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdIYW5kbGVFbmQgPSB2aWV3Q2hpbGQucmVxdWlyZWQoRkNvbm5lY3Rpb25EcmFnSGFuZGxlRW5kQ29tcG9uZW50KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbiA9IHZpZXdDaGlsZC5yZXF1aXJlZChGQ29ubmVjdGlvblNlbGVjdGlvbkNvbXBvbmVudCk7XG5cbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0Q29tcG9uZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkPElDb25uZWN0aW9uVGV4dD4oQ09OTkVDVElPTl9URVhUKTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZkNvbm5lY3Rpb25DZW50ZXIgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCdmQ29ubmVjdGlvbkNlbnRlcicpO1xuXG4gIHB1YmxpYyBmQ29ubmVjdGlvbkNlbnRlcnMgPSBjb250ZW50Q2hpbGRyZW4oRkNvbm5lY3Rpb25DZW50ZXJEaXJlY3RpdmUsIHtkZXNjZW5kYW50czogdHJ1ZX0pO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgYm91bmRpbmdFbGVtZW50KCk6IEhUTUxFbGVtZW50IHwgU1ZHRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZlBhdGgoKS5ob3N0RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIGZDb25uZWN0aW9uRmFjdG9yeTogRkNvbm5lY3Rpb25GYWN0b3J5LFxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLCBmQ29ubmVjdGlvbkZhY3RvcnkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBBZGRDb25uZWN0aW9uVG9TdG9yZVJlcXVlc3QodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBOb3RpZnlEYXRhQ2hhbmdlZFJlcXVlc3QoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgc3R5bGU9XCJvdmVyZmxvdzogdmlzaWJsZTsgZGlzcGxheTogYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XCI+XG4gIDxkZWZzICNkZWZzPjwvZGVmcz5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8ZyBjbGFzcz1cImYtY29ubmVjdGlvbi1ncm91cFwiPlxuICAgIDxsaW5lYXJHcmFkaWVudCBmQ29ubmVjdGlvbkdyYWRpZW50PjwvbGluZWFyR3JhZGllbnQ+XG4gICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgIDxnPlxuICAgICAgPHBhdGggZi1jb25uZWN0aW9uLXBhdGggW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgQGlmIChmUmVhc3NpZ25hYmxlU3RhcnQoKSkge1xuICAgICAgICA8Y2lyY2xlIGYtY29ubmVjdGlvbi1kcmFnLWhhbmRsZS1zdGFydCByPVwiOFwiPjwvY2lyY2xlPlxuICAgICAgfVxuICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUtZW5kIHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgPC9nPlxuICAgIDx0ZXh0IGYtY29ubmVjdGlvbi10ZXh0PjwvdGV4dD5cbiAgPC9nPlxuPC9zdmc+XG5AaWYgKGZDb25uZWN0aW9uQ2VudGVycygpLmxlbmd0aCkge1xuICA8ZGl2ICNmQ29ubmVjdGlvbkNlbnRlciBjbGFzcz1cImYtY29ubmVjdGlvbi1jZW50ZXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25DZW50ZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbn1cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb25uZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWNvbm5lY3Rpb24vZi1jb25uZWN0aW9uL2YtY29ubmVjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsTUFBTSxFQUFFLEtBQUssRUFDYixLQUFLLEVBQ0wsZUFBZSxFQUloQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGdCQUFnQixHQUNqQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDcEUsZ0hBQWdIO0FBQ2hILHdFQUF3RTtBQUN4RSxnREFBZ0Q7QUFDaEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBQywyQkFBMkIsRUFBRSxnQ0FBZ0MsRUFBQyxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7O0FBRTNGLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWdCekIsTUFBTSxPQUFPLG9CQUNYLFNBQVEsZUFBZTtJQUVQLEdBQUcsR0FBRyxLQUFLLENBQVMsZ0JBQWdCLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsZUFBZSxFQUFD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dHJpYnV0ZSxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LCBpbnB1dCxcbiAgSW5wdXQsXG4gIG51bWJlckF0dHJpYnV0ZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgRUZDb25uZWN0aW9uQmVoYXZpb3IsXG4gIEVGQ29ubmVjdGlvblR5cGUsXG59IGZyb20gJy4uL2NvbW1vbic7XG5pbXBvcnQge05vdGlmeURhdGFDaGFuZ2VkUmVxdWVzdH0gZnJvbSAnLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7RkNvbm5lY3Rpb25GYWN0b3J5fSBmcm9tICcuLi9mLWNvbm5lY3Rpb24tYnVpbGRlcic7XG5pbXBvcnQge0ZfQ09OTkVDVElPTn0gZnJvbSAnLi4vY29tbW9uL2YtY29ubmVjdGlvbi5pbmplY3Rpb24tdG9rZW4nO1xuLy9UT0RPOiBOZWVkIHRvIGRlYWwgd2l0aCBjeWNsaWMgZGVwZW5kZW5jaWVzLCBzaW5jZSBpbiBzb21lIGNhc2VzIGFuIGVycm9yIG9jY3VycyB3aGVuIGltcG9ydGluZyB0aGVtIC4uL2NvbW1vblxuLy8gVHlwZUVycm9yOiBDbGFzcyBleHRlbmRzIHZhbHVlIHVuZGVmaW5lZCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsXG4vLyBhdCBmLWNvbm5lY3Rpb24tZm9yLWNyZWF0ZS5jb21wb25lbnQudHM6MzQ6MTFcbmltcG9ydCB7RkNvbm5lY3Rpb25CYXNlfSBmcm9tICcuLi9jb21tb24vZi1jb25uZWN0aW9uLWJhc2UnO1xuaW1wb3J0IHtjYXN0VG9FbnVtfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcbmltcG9ydCB7Rk1lZGlhdG9yfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7QWRkQ29ubmVjdGlvblRvU3RvcmVSZXF1ZXN0LCBSZW1vdmVDb25uZWN0aW9uRnJvbVN0b3JlUmVxdWVzdH0gZnJvbSAnLi4vLi4vZG9tYWluJztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1jb25uZWN0aW9uXCIsXG4gIGV4cG9ydEFzOiAnZkNvbXBvbmVudCcsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZi1jb25uZWN0aW9uLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9mLWNvbm5lY3Rpb24uY29tcG9uZW50LnNjc3NcIl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdmSWQoKScsXG4gICAgY2xhc3M6IFwiZi1jb21wb25lbnQgZi1jb25uZWN0aW9uXCIsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tc2VsZWN0aW9uLWRpc2FibGVkXSc6ICdmU2VsZWN0aW9uRGlzYWJsZWQoKScsXG4gICAgJ1tjbGFzcy5mLWNvbm5lY3Rpb24tcmVhc3NpZ24tZGlzYWJsZWRdJzogJ2ZEcmFnZ2luZ0Rpc2FibGVkKCknLFxuICB9LFxuICBwcm92aWRlcnM6IFt7cHJvdmlkZTogRl9DT05ORUNUSU9OLCB1c2VFeGlzdGluZzogRkNvbm5lY3Rpb25Db21wb25lbnR9XSxcbn0pXG5leHBvcnQgY2xhc3MgRkNvbm5lY3Rpb25Db21wb25lbnRcbiAgZXh0ZW5kcyBGQ29ubmVjdGlvbkJhc2UgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZklkID0gaW5wdXQ8c3RyaW5nPihgZi1jb25uZWN0aW9uLSR7dW5pcXVlSWQrK31gLCB7YWxpYXM6ICdmQ29ubmVjdGlvbklkJ30pO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmVGV4dDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUZXh0U3RhcnRPZmZzZXQ6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmT3V0cHV0SWQ6IGFueSA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvdmVycmlkZSBmSW5wdXRJZDogYW55ID0gJyc7XG5cbiAgQElucHV0KHt0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pXG4gIHB1YmxpYyBvdmVycmlkZSBmUmFkaXVzOiBudW1iZXIgPSA4O1xuXG4gIEBJbnB1dCh7dHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGV9KVxuICBwdWJsaWMgb3ZlcnJpZGUgZk9mZnNldDogbnVtYmVyID0gMTI7XG5cbiAgQElucHV0KHt0cmFuc2Zvcm06ICh2YWx1ZTogdW5rbm93bikgPT4gY2FzdFRvRW51bSh2YWx1ZSwgJ2ZCZWhhdmlvcicsIEVGQ29ubmVjdGlvbkJlaGF2aW9yKX0pXG4gIHB1YmxpYyBvdmVycmlkZSBmQmVoYXZpb3I6IEVGQ29ubmVjdGlvbkJlaGF2aW9yID0gRUZDb25uZWN0aW9uQmVoYXZpb3IuRklYRUQ7XG5cbiAgQElucHV0KClcbiAgcHVibGljIG92ZXJyaWRlIGZUeXBlOiBFRkNvbm5lY3Rpb25UeXBlIHwgc3RyaW5nID0gRUZDb25uZWN0aW9uVHlwZS5TVFJBSUdIVDtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlNlbGVjdGlvbkRpc2FibGVkID0gaW5wdXQoZmFsc2UsIHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZlJlYXNzaWduYWJsZVN0YXJ0ID0gaW5wdXQoZmFsc2UsIHt0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGV9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZkRyYWdnaW5nRGlzYWJsZWQgPSBpbnB1dChmYWxzZSwge1xuICAgIGFsaWFzOiAnZlJlYXNzaWduRGlzYWJsZWQnLFxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZVxuICB9KTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IGJvdW5kaW5nRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmZQYXRoKCkuaG9zdEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWZlcmVuY2U6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIGZDb25uZWN0aW9uRmFjdG9yeTogRkNvbm5lY3Rpb25GYWN0b3J5LFxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmZXJlbmNlLCBmQ29ubmVjdGlvbkZhY3RvcnkpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZENvbm5lY3Rpb25Ub1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZShuZXcgTm90aWZ5RGF0YUNoYW5nZWRSZXF1ZXN0KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZUNvbm5lY3Rpb25Gcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIiwiPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgc3R5bGU9XCJvdmVyZmxvdzogdmlzaWJsZTsgZGlzcGxheTogYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XCI+XG4gIDxkZWZzICNkZWZzPjwvZGVmcz5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8ZyBjbGFzcz1cImYtY29ubmVjdGlvbi1ncm91cFwiPlxuICAgIDxsaW5lYXJHcmFkaWVudCBmQ29ubmVjdGlvbkdyYWRpZW50PjwvbGluZWFyR3JhZGllbnQ+XG4gICAgPHBhdGggZkNvbm5lY3Rpb25TZWxlY3Rpb24gW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgIDxnPlxuICAgICAgPHBhdGggZi1jb25uZWN0aW9uLXBhdGggW2F0dHIuZF09XCJwYXRoXCI+PC9wYXRoPlxuICAgICAgQGlmIChmUmVhc3NpZ25hYmxlU3RhcnQoKSkge1xuICAgICAgICA8Y2lyY2xlIGYtY29ubmVjdGlvbi1kcmFnLWhhbmRsZS1zdGFydCByPVwiOFwiPjwvY2lyY2xlPlxuICAgICAgfVxuICAgICAgPGNpcmNsZSBmLWNvbm5lY3Rpb24tZHJhZy1oYW5kbGUtZW5kIHI9XCI4XCI+PC9jaXJjbGU+XG4gICAgPC9nPlxuICAgIDx0ZXh0IGYtY29ubmVjdGlvbi10ZXh0PjwvdGV4dD5cbiAgPC9nPlxuPC9zdmc+XG5AaWYgKGZDb25uZWN0aW9uQ2VudGVycygpLmxlbmd0aCkge1xuICA8ZGl2ICNmQ29ubmVjdGlvbkNlbnRlciBjbGFzcz1cImYtY29ubmVjdGlvbi1jZW50ZXJcIj5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZkNvbm5lY3Rpb25DZW50ZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbn1cbiJdfQ==