@decaf-ts/ui-decorators 0.20.4 → 0.20.7

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 (469) hide show
  1. package/dist/ui-decorators.cjs +1059 -2
  2. package/dist/ui-decorators.js +1090 -2
  3. package/lib/cjs/dashboard/constants.cjs +11 -0
  4. package/lib/cjs/dashboard/decorators.cjs +61 -0
  5. package/lib/cjs/dashboard/index.cjs +23 -0
  6. package/lib/cjs/dashboard/reader.cjs +67 -0
  7. package/lib/cjs/dashboard/registry.cjs +45 -0
  8. package/lib/cjs/dashboard/types.cjs +4 -0
  9. package/lib/cjs/graph/GraphExecutionStateMapper.cjs +97 -0
  10. package/lib/cjs/graph/GraphResolution.cjs +17 -0
  11. package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs +2 -2
  12. package/lib/cjs/graph/catalog/GraphCredentialReference.cjs +2 -2
  13. package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs +2 -2
  14. package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs +2 -2
  15. package/lib/cjs/graph/catalog/GraphIconReference.cjs +2 -2
  16. package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs +2 -2
  17. package/lib/cjs/graph/catalog/GraphNodeCapability.cjs +2 -2
  18. package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs +2 -2
  19. package/lib/cjs/graph/catalog/GraphNodeManifest.cjs +2 -2
  20. package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs +2 -2
  21. package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs +2 -2
  22. package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs +2 -2
  23. package/lib/cjs/graph/catalog/GraphParameterBase.cjs +2 -2
  24. package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs +2 -2
  25. package/lib/cjs/graph/catalog/GraphParameterOption.cjs +2 -2
  26. package/lib/cjs/graph/catalog/GraphParameterValidation.cjs +2 -2
  27. package/lib/cjs/graph/catalog/GraphPortManifest.cjs +2 -2
  28. package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs +2 -2
  29. package/lib/cjs/graph/catalog/GraphValueSchema.cjs +2 -2
  30. package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs +2 -2
  31. package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs +2 -2
  32. package/lib/cjs/graph/catalog/index.cjs +2 -2
  33. package/lib/cjs/graph/constants.cjs +159 -3
  34. package/lib/cjs/graph/decorators.cjs +2 -2
  35. package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs +2 -2
  36. package/lib/cjs/graph/document/GraphEdgeInstance.cjs +2 -2
  37. package/lib/cjs/graph/document/GraphEndpoint.cjs +2 -2
  38. package/lib/cjs/graph/document/GraphJsonValue.cjs +2 -2
  39. package/lib/cjs/graph/document/GraphLoopConfiguration.cjs +2 -2
  40. package/lib/cjs/graph/document/GraphNodeBinding.cjs +2 -2
  41. package/lib/cjs/graph/document/GraphNodeInstance.cjs +2 -2
  42. package/lib/cjs/graph/document/GraphWorkflowDocument.cjs +2 -2
  43. package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs +2 -2
  44. package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs +2 -2
  45. package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs +2 -2
  46. package/lib/cjs/graph/document/GraphWorkflowUiState.cjs +2 -2
  47. package/lib/cjs/graph/document/index.cjs +2 -2
  48. package/lib/cjs/graph/index.cjs +5 -2
  49. package/lib/cjs/graph/nodes/agents/agent.cjs +110 -0
  50. package/lib/cjs/graph/nodes/base.cjs +36 -0
  51. package/lib/cjs/graph/nodes/boundary/input-value.cjs +57 -0
  52. package/lib/cjs/graph/nodes/category-styles.cjs +38 -0
  53. package/lib/cjs/graph/nodes/flow-control/break.cjs +63 -0
  54. package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs +67 -0
  55. package/lib/cjs/graph/nodes/flow-control/human-approval.cjs +69 -0
  56. package/lib/cjs/graph/nodes/flow-control/if.cjs +71 -0
  57. package/lib/cjs/graph/nodes/flow-control/parallel.cjs +61 -0
  58. package/lib/cjs/graph/nodes/flow-control/switch.cjs +121 -0
  59. package/lib/cjs/graph/nodes/index.cjs +123 -0
  60. package/lib/cjs/graph/nodes/loops/foreach.cjs +86 -0
  61. package/lib/cjs/graph/nodes/loops/until.cjs +74 -0
  62. package/lib/cjs/graph/nodes/loops/while.cjs +74 -0
  63. package/lib/cjs/graph/nodes/manifests.cjs +338 -0
  64. package/lib/cjs/graph/nodes/triggers/chat.cjs +70 -0
  65. package/lib/cjs/graph/nodes/triggers/event.cjs +58 -0
  66. package/lib/cjs/graph/nodes/triggers/form.cjs +59 -0
  67. package/lib/cjs/graph/nodes/triggers/manual.cjs +60 -0
  68. package/lib/cjs/graph/nodes/triggers/schedule.cjs +60 -0
  69. package/lib/cjs/graph/nodes/triggers/webhook.cjs +62 -0
  70. package/lib/cjs/graph/nodes/utility/code.cjs +99 -0
  71. package/lib/cjs/graph/nodes/utility/delay.cjs +61 -0
  72. package/lib/cjs/graph/nodes/utility/log.cjs +62 -0
  73. package/lib/cjs/graph/nodes/utility/map.cjs +61 -0
  74. package/lib/cjs/graph/nodes/utility/merge.cjs +62 -0
  75. package/lib/cjs/graph/nodes/utility/return.cjs +61 -0
  76. package/lib/cjs/graph/nodes/utility/utility-log.cjs +66 -0
  77. package/lib/cjs/graph/overrides/Metadata.cjs +2 -2
  78. package/lib/cjs/graph/overrides/Rendering.cjs +2 -2
  79. package/lib/cjs/graph/overrides/index.cjs +2 -2
  80. package/lib/cjs/graph/overrides/overrides.cjs +2 -2
  81. package/lib/cjs/graph/reader.cjs +2 -2
  82. package/lib/cjs/graph/registry.cjs +2 -2
  83. package/lib/cjs/graph/snapshot.cjs +2 -2
  84. package/lib/cjs/graph/types.cjs +2 -2
  85. package/lib/cjs/index.cjs +6 -5
  86. package/lib/cjs/model/Renderable.cjs +2 -2
  87. package/lib/cjs/model/decorators.cjs +2 -2
  88. package/lib/cjs/model/index.cjs +2 -2
  89. package/lib/cjs/model/model.cjs +2 -2
  90. package/lib/cjs/model/overrides.cjs +2 -2
  91. package/lib/cjs/overrides/ModelBuilderExtensions.cjs +2 -2
  92. package/lib/cjs/overrides/index.cjs +2 -2
  93. package/lib/cjs/ui/DecafComponent.cjs +2 -2
  94. package/lib/cjs/ui/DecafEventHandler.cjs +2 -2
  95. package/lib/cjs/ui/DecafTranslateService.cjs +2 -2
  96. package/lib/cjs/ui/Rendering.cjs +2 -2
  97. package/lib/cjs/ui/UIValidator.cjs +2 -2
  98. package/lib/cjs/ui/constants.cjs +2 -2
  99. package/lib/cjs/ui/decorators.cjs +2 -2
  100. package/lib/cjs/ui/errors.cjs +2 -2
  101. package/lib/cjs/ui/index.cjs +2 -2
  102. package/lib/cjs/ui/interfaces/IDecafModal.cjs +2 -2
  103. package/lib/cjs/ui/interfaces/IDecafRouter.cjs +2 -2
  104. package/lib/cjs/ui/interfaces/IDecafSpinner.cjs +2 -2
  105. package/lib/cjs/ui/interfaces/IDecafToast.cjs +2 -2
  106. package/lib/cjs/ui/interfaces/index.cjs +2 -2
  107. package/lib/cjs/ui/overrides.cjs +2 -2
  108. package/lib/cjs/ui/types.cjs +2 -2
  109. package/lib/cjs/ui/utils.cjs +2 -2
  110. package/lib/cjs/ui/validator.cjs +2 -2
  111. package/lib/cjs/user-requests/UserRequestHandler.cjs +2 -2
  112. package/lib/cjs/user-requests/constants.cjs +2 -2
  113. package/lib/cjs/user-requests/decorators.cjs +2 -2
  114. package/lib/cjs/user-requests/errors.cjs +2 -2
  115. package/lib/cjs/user-requests/index.cjs +2 -2
  116. package/lib/cjs/user-requests/types.cjs +2 -2
  117. package/lib/esm/dashboard/constants.js +24 -0
  118. package/lib/esm/dashboard/decorators.js +57 -0
  119. package/lib/esm/dashboard/index.js +6 -0
  120. package/lib/esm/dashboard/reader.js +62 -0
  121. package/lib/esm/dashboard/registry.js +39 -0
  122. package/lib/esm/dashboard/types.js +9 -0
  123. package/lib/esm/graph/GraphExecutionStateMapper.js +91 -0
  124. package/lib/esm/graph/GraphResolution.js +13 -0
  125. package/lib/esm/graph/catalog/GraphConnectionPolicy.js +1 -1
  126. package/lib/esm/graph/catalog/GraphCredentialReference.js +1 -1
  127. package/lib/esm/graph/catalog/GraphCredentialRequirement.js +1 -1
  128. package/lib/esm/graph/catalog/GraphDynamicPortRule.js +1 -1
  129. package/lib/esm/graph/catalog/GraphIconReference.js +1 -1
  130. package/lib/esm/graph/catalog/GraphManifestCompiler.js +1 -1
  131. package/lib/esm/graph/catalog/GraphNodeCapability.js +1 -1
  132. package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js +1 -1
  133. package/lib/esm/graph/catalog/GraphNodeManifest.js +1 -1
  134. package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js +1 -1
  135. package/lib/esm/graph/catalog/GraphNodeMethodManifest.js +1 -1
  136. package/lib/esm/graph/catalog/GraphNodePolicyManifest.js +1 -1
  137. package/lib/esm/graph/catalog/GraphParameterBase.js +1 -1
  138. package/lib/esm/graph/catalog/GraphParameterDefinition.js +1 -1
  139. package/lib/esm/graph/catalog/GraphParameterOption.js +1 -1
  140. package/lib/esm/graph/catalog/GraphParameterValidation.js +1 -1
  141. package/lib/esm/graph/catalog/GraphPortManifest.js +1 -1
  142. package/lib/esm/graph/catalog/GraphResourceLocatorMode.js +1 -1
  143. package/lib/esm/graph/catalog/GraphValueSchema.js +1 -1
  144. package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js +1 -1
  145. package/lib/esm/graph/catalog/GraphVisibilityExpression.js +1 -1
  146. package/lib/esm/graph/catalog/index.js +1 -1
  147. package/lib/esm/graph/constants.js +180 -1
  148. package/lib/esm/graph/decorators.js +1 -1
  149. package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js +1 -1
  150. package/lib/esm/graph/document/GraphEdgeInstance.js +1 -1
  151. package/lib/esm/graph/document/GraphEndpoint.js +1 -1
  152. package/lib/esm/graph/document/GraphJsonValue.js +1 -1
  153. package/lib/esm/graph/document/GraphLoopConfiguration.js +1 -1
  154. package/lib/esm/graph/document/GraphNodeBinding.js +1 -1
  155. package/lib/esm/graph/document/GraphNodeInstance.js +1 -1
  156. package/lib/esm/graph/document/GraphWorkflowDocument.js +1 -1
  157. package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js +1 -1
  158. package/lib/esm/graph/document/GraphWorkflowDocumentReader.js +1 -1
  159. package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js +1 -1
  160. package/lib/esm/graph/document/GraphWorkflowUiState.js +1 -1
  161. package/lib/esm/graph/document/index.js +1 -1
  162. package/lib/esm/graph/index.js +4 -1
  163. package/lib/esm/graph/nodes/agents/agent.js +101 -0
  164. package/lib/esm/graph/nodes/base.js +31 -0
  165. package/lib/esm/graph/nodes/boundary/input-value.js +48 -0
  166. package/lib/esm/graph/nodes/category-styles.js +34 -0
  167. package/lib/esm/graph/nodes/flow-control/break.js +54 -0
  168. package/lib/esm/graph/nodes/flow-control/error-boundary.js +58 -0
  169. package/lib/esm/graph/nodes/flow-control/human-approval.js +60 -0
  170. package/lib/esm/graph/nodes/flow-control/if.js +62 -0
  171. package/lib/esm/graph/nodes/flow-control/parallel.js +52 -0
  172. package/lib/esm/graph/nodes/flow-control/switch.js +112 -0
  173. package/lib/esm/graph/nodes/index.js +105 -0
  174. package/lib/esm/graph/nodes/loops/foreach.js +77 -0
  175. package/lib/esm/graph/nodes/loops/until.js +65 -0
  176. package/lib/esm/graph/nodes/loops/while.js +65 -0
  177. package/lib/esm/graph/nodes/manifests.js +334 -0
  178. package/lib/esm/graph/nodes/triggers/chat.js +61 -0
  179. package/lib/esm/graph/nodes/triggers/event.js +49 -0
  180. package/lib/esm/graph/nodes/triggers/form.js +50 -0
  181. package/lib/esm/graph/nodes/triggers/manual.js +51 -0
  182. package/lib/esm/graph/nodes/triggers/schedule.js +51 -0
  183. package/lib/esm/graph/nodes/triggers/webhook.js +53 -0
  184. package/lib/esm/graph/nodes/utility/code.js +90 -0
  185. package/lib/esm/graph/nodes/utility/delay.js +52 -0
  186. package/lib/esm/graph/nodes/utility/log.js +53 -0
  187. package/lib/esm/graph/nodes/utility/map.js +52 -0
  188. package/lib/esm/graph/nodes/utility/merge.js +53 -0
  189. package/lib/esm/graph/nodes/utility/return.js +52 -0
  190. package/lib/esm/graph/nodes/utility/utility-log.js +57 -0
  191. package/lib/esm/graph/overrides/Metadata.js +1 -1
  192. package/lib/esm/graph/overrides/Rendering.js +1 -1
  193. package/lib/esm/graph/overrides/index.js +1 -1
  194. package/lib/esm/graph/overrides/overrides.js +1 -1
  195. package/lib/esm/graph/reader.js +1 -1
  196. package/lib/esm/graph/registry.js +1 -1
  197. package/lib/esm/graph/snapshot.js +1 -1
  198. package/lib/esm/graph/types.js +1 -1
  199. package/lib/esm/index.js +5 -4
  200. package/lib/esm/model/Renderable.js +1 -1
  201. package/lib/esm/model/decorators.js +1 -1
  202. package/lib/esm/model/index.js +1 -1
  203. package/lib/esm/model/model.js +1 -1
  204. package/lib/esm/model/overrides.js +1 -1
  205. package/lib/esm/overrides/ModelBuilderExtensions.js +1 -1
  206. package/lib/esm/overrides/index.js +1 -1
  207. package/lib/esm/ui/DecafComponent.js +1 -1
  208. package/lib/esm/ui/DecafEventHandler.js +1 -1
  209. package/lib/esm/ui/DecafTranslateService.js +1 -1
  210. package/lib/esm/ui/Rendering.js +1 -1
  211. package/lib/esm/ui/UIValidator.js +1 -1
  212. package/lib/esm/ui/constants.js +1 -1
  213. package/lib/esm/ui/decorators.js +1 -1
  214. package/lib/esm/ui/errors.js +1 -1
  215. package/lib/esm/ui/index.js +1 -1
  216. package/lib/esm/ui/interfaces/IDecafModal.js +1 -1
  217. package/lib/esm/ui/interfaces/IDecafRouter.js +1 -1
  218. package/lib/esm/ui/interfaces/IDecafSpinner.js +1 -1
  219. package/lib/esm/ui/interfaces/IDecafToast.js +1 -1
  220. package/lib/esm/ui/interfaces/index.js +1 -1
  221. package/lib/esm/ui/overrides.js +1 -1
  222. package/lib/esm/ui/types.js +1 -1
  223. package/lib/esm/ui/utils.js +1 -1
  224. package/lib/esm/ui/validator.js +1 -1
  225. package/lib/esm/user-requests/UserRequestHandler.js +1 -1
  226. package/lib/esm/user-requests/constants.js +1 -1
  227. package/lib/esm/user-requests/decorators.js +1 -1
  228. package/lib/esm/user-requests/errors.js +1 -1
  229. package/lib/esm/user-requests/index.js +1 -1
  230. package/lib/esm/user-requests/types.js +1 -1
  231. package/lib/types/dashboard/constants.d.cts +22 -0
  232. package/lib/types/dashboard/constants.d.mts +22 -0
  233. package/lib/types/dashboard/decorators.d.cts +34 -0
  234. package/lib/types/dashboard/decorators.d.mts +34 -0
  235. package/lib/types/dashboard/index.d.cts +5 -0
  236. package/lib/types/dashboard/index.d.mts +5 -0
  237. package/lib/types/dashboard/reader.d.cts +30 -0
  238. package/lib/types/dashboard/reader.d.mts +30 -0
  239. package/lib/types/dashboard/registry.d.cts +29 -0
  240. package/lib/types/dashboard/registry.d.mts +29 -0
  241. package/lib/types/dashboard/types.d.cts +67 -0
  242. package/lib/types/dashboard/types.d.mts +67 -0
  243. package/lib/types/graph/GraphExecutionStateMapper.d.cts +66 -0
  244. package/lib/types/graph/GraphExecutionStateMapper.d.mts +66 -0
  245. package/lib/types/graph/GraphResolution.d.cts +53 -0
  246. package/lib/types/graph/GraphResolution.d.mts +53 -0
  247. package/lib/types/graph/constants.d.cts +165 -0
  248. package/lib/types/graph/constants.d.mts +165 -0
  249. package/lib/types/graph/index.d.cts +3 -0
  250. package/lib/types/graph/index.d.mts +3 -0
  251. package/lib/types/graph/nodes/agents/agent.d.cts +44 -0
  252. package/lib/types/graph/nodes/agents/agent.d.mts +44 -0
  253. package/lib/types/graph/nodes/base.d.cts +28 -0
  254. package/lib/types/graph/nodes/base.d.mts +28 -0
  255. package/lib/types/graph/nodes/boundary/input-value.d.cts +13 -0
  256. package/lib/types/graph/nodes/boundary/input-value.d.mts +13 -0
  257. package/lib/types/graph/nodes/category-styles.d.cts +8 -0
  258. package/lib/types/graph/nodes/category-styles.d.mts +8 -0
  259. package/lib/types/graph/nodes/flow-control/break.d.cts +15 -0
  260. package/lib/types/graph/nodes/flow-control/break.d.mts +15 -0
  261. package/lib/types/graph/nodes/flow-control/error-boundary.d.cts +12 -0
  262. package/lib/types/graph/nodes/flow-control/error-boundary.d.mts +12 -0
  263. package/lib/types/graph/nodes/flow-control/human-approval.d.cts +13 -0
  264. package/lib/types/graph/nodes/flow-control/human-approval.d.mts +13 -0
  265. package/lib/types/graph/nodes/flow-control/if.d.cts +16 -0
  266. package/lib/types/graph/nodes/flow-control/if.d.mts +16 -0
  267. package/lib/types/graph/nodes/flow-control/parallel.d.cts +11 -0
  268. package/lib/types/graph/nodes/flow-control/parallel.d.mts +11 -0
  269. package/lib/types/graph/nodes/flow-control/switch.d.cts +21 -0
  270. package/lib/types/graph/nodes/flow-control/switch.d.mts +21 -0
  271. package/lib/types/graph/nodes/index.d.cts +79 -0
  272. package/lib/types/graph/nodes/index.d.mts +79 -0
  273. package/lib/types/graph/nodes/loops/foreach.d.cts +19 -0
  274. package/lib/types/graph/nodes/loops/foreach.d.mts +19 -0
  275. package/lib/types/graph/nodes/loops/until.d.cts +16 -0
  276. package/lib/types/graph/nodes/loops/until.d.mts +16 -0
  277. package/lib/types/graph/nodes/loops/while.d.cts +16 -0
  278. package/lib/types/graph/nodes/loops/while.d.mts +16 -0
  279. package/lib/types/graph/nodes/manifests.d.cts +62 -0
  280. package/lib/types/graph/nodes/manifests.d.mts +62 -0
  281. package/lib/types/graph/nodes/triggers/chat.d.cts +13 -0
  282. package/lib/types/graph/nodes/triggers/chat.d.mts +13 -0
  283. package/lib/types/graph/nodes/triggers/event.d.cts +10 -0
  284. package/lib/types/graph/nodes/triggers/event.d.mts +10 -0
  285. package/lib/types/graph/nodes/triggers/form.d.cts +11 -0
  286. package/lib/types/graph/nodes/triggers/form.d.mts +11 -0
  287. package/lib/types/graph/nodes/triggers/manual.d.cts +12 -0
  288. package/lib/types/graph/nodes/triggers/manual.d.mts +12 -0
  289. package/lib/types/graph/nodes/triggers/schedule.d.cts +11 -0
  290. package/lib/types/graph/nodes/triggers/schedule.d.mts +11 -0
  291. package/lib/types/graph/nodes/triggers/webhook.d.cts +11 -0
  292. package/lib/types/graph/nodes/triggers/webhook.d.mts +11 -0
  293. package/lib/types/graph/nodes/utility/code.d.cts +31 -0
  294. package/lib/types/graph/nodes/utility/code.d.mts +31 -0
  295. package/lib/types/graph/nodes/utility/delay.d.cts +11 -0
  296. package/lib/types/graph/nodes/utility/delay.d.mts +11 -0
  297. package/lib/types/graph/nodes/utility/log.d.cts +13 -0
  298. package/lib/types/graph/nodes/utility/log.d.mts +13 -0
  299. package/lib/types/graph/nodes/utility/map.d.cts +11 -0
  300. package/lib/types/graph/nodes/utility/map.d.mts +11 -0
  301. package/lib/types/graph/nodes/utility/merge.d.cts +12 -0
  302. package/lib/types/graph/nodes/utility/merge.d.mts +12 -0
  303. package/lib/types/graph/nodes/utility/return.d.cts +11 -0
  304. package/lib/types/graph/nodes/utility/return.d.mts +11 -0
  305. package/lib/types/graph/nodes/utility/utility-log.d.cts +15 -0
  306. package/lib/types/graph/nodes/utility/utility-log.d.mts +15 -0
  307. package/lib/types/graph/types.d.cts +286 -0
  308. package/lib/types/graph/types.d.mts +286 -0
  309. package/lib/types/index.d.cts +4 -3
  310. package/lib/types/index.d.mts +4 -3
  311. package/package.json +1 -1
  312. package/dist/ui-decorators.cjs.map +0 -1
  313. package/dist/ui-decorators.js.map +0 -1
  314. package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs.map +0 -1
  315. package/lib/cjs/graph/catalog/GraphCredentialReference.cjs.map +0 -1
  316. package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs.map +0 -1
  317. package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs.map +0 -1
  318. package/lib/cjs/graph/catalog/GraphIconReference.cjs.map +0 -1
  319. package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs.map +0 -1
  320. package/lib/cjs/graph/catalog/GraphNodeCapability.cjs.map +0 -1
  321. package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs.map +0 -1
  322. package/lib/cjs/graph/catalog/GraphNodeManifest.cjs.map +0 -1
  323. package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs.map +0 -1
  324. package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs.map +0 -1
  325. package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs.map +0 -1
  326. package/lib/cjs/graph/catalog/GraphParameterBase.cjs.map +0 -1
  327. package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs.map +0 -1
  328. package/lib/cjs/graph/catalog/GraphParameterOption.cjs.map +0 -1
  329. package/lib/cjs/graph/catalog/GraphParameterValidation.cjs.map +0 -1
  330. package/lib/cjs/graph/catalog/GraphPortManifest.cjs.map +0 -1
  331. package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs.map +0 -1
  332. package/lib/cjs/graph/catalog/GraphValueSchema.cjs.map +0 -1
  333. package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs.map +0 -1
  334. package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs.map +0 -1
  335. package/lib/cjs/graph/catalog/index.cjs.map +0 -1
  336. package/lib/cjs/graph/constants.cjs.map +0 -1
  337. package/lib/cjs/graph/decorators.cjs.map +0 -1
  338. package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs.map +0 -1
  339. package/lib/cjs/graph/document/GraphEdgeInstance.cjs.map +0 -1
  340. package/lib/cjs/graph/document/GraphEndpoint.cjs.map +0 -1
  341. package/lib/cjs/graph/document/GraphJsonValue.cjs.map +0 -1
  342. package/lib/cjs/graph/document/GraphLoopConfiguration.cjs.map +0 -1
  343. package/lib/cjs/graph/document/GraphNodeBinding.cjs.map +0 -1
  344. package/lib/cjs/graph/document/GraphNodeInstance.cjs.map +0 -1
  345. package/lib/cjs/graph/document/GraphWorkflowDocument.cjs.map +0 -1
  346. package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs.map +0 -1
  347. package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs.map +0 -1
  348. package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs.map +0 -1
  349. package/lib/cjs/graph/document/GraphWorkflowUiState.cjs.map +0 -1
  350. package/lib/cjs/graph/document/index.cjs.map +0 -1
  351. package/lib/cjs/graph/index.cjs.map +0 -1
  352. package/lib/cjs/graph/overrides/Metadata.cjs.map +0 -1
  353. package/lib/cjs/graph/overrides/Rendering.cjs.map +0 -1
  354. package/lib/cjs/graph/overrides/index.cjs.map +0 -1
  355. package/lib/cjs/graph/overrides/overrides.cjs.map +0 -1
  356. package/lib/cjs/graph/reader.cjs.map +0 -1
  357. package/lib/cjs/graph/registry.cjs.map +0 -1
  358. package/lib/cjs/graph/snapshot.cjs.map +0 -1
  359. package/lib/cjs/graph/types.cjs.map +0 -1
  360. package/lib/cjs/index.cjs.map +0 -1
  361. package/lib/cjs/model/Renderable.cjs.map +0 -1
  362. package/lib/cjs/model/decorators.cjs.map +0 -1
  363. package/lib/cjs/model/index.cjs.map +0 -1
  364. package/lib/cjs/model/model.cjs.map +0 -1
  365. package/lib/cjs/model/overrides.cjs.map +0 -1
  366. package/lib/cjs/overrides/ModelBuilderExtensions.cjs.map +0 -1
  367. package/lib/cjs/overrides/index.cjs.map +0 -1
  368. package/lib/cjs/ui/DecafComponent.cjs.map +0 -1
  369. package/lib/cjs/ui/DecafEventHandler.cjs.map +0 -1
  370. package/lib/cjs/ui/DecafTranslateService.cjs.map +0 -1
  371. package/lib/cjs/ui/Rendering.cjs.map +0 -1
  372. package/lib/cjs/ui/UIValidator.cjs.map +0 -1
  373. package/lib/cjs/ui/constants.cjs.map +0 -1
  374. package/lib/cjs/ui/decorators.cjs.map +0 -1
  375. package/lib/cjs/ui/errors.cjs.map +0 -1
  376. package/lib/cjs/ui/index.cjs.map +0 -1
  377. package/lib/cjs/ui/interfaces/IDecafModal.cjs.map +0 -1
  378. package/lib/cjs/ui/interfaces/IDecafRouter.cjs.map +0 -1
  379. package/lib/cjs/ui/interfaces/IDecafSpinner.cjs.map +0 -1
  380. package/lib/cjs/ui/interfaces/IDecafToast.cjs.map +0 -1
  381. package/lib/cjs/ui/interfaces/index.cjs.map +0 -1
  382. package/lib/cjs/ui/overrides.cjs.map +0 -1
  383. package/lib/cjs/ui/types.cjs.map +0 -1
  384. package/lib/cjs/ui/utils.cjs.map +0 -1
  385. package/lib/cjs/ui/validator.cjs.map +0 -1
  386. package/lib/cjs/user-requests/UserRequestHandler.cjs.map +0 -1
  387. package/lib/cjs/user-requests/constants.cjs.map +0 -1
  388. package/lib/cjs/user-requests/decorators.cjs.map +0 -1
  389. package/lib/cjs/user-requests/errors.cjs.map +0 -1
  390. package/lib/cjs/user-requests/index.cjs.map +0 -1
  391. package/lib/cjs/user-requests/types.cjs.map +0 -1
  392. package/lib/esm/graph/catalog/GraphConnectionPolicy.js.map +0 -1
  393. package/lib/esm/graph/catalog/GraphCredentialReference.js.map +0 -1
  394. package/lib/esm/graph/catalog/GraphCredentialRequirement.js.map +0 -1
  395. package/lib/esm/graph/catalog/GraphDynamicPortRule.js.map +0 -1
  396. package/lib/esm/graph/catalog/GraphIconReference.js.map +0 -1
  397. package/lib/esm/graph/catalog/GraphManifestCompiler.js.map +0 -1
  398. package/lib/esm/graph/catalog/GraphNodeCapability.js.map +0 -1
  399. package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js.map +0 -1
  400. package/lib/esm/graph/catalog/GraphNodeManifest.js.map +0 -1
  401. package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js.map +0 -1
  402. package/lib/esm/graph/catalog/GraphNodeMethodManifest.js.map +0 -1
  403. package/lib/esm/graph/catalog/GraphNodePolicyManifest.js.map +0 -1
  404. package/lib/esm/graph/catalog/GraphParameterBase.js.map +0 -1
  405. package/lib/esm/graph/catalog/GraphParameterDefinition.js.map +0 -1
  406. package/lib/esm/graph/catalog/GraphParameterOption.js.map +0 -1
  407. package/lib/esm/graph/catalog/GraphParameterValidation.js.map +0 -1
  408. package/lib/esm/graph/catalog/GraphPortManifest.js.map +0 -1
  409. package/lib/esm/graph/catalog/GraphResourceLocatorMode.js.map +0 -1
  410. package/lib/esm/graph/catalog/GraphValueSchema.js.map +0 -1
  411. package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js.map +0 -1
  412. package/lib/esm/graph/catalog/GraphVisibilityExpression.js.map +0 -1
  413. package/lib/esm/graph/catalog/index.js.map +0 -1
  414. package/lib/esm/graph/constants.js.map +0 -1
  415. package/lib/esm/graph/decorators.js.map +0 -1
  416. package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js.map +0 -1
  417. package/lib/esm/graph/document/GraphEdgeInstance.js.map +0 -1
  418. package/lib/esm/graph/document/GraphEndpoint.js.map +0 -1
  419. package/lib/esm/graph/document/GraphJsonValue.js.map +0 -1
  420. package/lib/esm/graph/document/GraphLoopConfiguration.js.map +0 -1
  421. package/lib/esm/graph/document/GraphNodeBinding.js.map +0 -1
  422. package/lib/esm/graph/document/GraphNodeInstance.js.map +0 -1
  423. package/lib/esm/graph/document/GraphWorkflowDocument.js.map +0 -1
  424. package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js.map +0 -1
  425. package/lib/esm/graph/document/GraphWorkflowDocumentReader.js.map +0 -1
  426. package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js.map +0 -1
  427. package/lib/esm/graph/document/GraphWorkflowUiState.js.map +0 -1
  428. package/lib/esm/graph/document/index.js.map +0 -1
  429. package/lib/esm/graph/index.js.map +0 -1
  430. package/lib/esm/graph/overrides/Metadata.js.map +0 -1
  431. package/lib/esm/graph/overrides/Rendering.js.map +0 -1
  432. package/lib/esm/graph/overrides/index.js.map +0 -1
  433. package/lib/esm/graph/overrides/overrides.js.map +0 -1
  434. package/lib/esm/graph/reader.js.map +0 -1
  435. package/lib/esm/graph/registry.js.map +0 -1
  436. package/lib/esm/graph/snapshot.js.map +0 -1
  437. package/lib/esm/graph/types.js.map +0 -1
  438. package/lib/esm/index.js.map +0 -1
  439. package/lib/esm/model/Renderable.js.map +0 -1
  440. package/lib/esm/model/decorators.js.map +0 -1
  441. package/lib/esm/model/index.js.map +0 -1
  442. package/lib/esm/model/model.js.map +0 -1
  443. package/lib/esm/model/overrides.js.map +0 -1
  444. package/lib/esm/overrides/ModelBuilderExtensions.js.map +0 -1
  445. package/lib/esm/overrides/index.js.map +0 -1
  446. package/lib/esm/ui/DecafComponent.js.map +0 -1
  447. package/lib/esm/ui/DecafEventHandler.js.map +0 -1
  448. package/lib/esm/ui/DecafTranslateService.js.map +0 -1
  449. package/lib/esm/ui/Rendering.js.map +0 -1
  450. package/lib/esm/ui/UIValidator.js.map +0 -1
  451. package/lib/esm/ui/constants.js.map +0 -1
  452. package/lib/esm/ui/decorators.js.map +0 -1
  453. package/lib/esm/ui/errors.js.map +0 -1
  454. package/lib/esm/ui/index.js.map +0 -1
  455. package/lib/esm/ui/interfaces/IDecafModal.js.map +0 -1
  456. package/lib/esm/ui/interfaces/IDecafRouter.js.map +0 -1
  457. package/lib/esm/ui/interfaces/IDecafSpinner.js.map +0 -1
  458. package/lib/esm/ui/interfaces/IDecafToast.js.map +0 -1
  459. package/lib/esm/ui/interfaces/index.js.map +0 -1
  460. package/lib/esm/ui/overrides.js.map +0 -1
  461. package/lib/esm/ui/types.js.map +0 -1
  462. package/lib/esm/ui/utils.js.map +0 -1
  463. package/lib/esm/ui/validator.js.map +0 -1
  464. package/lib/esm/user-requests/UserRequestHandler.js.map +0 -1
  465. package/lib/esm/user-requests/constants.js.map +0 -1
  466. package/lib/esm/user-requests/decorators.js.map +0 -1
  467. package/lib/esm/user-requests/errors.js.map +0 -1
  468. package/lib/esm/user-requests/index.js.map +0 -1
  469. package/lib/esm/user-requests/types.js.map +0 -1
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CodeFlowNode = exports.CodeInputSchema = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/utility/code
20
+ * @summary Code utility node declaration (ALFRED-5 §7, DECAF-32 §22.4).
21
+ * @description Code — sandboxed JS/TS code execution. The engine's
22
+ * `CodeGraphNodeExecutor` delegates to the pluggable `CodeSandboxEvaluator`.
23
+ * The default `IsolatedVmCodeSandboxEvaluator` (backed by `isolated-vm`)
24
+ * enforces the Code Node restrictions: no imports, no requires, pure
25
+ * functions only. The sandbox context exposes `$input`, `$vars`, `$item`,
26
+ * `$index`, `$node`, and `$output` as data variables. TypeScript is
27
+ * supported via transpilation.
28
+ *
29
+ * The `@input` on `CodeFlowNode.input` is a schema group — the nested
30
+ * model's `@input` ports are spliced into the parent unprefixed. `code` has
31
+ * `@input` + `@uielement("code-editor")`, so it appears as a port AND in the
32
+ * CRUD modal (the only visible field). `data` has `@input` + `@hidden()` but
33
+ * no `@uielement`, so it is a canvas-only port (for edge connections from
34
+ * workflow input badges) but never appears in the CRUD modal. `language` has
35
+ * no `@input` and no `@uielement`, so it is neither a port nor rendered — it
36
+ * defaults to `"javascript"`.
37
+ */
38
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
39
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
40
+ const decorators_js_2 = require("./../../decorators.cjs");
41
+ // Ensure category styles are registered (idempotent).
42
+ require("./../category-styles.cjs");
43
+ let CodeInputSchema = class CodeInputSchema extends decorator_validation_1.Model {
44
+ constructor() {
45
+ super(...arguments);
46
+ this.language = "javascript";
47
+ }
48
+ };
49
+ exports.CodeInputSchema = CodeInputSchema;
50
+ __decorate([
51
+ (0, decorator_validation_1.required)(),
52
+ __metadata("design:type", String)
53
+ ], CodeInputSchema.prototype, "language", void 0);
54
+ __decorate([
55
+ (0, decorator_validation_1.required)(),
56
+ (0, decorators_js_1.uielement)("code-editor", { label: "Code", placeholder: "// User-authored JS code" }),
57
+ (0, decorators_js_2.input)({ handle: "code" }),
58
+ __metadata("design:type", String)
59
+ ], CodeInputSchema.prototype, "code", void 0);
60
+ __decorate([
61
+ (0, decorators_js_1.hidden)(),
62
+ (0, decorators_js_2.input)({ handle: "data" }),
63
+ __metadata("design:type", Object)
64
+ ], CodeInputSchema.prototype, "data", void 0);
65
+ exports.CodeInputSchema = CodeInputSchema = __decorate([
66
+ (0, decorator_validation_1.model)()
67
+ ], CodeInputSchema);
68
+ let CodeFlowNode = class CodeFlowNode extends decorator_validation_1.Model {
69
+ };
70
+ exports.CodeFlowNode = CodeFlowNode;
71
+ __decorate([
72
+ (0, decorator_validation_1.required)(),
73
+ (0, decorators_js_2.input)({ handle: "input", model: CodeInputSchema }),
74
+ __metadata("design:type", CodeInputSchema)
75
+ ], CodeFlowNode.prototype, "input", void 0);
76
+ __decorate([
77
+ (0, decorator_validation_1.required)(),
78
+ (0, decorators_js_2.output)({ handle: "result" }),
79
+ __metadata("design:type", Object)
80
+ ], CodeFlowNode.prototype, "result", void 0);
81
+ exports.CodeFlowNode = CodeFlowNode = __decorate([
82
+ (0, decorators_js_2.node)("core.flow.code", {
83
+ kind: "core.flow.code",
84
+ category: "Utility",
85
+ color: "#7c3aed",
86
+ icon: "ti-code",
87
+ width: 96,
88
+ height: 96,
89
+ labels: ["flow", "code", "sandbox", "transform"],
90
+ metadata: {
91
+ title: "Code",
92
+ description: "Runs user-authored JS/TS in a restricted VM sandbox. Supports placeholder syntax for workflow data references.",
93
+ timeoutMs: 1000,
94
+ },
95
+ }),
96
+ (0, decorator_validation_1.model)()
97
+ ], CodeFlowNode);
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9ncmFwaC9ub2Rlcy91dGlsaXR5L2NvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxvQ0FBK0I7QUFDM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLDhCQUF5QjtBQUV2RCxzREFBc0Q7QUFDdEQsaUNBQTRCO0FBR3JCLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsS0FBSztJQUFuQzs7UUFFTCxhQUFRLEdBQVcsWUFBWSxDQUFDO0lBVWxDLENBQUM7Q0FBQSxDQUFBO0FBVkM7SUFEQyxRQUFRLEVBQUU7O2lEQUNxQjtBQUtoQztJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxDQUFDO0lBQ3BGLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQzs7NkNBQ1o7QUFJZDtJQUZDLE1BQU0sRUFBRTtJQUNSLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQzs7NkNBQ1g7QUFYSixlQUFlO0lBRDNCLEtBQUssRUFBRTtHQUNLLGVBQWUsQ0FZM0I7O0FBaUJNLElBQU0sWUFBWSxHQUFsQixNQUFNLFlBQWEsU0FBUSxLQUFLO0NBUXRDLENBQUE7QUFMQztJQUZDLFFBQVEsRUFBRTtJQUNWLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDOzhCQUMzQyxlQUFlOzJDQUFDO0FBSXhCO0lBRkMsUUFBUSxFQUFFO0lBQ1YsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDOzs0Q0FDWjtBQVBOLFlBQVk7SUFmeEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1FBQ3RCLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDO1FBQ2hELFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxNQUFNO1lBQ2IsV0FBVyxFQUFFLGdIQUFnSDtZQUM3SCxTQUFTLEVBQUUsSUFBSTtTQUNoQjtLQUNGLENBQUM7SUFDRCxLQUFLLEVBQUU7R0FDSyxZQUFZLENBUXhCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvdXRpbGl0eS9jb2RlXG4gKiBAc3VtbWFyeSBDb2RlIHV0aWxpdHkgbm9kZSBkZWNsYXJhdGlvbiAoQUxGUkVELTUgwqc3LCBERUNBRi0zMiDCpzIyLjQpLlxuICogQGRlc2NyaXB0aW9uIENvZGUg4oCUIHNhbmRib3hlZCBKUy9UUyBjb2RlIGV4ZWN1dGlvbi4gVGhlIGVuZ2luZSdzXG4gKiBgQ29kZUdyYXBoTm9kZUV4ZWN1dG9yYCBkZWxlZ2F0ZXMgdG8gdGhlIHBsdWdnYWJsZSBgQ29kZVNhbmRib3hFdmFsdWF0b3JgLlxuICogVGhlIGRlZmF1bHQgYElzb2xhdGVkVm1Db2RlU2FuZGJveEV2YWx1YXRvcmAgKGJhY2tlZCBieSBgaXNvbGF0ZWQtdm1gKVxuICogZW5mb3JjZXMgdGhlIENvZGUgTm9kZSByZXN0cmljdGlvbnM6IG5vIGltcG9ydHMsIG5vIHJlcXVpcmVzLCBwdXJlXG4gKiBmdW5jdGlvbnMgb25seS4gVGhlIHNhbmRib3ggY29udGV4dCBleHBvc2VzIGAkaW5wdXRgLCBgJHZhcnNgLCBgJGl0ZW1gLFxuICogYCRpbmRleGAsIGAkbm9kZWAsIGFuZCBgJG91dHB1dGAgYXMgZGF0YSB2YXJpYWJsZXMuIFR5cGVTY3JpcHQgaXNcbiAqIHN1cHBvcnRlZCB2aWEgdHJhbnNwaWxhdGlvbi5cbiAqXG4gKiBUaGUgYEBpbnB1dGAgb24gYENvZGVGbG93Tm9kZS5pbnB1dGAgaXMgYSBzY2hlbWEgZ3JvdXAg4oCUIHRoZSBuZXN0ZWRcbiAqIG1vZGVsJ3MgYEBpbnB1dGAgcG9ydHMgYXJlIHNwbGljZWQgaW50byB0aGUgcGFyZW50IHVucHJlZml4ZWQuIGBjb2RlYCBoYXNcbiAqIGBAaW5wdXRgICsgYEB1aWVsZW1lbnQoXCJjb2RlLWVkaXRvclwiKWAsIHNvIGl0IGFwcGVhcnMgYXMgYSBwb3J0IEFORCBpbiB0aGVcbiAqIENSVUQgbW9kYWwgKHRoZSBvbmx5IHZpc2libGUgZmllbGQpLiBgZGF0YWAgaGFzIGBAaW5wdXRgICsgYEBoaWRkZW4oKWAgYnV0XG4gKiBubyBgQHVpZWxlbWVudGAsIHNvIGl0IGlzIGEgY2FudmFzLW9ubHkgcG9ydCAoZm9yIGVkZ2UgY29ubmVjdGlvbnMgZnJvbVxuICogd29ya2Zsb3cgaW5wdXQgYmFkZ2VzKSBidXQgbmV2ZXIgYXBwZWFycyBpbiB0aGUgQ1JVRCBtb2RhbC4gYGxhbmd1YWdlYCBoYXNcbiAqIG5vIGBAaW5wdXRgIGFuZCBubyBgQHVpZWxlbWVudGAsIHNvIGl0IGlzIG5laXRoZXIgYSBwb3J0IG5vciByZW5kZXJlZCDigJQgaXRcbiAqIGRlZmF1bHRzIHRvIGBcImphdmFzY3JpcHRcImAuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBoaWRkZW4sIHVpZWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi91aS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBpbnB1dCwgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIi4uLy4uL2RlY29yYXRvcnNcIjtcblxuLy8gRW5zdXJlIGNhdGVnb3J5IHN0eWxlcyBhcmUgcmVnaXN0ZXJlZCAoaWRlbXBvdGVudCkuXG5pbXBvcnQgXCIuLi9jYXRlZ29yeS1zdHlsZXNcIjtcblxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBDb2RlSW5wdXRTY2hlbWEgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIGxhbmd1YWdlOiBzdHJpbmcgPSBcImphdmFzY3JpcHRcIjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiY29kZS1lZGl0b3JcIiwgeyBsYWJlbDogXCJDb2RlXCIsIHBsYWNlaG9sZGVyOiBcIi8vIFVzZXItYXV0aG9yZWQgSlMgY29kZVwiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJjb2RlXCIgfSlcbiAgY29kZSE6IHN0cmluZztcblxuICBAaGlkZGVuKClcbiAgQGlucHV0KHsgaGFuZGxlOiBcImRhdGFcIiB9KVxuICBkYXRhPzogdW5rbm93bjtcbn1cblxuQG5vZGUoXCJjb3JlLmZsb3cuY29kZVwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93LmNvZGVcIixcbiAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICBjb2xvcjogXCIjN2MzYWVkXCIsXG4gIGljb246IFwidGktY29kZVwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcImNvZGVcIiwgXCJzYW5kYm94XCIsIFwidHJhbnNmb3JtXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkNvZGVcIixcbiAgICBkZXNjcmlwdGlvbjogXCJSdW5zIHVzZXItYXV0aG9yZWQgSlMvVFMgaW4gYSByZXN0cmljdGVkIFZNIHNhbmRib3guIFN1cHBvcnRzIHBsYWNlaG9sZGVyIHN5bnRheCBmb3Igd29ya2Zsb3cgZGF0YSByZWZlcmVuY2VzLlwiLFxuICAgIHRpbWVvdXRNczogMTAwMCxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIENvZGVGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQGlucHV0KHsgaGFuZGxlOiBcImlucHV0XCIsIG1vZGVsOiBDb2RlSW5wdXRTY2hlbWEgfSlcbiAgaW5wdXQhOiBDb2RlSW5wdXRTY2hlbWE7XG5cbiAgQHJlcXVpcmVkKClcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJyZXN1bHRcIiB9KVxuICByZXN1bHQhOiB1bmtub3duO1xufVxuIl19
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvZGUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSTtJQUNqRixJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdILElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7O1FBQzFILEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEosT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2xFLENBQUMsQ0FBQztBQUNGLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDO0lBQ3hELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxDQUFDLFFBQVEsS0FBSyxVQUFVO1FBQUUsT0FBTyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUM3RyxDQUFDLENBQUM7QUFDRjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILHlFQUF3RTtBQUN4RSwrREFBZ0U7QUFDaEUseURBQTREO0FBQzVELHNEQUFzRDtBQUN0RCxtQ0FBaUM7QUFDakMsSUFBSSxlQUFlLEdBQUcsTUFBTSxlQUFnQixTQUFRLDRCQUFLO0lBQ3JEO1FBQ0ksS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUM7SUFDakMsQ0FBQztDQUNKLENBQUM7QUFtQk8sMENBQWU7QUFsQnhCLFVBQVUsQ0FBQztJQUNQLElBQUEsK0JBQVEsR0FBRTtJQUNWLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsZUFBZSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNsRCxVQUFVLENBQUM7SUFDUCxJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHlCQUFTLEVBQUMsYUFBYSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQztJQUNwRixJQUFBLHFCQUFLLEVBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDekIsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxlQUFlLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzlDLFVBQVUsQ0FBQztJQUNQLElBQUEsc0JBQU0sR0FBRTtJQUNSLElBQUEscUJBQUssRUFBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN6QixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLGVBQWUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDOUMsMEJBQUEsZUFBZSxHQUFHLFVBQVUsQ0FBQztJQUN6QixJQUFBLDRCQUFLLEdBQUU7Q0FDVixFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBRXBCLElBQUksWUFBWSxHQUFHLE1BQU0sWUFBYSxTQUFRLDRCQUFLO0NBQ2xELENBQUM7QUE0Qk8sb0NBQVk7QUEzQnJCLFVBQVUsQ0FBQztJQUNQLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEscUJBQUssRUFBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO0lBQ2xELFVBQVUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDO0NBQzdDLEVBQUUsWUFBWSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM1QyxVQUFVLENBQUM7SUFDUCxJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHNCQUFNLEVBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDNUIsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxZQUFZLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzdDLHVCQUFBLFlBQVksR0FBRyxVQUFVLENBQUM7SUFDdEIsSUFBQSxvQkFBSSxFQUFDLGdCQUFnQixFQUFFO1FBQ25CLElBQUksRUFBRSxnQkFBZ0I7UUFDdEIsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLFNBQVM7UUFDZixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDO1FBQ2hELFFBQVEsRUFBRTtZQUNOLEtBQUssRUFBRSxNQUFNO1lBQ2IsV0FBVyxFQUFFLGdIQUFnSDtZQUM3SCxTQUFTLEVBQUUsSUFBSTtTQUNsQjtLQUNKLENBQUM7SUFDRixJQUFBLDRCQUFLLEdBQUU7Q0FDVixFQUFFLFlBQVksQ0FBQyxDQUFDO0FBRWpCLDhoS0FBOGhLIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xudmFyIF9fbWV0YWRhdGEgPSAodGhpcyAmJiB0aGlzLl9fbWV0YWRhdGEpIHx8IGZ1bmN0aW9uIChrLCB2KSB7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKGssIHYpO1xufTtcbi8qKlxuICogQG1vZHVsZSB1aS1kZWNvcmF0b3JzL2dyYXBoL25vZGVzL3V0aWxpdHkvY29kZVxuICogQHN1bW1hcnkgQ29kZSB1dGlsaXR5IG5vZGUgZGVjbGFyYXRpb24gKEFMRlJFRC01IMKnNywgREVDQUYtMzIgwqcyMi40KS5cbiAqIEBkZXNjcmlwdGlvbiBDb2RlIOKAlCBzYW5kYm94ZWQgSlMvVFMgY29kZSBleGVjdXRpb24uIFRoZSBlbmdpbmUnc1xuICogYENvZGVHcmFwaE5vZGVFeGVjdXRvcmAgZGVsZWdhdGVzIHRvIHRoZSBwbHVnZ2FibGUgYENvZGVTYW5kYm94RXZhbHVhdG9yYC5cbiAqIFRoZSBkZWZhdWx0IGBJc29sYXRlZFZtQ29kZVNhbmRib3hFdmFsdWF0b3JgIChiYWNrZWQgYnkgYGlzb2xhdGVkLXZtYClcbiAqIGVuZm9yY2VzIHRoZSBDb2RlIE5vZGUgcmVzdHJpY3Rpb25zOiBubyBpbXBvcnRzLCBubyByZXF1aXJlcywgcHVyZVxuICogZnVuY3Rpb25zIG9ubHkuIFRoZSBzYW5kYm94IGNvbnRleHQgZXhwb3NlcyBgJGlucHV0YCwgYCR2YXJzYCwgYCRpdGVtYCxcbiAqIGAkaW5kZXhgLCBgJG5vZGVgLCBhbmQgYCRvdXRwdXRgIGFzIGRhdGEgdmFyaWFibGVzLiBUeXBlU2NyaXB0IGlzXG4gKiBzdXBwb3J0ZWQgdmlhIHRyYW5zcGlsYXRpb24uXG4gKlxuICogVGhlIGBAaW5wdXRgIG9uIGBDb2RlRmxvd05vZGUuaW5wdXRgIGlzIGEgc2NoZW1hIGdyb3VwIOKAlCB0aGUgbmVzdGVkXG4gKiBtb2RlbCdzIGBAaW5wdXRgIHBvcnRzIGFyZSBzcGxpY2VkIGludG8gdGhlIHBhcmVudCB1bnByZWZpeGVkLiBgY29kZWAgaGFzXG4gKiBgQGlucHV0YCArIGBAdWllbGVtZW50KFwiY29kZS1lZGl0b3JcIilgLCBzbyBpdCBhcHBlYXJzIGFzIGEgcG9ydCBBTkQgaW4gdGhlXG4gKiBDUlVEIG1vZGFsICh0aGUgb25seSB2aXNpYmxlIGZpZWxkKS4gYGRhdGFgIGhhcyBgQGlucHV0YCArIGBAaGlkZGVuKClgIGJ1dFxuICogbm8gYEB1aWVsZW1lbnRgLCBzbyBpdCBpcyBhIGNhbnZhcy1vbmx5IHBvcnQgKGZvciBlZGdlIGNvbm5lY3Rpb25zIGZyb21cbiAqIHdvcmtmbG93IGlucHV0IGJhZGdlcykgYnV0IG5ldmVyIGFwcGVhcnMgaW4gdGhlIENSVUQgbW9kYWwuIGBsYW5ndWFnZWAgaGFzXG4gKiBubyBgQGlucHV0YCBhbmQgbm8gYEB1aWVsZW1lbnRgLCBzbyBpdCBpcyBuZWl0aGVyIGEgcG9ydCBub3IgcmVuZGVyZWQg4oCUIGl0XG4gKiBkZWZhdWx0cyB0byBgXCJqYXZhc2NyaXB0XCJgLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgaGlkZGVuLCB1aWVsZW1lbnQgfSBmcm9tIFwiLi8uLi8uLi8uLi91aS9kZWNvcmF0b3JzLmpzXCI7XG5pbXBvcnQgeyBpbnB1dCwgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIi4vLi4vLi4vZGVjb3JhdG9ycy5qc1wiO1xuLy8gRW5zdXJlIGNhdGVnb3J5IHN0eWxlcyBhcmUgcmVnaXN0ZXJlZCAoaWRlbXBvdGVudCkuXG5pbXBvcnQgXCIuLy4uL2NhdGVnb3J5LXN0eWxlcy5qc1wiO1xubGV0IENvZGVJbnB1dFNjaGVtYSA9IGNsYXNzIENvZGVJbnB1dFNjaGVtYSBleHRlbmRzIE1vZGVsIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgdGhpcy5sYW5ndWFnZSA9IFwiamF2YXNjcmlwdFwiO1xuICAgIH1cbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBDb2RlSW5wdXRTY2hlbWEucHJvdG90eXBlLCBcImxhbmd1YWdlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImNvZGUtZWRpdG9yXCIsIHsgbGFiZWw6IFwiQ29kZVwiLCBwbGFjZWhvbGRlcjogXCIvLyBVc2VyLWF1dGhvcmVkIEpTIGNvZGVcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJjb2RlXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIENvZGVJbnB1dFNjaGVtYS5wcm90b3R5cGUsIFwiY29kZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgaGlkZGVuKCksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwiZGF0YVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBDb2RlSW5wdXRTY2hlbWEucHJvdG90eXBlLCBcImRhdGFcIiwgdm9pZCAwKTtcbkNvZGVJbnB1dFNjaGVtYSA9IF9fZGVjb3JhdGUoW1xuICAgIG1vZGVsKClcbl0sIENvZGVJbnB1dFNjaGVtYSk7XG5leHBvcnQgeyBDb2RlSW5wdXRTY2hlbWEgfTtcbmxldCBDb2RlRmxvd05vZGUgPSBjbGFzcyBDb2RlRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG59O1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJpbnB1dFwiLCBtb2RlbDogQ29kZUlucHV0U2NoZW1hIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBDb2RlSW5wdXRTY2hlbWEpXG5dLCBDb2RlRmxvd05vZGUucHJvdG90eXBlLCBcImlucHV0XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJyZXN1bHRcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgQ29kZUZsb3dOb2RlLnByb3RvdHlwZSwgXCJyZXN1bHRcIiwgdm9pZCAwKTtcbkNvZGVGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cuY29kZVwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS5mbG93LmNvZGVcIixcbiAgICAgICAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICAgICAgICBjb2xvcjogXCIjN2MzYWVkXCIsXG4gICAgICAgIGljb246IFwidGktY29kZVwiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcImNvZGVcIiwgXCJzYW5kYm94XCIsIFwidHJhbnNmb3JtXCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiQ29kZVwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiUnVucyB1c2VyLWF1dGhvcmVkIEpTL1RTIGluIGEgcmVzdHJpY3RlZCBWTSBzYW5kYm94LiBTdXBwb3J0cyBwbGFjZWhvbGRlciBzeW50YXggZm9yIHdvcmtmbG93IGRhdGEgcmVmZXJlbmNlcy5cIixcbiAgICAgICAgICAgIHRpbWVvdXRNczogMTAwMCxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBDb2RlRmxvd05vZGUpO1xuZXhwb3J0IHsgQ29kZUZsb3dOb2RlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lZMjlrWlM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1THk0dUwzTnlZeTluY21Gd2FDOXViMlJsY3k5MWRHbHNhWFI1TDJOdlpHVXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPMEZCUVVFN096czdPenM3T3pzN096czdPenM3T3pzN1IwRnRRa2M3UVVGRFNDeFBRVUZQTEVWQlFVVXNTMEZCU3l4RlFVRkZMRXRCUVVzc1JVRkJSU3hSUVVGUkxFVkJRVVVzVFVGQlRTeG5RMEZCWjBNc1EwRkJRenRCUVVONFJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RlFVRkZMRk5CUVZNc1JVRkJSU3h2UTBGQkswSTdRVUZETTBRc1QwRkJUeXhGUVVGRkxFdEJRVXNzUlVGQlJTeEpRVUZKTEVWQlFVVXNUVUZCVFN4RlFVRkZMRGhDUVVGNVFqdEJRVVYyUkN4elJFRkJjMFE3UVVGRGRFUXNhVU5CUVRSQ08wRkJSM0pDTEVsQlFVMHNaVUZCWlN4SFFVRnlRaXhOUVVGTkxHVkJRV2RDTEZOQlFWRXNTMEZCU3p0SlFVRnVRenM3VVVGRlRDeGhRVUZSTEVkQlFWY3NXVUZCV1N4RFFVRkRPMGxCVld4RExFTkJRVU03UTBGQlFTeERRVUZCTzBGQlZrTTdTVUZFUXl4UlFVRlJMRVZCUVVVN08ybEVRVU54UWp0QlFVdG9RenRKUVVoRExGRkJRVkVzUlVGQlJUdEpRVU5XTEZOQlFWTXNRMEZCUXl4aFFVRmhMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzVFVGQlRTeEZRVUZGTEZkQlFWY3NSVUZCUlN3d1FrRkJNRUlzUlVGQlJTeERRVUZETzBsQlEzQkdMRXRCUVVzc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXpzN05rTkJRMW83UVVGSlpEdEpRVVpETEUxQlFVMHNSVUZCUlR0SlFVTlNMRXRCUVVzc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeE5RVUZOTEVWQlFVVXNRMEZCUXpzN05rTkJRMWc3UVVGWVNpeGxRVUZsTzBsQlJETkNMRXRCUVVzc1JVRkJSVHRIUVVOTExHVkJRV1VzUTBGWk0wSTdPMEZCYVVKTkxFbEJRVTBzV1VGQldTeEhRVUZzUWl4TlFVRk5MRmxCUVdFc1UwRkJVU3hMUVVGTE8wTkJVWFJETEVOQlFVRTdRVUZNUXp0SlFVWkRMRkZCUVZFc1JVRkJSVHRKUVVOV0xFdEJRVXNzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRkxHVkJRV1VzUlVGQlJTeERRVUZET3poQ1FVTXpReXhsUVVGbE96SkRRVUZETzBGQlNYaENPMGxCUmtNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVFVGQlRTeERRVUZETEVWQlFVVXNUVUZCVFN4RlFVRkZMRkZCUVZFc1JVRkJSU3hEUVVGRE96czBRMEZEV2p0QlFWQk9MRmxCUVZrN1NVRm1lRUlzU1VGQlNTeERRVUZETEdkQ1FVRm5RaXhGUVVGRk8xRkJRM1JDTEVsQlFVa3NSVUZCUlN4blFrRkJaMEk3VVVGRGRFSXNVVUZCVVN4RlFVRkZMRk5CUVZNN1VVRkRia0lzUzBGQlN5eEZRVUZGTEZOQlFWTTdVVUZEYUVJc1NVRkJTU3hGUVVGRkxGTkJRVk03VVVGRFppeExRVUZMTEVWQlFVVXNSVUZCUlR0UlFVTlVMRTFCUVUwc1JVRkJSU3hGUVVGRk8xRkJRMVlzVFVGQlRTeEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMRTFCUVUwc1JVRkJSU3hUUVVGVExFVkJRVVVzVjBGQlZ5eERRVUZETzFGQlEyaEVMRkZCUVZFc1JVRkJSVHRaUVVOU0xFdEJRVXNzUlVGQlJTeE5RVUZOTzFsQlEySXNWMEZCVnl4RlFVRkZMR2RJUVVGblNEdFpRVU0zU0N4VFFVRlRMRVZCUVVVc1NVRkJTVHRUUVVOb1FqdExRVU5HTEVOQlFVTTdTVUZEUkN4TFFVRkxMRVZCUVVVN1IwRkRTeXhaUVVGWkxFTkJVWGhDSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUhWcExXUmxZMjl5WVhSdmNuTXZaM0poY0dndmJtOWtaWE12ZFhScGJHbDBlUzlqYjJSbFhHNGdLaUJBYzNWdGJXRnllU0JEYjJSbElIVjBhV3hwZEhrZ2JtOWtaU0JrWldOc1lYSmhkR2x2YmlBb1FVeEdVa1ZFTFRVZ3dxYzNMQ0JFUlVOQlJpMHpNaURDcHpJeUxqUXBMbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRU52WkdVZzRvQ1VJSE5oYm1SaWIzaGxaQ0JLVXk5VVV5QmpiMlJsSUdWNFpXTjFkR2x2Ymk0Z1ZHaGxJR1Z1WjJsdVpTZHpYRzRnS2lCZ1EyOWtaVWR5WVhCb1RtOWtaVVY0WldOMWRHOXlZQ0JrWld4bFoyRjBaWE1nZEc4Z2RHaGxJSEJzZFdkbllXSnNaU0JnUTI5a1pWTmhibVJpYjNoRmRtRnNkV0YwYjNKZ0xseHVJQ29nVkdobElHUmxabUYxYkhRZ1lFbHpiMnhoZEdWa1ZtMURiMlJsVTJGdVpHSnZlRVYyWVd4MVlYUnZjbUFnS0dKaFkydGxaQ0JpZVNCZ2FYTnZiR0YwWldRdGRtMWdLVnh1SUNvZ1pXNW1iM0pqWlhNZ2RHaGxJRU52WkdVZ1RtOWtaU0J5WlhOMGNtbGpkR2x2Ym5NNklHNXZJR2x0Y0c5eWRITXNJRzV2SUhKbGNYVnBjbVZ6TENCd2RYSmxYRzRnS2lCbWRXNWpkR2x2Ym5NZ2IyNXNlUzRnVkdobElITmhibVJpYjNnZ1kyOXVkR1Y0ZENCbGVIQnZjMlZ6SUdBa2FXNXdkWFJnTENCZ0pIWmhjbk5nTENCZ0pHbDBaVzFnTEZ4dUlDb2dZQ1JwYm1SbGVHQXNJR0FrYm05a1pXQXNJR0Z1WkNCZ0pHOTFkSEIxZEdBZ1lYTWdaR0YwWVNCMllYSnBZV0pzWlhNdUlGUjVjR1ZUWTNKcGNIUWdhWE5jYmlBcUlITjFjSEJ2Y25SbFpDQjJhV0VnZEhKaGJuTndhV3hoZEdsdmJpNWNiaUFxWEc0Z0tpQlVhR1VnWUVCcGJuQjFkR0FnYjI0Z1lFTnZaR1ZHYkc5M1RtOWtaUzVwYm5CMWRHQWdhWE1nWVNCelkyaGxiV0VnWjNKdmRYQWc0b0NVSUhSb1pTQnVaWE4wWldSY2JpQXFJRzF2WkdWc0ozTWdZRUJwYm5CMWRHQWdjRzl5ZEhNZ1lYSmxJSE53YkdsalpXUWdhVzUwYnlCMGFHVWdjR0Z5Wlc1MElIVnVjSEpsWm1sNFpXUXVJR0JqYjJSbFlDQm9ZWE5jYmlBcUlHQkFhVzV3ZFhSZ0lDc2dZRUIxYVdWc1pXMWxiblFvWENKamIyUmxMV1ZrYVhSdmNsd2lLV0FzSUhOdklHbDBJR0Z3Y0dWaGNuTWdZWE1nWVNCd2IzSjBJRUZPUkNCcGJpQjBhR1ZjYmlBcUlFTlNWVVFnYlc5a1lXd2dLSFJvWlNCdmJteDVJSFpwYzJsaWJHVWdabWxsYkdRcExpQmdaR0YwWVdBZ2FHRnpJR0JBYVc1d2RYUmdJQ3NnWUVCb2FXUmtaVzRvS1dBZ1luVjBYRzRnS2lCdWJ5QmdRSFZwWld4bGJXVnVkR0FzSUhOdklHbDBJR2x6SUdFZ1kyRnVkbUZ6TFc5dWJIa2djRzl5ZENBb1ptOXlJR1ZrWjJVZ1kyOXVibVZqZEdsdmJuTWdabkp2YlZ4dUlDb2dkMjl5YTJac2IzY2dhVzV3ZFhRZ1ltRmtaMlZ6S1NCaWRYUWdibVYyWlhJZ1lYQndaV0Z5Y3lCcGJpQjBhR1VnUTFKVlJDQnRiMlJoYkM0Z1lHeGhibWQxWVdkbFlDQm9ZWE5jYmlBcUlHNXZJR0JBYVc1d2RYUmdJR0Z1WkNCdWJ5QmdRSFZwWld4bGJXVnVkR0FzSUhOdklHbDBJR2x6SUc1bGFYUm9aWElnWVNCd2IzSjBJRzV2Y2lCeVpXNWtaWEpsWkNEaWdKUWdhWFJjYmlBcUlHUmxabUYxYkhSeklIUnZJR0JjSW1waGRtRnpZM0pwY0hSY0ltQXVYRzRnS2k5Y2JtbHRjRzl5ZENCN0lFMXZaR1ZzTENCdGIyUmxiQ3dnY21WeGRXbHlaV1FnZlNCbWNtOXRJRndpUUdSbFkyRm1MWFJ6TDJSbFkyOXlZWFJ2Y2kxMllXeHBaR0YwYVc5dVhDSTdYRzVwYlhCdmNuUWdleUJvYVdSa1pXNHNJSFZwWld4bGJXVnVkQ0I5SUdaeWIyMGdYQ0l1TGk4dUxpOHVMaTkxYVM5a1pXTnZjbUYwYjNKelhDSTdYRzVwYlhCdmNuUWdleUJwYm5CMWRDd2dibTlrWlN3Z2IzVjBjSFYwSUgwZ1puSnZiU0JjSWk0dUx5NHVMMlJsWTI5eVlYUnZjbk5jSWp0Y2JseHVMeThnUlc1emRYSmxJR05oZEdWbmIzSjVJSE4wZVd4bGN5QmhjbVVnY21WbmFYTjBaWEpsWkNBb2FXUmxiWEJ2ZEdWdWRDa3VYRzVwYlhCdmNuUWdYQ0l1TGk5allYUmxaMjl5ZVMxemRIbHNaWE5jSWp0Y2JseHVRRzF2WkdWc0tDbGNibVY0Y0c5eWRDQmpiR0Z6Y3lCRGIyUmxTVzV3ZFhSVFkyaGxiV0VnWlhoMFpXNWtjeUJOYjJSbGJDQjdYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJR3hoYm1kMVlXZGxPaUJ6ZEhKcGJtY2dQU0JjSW1waGRtRnpZM0pwY0hSY0lqdGNibHh1SUNCQWNtVnhkV2x5WldRb0tWeHVJQ0JBZFdsbGJHVnRaVzUwS0Z3aVkyOWtaUzFsWkdsMGIzSmNJaXdnZXlCc1lXSmxiRG9nWENKRGIyUmxYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJaTh2SUZWelpYSXRZWFYwYUc5eVpXUWdTbE1nWTI5a1pWd2lJSDBwWEc0Z0lFQnBibkIxZENoN0lHaGhibVJzWlRvZ1hDSmpiMlJsWENJZ2ZTbGNiaUFnWTI5a1pTRTZJSE4wY21sdVp6dGNibHh1SUNCQWFHbGtaR1Z1S0NsY2JpQWdRR2x1Y0hWMEtIc2dhR0Z1Wkd4bE9pQmNJbVJoZEdGY0lpQjlLVnh1SUNCa1lYUmhQem9nZFc1cmJtOTNianRjYm4xY2JseHVRRzV2WkdVb1hDSmpiM0psTG1ac2IzY3VZMjlrWlZ3aUxDQjdYRzRnSUd0cGJtUTZJRndpWTI5eVpTNW1iRzkzTG1OdlpHVmNJaXhjYmlBZ1kyRjBaV2R2Y25rNklGd2lWWFJwYkdsMGVWd2lMRnh1SUNCamIyeHZjam9nWENJak4yTXpZV1ZrWENJc1hHNGdJR2xqYjI0NklGd2lkR2t0WTI5a1pWd2lMRnh1SUNCM2FXUjBhRG9nT1RZc1hHNGdJR2hsYVdkb2REb2dPVFlzWEc0Z0lHeGhZbVZzY3pvZ1cxd2labXh2ZDF3aUxDQmNJbU52WkdWY0lpd2dYQ0p6WVc1a1ltOTRYQ0lzSUZ3aWRISmhibk5tYjNKdFhDSmRMRnh1SUNCdFpYUmhaR0YwWVRvZ2UxeHVJQ0FnSUhScGRHeGxPaUJjSWtOdlpHVmNJaXhjYmlBZ0lDQmtaWE5qY21sd2RHbHZiam9nWENKU2RXNXpJSFZ6WlhJdFlYVjBhRzl5WldRZ1NsTXZWRk1nYVc0Z1lTQnlaWE4wY21samRHVmtJRlpOSUhOaGJtUmliM2d1SUZOMWNIQnZjblJ6SUhCc1lXTmxhRzlzWkdWeUlITjViblJoZUNCbWIzSWdkMjl5YTJac2IzY2daR0YwWVNCeVpXWmxjbVZ1WTJWekxsd2lMRnh1SUNBZ0lIUnBiV1Z2ZFhSTmN6b2dNVEF3TUN4Y2JpQWdmU3hjYm4wcFhHNUFiVzlrWld3b0tWeHVaWGh3YjNKMElHTnNZWE56SUVOdlpHVkdiRzkzVG05a1pTQmxlSFJsYm1SeklFMXZaR1ZzSUh0Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FHbHVjSFYwS0hzZ2FHRnVaR3hsT2lCY0ltbHVjSFYwWENJc0lHMXZaR1ZzT2lCRGIyUmxTVzV3ZFhSVFkyaGxiV0VnZlNsY2JpQWdhVzV3ZFhRaE9pQkRiMlJsU1c1d2RYUlRZMmhsYldFN1hHNWNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRRzkxZEhCMWRDaDdJR2hoYm1Sc1pUb2dYQ0p5WlhOMWJIUmNJaUI5S1Z4dUlDQnlaWE4xYkhRaE9pQjFibXR1YjNkdU8xeHVmVnh1SWwxOSJdfQ==
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DelayFlowNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/utility/delay
20
+ * @summary Delay utility node declaration (DECAF-32 §22.2.2).
21
+ * @description Delay — pauses execution for a configured duration.
22
+ */
23
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
24
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
25
+ const decorators_js_2 = require("./../../decorators.cjs");
26
+ // Ensure category styles are registered (idempotent).
27
+ require("./../category-styles.cjs");
28
+ let DelayFlowNode = class DelayFlowNode extends decorator_validation_1.Model {
29
+ };
30
+ exports.DelayFlowNode = DelayFlowNode;
31
+ __decorate([
32
+ (0, decorator_validation_1.required)(),
33
+ (0, decorators_js_1.uielement)("textarea", { label: "Input value", placeholder: "Value to forward after delay" }),
34
+ (0, decorators_js_2.input)({ handle: "value" }),
35
+ __metadata("design:type", Object)
36
+ ], DelayFlowNode.prototype, "value", void 0);
37
+ __decorate([
38
+ (0, decorator_validation_1.required)(),
39
+ (0, decorators_js_1.uielement)("input", { label: "Output value", placeholder: "Forwarded value" }),
40
+ (0, decorators_js_2.output)({ handle: "value" }),
41
+ __metadata("design:type", Object)
42
+ ], DelayFlowNode.prototype, "valueOut", void 0);
43
+ exports.DelayFlowNode = DelayFlowNode = __decorate([
44
+ (0, decorators_js_2.node)("core.flow.delay", {
45
+ kind: "core.flow.delay",
46
+ category: "Utility",
47
+ color: "#a3a3a3",
48
+ icon: "ti-clock-hour-4",
49
+ width: 96,
50
+ height: 96,
51
+ labels: ["flow", "delay", "wait"],
52
+ metadata: {
53
+ title: "Delay",
54
+ description: "Pauses execution for the configured duration (in milliseconds), then forwards the input unchanged.",
55
+ durationMs: 1000,
56
+ },
57
+ }),
58
+ (0, decorator_validation_1.model)()
59
+ ], DelayFlowNode);
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvdXRpbGl0eS9kZWxheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQ0FBK0I7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLDhCQUF5QjtBQUV2RCxzREFBc0Q7QUFDdEQsaUNBQTRCO0FBaUJyQixJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsS0FBSztDQVV2QyxDQUFBO0FBTkM7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsOEJBQThCLEVBQUUsQ0FBQztJQUM1RixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7OzRDQUNYO0FBS2hCO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLENBQUM7SUFDN0UsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDOzsrQ0FDVDtBQVRSLGFBQWE7SUFmekIsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQ3ZCLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDakMsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLE9BQU87WUFDZCxXQUFXLEVBQUUsb0dBQW9HO1lBQ2pILFVBQVUsRUFBRSxJQUFJO1NBQ2pCO0tBQ0YsQ0FBQztJQUNELEtBQUssRUFBRTtHQUNLLGFBQWEsQ0FVekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgdWktZGVjb3JhdG9ycy9ncmFwaC9ub2Rlcy91dGlsaXR5L2RlbGF5XG4gKiBAc3VtbWFyeSBEZWxheSB1dGlsaXR5IG5vZGUgZGVjbGFyYXRpb24gKERFQ0FGLTMyIMKnMjIuMi4yKS5cbiAqIEBkZXNjcmlwdGlvbiBEZWxheSDigJQgcGF1c2VzIGV4ZWN1dGlvbiBmb3IgYSBjb25maWd1cmVkIGR1cmF0aW9uLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIi4uLy4uLy4uL3VpL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IGlucHV0LCBub2RlLCBvdXRwdXQgfSBmcm9tIFwiLi4vLi4vZGVjb3JhdG9yc1wiO1xuXG4vLyBFbnN1cmUgY2F0ZWdvcnkgc3R5bGVzIGFyZSByZWdpc3RlcmVkIChpZGVtcG90ZW50KS5cbmltcG9ydCBcIi4uL2NhdGVnb3J5LXN0eWxlc1wiO1xuXG5Abm9kZShcImNvcmUuZmxvdy5kZWxheVwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93LmRlbGF5XCIsXG4gIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgY29sb3I6IFwiI2EzYTNhM1wiLFxuICBpY29uOiBcInRpLWNsb2NrLWhvdXItNFwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcImRlbGF5XCIsIFwid2FpdFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJEZWxheVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlBhdXNlcyBleGVjdXRpb24gZm9yIHRoZSBjb25maWd1cmVkIGR1cmF0aW9uIChpbiBtaWxsaXNlY29uZHMpLCB0aGVuIGZvcndhcmRzIHRoZSBpbnB1dCB1bmNoYW5nZWQuXCIsXG4gICAgZHVyYXRpb25NczogMTAwMCxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIERlbGF5Rmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIGZvcndhcmQgYWZ0ZXIgZGVsYXlcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiT3V0cHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIkZvcndhcmRlZCB2YWx1ZVwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZU91dCE6IHVua25vd247XG59XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkZWxheS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsSixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBQ0YsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDeEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdHLENBQUMsQ0FBQztBQUNGOzs7O0dBSUc7QUFDSCx5RUFBd0U7QUFDeEUsK0RBQXdEO0FBQ3hELHlEQUE0RDtBQUM1RCxzREFBc0Q7QUFDdEQsbUNBQWlDO0FBQ2pDLElBQUksYUFBYSxHQUFHLE1BQU0sYUFBYyxTQUFRLDRCQUFLO0NBQ3BELENBQUM7QUE4Qk8sc0NBQWE7QUE3QnRCLFVBQVUsQ0FBQztJQUNQLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEseUJBQVMsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSw4QkFBOEIsRUFBRSxDQUFDO0lBQzVGLElBQUEscUJBQUssRUFBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUMxQixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLGFBQWEsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDN0MsVUFBVSxDQUFDO0lBQ1AsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSx5QkFBUyxFQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLENBQUM7SUFDN0UsSUFBQSxzQkFBTSxFQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzNCLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsYUFBYSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNoRCx3QkFBQSxhQUFhLEdBQUcsVUFBVSxDQUFDO0lBQ3ZCLElBQUEsb0JBQUksRUFBQyxpQkFBaUIsRUFBRTtRQUNwQixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRTtRQUNWLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQ2pDLFFBQVEsRUFBRTtZQUNOLEtBQUssRUFBRSxPQUFPO1lBQ2QsV0FBVyxFQUFFLG9HQUFvRztZQUNqSCxVQUFVLEVBQUUsSUFBSTtTQUNuQjtLQUNKLENBQUM7SUFDRixJQUFBLDRCQUFLLEdBQUU7Q0FDVixFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBRWxCLDhrR0FBOGtHIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xudmFyIF9fbWV0YWRhdGEgPSAodGhpcyAmJiB0aGlzLl9fbWV0YWRhdGEpIHx8IGZ1bmN0aW9uIChrLCB2KSB7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKGssIHYpO1xufTtcbi8qKlxuICogQG1vZHVsZSB1aS1kZWNvcmF0b3JzL2dyYXBoL25vZGVzL3V0aWxpdHkvZGVsYXlcbiAqIEBzdW1tYXJ5IERlbGF5IHV0aWxpdHkgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIERlbGF5IOKAlCBwYXVzZXMgZXhlY3V0aW9uIGZvciBhIGNvbmZpZ3VyZWQgZHVyYXRpb24uXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiLi8uLi8uLi8uLi91aS9kZWNvcmF0b3JzLmpzXCI7XG5pbXBvcnQgeyBpbnB1dCwgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIi4vLi4vLi4vZGVjb3JhdG9ycy5qc1wiO1xuLy8gRW5zdXJlIGNhdGVnb3J5IHN0eWxlcyBhcmUgcmVnaXN0ZXJlZCAoaWRlbXBvdGVudCkuXG5pbXBvcnQgXCIuLy4uL2NhdGVnb3J5LXN0eWxlcy5qc1wiO1xubGV0IERlbGF5Rmxvd05vZGUgPSBjbGFzcyBEZWxheUZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBmb3J3YXJkIGFmdGVyIGRlbGF5XCIgfSksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgRGVsYXlGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJPdXRwdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiRm9yd2FyZGVkIHZhbHVlXCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIERlbGF5Rmxvd05vZGUucHJvdG90eXBlLCBcInZhbHVlT3V0XCIsIHZvaWQgMCk7XG5EZWxheUZsb3dOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUuZmxvdy5kZWxheVwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS5mbG93LmRlbGF5XCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgICAgICAgY29sb3I6IFwiI2EzYTNhM1wiLFxuICAgICAgICBpY29uOiBcInRpLWNsb2NrLWhvdXItNFwiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcImRlbGF5XCIsIFwid2FpdFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIkRlbGF5XCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJQYXVzZXMgZXhlY3V0aW9uIGZvciB0aGUgY29uZmlndXJlZCBkdXJhdGlvbiAoaW4gbWlsbGlzZWNvbmRzKSwgdGhlbiBmb3J3YXJkcyB0aGUgaW5wdXQgdW5jaGFuZ2VkLlwiLFxuICAgICAgICAgICAgZHVyYXRpb25NczogMTAwMCxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBEZWxheUZsb3dOb2RlKTtcbmV4cG9ydCB7IERlbGF5Rmxvd05vZGUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVpHVnNZWGt1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZaM0poY0dndmJtOWtaWE12ZFhScGJHbDBlUzlrWld4aGVTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lPenM3T3pzN096czdRVUZCUVRzN096dEhRVWxITzBGQlEwZ3NUMEZCVHl4RlFVRkZMRXRCUVVzc1JVRkJSU3hMUVVGTExFVkJRVVVzVVVGQlVTeEZRVUZGTEUxQlFVMHNaME5CUVdkRExFTkJRVU03UVVGRGVFVXNUMEZCVHl4RlFVRkZMRk5CUVZNc1JVRkJSU3h2UTBGQkswSTdRVUZEYmtRc1QwRkJUeXhGUVVGRkxFdEJRVXNzUlVGQlJTeEpRVUZKTEVWQlFVVXNUVUZCVFN4RlFVRkZMRGhDUVVGNVFqdEJRVVYyUkN4elJFRkJjMFE3UVVGRGRFUXNhVU5CUVRSQ08wRkJhVUp5UWl4SlFVRk5MR0ZCUVdFc1IwRkJia0lzVFVGQlRTeGhRVUZqTEZOQlFWRXNTMEZCU3p0RFFWVjJReXhEUVVGQk8wRkJUa003U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEdGQlFXRXNSVUZCUlN4WFFVRlhMRVZCUVVVc09FSkJRVGhDTEVWQlFVVXNRMEZCUXp0SlFVTTFSaXhMUVVGTExFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRU5CUVVNN096UkRRVU5ZTzBGQlMyaENPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEU5QlFVOHNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hqUVVGakxFVkJRVVVzVjBGQlZ5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxFTkJRVU03U1VGRE4wVXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxFOUJRVThzUlVGQlJTeERRVUZET3pzclEwRkRWRHRCUVZSU0xHRkJRV0U3U1VGbWVrSXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTzFGQlEzWkNMRWxCUVVrc1JVRkJSU3hwUWtGQmFVSTdVVUZEZGtJc1VVRkJVU3hGUVVGRkxGTkJRVk03VVVGRGJrSXNTMEZCU3l4RlFVRkZMRk5CUVZNN1VVRkRhRUlzU1VGQlNTeEZRVUZGTEdsQ1FVRnBRanRSUVVOMlFpeExRVUZMTEVWQlFVVXNSVUZCUlR0UlFVTlVMRTFCUVUwc1JVRkJSU3hGUVVGRk8xRkJRMVlzVFVGQlRTeEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFTkJRVU03VVVGRGFrTXNVVUZCVVN4RlFVRkZPMWxCUTFJc1MwRkJTeXhGUVVGRkxFOUJRVTg3V1VGRFpDeFhRVUZYTEVWQlFVVXNiMGRCUVc5SE8xbEJRMnBJTEZWQlFWVXNSVUZCUlN4SlFVRkpPMU5CUTJwQ08wdEJRMFlzUTBGQlF6dEpRVU5FTEV0QlFVc3NSVUZCUlR0SFFVTkxMR0ZCUVdFc1EwRlZla0lpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnZFdrdFpHVmpiM0poZEc5eWN5OW5jbUZ3YUM5dWIyUmxjeTkxZEdsc2FYUjVMMlJsYkdGNVhHNGdLaUJBYzNWdGJXRnllU0JFWld4aGVTQjFkR2xzYVhSNUlHNXZaR1VnWkdWamJHRnlZWFJwYjI0Z0tFUkZRMEZHTFRNeUlNS25Nakl1TWk0eUtTNWNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQkVaV3hoZVNEaWdKUWdjR0YxYzJWeklHVjRaV04xZEdsdmJpQm1iM0lnWVNCamIyNW1hV2QxY21Wa0lHUjFjbUYwYVc5dUxseHVJQ292WEc1cGJYQnZjblFnZXlCTmIyUmxiQ3dnYlc5a1pXd3NJSEpsY1hWcGNtVmtJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWldOdmNtRjBiM0l0ZG1Gc2FXUmhkR2x2Ymx3aU8xeHVhVzF3YjNKMElIc2dkV2xsYkdWdFpXNTBJSDBnWm5KdmJTQmNJaTR1THk0dUx5NHVMM1ZwTDJSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJR2x1Y0hWMExDQnViMlJsTENCdmRYUndkWFFnZlNCbWNtOXRJRndpTGk0dkxpNHZaR1ZqYjNKaGRHOXljMXdpTzF4dVhHNHZMeUJGYm5OMWNtVWdZMkYwWldkdmNua2djM1I1YkdWeklHRnlaU0J5WldkcGMzUmxjbVZrSUNocFpHVnRjRzkwWlc1MEtTNWNibWx0Y0c5eWRDQmNJaTR1TDJOaGRHVm5iM0o1TFhOMGVXeGxjMXdpTzF4dVhHNUFibTlrWlNoY0ltTnZjbVV1Wm14dmR5NWtaV3hoZVZ3aUxDQjdYRzRnSUd0cGJtUTZJRndpWTI5eVpTNW1iRzkzTG1SbGJHRjVYQ0lzWEc0Z0lHTmhkR1ZuYjNKNU9pQmNJbFYwYVd4cGRIbGNJaXhjYmlBZ1kyOXNiM0k2SUZ3aUkyRXpZVE5oTTF3aUxGeHVJQ0JwWTI5dU9pQmNJblJwTFdOc2IyTnJMV2h2ZFhJdE5Gd2lMRnh1SUNCM2FXUjBhRG9nT1RZc1hHNGdJR2hsYVdkb2REb2dPVFlzWEc0Z0lHeGhZbVZzY3pvZ1cxd2labXh2ZDF3aUxDQmNJbVJsYkdGNVhDSXNJRndpZDJGcGRGd2lYU3hjYmlBZ2JXVjBZV1JoZEdFNklIdGNiaUFnSUNCMGFYUnNaVG9nWENKRVpXeGhlVndpTEZ4dUlDQWdJR1JsYzJOeWFYQjBhVzl1T2lCY0lsQmhkWE5sY3lCbGVHVmpkWFJwYjI0Z1ptOXlJSFJvWlNCamIyNW1hV2QxY21Wa0lHUjFjbUYwYVc5dUlDaHBiaUJ0YVd4c2FYTmxZMjl1WkhNcExDQjBhR1Z1SUdadmNuZGhjbVJ6SUhSb1pTQnBibkIxZENCMWJtTm9ZVzVuWldRdVhDSXNYRzRnSUNBZ1pIVnlZWFJwYjI1TmN6b2dNVEF3TUN4Y2JpQWdmU3hjYm4wcFhHNUFiVzlrWld3b0tWeHVaWGh3YjNKMElHTnNZWE56SUVSbGJHRjVSbXh2ZDA1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0owWlhoMFlYSmxZVndpTENCN0lHeGhZbVZzT2lCY0lrbHVjSFYwSUhaaGJIVmxYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJbFpoYkhWbElIUnZJR1p2Y25kaGNtUWdZV1owWlhJZ1pHVnNZWGxjSWlCOUtWeHVJQ0JBYVc1d2RYUW9leUJvWVc1a2JHVTZJRndpZG1Gc2RXVmNJaUI5S1Z4dUlDQjJZV3gxWlNFNklIVnVhMjV2ZDI0N1hHNWNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRSFZwWld4bGJXVnVkQ2hjSW1sdWNIVjBYQ0lzSUhzZ2JHRmlaV3c2SUZ3aVQzVjBjSFYwSUhaaGJIVmxYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJa1p2Y25kaGNtUmxaQ0IyWVd4MVpWd2lJSDBwWEc0Z0lFQnZkWFJ3ZFhRb2V5Qm9ZVzVrYkdVNklGd2lkbUZzZFdWY0lpQjlLVnh1SUNCMllXeDFaVTkxZENFNklIVnVhMjV2ZDI0N1hHNTlYRzRpWFgwPSJdfQ==
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LogFlowNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/utility/log
20
+ * @summary Log utility node declaration (DECAF-32 §22.2.2).
21
+ * @description Log — logs the input value and forwards it unchanged on the
22
+ * `logged` output port. Useful for debugging, audit trails, and
23
+ * discard/side-effect branches in a workflow.
24
+ */
25
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
26
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
27
+ const decorators_js_2 = require("./../../decorators.cjs");
28
+ // Ensure category styles are registered (idempotent).
29
+ require("./../category-styles.cjs");
30
+ let LogFlowNode = class LogFlowNode extends decorator_validation_1.Model {
31
+ };
32
+ exports.LogFlowNode = LogFlowNode;
33
+ __decorate([
34
+ (0, decorator_validation_1.required)(),
35
+ (0, decorators_js_1.uielement)("textarea", { label: "Input value", placeholder: "Value to log" }),
36
+ (0, decorators_js_2.input)({ handle: "value" }),
37
+ __metadata("design:type", Object)
38
+ ], LogFlowNode.prototype, "value", void 0);
39
+ __decorate([
40
+ (0, decorator_validation_1.required)(),
41
+ (0, decorators_js_1.uielement)("input", { label: "Logged value", placeholder: "Forwarded value" }),
42
+ (0, decorators_js_2.output)({ handle: "logged" }),
43
+ __metadata("design:type", Object)
44
+ ], LogFlowNode.prototype, "logged", void 0);
45
+ exports.LogFlowNode = LogFlowNode = __decorate([
46
+ (0, decorators_js_2.node)("core.flow.log", {
47
+ kind: "core.flow.log",
48
+ category: "Utility",
49
+ color: "#6366f1",
50
+ icon: "ti-terminal",
51
+ width: 96,
52
+ height: 96,
53
+ labels: ["flow", "log", "debug", "utility"],
54
+ metadata: {
55
+ title: "Log",
56
+ description: "Logs the input value to the execution logger and forwards it unchanged.",
57
+ },
58
+ }),
59
+ (0, decorator_validation_1.model)()
60
+ ], LogFlowNode);
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL25vZGVzL3V0aWxpdHkvbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7Ozs7R0FNRztBQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0NBQStCO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSw4QkFBeUI7QUFFdkQsc0RBQXNEO0FBQ3RELGlDQUE0QjtBQWdCckIsSUFBTSxXQUFXLEdBQWpCLE1BQU0sV0FBWSxTQUFRLEtBQUs7Q0FVckMsQ0FBQTtBQU5DO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDO0lBQzVFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQzs7MENBQ1g7QUFLaEI7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztJQUM3RSxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7OzJDQUNaO0FBVE4sV0FBVztJQWR2QixJQUFJLENBQUMsZUFBZSxFQUFFO1FBQ3JCLElBQUksRUFBRSxlQUFlO1FBQ3JCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxhQUFhO1FBQ25CLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUM7UUFDM0MsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLEtBQUs7WUFDWixXQUFXLEVBQUUseUVBQXlFO1NBQ3ZGO0tBQ0YsQ0FBQztJQUNELEtBQUssRUFBRTtHQUNLLFdBQVcsQ0FVdkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgdWktZGVjb3JhdG9ycy9ncmFwaC9ub2Rlcy91dGlsaXR5L2xvZ1xuICogQHN1bW1hcnkgTG9nIHV0aWxpdHkgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIExvZyDigJQgbG9ncyB0aGUgaW5wdXQgdmFsdWUgYW5kIGZvcndhcmRzIGl0IHVuY2hhbmdlZCBvbiB0aGVcbiAqIGBsb2dnZWRgIG91dHB1dCBwb3J0LiBVc2VmdWwgZm9yIGRlYnVnZ2luZywgYXVkaXQgdHJhaWxzLCBhbmRcbiAqIGRpc2NhcmQvc2lkZS1lZmZlY3QgYnJhbmNoZXMgaW4gYSB3b3JrZmxvdy5cbiAqL1xuaW1wb3J0IHsgTW9kZWwsIG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHVpZWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi91aS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBpbnB1dCwgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIi4uLy4uL2RlY29yYXRvcnNcIjtcblxuLy8gRW5zdXJlIGNhdGVnb3J5IHN0eWxlcyBhcmUgcmVnaXN0ZXJlZCAoaWRlbXBvdGVudCkuXG5pbXBvcnQgXCIuLi9jYXRlZ29yeS1zdHlsZXNcIjtcblxuQG5vZGUoXCJjb3JlLmZsb3cubG9nXCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cubG9nXCIsXG4gIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgY29sb3I6IFwiIzYzNjZmMVwiLFxuICBpY29uOiBcInRpLXRlcm1pbmFsXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwibG9nXCIsIFwiZGVidWdcIiwgXCJ1dGlsaXR5XCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkxvZ1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkxvZ3MgdGhlIGlucHV0IHZhbHVlIHRvIHRoZSBleGVjdXRpb24gbG9nZ2VyIGFuZCBmb3J3YXJkcyBpdCB1bmNoYW5nZWQuXCIsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBMb2dGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gbG9nXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIkxvZ2dlZCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJGb3J3YXJkZWQgdmFsdWVcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcImxvZ2dlZFwiIH0pXG4gIGxvZ2dlZCE6IHVua25vd247XG59XG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibG9nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xKLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFDRixJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUN4RCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0csQ0FBQyxDQUFDO0FBQ0Y7Ozs7OztHQU1HO0FBQ0gseUVBQXdFO0FBQ3hFLCtEQUF3RDtBQUN4RCx5REFBNEQ7QUFDNUQsc0RBQXNEO0FBQ3RELG1DQUFpQztBQUNqQyxJQUFJLFdBQVcsR0FBRyxNQUFNLFdBQVksU0FBUSw0QkFBSztDQUNoRCxDQUFDO0FBNkJPLGtDQUFXO0FBNUJwQixVQUFVLENBQUM7SUFDUCxJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHlCQUFTLEVBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLENBQUM7SUFDNUUsSUFBQSxxQkFBSyxFQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzFCLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsV0FBVyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMzQyxVQUFVLENBQUM7SUFDUCxJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHlCQUFTLEVBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztJQUM3RSxJQUFBLHNCQUFNLEVBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDNUIsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxXQUFXLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzVDLHNCQUFBLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDckIsSUFBQSxvQkFBSSxFQUFDLGVBQWUsRUFBRTtRQUNsQixJQUFJLEVBQUUsZUFBZTtRQUNyQixRQUFRLEVBQUUsU0FBUztRQUNuQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsYUFBYTtRQUNuQixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUFDO1FBQzNDLFFBQVEsRUFBRTtZQUNOLEtBQUssRUFBRSxLQUFLO1lBQ1osV0FBVyxFQUFFLHlFQUF5RTtTQUN6RjtLQUNKLENBQUM7SUFDRixJQUFBLDRCQUFLLEdBQUU7Q0FDVixFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRWhCLHNuR0FBc25HIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xudmFyIF9fbWV0YWRhdGEgPSAodGhpcyAmJiB0aGlzLl9fbWV0YWRhdGEpIHx8IGZ1bmN0aW9uIChrLCB2KSB7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKGssIHYpO1xufTtcbi8qKlxuICogQG1vZHVsZSB1aS1kZWNvcmF0b3JzL2dyYXBoL25vZGVzL3V0aWxpdHkvbG9nXG4gKiBAc3VtbWFyeSBMb2cgdXRpbGl0eSBub2RlIGRlY2xhcmF0aW9uIChERUNBRi0zMiDCpzIyLjIuMikuXG4gKiBAZGVzY3JpcHRpb24gTG9nIOKAlCBsb2dzIHRoZSBpbnB1dCB2YWx1ZSBhbmQgZm9yd2FyZHMgaXQgdW5jaGFuZ2VkIG9uIHRoZVxuICogYGxvZ2dlZGAgb3V0cHV0IHBvcnQuIFVzZWZ1bCBmb3IgZGVidWdnaW5nLCBhdWRpdCB0cmFpbHMsIGFuZFxuICogZGlzY2FyZC9zaWRlLWVmZmVjdCBicmFuY2hlcyBpbiBhIHdvcmtmbG93LlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIi4vLi4vLi4vLi4vdWkvZGVjb3JhdG9ycy5qc1wiO1xuaW1wb3J0IHsgaW5wdXQsIG5vZGUsIG91dHB1dCB9IGZyb20gXCIuLy4uLy4uL2RlY29yYXRvcnMuanNcIjtcbi8vIEVuc3VyZSBjYXRlZ29yeSBzdHlsZXMgYXJlIHJlZ2lzdGVyZWQgKGlkZW1wb3RlbnQpLlxuaW1wb3J0IFwiLi8uLi9jYXRlZ29yeS1zdHlsZXMuanNcIjtcbmxldCBMb2dGbG93Tm9kZSA9IGNsYXNzIExvZ0Zsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBsb2dcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBMb2dGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJMb2dnZWQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiRm9yd2FyZGVkIHZhbHVlXCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcImxvZ2dlZFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBMb2dGbG93Tm9kZS5wcm90b3R5cGUsIFwibG9nZ2VkXCIsIHZvaWQgMCk7XG5Mb2dGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cubG9nXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cubG9nXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgICAgICAgY29sb3I6IFwiIzYzNjZmMVwiLFxuICAgICAgICBpY29uOiBcInRpLXRlcm1pbmFsXCIsXG4gICAgICAgIHdpZHRoOiA5NixcbiAgICAgICAgaGVpZ2h0OiA5NixcbiAgICAgICAgbGFiZWxzOiBbXCJmbG93XCIsIFwibG9nXCIsIFwiZGVidWdcIiwgXCJ1dGlsaXR5XCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiTG9nXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJMb2dzIHRoZSBpbnB1dCB2YWx1ZSB0byB0aGUgZXhlY3V0aW9uIGxvZ2dlciBhbmQgZm9yd2FyZHMgaXQgdW5jaGFuZ2VkLlwiLFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIExvZ0Zsb3dOb2RlKTtcbmV4cG9ydCB7IExvZ0Zsb3dOb2RlIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2liRzluTG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2TGk0dmMzSmpMMmR5WVhCb0wyNXZaR1Z6TDNWMGFXeHBkSGt2Ykc5bkxuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSTdPenM3T3pzN096dEJRVUZCT3pzN096czdSMEZOUnp0QlFVTklMRTlCUVU4c1JVRkJSU3hMUVVGTExFVkJRVVVzUzBGQlN5eEZRVUZGTEZGQlFWRXNSVUZCUlN4TlFVRk5MR2REUVVGblF5eERRVUZETzBGQlEzaEZMRTlCUVU4c1JVRkJSU3hUUVVGVExFVkJRVVVzYjBOQlFTdENPMEZCUTI1RUxFOUJRVThzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3c0UWtGQmVVSTdRVUZGZGtRc2MwUkJRWE5FTzBGQlEzUkVMR2xEUVVFMFFqdEJRV2RDY2tJc1NVRkJUU3hYUVVGWExFZEJRV3BDTEUxQlFVMHNWMEZCV1N4VFFVRlJMRXRCUVVzN1EwRlZja01zUTBGQlFUdEJRVTVETzBsQlNFTXNVVUZCVVN4RlFVRkZPMGxCUTFZc1UwRkJVeXhEUVVGRExGVkJRVlVzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4aFFVRmhMRVZCUVVVc1YwRkJWeXhGUVVGRkxHTkJRV01zUlVGQlJTeERRVUZETzBsQlF6VkZMRXRCUVVzc1EwRkJReXhGUVVGRkxFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNRMEZCUXpzN01FTkJRMWc3UVVGTGFFSTdTVUZJUXl4UlFVRlJMRVZCUVVVN1NVRkRWaXhUUVVGVExFTkJRVU1zVDBGQlR5eEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMR05CUVdNc1JVRkJSU3hYUVVGWExFVkJRVVVzYVVKQlFXbENMRVZCUVVVc1EwRkJRenRKUVVNM1JTeE5RVUZOTEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1VVRkJVU3hGUVVGRkxFTkJRVU03T3pKRFFVTmFPMEZCVkU0c1YwRkJWenRKUVdSMlFpeEpRVUZKTEVOQlFVTXNaVUZCWlN4RlFVRkZPMUZCUTNKQ0xFbEJRVWtzUlVGQlJTeGxRVUZsTzFGQlEzSkNMRkZCUVZFc1JVRkJSU3hUUVVGVE8xRkJRMjVDTEV0QlFVc3NSVUZCUlN4VFFVRlRPMUZCUTJoQ0xFbEJRVWtzUlVGQlJTeGhRVUZoTzFGQlEyNUNMRXRCUVVzc1JVRkJSU3hGUVVGRk8xRkJRMVFzVFVGQlRTeEZRVUZGTEVWQlFVVTdVVUZEVml4TlFVRk5MRVZCUVVVc1EwRkJReXhOUVVGTkxFVkJRVVVzUzBGQlN5eEZRVUZGTEU5QlFVOHNSVUZCUlN4VFFVRlRMRU5CUVVNN1VVRkRNME1zVVVGQlVTeEZRVUZGTzFsQlExSXNTMEZCU3l4RlFVRkZMRXRCUVVzN1dVRkRXaXhYUVVGWExFVkJRVVVzZVVWQlFYbEZPMU5CUTNaR08wdEJRMFlzUTBGQlF6dEpRVU5FTEV0QlFVc3NSVUZCUlR0SFFVTkxMRmRCUVZjc1EwRlZka0lpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnZFdrdFpHVmpiM0poZEc5eWN5OW5jbUZ3YUM5dWIyUmxjeTkxZEdsc2FYUjVMMnh2WjF4dUlDb2dRSE4xYlcxaGNua2dURzluSUhWMGFXeHBkSGtnYm05a1pTQmtaV05zWVhKaGRHbHZiaUFvUkVWRFFVWXRNeklnd3FjeU1pNHlMaklwTGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUV4dlp5RGlnSlFnYkc5bmN5QjBhR1VnYVc1d2RYUWdkbUZzZFdVZ1lXNWtJR1p2Y25kaGNtUnpJR2wwSUhWdVkyaGhibWRsWkNCdmJpQjBhR1ZjYmlBcUlHQnNiMmRuWldSZ0lHOTFkSEIxZENCd2IzSjBMaUJWYzJWbWRXd2dabTl5SUdSbFluVm5aMmx1Wnl3Z1lYVmthWFFnZEhKaGFXeHpMQ0JoYm1SY2JpQXFJR1JwYzJOaGNtUXZjMmxrWlMxbFptWmxZM1FnWW5KaGJtTm9aWE1nYVc0Z1lTQjNiM0pyWm14dmR5NWNiaUFxTDF4dWFXMXdiM0owSUhzZ1RXOWtaV3dzSUcxdlpHVnNMQ0J5WlhGMWFYSmxaQ0I5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdWamIzSmhkRzl5TFhaaGJHbGtZWFJwYjI1Y0lqdGNibWx0Y0c5eWRDQjdJSFZwWld4bGJXVnVkQ0I5SUdaeWIyMGdYQ0l1TGk4dUxpOHVMaTkxYVM5a1pXTnZjbUYwYjNKelhDSTdYRzVwYlhCdmNuUWdleUJwYm5CMWRDd2dibTlrWlN3Z2IzVjBjSFYwSUgwZ1puSnZiU0JjSWk0dUx5NHVMMlJsWTI5eVlYUnZjbk5jSWp0Y2JseHVMeThnUlc1emRYSmxJR05oZEdWbmIzSjVJSE4wZVd4bGN5QmhjbVVnY21WbmFYTjBaWEpsWkNBb2FXUmxiWEJ2ZEdWdWRDa3VYRzVwYlhCdmNuUWdYQ0l1TGk5allYUmxaMjl5ZVMxemRIbHNaWE5jSWp0Y2JseHVRRzV2WkdVb1hDSmpiM0psTG1ac2IzY3ViRzluWENJc0lIdGNiaUFnYTJsdVpEb2dYQ0pqYjNKbExtWnNiM2N1Ykc5blhDSXNYRzRnSUdOaGRHVm5iM0o1T2lCY0lsVjBhV3hwZEhsY0lpeGNiaUFnWTI5c2IzSTZJRndpSXpZek5qWm1NVndpTEZ4dUlDQnBZMjl1T2lCY0luUnBMWFJsY20xcGJtRnNYQ0lzWEc0Z0lIZHBaSFJvT2lBNU5peGNiaUFnYUdWcFoyaDBPaUE1Tml4Y2JpQWdiR0ZpWld4ek9pQmJYQ0ptYkc5M1hDSXNJRndpYkc5blhDSXNJRndpWkdWaWRXZGNJaXdnWENKMWRHbHNhWFI1WENKZExGeHVJQ0J0WlhSaFpHRjBZVG9nZTF4dUlDQWdJSFJwZEd4bE9pQmNJa3h2WjF3aUxGeHVJQ0FnSUdSbGMyTnlhWEIwYVc5dU9pQmNJa3h2WjNNZ2RHaGxJR2x1Y0hWMElIWmhiSFZsSUhSdklIUm9aU0JsZUdWamRYUnBiMjRnYkc5bloyVnlJR0Z1WkNCbWIzSjNZWEprY3lCcGRDQjFibU5vWVc1blpXUXVYQ0lzWEc0Z0lIMHNYRzU5S1Z4dVFHMXZaR1ZzS0NsY2JtVjRjRzl5ZENCamJHRnpjeUJNYjJkR2JHOTNUbTlrWlNCbGVIUmxibVJ6SUUxdlpHVnNJSHRjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUhWcFpXeGxiV1Z1ZENoY0luUmxlSFJoY21WaFhDSXNJSHNnYkdGaVpXdzZJRndpU1c1d2RYUWdkbUZzZFdWY0lpd2djR3hoWTJWb2IyeGtaWEk2SUZ3aVZtRnNkV1VnZEc4Z2JHOW5YQ0lnZlNsY2JpQWdRR2x1Y0hWMEtIc2dhR0Z1Wkd4bE9pQmNJblpoYkhWbFhDSWdmU2xjYmlBZ2RtRnNkV1VoT2lCMWJtdHViM2R1TzF4dVhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0pwYm5CMWRGd2lMQ0I3SUd4aFltVnNPaUJjSWt4dloyZGxaQ0IyWVd4MVpWd2lMQ0J3YkdGalpXaHZiR1JsY2pvZ1hDSkdiM0ozWVhKa1pXUWdkbUZzZFdWY0lpQjlLVnh1SUNCQWIzVjBjSFYwS0hzZ2FHRnVaR3hsT2lCY0lteHZaMmRsWkZ3aUlIMHBYRzRnSUd4dloyZGxaQ0U2SUhWdWEyNXZkMjQ3WEc1OVhHNGlYWDA9Il19
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MapFlowNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/utility/map
20
+ * @summary Map utility node declaration (DECAF-32 §22.2.2).
21
+ * @description Map — transforms the current input into a new output object.
22
+ */
23
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
24
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
25
+ const decorators_js_2 = require("./../../decorators.cjs");
26
+ // Ensure category styles are registered (idempotent).
27
+ require("./../category-styles.cjs");
28
+ let MapFlowNode = class MapFlowNode extends decorator_validation_1.Model {
29
+ };
30
+ exports.MapFlowNode = MapFlowNode;
31
+ __decorate([
32
+ (0, decorator_validation_1.required)(),
33
+ (0, decorators_js_1.uielement)("textarea", { label: "Input value", placeholder: "Value to transform" }),
34
+ (0, decorators_js_2.input)({ handle: "value" }),
35
+ __metadata("design:type", Object)
36
+ ], MapFlowNode.prototype, "value", void 0);
37
+ __decorate([
38
+ (0, decorator_validation_1.required)(),
39
+ (0, decorators_js_1.uielement)("input", { label: "Transformed output", placeholder: "Mapped result" }),
40
+ (0, decorators_js_2.output)({ handle: "result" }),
41
+ __metadata("design:type", Object)
42
+ ], MapFlowNode.prototype, "result", void 0);
43
+ exports.MapFlowNode = MapFlowNode = __decorate([
44
+ (0, decorators_js_2.node)("core.flow.map", {
45
+ kind: "core.flow.map",
46
+ category: "Utility",
47
+ color: "#84cc16",
48
+ icon: "ti-arrows-right-left",
49
+ width: 96,
50
+ height: 96,
51
+ labels: ["flow", "map", "transform"],
52
+ metadata: {
53
+ title: "Map",
54
+ description: "Transforms the current input into a new output object using the configured mapper.",
55
+ mapper: {},
56
+ },
57
+ }),
58
+ (0, decorator_validation_1.model)()
59
+ ], MapFlowNode);
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL25vZGVzL3V0aWxpdHkvbWFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9DQUErQjtBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsOEJBQXlCO0FBRXZELHNEQUFzRDtBQUN0RCxpQ0FBNEI7QUFpQnJCLElBQU0sV0FBVyxHQUFqQixNQUFNLFdBQVksU0FBUSxLQUFLO0NBVXJDLENBQUE7QUFOQztJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ2xGLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQzs7MENBQ1g7QUFLaEI7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsQ0FBQztJQUNqRixNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7OzJDQUNaO0FBVE4sV0FBVztJQWZ2QixJQUFJLENBQUMsZUFBZSxFQUFFO1FBQ3JCLElBQUksRUFBRSxlQUFlO1FBQ3JCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRTtRQUNWLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxDQUFDO1FBQ3BDLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxLQUFLO1lBQ1osV0FBVyxFQUFFLG9GQUFvRjtZQUNqRyxNQUFNLEVBQUUsRUFBRTtTQUNYO0tBQ0YsQ0FBQztJQUNELEtBQUssRUFBRTtHQUNLLFdBQVcsQ0FVdkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgdWktZGVjb3JhdG9ycy9ncmFwaC9ub2Rlcy91dGlsaXR5L21hcFxuICogQHN1bW1hcnkgTWFwIHV0aWxpdHkgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIE1hcCDigJQgdHJhbnNmb3JtcyB0aGUgY3VycmVudCBpbnB1dCBpbnRvIGEgbmV3IG91dHB1dCBvYmplY3QuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vdWkvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgaW5wdXQsIG5vZGUsIG91dHB1dCB9IGZyb20gXCIuLi8uLi9kZWNvcmF0b3JzXCI7XG5cbi8vIEVuc3VyZSBjYXRlZ29yeSBzdHlsZXMgYXJlIHJlZ2lzdGVyZWQgKGlkZW1wb3RlbnQpLlxuaW1wb3J0IFwiLi4vY2F0ZWdvcnktc3R5bGVzXCI7XG5cbkBub2RlKFwiY29yZS5mbG93Lm1hcFwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93Lm1hcFwiLFxuICBjYXRlZ29yeTogXCJVdGlsaXR5XCIsXG4gIGNvbG9yOiBcIiM4NGNjMTZcIixcbiAgaWNvbjogXCJ0aS1hcnJvd3MtcmlnaHQtbGVmdFwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcIm1hcFwiLCBcInRyYW5zZm9ybVwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJNYXBcIixcbiAgICBkZXNjcmlwdGlvbjogXCJUcmFuc2Zvcm1zIHRoZSBjdXJyZW50IGlucHV0IGludG8gYSBuZXcgb3V0cHV0IG9iamVjdCB1c2luZyB0aGUgY29uZmlndXJlZCBtYXBwZXIuXCIsXG4gICAgbWFwcGVyOiB7fSxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIE1hcEZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byB0cmFuc2Zvcm1cIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiVHJhbnNmb3JtZWQgb3V0cHV0XCIsIHBsYWNlaG9sZGVyOiBcIk1hcHBlZCByZXN1bHRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInJlc3VsdFwiIH0pXG4gIHJlc3VsdCE6IHVua25vd247XG59XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibWFwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xKLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFDRixJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUN4RCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0csQ0FBQyxDQUFDO0FBQ0Y7Ozs7R0FJRztBQUNILHlFQUF3RTtBQUN4RSwrREFBd0Q7QUFDeEQseURBQTREO0FBQzVELHNEQUFzRDtBQUN0RCxtQ0FBaUM7QUFDakMsSUFBSSxXQUFXLEdBQUcsTUFBTSxXQUFZLFNBQVEsNEJBQUs7Q0FDaEQsQ0FBQztBQThCTyxrQ0FBVztBQTdCcEIsVUFBVSxDQUFDO0lBQ1AsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSx5QkFBUyxFQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUM7SUFDbEYsSUFBQSxxQkFBSyxFQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzFCLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsV0FBVyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMzQyxVQUFVLENBQUM7SUFDUCxJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHlCQUFTLEVBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsQ0FBQztJQUNqRixJQUFBLHNCQUFNLEVBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDNUIsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxXQUFXLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzVDLHNCQUFBLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDckIsSUFBQSxvQkFBSSxFQUFDLGVBQWUsRUFBRTtRQUNsQixJQUFJLEVBQUUsZUFBZTtRQUNyQixRQUFRLEVBQUUsU0FBUztRQUNuQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsc0JBQXNCO1FBQzVCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLFdBQVcsQ0FBQztRQUNwQyxRQUFRLEVBQUU7WUFDTixLQUFLLEVBQUUsS0FBSztZQUNaLFdBQVcsRUFBRSxvRkFBb0Y7WUFDakcsTUFBTSxFQUFFLEVBQUU7U0FDYjtLQUNKLENBQUM7SUFDRixJQUFBLDRCQUFLLEdBQUU7Q0FDVixFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRWhCLGtpR0FBa2lHIiwic291cmNlc0NvbnRlbnQiOlsidmFyIF9fZGVjb3JhdGUgPSAodGhpcyAmJiB0aGlzLl9fZGVjb3JhdGUpIHx8IGZ1bmN0aW9uIChkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICAgIHZhciBjID0gYXJndW1lbnRzLmxlbmd0aCwgciA9IGMgPCAzID8gdGFyZ2V0IDogZGVzYyA9PT0gbnVsbCA/IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwga2V5KSA6IGRlc2MsIGQ7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0LmRlY29yYXRlID09PSBcImZ1bmN0aW9uXCIpIHIgPSBSZWZsZWN0LmRlY29yYXRlKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKTtcbiAgICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICAgIHJldHVybiBjID4gMyAmJiByICYmIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgciksIHI7XG59O1xudmFyIF9fbWV0YWRhdGEgPSAodGhpcyAmJiB0aGlzLl9fbWV0YWRhdGEpIHx8IGZ1bmN0aW9uIChrLCB2KSB7XG4gICAgaWYgKHR5cGVvZiBSZWZsZWN0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKGssIHYpO1xufTtcbi8qKlxuICogQG1vZHVsZSB1aS1kZWNvcmF0b3JzL2dyYXBoL25vZGVzL3V0aWxpdHkvbWFwXG4gKiBAc3VtbWFyeSBNYXAgdXRpbGl0eSBub2RlIGRlY2xhcmF0aW9uIChERUNBRi0zMiDCpzIyLjIuMikuXG4gKiBAZGVzY3JpcHRpb24gTWFwIOKAlCB0cmFuc2Zvcm1zIHRoZSBjdXJyZW50IGlucHV0IGludG8gYSBuZXcgb3V0cHV0IG9iamVjdC5cbiAqL1xuaW1wb3J0IHsgTW9kZWwsIG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHVpZWxlbWVudCB9IGZyb20gXCIuLy4uLy4uLy4uL3VpL2RlY29yYXRvcnMuanNcIjtcbmltcG9ydCB7IGlucHV0LCBub2RlLCBvdXRwdXQgfSBmcm9tIFwiLi8uLi8uLi9kZWNvcmF0b3JzLmpzXCI7XG4vLyBFbnN1cmUgY2F0ZWdvcnkgc3R5bGVzIGFyZSByZWdpc3RlcmVkIChpZGVtcG90ZW50KS5cbmltcG9ydCBcIi4vLi4vY2F0ZWdvcnktc3R5bGVzLmpzXCI7XG5sZXQgTWFwRmxvd05vZGUgPSBjbGFzcyBNYXBGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gdHJhbnNmb3JtXCIgfSksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgTWFwRmxvd05vZGUucHJvdG90eXBlLCBcInZhbHVlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiVHJhbnNmb3JtZWQgb3V0cHV0XCIsIHBsYWNlaG9sZGVyOiBcIk1hcHBlZCByZXN1bHRcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwicmVzdWx0XCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIE1hcEZsb3dOb2RlLnByb3RvdHlwZSwgXCJyZXN1bHRcIiwgdm9pZCAwKTtcbk1hcEZsb3dOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUuZmxvdy5tYXBcIiwge1xuICAgICAgICBraW5kOiBcImNvcmUuZmxvdy5tYXBcIixcbiAgICAgICAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICAgICAgICBjb2xvcjogXCIjODRjYzE2XCIsXG4gICAgICAgIGljb246IFwidGktYXJyb3dzLXJpZ2h0LWxlZnRcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcImZsb3dcIiwgXCJtYXBcIiwgXCJ0cmFuc2Zvcm1cIl0sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogXCJNYXBcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIlRyYW5zZm9ybXMgdGhlIGN1cnJlbnQgaW5wdXQgaW50byBhIG5ldyBvdXRwdXQgb2JqZWN0IHVzaW5nIHRoZSBjb25maWd1cmVkIG1hcHBlci5cIixcbiAgICAgICAgICAgIG1hcHBlcjoge30sXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgTWFwRmxvd05vZGUpO1xuZXhwb3J0IHsgTWFwRmxvd05vZGUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWJXRndMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZMaTR2YzNKakwyZHlZWEJvTDI1dlpHVnpMM1YwYVd4cGRIa3ZiV0Z3TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenM3T3p0QlFVRkJPenM3TzBkQlNVYzdRVUZEU0N4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRkxFdEJRVXNzUlVGQlJTeFJRVUZSTEVWQlFVVXNUVUZCVFN4blEwRkJaME1zUTBGQlF6dEJRVU40UlN4UFFVRlBMRVZCUVVVc1UwRkJVeXhGUVVGRkxHOURRVUVyUWp0QlFVTnVSQ3hQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRVZCUVVVc09FSkJRWGxDTzBGQlJYWkVMSE5FUVVGelJEdEJRVU4wUkN4cFEwRkJORUk3UVVGcFFuSkNMRWxCUVUwc1YwRkJWeXhIUVVGcVFpeE5RVUZOTEZkQlFWa3NVMEZCVVN4TFFVRkxPME5CVlhKRExFTkJRVUU3UVVGT1F6dEpRVWhETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhWUVVGVkxFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNZVUZCWVN4RlFVRkZMRmRCUVZjc1JVRkJSU3h2UWtGQmIwSXNSVUZCUlN4RFFVRkRPMGxCUTJ4R0xFdEJRVXNzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRVZCUVVVc1EwRkJRenM3TUVOQlExZzdRVUZMYUVJN1NVRklReXhSUVVGUkxFVkJRVVU3U1VGRFZpeFRRVUZUTEVOQlFVTXNUMEZCVHl4RlFVRkZMRVZCUVVVc1MwRkJTeXhGUVVGRkxHOUNRVUZ2UWl4RlFVRkZMRmRCUVZjc1JVRkJSU3hsUVVGbExFVkJRVVVzUTBGQlF6dEpRVU5xUml4TlFVRk5MRU5CUVVNc1JVRkJSU3hOUVVGTkxFVkJRVVVzVVVGQlVTeEZRVUZGTEVOQlFVTTdPekpEUVVOYU8wRkJWRTRzVjBGQlZ6dEpRV1oyUWl4SlFVRkpMRU5CUVVNc1pVRkJaU3hGUVVGRk8xRkJRM0pDTEVsQlFVa3NSVUZCUlN4bFFVRmxPMUZCUTNKQ0xGRkJRVkVzUlVGQlJTeFRRVUZUTzFGQlEyNUNMRXRCUVVzc1JVRkJSU3hUUVVGVE8xRkJRMmhDTEVsQlFVa3NSVUZCUlN4elFrRkJjMEk3VVVGRE5VSXNTMEZCU3l4RlFVRkZMRVZCUVVVN1VVRkRWQ3hOUVVGTkxFVkJRVVVzUlVGQlJUdFJRVU5XTEUxQlFVMHNSVUZCUlN4RFFVRkRMRTFCUVUwc1JVRkJSU3hMUVVGTExFVkJRVVVzVjBGQlZ5eERRVUZETzFGQlEzQkRMRkZCUVZFc1JVRkJSVHRaUVVOU0xFdEJRVXNzUlVGQlJTeExRVUZMTzFsQlExb3NWMEZCVnl4RlFVRkZMRzlHUVVGdlJqdFpRVU5xUnl4TlFVRk5MRVZCUVVVc1JVRkJSVHRUUVVOWU8wdEJRMFlzUTBGQlF6dEpRVU5FTEV0QlFVc3NSVUZCUlR0SFFVTkxMRmRCUVZjc1EwRlZka0lpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnZFdrdFpHVmpiM0poZEc5eWN5OW5jbUZ3YUM5dWIyUmxjeTkxZEdsc2FYUjVMMjFoY0Z4dUlDb2dRSE4xYlcxaGNua2dUV0Z3SUhWMGFXeHBkSGtnYm05a1pTQmtaV05zWVhKaGRHbHZiaUFvUkVWRFFVWXRNeklnd3FjeU1pNHlMaklwTGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUUxaGNDRGlnSlFnZEhKaGJuTm1iM0p0Y3lCMGFHVWdZM1Z5Y21WdWRDQnBibkIxZENCcGJuUnZJR0VnYm1WM0lHOTFkSEIxZENCdlltcGxZM1F1WEc0Z0tpOWNibWx0Y0c5eWRDQjdJRTF2WkdWc0xDQnRiMlJsYkN3Z2NtVnhkV2x5WldRZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmxZMjl5WVhSdmNpMTJZV3hwWkdGMGFXOXVYQ0k3WEc1cGJYQnZjblFnZXlCMWFXVnNaVzFsYm5RZ2ZTQm1jbTl0SUZ3aUxpNHZMaTR2TGk0dmRXa3ZaR1ZqYjNKaGRHOXljMXdpTzF4dWFXMXdiM0owSUhzZ2FXNXdkWFFzSUc1dlpHVXNJRzkxZEhCMWRDQjlJR1p5YjIwZ1hDSXVMaTh1TGk5a1pXTnZjbUYwYjNKelhDSTdYRzVjYmk4dklFVnVjM1Z5WlNCallYUmxaMjl5ZVNCemRIbHNaWE1nWVhKbElISmxaMmx6ZEdWeVpXUWdLR2xrWlcxd2IzUmxiblFwTGx4dWFXMXdiM0owSUZ3aUxpNHZZMkYwWldkdmNua3RjM1I1YkdWelhDSTdYRzVjYmtCdWIyUmxLRndpWTI5eVpTNW1iRzkzTG0xaGNGd2lMQ0I3WEc0Z0lHdHBibVE2SUZ3aVkyOXlaUzVtYkc5M0xtMWhjRndpTEZ4dUlDQmpZWFJsWjI5eWVUb2dYQ0pWZEdsc2FYUjVYQ0lzWEc0Z0lHTnZiRzl5T2lCY0lpTTROR05qTVRaY0lpeGNiaUFnYVdOdmJqb2dYQ0owYVMxaGNuSnZkM010Y21sbmFIUXRiR1ZtZEZ3aUxGeHVJQ0IzYVdSMGFEb2dPVFlzWEc0Z0lHaGxhV2RvZERvZ09UWXNYRzRnSUd4aFltVnNjem9nVzF3aVpteHZkMXdpTENCY0ltMWhjRndpTENCY0luUnlZVzV6Wm05eWJWd2lYU3hjYmlBZ2JXVjBZV1JoZEdFNklIdGNiaUFnSUNCMGFYUnNaVG9nWENKTllYQmNJaXhjYmlBZ0lDQmtaWE5qY21sd2RHbHZiam9nWENKVWNtRnVjMlp2Y20xeklIUm9aU0JqZFhKeVpXNTBJR2x1Y0hWMElHbHVkRzhnWVNCdVpYY2diM1YwY0hWMElHOWlhbVZqZENCMWMybHVaeUIwYUdVZ1kyOXVabWxuZFhKbFpDQnRZWEJ3WlhJdVhDSXNYRzRnSUNBZ2JXRndjR1Z5T2lCN2ZTeGNiaUFnZlN4Y2JuMHBYRzVBYlc5a1pXd29LVnh1Wlhod2IzSjBJR05zWVhOeklFMWhjRVpzYjNkT2IyUmxJR1Y0ZEdWdVpITWdUVzlrWld3Z2UxeHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFkV2xsYkdWdFpXNTBLRndpZEdWNGRHRnlaV0ZjSWl3Z2V5QnNZV0psYkRvZ1hDSkpibkIxZENCMllXeDFaVndpTENCd2JHRmpaV2h2YkdSbGNqb2dYQ0pXWVd4MVpTQjBieUIwY21GdWMyWnZjbTFjSWlCOUtWeHVJQ0JBYVc1d2RYUW9leUJvWVc1a2JHVTZJRndpZG1Gc2RXVmNJaUI5S1Z4dUlDQjJZV3gxWlNFNklIVnVhMjV2ZDI0N1hHNWNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRSFZwWld4bGJXVnVkQ2hjSW1sdWNIVjBYQ0lzSUhzZ2JHRmlaV3c2SUZ3aVZISmhibk5tYjNKdFpXUWdiM1YwY0hWMFhDSXNJSEJzWVdObGFHOXNaR1Z5T2lCY0lrMWhjSEJsWkNCeVpYTjFiSFJjSWlCOUtWeHVJQ0JBYjNWMGNIVjBLSHNnYUdGdVpHeGxPaUJjSW5KbGMzVnNkRndpSUgwcFhHNGdJSEpsYzNWc2RDRTZJSFZ1YTI1dmQyNDdYRzU5WEc0aVhYMD0iXX0=
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MergeFlowNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/utility/merge
20
+ * @summary Merge utility node declaration (DECAF-32 §22.2.2).
21
+ * @description Merge — normalises branch/parallel outputs into a single
22
+ * output.
23
+ */
24
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
25
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
26
+ const decorators_js_2 = require("./../../decorators.cjs");
27
+ // Ensure category styles are registered (idempotent).
28
+ require("./../category-styles.cjs");
29
+ let MergeFlowNode = class MergeFlowNode extends decorator_validation_1.Model {
30
+ };
31
+ exports.MergeFlowNode = MergeFlowNode;
32
+ __decorate([
33
+ (0, decorator_validation_1.required)(),
34
+ (0, decorators_js_1.uielement)("textarea", { label: "Branch outputs", placeholder: "Outputs to merge" }),
35
+ (0, decorators_js_2.input)({ handle: "values" }),
36
+ __metadata("design:type", Array)
37
+ ], MergeFlowNode.prototype, "values", void 0);
38
+ __decorate([
39
+ (0, decorator_validation_1.required)(),
40
+ (0, decorators_js_1.uielement)("input", { label: "Merged output", placeholder: "Merged result" }),
41
+ (0, decorators_js_2.output)({ handle: "merged" }),
42
+ __metadata("design:type", Object)
43
+ ], MergeFlowNode.prototype, "merged", void 0);
44
+ exports.MergeFlowNode = MergeFlowNode = __decorate([
45
+ (0, decorators_js_2.node)("core.flow.merge", {
46
+ kind: "core.flow.merge",
47
+ category: "Utility",
48
+ color: "#0d9488",
49
+ icon: "ti-arrows-merge",
50
+ width: 96,
51
+ height: 96,
52
+ labels: ["flow", "merge", "join"],
53
+ metadata: {
54
+ title: "Merge",
55
+ description: "Merges multiple branch outputs into a single normalised output object.",
56
+ strategy: "concat",
57
+ },
58
+ }),
59
+ (0, decorator_validation_1.model)()
60
+ ], MergeFlowNode);
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvdXRpbGl0eS9tZXJnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0NBQStCO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSw4QkFBeUI7QUFFdkQsc0RBQXNEO0FBQ3RELGlDQUE0QjtBQWlCckIsSUFBTSxhQUFhLEdBQW5CLE1BQU0sYUFBYyxTQUFRLEtBQUs7Q0FVdkMsQ0FBQTtBQU5DO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztJQUNuRixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7OzZDQUNUO0FBS25CO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxDQUFDO0lBQzVFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQzs7NkNBQ1o7QUFUTixhQUFhO0lBZnpCLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUN2QixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRTtRQUNWLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQ2pDLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxPQUFPO1lBQ2QsV0FBVyxFQUFFLHdFQUF3RTtZQUNyRixRQUFRLEVBQUUsUUFBUTtTQUNuQjtLQUNGLENBQUM7SUFDRCxLQUFLLEVBQUU7R0FDSyxhQUFhLENBVXpCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvdXRpbGl0eS9tZXJnZVxuICogQHN1bW1hcnkgTWVyZ2UgdXRpbGl0eSBub2RlIGRlY2xhcmF0aW9uIChERUNBRi0zMiDCpzIyLjIuMikuXG4gKiBAZGVzY3JpcHRpb24gTWVyZ2Ug4oCUIG5vcm1hbGlzZXMgYnJhbmNoL3BhcmFsbGVsIG91dHB1dHMgaW50byBhIHNpbmdsZVxuICogb3V0cHV0LlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIi4uLy4uLy4uL3VpL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IGlucHV0LCBub2RlLCBvdXRwdXQgfSBmcm9tIFwiLi4vLi4vZGVjb3JhdG9yc1wiO1xuXG4vLyBFbnN1cmUgY2F0ZWdvcnkgc3R5bGVzIGFyZSByZWdpc3RlcmVkIChpZGVtcG90ZW50KS5cbmltcG9ydCBcIi4uL2NhdGVnb3J5LXN0eWxlc1wiO1xuXG5Abm9kZShcImNvcmUuZmxvdy5tZXJnZVwiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93Lm1lcmdlXCIsXG4gIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgY29sb3I6IFwiIzBkOTQ4OFwiLFxuICBpY29uOiBcInRpLWFycm93cy1tZXJnZVwiLFxuICB3aWR0aDogOTYsXG4gIGhlaWdodDogOTYsXG4gIGxhYmVsczogW1wiZmxvd1wiLCBcIm1lcmdlXCIsIFwiam9pblwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJNZXJnZVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIk1lcmdlcyBtdWx0aXBsZSBicmFuY2ggb3V0cHV0cyBpbnRvIGEgc2luZ2xlIG5vcm1hbGlzZWQgb3V0cHV0IG9iamVjdC5cIixcbiAgICBzdHJhdGVneTogXCJjb25jYXRcIixcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIE1lcmdlRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIkJyYW5jaCBvdXRwdXRzXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dHMgdG8gbWVyZ2VcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVzXCIgfSlcbiAgdmFsdWVzITogdW5rbm93bltdO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIk1lcmdlZCBvdXRwdXRcIiwgcGxhY2Vob2xkZXI6IFwiTWVyZ2VkIHJlc3VsdFwiIH0pXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwibWVyZ2VkXCIgfSlcbiAgbWVyZ2VkITogdW5rbm93bjtcbn1cbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtZXJnZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsSixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBQ0YsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDeEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdHLENBQUMsQ0FBQztBQUNGOzs7OztHQUtHO0FBQ0gseUVBQXdFO0FBQ3hFLCtEQUF3RDtBQUN4RCx5REFBNEQ7QUFDNUQsc0RBQXNEO0FBQ3RELG1DQUFpQztBQUNqQyxJQUFJLGFBQWEsR0FBRyxNQUFNLGFBQWMsU0FBUSw0QkFBSztDQUNwRCxDQUFDO0FBOEJPLHNDQUFhO0FBN0J0QixVQUFVLENBQUM7SUFDUCxJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHlCQUFTLEVBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBQ25GLElBQUEscUJBQUssRUFBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUMzQixVQUFVLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQztDQUNuQyxFQUFFLGFBQWEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDOUMsVUFBVSxDQUFDO0lBQ1AsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSx5QkFBUyxFQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxDQUFDO0lBQzVFLElBQUEsc0JBQU0sRUFBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUM1QixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLGFBQWEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDOUMsd0JBQUEsYUFBYSxHQUFHLFVBQVUsQ0FBQztJQUN2QixJQUFBLG9CQUFJLEVBQUMsaUJBQWlCLEVBQUU7UUFDcEIsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixRQUFRLEVBQUUsU0FBUztRQUNuQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQztRQUNqQyxRQUFRLEVBQUU7WUFDTixLQUFLLEVBQUUsT0FBTztZQUNkLFdBQVcsRUFBRSx3RUFBd0U7WUFDckYsUUFBUSxFQUFFLFFBQVE7U0FDckI7S0FDSixDQUFDO0lBQ0YsSUFBQSw0QkFBSyxHQUFFO0NBQ1YsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUVsQiw4akdBQThqRyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG4vKipcbiAqIEBtb2R1bGUgdWktZGVjb3JhdG9ycy9ncmFwaC9ub2Rlcy91dGlsaXR5L21lcmdlXG4gKiBAc3VtbWFyeSBNZXJnZSB1dGlsaXR5IG5vZGUgZGVjbGFyYXRpb24gKERFQ0FGLTMyIMKnMjIuMi4yKS5cbiAqIEBkZXNjcmlwdGlvbiBNZXJnZSDigJQgbm9ybWFsaXNlcyBicmFuY2gvcGFyYWxsZWwgb3V0cHV0cyBpbnRvIGEgc2luZ2xlXG4gKiBvdXRwdXQuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiLi8uLi8uLi8uLi91aS9kZWNvcmF0b3JzLmpzXCI7XG5pbXBvcnQgeyBpbnB1dCwgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIi4vLi4vLi4vZGVjb3JhdG9ycy5qc1wiO1xuLy8gRW5zdXJlIGNhdGVnb3J5IHN0eWxlcyBhcmUgcmVnaXN0ZXJlZCAoaWRlbXBvdGVudCkuXG5pbXBvcnQgXCIuLy4uL2NhdGVnb3J5LXN0eWxlcy5qc1wiO1xubGV0IE1lcmdlRmxvd05vZGUgPSBjbGFzcyBNZXJnZUZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJCcmFuY2ggb3V0cHV0c1wiLCBwbGFjZWhvbGRlcjogXCJPdXRwdXRzIHRvIG1lcmdlXCIgfSksXG4gICAgaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVzXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEFycmF5KVxuXSwgTWVyZ2VGbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiTWVyZ2VkIG91dHB1dFwiLCBwbGFjZWhvbGRlcjogXCJNZXJnZWQgcmVzdWx0XCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcIm1lcmdlZFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBNZXJnZUZsb3dOb2RlLnByb3RvdHlwZSwgXCJtZXJnZWRcIiwgdm9pZCAwKTtcbk1lcmdlRmxvd05vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKFwiY29yZS5mbG93Lm1lcmdlXCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmZsb3cubWVyZ2VcIixcbiAgICAgICAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICAgICAgICBjb2xvcjogXCIjMGQ5NDg4XCIsXG4gICAgICAgIGljb246IFwidGktYXJyb3dzLW1lcmdlXCIsXG4gICAgICAgIHdpZHRoOiA5NixcbiAgICAgICAgaGVpZ2h0OiA5NixcbiAgICAgICAgbGFiZWxzOiBbXCJmbG93XCIsIFwibWVyZ2VcIiwgXCJqb2luXCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiTWVyZ2VcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIk1lcmdlcyBtdWx0aXBsZSBicmFuY2ggb3V0cHV0cyBpbnRvIGEgc2luZ2xlIG5vcm1hbGlzZWQgb3V0cHV0IG9iamVjdC5cIixcbiAgICAgICAgICAgIHN0cmF0ZWd5OiBcImNvbmNhdFwiLFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIE1lcmdlRmxvd05vZGUpO1xuZXhwb3J0IHsgTWVyZ2VGbG93Tm9kZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYldWeVoyVXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOHVMaTl6Y21NdlozSmhjR2d2Ym05a1pYTXZkWFJwYkdsMGVTOXRaWEpuWlM1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaU96czdPenM3T3pzN1FVRkJRVHM3T3pzN1IwRkxSenRCUVVOSUxFOUJRVThzUlVGQlJTeExRVUZMTEVWQlFVVXNTMEZCU3l4RlFVRkZMRkZCUVZFc1JVRkJSU3hOUVVGTkxHZERRVUZuUXl4RFFVRkRPMEZCUTNoRkxFOUJRVThzUlVGQlJTeFRRVUZUTEVWQlFVVXNiME5CUVN0Q08wRkJRMjVFTEU5QlFVOHNSVUZCUlN4TFFVRkxMRVZCUVVVc1NVRkJTU3hGUVVGRkxFMUJRVTBzUlVGQlJTdzRRa0ZCZVVJN1FVRkZka1FzYzBSQlFYTkVPMEZCUTNSRUxHbERRVUUwUWp0QlFXbENja0lzU1VGQlRTeGhRVUZoTEVkQlFXNUNMRTFCUVUwc1lVRkJZeXhUUVVGUkxFdEJRVXM3UTBGVmRrTXNRMEZCUVR0QlFVNURPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3huUWtGQlowSXNSVUZCUlN4WFFVRlhMRVZCUVVVc2EwSkJRV3RDTEVWQlFVVXNRMEZCUXp0SlFVTnVSaXhMUVVGTExFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNVVUZCVVN4RlFVRkZMRU5CUVVNN096WkRRVU5VTzBGQlMyNUNPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEU5QlFVOHNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hsUVVGbExFVkJRVVVzVjBGQlZ5eEZRVUZGTEdWQlFXVXNSVUZCUlN4RFFVRkRPMGxCUXpWRkxFMUJRVTBzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UlFVRlJMRVZCUVVVc1EwRkJRenM3TmtOQlExbzdRVUZVVGl4aFFVRmhPMGxCWm5wQ0xFbEJRVWtzUTBGQlF5eHBRa0ZCYVVJc1JVRkJSVHRSUVVOMlFpeEpRVUZKTEVWQlFVVXNhVUpCUVdsQ08xRkJRM1pDTEZGQlFWRXNSVUZCUlN4VFFVRlRPMUZCUTI1Q0xFdEJRVXNzUlVGQlJTeFRRVUZUTzFGQlEyaENMRWxCUVVrc1JVRkJSU3hwUWtGQmFVSTdVVUZEZGtJc1MwRkJTeXhGUVVGRkxFVkJRVVU3VVVGRFZDeE5RVUZOTEVWQlFVVXNSVUZCUlR0UlFVTldMRTFCUVUwc1JVRkJSU3hEUVVGRExFMUJRVTBzUlVGQlJTeFBRVUZQTEVWQlFVVXNUVUZCVFN4RFFVRkRPMUZCUTJwRExGRkJRVkVzUlVGQlJUdFpRVU5TTEV0QlFVc3NSVUZCUlN4UFFVRlBPMWxCUTJRc1YwRkJWeXhGUVVGRkxIZEZRVUYzUlR0WlFVTnlSaXhSUVVGUkxFVkJRVVVzVVVGQlVUdFRRVU51UWp0TFFVTkdMRU5CUVVNN1NVRkRSQ3hMUVVGTExFVkJRVVU3UjBGRFN5eGhRVUZoTEVOQlZYcENJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJSFZwTFdSbFkyOXlZWFJ2Y25NdlozSmhjR2d2Ym05a1pYTXZkWFJwYkdsMGVTOXRaWEpuWlZ4dUlDb2dRSE4xYlcxaGNua2dUV1Z5WjJVZ2RYUnBiR2wwZVNCdWIyUmxJR1JsWTJ4aGNtRjBhVzl1SUNoRVJVTkJSaTB6TWlEQ3B6SXlMakl1TWlrdVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1RXVnlaMlVnNG9DVUlHNXZjbTFoYkdselpYTWdZbkpoYm1Ob0wzQmhjbUZzYkdWc0lHOTFkSEIxZEhNZ2FXNTBieUJoSUhOcGJtZHNaVnh1SUNvZ2IzVjBjSFYwTGx4dUlDb3ZYRzVwYlhCdmNuUWdleUJOYjJSbGJDd2diVzlrWld3c0lISmxjWFZwY21Wa0lIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUhzZ2RXbGxiR1Z0Wlc1MElIMGdabkp2YlNCY0lpNHVMeTR1THk0dUwzVnBMMlJsWTI5eVlYUnZjbk5jSWp0Y2JtbHRjRzl5ZENCN0lHbHVjSFYwTENCdWIyUmxMQ0J2ZFhSd2RYUWdmU0JtY205dElGd2lMaTR2TGk0dlpHVmpiM0poZEc5eWMxd2lPMXh1WEc0dkx5QkZibk4xY21VZ1kyRjBaV2R2Y25rZ2MzUjViR1Z6SUdGeVpTQnlaV2RwYzNSbGNtVmtJQ2hwWkdWdGNHOTBaVzUwS1M1Y2JtbHRjRzl5ZENCY0lpNHVMMk5oZEdWbmIzSjVMWE4wZVd4bGMxd2lPMXh1WEc1QWJtOWtaU2hjSW1OdmNtVXVabXh2ZHk1dFpYSm5aVndpTENCN1hHNGdJR3RwYm1RNklGd2lZMjl5WlM1bWJHOTNMbTFsY21kbFhDSXNYRzRnSUdOaGRHVm5iM0o1T2lCY0lsVjBhV3hwZEhsY0lpeGNiaUFnWTI5c2IzSTZJRndpSXpCa09UUTRPRndpTEZ4dUlDQnBZMjl1T2lCY0luUnBMV0Z5Y205M2N5MXRaWEpuWlZ3aUxGeHVJQ0IzYVdSMGFEb2dPVFlzWEc0Z0lHaGxhV2RvZERvZ09UWXNYRzRnSUd4aFltVnNjem9nVzF3aVpteHZkMXdpTENCY0ltMWxjbWRsWENJc0lGd2lhbTlwYmx3aVhTeGNiaUFnYldWMFlXUmhkR0U2SUh0Y2JpQWdJQ0IwYVhSc1pUb2dYQ0pOWlhKblpWd2lMRnh1SUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJjSWsxbGNtZGxjeUJ0ZFd4MGFYQnNaU0JpY21GdVkyZ2diM1YwY0hWMGN5QnBiblJ2SUdFZ2MybHVaMnhsSUc1dmNtMWhiR2x6WldRZ2IzVjBjSFYwSUc5aWFtVmpkQzVjSWl4Y2JpQWdJQ0J6ZEhKaGRHVm5lVG9nWENKamIyNWpZWFJjSWl4Y2JpQWdmU3hjYm4wcFhHNUFiVzlrWld3b0tWeHVaWGh3YjNKMElHTnNZWE56SUUxbGNtZGxSbXh2ZDA1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0owWlhoMFlYSmxZVndpTENCN0lHeGhZbVZzT2lCY0lrSnlZVzVqYUNCdmRYUndkWFJ6WENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWs5MWRIQjFkSE1nZEc4Z2JXVnlaMlZjSWlCOUtWeHVJQ0JBYVc1d2RYUW9leUJvWVc1a2JHVTZJRndpZG1Gc2RXVnpYQ0lnZlNsY2JpQWdkbUZzZFdWeklUb2dkVzVyYm05M2JsdGRPMXh1WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSnBibkIxZEZ3aUxDQjdJR3hoWW1Wc09pQmNJazFsY21kbFpDQnZkWFJ3ZFhSY0lpd2djR3hoWTJWb2IyeGtaWEk2SUZ3aVRXVnlaMlZrSUhKbGMzVnNkRndpSUgwcFhHNGdJRUJ2ZFhSd2RYUW9leUJvWVc1a2JHVTZJRndpYldWeVoyVmtYQ0lnZlNsY2JpQWdiV1Z5WjJWa0lUb2dkVzVyYm05M2JqdGNibjFjYmlKZGZRPT0iXX0=
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReturnFlowNode = void 0;
4
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
5
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
6
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
7
+ r = Reflect.decorate(decorators, target, key, desc);
8
+ else
9
+ for (var i = decorators.length - 1; i >= 0; i--)
10
+ if (d = decorators[i])
11
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
12
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
13
+ };
14
+ var __metadata = (this && this.__metadata) || function (k, v) {
15
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
16
+ return Reflect.metadata(k, v);
17
+ };
18
+ /**
19
+ * @module ui-decorators/graph/nodes/utility/return
20
+ * @summary Return utility node declaration (DECAF-32 §22.2.2).
21
+ * @description Return — defines and normalises the final workflow output.
22
+ */
23
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
24
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
25
+ const decorators_js_2 = require("./../../decorators.cjs");
26
+ // Ensure category styles are registered (idempotent).
27
+ require("./../category-styles.cjs");
28
+ let ReturnFlowNode = class ReturnFlowNode extends decorator_validation_1.Model {
29
+ };
30
+ exports.ReturnFlowNode = ReturnFlowNode;
31
+ __decorate([
32
+ (0, decorator_validation_1.required)(),
33
+ (0, decorators_js_1.uielement)("textarea", { label: "Input value", placeholder: "Value to normalise" }),
34
+ (0, decorators_js_2.input)({ handle: "value" }),
35
+ __metadata("design:type", Object)
36
+ ], ReturnFlowNode.prototype, "value", void 0);
37
+ __decorate([
38
+ (0, decorator_validation_1.required)(),
39
+ (0, decorators_js_1.uielement)("input", { label: "Returned output", placeholder: "Normalised output" }),
40
+ (0, decorators_js_2.output)({ handle: "result" }),
41
+ __metadata("design:type", Object)
42
+ ], ReturnFlowNode.prototype, "result", void 0);
43
+ exports.ReturnFlowNode = ReturnFlowNode = __decorate([
44
+ (0, decorators_js_2.node)("core.flow.return", {
45
+ kind: "core.flow.return",
46
+ category: "Utility",
47
+ color: "#22c55e",
48
+ icon: "ti-arrow-back-up",
49
+ width: 96,
50
+ height: 96,
51
+ labels: ["flow", "return", "output"],
52
+ metadata: {
53
+ title: "Return",
54
+ description: "Normalises the input into the final workflow output object.",
55
+ outputSchema: {},
56
+ },
57
+ }),
58
+ (0, decorator_validation_1.model)()
59
+ ], ReturnFlowNode);
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0dXJuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2dyYXBoL25vZGVzL3V0aWxpdHkvcmV0dXJuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9DQUErQjtBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsOEJBQXlCO0FBRXZELHNEQUFzRDtBQUN0RCxpQ0FBNEI7QUFpQnJCLElBQU0sY0FBYyxHQUFwQixNQUFNLGNBQWUsU0FBUSxLQUFLO0NBVXhDLENBQUE7QUFOQztJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ2xGLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQzs7NkNBQ1g7QUFLaEI7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0lBQ2xGLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQzs7OENBQ1o7QUFUTixjQUFjO0lBZjFCLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtRQUN4QixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRTtRQUNWLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDO1FBQ3BDLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxRQUFRO1lBQ2YsV0FBVyxFQUFFLDZEQUE2RDtZQUMxRSxZQUFZLEVBQUUsRUFBRTtTQUNqQjtLQUNGLENBQUM7SUFDRCxLQUFLLEVBQUU7R0FDSyxjQUFjLENBVTFCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvdXRpbGl0eS9yZXR1cm5cbiAqIEBzdW1tYXJ5IFJldHVybiB1dGlsaXR5IG5vZGUgZGVjbGFyYXRpb24gKERFQ0FGLTMyIMKnMjIuMi4yKS5cbiAqIEBkZXNjcmlwdGlvbiBSZXR1cm4g4oCUIGRlZmluZXMgYW5kIG5vcm1hbGlzZXMgdGhlIGZpbmFsIHdvcmtmbG93IG91dHB1dC5cbiAqL1xuaW1wb3J0IHsgTW9kZWwsIG1vZGVsLCByZXF1aXJlZCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IHVpZWxlbWVudCB9IGZyb20gXCIuLi8uLi8uLi91aS9kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBpbnB1dCwgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIi4uLy4uL2RlY29yYXRvcnNcIjtcblxuLy8gRW5zdXJlIGNhdGVnb3J5IHN0eWxlcyBhcmUgcmVnaXN0ZXJlZCAoaWRlbXBvdGVudCkuXG5pbXBvcnQgXCIuLi9jYXRlZ29yeS1zdHlsZXNcIjtcblxuQG5vZGUoXCJjb3JlLmZsb3cucmV0dXJuXCIsIHtcbiAga2luZDogXCJjb3JlLmZsb3cucmV0dXJuXCIsXG4gIGNhdGVnb3J5OiBcIlV0aWxpdHlcIixcbiAgY29sb3I6IFwiIzIyYzU1ZVwiLFxuICBpY29uOiBcInRpLWFycm93LWJhY2stdXBcIixcbiAgd2lkdGg6IDk2LFxuICBoZWlnaHQ6IDk2LFxuICBsYWJlbHM6IFtcImZsb3dcIiwgXCJyZXR1cm5cIiwgXCJvdXRwdXRcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiUmV0dXJuXCIsXG4gICAgZGVzY3JpcHRpb246IFwiTm9ybWFsaXNlcyB0aGUgaW5wdXQgaW50byB0aGUgZmluYWwgd29ya2Zsb3cgb3V0cHV0IG9iamVjdC5cIixcbiAgICBvdXRwdXRTY2hlbWE6IHt9LFxuICB9LFxufSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgUmV0dXJuRmxvd05vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIklucHV0IHZhbHVlXCIsIHBsYWNlaG9sZGVyOiBcIlZhbHVlIHRvIG5vcm1hbGlzZVwiIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pXG4gIHZhbHVlITogdW5rbm93bjtcblxuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJSZXR1cm5lZCBvdXRwdXRcIiwgcGxhY2Vob2xkZXI6IFwiTm9ybWFsaXNlZCBvdXRwdXRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcInJlc3VsdFwiIH0pXG4gIHJlc3VsdCE6IHVua25vd247XG59XG4iXX0=
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0dXJuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicmV0dXJuLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xKLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUM7QUFDRixJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQztJQUN4RCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDN0csQ0FBQyxDQUFDO0FBQ0Y7Ozs7R0FJRztBQUNILHlFQUF3RTtBQUN4RSwrREFBd0Q7QUFDeEQseURBQTREO0FBQzVELHNEQUFzRDtBQUN0RCxtQ0FBaUM7QUFDakMsSUFBSSxjQUFjLEdBQUcsTUFBTSxjQUFlLFNBQVEsNEJBQUs7Q0FDdEQsQ0FBQztBQThCTyx3Q0FBYztBQTdCdkIsVUFBVSxDQUFDO0lBQ1AsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSx5QkFBUyxFQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQUM7SUFDbEYsSUFBQSxxQkFBSyxFQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzFCLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM5QyxVQUFVLENBQUM7SUFDUCxJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHlCQUFTLEVBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0lBQ2xGLElBQUEsc0JBQU0sRUFBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUM1QixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLGNBQWMsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDL0MseUJBQUEsY0FBYyxHQUFHLFVBQVUsQ0FBQztJQUN4QixJQUFBLG9CQUFJLEVBQUMsa0JBQWtCLEVBQUU7UUFDckIsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixRQUFRLEVBQUUsU0FBUztRQUNuQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsa0JBQWtCO1FBQ3hCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQztRQUNwQyxRQUFRLEVBQUU7WUFDTixLQUFLLEVBQUUsUUFBUTtZQUNmLFdBQVcsRUFBRSw2REFBNkQ7WUFDMUUsWUFBWSxFQUFFLEVBQUU7U0FDbkI7S0FDSixDQUFDO0lBQ0YsSUFBQSw0QkFBSyxHQUFFO0NBQ1YsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUVuQiw4aUdBQThpRyIsInNvdXJjZXNDb250ZW50IjpbInZhciBfX2RlY29yYXRlID0gKHRoaXMgJiYgdGhpcy5fX2RlY29yYXRlKSB8fCBmdW5jdGlvbiAoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpIHtcbiAgICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSA9PT0gXCJmdW5jdGlvblwiKSByID0gUmVmbGVjdC5kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYyk7XG4gICAgZWxzZSBmb3IgKHZhciBpID0gZGVjb3JhdG9ycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkgaWYgKGQgPSBkZWNvcmF0b3JzW2ldKSByID0gKGMgPCAzID8gZChyKSA6IGMgPiAzID8gZCh0YXJnZXQsIGtleSwgcikgOiBkKHRhcmdldCwga2V5KSkgfHwgcjtcbiAgICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufTtcbnZhciBfX21ldGFkYXRhID0gKHRoaXMgJiYgdGhpcy5fX21ldGFkYXRhKSB8fCBmdW5jdGlvbiAoaywgdikge1xuICAgIGlmICh0eXBlb2YgUmVmbGVjdCA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSA9PT0gXCJmdW5jdGlvblwiKSByZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShrLCB2KTtcbn07XG4vKipcbiAqIEBtb2R1bGUgdWktZGVjb3JhdG9ycy9ncmFwaC9ub2Rlcy91dGlsaXR5L3JldHVyblxuICogQHN1bW1hcnkgUmV0dXJuIHV0aWxpdHkgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIFJldHVybiDigJQgZGVmaW5lcyBhbmQgbm9ybWFsaXNlcyB0aGUgZmluYWwgd29ya2Zsb3cgb3V0cHV0LlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIi4vLi4vLi4vLi4vdWkvZGVjb3JhdG9ycy5qc1wiO1xuaW1wb3J0IHsgaW5wdXQsIG5vZGUsIG91dHB1dCB9IGZyb20gXCIuLy4uLy4uL2RlY29yYXRvcnMuanNcIjtcbi8vIEVuc3VyZSBjYXRlZ29yeSBzdHlsZXMgYXJlIHJlZ2lzdGVyZWQgKGlkZW1wb3RlbnQpLlxuaW1wb3J0IFwiLi8uLi9jYXRlZ29yeS1zdHlsZXMuanNcIjtcbmxldCBSZXR1cm5GbG93Tm9kZSA9IGNsYXNzIFJldHVybkZsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJJbnB1dCB2YWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBub3JtYWxpc2VcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBSZXR1cm5GbG93Tm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwiaW5wdXRcIiwgeyBsYWJlbDogXCJSZXR1cm5lZCBvdXRwdXRcIiwgcGxhY2Vob2xkZXI6IFwiTm9ybWFsaXNlZCBvdXRwdXRcIiB9KSxcbiAgICBvdXRwdXQoeyBoYW5kbGU6IFwicmVzdWx0XCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIFJldHVybkZsb3dOb2RlLnByb3RvdHlwZSwgXCJyZXN1bHRcIiwgdm9pZCAwKTtcblJldHVybkZsb3dOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUuZmxvdy5yZXR1cm5cIiwge1xuICAgICAgICBraW5kOiBcImNvcmUuZmxvdy5yZXR1cm5cIixcbiAgICAgICAgY2F0ZWdvcnk6IFwiVXRpbGl0eVwiLFxuICAgICAgICBjb2xvcjogXCIjMjJjNTVlXCIsXG4gICAgICAgIGljb246IFwidGktYXJyb3ctYmFjay11cFwiLFxuICAgICAgICB3aWR0aDogOTYsXG4gICAgICAgIGhlaWdodDogOTYsXG4gICAgICAgIGxhYmVsczogW1wiZmxvd1wiLCBcInJldHVyblwiLCBcIm91dHB1dFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIlJldHVyblwiLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiTm9ybWFsaXNlcyB0aGUgaW5wdXQgaW50byB0aGUgZmluYWwgd29ya2Zsb3cgb3V0cHV0IG9iamVjdC5cIixcbiAgICAgICAgICAgIG91dHB1dFNjaGVtYToge30sXG4gICAgICAgIH0sXG4gICAgfSksXG4gICAgbW9kZWwoKVxuXSwgUmV0dXJuRmxvd05vZGUpO1xuZXhwb3J0IHsgUmV0dXJuRmxvd05vZGUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWNtVjBkWEp1TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2TGk0dmMzSmpMMmR5WVhCb0wyNXZaR1Z6TDNWMGFXeHBkSGt2Y21WMGRYSnVMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenRCUVVGQk96czdPMGRCU1VjN1FVRkRTQ3hQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZGTEV0QlFVc3NSVUZCUlN4UlFVRlJMRVZCUVVVc1RVRkJUU3huUTBGQlowTXNRMEZCUXp0QlFVTjRSU3hQUVVGUExFVkJRVVVzVTBGQlV5eEZRVUZGTEc5RFFVRXJRanRCUVVOdVJDeFBRVUZQTEVWQlFVVXNTMEZCU3l4RlFVRkZMRWxCUVVrc1JVRkJSU3hOUVVGTkxFVkJRVVVzT0VKQlFYbENPMEZCUlhaRUxITkVRVUZ6UkR0QlFVTjBSQ3hwUTBGQk5FSTdRVUZwUW5KQ0xFbEJRVTBzWTBGQll5eEhRVUZ3UWl4TlFVRk5MR05CUVdVc1UwRkJVU3hMUVVGTE8wTkJWWGhETEVOQlFVRTdRVUZPUXp0SlFVaERMRkZCUVZFc1JVRkJSVHRKUVVOV0xGTkJRVk1zUTBGQlF5eFZRVUZWTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1lVRkJZU3hGUVVGRkxGZEJRVmNzUlVGQlJTeHZRa0ZCYjBJc1JVRkJSU3hEUVVGRE8wbEJRMnhHTEV0QlFVc3NRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hQUVVGUExFVkJRVVVzUTBGQlF6czdOa05CUTFnN1FVRkxhRUk3U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1QwRkJUeXhGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxGZEJRVmNzUlVGQlJTeHRRa0ZCYlVJc1JVRkJSU3hEUVVGRE8wbEJRMnhHTEUxQlFVMHNRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzUTBGQlF6czdPRU5CUTFvN1FVRlVUaXhqUVVGak8wbEJaakZDTEVsQlFVa3NRMEZCUXl4clFrRkJhMElzUlVGQlJUdFJRVU40UWl4SlFVRkpMRVZCUVVVc2EwSkJRV3RDTzFGQlEzaENMRkZCUVZFc1JVRkJSU3hUUVVGVE8xRkJRMjVDTEV0QlFVc3NSVUZCUlN4VFFVRlRPMUZCUTJoQ0xFbEJRVWtzUlVGQlJTeHJRa0ZCYTBJN1VVRkRlRUlzUzBGQlN5eEZRVUZGTEVWQlFVVTdVVUZEVkN4TlFVRk5MRVZCUVVVc1JVRkJSVHRSUVVOV0xFMUJRVTBzUlVGQlJTeERRVUZETEUxQlFVMHNSVUZCUlN4UlFVRlJMRVZCUVVVc1VVRkJVU3hEUVVGRE8xRkJRM0JETEZGQlFWRXNSVUZCUlR0WlFVTlNMRXRCUVVzc1JVRkJSU3hSUVVGUk8xbEJRMllzVjBGQlZ5eEZRVUZGTERaRVFVRTJSRHRaUVVNeFJTeFpRVUZaTEVWQlFVVXNSVUZCUlR0VFFVTnFRanRMUVVOR0xFTkJRVU03U1VGRFJDeExRVUZMTEVWQlFVVTdSMEZEU3l4alFVRmpMRU5CVlRGQ0lpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiVzlrZFd4bElIVnBMV1JsWTI5eVlYUnZjbk12WjNKaGNHZ3ZibTlrWlhNdmRYUnBiR2wwZVM5eVpYUjFjbTVjYmlBcUlFQnpkVzF0WVhKNUlGSmxkSFZ5YmlCMWRHbHNhWFI1SUc1dlpHVWdaR1ZqYkdGeVlYUnBiMjRnS0VSRlEwRkdMVE15SU1Lbk1qSXVNaTR5S1M1Y2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCU1pYUjFjbTRnNG9DVUlHUmxabWx1WlhNZ1lXNWtJRzV2Y20xaGJHbHpaWE1nZEdobElHWnBibUZzSUhkdmNtdG1iRzkzSUc5MWRIQjFkQzVjYmlBcUwxeHVhVzF3YjNKMElIc2dUVzlrWld3c0lHMXZaR1ZzTENCeVpYRjFhWEpsWkNCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEc5eUxYWmhiR2xrWVhScGIyNWNJanRjYm1sdGNHOXlkQ0I3SUhWcFpXeGxiV1Z1ZENCOUlHWnliMjBnWENJdUxpOHVMaTh1TGk5MWFTOWtaV052Y21GMGIzSnpYQ0k3WEc1cGJYQnZjblFnZXlCcGJuQjFkQ3dnYm05a1pTd2diM1YwY0hWMElIMGdabkp2YlNCY0lpNHVMeTR1TDJSbFkyOXlZWFJ2Y25OY0lqdGNibHh1THk4Z1JXNXpkWEpsSUdOaGRHVm5iM0o1SUhOMGVXeGxjeUJoY21VZ2NtVm5hWE4wWlhKbFpDQW9hV1JsYlhCdmRHVnVkQ2t1WEc1cGJYQnZjblFnWENJdUxpOWpZWFJsWjI5eWVTMXpkSGxzWlhOY0lqdGNibHh1UUc1dlpHVW9YQ0pqYjNKbExtWnNiM2N1Y21WMGRYSnVYQ0lzSUh0Y2JpQWdhMmx1WkRvZ1hDSmpiM0psTG1ac2IzY3VjbVYwZFhKdVhDSXNYRzRnSUdOaGRHVm5iM0o1T2lCY0lsVjBhV3hwZEhsY0lpeGNiaUFnWTI5c2IzSTZJRndpSXpJeVl6VTFaVndpTEZ4dUlDQnBZMjl1T2lCY0luUnBMV0Z5Y205M0xXSmhZMnN0ZFhCY0lpeGNiaUFnZDJsa2RHZzZJRGsyTEZ4dUlDQm9aV2xuYUhRNklEazJMRnh1SUNCc1lXSmxiSE02SUZ0Y0ltWnNiM2RjSWl3Z1hDSnlaWFIxY201Y0lpd2dYQ0p2ZFhSd2RYUmNJbDBzWEc0Z0lHMWxkR0ZrWVhSaE9pQjdYRzRnSUNBZ2RHbDBiR1U2SUZ3aVVtVjBkWEp1WENJc1hHNGdJQ0FnWkdWelkzSnBjSFJwYjI0NklGd2lUbTl5YldGc2FYTmxjeUIwYUdVZ2FXNXdkWFFnYVc1MGJ5QjBhR1VnWm1sdVlXd2dkMjl5YTJac2IzY2diM1YwY0hWMElHOWlhbVZqZEM1Y0lpeGNiaUFnSUNCdmRYUndkWFJUWTJobGJXRTZJSHQ5TEZ4dUlDQjlMRnh1ZlNsY2JrQnRiMlJsYkNncFhHNWxlSEJ2Y25RZ1kyeGhjM01nVW1WMGRYSnVSbXh2ZDA1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0owWlhoMFlYSmxZVndpTENCN0lHeGhZbVZzT2lCY0lrbHVjSFYwSUhaaGJIVmxYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJbFpoYkhWbElIUnZJRzV2Y20xaGJHbHpaVndpSUgwcFhHNGdJRUJwYm5CMWRDaDdJR2hoYm1Sc1pUb2dYQ0oyWVd4MVpWd2lJSDBwWEc0Z0lIWmhiSFZsSVRvZ2RXNXJibTkzYmp0Y2JseHVJQ0JBY21WeGRXbHlaV1FvS1Z4dUlDQkFkV2xsYkdWdFpXNTBLRndpYVc1d2RYUmNJaXdnZXlCc1lXSmxiRG9nWENKU1pYUjFjbTVsWkNCdmRYUndkWFJjSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpVG05eWJXRnNhWE5sWkNCdmRYUndkWFJjSWlCOUtWeHVJQ0JBYjNWMGNIVjBLSHNnYUdGdVpHeGxPaUJjSW5KbGMzVnNkRndpSUgwcFhHNGdJSEpsYzNWc2RDRTZJSFZ1YTI1dmQyNDdYRzU5WEc0aVhYMD0iXX0=