reflex-agent 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +90 -90
  3. package/.next/app-path-routes-manifest.json +9 -9
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +3 -3
  6. package/.next/react-loadable-manifest.json +1 -1
  7. package/.next/server/app/_not-found/page.js +2 -2
  8. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  9. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/agents/[agentId]/page.js +2 -2
  11. package/.next/server/app/agents/[agentId]/page.js.nft.json +1 -1
  12. package/.next/server/app/agents/[agentId]/page_client-reference-manifest.js +1 -1
  13. package/.next/server/app/api/agents/[agentId]/respond/route.js +1 -1
  14. package/.next/server/app/api/agents/[agentId]/respond/route.js.nft.json +1 -1
  15. package/.next/server/app/api/agents/[agentId]/respond/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/images/[rootId]/[file]/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/oauth/callback/route.js +2 -2
  18. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/oauth/start/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/roots/[id]/attachments/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js +1 -1
  22. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route.js.nft.json +1 -1
  23. package/.next/server/app/api/roots/[id]/chat/[topicId]/send/route_client-reference-manifest.js +1 -1
  24. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js +1 -1
  25. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route.js.nft.json +1 -1
  26. package/.next/server/app/api/roots/[id]/chat/[topicId]/stop/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js +2 -2
  28. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route.js.nft.json +1 -1
  29. package/.next/server/app/api/roots/[id]/chat/[topicId]/stream/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/roots/[id]/dashboard/route.js +1 -1
  31. package/.next/server/app/api/roots/[id]/dashboard/route.js.nft.json +1 -1
  32. package/.next/server/app/api/roots/[id]/dashboard/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/roots/[id]/suggestions/route.js +1 -1
  34. package/.next/server/app/api/roots/[id]/suggestions/route.js.nft.json +1 -1
  35. package/.next/server/app/api/roots/[id]/suggestions/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/utilities/[scope]/[id]/bundle.js/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/utilities/[scope]/[id]/host/route.js +1 -1
  38. package/.next/server/app/api/utilities/[scope]/[id]/host/route.js.nft.json +1 -1
  39. package/.next/server/app/api/utilities/[scope]/[id]/host/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/utilities/[scope]/[id]/host-api.mjs/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/utilities/[scope]/[id]/host-ui.mjs/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/utilities/[scope]/[id]/iframe/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/utilities/[scope]/[id]/style.css/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/audit/page.js +1 -1
  45. package/.next/server/app/audit/page.js.nft.json +1 -1
  46. package/.next/server/app/audit/page_client-reference-manifest.js +1 -1
  47. package/.next/server/app/onboarding/page.js +4 -4
  48. package/.next/server/app/onboarding/page.js.nft.json +1 -1
  49. package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app/page.js +2 -2
  51. package/.next/server/app/page.js.nft.json +1 -1
  52. package/.next/server/app/page_client-reference-manifest.js +1 -1
  53. package/.next/server/app/roots/[id]/chat/[topicId]/page.js +2 -2
  54. package/.next/server/app/roots/[id]/chat/[topicId]/page.js.nft.json +1 -1
  55. package/.next/server/app/roots/[id]/chat/[topicId]/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/roots/[id]/kb/[...slug]/page.js +2 -2
  57. package/.next/server/app/roots/[id]/kb/[...slug]/page.js.nft.json +1 -1
  58. package/.next/server/app/roots/[id]/kb/[...slug]/page_client-reference-manifest.js +1 -1
  59. package/.next/server/app/roots/[id]/page.js +3 -3
  60. package/.next/server/app/roots/[id]/page.js.nft.json +1 -1
  61. package/.next/server/app/roots/[id]/page_client-reference-manifest.js +1 -1
  62. package/.next/server/app/roots/[id]/workflows/[wfId]/page.js +2 -2
  63. package/.next/server/app/roots/[id]/workflows/[wfId]/page.js.nft.json +1 -1
  64. package/.next/server/app/roots/[id]/workflows/[wfId]/page_client-reference-manifest.js +1 -1
  65. package/.next/server/app/roots/[id]/workflows/page.js +1 -1
  66. package/.next/server/app/roots/[id]/workflows/page.js.nft.json +1 -1
  67. package/.next/server/app/roots/[id]/workflows/page_client-reference-manifest.js +1 -1
  68. package/.next/server/app/roots/new/page.js +4 -4
  69. package/.next/server/app/roots/new/page.js.nft.json +1 -1
  70. package/.next/server/app/roots/new/page_client-reference-manifest.js +1 -1
  71. package/.next/server/app/settings/page.js +4 -4
  72. package/.next/server/app/settings/page.js.nft.json +1 -1
  73. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  74. package/.next/server/app/share/[id]/file/page.js +1 -1
  75. package/.next/server/app/share/[id]/file/page.js.nft.json +1 -1
  76. package/.next/server/app/share/[id]/file/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app/share/[id]/page.js +2 -2
  78. package/.next/server/app/share/[id]/page.js.nft.json +1 -1
  79. package/.next/server/app/share/[id]/page_client-reference-manifest.js +1 -1
  80. package/.next/server/app/utilities/[scope]/[id]/page.js +2 -2
  81. package/.next/server/app/utilities/[scope]/[id]/page.js.nft.json +1 -1
  82. package/.next/server/app/utilities/[scope]/[id]/page_client-reference-manifest.js +1 -1
  83. package/.next/server/app/utilities/page.js +2 -2
  84. package/.next/server/app/utilities/page.js.nft.json +1 -1
  85. package/.next/server/app/utilities/page_client-reference-manifest.js +1 -1
  86. package/.next/server/app-paths-manifest.json +9 -9
  87. package/.next/server/chunks/1004.js +1 -0
  88. package/.next/server/chunks/106.js +148 -0
  89. package/.next/server/chunks/1100.js +34 -0
  90. package/.next/server/chunks/1189.js +1 -0
  91. package/.next/server/chunks/1220.js +115 -0
  92. package/.next/server/chunks/1271.js +79 -0
  93. package/.next/server/chunks/1378.js +23 -0
  94. package/.next/server/chunks/1640.js +29 -0
  95. package/.next/server/chunks/1811.js +1 -0
  96. package/.next/server/chunks/{7264.js → 1862.js} +2 -2
  97. package/.next/server/chunks/1869.js +93 -0
  98. package/.next/server/chunks/1973.js +166 -0
  99. package/.next/server/chunks/2035.js +1 -1
  100. package/.next/server/chunks/2249.js +1 -0
  101. package/.next/server/chunks/2264.js +287 -0
  102. package/.next/server/chunks/2278.js +1 -0
  103. package/.next/server/chunks/2318.js +1 -0
  104. package/.next/server/chunks/2485.js +2 -2
  105. package/.next/server/chunks/2521.js +1 -0
  106. package/.next/server/chunks/2552.js +1 -0
  107. package/.next/server/chunks/2626.js +1 -0
  108. package/.next/server/chunks/2669.js +104 -0
  109. package/.next/server/chunks/2673.js +153 -0
  110. package/.next/server/chunks/2749.js +1 -0
  111. package/.next/server/chunks/2761.js +90 -0
  112. package/.next/server/chunks/285.js +3 -3
  113. package/.next/server/chunks/2886.js +64 -0
  114. package/.next/server/chunks/2995.js +1 -1
  115. package/.next/server/chunks/3332.js +1 -1
  116. package/.next/server/chunks/3378.js +1 -0
  117. package/.next/server/chunks/352.js +79 -0
  118. package/.next/server/chunks/360.js +1 -0
  119. package/.next/server/chunks/3746.js +93 -0
  120. package/.next/server/chunks/3811.js +5 -0
  121. package/.next/server/chunks/383.js +80 -0
  122. package/.next/server/chunks/3870.js +215 -0
  123. package/.next/server/chunks/3935.js +34 -0
  124. package/.next/server/chunks/4031.js +2 -2
  125. package/.next/server/chunks/4046.js +141 -0
  126. package/.next/server/chunks/416.js +77 -0
  127. package/.next/server/chunks/4263.js +1 -0
  128. package/.next/server/chunks/4282.js +1 -0
  129. package/.next/server/chunks/431.js +1 -0
  130. package/.next/server/chunks/4339.js +23 -0
  131. package/.next/server/chunks/4343.js +148 -0
  132. package/.next/server/chunks/4450.js +80 -0
  133. package/.next/server/chunks/4457.js +1 -0
  134. package/.next/server/chunks/4537.js +43 -0
  135. package/.next/server/chunks/4580.js +1 -0
  136. package/.next/server/chunks/4653.js +1 -0
  137. package/.next/server/chunks/4695.js +77 -0
  138. package/.next/server/chunks/4733.js +1 -0
  139. package/.next/server/chunks/4812.js +1 -1
  140. package/.next/server/chunks/4828.js +80 -0
  141. package/.next/server/chunks/4851.js +1 -0
  142. package/.next/server/chunks/4863.js +29 -0
  143. package/.next/server/chunks/4925.js +1 -1
  144. package/.next/server/chunks/4934.js +1 -0
  145. package/.next/server/chunks/5080.js +43 -0
  146. package/.next/server/chunks/5142.js +1 -0
  147. package/.next/server/chunks/539.js +1 -0
  148. package/.next/server/chunks/5395.js +1 -0
  149. package/.next/server/chunks/5407.js +9 -0
  150. package/.next/server/chunks/5543.js +1 -1
  151. package/.next/server/chunks/5558.js +1 -0
  152. package/.next/server/chunks/5690.js +1 -0
  153. package/.next/server/chunks/5723.js +1 -0
  154. package/.next/server/chunks/5753.js +1 -0
  155. package/.next/server/chunks/5783.js +226 -0
  156. package/.next/server/chunks/5811.js +1 -0
  157. package/.next/server/chunks/5822.js +24 -0
  158. package/.next/server/chunks/6038.js +252 -0
  159. package/.next/server/chunks/617.js +24 -0
  160. package/.next/server/chunks/6294.js +1 -0
  161. package/.next/server/chunks/6332.js +1 -0
  162. package/.next/server/chunks/6355.js +1 -0
  163. package/.next/server/chunks/6448.js +3 -0
  164. package/.next/server/chunks/6460.js +5 -0
  165. package/.next/server/chunks/6483.js +252 -0
  166. package/.next/server/chunks/6888.js +1 -0
  167. package/.next/server/chunks/6909.js +3 -3
  168. package/.next/server/chunks/6946.js +1 -0
  169. package/.next/server/chunks/7068.js +1 -0
  170. package/.next/server/chunks/7118.js +24 -0
  171. package/.next/server/chunks/7242.js +166 -0
  172. package/.next/server/chunks/7315.js +1 -0
  173. package/.next/server/chunks/7356.js +141 -0
  174. package/.next/server/chunks/7520.js +226 -0
  175. package/.next/server/chunks/7759.js +1 -0
  176. package/.next/server/chunks/7800.js +1 -0
  177. package/.next/server/chunks/7934.js +1 -0
  178. package/.next/server/chunks/7948.js +1 -0
  179. package/.next/server/chunks/795.js +115 -0
  180. package/.next/server/chunks/8015.js +287 -0
  181. package/.next/server/chunks/8019.js +80 -0
  182. package/.next/server/chunks/8150.js +1 -0
  183. package/.next/server/chunks/824.js +1 -0
  184. package/.next/server/chunks/8326.js +1 -0
  185. package/.next/server/chunks/8384.js +153 -0
  186. package/.next/server/chunks/8451.js +1 -0
  187. package/.next/server/chunks/8674.js +104 -0
  188. package/.next/server/chunks/8897.js +64 -0
  189. package/.next/server/chunks/8945.js +1 -0
  190. package/.next/server/chunks/8948.js +36 -0
  191. package/.next/server/chunks/8977.js +1 -0
  192. package/.next/server/chunks/899.js +1 -0
  193. package/.next/server/chunks/9024.js +1 -0
  194. package/.next/server/chunks/9098.js +1 -1
  195. package/.next/server/chunks/9269.js +1 -0
  196. package/.next/server/chunks/9417.js +215 -0
  197. package/.next/server/chunks/9419.js +36 -0
  198. package/.next/server/chunks/9490.js +9 -0
  199. package/.next/server/chunks/9496.js +90 -0
  200. package/.next/server/chunks/9513.js +24 -0
  201. package/.next/server/chunks/9745.js +1 -0
  202. package/.next/server/chunks/{3662.js → 9829.js} +1 -1
  203. package/.next/server/chunks/9965.js +1 -0
  204. package/.next/server/functions-config-manifest.json +1 -1
  205. package/.next/server/middleware-build-manifest.js +1 -1
  206. package/.next/server/middleware-manifest.json +5 -5
  207. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  208. package/.next/server/pages/500.html +1 -1
  209. package/.next/server/server-reference-manifest.js +1 -1
  210. package/.next/server/server-reference-manifest.json +1 -1
  211. package/.next/static/chunks/2905-ca16d00d09da792e.js +1 -0
  212. package/.next/static/chunks/3608-556a93ce17c48331.js +1 -0
  213. package/.next/static/chunks/4108.40efe5d61bfc7f08.js +1 -0
  214. package/.next/static/chunks/4200-fc9e833f8a521cff.js +1 -0
  215. package/.next/static/chunks/{6886-4b169c08d9745ce0.js → 6919-830592f52172ae19.js} +1 -1
  216. package/.next/static/chunks/7320-00a597d3985d7624.js +1 -0
  217. package/.next/static/chunks/app/layout-5d864c5e6de9cf17.js +1 -0
  218. package/.next/static/chunks/app/onboarding/page-ccaa9f5d106a765a.js +1 -0
  219. package/.next/static/chunks/app/page-bd26227f60ea0122.js +1 -0
  220. package/.next/static/chunks/app/roots/[id]/chat/[topicId]/{page-9de733628c6de625.js → page-f7c36b058c709b0a.js} +1 -1
  221. package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-0ed3a1f1311c348d.js +1 -0
  222. package/.next/static/chunks/app/roots/[id]/page-cd62fc140883317f.js +1 -0
  223. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-5b08fe35708be776.js +1 -0
  224. package/.next/static/chunks/app/roots/new/{page-70df040d98ddfcb9.js → page-1a712172486a0f8f.js} +1 -1
  225. package/.next/static/chunks/app/settings/page-632b39256dcf7ebb.js +1 -0
  226. package/.next/static/chunks/app/share/[id]/{page-04701cd3e2f42faf.js → page-975a2a05e33257c9.js} +1 -1
  227. package/.next/static/chunks/app/utilities/[scope]/[id]/page-424ecd0f018a58f0.js +1 -0
  228. package/.next/static/chunks/app/utilities/page-a5befa7a77ab5796.js +1 -0
  229. package/.next/static/chunks/{webpack-4f6b598d96af4ca7.js → webpack-f7bc4101f4444d07.js} +1 -1
  230. package/.next/trace +89 -47
  231. package/package.json +1 -1
  232. package/.next/server/chunks/4347.js +0 -3
  233. package/.next/server/chunks/4836.js +0 -1
  234. package/.next/server/chunks/8823.js +0 -1
  235. package/.next/server/chunks/9402.js +0 -1
  236. package/.next/static/chunks/3873-924fc0f386eb1005.js +0 -1
  237. package/.next/static/chunks/4108.e2aef54ba9b68f73.js +0 -1
  238. package/.next/static/chunks/4690-3065e11cc18ad056.js +0 -1
  239. package/.next/static/chunks/5779-bf4e7d8930f04f49.js +0 -1
  240. package/.next/static/chunks/8982-137b26d526f24a8b.js +0 -1
  241. package/.next/static/chunks/app/layout-f939333a791cb267.js +0 -1
  242. package/.next/static/chunks/app/onboarding/page-4291d58b0c6b16e1.js +0 -1
  243. package/.next/static/chunks/app/page-c84defded9ae76c3.js +0 -1
  244. package/.next/static/chunks/app/roots/[id]/kb/[...slug]/page-f7772a63468ff75d.js +0 -1
  245. package/.next/static/chunks/app/roots/[id]/page-db94c337847a0543.js +0 -1
  246. package/.next/static/chunks/app/roots/[id]/workflows/[wfId]/page-cc556969ba89dab1.js +0 -1
  247. package/.next/static/chunks/app/settings/page-0451927b1906fdf0.js +0 -1
  248. package/.next/static/chunks/app/utilities/[scope]/[id]/page-b5c5ca2c72af92a4.js +0 -1
  249. package/.next/static/chunks/app/utilities/page-d66b3d654623ac67.js +0 -1
  250. /package/.next/static/{qL2ylFt2IFmDVVrLaCl4u → AoffeFQkXIEvh9BnegJev}/_buildManifest.js +0 -0
  251. /package/.next/static/{qL2ylFt2IFmDVVrLaCl4u → AoffeFQkXIEvh9BnegJev}/_ssgManifest.js +0 -0
@@ -0,0 +1,215 @@
1
+ "use strict";exports.id=3870,exports.ids=[3870],exports.modules={13870:(a,b,c)=>{c.d(b,{Lh:()=>x,NM:()=>u,_$:()=>o,tM:()=>v});var d=c(48492),e=c(66106),f=c(35836),g=c(21460),h=c(16919),i=c(38371),j=c(10340),k=c(57440),l=c(31314),m=c(75374),n=function(){var a=(0,k.K2)(function(a,b,c,d){for(c=c||{},d=a.length;d--;c[a[d]]=b);return c},"o"),b=[1,18],c=[1,19],d=[1,20],e=[1,41],f=[1,26],g=[1,42],h=[1,24],i=[1,25],j=[1,32],l=[1,33],m=[1,34],n=[1,45],o=[1,35],p=[1,36],q=[1,37],r=[1,38],s=[1,27],t=[1,28],u=[1,29],v=[1,30],w=[1,31],x=[1,44],y=[1,46],z=[1,43],A=[1,47],B=[1,9],C=[1,8,9],D=[1,58],E=[1,59],F=[1,60],G=[1,61],H=[1,62],I=[1,63],J=[1,64],K=[1,8,9,41],L=[1,77],M=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],N=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],O=[13,60,86,100,102,103],P=[13,60,73,74,86,100,102,103],Q=[13,60,68,69,70,71,72,86,100,102,103],R=[1,103],S=[1,121],T=[1,117],U=[1,113],V=[1,119],W=[1,114],X=[1,115],Y=[1,116],Z=[1,118],$=[1,120],_=[22,50,60,61,82,86,87,88,89,90],aa=[1,128],ab=[12,39],ac=[1,8,9,39,41,44,46],ad=[1,8,9,22],ae=[1,153],af=[1,8,9,61],ag=[1,8,9,22,50,60,61,82,86,87,88,89,90],ah={trace:(0,k.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:(0,k.K2)(function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 8:this.$=f[h-1];break;case 9:case 10:case 13:case 15:case 46:this.$=f[h];break;case 11:case 14:this.$=f[h-2]+"."+f[h];break;case 12:case 16:case 110:this.$=f[h-1]+f[h];break;case 17:case 18:this.$=f[h-1]+"~"+f[h]+"~";break;case 19:d.addRelation(f[h]);break;case 20:f[h-1].title=d.cleanupLabel(f[h]),d.addRelation(f[h-1]);break;case 31:this.$=f[h].trim(),d.setAccTitle(this.$);break;case 32:case 33:this.$=f[h].trim(),d.setAccDescription(this.$);break;case 34:d.addClassesToNamespace(f[h-3],f[h-1][0],f[h-1][1]),d.popNamespace();break;case 35:d.addClassesToNamespace(f[h-4],f[h-1][0],f[h-1][1]),d.popNamespace();break;case 36:this.$=d.addNamespace(f[h]);break;case 37:this.$=d.addNamespace(f[h-1],f[h]);break;case 38:this.$=[[f[h]],[]];break;case 39:this.$=[[f[h-1]],[]];break;case 40:f[h][0].unshift(f[h-2]),this.$=f[h];break;case 41:this.$=[[],[f[h]]];break;case 42:this.$=[[],[f[h-1]]];break;case 43:f[h][1].unshift(f[h-2]),this.$=f[h];break;case 44:case 45:this.$=[[],[]];break;case 48:d.setCssClass(f[h-2],f[h]);break;case 49:d.addMembers(f[h-3],f[h-1]);break;case 51:d.setCssClass(f[h-5],f[h-3]),d.addMembers(f[h-5],f[h-1]);break;case 52:d.addAnnotation(f[h-3],f[h-1]);break;case 53:d.addAnnotation(f[h-6],f[h-4]),d.addMembers(f[h-6],f[h-1]);break;case 54:d.addAnnotation(f[h-5],f[h-3]);break;case 55:this.$=f[h],d.addClass(f[h]);break;case 56:this.$=f[h-1],d.addClass(f[h-1]),d.setClassLabel(f[h-1],f[h]);break;case 60:d.addAnnotation(f[h],f[h-2]);break;case 61:case 74:case 107:this.$=[f[h]];break;case 62:f[h].push(f[h-1]),this.$=f[h];break;case 63:case 65:case 66:break;case 64:d.addMember(f[h-1],d.cleanupLabel(f[h]));break;case 67:this.$={id1:f[h-2],id2:f[h],relation:f[h-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:f[h-3],id2:f[h],relation:f[h-1],relationTitle1:f[h-2],relationTitle2:"none"};break;case 69:this.$={id1:f[h-3],id2:f[h],relation:f[h-2],relationTitle1:"none",relationTitle2:f[h-1]};break;case 70:this.$={id1:f[h-4],id2:f[h],relation:f[h-2],relationTitle1:f[h-3],relationTitle2:f[h-1]};break;case 71:this.$=d.addNote(f[h],f[h-1]);break;case 72:this.$=d.addNote(f[h]);break;case 73:this.$=f[h-2],d.defineClass(f[h-1],f[h]);break;case 75:this.$=f[h-2].concat([f[h]]);break;case 76:d.setDirection("TB");break;case 77:d.setDirection("BT");break;case 78:d.setDirection("RL");break;case 79:d.setDirection("LR");break;case 80:this.$={type1:f[h-2],type2:f[h],lineType:f[h-1]};break;case 81:this.$={type1:"none",type2:f[h],lineType:f[h-1]};break;case 82:this.$={type1:f[h-1],type2:"none",lineType:f[h]};break;case 83:this.$={type1:"none",type2:"none",lineType:f[h]};break;case 84:this.$=d.relationType.AGGREGATION;break;case 85:this.$=d.relationType.EXTENSION;break;case 86:this.$=d.relationType.COMPOSITION;break;case 87:this.$=d.relationType.DEPENDENCY;break;case 88:this.$=d.relationType.LOLLIPOP;break;case 89:this.$=d.lineType.LINE;break;case 90:this.$=d.lineType.DOTTED_LINE;break;case 91:case 97:this.$=f[h-2],d.setClickEvent(f[h-1],f[h]);break;case 92:case 98:this.$=f[h-3],d.setClickEvent(f[h-2],f[h-1]),d.setTooltip(f[h-2],f[h]);break;case 93:this.$=f[h-2],d.setLink(f[h-1],f[h]);break;case 94:this.$=f[h-3],d.setLink(f[h-2],f[h-1],f[h]);break;case 95:this.$=f[h-3],d.setLink(f[h-2],f[h-1]),d.setTooltip(f[h-2],f[h]);break;case 96:this.$=f[h-4],d.setLink(f[h-3],f[h-2],f[h]),d.setTooltip(f[h-3],f[h-1]);break;case 99:this.$=f[h-3],d.setClickEvent(f[h-2],f[h-1],f[h]);break;case 100:this.$=f[h-4],d.setClickEvent(f[h-3],f[h-2],f[h-1]),d.setTooltip(f[h-3],f[h]);break;case 101:this.$=f[h-3],d.setLink(f[h-2],f[h]);break;case 102:this.$=f[h-4],d.setLink(f[h-3],f[h-1],f[h]);break;case 103:this.$=f[h-4],d.setLink(f[h-3],f[h-1]),d.setTooltip(f[h-3],f[h]);break;case 104:this.$=f[h-5],d.setLink(f[h-4],f[h-2],f[h]),d.setTooltip(f[h-4],f[h-1]);break;case 105:this.$=f[h-2],d.setCssStyle(f[h-1],f[h]);break;case 106:d.setCssClass(f[h-1],f[h]);break;case 108:f[h-2].push(f[h]),this.$=f[h-2]}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:b,35:c,37:d,38:22,42:e,43:23,46:f,48:g,51:h,52:i,54:j,56:l,57:m,60:n,62:o,63:p,64:q,65:r,75:s,76:t,78:u,82:v,83:w,86:x,100:y,102:z,103:A},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},a(B,[2,5],{8:[1,48]}),{8:[1,49]},a(C,[2,19],{22:[1,50]}),a(C,[2,21]),a(C,[2,22]),a(C,[2,23]),a(C,[2,24]),a(C,[2,25]),a(C,[2,26]),a(C,[2,27]),a(C,[2,28]),a(C,[2,29]),a(C,[2,30]),{34:[1,51]},{36:[1,52]},a(C,[2,33]),a(C,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:D,69:E,70:F,71:G,72:H,73:I,74:J}),{39:[1,65]},a(K,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),a(C,[2,65]),a(C,[2,66]),{16:69,60:n,86:x,100:y,102:z},{16:39,17:40,19:70,60:n,86:x,100:y,102:z,103:A},{16:39,17:40,19:71,60:n,86:x,100:y,102:z,103:A},{16:39,17:40,19:72,60:n,86:x,100:y,102:z,103:A},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:n,86:x,100:y,102:z,103:A},{13:L,55:76},{58:78,60:[1,79]},a(C,[2,76]),a(C,[2,77]),a(C,[2,78]),a(C,[2,79]),a(M,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:n,86:x,100:y,102:z,103:A}),a(M,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:n,86:x,100:y,102:z,103:A},{16:39,17:40,19:87,60:n,86:x,100:y,102:z,103:A},a(N,[2,133]),a(N,[2,134]),a(N,[2,135]),a(N,[2,136]),a([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),a(B,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:b,35:c,37:d,42:e,46:f,48:g,51:h,52:i,54:j,56:l,57:m,60:n,62:o,63:p,64:q,65:r,75:s,76:t,78:u,82:v,83:w,86:x,100:y,102:z,103:A}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:b,35:c,37:d,38:22,42:e,43:23,46:f,48:g,51:h,52:i,54:j,56:l,57:m,60:n,62:o,63:p,64:q,65:r,75:s,76:t,78:u,82:v,83:w,86:x,100:y,102:z,103:A},a(C,[2,20]),a(C,[2,31]),a(C,[2,32]),{13:[1,91],16:39,17:40,19:90,60:n,86:x,100:y,102:z,103:A},{53:92,66:56,67:57,68:D,69:E,70:F,71:G,72:H,73:I,74:J},a(C,[2,64]),{67:93,73:I,74:J},a(O,[2,83],{66:94,68:D,69:E,70:F,71:G,72:H}),a(P,[2,84]),a(P,[2,85]),a(P,[2,86]),a(P,[2,87]),a(P,[2,88]),a(Q,[2,89]),a(Q,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:e,43:23,48:g,54:j,56:l},{16:100,60:n,86:x,100:y,102:z},{41:[1,102],45:101,51:R},{16:104,60:n,86:x,100:y,102:z},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:S,50:T,59:110,60:U,82:V,84:111,85:112,86:W,87:X,88:Y,89:Z,90:$},{60:[1,122]},{13:L,55:123},a(K,[2,72]),a(K,[2,138]),{22:S,50:T,59:124,60:U,61:[1,125],82:V,84:111,85:112,86:W,87:X,88:Y,89:Z,90:$},a(_,[2,74]),{16:39,17:40,19:126,60:n,86:x,100:y,102:z,103:A},a(M,[2,16]),a(M,[2,17]),a(M,[2,18]),{11:127,12:aa,39:[2,36]},a(ab,[2,9],{16:85,17:86,15:130,18:[1,129],60:n,86:x,100:y,102:z,103:A}),a(ab,[2,10]),a(ac,[2,55],{11:131,12:aa}),a(B,[2,7]),{9:[1,132]},a(ad,[2,67]),{16:39,17:40,19:133,60:n,86:x,100:y,102:z,103:A},{13:[1,135],16:39,17:40,19:134,60:n,86:x,100:y,102:z,103:A},a(O,[2,82],{66:136,68:D,69:E,70:F,71:G,72:H}),a(O,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:e,43:23,48:g,54:j,56:l},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},a(K,[2,48],{39:[1,142]}),{41:[1,143]},a(K,[2,50]),{41:[2,61],45:144,51:R},{47:[1,145]},{16:39,17:40,19:146,60:n,86:x,100:y,102:z,103:A},a(C,[2,91],{13:[1,147]}),a(C,[2,93],{13:[1,149],77:[1,148]}),a(C,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},a(C,[2,105],{61:ae}),a(af,[2,107],{85:154,22:S,50:T,60:U,82:V,86:W,87:X,88:Y,89:Z,90:$}),a(ag,[2,109]),a(ag,[2,111]),a(ag,[2,112]),a(ag,[2,113]),a(ag,[2,114]),a(ag,[2,115]),a(ag,[2,116]),a(ag,[2,117]),a(ag,[2,118]),a(ag,[2,119]),a(C,[2,106]),a(K,[2,71]),a(C,[2,73],{61:ae}),{60:[1,155]},a(M,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:n,86:x,100:y,102:z,103:A},a(ab,[2,12]),a(ac,[2,56]),{1:[2,4]},a(ad,[2,69]),a(ad,[2,68]),{16:39,17:40,19:158,60:n,86:x,100:y,102:z,103:A},a(O,[2,80]),a(K,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:e,43:23,48:g,54:j,56:l},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:e,43:23,48:g,54:j,56:l},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:e,43:23,48:g,54:j,56:l},{45:163,51:R},a(K,[2,49]),{41:[2,62]},a(K,[2,52],{39:[1,164]}),a(C,[2,60]),a(C,[2,92]),a(C,[2,94]),a(C,[2,95],{77:[1,165]}),a(C,[2,98]),a(C,[2,99],{13:[1,166]}),a(C,[2,101],{13:[1,168],77:[1,167]}),{22:S,50:T,60:U,82:V,84:169,85:112,86:W,87:X,88:Y,89:Z,90:$},a(ag,[2,110]),a(_,[2,75]),{14:[1,170]},a(ab,[2,11]),a(ad,[2,70]),a(K,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:R},a(C,[2,96]),a(C,[2,100]),a(C,[2,102]),a(C,[2,103],{77:[1,174]}),a(af,[2,108],{85:154,22:S,50:T,60:U,82:V,86:W,87:X,88:Y,89:Z,90:$}),a(ac,[2,8]),a(K,[2,51]),{41:[1,175]},a(K,[2,54]),a(C,[2,104]),a(K,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:(0,k.K2)(function(a,b){if(b.recoverable)this.trace(a);else{var c=Error(a);throw c.hash=b,c}},"parseError"),parse:(0,k.K2)(function(a){var b=this,c=[0],d=[],e=[null],f=[],g=this.table,h="",i=0,j=0,l=0,m=f.slice.call(arguments,1),n=Object.create(this.lexer),o={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(o[p]=this.yy[p]);n.setInput(a,o),o.lexer=n,o.parser=this,void 0===n.yylloc&&(n.yylloc={});var q=n.yylloc;f.push(q);var r=n.options&&n.options.ranges;function s(){var a;return"number"!=typeof(a=d.pop()||n.lex()||1)&&(a instanceof Array&&(a=(d=a).pop()),a=b.symbols_[a]||a),a}"function"==typeof o.parseError?this.parseError=o.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,k.K2)(function(a){c.length=c.length-2*a,e.length=e.length-a,f.length=f.length-a},"popStack"),(0,k.K2)(s,"lex");for(var t,u,v,w,x,y,z,A,B,C={};;){if(v=c[c.length-1],this.defaultActions[v]?w=this.defaultActions[v]:(null==t&&(t=s()),w=g[v]&&g[v][t]),void 0===w||!w.length||!w[0]){var D="";for(y in B=[],g[v])this.terminals_[y]&&y>2&&B.push("'"+this.terminals_[y]+"'");D=n.showPosition?"Parse error on line "+(i+1)+":\n"+n.showPosition()+"\nExpecting "+B.join(", ")+", got '"+(this.terminals_[t]||t)+"'":"Parse error on line "+(i+1)+": Unexpected "+(1==t?"end of input":"'"+(this.terminals_[t]||t)+"'"),this.parseError(D,{text:n.match,token:this.terminals_[t]||t,line:n.yylineno,loc:q,expected:B})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+v+", token: "+t);switch(w[0]){case 1:c.push(t),e.push(n.yytext),f.push(n.yylloc),c.push(w[1]),t=null,u?(t=u,u=null):(j=n.yyleng,h=n.yytext,i=n.yylineno,q=n.yylloc,l>0&&l--);break;case 2:if(z=this.productions_[w[1]][1],C.$=e[e.length-z],C._$={first_line:f[f.length-(z||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(z||1)].first_column,last_column:f[f.length-1].last_column},r&&(C._$.range=[f[f.length-(z||1)].range[0],f[f.length-1].range[1]]),void 0!==(x=this.performAction.apply(C,[h,j,i,o,w[1],e,f].concat(m))))return x;z&&(c=c.slice(0,-1*z*2),e=e.slice(0,-1*z),f=f.slice(0,-1*z)),c.push(this.productions_[w[1]][0]),e.push(C.$),f.push(C._$),A=g[c[c.length-2]][c[c.length-1]],c.push(A);break;case 3:return!0}}return!0},"parse")};function ai(){this.yy={}}return ah.lexer={EOF:1,parseError:(0,k.K2)(function(a,b){if(this.yy.parser)this.yy.parser.parseError(a,b);else throw Error(a)},"parseError"),setInput:(0,k.K2)(function(a,b){return this.yy=b||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,k.K2)(function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a,a.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:(0,k.K2)(function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},"unput"),more:(0,k.K2)(function(){return this._more=!0,this},"more"),reject:(0,k.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,k.K2)(function(a){this.unput(this.match.slice(a))},"less"),pastInput:(0,k.K2)(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,k.K2)(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,k.K2)(function(){var a=this.pastInput(),b=Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},"showPosition"),test_match:(0,k.K2)(function(a,b){var c,d,e;if(this.options.backtrack_lexer&&(e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(e.yylloc.range=this.yylloc.range.slice(0))),(d=a[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],c=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack)for(var f in e)this[f]=e[f];return!1},"test_match"),next:(0,k.K2)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a,b,c,d,e=this._currentRules(),f=0;f<e.length;f++)if((c=this._input.match(this.rules[e[f]]))&&(!b||c[0].length>b[0].length)){if(b=c,d=f,this.options.backtrack_lexer){if(!1!==(a=this.test_match(c,e[f])))return a;if(!this._backtrack)return!1;b=!1;continue}if(!this.options.flex)break}return b?!1!==(a=this.test_match(b,e[d]))&&a:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,k.K2)(function(){var a=this.next();return a||this.lex()},"lex"),begin:(0,k.K2)(function(a){this.conditionStack.push(a)},"begin"),popState:(0,k.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,k.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,k.K2)(function(a){return(a=this.conditionStack.length-1-Math.abs(a||0))>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:(0,k.K2)(function(a){this.begin(a)},"pushState"),stateStackSize:(0,k.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,k.K2)(function(a,b,c,d){switch(c){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:case 5:case 14:case 31:case 37:case 41:case 48:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 59:case 62:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 36:return 8;case 15:case 16:return 7;case 17:case 38:case 46:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 79;case 23:return 80;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:case 40:return this.popState(),8;case 32:return this.begin("namespace-body"),39;case 33:this.popState(),this.less(0);break;case 34:case 44:return this.popState(),41;case 35:case 45:return"EOF_IN_STRUCT";case 39:return this.begin("class"),48;case 42:return this.popState(),this.popState(),41;case 43:return this.begin("class-body"),39;case 47:return"OPEN_IN_STRUCT";case 49:return"MEMBER";case 50:return 83;case 51:return 75;case 52:return 76;case 53:return 78;case 54:return 54;case 55:return 56;case 56:return 46;case 57:return 47;case 58:return 81;case 60:return"GENERICTYPE";case 61:this.begin("generic");break;case 63:return"BQUOTE_STR";case 64:this.begin("bqstring");break;case 65:case 66:case 67:case 68:return 77;case 69:case 70:return 69;case 71:case 72:return 71;case 73:return 70;case 74:return 68;case 75:return 72;case 76:return 73;case 77:return 74;case 78:return 22;case 79:return 44;case 80:return 100;case 81:return 18;case 82:return"PLUS";case 83:return 87;case 84:return 61;case 85:case 86:return 89;case 87:return 90;case 88:case 89:return"EQUALS";case 90:return 60;case 91:return 12;case 92:return 14;case 93:return"PUNCTUATION";case 94:return 86;case 95:return 102;case 96:case 97:return 50;case 98:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,29,34,35,36,37,38,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},namespace:{rules:[26,29,30,31,32,33,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},"class-body":{rules:[26,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},class:{rules:[26,40,41,42,43,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr:{rules:[9,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_title:{rules:[7,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_args:{rules:[22,23,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_name:{rules:[19,20,21,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},href:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},struct:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},generic:{rules:[26,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},bqstring:{rules:[26,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},string:{rules:[24,25,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],inclusive:!0}}},(0,k.K2)(ai,"Parser"),ai.prototype=ah,ah.Parser=ai,new ai}();n.parser=n;var o=n,p=["#","+","~","-",""],q=class{static{(0,k.K2)(this,"ClassMember")}constructor(a,b){this.memberType=b,this.visibility="",this.classifier="",this.text="";let c=(0,j.jZ)(a,(0,j.D7)());this.parseMember(c)}getDisplayDetails(){let a=this.visibility+(0,j.QO)(this.id);return"method"===this.memberType&&(a+=`(${(0,j.QO)(this.parameters.trim())})`,this.returnType&&(a+=" : "+(0,j.QO)(this.returnType))),{displayText:a=a.trim(),cssStyle:this.parseClassifier()}}parseMember(a){let b="";if("method"===this.memberType){let c=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(a);if(c){let a=c[1]?c[1].trim():"";if(p.includes(a)&&(this.visibility=a),this.id=c[2],this.parameters=c[3]?c[3].trim():"",b=c[4]?c[4].trim():"",this.returnType=c[5]?c[5].trim():"",""===b){let a=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(a)&&(b=a,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let c=a.length,d=a.substring(0,1),e=a.substring(c-1);p.includes(d)&&(this.visibility=d),/[$*]/.exec(e)&&(b=e),this.id=a.substring(+(""!==this.visibility),""===b?c:c-1)}this.classifier=b,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let c=`${this.visibility?"\\"+this.visibility:""}${(0,j.QO)(this.id)}${"method"===this.memberType?`(${(0,j.QO)(this.parameters)})${this.returnType?" : "+(0,j.QO)(this.returnType):""}`:""}`;this.text=c.replaceAll("<","&lt;").replaceAll(">","&gt;"),this.text.startsWith("\\&lt;")&&(this.text=this.text.replace("\\&lt;","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},r="classId-",s=0,t=(0,k.K2)(a=>j.Y2.sanitizeText(a,(0,j.D7)()),"sanitizeText"),u=class a{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=(0,k.K2)(a=>{let b=(0,e.Ck)();(0,l.Ltv)(a).select("svg").selectAll("g").filter(function(){return null!==(0,l.Ltv)(this).attr("title")}).on("mouseover",a=>{let c=(0,l.Ltv)(a.currentTarget),d=c.attr("title");if(!d)return;let e=a.currentTarget.getBoundingClientRect();b.transition().duration(200).style("opacity",".9"),b.html(m.A.sanitize(d)).style("left",`${window.scrollX+e.left+e.width/2}px`).style("top",`${window.scrollY+e.bottom+4}px`),c.classed("hover",!0)}).on("mouseout",a=>{b.transition().duration(500).style("opacity",0),(0,l.Ltv)(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=j.SV,this.getAccTitle=j.iN,this.setAccDescription=j.EI,this.getAccDescription=j.m7,this.setDiagramTitle=j.ke,this.getDiagramTitle=j.ab,this.getConfig=(0,k.K2)(()=>(0,j.D7)().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.popNamespace=this.popNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}static{(0,k.K2)(this,"ClassDB")}splitClassNameAndType(a){let b=j.Y2.sanitizeText(a,(0,j.D7)()),c="",d=b;if(b.indexOf("~")>0){let a=b.split("~");d=t(a[0]),c=t(a[1])}return{className:d,type:c}}setClassLabel(a,b){let c=j.Y2.sanitizeText(a,(0,j.D7)());b&&(b=t(b));let{className:d}=this.splitClassNameAndType(c);this.classes.get(d).label=b,this.classes.get(d).text=`${b}${this.classes.get(d).type?`<${this.classes.get(d).type}>`:""}`}addClass(a){let b=j.Y2.sanitizeText(a,(0,j.D7)()),{className:c,type:d}=this.splitClassNameAndType(b);if(this.classes.has(c))return;let e=j.Y2.sanitizeText(c,(0,j.D7)());this.classes.set(e,{id:e,type:d,label:e,text:`${e}${d?`&lt;${d}&gt;`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:r+e+"-"+s}),s++}addInterface(a,b){let c={id:`interface${this.interfaces.length}`,label:a,classId:b};this.interfaces.push(c)}setDiagramId(a){this.diagramId=a}lookUpDomId(a){let b=j.Y2.sanitizeText(a,(0,j.D7)());if(this.classes.has(b)){let a=this.classes.get(b).domId;return this.diagramId?`${this.diagramId}-${a}`:a}throw Error("Class not found: "+b)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.direction="TB",(0,j.IU)()}getClass(a){return this.classes.get(a)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(a){let b="number"==typeof a?`note${a}`:a;return this.notes.get(b)}getNotes(){return this.notes}addRelation(a){k.Rm.debug("Adding relation: "+JSON.stringify(a));let b=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];a.relation.type1!==this.relationType.LOLLIPOP||b.includes(a.relation.type2)?a.relation.type2!==this.relationType.LOLLIPOP||b.includes(a.relation.type1)?(this.addClass(a.id1),this.addClass(a.id2)):(this.addClass(a.id1),this.addInterface(a.id2,a.id1),a.id2=`interface${this.interfaces.length-1}`):(this.addClass(a.id2),this.addInterface(a.id1,a.id2),a.id1=`interface${this.interfaces.length-1}`),a.id1=this.splitClassNameAndType(a.id1).className,a.id2=this.splitClassNameAndType(a.id2).className,a.relationTitle1=j.Y2.sanitizeText(a.relationTitle1.trim(),(0,j.D7)()),a.relationTitle2=j.Y2.sanitizeText(a.relationTitle2.trim(),(0,j.D7)()),this.relations.push(a)}addAnnotation(a,b){let c=this.splitClassNameAndType(a).className;this.classes.get(c).annotations.push(b)}addMember(a,b){this.addClass(a);let c=this.splitClassNameAndType(a).className,d=this.classes.get(c);if("string"==typeof b){let a=b.trim();a.startsWith("<<")&&a.endsWith(">>")?d.annotations.push(t(a.substring(2,a.length-2))):a.indexOf(")")>0?d.methods.push(new q(a,"method")):a&&d.members.push(new q(a,"attribute"))}}addMembers(a,b){Array.isArray(b)&&(b.reverse(),b.forEach(b=>this.addMember(a,b)))}addNote(a,b){let c=this.notes.size,d={id:`note${c}`,class:b,text:a,index:c};return this.notes.set(d.id,d),d.id}cleanupLabel(a){return a.startsWith(":")&&(a=a.substring(1)),t(a.trim())}setCssClass(a,b){a.split(",").forEach(a=>{let c=a;/\d/.exec(a[0])&&(c=r+c);let d=this.classes.get(c);d&&(d.cssClasses+=" "+b)})}defineClass(a,b){for(let c of a){let a=this.styleClasses.get(c);void 0===a&&(a={id:c,styles:[],textStyles:[]},this.styleClasses.set(c,a)),b&&b.forEach(b=>{if(/color/.exec(b)){let c=b.replace("fill","bgFill");a.textStyles.push(c)}a.styles.push(b)}),this.classes.forEach(a=>{a.cssClasses.includes(c)&&a.styles.push(...b.flatMap(a=>a.split(",")))})}}setTooltip(a,b){a.split(",").forEach(a=>{void 0!==b&&(this.classes.get(a).tooltip=t(b))})}getTooltip(a,b){return b&&this.namespaces.has(b)?this.namespaces.get(b).classes.get(a).tooltip:this.classes.get(a).tooltip}setLink(a,b,c){let d=(0,j.D7)();a.split(",").forEach(a=>{let e=a;/\d/.exec(a[0])&&(e=r+e);let f=this.classes.get(e);f&&(f.link=i._K.formatUrl(b,d),"sandbox"===d.securityLevel?f.linkTarget="_top":"string"==typeof c?f.linkTarget=t(c):f.linkTarget="_blank")}),this.setCssClass(a,"clickable")}setClickEvent(a,b,c){a.split(",").forEach(a=>{this.setClickFunc(a,b,c),this.classes.get(a).haveCallback=!0}),this.setCssClass(a,"clickable")}setClickFunc(a,b,c){let d=j.Y2.sanitizeText(a,(0,j.D7)());if("loose"===(0,j.D7)().securityLevel&&void 0!==b&&this.classes.has(d)){let a=[];if("string"==typeof c){a=c.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let b=0;b<a.length;b++){let c=a[b].trim();c.startsWith('"')&&c.endsWith('"')&&(c=c.substr(1,c.length-2)),a[b]=c}}0===a.length&&a.push(d),this.functions.push(()=>{let c=this.lookUpDomId(d),e=document.querySelector(`[id="${c}"]`);null!==e&&e.addEventListener("click",()=>{i._K.runFunc(b,...a)},!1)})}}bindFunctions(a){this.functions.forEach(b=>{b(a)})}escapeHtml(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}getDirection(){return this.direction}setDirection(a){this.direction=a}static resolveQualifiedId(a,b){let c=b.at(-1);return c?`${c}.${a}`:a}static getAncestorIds(a){let b=a.split("."),c=Array(b.length);c[0]=b[0];for(let a=1;a<b.length;a++)c[a]=`${c[a-1]}.${b[a]}`;return c}createNamespaceNode(a,b,c,d=!1){return{id:a,label:b,classes:new Map,notes:new Map,children:new Map,domId:r+a+"-"+this.namespaceCounter++,parent:c,explicit:d}}linkParentChild(a,b){let c=this.namespaces.get(a),d=this.namespaces.get(b);c&&d&&(c.children.has(b)||c.children.set(b,d),d.parent??=a)}addNamespace(b,c){let d=a.resolveQualifiedId(b,this.namespaceStack);if(this.namespaceStack.push(d),this.namespaces.has(d)){let a=this.namespaces.get(d);return a.explicit=!0,c&&(a.label=c),d}let e=d.split("."),f=a.getAncestorIds(d);for(let a=0;a<f.length;a++){let b=f[a],d=a>0?f[a-1]:void 0,g=a===f.length-1,h=g&&c?c:e[a];this.namespaces.has(b)?g&&(this.namespaces.get(b).explicit=!0):this.namespaces.set(b,this.createNamespaceNode(b,h,d,g)),d&&this.linkParentChild(d,b)}return d}popNamespace(){this.namespaceStack.pop()}getNamespace(a){return this.namespaces.get(a)}getNamespaces(){return this.namespaces}addClassesToNamespace(a,b,c){if(this.namespaces.has(a)){for(let c of b){let{className:b}=this.splitClassNameAndType(c),d=this.getClass(b);d.parent=a,this.namespaces.get(a).classes.set(b,d)}for(let b of c){let c=this.getNote(b);c.parent=a,this.namespaces.get(a).notes.set(b,c)}}}setCssStyle(a,b){let c=this.classes.get(a);if(b&&c)for(let a of b)a.includes(",")?c.styles.push(...a.split(",")):c.styles.push(a)}getArrowMarker(a){let b;switch(a){case 0:b="aggregation";break;case 1:b="extension";break;case 2:b="composition";break;case 3:b="dependency";break;case 4:b="lollipop";break;default:b="none"}return b}resolveExplicitAncestor(a){let b=a;for(;b;){let a=this.namespaces.get(b);if(!a)break;if(a.explicit)return b;b=a.parent}}getData(){let a=[],b=[],c=(0,j.D7)(),d=c.class?.hierarchicalNamespaces??!0;for(let b of this.namespaces.values()){if(!d&&!b.explicit)continue;let e={id:b.id,label:d?b.label:b.id,isGroup:!0,padding:c.class.padding??16,shape:"rect",cssStyles:[],look:c.look,parentId:d?b.parent:void 0};a.push(e)}for(let b of this.classes.values()){let e=d?b.parent:this.resolveExplicitAncestor(b.parent),f={...b,type:void 0,isGroup:!1,parentId:e,look:c.look};a.push(f)}for(let e of this.notes.values()){let f=d?e.parent:this.resolveExplicitAncestor(e.parent),g={id:e.id,label:e.text,isGroup:!1,shape:"note",padding:c.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${c.themeVariables.noteBkgColor}`,`stroke: ${c.themeVariables.noteBorderColor}`],look:c.look,parentId:f,labelType:"markdown"};a.push(g);let h=this.classes.get(e.class)?.id;if(h){let a={id:`edgeNote${e.index}`,start:e.id,end:h,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:c.look};b.push(a)}}for(let b of this.interfaces){let d={id:b.id,label:b.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:c.look};a.push(d)}let e=0;for(let a of this.relations){e++;let d={id:(0,i.rY)(a.id1,a.id2,{prefix:"id",counter:e}),start:a.id1,end:a.id2,type:"normal",label:a.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(a.relation.type1),arrowTypeEnd:this.getArrowMarker(a.relation.type2),startLabelRight:"none"===a.relationTitle1?"":a.relationTitle1,endLabelLeft:"none"===a.relationTitle2?"":a.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:a.style||"",pattern:1==a.relation.lineType?"dashed":"solid",look:c.look,labelType:"markdown"};b.push(d)}return{nodes:a,edges:b,other:{},config:c,direction:this.getDirection()}}},v=(0,k.K2)(a=>`g.classGroup text {
2
+ fill: ${a.nodeBorder||a.classText};
3
+ stroke: none;
4
+ font-family: ${a.fontFamily};
5
+ font-size: 10px;
6
+
7
+ .title {
8
+ font-weight: bolder;
9
+ }
10
+
11
+ }
12
+
13
+ .cluster-label text {
14
+ fill: ${a.titleColor};
15
+ }
16
+ .cluster-label span {
17
+ color: ${a.titleColor};
18
+ }
19
+ .cluster-label span p {
20
+ background-color: transparent;
21
+ }
22
+
23
+ .cluster rect {
24
+ fill: ${a.clusterBkg};
25
+ stroke: ${a.clusterBorder};
26
+ stroke-width: 1px;
27
+ }
28
+
29
+ .cluster text {
30
+ fill: ${a.titleColor};
31
+ }
32
+
33
+ .cluster span {
34
+ color: ${a.titleColor};
35
+ }
36
+
37
+ .nodeLabel, .edgeLabel {
38
+ color: ${a.classText};
39
+ }
40
+
41
+ .noteLabel .nodeLabel, .noteLabel .edgeLabel {
42
+ color: ${a.noteTextColor};
43
+ }
44
+ .edgeLabel .label rect {
45
+ fill: ${a.mainBkg};
46
+ }
47
+ .label text {
48
+ fill: ${a.classText};
49
+ }
50
+
51
+ .labelBkg {
52
+ background: ${a.mainBkg};
53
+ }
54
+ .edgeLabel .label span {
55
+ background: ${a.mainBkg};
56
+ }
57
+
58
+ .classTitle {
59
+ font-weight: bolder;
60
+ }
61
+ .node rect,
62
+ .node circle,
63
+ .node ellipse,
64
+ .node polygon,
65
+ .node path {
66
+ fill: ${a.mainBkg};
67
+ stroke: ${a.nodeBorder};
68
+ stroke-width: ${a.strokeWidth};
69
+ }
70
+
71
+
72
+ .divider {
73
+ stroke: ${a.nodeBorder};
74
+ stroke-width: 1;
75
+ }
76
+
77
+ g.clickable {
78
+ cursor: pointer;
79
+ }
80
+
81
+ g.classGroup rect {
82
+ fill: ${a.mainBkg};
83
+ stroke: ${a.nodeBorder};
84
+ }
85
+
86
+ g.classGroup line {
87
+ stroke: ${a.nodeBorder};
88
+ stroke-width: 1;
89
+ }
90
+
91
+ .classLabel .box {
92
+ stroke: none;
93
+ stroke-width: 0;
94
+ fill: ${a.mainBkg};
95
+ opacity: 0.5;
96
+ }
97
+
98
+ .classLabel .label {
99
+ fill: ${a.nodeBorder};
100
+ font-size: 10px;
101
+ }
102
+
103
+ .relation {
104
+ stroke: ${a.lineColor};
105
+ stroke-width: ${a.strokeWidth};
106
+ fill: none;
107
+ }
108
+
109
+ .dashed-line{
110
+ stroke-dasharray: 3;
111
+ }
112
+
113
+ .dotted-line{
114
+ stroke-dasharray: 1 2;
115
+ }
116
+
117
+ [id$="-compositionStart"], .composition {
118
+ fill: ${a.lineColor} !important;
119
+ stroke: ${a.lineColor} !important;
120
+ stroke-width: 1;
121
+ }
122
+
123
+ [id$="-compositionEnd"], .composition {
124
+ fill: ${a.lineColor} !important;
125
+ stroke: ${a.lineColor} !important;
126
+ stroke-width: 1;
127
+ }
128
+
129
+ [id$="-dependencyStart"], .dependency {
130
+ fill: ${a.lineColor} !important;
131
+ stroke: ${a.lineColor} !important;
132
+ stroke-width: 1;
133
+ }
134
+
135
+ [id$="-dependencyEnd"], .dependency {
136
+ fill: ${a.lineColor} !important;
137
+ stroke: ${a.lineColor} !important;
138
+ stroke-width: 1;
139
+ }
140
+
141
+ [id$="-extensionStart"], .extension {
142
+ fill: transparent !important;
143
+ stroke: ${a.lineColor} !important;
144
+ stroke-width: 1;
145
+ }
146
+
147
+ [id$="-extensionEnd"], .extension {
148
+ fill: transparent !important;
149
+ stroke: ${a.lineColor} !important;
150
+ stroke-width: 1;
151
+ }
152
+
153
+ [id$="-aggregationStart"], .aggregation {
154
+ fill: transparent !important;
155
+ stroke: ${a.lineColor} !important;
156
+ stroke-width: 1;
157
+ }
158
+
159
+ [id$="-aggregationEnd"], .aggregation {
160
+ fill: transparent !important;
161
+ stroke: ${a.lineColor} !important;
162
+ stroke-width: 1;
163
+ }
164
+
165
+ [id$="-lollipopStart"], .lollipop {
166
+ fill: ${a.mainBkg} !important;
167
+ stroke: ${a.lineColor} !important;
168
+ stroke-width: 1;
169
+ }
170
+
171
+ [id$="-lollipopEnd"], .lollipop {
172
+ fill: ${a.mainBkg} !important;
173
+ stroke: ${a.lineColor} !important;
174
+ stroke-width: 1;
175
+ }
176
+
177
+ .edgeTerminals {
178
+ font-size: 11px;
179
+ line-height: initial;
180
+ }
181
+
182
+ .classTitleText {
183
+ text-anchor: middle;
184
+ font-size: 18px;
185
+ fill: ${a.textColor};
186
+ }
187
+
188
+ .edgeLabel[data-look="neo"] {
189
+ background-color: ${a.edgeLabelBackground};
190
+ p {
191
+ background-color: ${a.edgeLabelBackground};
192
+ }
193
+ rect {
194
+ opacity: 0.5;
195
+ background-color: ${a.edgeLabelBackground};
196
+ fill: ${a.edgeLabelBackground};
197
+ }
198
+ text-align: center;
199
+ }
200
+ ${(0,d.o)()}
201
+ `,"getStyles"),w=(0,k.K2)((a,b="TB")=>{if(!a.doc)return b;let c=b;for(let b of a.doc)"dir"===b.stmt&&(c=b.value);return c},"getDir"),x={getClasses:(0,k.K2)(function(a,b){return b.db.getClasses()},"getClasses"),draw:(0,k.K2)(async function(a,b,c,d){k.Rm.info("REF0:"),k.Rm.info("Drawing class diagram (v3)",b);let{securityLevel:e,state:l,layout:m}=(0,j.D7)();d.db.setDiagramId(b);let n=d.db.getData(),o=(0,f.A)(b,e);n.type=d.type,n.layoutAlgorithm=(0,h.q7)(m),n.nodeSpacing=l?.nodeSpacing||50,n.rankSpacing=l?.rankSpacing||50,n.markers=["aggregation","extension","composition","dependency","lollipop"],n.diagramId=b,await (0,h.XX)(n,o),i._K.insertTitle(o,"classDiagramTitleText",l?.titleTopMargin??25,d.db.getDiagramTitle()),(0,g.P)(o,8,"classDiagram",l?.useMaxWidth??!0)},"draw"),getDir:w}},21460:(a,b,c)=>{c.d(b,{P:()=>f});var d=c(10340),e=c(57440),f=(0,e.K2)((a,b,c,f)=>{a.attr("class",c);let{width:i,height:j,x:k,y:l}=g(a,b);(0,d.a$)(a,j,i,f);let m=h(k,l,i,j,b);a.attr("viewBox",m),e.Rm.debug(`viewBox configured: ${m} with padding: ${b}`)},"setupViewPortForSVG"),g=(0,e.K2)((a,b)=>{let c=a.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:c.width+2*b,height:c.height+2*b,x:c.x,y:c.y}},"calculateDimensionsWithPadding"),h=(0,e.K2)((a,b,c,d,e)=>`${a-e} ${b-e} ${c} ${d}`,"createViewBox")},35836:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(57440),e=c(31314),f=(0,d.K2)((a,b)=>{let c;return"sandbox"===b&&(c=(0,e.Ltv)("#i"+a)),("sandbox"===b?(0,e.Ltv)(c.nodes()[0].contentDocument.body):(0,e.Ltv)("body")).select(`[id="${a}"]`)},"getDiagramElement")},48492:(a,b,c)=>{c.d(b,{o:()=>d});var d=(0,c(57440).K2)(()=>`
202
+ /* Font Awesome icon styling - consolidated */
203
+ .label-icon {
204
+ display: inline-block;
205
+ height: 1em;
206
+ overflow: visible;
207
+ vertical-align: -0.125em;
208
+ }
209
+
210
+ .node .label-icon path {
211
+ fill: currentColor;
212
+ stroke: revert;
213
+ stroke-width: revert;
214
+ }
215
+ `,"getIconStyles")},66106:(a,b,c)=>{c.d(b,{CP:()=>l,Ck:()=>o,HT:()=>n,PB:()=>m,aC:()=>k,lC:()=>i,m:()=>j,tk:()=>h});var d=c(10340),e=c(57440),f=c(29555),g=c(31314),h=(0,e.K2)((a,b)=>{let c=a.append("rect");if(c.attr("x",b.x),c.attr("y",b.y),c.attr("fill",b.fill),c.attr("stroke",b.stroke),c.attr("width",b.width),c.attr("height",b.height),b.name&&c.attr("name",b.name),b.rx&&c.attr("rx",b.rx),b.ry&&c.attr("ry",b.ry),void 0!==b.attrs)for(let a in b.attrs)c.attr(a,b.attrs[a]);return b.class&&c.attr("class",b.class),c},"drawRect"),i=(0,e.K2)((a,b)=>{h(a,{x:b.startx,y:b.starty,width:b.stopx-b.startx,height:b.stopy-b.starty,fill:b.fill,stroke:b.stroke,class:"rect"}).lower()},"drawBackgroundRect"),j=(0,e.K2)((a,b)=>{let c=b.text.replace(d.H1," "),e=a.append("text");e.attr("x",b.x),e.attr("y",b.y),e.attr("class","legend"),e.style("text-anchor",b.anchor),b.class&&e.attr("class",b.class);let f=e.append("tspan");return f.attr("x",b.x+2*b.textMargin),f.text(c),e},"drawText"),k=(0,e.K2)((a,b,c,d)=>{let e=a.append("image");e.attr("x",b),e.attr("y",c);let g=(0,f.J)(d);e.attr("xlink:href",g)},"drawImage"),l=(0,e.K2)((a,b,c,d)=>{let e=a.append("use");e.attr("x",b),e.attr("y",c);let g=(0,f.J)(d);e.attr("xlink:href",`#${g}`)},"drawEmbeddedImage"),m=(0,e.K2)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),n=(0,e.K2)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),o=(0,e.K2)(()=>{let a=(0,g.Ltv)(".mermaidTooltip");return a.empty()&&(a=(0,g.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),a},"createTooltip")}};
@@ -0,0 +1,34 @@
1
+ "use strict";exports.id=3935,exports.ids=[3935],exports.modules={23935:(a,b,c)=>{c.d(b,{diagram:()=>ab});var d=c(41553),e=c(77703),f=c(7285);function g(a,b){let c;if(void 0===b)for(let b of a)null!=b&&(c>b||void 0===c&&b>=b)&&(c=b);else{let d=-1;for(let e of a)null!=(e=b(e,++d,a))&&(c>e||void 0===c&&e>=e)&&(c=e)}return c}function h(a){return a.target.depth}function i(a,b){return a.sourceLinks.length?a.depth:b-1}function j(a,b){let c=0;if(void 0===b)for(let b of a)(b*=1)&&(c+=b);else{let d=-1;for(let e of a)(e=+b(e,++d,a))&&(c+=e)}return c}function k(a,b){let c;if(void 0===b)for(let b of a)null!=b&&(c<b||void 0===c&&b>=b)&&(c=b);else{let d=-1;for(let e of a)null!=(e=b(e,++d,a))&&(c<e||void 0===c&&e>=e)&&(c=e)}return c}function l(a){return function(){return a}}function m(a,b){return o(a.source,b.source)||a.index-b.index}function n(a,b){return o(a.target,b.target)||a.index-b.index}function o(a,b){return a.y0-b.y0}function p(a){return a.value}function q(a){return a.index}function r(a){return a.nodes}function s(a){return a.links}function t(a,b){let c=a.get(b);if(!c)throw Error("missing: "+b);return c}function u({nodes:a}){for(let b of a){let a=b.y0,c=a;for(let c of b.sourceLinks)c.y0=a+c.width/2,a+=c.width;for(let a of b.targetLinks)a.y1=c+a.width/2,c+=a.width}}var v=Math.PI,w=2*v,x=w-1e-6;function y(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function z(){return new y}y.prototype=z.prototype={constructor:y,moveTo:function(a,b){this._+="M"+(this._x0=this._x1=+a)+","+(this._y0=this._y1=+b)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(a,b){this._+="L"+(this._x1=+a)+","+(this._y1=+b)},quadraticCurveTo:function(a,b,c,d){this._+="Q"+ +a+","+ +b+","+(this._x1=+c)+","+(this._y1=+d)},bezierCurveTo:function(a,b,c,d,e,f){this._+="C"+ +a+","+ +b+","+ +c+","+ +d+","+(this._x1=+e)+","+(this._y1=+f)},arcTo:function(a,b,c,d,e){a*=1,b*=1,c*=1,d*=1,e*=1;var f=this._x1,g=this._y1,h=c-a,i=d-b,j=f-a,k=g-b,l=j*j+k*k;if(e<0)throw Error("negative radius: "+e);if(null===this._x1)this._+="M"+(this._x1=a)+","+(this._y1=b);else if(l>1e-6)if(Math.abs(k*h-i*j)>1e-6&&e){var m=c-f,n=d-g,o=h*h+i*i,p=Math.sqrt(o),q=Math.sqrt(l),r=e*Math.tan((v-Math.acos((o+l-(m*m+n*n))/(2*p*q)))/2),s=r/q,t=r/p;Math.abs(s-1)>1e-6&&(this._+="L"+(a+s*j)+","+(b+s*k)),this._+="A"+e+","+e+",0,0,"+ +(k*m>j*n)+","+(this._x1=a+t*h)+","+(this._y1=b+t*i)}else this._+="L"+(this._x1=a)+","+(this._y1=b)},arc:function(a,b,c,d,e,f){a*=1,b*=1,c*=1,f=!!f;var g=c*Math.cos(d),h=c*Math.sin(d),i=a+g,j=b+h,k=1^f,l=f?d-e:e-d;if(c<0)throw Error("negative radius: "+c);null===this._x1?this._+="M"+i+","+j:(Math.abs(this._x1-i)>1e-6||Math.abs(this._y1-j)>1e-6)&&(this._+="L"+i+","+j),c&&(l<0&&(l=l%w+w),l>x?this._+="A"+c+","+c+",0,1,"+k+","+(a-g)+","+(b-h)+"A"+c+","+c+",0,1,"+k+","+(this._x1=i)+","+(this._y1=j):l>1e-6&&(this._+="A"+c+","+c+",0,"+ +(l>=v)+","+k+","+(this._x1=a+c*Math.cos(e))+","+(this._y1=b+c*Math.sin(e))))},rect:function(a,b,c,d){this._+="M"+(this._x0=this._x1=+a)+","+(this._y0=this._y1=+b)+"h"+ +c+"v"+ +d+"h"+-c+"Z"},toString:function(){return this._}};var A=Array.prototype.slice;function B(a){return function(){return a}}function C(a){return a[0]}function D(a){return a[1]}function E(a){return a.source}function F(a){return a.target}function G(a,b,c,d,e){a.moveTo(b,c),a.bezierCurveTo(b=(b+d)/2,c,b,e,d,e)}function H(a){return[a.source.x1,a.y0]}function I(a){return[a.target.x0,a.y1]}var J=function(){var a=(0,e.K2)(function(a,b,c,d){for(c=c||{},d=a.length;d--;c[a[d]]=b);return c},"o"),b=[1,9],c=[1,10],d=[1,5,10,12],f={trace:(0,e.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:(0,e.K2)(function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 7:let i=d.findOrCreateNode(f[h-4].trim().replaceAll('""','"')),j=d.findOrCreateNode(f[h-2].trim().replaceAll('""','"')),k=parseFloat(f[h].trim());d.addLink(i,j,k);break;case 8:case 9:case 11:this.$=f[h];break;case 10:this.$=f[h-1]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:b,20:c},{1:[2,6],7:11,10:[1,12]},a(c,[2,4],{9:13,5:[1,14]}),{12:[1,15]},a(d,[2,8]),a(d,[2,9]),{19:[1,16]},a(d,[2,11]),{1:[2,1]},{1:[2,5]},a(c,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:b,20:c},{15:18,16:7,17:8,18:b,20:c},{18:[1,19]},a(c,[2,3]),{12:[1,20]},a(d,[2,10]),{15:21,16:7,17:8,18:b,20:c},a([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:(0,e.K2)(function(a,b){if(b.recoverable)this.trace(a);else{var c=Error(a);throw c.hash=b,c}},"parseError"),parse:(0,e.K2)(function(a){var b=this,c=[0],d=[],f=[null],g=[],h=this.table,i="",j=0,k=0,l=0,m=g.slice.call(arguments,1),n=Object.create(this.lexer),o={};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(o[p]=this.yy[p]);n.setInput(a,o),o.lexer=n,o.parser=this,void 0===n.yylloc&&(n.yylloc={});var q=n.yylloc;g.push(q);var r=n.options&&n.options.ranges;function s(){var a;return"number"!=typeof(a=d.pop()||n.lex()||1)&&(a instanceof Array&&(a=(d=a).pop()),a=b.symbols_[a]||a),a}"function"==typeof o.parseError?this.parseError=o.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,e.K2)(function(a){c.length=c.length-2*a,f.length=f.length-a,g.length=g.length-a},"popStack"),(0,e.K2)(s,"lex");for(var t,u,v,w,x,y,z,A,B,C={};;){if(v=c[c.length-1],this.defaultActions[v]?w=this.defaultActions[v]:(null==t&&(t=s()),w=h[v]&&h[v][t]),void 0===w||!w.length||!w[0]){var D="";for(y in B=[],h[v])this.terminals_[y]&&y>2&&B.push("'"+this.terminals_[y]+"'");D=n.showPosition?"Parse error on line "+(j+1)+":\n"+n.showPosition()+"\nExpecting "+B.join(", ")+", got '"+(this.terminals_[t]||t)+"'":"Parse error on line "+(j+1)+": Unexpected "+(1==t?"end of input":"'"+(this.terminals_[t]||t)+"'"),this.parseError(D,{text:n.match,token:this.terminals_[t]||t,line:n.yylineno,loc:q,expected:B})}if(w[0]instanceof Array&&w.length>1)throw Error("Parse Error: multiple actions possible at state: "+v+", token: "+t);switch(w[0]){case 1:c.push(t),f.push(n.yytext),g.push(n.yylloc),c.push(w[1]),t=null,u?(t=u,u=null):(k=n.yyleng,i=n.yytext,j=n.yylineno,q=n.yylloc,l>0&&l--);break;case 2:if(z=this.productions_[w[1]][1],C.$=f[f.length-z],C._$={first_line:g[g.length-(z||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(z||1)].first_column,last_column:g[g.length-1].last_column},r&&(C._$.range=[g[g.length-(z||1)].range[0],g[g.length-1].range[1]]),void 0!==(x=this.performAction.apply(C,[i,k,j,o,w[1],f,g].concat(m))))return x;z&&(c=c.slice(0,-1*z*2),f=f.slice(0,-1*z),g=g.slice(0,-1*z)),c.push(this.productions_[w[1]][0]),f.push(C.$),g.push(C._$),A=h[c[c.length-2]][c[c.length-1]],c.push(A);break;case 3:return!0}}return!0},"parse")};function g(){this.yy={}}return f.lexer={EOF:1,parseError:(0,e.K2)(function(a,b){if(this.yy.parser)this.yy.parser.parseError(a,b);else throw Error(a)},"parseError"),setInput:(0,e.K2)(function(a,b){return this.yy=b||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,e.K2)(function(){var a=this._input[0];return this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a,a.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},"input"),unput:(0,e.K2)(function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this.yyleng=this.yytext.length,this},"unput"),more:(0,e.K2)(function(){return this._more=!0,this},"more"),reject:(0,e.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,e.K2)(function(a){this.unput(this.match.slice(a))},"less"),pastInput:(0,e.K2)(function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,e.K2)(function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,e.K2)(function(){var a=this.pastInput(),b=Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},"showPosition"),test_match:(0,e.K2)(function(a,b){var c,d,e;if(this.options.backtrack_lexer&&(e={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(e.yylloc.range=this.yylloc.range.slice(0))),(d=a[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=d.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:d?d[d.length-1].length-d[d.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],c=this.performAction.call(this,this.yy,this,b,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),c)return c;if(this._backtrack)for(var f in e)this[f]=e[f];return!1},"test_match"),next:(0,e.K2)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a,b,c,d,e=this._currentRules(),f=0;f<e.length;f++)if((c=this._input.match(this.rules[e[f]]))&&(!b||c[0].length>b[0].length)){if(b=c,d=f,this.options.backtrack_lexer){if(!1!==(a=this.test_match(c,e[f])))return a;if(!this._backtrack)return!1;b=!1;continue}if(!this.options.flex)break}return b?!1!==(a=this.test_match(b,e[d]))&&a:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,e.K2)(function(){var a=this.next();return a||this.lex()},"lex"),begin:(0,e.K2)(function(a){this.conditionStack.push(a)},"begin"),popState:(0,e.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,e.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,e.K2)(function(a){return(a=this.conditionStack.length-1-Math.abs(a||0))>=0?this.conditionStack[a]:"INITIAL"},"topState"),pushState:(0,e.K2)(function(a){this.begin(a)},"pushState"),stateStackSize:(0,e.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,e.K2)(function(a,b,c,d){switch(c){case 0:case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}},(0,e.K2)(g,"Parser"),g.prototype=f,f.Parser=g,new g}();J.parser=J;var K=[],L=[],M=new Map,N=(0,e.K2)(()=>{K=[],L=[],M=new Map,(0,d.IU)()},"clear"),O=class{constructor(a,b,c=0){this.source=a,this.target=b,this.value=c}static{(0,e.K2)(this,"SankeyLink")}},P=(0,e.K2)((a,b,c)=>{K.push(new O(a,b,c))},"addLink"),Q=class{constructor(a){this.ID=a}static{(0,e.K2)(this,"SankeyNode")}},R=(0,e.K2)(a=>{a=d.Y2.sanitizeText(a,(0,d.D7)());let b=M.get(a);return void 0===b&&(b=new Q(a),M.set(a,b),L.push(b)),b},"findOrCreateNode"),S=(0,e.K2)(()=>L,"getNodes"),T=(0,e.K2)(()=>K,"getLinks"),U=(0,e.K2)(()=>({nodes:L.map(a=>({id:a.ID})),links:K.map(a=>({source:a.source.ID,target:a.target.ID,value:a.value}))}),"getGraph"),V={nodesMap:M,getConfig:(0,e.K2)(()=>(0,d.D7)().sankey,"getConfig"),getNodes:S,getLinks:T,getGraph:U,addLink:P,findOrCreateNode:R,getAccTitle:d.iN,setAccTitle:d.SV,getAccDescription:d.m7,setAccDescription:d.EI,getDiagramTitle:d.ab,setDiagramTitle:d.ke,clear:N},W=class a{static{(0,e.K2)(this,"Uid")}static{this.count=0}static next(b){return new a(b+ ++a.count)}constructor(a){this.id=a,this.href=`#${a}`}toString(){return"url("+this.href+")"}},X={left:function(a){return a.depth},right:function(a,b){return b-1-a.height},center:function(a){return a.targetLinks.length?a.depth:a.sourceLinks.length?g(a.sourceLinks,h)-1:0},justify:i},Y=(0,e.K2)(a=>{let b=0,c=0;for(let d of a){let a=d.value??0;a>b&&(b=a,c=d.layer??0)}return c},"findCentralNodeLayer"),Z=(0,e.K2)(function(a,b,c,h){let v,w,{securityLevel:x,sankey:y}=(0,d.D7)(),J=d.ME.sankey;"sandbox"===x&&(v=(0,f.Ltv)("#i"+b));let K="sandbox"===x?(0,f.Ltv)(v.nodes()[0].contentDocument.body):(0,f.Ltv)("body"),L="sandbox"===x?K.select(`[id="${b}"]`):(0,f.Ltv)(`[id="${b}"]`),M=y?.width??J.width,N=y?.height??J.width,O=y?.useMaxWidth??J.useMaxWidth,P=y?.nodeAlignment??J.nodeAlignment,Q=y?.prefix??J.prefix,R=y?.suffix??J.suffix,S=y?.showValues??J.showValues,T=y?.nodeWidth??J.nodeWidth??10,U=y?.nodePadding??J.nodePadding??12,V=y?.labelStyle??J.labelStyle??"legacy",Z=y?.nodeColors??{},$=h.db.getGraph(),_=X[P];(function(){let a,b,c=0,d=0,e=1,f=1,h=24,v=8,w,x=q,y=i,z=r,A=s,B=6;function C(){let i={nodes:z.apply(null,arguments),links:A.apply(null,arguments)};return function({nodes:a,links:c}){for(let[b,c]of a.entries())c.index=b,c.sourceLinks=[],c.targetLinks=[];let d=new Map(a.map((b,c)=>[x(b,c,a),b]));for(let[a,b]of c.entries()){b.index=a;let{source:c,target:e}=b;"object"!=typeof c&&(c=b.source=t(d,c)),"object"!=typeof e&&(e=b.target=t(d,e)),c.sourceLinks.push(b),e.targetLinks.push(b)}if(null!=b)for(let{sourceLinks:c,targetLinks:d}of a)c.sort(b),d.sort(b)}(i),function({nodes:a}){for(let b of a)b.value=void 0===b.fixedValue?Math.max(j(b.sourceLinks,p),j(b.targetLinks,p)):b.fixedValue}(i),function({nodes:a}){let b=a.length,c=new Set(a),d=new Set,e=0;for(;c.size;){for(let a of c)for(let{target:b}of(a.depth=e,a.sourceLinks))d.add(b);if(++e>b)throw Error("circular link");c=d,d=new Set}}(i),function({nodes:a}){let b=a.length,c=new Set(a),d=new Set,e=0;for(;c.size;){for(let a of c)for(let{source:b}of(a.height=e,a.targetLinks))d.add(b);if(++e>b)throw Error("circular link");c=d,d=new Set}}(i),function(i){let l=function({nodes:b}){let d=k(b,a=>a.depth)+1,f=(e-c-h)/(d-1),g=Array(d);for(let a of b){let b=Math.max(0,Math.min(d-1,Math.floor(y.call(null,a,d))));a.layer=b,a.x0=c+b*f,a.x1=a.x0+h,g[b]?g[b].push(a):g[b]=[a]}if(a)for(let b of g)b.sort(a);return g}(i);w=Math.min(v,(f-d)/(k(l,a=>a.length)-1));let q=g(l,a=>(f-d-(a.length-1)*w)/j(a,p));for(let a of l){let c=d;for(let b of a)for(let a of(b.y0=c,b.y1=c+b.value*q,c=b.y1+w,b.sourceLinks))a.width=a.value*q;c=(f-c+w)/(a.length+1);for(let b=0;b<a.length;++b){let d=a[b];d.y0+=c*(b+1),d.y1+=c*(b+1)}var r=a;if(void 0===b)for(let{sourceLinks:a,targetLinks:b}of r)a.sort(n),b.sort(m)}for(let b=0;b<B;++b){let c=Math.pow(.99,b),d=Math.max(1-c,(b+1)/B);(function(b,c,d){for(let e=b.length,f=e-2;f>=0;--f){let e=b[f];for(let a of e){let b=0,d=0;for(let{target:c,value:e}of a.sourceLinks){let f=e*(c.layer-a.layer);b+=function(a,b){let c=b.y0-(b.targetLinks.length-1)*w/2;for(let{source:d,width:e}of b.targetLinks){if(d===a)break;c+=e+w}for(let{target:d,width:e}of a.sourceLinks){if(d===b)break;c-=e}return c}(a,c)*f,d+=f}if(!(d>0))continue;let e=(b/d-a.y0)*c;a.y0+=e,a.y1+=e,G(a)}void 0===a&&e.sort(o),D(e,d)}})(l,c,d),function(b,c,d){for(let e=1,f=b.length;e<f;++e){let f=b[e];for(let a of f){let b=0,d=0;for(let{source:c,value:e}of a.targetLinks){let f=e*(a.layer-c.layer);b+=function(a,b){let c=a.y0-(a.sourceLinks.length-1)*w/2;for(let{target:d,width:e}of a.sourceLinks){if(d===b)break;c+=e+w}for(let{source:d,width:e}of b.targetLinks){if(d===a)break;c-=e}return c}(c,a)*f,d+=f}if(!(d>0))continue;let e=(b/d-a.y0)*c;a.y0+=e,a.y1+=e,G(a)}void 0===a&&f.sort(o),D(f,d)}}(l,c,d)}}(i),u(i),i}function D(a,b){let c=a.length>>1,e=a[c];F(a,e.y0-w,c-1,b),E(a,e.y1+w,c+1,b),F(a,f,a.length-1,b),E(a,d,0,b)}function E(a,b,c,d){for(;c<a.length;++c){let e=a[c],f=(b-e.y0)*d;f>1e-6&&(e.y0+=f,e.y1+=f),b=e.y1+w}}function F(a,b,c,d){for(;c>=0;--c){let e=a[c],f=(e.y1-b)*d;f>1e-6&&(e.y0-=f,e.y1-=f),b=e.y0-w}}function G({sourceLinks:a,targetLinks:c}){if(void 0===b){for(let{source:{sourceLinks:a}}of c)a.sort(n);for(let{target:{targetLinks:b}}of a)b.sort(m)}}return C.update=function(a){return u(a),a},C.nodeId=function(a){return arguments.length?(x="function"==typeof a?a:l(a),C):x},C.nodeAlign=function(a){return arguments.length?(y="function"==typeof a?a:l(a),C):y},C.nodeSort=function(b){return arguments.length?(a=b,C):a},C.nodeWidth=function(a){return arguments.length?(h=+a,C):h},C.nodePadding=function(a){return arguments.length?(v=w=+a,C):v},C.nodes=function(a){return arguments.length?(z="function"==typeof a?a:l(a),C):z},C.links=function(a){return arguments.length?(A="function"==typeof a?a:l(a),C):A},C.linkSort=function(a){return arguments.length?(b=a,C):b},C.size=function(a){return arguments.length?(c=d=0,e=+a[0],f=+a[1],C):[e-c,f-d]},C.extent=function(a){return arguments.length?(c=+a[0][0],e=+a[1][0],d=+a[0][1],f=+a[1][1],C):[[c,d],[e,f]]},C.iterations=function(a){return arguments.length?(B=+a,C):B},C})().nodeId(a=>a.id).nodeWidth(T).nodePadding(U+15*!!S).nodeAlign(_).extent([[0,0],[M,N]])($);let aa=Y($.nodes),ab=(0,f.UMr)(f.zt),ac=(0,e.K2)(a=>Z[a]??ab(a),"getNodeColor");L.append("g").attr("class","nodes").selectAll(".node").data($.nodes).join("g").attr("class","node").attr("id",a=>(a.uid=W.next("node-")).id).attr("transform",function(a){return"translate("+a.x0+","+a.y0+")"}).attr("x",a=>a.x0).attr("y",a=>a.y0).append("rect").attr("height",a=>a.y1-a.y0).attr("width",a=>a.x1-a.x0).attr("fill",a=>ac(a.id));let ad=(0,e.K2)(({id:a,value:b})=>S?`${a}
2
+ ${Q}${Math.round(100*b)/100}${R}`:a,"getText"),ae=(0,e.K2)(a=>"outlined"===V?(a.layer??0)<aa?{x:a.x0-6,anchor:"end"}:{x:a.x1+6,anchor:"start"}:a.x0<M/2?{x:a.x1+6,anchor:"start"}:{x:a.x0-6,anchor:"end"},"getLabelPosition"),af=L.append("g").attr("class","node-labels").attr("font-size",14),ag=(0,e.K2)(a=>af.selectAll(a?`.${a}`:"text").data($.nodes).join("text").attr("class",a??null).attr("x",a=>ae(a).x).attr("y",a=>(a.y1+a.y0)/2).attr("dy",`${S?"0":"0.35"}em`).attr("text-anchor",a=>ae(a).anchor).text(ad),"appendLabel");"outlined"===V?(ag("sankey-label-bg"),ag("sankey-label-fg")):ag();let ah=L.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data($.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),ai=y?.linkColor??"gradient";if("gradient"===ai){let a=ah.append("linearGradient").attr("id",a=>(a.uid=W.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",a=>a.source.x1).attr("x2",a=>a.target.x0);a.append("stop").attr("offset","0%").attr("stop-color",a=>ac(a.source.id)),a.append("stop").attr("offset","100%").attr("stop-color",a=>ac(a.target.id))}switch(ai){case"gradient":w=(0,e.K2)(a=>a.uid,"coloring");break;case"source":w=(0,e.K2)(a=>ac(a.source.id),"coloring");break;case"target":w=(0,e.K2)(a=>ac(a.target.id),"coloring");break;default:w=ai}ah.append("path").attr("d",(function(a){var b=E,c=F,d=C,e=D,f=null;function g(){var g,h=A.call(arguments),i=b.apply(this,h),j=c.apply(this,h);if(f||(f=g=z()),a(f,+d.apply(this,(h[0]=i,h)),+e.apply(this,h),+d.apply(this,(h[0]=j,h)),+e.apply(this,h)),g)return f=null,g+""||null}return g.source=function(a){return arguments.length?(b=a,g):b},g.target=function(a){return arguments.length?(c=a,g):c},g.x=function(a){return arguments.length?(d="function"==typeof a?a:B(+a),g):d},g.y=function(a){return arguments.length?(e="function"==typeof a?a:B(+a),g):e},g.context=function(a){return arguments.length?(f=null==a?null:a,g):f},g})(G).source(H).target(I)).attr("stroke",w).attr("stroke-width",a=>Math.max(1,a.width)),(0,d.ot)(void 0,L,0,O)},"draw"),$=(0,e.K2)(a=>a.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,"\n").trim(),"prepareTextForParsing"),_=(0,e.K2)(a=>`.label {
3
+ font-family: ${a.fontFamily};
4
+ }
5
+
6
+ .node-labels {
7
+ font-family: ${a.fontFamily};
8
+ }
9
+
10
+ /* Outlined label style - background stroke for better readability */
11
+ .sankey-label-bg {
12
+ stroke: ${a.mainBkg||a.background||"#fff"};
13
+ stroke-width: 4px;
14
+ stroke-linejoin: round;
15
+ paint-order: stroke;
16
+ }
17
+
18
+ /* Foreground label text */
19
+ .sankey-label-fg {
20
+ fill: ${a.textColor};
21
+ }
22
+
23
+ /* Node styling */
24
+ .node rect {
25
+ shape-rendering: crispEdges;
26
+ }
27
+
28
+ /* Link styling */
29
+ .link {
30
+ fill: none;
31
+ stroke-opacity: 0.5;
32
+ mix-blend-mode: multiply;
33
+ }
34
+ `,"getStyles"),aa=J.parse.bind(J);J.parse=a=>aa($(a));var ab={styles:_,parser:J,db:V,renderer:{draw:Z}}}};
@@ -1,6 +1,6 @@
1
- exports.id=4031,exports.ids=[4031],exports.modules={12140:(a,b,c)=>{"use strict";c.d(b,{Md:()=>p,u0:()=>m,y4:()=>n});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g),i=c(73652);let j=f().join((0,i._)(),"audit");function k(a){return f().join(j,`${a}.jsonl`)}function l(a=new Date){return a.toISOString().slice(0,10)}async function m(a){let b={ts:a.ts??new Date().toISOString(),...a};await d.promises.mkdir(j,{recursive:!0});let c=k(l());await d.promises.appendFile(c,JSON.stringify(b)+"\n","utf8")}async function n(a={}){let b,c=await o(),e=a.date??c[0]??l(),f=a.limit??500,g=k(e);try{b=await d.promises.readFile(g,"utf8")}catch{return{date:e,entries:[],availableDates:c}}let h=[],i=b.split(/\r?\n/);for(let b=i.length-1;b>=0&&h.length<f;b--){let c,d=i[b];if(d){try{c=JSON.parse(d)}catch{continue}(function(a,b){if(!b)return!0;if(b.utilityId&&a.utilityId!==b.utilityId||b.method&&a.method!==b.method||b.phase&&a.phase!==b.phase)return!1;if(b.status){let c=!a.error;if("ok"===b.status&&!c||"error"===b.status&&c)return!1}return!0})(c,a.filter)&&h.push(c)}}return{date:e,entries:h,availableDates:c}}async function o(){let a;try{a=await d.promises.readdir(j)}catch{return[]}return a.filter(a=>/^\d{4}-\d{2}-\d{2}\.jsonl$/.test(a)).map(a=>a.replace(/\.jsonl$/,"")).sort().reverse()}async function p(a,b){let c=h().randomUUID().replace(/-/g,"").slice(0,16),d=Date.now();await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"start",correlationId:c,...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{},args:q(a.args)});try{let e=await b(c);return await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,result:q(e)}),e}catch(e){let b=e instanceof Error?e.message:String(e);throw await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,error:b}),e}}function q(a,b=0){if(null==a)return a;if("string"==typeof a)return a.length>2e3?a.slice(0,2e3)+"…[truncated]":a;if("object"!=typeof a)return a;if(b>3)return"[…]";if(Array.isArray(a))return a.slice(0,50).map(a=>q(a,b+1));let c={},d=0;for(let[e,f]of Object.entries(a)){if(d++>=50){c["…"]="truncated";break}c[e]=q(f,b+1)}return c}},49556:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{runServerAction:()=>m});var e=c(75919),f=c(76760),g=c.n(f),h=c(73136),i=c(99861),j=c(99066),k=c(12140),l=a([i,j]);async function m(a){let b=(0,i.actionBundlePath)(a.utility.dir,a.action.name),c=(0,h.pathToFileURL)(b).toString(),d=function(){let a="lib/server/utilities/worker-bootstrap.js",b=process.env.REFLEX_PKG_ROOT;if(b)return g().resolve(b,a);let c=null;try{c=61880}catch{}return"string"==typeof c&&g().isAbsolute(c)?c:g().resolve(process.cwd(),a)}();return new Promise((b,f)=>{let g=new e.Worker(d,{workerData:{bundleUrl:c,actionName:a.action.name,utilityId:a.utility.manifest.id,scope:a.utility.scope},env:{},eval:!1,resourceLimits:{maxOldGenerationSizeMb:256,maxYoungGenerationSizeMb:64}}),h=!1,i=(c,d,e)=>{h||(h=!0,clearTimeout(l),g.removeAllListeners(),g.terminate().catch(()=>{}),c?((0,k.u0)({ts:new Date().toISOString(),utilityId:a.utility.manifest.id,scope:a.utility.scope,channel:"worker",method:`action:${a.action.name}`,phase:"end",correlationId:a.parentCorrelationId??"(detached)",error:e??c.message}),f(c)):b(d))},l=setTimeout(()=>{i(Error("server action timed out"),void 0,"timeout")},a.action.timeoutMs);g.on("error",a=>i(a)),g.on("exit",a=>{0!==a&&i(Error(`worker exited with code ${a}`))}),g.on("message",async b=>{if(b&&"object"==typeof b){if("host-rpc"===b.type){let c=b.id,d=b.method,e=b.args;try{let b=await (0,j.p)({utility:a.utility,channel:"worker",...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{}},d,e);g.postMessage({type:"host-rpc-result",id:c,ok:!0,result:b})}catch(a){g.postMessage({type:"host-rpc-result",id:c,ok:!1,error:a instanceof Error?a.message:String(a)})}return}"invoke-result"===b.type&&(b.ok?i(null,b.result):i(Error(b.error||"server action failed")))}}),g.postMessage({type:"invoke",args:a.args})})}[i,j]=l.then?(await l)():l,d()}catch(a){d(a)}})},61880:(a,b,c)=>{"use strict";var d=c(75919);if(!d.parentPort)throw Error("worker-bootstrap.js must be loaded as a worker_threads child");let e=new Map,f=1,g=new Proxy({},{get(a,b){if("string"==typeof b)return new Proxy({},{get(a,c){if("string"==typeof c)return a=>new Promise((g,h)=>{let i=f++;e.set(i,{resolve:g,reject:h}),d.parentPort.postMessage({type:"host-rpc",id:i,method:`${b}.${c}`,args:a})})}})}});globalThis.__reflexHost=g,d.parentPort.on("message",async a=>{if(a&&"host-rpc-result"===a.type){let b=e.get(a.id);if(!b)return;e.delete(a.id),a.ok?b.resolve(a.result):b.reject(Error(a.error||"rpc failed"));return}if(a&&"invoke"===a.type)try{let b=await c(74664)(d.workerData.bundleUrl),e=b[d.workerData.actionName]??b.default;if("function"!=typeof e)throw Error(`action "${d.workerData.actionName}" must export a function (named export or default)`);let f=await e(a.args,g);d.parentPort.postMessage({type:"invoke-result",ok:!0,result:f})}catch(a){d.parentPort.postMessage({type:"invoke-result",ok:!1,error:a&&a.message?a.message:String(a)})}})},74664:a=>{function b(a){return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b})}b.keys=()=>[],b.resolve=b,b.id=74664,a.exports=b},99066:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{p:()=>p});var e=c(73024),f=c(76760),g=c.n(f),h=c(56149),i=c(12140),j=c(99353),k=c(56942),l=c(19319),m=c(53905),n=c(36017),o=a([j]);j=(o.then?(await o)():o)[0];let T=h.Ik({task:h.k5(["chat","quick","rag","embed"]).default("quick"),prompt:h.Yj().min(1),model:h.Yj().optional()}),U=h.Ik({kind:h.Yj().min(1).max(64),title:h.Yj().min(1).max(200),body:h.Yj().default(""),meta:h.g1(h.Yj(),h.L5()).optional(),slug:h.Yj().optional(),date:h.Yj().optional(),rootId:h.Yj().optional()}),V=h.Ik({kind:h.Yj().optional(),query:h.Yj().optional(),rootId:h.Yj().optional()}),W=h.Ik({relPath:h.Yj().min(1),rootId:h.Yj().optional()}),X=h.Ik({path:h.Yj().min(1),content:h.Yj().optional()}),Y=h.Ik({url:h.Yj().url(),method:h.k5(["GET","POST","PUT","DELETE","PATCH"]).default("GET"),headers:h.g1(h.Yj(),h.Yj()).optional(),body:h.KC([h.Yj(),h.g1(h.Yj(),h.L5())]).optional()}),Z=h.Ik({query:h.Yj().min(1).max(512)}),$=h.Ik({type:h.Yj().min(1).max(64),payload:h.L5().optional()}),_=h.Ik({server:h.Yj().min(1).optional(),tool:h.Yj().min(1),args:h.g1(h.Yj(),h.L5()).default({})}),aa=h.Ik({server:h.Yj().min(1).optional()}),ab=h.Ik({key:h.Yj().min(1)}),ac=h.Ik({name:h.Yj().min(1),args:h.L5().optional()}),ad=h.Ik({prompt:h.Yj().min(1).max(4e4),rootId:h.Yj().optional(),harness:h.Yj().optional(),model:h.Yj().optional(),language:h.Yj().optional(),label:h.Yj().optional(),timeoutMs:h.ai().int().min(1e3).max(9e5).optional()}),ae=h.Ik({rootId:h.Yj().optional()}),af=h.Ik({workflowId:h.Yj().min(1),rootId:h.Yj().optional()}),ag=h.Ik({workflowId:h.Yj().min(1),rootId:h.Yj().optional(),input:h.L5().optional()}),ah=h.Ik({prompt:h.Yj().min(1).max(8e3),provider:h.k5(["gemini","codex"]).optional(),size:h.Yj().max(40).optional(),aspectRatio:h.Yj().max(40).optional(),referenceImageUrls:h.YO(h.Yj().url()).max(6).optional(),alt:h.Yj().max(280).optional(),rootId:h.Yj().optional()}),ai=h.Ik({query:h.Yj().min(1).max(200),provider:h.k5(["unsplash","pexels","brave"]).optional(),count:h.ai().int().min(1).max(24).optional()}),aj=h.Ik({sourceUrl:h.Yj().url(),rootId:h.Yj().optional()}),ak=h.Ik({query:h.Yj().min(1).max(200),alt:h.Yj().max(280).default(""),context:h.Yj().max(2e3).default(""),candidates:h.YO(h.Ik({url:h.Yj().url(),thumb:h.Yj().url(),attribution:h.Ik({name:h.Yj().default(""),link:h.Yj().default("")})})).min(1).max(12),rootId:h.Yj().optional()}),al=h.Ik({widgetId:h.Yj().optional(),snapshot:h.Ik({kind:h.k5(["markdown","news-list","link-list","kpi","checklist","quote","kb-pinned","progress","image","stat-table","map"]),title:h.Yj().optional(),description:h.Yj().optional(),data:h.g1(h.Yj(),h.L5()).default({})}),rootId:h.Yj().optional()});async function p(a,b,c){let d={utilityId:a.utility.manifest.id,scope:a.utility.scope,channel:a.channel,method:b,args:c,...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{}};return(0,i.Md)(d,async d=>{switch(b){case"llm.complete":return w(a,T.parse(c));case"kb.add":return x(a,U.parse(c));case"kb.list":return y(a,V.parse(c));case"kb.read":return z(a,W.parse(c));case"fs.read":return B(a,X.parse(c));case"fs.write":return C(a,X.parse(c));case"fs.list":return D(a,X.parse(c));case"web.fetch":return E(a,Y.parse(c));case"web.search":return F(a,Z.parse(c));case"audit.log":return G(a,$.parse(c),d);case"actions.invoke":return H(a,ac.parse(c),d);case"mcp.call":return t(a,_.parse(c));case"mcp.listServers":return u(a);case"mcp.listTools":return v(a,aa.parse(c));case"secrets.get":return q(a,ab.parse(c));case"secrets.list":return r(a);case"agent.invoke":return I(a,ad.parse(c));case"workflow.list":return J(a,ae.parse(c));case"workflow.read":return K(a,af.parse(c));case"workflow.run":return L(a,ag.parse(c));case"cards.update":return M(a,al.parse(c));case"images.generate":return N(a,ah.parse(c));case"images.search":return O(a,ai.parse(c));case"images.attach":return P(a,aj.parse(c));case"images.pickBest":return Q(a,ak.parse(c));default:throw Error(`Unknown host method: ${b}`)}})}async function q(a,b){if(!(a.utility.manifest.secrets??[]).find(a=>a.key===b.key))throw Error(`secret "${b.key}" is not declared in manifest.secrets`);let{getSecret:d}=await c.e(8514).then(c.bind(c,28514)),e=await d(a.utility.scope,a.utility.manifest.id,b.key,a.utility.rootId);if(null==e)throw Error(`secret "${b.key}" is not set — fill it in the utility's panel`);return{value:e}}async function r(a){let b=a.utility.manifest.secrets??[],{listSecretKeys:d}=await c.e(8514).then(c.bind(c,28514)),e=new Set(await d(a.utility.scope,a.utility.manifest.id,a.utility.rootId));return{secrets:b.map(a=>({key:a.key,set:e.has(a.key),required:a.required,label:a.label,description:a.description}))}}async function s(a,b){let d=a.utility.manifest.mcpServers??[],f=b;if(!f)if(1===d.length)f=d[0];else if(a.utility.manifest.source?.type==="mcp"){let b=g().join(a.utility.dir,"mcp.json"),d=await e.promises.readFile(b,"utf8").catch(()=>null);if(!d)throw Error(`mcp config missing at ${b}`);let{McpConfigSchema:f}=await Promise.resolve().then(c.bind(c,97453));return{config:f.parse(JSON.parse(d)),serverId:"(bundled)"}}else throw Error(0===d.length?"manifest.mcpServers is empty — declare which server you want to use":"multiple mcpServers declared — pass `server` explicitly");if(!d.includes(f))throw Error(`mcp server "${f}" is not in manifest.mcpServers — declare it to gain access`);let{getMcpServer:h}=await Promise.resolve().then(c.bind(c,580)),i=await h(f);if(!i)throw Error(`mcp server "${f}" is not registered — add it in Settings → MCP`);return{config:i.config,serverId:f}}async function t(a,b){let{config:d,serverId:e}=await s(a,b.server),{callTool:f}=await Promise.resolve().then(c.bind(c,97453)),g=await f(d,b.tool,b.args);return{server:e,...void 0!==g.isError?{isError:g.isError}:{},content:g.content}}async function u(a){let b=a.utility.manifest.mcpServers??[],{listMcpServers:d}=await Promise.resolve().then(c.bind(c,580)),e=await d(),f=new Map(e.map(a=>[a.id,a]));return{servers:b.map(a=>{let b=f.get(a);return{id:a,label:b?.label??a,description:b?.description??"",registered:!!b}})}}async function v(a,b){let{config:d,serverId:e}=await s(a,b.server),{connectAndListTools:f}=await Promise.resolve().then(c.bind(c,97453)),g=await f(d);return{server:e,tools:g.tools}}async function w(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.llm?.tasks?.includes(b.task),`llm.${b.task} not granted in manifest`);let c={...(await (0,n.M)()).assignments[b.task],...b.model?{model:b.model}:{}};return{text:await (0,j.T)(c,b.prompt,{timeoutMs:6e4})}}async function x(a,b){if(R(a.utility.manifest,!!a.utility.manifest.permissions.kb?.write,"kb.write not granted"),a.utility.manifest.permissions.kb?.kinds&&!a.utility.manifest.permissions.kb.kinds.includes(b.kind))throw Error(`kb kind "${b.kind}" not in manifest allowlist`);let c=await S(a,b.rootId),d=await (0,k.j)({rootPath:c.path,directive:{kind:b.kind,title:b.title,...b.body?{body:b.body}:{},...b.meta?{meta:b.meta}:{},...b.slug?{slug:b.slug}:{},...b.date?{date:b.date}:{}},provenance:{kind:"utility",id:a.utility.manifest.id,version:a.utility.manifest.version}});return{relPath:d.relPath,absPath:d.absPath}}async function y(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.kb?.read,"kb.read not granted");let c=await S(a,b.rootId),d=await (0,l.dj)(c.path),e=b.query?.toLowerCase();return d.filter(a=>(!b.kind||a.rel.split("/")[0]===b.kind||a.meta.kind===b.kind)&&(!e||!!`${a.rel} ${a.meta.title??""}`.toLowerCase().includes(e))&&!0).map(a=>({relPath:a.rel,title:a.meta.title,kind:a.meta.kind,modifiedAt:a.modifiedAt}))}async function z(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.kb?.read,"kb.read not granted");let c=await S(a,b.rootId);return{content:await (0,l.IK)(c.path,b.relPath)}}function A(a,b){if(b.startsWith("/")||b.includes(".."))throw Error(`unsafe fs path: ${b}`);let c=g().join(a.utility.dir,"data"),d=g().resolve(c,b),e=g().relative(c,d);if(e.startsWith("..")||g().isAbsolute(e))throw Error(`fs path escapes data dir: ${b}`);return d}async function B(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted");let c=A(a,b.path);return{content:await e.promises.readFile(c,"utf8")}}async function C(a,b){if(R(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted"),"string"!=typeof b.content)throw Error("fs.write requires content (string)");let c=A(a,b.path);return await e.promises.mkdir(g().dirname(c),{recursive:!0}),await e.promises.writeFile(c,b.content,"utf8"),{ok:!0,bytes:Buffer.byteLength(b.content,"utf8")}}async function D(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted");let c=A(a,b.path||".");try{return{entries:(await e.promises.readdir(c,{withFileTypes:!0})).map(a=>({name:a.name,isDir:a.isDirectory()}))}}catch{return{entries:[]}}}async function E(a,b){let c,d=a.utility.manifest.permissions.web?.fetch?.domains??[];try{c=new URL(b.url).hostname}catch{throw Error(`invalid url: ${b.url}`)}if(!d.some(a=>c===a||c.endsWith(`.${a}`)))throw Error(`web.fetch denied: domain "${c}" not in whitelist (${d.join(", ")})`);let e={method:b.method,...b.headers?{headers:b.headers}:{},signal:AbortSignal.timeout(2e4)};void 0!==b.body&&"GET"!==b.method&&(e.body="string"==typeof b.body?b.body:JSON.stringify(b.body));let f=await fetch(b.url,e),g=await f.text(),h={};return f.headers.forEach((a,b)=>{h[b]=a}),{status:f.status,headers:h,body:g}}async function F(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.web?.search,"web.search not granted");let c=await (0,n.M)(),d={...c.assignments.quick,allowedTools:Array.from(new Set([...c.assignments.quick.allowedTools??[],"WebSearch"]))},e=`Use the WebSearch tool to find recent results for the query below.
1
+ exports.id=4031,exports.ids=[4031],exports.modules={12140:(a,b,c)=>{"use strict";c.d(b,{Md:()=>p,u0:()=>m,y4:()=>n});var d=c(73024),e=c(76760),f=c.n(e),g=c(77598),h=c.n(g),i=c(73652);let j=f().join((0,i._)(),"audit");function k(a){return f().join(j,`${a}.jsonl`)}function l(a=new Date){return a.toISOString().slice(0,10)}async function m(a){let b={ts:a.ts??new Date().toISOString(),...a};await d.promises.mkdir(j,{recursive:!0});let c=k(l());await d.promises.appendFile(c,JSON.stringify(b)+"\n","utf8")}async function n(a={}){let b,c=await o(),e=a.date??c[0]??l(),f=a.limit??500,g=k(e);try{b=await d.promises.readFile(g,"utf8")}catch{return{date:e,entries:[],availableDates:c}}let h=[],i=b.split(/\r?\n/);for(let b=i.length-1;b>=0&&h.length<f;b--){let c,d=i[b];if(d){try{c=JSON.parse(d)}catch{continue}(function(a,b){if(!b)return!0;if(b.utilityId&&a.utilityId!==b.utilityId||b.method&&a.method!==b.method||b.phase&&a.phase!==b.phase)return!1;if(b.status){let c=!a.error;if("ok"===b.status&&!c||"error"===b.status&&c)return!1}return!0})(c,a.filter)&&h.push(c)}}return{date:e,entries:h,availableDates:c}}async function o(){let a;try{a=await d.promises.readdir(j)}catch{return[]}return a.filter(a=>/^\d{4}-\d{2}-\d{2}\.jsonl$/.test(a)).map(a=>a.replace(/\.jsonl$/,"")).sort().reverse()}async function p(a,b){let c=h().randomUUID().replace(/-/g,"").slice(0,16),d=Date.now();await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"start",correlationId:c,...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{},args:q(a.args)});try{let e=await b(c);return await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,result:q(e)}),e}catch(e){let b=e instanceof Error?e.message:String(e);throw await m({ts:new Date().toISOString(),utilityId:a.utilityId,scope:a.scope,channel:a.channel,method:a.method,phase:"end",correlationId:c,durationMs:Date.now()-d,error:b}),e}}function q(a,b=0){if(null==a)return a;if("string"==typeof a)return a.length>2e3?a.slice(0,2e3)+"…[truncated]":a;if("object"!=typeof a)return a;if(b>3)return"[…]";if(Array.isArray(a))return a.slice(0,50).map(a=>q(a,b+1));let c={},d=0;for(let[e,f]of Object.entries(a)){if(d++>=50){c["…"]="truncated";break}c[e]=q(f,b+1)}return c}},49556:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{runServerAction:()=>m});var e=c(75919),f=c(76760),g=c.n(f),h=c(73136),i=c(99861),j=c(99066),k=c(12140),l=a([i,j]);async function m(a){let b=(0,i.actionBundlePath)(a.utility.dir,a.action.name),c=(0,h.pathToFileURL)(b).toString(),d=function(){let a="lib/server/utilities/worker-bootstrap.js",b=process.env.REFLEX_PKG_ROOT;if(b)return g().resolve(b,a);let c=null;try{c=61880}catch{}return"string"==typeof c&&g().isAbsolute(c)?c:g().resolve(process.cwd(),a)}();return new Promise((b,f)=>{let g=new e.Worker(d,{workerData:{bundleUrl:c,actionName:a.action.name,utilityId:a.utility.manifest.id,scope:a.utility.scope},env:{},eval:!1,resourceLimits:{maxOldGenerationSizeMb:256,maxYoungGenerationSizeMb:64}}),h=!1,i=(c,d,e)=>{h||(h=!0,clearTimeout(l),g.removeAllListeners(),g.terminate().catch(()=>{}),c?((0,k.u0)({ts:new Date().toISOString(),utilityId:a.utility.manifest.id,scope:a.utility.scope,channel:"worker",method:`action:${a.action.name}`,phase:"end",correlationId:a.parentCorrelationId??"(detached)",error:e??c.message}),f(c)):b(d))},l=setTimeout(()=>{i(Error("server action timed out"),void 0,"timeout")},a.action.timeoutMs);g.on("error",a=>i(a)),g.on("exit",a=>{0!==a&&i(Error(`worker exited with code ${a}`))}),g.on("message",async b=>{if(b&&"object"==typeof b){if("host-rpc"===b.type){let c=b.id,d=b.method,e=b.args;try{let b=await (0,j.p)({utility:a.utility,channel:"worker",...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{}},d,e);g.postMessage({type:"host-rpc-result",id:c,ok:!0,result:b})}catch(a){g.postMessage({type:"host-rpc-result",id:c,ok:!1,error:a instanceof Error?a.message:String(a)})}return}"invoke-result"===b.type&&(b.ok?i(null,b.result):i(Error(b.error||"server action failed")))}}),g.postMessage({type:"invoke",args:a.args})})}[i,j]=l.then?(await l)():l,d()}catch(a){d(a)}})},61880:(a,b,c)=>{"use strict";var d=c(75919);if(!d.parentPort)throw Error("worker-bootstrap.js must be loaded as a worker_threads child");let e=new Map,f=1,g=new Proxy({},{get(a,b){if("string"==typeof b)return new Proxy({},{get(a,c){if("string"==typeof c)return a=>new Promise((g,h)=>{let i=f++;e.set(i,{resolve:g,reject:h}),d.parentPort.postMessage({type:"host-rpc",id:i,method:`${b}.${c}`,args:a})})}})}});globalThis.__reflexHost=g,d.parentPort.on("message",async a=>{if(a&&"host-rpc-result"===a.type){let b=e.get(a.id);if(!b)return;e.delete(a.id),a.ok?b.resolve(a.result):b.reject(Error(a.error||"rpc failed"));return}if(a&&"invoke"===a.type)try{let b=await c(74664)(d.workerData.bundleUrl),e=b[d.workerData.actionName]??b.default;if("function"!=typeof e)throw Error(`action "${d.workerData.actionName}" must export a function (named export or default)`);let f=await e(a.args,g);d.parentPort.postMessage({type:"invoke-result",ok:!0,result:f})}catch(a){d.parentPort.postMessage({type:"invoke-result",ok:!1,error:a&&a.message?a.message:String(a)})}})},74664:a=>{function b(a){return Promise.resolve().then(()=>{var b=Error("Cannot find module '"+a+"'");throw b.code="MODULE_NOT_FOUND",b})}b.keys=()=>[],b.resolve=b,b.id=74664,a.exports=b},99066:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{p:()=>p});var e=c(73024),f=c(76760),g=c.n(f),h=c(56149),i=c(12140),j=c(99353),k=c(56942),l=c(19319),m=c(53905),n=c(36017),o=a([j]);j=(o.then?(await o)():o)[0];let U=h.Ik({task:h.k5(["chat","quick","rag","embed"]).default("quick"),prompt:h.Yj().min(1),model:h.Yj().optional()}),V=h.Ik({kind:h.Yj().min(1).max(64),title:h.Yj().min(1).max(200),body:h.Yj().default(""),meta:h.g1(h.Yj(),h.L5()).optional(),slug:h.Yj().optional(),date:h.Yj().optional(),rootId:h.Yj().optional()}),W=h.Ik({kind:h.Yj().optional(),query:h.Yj().optional(),rootId:h.Yj().optional()}),X=h.Ik({relPath:h.Yj().min(1),rootId:h.Yj().optional()}),Y=h.Ik({path:h.Yj().min(1),content:h.Yj().optional()}),Z=h.Ik({url:h.Yj().url(),method:h.k5(["GET","POST","PUT","DELETE","PATCH"]).default("GET"),headers:h.g1(h.Yj(),h.Yj()).optional(),body:h.KC([h.Yj(),h.g1(h.Yj(),h.L5())]).optional()}),$=h.Ik({query:h.Yj().min(1).max(512)}),_=h.Ik({type:h.Yj().min(1).max(64),payload:h.L5().optional()}),aa=h.Ik({server:h.Yj().min(1).optional(),tool:h.Yj().min(1),args:h.g1(h.Yj(),h.L5()).default({})}),ab=h.Ik({server:h.Yj().min(1).optional()}),ac=h.Ik({key:h.Yj().min(1)}),ad=h.Ik({name:h.Yj().min(1),args:h.L5().optional()}),ae=h.Ik({prompt:h.Yj().min(1).max(4e4),rootId:h.Yj().optional(),harness:h.Yj().optional(),model:h.Yj().optional(),language:h.Yj().optional(),label:h.Yj().optional(),timeoutMs:h.ai().int().min(1e3).max(9e5).optional()}),af=h.Ik({rootId:h.Yj().optional()}),ag=h.Ik({workflowId:h.Yj().min(1),rootId:h.Yj().optional()}),ah=h.Ik({workflowId:h.Yj().min(1),rootId:h.Yj().optional(),input:h.L5().optional()}),ai=h.Ik({prompt:h.Yj().min(1).max(8e3),provider:h.k5(["gemini","codex"]).optional(),size:h.Yj().max(40).optional(),aspectRatio:h.Yj().max(40).optional(),referenceImageUrls:h.YO(h.Yj().url()).max(6).optional(),alt:h.Yj().max(280).optional(),rootId:h.Yj().optional()}),aj=h.Ik({query:h.Yj().min(1).max(200),provider:h.k5(["unsplash","pexels","brave"]).optional(),count:h.ai().int().min(1).max(24).optional()}),ak=h.Ik({sourceUrl:h.Yj().url(),rootId:h.Yj().optional()}),al=h.Ik({source:h.Yj().min(1).max(2e4)}),am=h.Ik({query:h.Yj().min(1).max(200),alt:h.Yj().max(280).default(""),context:h.Yj().max(2e3).default(""),candidates:h.YO(h.Ik({url:h.Yj().url(),thumb:h.Yj().url(),attribution:h.Ik({name:h.Yj().default(""),link:h.Yj().default("")})})).min(1).max(12),rootId:h.Yj().optional()}),an=h.Ik({widgetId:h.Yj().optional(),snapshot:h.Ik({kind:h.k5(["markdown","news-list","link-list","kpi","checklist","quote","kb-pinned","progress","image","stat-table","map"]),title:h.Yj().optional(),description:h.Yj().optional(),data:h.g1(h.Yj(),h.L5()).default({})}),rootId:h.Yj().optional()});async function p(a,b,c){let d={utilityId:a.utility.manifest.id,scope:a.utility.scope,channel:a.channel,method:b,args:c,...a.parentCorrelationId?{parentCorrelationId:a.parentCorrelationId}:{}};return(0,i.Md)(d,async d=>{switch(b){case"llm.complete":return w(a,U.parse(c));case"kb.add":return x(a,V.parse(c));case"kb.list":return y(a,W.parse(c));case"kb.read":return z(a,X.parse(c));case"fs.read":return B(a,Y.parse(c));case"fs.write":return C(a,Y.parse(c));case"fs.list":return D(a,Y.parse(c));case"web.fetch":return E(a,Z.parse(c));case"web.search":return F(a,$.parse(c));case"audit.log":return G(a,_.parse(c),d);case"actions.invoke":return H(a,ad.parse(c),d);case"mcp.call":return t(a,aa.parse(c));case"mcp.listServers":return u(a);case"mcp.listTools":return v(a,ab.parse(c));case"secrets.get":return q(a,ac.parse(c));case"secrets.list":return r(a);case"agent.invoke":return I(a,ae.parse(c));case"workflow.list":return J(a,af.parse(c));case"workflow.read":return K(a,ag.parse(c));case"workflow.run":return L(a,ah.parse(c));case"cards.update":return M(a,an.parse(c));case"images.generate":return N(a,ai.parse(c));case"images.search":return O(a,aj.parse(c));case"images.attach":return P(a,ak.parse(c));case"images.pickBest":return Q(a,am.parse(c));case"mermaid.validate":return T(a,al.parse(c));default:throw Error(`Unknown host method: ${b}`)}})}async function q(a,b){if(!(a.utility.manifest.secrets??[]).find(a=>a.key===b.key))throw Error(`secret "${b.key}" is not declared in manifest.secrets`);let{getSecret:d}=await c.e(8514).then(c.bind(c,28514)),e=await d(a.utility.scope,a.utility.manifest.id,b.key,a.utility.rootId);if(null==e)throw Error(`secret "${b.key}" is not set — fill it in the utility's panel`);return{value:e}}async function r(a){let b=a.utility.manifest.secrets??[],{listSecretKeys:d}=await c.e(8514).then(c.bind(c,28514)),e=new Set(await d(a.utility.scope,a.utility.manifest.id,a.utility.rootId));return{secrets:b.map(a=>({key:a.key,set:e.has(a.key),required:a.required,label:a.label,description:a.description}))}}async function s(a,b){let d=a.utility.manifest.mcpServers??[],f=b;if(!f)if(1===d.length)f=d[0];else if(a.utility.manifest.source?.type==="mcp"){let b=g().join(a.utility.dir,"mcp.json"),d=await e.promises.readFile(b,"utf8").catch(()=>null);if(!d)throw Error(`mcp config missing at ${b}`);let{McpConfigSchema:f}=await Promise.resolve().then(c.bind(c,97453));return{config:f.parse(JSON.parse(d)),serverId:"(bundled)"}}else throw Error(0===d.length?"manifest.mcpServers is empty — declare which server you want to use":"multiple mcpServers declared — pass `server` explicitly");if(!d.includes(f))throw Error(`mcp server "${f}" is not in manifest.mcpServers — declare it to gain access`);let{getMcpServer:h}=await Promise.resolve().then(c.bind(c,580)),i=await h(f);if(!i)throw Error(`mcp server "${f}" is not registered — add it in Settings → MCP`);return{config:i.config,serverId:f}}async function t(a,b){let{config:d,serverId:e}=await s(a,b.server),{callTool:f}=await Promise.resolve().then(c.bind(c,97453)),g=await f(d,b.tool,b.args);return{server:e,...void 0!==g.isError?{isError:g.isError}:{},content:g.content}}async function u(a){let b=a.utility.manifest.mcpServers??[],{listMcpServers:d}=await Promise.resolve().then(c.bind(c,580)),e=await d(),f=new Map(e.map(a=>[a.id,a]));return{servers:b.map(a=>{let b=f.get(a);return{id:a,label:b?.label??a,description:b?.description??"",registered:!!b}})}}async function v(a,b){let{config:d,serverId:e}=await s(a,b.server),{connectAndListTools:f}=await Promise.resolve().then(c.bind(c,97453)),g=await f(d);return{server:e,tools:g.tools}}async function w(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.llm?.tasks?.includes(b.task),`llm.${b.task} not granted in manifest`);let c={...(await (0,n.M)()).assignments[b.task],...b.model?{model:b.model}:{}};return{text:await (0,j.T)(c,b.prompt,{timeoutMs:6e4})}}async function x(a,b){if(R(a.utility.manifest,!!a.utility.manifest.permissions.kb?.write,"kb.write not granted"),a.utility.manifest.permissions.kb?.kinds&&!a.utility.manifest.permissions.kb.kinds.includes(b.kind))throw Error(`kb kind "${b.kind}" not in manifest allowlist`);let c=await S(a,b.rootId),d=await (0,k.j)({rootPath:c.path,directive:{kind:b.kind,title:b.title,...b.body?{body:b.body}:{},...b.meta?{meta:b.meta}:{},...b.slug?{slug:b.slug}:{},...b.date?{date:b.date}:{}},provenance:{kind:"utility",id:a.utility.manifest.id,version:a.utility.manifest.version}});return{relPath:d.relPath,absPath:d.absPath}}async function y(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.kb?.read,"kb.read not granted");let c=await S(a,b.rootId),d=await (0,l.dj)(c.path),e=b.query?.toLowerCase();return d.filter(a=>(!b.kind||a.rel.split("/")[0]===b.kind||a.meta.kind===b.kind)&&(!e||!!`${a.rel} ${a.meta.title??""}`.toLowerCase().includes(e))&&!0).map(a=>({relPath:a.rel,title:a.meta.title,kind:a.meta.kind,modifiedAt:a.modifiedAt}))}async function z(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.kb?.read,"kb.read not granted");let c=await S(a,b.rootId);return{content:await (0,l.IK)(c.path,b.relPath)}}function A(a,b){if(b.startsWith("/")||b.includes(".."))throw Error(`unsafe fs path: ${b}`);let c=g().join(a.utility.dir,"data"),d=g().resolve(c,b),e=g().relative(c,d);if(e.startsWith("..")||g().isAbsolute(e))throw Error(`fs path escapes data dir: ${b}`);return d}async function B(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted");let c=A(a,b.path);return{content:await e.promises.readFile(c,"utf8")}}async function C(a,b){if(R(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted"),"string"!=typeof b.content)throw Error("fs.write requires content (string)");let c=A(a,b.path);return await e.promises.mkdir(g().dirname(c),{recursive:!0}),await e.promises.writeFile(c,b.content,"utf8"),{ok:!0,bytes:Buffer.byteLength(b.content,"utf8")}}async function D(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.fs?.sandbox,"fs not granted");let c=A(a,b.path||".");try{return{entries:(await e.promises.readdir(c,{withFileTypes:!0})).map(a=>({name:a.name,isDir:a.isDirectory()}))}}catch{return{entries:[]}}}async function E(a,b){let c,d=a.utility.manifest.permissions.web?.fetch?.domains??[];try{c=new URL(b.url).hostname}catch{throw Error(`invalid url: ${b.url}`)}if(!d.some(a=>c===a||c.endsWith(`.${a}`)))throw Error(`web.fetch denied: domain "${c}" not in whitelist (${d.join(", ")})`);let e={method:b.method,...b.headers?{headers:b.headers}:{},signal:AbortSignal.timeout(2e4)};void 0!==b.body&&"GET"!==b.method&&(e.body="string"==typeof b.body?b.body:JSON.stringify(b.body));let f=await fetch(b.url,e),g=await f.text(),h={};return f.headers.forEach((a,b)=>{h[b]=a}),{status:f.status,headers:h,body:g}}async function F(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.web?.search,"web.search not granted");let c=await (0,n.M)(),d={...c.assignments.quick,allowedTools:Array.from(new Set([...c.assignments.quick.allowedTools??[],"WebSearch"]))},e=`Use the WebSearch tool to find recent results for the query below.
2
2
  Return ONLY a JSON object on a single line with shape:
3
3
  {"results":[{"title":"…","url":"…","snippet":"…"}]}
4
4
  No prose, no markdown fences. Max 8 results.
5
5
 
6
- Query: ${b.query}`,f=await (0,j.T)(d,e,{timeoutMs:6e4}),g=/\{[\s\S]*\}/.exec(f);if(!g)return{results:[]};try{return{results:(JSON.parse(g[0]).results??[]).filter(a=>"string"==typeof a.url&&"string"==typeof a.title).map(a=>({title:a.title,url:a.url,...a.snippet?{snippet:a.snippet}:{}}))}}catch{return{results:[]}}}async function G(a,b,c){return R(a.utility.manifest,!!a.utility.manifest.permissions.audit?.write,"audit.write not granted"),await (0,i.u0)({ts:new Date().toISOString(),utilityId:a.utility.manifest.id,scope:a.utility.scope,channel:a.channel,method:`app:${b.type}`,phase:"end",correlationId:c,args:b.payload}),{ok:!0}}async function H(a,b,d){if("worker"===a.channel)throw Error("actions.invoke can only be called from the UI iframe, not from inside a worker");R(a.utility.manifest,!!a.utility.manifest.permissions.workers?.enabled,"workers.enabled not granted");let e=a.utility.manifest.serverActions.find(a=>a.name===b.name);if(!e)throw Error(`unknown server action: ${b.name}`);let{runServerAction:f}=await Promise.resolve().then(c.bind(c,49556));return f({utility:a.utility,action:e,args:b.args,parentCorrelationId:d})}async function I(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.agent?.invoke,"agent.invoke not granted");let d=await S(a,b.rootId),{runHeadlessAgent:e}=await Promise.resolve().then(c.bind(c,3724));return await e({rootId:d.id,prompt:b.prompt,label:b.label??`[utility ${a.utility.manifest.id}] agent.invoke`,...b.harness?{harness:b.harness}:{},...b.model?{model:b.model}:{},...b.language?{language:b.language}:{},...void 0!==b.timeoutMs?{timeoutMs:b.timeoutMs}:{}})}async function J(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.workflow?.read,"workflow.read not granted");let d=await S(a,b.rootId),{listWorkflows:e}=await Promise.resolve().then(c.bind(c,73928));return(await e(d.path)).map(a=>({id:a.id,label:a.label,...a.description?{description:a.description}:{},trigger:a.trigger,stepCount:a.steps.length,updatedAt:a.updatedAt}))}async function K(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.workflow?.read,"workflow.read not granted");let d=await S(a,b.rootId),{readWorkflow:e}=await Promise.resolve().then(c.bind(c,73928)),f=await e(d.path,b.workflowId);if(!f)throw Error(`workflow "${b.workflowId}" not found`);return f}async function L(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.workflow?.run,"workflow.run not granted");let d=await S(a,b.rootId),{runWorkflow:e}=await Promise.resolve().then(c.bind(c,55143)),f=await e(d.id,b.workflowId,b.input);if(!f.ok)throw Error(f.error);return f.run}async function M(a,b){let d=await S(a,b.rootId),e=b.widgetId??`utility:${a.utility.manifest.id}`,{readWidget:f,writeWidget:g}=await Promise.resolve().then(c.bind(c,69509)),h=await f(d.path,e),i={kind:b.snapshot.kind,data:b.snapshot.data,...b.snapshot.title?{title:b.snapshot.title}:{},...b.snapshot.description?{description:b.snapshot.description}:{}};if(h&&"utility-card"===h.kind){let a=h.data,b={...h,data:{...a,inner:i},updatedAt:new Date().toISOString()};await g(d.path,b)}else throw Error(`cards.update: no utility-card widget for ${a.utility.manifest.id}`);return{ok:!0,widgetId:e}}async function N(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.images?.generate,"images.generate not granted");let d=await S(a,b.rootId),{generateImage:e}=await Promise.resolve().then(c.bind(c,84579)),f=await e({rootId:d.id,prompt:b.prompt,...b.provider?{provider:b.provider}:{},...b.size?{size:b.size}:{},...b.aspectRatio?{aspectRatio:b.aspectRatio}:{},...b.referenceImageUrls?{referenceImageUrls:b.referenceImageUrls}:{},...b.alt?{alt:b.alt}:{}});return{url:f.urlPath,sha:f.sha,size:f.size,mime:f.mime,provider:f.provider}}async function O(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.images?.search,"images.search not granted");let{searchImages:d}=await Promise.resolve().then(c.bind(c,84579));return{results:await d({query:b.query,...b.provider?{provider:b.provider}:{},...b.count?{count:b.count}:{}})}}async function P(a,b){if(R(a.utility.manifest,!!a.utility.manifest.permissions.images?.attach,"images.attach not granted"),a.utility.manifest.permissions.images?.search)try{new URL(b.sourceUrl)}catch{throw Error(`invalid sourceUrl: ${b.sourceUrl}`)}else{let c,d=a.utility.manifest.permissions.web?.fetch?.domains??[];try{c=new URL(b.sourceUrl).hostname}catch{throw Error(`invalid sourceUrl: ${b.sourceUrl}`)}if(!d.some(a=>c===a||c.endsWith(`.${a}`)))throw Error(`images.attach denied: domain "${c}" not in web.fetch whitelist (${d.join(", ")||"(empty)"}). Grant images.search to allow arbitrary search-result URLs.`)}let d=await S(a,b.rootId),{attachRemote:e}=await Promise.resolve().then(c.bind(c,84579)),f=await e({rootId:d.id,sourceUrl:b.sourceUrl});return{url:f.urlPath,sha:f.sha,size:f.size,mime:f.mime}}async function Q(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.images?.search,"images.pickBest requires images.search permission");let d=await S(a,b.rootId),{pickBestImage:e}=await c.e(4066).then(c.bind(c,64066)),f=await e({rootId:d.id,query:b.query,alt:b.alt,context:b.context,candidates:b.candidates});return{pickIndex:f.pickIndex,reason:f.reason,via:f.via}}function R(a,b,c){if(!b)throw Error(`permission denied: ${c}`)}async function S(a,b){let c=b??a.utility.rootId;if(!c)throw Error("no rootId available: project-scoped operation requires a project root");let d=await (0,m.Zn)(c);if(!d)throw Error(`unknown rootId: ${c}`);return{id:d.id,path:d.path}}d()}catch(a){d(a)}})}};
6
+ Query: ${b.query}`,f=await (0,j.T)(d,e,{timeoutMs:6e4}),g=/\{[\s\S]*\}/.exec(f);if(!g)return{results:[]};try{return{results:(JSON.parse(g[0]).results??[]).filter(a=>"string"==typeof a.url&&"string"==typeof a.title).map(a=>({title:a.title,url:a.url,...a.snippet?{snippet:a.snippet}:{}}))}}catch{return{results:[]}}}async function G(a,b,c){return R(a.utility.manifest,!!a.utility.manifest.permissions.audit?.write,"audit.write not granted"),await (0,i.u0)({ts:new Date().toISOString(),utilityId:a.utility.manifest.id,scope:a.utility.scope,channel:a.channel,method:`app:${b.type}`,phase:"end",correlationId:c,args:b.payload}),{ok:!0}}async function H(a,b,d){if("worker"===a.channel)throw Error("actions.invoke can only be called from the UI iframe, not from inside a worker");R(a.utility.manifest,!!a.utility.manifest.permissions.workers?.enabled,"workers.enabled not granted");let e=a.utility.manifest.serverActions.find(a=>a.name===b.name);if(!e)throw Error(`unknown server action: ${b.name}`);let{runServerAction:f}=await Promise.resolve().then(c.bind(c,49556));return f({utility:a.utility,action:e,args:b.args,parentCorrelationId:d})}async function I(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.agent?.invoke,"agent.invoke not granted");let d=await S(a,b.rootId),{runHeadlessAgent:e}=await Promise.resolve().then(c.bind(c,3724));return await e({rootId:d.id,prompt:b.prompt,label:b.label??`[utility ${a.utility.manifest.id}] agent.invoke`,...b.harness?{harness:b.harness}:{},...b.model?{model:b.model}:{},...b.language?{language:b.language}:{},...void 0!==b.timeoutMs?{timeoutMs:b.timeoutMs}:{}})}async function J(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.workflow?.read,"workflow.read not granted");let d=await S(a,b.rootId),{listWorkflows:e}=await Promise.resolve().then(c.bind(c,73928));return(await e(d.path)).map(a=>({id:a.id,label:a.label,...a.description?{description:a.description}:{},trigger:a.trigger,stepCount:a.steps.length,updatedAt:a.updatedAt}))}async function K(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.workflow?.read,"workflow.read not granted");let d=await S(a,b.rootId),{readWorkflow:e}=await Promise.resolve().then(c.bind(c,73928)),f=await e(d.path,b.workflowId);if(!f)throw Error(`workflow "${b.workflowId}" not found`);return f}async function L(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.workflow?.run,"workflow.run not granted");let d=await S(a,b.rootId),{runWorkflow:e}=await Promise.resolve().then(c.bind(c,55143)),f=await e(d.id,b.workflowId,b.input);if(!f.ok)throw Error(f.error);return f.run}async function M(a,b){let d=await S(a,b.rootId),e=b.widgetId??`utility:${a.utility.manifest.id}`,{readWidget:f,writeWidget:g}=await Promise.resolve().then(c.bind(c,69509)),h=await f(d.path,e),i={kind:b.snapshot.kind,data:b.snapshot.data,...b.snapshot.title?{title:b.snapshot.title}:{},...b.snapshot.description?{description:b.snapshot.description}:{}};if(h&&"utility-card"===h.kind){let a=h.data,b={...h,data:{...a,inner:i},updatedAt:new Date().toISOString()};await g(d.path,b)}else throw Error(`cards.update: no utility-card widget for ${a.utility.manifest.id}`);return{ok:!0,widgetId:e}}async function N(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.images?.generate,"images.generate not granted");let d=await S(a,b.rootId),{generateImage:e}=await Promise.resolve().then(c.bind(c,84579)),f=await e({rootId:d.id,prompt:b.prompt,...b.provider?{provider:b.provider}:{},...b.size?{size:b.size}:{},...b.aspectRatio?{aspectRatio:b.aspectRatio}:{},...b.referenceImageUrls?{referenceImageUrls:b.referenceImageUrls}:{},...b.alt?{alt:b.alt}:{}});return{url:f.urlPath,sha:f.sha,size:f.size,mime:f.mime,provider:f.provider}}async function O(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.images?.search,"images.search not granted");let{searchImages:d}=await Promise.resolve().then(c.bind(c,84579));return{results:await d({query:b.query,...b.provider?{provider:b.provider}:{},...b.count?{count:b.count}:{}})}}async function P(a,b){if(R(a.utility.manifest,!!a.utility.manifest.permissions.images?.attach,"images.attach not granted"),a.utility.manifest.permissions.images?.search)try{new URL(b.sourceUrl)}catch{throw Error(`invalid sourceUrl: ${b.sourceUrl}`)}else{let c,d=a.utility.manifest.permissions.web?.fetch?.domains??[];try{c=new URL(b.sourceUrl).hostname}catch{throw Error(`invalid sourceUrl: ${b.sourceUrl}`)}if(!d.some(a=>c===a||c.endsWith(`.${a}`)))throw Error(`images.attach denied: domain "${c}" not in web.fetch whitelist (${d.join(", ")||"(empty)"}). Grant images.search to allow arbitrary search-result URLs.`)}let d=await S(a,b.rootId),{attachRemote:e}=await Promise.resolve().then(c.bind(c,84579)),f=await e({rootId:d.id,sourceUrl:b.sourceUrl});return{url:f.urlPath,sha:f.sha,size:f.size,mime:f.mime}}async function Q(a,b){R(a.utility.manifest,!!a.utility.manifest.permissions.images?.search,"images.pickBest requires images.search permission");let d=await S(a,b.rootId),{pickBestImage:e}=await c.e(4066).then(c.bind(c,64066)),f=await e({rootId:d.id,query:b.query,alt:b.alt,context:b.context,candidates:b.candidates});return{pickIndex:f.pickIndex,reason:f.reason,via:f.via}}function R(a,b,c){if(!b)throw Error(`permission denied: ${c}`)}async function S(a,b){let c=b??a.utility.rootId;if(!c)throw Error("no rootId available: project-scoped operation requires a project root");let d=await (0,m.Zn)(c);if(!d)throw Error(`unknown rootId: ${c}`);return{id:d.id,path:d.path}}let ao=null;async function T(a,b){let d=b.source.trim();if(!d)return{ok:!1,error:"empty diagram"};let e=function(a){let b=a.split("\n").map(a=>a.trim()).filter(Boolean),c=b[0]??"";if(!["graph","flowchart","sequenceDiagram","classDiagram","stateDiagram","stateDiagram-v2","erDiagram","journey","gantt","pie","gitGraph","mindmap","timeline","quadrantChart","requirementDiagram","C4Context","sankey-beta","xychart-beta","block-beta"].some(a=>c===a||c.startsWith(`${a} `)))return`unrecognised diagram type at line 1: "${c.slice(0,80)}"`;for(let a=1;a<b.length;a++){let c=b[a],d=/\b[A-Za-z0-9_]+\[([^\]]+)\]/.exec(c);if(!d)continue;let e=d[1];if(!(e.startsWith('"')&&e.endsWith('"'))){if(/^[\\/(>{]/.test(e))return`line ${a+1}: node label starts with a shape-modifier character ("${e.slice(0,30)}") — wrap the label in double quotes`;if(/[()\\/{}|]/.test(e))return`line ${a+1}: node label contains special characters ("${e.slice(0,30)}") — wrap the label in double quotes`}}return null}(d);if(e)return{ok:!1,error:e};try{if(!ao){let a=await c.e(6483).then(c.bind(c,86483)),b=a.default?.parse??a.parse;if("function"!=typeof b)return{ok:!0};ao=b.bind(a.default??a)}return await ao(d),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}}d()}catch(a){d(a)}})}};