@foblex/flow 17.7.1 → 17.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.d.ts +2 -2
  2. package/domain/f-background/remove-background-from-store/remove-background-from-store.execution.d.ts +1 -1
  3. package/domain/f-canvas/providers.d.ts +1 -1
  4. package/domain/f-connectors/providers.d.ts +1 -1
  5. package/domain/f-draggable/providers.d.ts +1 -1
  6. package/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.d.ts +2 -2
  7. package/domain/f-flow/get-flow-state/providers.d.ts +1 -1
  8. package/domain/f-flow/providers.d.ts +1 -1
  9. package/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.d.ts +1 -1
  10. package/domain/i-map.d.ts +1 -3
  11. package/domain/providers.d.ts +1 -1
  12. package/esm2022/domain/css-cls.mjs +2 -2
  13. package/esm2022/domain/f-background/add-background-to-store/add-background-to-store-request.mjs +1 -1
  14. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.execution.mjs +8 -8
  15. package/esm2022/domain/f-background/add-pattern-to-background/add-pattern-to-background.request.mjs +1 -1
  16. package/esm2022/domain/f-background/providers.mjs +2 -2
  17. package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store-request.mjs +1 -1
  18. package/esm2022/domain/f-background/remove-background-from-store/remove-background-from-store.execution.mjs +2 -2
  19. package/esm2022/domain/f-background/set-background-transform/set-background-transform-request.mjs +1 -1
  20. package/esm2022/domain/f-canvas/add-canvas-to-store/add-canvas-to-store-request.mjs +1 -1
  21. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node-request.mjs +1 -1
  22. package/esm2022/domain/f-canvas/center-group-or-node/center-group-or-node.execution.mjs +1 -1
  23. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow-request.mjs +1 -1
  24. package/esm2022/domain/f-canvas/fit-to-flow/fit-to-flow.execution.mjs +1 -1
  25. package/esm2022/domain/f-canvas/get-canvas/get-canvas.execution.mjs +1 -1
  26. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position-request.mjs +1 -1
  27. package/esm2022/domain/f-canvas/input-canvas-position/input-canvas-position.execution.mjs +1 -1
  28. package/esm2022/domain/f-canvas/input-canvas-scale/input-canvas-scale-request.mjs +1 -1
  29. package/esm2022/domain/f-canvas/providers.mjs +2 -2
  30. package/esm2022/domain/f-canvas/redraw-canvas-with-animation/redraw-canvas-with-animation-request.mjs +1 -1
  31. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center-request.mjs +1 -1
  32. package/esm2022/domain/f-canvas/reset-scale-and-center/reset-scale-and-center.execution.mjs +1 -1
  33. package/esm2022/domain/f-canvas/update-scale/update-scale-request.mjs +1 -1
  34. package/esm2022/domain/f-connection/add-connection-for-create-to-store/add-connection-for-create-to-store-request.mjs +1 -1
  35. package/esm2022/domain/f-connection/add-connection-marker-to-store/add-connection-marker-to-store-request.mjs +1 -1
  36. package/esm2022/domain/f-connection/add-connection-to-store/add-connection-to-store-request.mjs +1 -1
  37. package/esm2022/domain/f-connection/add-snap-connection-to-store/add-snap-connection-to-store-request.mjs +1 -1
  38. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-center-behavior.mjs +2 -2
  39. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/fixed-outbound-behavior.mjs +2 -2
  40. package/esm2022/domain/f-connection/calculate-connection-line-by-behavior/floating-behavior.mjs +2 -2
  41. package/esm2022/domain/f-connection/create-connection-markers/create-connection-markers.execution.mjs +1 -1
  42. package/esm2022/domain/f-connection/providers.mjs +2 -2
  43. package/esm2022/domain/f-connection/redraw-connections/redraw-connections.execution.mjs +1 -1
  44. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store-request.mjs +1 -1
  45. package/esm2022/domain/f-connection/remove-connection-from-store/remove-connection-from-store.execution.mjs +1 -1
  46. package/esm2022/domain/f-connection/remove-connection-marker-from-store/remove-connection-marker-from-store-request.mjs +1 -1
  47. package/esm2022/domain/f-connectors/add-input-to-store/add-input-to-store-request.mjs +1 -1
  48. package/esm2022/domain/f-connectors/add-outlet-to-store/add-outlet-to-store-request.mjs +1 -1
  49. package/esm2022/domain/f-connectors/add-output-to-store/add-output-to-store-request.mjs +1 -1
  50. package/esm2022/domain/f-connectors/find-closest-connector/find-closest-connector.request.mjs +1 -1
  51. package/esm2022/domain/f-connectors/find-connectable-connector-using-priority-and-position/find-connectable-connector-using-priority-and-position.execution.mjs +1 -1
  52. package/esm2022/domain/f-connectors/get-all-can-be-connected-inputs-and-rects/get-all-can-be-connected-inputs-and-rects.execution.mjs +1 -1
  53. 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 +2 -2
  54. package/esm2022/domain/f-connectors/get-all-can-be-connected-source-connectors-and-rects/get-all-can-be-connected-source-connectors-and-rects.request.mjs +1 -1
  55. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect-request.mjs +1 -1
  56. package/esm2022/domain/f-connectors/get-connector-and-rect/get-connector-and-rect.execution.mjs +2 -2
  57. package/esm2022/domain/f-connectors/mark-connectable-connectors/mark-connectable-connectors.request.mjs +1 -1
  58. package/esm2022/domain/f-connectors/providers.mjs +4 -4
  59. package/esm2022/domain/f-connectors/remove-input-from-store/remove-input-from-store-request.mjs +1 -1
  60. package/esm2022/domain/f-connectors/remove-outlet-from-store/remove-outlet-from-store-request.mjs +1 -1
  61. package/esm2022/domain/f-connectors/remove-output-from-store/remove-output-from-store-request.mjs +1 -1
  62. package/esm2022/domain/f-connectors/unmark-connectable-connectors/unmark-connectable-connectors.request.mjs +1 -1
  63. package/esm2022/domain/f-draggable/add-dnd-to-store/add-dnd-to-store-request.mjs +1 -1
  64. package/esm2022/domain/f-draggable/emit-selection-change-event/emit-selection-change-event.execution.mjs +1 -1
  65. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move-request.mjs +1 -1
  66. package/esm2022/domain/f-draggable/on-pointer-move/on-pointer-move.execution.mjs +1 -1
  67. package/esm2022/domain/f-draggable/providers.mjs +2 -2
  68. package/esm2022/domain/f-draggable/start-drag-sequence/start-drag-sequence.execution.mjs +3 -3
  69. package/esm2022/domain/f-flow/add-flow-to-store/add-flow-to-store-request.mjs +1 -1
  70. package/esm2022/domain/f-flow/get-flow/get-flow.execution.mjs +1 -1
  71. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-connections/get-flow-state-connections.execution.mjs +2 -2
  72. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes-request.mjs +1 -1
  73. package/esm2022/domain/f-flow/get-flow-state/get-flow-state-nodes/get-flow-state-nodes.execution.mjs +4 -4
  74. package/esm2022/domain/f-flow/get-flow-state/get-flow-state.execution.mjs +2 -2
  75. package/esm2022/domain/f-flow/get-flow-state/providers.mjs +2 -2
  76. package/esm2022/domain/f-flow/providers.mjs +2 -2
  77. package/esm2022/domain/f-line-alignment/add-line-alignment-to-store/add-line-alignment-to-store-request.mjs +1 -1
  78. package/esm2022/domain/f-line-alignment/providers.mjs +2 -2
  79. package/esm2022/domain/f-node/add-node-to-store/add-node-to-store-request.mjs +1 -1
  80. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections-request.mjs +1 -1
  81. package/esm2022/domain/f-node/calculate-input-connections/calculate-input-connections.mjs +1 -1
  82. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections-request.mjs +1 -1
  83. package/esm2022/domain/f-node/calculate-output-connections/calculate-output-connections.mjs +1 -1
  84. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups-request.mjs +1 -1
  85. package/esm2022/domain/f-node/fit-to-child-nodes-and-groups/fit-to-child-nodes-and-groups.mjs +1 -1
  86. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.mjs +1 -1
  87. package/esm2022/domain/f-node/get-child-node-ids/get-child-node-ids.request.mjs +1 -1
  88. package/esm2022/domain/f-node/get-node-padding/get-node-padding.mjs +2 -2
  89. package/esm2022/domain/f-node/get-node-padding/get-node-padding.request.mjs +1 -1
  90. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.mjs +1 -1
  91. package/esm2022/domain/f-node/get-parent-nodes/get-parent-nodes.request.mjs +1 -1
  92. package/esm2022/domain/f-node/providers.mjs +3 -3
  93. package/esm2022/domain/f-node/remove-node-from-store/remove-node-from-store-request.mjs +1 -1
  94. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed-request.mjs +1 -1
  95. package/esm2022/domain/f-node/update-node-when-state-or-size-changed/update-node-when-state-or-size-changed.mjs +1 -1
  96. package/esm2022/domain/f-selection/get-can-be-selected-items/get-can-be-selected-items.execution.mjs +3 -3
  97. package/esm2022/domain/f-selection/get-current-selection/get-current-selection.execution.mjs +2 -2
  98. package/esm2022/domain/f-selection/providers.mjs +2 -2
  99. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.execution.mjs +1 -1
  100. package/esm2022/domain/f-selection/select-and-update-node-layer/select-and-update-node-layer.request.mjs +1 -1
  101. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store-request.mjs +1 -1
  102. package/esm2022/domain/f-zoom/add-zoom-to-store/add-zoom-to-store.execution.mjs +2 -2
  103. package/esm2022/domain/f-zoom/providers.mjs +2 -2
  104. package/esm2022/domain/f-zoom/remove-zoom-from-store/remove-zoom-from-store.execution.mjs +3 -3
  105. package/esm2022/domain/f-zoom/set-zoom/set-zoom-request.mjs +1 -1
  106. package/esm2022/domain/f-zoom/set-zoom/set-zoom.execution.mjs +1 -1
  107. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.execution.mjs +1 -1
  108. package/esm2022/domain/get-deep-children-nodes-and-groups/get-deep-children-nodes-and-groups.request.mjs +1 -1
  109. package/esm2022/domain/get-element-rounded-rect/get-element-rounded-rect.execution.mjs +1 -1
  110. package/esm2022/domain/get-normalized-connector-rect/get-normalized-connector-rect.execution.mjs +1 -1
  111. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect-request.mjs +1 -1
  112. package/esm2022/domain/get-normalized-element-rect/get-normalized-element-rect.execution.mjs +2 -2
  113. package/esm2022/domain/get-normalized-point/get-normalized-point-request.mjs +1 -1
  114. package/esm2022/domain/get-normalized-point/get-normalized-point.execution.mjs +1 -1
  115. package/esm2022/domain/i-map.mjs +1 -1
  116. package/esm2022/domain/log-deprecated.mjs +1 -1
  117. package/esm2022/domain/log-execution-time.mjs +1 -1
  118. package/esm2022/domain/providers.mjs +2 -2
  119. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.execution.mjs +2 -2
  120. package/esm2022/domain/sort-item-layers/sort-items-by-parent/sort-items-by-parent.request.mjs +2 -3
  121. package/esm2022/domain/sort-item-layers/sort-node-layers-by-groups/sort-node-layers.execution.mjs +1 -1
  122. package/esm2022/domain/update-item-and-children-layers/move-front-elements-before-target-element/move-front-elements-before-target-element.request.mjs +1 -1
  123. package/esm2022/domain/update-item-and-children-layers/update-item-and-children-layers.execution.mjs +1 -1
  124. package/esm2022/drag-toolkit/drag-and-drop-base.mjs +3 -3
  125. package/esm2022/drag-toolkit/event.extensions.mjs +1 -1
  126. package/esm2022/drag-toolkit/pointer-events/i-pointer-up-event.mjs +1 -1
  127. package/esm2022/drag-toolkit/pointer-events/i-touch-down-event.mjs +1 -1
  128. package/esm2022/drag-toolkit/pointer-events/i-touch-move-event.mjs +1 -1
  129. package/esm2022/f-backgroud/f-background.component.mjs +4 -4
  130. package/esm2022/f-backgroud/f-circle-pattern/f-circle-pattern.component.mjs +7 -7
  131. package/esm2022/f-backgroud/f-rect-pattern/f-rect-pattern.component.mjs +7 -7
  132. package/esm2022/f-backgroud/index.mjs +1 -1
  133. package/esm2022/f-backgroud/providers.mjs +2 -2
  134. package/esm2022/f-canvas/f-canvas-base.mjs +1 -1
  135. package/esm2022/f-canvas/f-canvas.component.mjs +3 -3
  136. package/esm2022/f-connection/common/domain/calculate-center-between-points/calculate-center-between-points-request.mjs +1 -1
  137. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center-request.mjs +1 -1
  138. package/esm2022/f-connection/common/domain/calculate-connection-center/calculate-connection-center.handler.mjs +2 -2
  139. package/esm2022/f-connection/common/domain/f-bezier.path-builder.mjs +2 -2
  140. package/esm2022/f-connection/common/domain/f-segment.path-builder.mjs +3 -3
  141. package/esm2022/f-connection/common/domain/f-straight.path-builder.mjs +1 -1
  142. package/esm2022/f-connection/common/f-connection-base.mjs +4 -4
  143. package/esm2022/f-connection/common/f-connection-identifiers.mjs +2 -2
  144. package/esm2022/f-connection/common/f-connection-text/f-connection-text-path.directive.mjs +4 -4
  145. package/esm2022/f-connection/common/f-connection-text/f-connection-text.component.mjs +2 -2
  146. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-end.component.mjs +4 -4
  147. package/esm2022/f-connection/common/f-drag-handle/f-connection-drag-handle-start.component.mjs +4 -4
  148. package/esm2022/f-connection/common/f-gradient/f-connection-gradient.component.mjs +2 -2
  149. package/esm2022/f-connection/common/f-path/f-connection-path.component.mjs +1 -1
  150. package/esm2022/f-connection/common/f-selection/f-connection-selection.component.mjs +2 -2
  151. package/esm2022/f-connection/common/i-has-connection-color.mjs +1 -1
  152. package/esm2022/f-connection/common/i-has-connection-from-to.mjs +1 -1
  153. package/esm2022/f-connection/f-connection/f-connection.component.mjs +3 -3
  154. package/esm2022/f-connection/f-connection-builder/f-connection-builders.mjs +1 -1
  155. package/esm2022/f-connection/f-connection-builder/f-connection-factory.mjs +1 -1
  156. package/esm2022/f-connection/f-connection-center/f-connection-center.directive.mjs +3 -3
  157. package/esm2022/f-connection/f-connection-for-create/f-connection-for-create.component.mjs +3 -3
  158. package/esm2022/f-connection/f-marker/f-marker.directive.mjs +3 -3
  159. package/esm2022/f-connection/f-snap-connection/f-snap-connection.component.mjs +2 -2
  160. package/esm2022/f-connection/index.mjs +1 -1
  161. package/esm2022/f-connection/providers.mjs +3 -3
  162. package/esm2022/f-connectors/f-node-input/f-node-input.directive.mjs +4 -4
  163. package/esm2022/f-connectors/f-node-outlet/f-node-outlet.directive.mjs +2 -2
  164. package/esm2022/f-connectors/f-node-output/f-node-output.directive.mjs +3 -3
  165. package/esm2022/f-connectors/providers.mjs +2 -2
  166. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.execution.mjs +1 -1
  167. package/esm2022/f-draggable/domain/get-normalized-parent-node-rect/get-normalized-parent-node-rect.request.mjs +1 -1
  168. package/esm2022/f-draggable/domain/is-array-has-parent-node/is-array-has-parent-node.request.mjs +1 -1
  169. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.execution.mjs +1 -1
  170. package/esm2022/f-draggable/domain/is-connection-under-node/is-connection-under-node.request.mjs +1 -1
  171. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.execution.mjs +1 -1
  172. package/esm2022/f-draggable/f-canvas/move-finalize/f-canvas-move-finalize.request.mjs +1 -1
  173. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.execution.mjs +1 -1
  174. package/esm2022/f-draggable/f-canvas/move-preparation/f-canvas-move-preparation.request.mjs +1 -1
  175. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.execution.mjs +1 -1
  176. package/esm2022/f-draggable/f-connection/f-create-connection/create-finalize/f-create-connection-finalize.request.mjs +1 -1
  177. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.execution.mjs +2 -2
  178. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/drag-handler-preparation/f-create-connection-drag-handler-preparation.request.mjs +1 -1
  179. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.execution.mjs +1 -1
  180. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/f-create-connection-preparation.request.mjs +1 -1
  181. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.execution.mjs +1 -1
  182. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-outlet-preparation/f-create-connection-from-outlet-preparation.request.mjs +1 -1
  183. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.execution.mjs +1 -1
  184. package/esm2022/f-draggable/f-connection/f-create-connection/create-preparation/from-output-preparation/f-create-connection-from-output-preparation.request.mjs +1 -1
  185. package/esm2022/f-draggable/f-connection/f-create-connection/f-create-connection.drag-handler.mjs +2 -2
  186. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.execution.mjs +1 -1
  187. package/esm2022/f-draggable/f-connection/f-create-connection/get-first-connectable-output/get-first-connectable-output.request.mjs +1 -1
  188. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.drag-handler.mjs +3 -3
  189. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-connection.event.mjs +1 -1
  190. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-source.drag-handler.mjs +2 -2
  191. package/esm2022/f-draggable/f-connection/f-reassign-connection/f-reassign-target.drag-handler.mjs +2 -2
  192. package/esm2022/f-draggable/f-connection/f-reassign-connection/i-f-reassign-handler.mjs +1 -1
  193. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.execution.mjs +1 -1
  194. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-finalize/f-reassign-connection-finalize.request.mjs +1 -1
  195. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.execution.mjs +3 -3
  196. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/f-reassign-connection-preparation.request.mjs +1 -1
  197. package/esm2022/f-draggable/f-connection/f-reassign-connection/reassign-preparation/is-pointer-inside-start-or-end-drag-handles.mjs +1 -1
  198. package/esm2022/f-draggable/f-drag-blocker.directive.mjs +2 -2
  199. package/esm2022/f-draggable/f-drag-handler/i-f-drag-handler.mjs +1 -1
  200. package/esm2022/f-draggable/f-draggable-base.mjs +2 -9
  201. package/esm2022/f-draggable/f-draggable.directive.mjs +29 -23
  202. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize-request.mjs +1 -1
  203. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-finalize/drop-to-group-finalize.mjs +1 -1
  204. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation-request.mjs +1 -1
  205. package/esm2022/f-draggable/f-drop-to-group/drop-to-group-preparation/drop-to-group-preparation.mjs +1 -1
  206. package/esm2022/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.mjs +12 -19
  207. package/esm2022/f-draggable/f-drop-to-group/providers.mjs +2 -2
  208. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer-request.mjs +1 -1
  209. package/esm2022/f-draggable/f-drop-to-group/sort-containers-for-drop-by-layer/sort-containers-for-drop-by-layer.mjs +13 -7
  210. package/esm2022/f-draggable/f-node-move/connection-drag-handlers/base-connection.drag-handler.mjs +2 -2
  211. package/esm2022/f-draggable/f-node-move/constraint/drag-constraint-pipeline.mjs +1 -1
  212. package/esm2022/f-draggable/f-node-move/constraint/expand-rect-from-baseline.mjs +5 -3
  213. package/esm2022/f-draggable/f-node-move/constraint/rect-constraint.mjs +3 -2
  214. package/esm2022/f-draggable/f-node-move/constraint/snap-to-grid.mjs +3 -3
  215. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-request.mjs +1 -1
  216. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy-response.mjs +1 -1
  217. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/build-drag-hierarchy/build-drag-hierarchy.mjs +1 -1
  218. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits-request.mjs +1 -1
  219. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/calculate-drag-limits.mjs +3 -3
  220. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-drag-limits.mjs +1 -1
  221. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/calculate-drag-limits/i-soft-limit.mjs +1 -1
  222. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection-request.mjs +1 -1
  223. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-drag-model-from-selection.mjs +2 -2
  224. 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 +1 -1
  225. 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 +2 -2
  226. 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 +1 -1
  227. 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 +2 -2
  228. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler-request.mjs +1 -1
  229. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/create-summary-drag-handler/create-summary-drag-handler.mjs +1 -1
  230. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-request.mjs +1 -1
  231. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings-response.mjs +1 -1
  232. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/get-node-bounding-include-paddings/get-node-bounding-include-paddings.mjs +2 -2
  233. package/esm2022/f-draggable/f-node-move/create-drag-model-from-selection/providers.mjs +1 -1
  234. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines-request.mjs +1 -1
  235. package/esm2022/f-draggable/f-node-move/create-snap-lines/create-snap-lines.mjs +1 -1
  236. package/esm2022/f-draggable/f-node-move/create-snap-lines/snap-lines.drag-handler.mjs +1 -1
  237. package/esm2022/f-draggable/f-node-move/f-move-nodes.event.mjs +1 -1
  238. package/esm2022/f-draggable/f-node-move/move-drag-handler.mjs +1 -1
  239. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.execution.mjs +2 -2
  240. package/esm2022/f-draggable/f-node-move/move-finalize/f-node-move-finalize.request.mjs +1 -1
  241. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.execution.mjs +1 -1
  242. package/esm2022/f-draggable/f-node-move/move-preparation/f-node-move-preparation.request.mjs +1 -1
  243. package/esm2022/f-draggable/f-node-move/move-summary-drag-handler.mjs +2 -2
  244. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints-request.mjs +1 -1
  245. package/esm2022/f-draggable/f-node-resize/apply-child-resize-constraints/apply-child-resize-constraints.mjs +3 -2
  246. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints-request.mjs +1 -1
  247. package/esm2022/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.mjs +15 -13
  248. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference-request.mjs +1 -1
  249. package/esm2022/f-draggable/f-node-resize/calculate-changed-rect-from-difference/calculate-changed-rect-from-difference.mjs +1 -1
  250. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect-request.mjs +1 -1
  251. package/esm2022/f-draggable/f-node-resize/calculate-direct-children-union-rect/calculate-direct-children-union-rect.mjs +1 -1
  252. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits-request.mjs +1 -1
  253. package/esm2022/f-draggable/f-node-resize/calculate-resize-limits/calculate-resize-limits.mjs +2 -2
  254. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-constraint.mjs +1 -1
  255. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limit.mjs +1 -1
  256. package/esm2022/f-draggable/f-node-resize/constraint/i-resize-limits.mjs +1 -1
  257. package/esm2022/f-draggable/f-node-resize/node-resize.drag-handler.mjs +1 -1
  258. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize-request.mjs +1 -1
  259. package/esm2022/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.mjs +2 -2
  260. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation-request.mjs +1 -1
  261. package/esm2022/f-draggable/f-node-resize/resize-preparation/node-resize-preparation.mjs +2 -2
  262. package/esm2022/f-draggable/f-node-rotate/calculate-difference-after-rotation.mjs +1 -1
  263. package/esm2022/f-draggable/f-node-rotate/f-node-rotate.drag-handler.mjs +4 -4
  264. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.mjs +5 -4
  265. package/esm2022/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.request.mjs +1 -1
  266. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.execution.mjs +4 -4
  267. package/esm2022/f-draggable/f-node-rotate/rotate-preparation/f-node-rotate-preparation.request.mjs +1 -1
  268. package/esm2022/f-draggable/f-single-select/f-single-select.execution.mjs +1 -1
  269. package/esm2022/f-draggable/f-single-select/f-single-select.request.mjs +1 -1
  270. package/esm2022/f-draggable/i-f-drag-and-drop-plugin.mjs +1 -1
  271. package/esm2022/f-draggable/index.mjs +1 -1
  272. package/esm2022/f-draggable/providers.mjs +2 -2
  273. package/esm2022/f-external-item/domain/constraint/external-rect-constraint.mjs +3 -3
  274. package/esm2022/f-external-item/domain/create-placeholder/f-external-item-create-placeholder.execution.mjs +1 -1
  275. package/esm2022/f-external-item/domain/create-preview/f-external-item-create-preview.execution.mjs +2 -2
  276. package/esm2022/f-external-item/domain/f-create-node.event.mjs +1 -1
  277. package/esm2022/f-external-item/domain/f-external-item.drag-handler.mjs +2 -2
  278. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.execution.mjs +9 -10
  279. package/esm2022/f-external-item/domain/finalize/f-external-item-finalize.request.mjs +1 -1
  280. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.execution.mjs +2 -2
  281. package/esm2022/f-external-item/domain/preparation/f-external-item-preparation.request.mjs +1 -1
  282. package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.execution.mjs +5 -5
  283. package/esm2022/f-external-item/domain/prevent-default-is-external-item/prevent-default-is-external-item.request.mjs +1 -1
  284. package/esm2022/f-external-item/f-external-item-base.mjs +1 -1
  285. package/esm2022/f-external-item/f-external-item-placeholder.directive.mjs +5 -5
  286. package/esm2022/f-external-item/f-external-item-preview.directive.mjs +4 -4
  287. package/esm2022/f-external-item/f-external-item.directive.mjs +13 -20
  288. package/esm2022/f-external-item/f-external-item.service.mjs +3 -3
  289. package/esm2022/f-external-item/providers.mjs +2 -2
  290. package/esm2022/f-flow/f-flow.component.mjs +5 -5
  291. package/esm2022/f-flow/providers.mjs +2 -2
  292. package/esm2022/f-flow.module.mjs +3 -3
  293. package/esm2022/f-line-alignment/domain/snap-line-element.mjs +19 -15
  294. package/esm2022/f-line-alignment/domain/snap-line-service.mjs +16 -18
  295. package/esm2022/f-line-alignment/f-line-alignment.component.mjs +4 -4
  296. package/esm2022/f-line-alignment/providers.mjs +2 -2
  297. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.mjs +14 -18
  298. package/esm2022/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.request.mjs +1 -1
  299. package/esm2022/f-minimap/domain/f-minimap-data.mjs +1 -1
  300. package/esm2022/f-minimap/domain/f-minimap.drag-handler.mjs +25 -25
  301. package/esm2022/f-minimap/domain/minimap-calculate-svg-scale-and-view-box/minimap-calculate-svg-scale-and-view-box.execution.mjs +2 -2
  302. package/esm2022/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.mjs +9 -8
  303. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.mjs +9 -11
  304. package/esm2022/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.request.mjs +1 -1
  305. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.mjs +26 -32
  306. package/esm2022/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.request.mjs +1 -1
  307. package/esm2022/f-minimap/domain/minimap-draw-nodes/minimap-draw-nodes.execution.mjs +2 -1
  308. package/esm2022/f-minimap/f-minimap-canvas.directive.mjs +2 -2
  309. package/esm2022/f-minimap/f-minimap-flow.directive.mjs +3 -3
  310. package/esm2022/f-minimap/f-minimap-view.directive.mjs +2 -2
  311. package/esm2022/f-minimap/f-minimap.component.mjs +1 -1
  312. package/esm2022/f-node/f-drag-handle.directive.mjs +3 -3
  313. package/esm2022/f-node/f-group.directive.mjs +6 -4
  314. package/esm2022/f-node/f-node-base.mjs +1 -1
  315. package/esm2022/f-node/f-node.directive.mjs +11 -13
  316. package/esm2022/f-node/f-resize-handle/f-resize-handle.directive.mjs +5 -5
  317. package/esm2022/f-selection-area/domain/providers.mjs +2 -2
  318. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.mjs +2 -2
  319. package/esm2022/f-selection-area/domain/selection-area-finalize/selection-area-finalize.request.mjs +1 -1
  320. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.execution.mjs +2 -2
  321. package/esm2022/f-selection-area/domain/selection-area-preparation/selection-area-preparation.request.mjs +1 -1
  322. package/esm2022/f-selection-area/domain/selection-area.drag-handle.mjs +1 -1
  323. package/esm2022/f-selection-area/f-selection-area.component.mjs +2 -2
  324. package/esm2022/f-selection-area/providers.mjs +2 -2
  325. package/esm2022/f-storage/f-components-store.mjs +1 -1
  326. package/esm2022/f-storage/features/listen-components-data-changed/listen-data-changes.execution.mjs +3 -4
  327. package/esm2022/f-storage/features/listen-count-changes/listen-count-changes.execution.mjs +3 -4
  328. package/esm2022/f-storage/features/listen-transform-changes/listen-transform-changes.execution.mjs +2 -2
  329. package/esm2022/f-storage/features/notify-data-changed/notify-data-changed.execution.mjs +2 -2
  330. package/esm2022/f-storage/features/notify-transform-changed/notify-transform-changed.execution.mjs +2 -2
  331. package/esm2022/f-zoom/f-zoom.directive.mjs +4 -4
  332. package/esm2022/f-zoom/providers.mjs +2 -2
  333. package/esm2022/mixins/change-selection/change-selection.mjs +1 -1
  334. package/esm2022/mixins/change-selection/i-selectable.mjs +1 -1
  335. package/esm2022/reactivity/debounce-time.mjs +2 -2
  336. package/esm2022/reactivity/f-channel-hub.mjs +1 -1
  337. package/esm2022/reactivity/f-channel.mjs +1 -1
  338. package/esm2022/reactivity/f-resize-channel.mjs +1 -1
  339. package/esm2022/reactivity/index.mjs +1 -2
  340. package/esm2022/reactivity/notify-on-start.mjs +1 -1
  341. package/esm2022/utils/infinity-min-max.mjs +2 -2
  342. package/f-connection/f-connection-builder/f-connection-builders.d.ts +1 -3
  343. package/f-connection/providers.d.ts +1 -1
  344. package/f-draggable/domain/providers.d.ts +1 -1
  345. package/f-draggable/f-connection/providers.d.ts +1 -1
  346. package/f-draggable/f-draggable-base.d.ts +6 -9
  347. package/f-draggable/f-draggable.directive.d.ts +8 -9
  348. package/f-draggable/f-drop-to-group/f-node-drop-to-group.drag-handler.d.ts +2 -6
  349. package/f-draggable/f-drop-to-group/providers.d.ts +1 -1
  350. package/f-draggable/f-node-move/create-drag-model-from-selection/providers.d.ts +1 -1
  351. package/f-draggable/f-node-move/providers.d.ts +1 -1
  352. package/f-draggable/f-node-resize/apply-parent-resize-constraints/apply-parent-resize-constraints.d.ts +2 -2
  353. package/f-draggable/f-node-resize/resize-finalize/node-resize-finalize.d.ts +1 -1
  354. package/f-draggable/f-node-rotate/f-node-rotate.drag-handler.d.ts +1 -1
  355. package/f-draggable/f-node-rotate/providers.d.ts +1 -1
  356. package/f-draggable/f-node-rotate/rotate-finalize/f-node-rotate-finalize.execution.d.ts +1 -1
  357. package/f-draggable/providers.d.ts +1 -1
  358. package/f-external-item/domain/finalize/f-external-item-finalize.execution.d.ts +1 -1
  359. package/f-external-item/f-external-item-base.d.ts +3 -3
  360. package/f-external-item/f-external-item-placeholder.directive.d.ts +1 -1
  361. package/f-external-item/f-external-item-preview.directive.d.ts +1 -1
  362. package/f-external-item/f-external-item-token.d.ts +1 -1
  363. package/f-external-item/f-external-item.directive.d.ts +5 -6
  364. package/f-external-item/f-external-item.service.d.ts +1 -1
  365. package/f-line-alignment/domain/snap-line-element.d.ts +2 -3
  366. package/f-line-alignment/domain/snap-line-service.d.ts +3 -4
  367. package/f-minimap/domain/calculate-flow-point-from-minimap-point/calculate-flow-point-from-minimap-point.execution.d.ts +5 -7
  368. package/f-minimap/domain/f-minimap.drag-handler.d.ts +10 -10
  369. package/f-minimap/domain/minimap-calculate-view-box/minimap-calculate-view-box.execution.d.ts +3 -3
  370. package/f-minimap/domain/minimap-drag-finalize/minimap-drag-finalize.execution.d.ts +1 -3
  371. package/f-minimap/domain/minimap-drag-preparation/minimap-drag-preparation.execution.d.ts +7 -10
  372. package/f-minimap/domain/providers.d.ts +1 -1
  373. package/f-node/f-node.directive.d.ts +1 -1
  374. package/f-node/f-resize-handle/f-resize-handle.directive.d.ts +1 -1
  375. package/f-node/providers.d.ts +2 -2
  376. package/f-selection-area/domain/providers.d.ts +1 -1
  377. package/f-selection-area/domain/selection-area-finalize/selection-area-finalize.execution.d.ts +2 -2
  378. package/f-storage/f-components-store.d.ts +1 -1
  379. package/f-storage/features/listen-components-data-changed/listen-data-changes.execution.d.ts +2 -2
  380. package/f-storage/features/listen-count-changes/listen-count-changes.execution.d.ts +2 -2
  381. package/f-storage/features/listen-transform-changes/listen-transform-changes.execution.d.ts +2 -2
  382. package/f-storage/features/notify-data-changed/notify-data-changed.execution.d.ts +2 -2
  383. package/f-storage/features/notify-transform-changed/notify-transform-changed.execution.d.ts +2 -2
  384. package/fesm2022/foblex-flow.mjs +349 -370
  385. package/fesm2022/foblex-flow.mjs.map +1 -1
  386. package/package.json +1 -1
  387. package/reactivity/index.d.ts +0 -1
  388. package/schematics/ng-add/index.js +1 -1
  389. package/schematics/ng-add/index.js.map +1 -1
  390. package/schematics/ng-update/index.js +1 -1
  391. package/schematics/ng-update/index.js.map +1 -1
  392. package/schematics/shared/foblex-dependencies.js +1 -1
  393. package/utils/infinity-min-max.d.ts +1 -1
  394. package/esm2022/reactivity/mediator-effect.mjs +0 -14
  395. package/reactivity/mediator-effect.d.ts +0 -2
@@ -40,7 +40,7 @@ let SortItemsByParentExecution = class SortItemsByParentExecution {
40
40
  .filter((x) => this._fItemsContainer.contains(x.hostElement)).map((x) => x.hostElement);
41
41
  }
42
42
  _moveChildrenItems(sortedChildrenItems, parent) {
43
- let nextSibling = parent.hostElement.nextElementSibling;
43
+ const nextSibling = parent.hostElement.nextElementSibling;
44
44
  const fragment = this._browser.document.createDocumentFragment();
45
45
  sortedChildrenItems.forEach((child) => {
46
46
  fragment.appendChild(child); // Append automatically removes the element from its current position
@@ -57,4 +57,4 @@ export { SortItemsByParentExecution };
57
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortItemsByParentExecution, decorators: [{
58
58
  type: Injectable
59
59
  }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pdGVtcy1ieS1wYXJlbnQuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vc29ydC1pdGVtLWxheWVycy9zb3J0LWl0ZW1zLWJ5LXBhcmVudC9zb3J0LWl0ZW1zLWJ5LXBhcmVudC5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRWxEOzs7O0dBSUc7QUFHSSxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEwQjtJQUVwQixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTNDLGdCQUFnQixDQUFlO0lBRXZDLElBQVksY0FBYztRQUN4QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBa0IsQ0FBQztJQUNyRSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQ2hELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN0QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLHVCQUF1QixDQUM3QixLQUFnQjtRQUVoQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDdkMsTUFBTSxDQUFDLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7YUFDckYsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRU8saUJBQWlCLENBQUMsR0FBVztRQUNuQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFjLElBQUksb0NBQW9DLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdEYsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTyxrQkFBa0IsQ0FDeEIsbUJBQWtDLEVBQ2xDLE1BQWlCO1FBRWpCLElBQUksV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7UUFFeEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUVqRSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUU7WUFDakQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHFFQUFxRTtRQUNwRyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBbERVLDBCQUEwQjs0R0FBMUIsMEJBQTBCOztBQUExQiwwQkFBMEI7SUFEdEMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7R0FDaEMsMEJBQTBCLENBbUR0Qzs7NEZBbkRZLDBCQUEwQjtrQkFGdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvcnRJdGVtc0J5UGFyZW50UmVxdWVzdCB9IGZyb20gJy4vc29ydC1pdGVtcy1ieS1wYXJlbnQucmVxdWVzdCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9nZXQtZGVlcC1jaGlsZHJlbi1ub2Rlcy1hbmQtZ3JvdXBzJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgc29ydHMgaXRlbXMgYnkgdGhlaXIgcGFyZW50IG5vZGVzIGluIHRoZSBGSXRlbXNDb250YWluZXIuXG4gKiBJdCByZXRyaWV2ZXMgYWxsIGl0ZW1zIHdpdGhpbiB0aGUgY29udGFpbmVyLCBzb3J0cyB0aGVpciBjaGlsZHJlbiBiYXNlZCBvbiB0aGVpciBjdXJyZW50IG9yZGVyLFxuICogYW5kIG1vdmVzIHRoZW0gdG8gbWFpbnRhaW4gdGhlIGNvcnJlY3QgaGllcmFyY2h5LlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNvcnRJdGVtc0J5UGFyZW50UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBTb3J0SXRlbXNCeVBhcmVudEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248U29ydEl0ZW1zQnlQYXJlbnRSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Jyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgX2ZJdGVtc0NvbnRhaW5lciE6IEhUTUxFbGVtZW50O1xuXG4gIHByaXZhdGUgZ2V0IF9mSXRlbUVsZW1lbnRzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2ZJdGVtc0NvbnRhaW5lci5jaGlsZHJlbikgYXMgSFRNTEVsZW1lbnRbXTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogU29ydEl0ZW1zQnlQYXJlbnRSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5fZkl0ZW1zQ29udGFpbmVyID0gcmVxdWVzdC5mSXRlbXNDb250YWluZXI7XG4gICAgdGhpcy5fZ2V0SXRlbXNPZkNvbnRhaW5lcigpLmZvckVhY2goKGZJdGVtOiBGTm9kZUJhc2UpID0+IHtcbiAgICAgIHRoaXMuX21vdmVDaGlsZHJlbkl0ZW1zKHRoaXMuX2dldFNvcnRlZENoaWxkcmVuSXRlbXMoZkl0ZW0pLCBmSXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJdGVtc09mQ29udGFpbmVyKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZk5vZGVzXG4gICAgICAuZmlsdGVyKCh4KSA9PiB0aGlzLl9mSXRlbXNDb250YWluZXIuY29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U29ydGVkQ2hpbGRyZW5JdGVtcyhcbiAgICBmSXRlbTogRk5vZGVCYXNlLFxuICApOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCBpbmRleEluQ29udGFpbmVyID0gdGhpcy5fZkl0ZW1FbGVtZW50cy5pbmRleE9mKGZJdGVtLmhvc3RFbGVtZW50KTtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Q2hpbGRyZW5JdGVtcyhmSXRlbS5mSWQoKSlcbiAgICAgIC5maWx0ZXIoKGNoaWxkOiBIVE1MRWxlbWVudCkgPT4gdGhpcy5fZkl0ZW1FbGVtZW50cy5pbmRleE9mKGNoaWxkKSA8IGluZGV4SW5Db250YWluZXIpXG4gICAgICAuc29ydCgoYSwgYikgPT4gdGhpcy5fZkl0ZW1FbGVtZW50cy5pbmRleE9mKGEpIC0gdGhpcy5fZkl0ZW1FbGVtZW50cy5pbmRleE9mKGIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuSXRlbXMoZklkOiBzdHJpbmcpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5fbWVkaWF0b3IuZXhlY3V0ZTxGTm9kZUJhc2VbXT4obmV3IEdldERlZXBDaGlsZHJlbk5vZGVzQW5kR3JvdXBzUmVxdWVzdChmSWQpKVxuICAgICAgLmZpbHRlcigoeCkgPT4gdGhpcy5fZkl0ZW1zQ29udGFpbmVyLmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpKS5tYXAoKHgpID0+IHguaG9zdEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbW92ZUNoaWxkcmVuSXRlbXMoXG4gICAgc29ydGVkQ2hpbGRyZW5JdGVtczogSFRNTEVsZW1lbnRbXSxcbiAgICBwYXJlbnQ6IEZOb2RlQmFzZSxcbiAgKTogdm9pZCB7XG4gICAgbGV0IG5leHRTaWJsaW5nID0gcGFyZW50Lmhvc3RFbGVtZW50Lm5leHRFbGVtZW50U2libGluZztcblxuICAgIGNvbnN0IGZyYWdtZW50ID0gdGhpcy5fYnJvd3Nlci5kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG5cbiAgICBzb3J0ZWRDaGlsZHJlbkl0ZW1zLmZvckVhY2goKGNoaWxkOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoY2hpbGQpOyAvLyBBcHBlbmQgYXV0b21hdGljYWxseSByZW1vdmVzIHRoZSBlbGVtZW50IGZyb20gaXRzIGN1cnJlbnQgcG9zaXRpb25cbiAgICB9KTtcbiAgICB0aGlzLl9mSXRlbXNDb250YWluZXIuaW5zZXJ0QmVmb3JlKGZyYWdtZW50LCBuZXh0U2libGluZyk7XG4gIH1cbn1cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pdGVtcy1ieS1wYXJlbnQuZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kb21haW4vc29ydC1pdGVtLWxheWVycy9zb3J0LWl0ZW1zLWJ5LXBhcmVudC9zb3J0LWl0ZW1zLWJ5LXBhcmVudC5leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxTQUFTLEVBQWMsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRWxEOzs7O0dBSUc7QUFHSSxJQUFNLDBCQUEwQixHQUFoQyxNQUFNLDBCQUEwQjtJQUVwQixNQUFNLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbEMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixRQUFRLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTNDLGdCQUFnQixDQUFlO0lBRXZDLElBQVksY0FBYztRQUN4QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBa0IsQ0FBQztJQUNyRSxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQWlDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQ2hELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUN2RCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN0QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVPLHVCQUF1QixDQUM3QixLQUFnQjtRQUVoQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV4RSxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDdkMsTUFBTSxDQUFDLENBQUMsS0FBa0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7YUFDckYsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRU8saUJBQWlCLENBQUMsR0FBVztRQUNuQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFjLElBQUksb0NBQW9DLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdEYsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVGLENBQUM7SUFFTyxrQkFBa0IsQ0FDeEIsbUJBQWtDLEVBQ2xDLE1BQWlCO1FBRWpCLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7UUFFMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUVqRSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFrQixFQUFFLEVBQUU7WUFDakQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLHFFQUFxRTtRQUNwRyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBbkRVLDBCQUEwQjs0R0FBMUIsMEJBQTBCOztBQUExQiwwQkFBMEI7SUFEdEMsa0JBQWtCLENBQUMsd0JBQXdCLENBQUM7R0FDaEMsMEJBQTBCLENBb0R0Qzs7NEZBcERZLDBCQUEwQjtrQkFGdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvcnRJdGVtc0J5UGFyZW50UmVxdWVzdCB9IGZyb20gJy4vc29ydC1pdGVtcy1ieS1wYXJlbnQucmVxdWVzdCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFeGVjdXRpb25SZWdpc3RlciwgRk1lZGlhdG9yLCBJRXhlY3V0aW9uIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBGQ29tcG9uZW50c1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vZi1zdG9yYWdlJztcbmltcG9ydCB7IEZOb2RlQmFzZSB9IGZyb20gJy4uLy4uLy4uL2Ytbm9kZSc7XG5pbXBvcnQgeyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QgfSBmcm9tICcuLi8uLi9nZXQtZGVlcC1jaGlsZHJlbi1ub2Rlcy1hbmQtZ3JvdXBzJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgc29ydHMgaXRlbXMgYnkgdGhlaXIgcGFyZW50IG5vZGVzIGluIHRoZSBGSXRlbXNDb250YWluZXIuXG4gKiBJdCByZXRyaWV2ZXMgYWxsIGl0ZW1zIHdpdGhpbiB0aGUgY29udGFpbmVyLCBzb3J0cyB0aGVpciBjaGlsZHJlbiBiYXNlZCBvbiB0aGVpciBjdXJyZW50IG9yZGVyLFxuICogYW5kIG1vdmVzIHRoZW0gdG8gbWFpbnRhaW4gdGhlIGNvcnJlY3QgaGllcmFyY2h5LlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFNvcnRJdGVtc0J5UGFyZW50UmVxdWVzdClcbmV4cG9ydCBjbGFzcyBTb3J0SXRlbXNCeVBhcmVudEV4ZWN1dGlvbiBpbXBsZW1lbnRzIElFeGVjdXRpb248U29ydEl0ZW1zQnlQYXJlbnRSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Jyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgX2ZJdGVtc0NvbnRhaW5lciE6IEhUTUxFbGVtZW50O1xuXG4gIHByaXZhdGUgZ2V0IF9mSXRlbUVsZW1lbnRzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX2ZJdGVtc0NvbnRhaW5lci5jaGlsZHJlbikgYXMgSFRNTEVsZW1lbnRbXTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogU29ydEl0ZW1zQnlQYXJlbnRSZXF1ZXN0KTogdm9pZCB7XG4gICAgdGhpcy5fZkl0ZW1zQ29udGFpbmVyID0gcmVxdWVzdC5mSXRlbXNDb250YWluZXI7XG4gICAgdGhpcy5fZ2V0SXRlbXNPZkNvbnRhaW5lcigpLmZvckVhY2goKGZJdGVtOiBGTm9kZUJhc2UpID0+IHtcbiAgICAgIHRoaXMuX21vdmVDaGlsZHJlbkl0ZW1zKHRoaXMuX2dldFNvcnRlZENoaWxkcmVuSXRlbXMoZkl0ZW0pLCBmSXRlbSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRJdGVtc09mQ29udGFpbmVyKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZk5vZGVzXG4gICAgICAuZmlsdGVyKCh4KSA9PiB0aGlzLl9mSXRlbXNDb250YWluZXIuY29udGFpbnMoeC5ob3N0RWxlbWVudCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0U29ydGVkQ2hpbGRyZW5JdGVtcyhcbiAgICBmSXRlbTogRk5vZGVCYXNlLFxuICApOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCBpbmRleEluQ29udGFpbmVyID0gdGhpcy5fZkl0ZW1FbGVtZW50cy5pbmRleE9mKGZJdGVtLmhvc3RFbGVtZW50KTtcblxuICAgIHJldHVybiB0aGlzLl9nZXRDaGlsZHJlbkl0ZW1zKGZJdGVtLmZJZCgpKVxuICAgICAgLmZpbHRlcigoY2hpbGQ6IEhUTUxFbGVtZW50KSA9PiB0aGlzLl9mSXRlbUVsZW1lbnRzLmluZGV4T2YoY2hpbGQpIDwgaW5kZXhJbkNvbnRhaW5lcilcbiAgICAgIC5zb3J0KChhLCBiKSA9PiB0aGlzLl9mSXRlbUVsZW1lbnRzLmluZGV4T2YoYSkgLSB0aGlzLl9mSXRlbUVsZW1lbnRzLmluZGV4T2YoYikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5JdGVtcyhmSWQ6IHN0cmluZyk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpXG4gICAgICAuZmlsdGVyKCh4KSA9PiB0aGlzLl9mSXRlbXNDb250YWluZXIuY29udGFpbnMoeC5ob3N0RWxlbWVudCkpLm1hcCgoeCkgPT4geC5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9tb3ZlQ2hpbGRyZW5JdGVtcyhcbiAgICBzb3J0ZWRDaGlsZHJlbkl0ZW1zOiBIVE1MRWxlbWVudFtdLFxuICAgIHBhcmVudDogRk5vZGVCYXNlLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBuZXh0U2libGluZyA9IHBhcmVudC5ob3N0RWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmc7XG5cbiAgICBjb25zdCBmcmFnbWVudCA9IHRoaXMuX2Jyb3dzZXIuZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuXG4gICAgc29ydGVkQ2hpbGRyZW5JdGVtcy5mb3JFYWNoKChjaGlsZDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGNoaWxkKTsgLy8gQXBwZW5kIGF1dG9tYXRpY2FsbHkgcmVtb3ZlcyB0aGUgZWxlbWVudCBmcm9tIGl0cyBjdXJyZW50IHBvc2l0aW9uXG4gICAgfSk7XG4gICAgdGhpcy5fZkl0ZW1zQ29udGFpbmVyLmluc2VydEJlZm9yZShmcmFnbWVudCwgbmV4dFNpYmxpbmcpO1xuICB9XG59XG4iXX0=
@@ -1,9 +1,8 @@
1
1
  export class SortItemsByParentRequest {
2
2
  fItemsContainer;
3
3
  static fToken = Symbol('SortItemsByParentRequest');
4
- constructor(fItemsContainer // fGroupsContainer || fNodesContainer
5
- ) {
4
+ constructor(fItemsContainer) {
6
5
  this.fItemsContainer = fItemsContainer;
7
6
  }
8
7
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pdGVtcy1ieS1wYXJlbnQucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3NvcnQtaXRlbS1sYXllcnMvc29ydC1pdGVtcy1ieS1wYXJlbnQvc29ydC1pdGVtcy1ieS1wYXJlbnQucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sd0JBQXdCO0lBSTFCO0lBSFQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUU1RCxZQUNTLGVBQTRCLENBQUMsc0NBQXNDOztRQUFuRSxvQkFBZSxHQUFmLGVBQWUsQ0FBYTtJQUVyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFNvcnRJdGVtc0J5UGFyZW50UmVxdWVzdCB7XG4gIHN0YXRpYyByZWFkb25seSBmVG9rZW4gPSBTeW1ib2woJ1NvcnRJdGVtc0J5UGFyZW50UmVxdWVzdCcpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBmSXRlbXNDb250YWluZXI6IEhUTUxFbGVtZW50IC8vIGZHcm91cHNDb250YWluZXIgfHwgZk5vZGVzQ29udGFpbmVyXG4gICkge1xuICB9XG59XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1pdGVtcy1ieS1wYXJlbnQucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3NvcnQtaXRlbS1sYXllcnMvc29ydC1pdGVtcy1ieS1wYXJlbnQvc29ydC1pdGVtcy1ieS1wYXJlbnQucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sd0JBQXdCO0lBSTFCO0lBSFQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUU1RCxZQUNTLGVBQTRCO1FBQTVCLG9CQUFlLEdBQWYsZUFBZSxDQUFhO0lBRXJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgU29ydEl0ZW1zQnlQYXJlbnRSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnU29ydEl0ZW1zQnlQYXJlbnRSZXF1ZXN0Jyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGZJdGVtc0NvbnRhaW5lcjogSFRNTEVsZW1lbnQsIC8vIGZHcm91cHNDb250YWluZXIgfHwgZk5vZGVzQ29udGFpbmVyXG4gICkge1xuICB9XG59XG4iXX0=
@@ -62,4 +62,4 @@ export { SortNodeLayersExecution };
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortNodeLayersExecution, decorators: [{
63
63
  type: Injectable
64
64
  }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1ub2RlLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zb3J0LWl0ZW0tbGF5ZXJzL3NvcnQtbm9kZS1sYXllcnMtYnktZ3JvdXBzL3NvcnQtbm9kZS1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUdsRDs7OztHQUlHO0FBR0ksSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBdUI7SUFFakIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuRCxJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBWSxpQkFBaUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFZLGNBQWM7UUFDeEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQWtCLENBQUM7SUFDckUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUE4QjtRQUMxQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBaUIsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ3RCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sdUJBQXVCLENBQzdCLE1BQWlCO1FBRWpCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ3hDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQWMsSUFBSSxvQ0FBb0MsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN0RixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVPLGtCQUFrQixDQUN4QixvQkFBbUM7UUFFbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNqRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUF1QixFQUFFLEVBQUU7WUFDdkQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFFQUFxRTtRQUN6RyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQzt3R0F0RFUsdUJBQXVCOzRHQUF2Qix1QkFBdUI7O0FBQXZCLHVCQUF1QjtJQURuQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQztHQUM3Qix1QkFBdUIsQ0F1RG5DOzs0RkF2RFksdUJBQXVCO2tCQUZuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29ydE5vZGVMYXllcnNSZXF1ZXN0IH0gZnJvbSAnLi9zb3J0LW5vZGUtbGF5ZXJzLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZ2V0LWRlZXAtY2hpbGRyZW4tbm9kZXMtYW5kLWdyb3Vwcyc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRkNhbnZhc0Jhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNhbnZhcyc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgc29ydHMgbm9kZSBsYXllcnMgYnkgdGhlaXIgcGFyZW50IG5vZGVzIGluIHRoZSBGQ2FudmFzLlxuICogSXQgcmV0cmlldmVzIGFsbCBncm91cHMsIHNvcnRzIHRoZWlyIGNoaWxkcmVuIG5vZGVzIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQgb3JkZXIsXG4gKiBhbmQgbW92ZXMgdGhlbSB0byBtYWludGFpbiB0aGUgY29ycmVjdCBoaWVyYXJjaHkuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoU29ydE5vZGVMYXllcnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNvcnROb2RlTGF5ZXJzRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxTb3J0Tm9kZUxheWVyc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJvd3NlciA9IGluamVjdChCcm93c2VyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDYW52YXMoKTogRkNhbnZhc0Jhc2Uge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mR3JvdXBzQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mR3JvdXBzQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mTm9kZXNDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ2FudmFzLmZOb2Rlc0NvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZk5vZGVFbGVtZW50cygpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9mTm9kZXNDb250YWluZXIuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFNvcnROb2RlTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2dldEdyb3VwcygpLmZvckVhY2goKHBhcmVudDogRk5vZGVCYXNlKSA9PiB7XG4gICAgICB0aGlzLl9tb3ZlQ2hpbGRyZW5Ob2Rlcyh0aGlzLl9nZXRTb3J0ZWRDaGlsZHJlbk5vZGVzKHBhcmVudCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0R3JvdXBzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZk5vZGVzXG4gICAgICAuZmlsdGVyKCh4KSA9PiB0aGlzLl9mR3JvdXBzQ29udGFpbmVyLmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFNvcnRlZENoaWxkcmVuTm9kZXMoXG4gICAgcGFyZW50OiBGTm9kZUJhc2UsXG4gICk6IEhUTUxFbGVtZW50W10ge1xuICAgIGNvbnN0IGFsbEVsZW1lbnRzID0gdGhpcy5fZk5vZGVFbGVtZW50cztcbiAgICByZXR1cm4gdGhpcy5fZ2V0Q2hpbGRyZW5Ob2RlcyhwYXJlbnQuZklkKCkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYWxsRWxlbWVudHMuaW5kZXhPZihhKSAtIGFsbEVsZW1lbnRzLmluZGV4T2YoYikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Ob2RlcyhmSWQ6IHN0cmluZyk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpXG4gICAgICAuZmlsdGVyKCh4KSA9PiB0aGlzLl9mTm9kZXNDb250YWluZXIuY29udGFpbnMoeC5ob3N0RWxlbWVudCkpLm1hcCgoeCkgPT4geC5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIF9tb3ZlQ2hpbGRyZW5Ob2RlcyhcbiAgICBzb3J0ZWRDaGlsZHJlbkdyb3VwczogSFRNTEVsZW1lbnRbXSxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZnJhZ21lbnQgPSB0aGlzLl9icm93c2VyLmRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICBzb3J0ZWRDaGlsZHJlbkdyb3Vwcy5mb3JFYWNoKChjaGlsZEdyb3VwOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQoY2hpbGRHcm91cCk7IC8vIEFwcGVuZCBhdXRvbWF0aWNhbGx5IHJlbW92ZXMgdGhlIGVsZW1lbnQgZnJvbSBpdHMgY3VycmVudCBwb3NpdGlvblxuICAgIH0pO1xuICAgIHRoaXMuX2ZOb2Rlc0NvbnRhaW5lci5hcHBlbmRDaGlsZChmcmFnbWVudCk7XG4gIH1cbn1cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1ub2RlLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi9zb3J0LWl0ZW0tbGF5ZXJzL3NvcnQtbm9kZS1sYXllcnMtYnktZ3JvdXBzL3NvcnQtbm9kZS1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUdsRDs7OztHQUlHO0FBR0ksSUFBTSx1QkFBdUIsR0FBN0IsTUFBTSx1QkFBdUI7SUFFakIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuRCxJQUFZLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBWSxpQkFBaUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFZLGdCQUFnQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFZLGNBQWM7UUFDeEIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQWtCLENBQUM7SUFDckUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUE4QjtRQUMxQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBaUIsRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ3RCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sdUJBQXVCLENBQzdCLE1BQWlCO1FBRWpCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFeEMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ3hDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxHQUFXO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQWMsSUFBSSxvQ0FBb0MsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN0RixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVPLGtCQUFrQixDQUN4QixvQkFBbUM7UUFFbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUNqRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUF1QixFQUFFLEVBQUU7WUFDdkQsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFFQUFxRTtRQUN6RyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQzt3R0F2RFUsdUJBQXVCOzRHQUF2Qix1QkFBdUI7O0FBQXZCLHVCQUF1QjtJQURuQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQztHQUM3Qix1QkFBdUIsQ0F3RG5DOzs0RkF4RFksdUJBQXVCO2tCQUZuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU29ydE5vZGVMYXllcnNSZXF1ZXN0IH0gZnJvbSAnLi9zb3J0LW5vZGUtbGF5ZXJzLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZ2V0LWRlZXAtY2hpbGRyZW4tbm9kZXMtYW5kLWdyb3Vwcyc7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRkNhbnZhc0Jhc2UgfSBmcm9tICcuLi8uLi8uLi9mLWNhbnZhcyc7XG5cbi8qKlxuICogRXhlY3V0aW9uIHRoYXQgc29ydHMgbm9kZSBsYXllcnMgYnkgdGhlaXIgcGFyZW50IG5vZGVzIGluIHRoZSBGQ2FudmFzLlxuICogSXQgcmV0cmlldmVzIGFsbCBncm91cHMsIHNvcnRzIHRoZWlyIGNoaWxkcmVuIG5vZGVzIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQgb3JkZXIsXG4gKiBhbmQgbW92ZXMgdGhlbSB0byBtYWludGFpbiB0aGUgY29ycmVjdCBoaWVyYXJjaHkuXG4gKi9cbkBJbmplY3RhYmxlKClcbkBGRXhlY3V0aW9uUmVnaXN0ZXIoU29ydE5vZGVMYXllcnNSZXF1ZXN0KVxuZXhwb3J0IGNsYXNzIFNvcnROb2RlTGF5ZXJzRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxTb3J0Tm9kZUxheWVyc1JlcXVlc3QsIHZvaWQ+IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZSA9IGluamVjdChGQ29tcG9uZW50c1N0b3JlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWVkaWF0b3IgPSBpbmplY3QoRk1lZGlhdG9yKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJvd3NlciA9IGluamVjdChCcm93c2VyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDYW52YXMoKTogRkNhbnZhc0Jhc2Uge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mR3JvdXBzQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mR3JvdXBzQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mTm9kZXNDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ2FudmFzLmZOb2Rlc0NvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZk5vZGVFbGVtZW50cygpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9mTm9kZXNDb250YWluZXIuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlKHJlcXVlc3Q6IFNvcnROb2RlTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX2dldEdyb3VwcygpLmZvckVhY2goKHBhcmVudDogRk5vZGVCYXNlKSA9PiB7XG4gICAgICB0aGlzLl9tb3ZlQ2hpbGRyZW5Ob2Rlcyh0aGlzLl9nZXRTb3J0ZWRDaGlsZHJlbk5vZGVzKHBhcmVudCkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0R3JvdXBzKCk6IEZOb2RlQmFzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUuZk5vZGVzXG4gICAgICAuZmlsdGVyKCh4KSA9PiB0aGlzLl9mR3JvdXBzQ29udGFpbmVyLmNvbnRhaW5zKHguaG9zdEVsZW1lbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFNvcnRlZENoaWxkcmVuTm9kZXMoXG4gICAgcGFyZW50OiBGTm9kZUJhc2UsXG4gICk6IEhUTUxFbGVtZW50W10ge1xuICAgIGNvbnN0IGFsbEVsZW1lbnRzID0gdGhpcy5fZk5vZGVFbGVtZW50cztcblxuICAgIHJldHVybiB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzKHBhcmVudC5mSWQoKSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhbGxFbGVtZW50cy5pbmRleE9mKGEpIC0gYWxsRWxlbWVudHMuaW5kZXhPZihiKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDaGlsZHJlbk5vZGVzKGZJZDogc3RyaW5nKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QoZklkKSlcbiAgICAgIC5maWx0ZXIoKHgpID0+IHRoaXMuX2ZOb2Rlc0NvbnRhaW5lci5jb250YWlucyh4Lmhvc3RFbGVtZW50KSkubWFwKCh4KSA9PiB4Lmhvc3RFbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgX21vdmVDaGlsZHJlbk5vZGVzKFxuICAgIHNvcnRlZENoaWxkcmVuR3JvdXBzOiBIVE1MRWxlbWVudFtdLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBmcmFnbWVudCA9IHRoaXMuX2Jyb3dzZXIuZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICAgIHNvcnRlZENoaWxkcmVuR3JvdXBzLmZvckVhY2goKGNoaWxkR3JvdXA6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChjaGlsZEdyb3VwKTsgLy8gQXBwZW5kIGF1dG9tYXRpY2FsbHkgcmVtb3ZlcyB0aGUgZWxlbWVudCBmcm9tIGl0cyBjdXJyZW50IHBvc2l0aW9uXG4gICAgfSk7XG4gICAgdGhpcy5fZk5vZGVzQ29udGFpbmVyLmFwcGVuZENoaWxkKGZyYWdtZW50KTtcbiAgfVxufVxuIl19
@@ -12,4 +12,4 @@ export class MoveFrontElementsBeforeTargetElementRequest {
12
12
  this.targetIndex = targetIndex;
13
13
  }
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1mcm9udC1lbGVtZW50cy1iZWZvcmUtdGFyZ2V0LWVsZW1lbnQucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3VwZGF0ZS1pdGVtLWFuZC1jaGlsZHJlbi1sYXllcnMvbW92ZS1mcm9udC1lbGVtZW50cy1iZWZvcmUtdGFyZ2V0LWVsZW1lbnQvbW92ZS1mcm9udC1lbGVtZW50cy1iZWZvcmUtdGFyZ2V0LWVsZW1lbnQucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sMkNBQTJDO0lBRzdDO0lBQ0E7SUFDQTtJQUNBO0lBTFQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUMvRSxZQUNTLGVBQTRCLEVBQUUsK0RBQStEO0lBQzdGLFdBQXNCLEVBQ3RCLDJCQUFzQyxFQUN0QyxXQUFtQjtRQUhuQixvQkFBZSxHQUFmLGVBQWUsQ0FBYTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBVztRQUN0QixnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQVc7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQVE7SUFFNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnTW92ZUZyb250RWxlbWVudHNCZWZvcmVUYXJnZXRFbGVtZW50UmVxdWVzdCcpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZkl0ZW1zQ29udGFpbmVyOiBIVE1MRWxlbWVudCwgLy8gZkdyb3Vwc0NvbnRhaW5lciB8fCBmTm9kZXNDb250YWluZXIgfHwgZkNvbm5lY3Rpb25zQ29udGFpbmVyXG4gICAgcHVibGljIGFsbEVsZW1lbnRzOiBFbGVtZW50W10sXG4gICAgcHVibGljIGVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udDogRWxlbWVudFtdLFxuICAgIHB1YmxpYyB0YXJnZXRJbmRleDogbnVtYmVyXG4gICkge1xuICB9XG59XG4iXX0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZS1mcm9udC1lbGVtZW50cy1iZWZvcmUtdGFyZ2V0LWVsZW1lbnQucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZG9tYWluL3VwZGF0ZS1pdGVtLWFuZC1jaGlsZHJlbi1sYXllcnMvbW92ZS1mcm9udC1lbGVtZW50cy1iZWZvcmUtdGFyZ2V0LWVsZW1lbnQvbW92ZS1mcm9udC1lbGVtZW50cy1iZWZvcmUtdGFyZ2V0LWVsZW1lbnQucmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sMkNBQTJDO0lBRzdDO0lBQ0E7SUFDQTtJQUNBO0lBTFQsTUFBTSxDQUFVLE1BQU0sR0FBRyxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUMvRSxZQUNTLGVBQTRCLEVBQUUsK0RBQStEO0lBQzdGLFdBQXNCLEVBQ3RCLDJCQUFzQyxFQUN0QyxXQUFtQjtRQUhuQixvQkFBZSxHQUFmLGVBQWUsQ0FBYTtRQUM1QixnQkFBVyxHQUFYLFdBQVcsQ0FBVztRQUN0QixnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQVc7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQVE7SUFFNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0IHtcbiAgc3RhdGljIHJlYWRvbmx5IGZUb2tlbiA9IFN5bWJvbCgnTW92ZUZyb250RWxlbWVudHNCZWZvcmVUYXJnZXRFbGVtZW50UmVxdWVzdCcpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZkl0ZW1zQ29udGFpbmVyOiBIVE1MRWxlbWVudCwgLy8gZkdyb3Vwc0NvbnRhaW5lciB8fCBmTm9kZXNDb250YWluZXIgfHwgZkNvbm5lY3Rpb25zQ29udGFpbmVyXG4gICAgcHVibGljIGFsbEVsZW1lbnRzOiBFbGVtZW50W10sXG4gICAgcHVibGljIGVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udDogRWxlbWVudFtdLFxuICAgIHB1YmxpYyB0YXJnZXRJbmRleDogbnVtYmVyLFxuICApIHtcbiAgfVxufVxuIl19
@@ -95,4 +95,4 @@ export { UpdateItemAndChildrenLayersExecution };
95
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UpdateItemAndChildrenLayersExecution, decorators: [{
96
96
  type: Injectable
97
97
  }] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzL3VwZGF0ZS1pdGVtLWFuZC1jaGlsZHJlbi1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBRzFHOzs7R0FHRztBQUdJLElBQU0sb0NBQW9DLEdBQTFDLE1BQU0sb0NBQW9DO0lBRTlCLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRS9DLElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFZLGlCQUFpQjtRQUMzQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVE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LENBQUMsR0FBVztRQUM1QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFjLElBQUksb0NBQW9DLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0SCxDQUFDO3dHQTNGVSxvQ0FBb0M7NEdBQXBDLG9DQUFvQzs7QUFBcEMsb0NBQW9DO0lBRGhELGtCQUFrQixDQUFDLGtDQUFrQyxDQUFDO0dBQzFDLG9DQUFvQyxDQTRGaEQ7OzRGQTVGWSxvQ0FBb0M7a0JBRmhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0IH0gZnJvbSAnLi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LWRlZXAtY2hpbGRyZW4tbm9kZXMtYW5kLWdyb3Vwcyc7XG5pbXBvcnQgeyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi9tb3ZlLWZyb250LWVsZW1lbnRzLWJlZm9yZS10YXJnZXQtZWxlbWVudCc7XG5pbXBvcnQgeyBGQ2FudmFzQmFzZSB9IGZyb20gJy4uLy4uL2YtY2FudmFzJztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCB1cGRhdGVzIHRoZSBsYXllcnMgb2YgYW4gaXRlbSBhbmQgaXRzIGNoaWxkcmVuIGluIHRoZSBGQ2FudmFzLlxuICogSXQgaGFuZGxlcyBkaWZmZXJlbnQgaXRlbSBjb250YWluZXJzIChncm91cHMsIG5vZGVzLCBjb25uZWN0aW9ucykgYW5kIHVwZGF0ZXMgdGhlaXIgbGF5ZXJzIGFjY29yZGluZ2x5LlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDYW52YXMoKTogRkNhbnZhc0Jhc2Uge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mR3JvdXBzQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mR3JvdXBzQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mTm9kZXNDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ2FudmFzLmZOb2Rlc0NvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkNvbm5lY3Rpb25zQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mQ29ubmVjdGlvbnNDb250YWluZXIoKS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0KTogdm9pZCB7XG5cbiAgICBzd2l0Y2ggKHJlcXVlc3QuaXRlbUNvbnRhaW5lcikge1xuICAgICAgY2FzZSB0aGlzLl9mR3JvdXBzQ29udGFpbmVyOlxuICAgICAgICB0aGlzLl9oYW5kbGVHcm91cChyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuX2ZOb2Rlc0NvbnRhaW5lcjpcbiAgICAgICAgdGhpcy5faGFuZGxlTm9kZShyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuX2ZDb25uZWN0aW9uc0NvbnRhaW5lcjpcbiAgICAgICAgdGhpcy5faGFuZGxlQ29ubmVjdGlvbihyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gY29udGFpbmVyJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlR3JvdXAocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXNBbmRHcm91cHMgPSB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzQW5kR3JvdXBzKHJlcXVlc3QuaXRlbS5mSWQoKSk7XG4gICAgY29uc3QgY2hpbGRyZW5Hcm91cHMgPSB0aGlzLl9nZXRDaGlsZHJlbkdyb3VwcyhjaGlsZHJlbk5vZGVzQW5kR3JvdXBzKTtcbiAgICB0aGlzLl91cGRhdGVMYXllcnModGhpcy5fZkdyb3Vwc0NvbnRhaW5lciwgcmVxdWVzdC5pdGVtLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50LCBjaGlsZHJlbkdyb3Vwcyk7XG4gICAgY29uc3QgY2hpbGRyZW5Ob2RlcyA9IHRoaXMuX2dldENoaWxkcmVuTm9kZXMoY2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwcyk7XG4gICAgaWYgKGNoaWxkcmVuTm9kZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLl91cGRhdGVMYXllcnModGhpcy5fZk5vZGVzQ29udGFpbmVyLCBjaGlsZHJlbk5vZGVzWyAwIF0sIGNoaWxkcmVuTm9kZXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU5vZGUocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXNBbmRHcm91cHMgPSB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzQW5kR3JvdXBzKHJlcXVlc3QuaXRlbS5mSWQoKSk7XG4gICAgY29uc3QgY2hpbGRyZW5Ob2RlcyA9IHRoaXMuX2dldENoaWxkcmVuTm9kZXMoY2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwcyk7XG4gICAgdGhpcy5fdXBkYXRlTGF5ZXJzKHJlcXVlc3QuaXRlbUNvbnRhaW5lciwgcmVxdWVzdC5pdGVtLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50LCBjaGlsZHJlbk5vZGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNvbm5lY3Rpb24ocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUxheWVycyhyZXF1ZXN0Lml0ZW1Db250YWluZXIsIHJlcXVlc3QuaXRlbS5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGF5ZXJzKGl0ZW1Db250YWluZXI6IEhUTUxFbGVtZW50LCBpdGVtOiBIVE1MRWxlbWVudCwgZWxlbWVudHNUaGF0U2hvdWxkQmVJbkZyb250OiBIVE1MRWxlbWVudFtdKTogdm9pZCB7XG4gICAgY29uc3QgYWxsRWxlbWVudHMgPSBBcnJheS5mcm9tKGl0ZW1Db250YWluZXIuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSBhbGxFbGVtZW50cy5maW5kSW5kZXgoKHgpID0+IHggPT09IGl0ZW0pO1xuICAgIGlmICh0aGlzLl9pc0FueXRoaW5nTmVlZFRvQmVNb3ZlZChhbGxFbGVtZW50cywgdGFyZ2V0SW5kZXgsIGVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udCkpIHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICAgIG5ldyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0KGl0ZW1Db250YWluZXIsIGFsbEVsZW1lbnRzLCBlbGVtZW50c1RoYXRTaG91bGRCZUluRnJvbnQsIHRhcmdldEluZGV4KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc0FueXRoaW5nTmVlZFRvQmVNb3ZlZChhbGxFbGVtZW50czogSFRNTEVsZW1lbnRbXSwgdGFyZ2V0SW5kZXg6IG51bWJlciwgZWxlbWVudHNUaGF0U2hvdWxkQmVJbkZyb250OiBIVE1MRWxlbWVudFtdKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaSA9IHRhcmdldEluZGV4ICsgMTsgaSA8IGFsbEVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoIWVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udC5pbmNsdWRlcyhhbGxFbGVtZW50c1sgaSBdKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Hcm91cHMoZWxlbWVudHM6IEhUTUxFbGVtZW50W10pOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCBhbGxFbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy5fZkdyb3Vwc0NvbnRhaW5lci5jaGlsZHJlbikgYXMgSFRNTEVsZW1lbnRbXTtcbiAgICByZXR1cm4gZWxlbWVudHMuZmlsdGVyKCh4KSA9PiB0aGlzLl9mR3JvdXBzQ29udGFpbmVyLmNvbnRhaW5zKHgpKVxuICAgICAgLnNvcnQoKGEsIGIpID0+IGFsbEVsZW1lbnRzLmluZGV4T2YoYSkgLSBhbGxFbGVtZW50cy5pbmRleE9mKGIpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuTm9kZXMoZWxlbWVudHM6IEhUTUxFbGVtZW50W10pOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCBhbGxFbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy5fZk5vZGVzQ29udGFpbmVyLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIHJldHVybiBlbGVtZW50cy5maWx0ZXIoKHgpID0+IHRoaXMuX2ZOb2Rlc0NvbnRhaW5lci5jb250YWlucyh4KSlcbiAgICAgIC5zb3J0KChhLCBiKSA9PiBhbGxFbGVtZW50cy5pbmRleE9mKGEpIC0gYWxsRWxlbWVudHMuaW5kZXhPZihiKSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDaGlsZHJlbk5vZGVzQW5kR3JvdXBzKGZJZDogc3RyaW5nKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGU8Rk5vZGVCYXNlW10+KG5ldyBHZXREZWVwQ2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwc1JlcXVlc3QoZklkKSkubWFwKCh4KSA9PiB4Lmhvc3RFbGVtZW50KTtcbiAgfVxufVxuIl19
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLWl0ZW0tYW5kLWNoaWxkcmVuLWxheWVycy5leGVjdXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2RvbWFpbi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzL3VwZGF0ZS1pdGVtLWFuZC1jaGlsZHJlbi1sYXllcnMuZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0YsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7O0FBRzFHOzs7R0FHRztBQUdJLElBQU0sb0NBQW9DLEdBQTFDLE1BQU0sb0NBQW9DO0lBRTlCLE1BQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNsQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRS9DLElBQVksUUFBUTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFZLGlCQUFpQjtRQUMzQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVksZ0JBQWdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDdkQsQ0FBQztJQUVE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LENBQUMsR0FBVztRQUM1QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFjLElBQUksb0NBQW9DLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0SCxDQUFDO3dHQTlGVSxvQ0FBb0M7NEdBQXBDLG9DQUFvQzs7QUFBcEMsb0NBQW9DO0lBRGhELGtCQUFrQixDQUFDLGtDQUFrQyxDQUFDO0dBQzFDLG9DQUFvQyxDQStGaEQ7OzRGQS9GWSxvQ0FBb0M7a0JBRmhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0IH0gZnJvbSAnLi91cGRhdGUtaXRlbS1hbmQtY2hpbGRyZW4tbGF5ZXJzLnJlcXVlc3QnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRXhlY3V0aW9uUmVnaXN0ZXIsIEZNZWRpYXRvciwgSUV4ZWN1dGlvbiB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgRkNvbXBvbmVudHNTdG9yZSB9IGZyb20gJy4uLy4uL2Ytc3RvcmFnZSc7XG5pbXBvcnQgeyBGTm9kZUJhc2UgfSBmcm9tICcuLi8uLi9mLW5vZGUnO1xuaW1wb3J0IHsgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LWRlZXAtY2hpbGRyZW4tbm9kZXMtYW5kLWdyb3Vwcyc7XG5pbXBvcnQgeyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0IH0gZnJvbSAnLi9tb3ZlLWZyb250LWVsZW1lbnRzLWJlZm9yZS10YXJnZXQtZWxlbWVudCc7XG5pbXBvcnQgeyBGQ2FudmFzQmFzZSB9IGZyb20gJy4uLy4uL2YtY2FudmFzJztcblxuLyoqXG4gKiBFeGVjdXRpb24gdGhhdCB1cGRhdGVzIHRoZSBsYXllcnMgb2YgYW4gaXRlbSBhbmQgaXRzIGNoaWxkcmVuIGluIHRoZSBGQ2FudmFzLlxuICogSXQgaGFuZGxlcyBkaWZmZXJlbnQgaXRlbSBjb250YWluZXJzIChncm91cHMsIG5vZGVzLCBjb25uZWN0aW9ucykgYW5kIHVwZGF0ZXMgdGhlaXIgbGF5ZXJzIGFjY29yZGluZ2x5LlxuICovXG5ASW5qZWN0YWJsZSgpXG5ARkV4ZWN1dGlvblJlZ2lzdGVyKFVwZGF0ZUl0ZW1BbmRDaGlsZHJlbkxheWVyc1JlcXVlc3QpXG5leHBvcnQgY2xhc3MgVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzRXhlY3V0aW9uIGltcGxlbWVudHMgSUV4ZWN1dGlvbjxVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0LCB2b2lkPiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmUgPSBpbmplY3QoRkNvbXBvbmVudHNTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21lZGlhdG9yID0gaW5qZWN0KEZNZWRpYXRvcik7XG5cbiAgcHJpdmF0ZSBnZXQgX2ZDYW52YXMoKTogRkNhbnZhc0Jhc2Uge1xuICAgIHJldHVybiB0aGlzLl9zdG9yZS5mQ2FudmFzITtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mR3JvdXBzQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mR3JvdXBzQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IF9mTm9kZXNDb250YWluZXIoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9mQ2FudmFzLmZOb2Rlc0NvbnRhaW5lcigpLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGdldCBfZkNvbm5lY3Rpb25zQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5fZkNhbnZhcy5mQ29ubmVjdGlvbnNDb250YWluZXIoKS5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBVcGRhdGVJdGVtQW5kQ2hpbGRyZW5MYXllcnNSZXF1ZXN0KTogdm9pZCB7XG5cbiAgICBzd2l0Y2ggKHJlcXVlc3QuaXRlbUNvbnRhaW5lcikge1xuICAgICAgY2FzZSB0aGlzLl9mR3JvdXBzQ29udGFpbmVyOlxuICAgICAgICB0aGlzLl9oYW5kbGVHcm91cChyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuX2ZOb2Rlc0NvbnRhaW5lcjpcbiAgICAgICAgdGhpcy5faGFuZGxlTm9kZShyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIHRoaXMuX2ZDb25uZWN0aW9uc0NvbnRhaW5lcjpcbiAgICAgICAgdGhpcy5faGFuZGxlQ29ubmVjdGlvbihyZXF1ZXN0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vua25vd24gY29udGFpbmVyJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlR3JvdXAocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXNBbmRHcm91cHMgPSB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzQW5kR3JvdXBzKHJlcXVlc3QuaXRlbS5mSWQoKSk7XG4gICAgY29uc3QgY2hpbGRyZW5Hcm91cHMgPSB0aGlzLl9nZXRDaGlsZHJlbkdyb3VwcyhjaGlsZHJlbk5vZGVzQW5kR3JvdXBzKTtcbiAgICB0aGlzLl91cGRhdGVMYXllcnModGhpcy5fZkdyb3Vwc0NvbnRhaW5lciwgcmVxdWVzdC5pdGVtLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50LCBjaGlsZHJlbkdyb3Vwcyk7XG4gICAgY29uc3QgY2hpbGRyZW5Ob2RlcyA9IHRoaXMuX2dldENoaWxkcmVuTm9kZXMoY2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwcyk7XG4gICAgaWYgKGNoaWxkcmVuTm9kZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLl91cGRhdGVMYXllcnModGhpcy5fZk5vZGVzQ29udGFpbmVyLCBjaGlsZHJlbk5vZGVzWyAwIF0sIGNoaWxkcmVuTm9kZXMpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU5vZGUocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIGNvbnN0IGNoaWxkcmVuTm9kZXNBbmRHcm91cHMgPSB0aGlzLl9nZXRDaGlsZHJlbk5vZGVzQW5kR3JvdXBzKHJlcXVlc3QuaXRlbS5mSWQoKSk7XG4gICAgY29uc3QgY2hpbGRyZW5Ob2RlcyA9IHRoaXMuX2dldENoaWxkcmVuTm9kZXMoY2hpbGRyZW5Ob2Rlc0FuZEdyb3Vwcyk7XG4gICAgdGhpcy5fdXBkYXRlTGF5ZXJzKHJlcXVlc3QuaXRlbUNvbnRhaW5lciwgcmVxdWVzdC5pdGVtLmhvc3RFbGVtZW50IGFzIEhUTUxFbGVtZW50LCBjaGlsZHJlbk5vZGVzKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNvbm5lY3Rpb24ocmVxdWVzdDogVXBkYXRlSXRlbUFuZENoaWxkcmVuTGF5ZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUxheWVycyhyZXF1ZXN0Lml0ZW1Db250YWluZXIsIHJlcXVlc3QuaXRlbS5ob3N0RWxlbWVudCBhcyBIVE1MRWxlbWVudCwgW10pO1xuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlTGF5ZXJzKGl0ZW1Db250YWluZXI6IEhUTUxFbGVtZW50LCBpdGVtOiBIVE1MRWxlbWVudCwgZWxlbWVudHNUaGF0U2hvdWxkQmVJbkZyb250OiBIVE1MRWxlbWVudFtdKTogdm9pZCB7XG4gICAgY29uc3QgYWxsRWxlbWVudHMgPSBBcnJheS5mcm9tKGl0ZW1Db250YWluZXIuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSBhbGxFbGVtZW50cy5maW5kSW5kZXgoKHgpID0+IHggPT09IGl0ZW0pO1xuICAgIGlmICh0aGlzLl9pc0FueXRoaW5nTmVlZFRvQmVNb3ZlZChhbGxFbGVtZW50cywgdGFyZ2V0SW5kZXgsIGVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udCkpIHtcbiAgICAgIHRoaXMuX21lZGlhdG9yLmV4ZWN1dGUoXG4gICAgICAgIG5ldyBNb3ZlRnJvbnRFbGVtZW50c0JlZm9yZVRhcmdldEVsZW1lbnRSZXF1ZXN0KGl0ZW1Db250YWluZXIsIGFsbEVsZW1lbnRzLCBlbGVtZW50c1RoYXRTaG91bGRCZUluRnJvbnQsIHRhcmdldEluZGV4KSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaXNBbnl0aGluZ05lZWRUb0JlTW92ZWQoYWxsRWxlbWVudHM6IEhUTUxFbGVtZW50W10sIHRhcmdldEluZGV4OiBudW1iZXIsIGVsZW1lbnRzVGhhdFNob3VsZEJlSW5Gcm9udDogSFRNTEVsZW1lbnRbXSk6IGJvb2xlYW4ge1xuICAgIGZvciAobGV0IGkgPSB0YXJnZXRJbmRleCArIDE7IGkgPCBhbGxFbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKCFlbGVtZW50c1RoYXRTaG91bGRCZUluRnJvbnQuaW5jbHVkZXMoYWxsRWxlbWVudHNbIGkgXSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Hcm91cHMoZWxlbWVudHM6IEhUTUxFbGVtZW50W10pOiBIVE1MRWxlbWVudFtdIHtcbiAgICBjb25zdCBhbGxFbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy5fZkdyb3Vwc0NvbnRhaW5lci5jaGlsZHJlbikgYXMgSFRNTEVsZW1lbnRbXTtcblxuICAgIHJldHVybiBlbGVtZW50cy5maWx0ZXIoKHgpID0+IHRoaXMuX2ZHcm91cHNDb250YWluZXIuY29udGFpbnMoeCkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYWxsRWxlbWVudHMuaW5kZXhPZihhKSAtIGFsbEVsZW1lbnRzLmluZGV4T2YoYikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Ob2RlcyhlbGVtZW50czogSFRNTEVsZW1lbnRbXSk6IEhUTUxFbGVtZW50W10ge1xuICAgIGNvbnN0IGFsbEVsZW1lbnRzID0gQXJyYXkuZnJvbSh0aGlzLl9mTm9kZXNDb250YWluZXIuY2hpbGRyZW4pIGFzIEhUTUxFbGVtZW50W107XG5cbiAgICByZXR1cm4gZWxlbWVudHMuZmlsdGVyKCh4KSA9PiB0aGlzLl9mTm9kZXNDb250YWluZXIuY29udGFpbnMoeCkpXG4gICAgICAuc29ydCgoYSwgYikgPT4gYWxsRWxlbWVudHMuaW5kZXhPZihhKSAtIGFsbEVsZW1lbnRzLmluZGV4T2YoYikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q2hpbGRyZW5Ob2Rlc0FuZEdyb3VwcyhmSWQ6IHN0cmluZyk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXRvci5leGVjdXRlPEZOb2RlQmFzZVtdPihuZXcgR2V0RGVlcENoaWxkcmVuTm9kZXNBbmRHcm91cHNSZXF1ZXN0KGZJZCkpLm1hcCgoeCkgPT4geC5ob3N0RWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -41,7 +41,7 @@ export class DragAndDropBase {
41
41
  return;
42
42
  }
43
43
  this.pointerDownElement = mouseEvent.targetElement;
44
- let result = this.onPointerDown(mouseEvent);
44
+ const result = this.onPointerDown(mouseEvent);
45
45
  if (result) {
46
46
  this.dragStartTime = Date.now();
47
47
  this.dragStartPosition = mouseEvent.getPosition();
@@ -74,7 +74,7 @@ export class DragAndDropBase {
74
74
  return;
75
75
  }
76
76
  this.pointerDownElement = touchEvent.targetElement;
77
- let result = this.onPointerDown(touchEvent);
77
+ const result = this.onPointerDown(touchEvent);
78
78
  if (result) {
79
79
  this.dragStartTime = Date.now();
80
80
  this.dragStartPosition = touchEvent.getPosition();
@@ -220,4 +220,4 @@ function isFakeTouchstartFromScreenReader(event) {
220
220
  (touch.radiusX == null || touch.radiusX === 1) &&
221
221
  (touch.radiusY == null || touch.radiusY === 1));
222
222
  }
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kcmFnLXRvb2xraXQvZHJhZy1hbmQtZHJvcC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZUFBZSxFQUNmLGVBQWUsRUFDZixlQUFlLEdBQ2hCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRW5ELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztBQUUzQzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFnQixlQUFlO0lBZ0N2QjtJQTVCSixRQUFRLENBQXVCO0lBRS9CLGNBQWMsR0FBYSxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0QsY0FBYyxHQUFhLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUUzRCxjQUFjLEdBQWEsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBRTVELGdCQUFnQixDQUFDLEtBQWlCO1FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0I7WUFDOUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGtCQUFrQixHQUFXLENBQUMsQ0FBQztJQUVoQyxhQUFhLEdBQVksS0FBSyxDQUFDO0lBQzlCLGtCQUFrQixHQUFXLENBQUMsQ0FBQztJQUMvQixjQUFjLEdBQVcsQ0FBQyxDQUFDO0lBRTNCLGFBQWEsR0FBVyxDQUFDLENBQUM7SUFDMUIsaUJBQWlCLEdBQTZCLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFDLENBQUM7SUFJM0QsV0FBVyxHQUFhLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztJQUV0RCxr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SyxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQsU0FBUyxnQ0FBZ0MsQ0FBQyxLQUFpQjtJQUN6RCxNQUFNLEtBQUssR0FDVCxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0YsT0FBTyxDQUNMLENBQUMsQ0FBQyxLQUFLO1FBQ1AsS0FBSyxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUM5QyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQy9DLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJQ2FuUnVuT3V0c2lkZUFuZ3VsYXJ9IGZyb20gJy4vaS1jYW4tcnVuLW91dHNpZGUtYW5ndWxhcic7XG5pbXBvcnQge1xuICBJTW91c2VFdmVudCxcbiAgSVBvaW50ZXJFdmVudCxcbiAgSVBvaW50ZXJVcEV2ZW50LFxuICBJVG91Y2hEb3duRXZlbnQsXG4gIElUb3VjaE1vdmVFdmVudCxcbn0gZnJvbSAnLi9wb2ludGVyLWV2ZW50cyc7XG5pbXBvcnQge0V2ZW50RXh0ZW5zaW9uc30gZnJvbSAnLi9ldmVudC5leHRlbnNpb25zJztcblxuZXhwb3J0IGNvbnN0IE1PVVNFX0VWRU5UX0lHTk9SRV9USU1FID0gODAwO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGltcGxlbWVudGluZyBkcmFnIGFuZCBkcm9wIGZ1bmN0aW9uYWxpdHkuXG4gKiBJdCBoYW5kbGVzIG1vdXNlIGFuZCB0b3VjaCBldmVudHMsIG1hbmFnZXMgdGhlIGRyYWcgc3RhcnQgc2VxdWVuY2UsXG4gKiBhbmQgcHJvdmlkZXMgYWJzdHJhY3QgbWV0aG9kcyBmb3IgZGVyaXZlZCBjbGFzc2VzIHRvIGltcGxlbWVudCBzcGVjaWZpYyBiZWhhdmlvcnMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEcmFnQW5kRHJvcEJhc2Uge1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgcHJpdmF0ZSBtb3VzZUxpc3RlbmVyczogRnVuY3Rpb24gPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICBwcml2YXRlIHRvdWNoTGlzdGVuZXJzOiBGdW5jdGlvbiA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG5cbiAgcHJpdmF0ZSBzdGFydExpc3RlbmVyczogRnVuY3Rpb24gPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuXG4gIHB1YmxpYyBpc1N5bnRoZXRpY0V2ZW50KGV2ZW50OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5sYXN0VG91Y2hFdmVudFRpbWUgJiZcbiAgICAgICh0aGlzLmxhc3RUb3VjaEV2ZW50VGltZSArIE1PVVNFX0VWRU5UX0lHTk9SRV9USU1FID4gRGF0ZS5ub3coKSk7XG4gIH1cblxuICBwcml2YXRlIGxhc3RUb3VjaEV2ZW50VGltZTogbnVtYmVyID0gMDtcblxuICBwdWJsaWMgaXNEcmFnU3RhcnRlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIGRyYWdTdGFydFRocmVzaG9sZDogbnVtYmVyID0gMztcbiAgcHJpdmF0ZSBkcmFnU3RhcnREZWxheTogbnVtYmVyID0gMDtcblxuICBwcml2YXRlIGRyYWdTdGFydFRpbWU6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgZHJhZ1N0YXJ0UG9zaXRpb246IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfSA9IHt4OiAwLCB5OiAwfTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBtb3ZlSGFuZGxlcjogRnVuY3Rpb24gPSB0aGlzLmNoZWNrRHJhZ1NlcXVlbmNlVG9TdGFydDtcblxuICBwcml2YXRlIHBvaW50ZXJEb3duRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyIHwgdW5kZWZpbmVkXG4gICkge1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIG1vdXNlIGRvd24gZXZlbnQgdG8gaW5pdGlhdGUgdGhlIGRyYWcgc2VxdWVuY2UuXG4gICAqIEl0IGNoZWNrcyBpZiB0aGUgZXZlbnQgaXMgc3ludGhldGljIG9yIGZha2UsIGFuZCBpZiB0aGUgZHJhZyBpcyBhbHJlYWR5IHN0YXJ0ZWQuXG4gICAqIElmIG5vdCwgaXQgc2V0cyB1cCB0aGUgZHJhZyBzdGFydCBzZXF1ZW5jZSBieSBhZGRpbmcgbmVjZXNzYXJ5IGV2ZW50IGxpc3RlbmVycy5cbiAgICogQHBhcmFtIGV2ZW50IC0gVGhlIG1vdXNlIGV2ZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBkcmFnLlxuICAgKi9cbiAgcHJpdmF0ZSBvbk1vdXNlRG93biA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgIGNvbnN0IGlzU3ludGhldGljRXZlbnQgPSB0aGlzLmlzU3ludGhldGljRXZlbnQoZXZlbnQpO1xuICAgIGNvbnN0IGlzRmFrZUV2ZW50ID0gaXNGYWtlTW91c2Vkb3duRnJvbVNjcmVlblJlYWRlcihldmVudCk7XG4gICAgY29uc3QgbW91c2VFdmVudCA9IG5ldyBJTW91c2VFdmVudChldmVudCk7XG5cbiAgICBpZiAoaXNTeW50aGV0aWNFdmVudCB8fCBpc0Zha2VFdmVudCB8fCB0aGlzLmRpc2FibGVkIHx8IHRoaXMuaXNEcmFnU3RhcnRlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnBvaW50ZXJEb3duRWxlbWVudCA9IG1vdXNlRXZlbnQudGFyZ2V0RWxlbWVudDtcbiAgICBsZXQgcmVzdWx0ID0gdGhpcy5vblBvaW50ZXJEb3duKG1vdXNlRXZlbnQpO1xuICAgIGlmIChyZXN1bHQpIHtcblxuICAgICAgdGhpcy5kcmFnU3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIHRoaXMuZHJhZ1N0YXJ0UG9zaXRpb24gPSBtb3VzZUV2ZW50LmdldFBvc2l0aW9uKCk7XG5cbiAgICAgIHRoaXMubmdab25lPy5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3NlbGVjdHN0YXJ0JywgdGhpcy5vblNlbGVjdFN0YXJ0LCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25Nb3VzZU1vdmUpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLm9uUG9pbnRlclVwRXZlbnQpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyY2FuY2VsJywgdGhpcy5vblBvaW50ZXJVcEV2ZW50LCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlQ2FwdHVyZUxpc3RlbmVyKCkpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIHRoaXMub25Db250ZXh0TWVudUR1cmluZ0RyYWcsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVDYXB0dXJlTGlzdGVuZXIoKSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5tb3VzZUxpc3RlbmVycyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2VsZWN0c3RhcnQnLCB0aGlzLm9uU2VsZWN0U3RhcnQsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVMaXN0ZW5lcigpKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMub25Qb2ludGVyVXBFdmVudCk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJjYW5jZWwnLCB0aGlzLm9uUG9pbnRlclVwRXZlbnQsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVDYXB0dXJlTGlzdGVuZXIoKSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgdGhpcy5vbkNvbnRleHRNZW51RHVyaW5nRHJhZywgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUNhcHR1cmVMaXN0ZW5lcigpKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIHRvdWNoIGRvd24gZXZlbnQgdG8gaW5pdGlhdGUgdGhlIGRyYWcgc2VxdWVuY2UuXG4gICAqIEl0IGNoZWNrcyBpZiB0aGUgZXZlbnQgaXMgc3ludGhldGljIG9yIGZha2UsIGFuZCBpZiB0aGUgZHJhZyBpcyBhbHJlYWR5IHN0YXJ0ZWQuXG4gICAqIElmIG5vdCwgaXQgc2V0cyB1cCB0aGUgZHJhZyBzdGFydCBzZXF1ZW5jZSBieSBhZGRpbmcgbmVjZXNzYXJ5IGV2ZW50IGxpc3RlbmVycy5cbiAgICogQHBhcmFtIGV2ZW50IC0gVGhlIHRvdWNoIGV2ZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBkcmFnLlxuICAgKi9cbiAgcHJpdmF0ZSBvblRvdWNoRG93biA9IChldmVudDogVG91Y2hFdmVudCkgPT4ge1xuICAgIGNvbnN0IGlzRmFrZUV2ZW50ID0gaXNGYWtlVG91Y2hzdGFydEZyb21TY3JlZW5SZWFkZXIoZXZlbnQgYXMgVG91Y2hFdmVudClcbiAgICBjb25zdCB0b3VjaEV2ZW50ID0gbmV3IElUb3VjaERvd25FdmVudChldmVudCk7XG5cbiAgICBpZiAoaXNGYWtlRXZlbnQgfHwgdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmlzRHJhZ1N0YXJ0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wb2ludGVyRG93bkVsZW1lbnQgPSB0b3VjaEV2ZW50LnRhcmdldEVsZW1lbnQ7XG4gICAgbGV0IHJlc3VsdCA9IHRoaXMub25Qb2ludGVyRG93bih0b3VjaEV2ZW50KTtcbiAgICBpZiAocmVzdWx0KSB7XG5cbiAgICAgIHRoaXMuZHJhZ1N0YXJ0VGltZSA9IERhdGUubm93KCk7XG4gICAgICB0aGlzLmRyYWdTdGFydFBvc2l0aW9uID0gdG91Y2hFdmVudC5nZXRQb3NpdGlvbigpO1xuXG4gICAgICB0aGlzLm5nWm9uZT8ucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdzZWxlY3RzdGFydCcsIHRoaXMub25TZWxlY3RTdGFydCwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUxpc3RlbmVyKCkpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLm9uVG91Y2hNb3ZlKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgdGhpcy5vblBvaW50ZXJVcEV2ZW50KTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmNhbmNlbCcsIHRoaXMub25Qb2ludGVyVXBFdmVudCwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUNhcHR1cmVMaXN0ZW5lcigpKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8uYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCB0aGlzLm9uQ29udGV4dE1lbnVEdXJpbmdEcmFnLCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlQ2FwdHVyZUxpc3RlbmVyKCkpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudG91Y2hMaXN0ZW5lcnMgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlbGVjdHN0YXJ0JywgdGhpcy5vblNlbGVjdFN0YXJ0LCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMub25Ub3VjaE1vdmUpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLm9uUG9pbnRlclVwRXZlbnQpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVyY2FuY2VsJywgdGhpcy5vblBvaW50ZXJVcEV2ZW50LCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlQ2FwdHVyZUxpc3RlbmVyKCkpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIHRoaXMub25Db250ZXh0TWVudUR1cmluZ0RyYWcsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVDYXB0dXJlTGlzdGVuZXIoKSk7XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBzZWxlY3Qgc3RhcnQgZXZlbnQuXG4gICAqIFRoaXMgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIHRoZSB1c2VyIHN0YXJ0cyBzZWxlY3RpbmcgdGV4dCBvciBlbGVtZW50cy5cbiAgICogSXQgcHJldmVudHMgdGhlIGRlZmF1bHQgYmVoYXZpb3IgYW5kIGNhbGxzIHRoZSBvblNlbGVjdCBtZXRob2QgdG8gaGFuZGxlIHRoZSBzZWxlY3Rpb24uXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgc2VsZWN0IHN0YXJ0LlxuICAgKi9cbiAgcHJpdmF0ZSBvblNlbGVjdFN0YXJ0ID0gKGV2ZW50OiBFdmVudCkgPT4ge1xuICAgIHRoaXMub25TZWxlY3QoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIG1vdXNlIG1vdmUgZXZlbnQgZHVyaW5nIHRoZSBkcmFnIHNlcXVlbmNlLlxuICAgKiBJdCBjaGVja3MgaWYgdGhlIGRyYWcgc2VxdWVuY2Ugc2hvdWxkIHN0YXJ0IGFuZCBjYWxscyB0aGUgbW92ZSBoYW5kbGVyIGFjY29yZGluZ2x5LlxuICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgbW91c2UgZXZlbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIG1vdmUuXG4gICAqL1xuICBwcml2YXRlIG9uTW91c2VNb3ZlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgdGhpcy5tb3ZlSGFuZGxlcihuZXcgSU1vdXNlRXZlbnQoZXZlbnQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSB0b3VjaCBtb3ZlIGV2ZW50IGR1cmluZyB0aGUgZHJhZyBzZXF1ZW5jZS5cbiAgICogSXQgY2hlY2tzIGlmIHRoZSBkcmFnIHNlcXVlbmNlIHNob3VsZCBzdGFydCBhbmQgY2FsbHMgdGhlIG1vdmUgaGFuZGxlciBhY2NvcmRpbmdseS5cbiAgICogQHBhcmFtIGV2ZW50IC0gVGhlIHRvdWNoIGV2ZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBtb3ZlLlxuICAgKi9cbiAgcHJpdmF0ZSBvblRvdWNoTW92ZSA9IChldmVudDogVG91Y2hFdmVudCkgPT4ge1xuICAgIHRoaXMubW92ZUhhbmRsZXIobmV3IElUb3VjaE1vdmVFdmVudChldmVudCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgZHJhZyBzZXF1ZW5jZSBzaG91bGQgc3RhcnQgYmFzZWQgb24gdGhlIHBvaW50ZXIgcG9zaXRpb24uXG4gICAqIEl0IGNvbXBhcmVzIHRoZSBjdXJyZW50IHBvaW50ZXIgcG9zaXRpb24gd2l0aCB0aGUgaW5pdGlhbCBkcmFnIHN0YXJ0IHBvc2l0aW9uXG4gICAqIGFuZCBjaGVja3MgaWYgdGhlIGRpc3RhbmNlIGV4Y2VlZHMgdGhlIGRyYWcgc3RhcnQgdGhyZXNob2xkLlxuICAgKiBJZiB0aGUgdGhyZXNob2xkIGlzIGV4Y2VlZGVkIGFuZCB0aGUgZGVsYXkgaGFzIHBhc3NlZCxcbiAgICogaXQgcHJlcGFyZXMgdGhlIGRyYWcgc2VxdWVuY2UgYW5kIHNldHMgdGhlIG1vdmUgaGFuZGxlciB0byBvblBvaW50ZXJNb3ZlLlxuICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgcG9pbnRlciBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgY2hlY2suXG4gICAqL1xuICBwcml2YXRlIGNoZWNrRHJhZ1NlcXVlbmNlVG9TdGFydChldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBvaW50ZXJQb3NpdGlvbiA9IGV2ZW50LmdldFBvc2l0aW9uKCk7XG5cbiAgICBpZiAoIXRoaXMuaXNEcmFnU3RhcnRlZCAmJiB0aGlzLnBvaW50ZXJEb3duRWxlbWVudCkge1xuICAgICAgZXZlbnQuc2V0VGFyZ2V0KHRoaXMucG9pbnRlckRvd25FbGVtZW50KTtcbiAgICAgIGNvbnN0IGRpc3RhbmNlWCA9IE1hdGguYWJzKHBvaW50ZXJQb3NpdGlvbi54IC0gdGhpcy5kcmFnU3RhcnRQb3NpdGlvbi54KTtcbiAgICAgIGNvbnN0IGRpc3RhbmNlWSA9IE1hdGguYWJzKHBvaW50ZXJQb3NpdGlvbi55IC0gdGhpcy5kcmFnU3RhcnRQb3NpdGlvbi55KTtcbiAgICAgIGNvbnN0IGlzT3ZlclRocmVzaG9sZCA9IGRpc3RhbmNlWCArIGRpc3RhbmNlWSA+PSB0aGlzLmRyYWdTdGFydFRocmVzaG9sZDtcblxuICAgICAgaWYgKGlzT3ZlclRocmVzaG9sZCkge1xuICAgICAgICBjb25zdCBpc0RlbGF5RWxhcHNlZCA9IERhdGUubm93KCkgPj0gdGhpcy5kcmFnU3RhcnRUaW1lICsgdGhpcy5kcmFnU3RhcnREZWxheTtcblxuICAgICAgICBpZiAoIWlzRGVsYXlFbGFwc2VkKSB7XG4gICAgICAgICAgdGhpcy5lbmREcmFnU2VxdWVuY2UoKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnByZXBhcmVEcmFnU2VxdWVuY2UoZXZlbnQpO1xuICAgICAgICB0aGlzLmlzRHJhZ1N0YXJ0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm1vdmVIYW5kbGVyID0gdGhpcy5vblBvaW50ZXJNb3ZlO1xuICAgICAgICBpZiAoaXNUb3VjaEV2ZW50KGV2ZW50Lm9yaWdpbmFsRXZlbnQpKSB7XG4gICAgICAgICAgdGhpcy5sYXN0VG91Y2hFdmVudFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFByZXBhcmVzIHRoZSBkcmFnIHNlcXVlbmNlIGJ5IHNldHRpbmcgdXAgbmVjZXNzYXJ5IGV2ZW50IGxpc3RlbmVyc1xuICAgKiBhbmQgaW5pdGlhbGl6aW5nIGFueSByZXF1aXJlZCBzdGF0ZSBmb3IgdGhlIGRyYWcgb3BlcmF0aW9uLlxuICAgKiBUaGlzIG1ldGhvZCBzaG91bGQgYmUgaW1wbGVtZW50ZWQgYnkgZGVyaXZlZCBjbGFzc2VzIHRvIGRlZmluZSBzcGVjaWZpYyBkcmFnIGJlaGF2aW9yLlxuICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgcG9pbnRlciBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgcHJlcGFyYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgcHJlcGFyZURyYWdTZXF1ZW5jZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIHBvaW50ZXIgdXAgZXZlbnQgYXQgdGhlIGVuZCBvZiB0aGUgZHJhZyBzZXF1ZW5jZS5cbiAgICogSXQgY2hlY2tzIGlmIHRoZSBkcmFnIGhhcyBzdGFydGVkIGFuZCBjYWxscyB0aGUgb25Qb2ludGVyVXAgbWV0aG9kLlxuICAgKiBJdCBhbHNvIGVuZHMgdGhlIGRyYWcgc2VxdWVuY2UgYnkgcmVzZXR0aW5nIHRoZSBzdGF0ZSBhbmQgcmVtb3ZpbmcgZXZlbnQgbGlzdGVuZXJzLlxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciByZWxlYXNlcyB0aGUgbW91c2UgYnV0dG9uIG9yIGxpZnRzIHRoZWlyIGZpbmdlciBmcm9tIHRoZSB0b3VjaCBzY3JlZW4uXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBwb2ludGVyIGV2ZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSB1cCBhY3Rpb24uXG4gICAqL1xuICBwcml2YXRlIG9uUG9pbnRlclVwRXZlbnQgPSAoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgIGlmICh0aGlzLmlzRHJhZ1N0YXJ0ZWQpIHtcbiAgICAgIHRoaXMub25Qb2ludGVyVXAobmV3IElQb2ludGVyVXBFdmVudChldmVudCkpO1xuICAgIH1cbiAgICB0aGlzLmVuZERyYWdTZXF1ZW5jZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuZHMgdGhlIGRyYWcgc2VxdWVuY2UgYnkgcmVzZXR0aW5nIHRoZSBzdGF0ZSBhbmQgcmVtb3ZpbmcgZXZlbnQgbGlzdGVuZXJzLlxuICAgKiBJdCBzZXRzIHRoZSBpc0RyYWdTdGFydGVkIGZsYWcgdG8gZmFsc2UsIGNsZWFycyB0aGUgcG9pbnRlckRvd25FbGVtZW50LFxuICAgKiBhbmQgcmVzZXRzIHRoZSBtb3ZlSGFuZGxlciB0byBjaGVja0RyYWdTZXF1ZW5jZVRvU3RhcnQuXG4gICAqIEl0IGFsc28gcmVtb3ZlcyBhbGwgbW91c2UgYW5kIHRvdWNoIGV2ZW50IGxpc3RlbmVycyB0aGF0IHdlcmUgYWRkZWQgZHVyaW5nIHRoZSBkcmFnIHNlcXVlbmNlLlxuICAgKi9cbiAgcHJpdmF0ZSBlbmREcmFnU2VxdWVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5pc0RyYWdTdGFydGVkID0gZmFsc2U7XG4gICAgdGhpcy5wb2ludGVyRG93bkVsZW1lbnQgPSBudWxsO1xuXG4gICAgdGhpcy5tb3ZlSGFuZGxlciA9IHRoaXMuY2hlY2tEcmFnU2VxdWVuY2VUb1N0YXJ0O1xuICAgIHRoaXMubW91c2VMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLm1vdXNlTGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgICB0aGlzLnRvdWNoTGlzdGVuZXJzKCk7XG4gICAgdGhpcy50b3VjaExpc3RlbmVycyA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG4gICAgdGhpcy5maW5hbGl6ZURyYWdTZXF1ZW5jZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGZpbmFsaXplRHJhZ1NlcXVlbmNlKCk6IHZvaWQ7XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9uU2VsZWN0KGV2ZW50OiBFdmVudCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IG9uUG9pbnRlckRvd24oZXZlbnQ6IElQb2ludGVyRXZlbnQpOiBib29sZWFuO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBvblBvaW50ZXJNb3ZlKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3Qgb25Qb2ludGVyVXAoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBzdWJzY3JpYmUoZkRvY3VtZW50OiBEb2N1bWVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRvY3VtZW50KSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuZG9jdW1lbnQgPSBmRG9jdW1lbnQ7XG5cbiAgICB0aGlzLm5nWm9uZT8ucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgZkRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMub25Nb3VzZURvd24sIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVMaXN0ZW5lcigpKTtcbiAgICAgIGZEb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5vblRvdWNoRG93biwgRXZlbnRFeHRlbnNpb25zLnBhc3NpdmVMaXN0ZW5lcigpKTtcbiAgICB9KTtcblxuICAgIHRoaXMuc3RhcnRMaXN0ZW5lcnMgPSAoKSA9PiB7XG4gICAgICBmRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5vbk1vdXNlRG93biwgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUxpc3RlbmVyKCkpO1xuICAgICAgZkRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLm9uVG91Y2hEb3duLCBFdmVudEV4dGVuc2lvbnMucGFzc2l2ZUxpc3RlbmVyKCkpO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdW5zdWJzY3JpYmUoKTogdm9pZCB7XG5cbiAgICB0aGlzLnN0YXJ0TGlzdGVuZXJzKCk7XG4gICAgdGhpcy5zdGFydExpc3RlbmVycyA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG4gICAgdGhpcy50b3VjaExpc3RlbmVycygpO1xuICAgIHRoaXMudG91Y2hMaXN0ZW5lcnMgPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICAgIHRoaXMubW91c2VMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLm1vdXNlTGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Db250ZXh0TWVudUR1cmluZ0RyYWcgPSAoZTogRXZlbnQpID0+IHtcbiAgICBpZiAodGhpcy5pc0RyYWdTdGFydGVkKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9O1xufVxuXG5mdW5jdGlvbiBpc1RvdWNoRXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KTogZXZlbnQgaXMgVG91Y2hFdmVudCB7XG4gIHJldHVybiBldmVudC50eXBlWzBdID09PSAndCc7XG59XG5cbmZ1bmN0aW9uIGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgcmV0dXJuIGV2ZW50LmJ1dHRvbnMgPT09IDAgfHwgKGV2ZW50Lm9mZnNldFggPT09IDAgJiYgZXZlbnQub2Zmc2V0WSA9PT0gMCk7XG59XG5cbmZ1bmN0aW9uIGlzRmFrZVRvdWNoc3RhcnRGcm9tU2NyZWVuUmVhZGVyKGV2ZW50OiBUb3VjaEV2ZW50KTogYm9vbGVhbiB7XG4gIGNvbnN0IHRvdWNoOiBUb3VjaCB8IHVuZGVmaW5lZCA9XG4gICAgKGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlc1swXSkgfHwgKGV2ZW50LmNoYW5nZWRUb3VjaGVzICYmIGV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdKTtcbiAgcmV0dXJuIChcbiAgICAhIXRvdWNoICYmXG4gICAgdG91Y2guaWRlbnRpZmllciA9PT0gLTEgJiZcbiAgICAodG91Y2gucmFkaXVzWCA9PSBudWxsIHx8IHRvdWNoLnJhZGl1c1ggPT09IDEpICYmXG4gICAgKHRvdWNoLnJhZGl1c1kgPT0gbnVsbCB8fCB0b3VjaC5yYWRpdXNZID09PSAxKVxuICApO1xufVxuIl19
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhZy1hbmQtZHJvcC1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kcmFnLXRvb2xraXQvZHJhZy1hbmQtZHJvcC1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZUFBZSxFQUNmLGVBQWUsRUFDZixlQUFlLEdBQ2hCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztBQUUzQzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFnQixlQUFlO0lBZ0N2QjtJQTVCSixRQUFRLENBQXVCO0lBRS9CLGNBQWMsR0FBYSxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0QsY0FBYyxHQUFhLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUUzRCxjQUFjLEdBQWEsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBRTVELGdCQUFnQixDQUFDLEtBQWlCO1FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0I7WUFDOUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGtCQUFrQixHQUFXLENBQUMsQ0FBQztJQUVoQyxhQUFhLEdBQVksS0FBSyxDQUFDO0lBQzlCLGtCQUFrQixHQUFXLENBQUMsQ0FBQztJQUMvQixjQUFjLEdBQVcsQ0FBQyxDQUFDO0lBRTNCLGFBQWEsR0FBVyxDQUFDLENBQUM7SUFDMUIsaUJBQWlCLEdBQTZCLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFJN0QsV0FBVyxHQUFhLElBQUksQ0FBQyx3QkFBd0IsQ0FBQztJQUV0RCxr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SyxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQsU0FBUyxnQ0FBZ0MsQ0FBQyxLQUFpQjtJQUN6RCxNQUFNLEtBQUssR0FDVCxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFM0YsT0FBTyxDQUNMLENBQUMsQ0FBQyxLQUFLO1FBQ1AsS0FBSyxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUM7UUFDdkIsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUM5QyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQy9DLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUNhblJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnLi9pLWNhbi1ydW4tb3V0c2lkZS1hbmd1bGFyJztcbmltcG9ydCB7XG4gIElNb3VzZUV2ZW50LFxuICBJUG9pbnRlckV2ZW50LFxuICBJUG9pbnRlclVwRXZlbnQsXG4gIElUb3VjaERvd25FdmVudCxcbiAgSVRvdWNoTW92ZUV2ZW50LFxufSBmcm9tICcuL3BvaW50ZXItZXZlbnRzJztcbmltcG9ydCB7IEV2ZW50RXh0ZW5zaW9ucyB9IGZyb20gJy4vZXZlbnQuZXh0ZW5zaW9ucyc7XG5cbmV4cG9ydCBjb25zdCBNT1VTRV9FVkVOVF9JR05PUkVfVElNRSA9IDgwMDtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBpbXBsZW1lbnRpbmcgZHJhZyBhbmQgZHJvcCBmdW5jdGlvbmFsaXR5LlxuICogSXQgaGFuZGxlcyBtb3VzZSBhbmQgdG91Y2ggZXZlbnRzLCBtYW5hZ2VzIHRoZSBkcmFnIHN0YXJ0IHNlcXVlbmNlLFxuICogYW5kIHByb3ZpZGVzIGFic3RyYWN0IG1ldGhvZHMgZm9yIGRlcml2ZWQgY2xhc3NlcyB0byBpbXBsZW1lbnQgc3BlY2lmaWMgYmVoYXZpb3JzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRHJhZ0FuZERyb3BCYXNlIHtcblxuICBwdWJsaWMgYWJzdHJhY3QgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50IHwgdW5kZWZpbmVkO1xuXG4gIHByaXZhdGUgbW91c2VMaXN0ZW5lcnM6IEZ1bmN0aW9uID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgcHJpdmF0ZSB0b3VjaExpc3RlbmVyczogRnVuY3Rpb24gPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuXG4gIHByaXZhdGUgc3RhcnRMaXN0ZW5lcnM6IEZ1bmN0aW9uID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcblxuICBwdWJsaWMgaXNTeW50aGV0aWNFdmVudChldmVudDogTW91c2VFdmVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMubGFzdFRvdWNoRXZlbnRUaW1lICYmXG4gICAgICAodGhpcy5sYXN0VG91Y2hFdmVudFRpbWUgKyBNT1VTRV9FVkVOVF9JR05PUkVfVElNRSA+IERhdGUubm93KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsYXN0VG91Y2hFdmVudFRpbWU6IG51bWJlciA9IDA7XG5cbiAgcHVibGljIGlzRHJhZ1N0YXJ0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBkcmFnU3RhcnRUaHJlc2hvbGQ6IG51bWJlciA9IDM7XG4gIHByaXZhdGUgZHJhZ1N0YXJ0RGVsYXk6IG51bWJlciA9IDA7XG5cbiAgcHJpdmF0ZSBkcmFnU3RhcnRUaW1lOiBudW1iZXIgPSAwO1xuICBwcml2YXRlIGRyYWdTdGFydFBvc2l0aW9uOiB7IHg6IG51bWJlciwgeTogbnVtYmVyIH0gPSB7IHg6IDAsIHk6IDAgfTtcblxuICBwdWJsaWMgYWJzdHJhY3QgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgcHJpdmF0ZSBtb3ZlSGFuZGxlcjogRnVuY3Rpb24gPSB0aGlzLmNoZWNrRHJhZ1NlcXVlbmNlVG9TdGFydDtcblxuICBwcml2YXRlIHBvaW50ZXJEb3duRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIG5nWm9uZTogSUNhblJ1bk91dHNpZGVBbmd1bGFyIHwgdW5kZWZpbmVkLFxuICApIHtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBtb3VzZSBkb3duIGV2ZW50IHRvIGluaXRpYXRlIHRoZSBkcmFnIHNlcXVlbmNlLlxuICAgKiBJdCBjaGVja3MgaWYgdGhlIGV2ZW50IGlzIHN5bnRoZXRpYyBvciBmYWtlLCBhbmQgaWYgdGhlIGRyYWcgaXMgYWxyZWFkeSBzdGFydGVkLlxuICAgKiBJZiBub3QsIGl0IHNldHMgdXAgdGhlIGRyYWcgc3RhcnQgc2VxdWVuY2UgYnkgYWRkaW5nIG5lY2Vzc2FyeSBldmVudCBsaXN0ZW5lcnMuXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBtb3VzZSBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgZHJhZy5cbiAgICovXG4gIHByaXZhdGUgb25Nb3VzZURvd24gPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBjb25zdCBpc1N5bnRoZXRpY0V2ZW50ID0gdGhpcy5pc1N5bnRoZXRpY0V2ZW50KGV2ZW50KTtcbiAgICBjb25zdCBpc0Zha2VFdmVudCA9IGlzRmFrZU1vdXNlZG93bkZyb21TY3JlZW5SZWFkZXIoZXZlbnQpO1xuICAgIGNvbnN0IG1vdXNlRXZlbnQgPSBuZXcgSU1vdXNlRXZlbnQoZXZlbnQpO1xuXG4gICAgaWYgKGlzU3ludGhldGljRXZlbnQgfHwgaXNGYWtlRXZlbnQgfHwgdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmlzRHJhZ1N0YXJ0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wb2ludGVyRG93bkVsZW1lbnQgPSBtb3VzZUV2ZW50LnRhcmdldEVsZW1lbnQ7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5vblBvaW50ZXJEb3duKG1vdXNlRXZlbnQpO1xuICAgIGlmIChyZXN1bHQpIHtcblxuICAgICAgdGhpcy5kcmFnU3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIHRoaXMuZHJhZ1N0YXJ0UG9zaXRpb24gPSBtb3VzZUV2ZW50LmdldFBvc2l0aW9uKCk7XG5cbiAgICAgIHRoaXMubmdab25lPy5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3NlbGVjdHN0YXJ0JywgdGhpcy5vblNlbGVjdFN0YXJ0LCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMub25Nb3VzZU1vdmUpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLm9uUG9pbnRlclVwRXZlbnQpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyY2FuY2VsJywgdGhpcy5vblBvaW50ZXJVcEV2ZW50LCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlQ2FwdHVyZUxpc3RlbmVyKCkpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIHRoaXMub25Db250ZXh0TWVudUR1cmluZ0RyYWcsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVDYXB0dXJlTGlzdGVuZXIoKSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5tb3VzZUxpc3RlbmVycyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2VsZWN0c3RhcnQnLCB0aGlzLm9uU2VsZWN0U3RhcnQsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVMaXN0ZW5lcigpKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5vbk1vdXNlTW92ZSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMub25Qb2ludGVyVXBFdmVudCk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJjYW5jZWwnLCB0aGlzLm9uUG9pbnRlclVwRXZlbnQsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVDYXB0dXJlTGlzdGVuZXIoKSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgdGhpcy5vbkNvbnRleHRNZW51RHVyaW5nRHJhZywgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUNhcHR1cmVMaXN0ZW5lcigpKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIHRvdWNoIGRvd24gZXZlbnQgdG8gaW5pdGlhdGUgdGhlIGRyYWcgc2VxdWVuY2UuXG4gICAqIEl0IGNoZWNrcyBpZiB0aGUgZXZlbnQgaXMgc3ludGhldGljIG9yIGZha2UsIGFuZCBpZiB0aGUgZHJhZyBpcyBhbHJlYWR5IHN0YXJ0ZWQuXG4gICAqIElmIG5vdCwgaXQgc2V0cyB1cCB0aGUgZHJhZyBzdGFydCBzZXF1ZW5jZSBieSBhZGRpbmcgbmVjZXNzYXJ5IGV2ZW50IGxpc3RlbmVycy5cbiAgICogQHBhcmFtIGV2ZW50IC0gVGhlIHRvdWNoIGV2ZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBkcmFnLlxuICAgKi9cbiAgcHJpdmF0ZSBvblRvdWNoRG93biA9IChldmVudDogVG91Y2hFdmVudCkgPT4ge1xuICAgIGNvbnN0IGlzRmFrZUV2ZW50ID0gaXNGYWtlVG91Y2hzdGFydEZyb21TY3JlZW5SZWFkZXIoZXZlbnQgYXMgVG91Y2hFdmVudClcbiAgICBjb25zdCB0b3VjaEV2ZW50ID0gbmV3IElUb3VjaERvd25FdmVudChldmVudCk7XG5cbiAgICBpZiAoaXNGYWtlRXZlbnQgfHwgdGhpcy5kaXNhYmxlZCB8fCB0aGlzLmlzRHJhZ1N0YXJ0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5wb2ludGVyRG93bkVsZW1lbnQgPSB0b3VjaEV2ZW50LnRhcmdldEVsZW1lbnQ7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5vblBvaW50ZXJEb3duKHRvdWNoRXZlbnQpO1xuICAgIGlmIChyZXN1bHQpIHtcblxuICAgICAgdGhpcy5kcmFnU3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIHRoaXMuZHJhZ1N0YXJ0UG9zaXRpb24gPSB0b3VjaEV2ZW50LmdldFBvc2l0aW9uKCk7XG5cbiAgICAgIHRoaXMubmdab25lPy5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3NlbGVjdHN0YXJ0JywgdGhpcy5vblNlbGVjdFN0YXJ0LCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMub25Ub3VjaE1vdmUpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVydXAnLCB0aGlzLm9uUG9pbnRlclVwRXZlbnQpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyY2FuY2VsJywgdGhpcy5vblBvaW50ZXJVcEV2ZW50LCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlQ2FwdHVyZUxpc3RlbmVyKCkpO1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCdjb250ZXh0bWVudScsIHRoaXMub25Db250ZXh0TWVudUR1cmluZ0RyYWcsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVDYXB0dXJlTGlzdGVuZXIoKSk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy50b3VjaExpc3RlbmVycyA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2VsZWN0c3RhcnQnLCB0aGlzLm9uU2VsZWN0U3RhcnQsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVMaXN0ZW5lcigpKTtcbiAgICAgICAgdGhpcy5kb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5vblRvdWNoTW92ZSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJ1cCcsIHRoaXMub25Qb2ludGVyVXBFdmVudCk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJjYW5jZWwnLCB0aGlzLm9uUG9pbnRlclVwRXZlbnQsIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVDYXB0dXJlTGlzdGVuZXIoKSk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgdGhpcy5vbkNvbnRleHRNZW51RHVyaW5nRHJhZywgRXZlbnRFeHRlbnNpb25zLmFjdGl2ZUNhcHR1cmVMaXN0ZW5lcigpKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIHNlbGVjdCBzdGFydCBldmVudC5cbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgc3RhcnRzIHNlbGVjdGluZyB0ZXh0IG9yIGVsZW1lbnRzLlxuICAgKiBJdCBwcmV2ZW50cyB0aGUgZGVmYXVsdCBiZWhhdmlvciBhbmQgY2FsbHMgdGhlIG9uU2VsZWN0IG1ldGhvZCB0byBoYW5kbGUgdGhlIHNlbGVjdGlvbi5cbiAgICogQHBhcmFtIGV2ZW50IC0gVGhlIGV2ZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBzZWxlY3Qgc3RhcnQuXG4gICAqL1xuICBwcml2YXRlIG9uU2VsZWN0U3RhcnQgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgdGhpcy5vblNlbGVjdChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgbW91c2UgbW92ZSBldmVudCBkdXJpbmcgdGhlIGRyYWcgc2VxdWVuY2UuXG4gICAqIEl0IGNoZWNrcyBpZiB0aGUgZHJhZyBzZXF1ZW5jZSBzaG91bGQgc3RhcnQgYW5kIGNhbGxzIHRoZSBtb3ZlIGhhbmRsZXIgYWNjb3JkaW5nbHkuXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBtb3VzZSBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgbW92ZS5cbiAgICovXG4gIHByaXZhdGUgb25Nb3VzZU1vdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICB0aGlzLm1vdmVIYW5kbGVyKG5ldyBJTW91c2VFdmVudChldmVudCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgdGhlIHRvdWNoIG1vdmUgZXZlbnQgZHVyaW5nIHRoZSBkcmFnIHNlcXVlbmNlLlxuICAgKiBJdCBjaGVja3MgaWYgdGhlIGRyYWcgc2VxdWVuY2Ugc2hvdWxkIHN0YXJ0IGFuZCBjYWxscyB0aGUgbW92ZSBoYW5kbGVyIGFjY29yZGluZ2x5LlxuICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgdG91Y2ggZXZlbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIG1vdmUuXG4gICAqL1xuICBwcml2YXRlIG9uVG91Y2hNb3ZlID0gKGV2ZW50OiBUb3VjaEV2ZW50KSA9PiB7XG4gICAgdGhpcy5tb3ZlSGFuZGxlcihuZXcgSVRvdWNoTW92ZUV2ZW50KGV2ZW50KSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBkcmFnIHNlcXVlbmNlIHNob3VsZCBzdGFydCBiYXNlZCBvbiB0aGUgcG9pbnRlciBwb3NpdGlvbi5cbiAgICogSXQgY29tcGFyZXMgdGhlIGN1cnJlbnQgcG9pbnRlciBwb3NpdGlvbiB3aXRoIHRoZSBpbml0aWFsIGRyYWcgc3RhcnQgcG9zaXRpb25cbiAgICogYW5kIGNoZWNrcyBpZiB0aGUgZGlzdGFuY2UgZXhjZWVkcyB0aGUgZHJhZyBzdGFydCB0aHJlc2hvbGQuXG4gICAqIElmIHRoZSB0aHJlc2hvbGQgaXMgZXhjZWVkZWQgYW5kIHRoZSBkZWxheSBoYXMgcGFzc2VkLFxuICAgKiBpdCBwcmVwYXJlcyB0aGUgZHJhZyBzZXF1ZW5jZSBhbmQgc2V0cyB0aGUgbW92ZSBoYW5kbGVyIHRvIG9uUG9pbnRlck1vdmUuXG4gICAqIEBwYXJhbSBldmVudCAtIFRoZSBwb2ludGVyIGV2ZW50IHRoYXQgdHJpZ2dlcmVkIHRoZSBjaGVjay5cbiAgICovXG4gIHByaXZhdGUgY2hlY2tEcmFnU2VxdWVuY2VUb1N0YXJ0KGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgcG9pbnRlclBvc2l0aW9uID0gZXZlbnQuZ2V0UG9zaXRpb24oKTtcblxuICAgIGlmICghdGhpcy5pc0RyYWdTdGFydGVkICYmIHRoaXMucG9pbnRlckRvd25FbGVtZW50KSB7XG4gICAgICBldmVudC5zZXRUYXJnZXQodGhpcy5wb2ludGVyRG93bkVsZW1lbnQpO1xuICAgICAgY29uc3QgZGlzdGFuY2VYID0gTWF0aC5hYnMocG9pbnRlclBvc2l0aW9uLnggLSB0aGlzLmRyYWdTdGFydFBvc2l0aW9uLngpO1xuICAgICAgY29uc3QgZGlzdGFuY2VZID0gTWF0aC5hYnMocG9pbnRlclBvc2l0aW9uLnkgLSB0aGlzLmRyYWdTdGFydFBvc2l0aW9uLnkpO1xuICAgICAgY29uc3QgaXNPdmVyVGhyZXNob2xkID0gZGlzdGFuY2VYICsgZGlzdGFuY2VZID49IHRoaXMuZHJhZ1N0YXJ0VGhyZXNob2xkO1xuXG4gICAgICBpZiAoaXNPdmVyVGhyZXNob2xkKSB7XG4gICAgICAgIGNvbnN0IGlzRGVsYXlFbGFwc2VkID0gRGF0ZS5ub3coKSA+PSB0aGlzLmRyYWdTdGFydFRpbWUgKyB0aGlzLmRyYWdTdGFydERlbGF5O1xuXG4gICAgICAgIGlmICghaXNEZWxheUVsYXBzZWQpIHtcbiAgICAgICAgICB0aGlzLmVuZERyYWdTZXF1ZW5jZSgpO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5wcmVwYXJlRHJhZ1NlcXVlbmNlKGV2ZW50KTtcbiAgICAgICAgdGhpcy5pc0RyYWdTdGFydGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5tb3ZlSGFuZGxlciA9IHRoaXMub25Qb2ludGVyTW92ZTtcbiAgICAgICAgaWYgKGlzVG91Y2hFdmVudChldmVudC5vcmlnaW5hbEV2ZW50KSkge1xuICAgICAgICAgIHRoaXMubGFzdFRvdWNoRXZlbnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQcmVwYXJlcyB0aGUgZHJhZyBzZXF1ZW5jZSBieSBzZXR0aW5nIHVwIG5lY2Vzc2FyeSBldmVudCBsaXN0ZW5lcnNcbiAgICogYW5kIGluaXRpYWxpemluZyBhbnkgcmVxdWlyZWQgc3RhdGUgZm9yIHRoZSBkcmFnIG9wZXJhdGlvbi5cbiAgICogVGhpcyBtZXRob2Qgc2hvdWxkIGJlIGltcGxlbWVudGVkIGJ5IGRlcml2ZWQgY2xhc3NlcyB0byBkZWZpbmUgc3BlY2lmaWMgZHJhZyBiZWhhdmlvci5cbiAgICogQHBhcmFtIGV2ZW50IC0gVGhlIHBvaW50ZXIgZXZlbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIHByZXBhcmF0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHByZXBhcmVEcmFnU2VxdWVuY2UoZXZlbnQ6IElQb2ludGVyRXZlbnQpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIHRoZSBwb2ludGVyIHVwIGV2ZW50IGF0IHRoZSBlbmQgb2YgdGhlIGRyYWcgc2VxdWVuY2UuXG4gICAqIEl0IGNoZWNrcyBpZiB0aGUgZHJhZyBoYXMgc3RhcnRlZCBhbmQgY2FsbHMgdGhlIG9uUG9pbnRlclVwIG1ldGhvZC5cbiAgICogSXQgYWxzbyBlbmRzIHRoZSBkcmFnIHNlcXVlbmNlIGJ5IHJlc2V0dGluZyB0aGUgc3RhdGUgYW5kIHJlbW92aW5nIGV2ZW50IGxpc3RlbmVycy5cbiAgICogVGhpcyBtZXRob2QgaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgcmVsZWFzZXMgdGhlIG1vdXNlIGJ1dHRvbiBvciBsaWZ0cyB0aGVpciBmaW5nZXIgZnJvbSB0aGUgdG91Y2ggc2NyZWVuLlxuICAgKiBAcGFyYW0gZXZlbnQgLSBUaGUgcG9pbnRlciBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgdXAgYWN0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBvblBvaW50ZXJVcEV2ZW50ID0gKGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICBpZiAodGhpcy5pc0RyYWdTdGFydGVkKSB7XG4gICAgICB0aGlzLm9uUG9pbnRlclVwKG5ldyBJUG9pbnRlclVwRXZlbnQoZXZlbnQpKTtcbiAgICB9XG4gICAgdGhpcy5lbmREcmFnU2VxdWVuY2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmRzIHRoZSBkcmFnIHNlcXVlbmNlIGJ5IHJlc2V0dGluZyB0aGUgc3RhdGUgYW5kIHJlbW92aW5nIGV2ZW50IGxpc3RlbmVycy5cbiAgICogSXQgc2V0cyB0aGUgaXNEcmFnU3RhcnRlZCBmbGFnIHRvIGZhbHNlLCBjbGVhcnMgdGhlIHBvaW50ZXJEb3duRWxlbWVudCxcbiAgICogYW5kIHJlc2V0cyB0aGUgbW92ZUhhbmRsZXIgdG8gY2hlY2tEcmFnU2VxdWVuY2VUb1N0YXJ0LlxuICAgKiBJdCBhbHNvIHJlbW92ZXMgYWxsIG1vdXNlIGFuZCB0b3VjaCBldmVudCBsaXN0ZW5lcnMgdGhhdCB3ZXJlIGFkZGVkIGR1cmluZyB0aGUgZHJhZyBzZXF1ZW5jZS5cbiAgICovXG4gIHByaXZhdGUgZW5kRHJhZ1NlcXVlbmNlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNEcmFnU3RhcnRlZCA9IGZhbHNlO1xuICAgIHRoaXMucG9pbnRlckRvd25FbGVtZW50ID0gbnVsbDtcblxuICAgIHRoaXMubW92ZUhhbmRsZXIgPSB0aGlzLmNoZWNrRHJhZ1NlcXVlbmNlVG9TdGFydDtcbiAgICB0aGlzLm1vdXNlTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5tb3VzZUxpc3RlbmVycyA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG4gICAgdGhpcy50b3VjaExpc3RlbmVycygpO1xuICAgIHRoaXMudG91Y2hMaXN0ZW5lcnMgPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICAgIHRoaXMuZmluYWxpemVEcmFnU2VxdWVuY2UoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBmaW5hbGl6ZURyYWdTZXF1ZW5jZSgpOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvblNlbGVjdChldmVudDogRXZlbnQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBvblBvaW50ZXJEb3duKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3Qgb25Qb2ludGVyTW92ZShldmVudDogSVBvaW50ZXJFdmVudCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IG9uUG9pbnRlclVwKGV2ZW50OiBJUG9pbnRlckV2ZW50KTogdm9pZDtcblxuICBwdWJsaWMgc3Vic2NyaWJlKGZEb2N1bWVudDogRG9jdW1lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kb2N1bWVudCkge1xuICAgICAgdGhpcy51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB0aGlzLmRvY3VtZW50ID0gZkRvY3VtZW50O1xuXG4gICAgdGhpcy5uZ1pvbmU/LnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGZEb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLm9uTW91c2VEb3duLCBFdmVudEV4dGVuc2lvbnMuYWN0aXZlTGlzdGVuZXIoKSk7XG4gICAgICBmRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIHRoaXMub25Ub3VjaERvd24sIEV2ZW50RXh0ZW5zaW9ucy5wYXNzaXZlTGlzdGVuZXIoKSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnN0YXJ0TGlzdGVuZXJzID0gKCkgPT4ge1xuICAgICAgZkRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMub25Nb3VzZURvd24sIEV2ZW50RXh0ZW5zaW9ucy5hY3RpdmVMaXN0ZW5lcigpKTtcbiAgICAgIGZEb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5vblRvdWNoRG93biwgRXZlbnRFeHRlbnNpb25zLnBhc3NpdmVMaXN0ZW5lcigpKTtcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHVuc3Vic2NyaWJlKCk6IHZvaWQge1xuXG4gICAgdGhpcy5zdGFydExpc3RlbmVycygpO1xuICAgIHRoaXMuc3RhcnRMaXN0ZW5lcnMgPSBFdmVudEV4dGVuc2lvbnMuZW1wdHlMaXN0ZW5lcigpO1xuICAgIHRoaXMudG91Y2hMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnRvdWNoTGlzdGVuZXJzID0gRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIoKTtcbiAgICB0aGlzLm1vdXNlTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5tb3VzZUxpc3RlbmVycyA9IEV2ZW50RXh0ZW5zaW9ucy5lbXB0eUxpc3RlbmVyKCk7XG4gIH1cblxuICBwcml2YXRlIG9uQ29udGV4dE1lbnVEdXJpbmdEcmFnID0gKGU6IEV2ZW50KSA9PiB7XG4gICAgaWYgKHRoaXMuaXNEcmFnU3RhcnRlZCkge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNUb3VjaEV2ZW50KGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCk6IGV2ZW50IGlzIFRvdWNoRXZlbnQge1xuICByZXR1cm4gZXZlbnQudHlwZVswXSA9PT0gJ3QnO1xufVxuXG5mdW5jdGlvbiBpc0Zha2VNb3VzZWRvd25Gcm9tU2NyZWVuUmVhZGVyKGV2ZW50OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBldmVudC5idXR0b25zID09PSAwIHx8IChldmVudC5vZmZzZXRYID09PSAwICYmIGV2ZW50Lm9mZnNldFkgPT09IDApO1xufVxuXG5mdW5jdGlvbiBpc0Zha2VUb3VjaHN0YXJ0RnJvbVNjcmVlblJlYWRlcihldmVudDogVG91Y2hFdmVudCk6IGJvb2xlYW4ge1xuICBjb25zdCB0b3VjaDogVG91Y2ggfCB1bmRlZmluZWQgPVxuICAgIChldmVudC50b3VjaGVzICYmIGV2ZW50LnRvdWNoZXNbMF0pIHx8IChldmVudC5jaGFuZ2VkVG91Y2hlcyAmJiBldmVudC5jaGFuZ2VkVG91Y2hlc1swXSk7XG5cbiAgcmV0dXJuIChcbiAgICAhIXRvdWNoICYmXG4gICAgdG91Y2guaWRlbnRpZmllciA9PT0gLTEgJiZcbiAgICAodG91Y2gucmFkaXVzWCA9PSBudWxsIHx8IHRvdWNoLnJhZGl1c1ggPT09IDEpICYmXG4gICAgKHRvdWNoLnJhZGl1c1kgPT0gbnVsbCB8fCB0b3VjaC5yYWRpdXNZID09PSAxKVxuICApO1xufVxuIl19
@@ -29,4 +29,4 @@ export class EventExtensions {
29
29
  };
30
30
  }
31
31
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuZXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZHJhZy10b29sa2l0L2V2ZW50LmV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGVBQWU7SUFFbEIsTUFBTSxDQUFDLFdBQVcsQ0FBVTtJQUU1QixNQUFNLENBQUMsK0JBQStCO1FBRTVDLElBQUksZUFBZSxDQUFDLFdBQVcsSUFBSSxJQUFJLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDekUsSUFBSSxDQUFDO2dCQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLGFBQWEsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO2dCQUNoRixlQUFlLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUNyQyxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxlQUFlLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN0QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sZUFBZSxDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRU8sTUFBTSxDQUFDLG9CQUFvQixDQUFDLE9BQWdDO1FBQ2xFLE9BQU8sZUFBZSxDQUFDLCtCQUErQixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDekYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjO1FBQzFCLE9BQU8sZUFBZSxDQUFDLG9CQUFvQixDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlO1FBQzNCLE9BQU8sZUFBZSxDQUFDLG9CQUFvQixDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUI7UUFDakMsT0FBTyxlQUFlLENBQUMsb0JBQW9CLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYTtRQUN6QixPQUFPLEdBQUcsRUFBRTtRQUNaLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFdmVudEV4dGVuc2lvbnMge1xuXG4gIHByaXZhdGUgc3RhdGljIGlzU3VwcG9ydGVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgc3RhdGljIGlzUGFzc2l2ZUV2ZW50TGlzdGVuZXJTdXBwb3J0ZWQoKTogYm9vbGVhbiB7XG5cbiAgICBpZiAoRXZlbnRFeHRlbnNpb25zLmlzU3VwcG9ydGVkID09IG51bGwgJiYgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIsIHtwYXNzaXZlOiB0cnVlfSk7XG4gICAgICAgIEV2ZW50RXh0ZW5zaW9ucy5pc1N1cHBvcnRlZCA9IHRydWU7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIEV2ZW50RXh0ZW5zaW9ucy5pc1N1cHBvcnRlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBFdmVudEV4dGVuc2lvbnMuaXNTdXBwb3J0ZWQ7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBwYXNzaXZlRXZlbnRMaXN0ZW5lcihvcHRpb25zOiBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyk6IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgYm9vbGVhbiB7XG4gICAgcmV0dXJuIEV2ZW50RXh0ZW5zaW9ucy5pc1Bhc3NpdmVFdmVudExpc3RlbmVyU3VwcG9ydGVkKCkgPyBvcHRpb25zIDogISFvcHRpb25zLmNhcHR1cmU7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGFjdGl2ZUxpc3RlbmVyKCk6IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB7XG4gICAgcmV0dXJuIEV2ZW50RXh0ZW5zaW9ucy5wYXNzaXZlRXZlbnRMaXN0ZW5lcih7cGFzc2l2ZTogZmFsc2V9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcGFzc2l2ZUxpc3RlbmVyKCk6IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB7XG4gICAgcmV0dXJuIEV2ZW50RXh0ZW5zaW9ucy5wYXNzaXZlRXZlbnRMaXN0ZW5lcih7cGFzc2l2ZTogdHJ1ZX0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3RpdmVDYXB0dXJlTGlzdGVuZXIoKTogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHtcbiAgICByZXR1cm4gRXZlbnRFeHRlbnNpb25zLnBhc3NpdmVFdmVudExpc3RlbmVyKHtwYXNzaXZlOiBmYWxzZSwgY2FwdHVyZTogdHJ1ZX0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBlbXB0eUxpc3RlbmVyKCk6IEZ1bmN0aW9uIHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuZXh0ZW5zaW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZHJhZy10b29sa2l0L2V2ZW50LmV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGVBQWU7SUFFbEIsTUFBTSxDQUFDLFdBQVcsQ0FBVTtJQUU1QixNQUFNLENBQUMsK0JBQStCO1FBRTVDLElBQUksZUFBZSxDQUFDLFdBQVcsSUFBSSxJQUFJLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDekUsSUFBSSxDQUFDO2dCQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLGFBQWEsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRixlQUFlLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUNyQyxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxlQUFlLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN0QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sZUFBZSxDQUFDLFdBQVcsQ0FBQztJQUNyQyxDQUFDO0lBRU8sTUFBTSxDQUFDLG9CQUFvQixDQUFDLE9BQWdDO1FBQ2xFLE9BQU8sZUFBZSxDQUFDLCtCQUErQixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDekYsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjO1FBQzFCLE9BQU8sZUFBZSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlO1FBQzNCLE9BQU8sZUFBZSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUI7UUFDakMsT0FBTyxlQUFlLENBQUMsb0JBQW9CLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFTSxNQUFNLENBQUMsYUFBYTtRQUN6QixPQUFPLEdBQUcsRUFBRTtRQUNaLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBFdmVudEV4dGVuc2lvbnMge1xuXG4gIHByaXZhdGUgc3RhdGljIGlzU3VwcG9ydGVkOiBib29sZWFuO1xuXG4gIHByaXZhdGUgc3RhdGljIGlzUGFzc2l2ZUV2ZW50TGlzdGVuZXJTdXBwb3J0ZWQoKTogYm9vbGVhbiB7XG5cbiAgICBpZiAoRXZlbnRFeHRlbnNpb25zLmlzU3VwcG9ydGVkID09IG51bGwgJiYgdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCd0ZXN0JywgRXZlbnRFeHRlbnNpb25zLmVtcHR5TGlzdGVuZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgRXZlbnRFeHRlbnNpb25zLmlzU3VwcG9ydGVkID0gdHJ1ZTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgRXZlbnRFeHRlbnNpb25zLmlzU3VwcG9ydGVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIEV2ZW50RXh0ZW5zaW9ucy5pc1N1cHBvcnRlZDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHBhc3NpdmVFdmVudExpc3RlbmVyKG9wdGlvbnM6IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zKTogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBib29sZWFuIHtcbiAgICByZXR1cm4gRXZlbnRFeHRlbnNpb25zLmlzUGFzc2l2ZUV2ZW50TGlzdGVuZXJTdXBwb3J0ZWQoKSA/IG9wdGlvbnMgOiAhIW9wdGlvbnMuY2FwdHVyZTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgYWN0aXZlTGlzdGVuZXIoKTogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHtcbiAgICByZXR1cm4gRXZlbnRFeHRlbnNpb25zLnBhc3NpdmVFdmVudExpc3RlbmVyKHsgcGFzc2l2ZTogZmFsc2UgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIHBhc3NpdmVMaXN0ZW5lcigpOiBib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMge1xuICAgIHJldHVybiBFdmVudEV4dGVuc2lvbnMucGFzc2l2ZUV2ZW50TGlzdGVuZXIoeyBwYXNzaXZlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBhY3RpdmVDYXB0dXJlTGlzdGVuZXIoKTogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zIHtcbiAgICByZXR1cm4gRXZlbnRFeHRlbnNpb25zLnBhc3NpdmVFdmVudExpc3RlbmVyKHsgcGFzc2l2ZTogZmFsc2UsIGNhcHR1cmU6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGVtcHR5TGlzdGVuZXIoKTogRnVuY3Rpb24ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgfTtcbiAgfVxufVxuIl19
@@ -22,4 +22,4 @@ export class IPointerUpEvent extends IPointerEvent {
22
22
  return this.originalEvent.pointerId;
23
23
  }
24
24
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1wb2ludGVyLXVwLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kcmFnLXRvb2xraXQvcG9pbnRlci1ldmVudHMvaS1wb2ludGVyLXVwLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBRWhELFlBQVksS0FBbUIsRUFBRSxNQUFvQjtRQUNuRCxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQTZCLENBQUM7UUFDL0MsT0FBTyxHQUFHLENBQUMsV0FBVyxLQUFLLE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsV0FBVyxLQUFLLE9BQU8sQ0FBQztJQUN4RixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUE2QixDQUFDO1FBQy9DLE9BQU8sR0FBRyxDQUFDLFdBQVcsS0FBSyxPQUFPLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLFdBQVcsS0FBSyxPQUFPLENBQUM7SUFDeEYsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQTZCLENBQUM7UUFDL0MsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBUSxJQUFJLENBQUMsYUFBOEIsQ0FBQyxXQUFXLENBQUM7SUFDMUQsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBUSxJQUFJLENBQUMsYUFBOEIsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJUG9pbnRlckV2ZW50fSBmcm9tIFwiLi9pLXBvaW50ZXItZXZlbnRcIjtcblxuZXhwb3J0IGNsYXNzIElQb2ludGVyVXBFdmVudCBleHRlbmRzIElQb2ludGVyRXZlbnQge1xuXG4gIGNvbnN0cnVjdG9yKGV2ZW50OiBQb2ludGVyRXZlbnQsIHRhcmdldD86IEhUTUxFbGVtZW50KSB7XG4gICAgc3VwZXIoZXZlbnQsIHRhcmdldCk7XG4gIH1cblxuICBwdWJsaWMgaXNNb3VzZUxlZnRCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZXZ0ID0gdGhpcy5vcmlnaW5hbEV2ZW50IGFzIFBvaW50ZXJFdmVudDtcbiAgICByZXR1cm4gZXZ0LnBvaW50ZXJUeXBlID09PSAnbW91c2UnICYmIGV2dC5idXR0b24gPT09IDAgfHwgZXZ0LnBvaW50ZXJUeXBlID09PSAndG91Y2gnO1xuICB9XG5cbiAgcHVibGljIGlzTW91c2VSaWdodEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBldnQgPSB0aGlzLm9yaWdpbmFsRXZlbnQgYXMgUG9pbnRlckV2ZW50O1xuICAgIHJldHVybiBldnQucG9pbnRlclR5cGUgPT09ICdtb3VzZScgJiYgZXZ0LmJ1dHRvbiA9PT0gMiB8fCBldnQucG9pbnRlclR5cGUgPT09ICd0b3VjaCc7XG4gIH1cblxuICBwdWJsaWMgZ2V0UG9zaXRpb24oKTogeyB4OiBudW1iZXIsIHk6IG51bWJlciB9IHtcbiAgICBjb25zdCBldnQgPSB0aGlzLm9yaWdpbmFsRXZlbnQgYXMgUG9pbnRlckV2ZW50O1xuICAgIHJldHVybiB7IHg6IGV2dC5jbGllbnRYLCB5OiBldnQuY2xpZW50WSB9O1xuICB9XG5cbiAgcHVibGljIGdldFBvaW50ZXJUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLm9yaWdpbmFsRXZlbnQgYXMgUG9pbnRlckV2ZW50KS5wb2ludGVyVHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRQb2ludGVySWQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMub3JpZ2luYWxFdmVudCBhcyBQb2ludGVyRXZlbnQpLnBvaW50ZXJJZDtcbiAgfVxufVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1wb2ludGVyLXVwLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kcmFnLXRvb2xraXQvcG9pbnRlci1ldmVudHMvaS1wb2ludGVyLXVwLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBRWhELFlBQVksS0FBbUIsRUFBRSxNQUFvQjtRQUNuRCxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQTZCLENBQUM7UUFFL0MsT0FBTyxHQUFHLENBQUMsV0FBVyxLQUFLLE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsV0FBVyxLQUFLLE9BQU8sQ0FBQztJQUN4RixDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxhQUE2QixDQUFDO1FBRS9DLE9BQU8sR0FBRyxDQUFDLFdBQVcsS0FBSyxPQUFPLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLFdBQVcsS0FBSyxPQUFPLENBQUM7SUFDeEYsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQTZCLENBQUM7UUFFL0MsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsT0FBUSxJQUFJLENBQUMsYUFBOEIsQ0FBQyxXQUFXLENBQUM7SUFDMUQsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBUSxJQUFJLENBQUMsYUFBOEIsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gXCIuL2ktcG9pbnRlci1ldmVudFwiO1xuXG5leHBvcnQgY2xhc3MgSVBvaW50ZXJVcEV2ZW50IGV4dGVuZHMgSVBvaW50ZXJFdmVudCB7XG5cbiAgY29uc3RydWN0b3IoZXZlbnQ6IFBvaW50ZXJFdmVudCwgdGFyZ2V0PzogSFRNTEVsZW1lbnQpIHtcbiAgICBzdXBlcihldmVudCwgdGFyZ2V0KTtcbiAgfVxuXG4gIHB1YmxpYyBpc01vdXNlTGVmdEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBldnQgPSB0aGlzLm9yaWdpbmFsRXZlbnQgYXMgUG9pbnRlckV2ZW50O1xuXG4gICAgcmV0dXJuIGV2dC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJyAmJiBldnQuYnV0dG9uID09PSAwIHx8IGV2dC5wb2ludGVyVHlwZSA9PT0gJ3RvdWNoJztcbiAgfVxuXG4gIHB1YmxpYyBpc01vdXNlUmlnaHRCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZXZ0ID0gdGhpcy5vcmlnaW5hbEV2ZW50IGFzIFBvaW50ZXJFdmVudDtcblxuICAgIHJldHVybiBldnQucG9pbnRlclR5cGUgPT09ICdtb3VzZScgJiYgZXZ0LmJ1dHRvbiA9PT0gMiB8fCBldnQucG9pbnRlclR5cGUgPT09ICd0b3VjaCc7XG4gIH1cblxuICBwdWJsaWMgZ2V0UG9zaXRpb24oKTogeyB4OiBudW1iZXIsIHk6IG51bWJlciB9IHtcbiAgICBjb25zdCBldnQgPSB0aGlzLm9yaWdpbmFsRXZlbnQgYXMgUG9pbnRlckV2ZW50O1xuXG4gICAgcmV0dXJuIHsgeDogZXZ0LmNsaWVudFgsIHk6IGV2dC5jbGllbnRZIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0UG9pbnRlclR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMub3JpZ2luYWxFdmVudCBhcyBQb2ludGVyRXZlbnQpLnBvaW50ZXJUeXBlO1xuICB9XG5cbiAgcHVibGljIGdldFBvaW50ZXJJZCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5vcmlnaW5hbEV2ZW50IGFzIFBvaW50ZXJFdmVudCkucG9pbnRlcklkO1xuICB9XG59XG4iXX0=
@@ -14,4 +14,4 @@ export class ITouchDownEvent extends IPointerEvent {
14
14
  return { x: touches[0].clientX, y: touches[0].clientY };
15
15
  }
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS10b3VjaC1kb3duLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kcmFnLXRvb2xraXQvcG9pbnRlci1ldmVudHMvaS10b3VjaC1kb3duLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBRWhELFlBQVksS0FBaUI7UUFDM0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sV0FBVztRQUNoQixNQUFNLE9BQU8sR0FBSSxJQUFJLENBQUMsYUFBNEIsQ0FBQyxPQUFPLENBQUM7UUFDM0QsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUUsQ0FBQyxDQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUUsQ0FBQyxDQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gJy4vaS1wb2ludGVyLWV2ZW50JztcblxuZXhwb3J0IGNsYXNzIElUb3VjaERvd25FdmVudCBleHRlbmRzIElQb2ludGVyRXZlbnQge1xuXG4gIGNvbnN0cnVjdG9yKGV2ZW50OiBUb3VjaEV2ZW50KSB7XG4gICAgc3VwZXIoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGlzTW91c2VMZWZ0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzTW91c2VSaWdodEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0UG9zaXRpb24oKTogeyB4OiBudW1iZXIsIHk6IG51bWJlciB9IHtcbiAgICBjb25zdCB0b3VjaGVzID0gKHRoaXMub3JpZ2luYWxFdmVudCBhcyBUb3VjaEV2ZW50KS50b3VjaGVzO1xuICAgIHJldHVybiB7IHg6IHRvdWNoZXNbIDAgXS5jbGllbnRYLCB5OiB0b3VjaGVzWyAwIF0uY2xpZW50WSB9O1xuICB9XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS10b3VjaC1kb3duLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kcmFnLXRvb2xraXQvcG9pbnRlci1ldmVudHMvaS10b3VjaC1kb3duLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBRWhELFlBQVksS0FBaUI7UUFDM0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU0sV0FBVztRQUNoQixNQUFNLE9BQU8sR0FBSSxJQUFJLENBQUMsYUFBNEIsQ0FBQyxPQUFPLENBQUM7UUFFM0QsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUUsQ0FBQyxDQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUUsQ0FBQyxDQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDOUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVBvaW50ZXJFdmVudCB9IGZyb20gJy4vaS1wb2ludGVyLWV2ZW50JztcblxuZXhwb3J0IGNsYXNzIElUb3VjaERvd25FdmVudCBleHRlbmRzIElQb2ludGVyRXZlbnQge1xuXG4gIGNvbnN0cnVjdG9yKGV2ZW50OiBUb3VjaEV2ZW50KSB7XG4gICAgc3VwZXIoZXZlbnQpO1xuICB9XG5cbiAgcHVibGljIGlzTW91c2VMZWZ0QnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHVibGljIGlzTW91c2VSaWdodEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0UG9zaXRpb24oKTogeyB4OiBudW1iZXIsIHk6IG51bWJlciB9IHtcbiAgICBjb25zdCB0b3VjaGVzID0gKHRoaXMub3JpZ2luYWxFdmVudCBhcyBUb3VjaEV2ZW50KS50b3VjaGVzO1xuXG4gICAgcmV0dXJuIHsgeDogdG91Y2hlc1sgMCBdLmNsaWVudFgsIHk6IHRvdWNoZXNbIDAgXS5jbGllbnRZIH07XG4gIH1cbn1cbiJdfQ==
@@ -14,4 +14,4 @@ export class ITouchMoveEvent extends IPointerEvent {
14
14
  return { x: touch.clientX, y: touch.clientY };
15
15
  }
16
16
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS10b3VjaC1tb3ZlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kcmFnLXRvb2xraXQvcG9pbnRlci1ldmVudHMvaS10b3VjaC1tb3ZlLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBRWhELFlBQVksS0FBaUIsRUFBRSxNQUFvQjtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxLQUFLLEdBQUksSUFBSSxDQUFDLGFBQTRCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICcuL2ktcG9pbnRlci1ldmVudCc7XG5cbmV4cG9ydCBjbGFzcyBJVG91Y2hNb3ZlRXZlbnQgZXh0ZW5kcyBJUG9pbnRlckV2ZW50IHtcblxuICBjb25zdHJ1Y3RvcihldmVudDogVG91Y2hFdmVudCwgdGFyZ2V0PzogSFRNTEVsZW1lbnQpIHtcbiAgICBzdXBlcihldmVudCwgdGFyZ2V0KTtcbiAgfVxuXG4gIHB1YmxpYyBpc01vdXNlTGVmdEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc01vdXNlUmlnaHRCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldFBvc2l0aW9uKCk6IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfSB7XG4gICAgY29uc3QgdG91Y2ggPSAodGhpcy5vcmlnaW5hbEV2ZW50IGFzIFRvdWNoRXZlbnQpLnRhcmdldFRvdWNoZXNbMF07XG4gICAgcmV0dXJuIHsgeDogdG91Y2guY2xpZW50WCwgeTogdG91Y2guY2xpZW50WSB9O1xuICB9XG59XG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS10b3VjaC1tb3ZlLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9kcmFnLXRvb2xraXQvcG9pbnRlci1ldmVudHMvaS10b3VjaC1tb3ZlLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBRWhELFlBQVksS0FBaUIsRUFBRSxNQUFvQjtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSxLQUFLLEdBQUksSUFBSSxDQUFDLGFBQTRCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxFLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElQb2ludGVyRXZlbnQgfSBmcm9tICcuL2ktcG9pbnRlci1ldmVudCc7XG5cbmV4cG9ydCBjbGFzcyBJVG91Y2hNb3ZlRXZlbnQgZXh0ZW5kcyBJUG9pbnRlckV2ZW50IHtcblxuICBjb25zdHJ1Y3RvcihldmVudDogVG91Y2hFdmVudCwgdGFyZ2V0PzogSFRNTEVsZW1lbnQpIHtcbiAgICBzdXBlcihldmVudCwgdGFyZ2V0KTtcbiAgfVxuXG4gIHB1YmxpYyBpc01vdXNlTGVmdEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc01vdXNlUmlnaHRCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldFBvc2l0aW9uKCk6IHsgeDogbnVtYmVyLCB5OiBudW1iZXIgfSB7XG4gICAgY29uc3QgdG91Y2ggPSAodGhpcy5vcmlnaW5hbEV2ZW50IGFzIFRvdWNoRXZlbnQpLnRhcmdldFRvdWNoZXNbMF07XG5cbiAgICByZXR1cm4geyB4OiB0b3VjaC5jbGllbnRYLCB5OiB0b3VjaC5jbGllbnRZIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
- import { ChangeDetectionStrategy, Component, contentChild, ElementRef, inject } from "@angular/core";
1
+ import { ChangeDetectionStrategy, Component, contentChild, ElementRef, inject, } from "@angular/core";
2
2
  import { F_BACKGROUND, FBackgroundBase } from './f-background-base';
3
3
  import { F_BACKGROUND_PATTERN } from './domain';
4
4
  import { FMediator } from '@foblex/mediator';
5
- import { AddBackgroundToStoreRequest, AddPatternToBackgroundRequest, RemoveBackgroundFromStoreRequest } from '../domain';
5
+ import { AddBackgroundToStoreRequest, AddPatternToBackgroundRequest, RemoveBackgroundFromStoreRequest, } from '../domain';
6
6
  import * as i0 from "@angular/core";
7
7
  export class FBackgroundComponent extends FBackgroundBase {
8
8
  _fMediator = inject(FMediator);
@@ -29,7 +29,7 @@ export class FBackgroundComponent extends FBackgroundBase {
29
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FBackgroundComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: "f-background", template: "<svg><ng-content></ng-content></svg>", standalone: true, host: {
32
- 'class': 'f-component f-background'
32
+ 'class': 'f-component f-background',
33
33
  }, providers: [{ provide: F_BACKGROUND, useExisting: FBackgroundComponent }], changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{position:absolute;width:100%;height:100%;left:0;top:0;transform-origin:0 0;pointer-events:none}:host svg{width:100%;height:100%}\n"] }]
34
34
  }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iYWNrZ3JvdW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1iYWNrZ3JvdWQvZi1iYWNrZ3JvdW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLFVBQVUsRUFBRSxNQUFNLEVBRW5CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixnQ0FBZ0MsRUFDakMsTUFBTSxXQUFXLENBQUM7O0FBYW5CLE1BQU0sT0FBTyxvQkFDWCxTQUFRLGVBQWU7SUFFTixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4RCxJQUFvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRVMsa0JBQWtCLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFM0QsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBMEI7UUFDNUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksZ0NBQWdDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO3dHQTFCVSxvQkFBb0I7NEZBQXBCLG9CQUFvQixpSEFIcEIsQ0FBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUUsMEVBYS9CLG9CQUFvQix1RkFuQnRELHNDQUFzQzs7NEZBU3JDLG9CQUFvQjtrQkFYaEMsU0FBUzsrQkFDRSxjQUFjLFlBQ2Qsc0NBQXNDLGNBRXBDLElBQUksUUFDVjt3QkFDSixPQUFPLEVBQUUsMEJBQTBCO3FCQUNwQyxhQUNVLENBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBRSxtQkFDMUQsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIGNvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRl9CQUNLR1JPVU5ELCBGQmFja2dyb3VuZEJhc2UgfSBmcm9tICcuL2YtYmFja2dyb3VuZC1iYXNlJztcbmltcG9ydCB7IElUcmFuc2Zvcm1Nb2RlbCB9IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRl9CQUNLR1JPVU5EX1BBVFRFUk4gfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGTWVkaWF0b3IgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7XG4gIEFkZEJhY2tncm91bmRUb1N0b3JlUmVxdWVzdCxcbiAgQWRkUGF0dGVyblRvQmFja2dyb3VuZFJlcXVlc3QsXG4gIFJlbW92ZUJhY2tncm91bmRGcm9tU3RvcmVSZXF1ZXN0XG59IGZyb20gJy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJmLWJhY2tncm91bmRcIixcbiAgdGVtcGxhdGU6IFwiPHN2Zz48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zdmc+XCIsXG4gIHN0eWxlVXJsczogWyBcIi4vZi1iYWNrZ3JvdW5kLmNvbXBvbmVudC5zY3NzXCIgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmLWNvbXBvbmVudCBmLWJhY2tncm91bmQnXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfQkFDS0dST1VORCwgdXNlRXhpc3Rpbmc6IEZCYWNrZ3JvdW5kQ29tcG9uZW50IH0gXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZCYWNrZ3JvdW5kQ29tcG9uZW50XG4gIGV4dGVuZHMgRkJhY2tncm91bmRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZkJhY2tncm91bmRQYXR0ZXJuID0gY29udGVudENoaWxkKEZfQkFDS0dST1VORF9QQVRURVJOKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZEJhY2tncm91bmRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBBZGRQYXR0ZXJuVG9CYWNrZ3JvdW5kUmVxdWVzdCh0aGlzLmZCYWNrZ3JvdW5kUGF0dGVybigpKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0VHJhbnNmb3JtKHRyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5mQmFja2dyb3VuZFBhdHRlcm4oKT8uc2V0VHJhbnNmb3JtKHRyYW5zZm9ybSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZUJhY2tncm91bmRGcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iYWNrZ3JvdW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2YtZmxvdy9zcmMvZi1iYWNrZ3JvdWQvZi1iYWNrZ3JvdW5kLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLFVBQVUsRUFBRSxNQUFNLEdBRW5CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixnQ0FBZ0MsR0FDakMsTUFBTSxXQUFXLENBQUM7O0FBYW5CLE1BQU0sT0FBTyxvQkFDWCxTQUFRLGVBQWU7SUFFTixVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV4RCxJQUFvQixXQUFXO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsQ0FBQztJQUM5QyxDQUFDO0lBRVMsa0JBQWtCLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFM0QsUUFBUTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksNkJBQTZCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxZQUFZLENBQUMsU0FBMEI7UUFDNUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksZ0NBQWdDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO3dHQTFCVSxvQkFBb0I7NEZBQXBCLG9CQUFvQixpSEFIcEIsQ0FBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUUsMEVBYS9CLG9CQUFvQix1RkFuQnRELHNDQUFzQzs7NEZBU3JDLG9CQUFvQjtrQkFYaEMsU0FBUzsrQkFDRSxjQUFjLFlBQ2Qsc0NBQXNDLGNBRXBDLElBQUksUUFDVjt3QkFDSixPQUFPLEVBQUUsMEJBQTBCO3FCQUNwQyxhQUNVLENBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsc0JBQXNCLEVBQUUsQ0FBRSxtQkFDMUQsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIGNvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZfQkFDS0dST1VORCwgRkJhY2tncm91bmRCYXNlIH0gZnJvbSAnLi9mLWJhY2tncm91bmQtYmFzZSc7XG5pbXBvcnQgeyBJVHJhbnNmb3JtTW9kZWwgfSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZfQkFDS0dST1VORF9QQVRURVJOIH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgRk1lZGlhdG9yIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQge1xuICBBZGRCYWNrZ3JvdW5kVG9TdG9yZVJlcXVlc3QsXG4gIEFkZFBhdHRlcm5Ub0JhY2tncm91bmRSZXF1ZXN0LFxuICBSZW1vdmVCYWNrZ3JvdW5kRnJvbVN0b3JlUmVxdWVzdCxcbn0gZnJvbSAnLi4vZG9tYWluJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtYmFja2dyb3VuZFwiLFxuICB0ZW1wbGF0ZTogXCI8c3ZnPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3N2Zz5cIixcbiAgc3R5bGVVcmxzOiBbIFwiLi9mLWJhY2tncm91bmQuY29tcG9uZW50LnNjc3NcIiBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ2YtY29tcG9uZW50IGYtYmFja2dyb3VuZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogWyB7IHByb3ZpZGU6IEZfQkFDS0dST1VORCwgdXNlRXhpc3Rpbmc6IEZCYWNrZ3JvdW5kQ29tcG9uZW50IH0gXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZCYWNrZ3JvdW5kQ29tcG9uZW50XG4gIGV4dGVuZHMgRkJhY2tncm91bmRCYXNlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZNZWRpYXRvciA9IGluamVjdChGTWVkaWF0b3IpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgZkJhY2tncm91bmRQYXR0ZXJuID0gY29udGVudENoaWxkKEZfQkFDS0dST1VORF9QQVRURVJOKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IEFkZEJhY2tncm91bmRUb1N0b3JlUmVxdWVzdCh0aGlzKSk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZNZWRpYXRvci5leGVjdXRlKG5ldyBBZGRQYXR0ZXJuVG9CYWNrZ3JvdW5kUmVxdWVzdCh0aGlzLmZCYWNrZ3JvdW5kUGF0dGVybigpKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0VHJhbnNmb3JtKHRyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5mQmFja2dyb3VuZFBhdHRlcm4oKT8uc2V0VHJhbnNmb3JtKHRyYW5zZm9ybSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZk1lZGlhdG9yLmV4ZWN1dGUobmV3IFJlbW92ZUJhY2tncm91bmRGcm9tU3RvcmVSZXF1ZXN0KHRoaXMpKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, input, numberAttribute } from "@angular/core";
2
- import { PointExtensions, TransformModelExtensions } from '@foblex/2d';
1
+ import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, input, numberAttribute, } from "@angular/core";
2
+ import { PointExtensions, TransformModelExtensions, } from '@foblex/2d';
3
3
  import { F_BACKGROUND_PATTERN } from '../domain';
4
4
  import { BrowserService } from '@foblex/platform';
5
5
  import { createSVGElement } from '../../domain';
@@ -74,7 +74,7 @@ export class FCirclePatternComponent {
74
74
  }
75
75
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCirclePatternComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
76
76
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FCirclePatternComponent, isStandalone: true, selector: "f-circle-pattern", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id" } }, providers: [
77
- { provide: F_BACKGROUND_PATTERN, useExisting: FCirclePatternComponent }
77
+ { provide: F_BACKGROUND_PATTERN, useExisting: FCirclePatternComponent },
78
78
  ], usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
79
  }
80
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FCirclePatternComponent, decorators: [{
@@ -84,12 +84,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
84
84
  template: ``,
85
85
  standalone: true,
86
86
  host: {
87
- '[attr.id]': 'id'
87
+ '[attr.id]': 'id',
88
88
  },
89
89
  providers: [
90
- { provide: F_BACKGROUND_PATTERN, useExisting: FCirclePatternComponent }
90
+ { provide: F_BACKGROUND_PATTERN, useExisting: FCirclePatternComponent },
91
91
  ],
92
- changeDetection: ChangeDetectionStrategy.OnPush
92
+ changeDetection: ChangeDetectionStrategy.OnPush,
93
93
  }]
94
94
  }], ctorParameters: () => [] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtYmFja2dyb3VkL2YtY2lyY2xlLXBhdHRlcm4vZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBUyxlQUFlLEVBRWxELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxlQUFlLEVBQ2Ysd0JBQXdCLEVBQ3pCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxvQkFBb0IsRUFBdUIsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFeEUsSUFBSSxRQUFRLEdBQVcsQ0FBQyxDQUFDO0FBY3pCLE1BQU0sT0FBTyx1QkFBdUI7SUFFakIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuQyxhQUFhLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUVoRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxFQUFFLEdBQUcsS0FBSyxDQUFTLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELEtBQUssR0FBRyxLQUFLLENBQVMsaUJBQWlCLENBQUMsQ0FBQztJQUN6QyxNQUFNLEdBQUcsS0FBSyxDQUFrQixFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFDLENBQUMsQ0FBQztJQUVsRSxhQUFhLEdBQVcsRUFBRSxDQUFDO0lBRTNCLFVBQVUsR0FBb0Isd0JBQXdCLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFakUsU0FBUyxHQUFXLGVBQWUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVqRCxRQUFRLENBQXFCO0lBQzdCLE9BQU8sQ0FBb0I7SUFFbkM7UUFFRSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUM3RCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsR0FBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUUsRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxHQUFJLElBQUksQ0FBQyxhQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxHQUFJLElBQUksQ0FBQyxhQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsR0FBSSxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEdBQUksSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxHQUFJLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRyxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sWUFBWSxDQUFDLFNBQTBCO1FBQzVDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU8sUUFBUTtRQUNkLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDOUIsQ0FBQzt3R0F0RlUsdUJBQXVCOzRGQUF2Qix1QkFBdUIsd2RBTHZCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFO1NBQ3hFLCtDQVBTLEVBQUU7OzRGQVVELHVCQUF1QjtrQkFabkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsRUFBRTtvQkFDWixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLFdBQVcsRUFBRSxJQUFJO3FCQUNsQjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyx5QkFBeUIsRUFBRTtxQkFDeEU7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSVBvaW50LFxuICBJVHJhbnNmb3JtTW9kZWwsXG4gIFBvaW50RXh0ZW5zaW9ucyxcbiAgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zXG59IGZyb20gJ0Bmb2JsZXgvMmQnO1xuaW1wb3J0IHsgRl9CQUNLR1JPVU5EX1BBVFRFUk4sIElGQmFja2dyb3VuZFBhdHRlcm4gfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IGNyZWF0ZVNWR0VsZW1lbnQgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgRkNoYW5uZWwsIEZDaGFubmVsSHViLCBub3RpZnlPblN0YXJ0IH0gZnJvbSAnLi4vLi4vcmVhY3Rpdml0eSc7XG5cbmxldCB1bmlxdWVJZDogbnVtYmVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtY2lyY2xlLXBhdHRlcm5cIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgdXNlRXhpc3Rpbmc6IEZDaXJjbGVQYXR0ZXJuQ29tcG9uZW50IH1cbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRkNpcmNsZVBhdHRlcm5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgSUZCYWNrZ3JvdW5kUGF0dGVybiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkJyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlcyA9IG5ldyBGQ2hhbm5lbCgpO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaWQgPSBpbnB1dDxzdHJpbmc+KGBmLXBhdHRlcm4tJHsgdW5pcXVlSWQrKyB9YCk7XG4gIHB1YmxpYyBjb2xvciA9IGlucHV0PHN0cmluZz4oJ3JnYmEoMCwwLDAsMC4xKScpO1xuICBwdWJsaWMgcmFkaXVzID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigyMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pO1xuXG4gIHByaXZhdGUgX3NjYWxlZFJhZGl1czogbnVtYmVyID0gMjA7XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtOiBJVHJhbnNmb3JtTW9kZWwgPSBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnMuZGVmYXVsdCgpO1xuXG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBJUG9pbnQgPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgX3BhdHRlcm4hOiBTVkdQYXR0ZXJuRWxlbWVudDtcbiAgcHJpdmF0ZSBfY2lyY2xlITogU1ZHQ2lyY2xlRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7XG4gICAgdGhpcy5fY3JlYXRlUGF0dGVybigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuID0gY3JlYXRlU1ZHRWxlbWVudCgncGF0dGVybicsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgncGF0dGVyblVuaXRzJywgJ3VzZXJTcGFjZU9uVXNlJyk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9wYXR0ZXJuKTtcblxuICAgIHRoaXMuX2NpcmNsZSA9IGNyZWF0ZVNWR0VsZW1lbnQoJ2NpcmNsZScsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLmFwcGVuZENoaWxkKHRoaXMuX2NpcmNsZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbGlzdGVuU3RhdGVDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5TdGF0ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgbmV3IEZDaGFubmVsSHViKHRoaXMuX3N0YXRlQ2hhbmdlcykucGlwZShub3RpZnlPblN0YXJ0KCkpLmxpc3Rlbih0aGlzLl9kZXN0cm95UmVmLCAoKSA9PiB0aGlzLl9yZWRyYXcoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWydyYWRpdXMnXSB8fCBjaGFuZ2VzWydjb2xvciddKSB7XG4gICAgICB0aGlzLl9yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3KCk6IHZvaWQge1xuICAgIHRoaXMuX2NhbGN1bGF0ZVBhdHRlcm4oKTtcbiAgICB0aGlzLl9yZWRyYXdQYXR0ZXJuKCk7XG4gICAgdGhpcy5fcmVkcmF3RWxlbWVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wb3NpdGlvbi54ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnggKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueDtcbiAgICB0aGlzLl9wb3NpdGlvbi55ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnkgKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueTtcbiAgICB0aGlzLl9zY2FsZWRSYWRpdXMgPSB0aGlzLnJhZGl1cygpICogdGhpcy5fdHJhbnNmb3JtLnNjYWxlO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3UGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneCcsIGAkeyB0aGlzLl9wb3NpdGlvbi54IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneScsIGAkeyB0aGlzLl9wb3NpdGlvbi55IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHsgdGhpcy5fc2NhbGVkUmFkaXVzIH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyB9YCk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXdFbGVtZW50KCk6IHZvaWQge1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCB0aGlzLmNvbG9yKCkpO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2N4JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyAvIDIgfWApO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ2N5JywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyAvIDIgfWApO1xuICAgIHRoaXMuX2NpcmNsZS5zZXRBdHRyaWJ1dGUoJ3InLCBgJHsgdGhpcy5fc2NhbGVkUmFkaXVzIC8gdGhpcy5yYWRpdXMoKSB9YCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VHJhbnNmb3JtKHRyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNmb3JtID0gdHJhbnNmb3JtO1xuICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLm5vdGlmeSgpO1xuICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mLWZsb3cvc3JjL2YtYmFja2dyb3VkL2YtY2lyY2xlLXBhdHRlcm4vZi1jaXJjbGUtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBUyxlQUFlLEdBRWxELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFHTCxlQUFlLEVBQ2Ysd0JBQXdCLEdBQ3pCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxvQkFBb0IsRUFBdUIsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFeEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBY2pCLE1BQU0sT0FBTyx1QkFBdUI7SUFFakIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuQyxhQUFhLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUVoRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxFQUFFLEdBQUcsS0FBSyxDQUFTLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELEtB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b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCwgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgSW5wdXQsIG51bWJlckF0dHJpYnV0ZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIElQb2ludCxcbiAgSVRyYW5zZm9ybU1vZGVsLFxuICBQb2ludEV4dGVuc2lvbnMsXG4gIFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucyxcbn0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgSUZCYWNrZ3JvdW5kUGF0dGVybiB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBCcm93c2VyU2VydmljZSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgY3JlYXRlU1ZHRWxlbWVudCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGQ2hhbm5lbCwgRkNoYW5uZWxIdWIsIG5vdGlmeU9uU3RhcnQgfSBmcm9tICcuLi8uLi9yZWFjdGl2aXR5JztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImYtY2lyY2xlLXBhdHRlcm5cIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9CQUNLR1JPVU5EX1BBVFRFUk4sIHVzZUV4aXN0aW5nOiBGQ2lyY2xlUGF0dGVybkNvbXBvbmVudCB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRkNpcmNsZVBhdHRlcm5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgSUZCYWNrZ3JvdW5kUGF0dGVybiB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZmVyZW5jZSA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZkJyb3dzZXIgPSBpbmplY3QoQnJvd3NlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0YXRlQ2hhbmdlcyA9IG5ldyBGQ2hhbm5lbCgpO1xuXG4gIHB1YmxpYyBnZXQgaG9zdEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmZXJlbmNlLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaWQgPSBpbnB1dDxzdHJpbmc+KGBmLXBhdHRlcm4tJHsgdW5pcXVlSWQrKyB9YCk7XG4gIHB1YmxpYyBjb2xvciA9IGlucHV0PHN0cmluZz4oJ3JnYmEoMCwwLDAsMC4xKScpO1xuICBwdWJsaWMgcmFkaXVzID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigyMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcblxuICBwcml2YXRlIF9zY2FsZWRSYWRpdXM6IG51bWJlciA9IDIwO1xuXG4gIHByaXZhdGUgX3RyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsID0gVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLmRlZmF1bHQoKTtcblxuICBwcml2YXRlIF9wb3NpdGlvbjogSVBvaW50ID0gUG9pbnRFeHRlbnNpb25zLmluaXRpYWxpemUoKTtcblxuICBwcml2YXRlIF9wYXR0ZXJuITogU1ZHUGF0dGVybkVsZW1lbnQ7XG4gIHByaXZhdGUgX2NpcmNsZSE6IFNWR0NpcmNsZUVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICkge1xuICAgIHRoaXMuX2NyZWF0ZVBhdHRlcm4oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcGF0dGVybiA9IGNyZWF0ZVNWR0VsZW1lbnQoJ3BhdHRlcm4nLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm5Vbml0cycsICd1c2VyU3BhY2VPblVzZScpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGF0dGVybik7XG5cbiAgICB0aGlzLl9jaXJjbGUgPSBjcmVhdGVTVkdFbGVtZW50KCdjaXJjbGUnLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5hcHBlbmRDaGlsZCh0aGlzLl9jaXJjbGUpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX2xpc3RlblN0YXRlQ2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbGlzdGVuU3RhdGVDaGFuZ2VzKCk6IHZvaWQge1xuICAgIG5ldyBGQ2hhbm5lbEh1Yih0aGlzLl9zdGF0ZUNoYW5nZXMpLnBpcGUobm90aWZ5T25TdGFydCgpKS5saXN0ZW4odGhpcy5fZGVzdHJveVJlZiwgKCkgPT4gdGhpcy5fcmVkcmF3KCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoY2hhbmdlc1sncmFkaXVzJ10gfHwgY2hhbmdlc1snY29sb3InXSkge1xuICAgICAgdGhpcy5fcmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLl9jYWxjdWxhdGVQYXR0ZXJuKCk7XG4gICAgdGhpcy5fcmVkcmF3UGF0dGVybigpO1xuICAgIHRoaXMuX3JlZHJhd0VsZW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcG9zaXRpb24ueCA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi54ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLng7XG4gICAgdGhpcy5fcG9zaXRpb24ueSA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi55ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLnk7XG4gICAgdGhpcy5fc2NhbGVkUmFkaXVzID0gdGhpcy5yYWRpdXMoKSAqIHRoaXMuX3RyYW5zZm9ybS5zY2FsZTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhd1BhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3gnLCBgJHsgdGhpcy5fcG9zaXRpb24ueCB9YCk7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3knLCBgJHsgdGhpcy5fcG9zaXRpb24ueSB9YCk7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyB9YCk7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAkeyB0aGlzLl9zY2FsZWRSYWRpdXMgfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3RWxlbWVudCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jaXJjbGUuc2V0QXR0cmlidXRlKCdmaWxsJywgdGhpcy5jb2xvcigpKTtcbiAgICB0aGlzLl9jaXJjbGUuc2V0QXR0cmlidXRlKCdjeCcsIGAkeyB0aGlzLl9zY2FsZWRSYWRpdXMgLyAyIH1gKTtcbiAgICB0aGlzLl9jaXJjbGUuc2V0QXR0cmlidXRlKCdjeScsIGAkeyB0aGlzLl9zY2FsZWRSYWRpdXMgLyAyIH1gKTtcbiAgICB0aGlzLl9jaXJjbGUuc2V0QXR0cmlidXRlKCdyJywgYCR7IHRoaXMuX3NjYWxlZFJhZGl1cyAvIHRoaXMucmFkaXVzKCkgfWApO1xuICB9XG5cbiAgcHVibGljIHNldFRyYW5zZm9ybSh0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zZm9ybSA9IHRyYW5zZm9ybTtcbiAgICB0aGlzLl9yZWZyZXNoKCk7XG4gIH1cblxuICBwcml2YXRlIF9yZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5ub3RpZnkoKTtcbiAgfVxufVxuIl19
@@ -1,5 +1,5 @@
1
- import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, input, numberAttribute } from "@angular/core";
2
- import { PointExtensions, SizeExtensions, TransformModelExtensions } from '@foblex/2d';
1
+ import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, inject, input, numberAttribute, } from "@angular/core";
2
+ import { PointExtensions, SizeExtensions, TransformModelExtensions, } from '@foblex/2d';
3
3
  import { F_BACKGROUND_PATTERN } from '../domain';
4
4
  import { createSVGElement } from '../../domain';
5
5
  import { BrowserService } from '@foblex/platform';
@@ -81,7 +81,7 @@ export class FRectPatternComponent {
81
81
  }
82
82
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FRectPatternComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
83
83
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: FRectPatternComponent, isStandalone: true, selector: "f-rect-pattern", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, vColor: { classPropertyName: "vColor", publicName: "vColor", isSignal: true, isRequired: false, transformFunction: null }, hColor: { classPropertyName: "hColor", publicName: "hColor", isSignal: true, isRequired: false, transformFunction: null }, vSize: { classPropertyName: "vSize", publicName: "vSize", isSignal: true, isRequired: false, transformFunction: null }, hSize: { classPropertyName: "hSize", publicName: "hSize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id" } }, providers: [
84
- { provide: F_BACKGROUND_PATTERN, useExisting: FRectPatternComponent }
84
+ { provide: F_BACKGROUND_PATTERN, useExisting: FRectPatternComponent },
85
85
  ], usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
86
  }
87
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FRectPatternComponent, decorators: [{
@@ -91,12 +91,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
91
91
  template: ``,
92
92
  standalone: true,
93
93
  host: {
94
- '[attr.id]': 'id'
94
+ '[attr.id]': 'id',
95
95
  },
96
96
  providers: [
97
- { provide: F_BACKGROUND_PATTERN, useExisting: FRectPatternComponent }
97
+ { provide: F_BACKGROUND_PATTERN, useExisting: FRectPatternComponent },
98
98
  ],
99
- changeDetection: ChangeDetectionStrategy.OnPush
99
+ changeDetection: ChangeDetectionStrategy.OnPush,
100
100
  }]
101
101
  }], ctorParameters: () => [] });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWN0LXBhdHRlcm4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWJhY2tncm91ZC9mLXJlY3QtcGF0dGVybi9mLXJlY3QtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBRTNDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxlQUFlLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixFQUMxRCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsb0JBQW9CLEVBQXVCLE1BQU0sV0FBVyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRXhFLElBQUksUUFBUSxHQUFXLENBQUMsQ0FBQztBQWN6QixNQUFNLE9BQU8scUJBQXFCO0lBRWYsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuQyxhQUFhLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUVoRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxFQUFFLEdBQUcsS0FBSyxDQUFTLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hE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Z3ksXG4gIENvbXBvbmVudCwgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBPbkNoYW5nZXMsXG4gIE9uSW5pdCwgU2ltcGxlQ2hhbmdlc1xufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgSVRyYW5zZm9ybU1vZGVsLFxuICBQb2ludEV4dGVuc2lvbnMsIFNpemVFeHRlbnNpb25zLCBUcmFuc2Zvcm1Nb2RlbEV4dGVuc2lvbnNcbn0gZnJvbSAnQGZvYmxleC8yZCc7XG5pbXBvcnQgeyBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgSUZCYWNrZ3JvdW5kUGF0dGVybiB9IGZyb20gJy4uL2RvbWFpbic7XG5pbXBvcnQgeyBjcmVhdGVTVkdFbGVtZW50IH0gZnJvbSAnLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEJyb3dzZXJTZXJ2aWNlIH0gZnJvbSAnQGZvYmxleC9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBGQ2hhbm5lbCwgRkNoYW5uZWxIdWIsIG5vdGlmeU9uU3RhcnQgfSBmcm9tICcuLi8uLi9yZWFjdGl2aXR5JztcblxubGV0IHVuaXF1ZUlkOiBudW1iZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1yZWN0LXBhdHRlcm5cIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBGX0JBQ0tHUk9VTkRfUEFUVEVSTiwgdXNlRXhpc3Rpbmc6IEZSZWN0UGF0dGVybkNvbXBvbmVudCB9XG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZSZWN0UGF0dGVybkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJRkJhY2tncm91bmRQYXR0ZXJuIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mQnJvd3NlciA9IGluamVjdChCcm93c2VyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGVDaGFuZ2VzID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBpZCA9IGlucHV0PHN0cmluZz4oYGYtcGF0dGVybi0keyB1bmlxdWVJZCsrIH1gKTtcbiAgcHVibGljIHZDb2xvciA9IGlucHV0PHN0cmluZz4oJ3JnYmEoMCwwLDAsMC4xKScpO1xuICBwdWJsaWMgaENvbG9yID0gaW5wdXQ8c3RyaW5nPigncmdiYSgwLDAsMCwwLjEpJyk7XG4gIHB1YmxpYyB2U2l6ZSA9IGlucHV0PG51bWJlciwgdW5rbm93bj4oMjAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGV9KTtcbiAgcHVibGljIGhTaXplID0gaW5wdXQ8bnVtYmVyLCB1bmtub3duPigyMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZX0pO1xuXG4gIHByaXZhdGUgX3RyYW5zZm9ybSA9IFRyYW5zZm9ybU1vZGVsRXh0ZW5zaW9ucy5kZWZhdWx0KCk7XG5cbiAgcHJpdmF0ZSBfcG9zaXRpb24gPSBQb2ludEV4dGVuc2lvbnMuaW5pdGlhbGl6ZSgpO1xuXG4gIHByaXZhdGUgX3NpemUgPSBTaXplRXh0ZW5zaW9ucy5pbml0aWFsaXplKHRoaXMuaFNpemUoKSwgdGhpcy52U2l6ZSgpKTtcblxuICBwcml2YXRlIF9wYXR0ZXJuITogU1ZHUGF0dGVybkVsZW1lbnQ7XG4gIHByaXZhdGUgX3ZMaW5lITogU1ZHTGluZUVsZW1lbnQ7XG4gIHByaXZhdGUgX2hMaW5lITogU1ZHTGluZUVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICkge1xuICAgIHRoaXMuX2NyZWF0ZVBhdHRlcm4oKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcGF0dGVybiA9IGNyZWF0ZVNWR0VsZW1lbnQoJ3BhdHRlcm4nLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ3BhdHRlcm5Vbml0cycsICd1c2VyU3BhY2VPblVzZScpO1xuICAgIHRoaXMuaG9zdEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcGF0dGVybik7XG5cbiAgICB0aGlzLl92TGluZSA9IGNyZWF0ZVNWR0VsZW1lbnQoJ2xpbmUnLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5hcHBlbmRDaGlsZCh0aGlzLl92TGluZSk7XG5cbiAgICB0aGlzLl9oTGluZSA9IGNyZWF0ZVNWR0VsZW1lbnQoJ2xpbmUnLCB0aGlzLl9mQnJvd3Nlcik7XG4gICAgdGhpcy5fcGF0dGVybi5hcHBlbmRDaGlsZCh0aGlzLl9oTGluZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbGlzdGVuU3RhdGVDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIF9saXN0ZW5TdGF0ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgbmV3IEZDaGFubmVsSHViKHRoaXMuX3N0YXRlQ2hhbmdlcykucGlwZShub3RpZnlPblN0YXJ0KCkpLmxpc3Rlbih0aGlzLl9kZXN0cm95UmVmLCAoKSA9PiB0aGlzLl9yZWRyYXcoKSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzWyd2U2l6ZSddIHx8IGNoYW5nZXNbJ2hTaXplJ10gfHwgY2hhbmdlc1sndkNvbG9yJ10gfHwgY2hhbmdlc1snaENvbG9yJ10pIHtcbiAgICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXcoKTogdm9pZCB7XG4gICAgdGhpcy5fY2FsY3VsYXRlUGF0dGVybigpO1xuICAgIHRoaXMuX3JlZHJhd1BhdHRlcm4oKTtcblxuICAgIHRoaXMucmVkcmF3TGluZSh0aGlzLl92TGluZSwgdGhpcy52Q29sb3IoKSwgdGhpcy5fc2l6ZS53aWR0aCwgMCwgdGhpcy5fc2l6ZS53aWR0aCwgdGhpcy5fc2l6ZS5oZWlnaHQpO1xuICAgIHRoaXMucmVkcmF3TGluZSh0aGlzLl9oTGluZSwgdGhpcy5oQ29sb3IoKSwgMCwgdGhpcy5fc2l6ZS5oZWlnaHQsIHRoaXMuX3NpemUud2lkdGgsIHRoaXMuX3NpemUuaGVpZ2h0KTtcbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZVBhdHRlcm4oKTogdm9pZCB7XG4gICAgdGhpcy5fcG9zaXRpb24ueCA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi54ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLng7XG4gICAgdGhpcy5fcG9zaXRpb24ueSA9IHRoaXMuX3RyYW5zZm9ybS5wb3NpdGlvbi55ICsgdGhpcy5fdHJhbnNmb3JtLnNjYWxlZFBvc2l0aW9uLnk7XG4gICAgdGhpcy5fc2l6ZSA9IFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUodGhpcy5oU2l6ZSgpICogdGhpcy5fdHJhbnNmb3JtLnNjYWxlLCB0aGlzLnZTaXplKCkgKiB0aGlzLl90cmFuc2Zvcm0uc2NhbGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVkcmF3UGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneCcsIGAkeyB0aGlzLl9wb3NpdGlvbi54IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgneScsIGAkeyB0aGlzLl9wb3NpdGlvbi55IH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnd2lkdGgnLCBgJHsgdGhpcy5fc2l6ZS53aWR0aCB9YCk7XG4gICAgdGhpcy5fcGF0dGVybi5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsIGAkeyB0aGlzLl9zaXplLmhlaWdodCB9YCk7XG4gIH1cblxuICBwcml2YXRlIHJlZHJhd0xpbmUobGluZTogU1ZHTGluZUVsZW1lbnQsIGNvbG9yOiBzdHJpbmcsIHgxOiBudW1iZXIsIHkxOiBudW1iZXIsIHgyOiBudW1iZXIsIHkyOiBudW1iZXIpOiB2b2lkIHtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgnc3Ryb2tlJywgYCR7IGNvbG9yIH1gKTtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgneDEnLCBgJHsgeDEgfWApO1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCd4MicsIGAkeyB4MiB9YCk7XG4gICAgbGluZS5zZXRBdHRyaWJ1dGUoJ3kxJywgYCR7IHkxIH1gKTtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgneTInLCBgJHsgeTIgfWApO1xuICB9XG5cbiAgcHVibGljIHNldFRyYW5zZm9ybSh0cmFuc2Zvcm06IElUcmFuc2Zvcm1Nb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuX3RyYW5zZm9ybSA9IHRyYW5zZm9ybTtcbiAgICB0aGlzLl9yZWZyZXNoKCk7XG4gIH1cblxuICBwcml2YXRlIF9yZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlQ2hhbmdlcy5ub3RpZnkoKTtcbiAgfVxufVxuIl19
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1yZWN0LXBhdHRlcm4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZi1mbG93L3NyYy9mLWJhY2tncm91ZC9mLXJlY3QtcGF0dGVybi9mLXJlY3QtcGF0dGVybi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsVUFBVSxFQUNyQixVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxlQUFlLEdBRTNDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFFTCxlQUFlLEVBQUUsY0FBYyxFQUFFLHdCQUF3QixHQUMxRCxNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUUsb0JBQW9CLEVBQXVCLE1BQU0sV0FBVyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRXhFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQWNqQixNQUFNLE9BQU8scUJBQXFCO0lBRWYsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUVuQyxhQUFhLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztJQUVoRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO0lBQzlDLENBQUM7SUFFTSxFQUFFLEdBQUcsS0FBSyxDQUFTLGFBQWMsUUFBUSxFQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ2hE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Z3ksXG4gIENvbXBvbmVudCwgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgbnVtYmVyQXR0cmlidXRlLCBPbkNoYW5nZXMsXG4gIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7XG4gIElUcmFuc2Zvcm1Nb2RlbCxcbiAgUG9pbnRFeHRlbnNpb25zLCBTaXplRXh0ZW5zaW9ucywgVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLFxufSBmcm9tICdAZm9ibGV4LzJkJztcbmltcG9ydCB7IEZfQkFDS0dST1VORF9QQVRURVJOLCBJRkJhY2tncm91bmRQYXR0ZXJuIH0gZnJvbSAnLi4vZG9tYWluJztcbmltcG9ydCB7IGNyZWF0ZVNWR0VsZW1lbnQgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IEZDaGFubmVsLCBGQ2hhbm5lbEh1Yiwgbm90aWZ5T25TdGFydCB9IGZyb20gJy4uLy4uL3JlYWN0aXZpdHknO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiZi1yZWN0LXBhdHRlcm5cIixcbiAgdGVtcGxhdGU6IGBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmlkXSc6ICdpZCcsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogRl9CQUNLR1JPVU5EX1BBVFRFUk4sIHVzZUV4aXN0aW5nOiBGUmVjdFBhdHRlcm5Db21wb25lbnQgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZSZWN0UGF0dGVybkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBJRkJhY2tncm91bmRQYXR0ZXJuIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmZXJlbmNlID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9mQnJvd3NlciA9IGluamVjdChCcm93c2VyU2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhdGVDaGFuZ2VzID0gbmV3IEZDaGFubmVsKCk7XG5cbiAgcHVibGljIGdldCBob3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWZlcmVuY2UubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIHB1YmxpYyBpZCA9IGlucHV0PHN0cmluZz4oYGYtcGF0dGVybi0keyB1bmlxdWVJZCsrIH1gKTtcbiAgcHVibGljIHZDb2xvciA9IGlucHV0PHN0cmluZz4oJ3JnYmEoMCwwLDAsMC4xKScpO1xuICBwdWJsaWMgaENvbG9yID0gaW5wdXQ8c3RyaW5nPigncmdiYSgwLDAsMCwwLjEpJyk7XG4gIHB1YmxpYyB2U2l6ZSA9IGlucHV0PG51bWJlciwgdW5rbm93bj4oMjAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG4gIHB1YmxpYyBoU2l6ZSA9IGlucHV0PG51bWJlciwgdW5rbm93bj4oMjAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cbiAgcHJpdmF0ZSBfdHJhbnNmb3JtID0gVHJhbnNmb3JtTW9kZWxFeHRlbnNpb25zLmRlZmF1bHQoKTtcblxuICBwcml2YXRlIF9wb3NpdGlvbiA9IFBvaW50RXh0ZW5zaW9ucy5pbml0aWFsaXplKCk7XG5cbiAgcHJpdmF0ZSBfc2l6ZSA9IFNpemVFeHRlbnNpb25zLmluaXRpYWxpemUodGhpcy5oU2l6ZSgpLCB0aGlzLnZTaXplKCkpO1xuXG4gIHByaXZhdGUgX3BhdHRlcm4hOiBTVkdQYXR0ZXJuRWxlbWVudDtcbiAgcHJpdmF0ZSBfdkxpbmUhOiBTVkdMaW5lRWxlbWVudDtcbiAgcHJpdmF0ZSBfaExpbmUhOiBTVkdMaW5lRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgKSB7XG4gICAgdGhpcy5fY3JlYXRlUGF0dGVybigpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYXR0ZXJuID0gY3JlYXRlU1ZHRWxlbWVudCgncGF0dGVybicsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgncGF0dGVyblVuaXRzJywgJ3VzZXJTcGFjZU9uVXNlJyk7XG4gICAgdGhpcy5ob3N0RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9wYXR0ZXJuKTtcblxuICAgIHRoaXMuX3ZMaW5lID0gY3JlYXRlU1ZHRWxlbWVudCgnbGluZScsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLmFwcGVuZENoaWxkKHRoaXMuX3ZMaW5lKTtcblxuICAgIHRoaXMuX2hMaW5lID0gY3JlYXRlU1ZHRWxlbWVudCgnbGluZScsIHRoaXMuX2ZCcm93c2VyKTtcbiAgICB0aGlzLl9wYXR0ZXJuLmFwcGVuZENoaWxkKHRoaXMuX2hMaW5lKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9saXN0ZW5TdGF0ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlblN0YXRlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBuZXcgRkNoYW5uZWxIdWIodGhpcy5fc3RhdGVDaGFuZ2VzKS5waXBlKG5vdGlmeU9uU3RhcnQoKSkubGlzdGVuKHRoaXMuX2Rlc3Ryb3lSZWYsICgpID0+IHRoaXMuX3JlZHJhdygpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXNbJ3ZTaXplJ10gfHwgY2hhbmdlc1snaFNpemUnXSB8fCBjaGFuZ2VzWyd2Q29sb3InXSB8fCBjaGFuZ2VzWydoQ29sb3InXSkge1xuICAgICAgdGhpcy5fcmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3JlZHJhdygpOiB2b2lkIHtcbiAgICB0aGlzLl9jYWxjdWxhdGVQYXR0ZXJuKCk7XG4gICAgdGhpcy5fcmVkcmF3UGF0dGVybigpO1xuXG4gICAgdGhpcy5yZWRyYXdMaW5lKHRoaXMuX3ZMaW5lLCB0aGlzLnZDb2xvcigpLCB0aGlzLl9zaXplLndpZHRoLCAwLCB0aGlzLl9zaXplLndpZHRoLCB0aGlzLl9zaXplLmhlaWdodCk7XG4gICAgdGhpcy5yZWRyYXdMaW5lKHRoaXMuX2hMaW5lLCB0aGlzLmhDb2xvcigpLCAwLCB0aGlzLl9zaXplLmhlaWdodCwgdGhpcy5fc2l6ZS53aWR0aCwgdGhpcy5fc2l6ZS5oZWlnaHQpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlUGF0dGVybigpOiB2b2lkIHtcbiAgICB0aGlzLl9wb3NpdGlvbi54ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnggKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueDtcbiAgICB0aGlzLl9wb3NpdGlvbi55ID0gdGhpcy5fdHJhbnNmb3JtLnBvc2l0aW9uLnkgKyB0aGlzLl90cmFuc2Zvcm0uc2NhbGVkUG9zaXRpb24ueTtcbiAgICB0aGlzLl9zaXplID0gU2l6ZUV4dGVuc2lvbnMuaW5pdGlhbGl6ZSh0aGlzLmhTaXplKCkgKiB0aGlzLl90cmFuc2Zvcm0uc2NhbGUsIHRoaXMudlNpemUoKSAqIHRoaXMuX3RyYW5zZm9ybS5zY2FsZSk7XG4gIH1cblxuICBwcml2YXRlIF9yZWRyYXdQYXR0ZXJuKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd4JywgYCR7IHRoaXMuX3Bvc2l0aW9uLnggfWApO1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd5JywgYCR7IHRoaXMuX3Bvc2l0aW9uLnkgfWApO1xuICAgIHRoaXMuX3BhdHRlcm4uc2V0QXR0cmlidXRlKCd3aWR0aCcsIGAkeyB0aGlzLl9zaXplLndpZHRoIH1gKTtcbiAgICB0aGlzLl9wYXR0ZXJuLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgYCR7IHRoaXMuX3NpemUuaGVpZ2h0IH1gKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVkcmF3TGluZShsaW5lOiBTVkdMaW5lRWxlbWVudCwgY29sb3I6IHN0cmluZywgeDE6IG51bWJlciwgeTE6IG51bWJlciwgeDI6IG51bWJlciwgeTI6IG51bWJlcik6IHZvaWQge1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCdzdHJva2UnLCBgJHsgY29sb3IgfWApO1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCd4MScsIGAkeyB4MSB9YCk7XG4gICAgbGluZS5zZXRBdHRyaWJ1dGUoJ3gyJywgYCR7IHgyIH1gKTtcbiAgICBsaW5lLnNldEF0dHJpYnV0ZSgneTEnLCBgJHsgeTEgfWApO1xuICAgIGxpbmUuc2V0QXR0cmlidXRlKCd5MicsIGAkeyB5MiB9YCk7XG4gIH1cblxuICBwdWJsaWMgc2V0VHJhbnNmb3JtKHRyYW5zZm9ybTogSVRyYW5zZm9ybU1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5fdHJhbnNmb3JtID0gdHJhbnNmb3JtO1xuICAgIHRoaXMuX3JlZnJlc2goKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLm5vdGlmeSgpO1xuICB9XG59XG4iXX0=