@agentuity/runtime 2.0.11 → 3.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/dist/index.d.ts +37 -65
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +59 -61
  4. package/dist/index.js.map +1 -1
  5. package/package.json +9 -38
  6. package/src/index.ts +58 -259
  7. package/AGENTS.md +0 -116
  8. package/dist/_config.d.ts +0 -100
  9. package/dist/_config.d.ts.map +0 -1
  10. package/dist/_config.js +0 -147
  11. package/dist/_config.js.map +0 -1
  12. package/dist/_context.d.ts +0 -80
  13. package/dist/_context.d.ts.map +0 -1
  14. package/dist/_context.js +0 -160
  15. package/dist/_context.js.map +0 -1
  16. package/dist/_events.d.ts +0 -64
  17. package/dist/_events.d.ts.map +0 -1
  18. package/dist/_events.js +0 -92
  19. package/dist/_events.js.map +0 -1
  20. package/dist/_globals.d.ts +0 -58
  21. package/dist/_globals.d.ts.map +0 -1
  22. package/dist/_globals.js +0 -71
  23. package/dist/_globals.js.map +0 -1
  24. package/dist/_idle.d.ts +0 -7
  25. package/dist/_idle.d.ts.map +0 -1
  26. package/dist/_idle.js +0 -10
  27. package/dist/_idle.js.map +0 -1
  28. package/dist/_metadata.d.ts +0 -117
  29. package/dist/_metadata.d.ts.map +0 -1
  30. package/dist/_metadata.js +0 -268
  31. package/dist/_metadata.js.map +0 -1
  32. package/dist/_process-protection.d.ts +0 -27
  33. package/dist/_process-protection.d.ts.map +0 -1
  34. package/dist/_process-protection.js +0 -56
  35. package/dist/_process-protection.js.map +0 -1
  36. package/dist/_server.d.ts +0 -50
  37. package/dist/_server.d.ts.map +0 -1
  38. package/dist/_server.js +0 -89
  39. package/dist/_server.js.map +0 -1
  40. package/dist/_services.d.ts +0 -25
  41. package/dist/_services.d.ts.map +0 -1
  42. package/dist/_services.js +0 -286
  43. package/dist/_services.js.map +0 -1
  44. package/dist/_standalone.d.ts +0 -212
  45. package/dist/_standalone.d.ts.map +0 -1
  46. package/dist/_standalone.js +0 -556
  47. package/dist/_standalone.js.map +0 -1
  48. package/dist/_tokens.d.ts +0 -12
  49. package/dist/_tokens.d.ts.map +0 -1
  50. package/dist/_tokens.js +0 -97
  51. package/dist/_tokens.js.map +0 -1
  52. package/dist/_util.d.ts +0 -16
  53. package/dist/_util.d.ts.map +0 -1
  54. package/dist/_util.js +0 -54
  55. package/dist/_util.js.map +0 -1
  56. package/dist/_validation.d.ts +0 -89
  57. package/dist/_validation.d.ts.map +0 -1
  58. package/dist/_validation.js +0 -29
  59. package/dist/_validation.js.map +0 -1
  60. package/dist/_waituntil.d.ts +0 -32
  61. package/dist/_waituntil.d.ts.map +0 -1
  62. package/dist/_waituntil.js +0 -156
  63. package/dist/_waituntil.js.map +0 -1
  64. package/dist/agent.d.ts +0 -1262
  65. package/dist/agent.d.ts.map +0 -1
  66. package/dist/agent.js +0 -981
  67. package/dist/agent.js.map +0 -1
  68. package/dist/app.d.ts +0 -514
  69. package/dist/app.d.ts.map +0 -1
  70. package/dist/app.js +0 -228
  71. package/dist/app.js.map +0 -1
  72. package/dist/bootstrap.d.ts +0 -44
  73. package/dist/bootstrap.d.ts.map +0 -1
  74. package/dist/bootstrap.js +0 -259
  75. package/dist/bootstrap.js.map +0 -1
  76. package/dist/bun-s3-patch.d.ts +0 -37
  77. package/dist/bun-s3-patch.d.ts.map +0 -1
  78. package/dist/bun-s3-patch.js +0 -142
  79. package/dist/bun-s3-patch.js.map +0 -1
  80. package/dist/cors.d.ts +0 -42
  81. package/dist/cors.d.ts.map +0 -1
  82. package/dist/cors.js +0 -117
  83. package/dist/cors.js.map +0 -1
  84. package/dist/dev-patches/aisdk.d.ts +0 -17
  85. package/dist/dev-patches/aisdk.d.ts.map +0 -1
  86. package/dist/dev-patches/aisdk.js +0 -160
  87. package/dist/dev-patches/aisdk.js.map +0 -1
  88. package/dist/dev-patches/gateway.d.ts +0 -16
  89. package/dist/dev-patches/gateway.d.ts.map +0 -1
  90. package/dist/dev-patches/gateway.js +0 -54
  91. package/dist/dev-patches/gateway.js.map +0 -1
  92. package/dist/dev-patches/index.d.ts +0 -21
  93. package/dist/dev-patches/index.d.ts.map +0 -1
  94. package/dist/dev-patches/index.js +0 -33
  95. package/dist/dev-patches/index.js.map +0 -1
  96. package/dist/dev-patches/otel-llm.d.ts +0 -12
  97. package/dist/dev-patches/otel-llm.d.ts.map +0 -1
  98. package/dist/dev-patches/otel-llm.js +0 -352
  99. package/dist/dev-patches/otel-llm.js.map +0 -1
  100. package/dist/devmode.d.ts +0 -3
  101. package/dist/devmode.d.ts.map +0 -1
  102. package/dist/devmode.js +0 -167
  103. package/dist/devmode.js.map +0 -1
  104. package/dist/eval.d.ts +0 -91
  105. package/dist/eval.d.ts.map +0 -1
  106. package/dist/eval.js +0 -16
  107. package/dist/eval.js.map +0 -1
  108. package/dist/handlers/_route-meta.d.ts +0 -22
  109. package/dist/handlers/_route-meta.d.ts.map +0 -1
  110. package/dist/handlers/_route-meta.js +0 -25
  111. package/dist/handlers/_route-meta.js.map +0 -1
  112. package/dist/handlers/cron.d.ts +0 -73
  113. package/dist/handlers/cron.d.ts.map +0 -1
  114. package/dist/handlers/cron.js +0 -43
  115. package/dist/handlers/cron.js.map +0 -1
  116. package/dist/handlers/index.d.ts +0 -6
  117. package/dist/handlers/index.d.ts.map +0 -1
  118. package/dist/handlers/index.js +0 -6
  119. package/dist/handlers/index.js.map +0 -1
  120. package/dist/handlers/sse.d.ts +0 -163
  121. package/dist/handlers/sse.d.ts.map +0 -1
  122. package/dist/handlers/sse.js +0 -175
  123. package/dist/handlers/sse.js.map +0 -1
  124. package/dist/handlers/stream.d.ts +0 -52
  125. package/dist/handlers/stream.d.ts.map +0 -1
  126. package/dist/handlers/stream.js +0 -108
  127. package/dist/handlers/stream.js.map +0 -1
  128. package/dist/handlers/webrtc.d.ts +0 -49
  129. package/dist/handlers/webrtc.d.ts.map +0 -1
  130. package/dist/handlers/webrtc.js +0 -109
  131. package/dist/handlers/webrtc.js.map +0 -1
  132. package/dist/handlers/websocket.d.ts +0 -88
  133. package/dist/handlers/websocket.d.ts.map +0 -1
  134. package/dist/handlers/websocket.js +0 -161
  135. package/dist/handlers/websocket.js.map +0 -1
  136. package/dist/logger/console.d.ts +0 -70
  137. package/dist/logger/console.d.ts.map +0 -1
  138. package/dist/logger/console.js +0 -278
  139. package/dist/logger/console.js.map +0 -1
  140. package/dist/logger/index.d.ts +0 -3
  141. package/dist/logger/index.d.ts.map +0 -1
  142. package/dist/logger/index.js +0 -3
  143. package/dist/logger/index.js.map +0 -1
  144. package/dist/logger/internal.d.ts +0 -79
  145. package/dist/logger/internal.d.ts.map +0 -1
  146. package/dist/logger/internal.js +0 -133
  147. package/dist/logger/internal.js.map +0 -1
  148. package/dist/logger/logger.d.ts +0 -41
  149. package/dist/logger/logger.d.ts.map +0 -1
  150. package/dist/logger/logger.js +0 -2
  151. package/dist/logger/logger.js.map +0 -1
  152. package/dist/logger/user.d.ts +0 -8
  153. package/dist/logger/user.d.ts.map +0 -1
  154. package/dist/logger/user.js +0 -7
  155. package/dist/logger/user.js.map +0 -1
  156. package/dist/logger/util.d.ts +0 -11
  157. package/dist/logger/util.d.ts.map +0 -1
  158. package/dist/logger/util.js +0 -77
  159. package/dist/logger/util.js.map +0 -1
  160. package/dist/middleware.d.ts +0 -105
  161. package/dist/middleware.d.ts.map +0 -1
  162. package/dist/middleware.js +0 -763
  163. package/dist/middleware.js.map +0 -1
  164. package/dist/otel/config.d.ts +0 -19
  165. package/dist/otel/config.d.ts.map +0 -1
  166. package/dist/otel/config.js +0 -26
  167. package/dist/otel/config.js.map +0 -1
  168. package/dist/otel/console.d.ts +0 -33
  169. package/dist/otel/console.d.ts.map +0 -1
  170. package/dist/otel/console.js +0 -86
  171. package/dist/otel/console.js.map +0 -1
  172. package/dist/otel/exporters/index.d.ts +0 -4
  173. package/dist/otel/exporters/index.d.ts.map +0 -1
  174. package/dist/otel/exporters/index.js +0 -4
  175. package/dist/otel/exporters/index.js.map +0 -1
  176. package/dist/otel/exporters/jsonl-log-exporter.d.ts +0 -36
  177. package/dist/otel/exporters/jsonl-log-exporter.d.ts.map +0 -1
  178. package/dist/otel/exporters/jsonl-log-exporter.js +0 -103
  179. package/dist/otel/exporters/jsonl-log-exporter.js.map +0 -1
  180. package/dist/otel/exporters/jsonl-metric-exporter.d.ts +0 -40
  181. package/dist/otel/exporters/jsonl-metric-exporter.d.ts.map +0 -1
  182. package/dist/otel/exporters/jsonl-metric-exporter.js +0 -104
  183. package/dist/otel/exporters/jsonl-metric-exporter.js.map +0 -1
  184. package/dist/otel/exporters/jsonl-trace-exporter.d.ts +0 -36
  185. package/dist/otel/exporters/jsonl-trace-exporter.d.ts.map +0 -1
  186. package/dist/otel/exporters/jsonl-trace-exporter.js +0 -111
  187. package/dist/otel/exporters/jsonl-trace-exporter.js.map +0 -1
  188. package/dist/otel/fetch.d.ts +0 -12
  189. package/dist/otel/fetch.d.ts.map +0 -1
  190. package/dist/otel/fetch.js +0 -82
  191. package/dist/otel/fetch.js.map +0 -1
  192. package/dist/otel/http.d.ts +0 -16
  193. package/dist/otel/http.d.ts.map +0 -1
  194. package/dist/otel/http.js +0 -44
  195. package/dist/otel/http.js.map +0 -1
  196. package/dist/otel/logger.d.ts +0 -37
  197. package/dist/otel/logger.d.ts.map +0 -1
  198. package/dist/otel/logger.js +0 -265
  199. package/dist/otel/logger.js.map +0 -1
  200. package/dist/otel/otel.d.ts +0 -68
  201. package/dist/otel/otel.d.ts.map +0 -1
  202. package/dist/otel/otel.js +0 -245
  203. package/dist/otel/otel.js.map +0 -1
  204. package/dist/otel/tracestate.d.ts +0 -44
  205. package/dist/otel/tracestate.d.ts.map +0 -1
  206. package/dist/otel/tracestate.js +0 -84
  207. package/dist/otel/tracestate.js.map +0 -1
  208. package/dist/router.d.ts +0 -66
  209. package/dist/router.d.ts.map +0 -1
  210. package/dist/router.js +0 -44
  211. package/dist/router.js.map +0 -1
  212. package/dist/services/evalrun/composite.d.ts +0 -21
  213. package/dist/services/evalrun/composite.d.ts.map +0 -1
  214. package/dist/services/evalrun/composite.js +0 -26
  215. package/dist/services/evalrun/composite.js.map +0 -1
  216. package/dist/services/evalrun/http.d.ts +0 -24
  217. package/dist/services/evalrun/http.d.ts.map +0 -1
  218. package/dist/services/evalrun/http.js +0 -115
  219. package/dist/services/evalrun/http.js.map +0 -1
  220. package/dist/services/evalrun/index.d.ts +0 -5
  221. package/dist/services/evalrun/index.d.ts.map +0 -1
  222. package/dist/services/evalrun/index.js +0 -5
  223. package/dist/services/evalrun/index.js.map +0 -1
  224. package/dist/services/evalrun/json.d.ts +0 -21
  225. package/dist/services/evalrun/json.d.ts.map +0 -1
  226. package/dist/services/evalrun/json.js +0 -38
  227. package/dist/services/evalrun/json.js.map +0 -1
  228. package/dist/services/evalrun/local.d.ts +0 -19
  229. package/dist/services/evalrun/local.d.ts.map +0 -1
  230. package/dist/services/evalrun/local.js +0 -22
  231. package/dist/services/evalrun/local.js.map +0 -1
  232. package/dist/services/local/_db.d.ts +0 -4
  233. package/dist/services/local/_db.d.ts.map +0 -1
  234. package/dist/services/local/_db.js +0 -281
  235. package/dist/services/local/_db.js.map +0 -1
  236. package/dist/services/local/_router.d.ts +0 -3
  237. package/dist/services/local/_router.d.ts.map +0 -1
  238. package/dist/services/local/_router.js +0 -28
  239. package/dist/services/local/_router.js.map +0 -1
  240. package/dist/services/local/_util.d.ts +0 -18
  241. package/dist/services/local/_util.d.ts.map +0 -1
  242. package/dist/services/local/_util.js +0 -44
  243. package/dist/services/local/_util.js.map +0 -1
  244. package/dist/services/local/email.d.ts +0 -24
  245. package/dist/services/local/email.d.ts.map +0 -1
  246. package/dist/services/local/email.js +0 -58
  247. package/dist/services/local/email.js.map +0 -1
  248. package/dist/services/local/index.d.ts +0 -10
  249. package/dist/services/local/index.d.ts.map +0 -1
  250. package/dist/services/local/index.js +0 -10
  251. package/dist/services/local/index.js.map +0 -1
  252. package/dist/services/local/keyvalue.d.ts +0 -17
  253. package/dist/services/local/keyvalue.d.ts.map +0 -1
  254. package/dist/services/local/keyvalue.js +0 -133
  255. package/dist/services/local/keyvalue.js.map +0 -1
  256. package/dist/services/local/queue.d.ts +0 -10
  257. package/dist/services/local/queue.d.ts.map +0 -1
  258. package/dist/services/local/queue.js +0 -96
  259. package/dist/services/local/queue.js.map +0 -1
  260. package/dist/services/local/stream.d.ts +0 -12
  261. package/dist/services/local/stream.d.ts.map +0 -1
  262. package/dist/services/local/stream.js +0 -266
  263. package/dist/services/local/stream.js.map +0 -1
  264. package/dist/services/local/task.d.ts +0 -55
  265. package/dist/services/local/task.d.ts.map +0 -1
  266. package/dist/services/local/task.js +0 -1248
  267. package/dist/services/local/task.js.map +0 -1
  268. package/dist/services/local/vector.d.ts +0 -17
  269. package/dist/services/local/vector.d.ts.map +0 -1
  270. package/dist/services/local/vector.js +0 -303
  271. package/dist/services/local/vector.js.map +0 -1
  272. package/dist/services/sandbox/http.d.ts +0 -23
  273. package/dist/services/sandbox/http.d.ts.map +0 -1
  274. package/dist/services/sandbox/http.js +0 -327
  275. package/dist/services/sandbox/http.js.map +0 -1
  276. package/dist/services/sandbox/index.d.ts +0 -2
  277. package/dist/services/sandbox/index.d.ts.map +0 -1
  278. package/dist/services/sandbox/index.js +0 -2
  279. package/dist/services/sandbox/index.js.map +0 -1
  280. package/dist/services/session/composite.d.ts +0 -21
  281. package/dist/services/session/composite.d.ts.map +0 -1
  282. package/dist/services/session/composite.js +0 -26
  283. package/dist/services/session/composite.js.map +0 -1
  284. package/dist/services/session/http.d.ts +0 -34
  285. package/dist/services/session/http.d.ts.map +0 -1
  286. package/dist/services/session/http.js +0 -124
  287. package/dist/services/session/http.js.map +0 -1
  288. package/dist/services/session/index.d.ts +0 -5
  289. package/dist/services/session/index.d.ts.map +0 -1
  290. package/dist/services/session/index.js +0 -5
  291. package/dist/services/session/index.js.map +0 -1
  292. package/dist/services/session/json.d.ts +0 -22
  293. package/dist/services/session/json.d.ts.map +0 -1
  294. package/dist/services/session/json.js +0 -35
  295. package/dist/services/session/json.js.map +0 -1
  296. package/dist/services/session/local.d.ts +0 -19
  297. package/dist/services/session/local.d.ts.map +0 -1
  298. package/dist/services/session/local.js +0 -23
  299. package/dist/services/session/local.js.map +0 -1
  300. package/dist/services/thread/local.d.ts +0 -20
  301. package/dist/services/thread/local.d.ts.map +0 -1
  302. package/dist/services/thread/local.js +0 -158
  303. package/dist/services/thread/local.js.map +0 -1
  304. package/dist/session.d.ts +0 -734
  305. package/dist/session.d.ts.map +0 -1
  306. package/dist/session.js +0 -1140
  307. package/dist/session.js.map +0 -1
  308. package/dist/signature.d.ts +0 -22
  309. package/dist/signature.d.ts.map +0 -1
  310. package/dist/signature.js +0 -63
  311. package/dist/signature.js.map +0 -1
  312. package/dist/validator.d.ts +0 -142
  313. package/dist/validator.d.ts.map +0 -1
  314. package/dist/validator.js +0 -149
  315. package/dist/validator.js.map +0 -1
  316. package/dist/version-check.d.ts +0 -20
  317. package/dist/version-check.d.ts.map +0 -1
  318. package/dist/version-check.js +0 -157
  319. package/dist/version-check.js.map +0 -1
  320. package/dist/web.d.ts +0 -8
  321. package/dist/web.d.ts.map +0 -1
  322. package/dist/web.js +0 -67
  323. package/dist/web.js.map +0 -1
  324. package/dist/webrtc-signaling.d.ts +0 -80
  325. package/dist/webrtc-signaling.d.ts.map +0 -1
  326. package/dist/webrtc-signaling.js +0 -237
  327. package/dist/webrtc-signaling.js.map +0 -1
  328. package/dist/workbench.d.ts +0 -17
  329. package/dist/workbench.d.ts.map +0 -1
  330. package/dist/workbench.js +0 -605
  331. package/dist/workbench.js.map +0 -1
  332. package/src/_config.ts +0 -163
  333. package/src/_context.ts +0 -240
  334. package/src/_events.ts +0 -142
  335. package/src/_globals.ts +0 -92
  336. package/src/_idle.ts +0 -10
  337. package/src/_metadata.ts +0 -407
  338. package/src/_process-protection.ts +0 -71
  339. package/src/_server.ts +0 -109
  340. package/src/_services.ts +0 -379
  341. package/src/_standalone.ts +0 -710
  342. package/src/_tokens.ts +0 -114
  343. package/src/_util.ts +0 -62
  344. package/src/_validation.ts +0 -119
  345. package/src/_waituntil.ts +0 -188
  346. package/src/agent.ts +0 -2739
  347. package/src/app.ts +0 -769
  348. package/src/bootstrap.ts +0 -321
  349. package/src/bun-s3-patch.ts +0 -224
  350. package/src/cors.ts +0 -137
  351. package/src/dev-patches/aisdk.ts +0 -169
  352. package/src/dev-patches/gateway.ts +0 -68
  353. package/src/dev-patches/index.ts +0 -37
  354. package/src/dev-patches/otel-llm.ts +0 -405
  355. package/src/devmode.ts +0 -171
  356. package/src/eval.ts +0 -109
  357. package/src/globals.d.ts +0 -28
  358. package/src/handlers/_route-meta.ts +0 -33
  359. package/src/handlers/cron.ts +0 -141
  360. package/src/handlers/index.ts +0 -18
  361. package/src/handlers/sse.ts +0 -358
  362. package/src/handlers/stream.ts +0 -121
  363. package/src/handlers/webrtc.ts +0 -125
  364. package/src/handlers/websocket.ts +0 -203
  365. package/src/logger/console.ts +0 -323
  366. package/src/logger/index.ts +0 -2
  367. package/src/logger/internal.ts +0 -165
  368. package/src/logger/logger.ts +0 -44
  369. package/src/logger/user.ts +0 -15
  370. package/src/logger/util.ts +0 -80
  371. package/src/middleware.ts +0 -1095
  372. package/src/otel/config.ts +0 -47
  373. package/src/otel/console.ts +0 -91
  374. package/src/otel/exporters/README.md +0 -217
  375. package/src/otel/exporters/index.ts +0 -3
  376. package/src/otel/exporters/jsonl-log-exporter.ts +0 -113
  377. package/src/otel/exporters/jsonl-metric-exporter.ts +0 -120
  378. package/src/otel/exporters/jsonl-trace-exporter.ts +0 -121
  379. package/src/otel/fetch.ts +0 -105
  380. package/src/otel/http.ts +0 -53
  381. package/src/otel/logger.ts +0 -293
  382. package/src/otel/otel.ts +0 -354
  383. package/src/otel/tracestate.ts +0 -108
  384. package/src/router.ts +0 -75
  385. package/src/services/evalrun/composite.ts +0 -34
  386. package/src/services/evalrun/http.ts +0 -167
  387. package/src/services/evalrun/index.ts +0 -4
  388. package/src/services/evalrun/json.ts +0 -46
  389. package/src/services/evalrun/local.ts +0 -28
  390. package/src/services/local/README.md +0 -1576
  391. package/src/services/local/_db.ts +0 -353
  392. package/src/services/local/_router.ts +0 -40
  393. package/src/services/local/_util.ts +0 -55
  394. package/src/services/local/email.ts +0 -91
  395. package/src/services/local/index.ts +0 -9
  396. package/src/services/local/keyvalue.ts +0 -174
  397. package/src/services/local/queue.ts +0 -145
  398. package/src/services/local/stream.ts +0 -358
  399. package/src/services/local/task.ts +0 -1711
  400. package/src/services/local/vector.ts +0 -438
  401. package/src/services/sandbox/http.ts +0 -522
  402. package/src/services/sandbox/index.ts +0 -1
  403. package/src/services/session/composite.ts +0 -33
  404. package/src/services/session/http.ts +0 -167
  405. package/src/services/session/index.ts +0 -4
  406. package/src/services/session/json.ts +0 -42
  407. package/src/services/session/local.ts +0 -33
  408. package/src/services/thread/local.ts +0 -199
  409. package/src/session.ts +0 -1960
  410. package/src/signature.ts +0 -82
  411. package/src/validator.ts +0 -283
  412. package/src/version-check.ts +0 -184
  413. package/src/web.ts +0 -76
  414. package/src/webrtc-signaling.ts +0 -288
  415. package/src/workbench.ts +0 -725
@@ -1 +0,0 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAY,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAW9C;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAuB;IACtD,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,CAAC,EAAE,CAAC;YACzF,OAAO;gBACN,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBACtE,QAAQ,EACP,MAAM,CAAC,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aACrF,CAAC;QACH,CAAC;QACD,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;IAC/B,CAAC;AACF,CAAC;AAwjBD,oEAAoE;AACpE,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAGrC,CAAC;AACJ,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAGtC,CAAC;AAEJ,wCAAwC;AACxC,KAAK,UAAU,eAAe,CAAC,MAAc,EAAE,SAA0B;IACxE,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAE/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC;YACJ,MAAO,QAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,6EAA6E;YAC7E,QAAQ,CAAC,KAAK,CAAC,uCAAuC,SAAS,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7E,CAAC;IACF,CAAC;AACF,CAAC;AAED,yCAAyC;AACzC,KAAK,UAAU,gBAAgB,CAAC,OAAgB,EAAE,SAA2B;IAC5E,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,SAAS;QAAE,OAAO;IAEvB,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAE/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,IAAI,CAAC;YACJ,MAAO,QAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,6EAA6E;YAC7E,QAAQ,CAAC,KAAK,CAAC,wCAAwC,SAAS,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9E,CAAC;IACF,CAAC;AACF,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,UAAU,CAAC,MAAe;IACzC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC;AACtD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC/C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAClD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;IACjD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACd,uDAAuD,QAAQ,sEAAsE,CACrI,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACd,uDAAuD,QAAQ,wEAAwE,CACvI,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACd,uDAAuD,QAAQ,uEAAuE,CACtI,CAAC;IACH,CAAC;IACD,MAAM,uBAAuB,GAAG,gBAAgB,CAAC;IACjD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACd,uDAAuD,QAAQ,8GAA8G,CAC7K,CAAC;IACH,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAiB;IACnD,uDAAuD;IACvD,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,IAAI,cAAc,EAAE,CAAC;QACpB,OAAO,cAAc,KAAK,OAAO,CAAC;IACnC,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC;QACJ,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjC,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAClC,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,0BAA0B;IAC3B,CAAC;IAED,oDAAoD;IACpD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAc;IAClE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxB,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEhD,OAAO,GAAG,QAAQ,IAAI,eAAe,EAAE,CAAC;AACzC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,WAAmB,EACnB,MAAc;IAEd,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC;IAE5C,4BAA4B;IAC5B,IAAI,CAAC,QAAQ,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,uDAAuD;IACvD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,+CAA+C;IAC/C,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,4BAA4B;IAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,qDAAqD;IACrD,6DAA6D;IAC7D,IAAI,iBAAiB,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACJ,kDAAkD;QAClD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAEhE,IAAI,eAAe,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC;YACrD,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IAAC,MAAM,CAAC;QACR,+CAA+C;QAC/C,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAuB;IAC3B,SAAS;QAChB,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,WAAW,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAmB,EAAE,GAAiB;QACvD,IAAI,QAA4B,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEhC,4BAA4B;QAC5B,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,WAAW,EAAE,CAAC;YACjB,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACzE,IAAI,gBAAgB,EAAE,CAAC;gBACtB,QAAQ,GAAG,gBAAgB,CAAC;YAC7B,CAAC;QACF,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/D,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpF,QAAQ,GAAG,WAAW,CAAC;YACxB,CAAC;QACF,CAAC;QAED,QAAQ,GAAG,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;YACpD,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,kBAAkB,CAAC,GAAG,CAAC;YAC/B,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,MAAM,EAAE,oBAAoB;SACpC,CAAC,CAAC;QAEH,gCAAgC;QAChC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1D,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACxC,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD;AAMD,MAAM,OAAO,eAAe;IAC3B,OAAO,GAAoB,MAAM,CAAC;IAClC,MAAM,GAAyB,IAAI,GAAG,EAAE,CAAC;IACzC,kBAAkB,GAAqB,EAAE,CAAC;IAC1C,iBAAiB,CAAqB;IACtC,UAAU,CAAY;IACtB,eAAe,GAAyB,IAAI,CAAC;IAE7C,YAAY,SAAoB;QAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI,KAAK;QACR,IAAI,IAAI,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACpE,OAAO,WAAW,KAAK,IAAI,CAAC,iBAAiB,CAAC;QAC/C,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,YAAY;QACzB,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,eAAe,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC7B,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,IAAI,CAAC,eAAe,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,MAAM;QACnB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE1C,sCAAsC;QACtC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzE,+BAA+B;QAC/B,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;gBACf,KAAK,OAAO;oBACX,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;oBACpB,MAAM;gBACP,KAAK,KAAK;oBACT,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;wBAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;oBACnC,CAAC;oBACD,MAAM;gBACP,KAAK,QAAQ;oBACZ,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;wBAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC5B,CAAC;oBACD,MAAM;gBACP,KAAK,MAAM;oBACV,IAAI,EAAE,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;wBAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;wBACzC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;4BACxB,yBAAyB;4BACzB,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;gCACpE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;4BACrD,CAAC;wBACF,CAAC;6BAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;4BACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;wBACrC,CAAC;wBACD,mFAAmF;oBACpF,CAAC;oBACD,MAAM;YACR,CAAC;QACF,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,CAAc,GAAW;QACjC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAkB,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,GAAG,CAAc,GAAW,EAAE,KAAQ;QAC3C,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YACxD,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;YACjC,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACpB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACvB,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;YACjC,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,KAAK;QACV,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACP,iDAAiD;YACjD,IAAI,CAAC,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5C,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;YACjC,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAkB,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,IAAI;QACT,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM;QACX,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAQ,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,IAAI;QACT,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAc,GAAW,EAAE,KAAQ,EAAE,UAAmB;QACjE,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC/B,mCAAmC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,yBAAyB;gBACzB,IAAI,UAAU,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;oBAC9D,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;gBAClD,CAAC;YACF,CAAC;iBAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,GAAG,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;aAAM,CAAC;YACP,iCAAiC;YACjC,MAAM,EAAE,GAAmB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;YACtD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC9B,EAAE,CAAC,UAAU,GAAG,UAAU,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;YACjC,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,SAAS;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,oBAAoB;QACnB,OAAO,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB;QACvB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;CACD;AAED,MAAM,OAAO,aAAa;IAChB,EAAE,CAAS;IACX,KAAK,CAAkB;IAChC,SAAS,GAAmC,IAAI,CAAC;IACjD,cAAc,GAAG,KAAK,CAAC;IACvB,oBAAoB,GAAyB,IAAI,CAAC;IAC1C,QAAQ,CAAiB;IACjC,UAAU,CAAY;IACtB,iBAAiB,CAAsC;IAEvD,YACC,QAAwB,EACxB,EAAU,EACV,SAAoB,EACpB,eAAyC;QAEzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,oBAAoB;QACjC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO;QACR,CAAC;QAED,2DAA2D;QAC3D,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACxC,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,oBAAoB,CAAC;YAChC,OAAO;QACR,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,CAAC,KAAK,IAAI,EAAE;YACvC,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC7B,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YAClC,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,IAAI,CAAC,oBAAoB,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,cAAc;QAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAU,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAiC;QAClD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,gBAAgB,CAAC,SAA0B,EAAE,QAAkC;QAC9E,IAAI,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,SAA0B,EAAE,QAAkC;QACjF,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAA0B;QACzC,MAAM,eAAe,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACV,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1C,mEAAmE;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC5D,OAAO,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,SAAS;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,WAAW;QACV,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAE3C,IAAI,WAAW,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpD,OAAO,MAAM,CAAC;QACf,CAAC;QAED,IAAI,WAAW,KAAK,gBAAgB,EAAE,CAAC;YACtC,OAAO,OAAO,CAAC;QAChB,CAAC;QAED,IAAI,WAAW,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3E,OAAO,MAAM,CAAC;QACf,CAAC;QAED,kDAAkD;QAClD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC;QAChB,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,oBAAoB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,kBAAkB;QACjB,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,SAAS,CAAC;QACvB,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB;QACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QACpD,iCAAiC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEjD,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,IAAI,GAA4E,EAAE,CAAC;QAEzF,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACD;AAED,MAAM,OAAO,cAAc;IACjB,EAAE,CAAS;IACX,MAAM,CAAS;IACf,KAAK,CAAuB;IACrC,QAAQ,CAA0B;IAElC,YAAY,MAAc,EAAE,EAAU,EAAE,QAAkC;QACzE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,EAAE,CAAC;IAChC,CAAC;IAED,gBAAgB,CAAC,SAA2B,EAAE,QAAmC;QAChF,IAAI,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,SAA2B,EAAE,QAAmC;QACnF,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAA2B;QAC1C,MAAM,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QAChB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAEjC,oCAAoC;YACpC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;YAC1D,IAAI,WAAW,GAAG,OAAO,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CACZ,WAAW,IAAI,CAAC,EAAE,iCAAiC,WAAW,qCAAqC,CACnG,CAAC;gBACF,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;YACxE,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;CACD;AA2BD,MAAM,OAAO,qBAAqB;IACzB,EAAE,GAAqB,IAAI,CAAC;IAC5B,aAAa,GAAG,KAAK,CAAC;IACtB,eAAe,GAAG,IAAI,GAAG,EAG9B,CAAC;IACI,iBAAiB,GAAG,CAAC,CAAC;IACtB,oBAAoB,CAAS;IAC7B,MAAM,CAAS;IACf,KAAK,CAAS;IACd,YAAY,GAAyB,IAAI,CAAC;IAC1C,cAAc,GAAyC,IAAI,CAAC;IAC5D,UAAU,GAAG,KAAK,CAAC;IACnB,qBAAqB,GAAwB,IAAI,CAAC;IAClD,oBAAoB,GAAkC,IAAI,CAAC;IAC3D,mBAAmB,CAAS;IAC5B,gBAAgB,CAAS;IACzB,oBAAoB,CAAS;IAC7B,mBAAmB,CAAS;IAEpC,YAAY,MAAc,EAAE,KAAa,EAAE,UAAwC,EAAE;QACpF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,MAAM,CAAC;QACjE,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,MAAM,CAAC;QAC3D,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,KAAK,CAAC;QAClE,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,IAAI,MAAM,CAAC;QACjE,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,2EAA2E;YAC3E,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;gBACrC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC;YACpC,CAAC;YAED,yBAAyB;YACzB,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;gBACzC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,IAAI,MAAM,CAAC;gBACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,QAAQ,CAAC,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,mBAAmB,KAAK,CAAC,CAAC,CAAC;YACrF,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAE7B,IAAI,CAAC;gBACJ,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEpC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;oBACrC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;oBACrC,0EAA0E;oBAC1E,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC/D,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAmB,EAAE,EAAE;oBAC3D,IAAI,CAAC;wBACJ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAEvC,uBAAuB;wBACvB,IAAI,SAAS,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;4BACjD,YAAY,CAAC,iBAAiB,CAAC,CAAC;4BAChC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gCACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gCAC1B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;gCAE3B,mEAAmE;gCACnE,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,IAAI,OAAO,CAAC;gCACxD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gCAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gCACjC,SAAS,EAAE,CAAC;4BACb,CAAC;iCAAM,CAAC;gCACP,MAAM,GAAG,GAAG,IAAI,KAAK,CACpB,oCAAoC,OAAO,CAAC,KAAK,IAAI,eAAe,EAAE,CACtE,CAAC;gCACF,IAAI,CAAC,OAAO,EAAE,CAAC;gCACf,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,IAAI,MAAM,CAAC;gCACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gCAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gCACjC,QAAQ,CAAC,GAAG,CAAC,CAAC;4BACf,CAAC;4BACD,OAAO;wBACR,CAAC;wBAED,yBAAyB;wBACzB,IAAI,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;4BAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC;4BACtD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;4BAExC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gCACrB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;4BAC/B,CAAC;iCAAM,CAAC;gCACP,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,CAAC,CAAC;4BAC9D,CAAC;wBACF,CAAC;oBACF,CAAC;oBAAC,MAAM,CAAC;wBACR,sBAAsB;oBACvB,CAAC;gBACF,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,MAAa,EAAE,EAAE;oBACnD,YAAY,CAAC,iBAAiB,CAAC,CAAC;oBAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;wBACzB,yDAAyD;wBACzD,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4BAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,IAAI,MAAM,CAAC;4BACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;4BAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;4BACjC,QAAQ,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;wBACxC,CAAC;oBACF,CAAC;gBACF,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBACtC,YAAY,CAAC,iBAAiB,CAAC,CAAC;oBAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;oBAC5C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAE3B,8BAA8B;oBAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;wBAClD,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;wBACzD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACjC,CAAC;oBAED,yCAAyC;oBACzC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBACrB,0CAA0C;wBAC1C,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;4BACpD,IAAI,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;4BAC/E,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;4BAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBAClC,CAAC;wBACD,OAAO;oBACR,CAAC;oBAED,6EAA6E;oBAC7E,4EAA4E;oBAC5E,IAAI,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBACxD,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAC/D,IAAI,CAAC,mBAAmB,CACxB,CAAC;wBAEF,QAAQ,CAAC,IAAI,CACZ,mDAAmD,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,oBAAoB,OAAO,KAAK,IAAI,CACtH,CAAC;wBAEF,2CAA2C;wBAC3C,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;4BACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;4BAC3B,iDAAiD;4BACjD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gCAC7C,6BAA6B;gCAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;4BAC1B,CAAC,CAAC,CAAC;wBACJ,CAAC,EAAE,KAAK,CAAC,CAAC;oBACX,CAAC;yBAAM,CAAC;wBACP,QAAQ,CAAC,KAAK,CACb,gCAAgC,IAAI,CAAC,iBAAiB,sBAAsB,CAC5E,CAAC;wBAEF,mEAAmE;wBACnE,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;4BACpD,IAAI,CAAC,oBAAoB,CACxB,IAAI,KAAK,CACR,gDAAgD,IAAI,CAAC,iBAAiB,WAAW,CACjF,CACD,CAAC;4BACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;4BAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBAClC,CAAC;oBACF,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,IAAI,MAAM,CAAC;gBACrD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,QAAQ,CAAC,GAAY,CAAC,CAAC;YACxB,CAAC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC7B,kDAAkD;QAClD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,YAAY,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAEzD,MAAM,OAAO,GAAG;gBACf,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;aAC7B,CAAC;YAEF,IAAI,CAAC,EAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvC,oCAAoC;YACpC,UAAU,CAAC,GAAG,EAAE;gBACf,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACvC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACtC,CAAC;YACF,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACT,QAAgB,EAChB,QAAgB,EAChB,cAAwC;QAExC,kDAAkD;QAClD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,YAAY,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC7D,CAAC;QAED,kBAAkB;QAClB,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;QAC9D,IAAI,WAAW,GAAG,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CACZ,UAAU,QAAQ,iCAAiC,WAAW,qCAAqC,CACnG,CAAC;YACF,OAAO;QACR,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE;gBACnC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;gBACxB,MAAM;aACN,CAAC,CAAC;YAEH,MAAM,IAAI,GACT;gBACC,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,QAAQ;aACnB,CAAC;YAEH,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;YAChC,CAAC;YAED,MAAM,OAAO,GAAG;gBACf,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,MAAM;gBACd,IAAI;aACJ,CAAC;YAEF,IAAI,CAAC,EAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvC,oCAAoC;YACpC,UAAU,CAAC,GAAG,EAAE;gBACf,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACvC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACtC,CAAC;YACF,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAgB;QAC5B,kDAAkD;QAClD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,YAAY,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE;gBACnC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;gBACxB,MAAM;aACN,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG;gBACf,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;aAC7B,CAAC;YAEF,IAAI,CAAC,EAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvC,oCAAoC;YACpC,UAAU,CAAC,GAAG,EAAE;gBACf,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACvC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACtC,CAAC;YACF,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACV,QAAgB,EAChB,UAA4B,EAC5B,QAAkC;QAElC,kDAAkD;QAClD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,YAAY,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE;gBACnC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE;gBACxB,MAAM;aACN,CAAC,CAAC;YAEH,MAAM,IAAI,GAIN;gBACH,SAAS,EAAE,QAAQ;gBACnB,UAAU;aACV,CAAC;YAEF,IAAI,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1B,CAAC;YAED,MAAM,OAAO,GAAG;gBACf,EAAE,EAAE,SAAS;gBACb,MAAM,EAAE,OAAO;gBACf,IAAI;aACJ,CAAC;YAEF,IAAI,CAAC,EAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvC,oCAAoC;YACpC,UAAU,CAAC,GAAG,EAAE;gBACf,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACvC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACtC,CAAC;YACF,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,wDAAwD;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,wCAAwC;QACxC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAClC,CAAC;CACD;AAED,MAAM,OAAO,qBAAqB;IACzB,QAAQ,GAAoB,IAAI,CAAC;IACjC,QAAQ,GAAiC,IAAI,CAAC;IAC9C,YAAY,GAAyB,IAAI,CAAC;IAC1C,gBAAgB,GAA4B,IAAI,CAAC;IAEzD,KAAK,CAAC,UAAU,CAAC,QAAkB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,gBAAgB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAEtD,+EAA+E;QAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC7C,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAC,CAAC;YAC1E,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YACxE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YAE1C,IAAI,CAAC,QAAQ,GAAG,IAAI,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpE,oDAAoD;YACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ;iBAC/B,OAAO,EAAE;iBACT,IAAI,CAAC,GAAG,EAAE;gBACV,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACd,QAAQ,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;gBAC9D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;IACF,CAAC;IAED,mBAAmB,CAAC,QAA0B;QAC7C,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAiB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,QAAS,EAAE,GAAG,CAAC,CAAC;QAC/E,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,qDAAqD,EAAE,QAAQ,CAAC,CAAC;QAE/E,uFAAuF;QACvF,MAAM,SAAS,GAAG,KAAK,IAGpB,EAAE;YACJ,QAAQ,CAAC,IAAI,CAAC,2CAA2C,EAAE,QAAQ,CAAC,CAAC;YAErE,oDAAoD;YACpD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBAC3D,MAAM,IAAI,CAAC,YAAY,CAAC;YACzB,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,QAAQ,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;gBAC/E,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC3C,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC3D,IAAI,YAAY,EAAE,CAAC;oBAClB,QAAQ,CAAC,IAAI,CAAC,mCAAmC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;oBACxE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;oBAElE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;oBACzC,IAAI,aAAa,EAAE,CAAC;wBACnB,IAAI,CAAC;4BACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;4BACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gCACjD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;4BACvB,CAAC;wBACF,CAAC;wBAAC,MAAM,CAAC;4BACR,QAAQ,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;wBACtD,CAAC;oBACF,CAAC;oBAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;gBAC5C,CAAC;gBACD,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBAClD,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC3C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;gBAC5D,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC3C,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC5D,MAAM,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAc;QACxB,IAAI,MAAM,YAAY,aAAa,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CACZ,kFAAkF,EAClF,MAAM,CAAC,EAAE,EACT,QAAQ,EACR,CAAC,CAAC,IAAI,CAAC,QAAQ,CACf,CAAC;YAEF,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACrD,OAAO;YACR,CAAC;YAED,oDAAoD;YACpD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;gBAC3D,MAAM,IAAI,CAAC,YAAY,CAAC;YACzB,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;gBACvE,OAAO;YACR,CAAC;YAED,IAAI,CAAC;gBACJ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;oBAC7C,QAAQ,CAAC,IAAI,CACZ,mDAAmD,EACnD,UAAU,CAAC,MAAM,CACjB,CAAC;oBACF,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBAC3D,QAAQ,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;gBACrD,CAAC;qBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;oBAChC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC;oBACrD,QAAQ,CAAC,IAAI,CACZ,qDAAqD,EACrD,UAAU,CAAC,MAAM,CACjB,CAAC;oBACF,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;oBAC7C,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;oBAC1D,QAAQ,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;gBACpD,CAAC;YACF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CAAC,0CAA0C,EAAE,GAAG,CAAC,CAAC;gBAC/D,6DAA6D;YAC9D,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC3B,IAAI,MAAM,YAAY,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC;gBACJ,oDAAoD;gBACpD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACvB,MAAM,IAAI,CAAC,YAAY,CAAC;gBACzB,CAAC;gBAED,oCAAoC;gBACpC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnB,IAAI,CAAC;wBACJ,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACvC,CAAC;oBAAC,MAAM,CAAC;wBACR,qEAAqE;wBACrE,mEAAmE;wBACnE,QAAQ,CAAC,KAAK,CACb,UAAU,MAAM,CAAC,EAAE,mEAAmE,CACtF,CAAC;wBACF,0DAA0D;oBAC3D,CAAC;gBACF,CAAC;gBAED,MAAM,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACpC,MAAM,SAAS,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;oBAAS,CAAC;gBACV,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;IACF,CAAC;CACD;AAED,MAAM,OAAO,sBAAsB;IAC1B,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAErD,KAAK,CAAC,UAAU,CAAC,SAAmB;QACnC,kDAAkD;IACnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,SAAiB;QAC9C,QAAQ,CAAC,IAAI,CAAC,8CAA8C,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACpF,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACvE,MAAM,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAgB;QAC1B,IAAI,OAAO,YAAY,cAAc,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CACZ,iFAAiF,EACjF,OAAO,CAAC,EAAE,CACV,CAAC;YACF,IAAI,CAAC;gBACJ,MAAM,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBACrC,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBACzE,MAAM,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAC9D,CAAC;oBAAS,CAAC;gBACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACjC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;QACF,CAAC;IACF,CAAC;CACD"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Shared HMAC-SHA256 signature verification for internal routes.
3
- * Used by cron handlers and workbench routes.
4
- */
5
- /**
6
- * Verifies an HMAC-SHA256 signature.
7
- *
8
- * The signature format is "v1=<64 hex chars>" where the hex payload is the
9
- * HMAC-SHA256 of "{timestamp}.{body}" using AGENTUITY_SDK_KEY as the key.
10
- *
11
- * In non-production environments (dev mode), this function always returns true
12
- * to allow local development without signature verification.
13
- *
14
- * In production, requests are rejected if AGENTUITY_SDK_KEY is not set.
15
- *
16
- * @param signature - The signature header value (format: "v1=<64 hex chars>")
17
- * @param timestamp - The timestamp header value (unix seconds as string)
18
- * @param body - The request body (empty string for GET/DELETE requests)
19
- * @returns true if signature is valid, or if not in production mode
20
- */
21
- export declare function verifySignature(signature: string | undefined, timestamp: string | undefined, body: string): Promise<boolean>;
22
- //# sourceMappingURL=signature.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAmDlB"}
package/dist/signature.js DELETED
@@ -1,63 +0,0 @@
1
- /**
2
- * Shared HMAC-SHA256 signature verification for internal routes.
3
- * Used by cron handlers and workbench routes.
4
- */
5
- import { isProduction } from './_config';
6
- // Maximum age for signatures (5 minutes)
7
- const MAX_SIGNATURE_AGE_SECONDS = 300;
8
- /**
9
- * Verifies an HMAC-SHA256 signature.
10
- *
11
- * The signature format is "v1=<64 hex chars>" where the hex payload is the
12
- * HMAC-SHA256 of "{timestamp}.{body}" using AGENTUITY_SDK_KEY as the key.
13
- *
14
- * In non-production environments (dev mode), this function always returns true
15
- * to allow local development without signature verification.
16
- *
17
- * In production, requests are rejected if AGENTUITY_SDK_KEY is not set.
18
- *
19
- * @param signature - The signature header value (format: "v1=<64 hex chars>")
20
- * @param timestamp - The timestamp header value (unix seconds as string)
21
- * @param body - The request body (empty string for GET/DELETE requests)
22
- * @returns true if signature is valid, or if not in production mode
23
- */
24
- export async function verifySignature(signature, timestamp, body) {
25
- // Skip auth in dev mode
26
- if (!isProduction()) {
27
- return true;
28
- }
29
- const sdkKey = process.env.AGENTUITY_SDK_KEY;
30
- if (!sdkKey) {
31
- // No SDK key in production is a misconfiguration — reject the request
32
- return false;
33
- }
34
- // If no signature headers, reject the request
35
- if (!signature || !timestamp) {
36
- return false;
37
- }
38
- // Verify timestamp is within acceptable range (prevent replay attacks)
39
- const ts = parseInt(timestamp, 10);
40
- const now = Math.floor(Date.now() / 1000);
41
- if (Number.isNaN(ts) || Math.abs(now - ts) > MAX_SIGNATURE_AGE_SECONDS) {
42
- return false;
43
- }
44
- // Validate signature format: must be 'v1=' followed by valid hex (64 chars for SHA-256)
45
- if (!signature.startsWith('v1=')) {
46
- return false;
47
- }
48
- const hexPayload = signature.slice(3);
49
- if (!/^[0-9a-f]{64}$/i.test(hexPayload)) {
50
- return false;
51
- }
52
- // Decode hex payload into Uint8Array
53
- const incomingSigBytes = new Uint8Array(32);
54
- for (let i = 0; i < 32; i++) {
55
- incomingSigBytes[i] = parseInt(hexPayload.slice(i * 2, i * 2 + 2), 16);
56
- }
57
- // Verify the signature using constant-time comparison
58
- const message = `${ts}.${body}`;
59
- const encoder = new TextEncoder();
60
- const key = await crypto.subtle.importKey('raw', encoder.encode(sdkKey), { name: 'HMAC', hash: 'SHA-256' }, false, ['verify']);
61
- return crypto.subtle.verify('HMAC', key, incomingSigBytes, encoder.encode(message));
62
- }
63
- //# sourceMappingURL=signature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signature.js","sourceRoot":"","sources":["../src/signature.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,yCAAyC;AACzC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,SAA6B,EAC7B,SAA6B,EAC7B,IAAY;IAEZ,wBAAwB;IACxB,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,sEAAsE;QACtE,OAAO,KAAK,CAAC;IACd,CAAC;IAED,8CAA8C;IAC9C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACd,CAAC;IAED,uEAAuE;IACvE,MAAM,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,yBAAyB,EAAE,CAAC;QACxE,OAAO,KAAK,CAAC;IACd,CAAC;IAED,wFAAwF;IACxF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,qCAAqC;IACrC,MAAM,gBAAgB,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,gBAAgB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,sDAAsD;IACtD,MAAM,OAAO,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACxC,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,QAAQ,CAAC,CACV,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACrF,CAAC"}
@@ -1,142 +0,0 @@
1
- import { type InferOutput, type StandardSchemaV1 } from '@agentuity/core';
2
- import type { Handler } from 'hono/types';
3
- /**
4
- * Route validator for standard HTTP routes (non-agent routes).
5
- * Provides input and output validation with full type safety.
6
- *
7
- * **Input validation behavior by HTTP method:**
8
- * - **GET**: Validates query parameters (accessible via `c.req.valid('query')`)
9
- * - **POST/PUT/PATCH/DELETE**: Validates JSON body (accessible via `c.req.valid('json')`)
10
- *
11
- * **Output validation:**
12
- * - Validates response JSON body before sending
13
- * - Throws 500 Internal Server Error if validation fails
14
- *
15
- * @template TInput - Input schema type (query params for GET, body for POST/PUT/PATCH/DELETE)
16
- * @template TOutput - Output schema type for response validation
17
- *
18
- * @example GET route with output validation only
19
- * ```typescript
20
- * router.get('/users',
21
- * validator({ output: z.array(UserSchema) }),
22
- * async (c) => {
23
- * return c.json([{ id: '1', name: 'Alice' }]);
24
- * }
25
- * );
26
- * ```
27
- *
28
- * @example GET route with query param validation
29
- * ```typescript
30
- * router.get('/users/:id',
31
- * validator({
32
- * input: z.object({ id: z.string() }),
33
- * output: UserSchema
34
- * }),
35
- * async (c) => {
36
- * const { id } = c.req.valid('query'); // Fully typed!
37
- * return c.json({ id, name: 'Alice' });
38
- * }
39
- * );
40
- * ```
41
- *
42
- * @example POST route with body and output validation
43
- * ```typescript
44
- * router.post('/users',
45
- * validator({
46
- * input: z.object({ name: z.string(), email: z.string().email() }),
47
- * output: UserSchema
48
- * }),
49
- * async (c) => {
50
- * const data = c.req.valid('json'); // Fully typed!
51
- * return c.json({ id: '1', ...data });
52
- * }
53
- * );
54
- * ```
55
- */
56
- export interface RouteValidator {
57
- /**
58
- * Output-only validation (no input validation).
59
- * Useful for GET routes without query parameters.
60
- *
61
- * @template TOutput - Output schema type
62
- * @param options - Configuration object with output schema
63
- * @returns Hono middleware handler
64
- */
65
- <TOutput extends StandardSchemaV1>(options: {
66
- output: TOutput;
67
- stream?: boolean;
68
- }): Handler<any, any, {
69
- in: {};
70
- out: {
71
- json: InferOutput<TOutput>;
72
- };
73
- }>;
74
- /**
75
- * Input and output validation.
76
- * - GET: validates query parameters
77
- * - POST/PUT/PATCH/DELETE: validates JSON body
78
- *
79
- * @template TInput - Input schema type
80
- * @template TOutput - Optional output schema type
81
- * @param options - Configuration object with input and optional output schemas
82
- * @returns Hono middleware handler with type inference
83
- */
84
- <TInput extends StandardSchemaV1, TOutput extends StandardSchemaV1 | undefined = undefined>(options: {
85
- input: TInput;
86
- output?: TOutput;
87
- stream?: boolean;
88
- }): Handler<any, any, {
89
- in: {};
90
- out: {
91
- json: InferOutput<TInput>;
92
- query: InferOutput<TInput>;
93
- };
94
- }>;
95
- }
96
- /**
97
- * Create a route validator middleware with input and/or output validation.
98
- *
99
- * Automatically handles different validation targets based on HTTP method:
100
- * - GET requests: validates query parameters (if input schema provided)
101
- * - POST/PUT/PATCH/DELETE: validates JSON body (if input schema provided)
102
- * - All methods: validates JSON response (if output schema provided)
103
- *
104
- * @param options - Validation configuration
105
- * @param options.input - Input schema (query params for GET, body for POST/PUT/PATCH/DELETE)
106
- * @param options.output - Output schema for response validation
107
- * @returns Hono middleware handler
108
- *
109
- * @example GET with query validation
110
- * ```typescript
111
- * import { validator } from '@agentuity/runtime';
112
- *
113
- * router.get('/search',
114
- * validator({
115
- * input: z.object({ q: z.string(), limit: z.number().optional() }),
116
- * output: z.array(SearchResultSchema)
117
- * }),
118
- * async (c) => {
119
- * const { q, limit } = c.req.valid('query'); // Typed!
120
- * const results = await search(q, limit);
121
- * return c.json(results);
122
- * }
123
- * );
124
- * ```
125
- *
126
- * @example POST with body validation
127
- * ```typescript
128
- * router.post('/users',
129
- * validator({
130
- * input: z.object({ name: z.string() }),
131
- * output: UserSchema
132
- * }),
133
- * async (c) => {
134
- * const data = c.req.valid('json'); // Typed!
135
- * const user = await createUser(data);
136
- * return c.json(user);
137
- * }
138
- * );
139
- * ```
140
- */
141
- export declare const validator: RouteValidator;
142
- //# sourceMappingURL=validator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE3F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,WAAW,cAAc;IAC9B;;;;;;;OAOG;IACH,CAAC,OAAO,SAAS,gBAAgB,EAAE,OAAO,EAAE;QAC3C,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CACV,GAAG,EACH,GAAG,EACH;QAEC,EAAE,EAAE,EAAE,CAAC;QACP,GAAG,EAAE;YAAE,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;SAAE,CAAC;KACpC,CACD,CAAC;IAEF;;;;;;;;;OASG;IACH,CACC,MAAM,SAAS,gBAAgB,EAC/B,OAAO,SAAS,gBAAgB,GAAG,SAAS,GAAG,SAAS,EACvD,OAAO,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CACV,GAAG,EACH,GAAG,EACH;QAEC,EAAE,EAAE,EAAE,CAAC;QACP,GAAG,EAAE;YACJ,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1B,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;SAC3B,CAAC;KACF,CACD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,SAAS,EAAE,cA4HJ,CAAC"}
package/dist/validator.js DELETED
@@ -1,149 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { StructuredError } from '@agentuity/core';
3
- import { validator as honoValidator } from 'hono/validator';
4
- import { validateSchema, formatValidationIssues } from './_validation';
5
- /**
6
- * Create a route validator middleware with input and/or output validation.
7
- *
8
- * Automatically handles different validation targets based on HTTP method:
9
- * - GET requests: validates query parameters (if input schema provided)
10
- * - POST/PUT/PATCH/DELETE: validates JSON body (if input schema provided)
11
- * - All methods: validates JSON response (if output schema provided)
12
- *
13
- * @param options - Validation configuration
14
- * @param options.input - Input schema (query params for GET, body for POST/PUT/PATCH/DELETE)
15
- * @param options.output - Output schema for response validation
16
- * @returns Hono middleware handler
17
- *
18
- * @example GET with query validation
19
- * ```typescript
20
- * import { validator } from '@agentuity/runtime';
21
- *
22
- * router.get('/search',
23
- * validator({
24
- * input: z.object({ q: z.string(), limit: z.number().optional() }),
25
- * output: z.array(SearchResultSchema)
26
- * }),
27
- * async (c) => {
28
- * const { q, limit } = c.req.valid('query'); // Typed!
29
- * const results = await search(q, limit);
30
- * return c.json(results);
31
- * }
32
- * );
33
- * ```
34
- *
35
- * @example POST with body validation
36
- * ```typescript
37
- * router.post('/users',
38
- * validator({
39
- * input: z.object({ name: z.string() }),
40
- * output: UserSchema
41
- * }),
42
- * async (c) => {
43
- * const data = c.req.valid('json'); // Typed!
44
- * const user = await createUser(data);
45
- * return c.json(user);
46
- * }
47
- * );
48
- * ```
49
- */
50
- export const validator = ((options) => {
51
- const { input: inputSchema, output: outputSchema, stream } = options;
52
- // Helper to build input validator that detects HTTP method
53
- const buildInputValidator = (schema) => {
54
- return async (c, next) => {
55
- const method = c.req.method.toUpperCase();
56
- // GET requests validate query parameters
57
- if (method === 'GET') {
58
- const queryValidator = honoValidator('query', async (value, c) => {
59
- const result = await validateSchema(schema, value);
60
- if (!result.success) {
61
- return c.json({
62
- error: 'Validation failed',
63
- message: formatValidationIssues(result.issues),
64
- issues: result.issues,
65
- }, 400);
66
- }
67
- return result.data;
68
- });
69
- return await queryValidator(c, next);
70
- }
71
- // POST/PUT/PATCH/DELETE validate JSON body
72
- const jsonValidator = honoValidator('json', async (value, c) => {
73
- const result = await validateSchema(schema, value);
74
- if (!result.success) {
75
- return c.json({
76
- error: 'Validation failed',
77
- message: formatValidationIssues(result.issues),
78
- issues: result.issues,
79
- }, 400);
80
- }
81
- return result.data;
82
- });
83
- return await jsonValidator(c, next);
84
- };
85
- };
86
- // Output validation middleware (runs after handler)
87
- const outputValidator = async (c, next) => {
88
- await next();
89
- if (!outputSchema)
90
- return;
91
- // Skip output validation for streaming routes
92
- if (stream)
93
- return;
94
- const res = c.res;
95
- if (!res)
96
- return;
97
- // Only validate JSON responses
98
- const contentType = res.headers.get('Content-Type') ?? '';
99
- if (!contentType.toLowerCase().includes('application/json')) {
100
- return;
101
- }
102
- // Clone so we don't consume the body that will be sent
103
- let responseBody;
104
- try {
105
- const cloned = res.clone();
106
- responseBody = await cloned.json();
107
- }
108
- catch {
109
- const OutputValidationError = StructuredError('OutputValidationError')();
110
- throw new OutputValidationError({
111
- message: 'Output validation failed: response is not valid JSON',
112
- issues: [],
113
- });
114
- }
115
- const result = await validateSchema(outputSchema, responseBody);
116
- if (!result.success) {
117
- const OutputValidationError = StructuredError('OutputValidationError')();
118
- throw new OutputValidationError({
119
- message: `Output validation failed: ${formatValidationIssues(result.issues)}`,
120
- issues: result.issues,
121
- });
122
- }
123
- // Replace response with validated/sanitized JSON
124
- c.res = new Response(JSON.stringify(result.data), {
125
- status: res.status,
126
- headers: res.headers,
127
- });
128
- };
129
- // If no input schema, only do output validation
130
- if (!inputSchema) {
131
- return outputValidator;
132
- }
133
- // If no output schema, only do input validation
134
- if (!outputSchema) {
135
- return buildInputValidator(inputSchema);
136
- }
137
- // Compose: input validator → output validator
138
- const inputMiddleware = buildInputValidator(inputSchema);
139
- const composed = async (c, next) => {
140
- // Run input validator first, then output validator, then handler
141
- const result = await inputMiddleware(c, async () => {
142
- await outputValidator(c, next);
143
- });
144
- // If inputMiddleware returned early (validation failed), return that response
145
- return result;
146
- };
147
- return composed;
148
- });
149
- //# sourceMappingURL=validator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../src/validator.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Version consistency check for @agentuity/* packages.
3
- *
4
- * Logs a warning if there are mismatched major versions across SDK packages
5
- * at runtime startup. This helps developers catch version conflicts early.
6
- */
7
- import type { Logger } from './logger';
8
- /**
9
- * Check for version consistency across @agentuity/* packages.
10
- *
11
- * @param logger - Logger instance to use for warnings
12
- */
13
- export declare function checkVersionConsistency(logger: Logger): void;
14
- /**
15
- * Check if the project is using v1 SDK packages.
16
- *
17
- * @returns true if any v1 packages are detected
18
- */
19
- export declare function hasV1Packages(): boolean;
20
- //# sourceMappingURL=version-check.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA4FvC;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAmE5D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
@@ -1,157 +0,0 @@
1
- /**
2
- * Version consistency check for @agentuity/* packages.
3
- *
4
- * Logs a warning if there are mismatched major versions across SDK packages
5
- * at runtime startup. This helps developers catch version conflicts early.
6
- */
7
- import { existsSync, readFileSync } from 'node:fs';
8
- import { createRequire } from 'node:module';
9
- import { dirname, join, parse } from 'node:path';
10
- import { isV1Package, showDeprecationWarning } from '@agentuity/core';
11
- // Create a require function for resolving module paths
12
- const require = createRequire(import.meta.url);
13
- /**
14
- * Known @agentuity/* packages that should have consistent versions.
15
- */
16
- const KNOWN_PACKAGES = [
17
- '@agentuity/core',
18
- '@agentuity/runtime',
19
- '@agentuity/server',
20
- '@agentuity/frontend',
21
- '@agentuity/react',
22
- '@agentuity/schema',
23
- '@agentuity/auth',
24
- '@agentuity/postgres',
25
- '@agentuity/drizzle',
26
- '@agentuity/evals',
27
- '@agentuity/workbench',
28
- '@agentuity/queue',
29
- '@agentuity/webhook',
30
- '@agentuity/schedule',
31
- '@agentuity/task',
32
- '@agentuity/keyvalue',
33
- '@agentuity/vector',
34
- '@agentuity/stream',
35
- ];
36
- /**
37
- * Extract major version from semver string.
38
- */
39
- function extractMajor(version) {
40
- const match = version.match(/^(\d+)\.\d+\.\d+/);
41
- return match && match[1] ? parseInt(match[1], 10) : 0;
42
- }
43
- /**
44
- * Walk up parent directories from a starting path until package.json is found.
45
- * Returns the path to package.json, or null if not found (reached filesystem root).
46
- */
47
- function findPackageJson(startPath) {
48
- let currentDir = dirname(startPath);
49
- const root = parse(currentDir).root;
50
- while (currentDir !== root) {
51
- const pkgPath = join(currentDir, 'package.json');
52
- if (existsSync(pkgPath)) {
53
- return pkgPath;
54
- }
55
- const parentDir = dirname(currentDir);
56
- if (parentDir === currentDir) {
57
- break;
58
- }
59
- currentDir = parentDir;
60
- }
61
- return null;
62
- }
63
- /**
64
- * Get version of a package by resolving its main entry,
65
- * then walking up directories to find package.json.
66
- *
67
- * This handles packages whose main is ./dist/index.js where package.json
68
- * is in the parent directory, not alongside the main entry.
69
- */
70
- function getPackageVersion(packageName) {
71
- try {
72
- // Resolve the package main entry
73
- const mainPath = require.resolve(packageName);
74
- // Walk up to find package.json
75
- const pkgPath = findPackageJson(mainPath);
76
- if (!pkgPath) {
77
- return null;
78
- }
79
- // Read and parse manually - this avoids Bun's JSON import parser
80
- const content = readFileSync(pkgPath, 'utf-8');
81
- const pkgJson = JSON.parse(content);
82
- return pkgJson?.version || null;
83
- }
84
- catch {
85
- return null;
86
- }
87
- }
88
- /**
89
- * Check for version consistency across @agentuity/* packages.
90
- *
91
- * @param logger - Logger instance to use for warnings
92
- */
93
- export function checkVersionConsistency(logger) {
94
- // Skip in development if flag is set (for testing)
95
- if (process.env.AGENTUITY_SKIP_VERSION_CHECK === 'true') {
96
- return;
97
- }
98
- // Show deprecation warning for v1 packages
99
- showDeprecationWarning(logger);
100
- // Collect versions of loaded packages
101
- const versions = [];
102
- for (const name of KNOWN_PACKAGES) {
103
- const version = getPackageVersion(name);
104
- if (version) {
105
- versions.push({
106
- name,
107
- version,
108
- major: extractMajor(version),
109
- });
110
- }
111
- }
112
- // Need at least 2 packages to check consistency
113
- if (versions.length < 2) {
114
- return;
115
- }
116
- // Check for major version mismatches
117
- const majors = new Set(versions.map((v) => v.major));
118
- if (majors.size <= 1) {
119
- return; // All packages have the same major version
120
- }
121
- // Find the most common major version
122
- const majorCounts = new Map();
123
- for (const v of versions) {
124
- majorCounts.set(v.major, (majorCounts.get(v.major) || 0) + 1);
125
- }
126
- const sortedMajors = [...majorCounts.entries()].sort((a, b) => b[1] - a[1]);
127
- const expectedMajor = sortedMajors[0]?.[0] ?? 2;
128
- // Find mismatched packages
129
- const mismatched = versions.filter((v) => v.major !== expectedMajor);
130
- if (mismatched.length === 0) {
131
- return;
132
- }
133
- // Log warning
134
- const mismatchedList = mismatched.map((v) => `${v.name}@${v.version}`).join('\n ');
135
- logger.warn('Version mismatch detected: Some @agentuity/* packages have different major versions.\n' +
136
- ' This may cause unexpected behavior.\n' +
137
- '\n' +
138
- ' Expected: v' +
139
- expectedMajor +
140
- '\n' +
141
- ' Mismatched:\n' +
142
- ' ' +
143
- mismatchedList +
144
- '\n' +
145
- '\n' +
146
- ' Run `bun install` to sync versions, or pin all @agentuity/* packages\n' +
147
- ' to the same major version in your package.json.');
148
- }
149
- /**
150
- * Check if the project is using v1 SDK packages.
151
- *
152
- * @returns true if any v1 packages are detected
153
- */
154
- export function hasV1Packages() {
155
- return isV1Package();
156
- }
157
- //# sourceMappingURL=version-check.js.map