@5ss/ai-tools 2.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/LICENSE +21 -0
  3. package/README.md +221 -0
  4. package/dist/ai-sdk/index.d.ts +15 -0
  5. package/dist/ai-sdk/index.d.ts.map +1 -0
  6. package/dist/ai-sdk/index.js +24 -0
  7. package/dist/ai-sdk/index.js.map +1 -0
  8. package/dist/artifact-D064mHfK.js +44 -0
  9. package/dist/artifact-D064mHfK.js.map +1 -0
  10. package/dist/artifacts-O8g-40Pw.js +404 -0
  11. package/dist/artifacts-O8g-40Pw.js.map +1 -0
  12. package/dist/aws-json-CecFqzqX.js +23 -0
  13. package/dist/aws-json-CecFqzqX.js.map +1 -0
  14. package/dist/aws-service-msttbPrz.js +58 -0
  15. package/dist/aws-service-msttbPrz.js.map +1 -0
  16. package/dist/batch-BMM5dXqL.d.ts +22 -0
  17. package/dist/batch-BMM5dXqL.d.ts.map +1 -0
  18. package/dist/batch-Co1ujeAW.js +67 -0
  19. package/dist/batch-Co1ujeAW.js.map +1 -0
  20. package/dist/bedrock-agentcore-browser-a_qOs-NR.js +182 -0
  21. package/dist/bedrock-agentcore-browser-a_qOs-NR.js.map +1 -0
  22. package/dist/bedrock-agentcore-code-interpreter-MWK-8RhA.js +357 -0
  23. package/dist/bedrock-agentcore-code-interpreter-MWK-8RhA.js.map +1 -0
  24. package/dist/bytes-BxpimpQx.js +45 -0
  25. package/dist/bytes-BxpimpQx.js.map +1 -0
  26. package/dist/client-CCKGsTeI.js +743 -0
  27. package/dist/client-CCKGsTeI.js.map +1 -0
  28. package/dist/cloudflare/index.d.ts +37 -0
  29. package/dist/cloudflare/index.d.ts.map +1 -0
  30. package/dist/cloudflare/index.js +41 -0
  31. package/dist/cloudflare/index.js.map +1 -0
  32. package/dist/cloudflare-browser-B6Yolpin.js +428 -0
  33. package/dist/cloudflare-browser-B6Yolpin.js.map +1 -0
  34. package/dist/cloudflare-email-Dy0KHeDf.js +197 -0
  35. package/dist/cloudflare-email-Dy0KHeDf.js.map +1 -0
  36. package/dist/cloudflare-sandbox-Dp_uNaqW.js +982 -0
  37. package/dist/cloudflare-sandbox-Dp_uNaqW.js.map +1 -0
  38. package/dist/content-type-CORxaxcv.js +49 -0
  39. package/dist/content-type-CORxaxcv.js.map +1 -0
  40. package/dist/core/index.d.ts +4 -0
  41. package/dist/core/index.js +204 -0
  42. package/dist/core/index.js.map +1 -0
  43. package/dist/define-CvpJ_pNP.js +115 -0
  44. package/dist/define-CvpJ_pNP.js.map +1 -0
  45. package/dist/errors-DoSpNHvs.js +20 -0
  46. package/dist/errors-DoSpNHvs.js.map +1 -0
  47. package/dist/errors-aKhko9T1.d.ts +18 -0
  48. package/dist/errors-aKhko9T1.d.ts.map +1 -0
  49. package/dist/eventbridge-scheduler-Bh6GqZY2.js +349 -0
  50. package/dist/eventbridge-scheduler-Bh6GqZY2.js.map +1 -0
  51. package/dist/framework-context-DVIIY8ZO.js +24 -0
  52. package/dist/framework-context-DVIIY8ZO.js.map +1 -0
  53. package/dist/gotenberg-NuJjxyln.js +291 -0
  54. package/dist/gotenberg-NuJjxyln.js.map +1 -0
  55. package/dist/http/index.d.ts +47 -0
  56. package/dist/http/index.d.ts.map +1 -0
  57. package/dist/http/index.js +3 -0
  58. package/dist/http-service-DDNCO1s4.js +254 -0
  59. package/dist/http-service-DDNCO1s4.js.map +1 -0
  60. package/dist/http-service-T7E5UjP8.d.ts +80 -0
  61. package/dist/http-service-T7E5UjP8.d.ts.map +1 -0
  62. package/dist/imessage-BSAFOI8Z.js +154 -0
  63. package/dist/imessage-BSAFOI8Z.js.map +1 -0
  64. package/dist/index-BU4gmYO8.d.ts +254 -0
  65. package/dist/index-BU4gmYO8.d.ts.map +1 -0
  66. package/dist/index-CCivzmxO.d.ts +188 -0
  67. package/dist/index-CCivzmxO.d.ts.map +1 -0
  68. package/dist/index-CLmTrcu5.d.ts +22 -0
  69. package/dist/index-CLmTrcu5.d.ts.map +1 -0
  70. package/dist/index-CZX5OeOF.d.ts +235 -0
  71. package/dist/index-CZX5OeOF.d.ts.map +1 -0
  72. package/dist/index-CdFmEfZO.d.ts +359 -0
  73. package/dist/index-CdFmEfZO.d.ts.map +1 -0
  74. package/dist/index-Cuh6eMWc.d.ts +285 -0
  75. package/dist/index-Cuh6eMWc.d.ts.map +1 -0
  76. package/dist/index-DuOGj7vc.d.ts +107 -0
  77. package/dist/index-DuOGj7vc.d.ts.map +1 -0
  78. package/dist/index-ccZ1XOHw.d.ts +69 -0
  79. package/dist/index-ccZ1XOHw.d.ts.map +1 -0
  80. package/dist/index-n8JTpNf1.d.ts +247 -0
  81. package/dist/index-n8JTpNf1.d.ts.map +1 -0
  82. package/dist/index-pwW1OsOx.d.ts +134 -0
  83. package/dist/index-pwW1OsOx.d.ts.map +1 -0
  84. package/dist/index-zK1ZwS4m.d.ts +347 -0
  85. package/dist/index-zK1ZwS4m.d.ts.map +1 -0
  86. package/dist/limits-hjrO8zUG.js +80 -0
  87. package/dist/limits-hjrO8zUG.js.map +1 -0
  88. package/dist/mastra/index.d.ts +14 -0
  89. package/dist/mastra/index.d.ts.map +1 -0
  90. package/dist/mastra/index.js +26 -0
  91. package/dist/mastra/index.js.map +1 -0
  92. package/dist/mastra-vector-Dhc6XZ8l.js +234 -0
  93. package/dist/mastra-vector-Dhc6XZ8l.js.map +1 -0
  94. package/dist/mcp/index.d.ts +80 -0
  95. package/dist/mcp/index.d.ts.map +1 -0
  96. package/dist/mcp/index.js +97 -0
  97. package/dist/mcp/index.js.map +1 -0
  98. package/dist/modules/artifacts/index.d.ts +337 -0
  99. package/dist/modules/artifacts/index.d.ts.map +1 -0
  100. package/dist/modules/artifacts/index.js +348 -0
  101. package/dist/modules/artifacts/index.js.map +1 -0
  102. package/dist/modules/browser/index.d.ts +516 -0
  103. package/dist/modules/browser/index.d.ts.map +1 -0
  104. package/dist/modules/browser/index.js +475 -0
  105. package/dist/modules/browser/index.js.map +1 -0
  106. package/dist/modules/calendar/index.d.ts +93 -0
  107. package/dist/modules/calendar/index.d.ts.map +1 -0
  108. package/dist/modules/calendar/index.js +131 -0
  109. package/dist/modules/calendar/index.js.map +1 -0
  110. package/dist/modules/code-sandbox/index.d.ts +317 -0
  111. package/dist/modules/code-sandbox/index.d.ts.map +1 -0
  112. package/dist/modules/code-sandbox/index.js +537 -0
  113. package/dist/modules/code-sandbox/index.js.map +1 -0
  114. package/dist/modules/content-type/index.d.ts +22 -0
  115. package/dist/modules/content-type/index.d.ts.map +1 -0
  116. package/dist/modules/content-type/index.js +66 -0
  117. package/dist/modules/content-type/index.js.map +1 -0
  118. package/dist/modules/crypto/index.d.ts +115 -0
  119. package/dist/modules/crypto/index.d.ts.map +1 -0
  120. package/dist/modules/crypto/index.js +139 -0
  121. package/dist/modules/crypto/index.js.map +1 -0
  122. package/dist/modules/document/index.d.ts +575 -0
  123. package/dist/modules/document/index.d.ts.map +1 -0
  124. package/dist/modules/document/index.js +444 -0
  125. package/dist/modules/document/index.js.map +1 -0
  126. package/dist/modules/document-extract/index.d.ts +438 -0
  127. package/dist/modules/document-extract/index.d.ts.map +1 -0
  128. package/dist/modules/document-extract/index.js +127 -0
  129. package/dist/modules/document-extract/index.js.map +1 -0
  130. package/dist/modules/document-render/index.d.ts +336 -0
  131. package/dist/modules/document-render/index.d.ts.map +1 -0
  132. package/dist/modules/document-render/index.js +155 -0
  133. package/dist/modules/document-render/index.js.map +1 -0
  134. package/dist/modules/email/index.d.ts +311 -0
  135. package/dist/modules/email/index.d.ts.map +1 -0
  136. package/dist/modules/email/index.js +167 -0
  137. package/dist/modules/email/index.js.map +1 -0
  138. package/dist/modules/email-message/index.d.ts +95 -0
  139. package/dist/modules/email-message/index.d.ts.map +1 -0
  140. package/dist/modules/email-message/index.js +264 -0
  141. package/dist/modules/email-message/index.js.map +1 -0
  142. package/dist/modules/file-convert/index.d.ts +273 -0
  143. package/dist/modules/file-convert/index.d.ts.map +1 -0
  144. package/dist/modules/file-convert/index.js +103 -0
  145. package/dist/modules/file-convert/index.js.map +1 -0
  146. package/dist/modules/files/index.d.ts +452 -0
  147. package/dist/modules/files/index.d.ts.map +1 -0
  148. package/dist/modules/files/index.js +733 -0
  149. package/dist/modules/files/index.js.map +1 -0
  150. package/dist/modules/image/index.d.ts +342 -0
  151. package/dist/modules/image/index.d.ts.map +1 -0
  152. package/dist/modules/image/index.js +281 -0
  153. package/dist/modules/image/index.js.map +1 -0
  154. package/dist/modules/messaging/index.d.ts +608 -0
  155. package/dist/modules/messaging/index.d.ts.map +1 -0
  156. package/dist/modules/messaging/index.js +1067 -0
  157. package/dist/modules/messaging/index.js.map +1 -0
  158. package/dist/modules/pdf/index.d.ts +287 -0
  159. package/dist/modules/pdf/index.d.ts.map +1 -0
  160. package/dist/modules/pdf/index.js +259 -0
  161. package/dist/modules/pdf/index.js.map +1 -0
  162. package/dist/modules/presentation/index.d.ts +247 -0
  163. package/dist/modules/presentation/index.d.ts.map +1 -0
  164. package/dist/modules/presentation/index.js +12657 -0
  165. package/dist/modules/presentation/index.js.map +1 -0
  166. package/dist/modules/queue/index.d.ts +129 -0
  167. package/dist/modules/queue/index.d.ts.map +1 -0
  168. package/dist/modules/queue/index.js +131 -0
  169. package/dist/modules/queue/index.js.map +1 -0
  170. package/dist/modules/rag/index.d.ts +250 -0
  171. package/dist/modules/rag/index.d.ts.map +1 -0
  172. package/dist/modules/rag/index.js +366 -0
  173. package/dist/modules/rag/index.js.map +1 -0
  174. package/dist/modules/scheduler/index.d.ts +216 -0
  175. package/dist/modules/scheduler/index.d.ts.map +1 -0
  176. package/dist/modules/scheduler/index.js +153 -0
  177. package/dist/modules/scheduler/index.js.map +1 -0
  178. package/dist/modules/skills/index.d.ts +205 -0
  179. package/dist/modules/skills/index.d.ts.map +1 -0
  180. package/dist/modules/skills/index.js +203 -0
  181. package/dist/modules/skills/index.js.map +1 -0
  182. package/dist/modules/tasks/index.d.ts +287 -0
  183. package/dist/modules/tasks/index.d.ts.map +1 -0
  184. package/dist/modules/tasks/index.js +207 -0
  185. package/dist/modules/tasks/index.js.map +1 -0
  186. package/dist/modules/vector-store/index.d.ts +3 -0
  187. package/dist/modules/vector-store/index.js +3 -0
  188. package/dist/modules/web-fetch/index.d.ts +99 -0
  189. package/dist/modules/web-fetch/index.d.ts.map +1 -0
  190. package/dist/modules/web-fetch/index.js +242 -0
  191. package/dist/modules/web-fetch/index.js.map +1 -0
  192. package/dist/object-artifact-store-CMTzCm_G.d.ts +7 -0
  193. package/dist/object-artifact-store-CMTzCm_G.d.ts.map +1 -0
  194. package/dist/object-artifact-store-wZ2j9cto.js +28 -0
  195. package/dist/object-artifact-store-wZ2j9cto.js.map +1 -0
  196. package/dist/pinecone-umY4t6OF.js +190 -0
  197. package/dist/pinecone-umY4t6OF.js.map +1 -0
  198. package/dist/provider-CgDAlg6K.js +34 -0
  199. package/dist/provider-CgDAlg6K.js.map +1 -0
  200. package/dist/qdrant-DMp4NhKR.js +253 -0
  201. package/dist/qdrant-DMp4NhKR.js.map +1 -0
  202. package/dist/resend-BAC38_dA.js +155 -0
  203. package/dist/resend-BAC38_dA.js.map +1 -0
  204. package/dist/s3-CsOaPWMP.js +955 -0
  205. package/dist/s3-CsOaPWMP.js.map +1 -0
  206. package/dist/schemas-ChOAhdo9.js +192 -0
  207. package/dist/schemas-ChOAhdo9.js.map +1 -0
  208. package/dist/slack-Di5BBNpt.js +1455 -0
  209. package/dist/slack-Di5BBNpt.js.map +1 -0
  210. package/dist/sqs-DCwS1i2N.js +225 -0
  211. package/dist/sqs-DCwS1i2N.js.map +1 -0
  212. package/dist/supabase-vector-Dpp9mmJR.js +218 -0
  213. package/dist/supabase-vector-Dpp9mmJR.js.map +1 -0
  214. package/dist/tanstack/index.d.ts +15 -0
  215. package/dist/tanstack/index.d.ts.map +1 -0
  216. package/dist/tanstack/index.js +28 -0
  217. package/dist/tanstack/index.js.map +1 -0
  218. package/dist/teams-DYAHNb39.js +835 -0
  219. package/dist/teams-DYAHNb39.js.map +1 -0
  220. package/dist/telegram-DDXWzkfL.js +734 -0
  221. package/dist/telegram-DDXWzkfL.js.map +1 -0
  222. package/dist/textract-CPLiB22H.js +554 -0
  223. package/dist/textract-CPLiB22H.js.map +1 -0
  224. package/dist/transport-B4vn-XiQ.js +157 -0
  225. package/dist/transport-B4vn-XiQ.js.map +1 -0
  226. package/dist/transport-i96ACAI_.d.ts +46 -0
  227. package/dist/transport-i96ACAI_.d.ts.map +1 -0
  228. package/dist/types-Ccb0DXY9.d.ts +150 -0
  229. package/dist/types-Ccb0DXY9.d.ts.map +1 -0
  230. package/dist/unique-EwBH1JPB.js +19 -0
  231. package/dist/unique-EwBH1JPB.js.map +1 -0
  232. package/dist/vector-store-C3nEO80e.js +193 -0
  233. package/dist/vector-store-C3nEO80e.js.map +1 -0
  234. package/dist/vendors/amazon-sp-api/index.d.ts +526 -0
  235. package/dist/vendors/amazon-sp-api/index.d.ts.map +1 -0
  236. package/dist/vendors/amazon-sp-api/index.js +975 -0
  237. package/dist/vendors/amazon-sp-api/index.js.map +1 -0
  238. package/dist/vendors/bedrock-agentcore-browser/index.d.ts +2 -0
  239. package/dist/vendors/bedrock-agentcore-browser/index.js +2 -0
  240. package/dist/vendors/bedrock-agentcore-code-interpreter/index.d.ts +228 -0
  241. package/dist/vendors/bedrock-agentcore-code-interpreter/index.d.ts.map +1 -0
  242. package/dist/vendors/bedrock-agentcore-code-interpreter/index.js +2 -0
  243. package/dist/vendors/cloudflare-browser/index.d.ts +2 -0
  244. package/dist/vendors/cloudflare-browser/index.js +2 -0
  245. package/dist/vendors/cloudflare-email/index.d.ts +260 -0
  246. package/dist/vendors/cloudflare-email/index.d.ts.map +1 -0
  247. package/dist/vendors/cloudflare-email/index.js +3 -0
  248. package/dist/vendors/cloudflare-sandbox/index.d.ts +565 -0
  249. package/dist/vendors/cloudflare-sandbox/index.d.ts.map +1 -0
  250. package/dist/vendors/cloudflare-sandbox/index.js +2 -0
  251. package/dist/vendors/eventbridge-scheduler/index.d.ts +2 -0
  252. package/dist/vendors/eventbridge-scheduler/index.js +2 -0
  253. package/dist/vendors/gotenberg/index.d.ts +306 -0
  254. package/dist/vendors/gotenberg/index.d.ts.map +1 -0
  255. package/dist/vendors/gotenberg/index.js +2 -0
  256. package/dist/vendors/imessage/index.d.ts +420 -0
  257. package/dist/vendors/imessage/index.d.ts.map +1 -0
  258. package/dist/vendors/imessage/index.js +4 -0
  259. package/dist/vendors/katana/index.d.ts +1570 -0
  260. package/dist/vendors/katana/index.d.ts.map +1 -0
  261. package/dist/vendors/katana/index.js +1639 -0
  262. package/dist/vendors/katana/index.js.map +1 -0
  263. package/dist/vendors/mastra-vector/index.d.ts +120 -0
  264. package/dist/vendors/mastra-vector/index.d.ts.map +1 -0
  265. package/dist/vendors/mastra-vector/index.js +3 -0
  266. package/dist/vendors/pinecone/index.d.ts +75 -0
  267. package/dist/vendors/pinecone/index.d.ts.map +1 -0
  268. package/dist/vendors/pinecone/index.js +3 -0
  269. package/dist/vendors/qdrant/index.d.ts +75 -0
  270. package/dist/vendors/qdrant/index.d.ts.map +1 -0
  271. package/dist/vendors/qdrant/index.js +3 -0
  272. package/dist/vendors/resend/index.d.ts +3 -0
  273. package/dist/vendors/resend/index.js +3 -0
  274. package/dist/vendors/s3/index.d.ts +2 -0
  275. package/dist/vendors/s3/index.js +2 -0
  276. package/dist/vendors/slack/index.d.ts +576 -0
  277. package/dist/vendors/slack/index.d.ts.map +1 -0
  278. package/dist/vendors/slack/index.js +3 -0
  279. package/dist/vendors/sqs/index.d.ts +2 -0
  280. package/dist/vendors/sqs/index.js +2 -0
  281. package/dist/vendors/supabase-vector/index.d.ts +89 -0
  282. package/dist/vendors/supabase-vector/index.d.ts.map +1 -0
  283. package/dist/vendors/supabase-vector/index.js +3 -0
  284. package/dist/vendors/teams/index.d.ts +303 -0
  285. package/dist/vendors/teams/index.d.ts.map +1 -0
  286. package/dist/vendors/teams/index.js +3 -0
  287. package/dist/vendors/telegram/index.d.ts +319 -0
  288. package/dist/vendors/telegram/index.d.ts.map +1 -0
  289. package/dist/vendors/telegram/index.js +3 -0
  290. package/dist/vendors/textract/index.d.ts +2 -0
  291. package/dist/vendors/textract/index.js +2 -0
  292. package/dist/vendors/woocommerce/index.d.ts +1700 -0
  293. package/dist/vendors/woocommerce/index.d.ts.map +1 -0
  294. package/dist/vendors/woocommerce/index.js +1427 -0
  295. package/dist/vendors/woocommerce/index.js.map +1 -0
  296. package/dist/with-auth-CpKqTrGK.js +240 -0
  297. package/dist/with-auth-CpKqTrGK.js.map +1 -0
  298. package/logos/LUCIDE-ATTRIBUTION.txt +4 -0
  299. package/logos/README.md +89 -0
  300. package/logos/amazon.svg +6 -0
  301. package/logos/artifacts.svg +9 -0
  302. package/logos/browser.svg +9 -0
  303. package/logos/calendar.svg +15 -0
  304. package/logos/cloudflare-browser.svg +5 -0
  305. package/logos/cloudflare-email.svg +5 -0
  306. package/logos/cloudflare.svg +4 -0
  307. package/logos/code-sandbox.svg +8 -0
  308. package/logos/content-type.svg +10 -0
  309. package/logos/crypto.svg +7 -0
  310. package/logos/document-extract.svg +12 -0
  311. package/logos/document-render.svg +8 -0
  312. package/logos/document.svg +10 -0
  313. package/logos/email-message.svg +8 -0
  314. package/logos/email.svg +7 -0
  315. package/logos/file-convert.svg +9 -0
  316. package/logos/files.svg +6 -0
  317. package/logos/gotenberg.svg +340 -0
  318. package/logos/image.svg +8 -0
  319. package/logos/imessage.svg +7 -0
  320. package/logos/katana.svg +13 -0
  321. package/logos/mastra.svg +7 -0
  322. package/logos/messaging.svg +7 -0
  323. package/logos/pack-logos.json +48 -0
  324. package/logos/pdf.svg +10 -0
  325. package/logos/pinecone.svg +25 -0
  326. package/logos/presentation.svg +8 -0
  327. package/logos/qdrant.svg +4 -0
  328. package/logos/queue.svg +11 -0
  329. package/logos/rag.svg +18 -0
  330. package/logos/resend.svg +5 -0
  331. package/logos/scheduler.svg +7 -0
  332. package/logos/skills.svg +10 -0
  333. package/logos/slack.svg +14 -0
  334. package/logos/supabase.svg +4 -0
  335. package/logos/tasks.svg +10 -0
  336. package/logos/teams.svg +6 -0
  337. package/logos/telegram.svg +10 -0
  338. package/logos/textract.svg +5 -0
  339. package/logos/vector-store.svg +8 -0
  340. package/logos/web-fetch.svg +8 -0
  341. package/logos/woocommerce.svg +4 -0
  342. package/package.json +373 -0
@@ -0,0 +1,115 @@
1
+ import { t as assertUniqueBy } from "./unique-EwBH1JPB.js";
2
+ //#region src/generated/pack-logos.ts
3
+ const svg_amazon = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\" color=\"#000\">\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M34.4352 32.2938C18.2433 39.9998 8.19438 33.5524 1.76177 29.6364C1.36372 29.3896 0.687182 29.6941 1.27417 30.3684C3.4172 32.9668 10.4403 39.2299 19.6076 39.2299C28.7811 39.2299 34.2386 34.2244 34.9213 33.3512C35.5993 32.4854 35.1204 32.0078 34.435 32.2938H34.4352ZM38.9827 29.7824C38.5478 29.2162 36.3387 29.1107 34.9483 29.2815C33.5559 29.4473 31.4658 30.2983 31.6475 30.8093C31.7407 31.0007 31.9311 30.9149 32.8876 30.8289C33.8468 30.7332 36.5339 30.3941 37.0938 31.126C37.6564 31.863 36.2368 35.3739 35.9775 35.9401C35.727 36.5063 36.0732 36.6523 36.5438 36.2752C37.0078 35.8982 37.8479 34.922 38.4117 33.5404C38.9716 32.1513 39.3132 30.2136 38.9827 29.7824Z\" fill=\"#FF9900\"/>\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.548 16.57C23.548 18.5919 23.599 20.2781 22.5771 22.0737C21.7522 23.5337 20.4456 24.4315 18.9857 24.4315C16.9929 24.4315 15.8323 22.9132 15.8323 20.6723C15.8323 16.2487 19.7958 15.4458 23.548 15.4458V16.57ZM28.7817 29.2201C28.4385 29.5266 27.9422 29.5486 27.5554 29.3441C25.8327 27.9135 25.526 27.2492 24.5772 25.8842C21.7304 28.7894 19.7157 29.658 16.0221 29.658C11.657 29.658 8.25537 26.9644 8.25537 21.5701C8.25537 17.3584 10.5403 14.4896 13.7883 13.0882C16.6061 11.8471 20.5405 11.6282 23.548 11.2852V10.6136C23.548 9.37989 23.6427 7.92002 22.9202 6.85436C22.285 5.89809 21.0734 5.50389 20.0075 5.50389C18.0295 5.50389 16.2629 6.51847 15.8323 8.62072C15.7446 9.08801 15.4016 9.54791 14.9345 9.56976L9.89772 9.02969C9.47444 8.9346 9.00731 8.59164 9.12409 7.94187C10.2847 1.8396 15.7957 0 20.7301 0C23.2558 0 26.5551 0.671619 28.5479 2.58415C31.0736 4.94182 30.8327 8.08789 30.8327 11.5114V19.5993C30.8327 22.03 31.84 23.0957 32.7889 24.4097C33.1246 24.8768 33.1977 25.439 32.7743 25.7892C31.7159 26.6724 29.8326 28.3149 28.7961 29.2347L28.7815 29.2201\" fill=\"currentColor\"/>\n</svg>";
4
+ /** Inline SVG by module / pack id (shared files referenced many times). */
5
+ const packLogosByModuleId = {
6
+ "amazon-sp-api": svg_amazon,
7
+ artifacts: "<!-- Lucide icon \"package\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Artifacts</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z\" />\n <path d=\"M12 22V12\" />\n <path d=\"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7\" />\n <path d=\"m7.5 4.27 9 5.15\" />\n</svg>",
8
+ "bedrock-agentcore-browser": svg_amazon,
9
+ "bedrock-agentcore-code-interpreter": svg_amazon,
10
+ browser: "<!-- Lucide icon \"app-window\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Browser</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\" />\n <path d=\"M10 4v4\" />\n <path d=\"M2 8h20\" />\n <path d=\"M6 4v4\" />\n</svg>",
11
+ calendar: "<!-- Lucide icon \"calendar-days\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Calendar</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M8 2v4\" />\n <path d=\"M16 2v4\" />\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"4\" rx=\"2\" />\n <path d=\"M3 10h18\" />\n <path d=\"M8 14h.01\" />\n <path d=\"M12 14h.01\" />\n <path d=\"M16 14h.01\" />\n <path d=\"M8 18h.01\" />\n <path d=\"M12 18h.01\" />\n <path d=\"M16 18h.01\" />\n</svg>",
12
+ "cloudflare-browser": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 64 65\" color=\"#000\" fill=\"currentColor\">\n <title>Cloudflare Browser Run</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M23.3 18.2a2.1 2.1 0 1 1-4.2 0 2.1 2.1 0 0 1 4.2 0m-6.7 0a2.1 2.1 0 1 1-4.2 0 2.1 2.1 0 0 1 4.2 0m13.3-.61a2.1 2.1 0 1 0 0 1.22zm28.1-1.6V12.7l-2-2h-1.39v5.29zm0 9.67v-4.99h-3.39v4.99zm0 9.67v-4.99h-3.39v4.99zM58 45v-4.99h-3.39V45zm-3.39 9.6H56l2-2v-2.93h-3.39zm-17.9-4H41v4h-4.29zm8.96 0h4.29v4h-4.29zm-8.96-29H41v4h-4.29zm8.96 0h4.29v4h-4.29zm4.29-6.9h-4.29v-4h4.29zm-8.96 0h-4.29v-4H41zm-8.96-4h-24l-2 2v39.9l2 2h24v-4h-22v-25h22v-4h-22v-6.9h22z\"/>\n</svg>",
13
+ "cloudflare-email": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 48 48\" color=\"#000\" fill=\"currentColor\">\n <title>Cloudflare Email Service</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M42.038 10.568h-36l-1.5 1.5v23.864l1.5 1.5h36l1.5-1.5V12.068zm-18 15.397L10.005 13.568h28.072l-14.04 12.397ZM17.288 24l-9.75 8.61V15.36zm2.25 2.003 3.494 3.082h1.988l3.48-3.082 9.578 8.43H10.005zM30.788 24l9.75-8.61v17.25z\"/>\n</svg>",
14
+ "cloudflare-sandbox": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <title>Cloudflare</title>\n <path fill=\"#F38020\" d=\"M16.5088 16.8447c.1475-.5068.0908-.9707-.1553-1.3154-.2246-.3164-.6045-.499-1.0615-.5205l-8.6592-.1123a.1559.1559 0 0 1-.1333-.0713c-.0283-.042-.0351-.0986-.021-.1553.0278-.084.1123-.1484.2036-.1562l8.7359-.1123c1.0351-.0489 2.1601-.8868 2.5537-1.9136l.499-1.3013c.0215-.0561.0293-.1128.0147-.168-.5625-2.5463-2.835-4.4453-5.5499-4.4453-2.5039 0-4.6284 1.6177-5.3876 3.8614-.4927-.3658-1.1187-.5625-1.794-.499-1.2026.119-2.1665 1.083-2.2861 2.2856-.0283.31-.0069.6128.0635.894C1.5683 13.171 0 14.7754 0 16.752c0 .1748.0142.3515.0352.5273.0141.083.0844.1475.1689.1475h15.9814c.0909 0 .1758-.0645.2032-.1553l.12-.4268zm2.7568-5.5634c-.0771 0-.1611 0-.2383.0112-.0566 0-.1054.0415-.127.0976l-.3378 1.1744c-.1475.5068-.0918.9707.1543 1.3164.2256.3164.6055.498 1.0625.5195l1.8437.1133c.0557 0 .1055.0263.1329.0703.0283.043.0351.1074.0214.1562-.0283.084-.1132.1485-.204.1553l-1.921.1123c-1.041.0488-2.1582.8867-2.5527 1.914l-.1406.3585c-.0283.0713.0215.1416.0986.1416h6.5977c.0771 0 .1474-.0489.169-.126.1122-.4082.1757-.837.1757-1.2803 0-2.6025-2.125-4.727-4.7344-4.727\"/>\n</svg>",
15
+ "code-sandbox": "<!-- Lucide icon \"box\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Code sandbox</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z\" />\n <path d=\"m3.3 7 8.7 5 8.7-5\" />\n <path d=\"M12 22V12\" />\n</svg>",
16
+ "content-type": "<!-- Lucide icon \"file-type\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Content type</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\n <path d=\"M9 13v-1h6v1\" />\n <path d=\"M12 12v6\" />\n <path d=\"M11 18h2\" />\n</svg>",
17
+ crypto: "<!-- Lucide icon \"key-round\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Crypto</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z\" />\n <circle cx=\"16.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\" />\n</svg>",
18
+ document: "<!-- Lucide icon \"file-text\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Document</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\n <path d=\"M10 9H8\" />\n <path d=\"M16 13H8\" />\n <path d=\"M16 17H8\" />\n</svg>",
19
+ "document-extract": "<!-- Lucide icon \"scan-text\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Document extract</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M3 7V5a2 2 0 0 1 2-2h2\" />\n <path d=\"M17 3h2a2 2 0 0 1 2 2v2\" />\n <path d=\"M21 17v2a2 2 0 0 1-2 2h-2\" />\n <path d=\"M7 21H5a2 2 0 0 1-2-2v-2\" />\n <path d=\"M7 8h8\" />\n <path d=\"M7 12h10\" />\n <path d=\"M7 16h6\" />\n</svg>",
20
+ "document-render": "<!-- Lucide icon \"printer\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Document render</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\" />\n <path d=\"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6\" />\n <rect x=\"6\" y=\"14\" width=\"12\" height=\"8\" rx=\"1\" />\n</svg>",
21
+ email: "<!-- Lucide icon \"mail\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Email</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\" />\n <path d=\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\" />\n</svg>",
22
+ "email-message": "<!-- Lucide icon \"mails\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Email message</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <rect width=\"16\" height=\"13\" x=\"6\" y=\"4\" rx=\"2\" />\n <path d=\"m22 7-7.1 3.78c-.57.3-1.23.3-1.8 0L6 7\" />\n <path d=\"M2 8v11c0 1.1.9 2 2 2h14\" />\n</svg>",
23
+ "eventbridge-scheduler": svg_amazon,
24
+ "file-convert": "<!-- Lucide icon \"refresh-cw\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>File convert</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\" />\n <path d=\"M21 3v5h-5\" />\n <path d=\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\" />\n <path d=\"M8 16H3v5\" />\n</svg>",
25
+ files: "<!-- Lucide icon \"folder-open\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Files</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\" />\n</svg>",
26
+ gotenberg: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 256.000000 256.000000\" color=\"#000\" fill=\"currentColor\">\n <title>Gotenberg</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <g transform=\"translate(0.000000,256.000000) scale(0.100000,-0.100000)\"\nfill=\"currentColor\" stroke=\"none\">\n<path d=\"M1091 2549 c-597 -55 -940 -340 -1051 -875 -63 -305 -45 -682 45\n-949 89 -267 255 -461 490 -575 170 -82 393 -139 437 -111 14 9 18 8 18 -4 0\n-9 9 -15 25 -15 14 0 25 4 25 10 0 5 10 14 21 21 20 10 21 9 16 -10 -4 -18 -3\n-20 9 -10 14 11 14 54 1 89 -3 8 -8 22 -10 30 -5 13 -6 13 -6 0 -1 -20 -40\n-46 -42 -28 -1 7 0 18 1 23 9 43 8 110 -1 122 -7 8 -8 13 -1 13 5 0 13 7 16\n16 5 14 4 15 -8 5 -12 -10 -19 -8 -37 10 -27 27 -39 12 -31 -44 3 -25 1 -38\n-5 -34 -5 3 -11 32 -12 63 -2 49 0 56 14 50 13 -4 15 -1 10 14 -4 13 3 29 25\n51 17 18 29 38 26 45 -6 15 36 6 46 -10 5 -7 8 -5 8 6 0 9 -5 18 -12 20 -8 3\n-1 20 20 48 18 24 32 54 32 67 0 13 5 23 11 23 6 0 9 6 6 13 -5 15 10 47 23\n47 5 0 7 -12 5 -27 -3 -16 -7 -37 -8 -48 -1 -11 -7 -27 -12 -35 -5 -9 1 -7 14\n4 16 15 20 27 16 47 -7 30 13 87 39 108 9 7 23 37 32 66 16 57 27 71 59 77 14\n2 20 -2 19 -14 -1 -10 5 -18 13 -18 10 0 13 -7 9 -22 -3 -13 -3 -18 0 -11 4 8\n17 6 47 -7 27 -12 55 -17 80 -13 31 4 37 2 37 -14 0 -15 3 -14 20 7 10 14 22\n21 26 17 4 -4 3 -7 -2 -7 -5 0 -10 -17 -10 -38 -1 -20 0 -29 3 -19 2 9 9 17\n14 17 5 0 9 16 9 35 0 25 4 35 16 35 9 0 12 5 8 11 -4 7 -1 10 7 7 10 -3 14\n-22 14 -60 0 -31 4 -54 9 -51 15 10 -4 -51 -22 -67 -14 -13 -15 -13 -6 0 17\n23 24 50 15 50 -5 0 -11 -10 -15 -22 -4 -17 -8 -20 -15 -10 -6 11 -11 10 -25\n-3 -9 -9 -14 -21 -11 -26 4 -5 3 -9 0 -9 -3 0 -11 15 -17 33 -12 32 -12 32\n-19 7 -5 -20 -7 -15 -8 21 -1 34 -5 46 -17 46 -12 0 -14 -8 -9 -37 4 -23 1\n-46 -9 -65 -15 -28 -16 -28 -16 -7 0 26 -9 20 -44 -28 -18 -25 -18 -25 -13 -2\n3 15 -1 29 -13 40 -10 9 -20 31 -23 47 -4 29 -4 29 -12 7 -6 -18 -10 -20 -16\n-10 -6 10 -11 9 -23 -7 -9 -13 -11 -22 -4 -26 6 -4 8 -11 5 -16 -4 -6 0 -19 8\n-29 8 -11 14 -14 15 -6 0 22 18 13 24 -13 4 -16 11 -22 21 -19 13 5 13 3 0\n-22 -8 -16 -15 -35 -15 -42 0 -7 -5 -19 -12 -26 -16 -17 -38 3 -38 33 0 33\n-17 33 -29 -1 -14 -39 -14 -38 5 -38 8 0 12 -5 9 -11 -6 -9 21 -38 36 -39 4 0\n12 13 19 30 7 16 23 36 37 46 16 10 23 11 17 3 -12 -20 -16 -111 -4 -104 6 3\n10 0 10 -7 0 -7 12 -26 26 -41 14 -15 29 -41 34 -57 8 -28 7 -29 -11 -20 -14\n8 -19 7 -19 -2 0 -7 -7 -22 -16 -33 -15 -20 -15 -19 -20 2 -6 21 -7 21 -41\n-10 -19 -18 -38 -32 -41 -33 -23 -3 -42 -19 -51 -45 -9 -26 -8 -29 15 -35 15\n-4 24 -13 24 -25 0 -10 5 -19 10 -19 6 0 10 -10 9 -22 0 -21 -1 -22 -8 -4 -7\n19 -8 19 -13 -2 -4 -12 -3 -24 1 -26 15 -10 197 6 304 26 52 10 57 13 58 37 2\n24 2 24 6 3 4 -20 8 -22 36 -16 60 13 152 46 168 60 8 8 21 14 27 14 15 0 16\n36 1 45 -6 4 -8 13 -5 20 2 7 0 17 -5 22 -6 6 -12 23 -14 39 -4 36 -23 85 -25\n64 0 -13 -1 -13 -11 0 -8 11 -9 4 -5 -29 3 -30 1 -40 -5 -30 -7 11 -9 8 -10\n-11 -1 -16 -3 -19 -6 -8 -2 9 -11 19 -20 22 -11 4 -14 2 -9 -9 3 -9 0 -15 -9\n-15 -8 0 -15 9 -15 19 0 24 -16 36 -26 20 -4 -7 -3 -10 2 -7 5 4 10 -28 11\n-70 1 -43 -1 -72 -3 -65 -6 12 -56 2 -79 -17 -10 -8 -10 -2 -2 30 9 31 17 41\n39 45 34 8 37 36 8 65 -17 17 -23 18 -40 8 -11 -7 -20 -20 -20 -28 -1 -24 -31\n52 -36 90 -5 39 38 140 45 105 4 -21 31 -52 31 -36 0 26 30 9 31 -16 1 -17 3\n-21 6 -10 2 9 8 17 11 17 4 0 7 16 8 35 0 18 -4 31 -9 28 -5 -3 -6 4 -2 16 5\n16 1 23 -13 29 -19 6 -19 10 -7 47 7 22 17 56 22 75 l10 35 11 -25 11 -25 1\n30 2 30 15 -35 c9 -19 18 -29 20 -22 3 7 -1 19 -7 27 -7 8 -8 15 -3 15 13 0\n33 -45 33 -76 0 -15 4 -23 10 -19 6 4 8 11 5 16 -4 5 -2 9 4 9 5 0 13 -15 16\n-33 4 -17 12 -37 17 -44 6 -7 6 -19 -1 -32 -6 -11 -11 -31 -11 -45 0 -38 -20\n-32 -21 7 -1 31 -2 31 -11 -10 -6 -23 -8 -49 -5 -57 7 -19 29 -22 25 -3 -2 6\n2 12 7 12 6 0 9 -8 8 -17 -3 -18 26 -32 49 -23 23 9 68 -66 68 -115 0 -22 4\n-40 8 -40 19 0 111 67 170 123 98 94 202 252 202 307 0 11 4 20 9 20 11 0 33\n60 23 60 -4 0 -2 4 4 8 5 4 20 41 32 82 85 298 81 708 -11 1025 -77 268 -270\n494 -520 609 -232 107 -554 154 -866 125z m736 -181 c-3 -8 -6 -5 -6 6 -1 11\n2 17 5 13 3 -3 4 -12 1 -19z m-365 -76 c-16 -5 -15 -23 1 -21 6 1 24 1 40 0\n33 -1 36 -21 3 -21 -14 0 -27 -4 -31 -9 -3 -6 11 -8 35 -6 22 3 40 1 41 -3 1\n-13 7 -37 14 -57 5 -16 5 -17 -4 -5 -15 22 -25 4 -26 -45 0 -34 -6 -51 -26\n-71 l-26 -26 -7 27 c-6 25 -8 26 -20 10 -11 -16 -14 -16 -28 -1 -10 9 -14 24\n-11 37 4 15 0 27 -12 35 -11 8 -15 14 -9 14 5 0 2 4 -6 9 -28 18 -31 -2 -5\n-29 26 -27 26 -28 6 -35 -11 -3 -23 -15 -27 -27 -5 -16 -8 -18 -15 -7 -5 8 -4\n18 1 23 6 6 10 15 10 21 -1 5 -9 0 -19 -12 -16 -19 -26 -22 -75 -18 -37 3 -56\n1 -56 -7 0 -7 14 -9 38 -5 20 2 48 1 62 -3 22 -7 20 -8 -15 -9 -22 -1 -54 -10\n-72 -20 -32 -20 -43 -21 -77 -6 -13 6 -21 4 -24 -3 -2 -7 -8 -10 -12 -7 -5 3\n-7 13 -4 23 5 13 4 14 -4 3 -5 -7 -15 -10 -21 -7 -6 4 -11 2 -11 -3 0 -6 -10\n-11 -22 -12 l-23 0 23 -16 c29 -20 28 -33 -3 -33 -14 0 -24 3 -23 8 1 4 -4 17\n-12 29 -17 26 -41 14 -33 -16 3 -10 0 -22 -7 -26 -7 -4 -14 2 -17 15 -8 30\n-42 22 -62 -16 -10 -18 -22 -29 -31 -26 -12 4 -13 2 -2 -9 6 -7 12 -19 12 -26\n0 -18 -25 -16 -40 2 -10 12 -10 15 0 15 8 0 10 3 6 7 -4 5 -13 0 -21 -10 -11\n-15 -14 -15 -25 -2 -7 8 -17 12 -22 9 -5 -3 -16 2 -24 12 -12 17 -13 17 -8 2\n7 -20 -6 -24 -24 -6 -15 15 4 39 25 31 13 -5 15 -1 9 20 -4 16 -2 27 3 27 6 0\n8 6 6 13 -7 19 21 50 37 41 10 -6 10 -5 0 9 -16 19 -6 41 14 33 7 -3 18 4 24\n15 12 21 30 17 30 -8 0 -9 -6 -13 -15 -9 -8 3 -15 1 -15 -4 0 -6 -7 -10 -16\n-10 -12 0 -14 -3 -6 -12 6 -7 12 -17 14 -23 1 -5 12 -10 23 -12 11 -1 14 1 8\n3 -22 9 -15 42 10 46 15 2 22 10 21 24 0 16 4 20 14 16 10 -3 13 -1 8 6 -3 6\n-1 14 5 17 5 4 8 13 5 21 -5 14 4 18 34 15 12 -1 11 1 -2 12 -19 15 -25 33 -8\n22 6 -3 17 1 26 10 9 9 23 14 30 11 8 -3 14 -2 14 2 0 5 25 8 56 7 30 0 58 3\n60 7 3 4 10 8 15 8 6 0 7 -5 3 -12 -5 -8 -2 -9 10 -5 42 16 66 19 66 7 0 -7\n-7 -10 -15 -6 -8 3 -15 1 -15 -4 0 -6 6 -10 13 -10 8 -1 7 -5 -4 -13 -23 -18\n-31 -57 -12 -57 10 0 14 6 10 20 -4 15 0 20 14 20 10 0 19 5 19 10 0 6 5 10\n10 10 6 0 8 -11 4 -25 -5 -20 -3 -24 10 -19 16 6 18 0 19 -63 1 -28 27 -40 27\n-13 0 10 5 22 10 25 6 3 10 11 10 16 0 6 -5 7 -12 3 -8 -5 -9 -2 -5 9 4 10 0\n20 -10 25 -16 9 -12 14 18 25 12 4 15 0 11 -19 -2 -14 0 -24 7 -24 6 0 11 11\n11 25 0 14 5 25 12 25 6 0 4 7 -5 18 -21 23 -22 39 -2 22 10 -9 15 -9 15 -1 0\n6 9 11 19 11 11 0 23 5 26 11 9 14 48 28 60 21 5 -3 4 -7 -3 -10z m-287 -2 c3\n-5 1 -10 -4 -10 -6 0 -11 5 -11 10 0 6 2 10 4 10 3 0 8 -4 11 -10z m442 4 c-3\n-3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m419 -38 c-4 -18 -13 -40\n-22 -47 -13 -11 -14 -9 -5 12 5 13 12 37 16 53 9 40 19 24 11 -18z m-716 9 c0\n-9 -6 -12 -15 -9 -8 4 -12 10 -9 15 8 14 24 10 24 -6z m685 5 c3 -5 1 -10 -4\n-10 -6 0 -11 5 -11 10 0 6 2 10 4 10 3 0 8 -4 11 -10z m128 -35 c5 -28 4 -34\n-3 -20 -8 19 -14 73 -6 64 2 -2 6 -22 9 -44z m-511 18 c-6 -2 -10 -9 -7 -14 4\n-5 -1 -6 -9 -3 -20 8 -11 24 12 23 11 0 12 -2 4 -6z m535 -40 c-3 -10 -5 -4\n-5 12 0 17 2 24 5 18 2 -7 2 -21 0 -30z m-1237 -3 c0 -6 -8 -14 -17 -17 -10\n-4 -21 -11 -25 -17 -5 -6 -8 -2 -8 11 0 21 11 31 38 32 6 1 12 -4 12 -9z\nm1120 -40 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4\n10 -10z m206 -5 c-3 -20 -16 -31 -16 -13 0 13 8 28 16 28 1 0 1 -7 0 -15z\nm-447 -68 c1 -19 -3 -27 -11 -24 -8 2 -12 15 -10 30 2 16 -1 27 -9 27 -8 0 -8\n4 2 16 12 14 14 14 20 -3 4 -10 8 -31 8 -46z m248 31 c-3 -8 -6 -5 -6 6 -1 11\n2 17 5 13 3 -3 4 -12 1 -19z m-446 -40 c11 3 11 1 2 -9 -10 -10 -10 -16 3 -30\n13 -15 13 -17 -11 -21 -22 -5 -23 -3 -13 10 11 13 10 15 -4 9 -9 -3 -19 -1\n-22 6 -2 7 -5 2 -5 -9 -1 -31 -28 -51 -44 -34 -9 10 -9 14 1 17 7 3 20 12 29\n21 9 10 21 17 26 17 6 0 12 6 15 14 3 8 0 11 -7 7 -13 -8 -14 -1 -4 34 7 25 7\n25 13 -5 4 -19 11 -29 21 -27z m94 32 c4 -6 10 -8 14 -6 4 3 7 -14 6 -36 0\n-26 -5 -43 -14 -46 -10 -3 -12 0 -8 12 4 9 10 24 14 33 5 12 2 15 -9 11 -19\n-8 -38 10 -31 28 6 16 19 18 28 4z m391 -66 c-4 -9 -9 -15 -11 -12 -3 3 -3 13\n1 22 4 9 9 15 11 12 3 -3 3 -13 -1 -22z m-1331 6 c3 -6 -1 -7 -9 -4 -18 7 -21\n14 -7 14 6 0 13 -4 16 -10z m1362 -12 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3\n4 -12 1 -19z m-364 -13 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z\nm113 2 c7 10 14 13 14 7 0 -6 -8 -18 -17 -26 -20 -16 -53 -30 -53 -22 0 3 8\n16 18 29 13 17 18 19 20 8 3 -12 6 -11 18 4z m-856 -51 c0 -3 -4 -8 -10 -11\n-5 -3 -10 -1 -10 4 0 6 5 11 10 11 6 0 10 -2 10 -4z m1131 -52 l-9 -39 -1 36\nc-1 20 2 39 6 42 12 13 13 0 4 -39z m-1516 -2 c3 -8 3 -17 0 -20 -3 -3 -5 0\n-5 6 0 6 -6 9 -13 6 -8 -3 -14 1 -14 9 0 18 25 18 32 -1z m305 -31 c-5 -11\n-15 -23 -22 -27 -7 -5 -8 -2 -3 7 21 37 44 55 25 20z m-182 -3 c-2 -6 -10 -14\n-16 -16 -7 -2 -10 2 -6 12 7 18 28 22 22 4z m1422 -13 c0 -8 -2 -15 -4 -15 -2\n0 -6 7 -10 15 -3 8 -1 15 4 15 6 0 10 -7 10 -15z m-680 -19 c130 -7 207 -23\n242 -49 9 -7 19 -30 23 -50 l7 -37 -61 1 c-79 1 -127 -23 -165 -84 -40 -64\n-41 -134 -3 -201 15 -27 27 -50 27 -52 0 -2 -22 -4 -48 -4 -105 0 -192 -47\n-192 -104 0 -12 -14 -35 -31 -52 -40 -37 -79 -118 -79 -165 0 -61 -43 -129\n-82 -129 -20 0 -26 -4 -22 -15 5 -11 2 -13 -10 -9 -12 4 -13 10 -6 24 12 22\n13 33 3 27 -5 -3 -9 5 -9 18 -2 32 -34 77 -50 71 -10 -4 -14 3 -14 24 0 18 -8\n37 -20 47 -12 11 -17 25 -14 37 4 16 -5 30 -34 53 -29 24 -42 45 -51 78 -6 25\n-16 65 -22 90 -7 29 -9 72 -4 118 4 39 9 98 10 130 7 119 57 164 240 215 107\n29 136 31 365 18z m637 -53 c-3 -10 -5 -4 -5 12 0 17 2 24 5 18 2 -7 2 -21 0\n-30z m13 -58 c-6 -30 -8 -33 -9 -13 -1 25 8 62 14 56 2 -2 -1 -21 -5 -43z\nm-21 -22 c-1 -34 -2 -35 -9 -13 -11 36 -11 50 0 50 6 0 10 -17 9 -37z m-118 1\nc8 -4 9 -3 5 4 -4 7 -2 12 3 12 6 0 11 -8 10 -17 0 -26 -16 -100 -18 -85 0 7\n-5 10 -11 7 -5 -3 -10 2 -10 13 0 11 -9 31 -20 45 -11 14 -20 27 -20 30 0 6\n47 0 61 -9z m72 -65 c-5 -5 -7 7 -4 29 5 34 6 35 9 8 2 -16 0 -32 -5 -37z\nm-282 25 c83 -43 112 -164 62 -260 -30 -58 -65 -79 -131 -79 -114 1 -191 75\n-192 183 0 90 32 140 107 168 43 16 112 10 154 -12z m236 -66 c-3 -7 -5 -2 -5\n12 0 14 2 19 5 13 2 -7 2 -19 0 -25z m140 -10 c-3 -7 -5 -2 -5 12 0 14 2 19 5\n13 2 -7 2 -19 0 -25z m-1413 13 c3 -4 -6 -19 -21 -32 l-26 -24 17 33 c17 34\n22 37 30 23z m-324 -45 c0 -8 -4 -18 -10 -21 -5 -3 -10 3 -10 14 0 10 -3 28\n-7 38 -6 17 -6 17 10 1 9 -9 17 -23 17 -32z m209 -8 c5 -13 6 -29 4 -35 -3 -7\n2 -13 11 -13 21 0 41 -39 27 -53 -28 -28 3 -97 52 -115 17 -6 32 -10 35 -8 8\n9 -25 47 -51 59 -32 14 -32 41 0 45 38 5 94 -104 63 -123 -11 -7 -2 -34 17\n-53 7 -7 13 -22 13 -33 0 -26 -44 -25 -70 1 -11 11 -24 20 -29 20 -19 0 -98\n81 -116 119 -11 22 -23 41 -26 41 -4 0 -6 30 -5 66 1 56 5 69 25 85 30 25 40\n24 50 -3z m131 -3 c0 -8 5 -15 11 -15 5 0 7 -5 3 -12 -5 -8 -2 -9 9 -5 19 7\n21 -1 7 -23 -8 -13 -13 -11 -35 12 -14 16 -22 33 -19 42 8 20 24 21 24 1z\nm1239 -17 c0 -24 -2 -28 -8 -15 -4 11 -13 -24 -24 -94 -19 -120 -16 -160 4\n-60 7 34 16 61 19 61 3 0 7 -17 8 -37 1 -24 -1 -33 -6 -25 -6 9 -13 -13 -19\n-60 -11 -80 -9 -100 5 -47 l8 34 8 -28 c4 -19 2 -33 -9 -43 -8 -9 -15 -23 -15\n-31 0 -12 5 -11 20 7 18 21 20 21 20 4 0 -16 2 -17 10 -4 12 19 13 43 1 36\n-10 -7 -26 72 -17 81 3 4 6 -6 6 -21 0 -15 4 -25 9 -21 5 3 11 -5 14 -17 l4\n-23 11 25 11 25 1 -25 c1 -14 4 -19 7 -11 5 11 7 11 15 0 7 -10 8 -5 4 16 -6\n28 -5 29 9 11 14 -19 15 -19 16 10 1 25 2 24 10 -11 5 -22 6 -62 4 -90 -4 -50\n-4 -50 6 -12 6 20 15 37 20 37 5 0 9 12 9 27 0 14 3 24 6 20 10 -9 -6 -98 -16\n-92 -5 3 -12 -16 -16 -42 -8 -46 -8 -47 -16 -18 -6 23 -6 20 -4 -17 2 -27 0\n-48 -4 -48 -5 0 -6 -9 -3 -19 3 -11 -2 -30 -11 -43 -17 -25 -21 -42 -7 -34 12\n8 21 -30 16 -68 -3 -17 3 -6 13 24 l18 55 6 -35 c4 -24 1 -38 -8 -43 -8 -4\n-14 -22 -13 -40 l1 -32 9 33 c5 18 13 30 18 28 4 -3 14 27 21 67 17 97 16 97\n25 55 9 -49 23 -49 28 0 3 20 3 7 1 -30 -2 -52 0 -66 10 -62 10 4 12 -2 8 -21\n-3 -17 0 -25 8 -23 7 2 15 -3 18 -11 3 -10 -1 -13 -16 -9 -14 4 -22 0 -25 -11\n-3 -9 -5 -1 -6 17 0 17 -5 32 -11 32 -14 0 -13 -36 2 -59 11 -18 13 -18 26 -3\n12 15 13 14 8 -13 -3 -16 -3 -24 0 -17 3 6 11 9 17 5 7 -4 8 0 4 12 -4 9 -3\n23 2 29 5 6 11 25 14 41 4 29 4 29 6 -5 0 -19 -3 -50 -8 -68 -9 -30 1 -47 12\n-19 7 15 1 -38 -8 -73 -5 -25 -5 -25 6 -2 15 27 29 29 29 2 0 -11 -4 -20 -10\n-20 -5 0 -10 -7 -10 -15 0 -9 6 -12 16 -8 15 5 16 0 10 -43 -5 -35 -4 -45 3\n-34 9 12 11 11 11 -8 0 -18 -3 -21 -16 -14 -9 5 -25 7 -34 5 -10 -3 -24 4 -32\n16 -8 12 -18 18 -21 15 -3 -4 -24 3 -47 15 -22 11 -47 21 -54 21 -7 0 -26 10\n-42 23 -16 12 -31 20 -34 17 -3 -3 -9 10 -15 28 -5 17 -13 32 -17 32 -4 0 -8\n4 -8 10 0 5 -11 25 -24 44 -13 19 -26 56 -30 83 -4 26 -13 57 -21 67 -8 11\n-15 27 -15 35 0 9 -7 29 -15 45 -8 15 -15 33 -15 39 0 7 -16 38 -37 71 -35 58\n-36 62 -34 150 1 66 5 94 16 102 8 6 19 24 26 40 10 27 12 27 19 9 8 -18 9\n-17 9 8 1 15 6 27 11 27 14 0 13 -36 -2 -76 -9 -27 -9 -38 1 -58 8 -14 11 -32\n8 -40 -4 -9 -2 -16 3 -16 6 0 10 5 10 10 0 5 3 9 8 9 19 -3 20 4 3 34 -14 25\n-17 42 -11 73 7 36 8 37 10 9 2 -38 5 -29 20 65 15 94 17 100 30 100 5 0 10\n-15 9 -32z m-1564 12 c-4 -6 5 -10 19 -10 16 0 26 -6 26 -15 0 -8 4 -15 9 -15\n5 0 12 -10 16 -22 11 -36 21 -178 13 -178 -8 0 -9 7 -13 70 -1 19 -2 50 -3 69\n-2 28 -4 32 -17 21 -12 -10 -15 -10 -15 4 0 8 -11 18 -25 22 -17 4 -25 13 -25\n28 0 13 3 26 7 29 10 10 15 8 8 -3z m1613 -46 c0 -38 -15 -38 -20 0 -2 23 0\n32 8 29 6 -2 12 -15 12 -29z m-41 -46 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3\n4 -12 1 -19z m22 -70 c0 -13 -4 -32 -9 -43 -7 -15 -9 -10 -9 23 -1 23 4 42 9\n42 6 0 10 -10 9 -22z m148 -25 c-3 -10 -5 -2 -5 17 0 19 2 27 5 18 2 -10 2\n-26 0 -35z m-67 -20 c0 -30 -9 -27 -15 6 -2 11 0 21 6 21 5 0 9 -12 9 -27z\nm-382 -38 c3 -3 12 1 21 8 14 11 14 10 2 -5 -7 -10 -17 -15 -22 -12 -5 3 -9 1\n-9 -5 0 -5 7 -14 15 -18 8 -5 17 -29 19 -53 5 -44 5 -44 -12 -25 -9 11 -33 32\n-52 46 -19 15 -40 40 -46 56 l-11 30 45 -9 c25 -4 48 -10 50 -13z m359 3 c-3\n-8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m-1560 -40 c-3 -7 -5 -2 -5\n12 0 14 2 19 5 13 2 -7 2 -19 0 -25z m1694 -44 c-2 -25 -7 -42 -11 -37 -9 9\n-1 83 9 83 3 0 5 -21 2 -46z m-1520 -7 c13 -29 94 -78 114 -71 8 4 15 1 15 -5\n0 -6 -7 -11 -15 -11 -12 0 -14 -10 -9 -52 4 -29 6 -59 5 -65 -1 -7 -3 -28 -4\n-47 -1 -19 -4 -34 -7 -34 -18 1 -23 -3 -12 -10 7 -5 13 -29 14 -55 2 -29 7\n-47 14 -47 14 0 13 -17 -1 -40 -7 -13 -6 -13 7 -2 14 11 16 7 16 -30 0 -54 7\n-95 21 -131 6 -16 11 -40 11 -53 0 -14 4 -23 9 -20 5 4 7 -2 4 -12 -3 -12 3\n-22 19 -29 16 -8 18 -12 7 -12 -12 -1 -15 -8 -11 -26 2 -14 8 -23 12 -20 10 6\n22 -24 14 -36 -3 -5 -1 -9 5 -9 6 0 2 -15 -8 -32 -23 -43 -41 -42 -66 4 -13\n25 -28 38 -45 40 -20 2 -26 10 -30 36 -3 22 -13 37 -30 45 -15 8 -26 23 -28\n39 -2 16 -11 28 -23 31 -14 4 -19 14 -19 43 0 20 -3 34 -7 31 -11 -12 -33 15\n-33 41 0 14 -7 33 -16 43 -12 13 -13 22 -5 37 8 16 7 21 -5 26 -9 3 -14 12\n-11 19 13 34 18 61 9 48 -7 -9 -11 -10 -16 -2 -8 12 14 71 26 71 5 0 8 8 8 18\n0 14 -2 15 -10 2 -5 -8 -12 -11 -16 -7 -4 4 -2 13 4 19 7 7 8 16 2 23 -6 8 -4\n18 6 31 14 16 15 17 10 2 -3 -10 -1 -18 4 -18 11 0 13 11 4 34 -3 9 -11 13\n-18 9 -8 -5 -8 -3 0 8 7 8 12 37 12 64 0 52 6 75 30 113 18 28 30 28 43 -1z\nm1493 -17 c4 -25 3 -31 -4 -20 -7 12 -10 8 -10 -15 0 -33 -20 -75 -20 -43 0\n18 22 120 25 115 1 -1 5 -18 9 -37z m-491 -37 c51 -54 55 -127 8 -153 -15 -8\n-37 -7 -86 5 -37 8 -103 15 -149 15 -96 0 -126 13 -107 48 16 31 63 52 113 52\n49 0 114 27 142 58 21 25 36 20 79 -25z m528 -20 c-9 -16 -10 -16 -11 -1 0 9\n3 25 7 35 7 16 8 17 11 1 2 -10 -1 -25 -7 -35z m36 25 c-3 -8 -6 -5 -6 6 -1\n11 2 17 5 13 3 -3 4 -12 1 -19z m-81 -83 c-9 -31 -15 -41 -15 -26 -1 29 23\n112 26 91 2 -8 -3 -37 -11 -65z m61 33 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3\n-3 4 -12 1 -19z m-1367 -12 c0 -8 -7 -21 -15 -30 -8 -8 -15 -21 -16 -28 0 -10\n-2 -10 -6 0 -2 6 -10 10 -16 6 -7 -3 -4 1 6 9 18 15 24 32 7 22 -5 -3 -10 3\n-10 14 0 16 6 21 25 21 15 0 25 -6 25 -14z m1272 -54 c-14 -4 -16 -41 -2 -62\n7 -12 10 -8 10 14 0 16 3 27 6 23 3 -3 3 -30 -2 -59 l-7 -53 -11 43 c-6 24\n-15 40 -20 35 -5 -4 -5 7 -1 27 4 19 11 36 16 38 4 2 6 18 4 35 l-5 32 12 -34\nc9 -27 9 -36 0 -39z m85 -4 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1\n-19z m-1286 -38 c10 0 19 -6 19 -12 0 -10 2 -10 8 0 6 9 12 0 21 -27 8 -27 16\n-38 25 -35 23 9 27 -24 11 -99 -11 -51 -12 -73 -4 -78 8 -5 6 -17 -7 -40 -11\n-19 -21 -36 -24 -39 -3 -3 -5 -23 -5 -45 1 -35 -17 -105 -27 -105 -2 0 -2 17\n0 37 4 35 4 37 -13 23 -16 -14 -17 -13 -10 9 6 19 4 23 -8 18 -14 -5 -15 -2\n-7 19 14 36 12 54 -5 54 -8 0 -15 5 -15 11 0 5 5 7 10 4 6 -3 10 1 10 10 0 12\n-4 14 -19 6 -16 -9 -18 -7 -18 15 0 15 2 22 6 18 6 -8 71 -13 71 -6 0 2 -7 10\n-15 19 -12 12 -13 18 -4 29 7 8 9 17 6 21 -4 3 -9 -1 -13 -10 -5 -13 -10 -14\n-25 -6 -14 7 -19 6 -20 -3 0 -7 -5 0 -10 17 -8 30 -3 75 10 75 11 0 51 40 51\n51 0 6 -9 8 -19 4 -14 -4 -21 0 -26 14 -3 12 -3 26 1 32 4 7 -1 10 -12 7 -17\n-3 -29 -20 -53 -78 -9 -22 -9 -21 -4 10 6 42 34 85 56 85 9 0 19 4 24 8 4 5 9\n3 11 -2 2 -6 12 -11 23 -11z m283 -39 c16 -17 16 -22 3 -48 -8 -15 -25 -37\n-37 -48 -28 -25 -40 -57 -33 -84 5 -20 6 -20 19 -4 12 17 13 16 7 -4 -3 -13\n-10 -23 -17 -23 -6 -1 -21 -16 -33 -35 -17 -26 -18 -32 -5 -28 9 4 -1 -15 -21\n-42 -23 -30 -37 -59 -37 -77 0 -20 -10 -38 -32 -59 -36 -33 -48 -36 -48 -14 0\n8 -4 15 -10 15 -5 0 -10 -9 -10 -20 0 -13 7 -20 20 -20 17 0 19 -4 14 -26 -5\n-19 -4 -25 5 -20 6 4 9 11 6 16 -3 4 2 13 10 20 12 10 13 7 5 -21 -11 -39 -13\n-41 -32 -34 -9 4 -14 14 -11 24 2 9 -3 23 -11 30 -24 20 -19 43 15 72 28 23\n33 33 35 80 2 37 9 59 22 69 19 16 22 22 22 43 0 7 12 25 27 41 19 21 26 38\n25 64 -1 25 9 52 36 93 20 32 40 59 43 59 3 0 14 -9 23 -19z m550 -28 c15 -31\n15 -35 2 -24 -20 17 -20 2 -1 -23 11 -15 15 -16 16 -5 0 8 7 -4 15 -26 8 -22\n18 -49 24 -60 6 -12 6 -34 1 -55 -5 -19 -9 -29 -10 -22 -1 7 -6 10 -13 6 -8\n-5 -9 6 -5 40 7 49 -6 89 -37 115 -13 11 -16 11 -17 0 0 -8 -9 6 -20 30 -16\n35 -17 46 -7 53 23 14 34 8 52 -29z m-186 -13 c6 -55 -15 -109 -45 -121 -14\n-5 -27 -8 -28 -7 -1 2 -5 40 -7 86 l-5 83 41 -3 c39 -3 41 -5 44 -38z m-114\n-22 c9 -83 8 -108 -8 -108 -31 0 -64 44 -70 93 -5 43 -3 49 17 57 46 18 54 13\n61 -42z m789 -9 c-5 -5 -7 7 -4 29 5 34 6 35 9 8 2 -16 0 -32 -5 -37z m-26 19\nc-3 -7 -5 -2 -5 12 0 14 2 19 5 13 2 -7 2 -19 0 -25z m-897 -15 c-1 -27 -1\n-27 -15 -9 -19 25 -19 36 0 36 10 0 15 -10 15 -27z m-481 -20 c-1 -33 -2 -35\n-8 -13 -4 14 -6 31 -3 38 8 22 12 13 11 -25z m351 -13 c0 -5 -5 -10 -11 -10\n-5 0 -7 5 -4 10 3 6 8 10 11 10 2 0 4 -4 4 -10z m1087 -52 c-2 -13 -4 -5 -4\n17 -1 22 1 32 4 23 2 -10 2 -28 0 -40z m-647 7 c0 -5 -5 -3 -10 5 -5 8 -10 20\n-10 25 0 6 5 3 10 -5 5 -8 10 -19 10 -25z m727 3 c-3 -8 -6 -5 -6 6 -1 11 2\n17 5 13 3 -3 4 -12 1 -19z m-1520 -13 c-4 -8 -11 -15 -17 -15 -6 0 -6 7 2 20\n14 22 24 19 15 -5z m333 5 c0 -5 -2 -10 -4 -10 -3 0 -8 5 -11 10 -3 6 -1 10 4\n10 6 0 11 -4 11 -10z m-260 -50 c0 -5 -2 -10 -4 -10 -3 0 -8 5 -11 10 -3 6 -1\n10 4 10 6 0 11 -4 11 -10z m1477 -42 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3\n4 -12 1 -19z m13 -28 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10\n6 0 10 -4 10 -10z m-749 -73 c-13 -13 -15 1 -4 30 7 17 8 17 11 -1 2 -10 -1\n-23 -7 -29z m666 -9 c-3 -7 -5 -2 -5 12 0 14 2 19 5 13 2 -7 2 -19 0 -25z\nm-840 -40 c-3 -7 -5 -2 -5 12 0 14 2 19 5 13 2 -7 2 -19 0 -25z m863 6 c0 -8\n-5 -12 -10 -9 -6 4 -8 11 -5 16 9 14 15 11 15 -7z m-1460 -25 c0 -6 -4 -7 -10\n-4 -5 3 -10 11 -10 16 0 6 5 7 10 4 6 -3 10 -11 10 -16z m631 -26 c-9 -16 -10\n-14 -11 12 0 21 3 26 11 18 8 -8 8 -16 0 -30z m30 14 c-10 -9 -11 -8 -5 6 3\n10 9 15 12 12 3 -3 0 -11 -7 -18z m435 -107 c-19 -43 -20 -25 -4 38 10 37 13\n42 16 22 2 -14 -4 -41 -12 -60z m-926 60 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10\n10 0 6 5 10 10 10 6 0 10 -4 10 -10z m514 -15 c-4 -8 -8 -15 -10 -15 -2 0 -4\n7 -4 15 0 8 4 15 10 15 5 0 7 -7 4 -15z m-57 -187 c-3 -7 -5 -2 -5 12 0 14 2\n19 5 13 2 -7 2 -19 0 -25z m-557 -133 c-16 -20 -3 -40 17 -24 12 10 16 10 24\n-2 5 -8 9 -21 8 -29 0 -9 -5 -6 -13 9 -9 16 -16 20 -20 12 -4 -6 -12 -8 -18\n-5 -7 4 -8 2 -4 -4 4 -6 0 -24 -9 -39 -16 -27 -16 -27 -10 -3 4 14 6 36 6 49\n-1 22 14 51 26 51 3 0 0 -7 -7 -15z m835 -5 c3 -5 1 -10 -4 -10 -6 0 -11 5\n-11 10 0 6 2 10 4 10 3 0 8 -4 11 -10z m-898 -52 c-3 -7 -5 -2 -5 12 0 14 2\n19 5 13 2 -7 2 -19 0 -25z m558 -7 c-3 -5 0 -11 7 -13 7 -3 8 -10 4 -17 -12\n-19 -26 5 -26 44 1 25 2 27 11 12 5 -9 8 -21 4 -26z m-108 -33 c-3 -8 -6 -5\n-6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z M1423 2234 c-3 -9 -13 -14 -24 -11\n-12 3 -16 0 -12 -9 3 -8 16 -14 29 -14 19 0 24 5 24 25 0 28 -8 33 -17 9z\nM1481 2151 c-11 -7 -11 -13 -1 -27 9 -16 11 -16 6 -2 -3 10 -1 20 4 23 5 3 11\n-3 13 -12 4 -16 5 -16 6 -1 1 21 -11 29 -28 19z M1120 2120 c-13 -8 -12 -10 3\n-10 9 0 17 5 17 10 0 12 -1 12 -20 0z M1073 2093 c-15 -5 -17 -29 -4 -37 5 -3\n11 5 13 19 3 14 5 25 4 24 0 0 -7 -3 -13 -6z M795 2009 c-4 -6 -3 -14 2 -18 6\n-3 13 -16 17 -28 4 -13 12 -23 18 -23 7 0 6 5 -2 15 -12 15 -5 39 10 30 4 -3\n7 3 6 12 -3 21 -41 30 -51 12z M760 1996 c0 -4 7 -14 15 -22 8 -9 15 -11 15\n-6 0 5 -7 15 -15 22 -8 7 -15 9 -15 6z M1155 1738 c-41 -14 -83 -55 -107 -103\n-17 -33 -20 -51 -15 -119 5 -77 6 -80 49 -123 52 -52 98 -66 170 -53 119 23\n182 99 181 217 -1 72 -19 111 -76 157 -33 26 -47 31 -105 33 -37 1 -80 -2 -97\n-9z m172 -25 c19 -9 47 -34 61 -56 37 -55 38 -154 4 -210 -49 -78 -179 -119\n-252 -79 -70 38 -111 166 -79 249 14 37 57 82 94 99 42 18 130 17 172 -3z\nM1190 1600 c-24 -24 -24 -29 -4 -58 27 -40 74 -22 74 28 0 49 -36 64 -70 30z\nm24 -21 c-3 -5 -10 -7 -15 -3 -5 3 -7 10 -3 15 3 5 10 7 15 3 5 -3 7 -10 3\n-15z M1698 1599 c-10 -5 -18 -20 -18 -32 0 -51 64 -67 76 -20 12 45 -21 75\n-58 52z m22 -19 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0\n10 -4 10 -10z M607 1533 c-10 -9 -9 -61 1 -67 4 -2 7 13 7 35 0 21 0 39 -1 39\n0 0 -4 -3 -7 -7z M639 1378 c11 -18 30 -40 43 -48 15 -10 10 1 -17 33 -46 55\n-55 60 -26 15z M2050 1241 c0 -12 -5 -31 -10 -41 -6 -11 -6 -21 -1 -24 15 -10\n36 63 22 77 -8 8 -11 5 -11 -12z M2120 1242 c0 -12 -4 -22 -9 -22 -5 0 -12 -8\n-14 -17 -3 -11 -5 -6 -6 11 -1 38 -7 31 -15 -19 -4 -26 -3 -35 3 -26 5 8 16\n11 24 8 12 -4 17 4 22 34 4 22 4 43 1 46 -3 4 -6 -3 -6 -15z M2066 979 c-4\n-20 -10 -28 -17 -23 -8 4 -9 3 -5 -4 12 -20 24 -13 35 19 13 38 13 39 2 39 -5\n0 -11 -14 -15 -31z M2076 932 c-4 -13 -5 -26 -2 -29 10 -11 18 4 14 29 l-4 23\n-8 -23z M2187 913 c-2 -4 -7 -26 -10 -48 l-6 -40 14 44 c13 40 14 65 2 44z\nM2215 780 c-3 -5 -1 -10 4 -10 6 0 11 5 11 10 0 6 -2 10 -4 10 -3 0 -8 -4 -11\n-10z M2231 744 c0 -11 3 -14 6 -6 3 7 2 16 -1 19 -3 4 -6 -2 -5 -13z M2210\n690 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0 -10 -4 -10 -10z\nM2276 667 c-7 -30 -33 -32 -28 -2 2 10 -1 14 -7 10 -6 -3 -11 -18 -10 -33 0\n-15 3 -22 5 -15 3 7 11 10 19 7 15 -6 39 30 32 49 -2 7 -7 -1 -11 -16z M2297\n644 c-4 -4 -7 -19 -6 -33 l0 -26 10 24 c10 26 8 47 -4 35z M651 868 c0 -14 -4\n-35 -7 -45 -4 -14 -4 -15 4 -4 5 7 15 10 21 7 7 -5 11 1 11 14 0 12 -4 19 -9\n15 -5 -3 -12 5 -14 17 -4 21 -4 20 -6 -4z M707 764 c-4 -4 -7 -14 -7 -23 1\n-13 3 -12 12 4 11 19 11 19 20 0 7 -19 8 -19 5 -1 -2 21 -19 31 -30 20z M696\n694 c-5 -14 -4 -15 9 -4 17 14 19 20 6 20 -5 0 -12 -7 -15 -16z M738 683 c7\n-3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z M777 610 c-3 -11 -2 -20 2\n-20 3 0 12 9 19 20 10 16 10 20 -2 20 -7 0 -16 -9 -19 -20z M840 533 c0 -22 2\n-25 10 -13 13 20 13 40 0 40 -5 0 -10 -12 -10 -27z M973 929 c10 -6 22 -22 27\n-35 5 -13 15 -24 21 -24 6 0 8 7 5 16 -3 9 -6 21 -6 26 0 6 -3 9 -6 5 -4 -3\n-13 0 -21 8 -8 8 -20 15 -26 15 -7 0 -4 -5 6 -11z M971 894 c0 -11 3 -14 6 -6\n3 7 2 16 -1 19 -3 4 -6 -2 -5 -13z M969 729 c-9 -17 -8 -25 6 -38 15 -15 16\n-14 14 9 -2 14 0 31 4 38 5 6 4 12 -2 12 -6 0 -15 -10 -22 -21z M1090 700 c-6\n-12 -9 -24 -7 -27 3 -2 11 5 17 17 6 12 9 24 7 27 -3 2 -11 -5 -17 -17z M1307\n690 c-3 -11 -1 -23 4 -26 5 -3 9 6 9 20 0 31 -6 34 -13 6z M1331 594 c0 -11 3\n-14 6 -6 3 7 2 16 -1 19 -3 4 -6 -2 -5 -13z M1800 582 c0 -26 9 -28 36 -6 14\n12 15 14 3 11 -9 -3 -22 0 -28 6 -8 8 -11 5 -11 -11z M1275 560 c-3 -5 -1 -10\n4 -10 6 0 11 5 11 10 0 6 -2 10 -4 10 -3 0 -8 -4 -11 -10z M1780 561 c0 -6 4\n-13 10 -16 6 -3 7 1 4 9 -7 18 -14 21 -14 7z M1270 519 c0 -13 4 -18 12 -13 8\n5 9 2 5 -9 -3 -10 -2 -17 2 -17 5 0 11 7 15 15 3 8 1 15 -4 15 -6 0 -10 7 -10\n15 0 8 -4 15 -10 15 -5 0 -10 -9 -10 -21z M1136 504 c-6 -15 -4 -15 11 -3 10\n7 20 15 22 16 2 2 -3 3 -11 3 -9 0 -19 -7 -22 -16z M1212 488 c-7 -7 -12 -18\n-12 -25 0 -7 -3 -12 -7 -10 -5 1 -10 -2 -12 -8 -3 -5 4 -12 13 -13 10 -2 16 0\n12 6 -3 5 1 15 9 22 13 11 15 10 9 -6 -5 -18 -5 -18 6 -1 15 23 0 53 -18 35z\nM1080 427 c0 -13 -5 -28 -12 -35 -9 -9 -6 -11 11 -7 18 3 22 0 20 -18 -1 -12\n1 -29 4 -37 3 -8 8 -26 11 -40 3 -14 2 5 0 43 -4 51 -3 67 8 67 8 0 7 4 -4 11\n-10 5 -18 17 -18 24 0 8 -4 15 -10 15 -5 0 -10 -10 -10 -23z M1807 438 c-3 -9\n1 -33 8 -54 8 -22 14 -33 15 -26 0 7 5 10 10 7 6 -3 10 -1 10 5 0 6 4 9 9 6 4\n-3 3 13 -3 36 -6 23 -12 34 -14 24 -4 -16 -4 -16 -16 0 -11 15 -14 15 -19 2z\nM1300 393 c0 -14 -2 -15 -9 -4 -5 8 -11 9 -15 3 -3 -6 -2 -13 4 -17 6 -4 8\n-10 6 -14 -3 -4 1 -29 8 -57 l13 -49 -1 78 c0 42 -2 77 -3 77 -2 0 -3 -8 -3\n-17z M1324 387 c0 -14 7 -23 18 -23 21 0 21 1 8 27 -14 26 -28 24 -26 -4z\nM1256 367 c3 -10 9 -15 12 -12 3 3 0 11 -7 18 -10 9 -11 8 -5 -6z M1334 334\nc3 -9 6 -25 6 -37 0 -20 2 -19 15 7 16 31 12 46 -12 46 -10 0 -13 -6 -9 -16z\nM1156 293 c-4 -9 -1 -23 7 -30 12 -12 13 -9 9 17 -5 34 -7 37 -16 13z M1462\n280 c0 -14 2 -19 5 -12 2 6 2 18 0 25 -3 6 -5 1 -5 -13z M1970 211 c0 -34 2\n-61 5 -61 2 0 15 5 29 11 20 9 23 16 16 38 -4 14 -7 29 -6 33 1 3 -2 10 -6 14\n-5 4 -8 -4 -8 -17 0 -18 -3 -20 -9 -10 -5 8 -7 20 -4 27 2 6 0 15 -6 19 -7 4\n-11 -14 -11 -54z M1233 254 c3 -4 -1 -13 -9 -21 -12 -12 -17 -13 -30 -2 -24\n20 -35 -7 -16 -43 13 -27 13 -33 -1 -57 -20 -34 -26 -112 -9 -118 8 -3 12 6\n12 26 0 46 24 97 49 104 13 3 21 0 21 -8 0 -7 7 -18 15 -25 12 -10 15 -10 15\n4 0 9 5 16 10 16 6 0 10 10 10 21 0 18 -2 19 -15 9 -11 -9 -15 -9 -15 -1 0 7\n-4 10 -9 6 -14 -8 -23 31 -16 65 5 21 3 30 -6 30 -7 0 -10 -3 -6 -6z M1098\n205 c-3 -14 -1 -25 3 -25 5 0 9 11 9 25 0 14 -2 25 -4 25 -2 0 -6 -11 -8 -25z\nM1216 25 c-4 -12 4 -15 34 -15 27 0 40 4 40 13 0 19 -66 21 -74 2z M1316 31\nc-4 -7 -5 -15 -2 -18 9 -9 19 4 14 18 -4 11 -6 11 -12 0z\"/>\n</g>\n</svg>",
27
+ image: "<!-- Lucide icon \"image\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Image</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\" />\n <circle cx=\"9\" cy=\"9\" r=\"2\" />\n <path d=\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\" />\n</svg>",
28
+ imessage: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 41.5 51\" color=\"#000\" fill=\"currentColor\">\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M40.2,17.4c-3.4,2.1-5.5,5.7-5.5,9.7c0,4.5,2.7,8.6,6.8,10.3c-0.8,2.6-2,5-3.5,7.2c-2.2,3.1-4.5,6.3-7.9,6.3s-4.4-2-8.4-2\n c-3.9,0-5.3,2.1-8.5,2.1s-5.4-2.9-7.9-6.5C2,39.5,0.1,33.7,0,27.6c0-9.9,6.4-15.2,12.8-15.2c3.4,0,6.2,2.2,8.3,2.2\n c2,0,5.2-2.3,9-2.3C34.1,12.2,37.9,14.1,40.2,17.4z M28.3,8.1C30,6.1,30.9,3.6,31,1c0-0.3,0-0.7-0.1-1c-2.9,0.3-5.6,1.7-7.5,3.9\n c-1.7,1.9-2.7,4.3-2.8,6.9c0,0.3,0,0.6,0.1,0.9c0.2,0,0.5,0.1,0.7,0.1C24.1,11.6,26.6,10.2,28.3,8.1z\" />\n</svg>",
29
+ katana: "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 180 180\"\n>\n <title>Katana</title>\n <rect width=\"180\" height=\"180\" fill=\"#EEFF38\" />\n <g transform=\"matrix(0.59 0 0 0.59 -148.35268 -146.39143)\" fill=\"#092332\">\n <path d=\"M415.791 359.592H381.3L340.784 400.746V359.592H315.852V453.842H340.784V435.503L358.653 417.378L384.417 454.055H415.583L376.729 399.04L415.791 359.592Z\" />\n <path d=\"M438.692 359.659V358.588C442.452 356.662 447.095 353.451 451.076 348.742C459.258 339.109 458.595 329.477 458.595 329.477H432.058V344.889V358.588V359.659H419.011V381.279H432.058V419.167C432.058 432.866 432.058 454.058 458.595 454.058C485.131 454.058 490.438 452.346 490.438 452.346V427.515C465.007 428.799 458.595 430.94 458.595 417.026V415.1V381.279H490.438V359.659H458.595H438.692Z\" />\n </g>\n</svg>",
30
+ "mastra-vector": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 400 400\">\n <title>Mastra</title>\n <rect width=\"400\" height=\"400\" rx=\"20\" fill=\"#000\"/>\n <g transform=\"matrix(10 0 0 10 30 30)\">\n <path fill=\"#fff\" d=\"m 4.99805,17.3481 c 2.48432,0 4.49804,2.0147 4.49804,4.4991 -1.9e-4,2.4841 -2.01384,4.498 -4.49804,4.498 C 2.51394,26.3451 0.500196,24.3313 0.5,21.8472 0.5,19.3629 2.51382,17.3483 4.99805,17.3481 Z M 10.8867,5.65479 c 2.4842,0 4.4979,2.01388 4.4981,4.49801 0,0.3397 -0.0378,0.6704 -0.1093,0.9884 -0.3137,1.395 -0.5802,2.9769 0.2173,4.1636 l 1.2647,1.8819 c 0.0788,0.1172 0.2152,0.1796 0.3562,0.1711 0.1232,-0.0074 0.2388,-0.0687 0.3077,-0.1712 l 1.2662,-1.8846 c 0.7896,-1.1752 0.536,-2.7394 0.2329,-4.1224 -0.0682,-0.3109 -0.1041,-0.6339 -0.1041,-0.9652 3e-4,-2.48416 2.0149,-4.49809 4.499,-4.49809 2.484,2.2e-4 4.4978,2.01407 4.4981,4.49809 0,0.3792 -0.047,0.7475 -0.1355,1.0993 -0.3233,1.2855 -0.5963,2.7204 0.0666,3.8682 l 1.2144,2.1029 c 0.0229,0.0397 0.0655,0.0633 0.1113,0.0633 2.4842,2e-4 4.4981,2.0148 4.4981,4.4991 -2e-4,2.4841 -2.014,4.4979 -4.4981,4.498 -2.4842,0 -4.4978,-2.0139 -4.498,-4.498 0,-0.3875 0.0489,-0.7636 0.141,-1.1223 0.3325,-1.2956 0.6165,-2.745 -0.0524,-3.9033 l -1.1565,-2.003 c -0.0388,-0.0672 -0.1113,-0.1052 -0.189,-0.1052 -0.0171,0 -0.033,0.0075 -0.0426,0.0217 l -1.2832,1.9092 c -0.8036,1.1956 -0.5274,2.7915 -0.2056,4.1956 0.0742,0.3238 0.1135,0.6609 0.1135,1.0073 -2e-4,2.484 -2.0141,4.4978 -4.4981,4.498 -2.4842,0 -4.4988,-2.0139 -4.499,-4.498 0,-0.2604 0.0222,-0.5156 0.0647,-0.7638 0.2208,-1.2886 0.3808,-2.7164 -0.3484,-3.8015 L 11.7419,15.9801 C 11.1829,15.1483 10.2191,14.7141 9.28286,14.3567 7.5906,13.7106 6.38867,12.0721 6.38867,10.1528 6.38886,7.66869 8.40254,5.65482 10.8867,5.65479 Z\"/>\n </g>\n</svg>",
31
+ messaging: "<!-- Lucide icon \"messages-square\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Messaging</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z\" />\n <path d=\"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1\" />\n</svg>",
32
+ pdf: "<!-- Lucide icon \"file-type-2\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>PDF</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4\" />\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\n <path d=\"M2 13v-1h6v1\" />\n <path d=\"M5 12v6\" />\n <path d=\"M4 18h2\" />\n</svg>",
33
+ pinecone: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 28 30\" color=\"#000\" fill=\"none\">\n <title>Pinecone</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <g stroke=\"currentColor\" stroke-linecap=\"square\" fill=\"none\">\n <path d=\"m14.58 5.24.7-3.89\" stroke-width=\"1.77\"/>\n <path d=\"m17.8 3.86-2.44-2.98-3.32 1.94\" stroke-linejoin=\"round\" stroke-width=\"1.77\"/>\n <path d=\"m11.66 21.84.68-3.89\" stroke-width=\"1.77\"/>\n <path d=\"m14.88 20.45-2.46-2.97-3.31 1.95\" stroke-linejoin=\"round\" stroke-width=\"1.77\"/>\n <path d=\"m13.07 13.82.68-3.89\" stroke-width=\"1.77\"/>\n <path d=\"m16.29 12.43-2.45-2.96-3.31 1.94\" stroke-linejoin=\"round\" stroke-width=\"1.77\"/>\n <circle cx=\"10.77\" cy=\"26.85\" fill=\"currentColor\" stroke=\"none\" r=\"1.63\"/>\n <path d=\"m6.15 21.5-2.99 2.08\" stroke-width=\"1.68\"/>\n <path d=\"m6.33 24.87-3.53-1.04.26-3.67\" stroke-linejoin=\"round\" stroke-width=\"1.68\"/>\n <path d=\"m17.01 23.45 2.08 3\" stroke-width=\"1.68\"/>\n <path d=\"m15.67 26.55 3.67.25 1.04-3.51\" stroke-linejoin=\"round\" stroke-width=\"1.68\"/>\n <path d=\"m20.42 17.36 3.66.66\" stroke-width=\"1.72\"/>\n <path d=\"m21.68 20.57 2.84-2.47-1.79-3.29\" stroke-linejoin=\"round\" stroke-width=\"1.72\"/>\n <path d=\"m19.35 10.1 3.26-1.8\" stroke-width=\"1.72\"/>\n <path d=\"m19.53 6.65 3.47 1.44-.65 3.69\" stroke-linejoin=\"round\" stroke-width=\"1.72\"/>\n <path d=\"m4.97 14.64-3.67-.64\" stroke-width=\"1.72\"/>\n <path d=\"m2.68 17.22-1.82-3.29 2.81-2.48\" stroke-linejoin=\"round\" stroke-width=\"1.72\"/>\n <path d=\"m8.45 8.17-2.45-2.8\" stroke-width=\"1.72\"/>\n <path d=\"m9.46 4.88-3.75.16-.66 3.69\" stroke-linejoin=\"round\" stroke-width=\"1.72\"/>\n </g>\n</svg>",
34
+ presentation: "<!-- Lucide icon \"presentation\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Presentation</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M2 3h20\" />\n <path d=\"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3\" />\n <path d=\"m7 21 5-5 5 5\" />\n</svg>",
35
+ qdrant: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <title>Qdrant</title>\n <path fill=\"#DC244C\" d=\"m12 16.5 3.897-2.25v-4.5L12 7.5 8.103 9.75v4.5zM1.607 18 12 24l3.897-2.25v-4.5L12 19.5l-6.495-3.75v-7.5L12 4.5l6.495 3.75v15L22.393 21V6L12 0 1.607 6Z\"/>\n</svg>",
36
+ queue: "<!-- Lucide icon \"list-ordered\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Queue</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M10 12h11\" />\n <path d=\"M10 18h11\" />\n <path d=\"M10 6h11\" />\n <path d=\"M4 10h2\" />\n <path d=\"M4 6h1v4\" />\n <path d=\"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1\" />\n</svg>",
37
+ rag: "<!-- Lucide icon \"brain-circuit\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>RAG</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z\" />\n <path d=\"M9 13a4.5 4.5 0 0 0 3-4\" />\n <path d=\"M6.003 5.125A3 3 0 0 0 6.401 6.5\" />\n <path d=\"M3.477 10.896a4 4 0 0 1 .585-.396\" />\n <path d=\"M6 18a4 4 0 0 1-1.967-.516\" />\n <path d=\"M12 13h4\" />\n <path d=\"M12 18h6a2 2 0 0 1 2 2v1\" />\n <path d=\"M12 8h8\" />\n <path d=\"M16 8V5a2 2 0 0 1 2-2\" />\n <circle cx=\"16\" cy=\"13\" r=\".5\" />\n <circle cx=\"18\" cy=\"3\" r=\".5\" />\n <circle cx=\"20\" cy=\"21\" r=\".5\" />\n <circle cx=\"20\" cy=\"8\" r=\".5\" />\n</svg>",
38
+ resend: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" color=\"#000\" fill=\"currentColor\">\n <title>Resend</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M14.679 0c4.648 0 7.413 2.765 7.413 6.434s-2.765 6.434-7.413 6.434H12.33L24 24h-8.245l-8.88-8.44c-.636-.588-.93-1.273-.93-1.86 0-.831.587-1.565 1.713-1.883l4.574-1.224c1.737-.465 2.936-1.81 2.936-3.572 0-2.153-1.761-3.4-3.939-3.4H0V0z\"/>\n</svg>",
39
+ s3: svg_amazon,
40
+ scheduler: "<!-- Lucide icon \"clock\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Scheduler</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"12 6 12 12 16 14\" />\n</svg>",
41
+ skills: "<!-- Lucide icon \"sparkles\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Skills</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\" />\n <path d=\"M20 3v4\" />\n <path d=\"M22 5h-4\" />\n <path d=\"M4 17v2\" />\n <path d=\"M5 18H3\" />\n</svg>",
42
+ slack: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"73.6 73.6 122.8 122.8\">\n <path fill=\"#E01E5A\" d=\"M99.4,151.2c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h12.9V151.2z\" />\n <path fill=\"#E01E5A\" d=\"M105.9,151.2c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v32.3c0,7.1-5.8,12.9-12.9,12.9\n s-12.9-5.8-12.9-12.9V151.2z\" />\n <path fill=\"#36C5F0\" d=\"M118.8,99.4c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v12.9H118.8z\" />\n <path fill=\"#36C5F0\" d=\"M118.8,105.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9H86.5c-7.1,0-12.9-5.8-12.9-12.9\n s5.8-12.9,12.9-12.9H118.8z\" />\n <path fill=\"#2EB67D\" d=\"M170.6,118.8c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9h-12.9V118.8z\" />\n <path fill=\"#2EB67D\" d=\"M164.1,118.8c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9V86.5c0-7.1,5.8-12.9,12.9-12.9\n c7.1,0,12.9,5.8,12.9,12.9V118.8z\" />\n <path fill=\"#ECB22E\" d=\"M151.2,170.6c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9v-12.9H151.2z\" />\n <path fill=\"#ECB22E\" d=\"M151.2,164.1c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h32.3c7.1,0,12.9,5.8,12.9,12.9\n c0,7.1-5.8,12.9-12.9,12.9H151.2z\" />\n</svg>",
43
+ sqs: svg_amazon,
44
+ "supabase-vector": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <title>Supabase</title>\n <path fill=\"#3ECF8E\" d=\"M11.9 1.036c-.015-.986-1.26-1.41-1.874-.637L.764 12.05C-.33 13.427.65 15.455 2.409 15.455h9.579l.113 7.51c.014.985 1.259 1.408 1.873.636l9.262-11.653c1.093-1.375.113-3.403-1.645-3.403h-9.642z\"/>\n</svg>",
45
+ tasks: "<!-- Lucide icon \"list-todo\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Tasks</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <rect x=\"3\" y=\"5\" width=\"6\" height=\"6\" rx=\"1\" />\n <path d=\"m3 17 2 2 4-4\" />\n <path d=\"M13 6h8\" />\n <path d=\"M13 12h8\" />\n <path d=\"M13 18h8\" />\n</svg>",
46
+ teams: "<!-- Microsoft Office Teams (2025–present)\n https://upload.wikimedia.org/wikipedia/commons/0/07/Microsoft_Office_Teams_%282025%E2%80%93present%29.svg\n Wikimedia Commons\n-->\n<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"4 4 36 38\" width=\"24\" height=\"24\">\n <title>Microsoft Teams</title><path fill=\"url(#a)\" d=\"M21.9999 20h12c3.3137 0 6 2.6863 6 6v10c0 3.3137-2.6863 6-6 6s-6-2.6863-6-6V26c0-3.3137-2.6863-6-6-6\"/><path fill=\"url(#b)\" d=\"M7.99988 24c0-3.3137 2.68632-6 6.00002-6h8c3.3137 0 6 2.6863 6 6v12c0 3.3137 2.6863 6 6 6l-16.0001-.0001c-5.5228 0-9.99992-4.4771-9.99992-10z\"/><path fill=\"url(#c)\" fill-opacity=\".7\" d=\"M7.99988 24c0-3.3137 2.68632-6 6.00002-6h8c3.3137 0 6 2.6863 6 6v12c0 3.3137 2.6863 6 6 6l-16.0001-.0001c-5.5228 0-9.99992-4.4771-9.99992-10z\"/><path fill=\"url(#d)\" fill-opacity=\".7\" d=\"M7.99988 24c0-3.3137 2.68632-6 6.00002-6h8c3.3137 0 6 2.6863 6 6v12c0 3.3137 2.6863 6 6 6l-16.0001-.0001c-5.5228 0-9.99992-4.4771-9.99992-10z\"/><path fill=\"url(#e)\" d=\"M32.9999 18c2.7614 0 5-2.2386 5-5s-2.2386-5-5-5-5 2.2386-5 5 2.2386 5 5 5\"/><path fill=\"url(#f)\" fill-opacity=\".46\" d=\"M32.9999 18c2.7614 0 5-2.2386 5-5s-2.2386-5-5-5-5 2.2386-5 5 2.2386 5 5 5\"/><path fill=\"url(#g)\" fill-opacity=\".4\" d=\"M32.9999 18c2.7614 0 5-2.2386 5-5s-2.2386-5-5-5-5 2.2386-5 5 2.2386 5 5 5\"/><path fill=\"url(#h)\" d=\"M17.9999 16c3.3137 0 6-2.6863 6-6 0-3.31371-2.6863-6-6-6s-6 2.68629-6 6c0 3.3137 2.6863 6 6 6\"/><path fill=\"url(#i)\" fill-opacity=\".6\" d=\"M17.9999 16c3.3137 0 6-2.6863 6-6 0-3.31371-2.6863-6-6-6s-6 2.68629-6 6c0 3.3137 2.6863 6 6 6\"/><path fill=\"url(#j)\" fill-opacity=\".5\" d=\"M17.9999 16c3.3137 0 6-2.6863 6-6 0-3.31371-2.6863-6-6-6s-6 2.68629-6 6c0 3.3137 2.6863 6 6 6\"/><rect width=\"16\" height=\"16\" x=\"4\" y=\"23\" fill=\"url(#k)\" rx=\"3.25\"/><rect width=\"16\" height=\"16\" x=\"4\" y=\"23\" fill=\"url(#l)\" fill-opacity=\".7\" rx=\"3.25\"/><path fill=\"#fff\" d=\"M15.4792 28.1054h-2.4471v7.466h-2.0648v-7.466H8.52014v-1.6768h6.95906z\"/><defs><radialGradient id=\"a\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(13.4784 0 0 33.2694 39.7967 22.1739)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#a98aff\"/><stop offset=\".14\" stop-color=\"#8c75ff\"/><stop offset=\".565\" stop-color=\"#5f50e2\"/><stop offset=\".9\" stop-color=\"#3c2cb8\"/></radialGradient><radialGradient id=\"b\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(68.1539 -7.71566095 14.71355834)scale(32.752 33.1231)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#85c2ff\"/><stop offset=\".69\" stop-color=\"#7588ff\"/><stop offset=\"1\" stop-color=\"#6459fe\"/></radialGradient><radialGradient id=\"d\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(113.326 8.09285255 17.64474501)scale(19.2186 15.4273)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#bd96ff\"/><stop offset=\".686685\" stop-color=\"#bd96ff\" stop-opacity=\"0\"/></radialGradient><radialGradient id=\"e\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(0 -10 12.6216 0 32.9999 11.5714)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".268201\" stop-color=\"#6868f7\"/><stop offset=\"1\" stop-color=\"#3923b1\"/></radialGradient><radialGradient id=\"f\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(40.0516 -.03068196 44.8729095)scale(7.14629 10.3363)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".270711\" stop-color=\"#a1d3ff\"/><stop offset=\".813393\" stop-color=\"#a1d3ff\" stop-opacity=\"0\"/></radialGradient><radialGradient id=\"g\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(-41.6581 32.11799918 -43.41948423)scale(8.51275 20.8824)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#e3acfd\"/><stop offset=\".816041\" stop-color=\"#9fa2ff\" stop-opacity=\"0\"/></radialGradient><radialGradient id=\"h\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(0 -12 15.146 0 17.9999 8.28571)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".268201\" stop-color=\"#8282ff\"/><stop offset=\"1\" stop-color=\"#3923b1\"/></radialGradient><radialGradient id=\"i\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(40.0516 -3.15465147 21.41641466)scale(8.57554 12.4035)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".270711\" stop-color=\"#a1d3ff\"/><stop offset=\".813393\" stop-color=\"#a1d3ff\" stop-opacity=\"0\"/></radialGradient><radialGradient id=\"j\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(-41.6581 20.38180375 -26.51566158)scale(10.2153 25.0589)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#e3acfd\"/><stop offset=\".816041\" stop-color=\"#9fa2ff\" stop-opacity=\"0\"/></radialGradient><radialGradient id=\"k\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(45 -25.76345597 16.32842712)scale(22.6274)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".046875\" stop-color=\"#688eff\"/><stop offset=\".946875\" stop-color=\"#230f94\"/></radialGradient><radialGradient id=\"l\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(0 11.2 -13.0702 0 12 32.6)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".570647\" stop-color=\"#6965f6\" stop-opacity=\"0\"/><stop offset=\"1\" stop-color=\"#8f8fff\"/></radialGradient><linearGradient id=\"c\" x1=\"20.5936\" x2=\"20.5936\" y1=\"18\" y2=\"42\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".801159\" stop-color=\"#6864f6\" stop-opacity=\"0\"/><stop offset=\"1\" stop-color=\"#5149de\"/></linearGradient></defs></svg>",
47
+ telegram: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 1000 1000\">\n <defs>\n <linearGradient id=\"g\" x1=\"50%\" x2=\"50%\" y1=\"0%\" y2=\"99.2583404%\">\n <stop offset=\"0%\" stop-color=\"#2AABEE\" />\n <stop offset=\"100%\" stop-color=\"#229ED9\" />\n </linearGradient>\n </defs>\n <circle cx=\"500\" cy=\"500\" r=\"500\" fill=\"url(#g)\" />\n <path fill=\"#FFF\" fill-rule=\"evenodd\" d=\"M226.328419,494.722069 C372.088573,431.216685 469.284839,389.350049 517.917216,369.122161 C656.772535,311.36743 685.625481,301.334815 704.431427,301.003532 C708.567621,300.93067 717.815839,301.955743 723.806446,306.816707 C728.864797,310.92121 730.256552,316.46581 730.922551,320.357329 C731.588551,324.248848 732.417879,333.113828 731.758626,340.040666 C724.234007,419.102486 691.675104,610.964674 675.110982,699.515267 C668.10208,736.984342 654.301336,749.547532 640.940618,750.777006 C611.904684,753.448938 589.856115,731.588035 561.733393,713.153237 C517.726886,684.306416 492.866009,666.349181 450.150074,638.200013 C400.78442,605.66878 432.786119,587.789048 460.919462,558.568563 C468.282091,550.921423 596.21508,434.556479 598.691227,424.000355 C599.00091,422.680135 599.288312,417.758981 596.36474,415.160431 C593.441168,412.561881 589.126229,413.450484 586.012448,414.157198 C581.598758,415.158943 511.297793,461.625274 375.109553,553.556189 C355.154858,567.258623 337.080515,573.934908 320.886524,573.585046 C303.033948,573.199351 268.692754,563.490928 243.163606,555.192408 C211.851067,545.013936 186.964484,539.632504 189.131547,522.346309 C190.260287,513.342589 202.659244,504.134509 226.328419,494.722069 Z\" />\n</svg>",
48
+ textract: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\n <title>Amazon Textract</title>\n <rect width=\"24\" height=\"24\" fill=\"#01A88D\"/>\n <path fill=\"#FFFFFF\" d=\"M10.4958528,9.80844542 C11.9822217,9.80844542 13.19215,11.017579 13.19215,12.5029715 C13.19215,13.9883641 11.9822217,15.1974977 10.4958528,15.1974977 C9.00948386,15.1974977 7.80055714,13.9883641 7.80055714,12.5029715 C7.80055714,11.017579 9.00948386,9.80844542 10.4958528,9.80844542 L10.4958528,9.80844542 Z M10.4958528,16.198436 C12.3638299,16.198436 13.8962722,14.8031279 14.1436665,13.0034407 L18.0288585,13.0034407 L18.0288585,12.0025023 L14.1436665,12.0025023 C13.8962722,10.2028151 12.3638299,8.80750704 10.4958528,8.80750704 C8.62887727,8.80750704 7.09543335,10.2028151 6.84904066,12.0025023 L5.38270368,12.0025023 L6.42536543,10.2568658 L5.56399261,9.74438536 L4.07061254,12.2467313 C3.97646249,12.4048796 3.97646249,12.6010635 4.07061254,12.7592118 L5.56399261,15.2615577 L6.42536543,14.7490773 L5.38270368,13.0034407 L6.84904066,13.0034407 C7.09543335,14.8031279 8.62887727,16.198436 10.4958528,16.198436 L10.4958528,16.198436 Z M9.99505462,12.0355333 L8.9994679,12.0355333 L8.9994679,11.0345949 L12.0042568,11.0345949 L12.0042568,12.0355333 L10.9966509,12.0355333 L10.9966509,14.5819206 L9.99505462,14.5819206 L9.99505462,12.0355333 Z M15.9946164,5.70359712 L18.2842655,7.97772912 L15.9946164,7.97772912 L15.9946164,5.70359712 Z M19.8527653,8.12286519 L15.8473818,4.146137 C15.7532317,4.05304973 15.626029,4 15.4938183,4 L9.46921656,4 C9.19177439,4 8.96841842,4.2242102 8.96841842,4.50046919 L8.96841842,7.26305912 L9.97001471,7.26305912 L9.97001471,5.00093838 L14.9930201,5.00093838 L14.9930201,8.47819831 C14.9930201,8.7544573 15.2173777,8.9786675 15.4938183,8.9786675 L18.9984037,8.9786675 L18.9984037,18.9990616 L9.97001471,18.9990616 L9.97001471,17.4796372 L8.96841842,17.4796372 L8.96841842,19.4995308 C8.96841842,19.7757898 9.19177439,20 9.46921656,20 L19.4992019,20 C19.776644,20 20,19.7757898 20,19.4995308 L20,8.47819831 C20,8.34507351 19.947917,8.21695339 19.8527653,8.12286519 L19.8527653,8.12286519 Z\"/>\n</svg>",
49
+ "vector-store": "<!-- Lucide icon \"layers\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Vector store</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <path d=\"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z\" />\n <path d=\"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12\" />\n <path d=\"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17\" />\n</svg>",
50
+ "web-fetch": "<!-- Lucide icon \"globe\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\n <title>Web fetch</title>\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\" />\n <path d=\"M2 12h20\" />\n</svg>",
51
+ woocommerce: "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 183.6 47.5\" fill=\"#873EFF\" fill-rule=\"evenodd\">\n <path d=\"M77.4 0c-4.3 0-7.1 1.4-9.6 6.1L56.4 27.6V8.5c0-5.7-2.7-8.5-7.7-8.5s-7.1 1.7-9.6 6.5L28.3 27.6V8.7C28.3 2.6 25.8 0 19.7 0H7.3C2.6 0 0 2.2 0 6.2s2.5 6.4 7.1 6.4h5.1v24.1c0 6.8 4.6 10.8 11.2 10.8s9.6-2.6 12.9-8.7l7.2-13.5v11.4c0 6.7 4.4 10.8 11.1 10.8s9.2-2.3 13-8.7l16.6-28C87.8 4.7 85.3 0 77.3 0h.1Z\"/>\n <path d=\"M108.6 0C95 0 84.7 10.1 84.7 23.8s10.4 23.7 23.9 23.7 23.8-10.1 23.9-23.7C132.5 10.1 122.1 0 108.6 0Zm0 32.9c-5.1 0-8.6-3.8-8.6-9.1s3.5-9.2 8.6-9.2 8.6 3.9 8.6 9.2-3.4 9.1-8.6 9.1ZM159.7 0c-13.5 0-23.9 10.1-23.9 23.8s10.4 23.7 23.9 23.7 23.9-10.1 23.9-23.7S173.2 0 159.7 0Zm0 32.9c-5.2 0-8.5-3.8-8.5-9.1s3.4-9.2 8.5-9.2 8.6 3.9 8.6 9.2-3.4 9.1-8.6 9.1Z\"/>\n</svg>"
52
+ };
53
+ function logoForModuleId(id) {
54
+ return packLogosByModuleId[id];
55
+ }
56
+ //#endregion
57
+ //#region src/core/define.ts
58
+ function defineTool(options) {
59
+ const description = options.description.trim();
60
+ if (!description) throw new Error(`Tool ${options.id} is missing a model-facing description`);
61
+ if (!options.id.trim()) throw new Error("Tool id is required");
62
+ if (!options.name.trim()) throw new Error(`Tool ${options.id} is missing a name`);
63
+ return {
64
+ id: options.id,
65
+ name: options.name,
66
+ description,
67
+ inputSchema: options.inputSchema,
68
+ outputSchema: options.outputSchema,
69
+ meta: {
70
+ runtime: options.runtime ?? "both",
71
+ sideEffect: options.sideEffect ?? "read",
72
+ tags: options.tags,
73
+ idempotent: options.idempotent,
74
+ longRunning: options.longRunning,
75
+ requiresConfirmation: options.requiresConfirmation,
76
+ supportsCancel: options.supportsCancel,
77
+ supportsProgress: options.supportsProgress,
78
+ network: options.network,
79
+ artifacts: options.artifacts
80
+ },
81
+ execute: async (input, ctx) => {
82
+ const parsed = options.inputSchema.parse(input);
83
+ return options.execute(parsed, ctx);
84
+ }
85
+ };
86
+ }
87
+ /** @deprecated Prefer defineTool return value directly; kept for call-site clarity in modules. */
88
+ function asAnyTool(tool) {
89
+ return tool;
90
+ }
91
+ function defineModule(options) {
92
+ const description = options.description.trim();
93
+ if (!description) throw new Error(`Module ${options.id} is missing a description`);
94
+ if (!options.id.trim()) throw new Error("Module id is required");
95
+ if (options.tools.length === 0) throw new Error(`Module ${options.id} must declare at least one tool`);
96
+ assertUniqueBy(options.tools, (tool) => tool.id, (id) => `Module ${options.id} has duplicate tool id: ${id}`);
97
+ const logo = options.logo ?? logoForModuleId(options.id);
98
+ const categories = options.categories ?? [];
99
+ return {
100
+ id: options.id,
101
+ title: options.title,
102
+ description,
103
+ runtime: options.runtime ?? "both",
104
+ auth: options.auth ?? { type: "none" },
105
+ tools: options.tools,
106
+ categories,
107
+ ...options.classification !== void 0 && { classification: options.classification },
108
+ ...options.tags !== void 0 && options.tags.length > 0 && { tags: options.tags },
109
+ ...logo !== void 0 && { logo }
110
+ };
111
+ }
112
+ //#endregion
113
+ export { packLogosByModuleId as a, logoForModuleId as i, defineModule as n, defineTool as r, asAnyTool as t };
114
+
115
+ //# sourceMappingURL=define-CvpJ_pNP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-CvpJ_pNP.js","names":[],"sources":["../src/generated/pack-logos.ts","../src/core/define.ts"],"sourcesContent":["// AUTO-GENERATED by `bun run codegen`. Do not edit by hand.\n// Source: logos/*.svg + logos/pack-logos.json — hosts use module.logo from defineModule.\n\nconst svg_amazon =\n\t'<svg width=\"24\" height=\"24\" viewBox=\"0 0 40 40\" xmlns=\"http://www.w3.org/2000/svg\" color=\"#000\">\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M34.4352 32.2938C18.2433 39.9998 8.19438 33.5524 1.76177 29.6364C1.36372 29.3896 0.687182 29.6941 1.27417 30.3684C3.4172 32.9668 10.4403 39.2299 19.6076 39.2299C28.7811 39.2299 34.2386 34.2244 34.9213 33.3512C35.5993 32.4854 35.1204 32.0078 34.435 32.2938H34.4352ZM38.9827 29.7824C38.5478 29.2162 36.3387 29.1107 34.9483 29.2815C33.5559 29.4473 31.4658 30.2983 31.6475 30.8093C31.7407 31.0007 31.9311 30.9149 32.8876 30.8289C33.8468 30.7332 36.5339 30.3941 37.0938 31.126C37.6564 31.863 36.2368 35.3739 35.9775 35.9401C35.727 36.5063 36.0732 36.6523 36.5438 36.2752C37.0078 35.8982 37.8479 34.922 38.4117 33.5404C38.9716 32.1513 39.3132 30.2136 38.9827 29.7824Z\" fill=\"#FF9900\"/>\\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.548 16.57C23.548 18.5919 23.599 20.2781 22.5771 22.0737C21.7522 23.5337 20.4456 24.4315 18.9857 24.4315C16.9929 24.4315 15.8323 22.9132 15.8323 20.6723C15.8323 16.2487 19.7958 15.4458 23.548 15.4458V16.57ZM28.7817 29.2201C28.4385 29.5266 27.9422 29.5486 27.5554 29.3441C25.8327 27.9135 25.526 27.2492 24.5772 25.8842C21.7304 28.7894 19.7157 29.658 16.0221 29.658C11.657 29.658 8.25537 26.9644 8.25537 21.5701C8.25537 17.3584 10.5403 14.4896 13.7883 13.0882C16.6061 11.8471 20.5405 11.6282 23.548 11.2852V10.6136C23.548 9.37989 23.6427 7.92002 22.9202 6.85436C22.285 5.89809 21.0734 5.50389 20.0075 5.50389C18.0295 5.50389 16.2629 6.51847 15.8323 8.62072C15.7446 9.08801 15.4016 9.54791 14.9345 9.56976L9.89772 9.02969C9.47444 8.9346 9.00731 8.59164 9.12409 7.94187C10.2847 1.8396 15.7957 0 20.7301 0C23.2558 0 26.5551 0.671619 28.5479 2.58415C31.0736 4.94182 30.8327 8.08789 30.8327 11.5114V19.5993C30.8327 22.03 31.84 23.0957 32.7889 24.4097C33.1246 24.8768 33.1977 25.439 32.7743 25.7892C31.7159 26.6724 29.8326 28.3149 28.7961 29.2347L28.7815 29.2201\" fill=\"currentColor\"/>\\n</svg>'\nconst svg_artifacts =\n\t'<!-- Lucide icon \"package\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Artifacts</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z\" />\\n <path d=\"M12 22V12\" />\\n <path d=\"m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7\" />\\n <path d=\"m7.5 4.27 9 5.15\" />\\n</svg>'\nconst svg_browser =\n\t'<!-- Lucide icon \"app-window\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Browser</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"2\" />\\n <path d=\"M10 4v4\" />\\n <path d=\"M2 8h20\" />\\n <path d=\"M6 4v4\" />\\n</svg>'\nconst svg_calendar =\n\t'<!-- Lucide icon \"calendar-days\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Calendar</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M8 2v4\" />\\n <path d=\"M16 2v4\" />\\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"4\" rx=\"2\" />\\n <path d=\"M3 10h18\" />\\n <path d=\"M8 14h.01\" />\\n <path d=\"M12 14h.01\" />\\n <path d=\"M16 14h.01\" />\\n <path d=\"M8 18h.01\" />\\n <path d=\"M12 18h.01\" />\\n <path d=\"M16 18h.01\" />\\n</svg>'\nconst svg_cloudflare =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\\n <title>Cloudflare</title>\\n <path fill=\"#F38020\" d=\"M16.5088 16.8447c.1475-.5068.0908-.9707-.1553-1.3154-.2246-.3164-.6045-.499-1.0615-.5205l-8.6592-.1123a.1559.1559 0 0 1-.1333-.0713c-.0283-.042-.0351-.0986-.021-.1553.0278-.084.1123-.1484.2036-.1562l8.7359-.1123c1.0351-.0489 2.1601-.8868 2.5537-1.9136l.499-1.3013c.0215-.0561.0293-.1128.0147-.168-.5625-2.5463-2.835-4.4453-5.5499-4.4453-2.5039 0-4.6284 1.6177-5.3876 3.8614-.4927-.3658-1.1187-.5625-1.794-.499-1.2026.119-2.1665 1.083-2.2861 2.2856-.0283.31-.0069.6128.0635.894C1.5683 13.171 0 14.7754 0 16.752c0 .1748.0142.3515.0352.5273.0141.083.0844.1475.1689.1475h15.9814c.0909 0 .1758-.0645.2032-.1553l.12-.4268zm2.7568-5.5634c-.0771 0-.1611 0-.2383.0112-.0566 0-.1054.0415-.127.0976l-.3378 1.1744c-.1475.5068-.0918.9707.1543 1.3164.2256.3164.6055.498 1.0625.5195l1.8437.1133c.0557 0 .1055.0263.1329.0703.0283.043.0351.1074.0214.1562-.0283.084-.1132.1485-.204.1553l-1.921.1123c-1.041.0488-2.1582.8867-2.5527 1.914l-.1406.3585c-.0283.0713.0215.1416.0986.1416h6.5977c.0771 0 .1474-.0489.169-.126.1122-.4082.1757-.837.1757-1.2803 0-2.6025-2.125-4.727-4.7344-4.727\"/>\\n</svg>'\nconst svg_cloudflare_browser =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 64 65\" color=\"#000\" fill=\"currentColor\">\\n <title>Cloudflare Browser Run</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M23.3 18.2a2.1 2.1 0 1 1-4.2 0 2.1 2.1 0 0 1 4.2 0m-6.7 0a2.1 2.1 0 1 1-4.2 0 2.1 2.1 0 0 1 4.2 0m13.3-.61a2.1 2.1 0 1 0 0 1.22zm28.1-1.6V12.7l-2-2h-1.39v5.29zm0 9.67v-4.99h-3.39v4.99zm0 9.67v-4.99h-3.39v4.99zM58 45v-4.99h-3.39V45zm-3.39 9.6H56l2-2v-2.93h-3.39zm-17.9-4H41v4h-4.29zm8.96 0h4.29v4h-4.29zm-8.96-29H41v4h-4.29zm8.96 0h4.29v4h-4.29zm4.29-6.9h-4.29v-4h4.29zm-8.96 0h-4.29v-4H41zm-8.96-4h-24l-2 2v39.9l2 2h24v-4h-22v-25h22v-4h-22v-6.9h22z\"/>\\n</svg>'\nconst svg_cloudflare_email =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 48 48\" color=\"#000\" fill=\"currentColor\">\\n <title>Cloudflare Email Service</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M42.038 10.568h-36l-1.5 1.5v23.864l1.5 1.5h36l1.5-1.5V12.068zm-18 15.397L10.005 13.568h28.072l-14.04 12.397ZM17.288 24l-9.75 8.61V15.36zm2.25 2.003 3.494 3.082h1.988l3.48-3.082 9.578 8.43H10.005zM30.788 24l9.75-8.61v17.25z\"/>\\n</svg>'\nconst svg_code_sandbox =\n\t'<!-- Lucide icon \"box\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Code sandbox</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z\" />\\n <path d=\"m3.3 7 8.7 5 8.7-5\" />\\n <path d=\"M12 22V12\" />\\n</svg>'\nconst svg_content_type =\n\t'<!-- Lucide icon \"file-type\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Content type</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\\n <path d=\"M9 13v-1h6v1\" />\\n <path d=\"M12 12v6\" />\\n <path d=\"M11 18h2\" />\\n</svg>'\nconst svg_crypto =\n\t'<!-- Lucide icon \"key-round\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Crypto</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z\" />\\n <circle cx=\"16.5\" cy=\"7.5\" r=\".5\" fill=\"currentColor\" />\\n</svg>'\nconst svg_document =\n\t'<!-- Lucide icon \"file-text\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Document</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z\" />\\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\\n <path d=\"M10 9H8\" />\\n <path d=\"M16 13H8\" />\\n <path d=\"M16 17H8\" />\\n</svg>'\nconst svg_document_extract =\n\t'<!-- Lucide icon \"scan-text\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Document extract</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M3 7V5a2 2 0 0 1 2-2h2\" />\\n <path d=\"M17 3h2a2 2 0 0 1 2 2v2\" />\\n <path d=\"M21 17v2a2 2 0 0 1-2 2h-2\" />\\n <path d=\"M7 21H5a2 2 0 0 1-2-2v-2\" />\\n <path d=\"M7 8h8\" />\\n <path d=\"M7 12h10\" />\\n <path d=\"M7 16h6\" />\\n</svg>'\nconst svg_document_render =\n\t'<!-- Lucide icon \"printer\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Document render</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\" />\\n <path d=\"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6\" />\\n <rect x=\"6\" y=\"14\" width=\"12\" height=\"8\" rx=\"1\" />\\n</svg>'\nconst svg_email =\n\t'<!-- Lucide icon \"mail\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Email</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <rect width=\"20\" height=\"16\" x=\"2\" y=\"4\" rx=\"2\" />\\n <path d=\"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\" />\\n</svg>'\nconst svg_email_message =\n\t'<!-- Lucide icon \"mails\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Email message</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <rect width=\"16\" height=\"13\" x=\"6\" y=\"4\" rx=\"2\" />\\n <path d=\"m22 7-7.1 3.78c-.57.3-1.23.3-1.8 0L6 7\" />\\n <path d=\"M2 8v11c0 1.1.9 2 2 2h14\" />\\n</svg>'\nconst svg_file_convert =\n\t'<!-- Lucide icon \"refresh-cw\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>File convert</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\" />\\n <path d=\"M21 3v5h-5\" />\\n <path d=\"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\" />\\n <path d=\"M8 16H3v5\" />\\n</svg>'\nconst svg_files =\n\t'<!-- Lucide icon \"folder-open\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Files</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2\" />\\n</svg>'\nconst svg_gotenberg =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 256.000000 256.000000\" color=\"#000\" fill=\"currentColor\">\\n <title>Gotenberg</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <g transform=\"translate(0.000000,256.000000) scale(0.100000,-0.100000)\"\\nfill=\"currentColor\" stroke=\"none\">\\n<path d=\"M1091 2549 c-597 -55 -940 -340 -1051 -875 -63 -305 -45 -682 45\\n-949 89 -267 255 -461 490 -575 170 -82 393 -139 437 -111 14 9 18 8 18 -4 0\\n-9 9 -15 25 -15 14 0 25 4 25 10 0 5 10 14 21 21 20 10 21 9 16 -10 -4 -18 -3\\n-20 9 -10 14 11 14 54 1 89 -3 8 -8 22 -10 30 -5 13 -6 13 -6 0 -1 -20 -40\\n-46 -42 -28 -1 7 0 18 1 23 9 43 8 110 -1 122 -7 8 -8 13 -1 13 5 0 13 7 16\\n16 5 14 4 15 -8 5 -12 -10 -19 -8 -37 10 -27 27 -39 12 -31 -44 3 -25 1 -38\\n-5 -34 -5 3 -11 32 -12 63 -2 49 0 56 14 50 13 -4 15 -1 10 14 -4 13 3 29 25\\n51 17 18 29 38 26 45 -6 15 36 6 46 -10 5 -7 8 -5 8 6 0 9 -5 18 -12 20 -8 3\\n-1 20 20 48 18 24 32 54 32 67 0 13 5 23 11 23 6 0 9 6 6 13 -5 15 10 47 23\\n47 5 0 7 -12 5 -27 -3 -16 -7 -37 -8 -48 -1 -11 -7 -27 -12 -35 -5 -9 1 -7 14\\n4 16 15 20 27 16 47 -7 30 13 87 39 108 9 7 23 37 32 66 16 57 27 71 59 77 14\\n2 20 -2 19 -14 -1 -10 5 -18 13 -18 10 0 13 -7 9 -22 -3 -13 -3 -18 0 -11 4 8\\n17 6 47 -7 27 -12 55 -17 80 -13 31 4 37 2 37 -14 0 -15 3 -14 20 7 10 14 22\\n21 26 17 4 -4 3 -7 -2 -7 -5 0 -10 -17 -10 -38 -1 -20 0 -29 3 -19 2 9 9 17\\n14 17 5 0 9 16 9 35 0 25 4 35 16 35 9 0 12 5 8 11 -4 7 -1 10 7 7 10 -3 14\\n-22 14 -60 0 -31 4 -54 9 -51 15 10 -4 -51 -22 -67 -14 -13 -15 -13 -6 0 17\\n23 24 50 15 50 -5 0 -11 -10 -15 -22 -4 -17 -8 -20 -15 -10 -6 11 -11 10 -25\\n-3 -9 -9 -14 -21 -11 -26 4 -5 3 -9 0 -9 -3 0 -11 15 -17 33 -12 32 -12 32\\n-19 7 -5 -20 -7 -15 -8 21 -1 34 -5 46 -17 46 -12 0 -14 -8 -9 -37 4 -23 1\\n-46 -9 -65 -15 -28 -16 -28 -16 -7 0 26 -9 20 -44 -28 -18 -25 -18 -25 -13 -2\\n3 15 -1 29 -13 40 -10 9 -20 31 -23 47 -4 29 -4 29 -12 7 -6 -18 -10 -20 -16\\n-10 -6 10 -11 9 -23 -7 -9 -13 -11 -22 -4 -26 6 -4 8 -11 5 -16 -4 -6 0 -19 8\\n-29 8 -11 14 -14 15 -6 0 22 18 13 24 -13 4 -16 11 -22 21 -19 13 5 13 3 0\\n-22 -8 -16 -15 -35 -15 -42 0 -7 -5 -19 -12 -26 -16 -17 -38 3 -38 33 0 33\\n-17 33 -29 -1 -14 -39 -14 -38 5 -38 8 0 12 -5 9 -11 -6 -9 21 -38 36 -39 4 0\\n12 13 19 30 7 16 23 36 37 46 16 10 23 11 17 3 -12 -20 -16 -111 -4 -104 6 3\\n10 0 10 -7 0 -7 12 -26 26 -41 14 -15 29 -41 34 -57 8 -28 7 -29 -11 -20 -14\\n8 -19 7 -19 -2 0 -7 -7 -22 -16 -33 -15 -20 -15 -19 -20 2 -6 21 -7 21 -41\\n-10 -19 -18 -38 -32 -41 -33 -23 -3 -42 -19 -51 -45 -9 -26 -8 -29 15 -35 15\\n-4 24 -13 24 -25 0 -10 5 -19 10 -19 6 0 10 -10 9 -22 0 -21 -1 -22 -8 -4 -7\\n19 -8 19 -13 -2 -4 -12 -3 -24 1 -26 15 -10 197 6 304 26 52 10 57 13 58 37 2\\n24 2 24 6 3 4 -20 8 -22 36 -16 60 13 152 46 168 60 8 8 21 14 27 14 15 0 16\\n36 1 45 -6 4 -8 13 -5 20 2 7 0 17 -5 22 -6 6 -12 23 -14 39 -4 36 -23 85 -25\\n64 0 -13 -1 -13 -11 0 -8 11 -9 4 -5 -29 3 -30 1 -40 -5 -30 -7 11 -9 8 -10\\n-11 -1 -16 -3 -19 -6 -8 -2 9 -11 19 -20 22 -11 4 -14 2 -9 -9 3 -9 0 -15 -9\\n-15 -8 0 -15 9 -15 19 0 24 -16 36 -26 20 -4 -7 -3 -10 2 -7 5 4 10 -28 11\\n-70 1 -43 -1 -72 -3 -65 -6 12 -56 2 -79 -17 -10 -8 -10 -2 -2 30 9 31 17 41\\n39 45 34 8 37 36 8 65 -17 17 -23 18 -40 8 -11 -7 -20 -20 -20 -28 -1 -24 -31\\n52 -36 90 -5 39 38 140 45 105 4 -21 31 -52 31 -36 0 26 30 9 31 -16 1 -17 3\\n-21 6 -10 2 9 8 17 11 17 4 0 7 16 8 35 0 18 -4 31 -9 28 -5 -3 -6 4 -2 16 5\\n16 1 23 -13 29 -19 6 -19 10 -7 47 7 22 17 56 22 75 l10 35 11 -25 11 -25 1\\n30 2 30 15 -35 c9 -19 18 -29 20 -22 3 7 -1 19 -7 27 -7 8 -8 15 -3 15 13 0\\n33 -45 33 -76 0 -15 4 -23 10 -19 6 4 8 11 5 16 -4 5 -2 9 4 9 5 0 13 -15 16\\n-33 4 -17 12 -37 17 -44 6 -7 6 -19 -1 -32 -6 -11 -11 -31 -11 -45 0 -38 -20\\n-32 -21 7 -1 31 -2 31 -11 -10 -6 -23 -8 -49 -5 -57 7 -19 29 -22 25 -3 -2 6\\n2 12 7 12 6 0 9 -8 8 -17 -3 -18 26 -32 49 -23 23 9 68 -66 68 -115 0 -22 4\\n-40 8 -40 19 0 111 67 170 123 98 94 202 252 202 307 0 11 4 20 9 20 11 0 33\\n60 23 60 -4 0 -2 4 4 8 5 4 20 41 32 82 85 298 81 708 -11 1025 -77 268 -270\\n494 -520 609 -232 107 -554 154 -866 125z m736 -181 c-3 -8 -6 -5 -6 6 -1 11\\n2 17 5 13 3 -3 4 -12 1 -19z m-365 -76 c-16 -5 -15 -23 1 -21 6 1 24 1 40 0\\n33 -1 36 -21 3 -21 -14 0 -27 -4 -31 -9 -3 -6 11 -8 35 -6 22 3 40 1 41 -3 1\\n-13 7 -37 14 -57 5 -16 5 -17 -4 -5 -15 22 -25 4 -26 -45 0 -34 -6 -51 -26\\n-71 l-26 -26 -7 27 c-6 25 -8 26 -20 10 -11 -16 -14 -16 -28 -1 -10 9 -14 24\\n-11 37 4 15 0 27 -12 35 -11 8 -15 14 -9 14 5 0 2 4 -6 9 -28 18 -31 -2 -5\\n-29 26 -27 26 -28 6 -35 -11 -3 -23 -15 -27 -27 -5 -16 -8 -18 -15 -7 -5 8 -4\\n18 1 23 6 6 10 15 10 21 -1 5 -9 0 -19 -12 -16 -19 -26 -22 -75 -18 -37 3 -56\\n1 -56 -7 0 -7 14 -9 38 -5 20 2 48 1 62 -3 22 -7 20 -8 -15 -9 -22 -1 -54 -10\\n-72 -20 -32 -20 -43 -21 -77 -6 -13 6 -21 4 -24 -3 -2 -7 -8 -10 -12 -7 -5 3\\n-7 13 -4 23 5 13 4 14 -4 3 -5 -7 -15 -10 -21 -7 -6 4 -11 2 -11 -3 0 -6 -10\\n-11 -22 -12 l-23 0 23 -16 c29 -20 28 -33 -3 -33 -14 0 -24 3 -23 8 1 4 -4 17\\n-12 29 -17 26 -41 14 -33 -16 3 -10 0 -22 -7 -26 -7 -4 -14 2 -17 15 -8 30\\n-42 22 -62 -16 -10 -18 -22 -29 -31 -26 -12 4 -13 2 -2 -9 6 -7 12 -19 12 -26\\n0 -18 -25 -16 -40 2 -10 12 -10 15 0 15 8 0 10 3 6 7 -4 5 -13 0 -21 -10 -11\\n-15 -14 -15 -25 -2 -7 8 -17 12 -22 9 -5 -3 -16 2 -24 12 -12 17 -13 17 -8 2\\n7 -20 -6 -24 -24 -6 -15 15 4 39 25 31 13 -5 15 -1 9 20 -4 16 -2 27 3 27 6 0\\n8 6 6 13 -7 19 21 50 37 41 10 -6 10 -5 0 9 -16 19 -6 41 14 33 7 -3 18 4 24\\n15 12 21 30 17 30 -8 0 -9 -6 -13 -15 -9 -8 3 -15 1 -15 -4 0 -6 -7 -10 -16\\n-10 -12 0 -14 -3 -6 -12 6 -7 12 -17 14 -23 1 -5 12 -10 23 -12 11 -1 14 1 8\\n3 -22 9 -15 42 10 46 15 2 22 10 21 24 0 16 4 20 14 16 10 -3 13 -1 8 6 -3 6\\n-1 14 5 17 5 4 8 13 5 21 -5 14 4 18 34 15 12 -1 11 1 -2 12 -19 15 -25 33 -8\\n22 6 -3 17 1 26 10 9 9 23 14 30 11 8 -3 14 -2 14 2 0 5 25 8 56 7 30 0 58 3\\n60 7 3 4 10 8 15 8 6 0 7 -5 3 -12 -5 -8 -2 -9 10 -5 42 16 66 19 66 7 0 -7\\n-7 -10 -15 -6 -8 3 -15 1 -15 -4 0 -6 6 -10 13 -10 8 -1 7 -5 -4 -13 -23 -18\\n-31 -57 -12 -57 10 0 14 6 10 20 -4 15 0 20 14 20 10 0 19 5 19 10 0 6 5 10\\n10 10 6 0 8 -11 4 -25 -5 -20 -3 -24 10 -19 16 6 18 0 19 -63 1 -28 27 -40 27\\n-13 0 10 5 22 10 25 6 3 10 11 10 16 0 6 -5 7 -12 3 -8 -5 -9 -2 -5 9 4 10 0\\n20 -10 25 -16 9 -12 14 18 25 12 4 15 0 11 -19 -2 -14 0 -24 7 -24 6 0 11 11\\n11 25 0 14 5 25 12 25 6 0 4 7 -5 18 -21 23 -22 39 -2 22 10 -9 15 -9 15 -1 0\\n6 9 11 19 11 11 0 23 5 26 11 9 14 48 28 60 21 5 -3 4 -7 -3 -10z m-287 -2 c3\\n-5 1 -10 -4 -10 -6 0 -11 5 -11 10 0 6 2 10 4 10 3 0 8 -4 11 -10z m442 4 c-3\\n-3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z m419 -38 c-4 -18 -13 -40\\n-22 -47 -13 -11 -14 -9 -5 12 5 13 12 37 16 53 9 40 19 24 11 -18z m-716 9 c0\\n-9 -6 -12 -15 -9 -8 4 -12 10 -9 15 8 14 24 10 24 -6z m685 5 c3 -5 1 -10 -4\\n-10 -6 0 -11 5 -11 10 0 6 2 10 4 10 3 0 8 -4 11 -10z m128 -35 c5 -28 4 -34\\n-3 -20 -8 19 -14 73 -6 64 2 -2 6 -22 9 -44z m-511 18 c-6 -2 -10 -9 -7 -14 4\\n-5 -1 -6 -9 -3 -20 8 -11 24 12 23 11 0 12 -2 4 -6z m535 -40 c-3 -10 -5 -4\\n-5 12 0 17 2 24 5 18 2 -7 2 -21 0 -30z m-1237 -3 c0 -6 -8 -14 -17 -17 -10\\n-4 -21 -11 -25 -17 -5 -6 -8 -2 -8 11 0 21 11 31 38 32 6 1 12 -4 12 -9z\\nm1120 -40 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0 10 -4\\n10 -10z m206 -5 c-3 -20 -16 -31 -16 -13 0 13 8 28 16 28 1 0 1 -7 0 -15z\\nm-447 -68 c1 -19 -3 -27 -11 -24 -8 2 -12 15 -10 30 2 16 -1 27 -9 27 -8 0 -8\\n4 2 16 12 14 14 14 20 -3 4 -10 8 -31 8 -46z m248 31 c-3 -8 -6 -5 -6 6 -1 11\\n2 17 5 13 3 -3 4 -12 1 -19z m-446 -40 c11 3 11 1 2 -9 -10 -10 -10 -16 3 -30\\n13 -15 13 -17 -11 -21 -22 -5 -23 -3 -13 10 11 13 10 15 -4 9 -9 -3 -19 -1\\n-22 6 -2 7 -5 2 -5 -9 -1 -31 -28 -51 -44 -34 -9 10 -9 14 1 17 7 3 20 12 29\\n21 9 10 21 17 26 17 6 0 12 6 15 14 3 8 0 11 -7 7 -13 -8 -14 -1 -4 34 7 25 7\\n25 13 -5 4 -19 11 -29 21 -27z m94 32 c4 -6 10 -8 14 -6 4 3 7 -14 6 -36 0\\n-26 -5 -43 -14 -46 -10 -3 -12 0 -8 12 4 9 10 24 14 33 5 12 2 15 -9 11 -19\\n-8 -38 10 -31 28 6 16 19 18 28 4z m391 -66 c-4 -9 -9 -15 -11 -12 -3 3 -3 13\\n1 22 4 9 9 15 11 12 3 -3 3 -13 -1 -22z m-1331 6 c3 -6 -1 -7 -9 -4 -18 7 -21\\n14 -7 14 6 0 13 -4 16 -10z m1362 -12 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3\\n4 -12 1 -19z m-364 -13 c-3 -9 -8 -14 -10 -11 -3 3 -2 9 2 15 9 16 15 13 8 -4z\\nm113 2 c7 10 14 13 14 7 0 -6 -8 -18 -17 -26 -20 -16 -53 -30 -53 -22 0 3 8\\n16 18 29 13 17 18 19 20 8 3 -12 6 -11 18 4z m-856 -51 c0 -3 -4 -8 -10 -11\\n-5 -3 -10 -1 -10 4 0 6 5 11 10 11 6 0 10 -2 10 -4z m1131 -52 l-9 -39 -1 36\\nc-1 20 2 39 6 42 12 13 13 0 4 -39z m-1516 -2 c3 -8 3 -17 0 -20 -3 -3 -5 0\\n-5 6 0 6 -6 9 -13 6 -8 -3 -14 1 -14 9 0 18 25 18 32 -1z m305 -31 c-5 -11\\n-15 -23 -22 -27 -7 -5 -8 -2 -3 7 21 37 44 55 25 20z m-182 -3 c-2 -6 -10 -14\\n-16 -16 -7 -2 -10 2 -6 12 7 18 28 22 22 4z m1422 -13 c0 -8 -2 -15 -4 -15 -2\\n0 -6 7 -10 15 -3 8 -1 15 4 15 6 0 10 -7 10 -15z m-680 -19 c130 -7 207 -23\\n242 -49 9 -7 19 -30 23 -50 l7 -37 -61 1 c-79 1 -127 -23 -165 -84 -40 -64\\n-41 -134 -3 -201 15 -27 27 -50 27 -52 0 -2 -22 -4 -48 -4 -105 0 -192 -47\\n-192 -104 0 -12 -14 -35 -31 -52 -40 -37 -79 -118 -79 -165 0 -61 -43 -129\\n-82 -129 -20 0 -26 -4 -22 -15 5 -11 2 -13 -10 -9 -12 4 -13 10 -6 24 12 22\\n13 33 3 27 -5 -3 -9 5 -9 18 -2 32 -34 77 -50 71 -10 -4 -14 3 -14 24 0 18 -8\\n37 -20 47 -12 11 -17 25 -14 37 4 16 -5 30 -34 53 -29 24 -42 45 -51 78 -6 25\\n-16 65 -22 90 -7 29 -9 72 -4 118 4 39 9 98 10 130 7 119 57 164 240 215 107\\n29 136 31 365 18z m637 -53 c-3 -10 -5 -4 -5 12 0 17 2 24 5 18 2 -7 2 -21 0\\n-30z m13 -58 c-6 -30 -8 -33 -9 -13 -1 25 8 62 14 56 2 -2 -1 -21 -5 -43z\\nm-21 -22 c-1 -34 -2 -35 -9 -13 -11 36 -11 50 0 50 6 0 10 -17 9 -37z m-118 1\\nc8 -4 9 -3 5 4 -4 7 -2 12 3 12 6 0 11 -8 10 -17 0 -26 -16 -100 -18 -85 0 7\\n-5 10 -11 7 -5 -3 -10 2 -10 13 0 11 -9 31 -20 45 -11 14 -20 27 -20 30 0 6\\n47 0 61 -9z m72 -65 c-5 -5 -7 7 -4 29 5 34 6 35 9 8 2 -16 0 -32 -5 -37z\\nm-282 25 c83 -43 112 -164 62 -260 -30 -58 -65 -79 -131 -79 -114 1 -191 75\\n-192 183 0 90 32 140 107 168 43 16 112 10 154 -12z m236 -66 c-3 -7 -5 -2 -5\\n12 0 14 2 19 5 13 2 -7 2 -19 0 -25z m140 -10 c-3 -7 -5 -2 -5 12 0 14 2 19 5\\n13 2 -7 2 -19 0 -25z m-1413 13 c3 -4 -6 -19 -21 -32 l-26 -24 17 33 c17 34\\n22 37 30 23z m-324 -45 c0 -8 -4 -18 -10 -21 -5 -3 -10 3 -10 14 0 10 -3 28\\n-7 38 -6 17 -6 17 10 1 9 -9 17 -23 17 -32z m209 -8 c5 -13 6 -29 4 -35 -3 -7\\n2 -13 11 -13 21 0 41 -39 27 -53 -28 -28 3 -97 52 -115 17 -6 32 -10 35 -8 8\\n9 -25 47 -51 59 -32 14 -32 41 0 45 38 5 94 -104 63 -123 -11 -7 -2 -34 17\\n-53 7 -7 13 -22 13 -33 0 -26 -44 -25 -70 1 -11 11 -24 20 -29 20 -19 0 -98\\n81 -116 119 -11 22 -23 41 -26 41 -4 0 -6 30 -5 66 1 56 5 69 25 85 30 25 40\\n24 50 -3z m131 -3 c0 -8 5 -15 11 -15 5 0 7 -5 3 -12 -5 -8 -2 -9 9 -5 19 7\\n21 -1 7 -23 -8 -13 -13 -11 -35 12 -14 16 -22 33 -19 42 8 20 24 21 24 1z\\nm1239 -17 c0 -24 -2 -28 -8 -15 -4 11 -13 -24 -24 -94 -19 -120 -16 -160 4\\n-60 7 34 16 61 19 61 3 0 7 -17 8 -37 1 -24 -1 -33 -6 -25 -6 9 -13 -13 -19\\n-60 -11 -80 -9 -100 5 -47 l8 34 8 -28 c4 -19 2 -33 -9 -43 -8 -9 -15 -23 -15\\n-31 0 -12 5 -11 20 7 18 21 20 21 20 4 0 -16 2 -17 10 -4 12 19 13 43 1 36\\n-10 -7 -26 72 -17 81 3 4 6 -6 6 -21 0 -15 4 -25 9 -21 5 3 11 -5 14 -17 l4\\n-23 11 25 11 25 1 -25 c1 -14 4 -19 7 -11 5 11 7 11 15 0 7 -10 8 -5 4 16 -6\\n28 -5 29 9 11 14 -19 15 -19 16 10 1 25 2 24 10 -11 5 -22 6 -62 4 -90 -4 -50\\n-4 -50 6 -12 6 20 15 37 20 37 5 0 9 12 9 27 0 14 3 24 6 20 10 -9 -6 -98 -16\\n-92 -5 3 -12 -16 -16 -42 -8 -46 -8 -47 -16 -18 -6 23 -6 20 -4 -17 2 -27 0\\n-48 -4 -48 -5 0 -6 -9 -3 -19 3 -11 -2 -30 -11 -43 -17 -25 -21 -42 -7 -34 12\\n8 21 -30 16 -68 -3 -17 3 -6 13 24 l18 55 6 -35 c4 -24 1 -38 -8 -43 -8 -4\\n-14 -22 -13 -40 l1 -32 9 33 c5 18 13 30 18 28 4 -3 14 27 21 67 17 97 16 97\\n25 55 9 -49 23 -49 28 0 3 20 3 7 1 -30 -2 -52 0 -66 10 -62 10 4 12 -2 8 -21\\n-3 -17 0 -25 8 -23 7 2 15 -3 18 -11 3 -10 -1 -13 -16 -9 -14 4 -22 0 -25 -11\\n-3 -9 -5 -1 -6 17 0 17 -5 32 -11 32 -14 0 -13 -36 2 -59 11 -18 13 -18 26 -3\\n12 15 13 14 8 -13 -3 -16 -3 -24 0 -17 3 6 11 9 17 5 7 -4 8 0 4 12 -4 9 -3\\n23 2 29 5 6 11 25 14 41 4 29 4 29 6 -5 0 -19 -3 -50 -8 -68 -9 -30 1 -47 12\\n-19 7 15 1 -38 -8 -73 -5 -25 -5 -25 6 -2 15 27 29 29 29 2 0 -11 -4 -20 -10\\n-20 -5 0 -10 -7 -10 -15 0 -9 6 -12 16 -8 15 5 16 0 10 -43 -5 -35 -4 -45 3\\n-34 9 12 11 11 11 -8 0 -18 -3 -21 -16 -14 -9 5 -25 7 -34 5 -10 -3 -24 4 -32\\n16 -8 12 -18 18 -21 15 -3 -4 -24 3 -47 15 -22 11 -47 21 -54 21 -7 0 -26 10\\n-42 23 -16 12 -31 20 -34 17 -3 -3 -9 10 -15 28 -5 17 -13 32 -17 32 -4 0 -8\\n4 -8 10 0 5 -11 25 -24 44 -13 19 -26 56 -30 83 -4 26 -13 57 -21 67 -8 11\\n-15 27 -15 35 0 9 -7 29 -15 45 -8 15 -15 33 -15 39 0 7 -16 38 -37 71 -35 58\\n-36 62 -34 150 1 66 5 94 16 102 8 6 19 24 26 40 10 27 12 27 19 9 8 -18 9\\n-17 9 8 1 15 6 27 11 27 14 0 13 -36 -2 -76 -9 -27 -9 -38 1 -58 8 -14 11 -32\\n8 -40 -4 -9 -2 -16 3 -16 6 0 10 5 10 10 0 5 3 9 8 9 19 -3 20 4 3 34 -14 25\\n-17 42 -11 73 7 36 8 37 10 9 2 -38 5 -29 20 65 15 94 17 100 30 100 5 0 10\\n-15 9 -32z m-1564 12 c-4 -6 5 -10 19 -10 16 0 26 -6 26 -15 0 -8 4 -15 9 -15\\n5 0 12 -10 16 -22 11 -36 21 -178 13 -178 -8 0 -9 7 -13 70 -1 19 -2 50 -3 69\\n-2 28 -4 32 -17 21 -12 -10 -15 -10 -15 4 0 8 -11 18 -25 22 -17 4 -25 13 -25\\n28 0 13 3 26 7 29 10 10 15 8 8 -3z m1613 -46 c0 -38 -15 -38 -20 0 -2 23 0\\n32 8 29 6 -2 12 -15 12 -29z m-41 -46 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3\\n4 -12 1 -19z m22 -70 c0 -13 -4 -32 -9 -43 -7 -15 -9 -10 -9 23 -1 23 4 42 9\\n42 6 0 10 -10 9 -22z m148 -25 c-3 -10 -5 -2 -5 17 0 19 2 27 5 18 2 -10 2\\n-26 0 -35z m-67 -20 c0 -30 -9 -27 -15 6 -2 11 0 21 6 21 5 0 9 -12 9 -27z\\nm-382 -38 c3 -3 12 1 21 8 14 11 14 10 2 -5 -7 -10 -17 -15 -22 -12 -5 3 -9 1\\n-9 -5 0 -5 7 -14 15 -18 8 -5 17 -29 19 -53 5 -44 5 -44 -12 -25 -9 11 -33 32\\n-52 46 -19 15 -40 40 -46 56 l-11 30 45 -9 c25 -4 48 -10 50 -13z m359 3 c-3\\n-8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z m-1560 -40 c-3 -7 -5 -2 -5\\n12 0 14 2 19 5 13 2 -7 2 -19 0 -25z m1694 -44 c-2 -25 -7 -42 -11 -37 -9 9\\n-1 83 9 83 3 0 5 -21 2 -46z m-1520 -7 c13 -29 94 -78 114 -71 8 4 15 1 15 -5\\n0 -6 -7 -11 -15 -11 -12 0 -14 -10 -9 -52 4 -29 6 -59 5 -65 -1 -7 -3 -28 -4\\n-47 -1 -19 -4 -34 -7 -34 -18 1 -23 -3 -12 -10 7 -5 13 -29 14 -55 2 -29 7\\n-47 14 -47 14 0 13 -17 -1 -40 -7 -13 -6 -13 7 -2 14 11 16 7 16 -30 0 -54 7\\n-95 21 -131 6 -16 11 -40 11 -53 0 -14 4 -23 9 -20 5 4 7 -2 4 -12 -3 -12 3\\n-22 19 -29 16 -8 18 -12 7 -12 -12 -1 -15 -8 -11 -26 2 -14 8 -23 12 -20 10 6\\n22 -24 14 -36 -3 -5 -1 -9 5 -9 6 0 2 -15 -8 -32 -23 -43 -41 -42 -66 4 -13\\n25 -28 38 -45 40 -20 2 -26 10 -30 36 -3 22 -13 37 -30 45 -15 8 -26 23 -28\\n39 -2 16 -11 28 -23 31 -14 4 -19 14 -19 43 0 20 -3 34 -7 31 -11 -12 -33 15\\n-33 41 0 14 -7 33 -16 43 -12 13 -13 22 -5 37 8 16 7 21 -5 26 -9 3 -14 12\\n-11 19 13 34 18 61 9 48 -7 -9 -11 -10 -16 -2 -8 12 14 71 26 71 5 0 8 8 8 18\\n0 14 -2 15 -10 2 -5 -8 -12 -11 -16 -7 -4 4 -2 13 4 19 7 7 8 16 2 23 -6 8 -4\\n18 6 31 14 16 15 17 10 2 -3 -10 -1 -18 4 -18 11 0 13 11 4 34 -3 9 -11 13\\n-18 9 -8 -5 -8 -3 0 8 7 8 12 37 12 64 0 52 6 75 30 113 18 28 30 28 43 -1z\\nm1493 -17 c4 -25 3 -31 -4 -20 -7 12 -10 8 -10 -15 0 -33 -20 -75 -20 -43 0\\n18 22 120 25 115 1 -1 5 -18 9 -37z m-491 -37 c51 -54 55 -127 8 -153 -15 -8\\n-37 -7 -86 5 -37 8 -103 15 -149 15 -96 0 -126 13 -107 48 16 31 63 52 113 52\\n49 0 114 27 142 58 21 25 36 20 79 -25z m528 -20 c-9 -16 -10 -16 -11 -1 0 9\\n3 25 7 35 7 16 8 17 11 1 2 -10 -1 -25 -7 -35z m36 25 c-3 -8 -6 -5 -6 6 -1\\n11 2 17 5 13 3 -3 4 -12 1 -19z m-81 -83 c-9 -31 -15 -41 -15 -26 -1 29 23\\n112 26 91 2 -8 -3 -37 -11 -65z m61 33 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3\\n-3 4 -12 1 -19z m-1367 -12 c0 -8 -7 -21 -15 -30 -8 -8 -15 -21 -16 -28 0 -10\\n-2 -10 -6 0 -2 6 -10 10 -16 6 -7 -3 -4 1 6 9 18 15 24 32 7 22 -5 -3 -10 3\\n-10 14 0 16 6 21 25 21 15 0 25 -6 25 -14z m1272 -54 c-14 -4 -16 -41 -2 -62\\n7 -12 10 -8 10 14 0 16 3 27 6 23 3 -3 3 -30 -2 -59 l-7 -53 -11 43 c-6 24\\n-15 40 -20 35 -5 -4 -5 7 -1 27 4 19 11 36 16 38 4 2 6 18 4 35 l-5 32 12 -34\\nc9 -27 9 -36 0 -39z m85 -4 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3 4 -12 1\\n-19z m-1286 -38 c10 0 19 -6 19 -12 0 -10 2 -10 8 0 6 9 12 0 21 -27 8 -27 16\\n-38 25 -35 23 9 27 -24 11 -99 -11 -51 -12 -73 -4 -78 8 -5 6 -17 -7 -40 -11\\n-19 -21 -36 -24 -39 -3 -3 -5 -23 -5 -45 1 -35 -17 -105 -27 -105 -2 0 -2 17\\n0 37 4 35 4 37 -13 23 -16 -14 -17 -13 -10 9 6 19 4 23 -8 18 -14 -5 -15 -2\\n-7 19 14 36 12 54 -5 54 -8 0 -15 5 -15 11 0 5 5 7 10 4 6 -3 10 1 10 10 0 12\\n-4 14 -19 6 -16 -9 -18 -7 -18 15 0 15 2 22 6 18 6 -8 71 -13 71 -6 0 2 -7 10\\n-15 19 -12 12 -13 18 -4 29 7 8 9 17 6 21 -4 3 -9 -1 -13 -10 -5 -13 -10 -14\\n-25 -6 -14 7 -19 6 -20 -3 0 -7 -5 0 -10 17 -8 30 -3 75 10 75 11 0 51 40 51\\n51 0 6 -9 8 -19 4 -14 -4 -21 0 -26 14 -3 12 -3 26 1 32 4 7 -1 10 -12 7 -17\\n-3 -29 -20 -53 -78 -9 -22 -9 -21 -4 10 6 42 34 85 56 85 9 0 19 4 24 8 4 5 9\\n3 11 -2 2 -6 12 -11 23 -11z m283 -39 c16 -17 16 -22 3 -48 -8 -15 -25 -37\\n-37 -48 -28 -25 -40 -57 -33 -84 5 -20 6 -20 19 -4 12 17 13 16 7 -4 -3 -13\\n-10 -23 -17 -23 -6 -1 -21 -16 -33 -35 -17 -26 -18 -32 -5 -28 9 4 -1 -15 -21\\n-42 -23 -30 -37 -59 -37 -77 0 -20 -10 -38 -32 -59 -36 -33 -48 -36 -48 -14 0\\n8 -4 15 -10 15 -5 0 -10 -9 -10 -20 0 -13 7 -20 20 -20 17 0 19 -4 14 -26 -5\\n-19 -4 -25 5 -20 6 4 9 11 6 16 -3 4 2 13 10 20 12 10 13 7 5 -21 -11 -39 -13\\n-41 -32 -34 -9 4 -14 14 -11 24 2 9 -3 23 -11 30 -24 20 -19 43 15 72 28 23\\n33 33 35 80 2 37 9 59 22 69 19 16 22 22 22 43 0 7 12 25 27 41 19 21 26 38\\n25 64 -1 25 9 52 36 93 20 32 40 59 43 59 3 0 14 -9 23 -19z m550 -28 c15 -31\\n15 -35 2 -24 -20 17 -20 2 -1 -23 11 -15 15 -16 16 -5 0 8 7 -4 15 -26 8 -22\\n18 -49 24 -60 6 -12 6 -34 1 -55 -5 -19 -9 -29 -10 -22 -1 7 -6 10 -13 6 -8\\n-5 -9 6 -5 40 7 49 -6 89 -37 115 -13 11 -16 11 -17 0 0 -8 -9 6 -20 30 -16\\n35 -17 46 -7 53 23 14 34 8 52 -29z m-186 -13 c6 -55 -15 -109 -45 -121 -14\\n-5 -27 -8 -28 -7 -1 2 -5 40 -7 86 l-5 83 41 -3 c39 -3 41 -5 44 -38z m-114\\n-22 c9 -83 8 -108 -8 -108 -31 0 -64 44 -70 93 -5 43 -3 49 17 57 46 18 54 13\\n61 -42z m789 -9 c-5 -5 -7 7 -4 29 5 34 6 35 9 8 2 -16 0 -32 -5 -37z m-26 19\\nc-3 -7 -5 -2 -5 12 0 14 2 19 5 13 2 -7 2 -19 0 -25z m-897 -15 c-1 -27 -1\\n-27 -15 -9 -19 25 -19 36 0 36 10 0 15 -10 15 -27z m-481 -20 c-1 -33 -2 -35\\n-8 -13 -4 14 -6 31 -3 38 8 22 12 13 11 -25z m351 -13 c0 -5 -5 -10 -11 -10\\n-5 0 -7 5 -4 10 3 6 8 10 11 10 2 0 4 -4 4 -10z m1087 -52 c-2 -13 -4 -5 -4\\n17 -1 22 1 32 4 23 2 -10 2 -28 0 -40z m-647 7 c0 -5 -5 -3 -10 5 -5 8 -10 20\\n-10 25 0 6 5 3 10 -5 5 -8 10 -19 10 -25z m727 3 c-3 -8 -6 -5 -6 6 -1 11 2\\n17 5 13 3 -3 4 -12 1 -19z m-1520 -13 c-4 -8 -11 -15 -17 -15 -6 0 -6 7 2 20\\n14 22 24 19 15 -5z m333 5 c0 -5 -2 -10 -4 -10 -3 0 -8 5 -11 10 -3 6 -1 10 4\\n10 6 0 11 -4 11 -10z m-260 -50 c0 -5 -2 -10 -4 -10 -3 0 -8 5 -11 10 -3 6 -1\\n10 4 10 6 0 11 -4 11 -10z m1477 -42 c-3 -8 -6 -5 -6 6 -1 11 2 17 5 13 3 -3\\n4 -12 1 -19z m13 -28 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10\\n6 0 10 -4 10 -10z m-749 -73 c-13 -13 -15 1 -4 30 7 17 8 17 11 -1 2 -10 -1\\n-23 -7 -29z m666 -9 c-3 -7 -5 -2 -5 12 0 14 2 19 5 13 2 -7 2 -19 0 -25z\\nm-840 -40 c-3 -7 -5 -2 -5 12 0 14 2 19 5 13 2 -7 2 -19 0 -25z m863 6 c0 -8\\n-5 -12 -10 -9 -6 4 -8 11 -5 16 9 14 15 11 15 -7z m-1460 -25 c0 -6 -4 -7 -10\\n-4 -5 3 -10 11 -10 16 0 6 5 7 10 4 6 -3 10 -11 10 -16z m631 -26 c-9 -16 -10\\n-14 -11 12 0 21 3 26 11 18 8 -8 8 -16 0 -30z m30 14 c-10 -9 -11 -8 -5 6 3\\n10 9 15 12 12 3 -3 0 -11 -7 -18z m435 -107 c-19 -43 -20 -25 -4 38 10 37 13\\n42 16 22 2 -14 -4 -41 -12 -60z m-926 60 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10\\n10 0 6 5 10 10 10 6 0 10 -4 10 -10z m514 -15 c-4 -8 -8 -15 -10 -15 -2 0 -4\\n7 -4 15 0 8 4 15 10 15 5 0 7 -7 4 -15z m-57 -187 c-3 -7 -5 -2 -5 12 0 14 2\\n19 5 13 2 -7 2 -19 0 -25z m-557 -133 c-16 -20 -3 -40 17 -24 12 10 16 10 24\\n-2 5 -8 9 -21 8 -29 0 -9 -5 -6 -13 9 -9 16 -16 20 -20 12 -4 -6 -12 -8 -18\\n-5 -7 4 -8 2 -4 -4 4 -6 0 -24 -9 -39 -16 -27 -16 -27 -10 -3 4 14 6 36 6 49\\n-1 22 14 51 26 51 3 0 0 -7 -7 -15z m835 -5 c3 -5 1 -10 -4 -10 -6 0 -11 5\\n-11 10 0 6 2 10 4 10 3 0 8 -4 11 -10z m-898 -52 c-3 -7 -5 -2 -5 12 0 14 2\\n19 5 13 2 -7 2 -19 0 -25z m558 -7 c-3 -5 0 -11 7 -13 7 -3 8 -10 4 -17 -12\\n-19 -26 5 -26 44 1 25 2 27 11 12 5 -9 8 -21 4 -26z m-108 -33 c-3 -8 -6 -5\\n-6 6 -1 11 2 17 5 13 3 -3 4 -12 1 -19z M1423 2234 c-3 -9 -13 -14 -24 -11\\n-12 3 -16 0 -12 -9 3 -8 16 -14 29 -14 19 0 24 5 24 25 0 28 -8 33 -17 9z\\nM1481 2151 c-11 -7 -11 -13 -1 -27 9 -16 11 -16 6 -2 -3 10 -1 20 4 23 5 3 11\\n-3 13 -12 4 -16 5 -16 6 -1 1 21 -11 29 -28 19z M1120 2120 c-13 -8 -12 -10 3\\n-10 9 0 17 5 17 10 0 12 -1 12 -20 0z M1073 2093 c-15 -5 -17 -29 -4 -37 5 -3\\n11 5 13 19 3 14 5 25 4 24 0 0 -7 -3 -13 -6z M795 2009 c-4 -6 -3 -14 2 -18 6\\n-3 13 -16 17 -28 4 -13 12 -23 18 -23 7 0 6 5 -2 15 -12 15 -5 39 10 30 4 -3\\n7 3 6 12 -3 21 -41 30 -51 12z M760 1996 c0 -4 7 -14 15 -22 8 -9 15 -11 15\\n-6 0 5 -7 15 -15 22 -8 7 -15 9 -15 6z M1155 1738 c-41 -14 -83 -55 -107 -103\\n-17 -33 -20 -51 -15 -119 5 -77 6 -80 49 -123 52 -52 98 -66 170 -53 119 23\\n182 99 181 217 -1 72 -19 111 -76 157 -33 26 -47 31 -105 33 -37 1 -80 -2 -97\\n-9z m172 -25 c19 -9 47 -34 61 -56 37 -55 38 -154 4 -210 -49 -78 -179 -119\\n-252 -79 -70 38 -111 166 -79 249 14 37 57 82 94 99 42 18 130 17 172 -3z\\nM1190 1600 c-24 -24 -24 -29 -4 -58 27 -40 74 -22 74 28 0 49 -36 64 -70 30z\\nm24 -21 c-3 -5 -10 -7 -15 -3 -5 3 -7 10 -3 15 3 5 10 7 15 3 5 -3 7 -10 3\\n-15z M1698 1599 c-10 -5 -18 -20 -18 -32 0 -51 64 -67 76 -20 12 45 -21 75\\n-58 52z m22 -19 c0 -5 -4 -10 -10 -10 -5 0 -10 5 -10 10 0 6 5 10 10 10 6 0\\n10 -4 10 -10z M607 1533 c-10 -9 -9 -61 1 -67 4 -2 7 13 7 35 0 21 0 39 -1 39\\n0 0 -4 -3 -7 -7z M639 1378 c11 -18 30 -40 43 -48 15 -10 10 1 -17 33 -46 55\\n-55 60 -26 15z M2050 1241 c0 -12 -5 -31 -10 -41 -6 -11 -6 -21 -1 -24 15 -10\\n36 63 22 77 -8 8 -11 5 -11 -12z M2120 1242 c0 -12 -4 -22 -9 -22 -5 0 -12 -8\\n-14 -17 -3 -11 -5 -6 -6 11 -1 38 -7 31 -15 -19 -4 -26 -3 -35 3 -26 5 8 16\\n11 24 8 12 -4 17 4 22 34 4 22 4 43 1 46 -3 4 -6 -3 -6 -15z M2066 979 c-4\\n-20 -10 -28 -17 -23 -8 4 -9 3 -5 -4 12 -20 24 -13 35 19 13 38 13 39 2 39 -5\\n0 -11 -14 -15 -31z M2076 932 c-4 -13 -5 -26 -2 -29 10 -11 18 4 14 29 l-4 23\\n-8 -23z M2187 913 c-2 -4 -7 -26 -10 -48 l-6 -40 14 44 c13 40 14 65 2 44z\\nM2215 780 c-3 -5 -1 -10 4 -10 6 0 11 5 11 10 0 6 -2 10 -4 10 -3 0 -8 -4 -11\\n-10z M2231 744 c0 -11 3 -14 6 -6 3 7 2 16 -1 19 -3 4 -6 -2 -5 -13z M2210\\n690 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0 -10 -4 -10 -10z\\nM2276 667 c-7 -30 -33 -32 -28 -2 2 10 -1 14 -7 10 -6 -3 -11 -18 -10 -33 0\\n-15 3 -22 5 -15 3 7 11 10 19 7 15 -6 39 30 32 49 -2 7 -7 -1 -11 -16z M2297\\n644 c-4 -4 -7 -19 -6 -33 l0 -26 10 24 c10 26 8 47 -4 35z M651 868 c0 -14 -4\\n-35 -7 -45 -4 -14 -4 -15 4 -4 5 7 15 10 21 7 7 -5 11 1 11 14 0 12 -4 19 -9\\n15 -5 -3 -12 5 -14 17 -4 21 -4 20 -6 -4z M707 764 c-4 -4 -7 -14 -7 -23 1\\n-13 3 -12 12 4 11 19 11 19 20 0 7 -19 8 -19 5 -1 -2 21 -19 31 -30 20z M696\\n694 c-5 -14 -4 -15 9 -4 17 14 19 20 6 20 -5 0 -12 -7 -15 -16z M738 683 c7\\n-3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z M777 610 c-3 -11 -2 -20 2\\n-20 3 0 12 9 19 20 10 16 10 20 -2 20 -7 0 -16 -9 -19 -20z M840 533 c0 -22 2\\n-25 10 -13 13 20 13 40 0 40 -5 0 -10 -12 -10 -27z M973 929 c10 -6 22 -22 27\\n-35 5 -13 15 -24 21 -24 6 0 8 7 5 16 -3 9 -6 21 -6 26 0 6 -3 9 -6 5 -4 -3\\n-13 0 -21 8 -8 8 -20 15 -26 15 -7 0 -4 -5 6 -11z M971 894 c0 -11 3 -14 6 -6\\n3 7 2 16 -1 19 -3 4 -6 -2 -5 -13z M969 729 c-9 -17 -8 -25 6 -38 15 -15 16\\n-14 14 9 -2 14 0 31 4 38 5 6 4 12 -2 12 -6 0 -15 -10 -22 -21z M1090 700 c-6\\n-12 -9 -24 -7 -27 3 -2 11 5 17 17 6 12 9 24 7 27 -3 2 -11 -5 -17 -17z M1307\\n690 c-3 -11 -1 -23 4 -26 5 -3 9 6 9 20 0 31 -6 34 -13 6z M1331 594 c0 -11 3\\n-14 6 -6 3 7 2 16 -1 19 -3 4 -6 -2 -5 -13z M1800 582 c0 -26 9 -28 36 -6 14\\n12 15 14 3 11 -9 -3 -22 0 -28 6 -8 8 -11 5 -11 -11z M1275 560 c-3 -5 -1 -10\\n4 -10 6 0 11 5 11 10 0 6 -2 10 -4 10 -3 0 -8 -4 -11 -10z M1780 561 c0 -6 4\\n-13 10 -16 6 -3 7 1 4 9 -7 18 -14 21 -14 7z M1270 519 c0 -13 4 -18 12 -13 8\\n5 9 2 5 -9 -3 -10 -2 -17 2 -17 5 0 11 7 15 15 3 8 1 15 -4 15 -6 0 -10 7 -10\\n15 0 8 -4 15 -10 15 -5 0 -10 -9 -10 -21z M1136 504 c-6 -15 -4 -15 11 -3 10\\n7 20 15 22 16 2 2 -3 3 -11 3 -9 0 -19 -7 -22 -16z M1212 488 c-7 -7 -12 -18\\n-12 -25 0 -7 -3 -12 -7 -10 -5 1 -10 -2 -12 -8 -3 -5 4 -12 13 -13 10 -2 16 0\\n12 6 -3 5 1 15 9 22 13 11 15 10 9 -6 -5 -18 -5 -18 6 -1 15 23 0 53 -18 35z\\nM1080 427 c0 -13 -5 -28 -12 -35 -9 -9 -6 -11 11 -7 18 3 22 0 20 -18 -1 -12\\n1 -29 4 -37 3 -8 8 -26 11 -40 3 -14 2 5 0 43 -4 51 -3 67 8 67 8 0 7 4 -4 11\\n-10 5 -18 17 -18 24 0 8 -4 15 -10 15 -5 0 -10 -10 -10 -23z M1807 438 c-3 -9\\n1 -33 8 -54 8 -22 14 -33 15 -26 0 7 5 10 10 7 6 -3 10 -1 10 5 0 6 4 9 9 6 4\\n-3 3 13 -3 36 -6 23 -12 34 -14 24 -4 -16 -4 -16 -16 0 -11 15 -14 15 -19 2z\\nM1300 393 c0 -14 -2 -15 -9 -4 -5 8 -11 9 -15 3 -3 -6 -2 -13 4 -17 6 -4 8\\n-10 6 -14 -3 -4 1 -29 8 -57 l13 -49 -1 78 c0 42 -2 77 -3 77 -2 0 -3 -8 -3\\n-17z M1324 387 c0 -14 7 -23 18 -23 21 0 21 1 8 27 -14 26 -28 24 -26 -4z\\nM1256 367 c3 -10 9 -15 12 -12 3 3 0 11 -7 18 -10 9 -11 8 -5 -6z M1334 334\\nc3 -9 6 -25 6 -37 0 -20 2 -19 15 7 16 31 12 46 -12 46 -10 0 -13 -6 -9 -16z\\nM1156 293 c-4 -9 -1 -23 7 -30 12 -12 13 -9 9 17 -5 34 -7 37 -16 13z M1462\\n280 c0 -14 2 -19 5 -12 2 6 2 18 0 25 -3 6 -5 1 -5 -13z M1970 211 c0 -34 2\\n-61 5 -61 2 0 15 5 29 11 20 9 23 16 16 38 -4 14 -7 29 -6 33 1 3 -2 10 -6 14\\n-5 4 -8 -4 -8 -17 0 -18 -3 -20 -9 -10 -5 8 -7 20 -4 27 2 6 0 15 -6 19 -7 4\\n-11 -14 -11 -54z M1233 254 c3 -4 -1 -13 -9 -21 -12 -12 -17 -13 -30 -2 -24\\n20 -35 -7 -16 -43 13 -27 13 -33 -1 -57 -20 -34 -26 -112 -9 -118 8 -3 12 6\\n12 26 0 46 24 97 49 104 13 3 21 0 21 -8 0 -7 7 -18 15 -25 12 -10 15 -10 15\\n4 0 9 5 16 10 16 6 0 10 10 10 21 0 18 -2 19 -15 9 -11 -9 -15 -9 -15 -1 0 7\\n-4 10 -9 6 -14 -8 -23 31 -16 65 5 21 3 30 -6 30 -7 0 -10 -3 -6 -6z M1098\\n205 c-3 -14 -1 -25 3 -25 5 0 9 11 9 25 0 14 -2 25 -4 25 -2 0 -6 -11 -8 -25z\\nM1216 25 c-4 -12 4 -15 34 -15 27 0 40 4 40 13 0 19 -66 21 -74 2z M1316 31\\nc-4 -7 -5 -15 -2 -18 9 -9 19 4 14 18 -4 11 -6 11 -12 0z\"/>\\n</g>\\n</svg>'\nconst svg_image =\n\t'<!-- Lucide icon \"image\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Image</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\" ry=\"2\" />\\n <circle cx=\"9\" cy=\"9\" r=\"2\" />\\n <path d=\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\" />\\n</svg>'\nconst svg_imessage =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 41.5 51\" color=\"#000\" fill=\"currentColor\">\\n\\t<style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n\\t<path d=\"M40.2,17.4c-3.4,2.1-5.5,5.7-5.5,9.7c0,4.5,2.7,8.6,6.8,10.3c-0.8,2.6-2,5-3.5,7.2c-2.2,3.1-4.5,6.3-7.9,6.3s-4.4-2-8.4-2\\n\\t\\tc-3.9,0-5.3,2.1-8.5,2.1s-5.4-2.9-7.9-6.5C2,39.5,0.1,33.7,0,27.6c0-9.9,6.4-15.2,12.8-15.2c3.4,0,6.2,2.2,8.3,2.2\\n\\t\\tc2,0,5.2-2.3,9-2.3C34.1,12.2,37.9,14.1,40.2,17.4z M28.3,8.1C30,6.1,30.9,3.6,31,1c0-0.3,0-0.7-0.1-1c-2.9,0.3-5.6,1.7-7.5,3.9\\n\\t\\tc-1.7,1.9-2.7,4.3-2.8,6.9c0,0.3,0,0.6,0.1,0.9c0.2,0,0.5,0.1,0.7,0.1C24.1,11.6,26.6,10.2,28.3,8.1z\" />\\n</svg>'\nconst svg_katana =\n\t'<svg\\n xmlns=\"http://www.w3.org/2000/svg\"\\n width=\"24\"\\n height=\"24\"\\n viewBox=\"0 0 180 180\"\\n>\\n <title>Katana</title>\\n <rect width=\"180\" height=\"180\" fill=\"#EEFF38\" />\\n <g transform=\"matrix(0.59 0 0 0.59 -148.35268 -146.39143)\" fill=\"#092332\">\\n <path d=\"M415.791 359.592H381.3L340.784 400.746V359.592H315.852V453.842H340.784V435.503L358.653 417.378L384.417 454.055H415.583L376.729 399.04L415.791 359.592Z\" />\\n <path d=\"M438.692 359.659V358.588C442.452 356.662 447.095 353.451 451.076 348.742C459.258 339.109 458.595 329.477 458.595 329.477H432.058V344.889V358.588V359.659H419.011V381.279H432.058V419.167C432.058 432.866 432.058 454.058 458.595 454.058C485.131 454.058 490.438 452.346 490.438 452.346V427.515C465.007 428.799 458.595 430.94 458.595 417.026V415.1V381.279H490.438V359.659H458.595H438.692Z\" />\\n </g>\\n</svg>'\nconst svg_mastra =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 400 400\">\\n <title>Mastra</title>\\n <rect width=\"400\" height=\"400\" rx=\"20\" fill=\"#000\"/>\\n <g transform=\"matrix(10 0 0 10 30 30)\">\\n <path fill=\"#fff\" d=\"m 4.99805,17.3481 c 2.48432,0 4.49804,2.0147 4.49804,4.4991 -1.9e-4,2.4841 -2.01384,4.498 -4.49804,4.498 C 2.51394,26.3451 0.500196,24.3313 0.5,21.8472 0.5,19.3629 2.51382,17.3483 4.99805,17.3481 Z M 10.8867,5.65479 c 2.4842,0 4.4979,2.01388 4.4981,4.49801 0,0.3397 -0.0378,0.6704 -0.1093,0.9884 -0.3137,1.395 -0.5802,2.9769 0.2173,4.1636 l 1.2647,1.8819 c 0.0788,0.1172 0.2152,0.1796 0.3562,0.1711 0.1232,-0.0074 0.2388,-0.0687 0.3077,-0.1712 l 1.2662,-1.8846 c 0.7896,-1.1752 0.536,-2.7394 0.2329,-4.1224 -0.0682,-0.3109 -0.1041,-0.6339 -0.1041,-0.9652 3e-4,-2.48416 2.0149,-4.49809 4.499,-4.49809 2.484,2.2e-4 4.4978,2.01407 4.4981,4.49809 0,0.3792 -0.047,0.7475 -0.1355,1.0993 -0.3233,1.2855 -0.5963,2.7204 0.0666,3.8682 l 1.2144,2.1029 c 0.0229,0.0397 0.0655,0.0633 0.1113,0.0633 2.4842,2e-4 4.4981,2.0148 4.4981,4.4991 -2e-4,2.4841 -2.014,4.4979 -4.4981,4.498 -2.4842,0 -4.4978,-2.0139 -4.498,-4.498 0,-0.3875 0.0489,-0.7636 0.141,-1.1223 0.3325,-1.2956 0.6165,-2.745 -0.0524,-3.9033 l -1.1565,-2.003 c -0.0388,-0.0672 -0.1113,-0.1052 -0.189,-0.1052 -0.0171,0 -0.033,0.0075 -0.0426,0.0217 l -1.2832,1.9092 c -0.8036,1.1956 -0.5274,2.7915 -0.2056,4.1956 0.0742,0.3238 0.1135,0.6609 0.1135,1.0073 -2e-4,2.484 -2.0141,4.4978 -4.4981,4.498 -2.4842,0 -4.4988,-2.0139 -4.499,-4.498 0,-0.2604 0.0222,-0.5156 0.0647,-0.7638 0.2208,-1.2886 0.3808,-2.7164 -0.3484,-3.8015 L 11.7419,15.9801 C 11.1829,15.1483 10.2191,14.7141 9.28286,14.3567 7.5906,13.7106 6.38867,12.0721 6.38867,10.1528 6.38886,7.66869 8.40254,5.65482 10.8867,5.65479 Z\"/>\\n </g>\\n</svg>'\nconst svg_messaging =\n\t'<!-- Lucide icon \"messages-square\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Messaging</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M14 9a2 2 0 0 1-2 2H6l-4 4V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2z\" />\\n <path d=\"M18 9h2a2 2 0 0 1 2 2v11l-4-4h-6a2 2 0 0 1-2-2v-1\" />\\n</svg>'\nconst svg_pdf =\n\t'<!-- Lucide icon \"file-type-2\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>PDF</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4\" />\\n <path d=\"M14 2v4a2 2 0 0 0 2 2h4\" />\\n <path d=\"M2 13v-1h6v1\" />\\n <path d=\"M5 12v6\" />\\n <path d=\"M4 18h2\" />\\n</svg>'\nconst svg_pinecone =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 28 30\" color=\"#000\" fill=\"none\">\\n <title>Pinecone</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <g stroke=\"currentColor\" stroke-linecap=\"square\" fill=\"none\">\\n <path d=\"m14.58 5.24.7-3.89\" stroke-width=\"1.77\"/>\\n <path d=\"m17.8 3.86-2.44-2.98-3.32 1.94\" stroke-linejoin=\"round\" stroke-width=\"1.77\"/>\\n <path d=\"m11.66 21.84.68-3.89\" stroke-width=\"1.77\"/>\\n <path d=\"m14.88 20.45-2.46-2.97-3.31 1.95\" stroke-linejoin=\"round\" stroke-width=\"1.77\"/>\\n <path d=\"m13.07 13.82.68-3.89\" stroke-width=\"1.77\"/>\\n <path d=\"m16.29 12.43-2.45-2.96-3.31 1.94\" stroke-linejoin=\"round\" stroke-width=\"1.77\"/>\\n <circle cx=\"10.77\" cy=\"26.85\" fill=\"currentColor\" stroke=\"none\" r=\"1.63\"/>\\n <path d=\"m6.15 21.5-2.99 2.08\" stroke-width=\"1.68\"/>\\n <path d=\"m6.33 24.87-3.53-1.04.26-3.67\" stroke-linejoin=\"round\" stroke-width=\"1.68\"/>\\n <path d=\"m17.01 23.45 2.08 3\" stroke-width=\"1.68\"/>\\n <path d=\"m15.67 26.55 3.67.25 1.04-3.51\" stroke-linejoin=\"round\" stroke-width=\"1.68\"/>\\n <path d=\"m20.42 17.36 3.66.66\" stroke-width=\"1.72\"/>\\n <path d=\"m21.68 20.57 2.84-2.47-1.79-3.29\" stroke-linejoin=\"round\" stroke-width=\"1.72\"/>\\n <path d=\"m19.35 10.1 3.26-1.8\" stroke-width=\"1.72\"/>\\n <path d=\"m19.53 6.65 3.47 1.44-.65 3.69\" stroke-linejoin=\"round\" stroke-width=\"1.72\"/>\\n <path d=\"m4.97 14.64-3.67-.64\" stroke-width=\"1.72\"/>\\n <path d=\"m2.68 17.22-1.82-3.29 2.81-2.48\" stroke-linejoin=\"round\" stroke-width=\"1.72\"/>\\n <path d=\"m8.45 8.17-2.45-2.8\" stroke-width=\"1.72\"/>\\n <path d=\"m9.46 4.88-3.75.16-.66 3.69\" stroke-linejoin=\"round\" stroke-width=\"1.72\"/>\\n </g>\\n</svg>'\nconst svg_presentation =\n\t'<!-- Lucide icon \"presentation\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Presentation</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M2 3h20\" />\\n <path d=\"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3\" />\\n <path d=\"m7 21 5-5 5 5\" />\\n</svg>'\nconst svg_qdrant =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\\n <title>Qdrant</title>\\n <path fill=\"#DC244C\" d=\"m12 16.5 3.897-2.25v-4.5L12 7.5 8.103 9.75v4.5zM1.607 18 12 24l3.897-2.25v-4.5L12 19.5l-6.495-3.75v-7.5L12 4.5l6.495 3.75v15L22.393 21V6L12 0 1.607 6Z\"/>\\n</svg>'\nconst svg_queue =\n\t'<!-- Lucide icon \"list-ordered\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Queue</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M10 12h11\" />\\n <path d=\"M10 18h11\" />\\n <path d=\"M10 6h11\" />\\n <path d=\"M4 10h2\" />\\n <path d=\"M4 6h1v4\" />\\n <path d=\"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1\" />\\n</svg>'\nconst svg_rag =\n\t'<!-- Lucide icon \"brain-circuit\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>RAG</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z\" />\\n <path d=\"M9 13a4.5 4.5 0 0 0 3-4\" />\\n <path d=\"M6.003 5.125A3 3 0 0 0 6.401 6.5\" />\\n <path d=\"M3.477 10.896a4 4 0 0 1 .585-.396\" />\\n <path d=\"M6 18a4 4 0 0 1-1.967-.516\" />\\n <path d=\"M12 13h4\" />\\n <path d=\"M12 18h6a2 2 0 0 1 2 2v1\" />\\n <path d=\"M12 8h8\" />\\n <path d=\"M16 8V5a2 2 0 0 1 2-2\" />\\n <circle cx=\"16\" cy=\"13\" r=\".5\" />\\n <circle cx=\"18\" cy=\"3\" r=\".5\" />\\n <circle cx=\"20\" cy=\"21\" r=\".5\" />\\n <circle cx=\"20\" cy=\"8\" r=\".5\" />\\n</svg>'\nconst svg_resend =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" color=\"#000\" fill=\"currentColor\">\\n <title>Resend</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M14.679 0c4.648 0 7.413 2.765 7.413 6.434s-2.765 6.434-7.413 6.434H12.33L24 24h-8.245l-8.88-8.44c-.636-.588-.93-1.273-.93-1.86 0-.831.587-1.565 1.713-1.883l4.574-1.224c1.737-.465 2.936-1.81 2.936-3.572 0-2.153-1.761-3.4-3.939-3.4H0V0z\"/>\\n</svg>'\nconst svg_scheduler =\n\t'<!-- Lucide icon \"clock\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Scheduler</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\\n <polyline points=\"12 6 12 12 16 14\" />\\n</svg>'\nconst svg_skills =\n\t'<!-- Lucide icon \"sparkles\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Skills</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z\" />\\n <path d=\"M20 3v4\" />\\n <path d=\"M22 5h-4\" />\\n <path d=\"M4 17v2\" />\\n <path d=\"M5 18H3\" />\\n</svg>'\nconst svg_slack =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"73.6 73.6 122.8 122.8\">\\n\\t<path fill=\"#E01E5A\" d=\"M99.4,151.2c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h12.9V151.2z\" />\\n\\t<path fill=\"#E01E5A\" d=\"M105.9,151.2c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v32.3c0,7.1-5.8,12.9-12.9,12.9\\n\\t\\ts-12.9-5.8-12.9-12.9V151.2z\" />\\n\\t<path fill=\"#36C5F0\" d=\"M118.8,99.4c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9s12.9,5.8,12.9,12.9v12.9H118.8z\" />\\n\\t<path fill=\"#36C5F0\" d=\"M118.8,105.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9H86.5c-7.1,0-12.9-5.8-12.9-12.9\\n\\t\\ts5.8-12.9,12.9-12.9H118.8z\" />\\n\\t<path fill=\"#2EB67D\" d=\"M170.6,118.8c0-7.1,5.8-12.9,12.9-12.9c7.1,0,12.9,5.8,12.9,12.9s-5.8,12.9-12.9,12.9h-12.9V118.8z\" />\\n\\t<path fill=\"#2EB67D\" d=\"M164.1,118.8c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9V86.5c0-7.1,5.8-12.9,12.9-12.9\\n\\t\\tc7.1,0,12.9,5.8,12.9,12.9V118.8z\" />\\n\\t<path fill=\"#ECB22E\" d=\"M151.2,170.6c7.1,0,12.9,5.8,12.9,12.9c0,7.1-5.8,12.9-12.9,12.9c-7.1,0-12.9-5.8-12.9-12.9v-12.9H151.2z\" />\\n\\t<path fill=\"#ECB22E\" d=\"M151.2,164.1c-7.1,0-12.9-5.8-12.9-12.9c0-7.1,5.8-12.9,12.9-12.9h32.3c7.1,0,12.9,5.8,12.9,12.9\\n\\t\\tc0,7.1-5.8,12.9-12.9,12.9H151.2z\" />\\n</svg>'\nconst svg_supabase =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\\n <title>Supabase</title>\\n <path fill=\"#3ECF8E\" d=\"M11.9 1.036c-.015-.986-1.26-1.41-1.874-.637L.764 12.05C-.33 13.427.65 15.455 2.409 15.455h9.579l.113 7.51c.014.985 1.259 1.408 1.873.636l9.262-11.653c1.093-1.375.113-3.403-1.645-3.403h-9.642z\"/>\\n</svg>'\nconst svg_tasks =\n\t'<!-- Lucide icon \"list-todo\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Tasks</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <rect x=\"3\" y=\"5\" width=\"6\" height=\"6\" rx=\"1\" />\\n <path d=\"m3 17 2 2 4-4\" />\\n <path d=\"M13 6h8\" />\\n <path d=\"M13 12h8\" />\\n <path d=\"M13 18h8\" />\\n</svg>'\nconst svg_teams =\n\t'<!-- Microsoft Office Teams (2025–present)\\n https://upload.wikimedia.org/wikipedia/commons/0/07/Microsoft_Office_Teams_%282025%E2%80%93present%29.svg\\n Wikimedia Commons\\n-->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"4 4 36 38\" width=\"24\" height=\"24\">\\n <title>Microsoft Teams</title><path fill=\"url(#a)\" d=\"M21.9999 20h12c3.3137 0 6 2.6863 6 6v10c0 3.3137-2.6863 6-6 6s-6-2.6863-6-6V26c0-3.3137-2.6863-6-6-6\"/><path fill=\"url(#b)\" d=\"M7.99988 24c0-3.3137 2.68632-6 6.00002-6h8c3.3137 0 6 2.6863 6 6v12c0 3.3137 2.6863 6 6 6l-16.0001-.0001c-5.5228 0-9.99992-4.4771-9.99992-10z\"/><path fill=\"url(#c)\" fill-opacity=\".7\" d=\"M7.99988 24c0-3.3137 2.68632-6 6.00002-6h8c3.3137 0 6 2.6863 6 6v12c0 3.3137 2.6863 6 6 6l-16.0001-.0001c-5.5228 0-9.99992-4.4771-9.99992-10z\"/><path fill=\"url(#d)\" fill-opacity=\".7\" d=\"M7.99988 24c0-3.3137 2.68632-6 6.00002-6h8c3.3137 0 6 2.6863 6 6v12c0 3.3137 2.6863 6 6 6l-16.0001-.0001c-5.5228 0-9.99992-4.4771-9.99992-10z\"/><path fill=\"url(#e)\" d=\"M32.9999 18c2.7614 0 5-2.2386 5-5s-2.2386-5-5-5-5 2.2386-5 5 2.2386 5 5 5\"/><path fill=\"url(#f)\" fill-opacity=\".46\" d=\"M32.9999 18c2.7614 0 5-2.2386 5-5s-2.2386-5-5-5-5 2.2386-5 5 2.2386 5 5 5\"/><path fill=\"url(#g)\" fill-opacity=\".4\" d=\"M32.9999 18c2.7614 0 5-2.2386 5-5s-2.2386-5-5-5-5 2.2386-5 5 2.2386 5 5 5\"/><path fill=\"url(#h)\" d=\"M17.9999 16c3.3137 0 6-2.6863 6-6 0-3.31371-2.6863-6-6-6s-6 2.68629-6 6c0 3.3137 2.6863 6 6 6\"/><path fill=\"url(#i)\" fill-opacity=\".6\" d=\"M17.9999 16c3.3137 0 6-2.6863 6-6 0-3.31371-2.6863-6-6-6s-6 2.68629-6 6c0 3.3137 2.6863 6 6 6\"/><path fill=\"url(#j)\" fill-opacity=\".5\" d=\"M17.9999 16c3.3137 0 6-2.6863 6-6 0-3.31371-2.6863-6-6-6s-6 2.68629-6 6c0 3.3137 2.6863 6 6 6\"/><rect width=\"16\" height=\"16\" x=\"4\" y=\"23\" fill=\"url(#k)\" rx=\"3.25\"/><rect width=\"16\" height=\"16\" x=\"4\" y=\"23\" fill=\"url(#l)\" fill-opacity=\".7\" rx=\"3.25\"/><path fill=\"#fff\" d=\"M15.4792 28.1054h-2.4471v7.466h-2.0648v-7.466H8.52014v-1.6768h6.95906z\"/><defs><radialGradient id=\"a\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(13.4784 0 0 33.2694 39.7967 22.1739)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#a98aff\"/><stop offset=\".14\" stop-color=\"#8c75ff\"/><stop offset=\".565\" stop-color=\"#5f50e2\"/><stop offset=\".9\" stop-color=\"#3c2cb8\"/></radialGradient><radialGradient id=\"b\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(68.1539 -7.71566095 14.71355834)scale(32.752 33.1231)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#85c2ff\"/><stop offset=\".69\" stop-color=\"#7588ff\"/><stop offset=\"1\" stop-color=\"#6459fe\"/></radialGradient><radialGradient id=\"d\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(113.326 8.09285255 17.64474501)scale(19.2186 15.4273)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#bd96ff\"/><stop offset=\".686685\" stop-color=\"#bd96ff\" stop-opacity=\"0\"/></radialGradient><radialGradient id=\"e\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(0 -10 12.6216 0 32.9999 11.5714)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".268201\" stop-color=\"#6868f7\"/><stop offset=\"1\" stop-color=\"#3923b1\"/></radialGradient><radialGradient id=\"f\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(40.0516 -.03068196 44.8729095)scale(7.14629 10.3363)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".270711\" stop-color=\"#a1d3ff\"/><stop offset=\".813393\" stop-color=\"#a1d3ff\" stop-opacity=\"0\"/></radialGradient><radialGradient id=\"g\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(-41.6581 32.11799918 -43.41948423)scale(8.51275 20.8824)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#e3acfd\"/><stop offset=\".816041\" stop-color=\"#9fa2ff\" stop-opacity=\"0\"/></radialGradient><radialGradient id=\"h\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(0 -12 15.146 0 17.9999 8.28571)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".268201\" stop-color=\"#8282ff\"/><stop offset=\"1\" stop-color=\"#3923b1\"/></radialGradient><radialGradient id=\"i\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(40.0516 -3.15465147 21.41641466)scale(8.57554 12.4035)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".270711\" stop-color=\"#a1d3ff\"/><stop offset=\".813393\" stop-color=\"#a1d3ff\" stop-opacity=\"0\"/></radialGradient><radialGradient id=\"j\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(-41.6581 20.38180375 -26.51566158)scale(10.2153 25.0589)\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#e3acfd\"/><stop offset=\".816041\" stop-color=\"#9fa2ff\" stop-opacity=\"0\"/></radialGradient><radialGradient id=\"k\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"rotate(45 -25.76345597 16.32842712)scale(22.6274)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".046875\" stop-color=\"#688eff\"/><stop offset=\".946875\" stop-color=\"#230f94\"/></radialGradient><radialGradient id=\"l\" cx=\"0\" cy=\"0\" r=\"1\" gradientTransform=\"matrix(0 11.2 -13.0702 0 12 32.6)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".570647\" stop-color=\"#6965f6\" stop-opacity=\"0\"/><stop offset=\"1\" stop-color=\"#8f8fff\"/></radialGradient><linearGradient id=\"c\" x1=\"20.5936\" x2=\"20.5936\" y1=\"18\" y2=\"42\" gradientUnits=\"userSpaceOnUse\"><stop offset=\".801159\" stop-color=\"#6864f6\" stop-opacity=\"0\"/><stop offset=\"1\" stop-color=\"#5149de\"/></linearGradient></defs></svg>'\nconst svg_telegram =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 1000 1000\">\\n\\t<defs>\\n\\t\\t<linearGradient id=\"g\" x1=\"50%\" x2=\"50%\" y1=\"0%\" y2=\"99.2583404%\">\\n\\t\\t\\t<stop offset=\"0%\" stop-color=\"#2AABEE\" />\\n\\t\\t\\t<stop offset=\"100%\" stop-color=\"#229ED9\" />\\n\\t\\t</linearGradient>\\n\\t</defs>\\n\\t<circle cx=\"500\" cy=\"500\" r=\"500\" fill=\"url(#g)\" />\\n\\t<path fill=\"#FFF\" fill-rule=\"evenodd\" d=\"M226.328419,494.722069 C372.088573,431.216685 469.284839,389.350049 517.917216,369.122161 C656.772535,311.36743 685.625481,301.334815 704.431427,301.003532 C708.567621,300.93067 717.815839,301.955743 723.806446,306.816707 C728.864797,310.92121 730.256552,316.46581 730.922551,320.357329 C731.588551,324.248848 732.417879,333.113828 731.758626,340.040666 C724.234007,419.102486 691.675104,610.964674 675.110982,699.515267 C668.10208,736.984342 654.301336,749.547532 640.940618,750.777006 C611.904684,753.448938 589.856115,731.588035 561.733393,713.153237 C517.726886,684.306416 492.866009,666.349181 450.150074,638.200013 C400.78442,605.66878 432.786119,587.789048 460.919462,558.568563 C468.282091,550.921423 596.21508,434.556479 598.691227,424.000355 C599.00091,422.680135 599.288312,417.758981 596.36474,415.160431 C593.441168,412.561881 589.126229,413.450484 586.012448,414.157198 C581.598758,415.158943 511.297793,461.625274 375.109553,553.556189 C355.154858,567.258623 337.080515,573.934908 320.886524,573.585046 C303.033948,573.199351 268.692754,563.490928 243.163606,555.192408 C211.851067,545.013936 186.964484,539.632504 189.131547,522.346309 C190.260287,513.342589 202.659244,504.134509 226.328419,494.722069 Z\" />\\n</svg>'\nconst svg_textract =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\">\\n <title>Amazon Textract</title>\\n <rect width=\"24\" height=\"24\" fill=\"#01A88D\"/>\\n <path fill=\"#FFFFFF\" d=\"M10.4958528,9.80844542 C11.9822217,9.80844542 13.19215,11.017579 13.19215,12.5029715 C13.19215,13.9883641 11.9822217,15.1974977 10.4958528,15.1974977 C9.00948386,15.1974977 7.80055714,13.9883641 7.80055714,12.5029715 C7.80055714,11.017579 9.00948386,9.80844542 10.4958528,9.80844542 L10.4958528,9.80844542 Z M10.4958528,16.198436 C12.3638299,16.198436 13.8962722,14.8031279 14.1436665,13.0034407 L18.0288585,13.0034407 L18.0288585,12.0025023 L14.1436665,12.0025023 C13.8962722,10.2028151 12.3638299,8.80750704 10.4958528,8.80750704 C8.62887727,8.80750704 7.09543335,10.2028151 6.84904066,12.0025023 L5.38270368,12.0025023 L6.42536543,10.2568658 L5.56399261,9.74438536 L4.07061254,12.2467313 C3.97646249,12.4048796 3.97646249,12.6010635 4.07061254,12.7592118 L5.56399261,15.2615577 L6.42536543,14.7490773 L5.38270368,13.0034407 L6.84904066,13.0034407 C7.09543335,14.8031279 8.62887727,16.198436 10.4958528,16.198436 L10.4958528,16.198436 Z M9.99505462,12.0355333 L8.9994679,12.0355333 L8.9994679,11.0345949 L12.0042568,11.0345949 L12.0042568,12.0355333 L10.9966509,12.0355333 L10.9966509,14.5819206 L9.99505462,14.5819206 L9.99505462,12.0355333 Z M15.9946164,5.70359712 L18.2842655,7.97772912 L15.9946164,7.97772912 L15.9946164,5.70359712 Z M19.8527653,8.12286519 L15.8473818,4.146137 C15.7532317,4.05304973 15.626029,4 15.4938183,4 L9.46921656,4 C9.19177439,4 8.96841842,4.2242102 8.96841842,4.50046919 L8.96841842,7.26305912 L9.97001471,7.26305912 L9.97001471,5.00093838 L14.9930201,5.00093838 L14.9930201,8.47819831 C14.9930201,8.7544573 15.2173777,8.9786675 15.4938183,8.9786675 L18.9984037,8.9786675 L18.9984037,18.9990616 L9.97001471,18.9990616 L9.97001471,17.4796372 L8.96841842,17.4796372 L8.96841842,19.4995308 C8.96841842,19.7757898 9.19177439,20 9.46921656,20 L19.4992019,20 C19.776644,20 20,19.7757898 20,19.4995308 L20,8.47819831 C20,8.34507351 19.947917,8.21695339 19.8527653,8.12286519 L19.8527653,8.12286519 Z\"/>\\n</svg>'\nconst svg_vector_store =\n\t'<!-- Lucide icon \"layers\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Vector store</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <path d=\"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z\" />\\n <path d=\"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12\" />\\n <path d=\"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17\" />\\n</svg>'\nconst svg_web_fetch =\n\t'<!-- Lucide icon \"globe\" from lucide-static@0.469.0 (ISC) — https://lucide.dev -->\\n<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" color=\"#000\">\\n <title>Web fetch</title>\\n <style>@media (prefers-color-scheme:dark){:root{color:#fff}}</style>\\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\\n <path d=\"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\" />\\n <path d=\"M2 12h20\" />\\n</svg>'\nconst svg_woocommerce =\n\t'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 183.6 47.5\" fill=\"#873EFF\" fill-rule=\"evenodd\">\\n <path d=\"M77.4 0c-4.3 0-7.1 1.4-9.6 6.1L56.4 27.6V8.5c0-5.7-2.7-8.5-7.7-8.5s-7.1 1.7-9.6 6.5L28.3 27.6V8.7C28.3 2.6 25.8 0 19.7 0H7.3C2.6 0 0 2.2 0 6.2s2.5 6.4 7.1 6.4h5.1v24.1c0 6.8 4.6 10.8 11.2 10.8s9.6-2.6 12.9-8.7l7.2-13.5v11.4c0 6.7 4.4 10.8 11.1 10.8s9.2-2.3 13-8.7l16.6-28C87.8 4.7 85.3 0 77.3 0h.1Z\"/>\\n <path d=\"M108.6 0C95 0 84.7 10.1 84.7 23.8s10.4 23.7 23.9 23.7 23.8-10.1 23.9-23.7C132.5 10.1 122.1 0 108.6 0Zm0 32.9c-5.1 0-8.6-3.8-8.6-9.1s3.5-9.2 8.6-9.2 8.6 3.9 8.6 9.2-3.4 9.1-8.6 9.1ZM159.7 0c-13.5 0-23.9 10.1-23.9 23.8s10.4 23.7 23.9 23.7 23.9-10.1 23.9-23.7S173.2 0 159.7 0Zm0 32.9c-5.2 0-8.5-3.8-8.5-9.1s3.4-9.2 8.5-9.2 8.6 3.9 8.6 9.2-3.4 9.1-8.6 9.1Z\"/>\\n</svg>'\n\n/** Inline SVG by module / pack id (shared files referenced many times). */\nexport const packLogosByModuleId: Readonly<Record<string, string>> = {\n\t'amazon-sp-api': svg_amazon,\n\tartifacts: svg_artifacts,\n\t'bedrock-agentcore-browser': svg_amazon,\n\t'bedrock-agentcore-code-interpreter': svg_amazon,\n\tbrowser: svg_browser,\n\tcalendar: svg_calendar,\n\t'cloudflare-browser': svg_cloudflare_browser,\n\t'cloudflare-email': svg_cloudflare_email,\n\t'cloudflare-sandbox': svg_cloudflare,\n\t'code-sandbox': svg_code_sandbox,\n\t'content-type': svg_content_type,\n\tcrypto: svg_crypto,\n\tdocument: svg_document,\n\t'document-extract': svg_document_extract,\n\t'document-render': svg_document_render,\n\temail: svg_email,\n\t'email-message': svg_email_message,\n\t'eventbridge-scheduler': svg_amazon,\n\t'file-convert': svg_file_convert,\n\tfiles: svg_files,\n\tgotenberg: svg_gotenberg,\n\timage: svg_image,\n\timessage: svg_imessage,\n\tkatana: svg_katana,\n\t'mastra-vector': svg_mastra,\n\tmessaging: svg_messaging,\n\tpdf: svg_pdf,\n\tpinecone: svg_pinecone,\n\tpresentation: svg_presentation,\n\tqdrant: svg_qdrant,\n\tqueue: svg_queue,\n\trag: svg_rag,\n\tresend: svg_resend,\n\ts3: svg_amazon,\n\tscheduler: svg_scheduler,\n\tskills: svg_skills,\n\tslack: svg_slack,\n\tsqs: svg_amazon,\n\t'supabase-vector': svg_supabase,\n\ttasks: svg_tasks,\n\tteams: svg_teams,\n\ttelegram: svg_telegram,\n\ttextract: svg_textract,\n\t'vector-store': svg_vector_store,\n\t'web-fetch': svg_web_fetch,\n\twoocommerce: svg_woocommerce\n}\n\nexport function logoForModuleId(id: string): string | undefined {\n\treturn packLogosByModuleId[id]\n}\n","import { logoForModuleId } from '../generated/pack-logos'\nimport type {\n\tAuthDefinition,\n\tModuleClassification,\n\tModuleDefinition,\n\tToolContext,\n\tToolDefinition,\n\tToolRuntime,\n\tToolSideEffect\n} from './types'\nimport { assertUniqueBy } from './unique'\n\nexport type DefineToolOptions<TInput, TOutput> = {\n\tdescription: string\n\tid: string\n\tinputSchema: ToolDefinition<TInput, TOutput>['inputSchema']\n\tname: string\n\toutputSchema: ToolDefinition<TInput, TOutput>['outputSchema']\n\truntime?: ToolRuntime\n\tsideEffect?: ToolSideEffect\n\ttags?: readonly string[]\n\t/** Host-facing hints (not enforced by the kernel). */\n\tidempotent?: boolean\n\tlongRunning?: boolean\n\trequiresConfirmation?: boolean\n\tsupportsCancel?: boolean\n\tsupportsProgress?: boolean\n\tnetwork?: boolean\n\tartifacts?: boolean\n\texecute: (input: TInput, ctx: ToolContext) => Promise<TOutput>\n}\n\nexport function defineTool<TInput, TOutput>(\n\toptions: DefineToolOptions<TInput, TOutput>\n): ToolDefinition<TInput, TOutput> {\n\tconst description = options.description.trim()\n\tif (!description) {\n\t\tthrow new Error(`Tool ${options.id} is missing a model-facing description`)\n\t}\n\tif (!options.id.trim()) {\n\t\tthrow new Error('Tool id is required')\n\t}\n\tif (!options.name.trim()) {\n\t\tthrow new Error(`Tool ${options.id} is missing a name`)\n\t}\n\n\treturn {\n\t\tid: options.id,\n\t\tname: options.name,\n\t\tdescription,\n\t\tinputSchema: options.inputSchema,\n\t\toutputSchema: options.outputSchema,\n\t\tmeta: {\n\t\t\truntime: options.runtime ?? 'both',\n\t\t\tsideEffect: options.sideEffect ?? 'read',\n\t\t\ttags: options.tags,\n\t\t\tidempotent: options.idempotent,\n\t\t\tlongRunning: options.longRunning,\n\t\t\trequiresConfirmation: options.requiresConfirmation,\n\t\t\tsupportsCancel: options.supportsCancel,\n\t\t\tsupportsProgress: options.supportsProgress,\n\t\t\tnetwork: options.network,\n\t\t\tartifacts: options.artifacts\n\t\t},\n\t\texecute: async (input, ctx) => {\n\t\t\tconst parsed = options.inputSchema.parse(input)\n\t\t\treturn options.execute(parsed, ctx)\n\t\t}\n\t}\n}\n\n/** @deprecated Prefer defineTool return value directly; kept for call-site clarity in modules. */\nexport function asAnyTool<TInput, TOutput>(tool: ToolDefinition<TInput, TOutput>): ToolDefinition {\n\treturn tool\n}\n\nexport type DefineModuleOptions<TAuth = unknown> = {\n\tauth?: AuthDefinition<TAuth>\n\tdescription: string\n\tid: string\n\truntime?: ToolRuntime\n\ttitle: string\n\ttools: readonly ToolDefinition[]\n\t/** Optional override; default comes from the pack logo map by module id. */\n\tlogo?: string | undefined\n\t/**\n\t * Catalog categories for UI filters / MCP / skill grouping.\n\t * Declared on the pack (`module.ts`) — not a central registry in core.\n\t */\n\tcategories?: readonly string[]\n\t/** Host sensitivity hint (`standard` | `pii` | `phi`). Pack declares; host enforces. */\n\tclassification?: ModuleClassification\n\t/** Module-level search / badge labels. */\n\ttags?: readonly string[]\n}\n\nexport function defineModule<TAuth = unknown>(options: DefineModuleOptions<TAuth>): ModuleDefinition<TAuth> {\n\tconst description = options.description.trim()\n\tif (!description) {\n\t\tthrow new Error(`Module ${options.id} is missing a description`)\n\t}\n\tif (!options.id.trim()) {\n\t\tthrow new Error('Module id is required')\n\t}\n\tif (options.tools.length === 0) {\n\t\tthrow new Error(`Module ${options.id} must declare at least one tool`)\n\t}\n\n\tassertUniqueBy(\n\t\toptions.tools,\n\t\t(tool) => tool.id,\n\t\t(id) => `Module ${options.id} has duplicate tool id: ${id}`\n\t)\n\n\tconst logo = options.logo ?? logoForModuleId(options.id)\n\tconst categories = options.categories ?? []\n\n\treturn {\n\t\tid: options.id,\n\t\ttitle: options.title,\n\t\tdescription,\n\t\truntime: options.runtime ?? 'both',\n\t\tauth: options.auth ?? { type: 'none' },\n\t\ttools: options.tools,\n\t\tcategories,\n\t\t...(options.classification !== undefined && { classification: options.classification }),\n\t\t...(options.tags !== undefined && options.tags.length > 0 && { tags: options.tags }),\n\t\t...(logo !== undefined && { logo })\n\t}\n}\n"],"mappings":";;AAGA,MAAM,aACL;;AAmFD,MAAa,sBAAwD;CACpE,iBAAiB;CACjB,WAAW;CACX,6BAA6B;CAC7B,sCAAsC;CACtC,SAAS;CACT,UAAU;CACV,sBAAsB;CACtB,oBAAoB;CACpB,sBAAsB;CACtB,gBAAgB;CAChB,gBAAgB;CAChB,QAAQ;CACR,UAAU;CACV,oBAAoB;CACpB,mBAAmB;CACnB,OAAO;CACP,iBAAiB;CACjB,yBAAyB;CACzB,gBAAgB;CAChB,OAAO;CACP,WAAW;CACX,OAAO;CACP,UAAU;CACV,QAAQ;CACR,iBAAiB;CACjB,WAAW;CACX,KAAK;CACL,UAAU;CACV,cAAc;CACd,QAAQ;CACR,OAAO;CACP,KAAK;CACL,QAAQ;CACR,IAAI;CACJ,WAAW;CACX,QAAQ;CACR,OAAO;CACP,KAAK;CACL,mBAAmB;CACnB,OAAO;CACP,OAAO;CACP,UAAU;CACV,UAAU;CACV,gBAAgB;CAChB,aAAa;CACb,aAAa;AACd;AAEA,SAAgB,gBAAgB,IAAgC;CAC/D,OAAO,oBAAoB;AAC5B;;;AC1GA,SAAgB,WACf,SACkC;CAClC,MAAM,cAAc,QAAQ,YAAY,KAAK;CAC7C,IAAI,CAAC,aACJ,MAAM,IAAI,MAAM,QAAQ,QAAQ,GAAG,uCAAuC;CAE3E,IAAI,CAAC,QAAQ,GAAG,KAAK,GACpB,MAAM,IAAI,MAAM,qBAAqB;CAEtC,IAAI,CAAC,QAAQ,KAAK,KAAK,GACtB,MAAM,IAAI,MAAM,QAAQ,QAAQ,GAAG,mBAAmB;CAGvD,OAAO;EACN,IAAI,QAAQ;EACZ,MAAM,QAAQ;EACd;EACA,aAAa,QAAQ;EACrB,cAAc,QAAQ;EACtB,MAAM;GACL,SAAS,QAAQ,WAAW;GAC5B,YAAY,QAAQ,cAAc;GAClC,MAAM,QAAQ;GACd,YAAY,QAAQ;GACpB,aAAa,QAAQ;GACrB,sBAAsB,QAAQ;GAC9B,gBAAgB,QAAQ;GACxB,kBAAkB,QAAQ;GAC1B,SAAS,QAAQ;GACjB,WAAW,QAAQ;EACpB;EACA,SAAS,OAAO,OAAO,QAAQ;GAC9B,MAAM,SAAS,QAAQ,YAAY,MAAM,KAAK;GAC9C,OAAO,QAAQ,QAAQ,QAAQ,GAAG;EACnC;CACD;AACD;;AAGA,SAAgB,UAA2B,MAAuD;CACjG,OAAO;AACR;AAsBA,SAAgB,aAA8B,SAA8D;CAC3G,MAAM,cAAc,QAAQ,YAAY,KAAK;CAC7C,IAAI,CAAC,aACJ,MAAM,IAAI,MAAM,UAAU,QAAQ,GAAG,0BAA0B;CAEhE,IAAI,CAAC,QAAQ,GAAG,KAAK,GACpB,MAAM,IAAI,MAAM,uBAAuB;CAExC,IAAI,QAAQ,MAAM,WAAW,GAC5B,MAAM,IAAI,MAAM,UAAU,QAAQ,GAAG,gCAAgC;CAGtE,eACC,QAAQ,QACP,SAAS,KAAK,KACd,OAAO,UAAU,QAAQ,GAAG,0BAA0B,IACxD;CAEA,MAAM,OAAO,QAAQ,QAAQ,gBAAgB,QAAQ,EAAE;CACvD,MAAM,aAAa,QAAQ,cAAc,CAAC;CAE1C,OAAO;EACN,IAAI,QAAQ;EACZ,OAAO,QAAQ;EACf;EACA,SAAS,QAAQ,WAAW;EAC5B,MAAM,QAAQ,QAAQ,EAAE,MAAM,OAAO;EACrC,OAAO,QAAQ;EACf;EACA,GAAI,QAAQ,mBAAmB,KAAA,KAAa,EAAE,gBAAgB,QAAQ,eAAe;EACrF,GAAI,QAAQ,SAAS,KAAA,KAAa,QAAQ,KAAK,SAAS,KAAK,EAAE,MAAM,QAAQ,KAAK;EAClF,GAAI,SAAS,KAAA,KAAa,EAAE,KAAK;CAClC;AACD"}
@@ -0,0 +1,20 @@
1
+ //#region src/core/errors.ts
2
+ var ToolError = class extends Error {
3
+ code;
4
+ details;
5
+ retryable;
6
+ constructor(message, options) {
7
+ super(message, options.cause ? { cause: options.cause } : void 0);
8
+ this.name = "ToolError";
9
+ this.code = options.code;
10
+ this.details = options.details;
11
+ this.retryable = options.retryable ?? false;
12
+ }
13
+ };
14
+ function isToolError(error) {
15
+ return error instanceof ToolError;
16
+ }
17
+ //#endregion
18
+ export { isToolError as n, ToolError as t };
19
+
20
+ //# sourceMappingURL=errors-DoSpNHvs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-DoSpNHvs.js","names":[],"sources":["../src/core/errors.ts"],"sourcesContent":["export type ToolErrorCode =\n\t| 'bad_input'\n\t| 'bad_auth'\n\t| 'forbidden'\n\t| 'not_found'\n\t| 'rate_limited'\n\t| 'upstream'\n\t| 'timeout'\n\t| 'too_large'\n\t| 'unsupported'\n\t| 'unsupported_runtime'\n\t| 'internal'\n\nexport type ToolErrorOptions = {\n\tcause?: unknown\n\tcode: ToolErrorCode\n\tdetails?: Record<string, unknown>\n\tretryable?: boolean\n}\n\nexport class ToolError extends Error {\n\treadonly code: ToolErrorCode\n\treadonly details: Record<string, unknown> | undefined\n\treadonly retryable: boolean\n\n\tconstructor(message: string, options: ToolErrorOptions) {\n\t\tsuper(message, options.cause ? { cause: options.cause } : undefined)\n\t\tthis.name = 'ToolError'\n\t\tthis.code = options.code\n\t\tthis.details = options.details\n\t\tthis.retryable = options.retryable ?? false\n\t}\n}\n\nexport function isToolError(error: unknown): error is ToolError {\n\treturn error instanceof ToolError\n}\n"],"mappings":";AAoBA,IAAa,YAAb,cAA+B,MAAM;CACpC;CACA;CACA;CAEA,YAAY,SAAiB,SAA2B;EACvD,MAAM,SAAS,QAAQ,QAAQ,EAAE,OAAO,QAAQ,MAAM,IAAI,KAAA,CAAS;EACnE,KAAK,OAAO;EACZ,KAAK,OAAO,QAAQ;EACpB,KAAK,UAAU,QAAQ;EACvB,KAAK,YAAY,QAAQ,aAAa;CACvC;AACD;AAEA,SAAgB,YAAY,OAAoC;CAC/D,OAAO,iBAAiB;AACzB"}
@@ -0,0 +1,18 @@
1
+ //#region src/core/errors.d.ts
2
+ type ToolErrorCode = 'bad_input' | 'bad_auth' | 'forbidden' | 'not_found' | 'rate_limited' | 'upstream' | 'timeout' | 'too_large' | 'unsupported' | 'unsupported_runtime' | 'internal';
3
+ type ToolErrorOptions = {
4
+ cause?: unknown;
5
+ code: ToolErrorCode;
6
+ details?: Record<string, unknown>;
7
+ retryable?: boolean;
8
+ };
9
+ declare class ToolError extends Error {
10
+ readonly code: ToolErrorCode;
11
+ readonly details: Record<string, unknown> | undefined;
12
+ readonly retryable: boolean;
13
+ constructor(message: string, options: ToolErrorOptions);
14
+ }
15
+ declare function isToolError(error: unknown): error is ToolError;
16
+ //#endregion
17
+ export { isToolError as i, ToolErrorCode as n, ToolErrorOptions as r, ToolError as t };
18
+ //# sourceMappingURL=errors-aKhko9T1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-aKhko9T1.d.ts","names":[],"sources":["../src/core/errors.ts"],"mappings":";KAAY;KAaA;EACX;EACA,MAAM;EACN,UAAU;EACV;;cAGY,kBAAkB;WACrB,MAAM;WACN,SAAS;WACT;EAET,YAAY,iBAAiB,SAAS;;iBASvB,YAAY,iBAAiB,SAAS"}