@animalabs/agent-framework 0.23.2 → 0.24.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 (338) hide show
  1. package/README.md +212 -42
  2. package/dist/src/agent.d.ts +60 -9
  3. package/dist/src/agent.d.ts.map +1 -1
  4. package/dist/src/agent.js +92 -12
  5. package/dist/src/agent.js.map +1 -1
  6. package/dist/src/api/server.d.ts.map +1 -1
  7. package/dist/src/api/server.js +14 -12
  8. package/dist/src/api/server.js.map +1 -1
  9. package/dist/src/code-execution/engine.d.ts +177 -0
  10. package/dist/src/code-execution/engine.d.ts.map +1 -0
  11. package/dist/src/code-execution/engine.js +494 -0
  12. package/dist/src/code-execution/engine.js.map +1 -0
  13. package/dist/src/code-execution/index.d.ts +5 -10
  14. package/dist/src/code-execution/index.d.ts.map +1 -1
  15. package/dist/src/code-execution/index.js +5 -9
  16. package/dist/src/code-execution/index.js.map +1 -1
  17. package/dist/src/code-execution/isolate/calls.d.ts +114 -0
  18. package/dist/src/code-execution/isolate/calls.d.ts.map +1 -0
  19. package/dist/src/code-execution/isolate/calls.js +145 -0
  20. package/dist/src/code-execution/isolate/calls.js.map +1 -0
  21. package/dist/src/code-execution/isolate/child-entry.d.ts +2 -0
  22. package/dist/src/code-execution/isolate/child-entry.d.ts.map +1 -0
  23. package/dist/src/code-execution/isolate/child-entry.js +5 -0
  24. package/dist/src/code-execution/isolate/child-entry.js.map +1 -0
  25. package/dist/src/code-execution/isolate/child-main.d.ts +26 -0
  26. package/dist/src/code-execution/isolate/child-main.d.ts.map +1 -0
  27. package/dist/src/code-execution/isolate/child-main.js +132 -0
  28. package/dist/src/code-execution/isolate/child-main.js.map +1 -0
  29. package/dist/src/code-execution/isolate/child.d.ts +44 -0
  30. package/dist/src/code-execution/isolate/child.d.ts.map +1 -0
  31. package/dist/src/code-execution/isolate/child.js +315 -0
  32. package/dist/src/code-execution/isolate/child.js.map +1 -0
  33. package/dist/src/code-execution/isolate/frames.d.ts +80 -0
  34. package/dist/src/code-execution/isolate/frames.d.ts.map +1 -0
  35. package/dist/src/code-execution/isolate/frames.js +210 -0
  36. package/dist/src/code-execution/isolate/frames.js.map +1 -0
  37. package/dist/src/code-execution/isolate/output.d.ts +68 -0
  38. package/dist/src/code-execution/isolate/output.d.ts.map +1 -0
  39. package/dist/src/code-execution/isolate/output.js +143 -0
  40. package/dist/src/code-execution/isolate/output.js.map +1 -0
  41. package/dist/src/code-execution/isolate/prelude.d.ts +109 -0
  42. package/dist/src/code-execution/isolate/prelude.d.ts.map +1 -0
  43. package/dist/src/code-execution/isolate/prelude.js +401 -0
  44. package/dist/src/code-execution/isolate/prelude.js.map +1 -0
  45. package/dist/src/code-execution/isolate/protocol.d.ts +151 -0
  46. package/dist/src/code-execution/isolate/protocol.d.ts.map +1 -0
  47. package/dist/src/code-execution/isolate/protocol.js +150 -0
  48. package/dist/src/code-execution/isolate/protocol.js.map +1 -0
  49. package/dist/src/code-execution/isolate/render.d.ts +57 -0
  50. package/dist/src/code-execution/isolate/render.d.ts.map +1 -0
  51. package/dist/src/code-execution/isolate/render.js +214 -0
  52. package/dist/src/code-execution/isolate/render.js.map +1 -0
  53. package/dist/src/code-execution/isolate/runner.d.ts +250 -0
  54. package/dist/src/code-execution/isolate/runner.d.ts.map +1 -0
  55. package/dist/src/code-execution/isolate/runner.js +854 -0
  56. package/dist/src/code-execution/isolate/runner.js.map +1 -0
  57. package/dist/src/code-execution/isolate/scripts.d.ts +175 -0
  58. package/dist/src/code-execution/isolate/scripts.d.ts.map +1 -0
  59. package/dist/src/code-execution/isolate/scripts.js +357 -0
  60. package/dist/src/code-execution/isolate/scripts.js.map +1 -0
  61. package/dist/src/code-execution/quickjs.wasm +0 -0
  62. package/dist/src/code-execution/tool-definition.d.ts +93 -43
  63. package/dist/src/code-execution/tool-definition.d.ts.map +1 -1
  64. package/dist/src/code-execution/tool-definition.js +176 -142
  65. package/dist/src/code-execution/tool-definition.js.map +1 -1
  66. package/dist/src/deadline-timer.d.ts +3 -0
  67. package/dist/src/deadline-timer.d.ts.map +1 -1
  68. package/dist/src/deadline-timer.js +1 -1
  69. package/dist/src/deadline-timer.js.map +1 -1
  70. package/dist/src/framework.d.ts +1027 -440
  71. package/dist/src/framework.d.ts.map +1 -1
  72. package/dist/src/framework.js +4093 -2238
  73. package/dist/src/framework.js.map +1 -1
  74. package/dist/src/gate/event-gate.d.ts +28 -1
  75. package/dist/src/gate/event-gate.d.ts.map +1 -1
  76. package/dist/src/gate/event-gate.js +88 -10
  77. package/dist/src/gate/event-gate.js.map +1 -1
  78. package/dist/src/held-writes.d.ts +16 -3
  79. package/dist/src/held-writes.d.ts.map +1 -1
  80. package/dist/src/held-writes.js +16 -3
  81. package/dist/src/held-writes.js.map +1 -1
  82. package/dist/src/index.d.ts +6 -6
  83. package/dist/src/index.d.ts.map +1 -1
  84. package/dist/src/index.js +9 -8
  85. package/dist/src/index.js.map +1 -1
  86. package/dist/src/mcpl/channel-registry.d.ts +471 -75
  87. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  88. package/dist/src/mcpl/channel-registry.js +1673 -337
  89. package/dist/src/mcpl/channel-registry.js.map +1 -1
  90. package/dist/src/mcpl/conversation-router.d.ts +12 -7
  91. package/dist/src/mcpl/conversation-router.d.ts.map +1 -1
  92. package/dist/src/mcpl/conversation-router.js +12 -7
  93. package/dist/src/mcpl/conversation-router.js.map +1 -1
  94. package/dist/src/mcpl/convert-block.d.ts.map +1 -1
  95. package/dist/src/mcpl/convert-block.js +9 -5
  96. package/dist/src/mcpl/convert-block.js.map +1 -1
  97. package/dist/src/mcpl/inbound-source.d.ts +50 -0
  98. package/dist/src/mcpl/inbound-source.d.ts.map +1 -1
  99. package/dist/src/mcpl/inbound-source.js +130 -0
  100. package/dist/src/mcpl/inbound-source.js.map +1 -1
  101. package/dist/src/mcpl/index.d.ts +2 -1
  102. package/dist/src/mcpl/index.d.ts.map +1 -1
  103. package/dist/src/mcpl/index.js +3 -2
  104. package/dist/src/mcpl/index.js.map +1 -1
  105. package/dist/src/mcpl/log-value.d.ts +6 -0
  106. package/dist/src/mcpl/log-value.d.ts.map +1 -1
  107. package/dist/src/mcpl/log-value.js +8 -0
  108. package/dist/src/mcpl/log-value.js.map +1 -1
  109. package/dist/src/mcpl/modern-connection.d.ts +15 -6
  110. package/dist/src/mcpl/modern-connection.d.ts.map +1 -1
  111. package/dist/src/mcpl/modern-connection.js +168 -53
  112. package/dist/src/mcpl/modern-connection.js.map +1 -1
  113. package/dist/src/mcpl/prose-grammar.d.ts +4 -5
  114. package/dist/src/mcpl/prose-grammar.d.ts.map +1 -1
  115. package/dist/src/mcpl/prose-grammar.js +4 -5
  116. package/dist/src/mcpl/prose-grammar.js.map +1 -1
  117. package/dist/src/mcpl/protocol-family.d.ts +97 -10
  118. package/dist/src/mcpl/protocol-family.d.ts.map +1 -1
  119. package/dist/src/mcpl/protocol-family.js +173 -16
  120. package/dist/src/mcpl/protocol-family.js.map +1 -1
  121. package/dist/src/mcpl/push-coalescer.d.ts +132 -14
  122. package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
  123. package/dist/src/mcpl/push-coalescer.js +227 -50
  124. package/dist/src/mcpl/push-coalescer.js.map +1 -1
  125. package/dist/src/mcpl/push-handler.d.ts +6 -1
  126. package/dist/src/mcpl/push-handler.d.ts.map +1 -1
  127. package/dist/src/mcpl/push-handler.js +4 -1
  128. package/dist/src/mcpl/push-handler.js.map +1 -1
  129. package/dist/src/mcpl/reference-fetcher.d.ts +2 -2
  130. package/dist/src/mcpl/reference-fetcher.d.ts.map +1 -1
  131. package/dist/src/mcpl/reference-fetcher.js +4 -4
  132. package/dist/src/mcpl/reference-fetcher.js.map +1 -1
  133. package/dist/src/mcpl/server-connection.d.ts +50 -21
  134. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  135. package/dist/src/mcpl/server-connection.js +158 -74
  136. package/dist/src/mcpl/server-connection.js.map +1 -1
  137. package/dist/src/mcpl/tags.d.ts +24 -0
  138. package/dist/src/mcpl/tags.d.ts.map +1 -1
  139. package/dist/src/mcpl/tags.js +33 -0
  140. package/dist/src/mcpl/tags.js.map +1 -1
  141. package/dist/src/mcpl/tool-result-normalize.d.ts +2 -1
  142. package/dist/src/mcpl/tool-result-normalize.d.ts.map +1 -1
  143. package/dist/src/mcpl/tool-result-normalize.js.map +1 -1
  144. package/dist/src/mcpl/transport.d.ts +55 -7
  145. package/dist/src/mcpl/transport.d.ts.map +1 -1
  146. package/dist/src/mcpl/transport.js +163 -34
  147. package/dist/src/mcpl/transport.js.map +1 -1
  148. package/dist/src/mcpl/types.d.ts +22 -6
  149. package/dist/src/mcpl/types.d.ts.map +1 -1
  150. package/dist/src/mcpl/types.js.map +1 -1
  151. package/dist/src/module-registry.d.ts +4 -2
  152. package/dist/src/module-registry.d.ts.map +1 -1
  153. package/dist/src/module-registry.js +100 -13
  154. package/dist/src/module-registry.js.map +1 -1
  155. package/dist/src/modules/discord/index.d.ts.map +1 -1
  156. package/dist/src/modules/discord/index.js +8 -13
  157. package/dist/src/modules/discord/index.js.map +1 -1
  158. package/dist/src/modules/history/index.d.ts.map +1 -1
  159. package/dist/src/modules/history/index.js +27 -4
  160. package/dist/src/modules/history/index.js.map +1 -1
  161. package/dist/src/modules/history/semantic.d.ts +15 -3
  162. package/dist/src/modules/history/semantic.d.ts.map +1 -1
  163. package/dist/src/modules/history/semantic.js +27 -5
  164. package/dist/src/modules/history/semantic.js.map +1 -1
  165. package/dist/src/modules/index.d.ts +1 -1
  166. package/dist/src/modules/index.d.ts.map +1 -1
  167. package/dist/src/modules/index.js.map +1 -1
  168. package/dist/src/modules/unknown-tool.d.ts +4 -1
  169. package/dist/src/modules/unknown-tool.d.ts.map +1 -1
  170. package/dist/src/modules/unknown-tool.js +4 -1
  171. package/dist/src/modules/unknown-tool.js.map +1 -1
  172. package/dist/src/modules/workspace/branch-intent.d.ts +3 -1
  173. package/dist/src/modules/workspace/branch-intent.d.ts.map +1 -1
  174. package/dist/src/modules/workspace/branch-intent.js +3 -1
  175. package/dist/src/modules/workspace/branch-intent.js.map +1 -1
  176. package/dist/src/modules/workspace/edit-plan.d.ts +265 -0
  177. package/dist/src/modules/workspace/edit-plan.d.ts.map +1 -0
  178. package/dist/src/modules/workspace/edit-plan.js +794 -0
  179. package/dist/src/modules/workspace/edit-plan.js.map +1 -0
  180. package/dist/src/modules/workspace/edit-text.d.ts +117 -0
  181. package/dist/src/modules/workspace/edit-text.d.ts.map +1 -0
  182. package/dist/src/modules/workspace/edit-text.js +584 -0
  183. package/dist/src/modules/workspace/edit-text.js.map +1 -0
  184. package/dist/src/modules/workspace/effects.d.ts +5 -4
  185. package/dist/src/modules/workspace/effects.d.ts.map +1 -1
  186. package/dist/src/modules/workspace/effects.js +78 -25
  187. package/dist/src/modules/workspace/effects.js.map +1 -1
  188. package/dist/src/modules/workspace/index.d.ts +484 -61
  189. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  190. package/dist/src/modules/workspace/index.js +2173 -645
  191. package/dist/src/modules/workspace/index.js.map +1 -1
  192. package/dist/src/modules/workspace/observe.d.ts +213 -38
  193. package/dist/src/modules/workspace/observe.d.ts.map +1 -1
  194. package/dist/src/modules/workspace/observe.js +416 -36
  195. package/dist/src/modules/workspace/observe.js.map +1 -1
  196. package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
  197. package/dist/src/modules/workspace/reconcile.js +15 -8
  198. package/dist/src/modules/workspace/reconcile.js.map +1 -1
  199. package/dist/src/modules/workspace/text.d.ts +32 -0
  200. package/dist/src/modules/workspace/text.d.ts.map +1 -0
  201. package/dist/src/modules/workspace/text.js +67 -0
  202. package/dist/src/modules/workspace/text.js.map +1 -0
  203. package/dist/src/modules/workspace/types.d.ts +210 -6
  204. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  205. package/dist/src/modules/workspace/types.js.map +1 -1
  206. package/dist/src/modules/workspace/watcher.d.ts +3 -2
  207. package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
  208. package/dist/src/modules/workspace/watcher.js.map +1 -1
  209. package/dist/src/operator-log.d.ts +52 -24
  210. package/dist/src/operator-log.d.ts.map +1 -1
  211. package/dist/src/operator-log.js.map +1 -1
  212. package/dist/src/recovery/discord-awareness-outbox.d.ts +496 -72
  213. package/dist/src/recovery/discord-awareness-outbox.d.ts.map +1 -1
  214. package/dist/src/recovery/discord-awareness-outbox.js +1196 -289
  215. package/dist/src/recovery/discord-awareness-outbox.js.map +1 -1
  216. package/dist/src/recovery/offline-branch.d.ts +26 -1
  217. package/dist/src/recovery/offline-branch.d.ts.map +1 -1
  218. package/dist/src/recovery/offline-branch.js +164 -39
  219. package/dist/src/recovery/offline-branch.js.map +1 -1
  220. package/dist/src/recovery/recover-cli.js +23 -4
  221. package/dist/src/recovery/recover-cli.js.map +1 -1
  222. package/dist/src/send-tools.d.ts +11 -0
  223. package/dist/src/send-tools.d.ts.map +1 -0
  224. package/dist/src/send-tools.js +11 -0
  225. package/dist/src/send-tools.js.map +1 -0
  226. package/dist/src/tool-result-guard.d.ts +4 -3
  227. package/dist/src/tool-result-guard.d.ts.map +1 -1
  228. package/dist/src/tool-result-guard.js +5 -4
  229. package/dist/src/tool-result-guard.js.map +1 -1
  230. package/dist/src/tool-result-history.d.ts +1 -1
  231. package/dist/src/tool-result-history.js +1 -1
  232. package/dist/src/tune-out/coordinator.d.ts +21 -0
  233. package/dist/src/tune-out/coordinator.d.ts.map +1 -1
  234. package/dist/src/tune-out/coordinator.js +139 -37
  235. package/dist/src/tune-out/coordinator.js.map +1 -1
  236. package/dist/src/types/agent.d.ts +4 -0
  237. package/dist/src/types/agent.d.ts.map +1 -1
  238. package/dist/src/types/events.d.ts +62 -9
  239. package/dist/src/types/events.d.ts.map +1 -1
  240. package/dist/src/types/framework.d.ts +62 -58
  241. package/dist/src/types/framework.d.ts.map +1 -1
  242. package/dist/src/types/module.d.ts +40 -8
  243. package/dist/src/types/module.d.ts.map +1 -1
  244. package/dist/src/types/trace.d.ts +111 -10
  245. package/dist/src/types/trace.d.ts.map +1 -1
  246. package/dist/src/usage/types.d.ts +16 -0
  247. package/dist/src/usage/types.d.ts.map +1 -1
  248. package/dist/src/usage/usage-tracker.d.ts +14 -1
  249. package/dist/src/usage/usage-tracker.d.ts.map +1 -1
  250. package/dist/src/usage/usage-tracker.js +81 -41
  251. package/dist/src/usage/usage-tracker.js.map +1 -1
  252. package/package.json +6 -5
  253. package/src/agent.ts +93 -12
  254. package/src/api/server.ts +14 -12
  255. package/src/code-execution/engine.ts +595 -0
  256. package/src/code-execution/index.ts +5 -17
  257. package/src/code-execution/isolate/calls.ts +199 -0
  258. package/src/code-execution/isolate/child-entry.ts +5 -0
  259. package/src/code-execution/isolate/child-main.ts +132 -0
  260. package/src/code-execution/isolate/child.ts +327 -0
  261. package/src/code-execution/isolate/frames.ts +209 -0
  262. package/src/code-execution/isolate/output.ts +161 -0
  263. package/src/code-execution/isolate/prelude.ts +409 -0
  264. package/src/code-execution/isolate/protocol.ts +240 -0
  265. package/src/code-execution/isolate/render.ts +230 -0
  266. package/src/code-execution/isolate/runner.ts +911 -0
  267. package/src/code-execution/isolate/scripts.ts +479 -0
  268. package/src/code-execution/quickjs.wasm +0 -0
  269. package/src/code-execution/quickjs.wasm.LICENSES +149 -0
  270. package/src/code-execution/tool-definition.ts +236 -167
  271. package/src/deadline-timer.ts +1 -1
  272. package/src/framework.ts +4468 -2418
  273. package/src/gate/event-gate.ts +78 -11
  274. package/src/held-writes.ts +17 -3
  275. package/src/index.ts +30 -22
  276. package/src/mcpl/channel-registry.ts +1825 -368
  277. package/src/mcpl/conversation-router.ts +12 -7
  278. package/src/mcpl/convert-block.ts +9 -5
  279. package/src/mcpl/inbound-source.ts +131 -0
  280. package/src/mcpl/index.ts +4 -2
  281. package/src/mcpl/log-value.ts +9 -0
  282. package/src/mcpl/modern-connection.ts +162 -53
  283. package/src/mcpl/prose-grammar.ts +4 -5
  284. package/src/mcpl/protocol-family.ts +199 -21
  285. package/src/mcpl/push-coalescer.ts +306 -62
  286. package/src/mcpl/push-handler.ts +10 -2
  287. package/src/mcpl/reference-fetcher.ts +4 -4
  288. package/src/mcpl/server-connection.ts +180 -79
  289. package/src/mcpl/tags.ts +36 -0
  290. package/src/mcpl/tool-result-normalize.ts +2 -1
  291. package/src/mcpl/transport.ts +162 -33
  292. package/src/mcpl/types.ts +23 -6
  293. package/src/module-registry.ts +92 -13
  294. package/src/modules/discord/index.ts +8 -13
  295. package/src/modules/history/index.ts +25 -3
  296. package/src/modules/history/semantic.ts +29 -6
  297. package/src/modules/index.ts +1 -0
  298. package/src/modules/unknown-tool.ts +4 -1
  299. package/src/modules/workspace/branch-intent.ts +3 -1
  300. package/src/modules/workspace/edit-plan.ts +954 -0
  301. package/src/modules/workspace/edit-text.ts +618 -0
  302. package/src/modules/workspace/effects.ts +70 -19
  303. package/src/modules/workspace/index.ts +2247 -642
  304. package/src/modules/workspace/observe.ts +465 -56
  305. package/src/modules/workspace/reconcile.ts +14 -7
  306. package/src/modules/workspace/text.ts +68 -0
  307. package/src/modules/workspace/types.ts +211 -6
  308. package/src/modules/workspace/watcher.ts +3 -2
  309. package/src/operator-log.ts +47 -19
  310. package/src/recovery/discord-awareness-outbox.ts +1500 -356
  311. package/src/recovery/offline-branch.ts +189 -55
  312. package/src/recovery/recover-cli.ts +25 -4
  313. package/src/send-tools.ts +11 -0
  314. package/src/tool-result-guard.ts +6 -5
  315. package/src/tool-result-history.ts +1 -1
  316. package/src/tune-out/coordinator.ts +163 -42
  317. package/src/types/agent.ts +4 -0
  318. package/src/types/events.ts +62 -9
  319. package/src/types/framework.ts +62 -58
  320. package/src/types/module.ts +40 -8
  321. package/src/types/trace.ts +121 -15
  322. package/src/usage/types.ts +16 -0
  323. package/src/usage/usage-tracker.ts +86 -43
  324. package/dist/src/code-execution/py-runner.d.ts +0 -191
  325. package/dist/src/code-execution/py-runner.d.ts.map +0 -1
  326. package/dist/src/code-execution/py-runner.js +0 -655
  327. package/dist/src/code-execution/py-runner.js.map +0 -1
  328. package/dist/src/code-execution/runtime-py.d.ts +0 -50
  329. package/dist/src/code-execution/runtime-py.d.ts.map +0 -1
  330. package/dist/src/code-execution/runtime-py.js +0 -677
  331. package/dist/src/code-execution/runtime-py.js.map +0 -1
  332. package/dist/src/mcpl/prose-stream-router.d.ts +0 -88
  333. package/dist/src/mcpl/prose-stream-router.d.ts.map +0 -1
  334. package/dist/src/mcpl/prose-stream-router.js +0 -291
  335. package/dist/src/mcpl/prose-stream-router.js.map +0 -1
  336. package/src/code-execution/py-runner.ts +0 -791
  337. package/src/code-execution/runtime-py.ts +0 -677
  338. package/src/mcpl/prose-stream-router.ts +0 -268
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,OAAO,EACP,cAAc,GAKf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,oCAAoC,GACrC,MAAM,0BAA0B,CAAC;AAmDlC,SAAS,UAAU,CAAC,KAAc;IAChC,MAAM,MAAM,GAAG,CAAC,IAAa,EAAU,EAAE;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAClE,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,IAA+B,CAAC;YAC/C,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACnH,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IACxC,CAAC,CAAC;IACF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,6BAA6B,GAAG,OAAO,CAAC;AAC9C,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAC9C,MAAM,oCAAoC,GAA6B,QAAQ,CAAC;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAmB;IACrD,MAAM,KAAK,GAAG,UAAU,MAAM,CAAC,IAAI,GAAG,CAAC;IACvC,oBAAoB,CAClB,GAAG,KAAK,gBAAgB,EACxB,MAAM,CAAC,aAAa,EACpB,6HAA6H,CAC9H,CAAC;IACF,IAAI,aAAa,CAAC,GAAG,KAAK,WAAW,EAAE,MAAM,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,CAAC;QAC7E,oBAAoB,CAClB,GAAG,KAAK,mBAAmB,EAC3B,MAAM,CAAC,QAAQ,CAAC,OAAO,EACvB,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,CAAC,GAAG,KAAK,kBAAkB,EAAE,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,EAAE,CAAC;QAC9F,oBAAoB,CAClB,GAAG,KAAK,6BAA6B,EACrC,MAAM,CAAC,eAAe,CAAC,UAAU,EACjC,uFAAuF;YACrF,sCAAsC,CACzC,CAAC;IACJ,CAAC;IACD,oBAAoB,CAClB,GAAG,KAAK,kBAAkB,EAC1B,MAAM,CAAC,eAAe,EACtB,wFAAwF;QACtF,sCAAsC,CACzC,CAAC;IACF,oBAAoB,CAClB,GAAG,KAAK,wBAAwB,EAChC,MAAM,CAAC,qBAAqB,EAC5B,uHAAuH;QACrH,sCAAsC,CACzC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,KAAK;IACP,IAAI,CAAS;IACb,KAAK,CAAS;IACd,YAAY,CAAS;IACrB,YAAY,CAAmB;IAC/B,cAAc,CAAmB;IACjC,SAAS,CAAS;IAC3B;;;;;OAKG;IACM,WAAW,CAAqB;IACzC;;;;OAIG;IACM,QAAQ,CAA0B;IAC3C,oEAAoE;IAC3D,eAAe,CAAiC;IAChD,eAAe,CAAkB;IAC1C,2EAA2E;IAClE,YAAY,CAA+C;IACpE,yEAAyE;IAChE,qBAAqB,CAAU;IACxC,6EAA6E;IACpE,QAAQ,CAAuC;IACxD,6EAA6E;IACpE,aAAa,CAAU;IAChC,0EAA0E;IACjE,kBAAkB,CAAU;IACrC,4EAA4E;IACnE,cAAc,CAA2B;IACzC,wBAAwB,CAA0C;IAEnE,MAAM,GAAe,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACxC,mBAAmB,GAAG,CAAC,CAAC;IACxB,SAAS,GAAG,CAAC,CAAC;IACtB;;;2CAGuC;IAC/B,WAAW,GAA0E,IAAI,CAAC;IAClG;;yBAEqB;IACrB,qBAAqB,GAAG,CAAC,CAAC;IAC1B;;;;;;;;;6CASyC;IACzC,yBAAyB,GAAG,CAAC,CAAC;IAC9B;;;;;sBAKkB;IAClB,sBAAsB,GAAG,CAAC,CAAC;IAC3B;;;;;;;;6DAQyD;IACzD,0BAA0B,GAAG,CAAC,CAAC;IAC/B,eAAe,CAAS;IACxB,wEAAwE;IAC/D,oBAAoB,CAAU;IACvC;;iCAE6B;IAC7B,mBAAmB,CAAU;IACZ,6BAA6B,CAAU;IACvC,oBAAoB,CAAU;IAC9B,8BAA8B,CAAU;IACxC,kCAAkC,CAA4B;IACvE,yBAAyB,CAAU;IACnC,wBAAwB,GAA8B,EAAE,CAAC;IACjE;;;;;OAKG;IACK,eAAe,GAAG,CAAC,CAAC;IAC5B;;;;OAIG;IACK,YAAY,GAAG,CAAC,CAAC;IACzB,qGAAqG;IAC7F,kBAAkB,CAAmD;IAC7E,wDAAwD;IAChD,eAAe,GAAG,CAAC,CAAC;IAC5B,0EAA0E;IACzD,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IACrD;;;;;;;;;;;;;OAaG;IACc,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC9D,2GAA2G;IACnG,sBAAsB,CAAmD;IACjF;;;;;OAKG;IACK,cAAc,GAAG,KAAK,CAAC;IAC/B,qFAAqF;IAC7E,sBAAsB,CAA6C;IACnE,cAAc,CAAiB;IAC/B,QAAQ,CAAW;IAE3B,YACE,MAAmB,EACnB,cAA8B,EAC9B,QAAkB;QAElB,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC;QACjD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,KAAK,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC;QACzG,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,OAAO,CAAC;QACnD,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,KAAK,IAAI,CAAC;QACnE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,KAAK,KAAK,CAAC;QACpD,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,CAAC;QAChE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,OAAO,CAAC;QACzD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;QACxD,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACtD,IAAI,CAAC,6BAA6B,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAChE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzC,IAAI,CAAC,oBAAoB,GAAG,GAAG,EAAE,UAAU,CAAC;QAC5C,IAAI,CAAC,8BAA8B,GAAG,GAAG,EAAE,oBAAoB,CAAC;QAChE,IAAI,CAAC,kCAAkC,GAAG,MAAM,CAAC,wBAAwB,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,QAAgB;QACzB,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,MAAc;QAC7B,IAAI,IAAI,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,6EAA6E;IAC7E,mBAAmB;IACnB,6EAA6E;IAE7E;;;;OAIG;IACH;8EAC0E;IAClE,aAAa,CAAC,MAAoB;QACxC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC7D,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IACrF,CAAC;IAED;;;;0DAIsD;IAC9C,aAAa,CAAC,MAAoB;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC;QAC9D,IAAI,OAAO,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QACnC,sEAAsE;QACtE,MAAM,IAAI,GAAG,QAAQ,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC;QAC3E,OAAO,EAAE,GAAG,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,GAAG,OAAO,EAAE,CAAC;IAC5E,CAAC;IAED;8EAC0E;IAClE,qBAAqB;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,cAEpB,CAAC;QACF,OAAO,OAAO,OAAO,CAAC,qBAAqB,KAAK,UAAU;YACxD,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE;YACjC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEO,wBAAwB,CAAC,MAAgC;QAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,cAEpB,CAAC;QACF,IAAI,OAAO,OAAO,CAAC,wBAAwB,KAAK,UAAU,EAAE,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB;QAChB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzC,OAAO;YACL,oEAAoE;YACpE,qEAAqE;YACrE,uEAAuE;YACvE,2EAA2E;YAC3E,mBAAmB,EACjB,IAAI,CAAC,wBAAwB,CAAC,mBAAmB;gBACjD,IAAI,CAAC,yBAAyB;gBAC9B,IAAI,CAAC,mBAAmB;gBACxB,6BAA6B;YAC/B,4BAA4B,EAAE,IAAI,CAAC,mBAAmB,IAAI,6BAA6B;YACvF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,GAAG,EAAE,oBAAoB,KAAK,SAAS;gBACzC,CAAC,CAAC,EAAE,oBAAoB,EAAE,GAAG,CAAC,oBAAoB,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,wBAAwB,EAAE,IAAI,CAAC,oCAAoC,EAAE;YACrE,8BAA8B,EAAE,IAAI,CAAC,iCAAiC,EAAE;YACxE,UAAU,EAAE,IAAI,CAAC,yBAAyB,KAAK,SAAS;gBACtD,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,GAAG,EAAE,OAAO;oBACZ,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,YAAY;YAClB,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,uBAAuB;gBAC1C,CAAC,CAAC,EAAE,gBAAgB,EAAE,2BAAoC,EAAE;gBAC5D,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,uBAAuB;oBACxC,CAAC,CAAC,EAAE,gBAAgB,EAAE,kCAA2C,EAAE;oBACnE,CAAC,CAAC,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IAED,2BAA2B;QACzB,OAAO,EAAE,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,uBAAuB,CAAC,QAAiE;QACvF,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,4BAA4B;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACrC,OAAO,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,MAA0B,EAAE,MAA0B,EAAE,KAAK,GAAG,KAAK;QAC5F,IAAI,MAAM,KAAK,IAAI,CAAC,mBAAmB;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QAChE,IAAI,KAAK,IAAI,MAAM,KAAK,IAAI,CAAC,yBAAyB;YAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5E,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC;QAClC,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,MAAc,EAAE,OAAe;QACnD,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACrE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAAC,MAAc,EAAE,GAAY,EAAE,KAAa;QACpE,IAAI,KAAK,KAAK,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,kBAAkB,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;QACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC7C,IAAI,QAAQ,EAAE,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO;QAC5F,uEAAuE;QACvE,uEAAuE;QACvE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1H,CAAC;IAED,2EAA2E;IACnE,KAAK,CAAC,mBAAmB,CAAC,OAAqC;QACrE,MAAM,OAAO,GAAG,EAAE,IAAI,CAAC,eAAe,CAAC;QACvC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;YACnD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpD,IAAI,KAAK,GAAG,QAAQ;oBAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;IACH,CAAC;IAED,0FAA0F;IAClF,KAAK,CAAC,yBAAyB,CAAC,OAAqC,EAAE,OAAe;QAC5F,sEAAsE;QACtE,yEAAyE;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,IAAI,6BAA6B,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,OAAO,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAAmC,EAAE,IAAI,KAAK,iBAAiB;gBAAE,MAAM,KAAK,CAAC;YAClF,iEAAiE;YACjE,qEAAqE;YACrE,uEAAuE;YACvE,wBAAwB;YACxB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC;gBAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACnF,sEAAsE;YACtE,qEAAqE;YACrE,gEAAgE;YAChE,uEAAuE;YACvE,oEAAoE;YACpE,2CAA2C;YAC3C,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,MAAM,KAAK,CAAC;YACtC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,iEAAiE;YACjE,4CAA4C;YAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;YACrE,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC1D,OAAO,GAAG,0DAA0D,CAAC;YACvE,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,OAAO,GAAG,8BAA8B,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK;oBAC1G,mEAAmE,IAAI,WAAW,CAAC;YACvF,CAAC;YACD,OAAO,CAAC,KAAK,CACX,oBAAoB,IAAI,CAAC,IAAI,qDAAqD,IAAI,mBAAmB;gBACvG,oBAAoB,OAAO,EAAE,CAChC,CAAC;YACF,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,qEAAqE;QACrE,0EAA0E;QAC1E,uEAAuE;QACvE,0EAA0E;QAC1E,4DAA4D;QAC5D,yEAAyE;QACzE,qEAAqE;QACrE,oDAAoD;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvD,IAAI,MAAM,IAAI,QAAQ,IAAI,OAAO,IAAI,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAoB,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3G,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mBAAoB,EAAE,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACjF,CAAC;aAAM,IAAI,MAAM,IAAI,QAAQ,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACtF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,iBAAiB,CAAC,KAAiC;QAKjD,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,IAAI,6BAA6B,CAAC;QACvE,MAAM,MAAM,GAAG,KAAK,EAAE,mBAAmB,CAAC;QAC1C,OAAO;YACL,gBAAgB,EAAE,IAAI;YACtB,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,IAAI,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO;YAChG,UAAU,EAAE,IAAI,CAAC,yBAAyB,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY;SACnF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,qBAAqB;QACnB,IAAI,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,mBAAmB,CAAC,KAAiC;QAUnD,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,KAAK,EAAE,mBAAmB,CAAC;QAE1C,MAAM,SAAS,GAA4B,EAAE,CAAC;QAC9C,IAAI,KAAK,EAAE,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,SAAS,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC;QAClD,CAAC;QACD,kEAAkE;QAClE,yEAAyE;QACzE,MAAM,QAAQ,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC;QACnH,MAAM,KAAK,GAAG,QAAQ;YACpB,CAAC,CAAC,KAAK,EAAE,oBAAoB,IAAI,GAAG,CAAC,oBAAoB,IAAI,8BAA8B;YAC3F,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACzE,SAAS,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACxC,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC1F,CAAC;QACD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACpF,CAAC;QACD,OAAO;YACL,qBAAqB,EAAE,IAAI;YAC3B,gBAAgB,EAAE,IAAI;YACtB,oBAAoB,EAAE,MAAM;YAC5B,IAAI,EAAE,OAAO;YACb,SAAS;SACV,CAAC;IACJ,CAAC;IAED,oCAAoC;QAClC,OAAO,IAAI,CAAC,wBAAwB,CAAC,wBAAwB;eACxD,IAAI,CAAC,kCAAkC;eACvC,oCAAoC,CAAC;IAC5C,CAAC;IAED,iCAAiC;QAC/B,IAAI,IAAI,CAAC,wBAAwB,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;YACzE,OAAO,kBAAkB,CAAC;QAC5B,CAAC;QACD,IAAI,IAAI,CAAC,kCAAkC,KAAK,SAAS,EAAE,CAAC;YAC1D,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,qBAAqB,CAAC,KAAgC;QACpD,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACjD,IAAI,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QACvD,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,mEAAmE;QACnE,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,MAAM,QAAQ,GAIV,EAAE,CAAC;QACP,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;YAAE,QAAQ,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QAC3E,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC7C,QAAQ,CAAC,oBAAoB,GAAG,KAAK,CAAC,oBAAoB,CAAC;QAC7D,CAAC;QAED,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,IAAI,6BAA6B,CAAC;YACvE,IAAI,KAAK,CAAC,mBAAmB,IAAI,IAAI,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACzD,qEAAqE;gBACrE,oEAAoE;gBACpE,iEAAiE;gBACjE,iDAAiD;gBACjD,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC;gBAC9C,iBAAiB,GAAG,SAAS,CAAC;gBAC9B,IAAI,IAAI,CAAC,qBAAqB,EAAE;oBAAE,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACT,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,IAAI,GAAG,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;oBACvF,QAAQ,CAAC,oBAAoB,GAAG,8BAA8B,CAAC;oBAC/D,kBAAkB,GAAG,IAAI,CAAC;gBAC5B,CAAC;gBACD,QAAQ,CAAC,oBAAoB,GAAG,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3E,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC;gBAC9C,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACnE,wEAAwE;QACxE,oEAAoE;QACpE,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QACzE,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,wBAAwB,CAAC,oBAAoB,GAAG,8BAA8B,CAAC;QACtF,CAAC;QACD,uEAAuE;QACvE,wDAAwD;QACxD,KAAK,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,YAAY,EAAE,sBAAsB,CAAU,EAAE,CAAC;YACzF,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,KAAK,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;YACjD,IAAI,CAAC,wBAAwB,CAAC,wBAAwB,GAAG,KAAK,CAAC,wBAAwB,CAAC;QAC1F,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC;IAED,oBAAoB,CAAC,IAA6C;QAChE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE,YAAY,EAAE,sBAAsB,EAAE,0BAA0B,CAAC,CAAC,CAAC;QACzH,IAAI,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACjD,IAAI,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CAAC;QACvD,sEAAsE;QACtE,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,MAAM,QAAQ,GAIV,EAAE,CAAC;QAEP,IAAI,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACrC,MAAM,UAAU,GAAG,IAAI,CAAC,6BAA6B,IAAI,6BAA6B,CAAC;YACvF,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,IAAI,6BAA6B,CAAC;YACvE,IAAI,UAAU,GAAG,IAAI,EAAE,CAAC;gBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACzC,IAAI,CAAC,GAAG;oBAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;gBAC9F,QAAQ,CAAC,oBAAoB,GAAG,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC5D,IAAI,GAAG,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;oBAC3C,QAAQ,CAAC,oBAAoB,GAAG,8BAA8B,CAAC;gBACjE,CAAC;gBACD,iBAAiB,GAAG,UAAU,CAAC;gBAC/B,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,iBAAiB,GAAG,IAAI,CAAC,6BAA6B,CAAC;gBACvD,iBAAiB,GAAG,SAAS,CAAC;gBAC9B,IAAI,IAAI,CAAC,qBAAqB,EAAE;oBAAE,QAAQ,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACzE,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS;gBAAE,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAC/F,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACtE,QAAQ,CAAC,oBAAoB;gBAC3B,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,8BAA8B,KAAK,SAAS;oBAClF,CAAC,CAAC,8BAA8B;oBAChC,CAAC,CAAC,IAAI,CAAC,8BAA8B,IAAI,IAAI,CAAC;QACpD,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAC9E,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC;YACzD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC;QAC7E,IAAI,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,wBAAwB,CAAC,oBAAoB,CAAC;QAC5D,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,wBAAwB,CAAC,wBAAwB,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC;IAED,+BAA+B;QAC7B,IAAI,IAAI,CAAC,yBAAyB,KAAK,SAAS,EAAE,CAAC;YACjD,IAAI,CAAC,wBAAwB,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,IAAI,6BAA6B,CAAC;YACvE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,6BAA6B,IAAI,6BAA6B,CAAC,EAAE,CAAC;gBACnF,OAAO,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;;;;OASG;IACH,sBAAsB,CACpB,QAAmC,EACnC,IAAgC;QAEhC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,IAAI,6BAA6B,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,IAAI,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;YAChG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACjD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB,CAAC,QAAwG;QAC1H,KAAK,MAAM,GAAG,IAAI,CAAC,qBAAqB,EAAE,YAAY,EAAE,sBAAsB,CAAU,EAAE,CAAC;YACzF,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS;gBAAE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAEO,4BAA4B,CAAC,KAAgC;QACnE,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS,CAAC;YAC5E,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,yBAAyB,CAAC,KAAgC;QACxD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACzF,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,KAAK,CAAC,mBAAmB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpG,MAAM,IAAI,KAAK,CAAC,gFAAgF,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACrH,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS;YAC9B,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,KAAK,CAAC,oBAAoB,KAAK,SAAS;YACxC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,KAAK,CAAC,wBAAwB,KAAK,SAAS;YAC5C,KAAK,CAAC,wBAAwB,KAAK,QAAQ;YAC3C,KAAK,CAAC,wBAAwB,KAAK,SAAS,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,kFAAkF;IAC1E,+BAA+B;QACrC,IAAI,IAAI,CAAC,yBAAyB,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzC,IAAI,CAAC,GAAG,EAAE,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,wBAAwB,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACK,iBAAiB,GAAgD,IAAI,CAAC;IAC9E;4EACwE;IAChE,cAAc,GAAG,CAAC,CAAC;IAC3B;;;;;;;;;;;;OAYG;IACK,cAAc,GAAgD,IAAI,CAAC;IAE3E,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;oEAEgE;IAChE,mBAAmB;QACjB,qEAAqE;QACrE,yEAAyE;QACzE,sEAAsE;QACtE,0EAA0E;QAC1E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjD,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAC/C,CAAC;IAED;;;6CAGyC;IACzC,gBAAgB;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;;;kEAS8D;IACtD,mBAAmB,CACzB,SAAsD,EACtD,MAAmD;QAEnD,IAAI,SAAS,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;IACnF,CAAC;IAED;;;;;;;;OAQG;IACK,qBAAqB,CAAC,SAA+C,EAAE,WAAmB;QAChG,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACvC,IAAI,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,OAAO;eAC7C,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC;YAAE,OAAO;QAC7F,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,uFAAuF;IAC/E,gBAAgB;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,cAAyC,CAAC;QAC1D,IAAI,CAAC;YACH,IAAI,OAAO,EAAE,CAAC,aAAa,KAAK,UAAU,IAAI,OAAO,EAAE,CAAC,cAAc,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;YACnG,oEAAoE;YACpE,uEAAuE;YACvE,yEAAyE;YACzE,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAwC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClH,IAAI,QAAQ,GAAG,OAAO,KAAK,EAAE,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAClG,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC;gBAC3G,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;cAIU;IACV,KAAK,CAAC,cAAc,CAAC,MAAoB;QACvC,uEAAuE;QACvE,mEAAmE;QACnE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;QACxC,IAAI,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,SAAS;YAAE,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,qBAAqB,CACzB,MAAoB,EACpB,UAA+B,EAC/B,IAAkE;QAElE,sEAAsE;QACtE,yEAAyE;QACzE,8DAA8D;QAC9D,uEAAuE;QACvE,0EAA0E;QAC1E,sEAAsE;QACtE,sEAAsE;QACtE,qDAAqD;QACrD,uEAAuE;QACvE,qEAAqE;QACrE,mEAAmE;QACnE,WAAW;QACX,EAAE;QACF,sEAAsE;QACtE,qEAAqE;QACrE,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,yEAAyE;QACzE,uEAAuE;QACvE,iCAAiC;QACjC,MAAM,SAAS,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;QACxC,uEAAuE;QACvE,8DAA8D;QAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;QACxC,IAAI,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAa,CAAC,CAAC;QACzG,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YACjD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,SAAS;YAAE,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6EAA6E;IAC7E,kCAAkC;IAClC,6EAA6E;IAE7E;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,cAAgC,EAChC,MAAoB,EACpB,OAAO,GAAqB,EAAE;QAE9B,OAAO,IAAI,CAAC,0BAA0B,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACrF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,0BAA0B,CAC9B,cAAgC,EAChC,UAA+B,EAC/B,MAAoB,EACpB,OAA0B;QAE1B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,uBAAuB,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,8BAA8B,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QAEvC,oCAAoC;QACpC,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpE,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QACtF,IAAI,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa;gBACzE,gEAAgE;gBAChE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAiB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrG,0EAA0E;YAC1E,qBAAqB;YACrB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EACxF,oCAAoC,CAAC,CAAC;QAC1C,CAAC;QAED,qEAAqE;QACrE,0EAA0E;QAC1E,wEAAwE;QACxE,uEAAuE;QACvE,oEAAoE;QACpE,UAAU;QACV,IAAI,gBAA0E,CAAC;QAC/E,MAAM,QAAQ,GAAG,KAAK,IAAgC,EAAE;YACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAC1D,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;YACxD,MAAM,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC;YACtC,8EAA8E;YAC9E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC1D,oEAAoE;YACpE,sEAAsE;YACtE,kCAAkC;YAClC,gBAAgB,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,cAAc;gBACpE,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,QAAQ,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;YACnC,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAC7D,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;gBAChD,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;gBAC3C,GAAG,IAAI,CAAC,eAAe,EAAE;aAC1B,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,QAAQ,EAAE,CAAC;QAEjC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC3B,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACrF,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;QAElF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YAEtC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gBACjC,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,2BAA2B;gBAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;gBACvD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;wBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;qBACtB,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YACnC,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4BAA4B;YAC5B,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,KAAK,CAAC;YACxC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,MAAkB,EAAE,MAAkB;QACtD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,2BAA2B,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,iCAAiC;QACjC,MAAM,SAAS,GAAsB;YACnC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS;SAC3C,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtC,yCAAyC;QACzC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG;gBACZ,MAAM,EAAE,OAAO;gBACf,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAClC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,wBAAwB,EAAE,IAAI,CAAC,MAAM,CAAC,wBAAwB;aAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,cAAgC,EAChC,MAAoB;QAEpB,OAAO,IAAI,CAAC,yBAAyB,CAAC,cAAc,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACK,KAAK,CAAC,yBAAyB,CACrC,cAAgC,EAChC,UAA+B,EAC/B,MAAoB,EACpB,gBAAgB,GAAqB,cAAc,EACnD,OAAO,GAA6B,EAAE;QAEtC,0EAA0E;QAC1E,oEAAoE;QACpE,+DAA+D;QAC/D,yEAAyE;QACzE,wEAAwE;QACxE,kEAAkE;QAClE,gCAAgC;QAC/B,IAAI,CAAC,cAAoF;aACvF,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAI,IAAI,CAAC,cAA6D;aACjF,WAAW,EAAE,EAGf,CAAC;QACF,MAAM,SAAS,GAAG,QAAQ,EAAE,kBAAkB,EAAE,EAAE,KAAK,IAAI,CAAC;QAC5D,MAAM,2BAA2B,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;aACnD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;aACtD,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,mBAAmB,GAAG,SAAS;YACnC,CAAC,CAAC,UAAU,CAAC;gBACT,KAAK,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;gBAC7D,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CAAC;aAC5D,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACnE,MAAM,EACN,UAAU,EACV,mBAAmB,IAAI,OAAO,CAAC,MAAM;YACnC,CAAC,CAAC;gBACE,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,4BAA4B,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrF,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5C;YACH,CAAC,CAAC,SAAS,CACd,CAAC;QAEF,2EAA2E;QAC3E,mEAAmE;QACnE,uEAAuE;QACvE,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,oEAAoE;QACpE,yEAAyE;QACzE,uEAAuE;QACvE,qBAAqB;QACrB,QAAQ,GAAG,QAAQ;aAChB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,GAAG,CAAC;YACJ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;YACvB,kEAAkE;YAClE,mEAAmE;YACnE,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAClG;SACF,CAAC,CAAC;aACF,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,8EAA8E;QAC9E,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAE3C,mEAAmE;QACnE,wEAAwE;QACxE,0EAA0E;QAC1E,sEAAsE;QACtE,sEAAsE;QACtE,wEAAwE;QACxE,yEAAyE;QACzE,0EAA0E;QAC1E,kBAAkB;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC7B,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,cAAc;QACd,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,KAAK,SAAS;eACpD,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QAEpE,oEAAoE;QACpE,sEAAsE;QACtE,yEAAyE;QACzE,uEAAuE;QACvE,wEAAwE;QACxE,2DAA2D;QAC3D,IAAI,cAA6C,CAAC;QAClD,IAAI,WAAW,EAAE,CAAC;YAChB,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3F,+DAA+D;YAC/D,4EAA4E;YAC5E,wEAAwE;YACxE,QAAQ,GAAG,CAAC,GAAG,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;YACzC,cAAc,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,OAAO,GAAsB;YACjC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC;YACvD,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;YAChD,KAAK,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC7D,GAAG,IAAI,CAAC,eAAe,EAAE;YACzB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,UAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACK,eAAe;QAErB,OAAO;YACL,MAAM,EAAE;gBACN,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACxE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;aAChE;YACD,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,CAAC,IAAI,CAAC,kBAAkB,IAAI,EAAE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC/E,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC;YACnE,oBAAoB,EAAE,IAAI,CAAC,IAAI;SAChC,CAAC;IACJ,CAAC;IAED;0EACsE;IACtE,KAAK,CAAC,sBAAsB,CAC1B,cAAgC,EAChC,UAA+B,EAC/B,MAAoB,EACpB,gBAAgB,GAAqB,cAAc,EACnD,OAAO,GAA6B,EAAE;QAEtC,OAAO,CAAC,MAAM,IAAI,CAAC,yBAAyB,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IACvH,CAAC;IAED;;yBAEqB;IACb,gBAAgB,GAAsE,IAAI,CAAC;IAE3F,oBAAoB;QAC1B,MAAM,KAAK,GAAwB,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC;QAC5E,MAAM,EAAE,GAAG,IAAI,CAAC,cAAyC,CAAC;QAC1D,IAAI,OAAO,EAAE,CAAC,cAAc,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,CAAC,cAAc,EAAyC,CAAC;YAC1E,IAAI,IAAI,CAAC,gBAAgB,EAAE,MAAM,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACjF,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,gBAAgB,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,IAAI,CAAC,IAAI,4DAA4D,EAAE,KAAK,CAAC,CAAC;YACnH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAC7B,cAAgC,EAChC,UAA+B,EAC/B,MAAoB,EACpB,gBAAgB,GAAqB,cAAc,EACnD,OAAO,GAA6B,EAAE;QAEtC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,IAAI,iCAAiC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,sEAAsE;QACtE,8DAA8D;QAC9D,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;QAEvC,yEAAyE;QACzE,yEAAyE;QACzE,uEAAuE;QACvE,sEAAsE;QACtE,0EAA0E;QAC1E,wEAAwE;QACxE,qEAAqE;QACrE,qEAAqE;QACrE,mEAAmE;QACnE,oEAAoE;QACpE,uEAAuE;QACvE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,2EAA2E;QAC3E,yEAAyE;QACzE,oEAAoE;QACpE,uEAAuE;QACvE,yEAAyE;QACzE,mEAAmE;QACnE,oEAAoE;QACpE,iEAAiE;QACjE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;QAC/B,wEAAwE;QACxE,uEAAuE;QACvE,wEAAwE;QACxE,oEAAoE;QACpE,qEAAqE;QACrE,uEAAuE;QACvE,gEAAgE;QAChE,uCAAuC;QACvC,IAAI,CAAC,yBAAyB,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;QAEpC,mEAAmE;QACnE,0EAA0E;QAC1E,kDAAkD;QAClD,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAC7E,GAAG,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;QACvG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE/E,MAAM,YAAY,GAAI,IAAI,CAAC,cAA6D;aACrF,WAAW,EAAE,EAGf,CAAC;QACF,MAAM,SAAS,GAAG,YAAY,EAAE,kBAAkB,EAAE,EAAE,KAAK,IAAI,CAAC;QAChE,MAAM,OAAO,GAAmE,EAAE,CAAC;QACnF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;YAC3B,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,OAAoD,CAAC;YACvE,SAAS,CAAC,kBAAkB,GAAG,CAAC,OAAO,EAAE,EAAE;gBACzC,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,EAAE,CAAC;gBAChF,YAAY,CAAC,wBAAyB,CAAC;oBACrC,YAAY;oBACZ,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,UAAU;iBACX,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;YACvD,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE;YACnD,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,KAAK;YACjB,SAAS,EAAE,IAAI;YACf,qEAAqE;YACrE,qEAAqE;YACrE,oEAAoE;YACpE,mEAAmE;YACnE,kEAAkE;YAClE,mEAAmE;YACnE,wEAAwE;YACxE,8DAA8D;YAC9D,IAAI,cAAc;gBAChB,OAAO,KAAK,CAAC,eAAe,CAAC,mBAAmB,IAAI,KAAK,CAAC,eAAe,CAAC,UAAU;oBAClF,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,OAAO,IAAI,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM;YACN,OAAO;YACP,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,SAAS;gBACX,CAAC,CAAC;oBACE,gBAAgB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE;oBACvC,oBAAoB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC;iBAC/E;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC;IAED;;;gFAG4E;IACpE,qBAAqB;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,MAAM,QAAQ,GAAI,IAAI,CAAC,cAA6D;aACjF,WAAW,EAAE,EAA4E,CAAC;QAC7F,KAAK,MAAM,EAAE,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CACX,gBAAgB,IAAI,CAAC,IAAI,4BAA4B,YAAY,uCAAuC,CACzG,CAAC;YACF,IAAI,CAAC;gBACH,QAAQ,EAAE,qBAAqB,EAAE,CAAC,YAAY,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,IAAI,4BAA4B,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3F,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,KAAiB,EAAE,MAAsB,EAAE,wBAAkC;QAChG,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;QACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;gBACnB,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;IAC1G,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,OAAuB,EAAE,QAA0B;QACtE,qEAAqE;QACrE,wEAAwE;QACxE,mEAAmE;QACnE,yEAAyE;QACzE,wEAAwE;QACxE,kEAAkE;QAClE,sEAAsE;QACtE,mEAAmE;QACnE,yEAAyE;QACzE,wEAAwE;QACxE,qEAAqE;QACrE,EAAE;QACF,wEAAwE;QACxE,iEAAiE;QACjE,qDAAqD;QACrD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,CAC/D,EAAE,CAAC;YACF,OAAO,CAAC,KAAK,CACX,6BAA6B,IAAI,CAAC,IAAI,gDAAgD;gBACtF,YAAY,OAAO,CAAC,MAAM,6DAA6D;gBACvF,0DAA0D,CAC3D,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAsB;QACjC,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;sDAMkD;IAC1C,cAAc,CAAkC;IAExD;;;;;kDAK8C;IACtC,kBAAkB,CAAkC;IAE5D;;;;;;;;;OASG;IACH,YAAY,CAAC,MAAe;QAC1B,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC,cAAc,GAAG,EAAE,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,kBAAkB,GAAG,EAAE,MAAM,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IAED;6DACyD;IACzD,qBAAqB;QACnB,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACpC,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;0EAKsE;IACtE,UAAU;QACR,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,mBAAmB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IACpF,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YAC/C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACK,iBAAiB,CAAC,gBAAgC;QACxD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QAED,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAClD,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,yDAAyD,CAAC,CAAC;QAEhH,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc,CAAC,MAAe;QAC5B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACvC,CAAC;QAED,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAClD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACzD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACvC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,OAA0B,EAC1B,MAA+B;IAC/B,wEAAwE;IACxE,UAA4C;QAE5C,IAAI,QAAQ,GAAG,MAAM,EAAE,OAAO;YAC5B,CAAC,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,MAAM,EAAE,MAAe,EAAE;YACrD,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,uEAAuE;QACvE,+DAA+D;QAC/D,IAAI,cAAyE,CAAC;QAC9E,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACtE,mEAAmE;YACnE,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,GAAG,EAAE,CAAC;gBACR,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAChC,qEAAqE;gBACrE,kEAAkE;gBAClE,oEAAoE;gBACpE,oDAAoD;gBACpD,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;gBACjC,QAAQ,GAAG,MAAM,EAAE,OAAO;oBACxB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE;oBACjE,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,oEAAoE;YACpE,IAAI,CAAC;gBACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,IAAI,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACjG,CAAC;YACD,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC;YACrD,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;YACpF,OAAO;gBACL,SAAS;gBACT,aAAa;gBACb,KAAK,EAAE,QAAQ,CAAC,YAAY;gBAC5B,UAAU,EAAE,OAAO;gBACnB,OAAO,EAAE,IAAI;gBACb,WAAW,EAAE,QAAQ,CAAC,MAAM;aAC7B,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;QAC5F,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC;QACrE,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,KAAK,CAAC;QACxC,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QACvD,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAE7E,oCAAoC;QACpC,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAExE,OAAO;YACL,SAAS;YACT,aAAa;YACb,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,KAAK,EAAE,cAAc,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxC,GAAG,QAAQ,CAAC,KAAK;gBACjB,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW;gBACpE,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY;aACxE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK;YAClB,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAAC,OAAuB;QAIvD,MAAM,SAAS,GAAe,EAAE,CAAC;QACjC,MAAM,aAAa,GAAmB,EAAE,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACjC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC;IACtC,CAAC;IAEO,uBAAuB,CAAC,OAA4B;QAC1D,yEAAyE;QACzE,sEAAsE;QACtE,4DAA4D;QAC5D,EAAE;QACF,yEAAyE;QACzE,wEAAwE;QACxE,oEAAoE;QACpE,wDAAwD;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,aAAsB;YAC5B,SAAS,EAAE,CAAC,CAAC,EAAE;YACf,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;gBACvB,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,oCAAoC,CAAC;gBAC7F,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,EAAE,oCAAoC,CAAC;YACtE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;SAC1B,CAAC,CAAC,CAAC;QAEJ,OAAO,CAAC;gBACN,WAAW,EAAE,MAAM;gBACnB,OAAO;aACR,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/api/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,OAAO,KAAK,EACV,eAAe,EA8BhB,MAAM,YAAY,CAAC;AAEpB,cAAc,YAAY,CAAC;AAsB3B;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,OAAO,CAA6B;IAC5C,uFAAuF;IACvF,OAAO,CAAC,eAAe,CAAU;IAEjC;;;;;OAKG;IACH,OAAO,KAAK,aAAa,GAIxB;IAED,gDAAgD;IAChD,OAAO,CAAC,mBAAmB,CAA0C;IACrE,uCAAuC;IACvC,OAAO,CAAC,wBAAwB,CAA+C;IAE/E,YAAY,SAAS,EAAE,cAAc,EAAE,MAAM,GAAE,eAAoB,EAQlE;IAED;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAgD3B;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC1B;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAMD,OAAO,CAAC,gBAAgB;YAkCV,mBAAmB;IAgCjC,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,gBAAgB;YAeV,cAAc;IAgI5B;yEACqE;IACrE,OAAO,CAAC,iBAAiB;YAYX,cAAc;YAiBd,cAAc;YAsBd,mBAAmB;YAWnB,iBAAiB;YAajB,aAAa;YAYb,eAAe;YAoBf,eAAe;YA8Bf,gBAAgB;YAIhB,eAAe;YAyBf,OAAO;YAoBP,OAAO;IAoBrB,OAAO,CAAC,YAAY;YAYN,YAAY;YAcZ,eAAe;YA+Bf,aAAa;YAcb,cAAc;YAYd,cAAc;YAsBd,cAAc;YA2Cd,eAAe;YAef,gBAAgB;YAShB,mBAAmB;YAanB,kBAAkB;YAgBlB,aAAa;YASb,gBAAgB;YAahB,eAAe;YAYf,kBAAkB;IAmDhC,OAAO,CAAC,iBAAiB;YAkIX,iBAAiB;YA8DjB,mBAAmB;IA0BjC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAiC1B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/api/server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAItD,OAAO,KAAK,EACV,eAAe,EA8BhB,MAAM,YAAY,CAAC;AAEpB,cAAc,YAAY,CAAC;AAsB3B;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,OAAO,CAA6B;IAC5C,uFAAuF;IACvF,OAAO,CAAC,eAAe,CAAU;IAEjC;;;;;OAKG;IACH,OAAO,KAAK,aAAa,GAIxB;IAED,gDAAgD;IAChD,OAAO,CAAC,mBAAmB,CAA0C;IACrE,uCAAuC;IACvC,OAAO,CAAC,wBAAwB,CAA+C;IAE/E,YAAY,SAAS,EAAE,cAAc,EAAE,MAAM,GAAE,eAAoB,EAQlE;IAED;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAgD3B;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC1B;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,MAAM,CAEhB;IAMD,OAAO,CAAC,gBAAgB;YAkCV,mBAAmB;IAgCjC,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,gBAAgB;YAeV,cAAc;IAgI5B;yEACqE;IACrE,OAAO,CAAC,iBAAiB;YAYX,cAAc;YAuBd,cAAc;YAsBd,mBAAmB;YAWnB,iBAAiB;YAajB,aAAa;YAYb,eAAe;YAoBf,eAAe;YA8Bf,gBAAgB;YAIhB,eAAe;YAyBf,OAAO;YAkBP,OAAO;IAkBrB,OAAO,CAAC,YAAY;YAYN,YAAY;YAcZ,eAAe;YA+Bf,aAAa;YAcb,cAAc;YAYd,cAAc;YAsBd,cAAc;YA2Cd,eAAe;YAef,gBAAgB;YAShB,mBAAmB;YAanB,kBAAkB;YAgBlB,aAAa;YASb,gBAAgB;YAahB,eAAe;YAYf,kBAAkB;IAmDhC,OAAO,CAAC,iBAAiB;YAkIX,iBAAiB;YA8DjB,mBAAmB;IA0BjC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAiC1B"}
@@ -401,6 +401,12 @@ export class ApiServer {
401
401
  if (!params.participant || !params.content) {
402
402
  throw new Error('participant and content are required');
403
403
  }
404
+ // ApiModule stores the message as one text block, which context-manager
405
+ // refuses unless its text is a string, so content that isn't text is
406
+ // refused here, where the caller hears it, rather than at dispatch.
407
+ if (typeof params.content !== 'string') {
408
+ throw new Error('content must be text');
409
+ }
404
410
  // Push api:message event for the ApiModule to handle
405
411
  this.framework.pushEvent({
406
412
  type: 'api:message',
@@ -478,14 +484,14 @@ export class ApiServer {
478
484
  throw new Error('name is required');
479
485
  }
480
486
  const from = this.currentBranch;
481
- // The framework switches the store, starts the delivery of its Discord
482
- // awareness marks behind the data-plane gate, and re-materializes the
483
- // config mount. It refuses during a live turn or once stop() has begun,
484
- // and stop() waits for one already running. It moves the store once any
485
- // maintenance already running has finished, so the move can come after
486
- // this call returns. The event names this switch's own move, from the
487
- // branch read here to the one it was asked for: another switch can move
488
- // the store again before this one continues.
487
+ // The framework switches the store and re-materializes the config mount;
488
+ // a branch switch adds or removes no Discord awareness marks. It refuses
489
+ // during a live turn or once stop() has begun, and stop() waits for one
490
+ // already running. It moves the store once any maintenance already
491
+ // running has finished, so the move can come after this call returns.
492
+ // The event names this switch's own move, from the branch read here to
493
+ // the one it was asked for: another switch can move the store again
494
+ // before this one continues.
489
495
  let switched = false;
490
496
  try {
491
497
  await this.framework.switchBranch(params.name);
@@ -527,8 +533,6 @@ export class ApiServer {
527
533
  }
528
534
  const result = this.framework.undoLastTurn(params.agentName);
529
535
  if (result.undone) {
530
- // Marks follow behind the data-plane gate; the undo doesn't wait for Discord.
531
- this.framework.startDiscordAwarenessDelivery('undo', params.agentName);
532
536
  this.broadcast('branch:switched', {
533
537
  from: result.fromBranch,
534
538
  to: result.toBranch,
@@ -543,8 +547,6 @@ export class ApiServer {
543
547
  }
544
548
  const result = this.framework.redo(params.agentName);
545
549
  if (result.redone) {
546
- // Marks follow behind the data-plane gate; the redo doesn't wait for Discord.
547
- this.framework.startDiscordAwarenessDelivery('redo', params.agentName);
548
550
  this.broadcast('branch:switched', {
549
551
  from: result.fromBranch,
550
552
  to: result.toBranch,
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/api/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/api/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,177 @@
1
+ /** What the child sets once, before any script code runs. */
2
+ export interface EngineLimits {
3
+ /**
4
+ * The linear memory's maximum, the guest's budget: a whole number of 64 KiB pages, from
5
+ * `MIN_MEMORY_BYTES` to `MAX_MEMORY_BYTES`. The engine's own stack and data take its first ~1.1 MiB, and
6
+ * QuickJS's allocation limit sits a margin below the rest, so that a script reaching it gets a
7
+ * catchable out-of-memory error rather than a failed allocation inside the engine.
8
+ */
9
+ memoryMaxBytes: number;
10
+ /** QuickJS's stack limit, at most `MAX_STACK_BYTES`; `DEFAULT_STACK_BYTES` when left out. */
11
+ maxStackBytes?: number;
12
+ }
13
+ /**
14
+ * The four imports, as slots the child fills. Each is called synchronously from inside the
15
+ * engine, so none may await, and none may call back into the engine: a call into it from a slot
16
+ * throws an `EngineError`. A slot that throws ends the run: the call in progress throws that
17
+ * error, wrapped as an `EngineError`, and no slot is called again but `supervise()`.
18
+ */
19
+ export interface EngineSlots {
20
+ /**
21
+ * The guest called `__host(name, argsJson)`, which returned a pending promise to the guest.
22
+ * `callId` names that promise for `settle`. Ids are the engine's, 1, 2, 3 and on.
23
+ */
24
+ hostCall(callId: number, name: string, argsJson: string): void;
25
+ /**
26
+ * Called while the guest runs, every few thousand of its operations. Return true to stop it for
27
+ * good: the engine doesn't ask again, the call in progress answers `interrupted`, and so does
28
+ * every call after, with two exceptions. A stop in the jobs that reading the script's ending
29
+ * queued, after the ending was read whole, lets that call answer the ending, and the calls after
30
+ * it answer `interrupted`. And a run answered `failed` stays so, a stop while its exception is
31
+ * read included; a throw as the run starts is the script's own ending, answered `rejected`, which
32
+ * a stop while it's read turns into `interrupted`, as for any rejection.
33
+ */
34
+ interrupt(): boolean;
35
+ /**
36
+ * Called at every interrupt check, before `interrupt()` is asked, and after it has said stop or a
37
+ * slot has failed, when it's asked no more: the child's watch over its own process, such as its
38
+ * parent going, which no stop or failure ends, since a script can keep a stop from landing. It
39
+ * returns nothing: a stop it calls for comes through `interrupt()`. One that throws ends the run
40
+ * as any slot's failure, and is still called at the checks after.
41
+ */
42
+ supervise(): void;
43
+ /** The guest called `__output(stream, text)`: stream 1 is out, 2 is err. */
44
+ output(stream: 1 | 2, text: string): void;
45
+ }
46
+ /** How a call into the guest left it. */
47
+ export type RunState =
48
+ /** The queue is empty and the script hasn't settled: it awaits a call, or a promise nothing settles. */
49
+ {
50
+ kind: 'pending';
51
+ }
52
+ /**
53
+ * The script settled. `json` is JSON.stringify of its value, undefined when that gives none. It's
54
+ * taken once: every later answer of this state carries the same text.
55
+ */
56
+ | {
57
+ kind: 'fulfilled';
58
+ json: string | undefined;
59
+ }
60
+ /**
61
+ * The prelude or the script threw, or its value couldn't be stringified (a BigInt, a cycle).
62
+ * The fields are what was thrown: an Error's name, message and stack. A thrown value with no
63
+ * message of its own has name `''`, and as its message an object's JSON, or else its string
64
+ * form; a Symbol, which has none here, leaves the message `''`.
65
+ */
66
+ | {
67
+ kind: 'rejected';
68
+ name: string;
69
+ message: string;
70
+ stack?: string;
71
+ }
72
+ /**
73
+ * Once the script was running, an exception escaped its promises and ended the run, even after
74
+ * its own ending: a callback it gave `queueMicrotask` or a `FinalizationRegistry` threw, or a job
75
+ * failed in the engine itself; or the engine couldn't settle a call. The fields are the
76
+ * exception's, read as the engine reads a `rejected` one (an Error's name, message and stack; a
77
+ * value with no message of its own, its JSON or string form), less any part a stop cut off while
78
+ * it was read: a stop ends the read, and nothing after it is read. Every later call answers
79
+ * the same, a stop after it included, and no later result reaches the script.
80
+ */
81
+ | {
82
+ kind: 'failed';
83
+ name: string;
84
+ message: string;
85
+ stack?: string;
86
+ }
87
+ /** `interrupt()` returned true while it ran. */
88
+ | {
89
+ kind: 'interrupted';
90
+ };
91
+ /**
92
+ * What `settle` answers: the run's state; `unfit` when the guest couldn't take the result, for
93
+ * want of memory to copy it in or of memory or stack to parse it, and the call took the child's
94
+ * own error instead; and `dropped` when neither was handed over, because the run had been stopped
95
+ * or had failed before this settle (`interrupted` or `failed`), or the call of the promise's
96
+ * resolve or reject function was stopped or failed before it ran. Without `dropped`, that function
97
+ * ran with the result or the child's error, and the script's own code runs with it: a `then`
98
+ * getter it put on Object.prototype, which can reject the promise instead, and its continuations.
99
+ * A stop or failure in that code, or in the jobs after, leaves it handed over. The two are never
100
+ * both set.
101
+ */
102
+ export type SettleState = RunState & {
103
+ unfit?: true;
104
+ dropped?: true;
105
+ };
106
+ export interface Engine {
107
+ /**
108
+ * Evaluates the prelude as a global script, then the script as global code with top-level
109
+ * await, then runs pending jobs until none is left, the guest is interrupted or the run fails.
110
+ * The script's value is that of its last expression statement. Called once.
111
+ */
112
+ start(prelude: string, script: string, filename: string): RunState;
113
+ /**
114
+ * Settles call `callId`, then runs pending jobs as `start` does. With `ok`, the call's promise
115
+ * resolves to the parsed JSON; otherwise it rejects with it, and the prelude makes an Error of
116
+ * it. A result the guest can't take, for want of memory to copy it in or of memory or stack to
117
+ * parse it, nested deeper than `MAX_RESULT_DEPTH`, or not JSON, rejects it with `unfitJson`
118
+ * parsed, the child's own error (`ResultTooLarge`), and the answer has `unfit: true`: the call
119
+ * took effect, and an error at its await would read as a failed call. Allowed after `fulfilled`,
120
+ * for calls still in flight when a script returned. Throws for an id that isn't pending.
121
+ *
122
+ * Once a call has answered the script's ending, later calls answer it again, unless something
123
+ * came after it: a stop answers `interrupted`, a slot's failure throws, and an exception that
124
+ * escapes the script's promises answers `failed`. One that escapes the jobs reading the ending
125
+ * queued is answered by the call that read it, in the ending's place.
126
+ */
127
+ settle(callId: number, ok: boolean, json: string | Uint8Array, unfitJson: string): SettleState;
128
+ /** Frees the engine's runtime, unless the module trapped, which leaves it as it is. Nothing may be called after it. */
129
+ dispose(): void;
130
+ }
131
+ /** The engine failed, rather than the script: a slot threw, the engine crashed, or it was misused. */
132
+ export declare class EngineError extends Error {
133
+ constructor(message: string, options?: {
134
+ cause?: unknown;
135
+ });
136
+ }
137
+ export declare const MIN_MEMORY_BYTES: number;
138
+ /**
139
+ * 2 GiB, so that every address in linear memory fits the signed 32-bit numbers the module's
140
+ * pointers arrive as, and no conversion is needed where the host reads them.
141
+ */
142
+ export declare const MAX_MEMORY_BYTES: number;
143
+ /**
144
+ * The most QuickJS's stack limit may be, and its default. QuickJS measures its stack in the
145
+ * module's linear memory, but each level of a script's recursion through calls also takes the
146
+ * host's own stack, two to three times as much in the 31 ways to recurse that were measured, and
147
+ * under Node that stack is about 984 KiB. Recursing through a getter, a proxy trap or a built-in
148
+ * that calls back (map, toString, for...of), the host's stack ran out first, crashing the engine,
149
+ * once QuickJS's limit passed about 320 KiB. At this limit, QuickJS's catchable RangeError comes
150
+ * first in each of the 31, with about two fifths of the host's stack to spare. Bun's stack is
151
+ * larger, and the same limit holds there, so recursion through calls ends the same way on either.
152
+ *
153
+ * Recursion in C that the check barely sees isn't held to it, and under Node crashes the run, the
154
+ * host's stack running out: a script's text nesting function expressions 300 deep or brackets 700
155
+ * deep (the parser), a chain of 3,000 iterator helpers, and the script's own data nested about
156
+ * 5,000 deep in JSON.stringify (4,000 with V8's optimizing tier alone), as a call's arguments
157
+ * are, or about 8,000 deep in JSON.parse (5,000; see MAX_RESULT_DEPTH). Under Bun, whose stack
158
+ * is larger, QuickJS's check ends JSON's recursion first, with a RangeError the script can catch,
159
+ * from about 15,000 deep, though a parse nested 22,000 deep still runs Bun's stack out. Each
160
+ * iterator helper's next calls the one before directly, past QuickJS's checks, so under Bun a
161
+ * chain of 30,000 runs the module's own 1 MiB stack out instead, and the module traps: the stack
162
+ * sits first in its memory, so an overflow wraps below address 0 to past the memory's end.
163
+ */
164
+ export declare const MAX_STACK_BYTES: number;
165
+ export declare const DEFAULT_STACK_BYTES: number;
166
+ /**
167
+ * The deepest nesting of arrays and objects a result may have. QuickJS's stack check measures the
168
+ * module's own stack, which the C recursion of JSON's parse and stringify barely uses, so under
169
+ * Node a parse nested about 8,000 deep (5,000 with V8's optimizing tier alone) overflows the
170
+ * host's stack first, and the engine crashes (under Bun, QuickJS's check comes first). A deeper
171
+ * result is unfit, since the call took effect. A script's own data isn't held to this, and nested
172
+ * thousands deep, it can crash its own run (see MAX_STACK_BYTES).
173
+ */
174
+ export declare const MAX_RESULT_DEPTH = 2000;
175
+ /** Instantiates the committed module with these limits and slots. One instance per child. */
176
+ export declare function loadEngine(limits: EngineLimits, slots: EngineSlots): Promise<Engine>;
177
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/code-execution/engine.ts"],"names":[],"mappings":"AAcA,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/D;;;;;;;;OAQG;IACH,SAAS,IAAI,OAAO,CAAC;IACrB;;;;;;OAMG;IACH,SAAS,IAAI,IAAI,CAAC;IAClB,4EAA4E;IAC5E,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,yCAAyC;AACzC,MAAM,MAAM,QAAQ;AAClB,wGAAwG;AACtG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE;AACrB;;;GAGG;GACD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE;AACjD;;;;;GAKG;GACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AACrE;;;;;;;;GAQG;GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;AACnE,gDAAgD;GAC9C;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG;IAAE,KAAK,CAAC,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEtE,MAAM,WAAW,MAAM;IACrB;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IACnE;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC;IAC/F,uHAAuH;IACvH,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,sGAAsG;AACtG,qBAAa,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAGzD;CACF;AAKD,eAAO,MAAM,gBAAgB,QAAkB,CAAC;AAChD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,QAAqB,CAAC;AACnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,eAAe,QAAa,CAAC;AAC1C,eAAO,MAAM,mBAAmB,QAAkB,CAAC;AACnD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,OAAO,CAAC;AA2ErC,6FAA6F;AAC7F,wBAAsB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAqV1F"}