@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,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GRAPH_AGENT_NODES = exports.AgentNode = 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/agents/agent
20
+ * @summary Production Agent node declaration.
21
+ * @description The Agent node is the primary AI agent entrypoint. It is a
22
+ * rectangular node with `@connection()` ports for its structural
23
+ * dependencies: `model` (the LLM), `memory` (the memory store), and
24
+ * `workspace` (the workspace/context). Connections are rendered on the
25
+ * bottom side of the node (DECAF-32 §21.3). Each connection category has a
26
+ * distinct color defined in the category style registry.
27
+ *
28
+ * The single `prompt` input accepts placeholder expressions (§22.4) such as
29
+ * `{{ $input.brief }}` or `{{ $node["Research"].output.summary }}` that are
30
+ * resolved at execution time by the placeholder compiler.
31
+ */
32
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
33
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
34
+ const decorators_js_2 = require("./../../decorators.cjs");
35
+ // Ensure category styles are registered (idempotent).
36
+ require("./../category-styles.cjs");
37
+ /**
38
+ * Agent node — an AI agent that orchestrates a model, memory, and workspace.
39
+ *
40
+ * The agent has:
41
+ * - `@input` port on the **left**: `prompt` (the task prompt; supports
42
+ * placeholder expressions like `{{ $input.something }}` per §22.4).
43
+ * - `@output` ports on the **right**: `response` (the agent's output), `actions`
44
+ * (any actions the agent decided to take).
45
+ * - `@connection` ports on the **bottom**: `model` (LLM), `memory` (memory
46
+ * store), `workspace` (workspace/context). Each connection has a distinct
47
+ * category color.
48
+ *
49
+ * The node is rectangular (not rounded) to visually distinguish it from
50
+ * regular processing nodes. The `color` and `icon` are omitted from `@node()`
51
+ * so they are resolved from the `"Agent"` category style.
52
+ */
53
+ let AgentNode = class AgentNode extends decorator_validation_1.Model {
54
+ };
55
+ exports.AgentNode = AgentNode;
56
+ __decorate([
57
+ (0, decorator_validation_1.required)(),
58
+ (0, decorators_js_1.uielement)("textarea", {
59
+ label: "Prompt",
60
+ placeholder: "Enter task prompt. Supports placeholders like {{ $input.brief }} or {{ $node[\"Research\"].output.summary }}",
61
+ }),
62
+ (0, decorators_js_2.input)({ handle: "prompt" }),
63
+ __metadata("design:type", String)
64
+ ], AgentNode.prototype, "prompt", void 0);
65
+ __decorate([
66
+ (0, decorator_validation_1.required)(),
67
+ (0, decorators_js_1.uielement)("textarea", { label: "Response", placeholder: "Agent response" }),
68
+ (0, decorators_js_2.output)({ handle: "response" }),
69
+ __metadata("design:type", String)
70
+ ], AgentNode.prototype, "response", void 0);
71
+ __decorate([
72
+ (0, decorator_validation_1.required)(),
73
+ (0, decorators_js_1.uielement)("textarea", { label: "Actions", placeholder: "Actions taken by the agent" }),
74
+ (0, decorators_js_2.output)({ handle: "actions" }),
75
+ __metadata("design:type", Array)
76
+ ], AgentNode.prototype, "actions", void 0);
77
+ __decorate([
78
+ (0, decorators_js_2.connection)({ category: "model", handle: "model" }),
79
+ __metadata("design:type", Object)
80
+ ], AgentNode.prototype, "model", void 0);
81
+ __decorate([
82
+ (0, decorators_js_2.connection)({ category: "memory", handle: "memory" }),
83
+ __metadata("design:type", Object)
84
+ ], AgentNode.prototype, "memory", void 0);
85
+ __decorate([
86
+ (0, decorators_js_2.connection)({ category: "workspace", handle: "workspace" }),
87
+ __metadata("design:type", Object)
88
+ ], AgentNode.prototype, "workspace", void 0);
89
+ exports.AgentNode = AgentNode = __decorate([
90
+ (0, decorators_js_2.node)("core.agent", {
91
+ kind: "core.agent",
92
+ category: "Agent",
93
+ // color and icon omitted — resolved from the "Agent" category style
94
+ width: 120,
95
+ height: 140,
96
+ labels: ["agent", "ai", "orchestrator"],
97
+ metadata: {
98
+ title: "Agent",
99
+ description: "AI agent that orchestrates a model, memory, and workspace to complete a task.",
100
+ shape: "rectangle",
101
+ },
102
+ }),
103
+ (0, decorator_validation_1.model)()
104
+ ], AgentNode);
105
+ /**
106
+ * All built-in agent node constructors.
107
+ */
108
+ exports.GRAPH_AGENT_NODES = [AgentNode];
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvYWdlbnRzL2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9DQUErQjtBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLDhCQUF5QjtBQUVuRSxzREFBc0Q7QUFDdEQsaUNBQTRCO0FBRTVCOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQWdCSSxJQUFNLFNBQVMsR0FBZixNQUFNLFNBQVUsU0FBUSxLQUFLO0NBaUNuQyxDQUFBO0FBeEJDO0lBTkMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRTtRQUNyQixLQUFLLEVBQUUsUUFBUTtRQUNmLFdBQVcsRUFBRSw4R0FBOEc7S0FDNUgsQ0FBQztJQUNELEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQzs7eUNBQ1o7QUFPaEI7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztJQUMzRSxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUM7OzJDQUNiO0FBS2xCO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLENBQUM7SUFDdEYsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDOzswQ0FDVjtBQUtwQjtJQURDLFVBQVUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDOzt3Q0FDbkM7QUFHaEI7SUFEQyxVQUFVLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQzs7eUNBQ3BDO0FBR2pCO0lBREMsVUFBVSxDQUFDLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUM7OzRDQUN2QztBQWhDVCxTQUFTO0lBZnJCLElBQUksQ0FBQyxZQUFZLEVBQUU7UUFDbEIsSUFBSSxFQUFFLFlBQVk7UUFDbEIsUUFBUSxFQUFFLE9BQU87UUFDakIsb0VBQW9FO1FBQ3BFLEtBQUssRUFBRSxHQUFHO1FBQ1YsTUFBTSxFQUFFLEdBQUc7UUFDWCxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQztRQUN2QyxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsT0FBTztZQUNkLFdBQVcsRUFDVCwrRUFBK0U7WUFDakYsS0FBSyxFQUFFLFdBQVc7U0FDbkI7S0FDRixDQUFDO0lBQ0QsS0FBSyxFQUFFO0dBQ0ssU0FBUyxDQWlDckI7O0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQVMsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvYWdlbnRzL2FnZW50XG4gKiBAc3VtbWFyeSBQcm9kdWN0aW9uIEFnZW50IG5vZGUgZGVjbGFyYXRpb24uXG4gKiBAZGVzY3JpcHRpb24gVGhlIEFnZW50IG5vZGUgaXMgdGhlIHByaW1hcnkgQUkgYWdlbnQgZW50cnlwb2ludC4gSXQgaXMgYVxuICogcmVjdGFuZ3VsYXIgbm9kZSB3aXRoIGBAY29ubmVjdGlvbigpYCBwb3J0cyBmb3IgaXRzIHN0cnVjdHVyYWxcbiAqIGRlcGVuZGVuY2llczogYG1vZGVsYCAodGhlIExMTSksIGBtZW1vcnlgICh0aGUgbWVtb3J5IHN0b3JlKSwgYW5kXG4gKiBgd29ya3NwYWNlYCAodGhlIHdvcmtzcGFjZS9jb250ZXh0KS4gQ29ubmVjdGlvbnMgYXJlIHJlbmRlcmVkIG9uIHRoZVxuICogYm90dG9tIHNpZGUgb2YgdGhlIG5vZGUgKERFQ0FGLTMyIMKnMjEuMykuIEVhY2ggY29ubmVjdGlvbiBjYXRlZ29yeSBoYXMgYVxuICogZGlzdGluY3QgY29sb3IgZGVmaW5lZCBpbiB0aGUgY2F0ZWdvcnkgc3R5bGUgcmVnaXN0cnkuXG4gKlxuICogVGhlIHNpbmdsZSBgcHJvbXB0YCBpbnB1dCBhY2NlcHRzIHBsYWNlaG9sZGVyIGV4cHJlc3Npb25zICjCpzIyLjQpIHN1Y2ggYXNcbiAqIGB7eyAkaW5wdXQuYnJpZWYgfX1gIG9yIGB7eyAkbm9kZVtcIlJlc2VhcmNoXCJdLm91dHB1dC5zdW1tYXJ5IH19YCB0aGF0IGFyZVxuICogcmVzb2x2ZWQgYXQgZXhlY3V0aW9uIHRpbWUgYnkgdGhlIHBsYWNlaG9sZGVyIGNvbXBpbGVyLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIi4uLy4uLy4uL3VpL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IGNvbm5lY3Rpb24sIGlucHV0LCBub2RlLCBvdXRwdXQgfSBmcm9tIFwiLi4vLi4vZGVjb3JhdG9yc1wiO1xuXG4vLyBFbnN1cmUgY2F0ZWdvcnkgc3R5bGVzIGFyZSByZWdpc3RlcmVkIChpZGVtcG90ZW50KS5cbmltcG9ydCBcIi4uL2NhdGVnb3J5LXN0eWxlc1wiO1xuXG4vKipcbiAqIEFnZW50IG5vZGUg4oCUIGFuIEFJIGFnZW50IHRoYXQgb3JjaGVzdHJhdGVzIGEgbW9kZWwsIG1lbW9yeSwgYW5kIHdvcmtzcGFjZS5cbiAqXG4gKiBUaGUgYWdlbnQgaGFzOlxuICogLSBgQGlucHV0YCBwb3J0IG9uIHRoZSAqKmxlZnQqKjogYHByb21wdGAgKHRoZSB0YXNrIHByb21wdDsgc3VwcG9ydHNcbiAqICAgcGxhY2Vob2xkZXIgZXhwcmVzc2lvbnMgbGlrZSBge3sgJGlucHV0LnNvbWV0aGluZyB9fWAgcGVyIMKnMjIuNCkuXG4gKiAtIGBAb3V0cHV0YCBwb3J0cyBvbiB0aGUgKipyaWdodCoqOiBgcmVzcG9uc2VgICh0aGUgYWdlbnQncyBvdXRwdXQpLCBgYWN0aW9uc2BcbiAqICAgKGFueSBhY3Rpb25zIHRoZSBhZ2VudCBkZWNpZGVkIHRvIHRha2UpLlxuICogLSBgQGNvbm5lY3Rpb25gIHBvcnRzIG9uIHRoZSAqKmJvdHRvbSoqOiBgbW9kZWxgIChMTE0pLCBgbWVtb3J5YCAobWVtb3J5XG4gKiAgIHN0b3JlKSwgYHdvcmtzcGFjZWAgKHdvcmtzcGFjZS9jb250ZXh0KS4gRWFjaCBjb25uZWN0aW9uIGhhcyBhIGRpc3RpbmN0XG4gKiAgIGNhdGVnb3J5IGNvbG9yLlxuICpcbiAqIFRoZSBub2RlIGlzIHJlY3Rhbmd1bGFyIChub3Qgcm91bmRlZCkgdG8gdmlzdWFsbHkgZGlzdGluZ3Vpc2ggaXQgZnJvbVxuICogcmVndWxhciBwcm9jZXNzaW5nIG5vZGVzLiBUaGUgYGNvbG9yYCBhbmQgYGljb25gIGFyZSBvbWl0dGVkIGZyb20gYEBub2RlKClgXG4gKiBzbyB0aGV5IGFyZSByZXNvbHZlZCBmcm9tIHRoZSBgXCJBZ2VudFwiYCBjYXRlZ29yeSBzdHlsZS5cbiAqL1xuQG5vZGUoXCJjb3JlLmFnZW50XCIsIHtcbiAga2luZDogXCJjb3JlLmFnZW50XCIsXG4gIGNhdGVnb3J5OiBcIkFnZW50XCIsXG4gIC8vIGNvbG9yIGFuZCBpY29uIG9taXR0ZWQg4oCUIHJlc29sdmVkIGZyb20gdGhlIFwiQWdlbnRcIiBjYXRlZ29yeSBzdHlsZVxuICB3aWR0aDogMTIwLFxuICBoZWlnaHQ6IDE0MCxcbiAgbGFiZWxzOiBbXCJhZ2VudFwiLCBcImFpXCIsIFwib3JjaGVzdHJhdG9yXCJdLFxuICBtZXRhZGF0YToge1xuICAgIHRpdGxlOiBcIkFnZW50XCIsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIkFJIGFnZW50IHRoYXQgb3JjaGVzdHJhdGVzIGEgbW9kZWwsIG1lbW9yeSwgYW5kIHdvcmtzcGFjZSB0byBjb21wbGV0ZSBhIHRhc2suXCIsXG4gICAgc2hhcGU6IFwicmVjdGFuZ2xlXCIsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBBZ2VudE5vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIC8vIC0tLSBJbnB1dHMgKGxlZnQgc2lkZSkgLS0tXG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHtcbiAgICBsYWJlbDogXCJQcm9tcHRcIixcbiAgICBwbGFjZWhvbGRlcjogXCJFbnRlciB0YXNrIHByb21wdC4gU3VwcG9ydHMgcGxhY2Vob2xkZXJzIGxpa2Uge3sgJGlucHV0LmJyaWVmIH19IG9yIHt7ICRub2RlW1xcXCJSZXNlYXJjaFxcXCJdLm91dHB1dC5zdW1tYXJ5IH19XCIsXG4gIH0pXG4gIEBpbnB1dCh7IGhhbmRsZTogXCJwcm9tcHRcIiB9KVxuICBwcm9tcHQhOiBzdHJpbmc7XG5cbiAgLy8gLS0tIE91dHB1dHMgKHJpZ2h0IHNpZGUpIC0tLVxuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIlJlc3BvbnNlXCIsIHBsYWNlaG9sZGVyOiBcIkFnZW50IHJlc3BvbnNlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJyZXNwb25zZVwiIH0pXG4gIHJlc3BvbnNlITogc3RyaW5nO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIkFjdGlvbnNcIiwgcGxhY2Vob2xkZXI6IFwiQWN0aW9ucyB0YWtlbiBieSB0aGUgYWdlbnRcIiB9KVxuICBAb3V0cHV0KHsgaGFuZGxlOiBcImFjdGlvbnNcIiB9KVxuICBhY3Rpb25zITogdW5rbm93bltdO1xuXG4gIC8vIC0tLSBDb25uZWN0aW9ucyAoYm90dG9tIHNpZGUpIC0tLVxuXG4gIEBjb25uZWN0aW9uKHsgY2F0ZWdvcnk6IFwibW9kZWxcIiwgaGFuZGxlOiBcIm1vZGVsXCIgfSlcbiAgbW9kZWwhOiB1bmtub3duO1xuXG4gIEBjb25uZWN0aW9uKHsgY2F0ZWdvcnk6IFwibWVtb3J5XCIsIGhhbmRsZTogXCJtZW1vcnlcIiB9KVxuICBtZW1vcnkhOiB1bmtub3duO1xuXG4gIEBjb25uZWN0aW9uKHsgY2F0ZWdvcnk6IFwid29ya3NwYWNlXCIsIGhhbmRsZTogXCJ3b3Jrc3BhY2VcIiB9KVxuICB3b3Jrc3BhY2UhOiB1bmtub3duO1xufVxuXG4vKipcbiAqIEFsbCBidWlsdC1pbiBhZ2VudCBub2RlIGNvbnN0cnVjdG9ycy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX0FHRU5UX05PREVTID0gW0FnZW50Tm9kZV0gYXMgY29uc3Q7XG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhZ2VudC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsSixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBQ0YsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDeEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdHLENBQUMsQ0FBQztBQUNGOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCx5RUFBd0U7QUFDeEUsK0RBQXdEO0FBQ3hELHlEQUF3RTtBQUN4RSxzREFBc0Q7QUFDdEQsbUNBQWlDO0FBQ2pDOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILElBQUksU0FBUyxHQUFHLE1BQU0sU0FBVSxTQUFRLDRCQUFLO0NBQzVDLENBQUM7QUFrRE8sOEJBQVM7QUFqRGxCLFVBQVUsQ0FBQztJQUNQLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEseUJBQVMsRUFBQyxVQUFVLEVBQUU7UUFDbEIsS0FBSyxFQUFFLFFBQVE7UUFDZixXQUFXLEVBQUUsOEdBQThHO0tBQzlILENBQUM7SUFDRixJQUFBLHFCQUFLLEVBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDM0IsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzFDLFVBQVUsQ0FBQztJQUNQLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEseUJBQVMsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0lBQzNFLElBQUEsc0JBQU0sRUFBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUM5QixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDNUMsVUFBVSxDQUFDO0lBQ1AsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSx5QkFBUyxFQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLENBQUM7SUFDdEYsSUFBQSxzQkFBTSxFQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQzdCLFVBQVUsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDO0NBQ25DLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMzQyxVQUFVLENBQUM7SUFDUCxJQUFBLDBCQUFVLEVBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNsRCxVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLFNBQVMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDekMsVUFBVSxDQUFDO0lBQ1AsSUFBQSwwQkFBVSxFQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDcEQsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzFDLFVBQVUsQ0FBQztJQUNQLElBQUEsMEJBQVUsRUFBQyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQzFELFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsU0FBUyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM3QyxvQkFBQSxTQUFTLEdBQUcsVUFBVSxDQUFDO0lBQ25CLElBQUEsb0JBQUksRUFBQyxZQUFZLEVBQUU7UUFDZixJQUFJLEVBQUUsWUFBWTtRQUNsQixRQUFRLEVBQUUsT0FBTztRQUNqQixvRUFBb0U7UUFDcEUsS0FBSyxFQUFFLEdBQUc7UUFDVixNQUFNLEVBQUUsR0FBRztRQUNYLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDO1FBQ3ZDLFFBQVEsRUFBRTtZQUNOLEtBQUssRUFBRSxPQUFPO1lBQ2QsV0FBVyxFQUFFLCtFQUErRTtZQUM1RixLQUFLLEVBQUUsV0FBVztTQUNyQjtLQUNKLENBQUM7SUFDRixJQUFBLDRCQUFLLEdBQUU7Q0FDVixFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWQ7O0dBRUc7QUFDVSxRQUFBLGlCQUFpQixHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0MsczdNQUFzN00iLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvYWdlbnRzL2FnZW50XG4gKiBAc3VtbWFyeSBQcm9kdWN0aW9uIEFnZW50IG5vZGUgZGVjbGFyYXRpb24uXG4gKiBAZGVzY3JpcHRpb24gVGhlIEFnZW50IG5vZGUgaXMgdGhlIHByaW1hcnkgQUkgYWdlbnQgZW50cnlwb2ludC4gSXQgaXMgYVxuICogcmVjdGFuZ3VsYXIgbm9kZSB3aXRoIGBAY29ubmVjdGlvbigpYCBwb3J0cyBmb3IgaXRzIHN0cnVjdHVyYWxcbiAqIGRlcGVuZGVuY2llczogYG1vZGVsYCAodGhlIExMTSksIGBtZW1vcnlgICh0aGUgbWVtb3J5IHN0b3JlKSwgYW5kXG4gKiBgd29ya3NwYWNlYCAodGhlIHdvcmtzcGFjZS9jb250ZXh0KS4gQ29ubmVjdGlvbnMgYXJlIHJlbmRlcmVkIG9uIHRoZVxuICogYm90dG9tIHNpZGUgb2YgdGhlIG5vZGUgKERFQ0FGLTMyIMKnMjEuMykuIEVhY2ggY29ubmVjdGlvbiBjYXRlZ29yeSBoYXMgYVxuICogZGlzdGluY3QgY29sb3IgZGVmaW5lZCBpbiB0aGUgY2F0ZWdvcnkgc3R5bGUgcmVnaXN0cnkuXG4gKlxuICogVGhlIHNpbmdsZSBgcHJvbXB0YCBpbnB1dCBhY2NlcHRzIHBsYWNlaG9sZGVyIGV4cHJlc3Npb25zICjCpzIyLjQpIHN1Y2ggYXNcbiAqIGB7eyAkaW5wdXQuYnJpZWYgfX1gIG9yIGB7eyAkbm9kZVtcIlJlc2VhcmNoXCJdLm91dHB1dC5zdW1tYXJ5IH19YCB0aGF0IGFyZVxuICogcmVzb2x2ZWQgYXQgZXhlY3V0aW9uIHRpbWUgYnkgdGhlIHBsYWNlaG9sZGVyIGNvbXBpbGVyLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIi4vLi4vLi4vLi4vdWkvZGVjb3JhdG9ycy5qc1wiO1xuaW1wb3J0IHsgY29ubmVjdGlvbiwgaW5wdXQsIG5vZGUsIG91dHB1dCB9IGZyb20gXCIuLy4uLy4uL2RlY29yYXRvcnMuanNcIjtcbi8vIEVuc3VyZSBjYXRlZ29yeSBzdHlsZXMgYXJlIHJlZ2lzdGVyZWQgKGlkZW1wb3RlbnQpLlxuaW1wb3J0IFwiLi8uLi9jYXRlZ29yeS1zdHlsZXMuanNcIjtcbi8qKlxuICogQWdlbnQgbm9kZSDigJQgYW4gQUkgYWdlbnQgdGhhdCBvcmNoZXN0cmF0ZXMgYSBtb2RlbCwgbWVtb3J5LCBhbmQgd29ya3NwYWNlLlxuICpcbiAqIFRoZSBhZ2VudCBoYXM6XG4gKiAtIGBAaW5wdXRgIHBvcnQgb24gdGhlICoqbGVmdCoqOiBgcHJvbXB0YCAodGhlIHRhc2sgcHJvbXB0OyBzdXBwb3J0c1xuICogICBwbGFjZWhvbGRlciBleHByZXNzaW9ucyBsaWtlIGB7eyAkaW5wdXQuc29tZXRoaW5nIH19YCBwZXIgwqcyMi40KS5cbiAqIC0gYEBvdXRwdXRgIHBvcnRzIG9uIHRoZSAqKnJpZ2h0Kio6IGByZXNwb25zZWAgKHRoZSBhZ2VudCdzIG91dHB1dCksIGBhY3Rpb25zYFxuICogICAoYW55IGFjdGlvbnMgdGhlIGFnZW50IGRlY2lkZWQgdG8gdGFrZSkuXG4gKiAtIGBAY29ubmVjdGlvbmAgcG9ydHMgb24gdGhlICoqYm90dG9tKio6IGBtb2RlbGAgKExMTSksIGBtZW1vcnlgIChtZW1vcnlcbiAqICAgc3RvcmUpLCBgd29ya3NwYWNlYCAod29ya3NwYWNlL2NvbnRleHQpLiBFYWNoIGNvbm5lY3Rpb24gaGFzIGEgZGlzdGluY3RcbiAqICAgY2F0ZWdvcnkgY29sb3IuXG4gKlxuICogVGhlIG5vZGUgaXMgcmVjdGFuZ3VsYXIgKG5vdCByb3VuZGVkKSB0byB2aXN1YWxseSBkaXN0aW5ndWlzaCBpdCBmcm9tXG4gKiByZWd1bGFyIHByb2Nlc3Npbmcgbm9kZXMuIFRoZSBgY29sb3JgIGFuZCBgaWNvbmAgYXJlIG9taXR0ZWQgZnJvbSBgQG5vZGUoKWBcbiAqIHNvIHRoZXkgYXJlIHJlc29sdmVkIGZyb20gdGhlIGBcIkFnZW50XCJgIGNhdGVnb3J5IHN0eWxlLlxuICovXG5sZXQgQWdlbnROb2RlID0gY2xhc3MgQWdlbnROb2RlIGV4dGVuZHMgTW9kZWwge1xufTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwge1xuICAgICAgICBsYWJlbDogXCJQcm9tcHRcIixcbiAgICAgICAgcGxhY2Vob2xkZXI6IFwiRW50ZXIgdGFzayBwcm9tcHQuIFN1cHBvcnRzIHBsYWNlaG9sZGVycyBsaWtlIHt7ICRpbnB1dC5icmllZiB9fSBvciB7eyAkbm9kZVtcXFwiUmVzZWFyY2hcXFwiXS5vdXRwdXQuc3VtbWFyeSB9fVwiLFxuICAgIH0pLFxuICAgIGlucHV0KHsgaGFuZGxlOiBcInByb21wdFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBBZ2VudE5vZGUucHJvdG90eXBlLCBcInByb21wdFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJ0ZXh0YXJlYVwiLCB7IGxhYmVsOiBcIlJlc3BvbnNlXCIsIHBsYWNlaG9sZGVyOiBcIkFnZW50IHJlc3BvbnNlXCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcInJlc3BvbnNlXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIEFnZW50Tm9kZS5wcm90b3R5cGUsIFwicmVzcG9uc2VcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJBY3Rpb25zXCIsIHBsYWNlaG9sZGVyOiBcIkFjdGlvbnMgdGFrZW4gYnkgdGhlIGFnZW50XCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcImFjdGlvbnNcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBBZ2VudE5vZGUucHJvdG90eXBlLCBcImFjdGlvbnNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIGNvbm5lY3Rpb24oeyBjYXRlZ29yeTogXCJtb2RlbFwiLCBoYW5kbGU6IFwibW9kZWxcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgQWdlbnROb2RlLnByb3RvdHlwZSwgXCJtb2RlbFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgY29ubmVjdGlvbih7IGNhdGVnb3J5OiBcIm1lbW9yeVwiLCBoYW5kbGU6IFwibWVtb3J5XCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEFnZW50Tm9kZS5wcm90b3R5cGUsIFwibWVtb3J5XCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBjb25uZWN0aW9uKHsgY2F0ZWdvcnk6IFwid29ya3NwYWNlXCIsIGhhbmRsZTogXCJ3b3Jrc3BhY2VcIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgQWdlbnROb2RlLnByb3RvdHlwZSwgXCJ3b3Jrc3BhY2VcIiwgdm9pZCAwKTtcbkFnZW50Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmFnZW50XCIsIHtcbiAgICAgICAga2luZDogXCJjb3JlLmFnZW50XCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIkFnZW50XCIsXG4gICAgICAgIC8vIGNvbG9yIGFuZCBpY29uIG9taXR0ZWQg4oCUIHJlc29sdmVkIGZyb20gdGhlIFwiQWdlbnRcIiBjYXRlZ29yeSBzdHlsZVxuICAgICAgICB3aWR0aDogMTIwLFxuICAgICAgICBoZWlnaHQ6IDE0MCxcbiAgICAgICAgbGFiZWxzOiBbXCJhZ2VudFwiLCBcImFpXCIsIFwib3JjaGVzdHJhdG9yXCJdLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgICAgdGl0bGU6IFwiQWdlbnRcIixcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkFJIGFnZW50IHRoYXQgb3JjaGVzdHJhdGVzIGEgbW9kZWwsIG1lbW9yeSwgYW5kIHdvcmtzcGFjZSB0byBjb21wbGV0ZSBhIHRhc2suXCIsXG4gICAgICAgICAgICBzaGFwZTogXCJyZWN0YW5nbGVcIixcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBBZ2VudE5vZGUpO1xuZXhwb3J0IHsgQWdlbnROb2RlIH07XG4vKipcbiAqIEFsbCBidWlsdC1pbiBhZ2VudCBub2RlIGNvbnN0cnVjdG9ycy5cbiAqL1xuZXhwb3J0IGNvbnN0IEdSQVBIX0FHRU5UX05PREVTID0gW0FnZW50Tm9kZV07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lZV2RsYm5RdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTh1TGk4dUxpOXpjbU12WjNKaGNHZ3ZibTlrWlhNdllXZGxiblJ6TDJGblpXNTBMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenRCUVVGQk96czdPenM3T3pzN096czdPMGRCWVVjN1FVRkRTQ3hQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZGTEV0QlFVc3NSVUZCUlN4UlFVRlJMRVZCUVVVc1RVRkJUU3huUTBGQlowTXNRMEZCUXp0QlFVTjRSU3hQUVVGUExFVkJRVVVzVTBGQlV5eEZRVUZGTEc5RFFVRXJRanRCUVVOdVJDeFBRVUZQTEVWQlFVVXNWVUZCVlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hKUVVGSkxFVkJRVVVzVFVGQlRTeEZRVUZGTERoQ1FVRjVRanRCUVVWdVJTeHpSRUZCYzBRN1FVRkRkRVFzYVVOQlFUUkNPMEZCUlRWQ096czdPenM3T3pzN096czdPenM3UjBGbFJ6dEJRV2RDU1N4SlFVRk5MRk5CUVZNc1IwRkJaaXhOUVVGTkxGTkJRVlVzVTBGQlVTeExRVUZMTzBOQmFVTnVReXhEUVVGQk8wRkJlRUpETzBsQlRrTXNVVUZCVVN4RlFVRkZPMGxCUTFZc1UwRkJVeXhEUVVGRExGVkJRVlVzUlVGQlJUdFJRVU55UWl4TFFVRkxMRVZCUVVVc1VVRkJVVHRSUVVObUxGZEJRVmNzUlVGQlJTdzRSMEZCT0VjN1MwRkROVWdzUTBGQlF6dEpRVU5FTEV0QlFVc3NRMEZCUXl4RlFVRkZMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzUTBGQlF6czdlVU5CUTFvN1FVRlBhRUk3U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEZWQlFWVXNSVUZCUlN4WFFVRlhMRVZCUVVVc1owSkJRV2RDTEVWQlFVVXNRMEZCUXp0SlFVTXpSU3hOUVVGTkxFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNWVUZCVlN4RlFVRkZMRU5CUVVNN096SkRRVU5pTzBGQlMyeENPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEZWQlFWVXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzVjBGQlZ5eEZRVUZGTERSQ1FVRTBRaXhGUVVGRkxFTkJRVU03U1VGRGRFWXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxGTkJRVk1zUlVGQlJTeERRVUZET3pzd1EwRkRWanRCUVV0d1FqdEpRVVJETEZWQlFWVXNRMEZCUXl4RlFVRkZMRkZCUVZFc1JVRkJSU3hQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZGTEU5QlFVOHNSVUZCUlN4RFFVRkRPenQzUTBGRGJrTTdRVUZIYUVJN1NVRkVReXhWUVVGVkxFTkJRVU1zUlVGQlJTeFJRVUZSTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTFCUVUwc1JVRkJSU3hSUVVGUkxFVkJRVVVzUTBGQlF6czdlVU5CUTNCRE8wRkJSMnBDTzBsQlJFTXNWVUZCVlN4RFFVRkRMRVZCUVVVc1VVRkJVU3hGUVVGRkxGZEJRVmNzUlVGQlJTeE5RVUZOTEVWQlFVVXNWMEZCVnl4RlFVRkZMRU5CUVVNN096UkRRVU4yUXp0QlFXaERWQ3hUUVVGVE8wbEJabkpDTEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVN1VVRkRiRUlzU1VGQlNTeEZRVUZGTEZsQlFWazdVVUZEYkVJc1VVRkJVU3hGUVVGRkxFOUJRVTg3VVVGRGFrSXNiMFZCUVc5Rk8xRkJRM0JGTEV0QlFVc3NSVUZCUlN4SFFVRkhPMUZCUTFZc1RVRkJUU3hGUVVGRkxFZEJRVWM3VVVGRFdDeE5RVUZOTEVWQlFVVXNRMEZCUXl4UFFVRlBMRVZCUVVVc1NVRkJTU3hGUVVGRkxHTkJRV01zUTBGQlF6dFJRVU4yUXl4UlFVRlJMRVZCUVVVN1dVRkRVaXhMUVVGTExFVkJRVVVzVDBGQlR6dFpRVU5rTEZkQlFWY3NSVUZEVkN3clJVRkJLMFU3V1VGRGFrWXNTMEZCU3l4RlFVRkZMRmRCUVZjN1UwRkRia0k3UzBGRFJpeERRVUZETzBsQlEwUXNTMEZCU3l4RlFVRkZPMGRCUTBzc1UwRkJVeXhEUVdsRGNrSTdPMEZCUlVRN08wZEJSVWM3UVVGRFNDeE5RVUZOTEVOQlFVTXNUVUZCVFN4cFFrRkJhVUlzUjBGQlJ5eERRVUZETEZOQlFWTXNRMEZCVlN4RFFVRkRJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJSFZwTFdSbFkyOXlZWFJ2Y25NdlozSmhjR2d2Ym05a1pYTXZZV2RsYm5SekwyRm5aVzUwWEc0Z0tpQkFjM1Z0YldGeWVTQlFjbTlrZFdOMGFXOXVJRUZuWlc1MElHNXZaR1VnWkdWamJHRnlZWFJwYjI0dVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1ZHaGxJRUZuWlc1MElHNXZaR1VnYVhNZ2RHaGxJSEJ5YVcxaGNua2dRVWtnWVdkbGJuUWdaVzUwY25sd2IybHVkQzRnU1hRZ2FYTWdZVnh1SUNvZ2NtVmpkR0Z1WjNWc1lYSWdibTlrWlNCM2FYUm9JR0JBWTI5dWJtVmpkR2x2YmlncFlDQndiM0owY3lCbWIzSWdhWFJ6SUhOMGNuVmpkSFZ5WVd4Y2JpQXFJR1JsY0dWdVpHVnVZMmxsY3pvZ1lHMXZaR1ZzWUNBb2RHaGxJRXhNVFNrc0lHQnRaVzF2Y25sZ0lDaDBhR1VnYldWdGIzSjVJSE4wYjNKbEtTd2dZVzVrWEc0Z0tpQmdkMjl5YTNOd1lXTmxZQ0FvZEdobElIZHZjbXR6Y0dGalpTOWpiMjUwWlhoMEtTNGdRMjl1Ym1WamRHbHZibk1nWVhKbElISmxibVJsY21Wa0lHOXVJSFJvWlZ4dUlDb2dZbTkwZEc5dElITnBaR1VnYjJZZ2RHaGxJRzV2WkdVZ0tFUkZRMEZHTFRNeUlNS25NakV1TXlrdUlFVmhZMmdnWTI5dWJtVmpkR2x2YmlCallYUmxaMjl5ZVNCb1lYTWdZVnh1SUNvZ1pHbHpkR2x1WTNRZ1kyOXNiM0lnWkdWbWFXNWxaQ0JwYmlCMGFHVWdZMkYwWldkdmNua2djM1I1YkdVZ2NtVm5hWE4wY25rdVhHNGdLbHh1SUNvZ1ZHaGxJSE5wYm1kc1pTQmdjSEp2YlhCMFlDQnBibkIxZENCaFkyTmxjSFJ6SUhCc1lXTmxhRzlzWkdWeUlHVjRjSEpsYzNOcGIyNXpJQ2pDcHpJeUxqUXBJSE4xWTJnZ1lYTmNiaUFxSUdCN2V5QWthVzV3ZFhRdVluSnBaV1lnZlgxZ0lHOXlJR0I3ZXlBa2JtOWtaVnRjSWxKbGMyVmhjbU5vWENKZExtOTFkSEIxZEM1emRXMXRZWEo1SUgxOVlDQjBhR0YwSUdGeVpWeHVJQ29nY21WemIyeDJaV1FnWVhRZ1pYaGxZM1YwYVc5dUlIUnBiV1VnWW5rZ2RHaGxJSEJzWVdObGFHOXNaR1Z5SUdOdmJYQnBiR1Z5TGx4dUlDb3ZYRzVwYlhCdmNuUWdleUJOYjJSbGJDd2diVzlrWld3c0lISmxjWFZwY21Wa0lIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUhzZ2RXbGxiR1Z0Wlc1MElIMGdabkp2YlNCY0lpNHVMeTR1THk0dUwzVnBMMlJsWTI5eVlYUnZjbk5jSWp0Y2JtbHRjRzl5ZENCN0lHTnZibTVsWTNScGIyNHNJR2x1Y0hWMExDQnViMlJsTENCdmRYUndkWFFnZlNCbWNtOXRJRndpTGk0dkxpNHZaR1ZqYjNKaGRHOXljMXdpTzF4dVhHNHZMeUJGYm5OMWNtVWdZMkYwWldkdmNua2djM1I1YkdWeklHRnlaU0J5WldkcGMzUmxjbVZrSUNocFpHVnRjRzkwWlc1MEtTNWNibWx0Y0c5eWRDQmNJaTR1TDJOaGRHVm5iM0o1TFhOMGVXeGxjMXdpTzF4dVhHNHZLaXBjYmlBcUlFRm5aVzUwSUc1dlpHVWc0b0NVSUdGdUlFRkpJR0ZuWlc1MElIUm9ZWFFnYjNKamFHVnpkSEpoZEdWeklHRWdiVzlrWld3c0lHMWxiVzl5ZVN3Z1lXNWtJSGR2Y210emNHRmpaUzVjYmlBcVhHNGdLaUJVYUdVZ1lXZGxiblFnYUdGek9seHVJQ29nTFNCZ1FHbHVjSFYwWUNCd2IzSjBJRzl1SUhSb1pTQXFLbXhsWm5RcUtqb2dZSEJ5YjIxd2RHQWdLSFJvWlNCMFlYTnJJSEJ5YjIxd2REc2djM1Z3Y0c5eWRITmNiaUFxSUNBZ2NHeGhZMlZvYjJ4a1pYSWdaWGh3Y21WemMybHZibk1nYkdsclpTQmdlM3NnSkdsdWNIVjBMbk52YldWMGFHbHVaeUI5ZldBZ2NHVnlJTUtuTWpJdU5Da3VYRzRnS2lBdElHQkFiM1YwY0hWMFlDQndiM0owY3lCdmJpQjBhR1VnS2lweWFXZG9kQ29xT2lCZ2NtVnpjRzl1YzJWZ0lDaDBhR1VnWVdkbGJuUW5jeUJ2ZFhSd2RYUXBMQ0JnWVdOMGFXOXVjMkJjYmlBcUlDQWdLR0Z1ZVNCaFkzUnBiMjV6SUhSb1pTQmhaMlZ1ZENCa1pXTnBaR1ZrSUhSdklIUmhhMlVwTGx4dUlDb2dMU0JnUUdOdmJtNWxZM1JwYjI1Z0lIQnZjblJ6SUc5dUlIUm9aU0FxS21KdmRIUnZiU29xT2lCZ2JXOWtaV3hnSUNoTVRFMHBMQ0JnYldWdGIzSjVZQ0FvYldWdGIzSjVYRzRnS2lBZ0lITjBiM0psS1N3Z1lIZHZjbXR6Y0dGalpXQWdLSGR2Y210emNHRmpaUzlqYjI1MFpYaDBLUzRnUldGamFDQmpiMjV1WldOMGFXOXVJR2hoY3lCaElHUnBjM1JwYm1OMFhHNGdLaUFnSUdOaGRHVm5iM0o1SUdOdmJHOXlMbHh1SUNwY2JpQXFJRlJvWlNCdWIyUmxJR2x6SUhKbFkzUmhibWQxYkdGeUlDaHViM1FnY205MWJtUmxaQ2tnZEc4Z2RtbHpkV0ZzYkhrZ1pHbHpkR2x1WjNWcGMyZ2dhWFFnWm5KdmJWeHVJQ29nY21WbmRXeGhjaUJ3Y205alpYTnphVzVuSUc1dlpHVnpMaUJVYUdVZ1lHTnZiRzl5WUNCaGJtUWdZR2xqYjI1Z0lHRnlaU0J2YldsMGRHVmtJR1p5YjIwZ1lFQnViMlJsS0NsZ1hHNGdLaUJ6YnlCMGFHVjVJR0Z5WlNCeVpYTnZiSFpsWkNCbWNtOXRJSFJvWlNCZ1hDSkJaMlZ1ZEZ3aVlDQmpZWFJsWjI5eWVTQnpkSGxzWlM1Y2JpQXFMMXh1UUc1dlpHVW9YQ0pqYjNKbExtRm5aVzUwWENJc0lIdGNiaUFnYTJsdVpEb2dYQ0pqYjNKbExtRm5aVzUwWENJc1hHNGdJR05oZEdWbmIzSjVPaUJjSWtGblpXNTBYQ0lzWEc0Z0lDOHZJR052Ykc5eUlHRnVaQ0JwWTI5dUlHOXRhWFIwWldRZzRvQ1VJSEpsYzI5c2RtVmtJR1p5YjIwZ2RHaGxJRndpUVdkbGJuUmNJaUJqWVhSbFoyOXllU0J6ZEhsc1pWeHVJQ0IzYVdSMGFEb2dNVEl3TEZ4dUlDQm9aV2xuYUhRNklERTBNQ3hjYmlBZ2JHRmlaV3h6T2lCYlhDSmhaMlZ1ZEZ3aUxDQmNJbUZwWENJc0lGd2liM0pqYUdWemRISmhkRzl5WENKZExGeHVJQ0J0WlhSaFpHRjBZVG9nZTF4dUlDQWdJSFJwZEd4bE9pQmNJa0ZuWlc1MFhDSXNYRzRnSUNBZ1pHVnpZM0pwY0hScGIyNDZYRzRnSUNBZ0lDQmNJa0ZKSUdGblpXNTBJSFJvWVhRZ2IzSmphR1Z6ZEhKaGRHVnpJR0VnYlc5a1pXd3NJRzFsYlc5eWVTd2dZVzVrSUhkdmNtdHpjR0ZqWlNCMGJ5QmpiMjF3YkdWMFpTQmhJSFJoYzJzdVhDSXNYRzRnSUNBZ2MyaGhjR1U2SUZ3aWNtVmpkR0Z1WjJ4bFhDSXNYRzRnSUgwc1hHNTlLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5QkJaMlZ1ZEU1dlpHVWdaWGgwWlc1a2N5Qk5iMlJsYkNCN1hHNGdJQzh2SUMwdExTQkpibkIxZEhNZ0tHeGxablFnYzJsa1pTa2dMUzB0WEc1Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FIVnBaV3hsYldWdWRDaGNJblJsZUhSaGNtVmhYQ0lzSUh0Y2JpQWdJQ0JzWVdKbGJEb2dYQ0pRY205dGNIUmNJaXhjYmlBZ0lDQndiR0ZqWldodmJHUmxjam9nWENKRmJuUmxjaUIwWVhOcklIQnliMjF3ZEM0Z1UzVndjRzl5ZEhNZ2NHeGhZMlZvYjJ4a1pYSnpJR3hwYTJVZ2Uzc2dKR2x1Y0hWMExtSnlhV1ZtSUgxOUlHOXlJSHQ3SUNSdWIyUmxXMXhjWENKU1pYTmxZWEpqYUZ4Y1hDSmRMbTkxZEhCMWRDNXpkVzF0WVhKNUlIMTlYQ0lzWEc0Z0lIMHBYRzRnSUVCcGJuQjFkQ2g3SUdoaGJtUnNaVG9nWENKd2NtOXRjSFJjSWlCOUtWeHVJQ0J3Y205dGNIUWhPaUJ6ZEhKcGJtYzdYRzVjYmlBZ0x5OGdMUzB0SUU5MWRIQjFkSE1nS0hKcFoyaDBJSE5wWkdVcElDMHRMVnh1WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSjBaWGgwWVhKbFlWd2lMQ0I3SUd4aFltVnNPaUJjSWxKbGMzQnZibk5sWENJc0lIQnNZV05sYUc5c1pHVnlPaUJjSWtGblpXNTBJSEpsYzNCdmJuTmxYQ0lnZlNsY2JpQWdRRzkxZEhCMWRDaDdJR2hoYm1Sc1pUb2dYQ0p5WlhOd2IyNXpaVndpSUgwcFhHNGdJSEpsYzNCdmJuTmxJVG9nYzNSeWFXNW5PMXh1WEc0Z0lFQnlaWEYxYVhKbFpDZ3BYRzRnSUVCMWFXVnNaVzFsYm5Rb1hDSjBaWGgwWVhKbFlWd2lMQ0I3SUd4aFltVnNPaUJjSWtGamRHbHZibk5jSWl3Z2NHeGhZMlZvYjJ4a1pYSTZJRndpUVdOMGFXOXVjeUIwWVd0bGJpQmllU0IwYUdVZ1lXZGxiblJjSWlCOUtWeHVJQ0JBYjNWMGNIVjBLSHNnYUdGdVpHeGxPaUJjSW1GamRHbHZibk5jSWlCOUtWeHVJQ0JoWTNScGIyNXpJVG9nZFc1cmJtOTNibHRkTzF4dVhHNGdJQzh2SUMwdExTQkRiMjV1WldOMGFXOXVjeUFvWW05MGRHOXRJSE5wWkdVcElDMHRMVnh1WEc0Z0lFQmpiMjV1WldOMGFXOXVLSHNnWTJGMFpXZHZjbms2SUZ3aWJXOWtaV3hjSWl3Z2FHRnVaR3hsT2lCY0ltMXZaR1ZzWENJZ2ZTbGNiaUFnYlc5a1pXd2hPaUIxYm10dWIzZHVPMXh1WEc0Z0lFQmpiMjV1WldOMGFXOXVLSHNnWTJGMFpXZHZjbms2SUZ3aWJXVnRiM0o1WENJc0lHaGhibVJzWlRvZ1hDSnRaVzF2Y25sY0lpQjlLVnh1SUNCdFpXMXZjbmtoT2lCMWJtdHViM2R1TzF4dVhHNGdJRUJqYjI1dVpXTjBhVzl1S0hzZ1kyRjBaV2R2Y25rNklGd2lkMjl5YTNOd1lXTmxYQ0lzSUdoaGJtUnNaVG9nWENKM2IzSnJjM0JoWTJWY0lpQjlLVnh1SUNCM2IzSnJjM0JoWTJVaE9pQjFibXR1YjNkdU8xeHVmVnh1WEc0dktpcGNiaUFxSUVGc2JDQmlkV2xzZEMxcGJpQmhaMlZ1ZENCdWIyUmxJR052Ym5OMGNuVmpkRzl5Y3k1Y2JpQXFMMXh1Wlhod2IzSjBJR052Ym5OMElFZFNRVkJJWDBGSFJVNVVYMDVQUkVWVElEMGdXMEZuWlc1MFRtOWtaVjBnWVhNZ1kyOXVjM1E3WEc0aVhYMD0iXX0=
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphNode = void 0;
4
+ /**
5
+ * @module ui-decorators/graph/nodes/base
6
+ * @summary Base class for shared graph node declarations.
7
+ * @description `GraphNode` extends `Model` with an overridable
8
+ * `applyMetadata` static method. Concrete node kinds that support dynamic
9
+ * metadata changes (e.g. `SwitchFlowNode` adding case output ports) override
10
+ * this method to compute their own ports, size, and data patches — the node
11
+ * is exclusively responsible for itself in every way.
12
+ */
13
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
14
+ class GraphNode extends decorator_validation_1.Model {
15
+ /**
16
+ * Applies a metadata patch to this node class, returning the resulting
17
+ * ports, size, and data patches.
18
+ *
19
+ * The default implementation returns `null` (no changes). Concrete node
20
+ * kinds that support dynamic metadata override this to compute their own
21
+ * ports and size from the metadata — the caller (renderer) simply relays
22
+ * the result to the diagram model.
23
+ *
24
+ * @param _meta - The metadata patch (node-kind-specific, e.g.
25
+ * `SwitchNodeMetadata`).
26
+ * @returns The computed change, or `null` when the node kind does not
27
+ * support dynamic metadata.
28
+ */
29
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
+ static applyMetadata(_meta) {
31
+ return null;
32
+ }
33
+ }
34
+ exports.GraphNode = GraphNode;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ncmFwaC9ub2Rlcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBR3ZELE1BQU0sT0FBTyxTQUFVLFNBQVEsS0FBSztJQUNsQzs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0gsNkRBQTZEO0lBQzdELE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBYztRQUNqQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSB1aS1kZWNvcmF0b3JzL2dyYXBoL25vZGVzL2Jhc2VcbiAqIEBzdW1tYXJ5IEJhc2UgY2xhc3MgZm9yIHNoYXJlZCBncmFwaCBub2RlIGRlY2xhcmF0aW9ucy5cbiAqIEBkZXNjcmlwdGlvbiBgR3JhcGhOb2RlYCBleHRlbmRzIGBNb2RlbGAgd2l0aCBhbiBvdmVycmlkYWJsZVxuICogYGFwcGx5TWV0YWRhdGFgIHN0YXRpYyBtZXRob2QuIENvbmNyZXRlIG5vZGUga2luZHMgdGhhdCBzdXBwb3J0IGR5bmFtaWNcbiAqIG1ldGFkYXRhIGNoYW5nZXMgKGUuZy4gYFN3aXRjaEZsb3dOb2RlYCBhZGRpbmcgY2FzZSBvdXRwdXQgcG9ydHMpIG92ZXJyaWRlXG4gKiB0aGlzIG1ldGhvZCB0byBjb21wdXRlIHRoZWlyIG93biBwb3J0cywgc2l6ZSwgYW5kIGRhdGEgcGF0Y2hlcyDigJQgdGhlIG5vZGVcbiAqIGlzIGV4Y2x1c2l2ZWx5IHJlc3BvbnNpYmxlIGZvciBpdHNlbGYgaW4gZXZlcnkgd2F5LlxuICovXG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB0eXBlIHsgTm9kZU1ldGFkYXRhQ2hhbmdlIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmV4cG9ydCBjbGFzcyBHcmFwaE5vZGUgZXh0ZW5kcyBNb2RlbCB7XG4gIC8qKlxuICAgKiBBcHBsaWVzIGEgbWV0YWRhdGEgcGF0Y2ggdG8gdGhpcyBub2RlIGNsYXNzLCByZXR1cm5pbmcgdGhlIHJlc3VsdGluZ1xuICAgKiBwb3J0cywgc2l6ZSwgYW5kIGRhdGEgcGF0Y2hlcy5cbiAgICpcbiAgICogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gcmV0dXJucyBgbnVsbGAgKG5vIGNoYW5nZXMpLiBDb25jcmV0ZSBub2RlXG4gICAqIGtpbmRzIHRoYXQgc3VwcG9ydCBkeW5hbWljIG1ldGFkYXRhIG92ZXJyaWRlIHRoaXMgdG8gY29tcHV0ZSB0aGVpciBvd25cbiAgICogcG9ydHMgYW5kIHNpemUgZnJvbSB0aGUgbWV0YWRhdGEg4oCUIHRoZSBjYWxsZXIgKHJlbmRlcmVyKSBzaW1wbHkgcmVsYXlzXG4gICAqIHRoZSByZXN1bHQgdG8gdGhlIGRpYWdyYW0gbW9kZWwuXG4gICAqXG4gICAqIEBwYXJhbSBfbWV0YSAtIFRoZSBtZXRhZGF0YSBwYXRjaCAobm9kZS1raW5kLXNwZWNpZmljLCBlLmcuXG4gICAqICAgYFN3aXRjaE5vZGVNZXRhZGF0YWApLlxuICAgKiBAcmV0dXJucyBUaGUgY29tcHV0ZWQgY2hhbmdlLCBvciBgbnVsbGAgd2hlbiB0aGUgbm9kZSBraW5kIGRvZXMgbm90XG4gICAqICAgc3VwcG9ydCBkeW5hbWljIG1ldGFkYXRhLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBzdGF0aWMgYXBwbHlNZXRhZGF0YShfbWV0YTogdW5rbm93bik6IE5vZGVNZXRhZGF0YUNoYW5nZSB8IG51bGwge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG4iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7O0dBUUc7QUFDSCx5RUFBdUQ7QUFDdkQsTUFBYSxTQUFVLFNBQVEsNEJBQUs7SUFDaEM7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILDZEQUE2RDtJQUM3RCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUs7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKO0FBbkJELDhCQW1CQztBQUNELDB6RUFBMHpFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvYmFzZVxuICogQHN1bW1hcnkgQmFzZSBjbGFzcyBmb3Igc2hhcmVkIGdyYXBoIG5vZGUgZGVjbGFyYXRpb25zLlxuICogQGRlc2NyaXB0aW9uIGBHcmFwaE5vZGVgIGV4dGVuZHMgYE1vZGVsYCB3aXRoIGFuIG92ZXJyaWRhYmxlXG4gKiBgYXBwbHlNZXRhZGF0YWAgc3RhdGljIG1ldGhvZC4gQ29uY3JldGUgbm9kZSBraW5kcyB0aGF0IHN1cHBvcnQgZHluYW1pY1xuICogbWV0YWRhdGEgY2hhbmdlcyAoZS5nLiBgU3dpdGNoRmxvd05vZGVgIGFkZGluZyBjYXNlIG91dHB1dCBwb3J0cykgb3ZlcnJpZGVcbiAqIHRoaXMgbWV0aG9kIHRvIGNvbXB1dGUgdGhlaXIgb3duIHBvcnRzLCBzaXplLCBhbmQgZGF0YSBwYXRjaGVzIOKAlCB0aGUgbm9kZVxuICogaXMgZXhjbHVzaXZlbHkgcmVzcG9uc2libGUgZm9yIGl0c2VsZiBpbiBldmVyeSB3YXkuXG4gKi9cbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuZXhwb3J0IGNsYXNzIEdyYXBoTm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgICAvKipcbiAgICAgKiBBcHBsaWVzIGEgbWV0YWRhdGEgcGF0Y2ggdG8gdGhpcyBub2RlIGNsYXNzLCByZXR1cm5pbmcgdGhlIHJlc3VsdGluZ1xuICAgICAqIHBvcnRzLCBzaXplLCBhbmQgZGF0YSBwYXRjaGVzLlxuICAgICAqXG4gICAgICogVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gcmV0dXJucyBgbnVsbGAgKG5vIGNoYW5nZXMpLiBDb25jcmV0ZSBub2RlXG4gICAgICoga2luZHMgdGhhdCBzdXBwb3J0IGR5bmFtaWMgbWV0YWRhdGEgb3ZlcnJpZGUgdGhpcyB0byBjb21wdXRlIHRoZWlyIG93blxuICAgICAqIHBvcnRzIGFuZCBzaXplIGZyb20gdGhlIG1ldGFkYXRhIOKAlCB0aGUgY2FsbGVyIChyZW5kZXJlcikgc2ltcGx5IHJlbGF5c1xuICAgICAqIHRoZSByZXN1bHQgdG8gdGhlIGRpYWdyYW0gbW9kZWwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gX21ldGEgLSBUaGUgbWV0YWRhdGEgcGF0Y2ggKG5vZGUta2luZC1zcGVjaWZpYywgZS5nLlxuICAgICAqICAgYFN3aXRjaE5vZGVNZXRhZGF0YWApLlxuICAgICAqIEByZXR1cm5zIFRoZSBjb21wdXRlZCBjaGFuZ2UsIG9yIGBudWxsYCB3aGVuIHRoZSBub2RlIGtpbmQgZG9lcyBub3RcbiAgICAgKiAgIHN1cHBvcnQgZHluYW1pYyBtZXRhZGF0YS5cbiAgICAgKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgc3RhdGljIGFwcGx5TWV0YWRhdGEoX21ldGEpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWW1GelpTNXFjeUlzSW5OdmRYSmpaVkp2YjNRaU9pSWlMQ0p6YjNWeVkyVnpJanBiSWk0dUx5NHVMeTR1THk0dUwzTnlZeTluY21Gd2FDOXViMlJsY3k5aVlYTmxMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQk96czdPenM3T3p0SFFWRkhPMEZCUTBnc1QwRkJUeXhGUVVGRkxFdEJRVXNzUlVGQlJTeE5RVUZOTEdkRFFVRm5ReXhEUVVGRE8wRkJSM1pFTEUxQlFVMHNUMEZCVHl4VFFVRlZMRk5CUVZFc1MwRkJTenRKUVVOc1F6czdPenM3T3pzN096czdPenRQUVdGSE8wbEJRMGdzTmtSQlFUWkVPMGxCUXpkRUxFMUJRVTBzUTBGQlF5eGhRVUZoTEVOQlFVTXNTMEZCWXp0UlFVTnFReXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdRMEZEUmlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1FHMXZaSFZzWlNCMWFTMWtaV052Y21GMGIzSnpMMmR5WVhCb0wyNXZaR1Z6TDJKaGMyVmNiaUFxSUVCemRXMXRZWEo1SUVKaGMyVWdZMnhoYzNNZ1ptOXlJSE5vWVhKbFpDQm5jbUZ3YUNCdWIyUmxJR1JsWTJ4aGNtRjBhVzl1Y3k1Y2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCZ1IzSmhjR2hPYjJSbFlDQmxlSFJsYm1SeklHQk5iMlJsYkdBZ2QybDBhQ0JoYmlCdmRtVnljbWxrWVdKc1pWeHVJQ29nWUdGd2NHeDVUV1YwWVdSaGRHRmdJSE4wWVhScFl5QnRaWFJvYjJRdUlFTnZibU55WlhSbElHNXZaR1VnYTJsdVpITWdkR2hoZENCemRYQndiM0owSUdSNWJtRnRhV05jYmlBcUlHMWxkR0ZrWVhSaElHTm9ZVzVuWlhNZ0tHVXVaeTRnWUZOM2FYUmphRVpzYjNkT2IyUmxZQ0JoWkdScGJtY2dZMkZ6WlNCdmRYUndkWFFnY0c5eWRITXBJRzkyWlhKeWFXUmxYRzRnS2lCMGFHbHpJRzFsZEdodlpDQjBieUJqYjIxd2RYUmxJSFJvWldseUlHOTNiaUJ3YjNKMGN5d2djMmw2WlN3Z1lXNWtJR1JoZEdFZ2NHRjBZMmhsY3lEaWdKUWdkR2hsSUc1dlpHVmNiaUFxSUdseklHVjRZMngxYzJsMlpXeDVJSEpsYzNCdmJuTnBZbXhsSUdadmNpQnBkSE5sYkdZZ2FXNGdaWFpsY25rZ2QyRjVMbHh1SUNvdlhHNXBiWEJ2Y25RZ2V5Qk5iMlJsYkNCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEc5eUxYWmhiR2xrWVhScGIyNWNJanRjYm1sdGNHOXlkQ0IwZVhCbElIc2dUbTlrWlUxbGRHRmtZWFJoUTJoaGJtZGxJSDBnWm5KdmJTQmNJaTR1TDNSNWNHVnpYQ0k3WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJIY21Gd2FFNXZaR1VnWlhoMFpXNWtjeUJOYjJSbGJDQjdYRzRnSUM4cUtseHVJQ0FnS2lCQmNIQnNhV1Z6SUdFZ2JXVjBZV1JoZEdFZ2NHRjBZMmdnZEc4Z2RHaHBjeUJ1YjJSbElHTnNZWE56TENCeVpYUjFjbTVwYm1jZ2RHaGxJSEpsYzNWc2RHbHVaMXh1SUNBZ0tpQndiM0owY3l3Z2MybDZaU3dnWVc1a0lHUmhkR0VnY0dGMFkyaGxjeTVjYmlBZ0lDcGNiaUFnSUNvZ1ZHaGxJR1JsWm1GMWJIUWdhVzF3YkdWdFpXNTBZWFJwYjI0Z2NtVjBkWEp1Y3lCZ2JuVnNiR0FnS0c1dklHTm9ZVzVuWlhNcExpQkRiMjVqY21WMFpTQnViMlJsWEc0Z0lDQXFJR3RwYm1SeklIUm9ZWFFnYzNWd2NHOXlkQ0JrZVc1aGJXbGpJRzFsZEdGa1lYUmhJRzkyWlhKeWFXUmxJSFJvYVhNZ2RHOGdZMjl0Y0hWMFpTQjBhR1ZwY2lCdmQyNWNiaUFnSUNvZ2NHOXlkSE1nWVc1a0lITnBlbVVnWm5KdmJTQjBhR1VnYldWMFlXUmhkR0VnNG9DVUlIUm9aU0JqWVd4c1pYSWdLSEpsYm1SbGNtVnlLU0J6YVcxd2JIa2djbVZzWVhselhHNGdJQ0FxSUhSb1pTQnlaWE4xYkhRZ2RHOGdkR2hsSUdScFlXZHlZVzBnYlc5a1pXd3VYRzRnSUNBcVhHNGdJQ0FxSUVCd1lYSmhiU0JmYldWMFlTQXRJRlJvWlNCdFpYUmhaR0YwWVNCd1lYUmphQ0FvYm05a1pTMXJhVzVrTFhOd1pXTnBabWxqTENCbExtY3VYRzRnSUNBcUlDQWdZRk4zYVhSamFFNXZaR1ZOWlhSaFpHRjBZV0FwTGx4dUlDQWdLaUJBY21WMGRYSnVjeUJVYUdVZ1kyOXRjSFYwWldRZ1kyaGhibWRsTENCdmNpQmdiblZzYkdBZ2QyaGxiaUIwYUdVZ2JtOWtaU0JyYVc1a0lHUnZaWE1nYm05MFhHNGdJQ0FxSUNBZ2MzVndjRzl5ZENCa2VXNWhiV2xqSUcxbGRHRmtZWFJoTGx4dUlDQWdLaTljYmlBZ0x5OGdaWE5zYVc1MExXUnBjMkZpYkdVdGJtVjRkQzFzYVc1bElFQjBlWEJsYzJOeWFYQjBMV1Z6YkdsdWRDOXVieTExYm5WelpXUXRkbUZ5YzF4dUlDQnpkR0YwYVdNZ1lYQndiSGxOWlhSaFpHRjBZU2hmYldWMFlUb2dkVzVyYm05M2JpazZJRTV2WkdWTlpYUmhaR0YwWVVOb1lXNW5aU0I4SUc1MWJHd2dlMXh1SUNBZ0lISmxkSFZ5YmlCdWRXeHNPMXh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GraphInputValueNode = 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/boundary/input-value
20
+ * @summary Workflow input value boundary node declaration.
21
+ * @description Shared canvas node representing a workflow input value
22
+ * (decorator id `graph-input-value-node`), moved from the for-angular
23
+ * boundary nodes so both sides share the declaration. Reusable value node
24
+ * whose single `value` output may feed multiple targets.
25
+ */
26
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
27
+ const decorators_js_1 = require("./../../decorators.cjs");
28
+ // Ensure category styles are registered (idempotent).
29
+ require("./../category-styles.cjs");
30
+ let GraphInputValueNode = class GraphInputValueNode extends decorator_validation_1.Model {
31
+ };
32
+ exports.GraphInputValueNode = GraphInputValueNode;
33
+ __decorate([
34
+ (0, decorators_js_1.output)({
35
+ handle: 'value',
36
+ connectionRules: {
37
+ allowMultiple: true,
38
+ },
39
+ }),
40
+ __metadata("design:type", Object)
41
+ ], GraphInputValueNode.prototype, "value", void 0);
42
+ exports.GraphInputValueNode = GraphInputValueNode = __decorate([
43
+ (0, decorators_js_1.node)('graph-input-value-node', {
44
+ kind: 'value',
45
+ category: 'Boundary',
46
+ color: '#0f766e',
47
+ icon: 'ti-circle-plus',
48
+ labels: ['workflow', 'input', 'value'],
49
+ metadata: {
50
+ title: 'Workflow input value',
51
+ description: 'Reusable canvas value node representing a workflow input.',
52
+ },
53
+ }),
54
+ (0, decorator_validation_1.model)()
55
+ ], GraphInputValueNode);
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvYm91bmRhcnkvaW5wdXQtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7R0FPRztBQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsOEJBQXlCO0FBRWhELHNEQUFzRDtBQUN0RCxpQ0FBNEI7QUFjckIsSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBb0IsU0FBUSxLQUFLO0NBUTdDLENBQUE7QUFEQztJQU5DLE1BQU0sQ0FBQztRQUNOLE1BQU0sRUFBRSxPQUFPO1FBQ2YsZUFBZSxFQUFFO1lBQ2YsYUFBYSxFQUFFLElBQUk7U0FDcEI7S0FDRixDQUFDOztrREFDYztBQVBMLG1CQUFtQjtJQVovQixJQUFJLENBQUMsd0JBQXdCLEVBQUU7UUFDOUIsSUFBSSxFQUFFLE9BQU87UUFDYixRQUFRLEVBQUUsVUFBVTtRQUNwQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQ3RDLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxzQkFBc0I7WUFDN0IsV0FBVyxFQUFFLDJEQUEyRDtTQUN6RTtLQUNGLENBQUM7SUFDRCxLQUFLLEVBQUU7R0FDSyxtQkFBbUIsQ0FRL0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgdWktZGVjb3JhdG9ycy9ncmFwaC9ub2Rlcy9ib3VuZGFyeS9pbnB1dC12YWx1ZVxuICogQHN1bW1hcnkgV29ya2Zsb3cgaW5wdXQgdmFsdWUgYm91bmRhcnkgbm9kZSBkZWNsYXJhdGlvbi5cbiAqIEBkZXNjcmlwdGlvbiBTaGFyZWQgY2FudmFzIG5vZGUgcmVwcmVzZW50aW5nIGEgd29ya2Zsb3cgaW5wdXQgdmFsdWVcbiAqIChkZWNvcmF0b3IgaWQgYGdyYXBoLWlucHV0LXZhbHVlLW5vZGVgKSwgbW92ZWQgZnJvbSB0aGUgZm9yLWFuZ3VsYXJcbiAqIGJvdW5kYXJ5IG5vZGVzIHNvIGJvdGggc2lkZXMgc2hhcmUgdGhlIGRlY2xhcmF0aW9uLiBSZXVzYWJsZSB2YWx1ZSBub2RlXG4gKiB3aG9zZSBzaW5nbGUgYHZhbHVlYCBvdXRwdXQgbWF5IGZlZWQgbXVsdGlwbGUgdGFyZ2V0cy5cbiAqL1xuaW1wb3J0IHsgTW9kZWwsIG1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgb3V0cHV0LCBub2RlIH0gZnJvbSBcIi4uLy4uL2RlY29yYXRvcnNcIjtcblxuLy8gRW5zdXJlIGNhdGVnb3J5IHN0eWxlcyBhcmUgcmVnaXN0ZXJlZCAoaWRlbXBvdGVudCkuXG5pbXBvcnQgXCIuLi9jYXRlZ29yeS1zdHlsZXNcIjtcblxuQG5vZGUoJ2dyYXBoLWlucHV0LXZhbHVlLW5vZGUnLCB7XG4gIGtpbmQ6ICd2YWx1ZScsXG4gIGNhdGVnb3J5OiAnQm91bmRhcnknLFxuICBjb2xvcjogJyMwZjc2NmUnLFxuICBpY29uOiAndGktY2lyY2xlLXBsdXMnLFxuICBsYWJlbHM6IFsnd29ya2Zsb3cnLCAnaW5wdXQnLCAndmFsdWUnXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogJ1dvcmtmbG93IGlucHV0IHZhbHVlJyxcbiAgICBkZXNjcmlwdGlvbjogJ1JldXNhYmxlIGNhbnZhcyB2YWx1ZSBub2RlIHJlcHJlc2VudGluZyBhIHdvcmtmbG93IGlucHV0LicsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBHcmFwaElucHV0VmFsdWVOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAb3V0cHV0KHtcbiAgICBoYW5kbGU6ICd2YWx1ZScsXG4gICAgY29ubmVjdGlvblJ1bGVzOiB7XG4gICAgICBhbGxvd011bHRpcGxlOiB0cnVlLFxuICAgIH0sXG4gIH0pXG4gIHZhbHVlITogdW5rbm93bjtcbn1cbiJdfQ==
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnB1dC12YWx1ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsSixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBQ0YsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDeEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdHLENBQUMsQ0FBQztBQUNGOzs7Ozs7O0dBT0c7QUFDSCx5RUFBOEQ7QUFDOUQseURBQXFEO0FBQ3JELHNEQUFzRDtBQUN0RCxtQ0FBaUM7QUFDakMsSUFBSSxtQkFBbUIsR0FBRyxNQUFNLG1CQUFvQixTQUFRLDRCQUFLO0NBQ2hFLENBQUM7QUF3Qk8sa0RBQW1CO0FBdkI1QixVQUFVLENBQUM7SUFDUCxJQUFBLHNCQUFNLEVBQUM7UUFDSCxNQUFNLEVBQUUsT0FBTztRQUNmLGVBQWUsRUFBRTtZQUNiLGFBQWEsRUFBRSxJQUFJO1NBQ3RCO0tBQ0osQ0FBQztJQUNGLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ25ELDhCQUFBLG1CQUFtQixHQUFHLFVBQVUsQ0FBQztJQUM3QixJQUFBLG9CQUFJLEVBQUMsd0JBQXdCLEVBQUU7UUFDM0IsSUFBSSxFQUFFLE9BQU87UUFDYixRQUFRLEVBQUUsVUFBVTtRQUNwQixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsZ0JBQWdCO1FBQ3RCLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO1FBQ3RDLFFBQVEsRUFBRTtZQUNOLEtBQUssRUFBRSxzQkFBc0I7WUFDN0IsV0FBVyxFQUFFLDJEQUEyRDtTQUMzRTtLQUNKLENBQUM7SUFDRixJQUFBLDRCQUFLLEdBQUU7Q0FDVixFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFFeEIsOCtFQUE4K0UiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvYm91bmRhcnkvaW5wdXQtdmFsdWVcbiAqIEBzdW1tYXJ5IFdvcmtmbG93IGlucHV0IHZhbHVlIGJvdW5kYXJ5IG5vZGUgZGVjbGFyYXRpb24uXG4gKiBAZGVzY3JpcHRpb24gU2hhcmVkIGNhbnZhcyBub2RlIHJlcHJlc2VudGluZyBhIHdvcmtmbG93IGlucHV0IHZhbHVlXG4gKiAoZGVjb3JhdG9yIGlkIGBncmFwaC1pbnB1dC12YWx1ZS1ub2RlYCksIG1vdmVkIGZyb20gdGhlIGZvci1hbmd1bGFyXG4gKiBib3VuZGFyeSBub2RlcyBzbyBib3RoIHNpZGVzIHNoYXJlIHRoZSBkZWNsYXJhdGlvbi4gUmV1c2FibGUgdmFsdWUgbm9kZVxuICogd2hvc2Ugc2luZ2xlIGB2YWx1ZWAgb3V0cHV0IG1heSBmZWVkIG11bHRpcGxlIHRhcmdldHMuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IG91dHB1dCwgbm9kZSB9IGZyb20gXCIuLy4uLy4uL2RlY29yYXRvcnMuanNcIjtcbi8vIEVuc3VyZSBjYXRlZ29yeSBzdHlsZXMgYXJlIHJlZ2lzdGVyZWQgKGlkZW1wb3RlbnQpLlxuaW1wb3J0IFwiLi8uLi9jYXRlZ29yeS1zdHlsZXMuanNcIjtcbmxldCBHcmFwaElucHV0VmFsdWVOb2RlID0gY2xhc3MgR3JhcGhJbnB1dFZhbHVlTm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICBvdXRwdXQoe1xuICAgICAgICBoYW5kbGU6ICd2YWx1ZScsXG4gICAgICAgIGNvbm5lY3Rpb25SdWxlczoge1xuICAgICAgICAgICAgYWxsb3dNdWx0aXBsZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgR3JhcGhJbnB1dFZhbHVlTm9kZS5wcm90b3R5cGUsIFwidmFsdWVcIiwgdm9pZCAwKTtcbkdyYXBoSW5wdXRWYWx1ZU5vZGUgPSBfX2RlY29yYXRlKFtcbiAgICBub2RlKCdncmFwaC1pbnB1dC12YWx1ZS1ub2RlJywge1xuICAgICAgICBraW5kOiAndmFsdWUnLFxuICAgICAgICBjYXRlZ29yeTogJ0JvdW5kYXJ5JyxcbiAgICAgICAgY29sb3I6ICcjMGY3NjZlJyxcbiAgICAgICAgaWNvbjogJ3RpLWNpcmNsZS1wbHVzJyxcbiAgICAgICAgbGFiZWxzOiBbJ3dvcmtmbG93JywgJ2lucHV0JywgJ3ZhbHVlJ10sXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICB0aXRsZTogJ1dvcmtmbG93IGlucHV0IHZhbHVlJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnUmV1c2FibGUgY2FudmFzIHZhbHVlIG5vZGUgcmVwcmVzZW50aW5nIGEgd29ya2Zsb3cgaW5wdXQuJyxcbiAgICAgICAgfSxcbiAgICB9KSxcbiAgICBtb2RlbCgpXG5dLCBHcmFwaElucHV0VmFsdWVOb2RlKTtcbmV4cG9ydCB7IEdyYXBoSW5wdXRWYWx1ZU5vZGUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNXdkWFF0ZG1Gc2RXVXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOHVMaTl6Y21NdlozSmhjR2d2Ym05a1pYTXZZbTkxYm1SaGNua3ZhVzV3ZFhRdGRtRnNkV1V1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWpzN096czdPenM3TzBGQlFVRTdPenM3T3pzN1IwRlBSenRCUVVOSUxFOUJRVThzUlVGQlJTeExRVUZMTEVWQlFVVXNTMEZCU3l4RlFVRkZMRTFCUVUwc1owTkJRV2RETEVOQlFVTTdRVUZET1VRc1QwRkJUeXhGUVVGRkxFMUJRVTBzUlVGQlJTeEpRVUZKTEVWQlFVVXNPRUpCUVhsQ08wRkJSV2hFTEhORVFVRnpSRHRCUVVOMFJDeHBRMEZCTkVJN1FVRmpja0lzU1VGQlRTeHRRa0ZCYlVJc1IwRkJla0lzVFVGQlRTeHRRa0ZCYjBJc1UwRkJVU3hMUVVGTE8wTkJVVGRETEVOQlFVRTdRVUZFUXp0SlFVNURMRTFCUVUwc1EwRkJRenRSUVVOT0xFMUJRVTBzUlVGQlJTeFBRVUZQTzFGQlEyWXNaVUZCWlN4RlFVRkZPMWxCUTJZc1lVRkJZU3hGUVVGRkxFbEJRVWs3VTBGRGNFSTdTMEZEUml4RFFVRkRPenRyUkVGRFl6dEJRVkJNTEcxQ1FVRnRRanRKUVZvdlFpeEpRVUZKTEVOQlFVTXNkMEpCUVhkQ0xFVkJRVVU3VVVGRE9VSXNTVUZCU1N4RlFVRkZMRTlCUVU4N1VVRkRZaXhSUVVGUkxFVkJRVVVzVlVGQlZUdFJRVU53UWl4TFFVRkxMRVZCUVVVc1UwRkJVenRSUVVOb1FpeEpRVUZKTEVWQlFVVXNaMEpCUVdkQ08xRkJRM1JDTEUxQlFVMHNSVUZCUlN4RFFVRkRMRlZCUVZVc1JVRkJSU3hQUVVGUExFVkJRVVVzVDBGQlR5eERRVUZETzFGQlEzUkRMRkZCUVZFc1JVRkJSVHRaUVVOU0xFdEJRVXNzUlVGQlJTeHpRa0ZCYzBJN1dVRkROMElzVjBGQlZ5eEZRVUZGTERKRVFVRXlSRHRUUVVONlJUdExRVU5HTEVOQlFVTTdTVUZEUkN4TFFVRkxMRVZCUVVVN1IwRkRTeXh0UWtGQmJVSXNRMEZSTDBJaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnRiMlIxYkdVZ2RXa3RaR1ZqYjNKaGRHOXljeTluY21Gd2FDOXViMlJsY3k5aWIzVnVaR0Z5ZVM5cGJuQjFkQzEyWVd4MVpWeHVJQ29nUUhOMWJXMWhjbmtnVjI5eWEyWnNiM2NnYVc1d2RYUWdkbUZzZFdVZ1ltOTFibVJoY25rZ2JtOWtaU0JrWldOc1lYSmhkR2x2Ymk1Y2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCVGFHRnlaV1FnWTJGdWRtRnpJRzV2WkdVZ2NtVndjbVZ6Wlc1MGFXNW5JR0VnZDI5eWEyWnNiM2NnYVc1d2RYUWdkbUZzZFdWY2JpQXFJQ2hrWldOdmNtRjBiM0lnYVdRZ1lHZHlZWEJvTFdsdWNIVjBMWFpoYkhWbExXNXZaR1ZnS1N3Z2JXOTJaV1FnWm5KdmJTQjBhR1VnWm05eUxXRnVaM1ZzWVhKY2JpQXFJR0p2ZFc1a1lYSjVJRzV2WkdWeklITnZJR0p2ZEdnZ2MybGtaWE1nYzJoaGNtVWdkR2hsSUdSbFkyeGhjbUYwYVc5dUxpQlNaWFZ6WVdKc1pTQjJZV3gxWlNCdWIyUmxYRzRnS2lCM2FHOXpaU0J6YVc1bmJHVWdZSFpoYkhWbFlDQnZkWFJ3ZFhRZ2JXRjVJR1psWldRZ2JYVnNkR2x3YkdVZ2RHRnlaMlYwY3k1Y2JpQXFMMXh1YVcxd2IzSjBJSHNnVFc5a1pXd3NJRzF2WkdWc0lIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtaV052Y21GMGIzSXRkbUZzYVdSaGRHbHZibHdpTzF4dWFXMXdiM0owSUhzZ2IzVjBjSFYwTENCdWIyUmxJSDBnWm5KdmJTQmNJaTR1THk0dUwyUmxZMjl5WVhSdmNuTmNJanRjYmx4dUx5OGdSVzV6ZFhKbElHTmhkR1ZuYjNKNUlITjBlV3hsY3lCaGNtVWdjbVZuYVhOMFpYSmxaQ0FvYVdSbGJYQnZkR1Z1ZENrdVhHNXBiWEJ2Y25RZ1hDSXVMaTlqWVhSbFoyOXllUzF6ZEhsc1pYTmNJanRjYmx4dVFHNXZaR1VvSjJkeVlYQm9MV2x1Y0hWMExYWmhiSFZsTFc1dlpHVW5MQ0I3WEc0Z0lHdHBibVE2SUNkMllXeDFaU2NzWEc0Z0lHTmhkR1ZuYjNKNU9pQW5RbTkxYm1SaGNua25MRnh1SUNCamIyeHZjam9nSnlNd1pqYzJObVVuTEZ4dUlDQnBZMjl1T2lBbmRHa3RZMmx5WTJ4bExYQnNkWE1uTEZ4dUlDQnNZV0psYkhNNklGc25kMjl5YTJac2IzY25MQ0FuYVc1d2RYUW5MQ0FuZG1Gc2RXVW5YU3hjYmlBZ2JXVjBZV1JoZEdFNklIdGNiaUFnSUNCMGFYUnNaVG9nSjFkdmNtdG1iRzkzSUdsdWNIVjBJSFpoYkhWbEp5eGNiaUFnSUNCa1pYTmpjbWx3ZEdsdmJqb2dKMUpsZFhOaFlteGxJR05oYm5aaGN5QjJZV3gxWlNCdWIyUmxJSEpsY0hKbGMyVnVkR2x1WnlCaElIZHZjbXRtYkc5M0lHbHVjSFYwTGljc1hHNGdJSDBzWEc1OUtWeHVRRzF2WkdWc0tDbGNibVY0Y0c5eWRDQmpiR0Z6Y3lCSGNtRndhRWx1Y0hWMFZtRnNkV1ZPYjJSbElHVjRkR1Z1WkhNZ1RXOWtaV3dnZTF4dUlDQkFiM1YwY0hWMEtIdGNiaUFnSUNCb1lXNWtiR1U2SUNkMllXeDFaU2NzWEc0Z0lDQWdZMjl1Ym1WamRHbHZibEoxYkdWek9pQjdYRzRnSUNBZ0lDQmhiR3h2ZDAxMWJIUnBjR3hsT2lCMGNuVmxMRnh1SUNBZ0lIMHNYRzRnSUgwcFhHNGdJSFpoYkhWbElUb2dkVzVyYm05M2JqdGNibjFjYmlKZGZRPT0iXX0=
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerBuiltinCategoryStyles = registerBuiltinCategoryStyles;
4
+ /**
5
+ * @module ui-decorators/graph/nodes/category-styles
6
+ * @summary Built-in node/connection category style registrations.
7
+ * @description Registers default colors and icons for the built-in node and
8
+ * connection categories (DECAF-32 §21.2). The `color` / `icon` on a node's
9
+ * `@node()` metadata are optional overrides — when omitted, the effective
10
+ * style is resolved from the category registry.
11
+ */
12
+ const constants_js_1 = require("./../constants.cjs");
13
+ /**
14
+ * Registers all built-in category styles. Called once at module init.
15
+ *
16
+ * Categories define the default visual style for nodes and connection ports.
17
+ * A node's explicit `color` / `icon` (on `@node()`) overrides the category
18
+ * style; when omitted, the category style is used.
19
+ */
20
+ function registerBuiltinCategoryStyles() {
21
+ // Node categories
22
+ (0, constants_js_1.registerGraphCategoryStyle)("Trigger", { color: "#3b82f6", icon: "ti-bolt" });
23
+ (0, constants_js_1.registerGraphCategoryStyle)("Flow Control", { color: "#f59e0b", icon: "ti-arrows-split-2" });
24
+ (0, constants_js_1.registerGraphCategoryStyle)("Utility", { color: "#0d9488", icon: "ti-tool" });
25
+ (0, constants_js_1.registerGraphCategoryStyle)("Loop", { color: "#eab308", icon: "ti-repeat" });
26
+ (0, constants_js_1.registerGraphCategoryStyle)("Workflow", { color: "#f97316", icon: "ti-sitemap" });
27
+ (0, constants_js_1.registerGraphCategoryStyle)("Pipeline", { color: "#0ea5e9", icon: "ti-git-merge" });
28
+ (0, constants_js_1.registerGraphCategoryStyle)("Node", { color: "#8b5cf6", icon: "ti-point-filled" });
29
+ (0, constants_js_1.registerGraphCategoryStyle)("Agent", { color: "#7c3aed", icon: "ti-robot" });
30
+ // Connection categories (for @connection() ports)
31
+ (0, constants_js_1.registerGraphCategoryStyle)("model", { color: "#3b82f6", icon: "ti-cpu" });
32
+ (0, constants_js_1.registerGraphCategoryStyle)("memory", { color: "#10b981", icon: "ti-database" });
33
+ (0, constants_js_1.registerGraphCategoryStyle)("workspace", { color: "#f59e0b", icon: "ti-folder" });
34
+ }
35
+ // Register at module load so the styles are available immediately.
36
+ registerBuiltinCategoryStyles();
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dyYXBoL25vZGVzL2NhdGVnb3J5LXN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBQ0gsT0FBTyxFQUFFLDBCQUEwQixFQUFFLDBCQUFxQjtBQUUxRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsNkJBQTZCO0lBQzNDLGtCQUFrQjtJQUNsQiwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLDBCQUEwQixDQUFDLGNBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUM1RiwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUUsMEJBQTBCLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNqRiwwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNsRiwwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBRTVFLGtEQUFrRDtJQUNsRCwwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDaEYsMEJBQTBCLENBQUMsV0FBVyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBRUQsbUVBQW1FO0FBQ25FLDZCQUE2QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgdWktZGVjb3JhdG9ycy9ncmFwaC9ub2Rlcy9jYXRlZ29yeS1zdHlsZXNcbiAqIEBzdW1tYXJ5IEJ1aWx0LWluIG5vZGUvY29ubmVjdGlvbiBjYXRlZ29yeSBzdHlsZSByZWdpc3RyYXRpb25zLlxuICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVycyBkZWZhdWx0IGNvbG9ycyBhbmQgaWNvbnMgZm9yIHRoZSBidWlsdC1pbiBub2RlIGFuZFxuICogY29ubmVjdGlvbiBjYXRlZ29yaWVzIChERUNBRi0zMiDCpzIxLjIpLiBUaGUgYGNvbG9yYCAvIGBpY29uYCBvbiBhIG5vZGUnc1xuICogYEBub2RlKClgIG1ldGFkYXRhIGFyZSBvcHRpb25hbCBvdmVycmlkZXMg4oCUIHdoZW4gb21pdHRlZCwgdGhlIGVmZmVjdGl2ZVxuICogc3R5bGUgaXMgcmVzb2x2ZWQgZnJvbSB0aGUgY2F0ZWdvcnkgcmVnaXN0cnkuXG4gKi9cbmltcG9ydCB7IHJlZ2lzdGVyR3JhcGhDYXRlZ29yeVN0eWxlIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIFJlZ2lzdGVycyBhbGwgYnVpbHQtaW4gY2F0ZWdvcnkgc3R5bGVzLiBDYWxsZWQgb25jZSBhdCBtb2R1bGUgaW5pdC5cbiAqXG4gKiBDYXRlZ29yaWVzIGRlZmluZSB0aGUgZGVmYXVsdCB2aXN1YWwgc3R5bGUgZm9yIG5vZGVzIGFuZCBjb25uZWN0aW9uIHBvcnRzLlxuICogQSBub2RlJ3MgZXhwbGljaXQgYGNvbG9yYCAvIGBpY29uYCAob24gYEBub2RlKClgKSBvdmVycmlkZXMgdGhlIGNhdGVnb3J5XG4gKiBzdHlsZTsgd2hlbiBvbWl0dGVkLCB0aGUgY2F0ZWdvcnkgc3R5bGUgaXMgdXNlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyQnVpbHRpbkNhdGVnb3J5U3R5bGVzKCk6IHZvaWQge1xuICAvLyBOb2RlIGNhdGVnb3JpZXNcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJUcmlnZ2VyXCIsIHsgY29sb3I6IFwiIzNiODJmNlwiLCBpY29uOiBcInRpLWJvbHRcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJGbG93IENvbnRyb2xcIiwgeyBjb2xvcjogXCIjZjU5ZTBiXCIsIGljb246IFwidGktYXJyb3dzLXNwbGl0LTJcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJVdGlsaXR5XCIsIHsgY29sb3I6IFwiIzBkOTQ4OFwiLCBpY29uOiBcInRpLXRvb2xcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJMb29wXCIsIHsgY29sb3I6IFwiI2VhYjMwOFwiLCBpY29uOiBcInRpLXJlcGVhdFwiIH0pO1xuICByZWdpc3RlckdyYXBoQ2F0ZWdvcnlTdHlsZShcIldvcmtmbG93XCIsIHsgY29sb3I6IFwiI2Y5NzMxNlwiLCBpY29uOiBcInRpLXNpdGVtYXBcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJQaXBlbGluZVwiLCB7IGNvbG9yOiBcIiMwZWE1ZTlcIiwgaWNvbjogXCJ0aS1naXQtbWVyZ2VcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJOb2RlXCIsIHsgY29sb3I6IFwiIzhiNWNmNlwiLCBpY29uOiBcInRpLXBvaW50LWZpbGxlZFwiIH0pO1xuICByZWdpc3RlckdyYXBoQ2F0ZWdvcnlTdHlsZShcIkFnZW50XCIsIHsgY29sb3I6IFwiIzdjM2FlZFwiLCBpY29uOiBcInRpLXJvYm90XCIgfSk7XG5cbiAgLy8gQ29ubmVjdGlvbiBjYXRlZ29yaWVzIChmb3IgQGNvbm5lY3Rpb24oKSBwb3J0cylcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJtb2RlbFwiLCB7IGNvbG9yOiBcIiMzYjgyZjZcIiwgaWNvbjogXCJ0aS1jcHVcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJtZW1vcnlcIiwgeyBjb2xvcjogXCIjMTBiOTgxXCIsIGljb246IFwidGktZGF0YWJhc2VcIiB9KTtcbiAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJ3b3Jrc3BhY2VcIiwgeyBjb2xvcjogXCIjZjU5ZTBiXCIsIGljb246IFwidGktZm9sZGVyXCIgfSk7XG59XG5cbi8vIFJlZ2lzdGVyIGF0IG1vZHVsZSBsb2FkIHNvIHRoZSBzdHlsZXMgYXJlIGF2YWlsYWJsZSBpbW1lZGlhdGVseS5cbnJlZ2lzdGVyQnVpbHRpbkNhdGVnb3J5U3R5bGVzKCk7XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2F0ZWdvcnktc3R5bGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBZ0JBLHNFQWNDO0FBOUJEOzs7Ozs7O0dBT0c7QUFDSCxvREFBK0Q7QUFDL0Q7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsNkJBQTZCO0lBQ3pDLGtCQUFrQjtJQUNsQixJQUFBLHlDQUEwQixFQUFDLFNBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDN0UsSUFBQSx5Q0FBMEIsRUFBQyxjQUFjLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7SUFDNUYsSUFBQSx5Q0FBMEIsRUFBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzdFLElBQUEseUNBQTBCLEVBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUM1RSxJQUFBLHlDQUEwQixFQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDakYsSUFBQSx5Q0FBMEIsRUFBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLElBQUEseUNBQTBCLEVBQUMsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLElBQUEseUNBQTBCLEVBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUM1RSxrREFBa0Q7SUFDbEQsSUFBQSx5Q0FBMEIsRUFBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLElBQUEseUNBQTBCLEVBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNoRixJQUFBLHlDQUEwQixFQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDckYsQ0FBQztBQUNELG1FQUFtRTtBQUNuRSw2QkFBNkIsRUFBRSxDQUFDO0FBQ2hDLDh4SUFBOHhJIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvY2F0ZWdvcnktc3R5bGVzXG4gKiBAc3VtbWFyeSBCdWlsdC1pbiBub2RlL2Nvbm5lY3Rpb24gY2F0ZWdvcnkgc3R5bGUgcmVnaXN0cmF0aW9ucy5cbiAqIEBkZXNjcmlwdGlvbiBSZWdpc3RlcnMgZGVmYXVsdCBjb2xvcnMgYW5kIGljb25zIGZvciB0aGUgYnVpbHQtaW4gbm9kZSBhbmRcbiAqIGNvbm5lY3Rpb24gY2F0ZWdvcmllcyAoREVDQUYtMzIgwqcyMS4yKS4gVGhlIGBjb2xvcmAgLyBgaWNvbmAgb24gYSBub2RlJ3NcbiAqIGBAbm9kZSgpYCBtZXRhZGF0YSBhcmUgb3B0aW9uYWwgb3ZlcnJpZGVzIOKAlCB3aGVuIG9taXR0ZWQsIHRoZSBlZmZlY3RpdmVcbiAqIHN0eWxlIGlzIHJlc29sdmVkIGZyb20gdGhlIGNhdGVnb3J5IHJlZ2lzdHJ5LlxuICovXG5pbXBvcnQgeyByZWdpc3RlckdyYXBoQ2F0ZWdvcnlTdHlsZSB9IGZyb20gXCIuLy4uL2NvbnN0YW50cy5qc1wiO1xuLyoqXG4gKiBSZWdpc3RlcnMgYWxsIGJ1aWx0LWluIGNhdGVnb3J5IHN0eWxlcy4gQ2FsbGVkIG9uY2UgYXQgbW9kdWxlIGluaXQuXG4gKlxuICogQ2F0ZWdvcmllcyBkZWZpbmUgdGhlIGRlZmF1bHQgdmlzdWFsIHN0eWxlIGZvciBub2RlcyBhbmQgY29ubmVjdGlvbiBwb3J0cy5cbiAqIEEgbm9kZSdzIGV4cGxpY2l0IGBjb2xvcmAgLyBgaWNvbmAgKG9uIGBAbm9kZSgpYCkgb3ZlcnJpZGVzIHRoZSBjYXRlZ29yeVxuICogc3R5bGU7IHdoZW4gb21pdHRlZCwgdGhlIGNhdGVnb3J5IHN0eWxlIGlzIHVzZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckJ1aWx0aW5DYXRlZ29yeVN0eWxlcygpIHtcbiAgICAvLyBOb2RlIGNhdGVnb3JpZXNcbiAgICByZWdpc3RlckdyYXBoQ2F0ZWdvcnlTdHlsZShcIlRyaWdnZXJcIiwgeyBjb2xvcjogXCIjM2I4MmY2XCIsIGljb246IFwidGktYm9sdFwiIH0pO1xuICAgIHJlZ2lzdGVyR3JhcGhDYXRlZ29yeVN0eWxlKFwiRmxvdyBDb250cm9sXCIsIHsgY29sb3I6IFwiI2Y1OWUwYlwiLCBpY29uOiBcInRpLWFycm93cy1zcGxpdC0yXCIgfSk7XG4gICAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJVdGlsaXR5XCIsIHsgY29sb3I6IFwiIzBkOTQ4OFwiLCBpY29uOiBcInRpLXRvb2xcIiB9KTtcbiAgICByZWdpc3RlckdyYXBoQ2F0ZWdvcnlTdHlsZShcIkxvb3BcIiwgeyBjb2xvcjogXCIjZWFiMzA4XCIsIGljb246IFwidGktcmVwZWF0XCIgfSk7XG4gICAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJXb3JrZmxvd1wiLCB7IGNvbG9yOiBcIiNmOTczMTZcIiwgaWNvbjogXCJ0aS1zaXRlbWFwXCIgfSk7XG4gICAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJQaXBlbGluZVwiLCB7IGNvbG9yOiBcIiMwZWE1ZTlcIiwgaWNvbjogXCJ0aS1naXQtbWVyZ2VcIiB9KTtcbiAgICByZWdpc3RlckdyYXBoQ2F0ZWdvcnlTdHlsZShcIk5vZGVcIiwgeyBjb2xvcjogXCIjOGI1Y2Y2XCIsIGljb246IFwidGktcG9pbnQtZmlsbGVkXCIgfSk7XG4gICAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJBZ2VudFwiLCB7IGNvbG9yOiBcIiM3YzNhZWRcIiwgaWNvbjogXCJ0aS1yb2JvdFwiIH0pO1xuICAgIC8vIENvbm5lY3Rpb24gY2F0ZWdvcmllcyAoZm9yIEBjb25uZWN0aW9uKCkgcG9ydHMpXG4gICAgcmVnaXN0ZXJHcmFwaENhdGVnb3J5U3R5bGUoXCJtb2RlbFwiLCB7IGNvbG9yOiBcIiMzYjgyZjZcIiwgaWNvbjogXCJ0aS1jcHVcIiB9KTtcbiAgICByZWdpc3RlckdyYXBoQ2F0ZWdvcnlTdHlsZShcIm1lbW9yeVwiLCB7IGNvbG9yOiBcIiMxMGI5ODFcIiwgaWNvbjogXCJ0aS1kYXRhYmFzZVwiIH0pO1xuICAgIHJlZ2lzdGVyR3JhcGhDYXRlZ29yeVN0eWxlKFwid29ya3NwYWNlXCIsIHsgY29sb3I6IFwiI2Y1OWUwYlwiLCBpY29uOiBcInRpLWZvbGRlclwiIH0pO1xufVxuLy8gUmVnaXN0ZXIgYXQgbW9kdWxlIGxvYWQgc28gdGhlIHN0eWxlcyBhcmUgYXZhaWxhYmxlIGltbWVkaWF0ZWx5LlxucmVnaXN0ZXJCdWlsdGluQ2F0ZWdvcnlTdHlsZXMoKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVkyRjBaV2R2Y25rdGMzUjViR1Z6TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwyZHlZWEJvTDI1dlpHVnpMMk5oZEdWbmIzSjVMWE4wZVd4bGN5NTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVRzN096czdPenRIUVU5SE8wRkJRMGdzVDBGQlR5eEZRVUZGTERCQ1FVRXdRaXhGUVVGRkxEQkNRVUZ4UWp0QlFVVXhSRHM3T3pzN08wZEJUVWM3UVVGRFNDeE5RVUZOTEZWQlFWVXNOa0pCUVRaQ08wbEJRek5ETEd0Q1FVRnJRanRKUVVOc1Fpd3dRa0ZCTUVJc1EwRkJReXhUUVVGVExFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNVMEZCVXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hUUVVGVExFVkJRVVVzUTBGQlF5eERRVUZETzBsQlF6ZEZMREJDUVVFd1FpeERRVUZETEdOQlFXTXNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hUUVVGVExFVkJRVVVzU1VGQlNTeEZRVUZGTEcxQ1FVRnRRaXhGUVVGRkxFTkJRVU1zUTBGQlF6dEpRVU0xUml3d1FrRkJNRUlzUTBGQlF5eFRRVUZUTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxFbEJRVWtzUlVGQlJTeFRRVUZUTEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUXpkRkxEQkNRVUV3UWl4RFFVRkRMRTFCUVUwc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFRRVUZUTEVWQlFVVXNTVUZCU1N4RlFVRkZMRmRCUVZjc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRE5VVXNNRUpCUVRCQ0xFTkJRVU1zVlVGQlZTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFVkJRVVVzV1VGQldTeEZRVUZGTEVOQlFVTXNRMEZCUXp0SlFVTnFSaXd3UWtGQk1FSXNRMEZCUXl4VlFVRlZMRVZCUVVVc1JVRkJSU3hMUVVGTExFVkJRVVVzVTBGQlV5eEZRVUZGTEVsQlFVa3NSVUZCUlN4alFVRmpMRVZCUVVVc1EwRkJReXhEUVVGRE8wbEJRMjVHTERCQ1FVRXdRaXhEUVVGRExFMUJRVTBzUlVGQlJTeEZRVUZGTEV0QlFVc3NSVUZCUlN4VFFVRlRMRVZCUVVVc1NVRkJTU3hGUVVGRkxHbENRVUZwUWl4RlFVRkZMRU5CUVVNc1EwRkJRenRKUVVOc1Jpd3dRa0ZCTUVJc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNVMEZCVXl4RlFVRkZMRWxCUVVrc1JVRkJSU3hWUVVGVkxFVkJRVVVzUTBGQlF5eERRVUZETzBsQlJUVkZMR3RFUVVGclJEdEpRVU5zUkN3d1FrRkJNRUlzUTBGQlF5eFBRVUZQTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1UwRkJVeXhGUVVGRkxFbEJRVWtzUlVGQlJTeFJRVUZSTEVWQlFVVXNRMEZCUXl4RFFVRkRPMGxCUXpGRkxEQkNRVUV3UWl4RFFVRkRMRkZCUVZFc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeFRRVUZUTEVWQlFVVXNTVUZCU1N4RlFVRkZMR0ZCUVdFc1JVRkJSU3hEUVVGRExFTkJRVU03U1VGRGFFWXNNRUpCUVRCQ0xFTkJRVU1zVjBGQlZ5eEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRk5CUVZNc1JVRkJSU3hKUVVGSkxFVkJRVVVzVjBGQlZ5eEZRVUZGTEVOQlFVTXNRMEZCUXp0QlFVTnVSaXhEUVVGRE8wRkJSVVFzYlVWQlFXMUZPMEZCUTI1RkxEWkNRVUUyUWl4RlFVRkZMRU5CUVVNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SXZLaXBjYmlBcUlFQnRiMlIxYkdVZ2RXa3RaR1ZqYjNKaGRHOXljeTluY21Gd2FDOXViMlJsY3k5allYUmxaMjl5ZVMxemRIbHNaWE5jYmlBcUlFQnpkVzF0WVhKNUlFSjFhV3gwTFdsdUlHNXZaR1V2WTI5dWJtVmpkR2x2YmlCallYUmxaMjl5ZVNCemRIbHNaU0J5WldkcGMzUnlZWFJwYjI1ekxseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlGSmxaMmx6ZEdWeWN5QmtaV1poZFd4MElHTnZiRzl5Y3lCaGJtUWdhV052Ym5NZ1ptOXlJSFJvWlNCaWRXbHNkQzFwYmlCdWIyUmxJR0Z1WkZ4dUlDb2dZMjl1Ym1WamRHbHZiaUJqWVhSbFoyOXlhV1Z6SUNoRVJVTkJSaTB6TWlEQ3B6SXhMaklwTGlCVWFHVWdZR052Ykc5eVlDQXZJR0JwWTI5dVlDQnZiaUJoSUc1dlpHVW5jMXh1SUNvZ1lFQnViMlJsS0NsZ0lHMWxkR0ZrWVhSaElHRnlaU0J2Y0hScGIyNWhiQ0J2ZG1WeWNtbGtaWE1nNG9DVUlIZG9aVzRnYjIxcGRIUmxaQ3dnZEdobElHVm1abVZqZEdsMlpWeHVJQ29nYzNSNWJHVWdhWE1nY21WemIyeDJaV1FnWm5KdmJTQjBhR1VnWTJGMFpXZHZjbmtnY21WbmFYTjBjbmt1WEc0Z0tpOWNibWx0Y0c5eWRDQjdJSEpsWjJsemRHVnlSM0poY0doRFlYUmxaMjl5ZVZOMGVXeGxJSDBnWm5KdmJTQmNJaTR1TDJOdmJuTjBZVzUwYzF3aU8xeHVYRzR2S2lwY2JpQXFJRkpsWjJsemRHVnljeUJoYkd3Z1luVnBiSFF0YVc0Z1kyRjBaV2R2Y25rZ2MzUjViR1Z6TGlCRFlXeHNaV1FnYjI1alpTQmhkQ0J0YjJSMWJHVWdhVzVwZEM1Y2JpQXFYRzRnS2lCRFlYUmxaMjl5YVdWeklHUmxabWx1WlNCMGFHVWdaR1ZtWVhWc2RDQjJhWE4xWVd3Z2MzUjViR1VnWm05eUlHNXZaR1Z6SUdGdVpDQmpiMjV1WldOMGFXOXVJSEJ2Y25SekxseHVJQ29nUVNCdWIyUmxKM01nWlhod2JHbGphWFFnWUdOdmJHOXlZQ0F2SUdCcFkyOXVZQ0FvYjI0Z1lFQnViMlJsS0NsZ0tTQnZkbVZ5Y21sa1pYTWdkR2hsSUdOaGRHVm5iM0o1WEc0Z0tpQnpkSGxzWlRzZ2QyaGxiaUJ2YldsMGRHVmtMQ0IwYUdVZ1kyRjBaV2R2Y25rZ2MzUjViR1VnYVhNZ2RYTmxaQzVjYmlBcUwxeHVaWGh3YjNKMElHWjFibU4wYVc5dUlISmxaMmx6ZEdWeVFuVnBiSFJwYmtOaGRHVm5iM0o1VTNSNWJHVnpLQ2s2SUhadmFXUWdlMXh1SUNBdkx5Qk9iMlJsSUdOaGRHVm5iM0pwWlhOY2JpQWdjbVZuYVhOMFpYSkhjbUZ3YUVOaGRHVm5iM0o1VTNSNWJHVW9YQ0pVY21sbloyVnlYQ0lzSUhzZ1kyOXNiM0k2SUZ3aUl6TmlPREptTmx3aUxDQnBZMjl1T2lCY0luUnBMV0p2YkhSY0lpQjlLVHRjYmlBZ2NtVm5hWE4wWlhKSGNtRndhRU5oZEdWbmIzSjVVM1I1YkdVb1hDSkdiRzkzSUVOdmJuUnliMnhjSWl3Z2V5QmpiMnh2Y2pvZ1hDSWpaalU1WlRCaVhDSXNJR2xqYjI0NklGd2lkR2t0WVhKeWIzZHpMWE53YkdsMExUSmNJaUI5S1R0Y2JpQWdjbVZuYVhOMFpYSkhjbUZ3YUVOaGRHVm5iM0o1VTNSNWJHVW9YQ0pWZEdsc2FYUjVYQ0lzSUhzZ1kyOXNiM0k2SUZ3aUl6QmtPVFE0T0Z3aUxDQnBZMjl1T2lCY0luUnBMWFJ2YjJ4Y0lpQjlLVHRjYmlBZ2NtVm5hWE4wWlhKSGNtRndhRU5oZEdWbmIzSjVVM1I1YkdVb1hDSk1iMjl3WENJc0lIc2dZMjlzYjNJNklGd2lJMlZoWWpNd09Gd2lMQ0JwWTI5dU9pQmNJblJwTFhKbGNHVmhkRndpSUgwcE8xeHVJQ0J5WldkcGMzUmxja2R5WVhCb1EyRjBaV2R2Y25sVGRIbHNaU2hjSWxkdmNtdG1iRzkzWENJc0lIc2dZMjlzYjNJNklGd2lJMlk1TnpNeE5sd2lMQ0JwWTI5dU9pQmNJblJwTFhOcGRHVnRZWEJjSWlCOUtUdGNiaUFnY21WbmFYTjBaWEpIY21Gd2FFTmhkR1ZuYjNKNVUzUjViR1VvWENKUWFYQmxiR2x1WlZ3aUxDQjdJR052Ykc5eU9pQmNJaU13WldFMVpUbGNJaXdnYVdOdmJqb2dYQ0owYVMxbmFYUXRiV1Z5WjJWY0lpQjlLVHRjYmlBZ2NtVm5hWE4wWlhKSGNtRndhRU5oZEdWbmIzSjVVM1I1YkdVb1hDSk9iMlJsWENJc0lIc2dZMjlzYjNJNklGd2lJemhpTldObU5sd2lMQ0JwWTI5dU9pQmNJblJwTFhCdmFXNTBMV1pwYkd4bFpGd2lJSDBwTzF4dUlDQnlaV2RwYzNSbGNrZHlZWEJvUTJGMFpXZHZjbmxUZEhsc1pTaGNJa0ZuWlc1MFhDSXNJSHNnWTI5c2IzSTZJRndpSXpkak0yRmxaRndpTENCcFkyOXVPaUJjSW5ScExYSnZZbTkwWENJZ2ZTazdYRzVjYmlBZ0x5OGdRMjl1Ym1WamRHbHZiaUJqWVhSbFoyOXlhV1Z6SUNobWIzSWdRR052Ym01bFkzUnBiMjRvS1NCd2IzSjBjeWxjYmlBZ2NtVm5hWE4wWlhKSGNtRndhRU5oZEdWbmIzSjVVM1I1YkdVb1hDSnRiMlJsYkZ3aUxDQjdJR052Ykc5eU9pQmNJaU16WWpneVpqWmNJaXdnYVdOdmJqb2dYQ0owYVMxamNIVmNJaUI5S1R0Y2JpQWdjbVZuYVhOMFpYSkhjbUZ3YUVOaGRHVm5iM0o1VTNSNWJHVW9YQ0p0WlcxdmNubGNJaXdnZXlCamIyeHZjam9nWENJak1UQmlPVGd4WENJc0lHbGpiMjQ2SUZ3aWRHa3RaR0YwWVdKaGMyVmNJaUI5S1R0Y2JpQWdjbVZuYVhOMFpYSkhjbUZ3YUVOaGRHVm5iM0o1VTNSNWJHVW9YQ0ozYjNKcmMzQmhZMlZjSWl3Z2V5QmpiMnh2Y2pvZ1hDSWpaalU1WlRCaVhDSXNJR2xqYjI0NklGd2lkR2t0Wm05c1pHVnlYQ0lnZlNrN1hHNTlYRzVjYmk4dklGSmxaMmx6ZEdWeUlHRjBJRzF2WkhWc1pTQnNiMkZrSUhOdklIUm9aU0J6ZEhsc1pYTWdZWEpsSUdGMllXbHNZV0pzWlNCcGJXMWxaR2xoZEdWc2VTNWNibkpsWjJsemRHVnlRblZwYkhScGJrTmhkR1ZuYjNKNVUzUjViR1Z6S0NrN1hHNGlYWDA9Il19
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BreakFlowNode = 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/flow-control/break
20
+ * @summary Break flow-control node declaration (DECAF-32 §22.2.2).
21
+ * @description Break — breaks out of the enclosing loop (foreach/while/until).
22
+ * When executed inside a loop body, the loop terminates early and the loop's
23
+ * `completed`/`state` output carries the results collected so far. The Break
24
+ * node executor throws a `GraphBreakSignal` that the enclosing loop executor
25
+ * catches.
26
+ */
27
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
28
+ const decorators_js_1 = require("./../../../ui/decorators.cjs");
29
+ const decorators_js_2 = require("./../../decorators.cjs");
30
+ // Ensure category styles are registered (idempotent).
31
+ require("./../category-styles.cjs");
32
+ let BreakFlowNode = class BreakFlowNode extends decorator_validation_1.Model {
33
+ };
34
+ exports.BreakFlowNode = BreakFlowNode;
35
+ __decorate([
36
+ (0, decorator_validation_1.required)(),
37
+ (0, decorators_js_1.uielement)("textarea", { label: "Value", placeholder: "Value to forward (collected as the last partial result)" }),
38
+ (0, decorators_js_2.input)({ handle: "value" }),
39
+ __metadata("design:type", Object)
40
+ ], BreakFlowNode.prototype, "value", void 0);
41
+ __decorate([
42
+ (0, decorator_validation_1.required)(),
43
+ (0, decorators_js_2.output)({ handle: "broken" }),
44
+ __metadata("design:type", Object)
45
+ ], BreakFlowNode.prototype, "broken", void 0);
46
+ exports.BreakFlowNode = BreakFlowNode = __decorate([
47
+ (0, decorators_js_2.node)("core.flow.break", {
48
+ kind: "core.flow.break",
49
+ category: "Flow Control",
50
+ color: "#ef4444",
51
+ icon: "ti-square-arrow-right",
52
+ width: 96,
53
+ height: 96,
54
+ labels: ["flow", "break", "loop", "control"],
55
+ metadata: {
56
+ title: "Break",
57
+ description: "Breaks out of the enclosing loop. The loop terminates early and returns the results collected so far.",
58
+ },
59
+ }),
60
+ (0, decorator_validation_1.model)()
61
+ ], BreakFlowNode);
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2JyZWFrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7Ozs7OztHQVFHO0FBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQ0FBK0I7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLDhCQUF5QjtBQUV2RCxzREFBc0Q7QUFDdEQsaUNBQTRCO0FBZ0JyQixJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsS0FBSztDQVN2QyxDQUFBO0FBTEM7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUseURBQXlELEVBQUUsQ0FBQztJQUNqSCxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7OzRDQUNYO0FBSWhCO0lBRkMsUUFBUSxFQUFFO0lBQ1YsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDOzs2Q0FDWjtBQVJOLGFBQWE7SUFkekIsSUFBSSxDQUFDLGlCQUFpQixFQUFFO1FBQ3ZCLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsUUFBUSxFQUFFLGNBQWM7UUFDeEIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLHVCQUF1QjtRQUM3QixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDO1FBQzVDLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxPQUFPO1lBQ2QsV0FBVyxFQUFFLHVHQUF1RztTQUNySDtLQUNGLENBQUM7SUFDRCxLQUFLLEVBQUU7R0FDSyxhQUFhLENBU3pCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2JyZWFrXG4gKiBAc3VtbWFyeSBCcmVhayBmbG93LWNvbnRyb2wgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIEJyZWFrIOKAlCBicmVha3Mgb3V0IG9mIHRoZSBlbmNsb3NpbmcgbG9vcCAoZm9yZWFjaC93aGlsZS91bnRpbCkuXG4gKiBXaGVuIGV4ZWN1dGVkIGluc2lkZSBhIGxvb3AgYm9keSwgdGhlIGxvb3AgdGVybWluYXRlcyBlYXJseSBhbmQgdGhlIGxvb3Anc1xuICogYGNvbXBsZXRlZGAvYHN0YXRlYCBvdXRwdXQgY2FycmllcyB0aGUgcmVzdWx0cyBjb2xsZWN0ZWQgc28gZmFyLiBUaGUgQnJlYWtcbiAqIG5vZGUgZXhlY3V0b3IgdGhyb3dzIGEgYEdyYXBoQnJlYWtTaWduYWxgIHRoYXQgdGhlIGVuY2xvc2luZyBsb29wIGV4ZWN1dG9yXG4gKiBjYXRjaGVzLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIi4uLy4uLy4uL3VpL2RlY29yYXRvcnNcIjtcbmltcG9ydCB7IGlucHV0LCBub2RlLCBvdXRwdXQgfSBmcm9tIFwiLi4vLi4vZGVjb3JhdG9yc1wiO1xuXG4vLyBFbnN1cmUgY2F0ZWdvcnkgc3R5bGVzIGFyZSByZWdpc3RlcmVkIChpZGVtcG90ZW50KS5cbmltcG9ydCBcIi4uL2NhdGVnb3J5LXN0eWxlc1wiO1xuXG5Abm9kZShcImNvcmUuZmxvdy5icmVha1wiLCB7XG4gIGtpbmQ6IFwiY29yZS5mbG93LmJyZWFrXCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjZWY0NDQ0XCIsXG4gIGljb246IFwidGktc3F1YXJlLWFycm93LXJpZ2h0XCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiYnJlYWtcIiwgXCJsb29wXCIsIFwiY29udHJvbFwiXSxcbiAgbWV0YWRhdGE6IHtcbiAgICB0aXRsZTogXCJCcmVha1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkJyZWFrcyBvdXQgb2YgdGhlIGVuY2xvc2luZyBsb29wLiBUaGUgbG9vcCB0ZXJtaW5hdGVzIGVhcmx5IGFuZCByZXR1cm5zIHRoZSByZXN1bHRzIGNvbGxlY3RlZCBzbyBmYXIuXCIsXG4gIH0sXG59KVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBCcmVha0Zsb3dOb2RlIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBAdWllbGVtZW50KFwidGV4dGFyZWFcIiwgeyBsYWJlbDogXCJWYWx1ZVwiLCBwbGFjZWhvbGRlcjogXCJWYWx1ZSB0byBmb3J3YXJkIChjb2xsZWN0ZWQgYXMgdGhlIGxhc3QgcGFydGlhbCByZXN1bHQpXCIgfSlcbiAgQGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSlcbiAgdmFsdWUhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEBvdXRwdXQoeyBoYW5kbGU6IFwiYnJva2VuXCIgfSlcbiAgYnJva2VuITogdW5rbm93bjtcbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJicmVhay5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsSixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBQ0YsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDeEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdHLENBQUMsQ0FBQztBQUNGOzs7Ozs7OztHQVFHO0FBQ0gseUVBQXdFO0FBQ3hFLCtEQUF3RDtBQUN4RCx5REFBNEQ7QUFDNUQsc0RBQXNEO0FBQ3RELG1DQUFpQztBQUNqQyxJQUFJLGFBQWEsR0FBRyxNQUFNLGFBQWMsU0FBUSw0QkFBSztDQUNwRCxDQUFDO0FBNEJPLHNDQUFhO0FBM0J0QixVQUFVLENBQUM7SUFDUCxJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHlCQUFTLEVBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUseURBQXlELEVBQUUsQ0FBQztJQUNqSCxJQUFBLHFCQUFLLEVBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDMUIsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxhQUFhLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzdDLFVBQVUsQ0FBQztJQUNQLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEsc0JBQU0sRUFBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUM1QixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLGFBQWEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDOUMsd0JBQUEsYUFBYSxHQUFHLFVBQVUsQ0FBQztJQUN2QixJQUFBLG9CQUFJLEVBQUMsaUJBQWlCLEVBQUU7UUFDcEIsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixRQUFRLEVBQUUsY0FBYztRQUN4QixLQUFLLEVBQUUsU0FBUztRQUNoQixJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLEtBQUssRUFBRSxFQUFFO1FBQ1QsTUFBTSxFQUFFLEVBQUU7UUFDVixNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUM7UUFDNUMsUUFBUSxFQUFFO1lBQ04sS0FBSyxFQUFFLE9BQU87WUFDZCxXQUFXLEVBQUUsdUdBQXVHO1NBQ3ZIO0tBQ0osQ0FBQztJQUNGLElBQUEsNEJBQUssR0FBRTtDQUNWLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFFbEIsMHZHQUEwdkciLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2JyZWFrXG4gKiBAc3VtbWFyeSBCcmVhayBmbG93LWNvbnRyb2wgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIEJyZWFrIOKAlCBicmVha3Mgb3V0IG9mIHRoZSBlbmNsb3NpbmcgbG9vcCAoZm9yZWFjaC93aGlsZS91bnRpbCkuXG4gKiBXaGVuIGV4ZWN1dGVkIGluc2lkZSBhIGxvb3AgYm9keSwgdGhlIGxvb3AgdGVybWluYXRlcyBlYXJseSBhbmQgdGhlIGxvb3Anc1xuICogYGNvbXBsZXRlZGAvYHN0YXRlYCBvdXRwdXQgY2FycmllcyB0aGUgcmVzdWx0cyBjb2xsZWN0ZWQgc28gZmFyLiBUaGUgQnJlYWtcbiAqIG5vZGUgZXhlY3V0b3IgdGhyb3dzIGEgYEdyYXBoQnJlYWtTaWduYWxgIHRoYXQgdGhlIGVuY2xvc2luZyBsb29wIGV4ZWN1dG9yXG4gKiBjYXRjaGVzLlxuICovXG5pbXBvcnQgeyBNb2RlbCwgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgdWllbGVtZW50IH0gZnJvbSBcIi4vLi4vLi4vLi4vdWkvZGVjb3JhdG9ycy5qc1wiO1xuaW1wb3J0IHsgaW5wdXQsIG5vZGUsIG91dHB1dCB9IGZyb20gXCIuLy4uLy4uL2RlY29yYXRvcnMuanNcIjtcbi8vIEVuc3VyZSBjYXRlZ29yeSBzdHlsZXMgYXJlIHJlZ2lzdGVyZWQgKGlkZW1wb3RlbnQpLlxuaW1wb3J0IFwiLi8uLi9jYXRlZ29yeS1zdHlsZXMuanNcIjtcbmxldCBCcmVha0Zsb3dOb2RlID0gY2xhc3MgQnJlYWtGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiVmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gZm9yd2FyZCAoY29sbGVjdGVkIGFzIHRoZSBsYXN0IHBhcnRpYWwgcmVzdWx0KVwiIH0pLFxuICAgIGlucHV0KHsgaGFuZGxlOiBcInZhbHVlXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEJyZWFrRmxvd05vZGUucHJvdG90eXBlLCBcInZhbHVlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIG91dHB1dCh7IGhhbmRsZTogXCJicm9rZW5cIiB9KSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgT2JqZWN0KVxuXSwgQnJlYWtGbG93Tm9kZS5wcm90b3R5cGUsIFwiYnJva2VuXCIsIHZvaWQgMCk7XG5CcmVha0Zsb3dOb2RlID0gX19kZWNvcmF0ZShbXG4gICAgbm9kZShcImNvcmUuZmxvdy5icmVha1wiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS5mbG93LmJyZWFrXCIsXG4gICAgICAgIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICAgICAgICBjb2xvcjogXCIjZWY0NDQ0XCIsXG4gICAgICAgIGljb246IFwidGktc3F1YXJlLWFycm93LXJpZ2h0XCIsXG4gICAgICAgIHdpZHRoOiA5NixcbiAgICAgICAgaGVpZ2h0OiA5NixcbiAgICAgICAgbGFiZWxzOiBbXCJmbG93XCIsIFwiYnJlYWtcIiwgXCJsb29wXCIsIFwiY29udHJvbFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIkJyZWFrXCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJCcmVha3Mgb3V0IG9mIHRoZSBlbmNsb3NpbmcgbG9vcC4gVGhlIGxvb3AgdGVybWluYXRlcyBlYXJseSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0cyBjb2xsZWN0ZWQgc28gZmFyLlwiLFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIEJyZWFrRmxvd05vZGUpO1xuZXhwb3J0IHsgQnJlYWtGbG93Tm9kZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pWW5KbFlXc3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOHVMaTl6Y21NdlozSmhjR2d2Ym05a1pYTXZabXh2ZHkxamIyNTBjbTlzTDJKeVpXRnJMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUk3T3pzN096czdPenRCUVVGQk96czdPenM3T3p0SFFWRkhPMEZCUTBnc1QwRkJUeXhGUVVGRkxFdEJRVXNzUlVGQlJTeExRVUZMTEVWQlFVVXNVVUZCVVN4RlFVRkZMRTFCUVUwc1owTkJRV2RETEVOQlFVTTdRVUZEZUVVc1QwRkJUeXhGUVVGRkxGTkJRVk1zUlVGQlJTeHZRMEZCSzBJN1FVRkRia1FzVDBGQlR5eEZRVUZGTEV0QlFVc3NSVUZCUlN4SlFVRkpMRVZCUVVVc1RVRkJUU3hGUVVGRkxEaENRVUY1UWp0QlFVVjJSQ3h6UkVGQmMwUTdRVUZEZEVRc2FVTkJRVFJDTzBGQlowSnlRaXhKUVVGTkxHRkJRV0VzUjBGQmJrSXNUVUZCVFN4aFFVRmpMRk5CUVZFc1MwRkJTenREUVZOMlF5eERRVUZCTzBGQlRFTTdTVUZJUXl4UlFVRlJMRVZCUVVVN1NVRkRWaXhUUVVGVExFTkJRVU1zVlVGQlZTeEZRVUZGTEVWQlFVVXNTMEZCU3l4RlFVRkZMRTlCUVU4c1JVRkJSU3hYUVVGWExFVkJRVVVzZVVSQlFYbEVMRVZCUVVVc1EwRkJRenRKUVVOcVNDeExRVUZMTEVOQlFVTXNSVUZCUlN4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFTkJRVU03T3pSRFFVTllPMEZCU1doQ08wbEJSa01zVVVGQlVTeEZRVUZGTzBsQlExWXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxGRkJRVkVzUlVGQlJTeERRVUZET3pzMlEwRkRXanRCUVZKT0xHRkJRV0U3U1VGa2VrSXNTVUZCU1N4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTzFGQlEzWkNMRWxCUVVrc1JVRkJSU3hwUWtGQmFVSTdVVUZEZGtJc1VVRkJVU3hGUVVGRkxHTkJRV003VVVGRGVFSXNTMEZCU3l4RlFVRkZMRk5CUVZNN1VVRkRhRUlzU1VGQlNTeEZRVUZGTEhWQ1FVRjFRanRSUVVNM1FpeExRVUZMTEVWQlFVVXNSVUZCUlR0UlFVTlVMRTFCUVUwc1JVRkJSU3hGUVVGRk8xRkJRMVlzVFVGQlRTeEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzVTBGQlV5eERRVUZETzFGQlF6VkRMRkZCUVZFc1JVRkJSVHRaUVVOU0xFdEJRVXNzUlVGQlJTeFBRVUZQTzFsQlEyUXNWMEZCVnl4RlFVRkZMSFZIUVVGMVJ6dFRRVU55U0R0TFFVTkdMRU5CUVVNN1NVRkRSQ3hMUVVGTExFVkJRVVU3UjBGRFN5eGhRVUZoTEVOQlUzcENJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJSFZwTFdSbFkyOXlZWFJ2Y25NdlozSmhjR2d2Ym05a1pYTXZabXh2ZHkxamIyNTBjbTlzTDJKeVpXRnJYRzRnS2lCQWMzVnRiV0Z5ZVNCQ2NtVmhheUJtYkc5M0xXTnZiblJ5YjJ3Z2JtOWtaU0JrWldOc1lYSmhkR2x2YmlBb1JFVkRRVVl0TXpJZ3dxY3lNaTR5TGpJcExseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlFSnlaV0ZySU9LQWxDQmljbVZoYTNNZ2IzVjBJRzltSUhSb1pTQmxibU5zYjNOcGJtY2diRzl2Y0NBb1ptOXlaV0ZqYUM5M2FHbHNaUzkxYm5ScGJDa3VYRzRnS2lCWGFHVnVJR1Y0WldOMWRHVmtJR2x1YzJsa1pTQmhJR3h2YjNBZ1ltOWtlU3dnZEdobElHeHZiM0FnZEdWeWJXbHVZWFJsY3lCbFlYSnNlU0JoYm1RZ2RHaGxJR3h2YjNBbmMxeHVJQ29nWUdOdmJYQnNaWFJsWkdBdllITjBZWFJsWUNCdmRYUndkWFFnWTJGeWNtbGxjeUIwYUdVZ2NtVnpkV3gwY3lCamIyeHNaV04wWldRZ2MyOGdabUZ5TGlCVWFHVWdRbkpsWVd0Y2JpQXFJRzV2WkdVZ1pYaGxZM1YwYjNJZ2RHaHliM2R6SUdFZ1lFZHlZWEJvUW5KbFlXdFRhV2R1WVd4Z0lIUm9ZWFFnZEdobElHVnVZMnh2YzJsdVp5QnNiMjl3SUdWNFpXTjFkRzl5WEc0Z0tpQmpZWFJqYUdWekxseHVJQ292WEc1cGJYQnZjblFnZXlCTmIyUmxiQ3dnYlc5a1pXd3NJSEpsY1hWcGNtVmtJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWldOdmNtRjBiM0l0ZG1Gc2FXUmhkR2x2Ymx3aU8xeHVhVzF3YjNKMElIc2dkV2xsYkdWdFpXNTBJSDBnWm5KdmJTQmNJaTR1THk0dUx5NHVMM1ZwTDJSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJR2x1Y0hWMExDQnViMlJsTENCdmRYUndkWFFnZlNCbWNtOXRJRndpTGk0dkxpNHZaR1ZqYjNKaGRHOXljMXdpTzF4dVhHNHZMeUJGYm5OMWNtVWdZMkYwWldkdmNua2djM1I1YkdWeklHRnlaU0J5WldkcGMzUmxjbVZrSUNocFpHVnRjRzkwWlc1MEtTNWNibWx0Y0c5eWRDQmNJaTR1TDJOaGRHVm5iM0o1TFhOMGVXeGxjMXdpTzF4dVhHNUFibTlrWlNoY0ltTnZjbVV1Wm14dmR5NWljbVZoYTF3aUxDQjdYRzRnSUd0cGJtUTZJRndpWTI5eVpTNW1iRzkzTG1KeVpXRnJYQ0lzWEc0Z0lHTmhkR1ZuYjNKNU9pQmNJa1pzYjNjZ1EyOXVkSEp2YkZ3aUxGeHVJQ0JqYjJ4dmNqb2dYQ0lqWldZME5EUTBYQ0lzWEc0Z0lHbGpiMjQ2SUZ3aWRHa3RjM0YxWVhKbExXRnljbTkzTFhKcFoyaDBYQ0lzWEc0Z0lIZHBaSFJvT2lBNU5peGNiaUFnYUdWcFoyaDBPaUE1Tml4Y2JpQWdiR0ZpWld4ek9pQmJYQ0ptYkc5M1hDSXNJRndpWW5KbFlXdGNJaXdnWENKc2IyOXdYQ0lzSUZ3aVkyOXVkSEp2YkZ3aVhTeGNiaUFnYldWMFlXUmhkR0U2SUh0Y2JpQWdJQ0IwYVhSc1pUb2dYQ0pDY21WaGExd2lMRnh1SUNBZ0lHUmxjMk55YVhCMGFXOXVPaUJjSWtKeVpXRnJjeUJ2ZFhRZ2IyWWdkR2hsSUdWdVkyeHZjMmx1WnlCc2IyOXdMaUJVYUdVZ2JHOXZjQ0IwWlhKdGFXNWhkR1Z6SUdWaGNteDVJR0Z1WkNCeVpYUjFjbTV6SUhSb1pTQnlaWE4xYkhSeklHTnZiR3hsWTNSbFpDQnpieUJtWVhJdVhDSXNYRzRnSUgwc1hHNTlLVnh1UUcxdlpHVnNLQ2xjYm1WNGNHOXlkQ0JqYkdGemN5QkNjbVZoYTBac2IzZE9iMlJsSUdWNGRHVnVaSE1nVFc5a1pXd2dlMXh1SUNCQWNtVnhkV2x5WldRb0tWeHVJQ0JBZFdsbGJHVnRaVzUwS0Z3aWRHVjRkR0Z5WldGY0lpd2dleUJzWVdKbGJEb2dYQ0pXWVd4MVpWd2lMQ0J3YkdGalpXaHZiR1JsY2pvZ1hDSldZV3gxWlNCMGJ5Qm1iM0ozWVhKa0lDaGpiMnhzWldOMFpXUWdZWE1nZEdobElHeGhjM1FnY0dGeWRHbGhiQ0J5WlhOMWJIUXBYQ0lnZlNsY2JpQWdRR2x1Y0hWMEtIc2dhR0Z1Wkd4bE9pQmNJblpoYkhWbFhDSWdmU2xjYmlBZ2RtRnNkV1VoT2lCMWJtdHViM2R1TzF4dVhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQnZkWFJ3ZFhRb2V5Qm9ZVzVrYkdVNklGd2lZbkp2YTJWdVhDSWdmU2xjYmlBZ1luSnZhMlZ1SVRvZ2RXNXJibTkzYmp0Y2JuMWNiaUpkZlE9PSJdfQ==
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorBoundaryFlowNode = 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/flow-control/error-boundary
20
+ * @summary Error-boundary flow-control node declaration (DECAF-32 §22.2.2).
21
+ * @description Error boundary — try/catch/finally workflow behaviour.
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 ErrorBoundaryFlowNode = class ErrorBoundaryFlowNode extends decorator_validation_1.Model {
29
+ };
30
+ exports.ErrorBoundaryFlowNode = ErrorBoundaryFlowNode;
31
+ __decorate([
32
+ (0, decorator_validation_1.required)(),
33
+ (0, decorators_js_1.uielement)("textarea", { label: "Input value", placeholder: "Value to guard" }),
34
+ (0, decorators_js_2.input)({ handle: "value" }),
35
+ __metadata("design:type", Object)
36
+ ], ErrorBoundaryFlowNode.prototype, "value", void 0);
37
+ __decorate([
38
+ (0, decorator_validation_1.required)(),
39
+ (0, decorators_js_1.uielement)("input", { label: "Result", placeholder: "Output on success" }),
40
+ (0, decorators_js_2.output)({ handle: "result" }),
41
+ __metadata("design:type", Object)
42
+ ], ErrorBoundaryFlowNode.prototype, "result", void 0);
43
+ __decorate([
44
+ (0, decorator_validation_1.required)(),
45
+ (0, decorators_js_1.uielement)("input", { label: "Error", placeholder: "Output on failure" }),
46
+ (0, decorators_js_2.output)({ handle: "error" }),
47
+ __metadata("design:type", Object)
48
+ ], ErrorBoundaryFlowNode.prototype, "error", void 0);
49
+ exports.ErrorBoundaryFlowNode = ErrorBoundaryFlowNode = __decorate([
50
+ (0, decorators_js_2.node)("core.flow.errorBoundary", {
51
+ kind: "core.flow.errorBoundary",
52
+ category: "Flow Control",
53
+ color: "#ef4444",
54
+ icon: "ti-shield-check",
55
+ width: 96,
56
+ height: 96,
57
+ labels: ["flow", "error", "try-catch"],
58
+ metadata: {
59
+ title: "Error boundary",
60
+ description: "Wraps the input in a try/catch/finally. Emits the result on success, or the error on failure.",
61
+ finally: false,
62
+ },
63
+ }),
64
+ (0, decorator_validation_1.model)()
65
+ ], ErrorBoundaryFlowNode);
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItYm91bmRhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2Vycm9yLWJvdW5kYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7O0dBSUc7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLG9DQUErQjtBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsOEJBQXlCO0FBRXZELHNEQUFzRDtBQUN0RCxpQ0FBNEI7QUFpQnJCLElBQU0scUJBQXFCLEdBQTNCLE1BQU0scUJBQXNCLFNBQVEsS0FBSztDQWUvQyxDQUFBO0FBWEM7SUFIQyxRQUFRLEVBQUU7SUFDVixTQUFTLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztJQUM5RSxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7O29EQUNYO0FBS2hCO0lBSEMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQUM7SUFDekUsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDOztxREFDWjtBQUtqQjtJQUhDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0lBQ3hFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQzs7b0RBQ1o7QUFkTCxxQkFBcUI7SUFmakMsSUFBSSxDQUFDLHlCQUF5QixFQUFFO1FBQy9CLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsUUFBUSxFQUFFLGNBQWM7UUFDeEIsS0FBSyxFQUFFLFNBQVM7UUFDaEIsSUFBSSxFQUFFLGlCQUFpQjtRQUN2QixLQUFLLEVBQUUsRUFBRTtRQUNULE1BQU0sRUFBRSxFQUFFO1FBQ1YsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUM7UUFDdEMsUUFBUSxFQUFFO1lBQ1IsS0FBSyxFQUFFLGdCQUFnQjtZQUN2QixXQUFXLEVBQUUsK0ZBQStGO1lBQzVHLE9BQU8sRUFBRSxLQUFLO1NBQ2Y7S0FDRixDQUFDO0lBQ0QsS0FBSyxFQUFFO0dBQ0sscUJBQXFCLENBZWpDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2Vycm9yLWJvdW5kYXJ5XG4gKiBAc3VtbWFyeSBFcnJvci1ib3VuZGFyeSBmbG93LWNvbnRyb2wgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIEVycm9yIGJvdW5kYXJ5IOKAlCB0cnkvY2F0Y2gvZmluYWxseSB3b3JrZmxvdyBiZWhhdmlvdXIuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiLi4vLi4vLi4vdWkvZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgaW5wdXQsIG5vZGUsIG91dHB1dCB9IGZyb20gXCIuLi8uLi9kZWNvcmF0b3JzXCI7XG5cbi8vIEVuc3VyZSBjYXRlZ29yeSBzdHlsZXMgYXJlIHJlZ2lzdGVyZWQgKGlkZW1wb3RlbnQpLlxuaW1wb3J0IFwiLi4vY2F0ZWdvcnktc3R5bGVzXCI7XG5cbkBub2RlKFwiY29yZS5mbG93LmVycm9yQm91bmRhcnlcIiwge1xuICBraW5kOiBcImNvcmUuZmxvdy5lcnJvckJvdW5kYXJ5XCIsXG4gIGNhdGVnb3J5OiBcIkZsb3cgQ29udHJvbFwiLFxuICBjb2xvcjogXCIjZWY0NDQ0XCIsXG4gIGljb246IFwidGktc2hpZWxkLWNoZWNrXCIsXG4gIHdpZHRoOiA5NixcbiAgaGVpZ2h0OiA5NixcbiAgbGFiZWxzOiBbXCJmbG93XCIsIFwiZXJyb3JcIiwgXCJ0cnktY2F0Y2hcIl0sXG4gIG1ldGFkYXRhOiB7XG4gICAgdGl0bGU6IFwiRXJyb3IgYm91bmRhcnlcIixcbiAgICBkZXNjcmlwdGlvbjogXCJXcmFwcyB0aGUgaW5wdXQgaW4gYSB0cnkvY2F0Y2gvZmluYWxseS4gRW1pdHMgdGhlIHJlc3VsdCBvbiBzdWNjZXNzLCBvciB0aGUgZXJyb3Igb24gZmFpbHVyZS5cIixcbiAgICBmaW5hbGx5OiBmYWxzZSxcbiAgfSxcbn0pXG5AbW9kZWwoKVxuZXhwb3J0IGNsYXNzIEVycm9yQm91bmRhcnlGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gZ3VhcmRcIiB9KVxuICBAaW5wdXQoeyBoYW5kbGU6IFwidmFsdWVcIiB9KVxuICB2YWx1ZSE6IHVua25vd247XG5cbiAgQHJlcXVpcmVkKClcbiAgQHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiUmVzdWx0XCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCBvbiBzdWNjZXNzXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJyZXN1bHRcIiB9KVxuICByZXN1bHQhOiB1bmtub3duO1xuXG4gIEByZXF1aXJlZCgpXG4gIEB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIkVycm9yXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCBvbiBmYWlsdXJlXCIgfSlcbiAgQG91dHB1dCh7IGhhbmRsZTogXCJlcnJvclwiIH0pXG4gIGVycm9yITogdW5rbm93bjtcbn1cbiJdfQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItYm91bmRhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlcnJvci1ib3VuZGFyeS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJO0lBQ2pGLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0gsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQzs7UUFDMUgsS0FBSyxJQUFJLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsSixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDO0FBQ0YsSUFBSSxVQUFVLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUM7SUFDeEQsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLFVBQVU7UUFBRSxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzdHLENBQUMsQ0FBQztBQUNGOzs7O0dBSUc7QUFDSCx5RUFBd0U7QUFDeEUsK0RBQXdEO0FBQ3hELHlEQUE0RDtBQUM1RCxzREFBc0Q7QUFDdEQsbUNBQWlDO0FBQ2pDLElBQUkscUJBQXFCLEdBQUcsTUFBTSxxQkFBc0IsU0FBUSw0QkFBSztDQUNwRSxDQUFDO0FBb0NPLHNEQUFxQjtBQW5DOUIsVUFBVSxDQUFDO0lBQ1AsSUFBQSwrQkFBUSxHQUFFO0lBQ1YsSUFBQSx5QkFBUyxFQUFDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLENBQUM7SUFDOUUsSUFBQSxxQkFBSyxFQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzFCLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUscUJBQXFCLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3JELFVBQVUsQ0FBQztJQUNQLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEseUJBQVMsRUFBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0lBQ3pFLElBQUEsc0JBQU0sRUFBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUM1QixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN0RCxVQUFVLENBQUM7SUFDUCxJQUFBLCtCQUFRLEdBQUU7SUFDVixJQUFBLHlCQUFTLEVBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztJQUN4RSxJQUFBLHNCQUFNLEVBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDM0IsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7Q0FDcEMsRUFBRSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDckQsZ0NBQUEscUJBQXFCLEdBQUcsVUFBVSxDQUFDO0lBQy9CLElBQUEsb0JBQUksRUFBQyx5QkFBeUIsRUFBRTtRQUM1QixJQUFJLEVBQUUseUJBQXlCO1FBQy9CLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLEtBQUssRUFBRSxTQUFTO1FBQ2hCLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsS0FBSyxFQUFFLEVBQUU7UUFDVCxNQUFNLEVBQUUsRUFBRTtRQUNWLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxDQUFDO1FBQ3RDLFFBQVEsRUFBRTtZQUNOLEtBQUssRUFBRSxnQkFBZ0I7WUFDdkIsV0FBVyxFQUFFLCtGQUErRjtZQUM1RyxPQUFPLEVBQUUsS0FBSztTQUNqQjtLQUNKLENBQUM7SUFDRixJQUFBLDRCQUFLLEdBQUU7Q0FDVixFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFFMUIsa2xIQUFrbEgiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuLyoqXG4gKiBAbW9kdWxlIHVpLWRlY29yYXRvcnMvZ3JhcGgvbm9kZXMvZmxvdy1jb250cm9sL2Vycm9yLWJvdW5kYXJ5XG4gKiBAc3VtbWFyeSBFcnJvci1ib3VuZGFyeSBmbG93LWNvbnRyb2wgbm9kZSBkZWNsYXJhdGlvbiAoREVDQUYtMzIgwqcyMi4yLjIpLlxuICogQGRlc2NyaXB0aW9uIEVycm9yIGJvdW5kYXJ5IOKAlCB0cnkvY2F0Y2gvZmluYWxseSB3b3JrZmxvdyBiZWhhdmlvdXIuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyB1aWVsZW1lbnQgfSBmcm9tIFwiLi8uLi8uLi8uLi91aS9kZWNvcmF0b3JzLmpzXCI7XG5pbXBvcnQgeyBpbnB1dCwgbm9kZSwgb3V0cHV0IH0gZnJvbSBcIi4vLi4vLi4vZGVjb3JhdG9ycy5qc1wiO1xuLy8gRW5zdXJlIGNhdGVnb3J5IHN0eWxlcyBhcmUgcmVnaXN0ZXJlZCAoaWRlbXBvdGVudCkuXG5pbXBvcnQgXCIuLy4uL2NhdGVnb3J5LXN0eWxlcy5qc1wiO1xubGV0IEVycm9yQm91bmRhcnlGbG93Tm9kZSA9IGNsYXNzIEVycm9yQm91bmRhcnlGbG93Tm9kZSBleHRlbmRzIE1vZGVsIHtcbn07XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcInRleHRhcmVhXCIsIHsgbGFiZWw6IFwiSW5wdXQgdmFsdWVcIiwgcGxhY2Vob2xkZXI6IFwiVmFsdWUgdG8gZ3VhcmRcIiB9KSxcbiAgICBpbnB1dCh7IGhhbmRsZTogXCJ2YWx1ZVwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBFcnJvckJvdW5kYXJ5Rmxvd05vZGUucHJvdG90eXBlLCBcInZhbHVlXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIHVpZWxlbWVudChcImlucHV0XCIsIHsgbGFiZWw6IFwiUmVzdWx0XCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCBvbiBzdWNjZXNzXCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcInJlc3VsdFwiIH0pLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBFcnJvckJvdW5kYXJ5Rmxvd05vZGUucHJvdG90eXBlLCBcInJlc3VsdFwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICB1aWVsZW1lbnQoXCJpbnB1dFwiLCB7IGxhYmVsOiBcIkVycm9yXCIsIHBsYWNlaG9sZGVyOiBcIk91dHB1dCBvbiBmYWlsdXJlXCIgfSksXG4gICAgb3V0cHV0KHsgaGFuZGxlOiBcImVycm9yXCIgfSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEVycm9yQm91bmRhcnlGbG93Tm9kZS5wcm90b3R5cGUsIFwiZXJyb3JcIiwgdm9pZCAwKTtcbkVycm9yQm91bmRhcnlGbG93Tm9kZSA9IF9fZGVjb3JhdGUoW1xuICAgIG5vZGUoXCJjb3JlLmZsb3cuZXJyb3JCb3VuZGFyeVwiLCB7XG4gICAgICAgIGtpbmQ6IFwiY29yZS5mbG93LmVycm9yQm91bmRhcnlcIixcbiAgICAgICAgY2F0ZWdvcnk6IFwiRmxvdyBDb250cm9sXCIsXG4gICAgICAgIGNvbG9yOiBcIiNlZjQ0NDRcIixcbiAgICAgICAgaWNvbjogXCJ0aS1zaGllbGQtY2hlY2tcIixcbiAgICAgICAgd2lkdGg6IDk2LFxuICAgICAgICBoZWlnaHQ6IDk2LFxuICAgICAgICBsYWJlbHM6IFtcImZsb3dcIiwgXCJlcnJvclwiLCBcInRyeS1jYXRjaFwiXSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIHRpdGxlOiBcIkVycm9yIGJvdW5kYXJ5XCIsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJXcmFwcyB0aGUgaW5wdXQgaW4gYSB0cnkvY2F0Y2gvZmluYWxseS4gRW1pdHMgdGhlIHJlc3VsdCBvbiBzdWNjZXNzLCBvciB0aGUgZXJyb3Igb24gZmFpbHVyZS5cIixcbiAgICAgICAgICAgIGZpbmFsbHk6IGZhbHNlLFxuICAgICAgICB9LFxuICAgIH0pLFxuICAgIG1vZGVsKClcbl0sIEVycm9yQm91bmRhcnlGbG93Tm9kZSk7XG5leHBvcnQgeyBFcnJvckJvdW5kYXJ5Rmxvd05vZGUgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVpYSnliM0l0WW05MWJtUmhjbmt1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTh1TGk5emNtTXZaM0poY0dndmJtOWtaWE12Wm14dmR5MWpiMjUwY205c0wyVnljbTl5TFdKdmRXNWtZWEo1TG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lJN096czdPenM3T3p0QlFVRkJPenM3TzBkQlNVYzdRVUZEU0N4UFFVRlBMRVZCUVVVc1MwRkJTeXhGUVVGRkxFdEJRVXNzUlVGQlJTeFJRVUZSTEVWQlFVVXNUVUZCVFN4blEwRkJaME1zUTBGQlF6dEJRVU40UlN4UFFVRlBMRVZCUVVVc1UwRkJVeXhGUVVGRkxHOURRVUVyUWp0QlFVTnVSQ3hQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZGTEVsQlFVa3NSVUZCUlN4TlFVRk5MRVZCUVVVc09FSkJRWGxDTzBGQlJYWkVMSE5FUVVGelJEdEJRVU4wUkN4cFEwRkJORUk3UVVGcFFuSkNMRWxCUVUwc2NVSkJRWEZDTEVkQlFUTkNMRTFCUVUwc2NVSkJRWE5DTEZOQlFWRXNTMEZCU3p0RFFXVXZReXhEUVVGQk8wRkJXRU03U1VGSVF5eFJRVUZSTEVWQlFVVTdTVUZEVml4VFFVRlRMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTEdGQlFXRXNSVUZCUlN4WFFVRlhMRVZCUVVVc1owSkJRV2RDTEVWQlFVVXNRMEZCUXp0SlFVTTVSU3hMUVVGTExFTkJRVU1zUlVGQlJTeE5RVUZOTEVWQlFVVXNUMEZCVHl4RlFVRkZMRU5CUVVNN08yOUVRVU5ZTzBGQlMyaENPMGxCU0VNc1VVRkJVU3hGUVVGRk8wbEJRMVlzVTBGQlV5eERRVUZETEU5QlFVOHNSVUZCUlN4RlFVRkZMRXRCUVVzc1JVRkJSU3hSUVVGUkxFVkJRVVVzVjBGQlZ5eEZRVUZGTEcxQ1FVRnRRaXhGUVVGRkxFTkJRVU03U1VGRGVrVXNUVUZCVFN4RFFVRkRMRVZCUVVVc1RVRkJUU3hGUVVGRkxGRkJRVkVzUlVGQlJTeERRVUZET3p0eFJFRkRXanRCUVV0cVFqdEpRVWhETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhQUVVGUExFVkJRVVVzUlVGQlJTeExRVUZMTEVWQlFVVXNUMEZCVHl4RlFVRkZMRmRCUVZjc1JVRkJSU3h0UWtGQmJVSXNSVUZCUlN4RFFVRkRPMGxCUTNoRkxFMUJRVTBzUTBGQlF5eEZRVUZGTEUxQlFVMHNSVUZCUlN4UFFVRlBMRVZCUVVVc1EwRkJRenM3YjBSQlExbzdRVUZrVEN4eFFrRkJjVUk3U1VGbWFrTXNTVUZCU1N4RFFVRkRMSGxDUVVGNVFpeEZRVUZGTzFGQlF5OUNMRWxCUVVrc1JVRkJSU3g1UWtGQmVVSTdVVUZETDBJc1VVRkJVU3hGUVVGRkxHTkJRV003VVVGRGVFSXNTMEZCU3l4RlFVRkZMRk5CUVZNN1VVRkRhRUlzU1VGQlNTeEZRVUZGTEdsQ1FVRnBRanRSUVVOMlFpeExRVUZMTEVWQlFVVXNSVUZCUlR0UlFVTlVMRTFCUVUwc1JVRkJSU3hGUVVGRk8xRkJRMVlzVFVGQlRTeEZRVUZGTEVOQlFVTXNUVUZCVFN4RlFVRkZMRTlCUVU4c1JVRkJSU3hYUVVGWExFTkJRVU03VVVGRGRFTXNVVUZCVVN4RlFVRkZPMWxCUTFJc1MwRkJTeXhGUVVGRkxHZENRVUZuUWp0WlFVTjJRaXhYUVVGWExFVkJRVVVzSzBaQlFTdEdPMWxCUXpWSExFOUJRVThzUlVGQlJTeExRVUZMTzFOQlEyWTdTMEZEUml4RFFVRkRPMGxCUTBRc1MwRkJTeXhGUVVGRk8wZEJRMHNzY1VKQlFYRkNMRU5CWldwRElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lMeW9xWEc0Z0tpQkFiVzlrZFd4bElIVnBMV1JsWTI5eVlYUnZjbk12WjNKaGNHZ3ZibTlrWlhNdlpteHZkeTFqYjI1MGNtOXNMMlZ5Y205eUxXSnZkVzVrWVhKNVhHNGdLaUJBYzNWdGJXRnllU0JGY25KdmNpMWliM1Z1WkdGeWVTQm1iRzkzTFdOdmJuUnliMndnYm05a1pTQmtaV05zWVhKaGRHbHZiaUFvUkVWRFFVWXRNeklnd3FjeU1pNHlMaklwTGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVWeWNtOXlJR0p2ZFc1a1lYSjVJT0tBbENCMGNua3ZZMkYwWTJndlptbHVZV3hzZVNCM2IzSnJabXh2ZHlCaVpXaGhkbWx2ZFhJdVhHNGdLaTljYm1sdGNHOXlkQ0I3SUUxdlpHVnNMQ0J0YjJSbGJDd2djbVZ4ZFdseVpXUWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnZjaTEyWVd4cFpHRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2V5QjFhV1ZzWlcxbGJuUWdmU0JtY205dElGd2lMaTR2TGk0dkxpNHZkV2t2WkdWamIzSmhkRzl5YzF3aU8xeHVhVzF3YjNKMElIc2dhVzV3ZFhRc0lHNXZaR1VzSUc5MWRIQjFkQ0I5SUdaeWIyMGdYQ0l1TGk4dUxpOWtaV052Y21GMGIzSnpYQ0k3WEc1Y2JpOHZJRVZ1YzNWeVpTQmpZWFJsWjI5eWVTQnpkSGxzWlhNZ1lYSmxJSEpsWjJsemRHVnlaV1FnS0dsa1pXMXdiM1JsYm5RcExseHVhVzF3YjNKMElGd2lMaTR2WTJGMFpXZHZjbmt0YzNSNWJHVnpYQ0k3WEc1Y2JrQnViMlJsS0Z3aVkyOXlaUzVtYkc5M0xtVnljbTl5UW05MWJtUmhjbmxjSWl3Z2UxeHVJQ0JyYVc1a09pQmNJbU52Y21VdVpteHZkeTVsY25KdmNrSnZkVzVrWVhKNVhDSXNYRzRnSUdOaGRHVm5iM0o1T2lCY0lrWnNiM2NnUTI5dWRISnZiRndpTEZ4dUlDQmpiMnh2Y2pvZ1hDSWpaV1kwTkRRMFhDSXNYRzRnSUdsamIyNDZJRndpZEdrdGMyaHBaV3hrTFdOb1pXTnJYQ0lzWEc0Z0lIZHBaSFJvT2lBNU5peGNiaUFnYUdWcFoyaDBPaUE1Tml4Y2JpQWdiR0ZpWld4ek9pQmJYQ0ptYkc5M1hDSXNJRndpWlhKeWIzSmNJaXdnWENKMGNua3RZMkYwWTJoY0lsMHNYRzRnSUcxbGRHRmtZWFJoT2lCN1hHNGdJQ0FnZEdsMGJHVTZJRndpUlhKeWIzSWdZbTkxYm1SaGNubGNJaXhjYmlBZ0lDQmtaWE5qY21sd2RHbHZiam9nWENKWGNtRndjeUIwYUdVZ2FXNXdkWFFnYVc0Z1lTQjBjbmt2WTJGMFkyZ3ZabWx1WVd4c2VTNGdSVzFwZEhNZ2RHaGxJSEpsYzNWc2RDQnZiaUJ6ZFdOalpYTnpMQ0J2Y2lCMGFHVWdaWEp5YjNJZ2IyNGdabUZwYkhWeVpTNWNJaXhjYmlBZ0lDQm1hVzVoYkd4NU9pQm1ZV3h6WlN4Y2JpQWdmU3hjYm4wcFhHNUFiVzlrWld3b0tWeHVaWGh3YjNKMElHTnNZWE56SUVWeWNtOXlRbTkxYm1SaGNubEdiRzkzVG05a1pTQmxlSFJsYm1SeklFMXZaR1ZzSUh0Y2JpQWdRSEpsY1hWcGNtVmtLQ2xjYmlBZ1FIVnBaV3hsYldWdWRDaGNJblJsZUhSaGNtVmhYQ0lzSUhzZ2JHRmlaV3c2SUZ3aVNXNXdkWFFnZG1Gc2RXVmNJaXdnY0d4aFkyVm9iMnhrWlhJNklGd2lWbUZzZFdVZ2RHOGdaM1ZoY21SY0lpQjlLVnh1SUNCQWFXNXdkWFFvZXlCb1lXNWtiR1U2SUZ3aWRtRnNkV1ZjSWlCOUtWeHVJQ0IyWVd4MVpTRTZJSFZ1YTI1dmQyNDdYRzVjYmlBZ1FISmxjWFZwY21Wa0tDbGNiaUFnUUhWcFpXeGxiV1Z1ZENoY0ltbHVjSFYwWENJc0lIc2diR0ZpWld3NklGd2lVbVZ6ZFd4MFhDSXNJSEJzWVdObGFHOXNaR1Z5T2lCY0lrOTFkSEIxZENCdmJpQnpkV05qWlhOelhDSWdmU2xjYmlBZ1FHOTFkSEIxZENoN0lHaGhibVJzWlRvZ1hDSnlaWE4xYkhSY0lpQjlLVnh1SUNCeVpYTjFiSFFoT2lCMWJtdHViM2R1TzF4dVhHNGdJRUJ5WlhGMWFYSmxaQ2dwWEc0Z0lFQjFhV1ZzWlcxbGJuUW9YQ0pwYm5CMWRGd2lMQ0I3SUd4aFltVnNPaUJjSWtWeWNtOXlYQ0lzSUhCc1lXTmxhRzlzWkdWeU9pQmNJazkxZEhCMWRDQnZiaUJtWVdsc2RYSmxYQ0lnZlNsY2JpQWdRRzkxZEhCMWRDaDdJR2hoYm1Sc1pUb2dYQ0psY25KdmNsd2lJSDBwWEc0Z0lHVnljbTl5SVRvZ2RXNXJibTkzYmp0Y2JuMWNiaUpkZlE9PSJdfQ==