happy2 0.0.9 → 0.0.11

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 (235) hide show
  1. package/README.md +19 -0
  2. package/package.json +7 -3
  3. package/packages/happy2-server/PLUGINS.md +330 -0
  4. package/packages/happy2-server/README.md +28 -0
  5. package/packages/happy2-server/dist/index.d.ts +6 -0
  6. package/packages/happy2-server/dist/index.d.ts.map +1 -1
  7. package/packages/happy2-server/dist/index.js +4 -0
  8. package/packages/happy2-server/dist/index.js.map +1 -1
  9. package/packages/happy2-server/dist/modules/agents/daemon.d.ts +10 -13
  10. package/packages/happy2-server/dist/modules/agents/daemon.d.ts.map +1 -1
  11. package/packages/happy2-server/dist/modules/agents/daemon.js +19 -5
  12. package/packages/happy2-server/dist/modules/agents/daemon.js.map +1 -1
  13. package/packages/happy2-server/dist/modules/agents/service.d.ts +9 -1
  14. package/packages/happy2-server/dist/modules/agents/service.d.ts.map +1 -1
  15. package/packages/happy2-server/dist/modules/agents/service.js +59 -2
  16. package/packages/happy2-server/dist/modules/agents/service.js.map +1 -1
  17. package/packages/happy2-server/dist/modules/chat/types.d.ts +1 -1
  18. package/packages/happy2-server/dist/modules/chat/types.d.ts.map +1 -1
  19. package/packages/happy2-server/dist/modules/config/defaults.d.ts.map +1 -1
  20. package/packages/happy2-server/dist/modules/config/defaults.js +3 -0
  21. package/packages/happy2-server/dist/modules/config/defaults.js.map +1 -1
  22. package/packages/happy2-server/dist/modules/config/loader.d.ts.map +1 -1
  23. package/packages/happy2-server/dist/modules/config/loader.js +4 -0
  24. package/packages/happy2-server/dist/modules/config/loader.js.map +1 -1
  25. package/packages/happy2-server/dist/modules/config/paths.d.ts +1 -0
  26. package/packages/happy2-server/dist/modules/config/paths.d.ts.map +1 -1
  27. package/packages/happy2-server/dist/modules/config/paths.js +1 -0
  28. package/packages/happy2-server/dist/modules/config/paths.js.map +1 -1
  29. package/packages/happy2-server/dist/modules/config/paths.test.js +1 -0
  30. package/packages/happy2-server/dist/modules/config/paths.test.js.map +1 -1
  31. package/packages/happy2-server/dist/modules/config/type.d.ts +3 -0
  32. package/packages/happy2-server/dist/modules/config/type.d.ts.map +1 -1
  33. package/packages/happy2-server/dist/modules/integrations/transport.d.ts.map +1 -1
  34. package/packages/happy2-server/dist/modules/integrations/transport.js +8 -1
  35. package/packages/happy2-server/dist/modules/integrations/transport.js.map +1 -1
  36. package/packages/happy2-server/dist/modules/integrations/types.d.ts +2 -0
  37. package/packages/happy2-server/dist/modules/integrations/types.d.ts.map +1 -1
  38. package/packages/happy2-server/dist/modules/integrations/types.js.map +1 -1
  39. package/packages/happy2-server/dist/modules/plugin/catalog.d.ts +13 -0
  40. package/packages/happy2-server/dist/modules/plugin/catalog.d.ts.map +1 -0
  41. package/packages/happy2-server/dist/modules/plugin/catalog.js +359 -0
  42. package/packages/happy2-server/dist/modules/plugin/catalog.js.map +1 -0
  43. package/packages/happy2-server/dist/modules/plugin/catalog.test.d.ts +2 -0
  44. package/packages/happy2-server/dist/modules/plugin/catalog.test.d.ts.map +1 -0
  45. package/packages/happy2-server/dist/modules/plugin/catalog.test.js +139 -0
  46. package/packages/happy2-server/dist/modules/plugin/catalog.test.js.map +1 -0
  47. package/packages/happy2-server/dist/modules/plugin/functions.test.d.ts +2 -0
  48. package/packages/happy2-server/dist/modules/plugin/functions.test.d.ts.map +1 -0
  49. package/packages/happy2-server/dist/modules/plugin/functions.test.js +123 -0
  50. package/packages/happy2-server/dist/modules/plugin/functions.test.js.map +1 -0
  51. package/packages/happy2-server/dist/modules/plugin/httpBridge.d.ts +19 -0
  52. package/packages/happy2-server/dist/modules/plugin/httpBridge.d.ts.map +1 -0
  53. package/packages/happy2-server/dist/modules/plugin/httpBridge.js +206 -0
  54. package/packages/happy2-server/dist/modules/plugin/httpBridge.js.map +1 -0
  55. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.d.ts +3 -0
  56. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.d.ts.map +1 -0
  57. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js +47 -0
  58. package/packages/happy2-server/dist/modules/plugin/impl/asInstallation.js.map +1 -0
  59. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.d.ts +3 -0
  60. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.d.ts.map +1 -0
  61. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js +69 -0
  62. package/packages/happy2-server/dist/modules/plugin/impl/asPlugin.js.map +1 -0
  63. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.d.ts +288 -0
  64. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.d.ts.map +1 -0
  65. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.js +19 -0
  66. package/packages/happy2-server/dist/modules/plugin/impl/installationSelection.js.map +1 -0
  67. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.d.ts +3 -0
  68. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.d.ts.map +1 -0
  69. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js +52 -0
  70. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.js.map +1 -0
  71. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.d.ts +2 -0
  72. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.d.ts.map +1 -0
  73. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.js +17 -0
  74. package/packages/happy2-server/dist/modules/plugin/impl/installedManifest.test.js.map +1 -0
  75. package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.d.ts +3 -0
  76. package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.d.ts.map +1 -0
  77. package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.js +16 -0
  78. package/packages/happy2-server/dist/modules/plugin/impl/pluginFunctionResult.js.map +1 -0
  79. package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.d.ts +339 -0
  80. package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.d.ts.map +1 -0
  81. package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.js +22 -0
  82. package/packages/happy2-server/dist/modules/plugin/impl/pluginSelection.js.map +1 -0
  83. package/packages/happy2-server/dist/modules/plugin/index.d.ts +3 -0
  84. package/packages/happy2-server/dist/modules/plugin/index.d.ts.map +1 -0
  85. package/packages/happy2-server/dist/modules/plugin/index.js +3 -0
  86. package/packages/happy2-server/dist/modules/plugin/index.js.map +1 -0
  87. package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts +15 -0
  88. package/packages/happy2-server/dist/modules/plugin/packageStore.d.ts.map +1 -0
  89. package/packages/happy2-server/dist/modules/plugin/packageStore.js +90 -0
  90. package/packages/happy2-server/dist/modules/plugin/packageStore.js.map +1 -0
  91. package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.d.ts +7 -0
  92. package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.d.ts.map +1 -0
  93. package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.js +9 -0
  94. package/packages/happy2-server/dist/modules/plugin/pluginAuthorizeManagement.js.map +1 -0
  95. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.d.ts +9 -0
  96. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.d.ts.map +1 -0
  97. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js +50 -0
  98. package/packages/happy2-server/dist/modules/plugin/pluginCatalogList.js.map +1 -0
  99. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.d.ts +9 -0
  100. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.d.ts.map +1 -0
  101. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.js +15 -0
  102. package/packages/happy2-server/dist/modules/plugin/pluginFindBySource.js.map +1 -0
  103. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.d.ts +23 -0
  104. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.d.ts.map +1 -0
  105. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.js +54 -0
  106. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultAcquire.js.map +1 -0
  107. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.d.ts +13 -0
  108. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.d.ts.map +1 -0
  109. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.js +37 -0
  110. package/packages/happy2-server/dist/modules/plugin/pluginFunctionResultComplete.js.map +1 -0
  111. package/packages/happy2-server/dist/modules/plugin/pluginGetImage.d.ts +17 -0
  112. package/packages/happy2-server/dist/modules/plugin/pluginGetImage.d.ts.map +1 -0
  113. package/packages/happy2-server/dist/modules/plugin/pluginGetImage.js +29 -0
  114. package/packages/happy2-server/dist/modules/plugin/pluginGetImage.js.map +1 -0
  115. package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts +27 -0
  116. package/packages/happy2-server/dist/modules/plugin/pluginInstall.d.ts.map +1 -0
  117. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js +175 -0
  118. package/packages/happy2-server/dist/modules/plugin/pluginInstall.js.map +1 -0
  119. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.d.ts +9 -0
  120. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.d.ts.map +1 -0
  121. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js +111 -0
  122. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetRuntimeConfiguration.js.map +1 -0
  123. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.d.ts +11 -0
  124. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.d.ts.map +1 -0
  125. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.js +18 -0
  126. package/packages/happy2-server/dist/modules/plugin/pluginInstallationGetStatus.js.map +1 -0
  127. package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.d.ts +8 -0
  128. package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.d.ts.map +1 -0
  129. package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.js +19 -0
  130. package/packages/happy2-server/dist/modules/plugin/pluginInstallationList.js.map +1 -0
  131. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.d.ts +7 -0
  132. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.d.ts.map +1 -0
  133. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.js +13 -0
  134. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListIds.js.map +1 -0
  135. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.d.ts +7 -0
  136. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.d.ts.map +1 -0
  137. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.js +16 -0
  138. package/packages/happy2-server/dist/modules/plugin/pluginInstallationListReadyMcpIds.js.map +1 -0
  139. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.d.ts +15 -0
  140. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.d.ts.map +1 -0
  141. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.js +37 -0
  142. package/packages/happy2-server/dist/modules/plugin/pluginInstallationUpdateStatus.js.map +1 -0
  143. package/packages/happy2-server/dist/modules/plugin/pluginList.d.ts +8 -0
  144. package/packages/happy2-server/dist/modules/plugin/pluginList.d.ts.map +1 -0
  145. package/packages/happy2-server/dist/modules/plugin/pluginList.js +17 -0
  146. package/packages/happy2-server/dist/modules/plugin/pluginList.js.map +1 -0
  147. package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.d.ts +14 -0
  148. package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.d.ts.map +1 -0
  149. package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.js +51 -0
  150. package/packages/happy2-server/dist/modules/plugin/pluginRemoveMissingBuiltins.js.map +1 -0
  151. package/packages/happy2-server/dist/modules/plugin/runtime.d.ts +37 -0
  152. package/packages/happy2-server/dist/modules/plugin/runtime.d.ts.map +1 -0
  153. package/packages/happy2-server/dist/modules/plugin/runtime.js +62 -0
  154. package/packages/happy2-server/dist/modules/plugin/runtime.js.map +1 -0
  155. package/packages/happy2-server/dist/modules/plugin/secrets.d.ts +17 -0
  156. package/packages/happy2-server/dist/modules/plugin/secrets.d.ts.map +1 -0
  157. package/packages/happy2-server/dist/modules/plugin/secrets.js +56 -0
  158. package/packages/happy2-server/dist/modules/plugin/secrets.js.map +1 -0
  159. package/packages/happy2-server/dist/modules/plugin/secrets.test.d.ts +2 -0
  160. package/packages/happy2-server/dist/modules/plugin/secrets.test.d.ts.map +1 -0
  161. package/packages/happy2-server/dist/modules/plugin/secrets.test.js +14 -0
  162. package/packages/happy2-server/dist/modules/plugin/secrets.test.js.map +1 -0
  163. package/packages/happy2-server/dist/modules/plugin/service.d.ts +52 -0
  164. package/packages/happy2-server/dist/modules/plugin/service.d.ts.map +1 -0
  165. package/packages/happy2-server/dist/modules/plugin/service.js +538 -0
  166. package/packages/happy2-server/dist/modules/plugin/service.js.map +1 -0
  167. package/packages/happy2-server/dist/modules/plugin/types.d.ts +157 -0
  168. package/packages/happy2-server/dist/modules/plugin/types.d.ts.map +1 -0
  169. package/packages/happy2-server/dist/modules/plugin/types.js +9 -0
  170. package/packages/happy2-server/dist/modules/plugin/types.js.map +1 -0
  171. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.d.ts +19 -0
  172. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.d.ts.map +1 -0
  173. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.js +97 -0
  174. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.js.map +1 -0
  175. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.d.ts +2 -0
  176. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.d.ts.map +1 -0
  177. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.js +74 -0
  178. package/packages/happy2-server/dist/modules/plugin/utils/ndjsonStreamTransport.test.js.map +1 -0
  179. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.d.ts +29 -0
  180. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.d.ts.map +1 -0
  181. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.js +126 -0
  182. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.js.map +1 -0
  183. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.d.ts +2 -0
  184. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.d.ts.map +1 -0
  185. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.js +75 -0
  186. package/packages/happy2-server/dist/modules/plugin/utils/remoteMcpTransport.test.js.map +1 -0
  187. package/packages/happy2-server/dist/modules/sandbox/index.d.ts +1 -1
  188. package/packages/happy2-server/dist/modules/sandbox/index.d.ts.map +1 -1
  189. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.d.ts +2 -1
  190. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.d.ts.map +1 -1
  191. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.js +117 -3
  192. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.js.map +1 -1
  193. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.test.js +81 -2
  194. package/packages/happy2-server/dist/modules/sandbox/localOciSandboxProvider.test.js.map +1 -1
  195. package/packages/happy2-server/dist/modules/sandbox/types.d.ts +8 -0
  196. package/packages/happy2-server/dist/modules/sandbox/types.d.ts.map +1 -1
  197. package/packages/happy2-server/dist/modules/schema.d.ts +7486 -5588
  198. package/packages/happy2-server/dist/modules/schema.d.ts.map +1 -1
  199. package/packages/happy2-server/dist/modules/schema.js +72 -1
  200. package/packages/happy2-server/dist/modules/schema.js.map +1 -1
  201. package/packages/happy2-server/dist/modules/sync/syncGetDifference.d.ts.map +1 -1
  202. package/packages/happy2-server/dist/modules/sync/syncGetDifference.js +2 -0
  203. package/packages/happy2-server/dist/modules/sync/syncGetDifference.js.map +1 -1
  204. package/packages/happy2-server/dist/routes/plugins.d.ts +8 -0
  205. package/packages/happy2-server/dist/routes/plugins.d.ts.map +1 -0
  206. package/packages/happy2-server/dist/routes/plugins.js +186 -0
  207. package/packages/happy2-server/dist/routes/plugins.js.map +1 -0
  208. package/packages/happy2-server/dist/runner.js +45 -19
  209. package/packages/happy2-server/dist/runner.js.map +1 -1
  210. package/packages/happy2-server/dist/server.d.ts +6 -0
  211. package/packages/happy2-server/dist/server.d.ts.map +1 -1
  212. package/packages/happy2-server/dist/server.js +46 -3
  213. package/packages/happy2-server/dist/server.js.map +1 -1
  214. package/packages/happy2-server/dist/systemService.d.ts +48 -0
  215. package/packages/happy2-server/dist/systemService.d.ts.map +1 -0
  216. package/packages/happy2-server/dist/systemService.js +308 -0
  217. package/packages/happy2-server/dist/systemService.js.map +1 -0
  218. package/packages/happy2-server/dist/systemService.test.d.ts +2 -0
  219. package/packages/happy2-server/dist/systemService.test.d.ts.map +1 -0
  220. package/packages/happy2-server/dist/systemService.test.js +266 -0
  221. package/packages/happy2-server/dist/systemService.test.js.map +1 -0
  222. package/packages/happy2-server/dist/web/assets/index-9SGCQLg7.js +46 -0
  223. package/packages/happy2-server/dist/web/assets/{index-DZ1uRLgV.css → index-DWXBQDJB.css} +1 -1
  224. package/packages/happy2-server/dist/web/index.html +2 -2
  225. package/packages/happy2-server/drizzle/0020_plugins.sql +61 -0
  226. package/packages/happy2-server/drizzle/0021_plugin_function_results.sql +11 -0
  227. package/packages/happy2-server/drizzle/meta/_journal.json +14 -0
  228. package/packages/happy2-server/happy2.example.toml +5 -0
  229. package/packages/happy2-server/plugins/README.md +7 -0
  230. package/packages/happy2-server/plugins/hello/container/Dockerfile +6 -0
  231. package/packages/happy2-server/plugins/hello/plugin.json +16 -0
  232. package/packages/happy2-server/plugins/hello/plugin.png +0 -0
  233. package/packages/happy2-server/plugins/hello/server.mjs +75 -0
  234. package/packages/happy2-server/plugins/hello/skills/hello/SKILL.md +11 -0
  235. package/packages/happy2-server/dist/web/assets/index-DH1SOwNV.js +0 -46
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../sources/modules/agents/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../sources/modules/agents/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAwGnD,MAAM,OAAO,eAAe;IAKK,MAAM;IAJlB,4BAA4B,GAAG,IAAI,GAAG,EAAyB,CAAC;IACzE,KAAK,CAAU;IACf,KAAK,CAAiB;IAE9B,YAA6B,MAAuB;sBAAvB,MAAM;IAAoB,CAAC;IAExD,KAAK,CAAC,sBAAsB,CAAC,MAAoB;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACvC,KAAK,EACL,SAAS,EACT,SAAS,EACT,MAAM,CACT,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB;YAAE,OAAO;QAC5D,MAAM,IAAI,CAAC,gBAAgB,CACvB,OAAO,EACP,SAAS,EACT;YACI,QAAQ,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE;SACV,EACrC,MAAM,CACT,CAAC;IACN,CAAC;IAED,KAAK,CAAC,aAAa,CACf,GAAW,EACX,aAAqB,EACrB,MAAe,EACf,MAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACxC,MAAM,EACN,WAAW,EACX;YACI,GAAG;YACH,MAAM,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE;YACpE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,0EAA0E;YAC1E,0EAA0E;YAC1E,4EAA4E;YAC5E,cAAc,EAAE,aAAa;SACD,EAChC,MAAM,CACT,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,mBAAmB,CACrB,SAAiB,EACjB,MAAoB;QAEpB,OAAO,aAAa,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,YAAY,CACd,SAAiB,EACjB,MAAc,EACd,MAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACxC,OAAO,EACP,aAAa,kBAAkB,CAAC,SAAS,CAAC,SAAS,EACnD,EAAE,MAAM,EAAgC,EACxC,MAAM,CACT,CAAC;QACF,OAAO,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,SAAiB,EAAE,MAAoB;QAClE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,cAAc,KAAK,aAAa;YAAE,OAAO;QACrD,MAAM,IAAI,CAAC,gBAAgB,CACvB,OAAO,EACP,aAAa,kBAAkB,CAAC,SAAS,CAAC,cAAc,EACxD,EAAE,cAAc,EAAE,aAAa,EAAwC,EACvE,MAAM,CACT,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAoB;QAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACxC,KAAK,EACL,UAAU,EACV,SAAS,EACT,MAAM,CACT,CAAC;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc,CAChB,MAA6B,EAC7B,MAAoB;QAEpB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACxC,MAAM,EACN,UAAU,EACV,MAAM,EACN,MAAM,CACT,CAAC;QACF,OAAO,QAAQ,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,MAAoB;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CACxC,QAAQ,EACR,YAAY,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAC1C,SAAS,EACT,MAAM,CACT,CAAC;QACF,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,uBAAuB,CACzB,SAAiB,EACjB,QAA6C,EAC7C,MAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACvF,MAAM,cAAc,GAAG,QAAQ;aAC1B,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;aACtB,IAAI,CAAC,KAAK,IAAI,EAAE;YACb,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,QAAQ,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACnD,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACzC,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBACrC,MAAM,IAAI,CAAC,gBAAgB,CACvB,MAAM,EACN,aAAa,kBAAkB,CAAC,SAAS,CAAC,UAAU,EACpD,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAgC,EAC5D,MAAM,CACT,CAAC;YACN,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBAC9D,MAAM,IAAI,CAAC,gBAAgB,CACvB,QAAQ,EACR,aAAa,kBAAkB,CAAC,SAAS,CAAC,YAAY,kBAAkB,CAAC,QAAQ,CAAC,gBAAgB,EAClG,SAAS,EACT,MAAM,CACT,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;QACP,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACjE,IAAI,CAAC;YACD,MAAM,cAAc,CAAC;QACzB,CAAC;gBAAS,CAAC;YACP,IAAI,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,cAAc;gBACnE,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CACnB,KAAyB,EACzB,OAAiD,EACjD,MAAoB;QAEpB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS;YAAE,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,iBAAiB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACnF,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxD,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;gBAC1C,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzC,OAAO;YACX,CAAC;YACD,IACI,KAAK,YAAY,iBAAiB;gBAClC,CAAC,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,EACzD,CAAC;gBACC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3B,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,SAAiB,EACjB,KAAyB,EACzB,OAA2C,EAC3C,MAAoB;QAEpB,MAAM,IAAI,GACN,KAAK,KAAK,SAAS;YACf,CAAC,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,SAAS;YACrD,CAAC,CAAC,aAAa,kBAAkB,CAAC,SAAS,CAAC,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IACI,KAAK,YAAY,iBAAiB;gBAClC,CAAC,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,EACzD,CAAC;gBACC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3B,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAe,EAAE,MAAoB;QACxD,MAAM,IAAI,CAAC,gBAAgB,CACvB,MAAM,EACN,cAAc,EACd,EAAE,OAAO,EAAoC,EAC7C,MAAM,CACT,CAAC;IACN,CAAC;IAED,KAAK,CAAC,iBAAiB,CACnB,SAAiB,EACjB,MAAoB;QAEpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,OAAO;YACH,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM;YAC9C,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;SACrF,CAAC;IACN,CAAC;IAED,KAAK,CAAC,qBAAqB,CACvB,SAAiB,EACjB,IAAY,EACZ,MAAoB;QAEpB,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3E,KAAK,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAE,CAAC;YACjC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC;QAC/E,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,WAAW,CACb,SAAiB,EACjB,oBAA4B,EAC5B,IAAY,EACZ,MAAoB;QAEpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC3E,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,KAAK,IAAI,CACxE,CAAC;QACF,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;QACjD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5F,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,MAAM;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACvD,OAAO;YACH,KAAK,EACD,OAAO,CAAC,MAAM,KAAK,OAAO;gBACtB,CAAC,CAAC,mCAAmC;gBACrC,CAAC,CAAC,8CAA8C;YACxD,IAAI,EAAE,QAAQ;SACjB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,SAAiB,EACjB,IAAY,EACZ,aAAgD,EAChD,MAAoB;QAEpB,OAAO,IAAI,CAAC,gBAAgB,CACxB,MAAM,EACN,aAAa,kBAAkB,CAAC,SAAS,CAAC,WAAW,EACrD,EAAE,IAAI,EAAE,aAAa,EAAiC,EACtD,MAAM,CACT,CAAC;IACN,CAAC;IAED,KAAK,CAAC,uBAAuB,CACzB,SAAiB,EACjB,MAAc,EACd,UAAsC,EACtC,MAAoB;QAEpB,OAAO,IAAI,CAAC,gBAAgB,CACxB,MAAM,EACN,aAAa,kBAAkB,CAAC,SAAS,CAAC,wBAAwB,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAC9F,UAAmD,EACnD,MAAM,CACT,CAAC;IACN,CAAC;IAEO,OAAO,CAAC,SAAiB,EAAE,MAAoB;QACnD,OAAO,IAAI,CAAC,gBAAgB,CACxB,KAAK,EACL,aAAa,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAC5C,SAAS,EACT,MAAM,CACT,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC1B,MAAc,EACd,IAAY,EACZ,IAAc,EACd,MAAoB;QAEpB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IACI,KAAK,YAAY,iBAAiB;gBAClC,CAAC,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,EACzD,CAAC;gBACC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3B,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,WAAW;QACf,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;gBACvB,MAAM,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,OAAO;QACjB,IAAI,CAAC,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAAE,OAAO;QACjD,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1C,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;YACpD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAC/B,oBAAoB,EAAE,EAAE;YACxB,sBAAsB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YAC9C,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;SAC/C,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QACrC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAE,OAAO;YACjD,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IAC1E,CAAC;IAEO,KAAK,CAAC,OAAO;QACjB,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAiB,KAAK,EAAE,SAAS,CAAC,CAAC;YACpE,OAAO,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,OAAO,CACX,MAAc,EACd,IAAY,EACZ,IAAc,EACd,MAAoB;QAEpB,IAAI,CAAC,IAAI,CAAC,KAAK;YACX,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACrF,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtE,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,aAAa,GAAG,KAAK,CAAC;YAC1B,MAAM,MAAM,GAAG,CAAC,MAAkB,EAAE,EAAE;gBAClC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,EAAE,CAAC;YACb,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,WAAW,CACvB;gBACI,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,MAAM;gBACN,IAAI;gBACJ,OAAO,EAAE;oBACL,MAAM,EAAE,kBAAkB;oBAC1B,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;oBACrC,GAAG,CAAC,OAAO,KAAK,SAAS;wBACrB,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC;4BACI,cAAc,EAAE,iCAAiC;4BACjD,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC;yBAC/C,CAAC;iBACX;aACJ,EACD,CAAC,QAAQ,EAAE,EAAE;gBACT,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE,CAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACnE,CAAC;gBACF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACpB,aAAa,GAAG,IAAI,CAAC;oBACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxD,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;wBACtC,MAAM,CAAC,GAAG,EAAE,CACR,MAAM,CACF,IAAI,YAAY,CACZ,QAAQ,CAAC,UAAU,IAAI,GAAG,EAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAC1C,CACJ,CACJ,CAAC;wBACF,OAAO;oBACX,CAAC;oBACD,IAAI,CAAC;wBACD,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM,CAAC,CAAC,CAAC;oBACvE,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACb,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;oBAChC,CAAC;gBACL,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CACxB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CACvE,CAAC;gBACF,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACtB,IAAI,CAAC,aAAa;wBACd,MAAM,CAAC,GAAG,EAAE,CACR,MAAM,CAAC,IAAI,iBAAiB,CAAC,mCAAmC,CAAC,CAAC,CACrE,CAAC;gBACV,CAAC,CAAC,CAAC;YACP,CAAC,CACJ,CAAC;YACF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;YACrD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,CAC5B,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAC/E,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9E,IAAI,OAAO;gBAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,MAAM,CACV,IAAY,EACZ,OAAiD,EACjD,MAAoB;QAEpB,IAAI,CAAC,IAAI,CAAC,KAAK;YACX,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACrF,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,MAAkB,EAAE,EAAE;gBAClC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,EAAE,CAAC;YACb,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,WAAW,CACvB;gBACI,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,MAAM,EAAE,KAAK;gBACb,IAAI;gBACJ,OAAO,EAAE;oBACL,MAAM,EAAE,mBAAmB;oBAC3B,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;iBACxC;aACJ,EACD,CAAC,QAAQ,EAAE,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;oBACtC,MAAM,MAAM,GAAa,EAAE,CAAC;oBAC5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE,CAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACnE,CAAC;oBACF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACxD,MAAM,CAAC,GAAG,EAAE,CACR,MAAM,CACF,IAAI,YAAY,CACZ,QAAQ,CAAC,UAAU,IAAI,GAAG,EAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAC1C,CACJ,CACJ,CAAC;oBACN,CAAC,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBACD,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC7B,KAAK,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CACzD,GAAG,EAAE,CACD,MAAM,CAAC,GAAG,EAAE,CACR,MAAM,EAAE,OAAO;oBACX,CAAC,CAAC,OAAO,EAAE;oBACX,CAAC,CAAC,MAAM,CACF,IAAI,iBAAiB,CACjB,6CAA6C,CAChD,CACJ,CACV,EACL,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3D,CAAC;YACN,CAAC,CACJ,CAAC;YACF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;YACrD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,IAAI,MAAM,EAAE,OAAO;oBAAE,MAAM,CAAC,OAAO,CAAC,CAAC;;oBAChC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,aAAa,CACjB,IAAY,EACZ,KAAyB,EACzB,OAA2C,EAC3C,MAAoB;QAEpB,IAAI,CAAC,IAAI,CAAC,KAAK;YACX,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACrF,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnD,OAAO,IAAI,OAAO,CAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,MAAM,MAAM,GAAG,CAAC,MAAkB,EAAE,EAAE;gBAClC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,EAAE,CAAC;YACb,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,WAAW,CACvB;gBACI,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;gBAClC,MAAM,EAAE,KAAK;gBACb,IAAI;gBACJ,OAAO,EAAE;oBACL,MAAM,EAAE,mBAAmB;oBAC3B,aAAa,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE;iBACxC;aACJ,EACD,CAAC,QAAQ,EAAE,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;oBACtC,MAAM,MAAM,GAAa,EAAE,CAAC;oBAC5B,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAsB,EAAE,EAAE,CAC3C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CACnE,CAAC;oBACF,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBACxD,MAAM,CAAC,GAAG,EAAE,CACR,MAAM,CACF,IAAI,YAAY,CACZ,QAAQ,CAAC,UAAU,IAAI,GAAG,EAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,CAC1C,CACJ,CACJ,CAAC;oBACN,CAAC,CAAC,CAAC;oBACH,OAAO;gBACX,CAAC;gBACD,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC7B,KAAK,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CACjE,CAAC,MAAM,EAAE,EAAE,CACP,MAAM,CAAC,GAAG,EAAE,CACR,MAAM,EAAE,OAAO;oBACX,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;oBACjB,CAAC,CAAC,MAAM,CACF,IAAI,iBAAiB,CACjB,8CAA8C,CACjD,CACJ,CACV,EACL,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3D,CAAC;YACN,CAAC,CACJ,CAAC;YACF,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;YACrD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,IAAI,MAAM,EAAE,OAAO;oBAAE,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;;oBAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED,KAAK,UAAU,wBAAwB,CACnC,QAAgE,EAChE,OAAiD,EACjD,MAAoB;IAEpB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO;QAC5B,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,SAAS,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,KAAK,CAAC;gBAAE,MAAM;YACrD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,KAAK;gBAAE,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;AACL,CAAC;AAED,KAAK,UAAU,yBAAyB,CACpC,QAAgE,EAChE,KAAyB,EACzB,OAA2C,EAC3C,MAAoB;IAEpB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACjC,IAAI,MAAM,EAAE,OAAO;YAAE,OAAO,MAAM,CAAC;QACnC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,SAAS,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,QAAQ,EAAE,KAAK,KAAK,CAAC;gBAAE,MAAM;YACrD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,GAAG,KAAK,CAAC,EAAE,CAAC;QACtB,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAa;IACxC,IAAI,EAAsB,CAAC;IAC3B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,IAAI;YAAE,EAAE,GAAG,KAAK,CAAC;QAC/B,IAAI,KAAK,KAAK,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC;QAC3C,MAAM,IAAI,iBAAiB,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC;IAClF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAa,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IACzC,IAAI,EAAsB,CAAC;IAC3B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC9D,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,IAAI;YAAE,EAAE,GAAG,KAAK,CAAC;QAC/B,IAAI,KAAK,KAAK,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAa,CAAC;IACtD,IAAI,KAAK,CAAC,EAAE,KAAK,EAAE;QACf,MAAM,IAAI,iBAAiB,CAAC,qDAAqD,CAAC,CAAC;IACvF,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAC9C,OAAO,CACH,KAAK,YAAY,iBAAiB;QAClC,CAAC,KAAK,YAAY,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CACnF,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,QAA+B;IAC9C,OAAO,QAAQ;SACV,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC;SAC7C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAC5C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CAAC,OAAwB;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACnF,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC;IAC5D,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,IAAI,CAAC,CAAC;IAC3E,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,WAAW,CAAC,OAA+B;IAChD,OAAO,OAAO,EAAE,MAAM;SACjB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC;SACtD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAY;IACjC,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,OAAO,KAAK,IAAI,SAAS,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,OAAe,EAAE,UAAoB,EAAE,WAAmC;IACvF,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,WAAW,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE;YACjF,IAAI,KAAK;gBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;;gBACxE,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,QAAQ,CAAC,QAAgB,EAAE,MAAe;IAC/C,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAuB,CAAC;QACxD,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACL,wCAAwC;IAC5C,CAAC;IACD,OAAO,QAAQ,IAAI,4BAA4B,MAAM,IAAI,GAAG,GAAG,CAAC;AACpE,CAAC;AAED,MAAM,YAAa,SAAQ,KAAK;IAEf,MAAM;IADnB,YACa,MAAc,EACvB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;sBAHN,MAAM;QAIf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC/B,CAAC;CACJ;AAED,MAAM,iBAAkB,SAAQ,KAAK;IACjC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IACpC,CAAC;CACJ;AAED,SAAS,gBAAgB,CAAC,KAAc;IACpC,OAAO,KAAK,YAAY,iBAAiB;QACrC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,iBAAiB,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,aAAa;IAClB,OAAO,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,KAAK,CAAC,YAAoB;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AACvE,CAAC"}
@@ -3,6 +3,7 @@ import { type AgentSecretSummary, type MutationHint, type UserSummary } from "..
3
3
  import { type PubSub } from "../realtime/index.js";
4
4
  import { RigDaemonClient } from "./daemon.js";
5
5
  import type { AgentSandboxRuntimeResolver } from "../sandbox/types.js";
6
+ import type { PluginFunctionDefinition, PluginFunctionResult } from "../plugin/types.js";
6
7
  interface AgentSecretCreateInput {
7
8
  actorUserId: string;
8
9
  description: string;
@@ -19,12 +20,17 @@ interface AgentSecretAgentInput extends AgentSecretTargetInput {
19
20
  interface AgentSecretChannelInput extends AgentSecretTargetInput {
20
21
  channelId: string;
21
22
  }
23
+ interface AgentPluginFunctions {
24
+ callFunction(functionName: string, args: unknown, signal?: AbortSignal): Promise<PluginFunctionResult>;
25
+ listFunctions(signal?: AbortSignal): Promise<readonly PluginFunctionDefinition[]>;
26
+ }
22
27
  export declare class AgentService {
23
28
  private readonly executor;
24
29
  private readonly pubsub;
25
30
  private readonly daemon;
26
31
  private readonly sandboxRuntime;
27
32
  private readonly defaultCwd;
33
+ private readonly pluginFunctions;
28
34
  private readonly onError;
29
35
  private readonly workerId;
30
36
  private readonly bindingCreations;
@@ -42,7 +48,7 @@ export declare class AgentService {
42
48
  private readonly shutdown;
43
49
  private queueTask?;
44
50
  private stopping;
45
- constructor(executor: DrizzleExecutor, pubsub: PubSub, daemon: RigDaemonClient, sandboxRuntime: AgentSandboxRuntimeResolver, defaultCwd: string, onError?: (error: unknown) => void);
51
+ constructor(executor: DrizzleExecutor, pubsub: PubSub, daemon: RigDaemonClient, sandboxRuntime: AgentSandboxRuntimeResolver, defaultCwd: string, pluginFunctions: AgentPluginFunctions | undefined, onError?: (error: unknown) => void);
46
52
  createAgent(input: {
47
53
  actorUserId: string;
48
54
  name: string;
@@ -184,6 +190,7 @@ export declare class AgentService {
184
190
  private publishAgentHint;
185
191
  private agentEffortConfiguration;
186
192
  private reconcileAgentEfforts;
193
+ private reconcileFunctionPermissions;
187
194
  private reconcileSessionEffort;
188
195
  private requireAgentSecret;
189
196
  private agentSecret;
@@ -191,6 +198,7 @@ export declare class AgentService {
191
198
  private trackGlobalEvents;
192
199
  private trimGlobalEventsIfDue;
193
200
  private applyGlobalEvent;
201
+ private executePluginFunctionCall;
194
202
  private startDrain;
195
203
  private drainChat;
196
204
  private ensureTurnSubmitted;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../sources/modules/agents/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../sources/modules/agents/service.ts"],"names":[],"mappings":"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"}
@@ -55,9 +55,13 @@ import { CollaborationError, } from "../chat/types.js";
55
55
  import { realtimeTopics } from "../realtime/index.js";
56
56
  import { isRetryableRigError, RigDaemonClient, } from "./daemon.js";
57
57
  import { BUILTIN_AGENT_IMAGES } from "./builtin-images.js";
58
+ import { pluginFunctionResultAcquire } from "../plugin/pluginFunctionResultAcquire.js";
59
+ import { pluginFunctionResultComplete } from "../plugin/pluginFunctionResultComplete.js";
58
60
  import { setupBaseImageCompleteBuild, setupBaseImageFailBuild, setupBaseImageGetStatus, setupBaseImageRetryBuild, setupBaseImageSelect, } from "../setup/index.js";
59
61
  const IGNORED_EVENT_CHECKPOINT_INTERVAL = 100;
60
62
  const EVENT_RETRY_INTERVAL_MS = 100;
63
+ const PLUGIN_FUNCTION_LEASE_MS = 45_000;
64
+ const PLUGIN_FUNCTION_WAIT_INTERVAL_MS = 1_000;
61
65
  const TYPING_TTL_MS = 30_000;
62
66
  const TYPING_RENEW_INTERVAL_MS = 20_000;
63
67
  const AGENT_ACTIVITY_TTL_MS = 10_000;
@@ -100,6 +104,7 @@ export class AgentService {
100
104
  daemon;
101
105
  sandboxRuntime;
102
106
  defaultCwd;
107
+ pluginFunctions;
103
108
  onError;
104
109
  workerId = createId();
105
110
  bindingCreations = new Map();
@@ -117,12 +122,13 @@ export class AgentService {
117
122
  shutdown = new AbortController();
118
123
  queueTask;
119
124
  stopping = false;
120
- constructor(executor, pubsub, daemon, sandboxRuntime, defaultCwd, onError = () => undefined) {
125
+ constructor(executor, pubsub, daemon, sandboxRuntime, defaultCwd, pluginFunctions, onError = () => undefined) {
121
126
  this.executor = executor;
122
127
  this.pubsub = pubsub;
123
128
  this.daemon = daemon;
124
129
  this.sandboxRuntime = sandboxRuntime;
125
130
  this.defaultCwd = defaultCwd;
131
+ this.pluginFunctions = pluginFunctions;
126
132
  this.onError = onError;
127
133
  }
128
134
  async createAgent(input) {
@@ -189,6 +195,7 @@ export class AgentService {
189
195
  for (const imageId of await agentImageListRequestedBuildIds(this.executor))
190
196
  this.queueImageBuild(imageId);
191
197
  await this.daemon.ensureGlobalEventQueue(this.shutdown.signal);
198
+ await this.reconcileFunctionPermissions();
192
199
  await this.reconcileAgentEfforts();
193
200
  await this.reconcileSecretBindings();
194
201
  this.queueTask = this.trackGlobalEvents().catch((error) => {
@@ -861,6 +868,12 @@ export class AgentService {
861
868
  await Promise.all(agentBindings.map((binding) => this.reconcileSessionEffort(binding.sessionId, effort)));
862
869
  }
863
870
  }
871
+ async reconcileFunctionPermissions() {
872
+ const sessionIds = [
873
+ ...new Set((await agentEffortBindingList(this.executor)).map(({ sessionId }) => sessionId)),
874
+ ];
875
+ await Promise.all(sessionIds.map((sessionId) => this.daemon.ensureFunctionPermission(sessionId, this.shutdown.signal)));
876
+ }
864
877
  async reconcileSessionEffort(sessionId, effort) {
865
878
  const current = await this.daemon.effortConfiguration(sessionId, this.shutdown.signal);
866
879
  if (current.effort === effort)
@@ -946,6 +959,12 @@ export class AgentService {
946
959
  }
947
960
  async applyGlobalEvent(entry) {
948
961
  const event = entry.event;
962
+ if (event.type === "external_tool_call_requested" && event.data.call) {
963
+ const call = event.data.call;
964
+ const result = await this.executePluginFunctionCall(event.sessionId, call.id, call.definition.name, call.arguments);
965
+ await this.daemon.resolveExternalToolCall(event.sessionId, call.id, result, this.shutdown.signal);
966
+ return;
967
+ }
949
968
  const runId = event.data.runId;
950
969
  if (event.type === "message_submitted" && runId) {
951
970
  const text = messageText(event.data.message);
@@ -995,6 +1014,41 @@ export class AgentService {
995
1014
  }
996
1015
  throw new Error(`Rig run ${runId} finished before its session snapshot was complete.`);
997
1016
  }
1017
+ async executePluginFunctionCall(sessionId, callId, functionName, args) {
1018
+ const leaseToken = createId();
1019
+ for (;;) {
1020
+ this.shutdown.signal.throwIfAborted();
1021
+ const now = Date.now();
1022
+ const claim = await pluginFunctionResultAcquire(this.executor, {
1023
+ callId,
1024
+ leaseExpiresAt: now + PLUGIN_FUNCTION_LEASE_MS,
1025
+ leaseToken,
1026
+ now,
1027
+ sessionId,
1028
+ });
1029
+ if (claim.kind === "replay")
1030
+ return claim.result;
1031
+ if (claim.kind === "in_progress") {
1032
+ await delay(Math.min(Math.max(claim.retryAt - now, EVENT_RETRY_INTERVAL_MS), PLUGIN_FUNCTION_WAIT_INTERVAL_MS), this.shutdown.signal);
1033
+ continue;
1034
+ }
1035
+ const result = this.pluginFunctions
1036
+ ? await this.pluginFunctions.callFunction(functionName, args, this.shutdown.signal)
1037
+ : {
1038
+ status: "failed",
1039
+ error: {
1040
+ code: "plugin_functions_unavailable",
1041
+ message: "Plugin functions are unavailable on this server",
1042
+ },
1043
+ };
1044
+ return pluginFunctionResultComplete(this.executor, {
1045
+ callId,
1046
+ leaseToken,
1047
+ result,
1048
+ sessionId,
1049
+ });
1050
+ }
1051
+ }
998
1052
  startDrain(chatId) {
999
1053
  if (this.stopping || this.drains.has(chatId))
1000
1054
  return;
@@ -1092,10 +1146,11 @@ export class AgentService {
1092
1146
  runId,
1093
1147
  }),
1094
1148
  };
1149
+ const externalTools = (await this.pluginFunctions?.listFunctions(this.shutdown.signal)) ?? [];
1095
1150
  for (;;) {
1096
1151
  let submitted;
1097
1152
  try {
1098
- submitted = await this.daemon.submitTurn(input.sessionId, input.text, this.shutdown.signal);
1153
+ submitted = await this.daemon.submitTurn(input.sessionId, input.text, externalTools, this.shutdown.signal);
1099
1154
  }
1100
1155
  catch (error) {
1101
1156
  if (this.shutdown.signal.aborted)
@@ -1718,6 +1773,8 @@ class AgentImageBuildOutput {
1718
1773
  }
1719
1774
  }
1720
1775
  function isRelevantRigEvent(event) {
1776
+ if (event.type === "external_tool_call_requested" && event.data.call)
1777
+ return true;
1721
1778
  if (!event.data.runId)
1722
1779
  return false;
1723
1780
  return (event.type === "message_submitted" ||