zevairouter 1.0.199 → 1.0.201

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 (588) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/cli/app/.next-cli-build/BUILD_ID +1 -1
  3. package/cli/app/.next-cli-build/app-path-routes-manifest.json +3 -3
  4. package/cli/app/.next-cli-build/build-manifest.json +2 -2
  5. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js.nft.json +1 -1
  6. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
  7. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  8. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  10. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  11. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  12. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  13. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  14. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  15. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  16. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  17. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js.nft.json +1 -1
  18. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
  19. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  20. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  21. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  22. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  23. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  24. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  25. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  26. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  27. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  28. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  29. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  30. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  31. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  32. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  33. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  34. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  35. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  36. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  37. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  38. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  39. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  40. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  41. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  42. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  43. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  44. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  45. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  46. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  47. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  48. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  49. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  50. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  51. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  52. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
  53. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  54. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  55. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  56. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js.nft.json +1 -1
  57. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
  58. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  59. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  60. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  61. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  62. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  63. package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  64. package/cli/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  65. package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  66. package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
  67. package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  68. package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  69. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  70. package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  71. package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  72. package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  73. package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  74. package/cli/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  75. package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  76. package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
  77. package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  78. package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  79. package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  80. package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
  81. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  82. package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  83. package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  84. package/cli/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  85. package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  86. package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  87. package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  88. package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  89. package/cli/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  90. package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js.nft.json +1 -1
  91. package/cli/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
  92. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
  93. package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  94. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  95. package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  96. package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  97. package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  98. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js.nft.json +1 -1
  99. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  100. package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  101. package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  102. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  103. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  104. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  105. package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  106. package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  107. package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  108. package/cli/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  109. package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  110. package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  111. package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  112. package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  113. package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  114. package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  115. package/cli/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  116. package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js.nft.json +1 -1
  117. package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js.nft.json +1 -1
  118. package/cli/app/.next-cli-build/server/app/api/context/route.js.nft.json +1 -1
  119. package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -1
  120. package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route.js.nft.json +1 -1
  121. package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js.nft.json +1 -1
  122. package/cli/app/.next-cli-build/server/app/api/dashboard/media/videos/[id]/route.js.nft.json +1 -1
  123. package/cli/app/.next-cli-build/server/app/api/headroom/enable/route.js.nft.json +1 -1
  124. package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  125. package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  126. package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  127. package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  128. package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  129. package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  130. package/cli/app/.next-cli-build/server/app/api/health/ready/route.js.nft.json +1 -1
  131. package/cli/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  132. package/cli/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  133. package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  134. package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  135. package/cli/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  136. package/cli/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  137. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  138. package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  139. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  140. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  141. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  142. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  143. package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  144. package/cli/app/.next-cli-build/server/app/api/metrics/route.js.nft.json +1 -1
  145. package/cli/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  146. package/cli/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  147. package/cli/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  148. package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  149. package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
  150. package/cli/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  151. package/cli/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  152. package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  153. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  154. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  155. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
  156. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
  157. package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
  158. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  159. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  160. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js.nft.json +1 -1
  161. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js.nft.json +1 -1
  162. package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js.nft.json +1 -1
  163. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  164. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  165. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
  166. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
  167. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
  168. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js.nft.json +1 -1
  169. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js.nft.json +1 -1
  170. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  171. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  172. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
  173. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
  174. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  175. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js.nft.json +1 -1
  176. package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js.nft.json +1 -1
  177. package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  178. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  179. package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  180. package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  181. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  182. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  183. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js.nft.json +1 -1
  184. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js.nft.json +1 -1
  185. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  186. package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-token/route.js.nft.json +1 -1
  187. package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  188. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  189. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  190. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  191. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  192. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
  193. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
  194. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
  195. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  196. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  197. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  198. package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  199. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
  200. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
  201. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
  202. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
  203. package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
  204. package/cli/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  205. package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  206. package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  207. package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  208. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  209. package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  210. package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  211. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  212. package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  213. package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js.nft.json +1 -1
  214. package/cli/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  215. package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  216. package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  217. package/cli/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  218. package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  219. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  220. package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  221. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  222. package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  223. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  224. package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  225. package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  226. package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  227. package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  228. package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  229. package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  230. package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  231. package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  232. package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  233. package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  234. package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  235. package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  236. package/cli/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  237. package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  238. package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  239. package/cli/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  240. package/cli/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  241. package/cli/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  242. package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js.nft.json +1 -1
  243. package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js.nft.json +1 -1
  244. package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js.nft.json +1 -1
  245. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
  246. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
  247. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
  248. package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
  249. package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
  250. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  251. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  252. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  253. package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  254. package/cli/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  255. package/cli/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  256. package/cli/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  257. package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  258. package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  259. package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  260. package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  261. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  262. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  263. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  264. package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  265. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  266. package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  267. package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js.nft.json +1 -1
  268. package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  269. package/cli/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  270. package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  271. package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  272. package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  273. package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  274. package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  275. package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  276. package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  277. package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  278. package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  279. package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  280. package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  281. package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  282. package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  283. package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  284. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  285. package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  286. package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  287. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  288. package/cli/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  289. package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  290. package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  291. package/cli/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  292. package/cli/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  293. package/cli/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  294. package/cli/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  295. package/cli/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  296. package/cli/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  297. package/cli/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  298. package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  299. package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  300. package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  301. package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
  302. package/cli/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  303. package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  304. package/cli/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  305. package/cli/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  306. package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  307. package/cli/app/.next-cli-build/server/app/callback.html +1 -1
  308. package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
  309. package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  310. package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  311. package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
  312. package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  313. package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  314. package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  315. package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
  316. package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +5 -5
  317. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
  318. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
  319. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  320. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  321. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +5 -5
  322. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
  323. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +3 -3
  324. package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
  325. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  326. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  327. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  328. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  329. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  330. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  331. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  332. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  333. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
  334. package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  335. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  336. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
  337. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  338. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  339. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  340. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  341. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  342. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  343. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  344. package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  345. package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  346. package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  347. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  348. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  349. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  350. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  351. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  352. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  353. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  354. package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  355. package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
  356. package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +5 -5
  357. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
  358. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
  359. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  360. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  361. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +5 -5
  362. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
  363. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +3 -3
  364. package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
  365. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  366. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
  367. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  368. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  369. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  370. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  371. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  372. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  373. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  374. package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  375. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  376. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  377. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  378. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  379. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  380. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  381. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  382. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  383. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  384. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
  385. package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  386. package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  387. package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  388. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  389. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  390. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  391. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  392. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  393. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  394. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
  395. package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  396. package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  397. package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +5 -5
  398. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
  399. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
  400. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  401. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  402. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +5 -5
  403. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
  404. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +3 -3
  405. package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +1 -1
  406. package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  407. package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  408. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  409. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  410. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  411. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  412. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  413. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  414. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  415. package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  416. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  417. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  418. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  419. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  420. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  421. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  422. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  423. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  424. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  425. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  426. package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  427. package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  428. package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  429. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  430. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  431. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  432. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  433. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  434. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  435. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  436. package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  437. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  438. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  439. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  440. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  441. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  442. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  443. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  444. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  445. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
  446. package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  447. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  448. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  449. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  450. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  451. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  452. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  453. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  454. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  455. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
  456. package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  457. package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  458. package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
  459. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  460. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  461. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  462. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  463. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  464. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  465. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  466. package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  467. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  468. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  469. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  470. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
  471. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
  472. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  473. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  474. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  475. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  476. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  477. package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  478. package/cli/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  479. package/cli/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  480. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  481. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  482. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  483. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  484. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  485. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  486. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +3 -3
  487. package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  488. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  489. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  490. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  491. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  492. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  493. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  494. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  495. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  496. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
  497. package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  498. package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  499. package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  500. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  501. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  502. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  503. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  504. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  505. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  506. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  507. package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  508. package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  509. package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  510. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  511. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  512. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  513. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  514. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  515. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  516. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  517. package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  518. package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
  519. package/cli/app/.next-cli-build/server/app/dashboard.rsc +5 -5
  520. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  521. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  522. package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  523. package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
  524. package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  525. package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
  526. package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  527. package/cli/app/.next-cli-build/server/app/index.html +1 -1
  528. package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
  529. package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  530. package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  531. package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  532. package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
  533. package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  534. package/cli/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  535. package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  536. package/cli/app/.next-cli-build/server/app/landing.html +1 -1
  537. package/cli/app/.next-cli-build/server/app/landing.rsc +4 -4
  538. package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  539. package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  540. package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
  541. package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  542. package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  543. package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  544. package/cli/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  545. package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  546. package/cli/app/.next-cli-build/server/app/login.html +1 -1
  547. package/cli/app/.next-cli-build/server/app/login.rsc +4 -4
  548. package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  549. package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  550. package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
  551. package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  552. package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  553. package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  554. package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  555. package/cli/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  556. package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  557. package/cli/app/.next-cli-build/server/app/provider-icons/[provider]/route.js.nft.json +1 -1
  558. package/cli/app/.next-cli-build/server/app-paths-manifest.json +3 -3
  559. package/cli/app/.next-cli-build/server/chunks/1131.js +1 -1
  560. package/cli/app/.next-cli-build/server/chunks/3949.js +1 -1
  561. package/cli/app/.next-cli-build/server/chunks/4025.js +5 -5
  562. package/cli/app/.next-cli-build/server/chunks/4404.js +1 -1
  563. package/cli/app/.next-cli-build/server/chunks/4827.js +1 -1
  564. package/cli/app/.next-cli-build/server/chunks/5681.js +1 -1
  565. package/cli/app/.next-cli-build/server/chunks/7276.js +1 -1
  566. package/cli/app/.next-cli-build/server/chunks/7319.js +5 -5
  567. package/cli/app/.next-cli-build/server/chunks/8202.js +1 -0
  568. package/cli/app/.next-cli-build/server/chunks/8255.js +1 -1
  569. package/cli/app/.next-cli-build/server/chunks/8274.js +1 -1
  570. package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
  571. package/cli/app/.next-cli-build/server/chunks/9489.js +1 -1
  572. package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  573. package/cli/app/.next-cli-build/server/pages/404.html +1 -1
  574. package/cli/app/.next-cli-build/server/pages/500.html +1 -1
  575. package/cli/app/.next-cli-build/static/chunks/{4686-3870bc6cc2baf49c.js → 4686-9853e280b3d115cd.js} +5 -5
  576. package/cli/app/.next-cli-build/static/chunks/620-4f9354613812794d.js +1 -0
  577. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-f12cb6a2bcaec9fe.js → page-15dd47ab818e675d.js} +8 -8
  578. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-4c3a2c103daf032d.js +3 -0
  579. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-53b93e9ce3d13457.js +1 -0
  580. package/cli/app/CHANGELOG.md +11 -0
  581. package/cli/app/package.json +1 -1
  582. package/cli/package.json +1 -1
  583. package/package.json +1 -1
  584. package/cli/app/.next-cli-build/static/chunks/620-abe9e47b22606c8c.js +0 -1
  585. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-be7d9bbb3ce0bb40.js +0 -3
  586. package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-7f25296cd5a4eeab.js +0 -1
  587. /package/cli/app/.next-cli-build/static/{vXCx3sJBUb9AL2WtKv2-b → w1sCnXd2bDo0uOd51yNpl}/_buildManifest.js +0 -0
  588. /package/cli/app/.next-cli-build/static/{vXCx3sJBUb9AL2WtKv2-b → w1sCnXd2bDo0uOd51yNpl}/_ssgManifest.js +0 -0
@@ -216,11 +216,11 @@ ${a}`:a,null}let f=e.url.match(/^data:([^;]+);base64,(.+)$/);if(!f)return null;l
216
216
  '-WindowStyle','Hidden','-EncodedCommand','${b}'
217
217
  ) -Verb RunAs -Wait -PassThru -WindowStyle Hidden;
218
218
  if ($proc.ExitCode -ne 0) { throw "Elevated command exited with code $($proc.ExitCode)" }
219
- `;return new Promise((a,b)=>{d(`powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -Command ${h(c)}`,{windowsHide:!0},(c,d,e)=>{if(c){let a=e||c.message;a.includes("canceled by the user")||a.includes("operation was canceled")?b(Error("User canceled UAC prompt")):b(Error(a))}else a(d)})})},quotePs:h}},11484:(a,b,c)=>{"use strict";async function d(a){try{await a.body?.cancel()}catch{}}c.d(b,{aI:()=>d}),c(8735)},12529:(a,b,c)=>{"use strict";c.d(b,{w:()=>j});var d=c(69384),e=c(30395),f=c(87164),g=c(46956);let h=new Map;async function i(a){if(h.has(a))return h.get(a);let b=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}),c=await b.json().catch(()=>null),d=(c?.[0]?.error?.message||c?.error?.message||"").match(/projects\/([^/]+)\//),e=d?.[1]||null;return e&&h.set(a,e),e}class j extends d.Hv{constructor(a="vertex"){super(a,e.xq[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,f.Sc)(d?.apiKey),g=e?null:d?.apiKey,h=e?.project_id||d?.providerSpecificData?.projectId;if("vertex-partner"===this.provider){if(!h)throw Error("Vertex partner models require a project_id. Add it in providerSpecificData or use Service Account JSON.");let a=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/global/endpoints/openapi/chat/completions`;return g?`${a}?key=${g}`:a}let i=b?"streamGenerateContent":"generateContent";if(e){let c=d?.providerSpecificData?.location||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/${c}/publishers/google/models/${a}:${i}`;return b&&(e+="?alt=sse"),e}let j=`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${i}`;return b&&(j+="?alt=sse"),g&&(j+=b?`&key=${g}`:`?key=${g}`),j}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){let c=(0,f.Sc)(a?.apiKey);if(!c)return null;let d=await (0,f.pb)(c,b);return d?{accessToken:d.accessToken,expiresAt:d.expiresAt}:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:j=null}){let k=(0,f.Sc)(d?.apiKey);if(k){let a=await (0,f.pb)(k,h);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if("vertex-partner"===this.provider&&!k&&!d?.providerSpecificData?.projectId){let a=await i(d.apiKey);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");h?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let l=this.buildUrl(a,c,0,d),m=this.buildHeaders(d,c),n=this.transformRequest(a,b,c,d);return{response:await (0,g.F)(l,{method:"POST",headers:m,body:JSON.stringify(n),signal:e},j),url:l,headers:m,transformedBody:n}}}},12600:(a,b,c)=>{"use strict";let d,{extractBody:e,mixinBody:f,cloneBody:g,bodyUnusable:h}=c(35381),{Headers:i,fill:j,HeadersList:k,setHeadersGuard:l,getHeadersGuard:m,setHeadersList:n,getHeadersList:o}=c(28665),p=c(84285),q=c(57975),{isValidHTTPToken:r,sameOrigin:s,environmentSettingsObject:t}=c(42425),{forbiddenMethodsSet:u,corsSafeListedMethodsSet:v,referrerPolicy:w,requestRedirect:x,requestMode:y,requestCredentials:z,requestCache:A,requestDuplex:B}=c(19608),{kEnumerableProperty:C,normalizedMethodRecordsBase:D,normalizedMethodRecords:E}=p,{webidl:F}=c(32984),{URLSerializer:G}=c(16537),{kConstruct:H}=c(49176),I=c(34589),{getMaxListeners:J,setMaxListeners:K,defaultMaxListeners:L}=c(78474),M=Symbol("abortController"),N=new FinalizationRegistry(({signal:a,abort:b})=>{a.removeEventListener("abort",b)}),O=new WeakMap;try{d=J(new AbortController().signal)>0}catch{d=!1}function P(a){return function b(){let c=a.deref();if(void 0!==c){N.unregister(b),this.removeEventListener("abort",b),c.abort(this.reason);let a=O.get(c.signal);if(void 0!==a){if(0!==a.size){for(let b of a){let a=b.deref();void 0!==a&&a.abort(this.reason)}a.clear()}O.delete(c.signal)}}}}let Q=!1;class R{#c;#d;#e;#a;#f=null;constructor(a,b){let c;if(F.util.markAsUncloneable(this),a===H)return;F.argumentLengthCheck(arguments,1,"Request constructor"),a=F.converters.RequestInfo(a),b=F.converters.RequestInit(b);let f=null,g=null;const m=t.settingsObject.baseUrl;let q=null;if("string"==typeof a){let c;this.#d=b.dispatcher;try{c=new URL(a,m)}catch(b){throw TypeError("Failed to parse URL from "+a,{cause:b})}if(c.username||c.password)throw TypeError("Request cannot be constructed from a URL that includes credentials: "+a);f=Z({urlList:[c]}),g="cors"}else I(F.is.Request(a)),f=a.#a,q=a.#c,this.#d=b.dispatcher||a.#d;const w=t.settingsObject.origin;let x="client";if(f.window?.constructor?.name==="EnvironmentSettingsObject"&&s(f.window,w)&&(x=f.window),null!=b.window)throw TypeError(`'window' option '${x}' must be null`);"window"in b&&(x="no-window"),f=Z({method:f.method,headersList:f.headersList,unsafeRequest:f.unsafeRequest,client:t.settingsObject,window:x,priority:f.priority,origin:f.origin,referrer:f.referrer,referrerPolicy:f.referrerPolicy,mode:f.mode,credentials:f.credentials,cache:f.cache,redirect:f.redirect,integrity:f.integrity,keepalive:f.keepalive,reloadNavigation:f.reloadNavigation,historyNavigation:f.historyNavigation,urlList:[...f.urlList]});const y=0!==Object.keys(b).length;if(y&&("navigate"===f.mode&&(f.mode="same-origin"),f.reloadNavigation=!1,f.historyNavigation=!1,f.origin="client",f.referrer="client",f.referrerPolicy="",f.url=f.urlList[f.urlList.length-1],f.urlList=[f.url]),void 0!==b.referrer){const a=b.referrer;if(""===a)f.referrer="no-referrer";else{let b;try{b=new URL(a,m)}catch(b){throw TypeError(`Referrer "${a}" is not a valid URL.`,{cause:b})}"about:"===b.protocol&&"client"===b.hostname||w&&!s(b,t.settingsObject.baseUrl)?f.referrer="client":f.referrer=b}}if(void 0!==b.referrerPolicy&&(f.referrerPolicy=b.referrerPolicy),"navigate"===(c=void 0!==b.mode?b.mode:g))throw F.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(null!=c&&(f.mode=c),void 0!==b.credentials&&(f.credentials=b.credentials),void 0!==b.cache&&(f.cache=b.cache),"only-if-cached"===f.cache&&"same-origin"!==f.mode)throw TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(void 0!==b.redirect&&(f.redirect=b.redirect),null!=b.integrity&&(f.integrity=String(b.integrity)),void 0!==b.keepalive&&(f.keepalive=!!b.keepalive),void 0!==b.method){let a=b.method;const c=E[a];if(void 0!==c)f.method=c;else{if(!r(a))throw TypeError(`'${a}' is not a valid HTTP method.`);const b=a.toUpperCase();if(u.has(b))throw TypeError(`'${a}' HTTP method is unsupported.`);a=D[b]??a,f.method=a}Q||"patch"!==f.method||(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),Q=!0)}void 0!==b.signal&&(q=b.signal),this.#a=f;const z=new AbortController;if(this.#c=z.signal,null!=q)if(q.aborted)z.abort(q.reason);else{this[M]=z;const a=P(new WeakRef(z));d&&J(q)===L&&K(1500,q);const b=p.addAbortListener(q,a);N.register(z,{signal:q,abort:a},a),this.#f=()=>{N.unregister(a),b(),this.#f=null}}if(this.#e=new i(H),n(this.#e,f.headersList),l(this.#e,"request"),"no-cors"===c){if(!v.has(f.method))throw TypeError(`'${f.method} is unsupported in no-cors mode.`);l(this.#e,"request-no-cors")}if(y){const a=o(this.#e),c=void 0!==b.headers?b.headers:new k(a);if(a.clear(),c instanceof k){for(const{name:b,value:d}of c.rawValues())a.append(b,d,!1);a.cookies=c.cookies}else j(this.#e,c)}const A=F.is.Request(a)?a.#a.body:null;if((null!=b.body||null!=A)&&("GET"===f.method||"HEAD"===f.method))throw TypeError("Request with GET/HEAD method cannot have body.");let B=null;if(null!=b.body){const[a,c]=e(b.body,f.keepalive);B=a,c&&!o(this.#e).contains("content-type",!0)&&this.#e.append("content-type",c,!0)}const C=B??A;if(null!=C&&null==C.source){if(null!=B&&null==b.duplex)throw TypeError("RequestInit: duplex option is required when sending a body.");if("same-origin"!==f.mode&&"cors"!==f.mode)throw TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');f.useCORSPreflightFlag=!0}let G=C;if(null==B&&null!=A){if(h(a.#a))throw TypeError("Cannot construct a Request with a Request object that has already been used.");const b=new TransformStream;A.stream.pipeThrough(b),G={source:A.source,length:A.length,stream:b.readable}}this.#a.body=G}get method(){return F.brandCheck(this,R),this.#a.method}get url(){return F.brandCheck(this,R),G(this.#a.url)}get headers(){return F.brandCheck(this,R),this.#e}get destination(){return F.brandCheck(this,R),this.#a.destination}get referrer(){return(F.brandCheck(this,R),"no-referrer"===this.#a.referrer)?"":"client"===this.#a.referrer?"about:client":this.#a.referrer.toString()}get referrerPolicy(){return F.brandCheck(this,R),this.#a.referrerPolicy}get mode(){return F.brandCheck(this,R),this.#a.mode}get credentials(){return F.brandCheck(this,R),this.#a.credentials}get cache(){return F.brandCheck(this,R),this.#a.cache}get redirect(){return F.brandCheck(this,R),this.#a.redirect}get integrity(){return F.brandCheck(this,R),this.#a.integrity}get keepalive(){return F.brandCheck(this,R),this.#a.keepalive}get isReloadNavigation(){return F.brandCheck(this,R),this.#a.reloadNavigation}get isHistoryNavigation(){return F.brandCheck(this,R),this.#a.historyNavigation}get signal(){return F.brandCheck(this,R),this.#c}get body(){return F.brandCheck(this,R),this.#a.body?this.#a.body.stream:null}get bodyUsed(){return F.brandCheck(this,R),!!this.#a.body&&p.isDisturbed(this.#a.body.stream)}get duplex(){return F.brandCheck(this,R),"half"}clone(){if(F.brandCheck(this,R),h(this.#a))throw TypeError("unusable");let a=$(this.#a),b=new AbortController;if(this.signal.aborted)b.abort(this.signal.reason);else{let a=O.get(this.signal);void 0===a&&(a=new Set,O.set(this.signal,a));let c=new WeakRef(b);a.add(c),p.addAbortListener(b.signal,P(c))}return _(a,this.#d,b.signal,m(this.#e))}[q.inspect.custom](a,b){null===b.depth&&(b.depth=2),b.colors??=!0;let c={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${q.formatWithOptions(b,c)}`}static setRequestSignal(a,b){return a.#c=b,a}static getRequestDispatcher(a){return a.#d}static setRequestDispatcher(a,b){a.#d=b}static setRequestHeaders(a,b){a.#e=b}static getRequestState(a){return a.#a}static setRequestState(a,b){a.#a=b}static removeRequestAbortListener(a){a.#f?.()}}let{setRequestSignal:S,getRequestDispatcher:T,setRequestDispatcher:U,setRequestHeaders:V,getRequestState:W,setRequestState:X,removeRequestAbortListener:Y}=R;function Z(a){return{method:a.method??"GET",localURLsOnly:a.localURLsOnly??!1,unsafeRequest:a.unsafeRequest??!1,body:a.body??null,client:a.client??null,reservedClient:a.reservedClient??null,replacesClientId:a.replacesClientId??"",window:a.window??"client",keepalive:a.keepalive??!1,serviceWorkers:a.serviceWorkers??"all",initiator:a.initiator??"",destination:a.destination??"",priority:a.priority??null,origin:a.origin??"client",policyContainer:a.policyContainer??"client",referrer:a.referrer??"client",referrerPolicy:a.referrerPolicy??"",mode:a.mode??"no-cors",useCORSPreflightFlag:a.useCORSPreflightFlag??!1,credentials:a.credentials??"same-origin",useCredentials:a.useCredentials??!1,cache:a.cache??"default",redirect:a.redirect??"follow",integrity:a.integrity??"",cryptoGraphicsNonceMetadata:a.cryptoGraphicsNonceMetadata??"",parserMetadata:a.parserMetadata??"",reloadNavigation:a.reloadNavigation??!1,historyNavigation:a.historyNavigation??!1,userActivation:a.userActivation??!1,taintedOrigin:a.taintedOrigin??!1,redirectCount:a.redirectCount??0,responseTainting:a.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:a.preventNoCacheCacheControlHeaderModification??!1,done:a.done??!1,timingAllowFailed:a.timingAllowFailed??!1,useURLCredentials:a.useURLCredentials??void 0,traversableForUserPrompts:a.traversableForUserPrompts??"client",urlList:a.urlList,url:a.urlList[0],headersList:a.headersList?new k(a.headersList):new k}}function $(a){let b=Z({...a,body:null});return null!=a.body&&(b.body=g(a.body)),b}function _(a,b,c,d){let e=new R(H);X(e,a),U(e,b),S(e,c);let f=new i(H);return V(e,f),n(f,a.headersList),l(f,d),e}Reflect.deleteProperty(R,"setRequestSignal"),Reflect.deleteProperty(R,"getRequestDispatcher"),Reflect.deleteProperty(R,"setRequestDispatcher"),Reflect.deleteProperty(R,"setRequestHeaders"),Reflect.deleteProperty(R,"getRequestState"),Reflect.deleteProperty(R,"setRequestState"),Reflect.deleteProperty(R,"removeRequestAbortListener"),f(R,W),Object.defineProperties(R.prototype,{method:C,url:C,headers:C,redirect:C,clone:C,signal:C,duplex:C,destination:C,body:C,bodyUsed:C,isHistoryNavigation:C,isReloadNavigation:C,keepalive:C,integrity:C,cache:C,credentials:C,attribute:C,referrerPolicy:C,referrer:C,mode:C,[Symbol.toStringTag]:{value:"Request",configurable:!0}}),F.is.Request=F.util.MakeTypeAssertion(R),F.converters.RequestInfo=function(a){return"string"==typeof a?F.converters.USVString(a):F.is.Request(a)?a:F.converters.USVString(a)},F.converters.RequestInit=F.dictionaryConverter([{key:"method",converter:F.converters.ByteString},{key:"headers",converter:F.converters.HeadersInit},{key:"body",converter:F.nullableConverter(F.converters.BodyInit)},{key:"referrer",converter:F.converters.USVString},{key:"referrerPolicy",converter:F.converters.DOMString,allowedValues:w},{key:"mode",converter:F.converters.DOMString,allowedValues:y},{key:"credentials",converter:F.converters.DOMString,allowedValues:z},{key:"cache",converter:F.converters.DOMString,allowedValues:A},{key:"redirect",converter:F.converters.DOMString,allowedValues:x},{key:"integrity",converter:F.converters.DOMString},{key:"keepalive",converter:F.converters.boolean},{key:"signal",converter:F.nullableConverter(a=>F.converters.AbortSignal(a,"RequestInit","signal"))},{key:"window",converter:F.converters.any},{key:"duplex",converter:F.converters.DOMString,allowedValues:B},{key:"dispatcher",converter:F.converters.any},{key:"priority",converter:F.converters.DOMString,allowedValues:["high","low","auto"],defaultValue:()=>"auto"}]),a.exports={Request:R,makeRequest:Z,fromInnerRequest:_,cloneRequest:$,getRequestDispatcher:T,getRequestState:W,removeRequestAbortListener:Y}},12955:(a,b,c)=>{"use strict";c.d(b,{c:()=>t});var d=c(55511),e=c.n(d),f=c(69384),g=c(30395),h=c(48991),i=c(8735),j=c(46956),k=c(11484),l=c(13324);let m=["opencode","open-code","cline","roo-cline","roo_cline","cursor","windsurf","aider","continue.dev","copilot","avante","codecompanion","claude code","claude-code","kilo code","kilocode","zevairouter","zevairouter"],n=new Map,o=new Set(["x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-forwarded-port","x-real-ip","forwarded","via","x-title","x-stainless-lang","x-stainless-package-version","x-stainless-os","x-stainless-arch","x-stainless-runtime","x-stainless-runtime-version","x-stainless-timeout","x-stainless-retry-count","x-stainless-helper-method","http-referer","referer","sec-ch-ua","sec-ch-ua-mobile","sec-ch-ua-platform","sec-fetch-mode","sec-fetch-site","sec-fetch-dest","priority","accept-encoding"]),p=-0x340d631b7bdddcdbn;e().randomUUID();let q=null;try{let a=c(39852);q=a.machineIdSync||a.default?.machineIdSync||null}catch{q=null}function r(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function s(a,b){let c=a?.providerSpecificData;return c&&"object"==typeof c?r(c[b]):null}class t extends f.Hv{constructor(){super("antigravity",g.xq.antigravity)}buildUrl(a,b,c=0){let d=this.getBaseUrls(),e=d[c]||d[0];return`${e}/v1internal:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0,c=null){let d=function(){try{let a=r(q?.(!0));if(a)return a}catch{}return null}();return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":this.config.headers?.["User-Agent"]||h.K["User-Agent"],[h.Ox.name]:h.Ox.value,...d&&{"x-machine-id":d},...c&&{"X-Machine-Session-Id":c},Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b,c,d){let f,g=d?.projectId||d?.providerSpecificData?.projectId||this.generateProjectId(),h=b.request?.contents?.map(a=>{let b=a.role;a.parts?.some(a=>a.functionResponse)&&(b="user");let c=a.parts?.filter(a=>(!a.thought||!!a.functionCall)&&(!a.thoughtSignature||!!a.functionCall||!!a.text));return b!==a.role||c?.length!==a.parts?.length?{...a,role:b,parts:c}:a}),i=b.request?.tools;if(i&&i.length>0){let a=i.flatMap(a=>(a.functionDeclarations||[]).map(a=>({...a,name:function(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}(a.name),parameters:a.parameters?(0,l.Yr)(structuredClone(a.parameters)):{type:"object",properties:{reason:{type:"string",description:"Brief explanation"}},required:["reason"]}})));i=a.length>0?[{functionDeclarations:a}]:[]}let{tools:j,toolConfig:k,...m}=b.request||{},n={...m.generationConfig||{}};n.maxOutputTokens>16384&&(n.maxOutputTokens=16384);let o={...m,generationConfig:n,...h&&{contents:h},...i&&{tools:i},sessionId:b.request?.sessionId||function(a){let b=r(a);if(!b)return null;let c=p;for(let a of Buffer.from(b,"utf8"))c=BigInt.asIntN(64,1099511628211n*(c=BigInt.asIntN(64,c^BigInt(a))));return c.toString()}(r(d?.email)||s(d,"email")||s(d,"accountId")||r(d?.connectionId)||null)||r(void 0)||function(){let a,b=0xffffffffffffffffn-0xffffffffffffffffn%0x7ce66c50e2840000n;do a=e().randomBytes(8).readBigUInt64BE();while(a>=b);return`-${(a%0x7ce66c50e2840000n).toString()}`}(),safetySettings:void 0,...i?.length>0&&{toolConfig:{functionCallingConfig:{mode:"VALIDATED"}}}};return{...b,project:g,model:a,userAgent:(f=r(d?.email)||s(d,"email")||"")&&!/@(?:gmail|googlemail)\.com$/i.test(f)?"jetski":"antigravity",requestType:"agent",requestId:`agent/${Date.now()}/${e().randomBytes(4).toString("hex")}`,request:o}}async refreshCredentials(a,b,c=null){if(!a.refreshToken)return null;try{let d=await (0,j.F)(h.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})},c);if(!d.ok)return await (0,k.aI)(d),null;let e=await d.json();return b?.info?.("TOKEN","Antigravity refreshed"),{accessToken:e.access_token,refreshToken:e.refresh_token||a.refreshToken,expiresIn:e.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Antigravity refresh error: ${a.message}`),null}}generateProjectId(){let a=["useful","bright","swift","calm","bold"][Math.floor(5*Math.random())],b=["fuze","wave","spark","flow","core"][Math.floor(5*Math.random())];return`${a}-${b}-${e().randomUUID().slice(0,5)}`}generateSessionId(){return e().randomUUID()+Date.now().toString()}parseRetryHeaders(a){if(!a?.get)return null;let b=a.get("retry-after");if(b){let a=parseInt(b,10);if(!isNaN(a)&&a>0)return 1e3*a;let c=new Date(b);if(!isNaN(c.getTime())){let a=c.getTime()-Date.now();return a>0?a:null}}let c=a.get("x-ratelimit-reset-after");if(c){let a=parseInt(c,10);if(!isNaN(a)&&a>0)return 1e3*a}let d=a.get("x-ratelimit-reset");if(d){let a=1e3*parseInt(d,10)-Date.now();return a>0?a:null}return null}parseRetryFromErrorMessage(a){if(!a||"string"!=typeof a)return null;let b=a.match(/reset(?:s)?(?: after| in)?\s*:?\s*(\d+h)?(\d+m)?(\d+(?:\.\d+)?s)?/i);if(!b||!b[1]&&!b[2]&&!b[3])return null;let c=0;return b[1]&&(c+=3600*parseInt(b[1])*1e3),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=Math.round(1e3*parseFloat(b[3]))),c>0?c:null}parseError(a,b){if(a.status===i.gx.RATE_LIMITED&&b)try{let a=JSON.parse(b),c=a?.error,d=Array.isArray(c?.details)?c.details:[],e=Date.now(),f=null;for(let a of d){let b=a?.metadata;if(b?.quotaResetTimeStamp){let a=Date.parse(b.quotaResetTimeStamp);if(!Number.isNaN(a)&&a>e){f=a;break}}let c=b?.quotaResetDelay||a?.retryDelay;if("string"==typeof c&&c.endsWith("s")){let a=parseFloat(c.slice(0,-1));if(Number.isFinite(a)&&a>0){let b=e+Math.round(1e3*a);(!f||b>f)&&(f=b)}}}if(f)return{status:429,message:c?.message||b,resetsAtMs:f}}catch{}return super.parseError(a,b)}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let h=this.getFallbackCount(),l=null,p=0,q={},r={},s=!1,t=!1;for(let u=0;u<h;u++){let v=this.buildUrl(a,c,u),w=this.transformRequest(a,b,c,d);t&&w.request&&(w.enabledCreditTypes=["GOOGLE_ONE_AI"]),w=function(a){if(null==a||"object"!=typeof a)return a;try{let b=JSON.stringify(a),c=function(a){if(!a||0===m.length)return a;let b=a;for(let a of m){if(!a)continue;let c=function(a){let b=n.get(a);return b||(n.size>2e3&&n.clear(),b=RegExp(a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"gi"),n.set(a,b)),b}(a);b=b.replace(c,a=>a.length<=1?a:a[0]+"‍"+a.slice(1))}return b}(b);if(c===b)return a;return JSON.parse(c)}catch{return a}}(w);let x=w.request?.sessionId,y=function(a){let b,c={};for(let[d,e]of Object.entries(a||{})){let a=d.toLowerCase();if(!(a.startsWith("x-zevai-")||o.has(a))){if("authorization"===a){b=e;continue}c[d]=e}}return void 0!==b&&(c.Authorization=b),c}(this.buildHeaders(d,c,x));q[u]||(q[u]=0),r[u]||(r[u]=0);try{let a=await (0,j.F)(v,{method:"POST",headers:y,body:JSON.stringify(w),signal:e},g);if(a.status===i.gx.RATE_LIMITED||a.status===i.gx.SERVICE_UNAVAILABLE){let b=this.parseRetryHeaders(a.headers),c="";if(!b)try{let d=await a.clone().text(),e=JSON.parse(d);c=e?.error?.message||e?.message||"",b=this.parseRetryFromErrorMessage(c)}catch(a){}if(a.status===i.gx.RATE_LIMITED&&!s&&/quota[_ ]?exhausted|quota reached|individual quota|enable overages/i.test(c)){s=!0,t=!0,f?.debug?.("RETRY","429 quota exhausted → retrying once with GOOGLE_ONE_AI credits"),await (0,k.aI)(a),u--;continue}if(a.status===i.gx.RATE_LIMITED&&/quota[_ ]?exhausted|quota reached|individual quota|enable overages/i.test(c)&&(!b||b>1e4))return f?.debug?.("RETRY",`429 quota exhausted${b?` (resets in ${Math.ceil(b/36e5)}h)`:""} — skipping futile retries, moving to next account`),p=a.status,{response:a,url:v,headers:y,transformedBody:w};if(b&&b<=1e4&&r[u]<3){r[u]++,f?.debug?.("RETRY",`${a.status} with Retry-After: ${Math.ceil(b/1e3)}s, waiting... (${r[u]}/3)`),await (0,k.aI)(a),await new Promise(a=>setTimeout(a,b)),u--;continue}if(a.status===i.gx.RATE_LIMITED&&(!b||0===b)&&q[u]<3){q[u]++;let b=Math.min(1e3*2**q[u],1e4);f?.debug?.("RETRY",`429 auto retry ${q[u]}/3 after ${b/1e3}s`),await (0,k.aI)(a),await new Promise(a=>setTimeout(a,b)),u--;continue}if(f?.debug?.("RETRY",`${a.status}, Retry-After ${b?`too long (${Math.ceil(b/1e3)}s)`:"missing"}, trying fallback`),p=a.status,u+1<h){await (0,k.aI)(a);continue}}if(this.shouldRetry(a.status,u)){f?.debug?.("RETRY",`${a.status} on ${v}, trying fallback ${u+1}`),p=a.status,await (0,k.aI)(a);continue}return{response:a,url:v,headers:y,transformedBody:w}}catch(a){if(l=a,u+1<h){f?.debug?.("RETRY",`Error on ${v}, trying fallback ${u+1}`);continue}throw a}}throw l||Error(`All ${h} URLs failed with status ${p}`)}static cloakTools(a,b=null){let c=a.request?.tools;if(!c||0===c.length)return{cloakedBody:a,toolNameMap:null};let d="github-copilot"===b,e=new Map,f=[],g=new Set(u.map(a=>a.name));for(let a of c)if(a.functionDeclarations)for(let b of a.functionDeclarations){if(d&&h.J5.has(b.name)||d&&g.has(b.name))continue;if(h.J5.has(b.name)){f.push(b);continue}let a=`${b.name}${h.QH}`;e.set(a,b.name),f.push({...b,name:a})}let i=[],j=new Set;for(let a of[...f,...u])!a?.name||j.has(a.name)||(j.add(a.name),i.push(a));let k=a.request?.contents?.map(a=>{if(!a.parts)return a;let b=a.parts.map(a=>a.functionCall&&!h.J5.has(a.functionCall.name)?{...a,functionCall:{...a.functionCall,name:`${a.functionCall.name}${h.QH}`}}:a.functionResponse&&!h.J5.has(a.functionResponse.name)?{...a,functionResponse:{...a.functionResponse,name:`${a.functionResponse.name}${h.QH}`}}:a);return{...a,parts:b}});return{cloakedBody:{...a,request:{...a.request,tools:[{functionDeclarations:i}],contents:k||a.request.contents}},toolNameMap:e}}}let u=[{name:"browser_subagent",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"command_status",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"find_by_name",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"generate_image",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"grep_search",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"list_dir",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"list_resources",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"mcp_sequential-thinking_sequentialthinking",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"multi_replace_file_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"notify_user",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_resource",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_terminal",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_url_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"replace_file_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"run_command",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"search_web",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"send_command_input",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"task_boundary",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"view_content_chunk",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"view_file",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"write_to_file",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}}]},13324:(a,b,c)=>{"use strict";c.d(b,{KZ:()=>i,S6:()=>f,Yr:()=>m,f6:()=>j,fc:()=>e,kU:()=>g,pT:()=>h,w_:()=>k});let d=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","pattern","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],e=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function f(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if("text"===c.type)b.push({text:c.text});else if("image_url"===c.type&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if("image_url"===c.type&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if("input_audio"===c.type&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if("audio_url"===c.type&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}}return b}function g(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(""):""}function h(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return null}}function i(){return`agent-${crypto.randomUUID()}`}function j(){return crypto.randomUUID()+Date.now().toString()}function k(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function l(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function m(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=l(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=l(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,d),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},14372:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>y,ux:()=>v,kt:()=>w});var d=c(30395);let e={alloy:{id:"alloy",name:"Alloy"},ash:{id:"ash",name:"Ash"},ballad:{id:"ballad",name:"Ballad"},cedar:{id:"cedar",name:"Cedar"},coral:{id:"coral",name:"Coral"},echo:{id:"echo",name:"Echo"},fable:{id:"fable",name:"Fable"},marin:{id:"marin",name:"Marin"},nova:{id:"nova",name:"Nova"},onyx:{id:"onyx",name:"Onyx"},sage:{id:"sage",name:"Sage"},shimmer:{id:"shimmer",name:"Shimmer"},verse:{id:"verse",name:"Verse"}},f=(...a)=>a.map(a=>({...e[a],type:"tts"})),g=f("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),h=f("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),i=["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Autonoe","Enceladus","Iapetus","Umbriel","Algieba","Despina","Erinome","Algenib","Rasalgethi","Laomedeia","Achernar","Alnilam","Schedar","Gacrux","Pulcherrima","Achird","Zubenelgenubi","Vindemiatrix","Sadachbia","Sadaltager","Sulafat"].map(a=>({id:a,name:a,type:"tts"})),j={openai:{models:[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],voices:{"gpt-4o-mini-tts":h,"tts-1":g,"tts-1-hd":g},allVoices:h},openrouter:{models:[{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"}],voices:{"openai/gpt-4o-mini-tts":h,"openai/tts-1":g,"openai/tts-1-hd":g},allVoices:h},elevenlabs:{models:[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}]},"edge-tts":{defaults:[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},"local-device":{defaults:[{id:"default",name:"System Default Voice",type:"tts"}]},"google-tts":{defaults:[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}]},gemini:{models:[{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",type:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",type:"tts"}],voices:{"gemini-2.5-flash-preview-tts":i,"gemini-2.5-pro-preview-tts":i},allVoices:i}};var k=c(38929),l=c(37149),m=c(93818),n=c(80668),o=c(83287),p=c(9757),q=c(92853),r=c(80742),s=c(57472);let t="-review",u={"alims-intl":l.A.models,baidu:m.A.models,"kilo-gateway":o.A.models,poolside:r.A.models,tencent:s.A.models,cc:[{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],cx:[{id:"gpt-5.6",name:"GPT 5.6",upstreamModelId:"gpt-5.6-sol"},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna"},{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.6-image",name:"GPT 5.6 Image",type:"image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"]},{id:"gpt-5.5-image",name:"GPT 5.5 Image",type:"image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"]},{id:"gpt-5.4-image",name:"GPT 5.4 Image",type:"image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"]},{id:"gpt-5.3-image",name:"GPT 5.3 Image",type:"image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"]}].flatMap(a=>"llm"!==(a.type||"llm")||a.id.endsWith(t)?[a]:[a,{...a,id:`${a.id}${t}`,name:`${a.name} Review`,upstreamModelId:a.upstreamModelId||a.id,quotaFamily:"review"}]),gc:[{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"}],qw:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.6 Coder Model"}],if:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],ag:[{id:"gemini-3.6-flash-high",name:"Gemini 3.6 Flash (High)"},{id:"gemini-3.6-flash-medium",name:"Gemini 3.6 Flash (Medium)"},{id:"gemini-3.6-flash-low",name:"Gemini 3.6 Flash (Low)"},{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium)"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1}],acl:[{id:"openrouter_glm-5.2",name:"GLM-5.2"},{id:"zai_glm-5-turbo",name:"GLM-5-Turbo"},{id:"zai_auto",name:"DeepSeek-V4-Pro (Auto)"}],gh:[{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o mini"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"},{id:"goldeneye-free-auto",name:"GoldenEye"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",type:"embedding"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",type:"embedding"}],kr:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)"},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)"},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)"},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)"},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)"},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)"}],qd:[{id:"auto",name:"Qoder Auto"},{id:"ultimate",name:"Qoder Ultimate"},{id:"performance",name:"Qoder Performance"},{id:"efficient",name:"Qoder Efficient"},{id:"lite",name:"Qoder Lite"},{id:"qmodel",name:"Qwen 3.6 Plus (Qoder)"},{id:"qmodel_latest",name:"Qoder Qwen 3.7 Max"},{id:"dmodel",name:"DeepSeek V4 Pro (Qoder)"},{id:"dfmodel",name:"DeepSeek V4 Flash (Qoder)"},{id:"gm51model",name:"GLM 5.1 (Qoder)"},{id:"kmodel",name:"Kimi K2.6 (Qoder)"},{id:"mmodel",name:"MiniMax M2.7 (Qoder)"}],cb:[{id:"default-model",name:"Default",maxInputTokens:176e3,maxOutputTokens:24e3},{id:"default-model-lite",name:"Default-Lite",maxInputTokens:176e3,maxOutputTokens:24e3},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",maxInputTokens:176e3,maxOutputTokens:24e3},{id:"claude-opus-4.7-1m",name:"Claude Opus 4.7 1M",maxInputTokens:1e6,maxOutputTokens:24e3},{id:"claude-opus-4.6",name:"Claude Opus 4.6",maxInputTokens:176e3,maxOutputTokens:24e3},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",maxInputTokens:176e3,maxOutputTokens:24e3},{id:"gpt-5.5",name:"GPT-5.5",maxInputTokens:1e6,maxOutputTokens:72e3},{id:"gpt-5.4",name:"GPT-5.4",maxInputTokens:272e3,maxOutputTokens:128e3},{id:"gpt-5.3-codex",name:"GPT-5.3-Codex",maxInputTokens:272e3,maxOutputTokens:128e3},{id:"gpt-5.1-codex",name:"GPT-5.1-Codex",maxInputTokens:272e3,maxOutputTokens:128e3},{id:"gemini-3.1-pro",name:"Gemini-3.1-Pro",maxInputTokens:4e5,maxOutputTokens:64e3},{id:"gemini-3.0-flash",name:"Gemini-3.0-Flash",maxInputTokens:4e5,maxOutputTokens:64e3},{id:"gemini-3.5-flash",name:"Gemini-3.5-Flash",maxInputTokens:1e6,maxOutputTokens:65536},{id:"gemini-2.5-flash",name:"Gemini-2.5-Flash",maxInputTokens:4e5,maxOutputTokens:64e3},{id:"gemini-3.1-flash-lite",name:"Gemini-3.1-flash-lite",maxInputTokens:2e5,maxOutputTokens:65536},{id:"gemini-2.5-pro",name:"Gemini-2.5-Pro",maxInputTokens:4e5,maxOutputTokens:64e3},{id:"deepseek-v3-0324",name:"DeepSeek-V3",maxInputTokens:128e3,maxOutputTokens:8192,strip:["image","audio"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",maxInputTokens:128e3,maxOutputTokens:8192,strip:["image","audio"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",maxInputTokens:128e3,maxOutputTokens:8192,strip:["image","audio"]},{id:"glm-5.0",name:"GLM-5.0",maxInputTokens:2e5,maxOutputTokens:48e3,strip:["image","audio"]},{id:"glm-5v-turbo",name:"GLM-5V-Turbo",maxInputTokens:2e5,maxOutputTokens:38e3},{id:"glm-4.6",name:"GLM-4.6",maxInputTokens:168e3,maxOutputTokens:32e3,strip:["image","audio"]},{id:"kimi-k2.6",name:"Kimi-K2.6",maxInputTokens:256e3,maxOutputTokens:32e3},{id:"kimi-k2.5",name:"Kimi-K2.5",maxInputTokens:164e3,maxOutputTokens:32e3}],"cb-cn":[{id:"kimi-k3",name:"Kimi-K3",maxInputTokens:1e6,maxOutputTokens:32768},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2",maxInputTokens:96e3,maxOutputTokens:32e3,strip:["image","audio"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",maxInputTokens:1e6,maxOutputTokens:5e4,strip:["image","audio"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",maxInputTokens:1e6,maxOutputTokens:5e4,strip:["image","audio"]},{id:"glm-5.0",name:"GLM-5.0",maxInputTokens:2e5,maxOutputTokens:48e3,strip:["image","audio"]},{id:"glm-5.1",name:"GLM-5.1",maxInputTokens:2e5,maxOutputTokens:48e3,strip:["image","audio"]},{id:"glm-5.2",name:"GLM-5.2",maxInputTokens:1e6,maxOutputTokens:48e3,strip:["image","audio"]},{id:"kimi-k2.5",name:"Kimi-K2.5",maxInputTokens:164e3,maxOutputTokens:32e3},{id:"kimi-k2.6",name:"Kimi-K2.6",maxInputTokens:256e3,maxOutputTokens:32e3}],cu:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],kmc:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],kc:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],"opencode-go":[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus"},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"minimax-m2.7",name:"MiniMax M2.7",targetFormat:"claude"},{id:"minimax-m2.5",name:"MiniMax M2.5",targetFormat:"claude"}],oc:[],cl:[{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],clinepass:[{id:"cline-pass/glm-5.2",name:"GLM-5.2 (ClinePass)"},{id:"cline-pass/kimi-k2.7-code",name:"Kimi K2.7 Code (ClinePass)"},{id:"cline-pass/kimi-k2.6",name:"Kimi K2.6 (ClinePass)"},{id:"cline-pass/deepseek-v4-pro",name:"DeepSeek V4 Pro (ClinePass)"},{id:"cline-pass/deepseek-v4-flash",name:"DeepSeek V4 Flash (ClinePass)"},{id:"cline-pass/mimo-v2.5",name:"MiMo-V2.5 (ClinePass)"},{id:"cline-pass/mimo-v2.5-pro",name:"MiMo-V2.5-Pro (ClinePass)"},{id:"cline-pass/minimax-m3",name:"MiniMax M3 (ClinePass)"},{id:"cline-pass/qwen3.7-max",name:"Qwen3.7 Max (ClinePass)"},{id:"cline-pass/qwen3.7-plus",name:"Qwen3.7 Plus (ClinePass)"}],kimchi:[{id:"minimax-m3",name:"MiniMax-M3"},{id:"kimi-k2.7",name:"Kimi-K2.7"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"nemotron-3-ultra-fp4",name:"Nemotron 3 Ultra FP4"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"}],gcli:[{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4.5-high",name:"Grok 4.5 (High)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-medium",name:"Grok 4.5 (Medium)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-low",name:"Grok 4.5 (Low)",upstreamModelId:"grok-4.5"}],pa:[{id:"perplexity/sonar",name:"Perplexity Sonar"},{id:"openai/gpt-5.5",name:"GPT-5.5"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4-8",name:"Claude Opus 4.8"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning"},{id:"perplexity/glm-5.2",name:"GLM 5.2"},{id:"perplexity/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super 120B"}],openai:[{id:"gpt-5.6",name:"GPT-5.6",upstreamModelId:"gpt-5.6-sol"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",type:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",type:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",type:"embedding"},{id:"tts-1",name:"TTS-1",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"whisper-1",name:"Whisper 1",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"gpt-image-1",name:"GPT Image 1",type:"image",params:["n","size","quality","response_format"]},{id:"dall-e-3",name:"DALL-E 3",type:"image",params:["size","quality","style","response_format"]},{id:"dall-e-2",name:"DALL-E 2",type:"image",params:["n","size","response_format"]}],anthropic:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],gemini:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",type:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",type:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",type:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",type:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",type:"image",params:[]},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",type:"image",params:[]},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",type:"image",params:[]},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",type:"stt",params:["language","prompt"]},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",type:"stt",params:["language","prompt"]},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",type:"stt",params:["language","prompt"]},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",type:"stt",params:["language","prompt"]}],openrouter:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",type:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",type:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",type:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",type:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",type:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",type:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",type:"embedding"},{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",type:"image",params:["size","quality","style","response_format"]},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",type:"image",params:["n","size","quality","response_format"]},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",type:"image",params:["n","size"]},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",type:"image",params:["n","size"]}],glm:[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],"glm-cn":[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],kimi:[{id:"kimi-k3",name:"Kimi K3"},{id:"k3",name:"Kimi K3 (Code)"},{id:"kimi-for-coding",name:"Kimi for Coding"},{id:"kimi-for-coding-highspeed",name:"Kimi for Coding Highspeed"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code Highspeed"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],minimax:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",type:"image",params:["n","size","response_format"]}],blackbox:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o mini"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Legacy)"},{id:"claude-opus-4-6",name:"Claude Opus 4.6 (Legacy)"},{id:"deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek-v3-671b",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"o1",name:"OpenAI o1"},{id:"o3-mini",name:"OpenAI o3-mini"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"}],"minimax-cn":[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}],alicode:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],"alicode-intl":[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],"volcengine-ark":[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}],"cloudflare-ai":[{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",type:"image",params:["size"]},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",type:"image",params:["size"]},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",type:"image",params:["size"]},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",type:"image",params:["size"]},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",type:"image",params:["size"]},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",type:"image",params:["size"]},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",type:"image",params:["size"]},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",type:"image",params:["size"]},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",type:"image",params:["size"],capabilities:["edit"]},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",type:"image",params:["size"],capabilities:["edit","mask"]},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",type:"image",params:["size"]}],byteplus:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],deepseek:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],commandcode:[{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"Qwen/Qwen3.6-Max-Preview",name:"Qwen 3.6 Max Preview"},{id:"Qwen/Qwen3.6-Plus",name:"Qwen 3.6 Plus"},{id:"stepfun/Step-3.5-Flash",name:"Step 3.5 Flash"}],groq:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",type:"stt",params:["language","response_format","temperature","prompt"]}],xai:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-2-image-1212",name:"Grok 2 Image",type:"image",params:["n","response_format"]},...k.A.models],mistral:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",type:"embedding"}],perplexity:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],together:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",type:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",type:"embedding"}],fireworks:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",type:"embedding"}],mmf:[{id:"mimo-auto",name:"MiMo Auto"}],venice:[{id:"venice-uncensored-1-2",name:"Venice Uncensored 1.2"},{id:"zai-org-glm-5",name:"GLM-5"},{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-coder-480b-a35b-instruct-turbo",name:"Qwen3 Coder 480B A35B Turbo"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",type:"embedding"},{id:"text-embedding-bge-m3",name:"BGE-M3 Embedding",type:"embedding"}],fl:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"zai-org/GLM-5.2",name:"GLM 5.2"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"}],cerebras:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}],cohere:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}],nvidia:[{id:"minimaxai/minimax-m3",name:"MiniMax M3"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",type:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",type:"stt",params:["language"]}],nebius:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",type:"embedding"}],"voyage-ai":[{id:"voyage-3-large",name:"Voyage 3 Large",type:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",type:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",type:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",type:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",type:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",type:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",type:"embedding"}],siliconflow:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}],"xiaomi-mimo":[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-flash",name:"MiMo V2 Flash"}],"xiaomi-tokenplan":[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5-pro-claude",name:"MiMo V2.5 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.5-pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-tts",name:"MiMo V2 TTS"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design"}],hyperbolic:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}],ollama:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"}],vertex:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],"vertex-partner":[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}],"grok-web":[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],"perplexity-web":[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}],...function(){let a={};for(let[b,c]of Object.entries(j))c.models&&(a[`${b}-tts-models`]=c.models),c.allVoices&&(a[`${b}-tts-voices`]=c.allVoices),c.defaults&&(a[b]=c.defaults);return a["openai-tts-voices"]=j.openai.allVoices,a["openrouter-tts-voices"]=j.openrouter.allVoices,a}(),nanobanana:[{id:"nanobanana-flash",name:"NanoBanana Flash",type:"image",params:["n","size"]},{id:"nanobanana-pro",name:"NanoBanana Pro",type:"image",params:["n","size"]}],sdwebui:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",type:"image",params:["n","size"]},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",type:"image",params:["n","size"]}],comfyui:[{id:"flux-dev",name:"FLUX Dev",type:"image",params:["n","size"]},{id:"sdxl",name:"SDXL",type:"image",params:["n","size"]}],huggingface:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",type:"image",params:[]},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",type:"image",params:[]},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",type:"stt",params:["language"]},{id:"openai/whisper-small",name:"Whisper Small (HF)",type:"stt",params:["language"]}],agentrouter:[{id:"claude-opus-4-6",name:"Claude 4.6 Opus"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"},{id:"glm-5.1",name:"GLM 5.1"},{id:"deepseek-v3.2",name:"DeepSeek V3.2"}],aimlapi:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash"},{id:"meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",name:"Llama 3.1 70B"}],novita:[{id:"deepseek/deepseek-r1",name:"DeepSeek R1"},{id:"deepseek/deepseek-v3",name:"DeepSeek V3"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen 2.5 72B"}],modal:[{id:"auto",name:"Auto (User-hosted)"}],reka:[{id:"reka-flash-3",name:"Reka Flash 3"},{id:"reka-edge-2603",name:"Reka Edge 2603"}],nlpcloud:[{id:"chatdolphin",name:"ChatDolphin"},{id:"dolphin",name:"Dolphin"},{id:"finetuned-llama-3-70b",name:"Llama 3 70B (Finetuned)"}],bazaarlink:n.A.models,completions:[{id:"claude-opus-4",name:"Claude Opus 4"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"}],enally:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"claude-3-5-sonnet",name:"Claude 3.5 Sonnet"}],freetheai:[{id:"gpt-4o",name:"GPT-4o"},{id:"claude-3-5-sonnet",name:"Claude 3.5 Sonnet"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"deepseek-chat",name:"DeepSeek Chat"}],llm7:p.A.models,lepton:[{id:"llama3-1-405b",name:"Llama 3.1 405B"},{id:"llama3-1-70b",name:"Llama 3.1 70B"},{id:"llama3-1-8b",name:"Llama 3.1 8B"},{id:"mixtral-8x7b",name:"Mixtral 8x7B"}],kluster:[{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama 4 Scout"},{id:"Qwen/Qwen3-235B-A22B-Instruct",name:"Qwen3 235B"}],ai21:[{id:"jamba-large",name:"Jamba 1.5 Large"},{id:"jamba-mini",name:"Jamba 1.5 Mini"}],"inference-net":[{id:"meta-llama/llama-3.3-70b-instruct/fp-16",name:"Llama 3.3 70B"},{id:"deepseek/deepseek-v3-0324",name:"DeepSeek V3"},{id:"mistralai/mistral-nemo-12b-instruct/fp-16",name:"Mistral Nemo 12B"}],predibase:[{id:"llama-3-2-3b-instruct",name:"Llama 3.2 3B"},{id:"llama-3-1-8b-instruct",name:"Llama 3.1 8B"},{id:"qwen2-5-7b-instruct",name:"Qwen 2.5 7B"}],bytez:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"mistralai/Mistral-7B-Instruct-v0.3",name:"Mistral 7B v0.3"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"}],morph:q.A.models,longcat:[{id:"LongCat-Flash-Chat",name:"LongCat Flash Chat"},{id:"LongCat-Flash-Thinking",name:"LongCat Flash Thinking"},{id:"LongCat-Flash-Lite",name:"LongCat Flash Lite"}],puter:[{id:"gpt-5",name:"GPT-5"},{id:"claude-opus-4",name:"Claude Opus 4"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro"},{id:"grok-4",name:"Grok 4"},{id:"deepseek-chat",name:"DeepSeek V3"}],uncloseai:[{id:"auto",name:"Auto (Free)"},{id:"gpt-4o-mini",name:"GPT-4o Mini"}],scaleway:[{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"mistral-small-3.1-24b-instruct-2503",name:"Mistral Small 3.1"}],deepinfra:[{id:"meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"}],sambanova:[{id:"Meta-Llama-3.1-405B-Instruct",name:"Llama 3.1 405B"},{id:"Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B"},{id:"Meta-Llama-3.1-8B-Instruct",name:"Llama 3.1 8B"}],nscale:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"}],baseten:[{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"}],publicai:[{id:"auto",name:"Auto (Community)"}],"nous-research":[{id:"Hermes-4-405B",name:"Hermes 4 405B"},{id:"Hermes-4-70B",name:"Hermes 4 70B"}],glhf:[{id:"hf:meta-llama/Meta-Llama-3.1-405B-Instruct",name:"Llama 3.1 405B"},{id:"hf:meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B"},{id:"hf:Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"}],deepgram:[{id:"nova-3",name:"Nova 3",type:"stt",params:["language"]},{id:"nova-2",name:"Nova 2",type:"stt",params:["language"]},{id:"whisper-large",name:"Whisper Large",type:"stt",params:["language"]}],assemblyai:[{id:"universal-3-pro",name:"Universal 3 Pro",type:"stt",params:["language"]},{id:"universal-2",name:"Universal 2",type:"stt",params:["language"]}],"fal-ai":[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",type:"image",params:["n","size"]},{id:"fal-ai/flux/dev",name:"FLUX Dev",type:"image",params:["n","size"]},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",type:"image",params:["n","size"]},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",type:"image",params:["n","size"]},{id:"fal-ai/recraft-v3",name:"Recraft V3",type:"image",params:["n","size","style"]},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",type:"image",params:["n","size","style"]},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",type:"image",params:["n","size"]}],"stability-ai":[{id:"stable-image-ultra",name:"Stable Image Ultra",type:"image",params:["size"]},{id:"stable-image-core",name:"Stable Image Core",type:"image",params:["size","style"]},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",type:"image",params:["size"]},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",type:"image",params:["size"]},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",type:"image",params:["size"]}],"black-forest-labs":[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",type:"image",params:["n","size"]},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",type:"image",params:["size"]},{id:"flux-pro",name:"FLUX Pro",type:"image",params:["n","size"]},{id:"flux-dev",name:"FLUX Dev",type:"image",params:["n","size"]},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",type:"image",params:["size"],capabilities:["edit"]},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",type:"image",params:["size"],capabilities:["edit"]}],recraft:[{id:"recraftv3",name:"Recraft V3",type:"image",params:["n","size","style"]},{id:"recraftv2",name:"Recraft V2",type:"image",params:["n","size","style"]}],runwayml:[{id:"gen4_image",name:"Gen-4 Image",type:"image",params:["size"]},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",type:"image",params:["size"]},{id:"gen4_turbo",name:"Gen-4 Turbo",type:"video",params:[]},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",type:"video",params:[]}]};function v(a,b){let c=u[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.targetFormat||null}function w(a,b){let c=u[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(t)?b.slice(0,-t.length):b}let x={claude:"cc",codex:"cx","gemini-cli":"gc",qwen:"qw",iflow:"if",antigravity:"ag",github:"gh",kiro:"kr",cursor:"cu",kimi:"kimi","kimi-coding":"kimi",kilocode:"kc",cline:"cl",opencode:"oc",qoder:"qd",autoclaw:"acl",codebuddy:"cb","codebuddy-cn":"cb-cn",vertex:"vertex","vertex-partner":"vertex-partner","mimo-free":"mmf",venice:"venice",featherless:"fl",kimchi:"kimchi","grok-cli":"gcli",clinepass:"clinepass","perplexity-agent":"pa"},y=Object.fromEntries(Object.keys(d.xq).map(a=>[a,x[a]||a]))},15529:(a,b,c)=>{var d=c(45654);c(41702),a.exports=d.mgf=d.mgf||{},d.mgf.mgf1=d.mgf1},15783:(a,b,c)=>{},15822:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToClaudeRequest:()=>h,openaiToClaudeRequestForAntigravity:()=>k});var d=c(56294),e=c(42541),f=c(48991),g=c(58455);function h(a,b,c,d=null,e=null){let k=new Map,l={model:a,max_tokens:(0,g.M)(b),stream:c};void 0!==b.temperature&&(l.temperature=b.temperature),l.messages=[];let m=[];if(b.messages&&Array.isArray(b.messages)){let a;for(let a of b.messages)"system"===a.role&&m.push("string"==typeof a.content?a.content:j(a.content));let c=b.messages.filter(a=>"system"!==a.role),d=[],e=()=>{a&&d.length>0&&(l.messages.push({role:a,content:d}),d=[])};for(let b of c){let c="user"===b.role||"tool"===b.role?"user":"assistant",f=function(a,b=new Map){let c=[];if("tool"===a.role){let b=a.content,d=!0===a.is_error;"string"==typeof b&&b.startsWith("Tool result error (is_error=true):")&&(d=!0,b=b.replace(/^Tool result error \(is_error=true\):\n?/,"")),c.push({type:"tool_result",tool_use_id:a.tool_call_id,content:b,...d&&{is_error:!0}})}else if("user"===a.role){if("string"==typeof a.content)a.content&&c.push({type:"text",text:a.content});else if(Array.isArray(a.content)){for(let b of a.content)if("text"===b.type&&b.text)c.push({type:"text",text:b.text});else if("tool_result"===b.type)c.push({type:"tool_result",tool_use_id:b.tool_use_id,content:b.content,...b.is_error&&{is_error:b.is_error}});else if("image_url"===b.type){let a=b.image_url.url,d=a.match(/^data:([^;]+);base64,(.+)$/);d?c.push({type:"image",source:{type:"base64",media_type:d[1],data:d[2]}}):(a.startsWith("http://")||a.startsWith("https://"))&&c.push({type:"image",source:{type:"url",url:a}})}else if("image"===b.type&&b.source)c.push({type:"image",source:b.source});else if("input_audio"===b.type&&b.input_audio?.data){let a=String(b.input_audio.format||"wav").toLowerCase();c.push({type:"audio",source:{type:"base64",media_type:"mp3"===a?"audio/mpeg":`audio/${a}`,data:b.input_audio.data}})}}}else if("assistant"===a.role){if(Array.isArray(a.content)){for(let b of a.content)if("text"===b.type&&b.text)c.push({type:"text",text:b.text});else if("tool_use"===b.type)c.push({type:"tool_use",id:b.id,name:b.name,input:b.input});else if("thinking"===b.type){let{cache_control:a,...d}=b;c.push(d)}else if("redacted_thinking"===b.type){let{cache_control:a,...d}=b;c.push(d)}}else if(a.content){let b="string"==typeof a.content?a.content:j(a.content);b&&c.push({type:"text",text:b})}if("string"==typeof a.reasoning_content&&a.reasoning_content&&c.unshift({type:"thinking",thinking:a.reasoning_content}),a.tool_calls&&Array.isArray(a.tool_calls)){for(let b of a.tool_calls)if("function"===b.type){let a=""+b.function.name;c.push({type:"tool_use",id:b.id,name:a,input:function(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return a}}(b.function.arguments)})}}}return c}(b,k),g=f.some(a=>"tool_use"===a.type);if(f.some(a=>"tool_result"===a.type)){let b=f.filter(a=>"tool_result"===a.type),g=f.filter(a=>"tool_result"!==a.type);e(),b.length>0&&l.messages.push({role:"user",content:b}),g.length>0&&(a=c,d.push(...g));continue}a!==c&&(e(),a=c),d.push(...f),g&&e()}e();for(let a=l.messages.length-1;a>=0;a--){let b=l.messages[a];if("assistant"===b.role&&Array.isArray(b.content)&&b.content.length>0){let a=["text","tool_use","tool_result","image"];for(let c=b.content.length-1;c>=0;c--){let d=b.content[c];if(a.includes(d.type)){d.cache_control={type:"ephemeral"};break}}break}}}if(b.response_format){let a=b.response_format;if("json_schema"===a.type&&a.json_schema?.schema){let b=JSON.stringify(a.json_schema.schema,null,2);m.push(`You must respond with valid JSON that strictly follows this JSON schema:
219
+ `;return new Promise((a,b)=>{d(`powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -Command ${h(c)}`,{windowsHide:!0},(c,d,e)=>{if(c){let a=e||c.message;a.includes("canceled by the user")||a.includes("operation was canceled")?b(Error("User canceled UAC prompt")):b(Error(a))}else a(d)})})},quotePs:h}},11484:(a,b,c)=>{"use strict";async function d(a){try{await a.body?.cancel()}catch{}}c.d(b,{aI:()=>d}),c(8735)},12529:(a,b,c)=>{"use strict";c.d(b,{w:()=>j});var d=c(69384),e=c(30395),f=c(87164),g=c(46956);let h=new Map;async function i(a){if(h.has(a))return h.get(a);let b=await fetch(`https://aiplatform.googleapis.com/v1/publishers/google/models/__probe__:generateContent?key=${a}`,{method:"POST",headers:{"Content-Type":"application/json"},body:"{}"}),c=await b.json().catch(()=>null),d=(c?.[0]?.error?.message||c?.error?.message||"").match(/projects\/([^/]+)\//),e=d?.[1]||null;return e&&h.set(a,e),e}class j extends d.Hv{constructor(a="vertex"){super(a,e.xq[a]||{})}buildUrl(a,b,c=0,d=null){let e=(0,f.Sc)(d?.apiKey),g=e?null:d?.apiKey,h=e?.project_id||d?.providerSpecificData?.projectId;if("vertex-partner"===this.provider){if(!h)throw Error("Vertex partner models require a project_id. Add it in providerSpecificData or use Service Account JSON.");let a=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/global/endpoints/openapi/chat/completions`;return g?`${a}?key=${g}`:a}let i=b?"streamGenerateContent":"generateContent";if(e){let c=d?.providerSpecificData?.location||"us-central1",e=`https://aiplatform.googleapis.com/v1/projects/${h}/locations/${c}/publishers/google/models/${a}:${i}`;return b&&(e+="?alt=sse"),e}let j=`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${i}`;return b&&(j+="?alt=sse"),g&&(j+=b?`&key=${g}`:`?key=${g}`),j}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}async refreshCredentials(a,b){let c=(0,f.Sc)(a?.apiKey);if(!c)return null;let d=await (0,f.pb)(c,b);return d?{accessToken:d.accessToken,expiresAt:d.expiresAt}:null}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:h,proxyOptions:j=null}){let k=(0,f.Sc)(d?.apiKey);if(k){let a=await (0,f.pb)(k,h);if(!a?.accessToken)throw Error("Vertex: failed to mint access token from Service Account JSON");d.accessToken=a.accessToken}if("vertex-partner"===this.provider&&!k&&!d?.providerSpecificData?.projectId){let a=await i(d.apiKey);if(!a)throw Error("Vertex: could not resolve project_id from API key. Please add it manually in provider settings.");h?.debug?.("VERTEX",`Resolved project_id: ${a}`),d.providerSpecificData={...d.providerSpecificData,projectId:a}}let l=this.buildUrl(a,c,0,d),m=this.buildHeaders(d,c),n=this.transformRequest(a,b,c,d);return{response:await (0,g.F)(l,{method:"POST",headers:m,body:JSON.stringify(n),signal:e},j),url:l,headers:m,transformedBody:n}}}},12600:(a,b,c)=>{"use strict";let d,{extractBody:e,mixinBody:f,cloneBody:g,bodyUnusable:h}=c(35381),{Headers:i,fill:j,HeadersList:k,setHeadersGuard:l,getHeadersGuard:m,setHeadersList:n,getHeadersList:o}=c(28665),p=c(84285),q=c(57975),{isValidHTTPToken:r,sameOrigin:s,environmentSettingsObject:t}=c(42425),{forbiddenMethodsSet:u,corsSafeListedMethodsSet:v,referrerPolicy:w,requestRedirect:x,requestMode:y,requestCredentials:z,requestCache:A,requestDuplex:B}=c(19608),{kEnumerableProperty:C,normalizedMethodRecordsBase:D,normalizedMethodRecords:E}=p,{webidl:F}=c(32984),{URLSerializer:G}=c(16537),{kConstruct:H}=c(49176),I=c(34589),{getMaxListeners:J,setMaxListeners:K,defaultMaxListeners:L}=c(78474),M=Symbol("abortController"),N=new FinalizationRegistry(({signal:a,abort:b})=>{a.removeEventListener("abort",b)}),O=new WeakMap;try{d=J(new AbortController().signal)>0}catch{d=!1}function P(a){return function b(){let c=a.deref();if(void 0!==c){N.unregister(b),this.removeEventListener("abort",b),c.abort(this.reason);let a=O.get(c.signal);if(void 0!==a){if(0!==a.size){for(let b of a){let a=b.deref();void 0!==a&&a.abort(this.reason)}a.clear()}O.delete(c.signal)}}}}let Q=!1;class R{#c;#d;#e;#a;#f=null;constructor(a,b){let c;if(F.util.markAsUncloneable(this),a===H)return;F.argumentLengthCheck(arguments,1,"Request constructor"),a=F.converters.RequestInfo(a),b=F.converters.RequestInit(b);let f=null,g=null;const m=t.settingsObject.baseUrl;let q=null;if("string"==typeof a){let c;this.#d=b.dispatcher;try{c=new URL(a,m)}catch(b){throw TypeError("Failed to parse URL from "+a,{cause:b})}if(c.username||c.password)throw TypeError("Request cannot be constructed from a URL that includes credentials: "+a);f=Z({urlList:[c]}),g="cors"}else I(F.is.Request(a)),f=a.#a,q=a.#c,this.#d=b.dispatcher||a.#d;const w=t.settingsObject.origin;let x="client";if(f.window?.constructor?.name==="EnvironmentSettingsObject"&&s(f.window,w)&&(x=f.window),null!=b.window)throw TypeError(`'window' option '${x}' must be null`);"window"in b&&(x="no-window"),f=Z({method:f.method,headersList:f.headersList,unsafeRequest:f.unsafeRequest,client:t.settingsObject,window:x,priority:f.priority,origin:f.origin,referrer:f.referrer,referrerPolicy:f.referrerPolicy,mode:f.mode,credentials:f.credentials,cache:f.cache,redirect:f.redirect,integrity:f.integrity,keepalive:f.keepalive,reloadNavigation:f.reloadNavigation,historyNavigation:f.historyNavigation,urlList:[...f.urlList]});const y=0!==Object.keys(b).length;if(y&&("navigate"===f.mode&&(f.mode="same-origin"),f.reloadNavigation=!1,f.historyNavigation=!1,f.origin="client",f.referrer="client",f.referrerPolicy="",f.url=f.urlList[f.urlList.length-1],f.urlList=[f.url]),void 0!==b.referrer){const a=b.referrer;if(""===a)f.referrer="no-referrer";else{let b;try{b=new URL(a,m)}catch(b){throw TypeError(`Referrer "${a}" is not a valid URL.`,{cause:b})}"about:"===b.protocol&&"client"===b.hostname||w&&!s(b,t.settingsObject.baseUrl)?f.referrer="client":f.referrer=b}}if(void 0!==b.referrerPolicy&&(f.referrerPolicy=b.referrerPolicy),"navigate"===(c=void 0!==b.mode?b.mode:g))throw F.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(null!=c&&(f.mode=c),void 0!==b.credentials&&(f.credentials=b.credentials),void 0!==b.cache&&(f.cache=b.cache),"only-if-cached"===f.cache&&"same-origin"!==f.mode)throw TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(void 0!==b.redirect&&(f.redirect=b.redirect),null!=b.integrity&&(f.integrity=String(b.integrity)),void 0!==b.keepalive&&(f.keepalive=!!b.keepalive),void 0!==b.method){let a=b.method;const c=E[a];if(void 0!==c)f.method=c;else{if(!r(a))throw TypeError(`'${a}' is not a valid HTTP method.`);const b=a.toUpperCase();if(u.has(b))throw TypeError(`'${a}' HTTP method is unsupported.`);a=D[b]??a,f.method=a}Q||"patch"!==f.method||(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),Q=!0)}void 0!==b.signal&&(q=b.signal),this.#a=f;const z=new AbortController;if(this.#c=z.signal,null!=q)if(q.aborted)z.abort(q.reason);else{this[M]=z;const a=P(new WeakRef(z));d&&J(q)===L&&K(1500,q);const b=p.addAbortListener(q,a);N.register(z,{signal:q,abort:a},a),this.#f=()=>{N.unregister(a),b(),this.#f=null}}if(this.#e=new i(H),n(this.#e,f.headersList),l(this.#e,"request"),"no-cors"===c){if(!v.has(f.method))throw TypeError(`'${f.method} is unsupported in no-cors mode.`);l(this.#e,"request-no-cors")}if(y){const a=o(this.#e),c=void 0!==b.headers?b.headers:new k(a);if(a.clear(),c instanceof k){for(const{name:b,value:d}of c.rawValues())a.append(b,d,!1);a.cookies=c.cookies}else j(this.#e,c)}const A=F.is.Request(a)?a.#a.body:null;if((null!=b.body||null!=A)&&("GET"===f.method||"HEAD"===f.method))throw TypeError("Request with GET/HEAD method cannot have body.");let B=null;if(null!=b.body){const[a,c]=e(b.body,f.keepalive);B=a,c&&!o(this.#e).contains("content-type",!0)&&this.#e.append("content-type",c,!0)}const C=B??A;if(null!=C&&null==C.source){if(null!=B&&null==b.duplex)throw TypeError("RequestInit: duplex option is required when sending a body.");if("same-origin"!==f.mode&&"cors"!==f.mode)throw TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');f.useCORSPreflightFlag=!0}let G=C;if(null==B&&null!=A){if(h(a.#a))throw TypeError("Cannot construct a Request with a Request object that has already been used.");const b=new TransformStream;A.stream.pipeThrough(b),G={source:A.source,length:A.length,stream:b.readable}}this.#a.body=G}get method(){return F.brandCheck(this,R),this.#a.method}get url(){return F.brandCheck(this,R),G(this.#a.url)}get headers(){return F.brandCheck(this,R),this.#e}get destination(){return F.brandCheck(this,R),this.#a.destination}get referrer(){return(F.brandCheck(this,R),"no-referrer"===this.#a.referrer)?"":"client"===this.#a.referrer?"about:client":this.#a.referrer.toString()}get referrerPolicy(){return F.brandCheck(this,R),this.#a.referrerPolicy}get mode(){return F.brandCheck(this,R),this.#a.mode}get credentials(){return F.brandCheck(this,R),this.#a.credentials}get cache(){return F.brandCheck(this,R),this.#a.cache}get redirect(){return F.brandCheck(this,R),this.#a.redirect}get integrity(){return F.brandCheck(this,R),this.#a.integrity}get keepalive(){return F.brandCheck(this,R),this.#a.keepalive}get isReloadNavigation(){return F.brandCheck(this,R),this.#a.reloadNavigation}get isHistoryNavigation(){return F.brandCheck(this,R),this.#a.historyNavigation}get signal(){return F.brandCheck(this,R),this.#c}get body(){return F.brandCheck(this,R),this.#a.body?this.#a.body.stream:null}get bodyUsed(){return F.brandCheck(this,R),!!this.#a.body&&p.isDisturbed(this.#a.body.stream)}get duplex(){return F.brandCheck(this,R),"half"}clone(){if(F.brandCheck(this,R),h(this.#a))throw TypeError("unusable");let a=$(this.#a),b=new AbortController;if(this.signal.aborted)b.abort(this.signal.reason);else{let a=O.get(this.signal);void 0===a&&(a=new Set,O.set(this.signal,a));let c=new WeakRef(b);a.add(c),p.addAbortListener(b.signal,P(c))}return _(a,this.#d,b.signal,m(this.#e))}[q.inspect.custom](a,b){null===b.depth&&(b.depth=2),b.colors??=!0;let c={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${q.formatWithOptions(b,c)}`}static setRequestSignal(a,b){return a.#c=b,a}static getRequestDispatcher(a){return a.#d}static setRequestDispatcher(a,b){a.#d=b}static setRequestHeaders(a,b){a.#e=b}static getRequestState(a){return a.#a}static setRequestState(a,b){a.#a=b}static removeRequestAbortListener(a){a.#f?.()}}let{setRequestSignal:S,getRequestDispatcher:T,setRequestDispatcher:U,setRequestHeaders:V,getRequestState:W,setRequestState:X,removeRequestAbortListener:Y}=R;function Z(a){return{method:a.method??"GET",localURLsOnly:a.localURLsOnly??!1,unsafeRequest:a.unsafeRequest??!1,body:a.body??null,client:a.client??null,reservedClient:a.reservedClient??null,replacesClientId:a.replacesClientId??"",window:a.window??"client",keepalive:a.keepalive??!1,serviceWorkers:a.serviceWorkers??"all",initiator:a.initiator??"",destination:a.destination??"",priority:a.priority??null,origin:a.origin??"client",policyContainer:a.policyContainer??"client",referrer:a.referrer??"client",referrerPolicy:a.referrerPolicy??"",mode:a.mode??"no-cors",useCORSPreflightFlag:a.useCORSPreflightFlag??!1,credentials:a.credentials??"same-origin",useCredentials:a.useCredentials??!1,cache:a.cache??"default",redirect:a.redirect??"follow",integrity:a.integrity??"",cryptoGraphicsNonceMetadata:a.cryptoGraphicsNonceMetadata??"",parserMetadata:a.parserMetadata??"",reloadNavigation:a.reloadNavigation??!1,historyNavigation:a.historyNavigation??!1,userActivation:a.userActivation??!1,taintedOrigin:a.taintedOrigin??!1,redirectCount:a.redirectCount??0,responseTainting:a.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:a.preventNoCacheCacheControlHeaderModification??!1,done:a.done??!1,timingAllowFailed:a.timingAllowFailed??!1,useURLCredentials:a.useURLCredentials??void 0,traversableForUserPrompts:a.traversableForUserPrompts??"client",urlList:a.urlList,url:a.urlList[0],headersList:a.headersList?new k(a.headersList):new k}}function $(a){let b=Z({...a,body:null});return null!=a.body&&(b.body=g(a.body)),b}function _(a,b,c,d){let e=new R(H);X(e,a),U(e,b),S(e,c);let f=new i(H);return V(e,f),n(f,a.headersList),l(f,d),e}Reflect.deleteProperty(R,"setRequestSignal"),Reflect.deleteProperty(R,"getRequestDispatcher"),Reflect.deleteProperty(R,"setRequestDispatcher"),Reflect.deleteProperty(R,"setRequestHeaders"),Reflect.deleteProperty(R,"getRequestState"),Reflect.deleteProperty(R,"setRequestState"),Reflect.deleteProperty(R,"removeRequestAbortListener"),f(R,W),Object.defineProperties(R.prototype,{method:C,url:C,headers:C,redirect:C,clone:C,signal:C,duplex:C,destination:C,body:C,bodyUsed:C,isHistoryNavigation:C,isReloadNavigation:C,keepalive:C,integrity:C,cache:C,credentials:C,attribute:C,referrerPolicy:C,referrer:C,mode:C,[Symbol.toStringTag]:{value:"Request",configurable:!0}}),F.is.Request=F.util.MakeTypeAssertion(R),F.converters.RequestInfo=function(a){return"string"==typeof a?F.converters.USVString(a):F.is.Request(a)?a:F.converters.USVString(a)},F.converters.RequestInit=F.dictionaryConverter([{key:"method",converter:F.converters.ByteString},{key:"headers",converter:F.converters.HeadersInit},{key:"body",converter:F.nullableConverter(F.converters.BodyInit)},{key:"referrer",converter:F.converters.USVString},{key:"referrerPolicy",converter:F.converters.DOMString,allowedValues:w},{key:"mode",converter:F.converters.DOMString,allowedValues:y},{key:"credentials",converter:F.converters.DOMString,allowedValues:z},{key:"cache",converter:F.converters.DOMString,allowedValues:A},{key:"redirect",converter:F.converters.DOMString,allowedValues:x},{key:"integrity",converter:F.converters.DOMString},{key:"keepalive",converter:F.converters.boolean},{key:"signal",converter:F.nullableConverter(a=>F.converters.AbortSignal(a,"RequestInit","signal"))},{key:"window",converter:F.converters.any},{key:"duplex",converter:F.converters.DOMString,allowedValues:B},{key:"dispatcher",converter:F.converters.any},{key:"priority",converter:F.converters.DOMString,allowedValues:["high","low","auto"],defaultValue:()=>"auto"}]),a.exports={Request:R,makeRequest:Z,fromInnerRequest:_,cloneRequest:$,getRequestDispatcher:T,getRequestState:W,removeRequestAbortListener:Y}},12955:(a,b,c)=>{"use strict";c.d(b,{c:()=>t});var d=c(55511),e=c.n(d),f=c(69384),g=c(30395),h=c(48991),i=c(8735),j=c(46956),k=c(11484),l=c(13324);let m=["opencode","open-code","cline","roo-cline","roo_cline","cursor","windsurf","aider","continue.dev","copilot","avante","codecompanion","claude code","claude-code","kilo code","kilocode","zevairouter","zevairouter"],n=new Map,o=new Set(["x-forwarded-for","x-forwarded-host","x-forwarded-proto","x-forwarded-port","x-real-ip","forwarded","via","x-title","x-stainless-lang","x-stainless-package-version","x-stainless-os","x-stainless-arch","x-stainless-runtime","x-stainless-runtime-version","x-stainless-timeout","x-stainless-retry-count","x-stainless-helper-method","http-referer","referer","sec-ch-ua","sec-ch-ua-mobile","sec-ch-ua-platform","sec-fetch-mode","sec-fetch-site","sec-fetch-dest","priority","accept-encoding"]),p=-0x340d631b7bdddcdbn;e().randomUUID();let q=null;try{let a=c(39852);q=a.machineIdSync||a.default?.machineIdSync||null}catch{q=null}function r(a){return"string"==typeof a&&a.trim().length>0?a.trim():null}function s(a,b){let c=a?.providerSpecificData;return c&&"object"==typeof c?r(c[b]):null}class t extends f.Hv{constructor(){super("antigravity",g.xq.antigravity)}buildUrl(a,b,c=0){let d=this.getBaseUrls(),e=d[c]||d[0];return`${e}/v1internal:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0,c=null){let d=function(){try{let a=r(q?.(!0));if(a)return a}catch{}return null}();return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":this.config.headers?.["User-Agent"]||h.K["User-Agent"],[h.Ox.name]:h.Ox.value,...d&&{"x-machine-id":d},...c&&{"X-Machine-Session-Id":c},Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b,c,d){let f,g=d?.projectId||d?.providerSpecificData?.projectId||this.generateProjectId(),h=b.request?.contents?.map(a=>{let b=a.role;a.parts?.some(a=>a.functionResponse)&&(b="user");let c=a.parts?.filter(a=>(!a.thought||!!a.functionCall)&&(!a.thoughtSignature||!!a.functionCall||!!a.text));return b!==a.role||c?.length!==a.parts?.length?{...a,role:b,parts:c}:a}),i=b.request?.tools;if(i&&i.length>0){let a=i.flatMap(a=>(a.functionDeclarations||[]).map(a=>({...a,name:function(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}(a.name),parameters:a.parameters?(0,l.Yr)(structuredClone(a.parameters)):{type:"object",properties:{reason:{type:"string",description:"Brief explanation"}},required:["reason"]}})));i=a.length>0?[{functionDeclarations:a}]:[]}let{tools:j,toolConfig:k,...m}=b.request||{},n={...m.generationConfig||{}};n.maxOutputTokens>16384&&(n.maxOutputTokens=16384);let o={...m,generationConfig:n,...h&&{contents:h},...i&&{tools:i},sessionId:b.request?.sessionId||function(a){let b=r(a);if(!b)return null;let c=p;for(let a of Buffer.from(b,"utf8"))c=BigInt.asIntN(64,1099511628211n*(c=BigInt.asIntN(64,c^BigInt(a))));return c.toString()}(r(d?.email)||s(d,"email")||s(d,"accountId")||r(d?.connectionId)||null)||r(void 0)||function(){let a,b=0xffffffffffffffffn-0xffffffffffffffffn%0x7ce66c50e2840000n;do a=e().randomBytes(8).readBigUInt64BE();while(a>=b);return`-${(a%0x7ce66c50e2840000n).toString()}`}(),safetySettings:void 0,...i?.length>0&&{toolConfig:{functionCallingConfig:{mode:"VALIDATED"}}}};return{...b,project:g,model:a,userAgent:(f=r(d?.email)||s(d,"email")||"")&&!/@(?:gmail|googlemail)\.com$/i.test(f)?"jetski":"antigravity",requestType:"agent",requestId:`agent/${Date.now()}/${e().randomBytes(4).toString("hex")}`,request:o}}async refreshCredentials(a,b,c=null){if(!a.refreshToken)return null;try{let d=await (0,j.F)(h.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})},c);if(!d.ok)return await (0,k.aI)(d),null;let e=await d.json();return b?.info?.("TOKEN","Antigravity refreshed"),{accessToken:e.access_token,refreshToken:e.refresh_token||a.refreshToken,expiresIn:e.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Antigravity refresh error: ${a.message}`),null}}generateProjectId(){let a=["useful","bright","swift","calm","bold"][Math.floor(5*Math.random())],b=["fuze","wave","spark","flow","core"][Math.floor(5*Math.random())];return`${a}-${b}-${e().randomUUID().slice(0,5)}`}generateSessionId(){return e().randomUUID()+Date.now().toString()}parseRetryHeaders(a){if(!a?.get)return null;let b=a.get("retry-after");if(b){let a=parseInt(b,10);if(!isNaN(a)&&a>0)return 1e3*a;let c=new Date(b);if(!isNaN(c.getTime())){let a=c.getTime()-Date.now();return a>0?a:null}}let c=a.get("x-ratelimit-reset-after");if(c){let a=parseInt(c,10);if(!isNaN(a)&&a>0)return 1e3*a}let d=a.get("x-ratelimit-reset");if(d){let a=1e3*parseInt(d,10)-Date.now();return a>0?a:null}return null}parseRetryFromErrorMessage(a){if(!a||"string"!=typeof a)return null;let b=a.match(/reset(?:s)?(?: after| in)?\s*:?\s*(\d+h)?(\d+m)?(\d+(?:\.\d+)?s)?/i);if(!b||!b[1]&&!b[2]&&!b[3])return null;let c=0;return b[1]&&(c+=3600*parseInt(b[1])*1e3),b[2]&&(c+=60*parseInt(b[2])*1e3),b[3]&&(c+=Math.round(1e3*parseFloat(b[3]))),c>0?c:null}parseError(a,b){if(a.status===i.gx.RATE_LIMITED&&b)try{let a=JSON.parse(b),c=a?.error,d=Array.isArray(c?.details)?c.details:[],e=Date.now(),f=null;for(let a of d){let b=a?.metadata;if(b?.quotaResetTimeStamp){let a=Date.parse(b.quotaResetTimeStamp);if(!Number.isNaN(a)&&a>e){f=a;break}}let c=b?.quotaResetDelay||a?.retryDelay;if("string"==typeof c&&c.endsWith("s")){let a=parseFloat(c.slice(0,-1));if(Number.isFinite(a)&&a>0){let b=e+Math.round(1e3*a);(!f||b>f)&&(f=b)}}}if(f)return{status:429,message:c?.message||b,resetsAtMs:f}}catch{}return super.parseError(a,b)}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:f,proxyOptions:g=null}){let h=this.getFallbackCount(),l=null,p=0,q={},r={},s=!1,t=!1;for(let u=0;u<h;u++){let v=this.buildUrl(a,c,u),w=this.transformRequest(a,b,c,d);t&&w.request&&(w.enabledCreditTypes=["GOOGLE_ONE_AI"]),w=function(a){if(null==a||"object"!=typeof a)return a;try{let b=JSON.stringify(a),c=function(a){if(!a||0===m.length)return a;let b=a;for(let a of m){if(!a)continue;let c=function(a){let b=n.get(a);return b||(n.size>2e3&&n.clear(),b=RegExp(a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"gi"),n.set(a,b)),b}(a);b=b.replace(c,a=>a.length<=1?a:a[0]+"‍"+a.slice(1))}return b}(b);if(c===b)return a;return JSON.parse(c)}catch{return a}}(w);let x=w.request?.sessionId,y=function(a){let b,c={};for(let[d,e]of Object.entries(a||{})){let a=d.toLowerCase();if(!(a.startsWith("x-zevai-")||o.has(a))){if("authorization"===a){b=e;continue}c[d]=e}}return void 0!==b&&(c.Authorization=b),c}(this.buildHeaders(d,c,x));q[u]||(q[u]=0),r[u]||(r[u]=0);try{let a=await (0,j.F)(v,{method:"POST",headers:y,body:JSON.stringify(w),signal:e},g);if(a.status===i.gx.RATE_LIMITED||a.status===i.gx.SERVICE_UNAVAILABLE){let b=this.parseRetryHeaders(a.headers),c="";if(!b)try{let d=await a.clone().text(),e=JSON.parse(d);c=e?.error?.message||e?.message||"",b=this.parseRetryFromErrorMessage(c)}catch(a){}if(a.status===i.gx.RATE_LIMITED&&!s&&/quota[_ ]?exhausted|quota reached|individual quota|enable overages/i.test(c)){s=!0,t=!0,f?.debug?.("RETRY","429 quota exhausted → retrying once with GOOGLE_ONE_AI credits"),await (0,k.aI)(a),u--;continue}if(a.status===i.gx.RATE_LIMITED&&/quota[_ ]?exhausted|quota reached|individual quota|enable overages/i.test(c)&&(!b||b>1e4))return f?.debug?.("RETRY",`429 quota exhausted${b?` (resets in ${Math.ceil(b/36e5)}h)`:""} — skipping futile retries, moving to next account`),p=a.status,{response:a,url:v,headers:y,transformedBody:w};if(b&&b<=1e4&&r[u]<3){r[u]++,f?.debug?.("RETRY",`${a.status} with Retry-After: ${Math.ceil(b/1e3)}s, waiting... (${r[u]}/3)`),await (0,k.aI)(a),await new Promise(a=>setTimeout(a,b)),u--;continue}if(a.status===i.gx.RATE_LIMITED&&(!b||0===b)&&q[u]<3){q[u]++;let b=Math.min(1e3*2**q[u],1e4);f?.debug?.("RETRY",`429 auto retry ${q[u]}/3 after ${b/1e3}s`),await (0,k.aI)(a),await new Promise(a=>setTimeout(a,b)),u--;continue}if(f?.debug?.("RETRY",`${a.status}, Retry-After ${b?`too long (${Math.ceil(b/1e3)}s)`:"missing"}, trying fallback`),p=a.status,u+1<h){await (0,k.aI)(a);continue}}if(this.shouldRetry(a.status,u)){f?.debug?.("RETRY",`${a.status} on ${v}, trying fallback ${u+1}`),p=a.status,await (0,k.aI)(a);continue}return{response:a,url:v,headers:y,transformedBody:w}}catch(a){if(l=a,u+1<h){f?.debug?.("RETRY",`Error on ${v}, trying fallback ${u+1}`);continue}throw a}}throw l||Error(`All ${h} URLs failed with status ${p}`)}static cloakTools(a,b=null){let c=a.request?.tools;if(!c||0===c.length)return{cloakedBody:a,toolNameMap:null};let d="github-copilot"===b,e=new Map,f=[],g=new Set(u.map(a=>a.name));for(let a of c)if(a.functionDeclarations)for(let b of a.functionDeclarations){if(d&&h.J5.has(b.name)||d&&g.has(b.name))continue;if(h.J5.has(b.name)){f.push(b);continue}let a=`${b.name}${h.QH}`;e.set(a,b.name),f.push({...b,name:a})}let i=[],j=new Set;for(let a of[...f,...u])!a?.name||j.has(a.name)||(j.add(a.name),i.push(a));let k=a.request?.contents?.map(a=>{if(!a.parts)return a;let b=a.parts.map(a=>a.functionCall&&!h.J5.has(a.functionCall.name)?{...a,functionCall:{...a.functionCall,name:`${a.functionCall.name}${h.QH}`}}:a.functionResponse&&!h.J5.has(a.functionResponse.name)?{...a,functionResponse:{...a.functionResponse,name:`${a.functionResponse.name}${h.QH}`}}:a);return{...a,parts:b}});return{cloakedBody:{...a,request:{...a.request,tools:[{functionDeclarations:i}],contents:k||a.request.contents}},toolNameMap:e}}}let u=[{name:"browser_subagent",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"command_status",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"find_by_name",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"generate_image",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"grep_search",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"list_dir",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"list_resources",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"mcp_sequential-thinking_sequentialthinking",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"multi_replace_file_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"notify_user",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_resource",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_terminal",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"read_url_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"replace_file_content",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"run_command",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"search_web",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"send_command_input",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"task_boundary",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"view_content_chunk",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"view_file",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}},{name:"write_to_file",description:"This tool is currently unavailable.",parameters:{type:"OBJECT",properties:{},required:[]}}]},13324:(a,b,c)=>{"use strict";c.d(b,{KZ:()=>i,S6:()=>f,Yr:()=>m,f6:()=>j,fc:()=>e,kU:()=>g,pT:()=>h,w_:()=>k});let d=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","pattern","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],e=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function f(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if("text"===c.type)b.push({text:c.text});else if("image_url"===c.type&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if("image_url"===c.type&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if("input_audio"===c.type&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if("audio_url"===c.type&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}}return b}function g(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(""):""}function h(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return null}}function i(){return`agent-${crypto.randomUUID()}`}function j(){return crypto.randomUUID()+Date.now().toString()}function k(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function l(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function m(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=l(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=l(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,d),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},14372:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>y,ux:()=>v,kt:()=>w});var d=c(30395);let e={alloy:{id:"alloy",name:"Alloy"},ash:{id:"ash",name:"Ash"},ballad:{id:"ballad",name:"Ballad"},cedar:{id:"cedar",name:"Cedar"},coral:{id:"coral",name:"Coral"},echo:{id:"echo",name:"Echo"},fable:{id:"fable",name:"Fable"},marin:{id:"marin",name:"Marin"},nova:{id:"nova",name:"Nova"},onyx:{id:"onyx",name:"Onyx"},sage:{id:"sage",name:"Sage"},shimmer:{id:"shimmer",name:"Shimmer"},verse:{id:"verse",name:"Verse"}},f=(...a)=>a.map(a=>({...e[a],type:"tts"})),g=f("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),h=f("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),i=["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Autonoe","Enceladus","Iapetus","Umbriel","Algieba","Despina","Erinome","Algenib","Rasalgethi","Laomedeia","Achernar","Alnilam","Schedar","Gacrux","Pulcherrima","Achird","Zubenelgenubi","Vindemiatrix","Sadachbia","Sadaltager","Sulafat"].map(a=>({id:a,name:a,type:"tts"})),j={openai:{models:[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],voices:{"gpt-4o-mini-tts":h,"tts-1":g,"tts-1-hd":g},allVoices:h},openrouter:{models:[{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"}],voices:{"openai/gpt-4o-mini-tts":h,"openai/tts-1":g,"openai/tts-1-hd":g},allVoices:h},elevenlabs:{models:[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}]},"edge-tts":{defaults:[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},"local-device":{defaults:[{id:"default",name:"System Default Voice",type:"tts"}]},"google-tts":{defaults:[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}]},gemini:{models:[{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",type:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",type:"tts"}],voices:{"gemini-2.5-flash-preview-tts":i,"gemini-2.5-pro-preview-tts":i},allVoices:i}};var k=c(38929),l=c(37149),m=c(93818),n=c(80668),o=c(83287),p=c(9757),q=c(92853),r=c(80742),s=c(57472);let t="-review",u={"alims-intl":l.A.models,baidu:m.A.models,"kilo-gateway":o.A.models,poolside:r.A.models,tencent:s.A.models,cc:[{id:"claude-opus-4-8",name:"Claude Opus 4.8"},{id:"claude-opus-4-7",name:"Claude Opus 4.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],cx:[{id:"gpt-5.6",name:"GPT 5.6",upstreamModelId:"gpt-5.6-sol"},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna"},{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.6-image",name:"GPT 5.6 Image",type:"image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"]},{id:"gpt-5.5-image",name:"GPT 5.5 Image",type:"image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"]},{id:"gpt-5.4-image",name:"GPT 5.4 Image",type:"image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"]},{id:"gpt-5.3-image",name:"GPT 5.3 Image",type:"image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"]}].flatMap(a=>"llm"!==(a.type||"llm")||a.id.endsWith(t)?[a]:[a,{...a,id:`${a.id}${t}`,name:`${a.name} Review`,upstreamModelId:a.upstreamModelId||a.id,quotaFamily:"review"}]),gc:[{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"}],qw:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.6 Coder Model"}],if:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],ag:[{id:"gemini-3.6-flash-high",name:"Gemini 3.6 Flash (High)"},{id:"gemini-3.6-flash-medium",name:"Gemini 3.6 Flash (Medium)"},{id:"gemini-3.6-flash-low",name:"Gemini 3.6 Flash (Low)"},{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium)"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1}],acl:[{id:"openrouter_glm-5.2",name:"GLM-5.2"},{id:"zai_glm-5-turbo",name:"GLM-5-Turbo"},{id:"zai_auto",name:"DeepSeek-V4-Pro (Auto)"}],gh:[{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o mini"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4.7",name:"Claude Opus 4.7"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"},{id:"goldeneye-free-auto",name:"GoldenEye"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",type:"embedding"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",type:"embedding"}],kr:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"claude-sonnet-4.5-thinking",name:"Claude Sonnet 4.5 (Thinking)"},{id:"claude-haiku-4.5-thinking",name:"Claude Haiku 4.5 (Thinking)"},{id:"claude-sonnet-4.5-agentic",name:"Claude Sonnet 4.5 (Agentic)"},{id:"claude-haiku-4.5-agentic",name:"Claude Haiku 4.5 (Agentic)"},{id:"claude-sonnet-4.5-thinking-agentic",name:"Claude Sonnet 4.5 (Thinking + Agentic)"},{id:"claude-haiku-4.5-thinking-agentic",name:"Claude Haiku 4.5 (Thinking + Agentic)"}],qd:[{id:"auto",name:"Qoder Auto"},{id:"ultimate",name:"Qoder Ultimate"},{id:"performance",name:"Qoder Performance"},{id:"efficient",name:"Qoder Efficient"},{id:"lite",name:"Qoder Lite"},{id:"qmodel",name:"Qwen 3.6 Plus (Qoder)"},{id:"qmodel_latest",name:"Qoder Qwen 3.7 Max"},{id:"dmodel",name:"DeepSeek V4 Pro (Qoder)"},{id:"dfmodel",name:"DeepSeek V4 Flash (Qoder)"},{id:"gm51model",name:"GLM 5.1 (Qoder)"},{id:"kmodel",name:"Kimi K2.6 (Qoder)"},{id:"mmodel",name:"MiniMax M2.7 (Qoder)"}],cb:[{id:"default-model",name:"Default",maxInputTokens:176e3,maxOutputTokens:24e3},{id:"default-model-lite",name:"Default-Lite",maxInputTokens:176e3,maxOutputTokens:24e3},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6",maxInputTokens:176e3,maxOutputTokens:24e3},{id:"claude-opus-4.7-1m",name:"Claude Opus 4.7 1M",maxInputTokens:1e6,maxOutputTokens:24e3},{id:"claude-opus-4.6",name:"Claude Opus 4.6",maxInputTokens:176e3,maxOutputTokens:24e3},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5",maxInputTokens:176e3,maxOutputTokens:24e3},{id:"gpt-5.5",name:"GPT-5.5",maxInputTokens:1e6,maxOutputTokens:72e3},{id:"gpt-5.4",name:"GPT-5.4",maxInputTokens:272e3,maxOutputTokens:128e3},{id:"gpt-5.3-codex",name:"GPT-5.3-Codex",maxInputTokens:272e3,maxOutputTokens:128e3},{id:"gpt-5.1-codex",name:"GPT-5.1-Codex",maxInputTokens:272e3,maxOutputTokens:128e3},{id:"gemini-3.1-pro",name:"Gemini-3.1-Pro",maxInputTokens:4e5,maxOutputTokens:64e3},{id:"gemini-3.0-flash",name:"Gemini-3.0-Flash",maxInputTokens:4e5,maxOutputTokens:64e3},{id:"gemini-3.5-flash",name:"Gemini-3.5-Flash",maxInputTokens:1e6,maxOutputTokens:65536},{id:"gemini-2.5-flash",name:"Gemini-2.5-Flash",maxInputTokens:4e5,maxOutputTokens:64e3},{id:"gemini-3.1-flash-lite",name:"Gemini-3.1-flash-lite",maxInputTokens:2e5,maxOutputTokens:65536},{id:"gemini-2.5-pro",name:"Gemini-2.5-Pro",maxInputTokens:4e5,maxOutputTokens:64e3},{id:"deepseek-v3-0324",name:"DeepSeek-V3",maxInputTokens:128e3,maxOutputTokens:8192,strip:["image","audio"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",maxInputTokens:128e3,maxOutputTokens:8192,strip:["image","audio"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",maxInputTokens:128e3,maxOutputTokens:8192,strip:["image","audio"]},{id:"glm-5.0",name:"GLM-5.0",maxInputTokens:2e5,maxOutputTokens:48e3,strip:["image","audio"]},{id:"glm-5v-turbo",name:"GLM-5V-Turbo",maxInputTokens:2e5,maxOutputTokens:38e3},{id:"glm-4.6",name:"GLM-4.6",maxInputTokens:168e3,maxOutputTokens:32e3,strip:["image","audio"]},{id:"kimi-k2.6",name:"Kimi-K2.6",maxInputTokens:256e3,maxOutputTokens:32e3},{id:"kimi-k2.5",name:"Kimi-K2.5",maxInputTokens:164e3,maxOutputTokens:32e3}],"cb-cn":[{id:"kimi-k3",name:"Kimi-K3",maxInputTokens:1e6,maxOutputTokens:32768},{id:"deepseek-v3-2-volc",name:"DeepSeek-V3.2",maxInputTokens:96e3,maxOutputTokens:32e3,strip:["image","audio"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",maxInputTokens:1e6,maxOutputTokens:5e4,strip:["image","audio"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",maxInputTokens:1e6,maxOutputTokens:5e4,strip:["image","audio"]},{id:"glm-5.0",name:"GLM-5.0",maxInputTokens:2e5,maxOutputTokens:48e3,strip:["image","audio"]},{id:"glm-5.1",name:"GLM-5.1",maxInputTokens:2e5,maxOutputTokens:48e3,strip:["image","audio"]},{id:"glm-5.2",name:"GLM-5.2",maxInputTokens:1e6,maxOutputTokens:48e3,strip:["image","audio"]},{id:"kimi-k2.5",name:"Kimi-K2.5",maxInputTokens:164e3,maxOutputTokens:32e3},{id:"kimi-k2.6",name:"Kimi-K2.6",maxInputTokens:256e3,maxOutputTokens:32e3}],cu:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],kmc:[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],kc:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],"opencode-go":[{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus"},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"minimax-m2.7",name:"MiniMax M2.7",targetFormat:"claude"},{id:"minimax-m2.5",name:"MiniMax M2.5",targetFormat:"claude"}],oc:[],cl:[{id:"anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],clinepass:[{id:"cline-pass/glm-5.2",name:"GLM-5.2 (ClinePass)"},{id:"cline-pass/kimi-k2.7-code",name:"Kimi K2.7 Code (ClinePass)"},{id:"cline-pass/kimi-k2.6",name:"Kimi K2.6 (ClinePass)"},{id:"cline-pass/deepseek-v4-pro",name:"DeepSeek V4 Pro (ClinePass)"},{id:"cline-pass/deepseek-v4-flash",name:"DeepSeek V4 Flash (ClinePass)"},{id:"cline-pass/mimo-v2.5",name:"MiMo-V2.5 (ClinePass)"},{id:"cline-pass/mimo-v2.5-pro",name:"MiMo-V2.5-Pro (ClinePass)"},{id:"cline-pass/minimax-m3",name:"MiniMax M3 (ClinePass)"},{id:"cline-pass/qwen3.7-max",name:"Qwen3.7 Max (ClinePass)"},{id:"cline-pass/qwen3.7-plus",name:"Qwen3.7 Plus (ClinePass)"}],kimchi:[{id:"minimax-m3",name:"MiniMax-M3"},{id:"kimi-k2.7",name:"Kimi-K2.7"},{id:"kimi-k2.6",name:"Kimi-K2.6"},{id:"kimi-k2.5",name:"Kimi-K2.5"},{id:"nemotron-3-ultra-fp4",name:"Nemotron 3 Ultra FP4"},{id:"minimax-m2.7",name:"MiniMax-M2.7"},{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"}],gcli:[{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4.5-high",name:"Grok 4.5 (High)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-medium",name:"Grok 4.5 (Medium)",upstreamModelId:"grok-4.5"},{id:"grok-4.5-low",name:"Grok 4.5 (Low)",upstreamModelId:"grok-4.5"}],pa:[{id:"perplexity/sonar",name:"Perplexity Sonar"},{id:"openai/gpt-5.5",name:"GPT-5.5"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"openai/gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"anthropic/claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4-8",name:"Claude Opus 4.8"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro"},{id:"xai/grok-4.20-reasoning",name:"Grok 4.20 Reasoning"},{id:"perplexity/glm-5.2",name:"GLM 5.2"},{id:"perplexity/kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"nvidia/nemotron-3-super-120b-a12b",name:"Nemotron 3 Super 120B"}],openai:[{id:"gpt-5.6",name:"GPT-5.6",upstreamModelId:"gpt-5.6-sol"},{id:"gpt-5.6-sol",name:"GPT-5.6 Sol"},{id:"gpt-5.6-terra",name:"GPT-5.6 Terra"},{id:"gpt-5.6-luna",name:"GPT-5.6 Luna"},{id:"gpt-5.5",name:"GPT-5.5"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",type:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",type:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",type:"embedding"},{id:"tts-1",name:"TTS-1",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"whisper-1",name:"Whisper 1",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"gpt-image-1",name:"GPT Image 1",type:"image",params:["n","size","quality","response_format"]},{id:"dall-e-3",name:"DALL-E 3",type:"image",params:["size","quality","style","response_format"]},{id:"dall-e-2",name:"DALL-E 2",type:"image",params:["n","size","response_format"]}],anthropic:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],gemini:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",type:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",type:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",type:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",type:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",type:"image",params:[]},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",type:"image",params:[]},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",type:"image",params:[]},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",type:"stt",params:["language","prompt"]},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",type:"stt",params:["language","prompt"]},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",type:"stt",params:["language","prompt"]},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",type:"stt",params:["language","prompt"]}],openrouter:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",type:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",type:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",type:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",type:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",type:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",type:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",type:"embedding"},{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",type:"image",params:["size","quality","style","response_format"]},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",type:"image",params:["n","size","quality","response_format"]},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",type:"image",params:["n","size"]},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",type:"image",params:["n","size"]}],glm:[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],"glm-cn":[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],kimi:[{id:"kimi-k3",name:"Kimi K3"},{id:"k3",name:"Kimi K3 (Code)"},{id:"kimi-for-coding",name:"Kimi for Coding"},{id:"kimi-for-coding-highspeed",name:"Kimi for Coding Highspeed"},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code"},{id:"kimi-k2.7-code-highspeed",name:"Kimi K2.7 Code Highspeed"},{id:"kimi-k2.6",name:"Kimi K2.6"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],minimax:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",type:"image",params:["n","size","response_format"]}],blackbox:[{id:"blackboxai/blackbox-pro",name:"Blackbox Pro"},{id:"blackboxai/openai/gpt-5.5",name:"GPT-5.5"},{id:"blackboxai/openai/gpt-5.4",name:"GPT-5.4"},{id:"blackboxai/openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"moonshotai/kimi-k2.7-code-blackbox",name:"Kimi K2.7 Code"},{id:"moonshotai/kimi-k3-blackbox",name:"Kimi K3"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"blackboxai/x-ai/grok-code-fast-1:free",name:"Grok Code Fast 1 (Free)"},{id:"blackboxai/minimax/minimax-m3",name:"MiniMax M3"},{id:"blackboxai/minimax/minimax-m2.7",name:"MiniMax M2.7"},{id:"blackboxai/anthropic/claude-opus-4.7",name:"Claude Opus 4.7"},{id:"blackboxai/anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"blackboxai/anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"blackboxai/deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"blackboxai/nvidia/nemotron-3-ultra",name:"Nemotron 3 Ultra"}],"minimax-cn":[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}],alicode:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],"alicode-intl":[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],"volcengine-ark":[{id:"Doubao-Seed-2.0-Code",name:"Doubao-Seed-2.0-Code"},{id:"Doubao-Seed-2.0-pro",name:"Doubao-Seed-2.0-pro"},{id:"Doubao-Seed-2.0-lite",name:"Doubao-Seed-2.0-lite"},{id:"Doubao-Seed-Code",name:"Doubao-Seed-Code"},{id:"DeepSeek-V4-Flash",name:"DeepSeek-V4-Flash"},{id:"DeepSeek-V4-Pro",name:"DeepSeek-V4-Pro"},{id:"GLM-5.1",name:"GLM-5.1"},{id:"MiniMax-M2.7",name:"MiniMax-M2.7"},{id:"Kimi-K2.6",name:"Kimi-K2.6"}],"cloudflare-ai":[{id:"@cf/meta/llama-3.2-1b-instruct",name:"Llama 3.2 1B Instruct"},{id:"@cf/meta/llama-3.2-3b-instruct",name:"Llama 3.2 3B Instruct"},{id:"@cf/meta/llama-3.1-8b-instruct-fp8-fast",name:"Llama 3.1 8B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.1-8b-instruct-awq",name:"Llama 3.1 8B Instruct AWQ"},{id:"@cf/mistralai/mistral-small-3.1-24b-instruct",name:"Mistral Small 3.1 24B Instruct"},{id:"@cf/meta/llama-3.1-70b-instruct-fp8-fast",name:"Llama 3.1 70B Instruct FP8 Fast"},{id:"@cf/meta/llama-3.3-70b-instruct-fp8-fast",name:"Llama 3.3 70B Instruct FP8 Fast"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill Qwen 32B"},{id:"@cf/moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"@cf/moonshotai/kimi-k2.6",name:"Kimi K2.6"},{id:"@cf/zai-org/glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"@cf/qwen/qwq-32b",name:"QwQ 32B"},{id:"@cf/qwen/qwen2.5-coder-32b-instruct",name:"Qwen 2.5 Coder 32B Instruct"},{id:"@cf/black-forest-labs/flux-2-klein-9b",name:"FLUX.2 Klein 9B",type:"image",params:["size"]},{id:"@cf/black-forest-labs/flux-2-klein-4b",name:"FLUX.2 Klein 4B",type:"image",params:["size"]},{id:"@cf/black-forest-labs/flux-2-dev",name:"FLUX.2 Dev",type:"image",params:["size"]},{id:"@cf/leonardo/lucid-origin",name:"Lucid Origin",type:"image",params:["size"]},{id:"@cf/leonardo/phoenix-1.0",name:"Phoenix 1.0",type:"image",params:["size"]},{id:"@cf/black-forest-labs/flux-1-schnell",name:"FLUX.1 Schnell",type:"image",params:["size"]},{id:"@cf/bytedance/stable-diffusion-xl-lightning",name:"SDXL Lightning",type:"image",params:["size"]},{id:"@cf/lykon/dreamshaper-8-lcm",name:"DreamShaper 8 LCM",type:"image",params:["size"]},{id:"@cf/runwayml/stable-diffusion-v1-5-img2img",name:"Stable Diffusion v1.5 Img2Img",type:"image",params:["size"],capabilities:["edit"]},{id:"@cf/runwayml/stable-diffusion-v1-5-inpainting",name:"Stable Diffusion v1.5 Inpainting",type:"image",params:["size"],capabilities:["edit","mask"]},{id:"@cf/stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",type:"image",params:["size"]}],byteplus:[{id:"seed-2-0-pro-260328",name:"Seed 2.0 Pro"},{id:"seed-2-0-code-preview-260328",name:"Seed 2.0 Code Preview"},{id:"seed-2-0-mini-260215",name:"Seed 2.0 Mini"},{id:"seed-2-0-lite-260228",name:"Seed 2.0 Lite"},{id:"kimi-k2-thinking-251104",name:"Kimi K2 Thinking"},{id:"glm-4-7-251222",name:"GLM 4.7"},{id:"gpt-oss-120b-250805",name:"GPT-OSS-120B"}],deepseek:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],commandcode:[{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"MiniMaxAI/MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"Qwen/Qwen3.6-Max-Preview",name:"Qwen 3.6 Max Preview"},{id:"Qwen/Qwen3.6-Plus",name:"Qwen 3.6 Plus"},{id:"stepfun/Step-3.5-Flash",name:"Step 3.5 Flash"}],groq:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",type:"stt",params:["language","response_format","temperature","prompt"]},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",type:"stt",params:["language","response_format","temperature","prompt"]}],xai:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-2-image-1212",name:"Grok 2 Image",type:"image",params:["n","response_format"]},...k.A.models],mistral:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"},{id:"mistral-embed",name:"Mistral Embed",type:"embedding"}],perplexity:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],together:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",type:"embedding"},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",type:"embedding"}],fireworks:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"},{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",type:"embedding"}],mmf:[{id:"mimo-auto",name:"MiMo Auto"}],venice:[{id:"venice-uncensored-1-2",name:"Venice Uncensored 1.2"},{id:"zai-org-glm-5",name:"GLM-5"},{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-coder-480b-a35b-instruct-turbo",name:"Qwen3 Coder 480B A35B Turbo"},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",type:"embedding"},{id:"text-embedding-bge-m3",name:"BGE-M3 Embedding",type:"embedding"}],fl:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"zai-org/GLM-5.2",name:"GLM 5.2"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"moonshotai/Kimi-K2.7-Code",name:"Kimi K2.7 Code"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"}],cerebras:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}],cohere:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}],nvidia:[{id:"minimaxai/minimax-m3",name:"MiniMax M3"},{id:"z-ai/glm-5.2",name:"GLM 5.2"},{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",type:"embedding"},{id:"nvidia/parakeet-ctc-1.1b-asr",name:"Parakeet CTC 1.1B",type:"stt",params:["language"]}],nebius:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"},{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",type:"embedding"}],"voyage-ai":[{id:"voyage-3-large",name:"Voyage 3 Large",type:"embedding"},{id:"voyage-3.5",name:"Voyage 3.5",type:"embedding"},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",type:"embedding"},{id:"voyage-code-3",name:"Voyage Code 3",type:"embedding"},{id:"voyage-finance-2",name:"Voyage Finance 2",type:"embedding"},{id:"voyage-law-2",name:"Voyage Law 2",type:"embedding"},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",type:"embedding"}],siliconflow:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}],"xiaomi-mimo":[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-flash",name:"MiMo V2 Flash"}],"xiaomi-tokenplan":[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5-pro-claude",name:"MiMo V2.5 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.5-pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-tts",name:"MiMo V2 TTS"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design"}],hyperbolic:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}],ollama:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"}],vertex:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],"vertex-partner":[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}],"grok-web":[{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini (Thinking)"},{id:"grok-3-thinking",name:"Grok 3 Thinking"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-mini",name:"Grok 4 Mini (Thinking)"},{id:"grok-4-thinking",name:"Grok 4 Thinking"},{id:"grok-4-heavy",name:"Grok 4 Heavy (SuperGrok)"},{id:"grok-4.1-mini",name:"Grok 4.1 Mini (Thinking)"},{id:"grok-4.1-fast",name:"Grok 4.1 Fast"},{id:"grok-4.1-expert",name:"Grok 4.1 Expert"},{id:"grok-4.1-thinking",name:"Grok 4.1 Thinking"},{id:"grok-4.2",name:"Grok 4.2 (4.20 Beta)"}],"perplexity-web":[{id:"pplx-auto",name:"Perplexity Auto (Free)"},{id:"pplx-sonar",name:"Perplexity Sonar"},{id:"pplx-gpt",name:"GPT-5.4 (via Perplexity)"},{id:"pplx-gemini",name:"Gemini 3.1 Pro (via Perplexity)"},{id:"pplx-sonnet",name:"Claude Sonnet 4.6 (via Perplexity)"},{id:"pplx-opus",name:"Claude Opus 4.6 (via Perplexity)"},{id:"pplx-nemotron",name:"Nemotron 3 Super (via Perplexity)"}],...function(){let a={};for(let[b,c]of Object.entries(j))c.models&&(a[`${b}-tts-models`]=c.models),c.allVoices&&(a[`${b}-tts-voices`]=c.allVoices),c.defaults&&(a[b]=c.defaults);return a["openai-tts-voices"]=j.openai.allVoices,a["openrouter-tts-voices"]=j.openrouter.allVoices,a}(),nanobanana:[{id:"nanobanana-flash",name:"NanoBanana Flash",type:"image",params:["n","size"]},{id:"nanobanana-pro",name:"NanoBanana Pro",type:"image",params:["n","size"]}],sdwebui:[{id:"stable-diffusion-v1-5",name:"Stable Diffusion v1.5",type:"image",params:["n","size"]},{id:"sdxl-base-1.0",name:"SDXL Base 1.0",type:"image",params:["n","size"]}],comfyui:[{id:"flux-dev",name:"FLUX Dev",type:"image",params:["n","size"]},{id:"sdxl",name:"SDXL",type:"image",params:["n","size"]}],huggingface:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",type:"image",params:[]},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",type:"image",params:[]},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",type:"stt",params:["language"]},{id:"openai/whisper-small",name:"Whisper Small (HF)",type:"stt",params:["language"]}],agentrouter:[{id:"claude-opus-4-6",name:"Claude 4.6 Opus"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"},{id:"glm-5.1",name:"GLM 5.1"},{id:"deepseek-v3.2",name:"DeepSeek V3.2"}],aimlapi:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash"},{id:"meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",name:"Llama 3.1 70B"}],novita:[{id:"deepseek/deepseek-r1",name:"DeepSeek R1"},{id:"deepseek/deepseek-v3",name:"DeepSeek V3"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"qwen/qwen-2.5-72b-instruct",name:"Qwen 2.5 72B"}],modal:[{id:"auto",name:"Auto (User-hosted)"}],reka:[{id:"reka-flash-3",name:"Reka Flash 3"},{id:"reka-edge-2603",name:"Reka Edge 2603"}],nlpcloud:[{id:"chatdolphin",name:"ChatDolphin"},{id:"dolphin",name:"Dolphin"},{id:"finetuned-llama-3-70b",name:"Llama 3 70B (Finetuned)"}],bazaarlink:n.A.models,completions:[{id:"claude-opus-4",name:"Claude Opus 4"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"}],enally:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"claude-3-5-sonnet",name:"Claude 3.5 Sonnet"}],freetheai:[{id:"gpt-4o",name:"GPT-4o"},{id:"claude-3-5-sonnet",name:"Claude 3.5 Sonnet"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"deepseek-chat",name:"DeepSeek Chat"}],llm7:p.A.models,lepton:[{id:"llama3-1-405b",name:"Llama 3.1 405B"},{id:"llama3-1-70b",name:"Llama 3.1 70B"},{id:"llama3-1-8b",name:"Llama 3.1 8B"},{id:"mixtral-8x7b",name:"Mixtral 8x7B"}],kluster:[{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"},{id:"meta-llama/Llama-4-Scout-17B-16E-Instruct",name:"Llama 4 Scout"},{id:"Qwen/Qwen3-235B-A22B-Instruct",name:"Qwen3 235B"}],ai21:[{id:"jamba-large",name:"Jamba 1.5 Large"},{id:"jamba-mini",name:"Jamba 1.5 Mini"}],"inference-net":[{id:"meta-llama/llama-3.3-70b-instruct/fp-16",name:"Llama 3.3 70B"},{id:"deepseek/deepseek-v3-0324",name:"DeepSeek V3"},{id:"mistralai/mistral-nemo-12b-instruct/fp-16",name:"Mistral Nemo 12B"}],predibase:[{id:"llama-3-2-3b-instruct",name:"Llama 3.2 3B"},{id:"llama-3-1-8b-instruct",name:"Llama 3.1 8B"},{id:"qwen2-5-7b-instruct",name:"Qwen 2.5 7B"}],bytez:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"mistralai/Mistral-7B-Instruct-v0.3",name:"Mistral 7B v0.3"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"}],morph:q.A.models,longcat:[{id:"LongCat-Flash-Chat",name:"LongCat Flash Chat"},{id:"LongCat-Flash-Thinking",name:"LongCat Flash Thinking"},{id:"LongCat-Flash-Lite",name:"LongCat Flash Lite"}],puter:[{id:"gpt-5",name:"GPT-5"},{id:"claude-opus-4",name:"Claude Opus 4"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro"},{id:"grok-4",name:"Grok 4"},{id:"deepseek-chat",name:"DeepSeek V3"}],uncloseai:[{id:"auto",name:"Auto (Free)"},{id:"gpt-4o-mini",name:"GPT-4o Mini"}],scaleway:[{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"mistral-small-3.1-24b-instruct-2503",name:"Mistral Small 3.1"}],deepinfra:[{id:"meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"}],sambanova:[{id:"Meta-Llama-3.1-405B-Instruct",name:"Llama 3.1 405B"},{id:"Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B"},{id:"Meta-Llama-3.1-8B-Instruct",name:"Llama 3.1 8B"}],nscale:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"}],baseten:[{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"}],publicai:[{id:"auto",name:"Auto (Community)"}],"nous-research":[{id:"Hermes-4-405B",name:"Hermes 4 405B"},{id:"Hermes-4-70B",name:"Hermes 4 70B"}],glhf:[{id:"hf:meta-llama/Meta-Llama-3.1-405B-Instruct",name:"Llama 3.1 405B"},{id:"hf:meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B"},{id:"hf:Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"}],deepgram:[{id:"nova-3",name:"Nova 3",type:"stt",params:["language"]},{id:"nova-2",name:"Nova 2",type:"stt",params:["language"]},{id:"whisper-large",name:"Whisper Large",type:"stt",params:["language"]}],assemblyai:[{id:"universal-3-pro",name:"Universal 3 Pro",type:"stt",params:["language"]},{id:"universal-2",name:"Universal 2",type:"stt",params:["language"]}],"fal-ai":[{id:"fal-ai/flux/schnell",name:"FLUX Schnell",type:"image",params:["n","size"]},{id:"fal-ai/flux/dev",name:"FLUX Dev",type:"image",params:["n","size"]},{id:"fal-ai/flux-pro/v1.1",name:"FLUX Pro v1.1",type:"image",params:["n","size"]},{id:"fal-ai/flux-pro/v1.1-ultra",name:"FLUX Pro v1.1 Ultra",type:"image",params:["n","size"]},{id:"fal-ai/recraft-v3",name:"Recraft V3",type:"image",params:["n","size","style"]},{id:"fal-ai/ideogram/v2",name:"Ideogram V2",type:"image",params:["n","size","style"]},{id:"fal-ai/stable-diffusion-v35-large",name:"SD 3.5 Large",type:"image",params:["n","size"]}],"stability-ai":[{id:"stable-image-ultra",name:"Stable Image Ultra",type:"image",params:["size"]},{id:"stable-image-core",name:"Stable Image Core",type:"image",params:["size","style"]},{id:"sd3.5-large",name:"Stable Diffusion 3.5 Large",type:"image",params:["size"]},{id:"sd3.5-large-turbo",name:"Stable Diffusion 3.5 Large Turbo",type:"image",params:["size"]},{id:"sd3.5-medium",name:"Stable Diffusion 3.5 Medium",type:"image",params:["size"]}],"black-forest-labs":[{id:"flux-pro-1.1",name:"FLUX Pro 1.1",type:"image",params:["n","size"]},{id:"flux-pro-1.1-ultra",name:"FLUX Pro 1.1 Ultra",type:"image",params:["size"]},{id:"flux-pro",name:"FLUX Pro",type:"image",params:["n","size"]},{id:"flux-dev",name:"FLUX Dev",type:"image",params:["n","size"]},{id:"flux-kontext-pro",name:"FLUX Kontext Pro (Edit)",type:"image",params:["size"],capabilities:["edit"]},{id:"flux-kontext-max",name:"FLUX Kontext Max (Edit)",type:"image",params:["size"],capabilities:["edit"]}],recraft:[{id:"recraftv3",name:"Recraft V3",type:"image",params:["n","size","style"]},{id:"recraftv2",name:"Recraft V2",type:"image",params:["n","size","style"]}],runwayml:[{id:"gen4_image",name:"Gen-4 Image",type:"image",params:["size"]},{id:"gen4_image_turbo",name:"Gen-4 Image Turbo",type:"image",params:["size"]},{id:"gen4_turbo",name:"Gen-4 Turbo",type:"video",params:[]},{id:"gen3a_turbo",name:"Gen-3 Alpha Turbo",type:"video",params:[]}]};function v(a,b){let c=u[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.targetFormat||null}function w(a,b){let c=u[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(t)?b.slice(0,-t.length):b}let x={claude:"cc",codex:"cx","gemini-cli":"gc",qwen:"qw",iflow:"if",antigravity:"ag",github:"gh",kiro:"kr",cursor:"cu",kimi:"kimi","kimi-coding":"kimi",kilocode:"kc",cline:"cl",opencode:"oc",qoder:"qd",autoclaw:"acl",codebuddy:"cb","codebuddy-cn":"cb-cn",vertex:"vertex","vertex-partner":"vertex-partner","mimo-free":"mmf",venice:"venice",featherless:"fl",kimchi:"kimchi","grok-cli":"gcli",clinepass:"clinepass","perplexity-agent":"pa"},y=Object.fromEntries(Object.keys(d.xq).map(a=>[a,x[a]||a]))},15529:(a,b,c)=>{var d=c(45654);c(41702),a.exports=d.mgf=d.mgf||{},d.mgf.mgf1=d.mgf1},15783:(a,b,c)=>{},15822:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToClaudeRequest:()=>h,openaiToClaudeRequestForAntigravity:()=>k});var d=c(56294),e=c(42541),f=c(48991),g=c(58455);function h(a,b,c,d=null,e=null){let k=new Map,l={model:a,max_tokens:(0,g.M)(b),stream:c};void 0!==b.temperature&&(l.temperature=b.temperature),l.messages=[];let m=[];if(b.messages&&Array.isArray(b.messages)){let a;for(let a of b.messages)"system"===a.role&&m.push("string"==typeof a.content?a.content:j(a.content));let c=b.messages.filter(a=>"system"!==a.role),d=[],e=()=>{a&&d.length>0&&(l.messages.push({role:a,content:d}),d=[])};for(let b of c){let c="user"===b.role||"tool"===b.role?"user":"assistant",f=function(a,b=new Map){let c=[];if("tool"===a.role){let b=a.content,d=!0===a.is_error;"string"==typeof b&&b.startsWith("Tool result error (is_error=true):")&&(d=!0,b=b.replace(/^Tool result error \(is_error=true\):\n?/,"")),c.push({type:"tool_result",tool_use_id:a.tool_call_id,content:b,...d&&{is_error:!0}})}else if("user"===a.role){if("string"==typeof a.content)a.content&&c.push({type:"text",text:a.content});else if(Array.isArray(a.content)){for(let b of a.content)if("text"===b.type&&b.text)c.push({type:"text",text:b.text});else if("tool_result"===b.type)c.push({type:"tool_result",tool_use_id:b.tool_use_id,content:b.content,...b.is_error&&{is_error:b.is_error}});else if("image_url"===b.type){let a=b.image_url.url,d=a.match(/^data:([^;]+);base64,(.+)$/);d?c.push({type:"image",source:{type:"base64",media_type:d[1],data:d[2]}}):(a.startsWith("http://")||a.startsWith("https://"))&&c.push({type:"image",source:{type:"url",url:a}})}else if("image"===b.type&&b.source)c.push({type:"image",source:b.source});else if("input_audio"===b.type&&b.input_audio?.data){let a=String(b.input_audio.format||"wav").toLowerCase();c.push({type:"audio",source:{type:"base64",media_type:"mp3"===a?"audio/mpeg":`audio/${a}`,data:b.input_audio.data}})}}}else if("assistant"===a.role){if(Array.isArray(a.content)){for(let b of a.content)if("text"===b.type&&b.text)c.push({type:"text",text:b.text});else if("tool_use"===b.type)c.push({type:"tool_use",id:b.id,name:b.name,input:b.input});else if("thinking"===b.type){let{cache_control:a,...d}=b;c.push(d)}else if("redacted_thinking"===b.type){let{cache_control:a,...d}=b;c.push(d)}}else if(a.content){let b="string"==typeof a.content?a.content:j(a.content);b&&c.push({type:"text",text:b})}if("string"==typeof a.reasoning_content&&a.reasoning_content&&c.unshift({type:"thinking",thinking:a.reasoning_content}),a.tool_calls&&Array.isArray(a.tool_calls)){for(let b of a.tool_calls)if("function"===b.type){let a=""+b.function.name;c.push({type:"tool_use",id:b.id,name:a,input:function(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return a}}(b.function.arguments)})}}}return c}(b,k),g=f.some(a=>"tool_use"===a.type);if(f.some(a=>"tool_result"===a.type)){let b=f.filter(a=>"tool_result"===a.type),g=f.filter(a=>"tool_result"!==a.type);e(),b.length>0&&l.messages.push({role:"user",content:b}),g.length>0&&(a=c,d.push(...g));continue}a!==c&&(e(),a=c),d.push(...f),g&&e()}e();for(let a=l.messages.length-1;a>=0;a--){let b=l.messages[a];if("assistant"===b.role&&Array.isArray(b.content)&&b.content.length>0){let a=["text","tool_use","tool_result","image"];for(let c=b.content.length-1;c>=0;c--){let d=b.content[c];if(a.includes(d.type)){d.cache_control={type:"ephemeral"};break}}break}}}if(b.response_format){let a=b.response_format;if("json_schema"===a.type&&a.json_schema?.schema){let b=JSON.stringify(a.json_schema.schema,null,2);m.push(`You must respond with valid JSON that strictly follows this JSON schema:
220
220
  \`\`\`json
221
221
  ${b}
222
222
  \`\`\`
223
- Respond ONLY with the JSON object, no other text.`)}else"json_object"===a.type&&m.push("You must respond with valid JSON. Respond ONLY with a JSON object, no other text.")}let n=[];if((null===e||"claude"===e)&&n.push({type:"text",text:f.Co}),m.length>0&&n.push({type:"text",text:m.join("\n"),cache_control:{type:"ephemeral",ttl:"1h"}}),n.length>0&&(l.system=n),b.tools&&Array.isArray(b.tools)){for(let a of(l.tools=[],b.tools)){let b=a.type;if(b&&"function"!==b){l.tools.push(a);continue}let c="function"===b&&a.function?a.function:a,d=c.name,e=""+d;k.set(e,d),l.tools.push({name:e,description:c.description||"",input_schema:c.parameters||c.input_schema||{type:"object",properties:{},required:[]}})}l.tools.length>0&&(l.tools[l.tools.length-1].cache_control={type:"ephemeral",ttl:"1h"})}if(b.tool_choice&&(l.tool_choice=function(a){if(!a)return{type:"auto"};if("string"==typeof a)return"required"===a?{type:"any"}:"none"===a?{type:"none"}:{type:"auto"};if("object"==typeof a){if(a.function?.name)return{type:"tool",name:a.function.name};if(i.has(a.type))return a}return{type:"auto"}}(b.tool_choice)),b.thinking&&(l.thinking={type:b.thinking.type||"enabled",...b.thinking.budget_tokens&&{budget_tokens:b.thinking.budget_tokens},...b.thinking.max_tokens&&{max_tokens:b.thinking.max_tokens}}),b.reasoning_effort&&!l.thinking){let a={none:0,low:4096,medium:8192,high:16384,xhigh:32768}[b.reasoning_effort.toLowerCase()];0===a||a&&(l.thinking={type:"enabled",budget_tokens:a})}return k.size>0&&(l._toolNameMap=k),l}let i=new Set(["auto","any","tool","none"]);function j(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):""}function k(a,b,c){let d=h(a,b,c);return d.system&&Array.isArray(d.system)&&(d.system=d.system.filter(a=>!a.text||!a.text.includes("You are Claude Code")),0===d.system.length&&delete d.system),d.tools&&Array.isArray(d.tools)&&(d.tools=d.tools.map(a=>a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a)),d.messages&&Array.isArray(d.messages)&&(d.messages=d.messages.map(a=>{if(!a.content||!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type&&a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a);return{...a,content:b}})),d}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,h,null)},15873:(a,b,c)=>{var d=c(45654);c(63070),c(76632),c(36105),c(56416),c(20308),c(29984),c(10401),c(4554),c(33889),c(65737);var e=d.asn1,f=d.pki,g=a.exports=d.pkcs12=d.pkcs12||{},h={name:"ContentInfo",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.contentType",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:e.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"content"}]},i={name:"PFX",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.version",tagClass:e.Class.UNIVERSAL,type:e.Type.INTEGER,constructed:!1,capture:"version"},h,{name:"PFX.macData",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"mac",value:[{name:"PFX.macData.mac",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm.algorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"macAlgorithm"},{name:"PFX.macData.mac.digestAlgorithm.parameters",optional:!0,tagClass:e.Class.UNIVERSAL,captureAsn1:"macAlgorithmParameters"}]},{name:"PFX.macData.mac.digest",tagClass:e.Class.UNIVERSAL,type:e.Type.OCTETSTRING,constructed:!1,capture:"macDigest"}]},{name:"PFX.macData.macSalt",tagClass:e.Class.UNIVERSAL,type:e.Type.OCTETSTRING,constructed:!1,capture:"macSalt"},{name:"PFX.macData.iterations",tagClass:e.Class.UNIVERSAL,type:e.Type.INTEGER,constructed:!1,optional:!0,capture:"macIterations"}]}]},j={name:"SafeBag",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"SafeBag.bagId",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"bagId"},{name:"SafeBag.bagValue",tagClass:e.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"bagValue"},{name:"SafeBag.bagAttributes",tagClass:e.Class.UNIVERSAL,type:e.Type.SET,constructed:!0,optional:!0,capture:"bagAttributes"}]},k={name:"Attribute",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"Attribute.attrId",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"oid"},{name:"Attribute.attrValues",tagClass:e.Class.UNIVERSAL,type:e.Type.SET,constructed:!0,capture:"values"}]},l={name:"CertBag",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"CertBag.certId",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"certId"},{name:"CertBag.certValue",tagClass:e.Class.CONTEXT_SPECIFIC,constructed:!0,value:[{name:"CertBag.certValue[0]",tagClass:e.Class.UNIVERSAL,type:e.Class.OCTETSTRING,constructed:!1,capture:"cert"}]}]};function m(a,b,c,d){for(var e=[],f=0;f<a.length;f++)for(var g=0;g<a[f].safeBags.length;g++){var h=a[f].safeBags[g];if(void 0===d||h.type===d){if(null===b){e.push(h);continue}void 0!==h.attributes[b]&&h.attributes[b].indexOf(c)>=0&&e.push(h)}}return e}function n(a){if(a.composed||a.constructed){for(var b=d.util.createBuffer(),c=0;c<a.value.length;++c)b.putBytes(a.value[c].value);a.composed=a.constructed=!1,a.value=b.getBytes()}return a}g.pkcs12FromAsn1=function(a,b,c){"string"==typeof b?(c=b,b=!0):void 0===b&&(b=!0);var o={};if(!e.validate(a,i,o,[])){var p=Error("Cannot read PKCS#12 PFX. ASN.1 object is not an PKCS#12 PFX.");throw p.errors=p,p}var q={version:o.version.charCodeAt(0),safeContents:[],getBags:function(a){var b,c={};return"localKeyId"in a?b=a.localKeyId:"localKeyIdHex"in a&&(b=d.util.hexToBytes(a.localKeyIdHex)),void 0===b&&!("friendlyName"in a)&&"bagType"in a&&(c[a.bagType]=m(q.safeContents,null,null,a.bagType)),void 0!==b&&(c.localKeyId=m(q.safeContents,"localKeyId",b,a.bagType)),"friendlyName"in a&&(c.friendlyName=m(q.safeContents,"friendlyName",a.friendlyName,a.bagType)),c},getBagsByFriendlyName:function(a,b){return m(q.safeContents,"friendlyName",a,b)},getBagsByLocalKeyId:function(a,b){return m(q.safeContents,"localKeyId",a,b)}};if(3!==o.version.charCodeAt(0)){var p=Error("PKCS#12 PFX of version other than 3 not supported.");throw p.version=o.version.charCodeAt(0),p}if(e.derToOid(o.contentType)!==f.oids.data){var p=Error("Only PKCS#12 PFX in password integrity mode supported.");throw p.oid=e.derToOid(o.contentType),p}var r=o.content.value[0];if(r.tagClass!==e.Class.UNIVERSAL||r.type!==e.Type.OCTETSTRING)throw Error("PKCS#12 authSafe content data is not an OCTET STRING.");if(r=n(r),o.mac){var s=null,t=0,u=e.derToOid(o.macAlgorithm);switch(u){case f.oids.sha1:s=d.md.sha1.create(),t=20;break;case f.oids.sha256:s=d.md.sha256.create(),t=32;break;case f.oids.sha384:s=d.md.sha384.create(),t=48;break;case f.oids.sha512:s=d.md.sha512.create(),t=64;break;case f.oids.md5:s=d.md.md5.create(),t=16}if(null===s)throw Error("PKCS#12 uses unsupported MAC algorithm: "+u);var v=new d.util.ByteBuffer(o.macSalt),w="macIterations"in o?parseInt(d.util.bytesToHex(o.macIterations),16):1,x=g.generateKey(c,v,3,w,t,s),y=d.hmac.create();if(y.start(s,x),y.update(r.value),y.getMac().getBytes()!==o.macDigest)throw Error("PKCS#12 MAC could not be verified. Invalid password?")}else if(Array.isArray(a.value)&&a.value.length>2)throw Error("Invalid PKCS#12. macData field present but MAC was not validated.");return function(a,b,c,g){if((b=e.fromDer(b,c)).tagClass!==e.Class.UNIVERSAL||b.type!==e.Type.SEQUENCE||!0!==b.constructed)throw Error("PKCS#12 AuthenticatedSafe expected to be a SEQUENCE OF ContentInfo");for(var i=0;i<b.value.length;i++){var m=b.value[i],o={},p=[];if(!e.validate(m,h,o,p)){var q=Error("Cannot read ContentInfo.");throw q.errors=p,q}var r={encrypted:!1},s=null,t=o.content.value[0];switch(e.derToOid(o.contentType)){case f.oids.data:if(t.tagClass!==e.Class.UNIVERSAL||t.type!==e.Type.OCTETSTRING)throw Error("PKCS#12 SafeContents Data is not an OCTET STRING.");s=n(t).value;break;case f.oids.encryptedData:s=function(a,b){var c={},g=[];if(!e.validate(a,d.pkcs7.asn1.encryptedDataValidator,c,g)){var h=Error("Cannot read EncryptedContentInfo.");throw h.errors=g,h}var i=e.derToOid(c.contentType);if(i!==f.oids.data){var h=Error("PKCS#12 EncryptedContentInfo ContentType is not Data.");throw h.oid=i,h}i=e.derToOid(c.encAlgorithm);var j=f.pbe.getCipher(i,c.encParameter,b),k=n(c.encryptedContentAsn1),l=d.util.createBuffer(k.value);if(j.update(l),!j.finish())throw Error("Failed to decrypt PKCS#12 SafeContents.");return j.output.getBytes()}(t,g),r.encrypted=!0;break;default:var q=Error("Unsupported PKCS#12 contentType.");throw q.contentType=e.derToOid(o.contentType),q}r.safeBags=function(a,b,c){if(!b&&0===a.length)return[];if((a=e.fromDer(a,b)).tagClass!==e.Class.UNIVERSAL||a.type!==e.Type.SEQUENCE||!0!==a.constructed)throw Error("PKCS#12 SafeContents expected to be a SEQUENCE OF SafeBag.");for(var d=[],g=0;g<a.value.length;g++){var h,i,m=a.value[g],n={},o=[];if(!e.validate(m,j,n,o)){var p=Error("Cannot read SafeBag.");throw p.errors=o,p}var q={type:e.derToOid(n.bagId),attributes:function(a){var b={};if(void 0!==a)for(var c=0;c<a.length;++c){var d={},g=[];if(!e.validate(a[c],k,d,g)){var h=Error("Cannot read PKCS#12 BagAttribute.");throw h.errors=g,h}var i=e.derToOid(d.oid);if(void 0!==f.oids[i]){b[f.oids[i]]=[];for(var j=0;j<d.values.length;++j)b[f.oids[i]].push(d.values[j].value)}}return b}(n.bagAttributes)};d.push(q);var r=n.bagValue.value[0];switch(q.type){case f.oids.pkcs8ShroudedKeyBag:if(null===(r=f.decryptPrivateKeyInfo(r,c)))throw Error("Unable to decrypt PKCS#8 ShroudedKeyBag, wrong password?");case f.oids.keyBag:try{q.key=f.privateKeyFromAsn1(r)}catch(a){q.key=null,q.asn1=r}continue;case f.oids.certBag:h=l,i=function(){if(e.derToOid(n.certId)!==f.oids.x509Certificate){var a=Error("Unsupported certificate type, only X.509 supported.");throw a.oid=e.derToOid(n.certId),a}var c=e.fromDer(n.cert,b);try{q.cert=f.certificateFromAsn1(c,!0)}catch(a){q.cert=null,q.asn1=c}};break;default:var p=Error("Unsupported PKCS#12 SafeBag type.");throw p.oid=q.type,p}if(void 0!==h&&!e.validate(r,h,n,o)){var p=Error("Cannot read PKCS#12 "+h.name);throw p.errors=o,p}i()}return d}(s,c,g),a.safeContents.push(r)}}(q,r.value,b,c),q},g.toPkcs12Asn1=function(a,b,c,h){(h=h||{}).saltSize=h.saltSize||8,h.count=h.count||2048,h.algorithm=h.algorithm||h.encAlgorithm||"aes128","useMac"in h||(h.useMac=!0),"localKeyId"in h||(h.localKeyId=null),"generateLocalKeyId"in h||(h.generateLocalKeyId=!0);var i,j,k=h.localKeyId;if(null!==k)k=d.util.hexToBytes(k);else if(h.generateLocalKeyId)if(b){var l=d.util.isArray(b)?b[0]:b;"string"==typeof l&&(l=f.certificateFromPem(l));var m=d.md.sha1.create();m.update(e.toDer(f.certificateToAsn1(l)).getBytes()),k=m.digest().getBytes()}else k=d.random.getBytes(20);var n=[];null!==k&&n.push(e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.localKeyId).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SET,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,k)])])),"friendlyName"in h&&n.push(e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.friendlyName).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SET,!0,[e.create(e.Class.UNIVERSAL,e.Type.BMPSTRING,!1,h.friendlyName)])])),n.length>0&&(i=e.create(e.Class.UNIVERSAL,e.Type.SET,!0,n));var o=[],p=[];null!==b&&(p=d.util.isArray(b)?b:[b]);for(var q=[],r=0;r<p.length;++r){"string"==typeof(b=p[r])&&(b=f.certificateFromPem(b));var s=0===r?i:void 0,t=f.certificateToAsn1(b),u=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.certBag).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.x509Certificate).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,e.toDer(t).getBytes())])])]),s]);q.push(u)}if(q.length>0){var v=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,q),w=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.data).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,e.toDer(v).getBytes())])]);o.push(w)}var x=null;if(null!==a){var y=f.wrapRsaPrivateKey(f.privateKeyToAsn1(a));x=null===c?e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.keyBag).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[y]),i]):e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.pkcs8ShroudedKeyBag).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[f.encryptPrivateKeyInfo(y,c,h)]),i]);var z=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[x]),A=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.data).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,e.toDer(z).getBytes())])]);o.push(A)}var B=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,o);if(h.useMac){var m=d.md.sha1.create(),C=new d.util.ByteBuffer(d.random.getBytes(h.saltSize)),D=h.count,a=g.generateKey(c,C,3,D,20),E=d.hmac.create();E.start(m,a),E.update(e.toDer(B).getBytes());var F=E.getMac();j=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.sha1).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.NULL,!1,"")]),e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,F.getBytes())]),e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,C.getBytes()),e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(D).getBytes())])}return e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(3).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.data).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,e.toDer(B).getBytes())])]),j])},g.generateKey=d.pbe.generatePkcs12Key},16537:(a,b,c)=>{"use strict";let d=c(34589),{forgivingBase64:e,collectASequenceOfCodePoints:f,collectASequenceOfCodePointsFast:g,isomorphicDecode:h,removeASCIIWhitespace:i,removeChars:j}=c(70745),k=new TextEncoder,l=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,m=/[\u000A\u000D\u0009\u0020]/u,n=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function o(a,b=!1){if(!b)return a.href;let c=a.href,d=a.hash.length,e=0===d?c:c.substring(0,c.length-d);return!d&&c.endsWith("#")?e.slice(0,-1):e}function p(a){return function(a){let b=a.length,c=new Uint8Array(b),d=0,e=0;for(;e<b;){let b=a[e];37!==b?c[d++]=b:37!==b||q(a[e+1])&&q(a[e+2])?(c[d++]=r(a[e+1])<<4|r(a[e+2]),e+=2):c[d++]=37,++e}return b===d?c:c.subarray(0,d)}(k.encode(a))}function q(a){return a>=48&&a<=57||a>=65&&a<=70||a>=97&&a<=102}function r(a){return a>=48&&a<=57?a-48:(223&a)-55}function s(a){a=v(a,!0,!0);let b={position:0},c=g("/",a,b);if(0===c.length||!l.test(c)||b.position>=a.length)return"failure";b.position++;let d=g(";",a,b);if(0===(d=v(d,!1,!0)).length||!l.test(d))return"failure";let e=c.toLowerCase(),h=d.toLowerCase(),i={type:e,subtype:h,parameters:new Map,essence:`${e}/${h}`};for(;b.position<a.length;){b.position++,f(a=>m.test(a),a,b);let c=f(a=>";"!==a&&"="!==a,a,b);if(c=c.toLowerCase(),b.position<a.length){if(";"===a[b.position])continue;b.position++}if(b.position>=a.length)break;let d=null;if('"'===a[b.position])d=t(a,b,!0),g(";",a,b);else if(0===(d=v(d=g(";",a,b),!1,!0)).length)continue;0!==c.length&&l.test(c)&&(0===d.length||n.test(d))&&!i.parameters.has(c)&&i.parameters.set(c,d)}return i}function t(a,b,c=!1){let e=b.position,g="";for(d('"'===a[b.position]),b.position++;g+=f(a=>'"'!==a&&"\\"!==a,a,b),!(b.position>=a.length);){let c=a[b.position];if(b.position++,"\\"===c){if(b.position>=a.length){g+="\\";break}g+=a[b.position],b.position++}else{d('"'===c);break}}return c?g:a.slice(e,b.position)}function u(a){return 13===a||10===a||9===a||32===a}function v(a,b=!0,c=!0){return j(a,b,c,u)}a.exports={dataURLProcessor:function(a){d("data:"===a.protocol);let b=o(a,!0);b=b.slice(5);let c={position:0},f=g(",",b,c),j=f.length;if(f=i(f,!0,!0),c.position>=b.length)return"failure";c.position++;let k=p(b.slice(j+1));if(/;(?:\u0020*)base64$/ui.test(f)){if("failure"===(k=e(h(k))))return"failure";f=(f=(f=f.slice(0,-6)).replace(/(\u0020+)$/u,"")).slice(0,-1)}f.startsWith(";")&&(f="text/plain"+f);let l=s(f);return"failure"===l&&(l=s("text/plain;charset=US-ASCII")),{mimeType:l,body:k}},URLSerializer:o,stringPercentDecode:p,parseMIMEType:s,collectAnHTTPQuotedString:t,serializeAMimeType:function(a){d("failure"!==a);let{parameters:b,essence:c}=a,e=c;for(let[a,c]of b.entries())e+=";",e+=a,e+="=",l.test(c)||(c='"'+(c=c.replace(/[\\"]/ug,"\\$&"))+'"'),e+=c;return e},removeHTTPWhitespace:v,minimizeSupportedMimeType:function(a){switch(a.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return a.subtype.endsWith("+json")?"application/json":a.subtype.endsWith("+xml")?"application/xml":""},HTTP_TOKEN_CODEPOINTS:l}},16712:(a,b,c)=>{"use strict";let d=c(34589),{AsyncResource:e}=c(16698),{Readable:f}=c(1712),{InvalidArgumentError:g,RequestAbortedError:h}=c(61448),i=c(84285);function j(){}class k extends e{constructor(a,b){if(!a||"object"!=typeof a)throw new g("invalid opts");const{signal:c,method:d,opaque:e,body:f,onInfo:k,responseHeaders:l,highWaterMark:m}=a;try{if("function"!=typeof b)throw new g("invalid callback");if(null!=m&&(!Number.isFinite(m)||m<0))throw new g("invalid highWaterMark");if(c&&"function"!=typeof c.on&&"function"!=typeof c.addEventListener)throw new g("signal must be an EventEmitter or EventTarget");if("CONNECT"===d)throw new g("invalid method");if(k&&"function"!=typeof k)throw new g("invalid onInfo callback");super("UNDICI_REQUEST")}catch(a){throw i.isStream(f)&&i.destroy(f.on("error",j),a),a}this.method=d,this.responseHeaders=l||null,this.opaque=e||null,this.callback=b,this.res=null,this.abort=null,this.body=f,this.trailers={},this.context=null,this.controller=null,this.onInfo=k||null,this.highWaterMark=m,this.reason=null,this.removeAbortListener=null,c?.aborted?this.reason=c.reason??new h:c&&(this.removeAbortListener=i.addAbortListener(c,()=>{if(this.reason=c.reason??new h,this.res){let a=this.res;this.res=null,i.destroy(a.on("error",j),this.reason)}else this.abort&&this.abort(this.reason)}))}onRequestStart(a,b){this.reason?a.abort(this.reason):(d(this.callback),this.controller=a,this.abort=b=>a.abort(b),this.context=b)}onResponseStart(a,b,c,d){let{callback:e,opaque:g,context:h,responseHeaders:k,highWaterMark:l}=this,m=a?.rawHeaders,n="raw"===k?i.parseRawHeaders(m):c;if(b<200){this.onInfo&&this.onInfo({statusCode:b,headers:n});return}let o=c?.["content-type"],p=c?.["content-length"],q=new f({resume:()=>a.resume(),abort:b=>a.abort(b),contentType:o,contentLength:"HEAD"!==this.method&&p?Number(p):null,highWaterMark:l});if(this.removeAbortListener&&(q.on("close",this.removeAbortListener),this.removeAbortListener=null),this.callback=null,this.res=q,null!==e)try{this.runInAsyncScope(e,null,null,{statusCode:b,statusText:d,headers:n,trailers:this.trailers,opaque:g,body:q,context:h})}catch(a){this.res=null,i.destroy(q.on("error",j),a),queueMicrotask(()=>{throw a})}}onResponseData(a,b){this.res&&!1===this.res.push(b)&&a.pause()}onResponseEnd(a,b){if(b&&"object"==typeof b)for(let a of Object.keys(b))"__proto__"===a?Object.defineProperty(this.trailers,a,{value:b[a],enumerable:!0,configurable:!0,writable:!0}):this.trailers[a]=b[a];this.res?.push(null)}onResponseError(a,b){let{res:c,callback:d,body:e,opaque:f}=this;d&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(d,null,b,{opaque:f})})),c&&(this.res=null,queueMicrotask(()=>{i.destroy(c.on("error",j),b)})),e&&(this.body=null,i.isStream(e)&&(e.on("error",j),i.destroy(e,b))),this.removeAbortListener&&(this.removeAbortListener(),this.removeAbortListener=null)}}a.exports=function a(b,c){if(void 0===c)return new Promise((c,d)=>{a.call(this,b,(a,b)=>a?d(a):c(b))});try{let a=new k(b,c);this.dispatch(b,a)}catch(d){if("function"!=typeof c)throw d;let a=b?.opaque;queueMicrotask(()=>c(d,{opaque:a}))}},a.exports.RequestHandler=k},17371:(a,b,c)=>{"use strict";c.d(b,{q:()=>j});var d=c(55511),e=c(69384),f=c(30395),g=c(46956),h=c(73952),i=c(11484);class j extends e.Hv{constructor(){super("autoclaw",f.xq.autoclaw)}buildUrl(){return`${h.Cw}/chat/completions`}async execute({model:a,body:b,stream:c,credentials:e,signal:f,log:i,proxyOptions:j=null}){let k,l=this.buildUrl();if(!e?.accessToken)return{response:new Response(JSON.stringify({error:{message:"autoclaw credential is missing accessToken; reconnect the account"}}),{status:401,headers:{"Content-Type":"application/json"}}),url:l,headers:{},transformedBody:b};let m=String(a||"").replace(/^autoclaw\//,""),n=String(e.accessToken).replace(/^Bearer\s+/i,""),o=String(Math.floor(Date.now()/1e3)),p={"Content-Type":"application/json","X-Authorization":n,"X-Request-Id":(0,d.randomUUID)(),"X-Request-Model":m,"X-Auth-Appid":h.df,"X-Auth-Timestamp":o,"X-Auth-Sign":(0,h.$O)(o),"X-Product":"autoclaw","X-Version":h._V,"X-Tm":"web","X-Trace-Id":(0,d.randomUUID)(),Accept:"text/event-stream"},q={model:"x",messages:Array.isArray(b?.messages)?b.messages:[],stream:!1!==c,temperature:"number"==typeof b?.temperature?b.temperature:.7};Array.isArray(b?.tools)&&(q.tools=b.tools),b?.tool_choice!==void 0&&(q.tool_choice=b.tool_choice),"number"==typeof b?.max_tokens&&(q.max_tokens=b.max_tokens);try{k=await (0,g.F)(l,{method:"POST",headers:p,body:JSON.stringify(q),signal:f},j)}catch(a){throw a}return{response:k,url:l,headers:p,transformedBody:q}}async refreshCredentials(a,b,c=null){if(!a?.refreshToken)return null;try{let d=await (0,g.F)(h.VR,{method:"POST",headers:(0,h.p8)({authorization:String(a.accessToken||"").replace(/^Bearer\s+/i,"")}),body:JSON.stringify({refresh_token:a.refreshToken})},c);if(!d.ok)return await (0,i.aI)(d),null;let e=await d.json(),f=e?.data||e,j=f?.access_token||f?.accessToken;if(!j)return null;return b?.info?.("TOKEN","autoclaw refreshed"),{accessToken:j,refreshToken:f?.refresh_token||f?.refreshToken||a.refreshToken,expiresIn:86400}}catch(a){return b?.error?.("TOKEN",`autoclaw refresh error: ${a.message}`),null}}}},18686:(a,b,c)=>{"use strict";c.r(b),c.d(b,{convertCursorToOpenAI:()=>f});var d=c(56294),e=c(42541);function f(a,b){return a?("chat.completion.chunk"===a.object&&a.choices||"chat.completion"===a.object&&a.choices,a):null}(0,d.kz)(e.h.CURSOR,e.h.OPENAI,null,f)},18922:(a,b,c)=>{"use strict";c.d(b,{cj:()=>n});var d=c(24081),e=c(50743);let f=null,g=0;async function h(){if(f&&Date.now()-g<5e3)return f;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,45874)),b=await a(),d="false"!==process.env.OBSERVABILITY_ENABLED;f={enabled:"boolean"==typeof b.enableObservability?b.enableObservability:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{f={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return g=Date.now(),f}let i=[],j=null,k=!1,l=!1;async function m(){if(k)return!1;if(0===i.length)return!0;k=!0;let a=null,b=[],c=!1;try{a=await h(),b=i.splice(0,Math.max(1,a.batchSize));let f=await (0,d.cK)();f.transaction(()=>{for(let a of b)f.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,e.s)(a)]);let c=f.get("SELECT COUNT(*) as c FROM requestDetails");c&&c.c>a.maxRecords&&f.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[c.c-a.maxRecords])}),c=!0}catch(c){if(b.length>0){i=[...b,...i];let c=Math.min(1e3,Math.max(100,4*(a?.batchSize||20)));i.length>c&&(i.splice(0,i.length-c),l||(l=!0,console.warn(`[requestDetailsRepo] Buffer limit reached (${c}); dropping oldest observability records`)))}console.error("[requestDetailsRepo] Batch write failed:",c)}finally{k=!1,0===i.length?l=!1:j||(j=setTimeout(()=>{j=null,m().catch(()=>{})},c?0:Math.max(250,Math.min(a?.flushIntervalMs||5e3,5e3))),j.unref?.())}return c}async function n(){for(j&&(clearTimeout(j),j=null);k;)await new Promise(a=>setTimeout(a,10));for(;i.length>0;){if(!await m())throw j&&(clearTimeout(j),j=null),Error("Failed to flush request details to the database");for(;k;)await new Promise(a=>setTimeout(a,10))}}},19071:(a,b,c)=>{"use strict";let{kConnected:d,kPending:e,kRunning:f,kSize:g,kFree:h,kQueued:i}=c(49176);class j{constructor(a){this.connected=a[d],this.pending=a[e],this.running=a[f],this.size=a[g]}}class k{constructor(a){this.connected=a[d],this.free=a[h],this.pending=a[e],this.queued=a[i],this.running=a[f],this.size=a[g]}}a.exports={ClientStats:j,PoolStats:k}},19396:(a,b,c)=>{var d=c(45654);c(33889),d.cipher=d.cipher||{};var e=a.exports=d.cipher.modes=d.cipher.modes||{};function f(a,b){if("string"==typeof a&&(a=d.util.createBuffer(a)),d.util.isArray(a)&&a.length>4){var c=a;a=d.util.createBuffer();for(var e=0;e<c.length;++e)a.putByte(c[e])}if(a.length()<b)throw Error("Invalid IV length; got "+a.length()+" bytes and expected "+b+" bytes.");if(!d.util.isArray(a)){for(var f=[],g=b/4,e=0;e<g;++e)f.push(a.getInt32());a=f}return a}function g(a){a[a.length-1]=a[a.length-1]+1|0}function h(a){return[a/0x100000000|0,0|a]}e.ecb=function(a){a=a||{},this.name="ECB",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=Array(this._ints),this._outBlock=Array(this._ints)},e.ecb.prototype.start=function(a){},e.ecb.prototype.encrypt=function(a,b,c){if(a.length()<this.blockSize&&!(c&&a.length()>0))return!0;for(var d=0;d<this._ints;++d)this._inBlock[d]=a.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var d=0;d<this._ints;++d)b.putInt32(this._outBlock[d])},e.ecb.prototype.decrypt=function(a,b,c){if(a.length()<this.blockSize&&!(c&&a.length()>0))return!0;for(var d=0;d<this._ints;++d)this._inBlock[d]=a.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var d=0;d<this._ints;++d)b.putInt32(this._outBlock[d])},e.ecb.prototype.pad=function(a,b){var c=a.length()===this.blockSize?this.blockSize:this.blockSize-a.length();return a.fillWithByte(c,c),!0},e.ecb.prototype.unpad=function(a,b){if(b.overflow>0)return!1;var c=a.length(),d=a.at(c-1);return!(d>this.blockSize<<2)&&(a.truncate(d),!0)},e.cbc=function(a){a=a||{},this.name="CBC",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=Array(this._ints),this._outBlock=Array(this._ints)},e.cbc.prototype.start=function(a){if(null===a.iv){if(!this._prev)throw Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in a)this._iv=f(a.iv,this.blockSize),this._prev=this._iv.slice(0);else throw Error("Invalid IV parameter.")},e.cbc.prototype.encrypt=function(a,b,c){if(a.length()<this.blockSize&&!(c&&a.length()>0))return!0;for(var d=0;d<this._ints;++d)this._inBlock[d]=this._prev[d]^a.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var d=0;d<this._ints;++d)b.putInt32(this._outBlock[d]);this._prev=this._outBlock},e.cbc.prototype.decrypt=function(a,b,c){if(a.length()<this.blockSize&&!(c&&a.length()>0))return!0;for(var d=0;d<this._ints;++d)this._inBlock[d]=a.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var d=0;d<this._ints;++d)b.putInt32(this._prev[d]^this._outBlock[d]);this._prev=this._inBlock.slice(0)},e.cbc.prototype.pad=function(a,b){var c=a.length()===this.blockSize?this.blockSize:this.blockSize-a.length();return a.fillWithByte(c,c),!0},e.cbc.prototype.unpad=function(a,b){if(b.overflow>0)return!1;var c=a.length(),d=a.at(c-1);return!(d>this.blockSize<<2)&&(a.truncate(d),!0)},e.cfb=function(a){a=a||{},this.name="CFB",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=Array(this._ints),this._partialBlock=Array(this._ints),this._partialOutput=d.util.createBuffer(),this._partialBytes=0},e.cfb.prototype.start=function(a){if(!("iv"in a))throw Error("Invalid IV parameter.");this._iv=f(a.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},e.cfb.prototype.encrypt=function(a,b,c){var d=a.length();if(0===d)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&d>=this.blockSize){for(var e=0;e<this._ints;++e)this._inBlock[e]=a.getInt32()^this._outBlock[e],b.putInt32(this._inBlock[e]);return}var f=(this.blockSize-d)%this.blockSize;f>0&&(f=this.blockSize-f),this._partialOutput.clear();for(var e=0;e<this._ints;++e)this._partialBlock[e]=a.getInt32()^this._outBlock[e],this._partialOutput.putInt32(this._partialBlock[e]);if(f>0)a.read-=this.blockSize;else for(var e=0;e<this._ints;++e)this._inBlock[e]=this._partialBlock[e];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),f>0&&!c)return b.putBytes(this._partialOutput.getBytes(f-this._partialBytes)),this._partialBytes=f,!0;b.putBytes(this._partialOutput.getBytes(d-this._partialBytes)),this._partialBytes=0},e.cfb.prototype.decrypt=function(a,b,c){var d=a.length();if(0===d)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&d>=this.blockSize){for(var e=0;e<this._ints;++e)this._inBlock[e]=a.getInt32(),b.putInt32(this._inBlock[e]^this._outBlock[e]);return}var f=(this.blockSize-d)%this.blockSize;f>0&&(f=this.blockSize-f),this._partialOutput.clear();for(var e=0;e<this._ints;++e)this._partialBlock[e]=a.getInt32(),this._partialOutput.putInt32(this._partialBlock[e]^this._outBlock[e]);if(f>0)a.read-=this.blockSize;else for(var e=0;e<this._ints;++e)this._inBlock[e]=this._partialBlock[e];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),f>0&&!c)return b.putBytes(this._partialOutput.getBytes(f-this._partialBytes)),this._partialBytes=f,!0;b.putBytes(this._partialOutput.getBytes(d-this._partialBytes)),this._partialBytes=0},e.ofb=function(a){a=a||{},this.name="OFB",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=Array(this._ints),this._partialOutput=d.util.createBuffer(),this._partialBytes=0},e.ofb.prototype.start=function(a){if(!("iv"in a))throw Error("Invalid IV parameter.");this._iv=f(a.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},e.ofb.prototype.encrypt=function(a,b,c){var d=a.length();if(0===a.length())return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&d>=this.blockSize){for(var e=0;e<this._ints;++e)b.putInt32(a.getInt32()^this._outBlock[e]),this._inBlock[e]=this._outBlock[e];return}var f=(this.blockSize-d)%this.blockSize;f>0&&(f=this.blockSize-f),this._partialOutput.clear();for(var e=0;e<this._ints;++e)this._partialOutput.putInt32(a.getInt32()^this._outBlock[e]);if(f>0)a.read-=this.blockSize;else for(var e=0;e<this._ints;++e)this._inBlock[e]=this._outBlock[e];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),f>0&&!c)return b.putBytes(this._partialOutput.getBytes(f-this._partialBytes)),this._partialBytes=f,!0;b.putBytes(this._partialOutput.getBytes(d-this._partialBytes)),this._partialBytes=0},e.ofb.prototype.decrypt=e.ofb.prototype.encrypt,e.ctr=function(a){a=a||{},this.name="CTR",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=Array(this._ints),this._partialOutput=d.util.createBuffer(),this._partialBytes=0},e.ctr.prototype.start=function(a){if(!("iv"in a))throw Error("Invalid IV parameter.");this._iv=f(a.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},e.ctr.prototype.encrypt=function(a,b,c){var d=a.length();if(0===d)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&d>=this.blockSize)for(var e=0;e<this._ints;++e)b.putInt32(a.getInt32()^this._outBlock[e]);else{var f=(this.blockSize-d)%this.blockSize;f>0&&(f=this.blockSize-f),this._partialOutput.clear();for(var e=0;e<this._ints;++e)this._partialOutput.putInt32(a.getInt32()^this._outBlock[e]);if(f>0&&(a.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),f>0&&!c)return b.putBytes(this._partialOutput.getBytes(f-this._partialBytes)),this._partialBytes=f,!0;b.putBytes(this._partialOutput.getBytes(d-this._partialBytes)),this._partialBytes=0}g(this._inBlock)},e.ctr.prototype.decrypt=e.ctr.prototype.encrypt,e.gcm=function(a){a=a||{},this.name="GCM",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=Array(this._ints),this._outBlock=Array(this._ints),this._partialOutput=d.util.createBuffer(),this._partialBytes=0,this._R=0xe1000000},e.gcm.prototype.start=function(a){if(!("iv"in a))throw Error("Invalid IV parameter.");var b,c=d.util.createBuffer(a.iv);if(this._cipherLength=0,b="additionalData"in a?d.util.createBuffer(a.additionalData):d.util.createBuffer(),"tagLength"in a?this._tagLength=a.tagLength:this._tagLength=128,this._tag=null,a.decrypt&&(this._tag=d.util.createBuffer(a.tag).getBytes(),this._tag.length!==this._tagLength/8))throw Error("Authentication tag does not match tag length.");this._hashBlock=Array(this._ints),this.tag=null,this._hashSubkey=Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var e=c.length();if(12===e)this._j0=[c.getInt32(),c.getInt32(),c.getInt32(),1];else{for(this._j0=[0,0,0,0];c.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[c.getInt32(),c.getInt32(),c.getInt32(),c.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(h(8*e)))}this._inBlock=this._j0.slice(0),g(this._inBlock),this._partialBytes=0,b=d.util.createBuffer(b),this._aDataLength=h(8*b.length());var f=b.length()%this.blockSize;for(f&&b.fillWithByte(0,this.blockSize-f),this._s=[0,0,0,0];b.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[b.getInt32(),b.getInt32(),b.getInt32(),b.getInt32()])},e.gcm.prototype.encrypt=function(a,b,c){var d=a.length();if(0===d)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&d>=this.blockSize){for(var e=0;e<this._ints;++e)b.putInt32(this._outBlock[e]^=a.getInt32());this._cipherLength+=this.blockSize}else{var f=(this.blockSize-d)%this.blockSize;f>0&&(f=this.blockSize-f),this._partialOutput.clear();for(var e=0;e<this._ints;++e)this._partialOutput.putInt32(a.getInt32()^this._outBlock[e]);if(f<=0||c){if(c){var h=d%this.blockSize;this._cipherLength+=h,this._partialOutput.truncate(this.blockSize-h)}else this._cipherLength+=this.blockSize;for(var e=0;e<this._ints;++e)this._outBlock[e]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),f>0&&!c)return a.read-=this.blockSize,b.putBytes(this._partialOutput.getBytes(f-this._partialBytes)),this._partialBytes=f,!0;b.putBytes(this._partialOutput.getBytes(d-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),g(this._inBlock)},e.gcm.prototype.decrypt=function(a,b,c){var d=a.length();if(d<this.blockSize&&!(c&&d>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),g(this._inBlock),this._hashBlock[0]=a.getInt32(),this._hashBlock[1]=a.getInt32(),this._hashBlock[2]=a.getInt32(),this._hashBlock[3]=a.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var e=0;e<this._ints;++e)b.putInt32(this._outBlock[e]^this._hashBlock[e]);d<this.blockSize?this._cipherLength+=d%this.blockSize:this._cipherLength+=this.blockSize},e.gcm.prototype.afterFinish=function(a,b){var c=!0;b.decrypt&&b.overflow&&a.truncate(this.blockSize-b.overflow),this.tag=d.util.createBuffer();var e=this._aDataLength.concat(h(8*this._cipherLength));this._s=this.ghash(this._hashSubkey,this._s,e);var f=[];this.cipher.encrypt(this._j0,f);for(var g=0;g<this._ints;++g)this.tag.putInt32(this._s[g]^f[g]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),b.decrypt&&this.tag.bytes()!==this._tag&&(c=!1),c},e.gcm.prototype.multiply=function(a,b){for(var c=[0,0,0,0],d=b.slice(0),e=0;e<128;++e)a[e/32|0]&1<<31-e%32&&(c[0]^=d[0],c[1]^=d[1],c[2]^=d[2],c[3]^=d[3]),this.pow(d,d);return c},e.gcm.prototype.pow=function(a,b){for(var c=1&a[3],d=3;d>0;--d)b[d]=a[d]>>>1|(1&a[d-1])<<31;b[0]=a[0]>>>1,c&&(b[0]^=this._R)},e.gcm.prototype.tableMultiply=function(a){for(var b=[0,0,0,0],c=0;c<32;++c){var d=a[c/8|0]>>>(7-c%8)*4&15,e=this._m[c][d];b[0]^=e[0],b[1]^=e[1],b[2]^=e[2],b[3]^=e[3]}return b},e.gcm.prototype.ghash=function(a,b,c){return b[0]^=c[0],b[1]^=c[1],b[2]^=c[2],b[3]^=c[3],this.tableMultiply(b)},e.gcm.prototype.generateHashTable=function(a,b){for(var c=8/b,d=4*c,e=16*c,f=Array(e),g=0;g<e;++g){var h=[0,0,0,0],i=g/d|0,j=(d-1-g%d)*b;h[i]=1<<b-1<<j,f[g]=this.generateSubHashTable(this.multiply(h,a),b)}return f},e.gcm.prototype.generateSubHashTable=function(a,b){var c=1<<b,d=c>>>1,e=Array(c);e[d]=a.slice(0);for(var f=d>>>1;f>0;)this.pow(e[2*f],e[f]=[]),f>>=1;for(f=2;f<d;){for(var g=1;g<f;++g){var h=e[f],i=e[g];e[f+g]=[h[0]^i[0],h[1]^i[1],h[2]^i[2],h[3]^i[3]]}f*=2}for(e[0]=[0,0,0,0],f=d+1;f<c;++f){var j=e[f^d];e[f]=[a[0]^j[0],a[1]^j[1],a[2]^j[2],a[3]^j[3]]}return e}},19431:(a,b,c)=>{"use strict";let d=c(34589),{Readable:e}=c(57075),f=c(84285),g=c(89409),h=c(38650),i=c(56698),{assertCacheStore:j,assertCacheMethods:k,makeCacheKey:l,normalizeHeaders:m,parseCacheControlHeader:n,isInvalidOrWildcardVaryHeader:o}=c(79468),{AbortError:p}=c(61448),{parseHttpDate:q}=c(24214),r=()=>{};function s(a,b){for(let c=0;c<a.length;c++)if(a[c]===b)return!0;return!1}function t(a,b){return a.cacheControlDirectives?.["must-revalidate"]===!0||"shared"===b&&(a.cacheControlDirectives?.["proxy-revalidate"]===!0||a.cacheControlDirectives?.["s-maxage"]!==void 0)}function u(a,b){try{a.delete(b)?.catch?.(r)}catch{}}function v(a,b){let c={...a.headers,"if-modified-since":function(a){let b=a?.["last-modified"];if("string"==typeof b&&q(b))return b}(b.headers)??new Date(b.cachedAt).toUTCString()};if(b.etag&&(c["if-none-match"]=b.etag),b.vary)for(let a in b.vary)null!=b.vary[a]&&(c[a]=b.vary[a]);return c}function w(a,b,c,g,h,i){let j=f.isStream(c.body)?c.body:e.from(c.body??[]);d(!j.destroyed,"stream should not be destroyed"),d(!j.readableDidRead,"stream should not be readableDidRead");let k={rawHeaders:[],rawTrailers:[],resume(){j.resume()},pause(){j.pause()},get paused(){return j.isPaused()},get aborted(){return j.destroyed},get reason(){return j.errored},abort(a){j.destroy(a??new p)}};if(j.on("error",function(b){if(!this.readableEnded)if("function"==typeof a.onResponseError)a.onResponseError(k,b);else throw b}).on("close",function(){this.errored||a.onResponseEnd?.(k,{})}),a.onRequestStart?.(k,h),j.destroyed)return;let l={...c.headers,age:String(g)};i&&(l.warning='110 - "response is stale"'),k.rawHeaders=f.toRawHeaders(l),a.onResponseStart?.(k,c.statusCode,l,c.statusMessage),"HEAD"===b.method?j.destroy():j.on("data",function(b){a.onResponseData?.(k,b)})}function x(a,b,c,d,e,h,j){var k,l,m,q,s;let x;if(!j){if(h?.["only-if-cached"]){let a=!1,b={paused:!1,rawHeaders:[],rawTrailers:[],pause(){this.paused=!0},resume(){this.paused=!1},abort:c=>{a=!0,d.onResponseError?.(b,c??new p)}};try{if(d.onRequestStart?.(b,null),a||(d.onResponseStart?.(b,504,{},"Gateway Timeout"),a))return;d.onResponseEnd?.(b,{})}catch(a){"function"==typeof d.onResponseError&&d.onResponseError(b,a)}return!0}return a(e,new g(b,c,d))}let y=Date.now();if(y>j.deleteAt)return a(e,new g(b,c,d));let z=Math.round((y-j.cachedAt)/1e3),A=h?.["max-age"]!==void 0&&z>=h["max-age"],B=A||(k=j,l=h,m=b.type,(x=Date.now())>k.staleAt?!(!t(k,m)&&l?.["max-stale"])||x>k.staleAt+1e3*l["max-stale"]:!!l?.["min-fresh"]&&k.staleAt-x<=1e3*l["min-fresh"]),C=A||function(a,b,{headers:c={}}){return!!(b?.["no-cache"]||a.cacheControlDirectives?.["no-cache"]&&!Array.isArray(a.cacheControlDirectives["no-cache"]))||!!c["if-modified-since"]||!!c["if-none-match"]}(j,h,e);if(B||C){let k;if(f.isStream(e.body)&&0!==f.bodyLength(e.body))return a(e,new g(b,c,d));if(!C&&(q=j,s=b.type,!(!(k=q.cacheControlDirectives?.["stale-while-revalidate"])||t(q,s))&&Date.now()<=q.staleAt+1e3*k))return w(d,e,j,z,null,!0),queueMicrotask(()=>{let d=v(e,j);a({...e,headers:d},new g(b,c,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let l=!1;if(!t(j,b.type)){let a=j.cacheControlDirectives["stale-if-error"]??h?.["stale-if-error"];a&&(l=y<j.staleAt+1e3*a)}let m=v(e,j);return a({...e,headers:m},new i((h,i,k,l)=>{if(h){if(304===k){if(function(a,b){if(b.vary&&o(b.vary))return!0;let c=b["cache-control"];if(!c)return!1;let d=n(c);return!0===d["no-store"]||"shared"===a&&!0===d.private}(b.type,l))return f.isStream(j.body)&&j.body.on("error",r).destroy(),u(b.store,c),a(e,new g(b,c,d));void 0!==l["cache-control"]&&u(b.store,c)}w(d,e,j,z,i,B)}else f.isStream(j.body)&&j.body.on("error",r).destroy()},new g(b,c,d),l))}f.isStream(e.body)&&e.body.on("error",r).destroy(),w(d,e,j,z,null,!1)}a.exports=(a={})=>{let{store:b=new h,methods:c=["GET"],cacheByDefault:d,type:e="shared",origins:g}=a;if("object"!=typeof a||null===a)throw TypeError(`expected type of opts to be an Object, got ${null===a?"null":typeof a}`);j(b,"opts.store"),k(c,"opts.methods");var i="opts.origins";if(void 0!==g){if(!Array.isArray(g))throw TypeError(`expected ${i} to be an array or undefined, got ${typeof g}`);for(let a=0;a<g.length;a++){let b=g[a];if("string"!=typeof b&&!(b instanceof RegExp))throw TypeError(`expected ${i}[${a}] to be a string or RegExp, got ${typeof b}`)}}if(void 0!==d&&"number"!=typeof d)throw TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof d}`);if(void 0!==e&&"shared"!==e&&"private"!==e)throw TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof e}`);let o={store:b,methods:c,cacheByDefault:d,type:e},p=[];for(let a=0;a<f.safeHTTPMethods.length;a++){let b=f.safeHTTPMethods[a];s(c,b)||p.push(b)}return a=>(c,d)=>{if(s(p,c.method))return a(c,d);if(void 0!==g){if(!c.origin)return a(c,d);let b=c.origin.toString().toLowerCase(),e=!1;for(let a=0;a<g.length;a++){let c=g[a];if("string"==typeof c){if(c.toLowerCase()===b){e=!0;break}}else if(c.test(b)){e=!0;break}}if(!e)return a(c,d)}c={...c,headers:m(c)};let e=c.headers?.["cache-control"]?n(c.headers["cache-control"]):!function(a){let b=a?.pragma;if(!b)return!1;let c=Array.isArray(b)?b:[b];for(let a=0;a<c.length;a++){let b=c[a];if("string"!=typeof b)continue;let d=b.split(",");for(let a=0;a<d.length;a++)if("no-cache"===d[a].replace(/^[\t ]+|[\t ]+$/g,"").toLowerCase())return!0}return!1}(c.headers)?void 0:{"no-cache":!0};if(e?.["no-store"])return a(c,d);let f=l(c),h=b.get(f);return h&&"function"==typeof h.then?h.then(b=>x(a,o,f,d,c,e,b)):x(a,o,f,d,c,e,h)}}},19458:(a,b,c)=>{"use strict";c.d(b,{SZ:()=>e}),c(30395);var d=c(14372);function e(a){return!function(a){let b=a.messages||a.contents;if(!b?.length)return!0;let c=b[b.length-1];return c?.role==="user"}(a)&&(delete a.reasoning_effort,delete a.thinking),a}c(48991),c(87793),Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]))},19608:a=>{"use strict";let b=["GET","HEAD","POST"],c=new Set(b),d=[301,302,303,307,308],e=new Set(d),f=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],g=new Set(f),h=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],i=["",...h],j=new Set(h),k=["GET","HEAD","OPTIONS","TRACE","QUERY"],l=new Set(k),m=["CONNECT","TRACE","TRACK"],n=new Set(m),o=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],p=new Set(o);a.exports={subresource:o,forbiddenMethods:m,requestBodyHeader:["content-encoding","content-language","content-location","content-type","content-length"],referrerPolicy:i,requestRedirect:["follow","manual","error"],requestMode:["navigate","same-origin","no-cors","cors"],requestCredentials:["omit","same-origin","include"],requestCache:["default","no-store","reload","no-cache","force-cache","only-if-cached"],redirectStatus:d,corsSafeListedMethods:b,nullBodyStatus:[101,204,205,304],safeMethods:k,badPorts:f,requestDuplex:["half"],subresourceSet:p,badPortsSet:g,redirectStatusSet:e,corsSafeListedMethodsSet:c,safeMethodsSet:l,forbiddenMethodsSet:n,referrerPolicyTokens:j}},19957:(a,b,c)=>{"use strict";c.r(b),c.d(b,{geminiToOpenAIResponse:()=>f});var d=c(56294),e=c(42541);function f(a,b){if(!a)return null;let c=a.response||a;if(!c||!c.candidates?.[0])return null;let d=[],e=c.candidates[0],f=e.content;if(b.messageId||(b.messageId=c.responseId||`msg_${Date.now()}`,b.model=c.modelVersion||"gemini",b.functionIndex=0,d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),f?.parts)for(let a of f.parts){let c=a.thoughtSignature||a.thought_signature,e=!0===a.thought;if(c){let c=void 0!==a.text&&""!==a.text,f=!!a.functionCall;if(c&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:e?{reasoning_content:a.text}:{content:a.text},finish_reason:null}]}),f){let c=a.functionCall.name,e=b.toolNameMap?.get(c)||c,f=a.functionCall.args||{},g=b.functionIndex++,h={id:`${e}-${Date.now()}-${g}`,index:g,type:"function",function:{name:e,arguments:JSON.stringify(f)}};b.toolCalls.set(g,h),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[h]},finish_reason:null}]})}continue}if(void 0!==a.text&&""!==a.text&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{content:a.text},finish_reason:null}]}),a.functionCall){let c=a.functionCall.name,e=b.toolNameMap?.get(c)||c,f=a.functionCall.args||{},g=b.functionIndex++,h={id:`${e}-${Date.now()}-${g}`,index:g,type:"function",function:{name:e,arguments:JSON.stringify(f)}};b.toolCalls.set(g,h),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[h]},finish_reason:null}]})}let f=a.inlineData||a.inline_data;if(f?.data){let a=f.mimeType||f.mime_type||"image/png";d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{images:[{type:"image_url",image_url:{url:`data:${a};base64,${f.data}`}}]},finish_reason:null}]})}}let g=c.usageMetadata||a.usageMetadata;if(g&&"object"==typeof g){let a="number"==typeof g.cachedContentTokenCount?g.cachedContentTokenCount:0,c="number"==typeof g.promptTokenCount?g.promptTokenCount:0,d="number"==typeof g.thoughtsTokenCount?g.thoughtsTokenCount:0,e="number"==typeof g.candidatesTokenCount?g.candidatesTokenCount:0,f="number"==typeof g.totalTokenCount?g.totalTokenCount:0;0===e&&f>0&&(e=f-c-d)<0&&(e=0),b.usage={prompt_tokens:c,completion_tokens:e+d,total_tokens:f},a>0&&(b.usage.prompt_tokens_details={cached_tokens:a}),d>0&&(b.usage.completion_tokens_details={reasoning_tokens:d})}if(e.finishReason){let a=e.finishReason.toLowerCase();"stop"===a&&b.toolCalls.size>0&&(a="tool_calls");let c={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}]};b.usage&&(c.usage=b.usage),d.push(c),b.finishReason=a}return d.length>0?d:null}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,null,f),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,null,f),(0,d.kz)(e.h.ANTIGRAVITY,e.h.OPENAI,null,f),(0,d.kz)(e.h.VERTEX,e.h.OPENAI,null,f)},20096:a=>{var b={};a.exports=b;var c={};b.encode=function(a,b,c){if("string"!=typeof b)throw TypeError('"alphabet" must be a string.');if(void 0!==c&&"number"!=typeof c)throw TypeError('"maxline" must be a number.');var d="";if(a instanceof Uint8Array){var e=0,f=b.length,g=b.charAt(0),h=[0];for(e=0;e<a.length;++e){for(var i=0,j=a[e];i<h.length;++i)j+=h[i]<<8,h[i]=j%f,j=j/f|0;for(;j>0;)h.push(j%f),j=j/f|0}for(e=0;0===a[e]&&e<a.length-1;++e)d+=g;for(e=h.length-1;e>=0;--e)d+=b[h[e]]}else d=function(a,b){var c=0,d=b.length,e=b.charAt(0),f=[0];for(c=0;c<a.length();++c){for(var g=0,h=a.at(c);g<f.length;++g)h+=f[g]<<8,f[g]=h%d,h=h/d|0;for(;h>0;)f.push(h%d),h=h/d|0}var i="";for(c=0;0===a.at(c)&&c<a.length()-1;++c)i+=e;for(c=f.length-1;c>=0;--c)i+=b[f[c]];return i}(a,b);if(c){var k=RegExp(".{1,"+c+"}","g");d=d.match(k).join("\r\n")}return d},b.decode=function(a,b){if("string"!=typeof a)throw TypeError('"input" must be a string.');if("string"!=typeof b)throw TypeError('"alphabet" must be a string.');var d=c[b];if(!d){d=c[b]=[];for(var e=0;e<b.length;++e)d[b.charCodeAt(e)]=e}a=a.replace(/\s/g,"");for(var f=b.length,g=b.charAt(0),h=[0],e=0;e<a.length;e++){var i=d[a.charCodeAt(e)];if(void 0===i)return;for(var j=0,k=i;j<h.length;++j)k+=h[j]*f,h[j]=255&k,k>>=8;for(;k>0;)h.push(255&k),k>>=8}for(var l=0;a[l]===g&&l<a.length-1;++l)h.push(0);return"u">typeof Buffer?Buffer.from(h.reverse()):new Uint8Array(h.reverse())}},20308:(a,b,c)=>{var d=c(45654);if(c(45518),c(63070),c(88819),c(1277),c(36105),c(70710),c(49345),c(29984),c(67382),c(10401),c(33889),void 0===e)var e=d.jsbn.BigInteger;var f=d.asn1,g=d.pki=d.pki||{};a.exports=g.pbe=d.pbe=d.pbe||{};var h=g.oids,i={name:"EncryptedPrivateKeyInfo",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:f.Class.UNIVERSAL,type:f.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:f.Class.UNIVERSAL,type:f.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},j={name:"PBES2Algorithms",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:f.Class.UNIVERSAL,type:f.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:f.Class.UNIVERSAL,type:f.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:f.Class.UNIVERSAL,type:f.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:f.Class.UNIVERSAL,type:f.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:f.Class.UNIVERSAL,type:f.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:f.Class.UNIVERSAL,type:f.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:f.Class.UNIVERSAL,type:f.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},k={name:"pkcs-12PbeParams",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:f.Class.UNIVERSAL,type:f.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:f.Class.UNIVERSAL,type:f.Type.INTEGER,constructed:!1,capture:"iterations"}]};function l(a,b){return a.start().update(b).digest().getBytes()}function m(a){var b;if(a){if(!(b=g.oids[f.derToOid(a)])){var c=Error("Unsupported PRF OID.");throw c.oid=a,c.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],c}}else b="hmacWithSHA1";return n(b)}function n(a){var b=d.md;switch(a){case"hmacWithSHA224":b=d.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":a=a.substr(8).toLowerCase();break;default:var c=Error("Unsupported PRF algorithm.");throw c.algorithm=a,c.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],c}if(!b||!(a in b))throw Error("Unknown hash algorithm: "+a);return b[a].create()}g.encryptPrivateKeyInfo=function(a,b,c){(c=c||{}).saltSize=c.saltSize||8,c.count=c.count||2048,c.algorithm=c.algorithm||"aes128",c.prfAlgorithm=c.prfAlgorithm||"sha1";var e=d.random.getBytesSync(c.saltSize),i=c.count,j=f.integerToDer(i);if(0===c.algorithm.indexOf("aes")||"des"===c.algorithm){switch(c.algorithm){case"aes128":q=16,t=16,u=h["aes128-CBC"],v=d.aes.createEncryptionCipher;break;case"aes192":q=24,t=16,u=h["aes192-CBC"],v=d.aes.createEncryptionCipher;break;case"aes256":q=32,t=16,u=h["aes256-CBC"],v=d.aes.createEncryptionCipher;break;case"des":q=8,t=8,u=h.desCBC,v=d.des.createEncryptionCipher;break;default:var k,l,m,o,p,q,r,s,t,u,v,w=Error("Cannot encrypt private key. Unknown encryption algorithm.");throw w.algorithm=c.algorithm,w}var x="hmacWith"+c.prfAlgorithm.toUpperCase(),y=n(x),z=d.pkcs5.pbkdf2(b,e,i,q,y),A=d.random.getBytesSync(t),B=v(z);B.start(A),B.update(f.toDer(a)),B.finish(),s=B.output.getBytes();var C=(k=e,l=j,m=q,o=x,p=f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OCTETSTRING,!1,k),f.create(f.Class.UNIVERSAL,f.Type.INTEGER,!1,l.getBytes())]),"hmacWithSHA1"!==o&&p.value.push(f.create(f.Class.UNIVERSAL,f.Type.INTEGER,!1,d.util.hexToBytes(m.toString(16))),f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OID,!1,f.oidToDer(g.oids[o]).getBytes()),f.create(f.Class.UNIVERSAL,f.Type.NULL,!1,"")])),p);r=f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OID,!1,f.oidToDer(h.pkcs5PBES2).getBytes()),f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OID,!1,f.oidToDer(h.pkcs5PBKDF2).getBytes()),C]),f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OID,!1,f.oidToDer(u).getBytes()),f.create(f.Class.UNIVERSAL,f.Type.OCTETSTRING,!1,A)])])])}else if("3des"===c.algorithm){q=24;var D=new d.util.ByteBuffer(e),z=g.pbe.generatePkcs12Key(b,D,1,i,q),A=g.pbe.generatePkcs12Key(b,D,2,i,q),B=d.des.createEncryptionCipher(z);B.start(A),B.update(f.toDer(a)),B.finish(),s=B.output.getBytes(),r=f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OID,!1,f.oidToDer(h["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OCTETSTRING,!1,e),f.create(f.Class.UNIVERSAL,f.Type.INTEGER,!1,j.getBytes())])])}else{var w=Error("Cannot encrypt private key. Unknown encryption algorithm.");throw w.algorithm=c.algorithm,w}return f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[r,f.create(f.Class.UNIVERSAL,f.Type.OCTETSTRING,!1,s)])},g.decryptPrivateKeyInfo=function(a,b){var c=null,e={},h=[];if(!f.validate(a,i,e,h)){var j=Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw j.errors=h,j}var k=f.derToOid(e.encryptionOid),l=g.pbe.getCipher(k,e.encryptionParams,b),m=d.util.createBuffer(e.encryptedData);return l.update(m),l.finish()&&(c=f.fromDer(l.output)),c},g.encryptedPrivateKeyToPem=function(a,b){var c={type:"ENCRYPTED PRIVATE KEY",body:f.toDer(a).getBytes()};return d.pem.encode(c,{maxline:b})},g.encryptedPrivateKeyFromPem=function(a){var b=d.pem.decode(a)[0];if("ENCRYPTED PRIVATE KEY"!==b.type){var c=Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw c.headerType=b.type,c}if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return f.fromDer(b.body)},g.encryptRsaPrivateKey=function(a,b,c){if(!(c=c||{}).legacy){var e,h,i,j,k=g.wrapRsaPrivateKey(g.privateKeyToAsn1(a));return k=g.encryptPrivateKeyInfo(k,b,c),g.encryptedPrivateKeyToPem(k)}switch(c.algorithm){case"aes128":e="AES-128-CBC",i=16,h=d.random.getBytesSync(16),j=d.aes.createEncryptionCipher;break;case"aes192":e="AES-192-CBC",i=24,h=d.random.getBytesSync(16),j=d.aes.createEncryptionCipher;break;case"aes256":e="AES-256-CBC",i=32,h=d.random.getBytesSync(16),j=d.aes.createEncryptionCipher;break;case"3des":e="DES-EDE3-CBC",i=24,h=d.random.getBytesSync(8),j=d.des.createEncryptionCipher;break;case"des":e="DES-CBC",i=8,h=d.random.getBytesSync(8),j=d.des.createEncryptionCipher;break;default:var l=Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+c.algorithm+'".');throw l.algorithm=c.algorithm,l}var m=j(d.pbe.opensslDeriveBytes(b,h.substr(0,8),i));m.start(h),m.update(f.toDer(g.privateKeyToAsn1(a))),m.finish();var n={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:e,parameters:d.util.bytesToHex(h).toUpperCase()},body:m.output.getBytes()};return d.pem.encode(n)},g.decryptRsaPrivateKey=function(a,b){var c=null,e=d.pem.decode(a)[0];if("ENCRYPTED PRIVATE KEY"!==e.type&&"PRIVATE KEY"!==e.type&&"RSA PRIVATE KEY"!==e.type){var h=Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw h.headerType=h,h}if(e.procType&&"ENCRYPTED"===e.procType.type){switch(e.dekInfo.algorithm){case"DES-CBC":i=8,j=d.des.createDecryptionCipher;break;case"DES-EDE3-CBC":i=24,j=d.des.createDecryptionCipher;break;case"AES-128-CBC":i=16,j=d.aes.createDecryptionCipher;break;case"AES-192-CBC":i=24,j=d.aes.createDecryptionCipher;break;case"AES-256-CBC":i=32,j=d.aes.createDecryptionCipher;break;case"RC2-40-CBC":i=5,j=function(a){return d.rc2.createDecryptionCipher(a,40)};break;case"RC2-64-CBC":i=8,j=function(a){return d.rc2.createDecryptionCipher(a,64)};break;case"RC2-128-CBC":i=16,j=function(a){return d.rc2.createDecryptionCipher(a,128)};break;default:var i,j,h=Error('Could not decrypt private key; unsupported encryption algorithm "'+e.dekInfo.algorithm+'".');throw h.algorithm=e.dekInfo.algorithm,h}var k=d.util.hexToBytes(e.dekInfo.parameters),l=j(d.pbe.opensslDeriveBytes(b,k.substr(0,8),i));if(l.start(k),l.update(d.util.createBuffer(e.body)),!l.finish())return c;c=l.output.getBytes()}else c=e.body;return null!==(c="ENCRYPTED PRIVATE KEY"===e.type?g.decryptPrivateKeyInfo(f.fromDer(c),b):f.fromDer(c))&&(c=g.privateKeyFromAsn1(c)),c},g.pbe.generatePkcs12Key=function(a,b,c,e,f,g){if(null==g){if(!("sha1"in d.md))throw Error('"sha1" hash algorithm unavailable.');g=d.md.sha1.create()}var h,i,j=g.digestLength,k=g.blockLength,l=new d.util.ByteBuffer,m=new d.util.ByteBuffer;if(null!=a){for(i=0;i<a.length;i++)m.putInt16(a.charCodeAt(i));m.putInt16(0)}var n=m.length(),o=b.length(),p=new d.util.ByteBuffer;p.fillWithByte(c,k);var q=k*Math.ceil(o/k),r=new d.util.ByteBuffer;for(i=0;i<q;i++)r.putByte(b.at(i%o));var s=k*Math.ceil(n/k),t=new d.util.ByteBuffer;for(i=0;i<s;i++)t.putByte(m.at(i%n));var u=r;u.putBuffer(t);for(var v=Math.ceil(f/j),w=1;w<=v;w++){var x=new d.util.ByteBuffer;x.putBytes(p.bytes()),x.putBytes(u.bytes());for(var y=0;y<e;y++)g.start(),g.update(x.getBytes()),x=g.digest();var z=new d.util.ByteBuffer;for(i=0;i<k;i++)z.putByte(x.at(i%j));var A=Math.ceil(o/k)+Math.ceil(n/k),B=new d.util.ByteBuffer;for(h=0;h<A;h++){var C=new d.util.ByteBuffer(u.getBytes(k)),D=511;for(i=z.length()-1;i>=0;i--)D>>=8,D+=z.at(i)+C.at(i),C.setAt(i,255&D);B.putBuffer(C)}u=B,l.putBuffer(x)}return l.truncate(l.length()-f),l},g.pbe.getCipher=function(a,b,c){switch(a){case g.oids.pkcs5PBES2:return g.pbe.getCipherForPBES2(a,b,c);case g.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case g.oids["pbewithSHAAnd40BitRC2-CBC"]:return g.pbe.getCipherForPKCS12PBE(a,b,c);default:var d=Error("Cannot read encrypted PBE data block. Unsupported OID.");throw d.oid=a,d.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],d}},g.pbe.getCipherForPBES2=function(a,b,c){var e,h,i={},k=[];if(!f.validate(b,j,i,k)){var l=Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw l.errors=k,l}if((a=f.derToOid(i.kdfOid))!==g.oids.pkcs5PBKDF2){var l=Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw l.oid=a,l.supportedOids=["pkcs5PBKDF2"],l}if((a=f.derToOid(i.encOid))!==g.oids["aes128-CBC"]&&a!==g.oids["aes192-CBC"]&&a!==g.oids["aes256-CBC"]&&a!==g.oids["des-EDE3-CBC"]&&a!==g.oids.desCBC){var l=Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw l.oid=a,l.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],l}var n=i.kdfSalt,o=d.util.createBuffer(i.kdfIterationCount);switch(o=o.getInt(o.length()<<3),g.oids[a]){case"aes128-CBC":e=16,h=d.aes.createDecryptionCipher;break;case"aes192-CBC":e=24,h=d.aes.createDecryptionCipher;break;case"aes256-CBC":e=32,h=d.aes.createDecryptionCipher;break;case"des-EDE3-CBC":e=24,h=d.des.createDecryptionCipher;break;case"desCBC":e=8,h=d.des.createDecryptionCipher}var p=m(i.prfOid),q=d.pkcs5.pbkdf2(c,n,o,e,p),r=i.encIv,s=h(q);return s.start(r),s},g.pbe.getCipherForPKCS12PBE=function(a,b,c){var e,h,i,j={},l=[];if(!f.validate(b,k,j,l)){var n=Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw n.errors=l,n}var o=d.util.createBuffer(j.salt),p=d.util.createBuffer(j.iterations);switch(p=p.getInt(p.length()<<3),a){case g.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:e=24,h=8,i=d.des.startDecrypting;break;case g.oids["pbewithSHAAnd40BitRC2-CBC"]:e=5,h=8,i=function(a,b){var c=d.rc2.createDecryptionCipher(a,40);return c.start(b,null),c};break;default:var n=Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw n.oid=a,n}var q=m(j.prfOid),r=g.pbe.generatePkcs12Key(c,o,1,p,e,q);return q.start(),i(r,g.pbe.generatePkcs12Key(c,o,2,p,h,q))},g.pbe.opensslDeriveBytes=function(a,b,c,e){if(null==e){if(!("md5"in d.md))throw Error('"md5" hash algorithm unavailable.');e=d.md.md5.create()}null===b&&(b="");for(var f=[l(e,a+b)],g=16,h=1;g<c;++h,g+=16)f.push(l(e,f[h-1]+a+b));return f.join("").substr(0,c)}},20579:(a,b,c)=>{"use strict";let d,{Writable:e}=c(57075),{assertCacheKey:f,assertCacheValue:g}=c(79468);a.exports=class{#g=2e9;#h=1/0;#i;#j;#k;#l;#m;#n;#o;#p;constructor(a){if(a){if("object"!=typeof a)throw TypeError("SqliteCacheStore options must be an object");if(void 0!==a.maxEntrySize){if("number"!=typeof a.maxEntrySize||!Number.isInteger(a.maxEntrySize)||a.maxEntrySize<0)throw TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");if(a.maxEntrySize>2e9)throw TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");this.#g=a.maxEntrySize}if(void 0!==a.maxCount){if("number"!=typeof a.maxCount||!Number.isInteger(a.maxCount)||a.maxCount<0)throw TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");this.#h=a.maxCount}}d||(d=c(79868).DatabaseSync),this.#i=new d(a?.location??":memory:"),this.#i.exec(`
223
+ Respond ONLY with the JSON object, no other text.`)}else"json_object"===a.type&&m.push("You must respond with valid JSON. Respond ONLY with a JSON object, no other text.")}let n=[];if((null===e||"claude"===e)&&n.push({type:"text",text:f.Co}),m.length>0&&n.push({type:"text",text:m.join("\n"),cache_control:{type:"ephemeral",ttl:"1h"}}),n.length>0&&(l.system=n),b.tools&&Array.isArray(b.tools)){for(let a of(l.tools=[],b.tools)){let b=a.type;if(b&&"function"!==b){l.tools.push(a);continue}let c="function"===b&&a.function?a.function:a,d=c.name,e=""+d;k.set(e,d),l.tools.push({name:e,description:c.description||"",input_schema:c.parameters||c.input_schema||{type:"object",properties:{},required:[]}})}l.tools.length>0&&(l.tools[l.tools.length-1].cache_control={type:"ephemeral",ttl:"1h"})}if(b.tool_choice&&(l.tool_choice=function(a){if(!a)return{type:"auto"};if("string"==typeof a)return"required"===a?{type:"any"}:"none"===a?{type:"none"}:{type:"auto"};if("object"==typeof a){if(a.function?.name)return{type:"tool",name:a.function.name};if(i.has(a.type))return a}return{type:"auto"}}(b.tool_choice)),b.thinking&&(l.thinking={type:b.thinking.type||"enabled",...b.thinking.budget_tokens&&{budget_tokens:b.thinking.budget_tokens},...b.thinking.max_tokens&&{max_tokens:b.thinking.max_tokens}}),b.reasoning_effort&&!l.thinking){let a={none:0,low:4096,medium:8192,high:16384,xhigh:32768}[b.reasoning_effort.toLowerCase()];0===a||a&&(l.thinking={type:"enabled",budget_tokens:a})}return k.size>0&&(l._toolNameMap=k),l}let i=new Set(["auto","any","tool","none"]);function j(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):""}function k(a,b,c){let d=h(a,b,c);return d.system&&Array.isArray(d.system)&&(d.system=d.system.filter(a=>!a.text||!a.text.includes("You are Claude Code")),0===d.system.length&&delete d.system),d.tools&&Array.isArray(d.tools)&&(d.tools=d.tools.map(a=>a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a)),d.messages&&Array.isArray(d.messages)&&(d.messages=d.messages.map(a=>{if(!a.content||!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type&&a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a);return{...a,content:b}})),d}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,h,null)},15873:(a,b,c)=>{var d=c(45654);c(63070),c(76632),c(36105),c(56416),c(20308),c(29984),c(10401),c(4554),c(33889),c(65737);var e=d.asn1,f=d.pki,g=a.exports=d.pkcs12=d.pkcs12||{},h={name:"ContentInfo",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.contentType",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:e.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"content"}]},i={name:"PFX",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.version",tagClass:e.Class.UNIVERSAL,type:e.Type.INTEGER,constructed:!1,capture:"version"},h,{name:"PFX.macData",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"mac",value:[{name:"PFX.macData.mac",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"PFX.macData.mac.digestAlgorithm.algorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"macAlgorithm"},{name:"PFX.macData.mac.digestAlgorithm.parameters",optional:!0,tagClass:e.Class.UNIVERSAL,captureAsn1:"macAlgorithmParameters"}]},{name:"PFX.macData.mac.digest",tagClass:e.Class.UNIVERSAL,type:e.Type.OCTETSTRING,constructed:!1,capture:"macDigest"}]},{name:"PFX.macData.macSalt",tagClass:e.Class.UNIVERSAL,type:e.Type.OCTETSTRING,constructed:!1,capture:"macSalt"},{name:"PFX.macData.iterations",tagClass:e.Class.UNIVERSAL,type:e.Type.INTEGER,constructed:!1,optional:!0,capture:"macIterations"}]}]},j={name:"SafeBag",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"SafeBag.bagId",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"bagId"},{name:"SafeBag.bagValue",tagClass:e.Class.CONTEXT_SPECIFIC,constructed:!0,captureAsn1:"bagValue"},{name:"SafeBag.bagAttributes",tagClass:e.Class.UNIVERSAL,type:e.Type.SET,constructed:!0,optional:!0,capture:"bagAttributes"}]},k={name:"Attribute",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"Attribute.attrId",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"oid"},{name:"Attribute.attrValues",tagClass:e.Class.UNIVERSAL,type:e.Type.SET,constructed:!0,capture:"values"}]},l={name:"CertBag",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"CertBag.certId",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"certId"},{name:"CertBag.certValue",tagClass:e.Class.CONTEXT_SPECIFIC,constructed:!0,value:[{name:"CertBag.certValue[0]",tagClass:e.Class.UNIVERSAL,type:e.Class.OCTETSTRING,constructed:!1,capture:"cert"}]}]};function m(a,b,c,d){for(var e=[],f=0;f<a.length;f++)for(var g=0;g<a[f].safeBags.length;g++){var h=a[f].safeBags[g];if(void 0===d||h.type===d){if(null===b){e.push(h);continue}void 0!==h.attributes[b]&&h.attributes[b].indexOf(c)>=0&&e.push(h)}}return e}function n(a){if(a.composed||a.constructed){for(var b=d.util.createBuffer(),c=0;c<a.value.length;++c)b.putBytes(a.value[c].value);a.composed=a.constructed=!1,a.value=b.getBytes()}return a}g.pkcs12FromAsn1=function(a,b,c){"string"==typeof b?(c=b,b=!0):void 0===b&&(b=!0);var o={};if(!e.validate(a,i,o,[])){var p=Error("Cannot read PKCS#12 PFX. ASN.1 object is not an PKCS#12 PFX.");throw p.errors=p,p}var q={version:o.version.charCodeAt(0),safeContents:[],getBags:function(a){var b,c={};return"localKeyId"in a?b=a.localKeyId:"localKeyIdHex"in a&&(b=d.util.hexToBytes(a.localKeyIdHex)),void 0===b&&!("friendlyName"in a)&&"bagType"in a&&(c[a.bagType]=m(q.safeContents,null,null,a.bagType)),void 0!==b&&(c.localKeyId=m(q.safeContents,"localKeyId",b,a.bagType)),"friendlyName"in a&&(c.friendlyName=m(q.safeContents,"friendlyName",a.friendlyName,a.bagType)),c},getBagsByFriendlyName:function(a,b){return m(q.safeContents,"friendlyName",a,b)},getBagsByLocalKeyId:function(a,b){return m(q.safeContents,"localKeyId",a,b)}};if(3!==o.version.charCodeAt(0)){var p=Error("PKCS#12 PFX of version other than 3 not supported.");throw p.version=o.version.charCodeAt(0),p}if(e.derToOid(o.contentType)!==f.oids.data){var p=Error("Only PKCS#12 PFX in password integrity mode supported.");throw p.oid=e.derToOid(o.contentType),p}var r=o.content.value[0];if(r.tagClass!==e.Class.UNIVERSAL||r.type!==e.Type.OCTETSTRING)throw Error("PKCS#12 authSafe content data is not an OCTET STRING.");if(r=n(r),o.mac){var s=null,t=0,u=e.derToOid(o.macAlgorithm);switch(u){case f.oids.sha1:s=d.md.sha1.create(),t=20;break;case f.oids.sha256:s=d.md.sha256.create(),t=32;break;case f.oids.sha384:s=d.md.sha384.create(),t=48;break;case f.oids.sha512:s=d.md.sha512.create(),t=64;break;case f.oids.md5:s=d.md.md5.create(),t=16}if(null===s)throw Error("PKCS#12 uses unsupported MAC algorithm: "+u);var v=new d.util.ByteBuffer(o.macSalt),w="macIterations"in o?parseInt(d.util.bytesToHex(o.macIterations),16):1,x=g.generateKey(c,v,3,w,t,s),y=d.hmac.create();if(y.start(s,x),y.update(r.value),y.getMac().getBytes()!==o.macDigest)throw Error("PKCS#12 MAC could not be verified. Invalid password?")}else if(Array.isArray(a.value)&&a.value.length>2)throw Error("Invalid PKCS#12. macData field present but MAC was not validated.");return function(a,b,c,g){if((b=e.fromDer(b,c)).tagClass!==e.Class.UNIVERSAL||b.type!==e.Type.SEQUENCE||!0!==b.constructed)throw Error("PKCS#12 AuthenticatedSafe expected to be a SEQUENCE OF ContentInfo");for(var i=0;i<b.value.length;i++){var m=b.value[i],o={},p=[];if(!e.validate(m,h,o,p)){var q=Error("Cannot read ContentInfo.");throw q.errors=p,q}var r={encrypted:!1},s=null,t=o.content.value[0];switch(e.derToOid(o.contentType)){case f.oids.data:if(t.tagClass!==e.Class.UNIVERSAL||t.type!==e.Type.OCTETSTRING)throw Error("PKCS#12 SafeContents Data is not an OCTET STRING.");s=n(t).value;break;case f.oids.encryptedData:s=function(a,b){var c={},g=[];if(!e.validate(a,d.pkcs7.asn1.encryptedDataValidator,c,g)){var h=Error("Cannot read EncryptedContentInfo.");throw h.errors=g,h}var i=e.derToOid(c.contentType);if(i!==f.oids.data){var h=Error("PKCS#12 EncryptedContentInfo ContentType is not Data.");throw h.oid=i,h}i=e.derToOid(c.encAlgorithm);var j=f.pbe.getCipher(i,c.encParameter,b),k=n(c.encryptedContentAsn1),l=d.util.createBuffer(k.value);if(j.update(l),!j.finish())throw Error("Failed to decrypt PKCS#12 SafeContents.");return j.output.getBytes()}(t,g),r.encrypted=!0;break;default:var q=Error("Unsupported PKCS#12 contentType.");throw q.contentType=e.derToOid(o.contentType),q}r.safeBags=function(a,b,c){if(!b&&0===a.length)return[];if((a=e.fromDer(a,b)).tagClass!==e.Class.UNIVERSAL||a.type!==e.Type.SEQUENCE||!0!==a.constructed)throw Error("PKCS#12 SafeContents expected to be a SEQUENCE OF SafeBag.");for(var d=[],g=0;g<a.value.length;g++){var h,i,m=a.value[g],n={},o=[];if(!e.validate(m,j,n,o)){var p=Error("Cannot read SafeBag.");throw p.errors=o,p}var q={type:e.derToOid(n.bagId),attributes:function(a){var b={};if(void 0!==a)for(var c=0;c<a.length;++c){var d={},g=[];if(!e.validate(a[c],k,d,g)){var h=Error("Cannot read PKCS#12 BagAttribute.");throw h.errors=g,h}var i=e.derToOid(d.oid);if(void 0!==f.oids[i]){b[f.oids[i]]=[];for(var j=0;j<d.values.length;++j)b[f.oids[i]].push(d.values[j].value)}}return b}(n.bagAttributes)};d.push(q);var r=n.bagValue.value[0];switch(q.type){case f.oids.pkcs8ShroudedKeyBag:if(null===(r=f.decryptPrivateKeyInfo(r,c)))throw Error("Unable to decrypt PKCS#8 ShroudedKeyBag, wrong password?");case f.oids.keyBag:try{q.key=f.privateKeyFromAsn1(r)}catch(a){q.key=null,q.asn1=r}continue;case f.oids.certBag:h=l,i=function(){if(e.derToOid(n.certId)!==f.oids.x509Certificate){var a=Error("Unsupported certificate type, only X.509 supported.");throw a.oid=e.derToOid(n.certId),a}var c=e.fromDer(n.cert,b);try{q.cert=f.certificateFromAsn1(c,!0)}catch(a){q.cert=null,q.asn1=c}};break;default:var p=Error("Unsupported PKCS#12 SafeBag type.");throw p.oid=q.type,p}if(void 0!==h&&!e.validate(r,h,n,o)){var p=Error("Cannot read PKCS#12 "+h.name);throw p.errors=o,p}i()}return d}(s,c,g),a.safeContents.push(r)}}(q,r.value,b,c),q},g.toPkcs12Asn1=function(a,b,c,h){(h=h||{}).saltSize=h.saltSize||8,h.count=h.count||2048,h.algorithm=h.algorithm||h.encAlgorithm||"aes128","useMac"in h||(h.useMac=!0),"localKeyId"in h||(h.localKeyId=null),"generateLocalKeyId"in h||(h.generateLocalKeyId=!0);var i,j,k=h.localKeyId;if(null!==k)k=d.util.hexToBytes(k);else if(h.generateLocalKeyId)if(b){var l=d.util.isArray(b)?b[0]:b;"string"==typeof l&&(l=f.certificateFromPem(l));var m=d.md.sha1.create();m.update(e.toDer(f.certificateToAsn1(l)).getBytes()),k=m.digest().getBytes()}else k=d.random.getBytes(20);var n=[];null!==k&&n.push(e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.localKeyId).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SET,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,k)])])),"friendlyName"in h&&n.push(e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.friendlyName).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SET,!0,[e.create(e.Class.UNIVERSAL,e.Type.BMPSTRING,!1,h.friendlyName)])])),n.length>0&&(i=e.create(e.Class.UNIVERSAL,e.Type.SET,!0,n));var o=[],p=[];null!==b&&(p=d.util.isArray(b)?b:[b]);for(var q=[],r=0;r<p.length;++r){"string"==typeof(b=p[r])&&(b=f.certificateFromPem(b));var s=0===r?i:void 0,t=f.certificateToAsn1(b),u=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.certBag).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.x509Certificate).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,e.toDer(t).getBytes())])])]),s]);q.push(u)}if(q.length>0){var v=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,q),w=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.data).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,e.toDer(v).getBytes())])]);o.push(w)}var x=null;if(null!==a){var y=f.wrapRsaPrivateKey(f.privateKeyToAsn1(a));x=null===c?e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.keyBag).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[y]),i]):e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.pkcs8ShroudedKeyBag).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[f.encryptPrivateKeyInfo(y,c,h)]),i]);var z=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[x]),A=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.data).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,e.toDer(z).getBytes())])]);o.push(A)}var B=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,o);if(h.useMac){var m=d.md.sha1.create(),C=new d.util.ByteBuffer(d.random.getBytes(h.saltSize)),D=h.count,a=g.generateKey(c,C,3,D,20),E=d.hmac.create();E.start(m,a),E.update(e.toDer(B).getBytes());var F=E.getMac();j=e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.sha1).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.NULL,!1,"")]),e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,F.getBytes())]),e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,C.getBytes()),e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(D).getBytes())])}return e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.INTEGER,!1,e.integerToDer(3).getBytes()),e.create(e.Class.UNIVERSAL,e.Type.SEQUENCE,!0,[e.create(e.Class.UNIVERSAL,e.Type.OID,!1,e.oidToDer(f.oids.data).getBytes()),e.create(e.Class.CONTEXT_SPECIFIC,0,!0,[e.create(e.Class.UNIVERSAL,e.Type.OCTETSTRING,!1,e.toDer(B).getBytes())])]),j])},g.generateKey=d.pbe.generatePkcs12Key},16537:(a,b,c)=>{"use strict";let d=c(34589),{forgivingBase64:e,collectASequenceOfCodePoints:f,collectASequenceOfCodePointsFast:g,isomorphicDecode:h,removeASCIIWhitespace:i,removeChars:j}=c(70745),k=new TextEncoder,l=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,m=/[\u000A\u000D\u0009\u0020]/u,n=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function o(a,b=!1){if(!b)return a.href;let c=a.href,d=a.hash.length,e=0===d?c:c.substring(0,c.length-d);return!d&&c.endsWith("#")?e.slice(0,-1):e}function p(a){return function(a){let b=a.length,c=new Uint8Array(b),d=0,e=0;for(;e<b;){let b=a[e];37!==b?c[d++]=b:37!==b||q(a[e+1])&&q(a[e+2])?(c[d++]=r(a[e+1])<<4|r(a[e+2]),e+=2):c[d++]=37,++e}return b===d?c:c.subarray(0,d)}(k.encode(a))}function q(a){return a>=48&&a<=57||a>=65&&a<=70||a>=97&&a<=102}function r(a){return a>=48&&a<=57?a-48:(223&a)-55}function s(a){a=v(a,!0,!0);let b={position:0},c=g("/",a,b);if(0===c.length||!l.test(c)||b.position>=a.length)return"failure";b.position++;let d=g(";",a,b);if(0===(d=v(d,!1,!0)).length||!l.test(d))return"failure";let e=c.toLowerCase(),h=d.toLowerCase(),i={type:e,subtype:h,parameters:new Map,essence:`${e}/${h}`};for(;b.position<a.length;){b.position++,f(a=>m.test(a),a,b);let c=f(a=>";"!==a&&"="!==a,a,b);if(c=c.toLowerCase(),b.position<a.length){if(";"===a[b.position])continue;b.position++}if(b.position>=a.length)break;let d=null;if('"'===a[b.position])d=t(a,b,!0),g(";",a,b);else if(0===(d=v(d=g(";",a,b),!1,!0)).length)continue;0!==c.length&&l.test(c)&&(0===d.length||n.test(d))&&!i.parameters.has(c)&&i.parameters.set(c,d)}return i}function t(a,b,c=!1){let e=b.position,g="";for(d('"'===a[b.position]),b.position++;g+=f(a=>'"'!==a&&"\\"!==a,a,b),!(b.position>=a.length);){let c=a[b.position];if(b.position++,"\\"===c){if(b.position>=a.length){g+="\\";break}g+=a[b.position],b.position++}else{d('"'===c);break}}return c?g:a.slice(e,b.position)}function u(a){return 13===a||10===a||9===a||32===a}function v(a,b=!0,c=!0){return j(a,b,c,u)}a.exports={dataURLProcessor:function(a){d("data:"===a.protocol);let b=o(a,!0);b=b.slice(5);let c={position:0},f=g(",",b,c),j=f.length;if(f=i(f,!0,!0),c.position>=b.length)return"failure";c.position++;let k=p(b.slice(j+1));if(/;(?:\u0020*)base64$/ui.test(f)){if("failure"===(k=e(h(k))))return"failure";f=(f=(f=f.slice(0,-6)).replace(/(\u0020+)$/u,"")).slice(0,-1)}f.startsWith(";")&&(f="text/plain"+f);let l=s(f);return"failure"===l&&(l=s("text/plain;charset=US-ASCII")),{mimeType:l,body:k}},URLSerializer:o,stringPercentDecode:p,parseMIMEType:s,collectAnHTTPQuotedString:t,serializeAMimeType:function(a){d("failure"!==a);let{parameters:b,essence:c}=a,e=c;for(let[a,c]of b.entries())e+=";",e+=a,e+="=",l.test(c)||(c='"'+(c=c.replace(/[\\"]/ug,"\\$&"))+'"'),e+=c;return e},removeHTTPWhitespace:v,minimizeSupportedMimeType:function(a){switch(a.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return a.subtype.endsWith("+json")?"application/json":a.subtype.endsWith("+xml")?"application/xml":""},HTTP_TOKEN_CODEPOINTS:l}},16712:(a,b,c)=>{"use strict";let d=c(34589),{AsyncResource:e}=c(16698),{Readable:f}=c(1712),{InvalidArgumentError:g,RequestAbortedError:h}=c(61448),i=c(84285);function j(){}class k extends e{constructor(a,b){if(!a||"object"!=typeof a)throw new g("invalid opts");const{signal:c,method:d,opaque:e,body:f,onInfo:k,responseHeaders:l,highWaterMark:m}=a;try{if("function"!=typeof b)throw new g("invalid callback");if(null!=m&&(!Number.isFinite(m)||m<0))throw new g("invalid highWaterMark");if(c&&"function"!=typeof c.on&&"function"!=typeof c.addEventListener)throw new g("signal must be an EventEmitter or EventTarget");if("CONNECT"===d)throw new g("invalid method");if(k&&"function"!=typeof k)throw new g("invalid onInfo callback");super("UNDICI_REQUEST")}catch(a){throw i.isStream(f)&&i.destroy(f.on("error",j),a),a}this.method=d,this.responseHeaders=l||null,this.opaque=e||null,this.callback=b,this.res=null,this.abort=null,this.body=f,this.trailers={},this.context=null,this.controller=null,this.onInfo=k||null,this.highWaterMark=m,this.reason=null,this.removeAbortListener=null,c?.aborted?this.reason=c.reason??new h:c&&(this.removeAbortListener=i.addAbortListener(c,()=>{if(this.reason=c.reason??new h,this.res){let a=this.res;this.res=null,i.destroy(a.on("error",j),this.reason)}else this.abort&&this.abort(this.reason)}))}onRequestStart(a,b){this.reason?a.abort(this.reason):(d(this.callback),this.controller=a,this.abort=b=>a.abort(b),this.context=b)}onResponseStart(a,b,c,d){let{callback:e,opaque:g,context:h,responseHeaders:k,highWaterMark:l}=this,m=a?.rawHeaders,n="raw"===k?i.parseRawHeaders(m):c;if(b<200){this.onInfo&&this.onInfo({statusCode:b,headers:n});return}let o=c?.["content-type"],p=c?.["content-length"],q=new f({resume:()=>a.resume(),abort:b=>a.abort(b),contentType:o,contentLength:"HEAD"!==this.method&&p?Number(p):null,highWaterMark:l});if(this.removeAbortListener&&(q.on("close",this.removeAbortListener),this.removeAbortListener=null),this.callback=null,this.res=q,null!==e)try{this.runInAsyncScope(e,null,null,{statusCode:b,statusText:d,headers:n,trailers:this.trailers,opaque:g,body:q,context:h})}catch(a){this.res=null,i.destroy(q.on("error",j),a),queueMicrotask(()=>{throw a})}}onResponseData(a,b){this.res&&!1===this.res.push(b)&&a.pause()}onResponseEnd(a,b){if(b&&"object"==typeof b)for(let a of Object.keys(b))"__proto__"===a?Object.defineProperty(this.trailers,a,{value:b[a],enumerable:!0,configurable:!0,writable:!0}):this.trailers[a]=b[a];this.res?.push(null)}onResponseError(a,b){let{res:c,callback:d,body:e,opaque:f}=this;d&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(d,null,b,{opaque:f})})),c&&(this.res=null,queueMicrotask(()=>{i.destroy(c.on("error",j),b)})),e&&(this.body=null,i.isStream(e)&&(e.on("error",j),i.destroy(e,b))),this.removeAbortListener&&(this.removeAbortListener(),this.removeAbortListener=null)}}a.exports=function a(b,c){if(void 0===c)return new Promise((c,d)=>{a.call(this,b,(a,b)=>a?d(a):c(b))});try{let a=new k(b,c);this.dispatch(b,a)}catch(d){if("function"!=typeof c)throw d;let a=b?.opaque;queueMicrotask(()=>c(d,{opaque:a}))}},a.exports.RequestHandler=k},17206:(a,b,c)=>{"use strict";c.d(b,{my:()=>n});var d=c(48991),e=c(46956);async function f(a){try{await a?.body?.cancel?.()}catch{}}async function g(a,b={}){let c=b.fetchImpl||fetch;if("string"!=typeof a||!a.trim())return null;try{let d,e=await c("https://api.blackbox.ai/key/info",{method:"GET",headers:(d={Accept:"application/json","Content-Type":"application/json"},"string"==typeof a&&a.trim()&&(d.Authorization=`Bearer ${a.trim()}`),d),signal:function(a={}){return a.signal?a.signal:AbortSignal.timeout(a.timeoutMs||8e3)}(b)});if(!e.ok)return await f(e),null;let g=await e.json();return g?.info||g||null}catch{return null}}async function h(a,b={}){let c=await g(a,b);if(!c)return{plan:"Blackbox API",message:"Blackbox spend data is unavailable for this key.",quotas:{},trackingMode:"unavailable"};let d=Number(c.spend),e=Number(c.max_budget),f=Number.isFinite(d)&&d>=0?d:0,i=Number.isFinite(e)&&e>0,j=i?e:0,k=i?Math.max(0,j-f):null,l=i?Math.max(0,Math.min(100,k/j*100)):100;return{plan:"Blackbox API",quotas:{Spend:{used:f,total:j,...null==k?{}:{remaining:k},remainingPercentage:l,unlimited:!1,unit:"USD",resetAt:c.budget_reset_at||c.expires||null,displayName:i?"API Budget":"API Spend"}},trackingMode:"upstream",spend:f,maxBudget:i?e:null}}let i={international:"https://api.z.ai/api/monitor/usage/quota/limit",china:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"},j={minimax:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"],"minimax-cn":["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]},k={quotaApiHosts:["https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],fetchAvailableModelsPath:"/v1internal:fetchAvailableModels",retrieveUserQuotaPath:"/v1internal:retrieveUserQuota",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token",clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",userAgent:(0,d.A9)()},l="2023-06-01",m={free:"TCACA_code_001_PqouKr6QWV",proMon:"TCACA_code_002_AkiJS3ZHF5",gift:"TCACA_code_006_DbXS0lrypC",activity:"TCACA_code_007_nzdH5h4Nl0",proYear:"TCACA_code_003_FAnt7lcmRT",freeMon:"TCACA_code_008_cfWoLwvjU4",extra:"TCACA_code_009_0XmEQc2xOf"};async function n(a,b=null){let{provider:c,accessToken:d,apiKey:f,providerSpecificData:g,projectId:i}=a,j={...g||{},...i?{projectId:i}:{}};switch(c){case"github":return await t(d,g,b);case"gemini-cli":return await v(d,j,b);case"antigravity":return await z(d,j,b);case"claude":return await C(d,b);case"codex":return await I(d,b);case"kiro":return await J(d,g,b);case"codebuddy":case"codebuddy-cn":return await p(d,g,b,f,c);case"qoder":return await V(d,b);case"autoclaw":return await W(d,b,a);case"qwen":return await K(d,g);case"iflow":return await L(d);case"ollama":return await M(d);case"glm":case"glm-cn":return await N(f,c,b);case"minimax":case"minimax-cn":return await U(f,c,b);case"grok-cli":return await $(d,g,b);case"cloudflare-ai":return await X(f||d,g,b);case"xai":return await ad(d||f,g,b);case"cline":case"clinepass":return await ab(d||f,c,b);case"kimchi":return await ac(d||f,g,b);case"blackbox":return await h(f||d,{fetchImpl:(a,c)=>(0,e.F)(a,c,b)});case"cursor":return await ae(d,g);default:return{message:`Usage API not implemented for ${c}`}}}async function o(a,b={},c=null,d="codebuddy"){let f=b?.uid||b?.rawAuth?.uid;if(f)return{uid:f,enterpriseId:b?.enterpriseId||null};let g=b?.domain||b?.rawAuth?.domain||("codebuddy-cn"===d?"www.codebuddy.cn":"www.codebuddy.ai");try{let b=await (0,e.F)(`https://${g}/v2/plugin/accounts`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","X-Domain":g}},c);if(!b.ok)return{uid:null,enterpriseId:null};let d=await b.json(),f=d?.data?.accounts||[],h=f.find(a=>a.lastLogin)||f[0]||{};return{uid:h.uid||null,enterpriseId:h.enterpriseId||null}}catch{return{uid:null,enterpriseId:null}}}async function p(a,b={},c=null,d=null,f="codebuddy"){let g=b?.authMode==="generated-api-key",h=a||d,i=a?"oauth":d?"api-key":null;if(!h)return{plan:"CodeBuddy",message:"CodeBuddy upstream quota is unavailable because no valid IDE OAuth token or API key is stored.",quotas:{},trackingMode:"unavailable"};try{let a,j,{uid:k,enterpriseId:l}=await o(h,b,c,f),n=await (0,e.F)(function(a={},b="codebuddy"){let c=a?.domain||a?.rawAuth?.domain||("codebuddy-cn"===b?"www.codebuddy.cn":"www.codebuddy.ai");return`https://${c}/v2/billing/meter/get-user-resource`}(b,f),{method:"POST",headers:function(a,b={},c=null,d=null,e=null){let f={Authorization:`Bearer ${a}`,Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9","Content-Type":"application/json","X-Domain":b?.domain||b?.rawAuth?.domain||"www.codebuddy.ai"};return e&&(f["X-Api-Key"]=e),c&&(f["X-User-Id"]=c),d&&(f["X-Enterprise-Id"]=d,f["X-Tenant-Id"]=d),f}(h,b,k,l,d),body:JSON.stringify((a=new Date,(j=new Date(a)).setFullYear(j.getFullYear()+101),{PageNumber:1,PageSize:200,ProductCode:"p_tcaca",Status:[0,3],PackageCodes:Object.values(m),PackageEndTimeRangeBegin:r(a),PackageEndTimeRangeEnd:r(j)}))},c),p=await n.text(),t=null;try{t=p?JSON.parse(p):null}catch{t=null}if(401===n.status||403===n.status){if("oauth"===i)return{plan:"CodeBuddy",message:`CodeBuddy IDE OAuth token was rejected (${n.status}). Upstream quota is unavailable; use ZevaiRouter Usage for local request and token tracking.`,quotas:{},authMode:"oauth-rejected",trackingMode:"local-router"};return{plan:"CodeBuddy",message:"CodeBuddy chat key active. Upstream quota is unavailable without a valid IDE OAuth token; use ZevaiRouter Usage for local request and token tracking.",quotas:{},authMode:g?"generated-api-key":"api-key",trackingMode:"local-router"}}if(!n.ok)return{plan:"CodeBuddy",message:`CodeBuddy quota endpoint returned ${n.status}.`,quotas:{}};return{...function(a){let b=a?.data?.Response?.Data||a?.Response?.Data||a?.data||a||{},c=Array.isArray(b?.Accounts)?b.Accounts:Array.isArray(b?.accounts)?b.accounts:[];if(0===c.length)return{plan:"CodeBuddy",message:"CodeBuddy connected. No quota records were returned.",quotas:{}};let d=a=>{let b=q(a.CycleEndTime);return b?new Date(b).getTime():1/0},e=a=>{let b=d(a),c=Number(a.DeductionEndTime);return Number.isFinite(b)&&Number.isFinite(c)&&c-b>1728e5},f=(a,b)=>d(a)-d(b),g=c.filter(e).sort(f),h=c.filter(a=>!e(a)).sort(f),i={},j=!1,k=(a,b,{recurring:c})=>{var d,e;let f=function(a,{useCycle:b=!0}={}){let c=b?s(a.CycleCapacitySizePrecise,a.CycleCapacitySize,a.CapacitySizePrecise,a.CapacitySize):s(a.CapacitySizePrecise,a.CapacitySize,a.CycleCapacitySizePrecise,a.CycleCapacitySize),d=b?s(a.CycleCapacityRemainPrecise,a.CapacityRemainPrecise,a.CapacityRemain):s(a.CapacityRemainPrecise,a.CapacityRemain,a.CycleCapacityRemainPrecise),e=s(a.CapacityUsedPrecise,a.CapacityUsed,null!==c&&null!==d?Math.max(0,c-d):null);if(null===c&&null===d&&null===e)return null;let f=Math.max(0,c??(e??0)+(d??0)),g=Math.max(0,d??Math.max(0,f-(e??0))),h=Math.max(0,e??Math.max(0,f-g));return{total:f,remaining:g,used:h,resetAt:q(a.CycleEndTime||a.DeductionEndTime||a.ExpiredTime)}}(b,{useCycle:c});f&&((b.PackageCode===m.proMon||b.PackageCode===m.proYear)&&(j=!0),i[a]||(i[a]={used:0,total:0,remaining:0,resetAt:null,unit:"credits",unlimited:!1,recurring:c}),i[a].used+=f.used,i[a].total+=f.total,i[a].remaining+=f.remaining,i[a].resetAt=(d=i[a].resetAt,e=f.resetAt,d?e&&new Date(e).getTime()<new Date(d).getTime()?e:d:e||null),i[a].recurring=i[a].recurring&&c)};for(let a of g)k("Monthly Credits",a,{recurring:!0});for(let a of h)k("Bonus Credits",a,{recurring:!1});if(h.length>0&&i["Bonus Credits"]&&(i["Bonus Credits"].packCount=h.length),0===Object.keys(i).length)for(let a of c){if(!a||"object"!=typeof a)continue;let b=function(a){switch(a){case m.free:case m.freeMon:case m.proMon:case m.proYear:return"Monthly Credits";case m.gift:return"Gift Credits";case m.extra:return"Extra Credits";case m.activity:return"Activity Credits";default:return a?"Other Credits":null}}(a.PackageCode)||"Other Credits",c="Activity Credits"!==b&&"Gift Credits"!==b;k(c?"Monthly Credits":"Bonus Credits",a,{recurring:c})}if(0===Object.keys(i).length)return{plan:j?"Pro":"Free",message:"CodeBuddy connected. Unable to extract quota values.",quotas:{}};for(let a of Object.values(i))a.remainingPercentage=a.total>0?Math.max(0,Math.min(100,a.remaining/a.total*100)):0;return{plan:j?"Pro":"Free",quotas:i}}(t),authMode:i}}catch(a){return{plan:"CodeBuddy",message:`CodeBuddy connected. Unable to fetch quota: ${a.message}`,quotas:{}}}}function q(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function r(a){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}-${b(a.getMonth()+1)}-${b(a.getDate())} ${b(a.getHours())}:${b(a.getMinutes())}:${b(a.getSeconds())}`}function s(...a){for(let b of a){if(null==b||""===b)continue;let a=Number(b);if(Number.isFinite(a))return a}return null}async function t(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,e.F)("https://api.github.com/copilot_internal/user",{headers:{Authorization:`token ${a}`,Accept:"application/json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"GitHubCopilotChat/0.26.7","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let d=await b.json();if(d.quota_snapshots){let a=d.quota_snapshots,b=q(d.quota_reset_date);return{plan:d.copilot_plan,resetDate:d.quota_reset_date,quotas:{chat:{...u(a.chat),resetAt:b},completions:{...u(a.completions),resetAt:b},premium_interactions:{...u(a.premium_interactions),resetAt:b}}}}if(d.monthly_quotas||d.limited_user_quotas){let a=d.monthly_quotas||{},b=d.limited_user_quotas||{},c=q(d.limited_user_reset_date);return{plan:d.copilot_plan||d.access_type_sku,resetDate:d.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function u(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}async function v(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d,f=w(b?.projectId),g="Free";if(!f){let b=await x(a,c);f=w(b?.cloudaicompanionProject),g=b?.currentTier?.name||g}if(!f)return{plan:g,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let h=new AbortController,i=setTimeout(()=>h.abort(),1e4);try{d=await (0,e.F)("https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:f}),signal:h.signal},c)}finally{clearTimeout(i)}if(!d.ok)return{plan:g,message:`Gemini CLI quota error (${d.status}).`};let j=await d.json(),k={};if(Array.isArray(j.buckets))for(let a of j.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=Math.round(1e3*b),d=Math.max(0,1e3-c);k[a.modelId]={used:d,total:1e3,resetAt:q(a.resetTime),remainingPercentage:100*b,unlimited:!1}}return{plan:g,quotas:k}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}function w(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function x(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.F)("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:d.Cn}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch{return null}finally{clearTimeout(f)}}async function y(a,b,c,d){let f=null;for(let g of k.quotaApiHosts){let h=new AbortController,i=setTimeout(()=>h.abort(),1e4);try{let i=await (0,e.F)(`${g}${a}`,{method:"POST",headers:{Authorization:`Bearer ${b}`,"User-Agent":k.userAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify(c||{}),signal:h.signal},d);if(i.ok||401===i.status||403===i.status)return{response:i,host:g};f=Error(`Antigravity API error: ${i.status}`)}catch(a){f=a}finally{clearTimeout(i)}}if(f)throw f;throw Error("Antigravity API unavailable")}async function z(a,b,c=null){try{let d,e=w(b?.projectId),f=await B(a,c),g=e||w(f?.cloudaicompanionProject);try{d=await y(k.fetchAvailableModelsPath,a,g?{project:g}:{},c)}catch(a){return{message:`Antigravity quota unavailable: ${a.message}. Chat may still work.`}}let h=d.response;if(401===h.status){let a=await A(b,c);if(a)return{accountDead:!0,message:`Antigravity account ${a}. Reconnect won't help \u2014 recreate the account.`,quotas:{}};return{message:"Antigravity quota API authentication expired. Chat may still work.",quotas:{}}}if(403===h.status)return{message:"Antigravity quota API access forbidden (tier may not expose quota). Chat may still work.",quotas:{}};if(!h.ok)throw Error(`Antigravity API error: ${h.status}`);let i=await h.json(),j=new Map;try{let b=await y(k.retrieveUserQuotaPath,a,g?{project:g}:{},c);if(b.response.ok){let a=await b.response.json();if(Array.isArray(a.buckets))for(let b of a.buckets){let a=String(b.modelId||"").trim();a&&j.set(a,b)}}}catch{}let l={};if(i.models){let a=["gemini-3.6-flash-high","gemini-3.6-flash-medium","gemini-3.6-flash-low","gemini-3-flash-agent","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3-flash"];for(let[b,c]of Object.entries(i.models)){if(c.isInternal||!a.includes(b))continue;let d=j.get(b),e=d||c.quotaInfo;if(!e)continue;let f=Number(e.remainingFraction)||0,g=100*f,h=Math.round(1e3*f),i=Math.max(0,1e3-h);l[b]={used:i,total:1e3,resetAt:q(e.resetTime),remainingPercentage:g,unlimited:!1,displayName:c.displayName||b,quotaSource:d?"retrieveUserQuota":"fetchAvailableModels"}}}return{plan:f?.currentTier?.name||"Unknown",quotas:l,subscriptionInfo:f}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function A(a,b=null){let c=a?.refreshToken;if(!c)return null;try{let a,d=new AbortController,f=setTimeout(()=>d.abort(),1e4);try{a=await (0,e.F)(k.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:k.clientId,client_secret:k.clientSecret,refresh_token:c,grant_type:"refresh_token"}),signal:d.signal},b)}finally{clearTimeout(f)}if(a.ok)return null;let g=await a.json().catch(()=>({}));if("invalid_grant"===g.error){let a=(g.error_description||"").toLowerCase();if(a.includes("deleted"))return"has been deleted";if(a.includes("disabled")||a.includes("suspend"))return"is disabled/suspended";return"authorization was revoked"}return null}catch{return null}}async function B(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.F)(k.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":k.userAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify({metadata:d.Cn,mode:1}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}finally{clearTimeout(f)}}async function C(a,b=null){try{let c=await (0,e.F)("https://api.anthropic.com/api/oauth/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":l}},b);if(c.ok){let a=await c.json(),b={},d=a=>a&&"object"==typeof a&&"number"==typeof a.utilization,e=a=>{let b=a.utilization,c=Math.max(0,100-b);return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:q(a.resets_at),unlimited:!1}};for(let[c,f]of(d(a.five_hour)&&(b["session (5h)"]=e(a.five_hour)),d(a.seven_day)&&(b["weekly (7d)"]=e(a.seven_day)),Object.entries(a)))if(c.startsWith("seven_day_")&&"seven_day"!==c&&d(f)){let a=c.replace("seven_day_","");b[`weekly ${a} (7d)`]=e(f)}return{plan:"Claude Code",extraUsage:a.extra_usage??null,quotas:b}}return console.warn(`[Claude Usage] OAuth endpoint returned ${c.status}, falling back to legacy`),await D(a,b)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function D(a,b=null){try{let c=await (0,e.F)("https://api.anthropic.com/v1/settings",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":l}},b);if(c.ok){let d=await c.json();if(d.organization_id){let c=await (0,e.F)("https://api.anthropic.com/v1/organizations/{org_id}/usage".replace("{org_id}",d.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":l}},b);if(c.ok){let a=await c.json();return{plan:d.plan||"Unknown",organization:d.organization_name,quotas:a}}}return{plan:d.plan||"Unknown",organization:d.organization_name,message:"Claude connected. Usage details require admin access."}}return{message:"Claude connected. Usage API requires admin permissions."}}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}function E(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function F(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function G(a){let b=Math.max(0,Math.min(100,E(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:q(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function H(a,b,c){let d=F(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,g=!1;return e&&(a[b?`${b}_session`:"session"]=G(e),g=!0),f&&(a[b?`${b}_weekly`:"weekly"]=G(f),g=!0),g}async function I(a,b=null){try{let c=await (0,e.F)("https://chatgpt.com/backend-api/wham/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Codex connected. Usage API temporarily unavailable (${c.status}).`};let d=await c.json(),f=d.rate_limit||d.rate_limits||d.rate_limits_by_limit_id?.codex||{},g=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(d),h=Math.max(0,E(d.rate_limit_reset_credits?.available_count,0)),i={};return H(i,"",f),H(i,"review",g),{plan:d.plan_type||d.summary?.plan||"unknown",limitReached:F(f)?.limit_reached||!1,reviewLimitReached:F(g)?.limit_reached||!1,resetCredits:{availableCount:h},quotas:i}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function J(a,b,c=null){let d=b?.authMethod||"builder-id",f="api_key"===d,g={...f?{tokentype:"API_KEY"}:{},..."external_idp"===d?{TokenType:"EXTERNAL_IDP"}:{}},h=f?b?.profileArn||"":b?.profileArn||"arn:aws:codewhisperer:us-east-1:638616132270:profile/AAAACCCCXXXX",i=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),j=!1,k=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,e.F)(`https://codewhisperer.us-east-1.amazonaws.com/getUsageLimits?${i.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE-1.0.138","user-agent":"aws-sdk-js/1.0.0 KiroIDE-1.0.138",...g}},c)},{name:"codewhisperer-post",run:async()=>(0,e.F)("https://codewhisperer.us-east-1.amazonaws.com",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json",...g},body:JSON.stringify({origin:"AI_EDITOR",...h?{profileArn:h}:{},resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",...h?{profileArn:h}:{},resourceType:"AGENTIC_REQUEST"});return(0,e.F)(`https://q.us-east-1.amazonaws.com/getUsageLimits?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...g}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(j=!0),k.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=q(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",e=a.currentUsageWithPrecision||0,f=a.usageLimitWithPrecision||0;if(c[b]={used:e,total:f,remaining:f-e,resetAt:d,unlimited:!1},a.freeTrialInfo){let e=a.freeTrialInfo.currentUsageWithPrecision||0,f=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:e,total:f,remaining:f-e,resetAt:q(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){k.push(`${b.name}:${a.message}`)}return j&&"idc"===d?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:j&&("google"===d||"github"===d)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:j?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:k.length>0?`Unable to fetch Kiro usage right now. (${k[k.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}async function K(a,b){try{if(!b?.resourceUrl)return{message:"Qwen connected. No resource URL available."};return{message:"Qwen connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch Qwen usage."}}}async function L(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}async function M(a,b){try{return{plan:b?.plan||"Free",message:"Ollama Cloud uses a free tier with light usage limits (resets every 5h & 7d). For detailed usage tracking, visit ollama.com/settings/keys.",quotas:[]}}catch(a){return{message:"Unable to fetch Ollama Cloud usage."}}}async function N(a,b,c=null){if(!a)return{message:"GLM API key not available."};let d=i["glm-cn"===b?"china":"international"];try{let b=await (0,e.F)(d,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),g=f?.data&&"object"==typeof f.data?f.data:{},h=Array.isArray(g.limits)?g.limits:[],i={};for(let a of h){if(!a||"TOKENS_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,d=Math.max(0,100-b);i.session={used:b,total:100,remaining:d,remainingPercentage:d,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let j="string"==typeof g.level?g.level:"";return{plan:j?j.charAt(0).toUpperCase()+j.slice(1).toLowerCase():"Unknown",quotas:i}}catch(a){return{message:`GLM error: ${a.message}`}}}function O(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function P(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function Q(a){return Math.max(0,Number(O(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function R(a){return Math.max(0,Number(O(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function S(a){return!!(Q(a)>0||R(a)>0)||null!==P(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==P(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function T(a,b,c,d,e,f,g,h,i,j){let k=d(c),l=P(c,g,h);if(k<=0&&null===l)return;let m=Math.max(0,Number(O(c,e,f))||0),n=k,o=m;k<=0&&(n=100,o=j?Math.round(l/100*n):Math.round(n*(1-l/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(n,o,function(a,b,c,d,e,f){let g=Number(O(a,c,d))||0;return g>0?new Date(b+g).toISOString():q(O(a,e,f))}(c,...i),j,l)}async function U(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let d=j[b]||[],f="";for(let b=0;b<d.length;b+=1){let g=d[b],h=b<d.length-1;try{let b=await (0,e.F)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),d=await b.text(),i={};if(d)try{i=JSON.parse(d)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${d}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,p=(Array.isArray(o)?o:[]).filter(S);if(0===p.length)return{message:"MiniMax connected. No quota data was returned."};let q=Date.now(),r=g.includes("/coding_plan/remains"),s={};for(let a of p){let b=function(a){let b=String(O(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);T(s,`${b} (5h)`,a,Q,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[q,"remains_time","remainsTime","end_time","endTime"],r),T(s,`${b} (7d)`,a,R,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[q,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],r)}if(0===Object.keys(s).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:s}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}async function V(a,b=null){if(!a)return{message:"Qoder usage unavailable: no access token"};try{let c=await (0,e.F)("https://openapi.qoder.sh/api/v2/quota/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Qoder connected. Usage fetch returned ${c.status}.`};let d=await c.json().catch(()=>null);if(!d)return{message:"Qoder connected. Usage response was not JSON."};let f=d.userQuota||{},g=d.orgResourcePackage||{},h=Number.isFinite(Number(d.expiresAt))&&Number(d.expiresAt)>0?Number(d.expiresAt):null,i=h?new Date(h).toISOString():null;return{quotas:{user:{total:Number(f.total)||0,used:Number(f.used)||0,remaining:Number(f.remaining)||0,unit:f.unit||"credits",resetAt:i},organization:{total:Number(g.total)||0,used:Number(g.used)||0,remaining:Number(g.remaining)||0,unit:g.unit||"credits",resetAt:i}},totalUsagePercentage:Number(d.totalUsagePercentage)||0,isQuotaExceeded:!!d.isQuotaExceeded,expiresAt:h}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}async function W(a,b=null,d=null){if(!a)return{message:"AutoClaw usage unavailable: no access token"};try{let{AUTOCLAW_WALLET_ENDPOINT:f,buildAutoClawWalletHeaders:g}=await Promise.resolve().then(c.bind(c,73952)),h=await (0,e.F)(f,{method:"GET",headers:g(a)},b);if(!h.ok)return{message:`AutoClaw connected. Usage fetch returned ${h.status}.`};let i=await h.json().catch(()=>null);if(!i||0!==i.code)return{message:"AutoClaw connected. Unable to read balance."};let j=Number(i.data?.total_balance),k=Number.isFinite(j)?j:0,l=k;try{if(d?.id){let{getQuotaSnapshot:a}=await Promise.resolve().then(c.bind(c,70321)),b=await a(d.id),e=Number(b?.usage?.quotas?.points?.total)||0,f=Number(b?.usage?.quotas?.points?.remaining);l=Math.max(e,k,Number.isFinite(f)?f:0)}}catch{}let m=Math.max(0,l-k);return{quotas:{points:{total:l,used:m,remaining:k,unit:"points",resetAt:null}},totalUsagePercentage:l>0?Math.round(m/l*100):0,isQuotaExceeded:k<=0}}catch(a){return{message:`AutoClaw connected. Unable to fetch balance: ${a.message}`}}}async function X(a,b=null,c=null){let d=String(a||"").trim(),f=String(b?.accountId||"").trim();if(!d)return{message:"Cloudflare API token not available."};if(!f)return{message:"Cloudflare account ID missing. Re-import or edit the connection."};try{let a=await (0,e.F)("https://api.cloudflare.com/client/v4/user/tokens/verify",{method:"GET",headers:{Authorization:`Bearer ${d}`,Accept:"application/json"}},c);if(401===a.status||403===a.status)return{message:"Cloudflare API token invalid or expired. Re-import the account."};if(!a.ok){let b=await a.text().catch(()=>"");return{message:`Cloudflare token verify failed (${a.status})${b?`: ${b.slice(0,160)}`:""}`}}let g=await a.json().catch(()=>null),h=g?.result?.status||(g?.success?"active":"unknown"),i=b?.accountName||"";try{let a=await (0,e.F)(`https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(f)}`,{method:"GET",headers:{Authorization:`Bearer ${d}`,Accept:"application/json"}},c);if(a?.ok){let b=await a.json().catch(()=>null);i=b?.result?.name||i}}catch{}let j=f.length>10?`${f.slice(0,8)}…`:f;return{plan:i?`Workers AI \xb7 ${i}`:`Workers AI \xb7 ${j}`,quotas:{"Workers AI":{used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}},message:h&&"active"!==h?`Token status: ${h}. Cloudflare does not publish remaining free-tier neurons via API.`:"Token valid. CF does not expose remaining free-tier neurons via API — model rate limits still apply."}}catch(a){return{message:`Cloudflare usage error: ${a.message}`}}}function Y(a,b=0){return null==a?b:"object"==typeof a&&!Array.isArray(a)&&"val"in a?E(a.val,b):E(a,b)}function Z({used:a,total:b,resetAt:c,unlimited:d=!1}){let e=Math.max(0,E(b,0)),f=Math.max(0,E(a,0));if(d||0===e)return{used:f,total:0,remainingPercentage:100*!!d,resetAt:c||null,unlimited:!0};let g=Math.max(0,e-f);return{used:f,total:e,remainingPercentage:g/e*100,resetAt:c||null,unlimited:!1}}async function $(a,b=null,c=null){if(!a)return{message:"Grok CLI access token not available."};let d=function(a,b={}){let c=b||{},d={Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":"grok-pager/0.2.93 grok-shell/0.2.93 (linux; x86_64)","x-xai-token-auth":"xai-grok-cli","x-grok-client-identifier":"grok-pager","x-grok-client-version":"0.2.93"},e=c.email,f=c.userId||c.principalId;return e&&(d["x-email"]=e),f&&(d["x-userid"]=f),d}(a,b);try{let[a,b]=await Promise.all([(0,e.F)("https://cli-chat-proxy.grok.com/v1/billing?format=credits",{method:"GET",headers:d},c),(0,e.F)("https://cli-chat-proxy.grok.com/v1/user?include=subscription",{method:"GET",headers:d},c).catch(()=>null)]);if(401===a.status||403===a.status)return{message:"Grok CLI authentication expired. Please re-authorize."};if(!a.ok){let b=await a.text().catch(()=>""),c=b?`: ${b.slice(0,200)}`:"";return{message:`Grok CLI billing API error (${a.status})${c}`}}let f=await a.json().catch(()=>null);if(!f||"object"!=typeof f)return{message:"Grok CLI billing response was not JSON."};let g=null;b?.ok&&(g=await b.json().catch(()=>null));let h=function(a,b=null){let c,d=a&&"object"==typeof a?a:{},e=d.config&&"object"==typeof d.config&&!Array.isArray(d.config)?d.config:d,f=q(e.billingPeriodEnd)||q(e.currentPeriod?.end)||q(d.billingPeriodEnd)||null,g={},h=Y(e.onDemandCap??d.onDemandCap,NaN),i=Y(e.onDemandUsed??d.onDemandUsed,NaN);if(Number.isFinite(h)&&h>0){let a=Number.isFinite(i)?Math.max(0,i):0;g["On-demand"]=Z({used:a,total:h,resetAt:f})}let j=Y(e.monthlyLimit??d.monthlyLimit,NaN),k=Y(e.used??d.used,NaN);Number.isFinite(j)&&j>0&&(g.Monthly=Z({used:Number.isFinite(k)?Math.max(0,k):0,total:j,resetAt:f}));let l=Y(e.prepaidBalance??d.prepaidBalance,NaN);return Number.isFinite(l)&&l>0&&(g.Prepaid={used:0,total:l,remainingPercentage:100,resetAt:null,unlimited:!1}),(b?.hasGrokCodeAccess===!0||e?.isUnifiedBillingUser===!0)&&(g["Grok Code"]={used:0,total:0,remainingPercentage:100,resetAt:f,unlimited:!0}),0===Object.keys(g).length&&(g.Included={used:0,total:0,remainingPercentage:100,resetAt:f,unlimited:!0}),{plan:(c="string"==typeof b?.subscriptionTier?b.subscriptionTier.trim():"")?c.replace(/[_-]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()):b?.hasGrokCodeAccess===!0?"Grok Code":(e?.isUnifiedBillingUser,"Grok Build"),quotas:g,periodEnd:f}}(f,g);if(!h.quotas||0===Object.keys(h.quotas).length)return{plan:h.plan,message:"Grok Build connected, but no credit allotment was returned. Free promo may be exhausted — upgrade at https://grok.com/supergrok or add credits at https://grok.com/?_s=usage.",quotas:{}};return{plan:h.plan,quotas:h.quotas}}catch(a){return{message:`Grok CLI usage error: ${a.message}`}}}function _(a,b=0,c=""){if(!a||"object"!=typeof a||b>4)return null;let d=[];for(let[e,f]of Object.entries(a)){let a=e.toLowerCase();if(f&&"object"==typeof f&&!Array.isArray(f)){let a=_(f,b+1,c?`${c}.${e}`:e);a&&d.push(a);continue}if("number"!=typeof f&&"string"!=typeof f)continue;let g=E(f,NaN);Number.isFinite(g)&&/(remaining|balance|credit|quota|limit|allowance|cap|used|spent|consumed)/i.test(a)&&d.push({key:c?`${c}.${e}`:e,name:e,value:g,kind:a})}return d.length?d:null}function aa(a){if(!a?.length)return null;let b=b=>a.find(a=>b.test(a.kind)||b.test(a.name)),c=b(/remaining|balance|credit(?!s_used)/i),d=b(/limit|cap|allowance|total|quota(?!_used)/i),e=b(/used|spent|consumed/i);if(d&&Number(d.value)>0){let a=e?Math.max(0,Number(e.value)):c?Math.max(0,Number(d.value)-Number(c.value)):0,b=Math.max(0,Number(d.value)-a);return{used:a,total:Number(d.value),remainingPercentage:b/Number(d.value)*100,resetAt:null,unlimited:!1}}if(c&&Number(c.value)>=0){let a=Number(c.value);return{used:0,total:a>0?a:1,remainingPercentage:100*(a>0),resetAt:null,unlimited:!1}}return null}async function ab(a,b="cline",d=null){if(!a)return{message:"Cline access token not available."};try{let{buildClineHeaders:f}=await Promise.resolve().then(c.bind(c,87793)),g=f(a,{Accept:"application/json"}),h=await (0,e.F)("https://api.cline.bot/api/v1/users/me",{method:"GET",headers:g},d);if(401===h.status||403===h.status)return{message:"Cline authentication expired. Please re-authorize."};if(!h.ok)return{message:`Cline user API error (${h.status})`};let i=await h.json().catch(()=>null);if(!i||"object"!=typeof i)return{message:"Cline user response was not JSON."};let j=i.data&&"object"==typeof i.data?i.data:i,k=j.email||j.user?.email||null,l=j.plan||j.subscription?.plan||j.subscription?.name||j.organization?.plan||j.organizations?.[0]?.plan||("clinepass"===b?"ClinePass":"Cline"),m=_(j)||[],n=aa(m),o={};n&&(o.Credits=n);let p=j.organizations||j.organization;if(!Object.keys(o).length&&p&&(o.Account={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}),!Object.keys(o).length)return{plan:"string"==typeof l?l:"Cline",email:k,message:"Cline connected. No credit allotment was returned by the account API.",quotas:{}};return{plan:"string"==typeof l?l:"Cline",email:k,quotas:o}}catch(a){return{message:`Cline usage error: ${a.message}`}}}async function ac(a,b=null,c=null){if(!a)return{message:"Kimchi access token not available."};try{let d=await (0,e.F)("https://app.kimchi.dev/api/v1/me",{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`,"User-Agent":"kimchi/0.1.50"}},c);if(401===d.status||403===d.status)return{message:"Kimchi authentication expired. Please re-authorize."};if(!d.ok)return{message:`Kimchi user API error (${d.status})`};let f=await d.json().catch(()=>null);if(!f||"object"!=typeof f)return{message:"Kimchi user response was not JSON."};let g=f.email||b?.username||null,h=f.plan||f.tier||f.subscription?.name||"Kimchi",i=_(f)||[],j=aa(i),k={};return j?k.Credits=j:k.Account={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0},{plan:"string"==typeof h?h:"Kimchi",email:g,quotas:k}}catch(a){return{message:`Kimchi usage error: ${a.message}`}}}async function ad(a,b=null,c=null){if(!a)return{message:"xAI token not available."};try{let d={Authorization:`Bearer ${a}`,Accept:"application/json"},f=0,g=null,h=null;for(let a of["https://api.x.ai/v1/api-key","https://api.x.ai/v1/models"]){let b=await (0,e.F)(a,{method:"GET",headers:d},c);if(f=b.status,401===b.status||403===b.status)return{message:"xAI authentication expired. Please re-authorize or update the API key."};if(b.ok){g=await b.json().catch(()=>null),h=a;break}}if(!g)return{message:`xAI API error (${f||"unknown"})`};let i=_(g)||[],j=aa(i),k={};j?k.Credits=j:(Array.isArray(g?.data)&&g.data.length,k.API={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0});let l=b?.email||null,m=g.name||g.api_key_name||g.team?.name||(h?.includes("api-key")?"xAI API Key":"xAI");return{plan:"string"==typeof m?m:"xAI",email:l,quotas:k}}catch(a){return{message:`xAI usage error: ${a.message}`}}}async function ae(a,b=null){if(!a)return{message:"Cursor access token not available."};let c=b?.plan||b?.membershipType||"Cursor",d=b?.email||null;try{let b=String(a).split(".");if(3===b.length){let a=b[1].replace(/-/g,"+").replace(/_/g,"/"),e=a+"=".repeat((4-a.length%4)%4),f=JSON.parse(Buffer.from(e,"base64").toString("utf8"));d=d||f.email||f.preferred_username||null,c=f.plan||f.subscription||f.membershipType||f.tier||c}}catch{}return{plan:"string"==typeof c?c:"Cursor",email:d,quotas:{Session:{used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}}}}},17371:(a,b,c)=>{"use strict";c.d(b,{q:()=>j});var d=c(55511),e=c(69384),f=c(30395),g=c(46956),h=c(73952),i=c(11484);class j extends e.Hv{constructor(){super("autoclaw",f.xq.autoclaw)}buildUrl(){return`${h.Cw}/chat/completions`}async execute({model:a,body:b,stream:c,credentials:e,signal:f,log:i,proxyOptions:j=null}){let k,l=this.buildUrl();if(!e?.accessToken)return{response:new Response(JSON.stringify({error:{message:"autoclaw credential is missing accessToken; reconnect the account"}}),{status:401,headers:{"Content-Type":"application/json"}}),url:l,headers:{},transformedBody:b};let m=String(a||"").replace(/^autoclaw\//,""),n=String(e.accessToken).replace(/^Bearer\s+/i,""),o=String(Math.floor(Date.now()/1e3)),p={"Content-Type":"application/json","X-Authorization":n,"X-Request-Id":(0,d.randomUUID)(),"X-Request-Model":m,"X-Auth-Appid":h.df,"X-Auth-Timestamp":o,"X-Auth-Sign":(0,h.$O)(o),"X-Product":"autoclaw","X-Version":h._V,"X-Tm":"web","X-Trace-Id":(0,d.randomUUID)(),Accept:"text/event-stream"},q={model:"x",messages:Array.isArray(b?.messages)?b.messages:[],stream:!1!==c,temperature:"number"==typeof b?.temperature?b.temperature:.7};Array.isArray(b?.tools)&&(q.tools=b.tools),b?.tool_choice!==void 0&&(q.tool_choice=b.tool_choice),"number"==typeof b?.max_tokens&&(q.max_tokens=b.max_tokens);try{k=await (0,g.F)(l,{method:"POST",headers:p,body:JSON.stringify(q),signal:f},j)}catch(a){throw a}return{response:k,url:l,headers:p,transformedBody:q}}async refreshCredentials(a,b,c=null){if(!a?.refreshToken)return null;try{let d=await (0,g.F)(h.VR,{method:"POST",headers:(0,h.p8)({authorization:String(a.accessToken||"").replace(/^Bearer\s+/i,"")}),body:JSON.stringify({refresh_token:a.refreshToken})},c);if(!d.ok)return await (0,i.aI)(d),null;let e=await d.json(),f=e?.data||e,j=f?.access_token||f?.accessToken;if(!j)return null;return b?.info?.("TOKEN","autoclaw refreshed"),{accessToken:j,refreshToken:f?.refresh_token||f?.refreshToken||a.refreshToken,expiresIn:86400}}catch(a){return b?.error?.("TOKEN",`autoclaw refresh error: ${a.message}`),null}}}},18686:(a,b,c)=>{"use strict";c.r(b),c.d(b,{convertCursorToOpenAI:()=>f});var d=c(56294),e=c(42541);function f(a,b){return a?("chat.completion.chunk"===a.object&&a.choices||"chat.completion"===a.object&&a.choices,a):null}(0,d.kz)(e.h.CURSOR,e.h.OPENAI,null,f)},18922:(a,b,c)=>{"use strict";c.d(b,{cj:()=>n});var d=c(24081),e=c(50743);let f=null,g=0;async function h(){if(f&&Date.now()-g<5e3)return f;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,45874)),b=await a(),d="false"!==process.env.OBSERVABILITY_ENABLED;f={enabled:"boolean"==typeof b.enableObservability?b.enableObservability:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{f={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return g=Date.now(),f}let i=[],j=null,k=!1,l=!1;async function m(){if(k)return!1;if(0===i.length)return!0;k=!0;let a=null,b=[],c=!1;try{a=await h(),b=i.splice(0,Math.max(1,a.batchSize));let f=await (0,d.cK)();f.transaction(()=>{for(let a of b)f.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[a.id,a.timestamp,a.provider,a.model,a.connectionId,a.status,(0,e.s)(a)]);let c=f.get("SELECT COUNT(*) as c FROM requestDetails");c&&c.c>a.maxRecords&&f.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[c.c-a.maxRecords])}),c=!0}catch(c){if(b.length>0){i=[...b,...i];let c=Math.min(1e3,Math.max(100,4*(a?.batchSize||20)));i.length>c&&(i.splice(0,i.length-c),l||(l=!0,console.warn(`[requestDetailsRepo] Buffer limit reached (${c}); dropping oldest observability records`)))}console.error("[requestDetailsRepo] Batch write failed:",c)}finally{k=!1,0===i.length?l=!1:j||(j=setTimeout(()=>{j=null,m().catch(()=>{})},c?0:Math.max(250,Math.min(a?.flushIntervalMs||5e3,5e3))),j.unref?.())}return c}async function n(){for(j&&(clearTimeout(j),j=null);k;)await new Promise(a=>setTimeout(a,10));for(;i.length>0;){if(!await m())throw j&&(clearTimeout(j),j=null),Error("Failed to flush request details to the database");for(;k;)await new Promise(a=>setTimeout(a,10))}}},19071:(a,b,c)=>{"use strict";let{kConnected:d,kPending:e,kRunning:f,kSize:g,kFree:h,kQueued:i}=c(49176);class j{constructor(a){this.connected=a[d],this.pending=a[e],this.running=a[f],this.size=a[g]}}class k{constructor(a){this.connected=a[d],this.free=a[h],this.pending=a[e],this.queued=a[i],this.running=a[f],this.size=a[g]}}a.exports={ClientStats:j,PoolStats:k}},19396:(a,b,c)=>{var d=c(45654);c(33889),d.cipher=d.cipher||{};var e=a.exports=d.cipher.modes=d.cipher.modes||{};function f(a,b){if("string"==typeof a&&(a=d.util.createBuffer(a)),d.util.isArray(a)&&a.length>4){var c=a;a=d.util.createBuffer();for(var e=0;e<c.length;++e)a.putByte(c[e])}if(a.length()<b)throw Error("Invalid IV length; got "+a.length()+" bytes and expected "+b+" bytes.");if(!d.util.isArray(a)){for(var f=[],g=b/4,e=0;e<g;++e)f.push(a.getInt32());a=f}return a}function g(a){a[a.length-1]=a[a.length-1]+1|0}function h(a){return[a/0x100000000|0,0|a]}e.ecb=function(a){a=a||{},this.name="ECB",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=Array(this._ints),this._outBlock=Array(this._ints)},e.ecb.prototype.start=function(a){},e.ecb.prototype.encrypt=function(a,b,c){if(a.length()<this.blockSize&&!(c&&a.length()>0))return!0;for(var d=0;d<this._ints;++d)this._inBlock[d]=a.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var d=0;d<this._ints;++d)b.putInt32(this._outBlock[d])},e.ecb.prototype.decrypt=function(a,b,c){if(a.length()<this.blockSize&&!(c&&a.length()>0))return!0;for(var d=0;d<this._ints;++d)this._inBlock[d]=a.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var d=0;d<this._ints;++d)b.putInt32(this._outBlock[d])},e.ecb.prototype.pad=function(a,b){var c=a.length()===this.blockSize?this.blockSize:this.blockSize-a.length();return a.fillWithByte(c,c),!0},e.ecb.prototype.unpad=function(a,b){if(b.overflow>0)return!1;var c=a.length(),d=a.at(c-1);return!(d>this.blockSize<<2)&&(a.truncate(d),!0)},e.cbc=function(a){a=a||{},this.name="CBC",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=Array(this._ints),this._outBlock=Array(this._ints)},e.cbc.prototype.start=function(a){if(null===a.iv){if(!this._prev)throw Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in a)this._iv=f(a.iv,this.blockSize),this._prev=this._iv.slice(0);else throw Error("Invalid IV parameter.")},e.cbc.prototype.encrypt=function(a,b,c){if(a.length()<this.blockSize&&!(c&&a.length()>0))return!0;for(var d=0;d<this._ints;++d)this._inBlock[d]=this._prev[d]^a.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var d=0;d<this._ints;++d)b.putInt32(this._outBlock[d]);this._prev=this._outBlock},e.cbc.prototype.decrypt=function(a,b,c){if(a.length()<this.blockSize&&!(c&&a.length()>0))return!0;for(var d=0;d<this._ints;++d)this._inBlock[d]=a.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var d=0;d<this._ints;++d)b.putInt32(this._prev[d]^this._outBlock[d]);this._prev=this._inBlock.slice(0)},e.cbc.prototype.pad=function(a,b){var c=a.length()===this.blockSize?this.blockSize:this.blockSize-a.length();return a.fillWithByte(c,c),!0},e.cbc.prototype.unpad=function(a,b){if(b.overflow>0)return!1;var c=a.length(),d=a.at(c-1);return!(d>this.blockSize<<2)&&(a.truncate(d),!0)},e.cfb=function(a){a=a||{},this.name="CFB",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=Array(this._ints),this._partialBlock=Array(this._ints),this._partialOutput=d.util.createBuffer(),this._partialBytes=0},e.cfb.prototype.start=function(a){if(!("iv"in a))throw Error("Invalid IV parameter.");this._iv=f(a.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},e.cfb.prototype.encrypt=function(a,b,c){var d=a.length();if(0===d)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&d>=this.blockSize){for(var e=0;e<this._ints;++e)this._inBlock[e]=a.getInt32()^this._outBlock[e],b.putInt32(this._inBlock[e]);return}var f=(this.blockSize-d)%this.blockSize;f>0&&(f=this.blockSize-f),this._partialOutput.clear();for(var e=0;e<this._ints;++e)this._partialBlock[e]=a.getInt32()^this._outBlock[e],this._partialOutput.putInt32(this._partialBlock[e]);if(f>0)a.read-=this.blockSize;else for(var e=0;e<this._ints;++e)this._inBlock[e]=this._partialBlock[e];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),f>0&&!c)return b.putBytes(this._partialOutput.getBytes(f-this._partialBytes)),this._partialBytes=f,!0;b.putBytes(this._partialOutput.getBytes(d-this._partialBytes)),this._partialBytes=0},e.cfb.prototype.decrypt=function(a,b,c){var d=a.length();if(0===d)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&d>=this.blockSize){for(var e=0;e<this._ints;++e)this._inBlock[e]=a.getInt32(),b.putInt32(this._inBlock[e]^this._outBlock[e]);return}var f=(this.blockSize-d)%this.blockSize;f>0&&(f=this.blockSize-f),this._partialOutput.clear();for(var e=0;e<this._ints;++e)this._partialBlock[e]=a.getInt32(),this._partialOutput.putInt32(this._partialBlock[e]^this._outBlock[e]);if(f>0)a.read-=this.blockSize;else for(var e=0;e<this._ints;++e)this._inBlock[e]=this._partialBlock[e];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),f>0&&!c)return b.putBytes(this._partialOutput.getBytes(f-this._partialBytes)),this._partialBytes=f,!0;b.putBytes(this._partialOutput.getBytes(d-this._partialBytes)),this._partialBytes=0},e.ofb=function(a){a=a||{},this.name="OFB",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=Array(this._ints),this._partialOutput=d.util.createBuffer(),this._partialBytes=0},e.ofb.prototype.start=function(a){if(!("iv"in a))throw Error("Invalid IV parameter.");this._iv=f(a.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},e.ofb.prototype.encrypt=function(a,b,c){var d=a.length();if(0===a.length())return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&d>=this.blockSize){for(var e=0;e<this._ints;++e)b.putInt32(a.getInt32()^this._outBlock[e]),this._inBlock[e]=this._outBlock[e];return}var f=(this.blockSize-d)%this.blockSize;f>0&&(f=this.blockSize-f),this._partialOutput.clear();for(var e=0;e<this._ints;++e)this._partialOutput.putInt32(a.getInt32()^this._outBlock[e]);if(f>0)a.read-=this.blockSize;else for(var e=0;e<this._ints;++e)this._inBlock[e]=this._outBlock[e];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),f>0&&!c)return b.putBytes(this._partialOutput.getBytes(f-this._partialBytes)),this._partialBytes=f,!0;b.putBytes(this._partialOutput.getBytes(d-this._partialBytes)),this._partialBytes=0},e.ofb.prototype.decrypt=e.ofb.prototype.encrypt,e.ctr=function(a){a=a||{},this.name="CTR",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=Array(this._ints),this._partialOutput=d.util.createBuffer(),this._partialBytes=0},e.ctr.prototype.start=function(a){if(!("iv"in a))throw Error("Invalid IV parameter.");this._iv=f(a.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0},e.ctr.prototype.encrypt=function(a,b,c){var d=a.length();if(0===d)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&d>=this.blockSize)for(var e=0;e<this._ints;++e)b.putInt32(a.getInt32()^this._outBlock[e]);else{var f=(this.blockSize-d)%this.blockSize;f>0&&(f=this.blockSize-f),this._partialOutput.clear();for(var e=0;e<this._ints;++e)this._partialOutput.putInt32(a.getInt32()^this._outBlock[e]);if(f>0&&(a.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),f>0&&!c)return b.putBytes(this._partialOutput.getBytes(f-this._partialBytes)),this._partialBytes=f,!0;b.putBytes(this._partialOutput.getBytes(d-this._partialBytes)),this._partialBytes=0}g(this._inBlock)},e.ctr.prototype.decrypt=e.ctr.prototype.encrypt,e.gcm=function(a){a=a||{},this.name="GCM",this.cipher=a.cipher,this.blockSize=a.blockSize||16,this._ints=this.blockSize/4,this._inBlock=Array(this._ints),this._outBlock=Array(this._ints),this._partialOutput=d.util.createBuffer(),this._partialBytes=0,this._R=0xe1000000},e.gcm.prototype.start=function(a){if(!("iv"in a))throw Error("Invalid IV parameter.");var b,c=d.util.createBuffer(a.iv);if(this._cipherLength=0,b="additionalData"in a?d.util.createBuffer(a.additionalData):d.util.createBuffer(),"tagLength"in a?this._tagLength=a.tagLength:this._tagLength=128,this._tag=null,a.decrypt&&(this._tag=d.util.createBuffer(a.tag).getBytes(),this._tag.length!==this._tagLength/8))throw Error("Authentication tag does not match tag length.");this._hashBlock=Array(this._ints),this.tag=null,this._hashSubkey=Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var e=c.length();if(12===e)this._j0=[c.getInt32(),c.getInt32(),c.getInt32(),1];else{for(this._j0=[0,0,0,0];c.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[c.getInt32(),c.getInt32(),c.getInt32(),c.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(h(8*e)))}this._inBlock=this._j0.slice(0),g(this._inBlock),this._partialBytes=0,b=d.util.createBuffer(b),this._aDataLength=h(8*b.length());var f=b.length()%this.blockSize;for(f&&b.fillWithByte(0,this.blockSize-f),this._s=[0,0,0,0];b.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[b.getInt32(),b.getInt32(),b.getInt32(),b.getInt32()])},e.gcm.prototype.encrypt=function(a,b,c){var d=a.length();if(0===d)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),0===this._partialBytes&&d>=this.blockSize){for(var e=0;e<this._ints;++e)b.putInt32(this._outBlock[e]^=a.getInt32());this._cipherLength+=this.blockSize}else{var f=(this.blockSize-d)%this.blockSize;f>0&&(f=this.blockSize-f),this._partialOutput.clear();for(var e=0;e<this._ints;++e)this._partialOutput.putInt32(a.getInt32()^this._outBlock[e]);if(f<=0||c){if(c){var h=d%this.blockSize;this._cipherLength+=h,this._partialOutput.truncate(this.blockSize-h)}else this._cipherLength+=this.blockSize;for(var e=0;e<this._ints;++e)this._outBlock[e]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),f>0&&!c)return a.read-=this.blockSize,b.putBytes(this._partialOutput.getBytes(f-this._partialBytes)),this._partialBytes=f,!0;b.putBytes(this._partialOutput.getBytes(d-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),g(this._inBlock)},e.gcm.prototype.decrypt=function(a,b,c){var d=a.length();if(d<this.blockSize&&!(c&&d>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),g(this._inBlock),this._hashBlock[0]=a.getInt32(),this._hashBlock[1]=a.getInt32(),this._hashBlock[2]=a.getInt32(),this._hashBlock[3]=a.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var e=0;e<this._ints;++e)b.putInt32(this._outBlock[e]^this._hashBlock[e]);d<this.blockSize?this._cipherLength+=d%this.blockSize:this._cipherLength+=this.blockSize},e.gcm.prototype.afterFinish=function(a,b){var c=!0;b.decrypt&&b.overflow&&a.truncate(this.blockSize-b.overflow),this.tag=d.util.createBuffer();var e=this._aDataLength.concat(h(8*this._cipherLength));this._s=this.ghash(this._hashSubkey,this._s,e);var f=[];this.cipher.encrypt(this._j0,f);for(var g=0;g<this._ints;++g)this.tag.putInt32(this._s[g]^f[g]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),b.decrypt&&this.tag.bytes()!==this._tag&&(c=!1),c},e.gcm.prototype.multiply=function(a,b){for(var c=[0,0,0,0],d=b.slice(0),e=0;e<128;++e)a[e/32|0]&1<<31-e%32&&(c[0]^=d[0],c[1]^=d[1],c[2]^=d[2],c[3]^=d[3]),this.pow(d,d);return c},e.gcm.prototype.pow=function(a,b){for(var c=1&a[3],d=3;d>0;--d)b[d]=a[d]>>>1|(1&a[d-1])<<31;b[0]=a[0]>>>1,c&&(b[0]^=this._R)},e.gcm.prototype.tableMultiply=function(a){for(var b=[0,0,0,0],c=0;c<32;++c){var d=a[c/8|0]>>>(7-c%8)*4&15,e=this._m[c][d];b[0]^=e[0],b[1]^=e[1],b[2]^=e[2],b[3]^=e[3]}return b},e.gcm.prototype.ghash=function(a,b,c){return b[0]^=c[0],b[1]^=c[1],b[2]^=c[2],b[3]^=c[3],this.tableMultiply(b)},e.gcm.prototype.generateHashTable=function(a,b){for(var c=8/b,d=4*c,e=16*c,f=Array(e),g=0;g<e;++g){var h=[0,0,0,0],i=g/d|0,j=(d-1-g%d)*b;h[i]=1<<b-1<<j,f[g]=this.generateSubHashTable(this.multiply(h,a),b)}return f},e.gcm.prototype.generateSubHashTable=function(a,b){var c=1<<b,d=c>>>1,e=Array(c);e[d]=a.slice(0);for(var f=d>>>1;f>0;)this.pow(e[2*f],e[f]=[]),f>>=1;for(f=2;f<d;){for(var g=1;g<f;++g){var h=e[f],i=e[g];e[f+g]=[h[0]^i[0],h[1]^i[1],h[2]^i[2],h[3]^i[3]]}f*=2}for(e[0]=[0,0,0,0],f=d+1;f<c;++f){var j=e[f^d];e[f]=[a[0]^j[0],a[1]^j[1],a[2]^j[2],a[3]^j[3]]}return e}},19431:(a,b,c)=>{"use strict";let d=c(34589),{Readable:e}=c(57075),f=c(84285),g=c(89409),h=c(38650),i=c(56698),{assertCacheStore:j,assertCacheMethods:k,makeCacheKey:l,normalizeHeaders:m,parseCacheControlHeader:n,isInvalidOrWildcardVaryHeader:o}=c(79468),{AbortError:p}=c(61448),{parseHttpDate:q}=c(24214),r=()=>{};function s(a,b){for(let c=0;c<a.length;c++)if(a[c]===b)return!0;return!1}function t(a,b){return a.cacheControlDirectives?.["must-revalidate"]===!0||"shared"===b&&(a.cacheControlDirectives?.["proxy-revalidate"]===!0||a.cacheControlDirectives?.["s-maxage"]!==void 0)}function u(a,b){try{a.delete(b)?.catch?.(r)}catch{}}function v(a,b){let c={...a.headers,"if-modified-since":function(a){let b=a?.["last-modified"];if("string"==typeof b&&q(b))return b}(b.headers)??new Date(b.cachedAt).toUTCString()};if(b.etag&&(c["if-none-match"]=b.etag),b.vary)for(let a in b.vary)null!=b.vary[a]&&(c[a]=b.vary[a]);return c}function w(a,b,c,g,h,i){let j=f.isStream(c.body)?c.body:e.from(c.body??[]);d(!j.destroyed,"stream should not be destroyed"),d(!j.readableDidRead,"stream should not be readableDidRead");let k={rawHeaders:[],rawTrailers:[],resume(){j.resume()},pause(){j.pause()},get paused(){return j.isPaused()},get aborted(){return j.destroyed},get reason(){return j.errored},abort(a){j.destroy(a??new p)}};if(j.on("error",function(b){if(!this.readableEnded)if("function"==typeof a.onResponseError)a.onResponseError(k,b);else throw b}).on("close",function(){this.errored||a.onResponseEnd?.(k,{})}),a.onRequestStart?.(k,h),j.destroyed)return;let l={...c.headers,age:String(g)};i&&(l.warning='110 - "response is stale"'),k.rawHeaders=f.toRawHeaders(l),a.onResponseStart?.(k,c.statusCode,l,c.statusMessage),"HEAD"===b.method?j.destroy():j.on("data",function(b){a.onResponseData?.(k,b)})}function x(a,b,c,d,e,h,j){var k,l,m,q,s;let x;if(!j){if(h?.["only-if-cached"]){let a=!1,b={paused:!1,rawHeaders:[],rawTrailers:[],pause(){this.paused=!0},resume(){this.paused=!1},abort:c=>{a=!0,d.onResponseError?.(b,c??new p)}};try{if(d.onRequestStart?.(b,null),a||(d.onResponseStart?.(b,504,{},"Gateway Timeout"),a))return;d.onResponseEnd?.(b,{})}catch(a){"function"==typeof d.onResponseError&&d.onResponseError(b,a)}return!0}return a(e,new g(b,c,d))}let y=Date.now();if(y>j.deleteAt)return a(e,new g(b,c,d));let z=Math.round((y-j.cachedAt)/1e3),A=h?.["max-age"]!==void 0&&z>=h["max-age"],B=A||(k=j,l=h,m=b.type,(x=Date.now())>k.staleAt?!(!t(k,m)&&l?.["max-stale"])||x>k.staleAt+1e3*l["max-stale"]:!!l?.["min-fresh"]&&k.staleAt-x<=1e3*l["min-fresh"]),C=A||function(a,b,{headers:c={}}){return!!(b?.["no-cache"]||a.cacheControlDirectives?.["no-cache"]&&!Array.isArray(a.cacheControlDirectives["no-cache"]))||!!c["if-modified-since"]||!!c["if-none-match"]}(j,h,e);if(B||C){let k;if(f.isStream(e.body)&&0!==f.bodyLength(e.body))return a(e,new g(b,c,d));if(!C&&(q=j,s=b.type,!(!(k=q.cacheControlDirectives?.["stale-while-revalidate"])||t(q,s))&&Date.now()<=q.staleAt+1e3*k))return w(d,e,j,z,null,!0),queueMicrotask(()=>{let d=v(e,j);a({...e,headers:d},new g(b,c,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let l=!1;if(!t(j,b.type)){let a=j.cacheControlDirectives["stale-if-error"]??h?.["stale-if-error"];a&&(l=y<j.staleAt+1e3*a)}let m=v(e,j);return a({...e,headers:m},new i((h,i,k,l)=>{if(h){if(304===k){if(function(a,b){if(b.vary&&o(b.vary))return!0;let c=b["cache-control"];if(!c)return!1;let d=n(c);return!0===d["no-store"]||"shared"===a&&!0===d.private}(b.type,l))return f.isStream(j.body)&&j.body.on("error",r).destroy(),u(b.store,c),a(e,new g(b,c,d));void 0!==l["cache-control"]&&u(b.store,c)}w(d,e,j,z,i,B)}else f.isStream(j.body)&&j.body.on("error",r).destroy()},new g(b,c,d),l))}f.isStream(e.body)&&e.body.on("error",r).destroy(),w(d,e,j,z,null,!1)}a.exports=(a={})=>{let{store:b=new h,methods:c=["GET"],cacheByDefault:d,type:e="shared",origins:g}=a;if("object"!=typeof a||null===a)throw TypeError(`expected type of opts to be an Object, got ${null===a?"null":typeof a}`);j(b,"opts.store"),k(c,"opts.methods");var i="opts.origins";if(void 0!==g){if(!Array.isArray(g))throw TypeError(`expected ${i} to be an array or undefined, got ${typeof g}`);for(let a=0;a<g.length;a++){let b=g[a];if("string"!=typeof b&&!(b instanceof RegExp))throw TypeError(`expected ${i}[${a}] to be a string or RegExp, got ${typeof b}`)}}if(void 0!==d&&"number"!=typeof d)throw TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof d}`);if(void 0!==e&&"shared"!==e&&"private"!==e)throw TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof e}`);let o={store:b,methods:c,cacheByDefault:d,type:e},p=[];for(let a=0;a<f.safeHTTPMethods.length;a++){let b=f.safeHTTPMethods[a];s(c,b)||p.push(b)}return a=>(c,d)=>{if(s(p,c.method))return a(c,d);if(void 0!==g){if(!c.origin)return a(c,d);let b=c.origin.toString().toLowerCase(),e=!1;for(let a=0;a<g.length;a++){let c=g[a];if("string"==typeof c){if(c.toLowerCase()===b){e=!0;break}}else if(c.test(b)){e=!0;break}}if(!e)return a(c,d)}c={...c,headers:m(c)};let e=c.headers?.["cache-control"]?n(c.headers["cache-control"]):!function(a){let b=a?.pragma;if(!b)return!1;let c=Array.isArray(b)?b:[b];for(let a=0;a<c.length;a++){let b=c[a];if("string"!=typeof b)continue;let d=b.split(",");for(let a=0;a<d.length;a++)if("no-cache"===d[a].replace(/^[\t ]+|[\t ]+$/g,"").toLowerCase())return!0}return!1}(c.headers)?void 0:{"no-cache":!0};if(e?.["no-store"])return a(c,d);let f=l(c),h=b.get(f);return h&&"function"==typeof h.then?h.then(b=>x(a,o,f,d,c,e,b)):x(a,o,f,d,c,e,h)}}},19458:(a,b,c)=>{"use strict";c.d(b,{SZ:()=>e}),c(30395);var d=c(14372);function e(a){return!function(a){let b=a.messages||a.contents;if(!b?.length)return!0;let c=b[b.length-1];return c?.role==="user"}(a)&&(delete a.reasoning_effort,delete a.thinking),a}c(48991),c(87793),Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]))},19608:a=>{"use strict";let b=["GET","HEAD","POST"],c=new Set(b),d=[301,302,303,307,308],e=new Set(d),f=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],g=new Set(f),h=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],i=["",...h],j=new Set(h),k=["GET","HEAD","OPTIONS","TRACE","QUERY"],l=new Set(k),m=["CONNECT","TRACE","TRACK"],n=new Set(m),o=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],p=new Set(o);a.exports={subresource:o,forbiddenMethods:m,requestBodyHeader:["content-encoding","content-language","content-location","content-type","content-length"],referrerPolicy:i,requestRedirect:["follow","manual","error"],requestMode:["navigate","same-origin","no-cors","cors"],requestCredentials:["omit","same-origin","include"],requestCache:["default","no-store","reload","no-cache","force-cache","only-if-cached"],redirectStatus:d,corsSafeListedMethods:b,nullBodyStatus:[101,204,205,304],safeMethods:k,badPorts:f,requestDuplex:["half"],subresourceSet:p,badPortsSet:g,redirectStatusSet:e,corsSafeListedMethodsSet:c,safeMethodsSet:l,forbiddenMethodsSet:n,referrerPolicyTokens:j}},19957:(a,b,c)=>{"use strict";c.r(b),c.d(b,{geminiToOpenAIResponse:()=>f});var d=c(56294),e=c(42541);function f(a,b){if(!a)return null;let c=a.response||a;if(!c||!c.candidates?.[0])return null;let d=[],e=c.candidates[0],f=e.content;if(b.messageId||(b.messageId=c.responseId||`msg_${Date.now()}`,b.model=c.modelVersion||"gemini",b.functionIndex=0,d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),f?.parts)for(let a of f.parts){let c=a.thoughtSignature||a.thought_signature,e=!0===a.thought;if(c){let c=void 0!==a.text&&""!==a.text,f=!!a.functionCall;if(c&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:e?{reasoning_content:a.text}:{content:a.text},finish_reason:null}]}),f){let c=a.functionCall.name,e=b.toolNameMap?.get(c)||c,f=a.functionCall.args||{},g=b.functionIndex++,h={id:`${e}-${Date.now()}-${g}`,index:g,type:"function",function:{name:e,arguments:JSON.stringify(f)}};b.toolCalls.set(g,h),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[h]},finish_reason:null}]})}continue}if(void 0!==a.text&&""!==a.text&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{content:a.text},finish_reason:null}]}),a.functionCall){let c=a.functionCall.name,e=b.toolNameMap?.get(c)||c,f=a.functionCall.args||{},g=b.functionIndex++,h={id:`${e}-${Date.now()}-${g}`,index:g,type:"function",function:{name:e,arguments:JSON.stringify(f)}};b.toolCalls.set(g,h),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[h]},finish_reason:null}]})}let f=a.inlineData||a.inline_data;if(f?.data){let a=f.mimeType||f.mime_type||"image/png";d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{images:[{type:"image_url",image_url:{url:`data:${a};base64,${f.data}`}}]},finish_reason:null}]})}}let g=c.usageMetadata||a.usageMetadata;if(g&&"object"==typeof g){let a="number"==typeof g.cachedContentTokenCount?g.cachedContentTokenCount:0,c="number"==typeof g.promptTokenCount?g.promptTokenCount:0,d="number"==typeof g.thoughtsTokenCount?g.thoughtsTokenCount:0,e="number"==typeof g.candidatesTokenCount?g.candidatesTokenCount:0,f="number"==typeof g.totalTokenCount?g.totalTokenCount:0;0===e&&f>0&&(e=f-c-d)<0&&(e=0),b.usage={prompt_tokens:c,completion_tokens:e+d,total_tokens:f},a>0&&(b.usage.prompt_tokens_details={cached_tokens:a}),d>0&&(b.usage.completion_tokens_details={reasoning_tokens:d})}if(e.finishReason){let a=e.finishReason.toLowerCase();"stop"===a&&b.toolCalls.size>0&&(a="tool_calls");let c={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}]};b.usage&&(c.usage=b.usage),d.push(c),b.finishReason=a}return d.length>0?d:null}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,null,f),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,null,f),(0,d.kz)(e.h.ANTIGRAVITY,e.h.OPENAI,null,f),(0,d.kz)(e.h.VERTEX,e.h.OPENAI,null,f)},20096:a=>{var b={};a.exports=b;var c={};b.encode=function(a,b,c){if("string"!=typeof b)throw TypeError('"alphabet" must be a string.');if(void 0!==c&&"number"!=typeof c)throw TypeError('"maxline" must be a number.');var d="";if(a instanceof Uint8Array){var e=0,f=b.length,g=b.charAt(0),h=[0];for(e=0;e<a.length;++e){for(var i=0,j=a[e];i<h.length;++i)j+=h[i]<<8,h[i]=j%f,j=j/f|0;for(;j>0;)h.push(j%f),j=j/f|0}for(e=0;0===a[e]&&e<a.length-1;++e)d+=g;for(e=h.length-1;e>=0;--e)d+=b[h[e]]}else d=function(a,b){var c=0,d=b.length,e=b.charAt(0),f=[0];for(c=0;c<a.length();++c){for(var g=0,h=a.at(c);g<f.length;++g)h+=f[g]<<8,f[g]=h%d,h=h/d|0;for(;h>0;)f.push(h%d),h=h/d|0}var i="";for(c=0;0===a.at(c)&&c<a.length()-1;++c)i+=e;for(c=f.length-1;c>=0;--c)i+=b[f[c]];return i}(a,b);if(c){var k=RegExp(".{1,"+c+"}","g");d=d.match(k).join("\r\n")}return d},b.decode=function(a,b){if("string"!=typeof a)throw TypeError('"input" must be a string.');if("string"!=typeof b)throw TypeError('"alphabet" must be a string.');var d=c[b];if(!d){d=c[b]=[];for(var e=0;e<b.length;++e)d[b.charCodeAt(e)]=e}a=a.replace(/\s/g,"");for(var f=b.length,g=b.charAt(0),h=[0],e=0;e<a.length;e++){var i=d[a.charCodeAt(e)];if(void 0===i)return;for(var j=0,k=i;j<h.length;++j)k+=h[j]*f,h[j]=255&k,k>>=8;for(;k>0;)h.push(255&k),k>>=8}for(var l=0;a[l]===g&&l<a.length-1;++l)h.push(0);return"u">typeof Buffer?Buffer.from(h.reverse()):new Uint8Array(h.reverse())}},20308:(a,b,c)=>{var d=c(45654);if(c(45518),c(63070),c(88819),c(1277),c(36105),c(70710),c(49345),c(29984),c(67382),c(10401),c(33889),void 0===e)var e=d.jsbn.BigInteger;var f=d.asn1,g=d.pki=d.pki||{};a.exports=g.pbe=d.pbe=d.pbe||{};var h=g.oids,i={name:"EncryptedPrivateKeyInfo",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:f.Class.UNIVERSAL,type:f.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:f.Class.UNIVERSAL,type:f.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},j={name:"PBES2Algorithms",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:f.Class.UNIVERSAL,type:f.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:f.Class.UNIVERSAL,type:f.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:f.Class.UNIVERSAL,type:f.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:f.Class.UNIVERSAL,type:f.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:f.Class.UNIVERSAL,type:f.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:f.Class.UNIVERSAL,type:f.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:f.Class.UNIVERSAL,type:f.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},k={name:"pkcs-12PbeParams",tagClass:f.Class.UNIVERSAL,type:f.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:f.Class.UNIVERSAL,type:f.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:f.Class.UNIVERSAL,type:f.Type.INTEGER,constructed:!1,capture:"iterations"}]};function l(a,b){return a.start().update(b).digest().getBytes()}function m(a){var b;if(a){if(!(b=g.oids[f.derToOid(a)])){var c=Error("Unsupported PRF OID.");throw c.oid=a,c.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],c}}else b="hmacWithSHA1";return n(b)}function n(a){var b=d.md;switch(a){case"hmacWithSHA224":b=d.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":a=a.substr(8).toLowerCase();break;default:var c=Error("Unsupported PRF algorithm.");throw c.algorithm=a,c.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],c}if(!b||!(a in b))throw Error("Unknown hash algorithm: "+a);return b[a].create()}g.encryptPrivateKeyInfo=function(a,b,c){(c=c||{}).saltSize=c.saltSize||8,c.count=c.count||2048,c.algorithm=c.algorithm||"aes128",c.prfAlgorithm=c.prfAlgorithm||"sha1";var e=d.random.getBytesSync(c.saltSize),i=c.count,j=f.integerToDer(i);if(0===c.algorithm.indexOf("aes")||"des"===c.algorithm){switch(c.algorithm){case"aes128":q=16,t=16,u=h["aes128-CBC"],v=d.aes.createEncryptionCipher;break;case"aes192":q=24,t=16,u=h["aes192-CBC"],v=d.aes.createEncryptionCipher;break;case"aes256":q=32,t=16,u=h["aes256-CBC"],v=d.aes.createEncryptionCipher;break;case"des":q=8,t=8,u=h.desCBC,v=d.des.createEncryptionCipher;break;default:var k,l,m,o,p,q,r,s,t,u,v,w=Error("Cannot encrypt private key. Unknown encryption algorithm.");throw w.algorithm=c.algorithm,w}var x="hmacWith"+c.prfAlgorithm.toUpperCase(),y=n(x),z=d.pkcs5.pbkdf2(b,e,i,q,y),A=d.random.getBytesSync(t),B=v(z);B.start(A),B.update(f.toDer(a)),B.finish(),s=B.output.getBytes();var C=(k=e,l=j,m=q,o=x,p=f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OCTETSTRING,!1,k),f.create(f.Class.UNIVERSAL,f.Type.INTEGER,!1,l.getBytes())]),"hmacWithSHA1"!==o&&p.value.push(f.create(f.Class.UNIVERSAL,f.Type.INTEGER,!1,d.util.hexToBytes(m.toString(16))),f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OID,!1,f.oidToDer(g.oids[o]).getBytes()),f.create(f.Class.UNIVERSAL,f.Type.NULL,!1,"")])),p);r=f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OID,!1,f.oidToDer(h.pkcs5PBES2).getBytes()),f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OID,!1,f.oidToDer(h.pkcs5PBKDF2).getBytes()),C]),f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OID,!1,f.oidToDer(u).getBytes()),f.create(f.Class.UNIVERSAL,f.Type.OCTETSTRING,!1,A)])])])}else if("3des"===c.algorithm){q=24;var D=new d.util.ByteBuffer(e),z=g.pbe.generatePkcs12Key(b,D,1,i,q),A=g.pbe.generatePkcs12Key(b,D,2,i,q),B=d.des.createEncryptionCipher(z);B.start(A),B.update(f.toDer(a)),B.finish(),s=B.output.getBytes(),r=f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OID,!1,f.oidToDer(h["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[f.create(f.Class.UNIVERSAL,f.Type.OCTETSTRING,!1,e),f.create(f.Class.UNIVERSAL,f.Type.INTEGER,!1,j.getBytes())])])}else{var w=Error("Cannot encrypt private key. Unknown encryption algorithm.");throw w.algorithm=c.algorithm,w}return f.create(f.Class.UNIVERSAL,f.Type.SEQUENCE,!0,[r,f.create(f.Class.UNIVERSAL,f.Type.OCTETSTRING,!1,s)])},g.decryptPrivateKeyInfo=function(a,b){var c=null,e={},h=[];if(!f.validate(a,i,e,h)){var j=Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw j.errors=h,j}var k=f.derToOid(e.encryptionOid),l=g.pbe.getCipher(k,e.encryptionParams,b),m=d.util.createBuffer(e.encryptedData);return l.update(m),l.finish()&&(c=f.fromDer(l.output)),c},g.encryptedPrivateKeyToPem=function(a,b){var c={type:"ENCRYPTED PRIVATE KEY",body:f.toDer(a).getBytes()};return d.pem.encode(c,{maxline:b})},g.encryptedPrivateKeyFromPem=function(a){var b=d.pem.decode(a)[0];if("ENCRYPTED PRIVATE KEY"!==b.type){var c=Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw c.headerType=b.type,c}if(b.procType&&"ENCRYPTED"===b.procType.type)throw Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return f.fromDer(b.body)},g.encryptRsaPrivateKey=function(a,b,c){if(!(c=c||{}).legacy){var e,h,i,j,k=g.wrapRsaPrivateKey(g.privateKeyToAsn1(a));return k=g.encryptPrivateKeyInfo(k,b,c),g.encryptedPrivateKeyToPem(k)}switch(c.algorithm){case"aes128":e="AES-128-CBC",i=16,h=d.random.getBytesSync(16),j=d.aes.createEncryptionCipher;break;case"aes192":e="AES-192-CBC",i=24,h=d.random.getBytesSync(16),j=d.aes.createEncryptionCipher;break;case"aes256":e="AES-256-CBC",i=32,h=d.random.getBytesSync(16),j=d.aes.createEncryptionCipher;break;case"3des":e="DES-EDE3-CBC",i=24,h=d.random.getBytesSync(8),j=d.des.createEncryptionCipher;break;case"des":e="DES-CBC",i=8,h=d.random.getBytesSync(8),j=d.des.createEncryptionCipher;break;default:var l=Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+c.algorithm+'".');throw l.algorithm=c.algorithm,l}var m=j(d.pbe.opensslDeriveBytes(b,h.substr(0,8),i));m.start(h),m.update(f.toDer(g.privateKeyToAsn1(a))),m.finish();var n={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:e,parameters:d.util.bytesToHex(h).toUpperCase()},body:m.output.getBytes()};return d.pem.encode(n)},g.decryptRsaPrivateKey=function(a,b){var c=null,e=d.pem.decode(a)[0];if("ENCRYPTED PRIVATE KEY"!==e.type&&"PRIVATE KEY"!==e.type&&"RSA PRIVATE KEY"!==e.type){var h=Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw h.headerType=h,h}if(e.procType&&"ENCRYPTED"===e.procType.type){switch(e.dekInfo.algorithm){case"DES-CBC":i=8,j=d.des.createDecryptionCipher;break;case"DES-EDE3-CBC":i=24,j=d.des.createDecryptionCipher;break;case"AES-128-CBC":i=16,j=d.aes.createDecryptionCipher;break;case"AES-192-CBC":i=24,j=d.aes.createDecryptionCipher;break;case"AES-256-CBC":i=32,j=d.aes.createDecryptionCipher;break;case"RC2-40-CBC":i=5,j=function(a){return d.rc2.createDecryptionCipher(a,40)};break;case"RC2-64-CBC":i=8,j=function(a){return d.rc2.createDecryptionCipher(a,64)};break;case"RC2-128-CBC":i=16,j=function(a){return d.rc2.createDecryptionCipher(a,128)};break;default:var i,j,h=Error('Could not decrypt private key; unsupported encryption algorithm "'+e.dekInfo.algorithm+'".');throw h.algorithm=e.dekInfo.algorithm,h}var k=d.util.hexToBytes(e.dekInfo.parameters),l=j(d.pbe.opensslDeriveBytes(b,k.substr(0,8),i));if(l.start(k),l.update(d.util.createBuffer(e.body)),!l.finish())return c;c=l.output.getBytes()}else c=e.body;return null!==(c="ENCRYPTED PRIVATE KEY"===e.type?g.decryptPrivateKeyInfo(f.fromDer(c),b):f.fromDer(c))&&(c=g.privateKeyFromAsn1(c)),c},g.pbe.generatePkcs12Key=function(a,b,c,e,f,g){if(null==g){if(!("sha1"in d.md))throw Error('"sha1" hash algorithm unavailable.');g=d.md.sha1.create()}var h,i,j=g.digestLength,k=g.blockLength,l=new d.util.ByteBuffer,m=new d.util.ByteBuffer;if(null!=a){for(i=0;i<a.length;i++)m.putInt16(a.charCodeAt(i));m.putInt16(0)}var n=m.length(),o=b.length(),p=new d.util.ByteBuffer;p.fillWithByte(c,k);var q=k*Math.ceil(o/k),r=new d.util.ByteBuffer;for(i=0;i<q;i++)r.putByte(b.at(i%o));var s=k*Math.ceil(n/k),t=new d.util.ByteBuffer;for(i=0;i<s;i++)t.putByte(m.at(i%n));var u=r;u.putBuffer(t);for(var v=Math.ceil(f/j),w=1;w<=v;w++){var x=new d.util.ByteBuffer;x.putBytes(p.bytes()),x.putBytes(u.bytes());for(var y=0;y<e;y++)g.start(),g.update(x.getBytes()),x=g.digest();var z=new d.util.ByteBuffer;for(i=0;i<k;i++)z.putByte(x.at(i%j));var A=Math.ceil(o/k)+Math.ceil(n/k),B=new d.util.ByteBuffer;for(h=0;h<A;h++){var C=new d.util.ByteBuffer(u.getBytes(k)),D=511;for(i=z.length()-1;i>=0;i--)D>>=8,D+=z.at(i)+C.at(i),C.setAt(i,255&D);B.putBuffer(C)}u=B,l.putBuffer(x)}return l.truncate(l.length()-f),l},g.pbe.getCipher=function(a,b,c){switch(a){case g.oids.pkcs5PBES2:return g.pbe.getCipherForPBES2(a,b,c);case g.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case g.oids["pbewithSHAAnd40BitRC2-CBC"]:return g.pbe.getCipherForPKCS12PBE(a,b,c);default:var d=Error("Cannot read encrypted PBE data block. Unsupported OID.");throw d.oid=a,d.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],d}},g.pbe.getCipherForPBES2=function(a,b,c){var e,h,i={},k=[];if(!f.validate(b,j,i,k)){var l=Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw l.errors=k,l}if((a=f.derToOid(i.kdfOid))!==g.oids.pkcs5PBKDF2){var l=Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw l.oid=a,l.supportedOids=["pkcs5PBKDF2"],l}if((a=f.derToOid(i.encOid))!==g.oids["aes128-CBC"]&&a!==g.oids["aes192-CBC"]&&a!==g.oids["aes256-CBC"]&&a!==g.oids["des-EDE3-CBC"]&&a!==g.oids.desCBC){var l=Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw l.oid=a,l.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],l}var n=i.kdfSalt,o=d.util.createBuffer(i.kdfIterationCount);switch(o=o.getInt(o.length()<<3),g.oids[a]){case"aes128-CBC":e=16,h=d.aes.createDecryptionCipher;break;case"aes192-CBC":e=24,h=d.aes.createDecryptionCipher;break;case"aes256-CBC":e=32,h=d.aes.createDecryptionCipher;break;case"des-EDE3-CBC":e=24,h=d.des.createDecryptionCipher;break;case"desCBC":e=8,h=d.des.createDecryptionCipher}var p=m(i.prfOid),q=d.pkcs5.pbkdf2(c,n,o,e,p),r=i.encIv,s=h(q);return s.start(r),s},g.pbe.getCipherForPKCS12PBE=function(a,b,c){var e,h,i,j={},l=[];if(!f.validate(b,k,j,l)){var n=Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw n.errors=l,n}var o=d.util.createBuffer(j.salt),p=d.util.createBuffer(j.iterations);switch(p=p.getInt(p.length()<<3),a){case g.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:e=24,h=8,i=d.des.startDecrypting;break;case g.oids["pbewithSHAAnd40BitRC2-CBC"]:e=5,h=8,i=function(a,b){var c=d.rc2.createDecryptionCipher(a,40);return c.start(b,null),c};break;default:var n=Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw n.oid=a,n}var q=m(j.prfOid),r=g.pbe.generatePkcs12Key(c,o,1,p,e,q);return q.start(),i(r,g.pbe.generatePkcs12Key(c,o,2,p,h,q))},g.pbe.opensslDeriveBytes=function(a,b,c,e){if(null==e){if(!("md5"in d.md))throw Error('"md5" hash algorithm unavailable.');e=d.md.md5.create()}null===b&&(b="");for(var f=[l(e,a+b)],g=16,h=1;g<c;++h,g+=16)f.push(l(e,f[h-1]+a+b));return f.join("").substr(0,c)}},20579:(a,b,c)=>{"use strict";let d,{Writable:e}=c(57075),{assertCacheKey:f,assertCacheValue:g}=c(79468);a.exports=class{#g=2e9;#h=1/0;#i;#j;#k;#l;#m;#n;#o;#p;constructor(a){if(a){if("object"!=typeof a)throw TypeError("SqliteCacheStore options must be an object");if(void 0!==a.maxEntrySize){if("number"!=typeof a.maxEntrySize||!Number.isInteger(a.maxEntrySize)||a.maxEntrySize<0)throw TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");if(a.maxEntrySize>2e9)throw TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");this.#g=a.maxEntrySize}if(void 0!==a.maxCount){if("number"!=typeof a.maxCount||!Number.isInteger(a.maxCount)||a.maxCount<0)throw TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");this.#h=a.maxCount}}d||(d=c(79868).DatabaseSync),this.#i=new d(a?.location??":memory:"),this.#i.exec(`
224
224
  PRAGMA journal_mode = WAL;
225
225
  PRAGMA synchronous = NORMAL;
226
226
  PRAGMA temp_store = memory;
@@ -304,7 +304,7 @@ Respond ONLY with the JSON object, no other text.`)}else"json_object"===a.type&&
304
304
  ORDER BY cachedAt ASC
305
305
  LIMIT ?
306
306
  )
307
- `)}close(){this.#i.close()}get(a){f(a);let b=this.#q(a);return b?{body:b.body?Buffer.from(b.body.buffer,b.body.byteOffset,b.body.byteLength):void 0,statusCode:b.statusCode,statusMessage:b.statusMessage,headers:b.headers?JSON.parse(b.headers):void 0,etag:b.etag?b.etag:void 0,vary:b.vary?JSON.parse(b.vary):void 0,cacheControlDirectives:b.cacheControlDirectives?JSON.parse(b.cacheControlDirectives):void 0,cachedAt:b.cachedAt,staleAt:b.staleAt,deleteAt:b.deleteAt}:void 0}set(a,b){f(a);let c=this.#r(a),d=Array.isArray(b.body)?Buffer.concat(b.body):b.body,e=d?.byteLength;if(e&&e>this.#g)return;let g=this.#q(a,!0);g?this.#k.run(d,b.deleteAt,b.statusCode,b.statusMessage,b.headers?JSON.stringify(b.headers):null,b.etag?b.etag:null,b.cacheControlDirectives?JSON.stringify(b.cacheControlDirectives):null,b.vary?JSON.stringify(b.vary):null,b.cachedAt,b.staleAt,g.id):(this.#l.run(c,a.method,d,b.deleteAt,b.statusCode,b.statusMessage,b.headers?JSON.stringify(b.headers):null,b.etag?b.etag:null,b.cacheControlDirectives?JSON.stringify(b.cacheControlDirectives):null,b.vary?JSON.stringify(b.vary):null,b.cachedAt,b.staleAt),this.#s())}createWriteStream(a,b){f(a),g(b);let c=0,d=[],h=this;return new e({decodeStrings:!0,write(a,b,e){(c+=a.byteLength)<=h.#g?d.push(a):this.destroy(),e()},final(c){h.set(a,{...b,body:d}),c()}})}delete(a){if("object"!=typeof a)throw TypeError(`expected key to be object, got ${typeof a}`);this.#n.run(this.#r(a))}#s(){if(Number.isFinite(this.#h)&&this.size<=this.#h)return 0;{let a=this.#m.run(Date.now()).changes;if(a)return a}{let a=this.#p?.run(Math.max(Math.floor(.1*this.#h),1)).changes;if(a)return a}return 0}get size(){let{total:a}=this.#o.get();return a}#r(a){return`${a.origin}/${a.path}`}#q(a,b=!1){let c=this.#r(a),{headers:d,method:e}=a,f=this.#j.all(c,e);if(0===f.length)return;let g=Date.now();for(let a of f){if(g>=a.deleteAt&&!b)continue;let c=!0;if(a.vary){let b=JSON.parse(a.vary);for(let a in b)if(!function(a,b){if(null==a&&null==b)return!0;if(null==a&&null!=b||null!=a&&null==b)return!1;if(Array.isArray(a)&&Array.isArray(b)){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}return a===b}(d[a],b[a])){c=!1;break}}if(c)return a}}}},21616:(a,b,c)=>{"use strict";c.d(b,{JA:()=>m});var d=c(55511),e=c.n(d),f=c(77598);let g=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,f.createHash)("sha1").update(a).digest()},h=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,i=function(a){let b;if(!("string"==typeof a&&h.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var j=c(82009);function k(a,b,c,d){var e=b,f=d;let h="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof e?i(e):e;if("string"==typeof e&&(e=i(e)),e?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+h.length);if(l.set(k),l.set(h,k.length),(l=g(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){if((f??=0)<0||f+16>c.length)throw RangeError(`UUID byte range ${f}:${f+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[f+a]=l[a];return c}return(0,j.k)(l)}function l(a,b=""){return e().createHash("sha256").update(a+b).digest("hex")}function m(a,b=null,c=!0){let d=a.includes("::")?a.split("::")[1]:a,f=b||l(d,"machineId"),g=k(d,k.DNS),h=l(d),i=function(a){let b=Math.floor(Date.now()/1e6),c=new Uint8Array([b>>40&255,b>>32&255,b>>24&255,b>>16&255,b>>8&255,255&b]),d=165;for(let a=0;a<c.length;a++)c[a]=(c[a]^d)+a%256&255,d=c[a];let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",f="";for(let a=0;a<c.length;a+=3){let b=c[a],d=a+1<c.length?c[a+1]:0,g=a+2<c.length?c[a+2]:0;f+=e[b>>2],f+=e[(3&b)<<4|d>>4],a+1<c.length&&(f+=e[(15&d)<<2|g>>6]),a+2<c.length&&(f+=e[63&g])}return`${f}${a}`}(f),j="linux";"u">typeof process&&("win32"===process.platform?j="windows":"darwin"===process.platform&&(j="macos"));let n="x64";return"u">typeof process&&"arm64"===process.arch&&(n="aarch64"),{authorization:`Bearer ${d}`,"connect-accept-encoding":"gzip","connect-protocol-version":"1","content-type":"application/connect+proto","user-agent":"connect-es/1.6.1","x-amzn-trace-id":`Root=${e().randomUUID()}`,"x-client-key":h,"x-cursor-checksum":i,"x-cursor-client-version":"3.1.0","x-cursor-client-type":"ide","x-cursor-client-os":j,"x-cursor-client-arch":n,"x-cursor-client-device-type":"desktop","x-cursor-config-version":e().randomUUID(),"x-cursor-timezone":Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC","x-ghost-mode":c?"true":"false","x-request-id":e().randomUUID(),"x-session-id":g}}k.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",k.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8"},22164:(a,b,c)=>{var d=c(45654);c(32e3),c(29984),c(37691),c(33889);var e=c(24547),f=e.publicKeyValidator,g=e.privateKeyValidator;if(void 0===h)var h=d.jsbn.BigInteger;var i=d.util.ByteBuffer,j="u"<typeof Buffer?Uint8Array:Buffer;d.pki=d.pki||{},a.exports=d.pki.ed25519=d.ed25519=d.ed25519||{};var k=d.ed25519;function l(a){var b=a.message;if(b instanceof Uint8Array||b instanceof j)return b;var c=a.encoding;if(void 0===b)if(a.md)b=a.md.digest().getBytes(),c="binary";else throw TypeError('"options.message" or "options.md" not specified.');if("string"==typeof b&&!c)throw TypeError('"options.encoding" must be "binary" or "utf8".');if("string"==typeof b){if("u">typeof Buffer)return Buffer.from(b,c);b=new i(b,c)}else if(!(b instanceof i))throw TypeError('"options.message" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a string with "options.encoding" specifying its encoding.');for(var d=new j(b.length()),e=0;e<d.length;++e)d[e]=b.at(e);return d}k.constants={},k.constants.PUBLIC_KEY_BYTE_LENGTH=32,k.constants.PRIVATE_KEY_BYTE_LENGTH=64,k.constants.SEED_BYTE_LENGTH=32,k.constants.SIGN_BYTE_LENGTH=64,k.constants.HASH_BYTE_LENGTH=64,k.generateKeyPair=function(a){var b=(a=a||{}).seed;if(void 0===b)b=d.random.getBytesSync(k.constants.SEED_BYTE_LENGTH);else if("string"==typeof b){if(b.length!==k.constants.SEED_BYTE_LENGTH)throw TypeError('"seed" must be '+k.constants.SEED_BYTE_LENGTH+" bytes in length.")}else if(!(b instanceof Uint8Array))throw TypeError('"seed" must be a node.js Buffer, Uint8Array, or a binary string.');b=l({message:b,encoding:"binary"});for(var c=new j(k.constants.PUBLIC_KEY_BYTE_LENGTH),e=new j(k.constants.PRIVATE_KEY_BYTE_LENGTH),f=0;f<32;++f)e[f]=b[f];return function(a,b){var c,d=[J(),J(),J(),J()],e=u(b,32);for(e[0]&=248,e[31]&=127,e[31]|=64,F(d,e),z(a,d),c=0;c<32;++c)b[c+32]=a[c]}(c,e),{publicKey:c,privateKey:e}},k.privateKeyFromAsn1=function(a){var b={},c=[];if(!d.asn1.validate(a,g,b,c)){var e=Error("Invalid Key.");throw e.errors=c,e}var f=d.asn1.derToOid(b.privateKeyOid),h=d.oids.EdDSA25519;if(f!==h)throw Error('Invalid OID "'+f+'"; OID must be "'+h+'".');var i=b.privateKey;return{privateKeyBytes:l({message:d.asn1.fromDer(i).value,encoding:"binary"})}},k.publicKeyFromAsn1=function(a){var b={},c=[];if(!d.asn1.validate(a,f,b,c)){var e=Error("Invalid Key.");throw e.errors=c,e}var g=d.asn1.derToOid(b.publicKeyOid),h=d.oids.EdDSA25519;if(g!==h)throw Error('Invalid OID "'+g+'"; OID must be "'+h+'".');var i=b.ed25519PublicKey;if(i.length!==k.constants.PUBLIC_KEY_BYTE_LENGTH)throw Error("Key length is invalid.");return l({message:i,encoding:"binary"})},k.publicKeyFromPrivateKey=function(a){var b=l({message:(a=a||{}).privateKey,encoding:"binary"});if(b.length!==k.constants.PRIVATE_KEY_BYTE_LENGTH)throw TypeError('"options.privateKey" must have a byte length of '+k.constants.PRIVATE_KEY_BYTE_LENGTH);for(var c=new j(k.constants.PUBLIC_KEY_BYTE_LENGTH),d=0;d<c.length;++d)c[d]=b[32+d];return c},k.sign=function(a){var b=l(a=a||{}),c=l({message:a.privateKey,encoding:"binary"});if(c.length===k.constants.SEED_BYTE_LENGTH)c=k.generateKeyPair({seed:c}).privateKey;else if(c.length!==k.constants.PRIVATE_KEY_BYTE_LENGTH)throw TypeError('"options.privateKey" must have a byte length of '+k.constants.SEED_BYTE_LENGTH+" or "+k.constants.PRIVATE_KEY_BYTE_LENGTH);var d=new j(k.constants.SIGN_BYTE_LENGTH+b.length);!function(a,b,c,d){var e,f,g=new Float64Array(64),h=[J(),J(),J(),J()],i=u(d,32);for(i[0]&=248,i[31]&=127,i[31]|=64,e=0;e<c;++e)a[64+e]=b[e];for(e=0;e<32;++e)a[32+e]=i[32+e];var j=u(a.subarray(32),c+32);for(w(j),F(h,j),z(a,h),e=32;e<64;++e)a[e]=d[e];var k=u(a,c+64);for(w(k),e=32;e<64;++e)g[e]=0;for(e=0;e<32;++e)g[e]=j[e];for(e=0;e<32;++e)for(f=0;f<32;f++)g[e+f]+=k[e]*i[f];v(a.subarray(32),g)}(d,b,b.length,c);for(var e=new j(k.constants.SIGN_BYTE_LENGTH),f=0;f<e.length;++f)e[f]=d[f];return e},k.verify=function(a){var b,c=l(a=a||{});if(void 0===a.signature)throw TypeError('"options.signature" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a binary string.');var d=l({message:a.signature,encoding:"binary"});if(d.length!==k.constants.SIGN_BYTE_LENGTH)throw TypeError('"options.signature" must have a byte length of '+k.constants.SIGN_BYTE_LENGTH);var e=l({message:a.publicKey,encoding:"binary"});if(e.length!==k.constants.PUBLIC_KEY_BYTE_LENGTH)throw TypeError('"options.publicKey" must have a byte length of '+k.constants.PUBLIC_KEY_BYTE_LENGTH);var f=new j(k.constants.SIGN_BYTE_LENGTH+c.length),g=new j(k.constants.SIGN_BYTE_LENGTH+c.length);for(b=0;b<k.constants.SIGN_BYTE_LENGTH;++b)f[b]=d[b];for(b=0;b<c.length;++b)f[b+k.constants.SIGN_BYTE_LENGTH]=c[b];return function(a,b,c,d){var e,f,g,h,i,k,l,p,q,r,v=new j(32),y=[J(),J(),J(),J()],A=[J(),J(),J(),J()];if(c<64||(e=A,f=d,g=J(),h=J(),i=J(),k=J(),l=J(),p=J(),q=J(),(G(e[2],n),function(a,b){var c;for(c=0;c<16;++c)a[c]=b[2*c]+(b[2*c+1]<<8);a[15]&=32767}(e[1],f),function(a,b){M(a,b,b)}(i,e[1]),M(k,i,o),L(i,i,e[2]),K(k,e[2],k),function(a,b){M(a,b,b)}(l,k),function(a,b){M(a,b,b)}(p,l),M(q,p,l),M(g,q,i),M(g,g,k),function(a,b){var c,d=J();for(c=0;c<16;++c)d[c]=b[c];for(c=250;c>=0;--c)(function(a,b){M(a,b,b)})(d,d),1!==c&&M(d,d,b);for(c=0;c<16;++c)a[c]=d[c]}(g,g),M(g,g,i),M(g,g,k),M(g,g,k),M(e[0],g,k),function(a,b){M(a,b,b)}(h,e[0]),M(h,h,k),B(h,i)&&M(e[0],e[0],t),function(a,b){M(a,b,b)}(h,e[0]),M(h,h,k),B(h,i))?-1:(D(e[0])===f[31]>>7&&L(e[0],m,e[0]),M(e[3],e[0],e[1]),0))||!function(a){var b;for(b=31;b>=0;--b){if(a[32+b]<s[b])return!0;if(a[32+b]>s[b])break}return!1}(b))return -1;for(r=0;r<c;++r)a[r]=b[r];for(r=0;r<32;++r)a[r+32]=d[r];var H=u(a,c);if(w(H),E(y,A,H),F(A,b.subarray(32)),x(y,A),z(v,y),c-=64,function(a,b,c,d){return C(a,b,c,d,32)}(b,0,v,0)){for(r=0;r<c;++r)a[r]=0;return -1}for(r=0;r<c;++r)a[r]=b[r+64];return c}(g,f,f.length,e)>=0};var m=J(),n=J([1]),o=J([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),p=J([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),q=J([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),r=J([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),s=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),t=J([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function u(a,b){var c=d.md.sha512.create(),e=new i(a);c.update(e.getBytes(b),"binary");var f=c.digest().getBytes();if("u">typeof Buffer)return Buffer.from(f,"binary");for(var g=new j(k.constants.HASH_BYTE_LENGTH),h=0;h<64;++h)g[h]=f.charCodeAt(h);return g}function v(a,b){var c,d,e,f;for(d=63;d>=32;--d){for(c=0,e=d-32,f=d-12;e<f;++e)b[e]+=c-16*b[d]*s[e-(d-32)],c=b[e]+128>>8,b[e]-=256*c;b[e]+=c,b[d]=0}for(e=0,c=0;e<32;++e)b[e]+=c-(b[31]>>4)*s[e],c=b[e]>>8,b[e]&=255;for(e=0;e<32;++e)b[e]-=c*s[e];for(d=0;d<32;++d)b[d+1]+=b[d]>>8,a[d]=255&b[d]}function w(a){for(var b=new Float64Array(64),c=0;c<64;++c)b[c]=a[c],a[c]=0;v(a,b)}function x(a,b){var c=J(),d=J(),e=J(),f=J(),g=J(),h=J(),i=J(),j=J(),k=J();L(c,a[1],a[0]),L(k,b[1],b[0]),M(c,c,k),K(d,a[0],a[1]),K(k,b[0],b[1]),M(d,d,k),M(e,a[3],b[3]),M(e,e,p),M(f,a[2],b[2]),K(f,f,f),L(g,d,c),L(h,f,e),K(i,f,e),K(j,d,c),M(a[0],g,h),M(a[1],j,i),M(a[2],i,h),M(a[3],g,j)}function y(a,b,c){for(var d=0;d<4;++d)I(a[d],b[d],c)}function z(a,b){var c=J(),d=J(),e=J();(function(a,b){var c,d=J();for(c=0;c<16;++c)d[c]=b[c];for(c=253;c>=0;--c)(function(a,b){M(a,b,b)})(d,d),2!==c&&4!==c&&M(d,d,b);for(c=0;c<16;++c)a[c]=d[c]})(e,b[2]),M(c,b[0],e),M(d,b[1],e),A(a,d),a[31]^=D(c)<<7}function A(a,b){var c,d,e,f=J(),g=J();for(c=0;c<16;++c)g[c]=b[c];for(H(g),H(g),H(g),d=0;d<2;++d){for(c=1,f[0]=g[0]-65517;c<15;++c)f[c]=g[c]-65535-(f[c-1]>>16&1),f[c-1]&=65535;f[15]=g[15]-32767-(f[14]>>16&1),e=f[15]>>16&1,f[14]&=65535,I(g,f,1-e)}for(c=0;c<16;c++)a[2*c]=255&g[c],a[2*c+1]=g[c]>>8}function B(a,b){var c=new j(32),d=new j(32);return A(c,a),A(d,b),C(c,0,d,0,32)}function C(a,b,c,d,e){var f,g=0;for(f=0;f<e;++f)g|=a[b+f]^c[d+f];return(1&g-1>>>8)-1}function D(a){var b=new j(32);return A(b,a),1&b[0]}function E(a,b,c){var d,e;for(G(a[0],m),G(a[1],n),G(a[2],n),G(a[3],m),e=255;e>=0;--e)y(a,b,d=c[e/8|0]>>(7&e)&1),x(b,a),x(a,a),y(a,b,d)}function F(a,b){var c=[J(),J(),J(),J()];G(c[0],q),G(c[1],r),G(c[2],n),M(c[3],q,r),E(a,c,b)}function G(a,b){var c;for(c=0;c<16;c++)a[c]=0|b[c]}function H(a){var b,c,d=1;for(b=0;b<16;++b)d=Math.floor((c=a[b]+d+65535)/65536),a[b]=c-65536*d;a[0]+=d-1+37*(d-1)}function I(a,b,c){for(var d,e=~(c-1),f=0;f<16;++f)d=e&(a[f]^b[f]),a[f]^=d,b[f]^=d}function J(a){var b,c=new Float64Array(16);if(a)for(b=0;b<a.length;++b)c[b]=a[b];return c}function K(a,b,c){for(var d=0;d<16;++d)a[d]=b[d]+c[d]}function L(a,b,c){for(var d=0;d<16;++d)a[d]=b[d]-c[d]}function M(a,b,c){var d,e,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=c[0],L=c[1],M=c[2],N=c[3],O=c[4],P=c[5],Q=c[6],R=c[7],S=c[8],T=c[9],U=c[10],V=c[11],W=c[12],X=c[13],Y=c[14],Z=c[15];f+=(d=b[0])*K,g+=d*L,h+=d*M,i+=d*N,j+=d*O,k+=d*P,l+=d*Q,m+=d*R,n+=d*S,o+=d*T,p+=d*U,q+=d*V,r+=d*W,s+=d*X,t+=d*Y,u+=d*Z,g+=(d=b[1])*K,h+=d*L,i+=d*M,j+=d*N,k+=d*O,l+=d*P,m+=d*Q,n+=d*R,o+=d*S,p+=d*T,q+=d*U,r+=d*V,s+=d*W,t+=d*X,u+=d*Y,v+=d*Z,h+=(d=b[2])*K,i+=d*L,j+=d*M,k+=d*N,l+=d*O,m+=d*P,n+=d*Q,o+=d*R,p+=d*S,q+=d*T,r+=d*U,s+=d*V,t+=d*W,u+=d*X,v+=d*Y,w+=d*Z,i+=(d=b[3])*K,j+=d*L,k+=d*M,l+=d*N,m+=d*O,n+=d*P,o+=d*Q,p+=d*R,q+=d*S,r+=d*T,s+=d*U,t+=d*V,u+=d*W,v+=d*X,w+=d*Y,x+=d*Z,j+=(d=b[4])*K,k+=d*L,l+=d*M,m+=d*N,n+=d*O,o+=d*P,p+=d*Q,q+=d*R,r+=d*S,s+=d*T,t+=d*U,u+=d*V,v+=d*W,w+=d*X,x+=d*Y,y+=d*Z,k+=(d=b[5])*K,l+=d*L,m+=d*M,n+=d*N,o+=d*O,p+=d*P,q+=d*Q,r+=d*R,s+=d*S,t+=d*T,u+=d*U,v+=d*V,w+=d*W,x+=d*X,y+=d*Y,z+=d*Z,l+=(d=b[6])*K,m+=d*L,n+=d*M,o+=d*N,p+=d*O,q+=d*P,r+=d*Q,s+=d*R,t+=d*S,u+=d*T,v+=d*U,w+=d*V,x+=d*W,y+=d*X,z+=d*Y,A+=d*Z,m+=(d=b[7])*K,n+=d*L,o+=d*M,p+=d*N,q+=d*O,r+=d*P,s+=d*Q,t+=d*R,u+=d*S,v+=d*T,w+=d*U,x+=d*V,y+=d*W,z+=d*X,A+=d*Y,B+=d*Z,n+=(d=b[8])*K,o+=d*L,p+=d*M,q+=d*N,r+=d*O,s+=d*P,t+=d*Q,u+=d*R,v+=d*S,w+=d*T,x+=d*U,y+=d*V,z+=d*W,A+=d*X,B+=d*Y,C+=d*Z,o+=(d=b[9])*K,p+=d*L,q+=d*M,r+=d*N,s+=d*O,t+=d*P,u+=d*Q,v+=d*R,w+=d*S,x+=d*T,y+=d*U,z+=d*V,A+=d*W,B+=d*X,C+=d*Y,D+=d*Z,p+=(d=b[10])*K,q+=d*L,r+=d*M,s+=d*N,t+=d*O,u+=d*P,v+=d*Q,w+=d*R,x+=d*S,y+=d*T,z+=d*U,A+=d*V,B+=d*W,C+=d*X,D+=d*Y,E+=d*Z,q+=(d=b[11])*K,r+=d*L,s+=d*M,t+=d*N,u+=d*O,v+=d*P,w+=d*Q,x+=d*R,y+=d*S,z+=d*T,A+=d*U,B+=d*V,C+=d*W,D+=d*X,E+=d*Y,F+=d*Z,r+=(d=b[12])*K,s+=d*L,t+=d*M,u+=d*N,v+=d*O,w+=d*P,x+=d*Q,y+=d*R,z+=d*S,A+=d*T,B+=d*U,C+=d*V,D+=d*W,E+=d*X,F+=d*Y,G+=d*Z,s+=(d=b[13])*K,t+=d*L,u+=d*M,v+=d*N,w+=d*O,x+=d*P,y+=d*Q,z+=d*R,A+=d*S,B+=d*T,C+=d*U,D+=d*V,E+=d*W,F+=d*X,G+=d*Y,H+=d*Z,t+=(d=b[14])*K,u+=d*L,v+=d*M,w+=d*N,x+=d*O,y+=d*P,z+=d*Q,A+=d*R,B+=d*S,C+=d*T,D+=d*U,E+=d*V,F+=d*W,G+=d*X,H+=d*Y,I+=d*Z,u+=(d=b[15])*K,v+=d*L,w+=d*M,x+=d*N,y+=d*O,z+=d*P,A+=d*Q,B+=d*R,C+=d*S,D+=d*T,E+=d*U,F+=d*V,G+=d*W,H+=d*X,I+=d*Y,J+=d*Z,f+=38*v,g+=38*w,h+=38*x,i+=38*y,j+=38*z,k+=38*A,l+=38*B,m+=38*C,n+=38*D,o+=38*E,p+=38*F,q+=38*G,r+=38*H,s+=38*I,t+=38*J,e=Math.floor((d=f+(e=1)+65535)/65536),f=d-65536*e,e=Math.floor((d=g+e+65535)/65536),g=d-65536*e,e=Math.floor((d=h+e+65535)/65536),h=d-65536*e,e=Math.floor((d=i+e+65535)/65536),i=d-65536*e,e=Math.floor((d=j+e+65535)/65536),j=d-65536*e,e=Math.floor((d=k+e+65535)/65536),k=d-65536*e,e=Math.floor((d=l+e+65535)/65536),l=d-65536*e,e=Math.floor((d=m+e+65535)/65536),m=d-65536*e,e=Math.floor((d=n+e+65535)/65536),n=d-65536*e,e=Math.floor((d=o+e+65535)/65536),o=d-65536*e,e=Math.floor((d=p+e+65535)/65536),p=d-65536*e,e=Math.floor((d=q+e+65535)/65536),q=d-65536*e,e=Math.floor((d=r+e+65535)/65536),r=d-65536*e,e=Math.floor((d=s+e+65535)/65536),s=d-65536*e,e=Math.floor((d=t+e+65535)/65536),t=d-65536*e,e=Math.floor((d=u+e+65535)/65536),u=d-65536*e,f+=e-1+37*(e-1),e=Math.floor((d=f+(e=1)+65535)/65536),f=d-65536*e,e=Math.floor((d=g+e+65535)/65536),g=d-65536*e,e=Math.floor((d=h+e+65535)/65536),h=d-65536*e,e=Math.floor((d=i+e+65535)/65536),i=d-65536*e,e=Math.floor((d=j+e+65535)/65536),j=d-65536*e,e=Math.floor((d=k+e+65535)/65536),k=d-65536*e,e=Math.floor((d=l+e+65535)/65536),l=d-65536*e,e=Math.floor((d=m+e+65535)/65536),m=d-65536*e,e=Math.floor((d=n+e+65535)/65536),n=d-65536*e,e=Math.floor((d=o+e+65535)/65536),o=d-65536*e,e=Math.floor((d=p+e+65535)/65536),p=d-65536*e,e=Math.floor((d=q+e+65535)/65536),q=d-65536*e,e=Math.floor((d=r+e+65535)/65536),r=d-65536*e,e=Math.floor((d=s+e+65535)/65536),s=d-65536*e,e=Math.floor((d=t+e+65535)/65536),t=d-65536*e,e=Math.floor((d=u+e+65535)/65536),u=d-65536*e,f+=e-1+37*(e-1),a[0]=f,a[1]=g,a[2]=h,a[3]=i,a[4]=j,a[5]=k,a[6]=l,a[7]=m,a[8]=n,a[9]=o,a[10]=p,a[11]=q,a[12]=r,a[13]=s,a[14]=t,a[15]=u}},22409:(a,b,c)=>{"use strict";c.d(b,{F:()=>h});var d=c(50801),e=c(30395),f=c(14372),g=c(42541);class h extends d.L{constructor(){super("xiaomi-tokenplan")}buildUrl(a,b,c=0,d=null){let h=(0,e.Yg)(d);return(0,f.ux)(a,a)===g.h.CLAUDE?`${h.replace(/\/v1\/?$/,"/anthropic/v1")}/messages`:`${h}/chat/completions`}}},23242:(a,b,c)=>{"use strict";c.r(b),c.d(b,{ollamaBodyToOpenAI:()=>i,ollamaToOpenAI:()=>f});var d=c(56294),e=c(42541);function f(a,b){if(!a||"object"!=typeof a)return null;b.ollama||(b.ollama={id:`chatcmpl-${Date.now()}`,created:Math.floor(Date.now()/1e3),model:a.model||b.model});let{id:c,created:d,model:e}=b.ollama;if(a.done){let f=g(a),h="stop";return("tool_calls"===a.done_reason||b.hadToolCalls)&&(h="tool_calls"),{id:c,object:"chat.completion.chunk",created:d,model:e,choices:[{index:0,delta:{},finish_reason:h}],usage:f}}let f=a.message;if(!f)return null;let i="string"==typeof f.content?f.content:"",j="string"==typeof f.thinking?f.thinking:"",k=Array.isArray(f.tool_calls)?f.tool_calls:null;if(!i&&!j&&!k)return null;i&&(b.accumulatedContent=(b.accumulatedContent||"")+i),j&&(b.accumulatedThinking=(b.accumulatedThinking||"")+j);let l={};return i&&(l.content=i),j&&(l.reasoning_content=j),k&&(b.hadToolCalls=!0,l.tool_calls=h(k)),{id:c,object:"chat.completion.chunk",created:d,model:e,choices:[{index:0,delta:l,finish_reason:null}]}}function g(a){return{prompt_tokens:a.prompt_eval_count||0,completion_tokens:a.eval_count||0,total_tokens:(a.prompt_eval_count||0)+(a.eval_count||0)}}function h(a){return a.map((a,b)=>({index:a.function?.index??b,id:a.id||`call_${b}_${Date.now()}`,type:"function",function:{name:a.function?.name||"",arguments:"string"==typeof a.function?.arguments?a.function.arguments:JSON.stringify(a.function?.arguments||{})}}))}function i(a){let b=a.message||{},c=b.content||"",d=b.thinking||"",e=Array.isArray(b.tool_calls)?b.tool_calls:[],f={role:"assistant"};c&&(f.content=c),d&&(f.reasoning_content=d),e.length>0&&(f.tool_calls=h(e)),f.content||f.tool_calls||(f.content="");let i=a.done_reason||"stop";return e.length>0&&(i="tool_calls"),{id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"ollama",choices:[{index:0,message:f,finish_reason:i}],usage:g(a)}}(0,d.kz)(e.h.OLLAMA,e.h.OPENAI,null,f)},23423:(a,b,c)=>{"use strict";let d;a=c.nmd(a);let{Buffer:e}=c(4573);Object.defineProperty(a,"exports",{get:()=>d||(d=e.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAIcIgJBAmsO/AEB+QECAwQFBgcICQoLDA0ODxAREvgBE/cBFBX2ARYX9QEYGRobHB0eHyD9AfsBIfQBIiMkJSYnKCkqK/MBLC0uLzAxMvIB8QEzNPAB7wE1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk/6AVBRUlPuAe0BVOwBVesBVldYWVrqAVtcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZABkQGSAZMBlAGVAZYBlwGYAZkBmgGbAZwBnQGeAZ8BoAGhAaIBowGkAaUBpgGnAagBqQGqAasBrAGtAa4BrwGwAbEBsgGzAbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAekB6AHPAecB0AHmAdEB0gHTAdQB5QHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wEA/AELQQAM4wELQQ4M4gELQQ0M4QELQQ8M4AELQRAM3wELQRMM3gELQRQM3QELQRUM3AELQRYM2wELQRcM2gELQRgM2QELQRkM2AELQRoM1wELQRsM1gELQRwM1QELQR0M1AELQR4M0wELQR8M0gELQSAM0QELQSEM0AELQQgMzwELQSIMzgELQSQMzQELQSMMzAELQQcMywELQSUMygELQSYMyQELQScMyAELQSgMxwELQRIMxgELQREMxQELQSkMxAELQSoMwwELQSsMwgELQSwMwQELQd4BDMABC0EuDL8BC0EvDL4BC0EwDL0BC0ExDLwBC0EyDLsBC0EzDLoBC0E0DLkBC0HfAQy4AQtBNQy3AQtBOQy2AQtBDAy1AQtBNgy0AQtBNwyzAQtBOAyyAQtBPgyxAQtBOgywAQtB4AEMrwELQQsMrgELQT8MrQELQTsMrAELQQoMqwELQTwMqgELQT0MqQELQeEBDKgBC0HBAAynAQtBwAAMpgELQcIADKUBC0EJDKQBC0EtDKMBC0HDAAyiAQtBxAAMoQELQcUADKABC0HGAAyfAQtBxwAMngELQcgADJ0BC0HJAAycAQtBygAMmwELQcsADJoBC0HMAAyZAQtBzQAMmAELQc4ADJcBC0HPAAyWAQtB0AAMlQELQdEADJQBC0HSAAyTAQtB0wAMkgELQdUADJEBC0HUAAyQAQtB1gAMjwELQdcADI4BC0HYAAyNAQtB2QAMjAELQdoADIsBC0HbAAyKAQtB3AAMiQELQd0ADIgBC0HeAAyHAQtB3wAMhgELQeAADIUBC0HhAAyEAQtB4gAMgwELQeMADIIBC0HkAAyBAQtB5QAMgAELQeIBDH8LQeYADH4LQecADH0LQQYMfAtB6AAMewtBBQx6C0HpAAx5C0EEDHgLQeoADHcLQesADHYLQewADHULQe0ADHQLQQMMcwtB7gAMcgtB7wAMcQtB8AAMcAtB8gAMbwtB8QAMbgtB8wAMbQtB9AAMbAtB9QAMawtB9gAMagtBAgxpC0H3AAxoC0H4AAxnC0H5AAxmC0H6AAxlC0H7AAxkC0H8AAxjC0H9AAxiC0H+AAxhC0H/AAxgC0GAAQxfC0GBAQxeC0GCAQxdC0GDAQxcC0GEAQxbC0GFAQxaC0GGAQxZC0GHAQxYC0GIAQxXC0GJAQxWC0GKAQxVC0GLAQxUC0GMAQxTC0GNAQxSC0GOAQxRC0GPAQxQC0GQAQxPC0GRAQxOC0GSAQxNC0GTAQxMC0GUAQxLC0GVAQxKC0GWAQxJC0GXAQxIC0GYAQxHC0GZAQxGC0GaAQxFC0GbAQxEC0GcAQxDC0GdAQxCC0GeAQxBC0GfAQxAC0GgAQw/C0GhAQw+C0GiAQw9C0GjAQw8C0GkAQw7C0GlAQw6C0GmAQw5C0GnAQw4C0GoAQw3C0GpAQw2C0GqAQw1C0GrAQw0C0GsAQwzC0GtAQwyC0GuAQwxC0GvAQwwC0GwAQwvC0GxAQwuC0GyAQwtC0GzAQwsC0G0AQwrC0G1AQwqC0G2AQwpC0G3AQwoC0G4AQwnC0G5AQwmC0G6AQwlC0G7AQwkC0G8AQwjC0G9AQwiC0G+AQwhC0G/AQwgC0HAAQwfC0HBAQweC0HCAQwdC0EBDBwLQcMBDBsLQcQBDBoLQcUBDBkLQcYBDBgLQccBDBcLQcgBDBYLQckBDBULQcoBDBQLQcsBDBMLQcwBDBILQc0BDBELQc4BDBALQc8BDA8LQdABDA4LQdEBDA0LQdIBDAwLQdMBDAsLQdQBDAoLQdUBDAkLQdYBDAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==","base64"))})},23740:(a,b,c)=>{"use strict";c.d(b,{jO:()=>u});var d=c(38929),e=c(37149),f=c(93818),g=c(80668),h=c(83287),i=c(9757),j=c(92853),k=c(80742),l=c(57472);let m="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";function n(a){return{id:a.id,alias:a.alias,aliases:a.aliases,...a.display,authModes:a.authModes,passthroughModels:a.passthroughModels,serviceKinds:a.serviceKinds}}let o={poolside:n(k.A),"kilo-gateway":n(h.A),bazaarlink:n(g.A),llm7:n(i.A),openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, 200 req/day; after $10 credit: 1,000 req/day (OpenRouter terms).",apiKeyUrl:"https://openrouter.ai/settings/keys"},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0,serviceKinds:["llm","embedding","tts","imageToText"],embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"openai/text-embedding-3-small",name:"Text Embedding 3 Small (OpenRouter)",dimensions:1536},{id:"openai/text-embedding-3-large",name:"Text Embedding 3 Large (OpenRouter)",dimensions:3072},{id:"openai/text-embedding-ada-002",name:"Text Embedding Ada 002 (OpenRouter)",dimensions:1536}]}},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"},serviceKinds:["llm","tts","embedding"],ttsConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts",models:[{id:"fastpitch",name:"FastPitch"},{id:"tacotron2",name:"Tacotron2"}]},embeddingConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}},ollama:{id:"ollama",alias:"ollama",name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},vertex:{id:"vertex",alias:"vx",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",mediaPriority:1,website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"},serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt",models:[{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"}]},searchViaChat:{defaultModel:"gemini-2.5-flash",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",models:[{id:"text-embedding-004",name:"Text Embedding 004",dimensions:768},{id:"embedding-001",name:"Embedding 001",dimensions:768}]},ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts",models:[{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS"}]}},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"},serviceKinds:["llm","image"],hasProviderSpecificData:!0},byteplus:{id:"byteplus",alias:"bpm",name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"},serviceKinds:["llm"]}},p={options:["auto","none","minimal","low","medium","high","xhigh","max"],defaultMode:"auto"},q=[{id:"speech-2.8-hd",name:"Speech 2.8 HD"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo"},{id:"speech-2.6-hd",name:"Speech 2.6 HD"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo"},{id:"speech-02-hd",name:"Speech 02 HD"},{id:"speech-02-turbo",name:"Speech 02 Turbo"},{id:"speech-01-hd",name:"Speech 01 HD"},{id:"speech-01-turbo",name:"Speech 01 Turbo"}],r={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757",deprecated:!0,deprecationNotice:m,website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"}},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",deprecated:!0,deprecationNotice:"⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"}},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6",deprecated:!0,deprecationNotice:m,thinkingConfig:p,serviceKinds:["llm","image"],kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."},website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"}},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333",deprecated:!0,deprecationNotice:m,serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://models.github.ai/inference/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",dimensions:3072}]},website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"}},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},xai:{id:d.A.id,alias:d.A.alias,...d.A.display,serviceKinds:d.A.serviceKinds,imageConfig:d.A.imageConfig,videoConfig:d.A.videoConfig,searchViaChat:d.A.searchViaChat,authModes:d.A.authModes,hasOAuth:d.A.hasOAuth},kimi:{id:"kimi",alias:"kimi",aliases:["kimi-coding","kmc"],name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys",signupUrl:"https://www.kimi.com/code"},serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"kimi-k3",pricingUrl:"https://platform.kimi.ai/docs/pricing/chat"},authModes:["oauth","apikey"],hasOAuth:!0},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot"}},clinepass:{id:"clinepass",alias:"clinepass",name:"ClinePass",icon:"vpn_key",color:"#5B9BD5",textIcon:"CP",website:"https://cline.bot",notice:{signupUrl:"https://app.cline.bot"},authModes:["oauth","apikey"],hasOAuth:!0,thinkingConfig:{options:["auto","on","off"],defaultMode:"auto",defaultBudgetTokens:1e4}},kimchi:{id:"kimchi",alias:"kimchi",name:"Kimchi",icon:"restaurant",color:"#FF521D",textIcon:"KC",website:"https://kimchi.dev",notice:{signupUrl:"https://app.kimchi.dev"},hasOAuth:!0,passthroughModels:!0,serviceKinds:["llm","imageToText"]},"grok-cli":{id:"grok-cli",alias:"gcli",name:"Grok CLI (Grok Build)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GC",website:"https://x.ai",notice:{text:"Sign in with your xAI / Grok account via device code. Uses Grok Build subscription credits (cli-chat-proxy.grok.com).",signupUrl:"https://grok.com/supergrok"},hasOAuth:!0,thinkingConfig:{options:["low","medium","high"],defaultMode:"high"}},autoclaw:{id:"autoclaw",alias:"acl",name:"AutoClaw",icon:"bolt",color:"#7C3AED",textIcon:"AC",website:"https://autoclaw.z.ai",notice:{signupUrl:"https://autoclaw.z.ai"}}},s={"alims-intl":n(e.A),baidu:n(f.A),morph:n(j.A),tencent:n(l.A),glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},"glm-cn":{id:"glm-cn",alias:"glm-cn",name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"},serviceKinds:["llm","image","imageToText","webSearch","tts"],searchViaChat:{defaultModel:"MiniMax-M2.7",pricingUrl:"https://www.minimaxi.com/document/price"},ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts",models:q}},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"},serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts",models:q}},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},"xiaomi-mimo":{id:"xiaomi-mimo",alias:"mimo",name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://xiaomimimo.com"}},"xiaomi-tokenplan":{id:"xiaomi-tokenplan",alias:"xmtp",name:"Xiaomi MiMo (Token Plan)",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://mimo.xiaomi.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://mimo.xiaomi.com"},hasProviderSpecificData:!0,regions:[{id:"sgp",label:"Singapore",baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1"},{id:"cn",label:"China",baseUrl:"https://token-plan-cn.xiaomimimo.com/v1"},{id:"ams",label:"Europe",baseUrl:"https://token-plan-ams.xiaomimimo.com/v1"}],defaultRegion:"sgp"},"volcengine-ark":{id:"volcengine-ark",alias:"ark",name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"},serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],thinkingConfig:p,searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"},ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"tts-1",name:"TTS-1"},{id:"tts-1-hd",name:"TTS-1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe"}]},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]}},"vercel-ai-gateway":{id:"vercel-ai-gateway",alias:"vercel",name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"},passthroughModels:!0,serviceKinds:["llm"]},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"},serviceKinds:["llm","imageToText"]},"opencode-go":{id:"opencode-go",alias:"ocg",name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go subscription: $5/mo (then $10/mo). Access to Kimi, GLM, Qwen, MiMo, MiniMax models.",apiKeyUrl:"https://opencode.ai/auth"}},azure:{id:"azure",alias:"azure",name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"},hasProviderSpecificData:!0},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},commandcode:{id:"commandcode",alias:"cmc",name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Use your CommandCode CLI API key (starts with user_...) from ~/.commandcode/auth.json or commandcode.ai/studio.",apiKeyUrl:"https://commandcode.ai/studio"}},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"},serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]}},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"},serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]}},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"},serviceKinds:["llm","webSearch"],searchConfig:{baseUrl:"https://api.perplexity.ai/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},"perplexity-agent":{id:"perplexity-agent",alias:"pa",name:"Perplexity Agent",icon:"travel_explore",color:"#20808D",textIcon:"PA",website:"https://www.perplexity.ai",notice:{text:"Perplexity Agent API exposes GPT, Claude, Gemini, Grok, GLM, Kimi, and Sonar models through one OpenAI-compatible Responses API.",apiKeyUrl:"https://www.perplexity.ai/settings/api"},passthroughModels:!0,modelsFetcher:{url:"https://api.perplexity.ai/v1/models",type:"openai"},serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"perplexity/sonar",endpoint:"https://api.perplexity.ai/v1/responses",pricingUrl:"https://docs.perplexity.ai/docs/agent-api/models"}},clinepass:{id:"clinepass",alias:"clinepass",name:"ClinePass",icon:"vpn_key",color:"#5B9BD5",textIcon:"CP",website:"https://cline.bot",notice:{signupUrl:"https://app.cline.bot",apiKeyUrl:"https://app.cline.bot"},authModes:["oauth","apikey"],hasOAuth:!0},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"},serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]}},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys"},serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]}},venice:{id:"venice",alias:"venice",name:"Venice AI",icon:"shield",color:"#DC2626",textIcon:"VE",website:"https://venice.ai",notice:{text:"OpenAI-compatible. Private inference + uncensored models (Venice Uncensored, GLM, Qwen, DeepSeek, Llama).",apiKeyUrl:"https://venice.ai/settings/api"},passthroughModels:!0,modelsFetcher:{url:"https://api.venice.ai/api/v1/models",type:"openai"},serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.venice.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-bge-m3",name:"BGE-M3 Embedding",dimensions:1024}]}},featherless:{id:"featherless",alias:"fl",name:"Featherless",icon:"flutter_dash",color:"#111827",textIcon:"FL",website:"https://featherless.ai",notice:{apiKeyUrl:"https://featherless.ai/account/api-keys"},passthroughModels:!0,modelsFetcher:{url:"https://api.featherless.ai/v1/models",type:"openai"}},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"},serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]}},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"},serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]}},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"},serviceKinds:["stt","imageToText","tts"],ttsConfig:{baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[]},sttConfig:{baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]}},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"},serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",format:"assemblyai",async:!0,models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]}},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"},serviceKinds:["image"]},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"},serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]}},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"},serviceKinds:["tts"],hidden:!0,ttsConfig:{baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]}},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"},serviceKinds:["tts"],hidden:!0,ttsConfig:{baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play 3.0 Mini"}]}},"local-device":{id:"local-device",alias:"local-device",name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD",mediaPriority:5,serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},"google-tts":{id:"google-tts",alias:"google-tts",name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT",mediaPriority:5,serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},"edge-tts":{id:"edge-tts",alias:"edge-tts",name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET",mediaPriority:5,serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},coqui:{id:"coqui",alias:"coqui",name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS",serviceKinds:["tts"],hidden:!0,noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]}},tortoise:{id:"tortoise",alias:"tortoise",name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts",serviceKinds:["tts"],hidden:!0,noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]}},inworld:{id:"inworld",alias:"inworld",name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"},serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},"voyage-ai":{id:"voyage-ai",alias:"voyage",name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"},serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.voyageai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"voyage-3-large",name:"Voyage 3 Large",dimensions:1024},{id:"voyage-3.5",name:"Voyage 3.5",dimensions:1024},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",dimensions:1024},{id:"voyage-code-3",name:"Voyage Code 3",dimensions:1024},{id:"voyage-finance-2",name:"Voyage Finance 2",dimensions:1024},{id:"voyage-law-2",name:"Voyage Law 2",dimensions:1024},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",dimensions:1024}]}},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui",serviceKinds:["image"]},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI",serviceKinds:["image"]},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens"},serviceKinds:["image","imageToText","tts","stt"],hiddenKinds:["tts"],ttsConfig:{baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-tts",models:[{id:"facebook/mms-tts-eng",name:"MMS TTS English"},{id:"microsoft/speecht5_tts",name:"SpeechT5 TTS"}]},sttConfig:{baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr",models:[{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)"},{id:"openai/whisper-small",name:"Whisper Small (HF)"}]}},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"},serviceKinds:["llm"]},chutes:{id:"chutes",alias:"ch",name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},"ollama-local":{id:"ollama-local",alias:"ollama-local",name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},"vertex-partner":{id:"vertex-partner",alias:"vxp",name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},tavily:{id:"tavily",alias:"tavily",name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"},serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},"brave-search":{id:"brave-search",alias:"brave",name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},serper:{id:"serper",alias:"serper",name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},exa:{id:"exa",alias:"exa",name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"},serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},searxng:{id:"searxng",alias:"searxng",name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{baseUrl:"http://localhost:8888/search",method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},"google-pse":{id:"google-pse",alias:"gpse",name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},linkup:{id:"linkup",alias:"linkup",name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},searchapi:{id:"searchapi",alias:"searchapi",name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},youcom:{id:"youcom",alias:"youcom",name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},firecrawl:{id:"firecrawl",alias:"firecrawl",name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"},serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},"fal-ai":{id:"fal-ai",alias:"fal",name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"},serviceKinds:["image"],imageConfig:{baseUrl:"https://api.fal.ai/v1/models?limit=1",method:"GET",authType:"apikey",authHeader:"key"}},"stability-ai":{id:"stability-ai",alias:"stability",name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"},serviceKinds:["image"],imageConfig:{baseUrl:"https://api.stability.ai/v1/user/account",method:"GET",authType:"apikey",authHeader:"bearer"}},"black-forest-labs":{id:"black-forest-labs",alias:"bfl",name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"},serviceKinds:["image"],imageConfig:{baseUrl:"https://api.bfl.ai/v1/get_result?id=ping",method:"GET",authType:"apikey",authHeader:"x-key"}},recraft:{id:"recraft",alias:"recraft",name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"},serviceKinds:["image"],imageConfig:{baseUrl:"https://external.api.recraft.ai/v1/users/me",method:"GET",authType:"apikey",authHeader:"bearer"}},topaz:{id:"topaz",alias:"topaz",name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"},serviceKinds:["image"]},runwayml:{id:"runwayml",alias:"runway",name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"},serviceKinds:["image","video"],imageConfig:{baseUrl:"https://api.dev.runwayml.com/v1/organization",method:"GET",authType:"apikey",authHeader:"bearer",extraHeaders:{"X-Runway-Version":"2024-11-06"}}},"aws-polly":{id:"aws-polly",alias:"polly",name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"},serviceKinds:["tts"],hasProviderSpecificData:!0,ttsConfig:{baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{id:"neural",name:"Neural"},{id:"long-form",name:"Long-form"},{id:"generative",name:"Generative"}]}},"jina-ai":{id:"jina-ai",alias:"jina",name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial; Jina terms apply).",apiKeyUrl:"https://jina.ai/?sui=apikey"},serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]}},"jina-reader":{id:"jina-reader",alias:"jina",name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"},serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}}},t={kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",deprecated:!0,deprecationNotice:m,website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"}},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationNotice:m,website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"}},codebuddy:{id:"codebuddy",alias:"cb",name:"CodeBuddy",icon:"smart_toy",color:"#006EFF",deprecated:!0,deprecationNotice:m,website:"https://www.codebuddy.ai",notice:{signupUrl:"https://www.codebuddy.ai/login",apiKeyUrl:"https://www.codebuddy.ai/profile"},authModes:["oauth","apikey"]},"codebuddy-cn":{id:"codebuddy-cn",alias:"cb-cn",name:"CodeBuddy CN",icon:"smart_toy",color:"#1E40AF",deprecated:!0,deprecationNotice:m,website:"https://www.codebuddy.cn",notice:{signupUrl:"https://copilot.tencent.com",apiKeyUrl:"https://copilot.tencent.com/profile/"},authModes:["oauth","apikey"]},qoder:{id:"qoder",alias:"qd",name:"Qoder",icon:"water_drop",color:"#EC4899",deprecated:!0,deprecationNotice:m,website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}},opencode:{id:"opencode",alias:"oc",name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC",noAuth:!0,passthroughModels:!0,modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"}},"mimo-free":{id:"mimo-free",alias:"mmf",name:"MiMo Code Free",icon:"smart_toy",color:"#FF6900",textIcon:"MF",noAuth:!0,hasFree:!0,passthroughModels:!0,website:"https://xiaomimimo.com",notice:{text:"Free Xiaomi MiMo Code endpoint (no API key). Uses bootstrap JWT + Chrome UA. May rate-limit or break if upstream anti-abuse changes."}},...o,...r,...s,"grok-web":{id:"grok-web",alias:"gw",name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",passthroughModels:!0,serviceKinds:["llm"]},"perplexity-web":{id:"perplexity-web",alias:"pw",name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",serviceKinds:["llm"]}};Object.values(t).reduce((a,b)=>{for(let c of(a[b.alias]=b.id,b.aliases||[]))a[c]=b.id;return a},{}),Object.values(t).reduce((a,b)=>(a[b.id]=b.alias,a),{});let u=["glm","glm-cn","minimax","minimax-cn","codebuddy","codebuddy-cn","cloudflare-ai","xai","clinepass"]},24081:(a,b,c)=>{"use strict";c.d(b,{cK:()=>k,y5:()=>l});var d=c(62239);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,closePromise:null,logged:!1});let e=global._dbAdapter;async function f(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(8062).then(c.bind(c,38062));return await a(d.AL)}catch(a){return console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function g(){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(8469).then(c.bind(c,88469));return a(d.AL)}catch(a){return console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function h(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(4803).then(c.bind(c,54803));return await a(d.AL)}catch(a){return console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function i(){try{let{createSqlJsAdapter:a}=await c.e(6252).then(c.bind(c,66252));return await a(d.AL)}catch(a){return console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function j(){(0,d.Jh)();let a=await f();if(a||(a=await h()),a||(a=await g()),a||(a=await i()),!a)throw Error("[DB] No SQLite driver available (bun/node/better/sql.js all failed)");e.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${d.AL}`),e.logged=!0);try{let{runMigrationOnce:b}=await c.e(5800).then(c.bind(c,85800));await b(a);let{runStartupMaintenanceOnce:d}=await c.e(3696).then(c.bind(c,33696));return d(a),a}catch(b){try{await a.close?.()}catch(a){console.warn(`[DB] failed to close partially initialized adapter: ${a.message}`)}throw b}}async function k(){if(e.instance)return e.instance;if(!e.initPromise){let a=j().then(a=>(e.instance=a,a)).catch(b=>{throw e.initPromise===a&&(e.initPromise=null),b});e.initPromise=a}return e.initPromise}async function l(){return e.closePromise||(e.closePromise=(async()=>{try{let{stopStartupMaintenance:a}=await c.e(3696).then(c.bind(c,33696));a();let b=e.instance||(e.initPromise?await e.initPromise:null);await b?.close?.()}finally{e.instance=null,e.initPromise=null,e.closePromise=null}})()),e.closePromise}"closePromise"in e||(e.closePromise=null)},24214:a=>{"use strict";function b(a,b,c,d,e,f,g){let h=new Date(Date.UTC(a,b,c,d,e,f));return a>=0&&a<=99&&h.setUTCFullYear(a),h.getUTCFullYear()===a&&h.getUTCMonth()===b&&h.getUTCDate()===c&&h.getUTCHours()===d&&h.getUTCMinutes()===e&&h.getUTCSeconds()===f&&h.getUTCDay()===g?h:void 0}a.exports={parseHttpDate:function(a){switch(a[3]){case",":return function(a){if(29!==a.length||" "!==a[4]||" "!==a[7]||" "!==a[11]||" "!==a[16]||":"!==a[19]||":"!==a[22]||" "!==a[25]||"G"!==a[26]||"M"!==a[27]||"T"!==a[28])return;let c=-1;if("S"===a[0]&&"u"===a[1]&&"n"===a[2])c=0;else if("M"===a[0]&&"o"===a[1]&&"n"===a[2])c=1;else if("T"===a[0]&&"u"===a[1]&&"e"===a[2])c=2;else if("W"===a[0]&&"e"===a[1]&&"d"===a[2])c=3;else if("T"===a[0]&&"h"===a[1]&&"u"===a[2])c=4;else if("F"===a[0]&&"r"===a[1]&&"i"===a[2])c=5;else{if("S"!==a[0]||"a"!==a[1]||"t"!==a[2])return;c=6}let d=0;if("0"===a[5]){let b=a.charCodeAt(6);if(b<49||b>57)return;d=b-48}else{let b=a.charCodeAt(5);if(b<49||b>51)return;let c=a.charCodeAt(6);if(c<48||c>57)return;d=(b-48)*10+(c-48)}let e=-1;if("J"===a[8]&&"a"===a[9]&&"n"===a[10])e=0;else if("F"===a[8]&&"e"===a[9]&&"b"===a[10])e=1;else if("M"===a[8]&&"a"===a[9])if("r"===a[10])e=2;else{if("y"!==a[10])return;e=4}else if("J"===a[8])if("a"===a[9]&&"n"===a[10])e=0;else if("u"!==a[9])return;else if("n"===a[10])e=5;else{if("l"!==a[10])return;e=6}else if("A"===a[8])if("p"===a[9]&&"r"===a[10])e=3;else{if("u"!==a[9]||"g"!==a[10])return;e=7}else if("S"===a[8]&&"e"===a[9]&&"p"===a[10])e=8;else if("O"===a[8]&&"c"===a[9]&&"t"===a[10])e=9;else if("N"===a[8]&&"o"===a[9]&&"v"===a[10])e=10;else{if("D"!==a[8]||"e"!==a[9]||"c"!==a[10])return;e=11}let f=a.charCodeAt(12);if(f<48||f>57)return;let g=a.charCodeAt(13);if(g<48||g>57)return;let h=a.charCodeAt(14);if(h<48||h>57)return;let i=a.charCodeAt(15);if(i<48||i>57)return;let j=0;if("0"===a[17]){let b=a.charCodeAt(18);if(b<48||b>57)return;j=b-48}else{let b=a.charCodeAt(17);if(b<48||b>50)return;let c=a.charCodeAt(18);if(c<48||c>57||50===b&&c>51)return;j=(b-48)*10+(c-48)}let k=0;if("0"===a[20]){let b=a.charCodeAt(21);if(b<48||b>57)return;k=b-48}else{let b=a.charCodeAt(20);if(b<48||b>53)return;let c=a.charCodeAt(21);if(c<48||c>57)return;k=(b-48)*10+(c-48)}let l=0;if("0"===a[23]){let b=a.charCodeAt(24);if(b<48||b>57)return;l=b-48}else{let b=a.charCodeAt(23);if(b<48||b>53)return;let c=a.charCodeAt(24);if(c<48||c>57)return;l=(b-48)*10+(c-48)}return b((f-48)*1e3+(g-48)*100+(h-48)*10+(i-48),e,d,j,k,l,c)}(a);case" ":return function(a){if(24!==a.length||" "!==a[7]||" "!==a[10]||" "!==a[19])return;let c=-1;if("S"===a[0]&&"u"===a[1]&&"n"===a[2])c=0;else if("M"===a[0]&&"o"===a[1]&&"n"===a[2])c=1;else if("T"===a[0]&&"u"===a[1]&&"e"===a[2])c=2;else if("W"===a[0]&&"e"===a[1]&&"d"===a[2])c=3;else if("T"===a[0]&&"h"===a[1]&&"u"===a[2])c=4;else if("F"===a[0]&&"r"===a[1]&&"i"===a[2])c=5;else{if("S"!==a[0]||"a"!==a[1]||"t"!==a[2])return;c=6}let d=-1;if("J"===a[4]&&"a"===a[5]&&"n"===a[6])d=0;else if("F"===a[4]&&"e"===a[5]&&"b"===a[6])d=1;else if("M"===a[4]&&"a"===a[5])if("r"===a[6])d=2;else{if("y"!==a[6])return;d=4}else if("J"===a[4])if("a"===a[5]&&"n"===a[6])d=0;else if("u"!==a[5])return;else if("n"===a[6])d=5;else{if("l"!==a[6])return;d=6}else if("A"===a[4])if("p"===a[5]&&"r"===a[6])d=3;else{if("u"!==a[5]||"g"!==a[6])return;d=7}else if("S"===a[4]&&"e"===a[5]&&"p"===a[6])d=8;else if("O"===a[4]&&"c"===a[5]&&"t"===a[6])d=9;else if("N"===a[4]&&"o"===a[5]&&"v"===a[6])d=10;else{if("D"!==a[4]||"e"!==a[5]||"c"!==a[6])return;d=11}let e=0;if(" "===a[8]){let b=a.charCodeAt(9);if(b<49||b>57)return;e=b-48}else{let b=a.charCodeAt(8);if(b<49||b>51)return;let c=a.charCodeAt(9);if(c<48||c>57)return;e=(b-48)*10+(c-48)}let f=0;if("0"===a[11]){let b=a.charCodeAt(12);if(b<48||b>57)return;f=b-48}else{let b=a.charCodeAt(11);if(b<48||b>50)return;let c=a.charCodeAt(12);if(c<48||c>57||50===b&&c>51)return;f=(b-48)*10+(c-48)}let g=0;if("0"===a[14]){let b=a.charCodeAt(15);if(b<48||b>57)return;g=b-48}else{let b=a.charCodeAt(14);if(b<48||b>53)return;let c=a.charCodeAt(15);if(c<48||c>57)return;g=(b-48)*10+(c-48)}let h=0;if("0"===a[17]){let b=a.charCodeAt(18);if(b<48||b>57)return;h=b-48}else{let b=a.charCodeAt(17);if(b<48||b>53)return;let c=a.charCodeAt(18);if(c<48||c>57)return;h=(b-48)*10+(c-48)}let i=a.charCodeAt(20);if(i<48||i>57)return;let j=a.charCodeAt(21);if(j<48||j>57)return;let k=a.charCodeAt(22);if(k<48||k>57)return;let l=a.charCodeAt(23);if(!(l<48)&&!(l>57))return b((i-48)*1e3+(j-48)*100+(k-48)*10+(l-48),d,e,f,g,h,c)}(a);default:return function(a){let c=-1,d=-1;if("S"===a[0])"u"===a[1]&&"n"===a[2]&&"d"===a[3]&&"a"===a[4]&&"y"===a[5]?(d=0,c=6):"a"===a[1]&&"t"===a[2]&&"u"===a[3]&&"r"===a[4]&&"d"===a[5]&&"a"===a[6]&&"y"===a[7]&&(d=6,c=8);else if("M"===a[0]&&"o"===a[1]&&"n"===a[2]&&"d"===a[3]&&"a"===a[4]&&"y"===a[5])d=1,c=6;else if("T"===a[0])"u"===a[1]&&"e"===a[2]&&"s"===a[3]&&"d"===a[4]&&"a"===a[5]&&"y"===a[6]?(d=2,c=7):"h"===a[1]&&"u"===a[2]&&"r"===a[3]&&"s"===a[4]&&"d"===a[5]&&"a"===a[6]&&"y"===a[7]&&(d=4,c=8);else if("W"===a[0]&&"e"===a[1]&&"d"===a[2]&&"n"===a[3]&&"e"===a[4]&&"s"===a[5]&&"d"===a[6]&&"a"===a[7]&&"y"===a[8])d=3,c=9;else{if("F"!==a[0]||"r"!==a[1]||"i"!==a[2]||"d"!==a[3]||"a"!==a[4]||"y"!==a[5])return;d=5,c=6}if(","!==a[c]||a.length-c-1!=23||" "!==a[c+1]||"-"!==a[c+4]||"-"!==a[c+8]||" "!==a[c+11]||":"!==a[c+14]||":"!==a[c+17]||" "!==a[c+20]||"G"!==a[c+21]||"M"!==a[c+22]||"T"!==a[c+23])return;let e=0;if("0"===a[c+2]){let b=a.charCodeAt(c+3);if(b<49||b>57)return;e=b-48}else{let b=a.charCodeAt(c+2);if(b<49||b>51)return;let d=a.charCodeAt(c+3);if(d<48||d>57)return;e=(b-48)*10+(d-48)}let f=-1;if("J"===a[c+5]&&"a"===a[c+6]&&"n"===a[c+7])f=0;else if("F"===a[c+5]&&"e"===a[c+6]&&"b"===a[c+7])f=1;else if("M"===a[c+5]&&"a"===a[c+6]&&"r"===a[c+7])f=2;else if("A"===a[c+5]&&"p"===a[c+6]&&"r"===a[c+7])f=3;else if("M"===a[c+5]&&"a"===a[c+6]&&"y"===a[c+7])f=4;else if("J"===a[c+5]&&"u"===a[c+6]&&"n"===a[c+7])f=5;else if("J"===a[c+5]&&"u"===a[c+6]&&"l"===a[c+7])f=6;else if("A"===a[c+5]&&"u"===a[c+6]&&"g"===a[c+7])f=7;else if("S"===a[c+5]&&"e"===a[c+6]&&"p"===a[c+7])f=8;else if("O"===a[c+5]&&"c"===a[c+6]&&"t"===a[c+7])f=9;else if("N"===a[c+5]&&"o"===a[c+6]&&"v"===a[c+7])f=10;else{if("D"!==a[c+5]||"e"!==a[c+6]||"c"!==a[c+7])return;f=11}let g=a.charCodeAt(c+9);if(g<48||g>57)return;let h=a.charCodeAt(c+10);if(h<48||h>57)return;let i=(g-48)*10+(h-48);i+=i<70?2e3:1900;let j=0;if("0"===a[c+12]){let b=a.charCodeAt(c+13);if(b<48||b>57)return;j=b-48}else{let b=a.charCodeAt(c+12);if(b<48||b>50)return;let d=a.charCodeAt(c+13);if(d<48||d>57||50===b&&d>51)return;j=(b-48)*10+(d-48)}let k=0;if("0"===a[c+15]){let b=a.charCodeAt(c+16);if(b<48||b>57)return;k=b-48}else{let b=a.charCodeAt(c+15);if(b<48||b>53)return;let d=a.charCodeAt(c+16);if(d<48||d>57)return;k=(b-48)*10+(d-48)}let l=0;if("0"===a[c+18]){let b=a.charCodeAt(c+19);if(b<48||b>57)return;l=b-48}else{let b=a.charCodeAt(c+18);if(b<48||b>53)return;let d=a.charCodeAt(c+19);if(d<48||d>57)return;l=(b-48)*10+(d-48)}return b(i,f,e,j,k,l,d)}(a)}}}},24464:a=>{"use strict";a.exports={TOOL_HOSTS:{antigravity:["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com"],copilot:["api.individual.githubcopilot.com"],kiro:["q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com"],cursor:["api2.cursor.sh"]}}},24524:(a,b,c)=>{"use strict";c.d(b,{P:()=>e});var d=c(50801);class e extends d.L{constructor(){super("azure")}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.azureEndpoint||process.env.AZURE_ENDPOINT||"https://api.openai.com",f=d?.providerSpecificData?.apiVersion||process.env.AZURE_API_VERSION||"2024-10-01-preview",g=d?.providerSpecificData?.deployment||a||process.env.AZURE_DEPLOYMENT||"gpt-4",h=e.replace(/\/$/,"");return`${h}/openai/deployments/${g}/chat/completions?api-version=${f}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=a?.apiKey||a?.accessToken||process.env.OPENAI_API_KEY;d&&(c["api-key"]=d);let e=a?.providerSpecificData?.organization||process.env.AZURE_ORGANIZATION;return e&&(c["OpenAI-Organization"]=e),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}}},24547:(a,b,c)=>{var d=c(45654);c(63070);var e=d.asn1;b.privateKeyValidator={name:"PrivateKeyInfo",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:e.Class.UNIVERSAL,type:e.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:e.Class.UNIVERSAL,type:e.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},b.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{tagClass:e.Class.UNIVERSAL,type:e.Type.BITSTRING,constructed:!1,composed:!0,captureBitStringValue:"ed25519PublicKey"}]}},24644:(a,b,c)=>{"use strict";c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(69384),g=c(30395);class h extends f.Hv{constructor(){super("iflow",g.xq.iflow)}generateUUID(){return e().randomUUID()}createIFlowSignature(a,b,c,d){if(!d)return"";let f=`${a}:${b}:${c}`,g=e().createHmac("sha256",d);return g.update(f),g.digest("hex")}buildHeaders(a,b=!0){let c=`session-${this.generateUUID()}`,d=Date.now(),e=this.config.headers["User-Agent"]||"iFlow-Cli",f=a.apiKey||a.accessToken||"",g=this.createIFlowSignature(e,c,d,f),h={"Content-Type":"application/json",...this.config.headers,"session-id":c,"x-iflow-timestamp":d.toString(),"x-iflow-signature":g};return a.apiKey&&(h.Authorization=`Bearer ${a.apiKey}`),b&&(h.Accept="text/event-stream"),h}buildUrl(a,b,c=0,d=null){return this.config.baseUrl}transformRequest(a,b,c,d){return c&&b.messages&&!b.stream_options&&(b.stream_options={include_usage:!0}),b}}},24670:(a,b,c)=>{"use strict";c.d(b,{my:()=>k});var d=c(48991),e=c(46956);let f={international:"https://api.z.ai/api/monitor/usage/quota/limit",china:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"},g={minimax:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"],"minimax-cn":["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]},h={quotaApiHosts:["https://daily-cloudcode-pa.googleapis.com","https://cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],fetchAvailableModelsPath:"/v1internal:fetchAvailableModels",retrieveUserQuotaPath:"/v1internal:retrieveUserQuota",loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token",clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",userAgent:(0,d.A9)()},i="2023-06-01",j={free:"TCACA_code_001_PqouKr6QWV",proMon:"TCACA_code_002_AkiJS3ZHF5",gift:"TCACA_code_006_DbXS0lrypC",activity:"TCACA_code_007_nzdH5h4Nl0",proYear:"TCACA_code_003_FAnt7lcmRT",freeMon:"TCACA_code_008_cfWoLwvjU4",extra:"TCACA_code_009_0XmEQc2xOf"};async function k(a,b=null){let{provider:c,accessToken:d,apiKey:e,providerSpecificData:f,projectId:g}=a,h={...f||{},...g?{projectId:g}:{}};switch(c){case"github":return await q(d,f,b);case"gemini-cli":return await s(d,h,b);case"antigravity":return await w(d,h,b);case"claude":return await z(d,b);case"codex":return await F(d,b);case"kiro":return await G(d,f,b);case"codebuddy":case"codebuddy-cn":return await m(d,f,b,e,c);case"qoder":return await S(d,b);case"autoclaw":return await T(d,b,a);case"qwen":return await H(d,f);case"iflow":return await I(d);case"ollama":return await J(d);case"glm":case"glm-cn":return await K(e,c,b);case"minimax":case"minimax-cn":return await R(e,c,b);case"grok-cli":return await X(d,f,b);case"cloudflare-ai":return await U(e||d,f,b);case"xai":return await aa(d||e,f,b);case"cline":case"clinepass":return await $(d||e,c,b);case"kimchi":return await _(d||e,f,b);case"cursor":return await ab(d,f);default:return{message:`Usage API not implemented for ${c}`}}}async function l(a,b={},c=null,d="codebuddy"){let f=b?.uid||b?.rawAuth?.uid;if(f)return{uid:f,enterpriseId:b?.enterpriseId||null};let g=b?.domain||b?.rawAuth?.domain||("codebuddy-cn"===d?"www.codebuddy.cn":"www.codebuddy.ai");try{let b=await (0,e.F)(`https://${g}/v2/plugin/accounts`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","X-Domain":g}},c);if(!b.ok)return{uid:null,enterpriseId:null};let d=await b.json(),f=d?.data?.accounts||[],h=f.find(a=>a.lastLogin)||f[0]||{};return{uid:h.uid||null,enterpriseId:h.enterpriseId||null}}catch{return{uid:null,enterpriseId:null}}}async function m(a,b={},c=null,d=null,f="codebuddy"){let g=b?.authMode==="generated-api-key",h=a||d,i=a?"oauth":d?"api-key":null;if(!h)return{plan:"CodeBuddy",message:"CodeBuddy upstream quota is unavailable because no valid IDE OAuth token or API key is stored.",quotas:{},trackingMode:"unavailable"};try{let a,k,{uid:m,enterpriseId:q}=await l(h,b,c,f),r=await (0,e.F)(function(a={},b="codebuddy"){let c=a?.domain||a?.rawAuth?.domain||("codebuddy-cn"===b?"www.codebuddy.cn":"www.codebuddy.ai");return`https://${c}/v2/billing/meter/get-user-resource`}(b,f),{method:"POST",headers:function(a,b={},c=null,d=null,e=null){let f={Authorization:`Bearer ${a}`,Accept:"application/json, text/plain, */*","Accept-Language":"zh-CN,zh;q=0.9","Content-Type":"application/json","X-Domain":b?.domain||b?.rawAuth?.domain||"www.codebuddy.ai"};return e&&(f["X-Api-Key"]=e),c&&(f["X-User-Id"]=c),d&&(f["X-Enterprise-Id"]=d,f["X-Tenant-Id"]=d),f}(h,b,m,q,d),body:JSON.stringify((a=new Date,(k=new Date(a)).setFullYear(k.getFullYear()+101),{PageNumber:1,PageSize:200,ProductCode:"p_tcaca",Status:[0,3],PackageCodes:Object.values(j),PackageEndTimeRangeBegin:o(a),PackageEndTimeRangeEnd:o(k)}))},c),s=await r.text(),t=null;try{t=s?JSON.parse(s):null}catch{t=null}if(401===r.status||403===r.status){if("oauth"===i)return{plan:"CodeBuddy",message:`CodeBuddy IDE OAuth token was rejected (${r.status}). Upstream quota is unavailable; use ZevaiRouter Usage for local request and token tracking.`,quotas:{},authMode:"oauth-rejected",trackingMode:"local-router"};return{plan:"CodeBuddy",message:"CodeBuddy chat key active. Upstream quota is unavailable without a valid IDE OAuth token; use ZevaiRouter Usage for local request and token tracking.",quotas:{},authMode:g?"generated-api-key":"api-key",trackingMode:"local-router"}}if(!r.ok)return{plan:"CodeBuddy",message:`CodeBuddy quota endpoint returned ${r.status}.`,quotas:{}};return{...function(a){let b=a?.data?.Response?.Data||a?.Response?.Data||a?.data||a||{},c=Array.isArray(b?.Accounts)?b.Accounts:Array.isArray(b?.accounts)?b.accounts:[];if(0===c.length)return{plan:"CodeBuddy",message:"CodeBuddy connected. No quota records were returned.",quotas:{}};let d=a=>{let b=n(a.CycleEndTime);return b?new Date(b).getTime():1/0},e=a=>{let b=d(a),c=Number(a.DeductionEndTime);return Number.isFinite(b)&&Number.isFinite(c)&&c-b>1728e5},f=(a,b)=>d(a)-d(b),g=c.filter(e).sort(f),h=c.filter(a=>!e(a)).sort(f),i={},k=!1,l=(a,b,{recurring:c})=>{var d,e;let f=function(a,{useCycle:b=!0}={}){let c=b?p(a.CycleCapacitySizePrecise,a.CycleCapacitySize,a.CapacitySizePrecise,a.CapacitySize):p(a.CapacitySizePrecise,a.CapacitySize,a.CycleCapacitySizePrecise,a.CycleCapacitySize),d=b?p(a.CycleCapacityRemainPrecise,a.CapacityRemainPrecise,a.CapacityRemain):p(a.CapacityRemainPrecise,a.CapacityRemain,a.CycleCapacityRemainPrecise),e=p(a.CapacityUsedPrecise,a.CapacityUsed,null!==c&&null!==d?Math.max(0,c-d):null);if(null===c&&null===d&&null===e)return null;let f=Math.max(0,c??(e??0)+(d??0)),g=Math.max(0,d??Math.max(0,f-(e??0))),h=Math.max(0,e??Math.max(0,f-g));return{total:f,remaining:g,used:h,resetAt:n(a.CycleEndTime||a.DeductionEndTime||a.ExpiredTime)}}(b,{useCycle:c});f&&((b.PackageCode===j.proMon||b.PackageCode===j.proYear)&&(k=!0),i[a]||(i[a]={used:0,total:0,remaining:0,resetAt:null,unit:"credits",unlimited:!1,recurring:c}),i[a].used+=f.used,i[a].total+=f.total,i[a].remaining+=f.remaining,i[a].resetAt=(d=i[a].resetAt,e=f.resetAt,d?e&&new Date(e).getTime()<new Date(d).getTime()?e:d:e||null),i[a].recurring=i[a].recurring&&c)};for(let a of g)l("Monthly Credits",a,{recurring:!0});for(let a of h)l("Bonus Credits",a,{recurring:!1});if(h.length>0&&i["Bonus Credits"]&&(i["Bonus Credits"].packCount=h.length),0===Object.keys(i).length)for(let a of c){if(!a||"object"!=typeof a)continue;let b=function(a){switch(a){case j.free:case j.freeMon:case j.proMon:case j.proYear:return"Monthly Credits";case j.gift:return"Gift Credits";case j.extra:return"Extra Credits";case j.activity:return"Activity Credits";default:return a?"Other Credits":null}}(a.PackageCode)||"Other Credits",c="Activity Credits"!==b&&"Gift Credits"!==b;l(c?"Monthly Credits":"Bonus Credits",a,{recurring:c})}if(0===Object.keys(i).length)return{plan:k?"Pro":"Free",message:"CodeBuddy connected. Unable to extract quota values.",quotas:{}};for(let a of Object.values(i))a.remainingPercentage=a.total>0?Math.max(0,Math.min(100,a.remaining/a.total*100)):0;return{plan:k?"Pro":"Free",quotas:i}}(t),authMode:i}}catch(a){return{plan:"CodeBuddy",message:`CodeBuddy connected. Unable to fetch quota: ${a.message}`,quotas:{}}}}function n(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function o(a){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}-${b(a.getMonth()+1)}-${b(a.getDate())} ${b(a.getHours())}:${b(a.getMinutes())}:${b(a.getSeconds())}`}function p(...a){for(let b of a){if(null==b||""===b)continue;let a=Number(b);if(Number.isFinite(a))return a}return null}async function q(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,e.F)("https://api.github.com/copilot_internal/user",{headers:{Authorization:`token ${a}`,Accept:"application/json","X-GitHub-Api-Version":"2022-11-28","User-Agent":"GitHubCopilotChat/0.26.7","Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let d=await b.json();if(d.quota_snapshots){let a=d.quota_snapshots,b=n(d.quota_reset_date);return{plan:d.copilot_plan,resetDate:d.quota_reset_date,quotas:{chat:{...r(a.chat),resetAt:b},completions:{...r(a.completions),resetAt:b},premium_interactions:{...r(a.premium_interactions),resetAt:b}}}}if(d.monthly_quotas||d.limited_user_quotas){let a=d.monthly_quotas||{},b=d.limited_user_quotas||{},c=n(d.limited_user_reset_date);return{plan:d.copilot_plan||d.access_type_sku,resetDate:d.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function r(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}async function s(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d,f=t(b?.projectId),g="Free";if(!f){let b=await u(a,c);f=t(b?.cloudaicompanionProject),g=b?.currentTier?.name||g}if(!f)return{plan:g,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let h=new AbortController,i=setTimeout(()=>h.abort(),1e4);try{d=await (0,e.F)("https://cloudcode-pa.googleapis.com/v1internal:retrieveUserQuota",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:f}),signal:h.signal},c)}finally{clearTimeout(i)}if(!d.ok)return{plan:g,message:`Gemini CLI quota error (${d.status}).`};let j=await d.json(),k={};if(Array.isArray(j.buckets))for(let a of j.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=Math.round(1e3*b),d=Math.max(0,1e3-c);k[a.modelId]={used:d,total:1e3,resetAt:n(a.resetTime),remainingPercentage:100*b,unlimited:!1}}return{plan:g,quotas:k}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}function t(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function u(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.F)("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:d.Cn}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch{return null}finally{clearTimeout(f)}}async function v(a,b,c,d){let f=null;for(let g of h.quotaApiHosts){let i=new AbortController,j=setTimeout(()=>i.abort(),1e4);try{let j=await (0,e.F)(`${g}${a}`,{method:"POST",headers:{Authorization:`Bearer ${b}`,"User-Agent":h.userAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify(c||{}),signal:i.signal},d);if(j.ok||401===j.status||403===j.status)return{response:j,host:g};f=Error(`Antigravity API error: ${j.status}`)}catch(a){f=a}finally{clearTimeout(j)}}if(f)throw f;throw Error("Antigravity API unavailable")}async function w(a,b,c=null){try{let d,e=t(b?.projectId),f=await y(a,c),g=e||t(f?.cloudaicompanionProject);try{d=await v(h.fetchAvailableModelsPath,a,g?{project:g}:{},c)}catch(a){return{message:`Antigravity quota unavailable: ${a.message}. Chat may still work.`}}let i=d.response;if(401===i.status){let a=await x(b,c);if(a)return{accountDead:!0,message:`Antigravity account ${a}. Reconnect won't help \u2014 recreate the account.`,quotas:{}};return{message:"Antigravity quota API authentication expired. Chat may still work.",quotas:{}}}if(403===i.status)return{message:"Antigravity quota API access forbidden (tier may not expose quota). Chat may still work.",quotas:{}};if(!i.ok)throw Error(`Antigravity API error: ${i.status}`);let j=await i.json(),k=new Map;try{let b=await v(h.retrieveUserQuotaPath,a,g?{project:g}:{},c);if(b.response.ok){let a=await b.response.json();if(Array.isArray(a.buckets))for(let b of a.buckets){let a=String(b.modelId||"").trim();a&&k.set(a,b)}}}catch{}let l={};if(j.models){let a=["gemini-3.6-flash-high","gemini-3.6-flash-medium","gemini-3.6-flash-low","gemini-3-flash-agent","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3-flash"];for(let[b,c]of Object.entries(j.models)){if(c.isInternal||!a.includes(b))continue;let d=k.get(b),e=d||c.quotaInfo;if(!e)continue;let f=Number(e.remainingFraction)||0,g=100*f,h=Math.round(1e3*f),i=Math.max(0,1e3-h);l[b]={used:i,total:1e3,resetAt:n(e.resetTime),remainingPercentage:g,unlimited:!1,displayName:c.displayName||b,quotaSource:d?"retrieveUserQuota":"fetchAvailableModels"}}}return{plan:f?.currentTier?.name||"Unknown",quotas:l,subscriptionInfo:f}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function x(a,b=null){let c=a?.refreshToken;if(!c)return null;try{let a,d=new AbortController,f=setTimeout(()=>d.abort(),1e4);try{a=await (0,e.F)(h.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:h.clientId,client_secret:h.clientSecret,refresh_token:c,grant_type:"refresh_token"}),signal:d.signal},b)}finally{clearTimeout(f)}if(a.ok)return null;let g=await a.json().catch(()=>({}));if("invalid_grant"===g.error){let a=(g.error_description||"").toLowerCase();if(a.includes("deleted"))return"has been deleted";if(a.includes("disabled")||a.includes("suspend"))return"is disabled/suspended";return"authorization was revoked"}return null}catch{return null}}async function y(a,b=null){let c=new AbortController,f=setTimeout(()=>c.abort(),1e4);try{let f=await (0,e.F)(h.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":h.userAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify({metadata:d.Cn,mode:1}),signal:c.signal},b);if(!f.ok)return null;return await f.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}finally{clearTimeout(f)}}async function z(a,b=null){try{let c=await (0,e.F)("https://api.anthropic.com/api/oauth/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":i}},b);if(c.ok){let a=await c.json(),b={},d=a=>a&&"object"==typeof a&&"number"==typeof a.utilization,e=a=>{let b=a.utilization,c=Math.max(0,100-b);return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:n(a.resets_at),unlimited:!1}};for(let[c,f]of(d(a.five_hour)&&(b["session (5h)"]=e(a.five_hour)),d(a.seven_day)&&(b["weekly (7d)"]=e(a.seven_day)),Object.entries(a)))if(c.startsWith("seven_day_")&&"seven_day"!==c&&d(f)){let a=c.replace("seven_day_","");b[`weekly ${a} (7d)`]=e(f)}return{plan:"Claude Code",extraUsage:a.extra_usage??null,quotas:b}}return console.warn(`[Claude Usage] OAuth endpoint returned ${c.status}, falling back to legacy`),await A(a,b)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function A(a,b=null){try{let c=await (0,e.F)("https://api.anthropic.com/v1/settings",{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":i}},b);if(c.ok){let d=await c.json();if(d.organization_id){let c=await (0,e.F)("https://api.anthropic.com/v1/organizations/{org_id}/usage".replace("{org_id}",d.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":i}},b);if(c.ok){let a=await c.json();return{plan:d.plan||"Unknown",organization:d.organization_name,quotas:a}}}return{plan:d.plan||"Unknown",organization:d.organization_name,message:"Claude connected. Usage details require admin access."}}return{message:"Claude connected. Usage API requires admin permissions."}}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}function B(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function C(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function D(a){let b=Math.max(0,Math.min(100,B(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:n(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function E(a,b,c){let d=C(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,g=!1;return e&&(a[b?`${b}_session`:"session"]=D(e),g=!0),f&&(a[b?`${b}_weekly`:"weekly"]=D(f),g=!0),g}async function F(a,b=null){try{let c=await (0,e.F)("https://chatgpt.com/backend-api/wham/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Codex connected. Usage API temporarily unavailable (${c.status}).`};let d=await c.json(),f=d.rate_limit||d.rate_limits||d.rate_limits_by_limit_id?.codex||{},g=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(d),h=Math.max(0,B(d.rate_limit_reset_credits?.available_count,0)),i={};return E(i,"",f),E(i,"review",g),{plan:d.plan_type||d.summary?.plan||"unknown",limitReached:C(f)?.limit_reached||!1,reviewLimitReached:C(g)?.limit_reached||!1,resetCredits:{availableCount:h},quotas:i}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function G(a,b,c=null){let d=b?.authMethod||"builder-id",f="api_key"===d,g={...f?{tokentype:"API_KEY"}:{},..."external_idp"===d?{TokenType:"EXTERNAL_IDP"}:{}},h=f?b?.profileArn||"":b?.profileArn||"arn:aws:codewhisperer:us-east-1:638616132270:profile/AAAACCCCXXXX",i=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),j=!1,k=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,e.F)(`https://codewhisperer.us-east-1.amazonaws.com/getUsageLimits?${i.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE-1.0.138","user-agent":"aws-sdk-js/1.0.0 KiroIDE-1.0.138",...g}},c)},{name:"codewhisperer-post",run:async()=>(0,e.F)("https://codewhisperer.us-east-1.amazonaws.com",{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json",...g},body:JSON.stringify({origin:"AI_EDITOR",...h?{profileArn:h}:{},resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",...h?{profileArn:h}:{},resourceType:"AGENTIC_REQUEST"});return(0,e.F)(`https://q.us-east-1.amazonaws.com/getUsageLimits?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...g}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(j=!0),k.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=n(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",e=a.currentUsageWithPrecision||0,f=a.usageLimitWithPrecision||0;if(c[b]={used:e,total:f,remaining:f-e,resetAt:d,unlimited:!1},a.freeTrialInfo){let e=a.freeTrialInfo.currentUsageWithPrecision||0,f=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:e,total:f,remaining:f-e,resetAt:n(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){k.push(`${b.name}:${a.message}`)}return j&&"idc"===d?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:j&&("google"===d||"github"===d)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:j?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:k.length>0?`Unable to fetch Kiro usage right now. (${k[k.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}async function H(a,b){try{if(!b?.resourceUrl)return{message:"Qwen connected. No resource URL available."};return{message:"Qwen connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch Qwen usage."}}}async function I(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}async function J(a,b){try{return{plan:b?.plan||"Free",message:"Ollama Cloud uses a free tier with light usage limits (resets every 5h & 7d). For detailed usage tracking, visit ollama.com/settings/keys.",quotas:[]}}catch(a){return{message:"Unable to fetch Ollama Cloud usage."}}}async function K(a,b,c=null){if(!a)return{message:"GLM API key not available."};let d=f["glm-cn"===b?"china":"international"];try{let b=await (0,e.F)(d,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),g=f?.data&&"object"==typeof f.data?f.data:{},h=Array.isArray(g.limits)?g.limits:[],i={};for(let a of h){if(!a||"TOKENS_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,d=Math.max(0,100-b);i.session={used:b,total:100,remaining:d,remainingPercentage:d,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let j="string"==typeof g.level?g.level:"";return{plan:j?j.charAt(0).toUpperCase()+j.slice(1).toLowerCase():"Unknown",quotas:i}}catch(a){return{message:`GLM error: ${a.message}`}}}function L(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function M(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function N(a){return Math.max(0,Number(L(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function O(a){return Math.max(0,Number(L(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function P(a){return!!(N(a)>0||O(a)>0)||null!==M(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==M(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function Q(a,b,c,d,e,f,g,h,i,j){let k=d(c),l=M(c,g,h);if(k<=0&&null===l)return;let m=Math.max(0,Number(L(c,e,f))||0),o=k,p=m;k<=0&&(o=100,p=j?Math.round(l/100*o):Math.round(o*(1-l/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(o,p,function(a,b,c,d,e,f){let g=Number(L(a,c,d))||0;return g>0?new Date(b+g).toISOString():n(L(a,e,f))}(c,...i),j,l)}async function R(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let d=g[b]||[],f="";for(let b=0;b<d.length;b+=1){let g=d[b],h=b<d.length-1;try{let b=await (0,e.F)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),d=await b.text(),i={};if(d)try{i=JSON.parse(d)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${d}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,p=(Array.isArray(o)?o:[]).filter(P);if(0===p.length)return{message:"MiniMax connected. No quota data was returned."};let q=Date.now(),r=g.includes("/coding_plan/remains"),s={};for(let a of p){let b=function(a){let b=String(L(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);Q(s,`${b} (5h)`,a,N,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[q,"remains_time","remainsTime","end_time","endTime"],r),Q(s,`${b} (7d)`,a,O,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[q,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],r)}if(0===Object.keys(s).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:s}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}async function S(a,b=null){if(!a)return{message:"Qoder usage unavailable: no access token"};try{let c=await (0,e.F)("https://openapi.qoder.sh/api/v2/quota/usage",{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Qoder connected. Usage fetch returned ${c.status}.`};let d=await c.json().catch(()=>null);if(!d)return{message:"Qoder connected. Usage response was not JSON."};let f=d.userQuota||{},g=d.orgResourcePackage||{},h=Number.isFinite(Number(d.expiresAt))&&Number(d.expiresAt)>0?Number(d.expiresAt):null,i=h?new Date(h).toISOString():null;return{quotas:{user:{total:Number(f.total)||0,used:Number(f.used)||0,remaining:Number(f.remaining)||0,unit:f.unit||"credits",resetAt:i},organization:{total:Number(g.total)||0,used:Number(g.used)||0,remaining:Number(g.remaining)||0,unit:g.unit||"credits",resetAt:i}},totalUsagePercentage:Number(d.totalUsagePercentage)||0,isQuotaExceeded:!!d.isQuotaExceeded,expiresAt:h}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}async function T(a,b=null,d=null){if(!a)return{message:"AutoClaw usage unavailable: no access token"};try{let{AUTOCLAW_WALLET_ENDPOINT:f,buildAutoClawWalletHeaders:g}=await Promise.resolve().then(c.bind(c,73952)),h=await (0,e.F)(f,{method:"GET",headers:g(a)},b);if(!h.ok)return{message:`AutoClaw connected. Usage fetch returned ${h.status}.`};let i=await h.json().catch(()=>null);if(!i||0!==i.code)return{message:"AutoClaw connected. Unable to read balance."};let j=Number(i.data?.total_balance),k=Number.isFinite(j)?j:0,l=k;try{if(d?.id){let{getQuotaSnapshot:a}=await Promise.resolve().then(c.bind(c,70321)),b=await a(d.id),e=Number(b?.usage?.quotas?.points?.total)||0,f=Number(b?.usage?.quotas?.points?.remaining);l=Math.max(e,k,Number.isFinite(f)?f:0)}}catch{}let m=Math.max(0,l-k);return{quotas:{points:{total:l,used:m,remaining:k,unit:"points",resetAt:null}},totalUsagePercentage:l>0?Math.round(m/l*100):0,isQuotaExceeded:k<=0}}catch(a){return{message:`AutoClaw connected. Unable to fetch balance: ${a.message}`}}}async function U(a,b=null,c=null){let d=String(a||"").trim(),f=String(b?.accountId||"").trim();if(!d)return{message:"Cloudflare API token not available."};if(!f)return{message:"Cloudflare account ID missing. Re-import or edit the connection."};try{let a=await (0,e.F)("https://api.cloudflare.com/client/v4/user/tokens/verify",{method:"GET",headers:{Authorization:`Bearer ${d}`,Accept:"application/json"}},c);if(401===a.status||403===a.status)return{message:"Cloudflare API token invalid or expired. Re-import the account."};if(!a.ok){let b=await a.text().catch(()=>"");return{message:`Cloudflare token verify failed (${a.status})${b?`: ${b.slice(0,160)}`:""}`}}let g=await a.json().catch(()=>null),h=g?.result?.status||(g?.success?"active":"unknown"),i=b?.accountName||"";try{let a=await (0,e.F)(`https://api.cloudflare.com/client/v4/accounts/${encodeURIComponent(f)}`,{method:"GET",headers:{Authorization:`Bearer ${d}`,Accept:"application/json"}},c);if(a?.ok){let b=await a.json().catch(()=>null);i=b?.result?.name||i}}catch{}let j=f.length>10?`${f.slice(0,8)}…`:f;return{plan:i?`Workers AI \xb7 ${i}`:`Workers AI \xb7 ${j}`,quotas:{"Workers AI":{used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}},message:h&&"active"!==h?`Token status: ${h}. Cloudflare does not publish remaining free-tier neurons via API.`:"Token valid. CF does not expose remaining free-tier neurons via API — model rate limits still apply."}}catch(a){return{message:`Cloudflare usage error: ${a.message}`}}}function V(a,b=0){return null==a?b:"object"==typeof a&&!Array.isArray(a)&&"val"in a?B(a.val,b):B(a,b)}function W({used:a,total:b,resetAt:c,unlimited:d=!1}){let e=Math.max(0,B(b,0)),f=Math.max(0,B(a,0));if(d||0===e)return{used:f,total:0,remainingPercentage:100*!!d,resetAt:c||null,unlimited:!0};let g=Math.max(0,e-f);return{used:f,total:e,remainingPercentage:g/e*100,resetAt:c||null,unlimited:!1}}async function X(a,b=null,c=null){if(!a)return{message:"Grok CLI access token not available."};let d=function(a,b={}){let c=b||{},d={Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":"grok-pager/0.2.93 grok-shell/0.2.93 (linux; x86_64)","x-xai-token-auth":"xai-grok-cli","x-grok-client-identifier":"grok-pager","x-grok-client-version":"0.2.93"},e=c.email,f=c.userId||c.principalId;return e&&(d["x-email"]=e),f&&(d["x-userid"]=f),d}(a,b);try{let[a,b]=await Promise.all([(0,e.F)("https://cli-chat-proxy.grok.com/v1/billing?format=credits",{method:"GET",headers:d},c),(0,e.F)("https://cli-chat-proxy.grok.com/v1/user?include=subscription",{method:"GET",headers:d},c).catch(()=>null)]);if(401===a.status||403===a.status)return{message:"Grok CLI authentication expired. Please re-authorize."};if(!a.ok){let b=await a.text().catch(()=>""),c=b?`: ${b.slice(0,200)}`:"";return{message:`Grok CLI billing API error (${a.status})${c}`}}let f=await a.json().catch(()=>null);if(!f||"object"!=typeof f)return{message:"Grok CLI billing response was not JSON."};let g=null;b?.ok&&(g=await b.json().catch(()=>null));let h=function(a,b=null){let c,d=a&&"object"==typeof a?a:{},e=d.config&&"object"==typeof d.config&&!Array.isArray(d.config)?d.config:d,f=n(e.billingPeriodEnd)||n(e.currentPeriod?.end)||n(d.billingPeriodEnd)||null,g={},h=V(e.onDemandCap??d.onDemandCap,NaN),i=V(e.onDemandUsed??d.onDemandUsed,NaN);if(Number.isFinite(h)&&h>0){let a=Number.isFinite(i)?Math.max(0,i):0;g["On-demand"]=W({used:a,total:h,resetAt:f})}let j=V(e.monthlyLimit??d.monthlyLimit,NaN),k=V(e.used??d.used,NaN);Number.isFinite(j)&&j>0&&(g.Monthly=W({used:Number.isFinite(k)?Math.max(0,k):0,total:j,resetAt:f}));let l=V(e.prepaidBalance??d.prepaidBalance,NaN);return Number.isFinite(l)&&l>0&&(g.Prepaid={used:0,total:l,remainingPercentage:100,resetAt:null,unlimited:!1}),(b?.hasGrokCodeAccess===!0||e?.isUnifiedBillingUser===!0)&&(g["Grok Code"]={used:0,total:0,remainingPercentage:100,resetAt:f,unlimited:!0}),0===Object.keys(g).length&&(g.Included={used:0,total:0,remainingPercentage:100,resetAt:f,unlimited:!0}),{plan:(c="string"==typeof b?.subscriptionTier?b.subscriptionTier.trim():"")?c.replace(/[_-]+/g," ").replace(/\b\w/g,a=>a.toUpperCase()):b?.hasGrokCodeAccess===!0?"Grok Code":(e?.isUnifiedBillingUser,"Grok Build"),quotas:g,periodEnd:f}}(f,g);if(!h.quotas||0===Object.keys(h.quotas).length)return{plan:h.plan,message:"Grok Build connected, but no credit allotment was returned. Free promo may be exhausted — upgrade at https://grok.com/supergrok or add credits at https://grok.com/?_s=usage.",quotas:{}};return{plan:h.plan,quotas:h.quotas}}catch(a){return{message:`Grok CLI usage error: ${a.message}`}}}function Y(a,b=0,c=""){if(!a||"object"!=typeof a||b>4)return null;let d=[];for(let[e,f]of Object.entries(a)){let a=e.toLowerCase();if(f&&"object"==typeof f&&!Array.isArray(f)){let a=Y(f,b+1,c?`${c}.${e}`:e);a&&d.push(a);continue}if("number"!=typeof f&&"string"!=typeof f)continue;let g=B(f,NaN);Number.isFinite(g)&&/(remaining|balance|credit|quota|limit|allowance|cap|used|spent|consumed)/i.test(a)&&d.push({key:c?`${c}.${e}`:e,name:e,value:g,kind:a})}return d.length?d:null}function Z(a){if(!a?.length)return null;let b=b=>a.find(a=>b.test(a.kind)||b.test(a.name)),c=b(/remaining|balance|credit(?!s_used)/i),d=b(/limit|cap|allowance|total|quota(?!_used)/i),e=b(/used|spent|consumed/i);if(d&&Number(d.value)>0){let a=e?Math.max(0,Number(e.value)):c?Math.max(0,Number(d.value)-Number(c.value)):0,b=Math.max(0,Number(d.value)-a);return{used:a,total:Number(d.value),remainingPercentage:b/Number(d.value)*100,resetAt:null,unlimited:!1}}if(c&&Number(c.value)>=0){let a=Number(c.value);return{used:0,total:a>0?a:1,remainingPercentage:100*(a>0),resetAt:null,unlimited:!1}}return null}async function $(a,b="cline",d=null){if(!a)return{message:"Cline access token not available."};try{let{buildClineHeaders:f}=await Promise.resolve().then(c.bind(c,87793)),g=f(a,{Accept:"application/json"}),h=await (0,e.F)("https://api.cline.bot/api/v1/users/me",{method:"GET",headers:g},d);if(401===h.status||403===h.status)return{message:"Cline authentication expired. Please re-authorize."};if(!h.ok)return{message:`Cline user API error (${h.status})`};let i=await h.json().catch(()=>null);if(!i||"object"!=typeof i)return{message:"Cline user response was not JSON."};let j=i.data&&"object"==typeof i.data?i.data:i,k=j.email||j.user?.email||null,l=j.plan||j.subscription?.plan||j.subscription?.name||j.organization?.plan||j.organizations?.[0]?.plan||("clinepass"===b?"ClinePass":"Cline"),m=Y(j)||[],n=Z(m),o={};n&&(o.Credits=n);let p=j.organizations||j.organization;if(!Object.keys(o).length&&p&&(o.Account={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}),!Object.keys(o).length)return{plan:"string"==typeof l?l:"Cline",email:k,message:"Cline connected. No credit allotment was returned by the account API.",quotas:{}};return{plan:"string"==typeof l?l:"Cline",email:k,quotas:o}}catch(a){return{message:`Cline usage error: ${a.message}`}}}async function _(a,b=null,c=null){if(!a)return{message:"Kimchi access token not available."};try{let d=await (0,e.F)("https://app.kimchi.dev/api/v1/me",{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${a}`,"User-Agent":"kimchi/0.1.50"}},c);if(401===d.status||403===d.status)return{message:"Kimchi authentication expired. Please re-authorize."};if(!d.ok)return{message:`Kimchi user API error (${d.status})`};let f=await d.json().catch(()=>null);if(!f||"object"!=typeof f)return{message:"Kimchi user response was not JSON."};let g=f.email||b?.username||null,h=f.plan||f.tier||f.subscription?.name||"Kimchi",i=Y(f)||[],j=Z(i),k={};return j?k.Credits=j:k.Account={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0},{plan:"string"==typeof h?h:"Kimchi",email:g,quotas:k}}catch(a){return{message:`Kimchi usage error: ${a.message}`}}}async function aa(a,b=null,c=null){if(!a)return{message:"xAI token not available."};try{let d={Authorization:`Bearer ${a}`,Accept:"application/json"},f=0,g=null,h=null;for(let a of["https://api.x.ai/v1/api-key","https://api.x.ai/v1/models"]){let b=await (0,e.F)(a,{method:"GET",headers:d},c);if(f=b.status,401===b.status||403===b.status)return{message:"xAI authentication expired. Please re-authorize or update the API key."};if(b.ok){g=await b.json().catch(()=>null),h=a;break}}if(!g)return{message:`xAI API error (${f||"unknown"})`};let i=Y(g)||[],j=Z(i),k={};j?k.Credits=j:(Array.isArray(g?.data)&&g.data.length,k.API={used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0});let l=b?.email||null,m=g.name||g.api_key_name||g.team?.name||(h?.includes("api-key")?"xAI API Key":"xAI");return{plan:"string"==typeof m?m:"xAI",email:l,quotas:k}}catch(a){return{message:`xAI usage error: ${a.message}`}}}async function ab(a,b=null){if(!a)return{message:"Cursor access token not available."};let c=b?.plan||b?.membershipType||"Cursor",d=b?.email||null;try{let b=String(a).split(".");if(3===b.length){let a=b[1].replace(/-/g,"+").replace(/_/g,"/"),e=a+"=".repeat((4-a.length%4)%4),f=JSON.parse(Buffer.from(e,"base64").toString("utf8"));d=d||f.email||f.preferred_username||null,c=f.plan||f.subscription||f.membershipType||f.tier||c}}catch{}return{plan:"string"==typeof c?c:"Cursor",email:d,quotas:{Session:{used:0,total:0,remainingPercentage:100,resetAt:null,unlimited:!0}}}}},24985:(a,b,c)=>{var d=c(45654);c(33889),c(29984),c(4554);var e=a.exports=d.pkcs1=d.pkcs1||{};function f(a,b,c){c||(c=d.md.sha1.create());for(var e="",f=Math.ceil(b/c.digestLength),g=0;g<f;++g){var h=String.fromCharCode(g>>24&255,g>>16&255,g>>8&255,255&g);c.start(),c.update(a+h),e+=c.digest().getBytes()}return e.substring(0,b)}e.encode_rsa_oaep=function(a,b,c){"string"==typeof c?(e=c,g=arguments[3]||void 0,h=arguments[4]||void 0):c&&(e=c.label||void 0,g=c.seed||void 0,h=c.md||void 0,c.mgf1&&c.mgf1.md&&(i=c.mgf1.md)),h?h.start():h=d.md.sha1.create(),i||(i=h);var e,g,h,i,j=Math.ceil(a.n.bitLength()/8),k=j-2*h.digestLength-2;if(b.length>k){var l=Error("RSAES-OAEP input message length is too long.");throw l.length=b.length,l.maxLength=k,l}e||(e=""),h.update(e,"raw");for(var m=h.digest(),n="",o=k-b.length,p=0;p<o;p++)n+="\0";var q=m.getBytes()+n+"\x01"+b;if(g){if(g.length!==h.digestLength){var l=Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw l.seedLength=g.length,l.digestLength=h.digestLength,l}}else g=d.random.getBytes(h.digestLength);var r=f(g,j-h.digestLength-1,i),s=d.util.xorBytes(q,r,q.length),t=f(s,h.digestLength,i);return"\0"+d.util.xorBytes(g,t,g.length)+s},e.decode_rsa_oaep=function(a,b,c){"string"==typeof c?(e=c,g=arguments[3]||void 0):c&&(e=c.label||void 0,g=c.md||void 0,c.mgf1&&c.mgf1.md&&(h=c.mgf1.md));var e,g,h,i=Math.ceil(a.n.bitLength()/8);if(b.length!==i){var j=Error("RSAES-OAEP encoded message length is invalid.");throw j.length=b.length,j.expectedLength=i,j}if(void 0===g?g=d.md.sha1.create():g.start(),h||(h=g),i<2*g.digestLength+2)throw Error("RSAES-OAEP key is too short for the hash function.");e||(e=""),g.update(e,"raw");for(var k=g.digest().getBytes(),l=b.charAt(0),m=b.substring(1,g.digestLength+1),n=b.substring(1+g.digestLength),o=f(n,g.digestLength,h),p=f(d.util.xorBytes(m,o,m.length),i-g.digestLength-1,h),q=d.util.xorBytes(n,p,n.length),r=q.substring(0,g.digestLength),j="\0"!==l,s=0;s<g.digestLength;++s)j|=k.charAt(s)!==r.charAt(s);for(var t=1,u=g.digestLength,v=g.digestLength;v<q.length;v++){var w=q.charCodeAt(v),x=1&w^1;j|=w&65534*!!t,t&=x,u+=t}if(j||1!==q.charCodeAt(u))throw Error("Invalid RSAES-OAEP padding.");return q.substring(u+1)}},25346:(a,b,c)=>{"use strict";c.d(b,{d_:()=>f});var d=c(94735);c(77598),c(24081),c(8677),global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new d.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._usageWritesInFlight||(global._usageWritesInFlight=new Set),global._pendingRequests,global._lastErrorProvider,global._pendingTimers,global._recentRing,global._connectionMapCache;let e=global._usageWritesInFlight;async function f(){for(;e.size>0;)await Promise.allSettled([...e])}global._statsEmitter},26376:(a,b,c)=>{"use strict";let{makeRequest:d}=c(12600);a.exports={isValidLastEventId:function(a){return -1===a.indexOf("\0")},isASCIINumber:function(a){if(0===a.length)return!1;for(let b=0;b<a.length;b++)if(48>a.charCodeAt(b)||a.charCodeAt(b)>57)return!1;return!0},createPotentialCORSRequest:function(a,b,c,e){let f="no cors"===c?"no-cors":"cors";e&&"no-cors"===f&&(f="same-origin");let g="include";return"anonymous"===c&&(g="same-origin"),d({urlList:[a],destination:b,mode:f,credentials:g,useURLCredentials:!0})}}},26757:(a,b,c)=>{"use strict";let d=c(34589),{AsyncResource:e}=c(16698),{InvalidArgumentError:f,InvalidReturnValueError:g}=c(61448),h=c(84285),{addSignal:i,removeSignal:j}=c(73135);function k(){}class l extends e{constructor(a,b,c){if(!a||"object"!=typeof a)throw new f("invalid opts");const{signal:d,method:e,opaque:g,body:j,onInfo:l,responseHeaders:m}=a;try{if("function"!=typeof c)throw new f("invalid callback");if("function"!=typeof b)throw new f("invalid factory");if(d&&"function"!=typeof d.on&&"function"!=typeof d.addEventListener)throw new f("signal must be an EventEmitter or EventTarget");if("CONNECT"===e)throw new f("invalid method");if(l&&"function"!=typeof l)throw new f("invalid onInfo callback");super("UNDICI_STREAM")}catch(a){throw h.isStream(j)&&h.destroy(j.on("error",k),a),a}this.responseHeaders=m||null,this.opaque=g||null,this.factory=b,this.callback=c,this.res=null,this.abort=null,this.context=null,this.controller=null,this.trailers=null,this.body=j,this.onInfo=l||null,h.isStream(j)&&j.on("error",a=>{this.onResponseError(this.controller,a)}),i(this,d)}onRequestStart(a,b){this.reason?a.abort(this.reason):(d(this.callback),this.controller=a,this.abort=b=>a.abort(b),this.context=b)}onResponseStart(a,b,c,d){var e;let f,i,j,k,l,{factory:m,opaque:n,context:o,responseHeaders:p}=this,q=a?.rawHeaders,r="raw"===p?h.parseRawHeaders(q):c;if(b<200){this.onInfo&&this.onInfo({statusCode:b,headers:r});return}if(this.factory=null,null===m)return;let s=this.runInAsyncScope(m,null,{statusCode:b,headers:r,opaque:n,context:o});if(!s||"function"!=typeof s.write||"function"!=typeof s.end||"function"!=typeof s.on)throw new g("expected Writable");e=(a,b)=>{let{callback:c,res:d,opaque:e,trailers:f,abort:g}=this;this.res=null,(a||!d?.readable)&&h.destroy(d,b?void 0:a),this.callback=null,this.runInAsyncScope(c,null,a||null,{opaque:e,trailers:f}),a&&g(a)},f=!1,i=(a,b=!1)=>{f||(f=!0,s.removeListener("close",j),s.removeListener("error",k),s.removeListener("finish",l),e(a,b))},j=()=>{let a;i(s.errored??s.writableErrored??s._writableState?.errored??(s.writableFinished?void 0:((a=Error("Premature close")).code="ERR_STREAM_PREMATURE_CLOSE",a)))},k=a=>i(a,!0),l=()=>i(),s.on("close",j),s.on("error",k),s.on("finish",l),s.closed?process.nextTick(j):s.writableFinished&&process.nextTick(l),s.on("drain",()=>a.resume()),this.res=s,!0===(void 0!==s.writableNeedDrain?s.writableNeedDrain:s._writableState?.needDrain)&&a.pause()}onResponseData(a,b){let{res:c}=this;c&&!1===c.write(b)&&a.pause()}onResponseEnd(a,b){let{res:c}=this;j(this),c&&(b&&"object"==typeof b&&(this.trailers=b),c.end())}onResponseError(a,b){let{res:c,callback:d,opaque:e,body:f}=this;j(this),this.factory=null,c?(this.res=null,h.destroy(c,b)):d&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(d,null,b,{opaque:e})})),f&&(this.body=null,h.destroy(f,b))}}a.exports=function a(b,c,d){if(void 0===d)return new Promise((d,e)=>{a.call(this,b,c,(a,b)=>a?e(a):d(b))});try{let a=new l(b,c,d);this.dispatch(b,a)}catch(c){if("function"!=typeof d)throw c;let a=b?.opaque;queueMicrotask(()=>d(c,{opaque:a}))}}},27060:(a,b,c)=>{"use strict";let{isIP:d}=c(77030),{lookup:e}=c(40610),f=c(83204),{InvalidArgumentError:g,InformationalError:h}=c(61448);function i(a){return"string"==typeof a&&"host"===a.toLowerCase()}function j(a,b){let c=function(a){let b;if(null==a)return null;if(Array.isArray(a)){if(0===a.length||!Array.isArray(a[0]))return a;let b=[];for(let c of a)Array.isArray(c)&&2===c.length?b.push(c[0],c[1]):b.push(c);return b}if("object"==typeof a&&(b=Object.getPrototypeOf(a),Object.hasOwn(a,Symbol.iterator)||null!=b&&b!==Object.prototype&&"function"==typeof a[Symbol.iterator])){let b=[];for(let c of a)Array.isArray(c)&&2===c.length?b.push(c[0],c[1]):b.push(c);return b}return a}(b);return!function(a){if(null==a)return!1;if(Array.isArray(a)){if(0===a.length)return!1;for(let b=0;b<a.length;b+=2)if(i(a[b]))return!0;return!1}if("object"==typeof a){for(let b in a)if(i(b))return!0}return!1}(c)?Array.isArray(c)?["host",a,...c]:c&&"object"==typeof c?{host:a,...c}:{host:a}:c}class k{#t=0;#u=new Map;constructor(a){this.#t=a.maxItems}get size(){return this.#u.size}get(a){return this.#u.get(a)??null}set(a,b){this.#u.set(a,b)}delete(a){this.#u.delete(a)}full(){return this.size>=this.#t}}class l{#v=0;#t=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(a){this.#v=a.maxTTL,this.#t=a.maxItems,this.dualStack=a.dualStack,this.affinity=a.affinity,this.lookup=a.lookup??this.#w,this.pick=a.pick??this.#x,this.storage=a.storage??new k(a)}runLookup(a,b,c){let d=this.storage.get(a.hostname);if(null==d&&this.storage.full())return void c(null,a);let e={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...b.dns,maxTTL:this.#v,maxItems:this.#t};if(null==d)this.lookup(a,e,(b,d)=>{let f;if(b||null==d||0===d.length)return void c(b??new h("No DNS entries found"));this.setRecords(a,d);let g=this.storage.get(a.hostname),i=this.pick(a,g,e.affinity);f="number"==typeof i.port?`:${i.port}`:""!==a.port?`:${a.port}`:"",c(null,new URL(`${a.protocol}//${6===i.family?`[${i.address}]`:i.address}${f}`))});else{let f,g=this.pick(a,d,e.affinity);if(null==g){this.storage.delete(a.hostname),this.runLookup(a,b,c);return}f="number"==typeof g.port?`:${g.port}`:""!==a.port?`:${a.port}`:"",c(null,new URL(`${a.protocol}//${6===g.family?`[${g.address}]`:g.address}${f}`))}}#w(a,b,c){e(a.hostname,{all:!0,family:!1===this.dualStack?this.affinity:0,order:"ipv4first"},(a,b)=>{if(a)return c(a);let d=new Map;for(let a of b)d.set(`${a.address}:${a.family}`,a);c(null,d.values())})}#x(a,b,c){let d,e=null,{records:f,offset:g}=b;if(this.dualStack?(null==c&&(null==g||0x7fffffff===g?(b.offset=0,c=4):(b.offset++,c=(1&b.offset)==1?6:4)),d=null!=f[c]&&f[c].ips.length>0?f[c]:f[4===c?6:4]):d=f[c],null==d||0===d.ips.length)return e;null==d.offset||0x7fffffff===d.offset?d.offset=0:d.offset++;let h=d.offset%d.ips.length;return null==(e=d.ips[h]??null)?e:Date.now()-e.timestamp>e.ttl?(d.ips.splice(h,1),this.pick(a,b,c)):e}pickFamily(a,b){let c=this.storage.get(a.hostname)?.records;if(!c)return null;let d=c[b];if(!d)return null;null==d.offset||0x7fffffff===d.offset?d.offset=0:d.offset++;let e=d.offset%d.ips.length,f=d.ips[e]??null;return null==f||Date.now()-f.timestamp>f.ttl&&d.ips.splice(e,1),f}setRecords(a,b){let c=Date.now(),d={records:{4:null,6:null}},e=this.#v;for(let a of b){a.timestamp=c,"number"==typeof a.ttl?(a.ttl=Math.min(a.ttl,this.#v),e=Math.min(e,a.ttl)):a.ttl=this.#v;let b=d.records[a.family]??{ips:[]};b.ips.push(a),d.records[a.family]=b}this.storage.set(a.hostname,d,{ttl:e})}deleteRecords(a){this.storage.delete(a.hostname)}getHandler(a,b){return new m(this,a,b)}}class m extends f{#a=null;#y=null;#z=null;#A=null;#B=null;#C=null;#D=!0;constructor(a,{origin:b,handler:c,dispatch:d,newOrigin:e},f){super(c),this.#A=b,this.#C=e,this.#y={...f},this.#a=a,this.#z=d}onResponseError(a,b){switch(b.code){case"ETIMEDOUT":case"ECONNREFUSED":if(this.#a.dualStack){let c;if(!this.#D)return void super.onResponseError(a,b);this.#D=!1;let d="["===this.#C.hostname[0]?4:6,e=this.#a.pickFamily(this.#A,d);if(null==e)return void super.onResponseError(a,b);c="number"==typeof e.port?`:${e.port}`:""!==this.#A.port?`:${this.#A.port}`:"";let f={...this.#y,origin:`${this.#A.protocol}//${6===e.family?`[${e.address}]`:e.address}${c}`,headers:j(this.#A.host,this.#y.headers)};this.#z(f,this);return}super.onResponseError(a,b);break;case"ENOTFOUND":this.#a.deleteRecords(this.#A),super.onResponseError(a,b);break;default:super.onResponseError(a,b)}}}a.exports=a=>{let b;if(a?.maxTTL!=null&&("number"!=typeof a?.maxTTL||a?.maxTTL<0))throw new g("Invalid maxTTL. Must be a positive number");if(a?.maxItems!=null&&("number"!=typeof a?.maxItems||a?.maxItems<1))throw new g("Invalid maxItems. Must be a positive number and greater than zero");if(a?.affinity!=null&&a?.affinity!==4&&a?.affinity!==6)throw new g("Invalid affinity. Must be either 4 or 6");if(a?.dualStack!=null&&"boolean"!=typeof a?.dualStack)throw new g("Invalid dualStack. Must be a boolean");if(a?.lookup!=null&&"function"!=typeof a?.lookup)throw new g("Invalid lookup. Must be a function");if(a?.pick!=null&&"function"!=typeof a?.pick)throw new g("Invalid pick. Must be a function");if(a?.storage!=null&&("function"!=typeof a?.storage?.get||"function"!=typeof a?.storage?.set||"function"!=typeof a?.storage?.full||"function"!=typeof a?.storage?.delete))throw new g("Invalid storage. Must be a object with methods: { get, set, full, delete }");let c=a?.dualStack??!0;b=c?a?.affinity??null:a?.affinity??4;let e=new l({maxTTL:a?.maxTTL??1e4,lookup:a?.lookup??null,pick:a?.pick??null,dualStack:c,affinity:b,maxItems:a?.maxItems??1/0,storage:a?.storage});return a=>function(b,c){if(null==b.origin)return a(b,c);let f=b.origin.constructor===URL?b.origin:new URL(b.origin);return 0!==d(f.hostname)?a(b,c):(e.runLookup(f,b,(d,g)=>{if(d)return c.onResponseError(null,d);a({...b,servername:f.hostname,origin:g.origin,headers:j(f.host,b.headers)},e.getHandler({origin:f,dispatch:a,handler:c,newOrigin:g},b))}),!0)}}},27080:(a,b,c)=>{var d=c(45654);c(63070),c(76632),c(38627),c(49345),c(94463),c(29984),c(4554),c(33889);var e=function(a,b,c,e){var f=d.util.createBuffer(),g=a.length>>1,h=g+(1&a.length),i=a.substr(0,h),j=a.substr(g,h),k=d.util.createBuffer(),l=d.hmac.create();c=b+c;var m=Math.ceil(e/16),n=Math.ceil(e/20);l.start("MD5",i);var o=d.util.createBuffer();k.putBytes(c);for(var p=0;p<m;++p)l.start(null,null),l.update(k.getBytes()),k.putBuffer(l.digest()),l.start(null,null),l.update(k.bytes()+c),o.putBuffer(l.digest());l.start("SHA1",j);var q=d.util.createBuffer();k.clear(),k.putBytes(c);for(var p=0;p<n;++p)l.start(null,null),l.update(k.getBytes()),k.putBuffer(l.digest()),l.start(null,null),l.update(k.bytes()+c),q.putBuffer(l.digest());return f.putBytes(d.util.xorBytes(o.getBytes(),q.getBytes(),e)),f},f=function(a,b,c){var e=!1;try{var f=a.deflate(b.fragment.getBytes());b.fragment=d.util.createBuffer(f),b.length=f.length,e=!0}catch(a){}return e},g=function(a,b,c){var e=!1;try{var f=a.inflate(b.fragment.getBytes());b.fragment=d.util.createBuffer(f),b.length=f.length,e=!0}catch(a){}return e},h=function(a,b){var c=0;switch(b){case 1:c=a.getByte();break;case 2:c=a.getInt16();break;case 3:c=a.getInt24();break;case 4:c=a.getInt32()}return d.util.createBuffer(a.getBytes(c))},i=function(a,b,c){a.putInt(c.length(),b<<3),a.putBuffer(c)},j={};j.Versions={TLS_1_0:{major:3,minor:1},TLS_1_1:{major:3,minor:2},TLS_1_2:{major:3,minor:3}},j.SupportedVersions=[j.Versions.TLS_1_1,j.Versions.TLS_1_0],j.Version=j.SupportedVersions[0],j.MaxFragment=15360,j.ConnectionEnd={server:0,client:1},j.PRFAlgorithm={tls_prf_sha256:0},j.BulkCipherAlgorithm={none:null,rc4:0,des3:1,aes:2},j.CipherType={stream:0,block:1,aead:2},j.MACAlgorithm={none:null,hmac_md5:0,hmac_sha1:1,hmac_sha256:2,hmac_sha384:3,hmac_sha512:4},j.CompressionMethod={none:0,deflate:1},j.ContentType={change_cipher_spec:20,alert:21,handshake:22,application_data:23,heartbeat:24},j.HandshakeType={hello_request:0,client_hello:1,server_hello:2,certificate:11,server_key_exchange:12,certificate_request:13,server_hello_done:14,certificate_verify:15,client_key_exchange:16,finished:20},j.Alert={},j.Alert.Level={warning:1,fatal:2},j.Alert.Description={close_notify:0,unexpected_message:10,bad_record_mac:20,decryption_failed:21,record_overflow:22,decompression_failure:30,handshake_failure:40,bad_certificate:42,unsupported_certificate:43,certificate_revoked:44,certificate_expired:45,certificate_unknown:46,illegal_parameter:47,unknown_ca:48,access_denied:49,decode_error:50,decrypt_error:51,export_restriction:60,protocol_version:70,insufficient_security:71,internal_error:80,user_canceled:90,no_renegotiation:100},j.HeartbeatMessageType={heartbeat_request:1,heartbeat_response:2},j.CipherSuites={},j.getCipherSuite=function(a){var b=null;for(var c in j.CipherSuites){var d=j.CipherSuites[c];if(d.id[0]===a.charCodeAt(0)&&d.id[1]===a.charCodeAt(1)){b=d;break}}return b},j.handleUnexpected=function(a,b){(a.open||a.entity!==j.ConnectionEnd.client)&&a.error(a,{message:"Unexpected message. Received TLS record out of order.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unexpected_message}})},j.handleHelloRequest=function(a,b,c){!a.handshaking&&a.handshakes>0&&(j.queue(a,j.createAlert(a,{level:j.Alert.Level.warning,description:j.Alert.Description.no_renegotiation})),j.flush(a)),a.process()},j.parseHelloMessage=function(a,b,c){var e=null,f=a.entity===j.ConnectionEnd.client;if(c<38)a.error(a,{message:f?"Invalid ServerHello message. Message too short.":"Invalid ClientHello message. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});else{var g=b.fragment,i=g.length();if(e={version:{major:g.getByte(),minor:g.getByte()},random:d.util.createBuffer(g.getBytes(32)),session_id:h(g,1),extensions:[]},f?(e.cipher_suite=g.getBytes(2),e.compression_method=g.getByte()):(e.cipher_suites=h(g,2),e.compression_methods=h(g,1)),(i=c-(i-g.length()))>0){for(var k=h(g,2);k.length()>0;)e.extensions.push({type:[k.getByte(),k.getByte()],data:h(k,2)});if(!f)for(var l=0;l<e.extensions.length;++l){var m=e.extensions[l];if(0===m.type[0]&&0===m.type[1])for(var n=h(m.data,2);n.length()>0&&0===n.getByte();)a.session.extensions.server_name.serverNameList.push(h(n,2).getBytes())}}if(a.session.version&&(e.version.major!==a.session.version.major||e.version.minor!==a.session.version.minor))return a.error(a,{message:"TLS version change is disallowed during renegotiation.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}});if(f)a.session.cipherSuite=j.getCipherSuite(e.cipher_suite);else for(var o=d.util.createBuffer(e.cipher_suites.bytes());o.length()>0&&(a.session.cipherSuite=j.getCipherSuite(o.getBytes(2)),null===a.session.cipherSuite););if(null===a.session.cipherSuite)return a.error(a,{message:"No cipher suites in common.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.handshake_failure},cipherSuite:d.util.bytesToHex(e.cipher_suite)});f?a.session.compressionMethod=e.compression_method:a.session.compressionMethod=j.CompressionMethod.none}return e},j.createSecurityParameters=function(a,b){var c=a.entity===j.ConnectionEnd.client,d=b.random.bytes(),e=c?a.session.sp.client_random:d,f=c?d:j.createRandom().getBytes();a.session.sp={entity:a.entity,prf_algorithm:j.PRFAlgorithm.tls_prf_sha256,bulk_cipher_algorithm:null,cipher_type:null,enc_key_length:null,block_length:null,fixed_iv_length:null,record_iv_length:null,mac_algorithm:null,mac_length:null,mac_key_length:null,compression_algorithm:a.session.compressionMethod,pre_master_secret:null,master_secret:null,client_random:e,server_random:f}},j.handleServerHello=function(a,b,c){var d=j.parseHelloMessage(a,b,c);if(!a.fail){if(!(d.version.minor<=a.version.minor))return a.error(a,{message:"Incompatible TLS version.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}});a.version.minor=d.version.minor,a.session.version=a.version;var e=d.session_id.bytes();e.length>0&&e===a.session.id?(a.expect=o,a.session.resuming=!0,a.session.sp.server_random=d.random.bytes()):(a.expect=k,a.session.resuming=!1,j.createSecurityParameters(a,d)),a.session.id=e,a.process()}},j.handleClientHello=function(a,b,c){var e,f=j.parseHelloMessage(a,b,c);if(!a.fail){var g=f.session_id.bytes(),h=null;if(a.sessionCache&&(null===(h=a.sessionCache.getSession(g))?g="":(h.version.major!==f.version.major||h.version.minor>f.version.minor)&&(h=null,g="")),0===g.length&&(g=d.random.getBytes(32)),a.session.id=g,a.session.clientHelloVersion=f.version,a.session.sp={},h)a.version=a.session.version=h.version,a.session.sp=h.sp;else{for(var i=1;i<j.SupportedVersions.length&&!((e=j.SupportedVersions[i]).minor<=f.version.minor);++i);a.version={major:e.major,minor:e.minor},a.session.version=a.version}null!==h?(a.expect=v,a.session.resuming=!0,a.session.sp.client_random=f.random.bytes()):(a.expect=!1!==a.verifyClient?s:t,a.session.resuming=!1,j.createSecurityParameters(a,f)),a.open=!0,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerHello(a)})),a.session.resuming?(j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.pending=j.createConnectionState(a),a.state.current.write=a.state.pending.write,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)}))):(j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificate(a)})),a.fail||(j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerKeyExchange(a)})),!1!==a.verifyClient&&j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificateRequest(a)})),j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerHelloDone(a)})))),j.flush(a),a.process()}},j.handleCertificate=function(a,b,c){if(c<3)return a.error(a,{message:"Invalid Certificate message. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var e,f,g={certificate_list:h(b.fragment,3)},i=[];try{for(;g.certificate_list.length()>0;)e=h(g.certificate_list,3),f=d.asn1.fromDer(e),e=d.pki.certificateFromAsn1(f,!0),i.push(e)}catch(b){return a.error(a,{message:"Could not parse certificate list.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate}})}var k=a.entity===j.ConnectionEnd.client;(k||!0===a.verifyClient)&&0===i.length?a.error(a,{message:k?"No server certificate provided.":"No client certificate provided.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}}):0===i.length?a.expect=k?l:t:(k?a.session.serverCertificate=i[0]:a.session.clientCertificate=i[0],j.verifyCertificateChain(a,i)&&(a.expect=k?l:t)),a.process()},j.handleServerKeyExchange=function(a,b,c){if(c>0)return a.error(a,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unsupported_certificate}});a.expect=m,a.process()},j.handleClientKeyExchange=function(a,b,c){if(c<48)return a.error(a,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unsupported_certificate}});var e={enc_pre_master_secret:h(b.fragment,2).getBytes()},f=null;if(a.getPrivateKey)try{f=a.getPrivateKey(a,a.session.serverCertificate),f=d.pki.privateKeyFromPem(f)}catch(b){a.error(a,{message:"Could not get private key.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}})}if(null===f)return a.error(a,{message:"No private key set.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}});try{var g=a.session.sp;g.pre_master_secret=f.decrypt(e.enc_pre_master_secret);var i=a.session.clientHelloVersion;if(i.major!==g.pre_master_secret.charCodeAt(0)||i.minor!==g.pre_master_secret.charCodeAt(1))throw Error("TLS version rollback attack detected.")}catch(a){g.pre_master_secret=d.random.getBytes(48)}a.expect=v,null!==a.session.clientCertificate&&(a.expect=u),a.process()},j.handleCertificateRequest=function(a,b,c){if(c<3)return a.error(a,{message:"Invalid CertificateRequest. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var d=b.fragment,e={certificate_types:h(d,1),certificate_authorities:h(d,2)};a.session.certificateRequest=e,a.expect=n,a.process()},j.handleCertificateVerify=function(a,b,c){if(c<2)return a.error(a,{message:"Invalid CertificateVerify. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var e=b.fragment;e.read-=4;var f=e.bytes();e.read+=4;var g={signature:h(e,2).getBytes()},i=d.util.createBuffer();i.putBuffer(a.session.md5.digest()),i.putBuffer(a.session.sha1.digest()),i=i.getBytes();try{if(!a.session.clientCertificate.publicKey.verify(i,g.signature,"NONE"))throw Error("CertificateVerify signature does not match.");a.session.md5.update(f),a.session.sha1.update(f)}catch(b){return a.error(a,{message:"Bad signature in CertificateVerify.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.handshake_failure}})}a.expect=v,a.process()},j.handleServerHelloDone=function(a,b,c){if(c>0)return a.error(a,{message:"Invalid ServerHelloDone message. Invalid length.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.record_overflow}});if(null===a.serverCertificate){var e={message:"No server certificate provided. Not enough security.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.insufficient_security}},f=a.verify(a,e.alert.description,0,[]);if(!0!==f)return(f||0===f)&&("object"!=typeof f||d.util.isArray(f)?"number"==typeof f&&(e.alert.description=f):(f.message&&(e.message=f.message),f.alert&&(e.alert.description=f.alert))),a.error(a,e)}null!==a.session.certificateRequest&&(b=j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificate(a)}),j.queue(a,b)),b=j.createRecord(a,{type:j.ContentType.handshake,data:j.createClientKeyExchange(a)}),j.queue(a,b),a.expect=r;var g=function(a,b){null!==a.session.certificateRequest&&null!==a.session.clientCertificate&&j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificateVerify(a,b)})),j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.pending=j.createConnectionState(a),a.state.current.write=a.state.pending.write,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)})),a.expect=o,j.flush(a),a.process()};if(null===a.session.certificateRequest||null===a.session.clientCertificate)return g(a,null);j.getClientSignature(a,g)},j.handleChangeCipherSpec=function(a,b){if(1!==b.fragment.getByte())return a.error(a,{message:"Invalid ChangeCipherSpec message received.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var c=a.entity===j.ConnectionEnd.client;(a.session.resuming&&c||!a.session.resuming&&!c)&&(a.state.pending=j.createConnectionState(a)),a.state.current.read=a.state.pending.read,(!a.session.resuming&&c||a.session.resuming&&!c)&&(a.state.pending=null),a.expect=c?p:w,a.process()},j.handleFinished=function(a,b,c){var f=b.fragment;f.read-=4;var g=f.bytes();f.read+=4;var h=b.fragment.getBytes();(f=d.util.createBuffer()).putBuffer(a.session.md5.digest()),f.putBuffer(a.session.sha1.digest());var i=a.entity===j.ConnectionEnd.client;if((f=e(a.session.sp.master_secret,i?"server finished":"client finished",f.getBytes(),12)).getBytes()!==h)return a.error(a,{message:"Invalid verify_data in Finished message.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.decrypt_error}});a.session.md5.update(g),a.session.sha1.update(g),(a.session.resuming&&i||!a.session.resuming&&!i)&&(j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.current.write=a.state.pending.write,a.state.pending=null,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)}))),a.expect=i?q:x,a.handshaking=!1,++a.handshakes,a.peerCertificate=i?a.session.serverCertificate:a.session.clientCertificate,j.flush(a),a.isConnected=!0,a.connected(a),a.process()},j.handleAlert=function(a,b){var c,d=b.fragment,e={level:d.getByte(),description:d.getByte()};switch(e.description){case j.Alert.Description.close_notify:c="Connection closed.";break;case j.Alert.Description.unexpected_message:c="Unexpected message.";break;case j.Alert.Description.bad_record_mac:c="Bad record MAC.";break;case j.Alert.Description.decryption_failed:c="Decryption failed.";break;case j.Alert.Description.record_overflow:c="Record overflow.";break;case j.Alert.Description.decompression_failure:c="Decompression failed.";break;case j.Alert.Description.handshake_failure:c="Handshake failure.";break;case j.Alert.Description.bad_certificate:c="Bad certificate.";break;case j.Alert.Description.unsupported_certificate:c="Unsupported certificate.";break;case j.Alert.Description.certificate_revoked:c="Certificate revoked.";break;case j.Alert.Description.certificate_expired:c="Certificate expired.";break;case j.Alert.Description.certificate_unknown:c="Certificate unknown.";break;case j.Alert.Description.illegal_parameter:c="Illegal parameter.";break;case j.Alert.Description.unknown_ca:c="Unknown certificate authority.";break;case j.Alert.Description.access_denied:c="Access denied.";break;case j.Alert.Description.decode_error:c="Decode error.";break;case j.Alert.Description.decrypt_error:c="Decrypt error.";break;case j.Alert.Description.export_restriction:c="Export restriction.";break;case j.Alert.Description.protocol_version:c="Unsupported protocol version.";break;case j.Alert.Description.insufficient_security:c="Insufficient security.";break;case j.Alert.Description.internal_error:c="Internal error.";break;case j.Alert.Description.user_canceled:c="User canceled.";break;case j.Alert.Description.no_renegotiation:c="Renegotiation not supported.";break;default:c="Unknown error."}if(e.description===j.Alert.Description.close_notify)return a.close();a.error(a,{message:c,send:!1,origin:a.entity===j.ConnectionEnd.client?"server":"client",alert:e}),a.process()},j.handleHandshake=function(a,b){var c=b.fragment,e=c.getByte(),f=c.getInt24();if(f>c.length())return a.fragmented=b,b.fragment=d.util.createBuffer(),c.read-=4,a.process();a.fragmented=null,c.read-=4;var g=c.bytes(f+4);c.read+=4,e in M[a.entity][a.expect]?(a.entity!==j.ConnectionEnd.server||a.open||a.fail||(a.handshaking=!0,a.session={version:null,extensions:{server_name:{serverNameList:[]}},cipherSuite:null,compressionMethod:null,serverCertificate:null,clientCertificate:null,md5:d.md.md5.create(),sha1:d.md.sha1.create()}),e!==j.HandshakeType.hello_request&&e!==j.HandshakeType.certificate_verify&&e!==j.HandshakeType.finished&&(a.session.md5.update(g),a.session.sha1.update(g)),M[a.entity][a.expect][e](a,b,f)):j.handleUnexpected(a,b)},j.handleApplicationData=function(a,b){a.data.putBuffer(b.fragment),a.dataReady(a),a.process()},j.handleHeartbeat=function(a,b){var c=b.fragment,e=c.getByte(),f=c.getInt16(),g=c.getBytes(f);if(e===j.HeartbeatMessageType.heartbeat_request){if(a.handshaking||f>g.length)return a.process();j.queue(a,j.createRecord(a,{type:j.ContentType.heartbeat,data:j.createHeartbeat(j.HeartbeatMessageType.heartbeat_response,g)})),j.flush(a)}else if(e===j.HeartbeatMessageType.heartbeat_response){if(g!==a.expectedHeartbeatPayload)return a.process();a.heartbeatReceived&&a.heartbeatReceived(a,d.util.createBuffer(g))}a.process()};var k=1,l=2,m=3,n=4,o=5,p=6,q=7,r=8,s=1,t=2,u=3,v=4,w=5,x=6,y=j.handleUnexpected,z=j.handleChangeCipherSpec,A=j.handleAlert,B=j.handleHandshake,C=j.handleApplicationData,D=j.handleHeartbeat,E=[];E[j.ConnectionEnd.client]=[[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[z,A,y,y,D],[y,A,B,y,D],[y,A,B,C,D],[y,A,B,y,D]],E[j.ConnectionEnd.server]=[[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[z,A,y,y,D],[y,A,B,y,D],[y,A,B,C,D],[y,A,B,y,D]];var F=j.handleHelloRequest,G=j.handleServerHello,H=j.handleCertificate,I=j.handleServerKeyExchange,J=j.handleCertificateRequest,K=j.handleServerHelloDone,L=j.handleFinished,M=[];M[j.ConnectionEnd.client]=[[y,y,G,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,H,I,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,I,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,L],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y]];var N=j.handleClientHello,O=j.handleClientKeyExchange,P=j.handleCertificateVerify;M[j.ConnectionEnd.server]=[[y,N,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,H,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,O,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,P,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,L],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y]],j.generateKeys=function(a,b){var c=b.client_random+b.server_random;a.session.resuming||(b.master_secret=e(b.pre_master_secret,"master secret",c,48).bytes(),b.pre_master_secret=null),c=b.server_random+b.client_random;var d=2*b.mac_key_length+2*b.enc_key_length,f=a.version.major===j.Versions.TLS_1_0.major&&a.version.minor===j.Versions.TLS_1_0.minor;f&&(d+=2*b.fixed_iv_length);var g=e(b.master_secret,"key expansion",c,d),h={client_write_MAC_key:g.getBytes(b.mac_key_length),server_write_MAC_key:g.getBytes(b.mac_key_length),client_write_key:g.getBytes(b.enc_key_length),server_write_key:g.getBytes(b.enc_key_length)};return f&&(h.client_write_IV=g.getBytes(b.fixed_iv_length),h.server_write_IV=g.getBytes(b.fixed_iv_length)),h},j.createConnectionState=function(a){var b=a.entity===j.ConnectionEnd.client,c=function(){var a={sequenceNumber:[0,0],macKey:null,macLength:0,macFunction:null,cipherState:null,cipherFunction:function(a){return!0},compressionState:null,compressFunction:function(a){return!0},updateSequenceNumber:function(){0xffffffff===a.sequenceNumber[1]?(a.sequenceNumber[1]=0,++a.sequenceNumber[0]):++a.sequenceNumber[1]}};return a},d={read:c(),write:c()};if(d.read.update=function(a,b){return d.read.cipherFunction(b,d.read)?d.read.compressFunction(a,b,d.read)||a.error(a,{message:"Could not decompress record.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.decompression_failure}}):a.error(a,{message:"Could not decrypt record or bad MAC.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_record_mac}}),!a.fail},d.write.update=function(a,b){return d.write.compressFunction(a,b,d.write)?d.write.cipherFunction(b,d.write)||a.error(a,{message:"Could not encrypt record.",send:!1,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}):a.error(a,{message:"Could not compress record.",send:!1,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}),!a.fail},a.session){var e=a.session.sp;switch(a.session.cipherSuite.initSecurityParameters(e),e.keys=j.generateKeys(a,e),d.read.macKey=b?e.keys.server_write_MAC_key:e.keys.client_write_MAC_key,d.write.macKey=b?e.keys.client_write_MAC_key:e.keys.server_write_MAC_key,a.session.cipherSuite.initConnectionState(d,a,e),e.compression_algorithm){case j.CompressionMethod.none:break;case j.CompressionMethod.deflate:d.read.compressFunction=g,d.write.compressFunction=f;break;default:throw Error("Unsupported compression algorithm.")}}return d},j.createRandom=function(){var a=new Date,b=+a+6e4*a.getTimezoneOffset(),c=d.util.createBuffer();return c.putInt32(b),c.putBytes(d.random.getBytes(28)),c},j.createRecord=function(a,b){return b.data?{type:b.type,version:{major:a.version.major,minor:a.version.minor},length:b.data.length(),fragment:b.data}:null},j.createAlert=function(a,b){var c=d.util.createBuffer();return c.putByte(b.level),c.putByte(b.description),j.createRecord(a,{type:j.ContentType.alert,data:c})},j.createClientHello=function(a){a.session.clientHelloVersion={major:a.version.major,minor:a.version.minor};for(var b=d.util.createBuffer(),c=0;c<a.cipherSuites.length;++c){var e=a.cipherSuites[c];b.putByte(e.id[0]),b.putByte(e.id[1])}var f=b.length(),g=d.util.createBuffer();g.putByte(j.CompressionMethod.none);var h=g.length(),k=d.util.createBuffer();if(a.virtualHost){var l=d.util.createBuffer();l.putByte(0),l.putByte(0);var m=d.util.createBuffer();m.putByte(0),i(m,2,d.util.createBuffer(a.virtualHost));var n=d.util.createBuffer();i(n,2,m),i(l,2,n),k.putBuffer(l)}var o=k.length();o>0&&(o+=2);var p=a.session.id,q=p.length+1+2+4+28+2+f+1+h+o,r=d.util.createBuffer();return r.putByte(j.HandshakeType.client_hello),r.putInt24(q),r.putByte(a.version.major),r.putByte(a.version.minor),r.putBytes(a.session.sp.client_random),i(r,1,d.util.createBuffer(p)),i(r,2,b),i(r,1,g),o>0&&i(r,2,k),r},j.createServerHello=function(a){var b=a.session.id,c=b.length+1+2+4+28+2+1,e=d.util.createBuffer();return e.putByte(j.HandshakeType.server_hello),e.putInt24(c),e.putByte(a.version.major),e.putByte(a.version.minor),e.putBytes(a.session.sp.server_random),i(e,1,d.util.createBuffer(b)),e.putByte(a.session.cipherSuite.id[0]),e.putByte(a.session.cipherSuite.id[1]),e.putByte(a.session.compressionMethod),e},j.createCertificate=function(a){var b,c=a.entity===j.ConnectionEnd.client,e=null;a.getCertificate&&(b=c?a.session.certificateRequest:a.session.extensions.server_name.serverNameList,e=a.getCertificate(a,b));var f=d.util.createBuffer();if(null!==e)try{d.util.isArray(e)||(e=[e]);for(var g=null,h=0;h<e.length;++h){var k=d.pem.decode(e[h])[0];if("CERTIFICATE"!==k.type&&"X509 CERTIFICATE"!==k.type&&"TRUSTED CERTIFICATE"!==k.type){var l=Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw l.headerType=k.type,l}if(k.procType&&"ENCRYPTED"===k.procType.type)throw Error("Could not convert certificate from PEM; PEM is encrypted.");var m=d.util.createBuffer(k.body);null===g&&(g=d.asn1.fromDer(m.bytes(),!1));var n=d.util.createBuffer();i(n,3,m),f.putBuffer(n)}e=d.pki.certificateFromAsn1(g),c?a.session.clientCertificate=e:a.session.serverCertificate=e}catch(b){return a.error(a,{message:"Could not send certificate list.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate}})}var o=3+f.length(),p=d.util.createBuffer();return p.putByte(j.HandshakeType.certificate),p.putInt24(o),i(p,3,f),p},j.createClientKeyExchange=function(a){var b=d.util.createBuffer();b.putByte(a.session.clientHelloVersion.major),b.putByte(a.session.clientHelloVersion.minor),b.putBytes(d.random.getBytes(46));var c=a.session.sp;c.pre_master_secret=b.getBytes();var e=(b=a.session.serverCertificate.publicKey.encrypt(c.pre_master_secret)).length+2,f=d.util.createBuffer();return f.putByte(j.HandshakeType.client_key_exchange),f.putInt24(e),f.putInt16(b.length),f.putBytes(b),f},j.createServerKeyExchange=function(a){return d.util.createBuffer()},j.getClientSignature=function(a,b){var c=d.util.createBuffer();c.putBuffer(a.session.md5.digest()),c.putBuffer(a.session.sha1.digest()),c=c.getBytes(),a.getSignature=a.getSignature||function(a,b,c){var e=null;if(a.getPrivateKey)try{e=a.getPrivateKey(a,a.session.clientCertificate),e=d.pki.privateKeyFromPem(e)}catch(b){a.error(a,{message:"Could not get private key.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}})}null===e?a.error(a,{message:"No private key set.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}):b=e.sign(b,null),c(a,b)},a.getSignature(a,c,b)},j.createCertificateVerify=function(a,b){var c=b.length+2,e=d.util.createBuffer();return e.putByte(j.HandshakeType.certificate_verify),e.putInt24(c),e.putInt16(b.length),e.putBytes(b),e},j.createCertificateRequest=function(a){var b=d.util.createBuffer();b.putByte(1);var c=d.util.createBuffer();for(var e in a.caStore.certs){var f=a.caStore.certs[e],g=d.pki.distinguishedNameToAsn1(f.subject),h=d.asn1.toDer(g);c.putInt16(h.length()),c.putBuffer(h)}var k=1+b.length()+2+c.length(),l=d.util.createBuffer();return l.putByte(j.HandshakeType.certificate_request),l.putInt24(k),i(l,1,b),i(l,2,c),l},j.createServerHelloDone=function(a){var b=d.util.createBuffer();return b.putByte(j.HandshakeType.server_hello_done),b.putInt24(0),b},j.createChangeCipherSpec=function(){var a=d.util.createBuffer();return a.putByte(1),a},j.createFinished=function(a){var b=d.util.createBuffer();b.putBuffer(a.session.md5.digest()),b.putBuffer(a.session.sha1.digest());var c=a.entity===j.ConnectionEnd.client;b=e(a.session.sp.master_secret,c?"client finished":"server finished",b.getBytes(),12);var f=d.util.createBuffer();return f.putByte(j.HandshakeType.finished),f.putInt24(b.length()),f.putBuffer(b),f},j.createHeartbeat=function(a,b,c){void 0===c&&(c=b.length);var e=d.util.createBuffer();e.putByte(a),e.putInt16(c),e.putBytes(b);var f=Math.max(16,e.length()-c-3);return e.putBytes(d.random.getBytes(f)),e},j.queue=function(a,b){if(b&&(0!==b.fragment.length()||b.type!==j.ContentType.handshake&&b.type!==j.ContentType.alert&&b.type!==j.ContentType.change_cipher_spec)){if(b.type===j.ContentType.handshake){var c,e=b.fragment.bytes();a.session.md5.update(e),a.session.sha1.update(e),e=null}if(b.fragment.length()<=j.MaxFragment)c=[b];else{c=[];for(var f=b.fragment.bytes();f.length>j.MaxFragment;)c.push(j.createRecord(a,{type:b.type,data:d.util.createBuffer(f.slice(0,j.MaxFragment))})),f=f.slice(j.MaxFragment);f.length>0&&c.push(j.createRecord(a,{type:b.type,data:d.util.createBuffer(f)}))}for(var g=0;g<c.length&&!a.fail;++g){var h=c[g];a.state.current.write.update(a,h)&&a.records.push(h)}}},j.flush=function(a){for(var b=0;b<a.records.length;++b){var c=a.records[b];a.tlsData.putByte(c.type),a.tlsData.putByte(c.version.major),a.tlsData.putByte(c.version.minor),a.tlsData.putInt16(c.fragment.length()),a.tlsData.putBuffer(a.records[b].fragment)}return a.records=[],a.tlsDataReady(a)};var Q=function(a){switch(a){case!0:return!0;case d.pki.certificateError.bad_certificate:return j.Alert.Description.bad_certificate;case d.pki.certificateError.unsupported_certificate:return j.Alert.Description.unsupported_certificate;case d.pki.certificateError.certificate_revoked:return j.Alert.Description.certificate_revoked;case d.pki.certificateError.certificate_expired:return j.Alert.Description.certificate_expired;case d.pki.certificateError.certificate_unknown:return j.Alert.Description.certificate_unknown;case d.pki.certificateError.unknown_ca:return j.Alert.Description.unknown_ca;default:return j.Alert.Description.bad_certificate}},R=function(a){switch(a){case!0:return!0;case j.Alert.Description.bad_certificate:return d.pki.certificateError.bad_certificate;case j.Alert.Description.unsupported_certificate:return d.pki.certificateError.unsupported_certificate;case j.Alert.Description.certificate_revoked:return d.pki.certificateError.certificate_revoked;case j.Alert.Description.certificate_expired:return d.pki.certificateError.certificate_expired;case j.Alert.Description.certificate_unknown:return d.pki.certificateError.certificate_unknown;case j.Alert.Description.unknown_ca:return d.pki.certificateError.unknown_ca;default:return d.pki.certificateError.bad_certificate}};for(var S in j.verifyCertificateChain=function(a,b){try{var c={};for(var e in a.verifyOptions)c[e]=a.verifyOptions[e];c.verify=function(b,c,e){Q(b);var f=a.verify(a,b,c,e);if(!0!==f){if("object"==typeof f&&!d.util.isArray(f)){var g=Error("The application rejected the certificate.");throw g.send=!0,g.alert={level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate},f.message&&(g.message=f.message),f.alert&&(g.alert.description=f.alert),g}f!==b&&(f=R(f))}return f},d.pki.verifyCertificateChain(a.caStore,b,c)}catch(b){var f=b;("object"!=typeof f||d.util.isArray(f))&&(f={send:!0,alert:{level:j.Alert.Level.fatal,description:Q(b)}}),"send"in f||(f.send=!0),"alert"in f||(f.alert={level:j.Alert.Level.fatal,description:Q(f.error)}),a.error(a,f)}return!a.fail},j.createSessionCache=function(a,b){var c=null;if(a&&a.getSession&&a.setSession&&a.order)c=a;else{for(var e in(c={}).cache=a||{},c.capacity=Math.max(b||100,1),c.order=[],a)c.order.length<=b?c.order.push(e):delete a[e];c.getSession=function(a){var b=null,e=null;if(a?e=d.util.bytesToHex(a):c.order.length>0&&(e=c.order[0]),null!==e&&e in c.cache){for(var f in b=c.cache[e],delete c.cache[e],c.order)if(c.order[f]===e){c.order.splice(f,1);break}}return b},c.setSession=function(a,b){if(c.order.length===c.capacity){var e=c.order.shift();delete c.cache[e]}var e=d.util.bytesToHex(a);c.order.push(e),c.cache[e]=b}}return c},j.createConnection=function(a){var b=null;b=a.caStore?d.util.isArray(a.caStore)?d.pki.createCaStore(a.caStore):a.caStore:d.pki.createCaStore();var c=a.cipherSuites||null;if(null===c)for(var e in c=[],j.CipherSuites)c.push(j.CipherSuites[e]);var f=a.server?j.ConnectionEnd.server:j.ConnectionEnd.client,g=a.sessionCache?j.createSessionCache(a.sessionCache):null,h={version:{major:j.Version.major,minor:j.Version.minor},entity:f,sessionId:a.sessionId,caStore:b,sessionCache:g,cipherSuites:c,connected:a.connected,virtualHost:a.virtualHost||null,verifyClient:a.verifyClient||!1,verify:a.verify||function(a,b,c,d){return b},verifyOptions:a.verifyOptions||{},getCertificate:a.getCertificate||null,getPrivateKey:a.getPrivateKey||null,getSignature:a.getSignature||null,input:d.util.createBuffer(),tlsData:d.util.createBuffer(),data:d.util.createBuffer(),tlsDataReady:a.tlsDataReady,dataReady:a.dataReady,heartbeatReceived:a.heartbeatReceived,closed:a.closed,error:function(b,c){c.origin=c.origin||(b.entity===j.ConnectionEnd.client?"client":"server"),c.send&&(j.queue(b,j.createAlert(b,c.alert)),j.flush(b));var d=!1!==c.fatal;d&&(b.fail=!0),a.error(b,c),d&&b.close(!1)},deflate:a.deflate||null,inflate:a.inflate||null};h.reset=function(a){h.version={major:j.Version.major,minor:j.Version.minor},h.record=null,h.session=null,h.peerCertificate=null,h.state={pending:null,current:null},h.entity,j.ConnectionEnd.client,h.expect=0,h.fragmented=null,h.records=[],h.open=!1,h.handshakes=0,h.handshaking=!1,h.isConnected=!1,h.fail=!(a||void 0===a),h.input.clear(),h.tlsData.clear(),h.data.clear(),h.state.current=j.createConnectionState(h)},h.reset();var i=function(a,b){var c=b.type-j.ContentType.change_cipher_spec,d=E[a.entity][a.expect];c in d?d[c](a,b):j.handleUnexpected(a,b)},k=function(a){var b=0,c=a.input,e=c.length();if(e<5)b=5-e;else{a.record={type:c.getByte(),version:{major:c.getByte(),minor:c.getByte()},length:c.getInt16(),fragment:d.util.createBuffer(),ready:!1};var f=a.record.version.major===a.version.major;f&&a.session&&a.session.version&&(f=a.record.version.minor===a.version.minor),f||a.error(a,{message:"Incompatible TLS version.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}})}return b},l=function(a){var b=0,c=a.input,d=c.length();return d<a.record.length?b=a.record.length-d:(a.record.fragment.putBytes(c.getBytes(a.record.length)),c.compact(),a.state.current.read.update(a,a.record)&&(null!==a.fragmented&&(a.fragmented.type===a.record.type?(a.fragmented.fragment.putBuffer(a.record.fragment),a.record=a.fragmented):a.error(a,{message:"Invalid fragmented record.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unexpected_message}})),a.record.ready=!0)),b};return h.handshake=function(a){if(h.entity!==j.ConnectionEnd.client)h.error(h,{message:"Cannot initiate handshake as a server.",fatal:!1});else if(h.handshaking)h.error(h,{message:"Handshake already in progress.",fatal:!1});else{h.fail&&!h.open&&0===h.handshakes&&(h.fail=!1),h.handshaking=!0;var b=null;(a=a||"").length>0&&(h.sessionCache&&(b=h.sessionCache.getSession(a)),null===b&&(a="")),0===a.length&&h.sessionCache&&null!==(b=h.sessionCache.getSession())&&(a=b.id),h.session={id:a,version:null,cipherSuite:null,compressionMethod:null,serverCertificate:null,certificateRequest:null,clientCertificate:null,sp:{},md5:d.md.md5.create(),sha1:d.md.sha1.create()},b&&(h.version=b.version,h.session.sp=b.sp),h.session.sp.client_random=j.createRandom().getBytes(),h.open=!0,j.queue(h,j.createRecord(h,{type:j.ContentType.handshake,data:j.createClientHello(h)})),j.flush(h)}},h.process=function(a){var b=0;return a&&h.input.putBytes(a),h.fail||(null!==h.record&&h.record.ready&&h.record.fragment.isEmpty()&&(h.record=null),null===h.record&&(b=k(h)),h.fail||null===h.record||h.record.ready||(b=l(h)),!h.fail&&null!==h.record&&h.record.ready&&i(h,h.record)),b},h.prepare=function(a){return j.queue(h,j.createRecord(h,{type:j.ContentType.application_data,data:d.util.createBuffer(a)})),j.flush(h)},h.prepareHeartbeatRequest=function(a,b){return a instanceof d.util.ByteBuffer&&(a=a.bytes()),void 0===b&&(b=a.length),h.expectedHeartbeatPayload=a,j.queue(h,j.createRecord(h,{type:j.ContentType.heartbeat,data:j.createHeartbeat(j.HeartbeatMessageType.heartbeat_request,a,b)})),j.flush(h)},h.close=function(a){if(!h.fail&&h.sessionCache&&h.session){var b={id:h.session.id,version:h.session.version,sp:h.session.sp};b.sp.keys=null,h.sessionCache.setSession(b.id,b)}h.open&&(h.open=!1,h.input.clear(),(h.isConnected||h.handshaking)&&(h.isConnected=h.handshaking=!1,j.queue(h,j.createAlert(h,{level:j.Alert.Level.warning,description:j.Alert.Description.close_notify})),j.flush(h)),h.closed(h)),h.reset(a)},h},a.exports=d.tls=d.tls||{},j)"function"!=typeof j[S]&&(d.tls[S]=j[S]);d.tls.prf_tls1=e,d.tls.hmac_sha1=function(a,b,c){var e=d.hmac.create();e.start("SHA1",a);var f=d.util.createBuffer();return f.putInt32(b[0]),f.putInt32(b[1]),f.putByte(c.type),f.putByte(c.version.major),f.putByte(c.version.minor),f.putInt16(c.length),f.putBytes(c.fragment.bytes()),e.update(f.getBytes()),e.digest().getBytes()},d.tls.createSessionCache=j.createSessionCache,d.tls.createConnection=j.createConnection},27137:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(82009);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},27432:(a,b,c)=>{},27696:(a,b,c)=>{"use strict";c(19458),c(56294),c(42541),c(8735),c(43212)},28169:(a,b,c)=>{var d=c(45654);c(45518),c(76632),c(38627),c(4554),c(33889);var e=a.exports=d.ssh=d.ssh||{};function f(a,b){var c=b.toString(16);c[0]>="8"&&(c="00"+c);var e=d.util.hexToBytes(c);a.putInt32(e.length),a.putBytes(e)}function g(a,b){a.putInt32(b.length),a.putString(b)}function h(){for(var a=d.md.sha1.create(),b=arguments.length,c=0;c<b;++c)a.update(arguments[c]);return a.digest()}e.privateKeyToPutty=function(a,b,c){c=c||"";var e,i="ssh-rsa",j=""===(b=b||"")?"none":"aes256-cbc",k="PuTTY-User-Key-File-2: "+i+"\r\n";k+="Encryption: "+j+"\r\n",k+="Comment: "+c+"\r\n";var l=d.util.createBuffer();g(l,i),f(l,a.e),f(l,a.n);var m=d.util.encode64(l.bytes(),64),n=Math.floor(m.length/66)+1;k+="Public-Lines: "+n+"\r\n",k+=m;var o=d.util.createBuffer();if(f(o,a.d),f(o,a.p),f(o,a.q),f(o,a.qInv),b){var p=o.length()+16-1;p-=p%16;var q=h(o.bytes());q.truncate(q.length()-p+o.length()),o.putBuffer(q);var r=d.util.createBuffer();r.putBuffer(h("\0\0\0\0",b)),r.putBuffer(h("\0\0\0\x01",b));var s=d.aes.createEncryptionCipher(r.truncate(8),"CBC");s.start(d.util.createBuffer().fillWithByte(0,16)),s.update(o.copy()),s.finish();var t=s.output;t.truncate(16),e=d.util.encode64(t.bytes(),64)}else e=d.util.encode64(o.bytes(),64);k+="\r\nPrivate-Lines: "+(n=Math.floor(e.length/66)+1)+"\r\n",k+=e;var u=h("putty-private-key-file-mac-key",b),v=d.util.createBuffer();g(v,i),g(v,j),g(v,c),v.putInt32(l.length()),v.putBuffer(l),v.putInt32(o.length()),v.putBuffer(o);var w=d.hmac.create();return w.start("sha1",u),w.update(v.bytes()),k+="\r\nPrivate-MAC: "+w.digest().toHex()+"\r\n"},e.publicKeyToOpenSSH=function(a,b){var c="ssh-rsa";b=b||"";var e=d.util.createBuffer();return g(e,c),f(e,a.e),f(e,a.n),c+" "+d.util.encode64(e.bytes())+" "+b},e.privateKeyToOpenSSH=function(a,b){return b?d.pki.encryptRsaPrivateKey(a,b,{legacy:!0,algorithm:"aes128"}):d.pki.privateKeyToPem(a)},e.getPublicKeyFingerprint=function(a,b){var c=(b=b||{}).md||d.md.md5.create(),e=d.util.createBuffer();g(e,"ssh-rsa"),f(e,a.e),f(e,a.n),c.start(),c.update(e.getBytes());var h=c.digest();if("hex"===b.encoding){var i=h.toHex();return b.delimiter?i.match(/.{2}/g).join(b.delimiter):i}if("binary"===b.encoding)return h.getBytes();if(b.encoding)throw Error('Unknown encoding "'+b.encoding+'".');return h}},28477:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{o:()=>u});var e=c(69384),f=c(30395),g=c(8735),h=c(79499),i=c(21616),j=c(84238),k=c(42541),l=c(46956),m=c(74075),n=c.n(m);let a=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{a=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{}let s="1"===process.env.CURSOR_STREAM_DEBUG,t=(...a)=>{s&&console.log(...a)};function o(a){let b=String(a||"").split("/").pop();return/^composer(?:-|$)/i.test(b)}function p(a){if(!a)return"";let b="</think>",c=a.lastIndexOf(b);return c<0?"":a.slice(c+b.length).trimStart()}function q(a,b){if(a.length>10&&123===a[0]&&34===a[1])try{if(a.toString("utf-8").startsWith('{"error"'))return t("[DECOMPRESS] Detected JSON error, skipping decompression"),a}catch{}if(1===b||2===b||3===b)try{return n().gunzipSync(a)}catch(c){try{return n().inflateSync(a)}catch(d){try{return n().inflateRawSync(a)}catch(e){t(`[DECOMPRESS ERROR] flags=${b}, payloadSize=${a.length}, gzip=${c.message}, deflate=${d.message}, raw=${e.message}`),t("[DECOMPRESS ERROR] First 50 bytes (hex):",a.slice(0,50).toString("hex"))}}}return a}function r(a){let b=a?.error?.details?.[0]?.debug?.details?.title||a?.error?.details?.[0]?.debug?.details?.detail||a?.error?.message||"API Error",c=a?.error?.code==="resource_exhausted";return new Response(JSON.stringify({error:{message:b,type:c?"rate_limit_error":"api_error",code:a?.error?.details?.[0]?.debug?.error||"unknown"}}),{status:c?g.gx.RATE_LIMITED:g.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}})}class u extends e.Hv{constructor(){super("cursor",f.xq.cursor)}buildUrl(){return`${this.config.baseUrl}${this.config.chatPath}`}buildHeaders(a){let b=a.accessToken,c=a.providerSpecificData?.machineId,d=a.providerSpecificData?.ghostMode!==!1;if(!c)throw Error("Machine ID is required for Cursor API");return(0,i.JA)(b,c,d)}transformRequest(a,b,c,d){let e=b.messages||[],f=b.tools||[],g=b.reasoning_effort||null,i=d?.rawHeaders?.["user-agent"]||"",j=i.includes("claude-cli")||i.includes("claude-code")||i.includes("Claude Code");return(0,h.yI)(e,a,f,g,j)}async makeFetchRequest(a,b,c,d,e=null){let f=await (0,l.F)(a,{method:"POST",headers:b,body:c,signal:d},e);return{status:f.status,headers:Object.fromEntries(f.headers.entries()),body:Buffer.from(await f.arrayBuffer())}}makeHttp2Request(b,c,d,e){if(!a)throw Error("http2 module not available");return new Promise((f,g)=>{let h=new URL(b),i=a.connect(`https://${h.host}`),j=[],k={},l=!1,m=a=>(...b)=>{l||(l=!0,clearTimeout(n),i.close(),a(...b))},n=setTimeout(m(()=>{g(Error("HTTP/2 request timed out"))}),6e4);i.on("error",m(g));let o=i.request({":method":"POST",":path":h.pathname,":authority":h.host,":scheme":"https",...c});if(o.on("response",a=>{k=a}),o.on("data",a=>{j.push(a)}),o.on("end",m(()=>{f({status:k[":status"],headers:k,body:Buffer.concat(j)})})),o.on("error",m(g)),e){let a=m(()=>g(Error("Request aborted")));e.addEventListener("abort",a,{once:!0})}o.write(d),o.end()})}async execute({model:b,body:c,stream:d,credentials:e,signal:f,log:h,proxyOptions:i=null}){let j=this.buildUrl(),k=this.buildHeaders(e),l=this.transformRequest(b,c,d,e);try{let e=i?.enabled===!0||i?.connectionProxyEnabled===!0||!!i?.vercelRelayUrl,g=a&&!e?await this.makeHttp2Request(j,k,l,f):await this.makeFetchRequest(j,k,l,f,i);if(200!==g.status){let a=g.body?.toString()||"Unknown error";return{response:new Response(JSON.stringify({error:{message:`[${g.status}]: ${a}`,type:"invalid_request_error",code:""}}),{status:g.status,headers:{"Content-Type":"application/json"}}),url:j,headers:k,transformedBody:c}}return{response:!1!==d?this.transformProtobufToSSE(g.body,b,c):this.transformProtobufToJSON(g.body,b,c),url:j,headers:k,transformedBody:c}}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message,type:"connection_error",code:""}}),{status:g.gx.SERVER_ERROR,headers:{"Content-Type":"application/json"}}),url:j,headers:k,transformedBody:c}}}transformProtobufToJSON(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),f=0,i="",l="",m=[],n=new Map,s=new Set,u=0;for(t(`[CURSOR BUFFER] Total length: ${a.length} bytes`);f<a.length;){if(f+5>a.length){t(`[CURSOR BUFFER] Reached end, offset=${f}, remaining=${a.length-f}`);break}let b=a[f],c=a.readUInt32BE(f+1);if(t(`[CURSOR BUFFER] Frame ${u+1}: flags=0x${b.toString(16).padStart(2,"0")}, length=${c}`),f+5+c>a.length){t(`[CURSOR BUFFER] Incomplete frame, offset=${f}, length=${c}, buffer.length=${a.length}`);break}let d=a.slice(f+5,f+5+c);if(f+=5+c,u++,!(d=q(d,b))){t(`[CURSOR BUFFER] Frame ${u}: decompression failed, skipping`);continue}if(d.length>0&&123===d[0])try{let a=d.toString("utf-8");if(a.includes('"error"')){let b=i||n.size>0;if(t(`[CURSOR BUFFER] Error frame (hasContent=${b}): ${a.slice(0,500)}`),b)break;return r(JSON.parse(a))}}catch{}let e=(0,h.CP)(new Uint8Array(d));if(t(`[CURSOR DECODED] Frame ${u}:`,e),e.error){let a=i||n.size>0;if(t(`[CURSOR BUFFER] Decoded error (hasContent=${a}): ${e.error}`),a)break;return new Response(JSON.stringify({error:{message:e.error,type:"rate_limit_error",code:"rate_limited"}}),{status:g.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}})}if(e.toolCall){let a=e.toolCall;if(n.has(a.id)){let b=n.get(a.id);b.function.arguments+=a.function.arguments,b.isLast=a.isLast}else n.set(a.id,{...a});if(a.isLast){let b=n.get(a.id);s.add(a.id),m.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}})}}e.text&&(i+=e.text),e.thinking&&(l+=e.thinking)}let v=o(b)?p(l):"",w=i||v;for(let[a,b]of(t(`[CURSOR BUFFER] Parsed ${u} frames, toolCallsMap size: ${n.size}, finalized toolCalls: ${m.length}`),n.entries()))s.has(a)||(t(`[CURSOR BUFFER] Finalizing incomplete tool call: ${a}, isLast=${b.isLast}`),m.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}}));t(`[CURSOR BUFFER] Final toolCalls count: ${m.length}`);let x={role:"assistant",content:w||null};m.length>0&&(x.tool_calls=m);let y=(0,j.OF)(c,w.length,k.h.OPENAI),z={id:d,object:"chat.completion",created:e,model:b,choices:[{index:0,message:x,finish_reason:m.length>0?"tool_calls":"stop"}],usage:y};return new Response(JSON.stringify(z),{status:200,headers:{"Content-Type":"application/json"}})}transformProtobufToSSE(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),f=[],i=0,l="",m="",n=0,s=[],u=new Map,v=new Set,w=new Set,x=0;for(t(`[CURSOR BUFFER SSE] Total length: ${a.length} bytes`);i<a.length;){if(i+5>a.length){t(`[CURSOR BUFFER SSE] Reached end, offset=${i}, remaining=${a.length-i}`);break}let c=a[i],j=a.readUInt32BE(i+1);if(t(`[CURSOR BUFFER SSE] Frame ${x+1}: flags=0x${c.toString(16).padStart(2,"0")}, length=${j}`),i+5+j>a.length){t(`[CURSOR BUFFER SSE] Incomplete frame, offset=${i}, length=${j}, buffer.length=${a.length}`);break}let k=a.slice(i+5,i+5+j);if(i+=5+j,x++,!(k=q(k,c))){t(`[CURSOR BUFFER SSE] Frame ${x}: decompression failed, skipping`);continue}if(123===k[0])try{let a=k.toString("utf-8");if(a.includes('"error"')){let b=f.length>0||l||u.size>0;if(t(`[CURSOR BUFFER SSE] Error frame (hasContent=${b}): ${a.slice(0,500)}`),b)break;return r(JSON.parse(a))}}catch{}let y=(0,h.CP)(new Uint8Array(k));if(t(`[CURSOR DECODED SSE] Frame ${x}:`,y),y.error){let a=f.length>0||l||u.size>0;if(t(`[CURSOR BUFFER SSE] Decoded error (hasContent=${a}): ${y.error}`),a)break;return new Response(JSON.stringify({error:{message:y.error,type:"rate_limit_error",code:"rate_limited"}}),{status:g.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}})}if(y.toolCall){let a=y.toolCall;if(0===f.length&&f.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}
307
+ `)}close(){this.#i.close()}get(a){f(a);let b=this.#q(a);return b?{body:b.body?Buffer.from(b.body.buffer,b.body.byteOffset,b.body.byteLength):void 0,statusCode:b.statusCode,statusMessage:b.statusMessage,headers:b.headers?JSON.parse(b.headers):void 0,etag:b.etag?b.etag:void 0,vary:b.vary?JSON.parse(b.vary):void 0,cacheControlDirectives:b.cacheControlDirectives?JSON.parse(b.cacheControlDirectives):void 0,cachedAt:b.cachedAt,staleAt:b.staleAt,deleteAt:b.deleteAt}:void 0}set(a,b){f(a);let c=this.#r(a),d=Array.isArray(b.body)?Buffer.concat(b.body):b.body,e=d?.byteLength;if(e&&e>this.#g)return;let g=this.#q(a,!0);g?this.#k.run(d,b.deleteAt,b.statusCode,b.statusMessage,b.headers?JSON.stringify(b.headers):null,b.etag?b.etag:null,b.cacheControlDirectives?JSON.stringify(b.cacheControlDirectives):null,b.vary?JSON.stringify(b.vary):null,b.cachedAt,b.staleAt,g.id):(this.#l.run(c,a.method,d,b.deleteAt,b.statusCode,b.statusMessage,b.headers?JSON.stringify(b.headers):null,b.etag?b.etag:null,b.cacheControlDirectives?JSON.stringify(b.cacheControlDirectives):null,b.vary?JSON.stringify(b.vary):null,b.cachedAt,b.staleAt),this.#s())}createWriteStream(a,b){f(a),g(b);let c=0,d=[],h=this;return new e({decodeStrings:!0,write(a,b,e){(c+=a.byteLength)<=h.#g?d.push(a):this.destroy(),e()},final(c){h.set(a,{...b,body:d}),c()}})}delete(a){if("object"!=typeof a)throw TypeError(`expected key to be object, got ${typeof a}`);this.#n.run(this.#r(a))}#s(){if(Number.isFinite(this.#h)&&this.size<=this.#h)return 0;{let a=this.#m.run(Date.now()).changes;if(a)return a}{let a=this.#p?.run(Math.max(Math.floor(.1*this.#h),1)).changes;if(a)return a}return 0}get size(){let{total:a}=this.#o.get();return a}#r(a){return`${a.origin}/${a.path}`}#q(a,b=!1){let c=this.#r(a),{headers:d,method:e}=a,f=this.#j.all(c,e);if(0===f.length)return;let g=Date.now();for(let a of f){if(g>=a.deleteAt&&!b)continue;let c=!0;if(a.vary){let b=JSON.parse(a.vary);for(let a in b)if(!function(a,b){if(null==a&&null==b)return!0;if(null==a&&null!=b||null!=a&&null==b)return!1;if(Array.isArray(a)&&Array.isArray(b)){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}return a===b}(d[a],b[a])){c=!1;break}}if(c)return a}}}},21616:(a,b,c)=>{"use strict";c.d(b,{JA:()=>m});var d=c(55511),e=c.n(d),f=c(77598);let g=function(a){return Array.isArray(a)?a=Buffer.from(a):"string"==typeof a&&(a=Buffer.from(a,"utf8")),(0,f.createHash)("sha1").update(a).digest()},h=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i,i=function(a){let b;if(!("string"==typeof a&&h.test(a)))throw TypeError("Invalid UUID");return Uint8Array.of((b=parseInt(a.slice(0,8),16))>>>24,b>>>16&255,b>>>8&255,255&b,(b=parseInt(a.slice(9,13),16))>>>8,255&b,(b=parseInt(a.slice(14,18),16))>>>8,255&b,(b=parseInt(a.slice(19,23),16))>>>8,255&b,(b=parseInt(a.slice(24,36),16))/0x10000000000&255,b/0x100000000&255,b>>>24&255,b>>>16&255,b>>>8&255,255&b)};var j=c(82009);function k(a,b,c,d){var e=b,f=d;let h="string"==typeof a?function(a){let b=new Uint8Array((a=unescape(encodeURIComponent(a))).length);for(let c=0;c<a.length;++c)b[c]=a.charCodeAt(c);return b}(a):a,k="string"==typeof e?i(e):e;if("string"==typeof e&&(e=i(e)),e?.length!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let l=new Uint8Array(16+h.length);if(l.set(k),l.set(h,k.length),(l=g(l))[6]=15&l[6]|80,l[8]=63&l[8]|128,c){if((f??=0)<0||f+16>c.length)throw RangeError(`UUID byte range ${f}:${f+15} is out of buffer bounds`);for(let a=0;a<16;++a)c[f+a]=l[a];return c}return(0,j.k)(l)}function l(a,b=""){return e().createHash("sha256").update(a+b).digest("hex")}function m(a,b=null,c=!0){let d=a.includes("::")?a.split("::")[1]:a,f=b||l(d,"machineId"),g=k(d,k.DNS),h=l(d),i=function(a){let b=Math.floor(Date.now()/1e6),c=new Uint8Array([b>>40&255,b>>32&255,b>>24&255,b>>16&255,b>>8&255,255&b]),d=165;for(let a=0;a<c.length;a++)c[a]=(c[a]^d)+a%256&255,d=c[a];let e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",f="";for(let a=0;a<c.length;a+=3){let b=c[a],d=a+1<c.length?c[a+1]:0,g=a+2<c.length?c[a+2]:0;f+=e[b>>2],f+=e[(3&b)<<4|d>>4],a+1<c.length&&(f+=e[(15&d)<<2|g>>6]),a+2<c.length&&(f+=e[63&g])}return`${f}${a}`}(f),j="linux";"u">typeof process&&("win32"===process.platform?j="windows":"darwin"===process.platform&&(j="macos"));let n="x64";return"u">typeof process&&"arm64"===process.arch&&(n="aarch64"),{authorization:`Bearer ${d}`,"connect-accept-encoding":"gzip","connect-protocol-version":"1","content-type":"application/connect+proto","user-agent":"connect-es/1.6.1","x-amzn-trace-id":`Root=${e().randomUUID()}`,"x-client-key":h,"x-cursor-checksum":i,"x-cursor-client-version":"3.1.0","x-cursor-client-type":"ide","x-cursor-client-os":j,"x-cursor-client-arch":n,"x-cursor-client-device-type":"desktop","x-cursor-config-version":e().randomUUID(),"x-cursor-timezone":Intl.DateTimeFormat().resolvedOptions().timeZone||"UTC","x-ghost-mode":c?"true":"false","x-request-id":e().randomUUID(),"x-session-id":g}}k.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",k.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8"},22164:(a,b,c)=>{var d=c(45654);c(32e3),c(29984),c(37691),c(33889);var e=c(24547),f=e.publicKeyValidator,g=e.privateKeyValidator;if(void 0===h)var h=d.jsbn.BigInteger;var i=d.util.ByteBuffer,j="u"<typeof Buffer?Uint8Array:Buffer;d.pki=d.pki||{},a.exports=d.pki.ed25519=d.ed25519=d.ed25519||{};var k=d.ed25519;function l(a){var b=a.message;if(b instanceof Uint8Array||b instanceof j)return b;var c=a.encoding;if(void 0===b)if(a.md)b=a.md.digest().getBytes(),c="binary";else throw TypeError('"options.message" or "options.md" not specified.');if("string"==typeof b&&!c)throw TypeError('"options.encoding" must be "binary" or "utf8".');if("string"==typeof b){if("u">typeof Buffer)return Buffer.from(b,c);b=new i(b,c)}else if(!(b instanceof i))throw TypeError('"options.message" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a string with "options.encoding" specifying its encoding.');for(var d=new j(b.length()),e=0;e<d.length;++e)d[e]=b.at(e);return d}k.constants={},k.constants.PUBLIC_KEY_BYTE_LENGTH=32,k.constants.PRIVATE_KEY_BYTE_LENGTH=64,k.constants.SEED_BYTE_LENGTH=32,k.constants.SIGN_BYTE_LENGTH=64,k.constants.HASH_BYTE_LENGTH=64,k.generateKeyPair=function(a){var b=(a=a||{}).seed;if(void 0===b)b=d.random.getBytesSync(k.constants.SEED_BYTE_LENGTH);else if("string"==typeof b){if(b.length!==k.constants.SEED_BYTE_LENGTH)throw TypeError('"seed" must be '+k.constants.SEED_BYTE_LENGTH+" bytes in length.")}else if(!(b instanceof Uint8Array))throw TypeError('"seed" must be a node.js Buffer, Uint8Array, or a binary string.');b=l({message:b,encoding:"binary"});for(var c=new j(k.constants.PUBLIC_KEY_BYTE_LENGTH),e=new j(k.constants.PRIVATE_KEY_BYTE_LENGTH),f=0;f<32;++f)e[f]=b[f];return function(a,b){var c,d=[J(),J(),J(),J()],e=u(b,32);for(e[0]&=248,e[31]&=127,e[31]|=64,F(d,e),z(a,d),c=0;c<32;++c)b[c+32]=a[c]}(c,e),{publicKey:c,privateKey:e}},k.privateKeyFromAsn1=function(a){var b={},c=[];if(!d.asn1.validate(a,g,b,c)){var e=Error("Invalid Key.");throw e.errors=c,e}var f=d.asn1.derToOid(b.privateKeyOid),h=d.oids.EdDSA25519;if(f!==h)throw Error('Invalid OID "'+f+'"; OID must be "'+h+'".');var i=b.privateKey;return{privateKeyBytes:l({message:d.asn1.fromDer(i).value,encoding:"binary"})}},k.publicKeyFromAsn1=function(a){var b={},c=[];if(!d.asn1.validate(a,f,b,c)){var e=Error("Invalid Key.");throw e.errors=c,e}var g=d.asn1.derToOid(b.publicKeyOid),h=d.oids.EdDSA25519;if(g!==h)throw Error('Invalid OID "'+g+'"; OID must be "'+h+'".');var i=b.ed25519PublicKey;if(i.length!==k.constants.PUBLIC_KEY_BYTE_LENGTH)throw Error("Key length is invalid.");return l({message:i,encoding:"binary"})},k.publicKeyFromPrivateKey=function(a){var b=l({message:(a=a||{}).privateKey,encoding:"binary"});if(b.length!==k.constants.PRIVATE_KEY_BYTE_LENGTH)throw TypeError('"options.privateKey" must have a byte length of '+k.constants.PRIVATE_KEY_BYTE_LENGTH);for(var c=new j(k.constants.PUBLIC_KEY_BYTE_LENGTH),d=0;d<c.length;++d)c[d]=b[32+d];return c},k.sign=function(a){var b=l(a=a||{}),c=l({message:a.privateKey,encoding:"binary"});if(c.length===k.constants.SEED_BYTE_LENGTH)c=k.generateKeyPair({seed:c}).privateKey;else if(c.length!==k.constants.PRIVATE_KEY_BYTE_LENGTH)throw TypeError('"options.privateKey" must have a byte length of '+k.constants.SEED_BYTE_LENGTH+" or "+k.constants.PRIVATE_KEY_BYTE_LENGTH);var d=new j(k.constants.SIGN_BYTE_LENGTH+b.length);!function(a,b,c,d){var e,f,g=new Float64Array(64),h=[J(),J(),J(),J()],i=u(d,32);for(i[0]&=248,i[31]&=127,i[31]|=64,e=0;e<c;++e)a[64+e]=b[e];for(e=0;e<32;++e)a[32+e]=i[32+e];var j=u(a.subarray(32),c+32);for(w(j),F(h,j),z(a,h),e=32;e<64;++e)a[e]=d[e];var k=u(a,c+64);for(w(k),e=32;e<64;++e)g[e]=0;for(e=0;e<32;++e)g[e]=j[e];for(e=0;e<32;++e)for(f=0;f<32;f++)g[e+f]+=k[e]*i[f];v(a.subarray(32),g)}(d,b,b.length,c);for(var e=new j(k.constants.SIGN_BYTE_LENGTH),f=0;f<e.length;++f)e[f]=d[f];return e},k.verify=function(a){var b,c=l(a=a||{});if(void 0===a.signature)throw TypeError('"options.signature" must be a node.js Buffer, a Uint8Array, a forge ByteBuffer, or a binary string.');var d=l({message:a.signature,encoding:"binary"});if(d.length!==k.constants.SIGN_BYTE_LENGTH)throw TypeError('"options.signature" must have a byte length of '+k.constants.SIGN_BYTE_LENGTH);var e=l({message:a.publicKey,encoding:"binary"});if(e.length!==k.constants.PUBLIC_KEY_BYTE_LENGTH)throw TypeError('"options.publicKey" must have a byte length of '+k.constants.PUBLIC_KEY_BYTE_LENGTH);var f=new j(k.constants.SIGN_BYTE_LENGTH+c.length),g=new j(k.constants.SIGN_BYTE_LENGTH+c.length);for(b=0;b<k.constants.SIGN_BYTE_LENGTH;++b)f[b]=d[b];for(b=0;b<c.length;++b)f[b+k.constants.SIGN_BYTE_LENGTH]=c[b];return function(a,b,c,d){var e,f,g,h,i,k,l,p,q,r,v=new j(32),y=[J(),J(),J(),J()],A=[J(),J(),J(),J()];if(c<64||(e=A,f=d,g=J(),h=J(),i=J(),k=J(),l=J(),p=J(),q=J(),(G(e[2],n),function(a,b){var c;for(c=0;c<16;++c)a[c]=b[2*c]+(b[2*c+1]<<8);a[15]&=32767}(e[1],f),function(a,b){M(a,b,b)}(i,e[1]),M(k,i,o),L(i,i,e[2]),K(k,e[2],k),function(a,b){M(a,b,b)}(l,k),function(a,b){M(a,b,b)}(p,l),M(q,p,l),M(g,q,i),M(g,g,k),function(a,b){var c,d=J();for(c=0;c<16;++c)d[c]=b[c];for(c=250;c>=0;--c)(function(a,b){M(a,b,b)})(d,d),1!==c&&M(d,d,b);for(c=0;c<16;++c)a[c]=d[c]}(g,g),M(g,g,i),M(g,g,k),M(g,g,k),M(e[0],g,k),function(a,b){M(a,b,b)}(h,e[0]),M(h,h,k),B(h,i)&&M(e[0],e[0],t),function(a,b){M(a,b,b)}(h,e[0]),M(h,h,k),B(h,i))?-1:(D(e[0])===f[31]>>7&&L(e[0],m,e[0]),M(e[3],e[0],e[1]),0))||!function(a){var b;for(b=31;b>=0;--b){if(a[32+b]<s[b])return!0;if(a[32+b]>s[b])break}return!1}(b))return -1;for(r=0;r<c;++r)a[r]=b[r];for(r=0;r<32;++r)a[r+32]=d[r];var H=u(a,c);if(w(H),E(y,A,H),F(A,b.subarray(32)),x(y,A),z(v,y),c-=64,function(a,b,c,d){return C(a,b,c,d,32)}(b,0,v,0)){for(r=0;r<c;++r)a[r]=0;return -1}for(r=0;r<c;++r)a[r]=b[r+64];return c}(g,f,f.length,e)>=0};var m=J(),n=J([1]),o=J([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),p=J([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),q=J([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),r=J([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),s=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]),t=J([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function u(a,b){var c=d.md.sha512.create(),e=new i(a);c.update(e.getBytes(b),"binary");var f=c.digest().getBytes();if("u">typeof Buffer)return Buffer.from(f,"binary");for(var g=new j(k.constants.HASH_BYTE_LENGTH),h=0;h<64;++h)g[h]=f.charCodeAt(h);return g}function v(a,b){var c,d,e,f;for(d=63;d>=32;--d){for(c=0,e=d-32,f=d-12;e<f;++e)b[e]+=c-16*b[d]*s[e-(d-32)],c=b[e]+128>>8,b[e]-=256*c;b[e]+=c,b[d]=0}for(e=0,c=0;e<32;++e)b[e]+=c-(b[31]>>4)*s[e],c=b[e]>>8,b[e]&=255;for(e=0;e<32;++e)b[e]-=c*s[e];for(d=0;d<32;++d)b[d+1]+=b[d]>>8,a[d]=255&b[d]}function w(a){for(var b=new Float64Array(64),c=0;c<64;++c)b[c]=a[c],a[c]=0;v(a,b)}function x(a,b){var c=J(),d=J(),e=J(),f=J(),g=J(),h=J(),i=J(),j=J(),k=J();L(c,a[1],a[0]),L(k,b[1],b[0]),M(c,c,k),K(d,a[0],a[1]),K(k,b[0],b[1]),M(d,d,k),M(e,a[3],b[3]),M(e,e,p),M(f,a[2],b[2]),K(f,f,f),L(g,d,c),L(h,f,e),K(i,f,e),K(j,d,c),M(a[0],g,h),M(a[1],j,i),M(a[2],i,h),M(a[3],g,j)}function y(a,b,c){for(var d=0;d<4;++d)I(a[d],b[d],c)}function z(a,b){var c=J(),d=J(),e=J();(function(a,b){var c,d=J();for(c=0;c<16;++c)d[c]=b[c];for(c=253;c>=0;--c)(function(a,b){M(a,b,b)})(d,d),2!==c&&4!==c&&M(d,d,b);for(c=0;c<16;++c)a[c]=d[c]})(e,b[2]),M(c,b[0],e),M(d,b[1],e),A(a,d),a[31]^=D(c)<<7}function A(a,b){var c,d,e,f=J(),g=J();for(c=0;c<16;++c)g[c]=b[c];for(H(g),H(g),H(g),d=0;d<2;++d){for(c=1,f[0]=g[0]-65517;c<15;++c)f[c]=g[c]-65535-(f[c-1]>>16&1),f[c-1]&=65535;f[15]=g[15]-32767-(f[14]>>16&1),e=f[15]>>16&1,f[14]&=65535,I(g,f,1-e)}for(c=0;c<16;c++)a[2*c]=255&g[c],a[2*c+1]=g[c]>>8}function B(a,b){var c=new j(32),d=new j(32);return A(c,a),A(d,b),C(c,0,d,0,32)}function C(a,b,c,d,e){var f,g=0;for(f=0;f<e;++f)g|=a[b+f]^c[d+f];return(1&g-1>>>8)-1}function D(a){var b=new j(32);return A(b,a),1&b[0]}function E(a,b,c){var d,e;for(G(a[0],m),G(a[1],n),G(a[2],n),G(a[3],m),e=255;e>=0;--e)y(a,b,d=c[e/8|0]>>(7&e)&1),x(b,a),x(a,a),y(a,b,d)}function F(a,b){var c=[J(),J(),J(),J()];G(c[0],q),G(c[1],r),G(c[2],n),M(c[3],q,r),E(a,c,b)}function G(a,b){var c;for(c=0;c<16;c++)a[c]=0|b[c]}function H(a){var b,c,d=1;for(b=0;b<16;++b)d=Math.floor((c=a[b]+d+65535)/65536),a[b]=c-65536*d;a[0]+=d-1+37*(d-1)}function I(a,b,c){for(var d,e=~(c-1),f=0;f<16;++f)d=e&(a[f]^b[f]),a[f]^=d,b[f]^=d}function J(a){var b,c=new Float64Array(16);if(a)for(b=0;b<a.length;++b)c[b]=a[b];return c}function K(a,b,c){for(var d=0;d<16;++d)a[d]=b[d]+c[d]}function L(a,b,c){for(var d=0;d<16;++d)a[d]=b[d]-c[d]}function M(a,b,c){var d,e,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=c[0],L=c[1],M=c[2],N=c[3],O=c[4],P=c[5],Q=c[6],R=c[7],S=c[8],T=c[9],U=c[10],V=c[11],W=c[12],X=c[13],Y=c[14],Z=c[15];f+=(d=b[0])*K,g+=d*L,h+=d*M,i+=d*N,j+=d*O,k+=d*P,l+=d*Q,m+=d*R,n+=d*S,o+=d*T,p+=d*U,q+=d*V,r+=d*W,s+=d*X,t+=d*Y,u+=d*Z,g+=(d=b[1])*K,h+=d*L,i+=d*M,j+=d*N,k+=d*O,l+=d*P,m+=d*Q,n+=d*R,o+=d*S,p+=d*T,q+=d*U,r+=d*V,s+=d*W,t+=d*X,u+=d*Y,v+=d*Z,h+=(d=b[2])*K,i+=d*L,j+=d*M,k+=d*N,l+=d*O,m+=d*P,n+=d*Q,o+=d*R,p+=d*S,q+=d*T,r+=d*U,s+=d*V,t+=d*W,u+=d*X,v+=d*Y,w+=d*Z,i+=(d=b[3])*K,j+=d*L,k+=d*M,l+=d*N,m+=d*O,n+=d*P,o+=d*Q,p+=d*R,q+=d*S,r+=d*T,s+=d*U,t+=d*V,u+=d*W,v+=d*X,w+=d*Y,x+=d*Z,j+=(d=b[4])*K,k+=d*L,l+=d*M,m+=d*N,n+=d*O,o+=d*P,p+=d*Q,q+=d*R,r+=d*S,s+=d*T,t+=d*U,u+=d*V,v+=d*W,w+=d*X,x+=d*Y,y+=d*Z,k+=(d=b[5])*K,l+=d*L,m+=d*M,n+=d*N,o+=d*O,p+=d*P,q+=d*Q,r+=d*R,s+=d*S,t+=d*T,u+=d*U,v+=d*V,w+=d*W,x+=d*X,y+=d*Y,z+=d*Z,l+=(d=b[6])*K,m+=d*L,n+=d*M,o+=d*N,p+=d*O,q+=d*P,r+=d*Q,s+=d*R,t+=d*S,u+=d*T,v+=d*U,w+=d*V,x+=d*W,y+=d*X,z+=d*Y,A+=d*Z,m+=(d=b[7])*K,n+=d*L,o+=d*M,p+=d*N,q+=d*O,r+=d*P,s+=d*Q,t+=d*R,u+=d*S,v+=d*T,w+=d*U,x+=d*V,y+=d*W,z+=d*X,A+=d*Y,B+=d*Z,n+=(d=b[8])*K,o+=d*L,p+=d*M,q+=d*N,r+=d*O,s+=d*P,t+=d*Q,u+=d*R,v+=d*S,w+=d*T,x+=d*U,y+=d*V,z+=d*W,A+=d*X,B+=d*Y,C+=d*Z,o+=(d=b[9])*K,p+=d*L,q+=d*M,r+=d*N,s+=d*O,t+=d*P,u+=d*Q,v+=d*R,w+=d*S,x+=d*T,y+=d*U,z+=d*V,A+=d*W,B+=d*X,C+=d*Y,D+=d*Z,p+=(d=b[10])*K,q+=d*L,r+=d*M,s+=d*N,t+=d*O,u+=d*P,v+=d*Q,w+=d*R,x+=d*S,y+=d*T,z+=d*U,A+=d*V,B+=d*W,C+=d*X,D+=d*Y,E+=d*Z,q+=(d=b[11])*K,r+=d*L,s+=d*M,t+=d*N,u+=d*O,v+=d*P,w+=d*Q,x+=d*R,y+=d*S,z+=d*T,A+=d*U,B+=d*V,C+=d*W,D+=d*X,E+=d*Y,F+=d*Z,r+=(d=b[12])*K,s+=d*L,t+=d*M,u+=d*N,v+=d*O,w+=d*P,x+=d*Q,y+=d*R,z+=d*S,A+=d*T,B+=d*U,C+=d*V,D+=d*W,E+=d*X,F+=d*Y,G+=d*Z,s+=(d=b[13])*K,t+=d*L,u+=d*M,v+=d*N,w+=d*O,x+=d*P,y+=d*Q,z+=d*R,A+=d*S,B+=d*T,C+=d*U,D+=d*V,E+=d*W,F+=d*X,G+=d*Y,H+=d*Z,t+=(d=b[14])*K,u+=d*L,v+=d*M,w+=d*N,x+=d*O,y+=d*P,z+=d*Q,A+=d*R,B+=d*S,C+=d*T,D+=d*U,E+=d*V,F+=d*W,G+=d*X,H+=d*Y,I+=d*Z,u+=(d=b[15])*K,v+=d*L,w+=d*M,x+=d*N,y+=d*O,z+=d*P,A+=d*Q,B+=d*R,C+=d*S,D+=d*T,E+=d*U,F+=d*V,G+=d*W,H+=d*X,I+=d*Y,J+=d*Z,f+=38*v,g+=38*w,h+=38*x,i+=38*y,j+=38*z,k+=38*A,l+=38*B,m+=38*C,n+=38*D,o+=38*E,p+=38*F,q+=38*G,r+=38*H,s+=38*I,t+=38*J,e=Math.floor((d=f+(e=1)+65535)/65536),f=d-65536*e,e=Math.floor((d=g+e+65535)/65536),g=d-65536*e,e=Math.floor((d=h+e+65535)/65536),h=d-65536*e,e=Math.floor((d=i+e+65535)/65536),i=d-65536*e,e=Math.floor((d=j+e+65535)/65536),j=d-65536*e,e=Math.floor((d=k+e+65535)/65536),k=d-65536*e,e=Math.floor((d=l+e+65535)/65536),l=d-65536*e,e=Math.floor((d=m+e+65535)/65536),m=d-65536*e,e=Math.floor((d=n+e+65535)/65536),n=d-65536*e,e=Math.floor((d=o+e+65535)/65536),o=d-65536*e,e=Math.floor((d=p+e+65535)/65536),p=d-65536*e,e=Math.floor((d=q+e+65535)/65536),q=d-65536*e,e=Math.floor((d=r+e+65535)/65536),r=d-65536*e,e=Math.floor((d=s+e+65535)/65536),s=d-65536*e,e=Math.floor((d=t+e+65535)/65536),t=d-65536*e,e=Math.floor((d=u+e+65535)/65536),u=d-65536*e,f+=e-1+37*(e-1),e=Math.floor((d=f+(e=1)+65535)/65536),f=d-65536*e,e=Math.floor((d=g+e+65535)/65536),g=d-65536*e,e=Math.floor((d=h+e+65535)/65536),h=d-65536*e,e=Math.floor((d=i+e+65535)/65536),i=d-65536*e,e=Math.floor((d=j+e+65535)/65536),j=d-65536*e,e=Math.floor((d=k+e+65535)/65536),k=d-65536*e,e=Math.floor((d=l+e+65535)/65536),l=d-65536*e,e=Math.floor((d=m+e+65535)/65536),m=d-65536*e,e=Math.floor((d=n+e+65535)/65536),n=d-65536*e,e=Math.floor((d=o+e+65535)/65536),o=d-65536*e,e=Math.floor((d=p+e+65535)/65536),p=d-65536*e,e=Math.floor((d=q+e+65535)/65536),q=d-65536*e,e=Math.floor((d=r+e+65535)/65536),r=d-65536*e,e=Math.floor((d=s+e+65535)/65536),s=d-65536*e,e=Math.floor((d=t+e+65535)/65536),t=d-65536*e,e=Math.floor((d=u+e+65535)/65536),u=d-65536*e,f+=e-1+37*(e-1),a[0]=f,a[1]=g,a[2]=h,a[3]=i,a[4]=j,a[5]=k,a[6]=l,a[7]=m,a[8]=n,a[9]=o,a[10]=p,a[11]=q,a[12]=r,a[13]=s,a[14]=t,a[15]=u}},22409:(a,b,c)=>{"use strict";c.d(b,{F:()=>h});var d=c(50801),e=c(30395),f=c(14372),g=c(42541);class h extends d.L{constructor(){super("xiaomi-tokenplan")}buildUrl(a,b,c=0,d=null){let h=(0,e.Yg)(d);return(0,f.ux)(a,a)===g.h.CLAUDE?`${h.replace(/\/v1\/?$/,"/anthropic/v1")}/messages`:`${h}/chat/completions`}}},23242:(a,b,c)=>{"use strict";c.r(b),c.d(b,{ollamaBodyToOpenAI:()=>i,ollamaToOpenAI:()=>f});var d=c(56294),e=c(42541);function f(a,b){if(!a||"object"!=typeof a)return null;b.ollama||(b.ollama={id:`chatcmpl-${Date.now()}`,created:Math.floor(Date.now()/1e3),model:a.model||b.model});let{id:c,created:d,model:e}=b.ollama;if(a.done){let f=g(a),h="stop";return("tool_calls"===a.done_reason||b.hadToolCalls)&&(h="tool_calls"),{id:c,object:"chat.completion.chunk",created:d,model:e,choices:[{index:0,delta:{},finish_reason:h}],usage:f}}let f=a.message;if(!f)return null;let i="string"==typeof f.content?f.content:"",j="string"==typeof f.thinking?f.thinking:"",k=Array.isArray(f.tool_calls)?f.tool_calls:null;if(!i&&!j&&!k)return null;i&&(b.accumulatedContent=(b.accumulatedContent||"")+i),j&&(b.accumulatedThinking=(b.accumulatedThinking||"")+j);let l={};return i&&(l.content=i),j&&(l.reasoning_content=j),k&&(b.hadToolCalls=!0,l.tool_calls=h(k)),{id:c,object:"chat.completion.chunk",created:d,model:e,choices:[{index:0,delta:l,finish_reason:null}]}}function g(a){return{prompt_tokens:a.prompt_eval_count||0,completion_tokens:a.eval_count||0,total_tokens:(a.prompt_eval_count||0)+(a.eval_count||0)}}function h(a){return a.map((a,b)=>({index:a.function?.index??b,id:a.id||`call_${b}_${Date.now()}`,type:"function",function:{name:a.function?.name||"",arguments:"string"==typeof a.function?.arguments?a.function.arguments:JSON.stringify(a.function?.arguments||{})}}))}function i(a){let b=a.message||{},c=b.content||"",d=b.thinking||"",e=Array.isArray(b.tool_calls)?b.tool_calls:[],f={role:"assistant"};c&&(f.content=c),d&&(f.reasoning_content=d),e.length>0&&(f.tool_calls=h(e)),f.content||f.tool_calls||(f.content="");let i=a.done_reason||"stop";return e.length>0&&(i="tool_calls"),{id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"ollama",choices:[{index:0,message:f,finish_reason:i}],usage:g(a)}}(0,d.kz)(e.h.OLLAMA,e.h.OPENAI,null,f)},23423:(a,b,c)=>{"use strict";let d;a=c.nmd(a);let{Buffer:e}=c(4573);Object.defineProperty(a,"exports",{get:()=>d||(d=e.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEH51ABqLQAARw0yIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyGAgsgA0EANgIAIAZBAWohAUErDDILQcABIQIgASAERg2EAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH21ABqLQAARw0xIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyFAgsgA0EANgIAIAZBAWohAUEsDDELQb8BIQIgASAERg2DAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0wIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyEAgsgA0EANgIAIAZBAWohAUERDDALQb4BIQIgASAERg2CAiADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEHy1ABqLQAARw0vIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyDAgsgA0EANgIAIAZBAWohAUEuDC8LIAEgBEYEQEG9ASECDIICCwJAAkACQAJAAkAgAS0AAEHBAGsOFQA0NDQ0NDQ0NDQ0ATQ0AjQ0AzQ0BDQLIAFBAWohAUGbASECDOwBCyABQQFqIQFBnAEhAgzrAQsgAUEBaiEBQZ0BIQIM6gELIAFBAWohAUGiASECDOkBCyABQQFqIQFBpAEhAgzoAQsgASAERgRAQbwBIQIMgQILAkACQCABLQAAQdIAaw4DADABMAsgAUEBaiEBQaMBIQIM6AELIAFBAWohAUEEDC0LQbsBIQIgASAERg3/ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHw1ABqLQAARw0sIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyAAgsgA0EANgIAIAZBAWohAUEdDCwLIAEgBEYEQEG6ASECDP8BCwJAAkAgAS0AAEHJAGsOBwEuLi4uLgAuCyABQQFqIQFBoQEhAgzmAQsgAUEBaiEBQSIMKwsgASAERgRAQbkBIQIM/gELIAEtAABB0ABHDSsgAUEBaiEBQaABIQIM5AELIAEgBEYEQEG4ASECDP0BCwJAAkAgAS0AAEHGAGsOCwAsLCwsLCwsLCwBLAsgAUEBaiEBQZ4BIQIM5AELIAFBAWohAUGfASECDOMBC0G3ASECIAEgBEYN+wEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABB7NQAai0AAEcNKCAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM/AELIANBADYCACAGQQFqIQFBDQwoC0G2ASECIAEgBEYN+gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBodUAai0AAEcNJyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+wELIANBADYCACAGQQFqIQFBDAwnC0G1ASECIAEgBEYN+QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6tQAai0AAEcNJiAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+gELIANBADYCACAGQQFqIQFBAwwmC0G0ASECIAEgBEYN+AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABB6NQAai0AAEcNJSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM+QELIANBADYCACAGQQFqIQFBJgwlCyABIARGBEBBswEhAgz4AQsCQAJAIAEtAABB1ABrDgIAAScLIAFBAWohAUGZASECDN8BCyABQQFqIQFBmgEhAgzeAQtBsgEhAiABIARGDfYBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQebUAGotAABHDSMgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPcBCyADQQA2AgAgBkEBaiEBQScMIwtBsQEhAiABIARGDfUBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQeTUAGotAABHDSIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPYBCyADQQA2AgAgBkEBaiEBQRwMIgtBsAEhAiABIARGDfQBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQd7UAGotAABHDSEgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPUBCyADQQA2AgAgBkEBaiEBQQYMIQtBrwEhAiABIARGDfMBIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQdnUAGotAABHDSAgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPQBCyADQQA2AgAgBkEBaiEBQRkMIAsgASAERgRAQa4BIQIM8wELAkACQAJAAkAgAS0AAEEtaw4jACQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkASQkJCQkAiQkJAMkCyABQQFqIQFBjgEhAgzcAQsgAUEBaiEBQY8BIQIM2wELIAFBAWohAUGUASECDNoBCyABQQFqIQFBlQEhAgzZAQtBrQEhAiABIARGDfEBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQdfUAGotAABHDR4gAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPIBCyADQQA2AgAgBkEBaiEBQQsMHgsgASAERgRAQawBIQIM8QELAkACQCABLQAAQcEAaw4DACABIAsgAUEBaiEBQZABIQIM2AELIAFBAWohAUGTASECDNcBCyABIARGBEBBqwEhAgzwAQsCQAJAIAEtAABBwQBrDg8AHx8fHx8fHx8fHx8fHwEfCyABQQFqIQFBkQEhAgzXAQsgAUEBaiEBQZIBIQIM1gELIAEgBEYEQEGqASECDO8BCyABLQAAQcwARw0cIAFBAWohAUEKDBsLQakBIQIgASAERg3tASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHR1ABqLQAARw0aIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzuAQsgA0EANgIAIAZBAWohAUEeDBoLQagBIQIgASAERg3sASADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEHK1ABqLQAARw0ZIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAztAQsgA0EANgIAIAZBAWohAUEVDBkLQacBIQIgASAERg3rASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEHH1ABqLQAARw0YIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==","base64"))})},23740:(a,b,c)=>{"use strict";c.d(b,{jO:()=>u});var d=c(38929),e=c(37149),f=c(93818),g=c(80668),h=c(83287),i=c(9757),j=c(92853),k=c(80742),l=c(57472);let m="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";function n(a){return{id:a.id,alias:a.alias,aliases:a.aliases,...a.display,authModes:a.authModes,passthroughModels:a.passthroughModels,serviceKinds:a.serviceKinds}}let o={poolside:n(k.A),"kilo-gateway":n(h.A),bazaarlink:n(g.A),llm7:n(i.A),openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, 200 req/day; after $10 credit: 1,000 req/day (OpenRouter terms).",apiKeyUrl:"https://openrouter.ai/settings/keys"},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0,serviceKinds:["llm","embedding","tts","imageToText"],embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"openai/text-embedding-3-small",name:"Text Embedding 3 Small (OpenRouter)",dimensions:1536},{id:"openai/text-embedding-3-large",name:"Text Embedding 3 Large (OpenRouter)",dimensions:3072},{id:"openai/text-embedding-ada-002",name:"Text Embedding Ada 002 (OpenRouter)",dimensions:1536}]}},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"},serviceKinds:["llm","tts","embedding"],ttsConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"nvidia-tts",models:[{id:"fastpitch",name:"FastPitch"},{id:"tacotron2",name:"Tacotron2"}]},embeddingConfig:{baseUrl:"https://integrate.api.nvidia.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nvidia/nv-embedqa-e5-v5",name:"NV EmbedQA E5 v5",dimensions:1024}]}},ollama:{id:"ollama",alias:"ollama",name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},vertex:{id:"vertex",alias:"vx",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",mediaPriority:1,website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"},serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt",models:[{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"}]},searchViaChat:{defaultModel:"gemini-2.5-flash",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",models:[{id:"text-embedding-004",name:"Text Embedding 004",dimensions:768},{id:"embedding-001",name:"Embedding 001",dimensions:768}]},ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts",models:[{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS"}]}},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",name:"Cloudflare",icon:"cloud",color:"#F38020",textIcon:"CF",website:"https://developers.cloudflare.com/workers-ai/",notice:{text:"Workers AI free tier. Requires a Cloudflare API token and Account ID.",apiKeyUrl:"https://dash.cloudflare.com/profile/api-tokens"},serviceKinds:["llm","image"],hasProviderSpecificData:!0},byteplus:{id:"byteplus",alias:"bpm",name:"BytePlus ModelArk",icon:"cloud",color:"#2563EB",textIcon:"BP",website:"https://console.byteplus.com/ark",notice:{text:"Free credits for new accounts. Access to Seed 2.0, Kimi K2 Thinking, GLM 4.7, GPT-OSS-120B models.",apiKeyUrl:"https://console.byteplus.com/ark/region:ark+ap-southeast-1/apiKey"},serviceKinds:["llm"]}},p={options:["auto","none","minimal","low","medium","high","xhigh","max"],defaultMode:"auto"},q=[{id:"speech-2.8-hd",name:"Speech 2.8 HD"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo"},{id:"speech-2.6-hd",name:"Speech 2.6 HD"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo"},{id:"speech-02-hd",name:"Speech 02 HD"},{id:"speech-02-turbo",name:"Speech 02 Turbo"},{id:"speech-01-hd",name:"Speech 01 HD"},{id:"speech-01-turbo",name:"Speech 01 Turbo"}],r={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757",deprecated:!0,deprecationNotice:m,website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"}},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",deprecated:!0,deprecationNotice:"⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"}},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6",deprecated:!0,deprecationNotice:m,thinkingConfig:p,serviceKinds:["llm","image"],kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."},website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"}},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333",deprecated:!0,deprecationNotice:m,serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://models.github.ai/inference/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small (GitHub)",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large (GitHub)",dimensions:3072}]},website:"https://github.com/features/copilot",notice:{signupUrl:"https://github.com/features/copilot"}},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},xai:{id:d.A.id,alias:d.A.alias,...d.A.display,serviceKinds:d.A.serviceKinds,imageConfig:d.A.imageConfig,videoConfig:d.A.videoConfig,searchViaChat:d.A.searchViaChat,authModes:d.A.authModes,hasOAuth:d.A.hasOAuth},kimi:{id:"kimi",alias:"kimi",aliases:["kimi-coding","kmc"],name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn",notice:{apiKeyUrl:"https://platform.moonshot.ai/console/api-keys",signupUrl:"https://www.kimi.com/code"},serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"kimi-k3",pricingUrl:"https://platform.kimi.ai/docs/pricing/chat"},authModes:["oauth","apikey"],hasOAuth:!0},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC",website:"https://kilocode.ai",notice:{signupUrl:"https://kilocode.ai"}},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL",website:"https://cline.bot",notice:{signupUrl:"https://cline.bot"}},clinepass:{id:"clinepass",alias:"clinepass",name:"ClinePass",icon:"vpn_key",color:"#5B9BD5",textIcon:"CP",website:"https://cline.bot",notice:{signupUrl:"https://app.cline.bot"},authModes:["oauth","apikey"],hasOAuth:!0,thinkingConfig:{options:["auto","on","off"],defaultMode:"auto",defaultBudgetTokens:1e4}},kimchi:{id:"kimchi",alias:"kimchi",name:"Kimchi",icon:"restaurant",color:"#FF521D",textIcon:"KC",website:"https://kimchi.dev",notice:{signupUrl:"https://app.kimchi.dev"},hasOAuth:!0,passthroughModels:!0,serviceKinds:["llm","imageToText"]},"grok-cli":{id:"grok-cli",alias:"gcli",name:"Grok CLI (Grok Build)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GC",website:"https://x.ai",notice:{text:"Sign in with your xAI / Grok account via device code. Uses Grok Build subscription credits (cli-chat-proxy.grok.com).",signupUrl:"https://grok.com/supergrok"},hasOAuth:!0,thinkingConfig:{options:["low","medium","high"],defaultMode:"high"}},autoclaw:{id:"autoclaw",alias:"acl",name:"AutoClaw",icon:"bolt",color:"#7C3AED",textIcon:"AC",website:"https://autoclaw.z.ai",notice:{signupUrl:"https://autoclaw.z.ai"}}},s={"alims-intl":n(e.A),baidu:n(f.A),morph:n(j.A),tencent:n(l.A),glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},"glm-cn":{id:"glm-cn",alias:"glm-cn",name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"},serviceKinds:["llm","image","imageToText","webSearch","tts"],searchViaChat:{defaultModel:"MiniMax-M2.7",pricingUrl:"https://www.minimaxi.com/document/price"},ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts",models:q}},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"},serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts",models:q}},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://bailian.console.aliyun.com",notice:{apiKeyUrl:"https://bailian.console.aliyun.com/?apiKey=1"}},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi",website:"https://modelstudio.console.alibabacloud.com",notice:{apiKeyUrl:"https://modelstudio.console.alibabacloud.com/?apiKey=1"}},"xiaomi-mimo":{id:"xiaomi-mimo",alias:"mimo",name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://xiaomimimo.com"}},"xiaomi-tokenplan":{id:"xiaomi-tokenplan",alias:"xmtp",name:"Xiaomi MiMo (Token Plan)",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://mimo.xiaomi.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://mimo.xiaomi.com"},hasProviderSpecificData:!0,regions:[{id:"sgp",label:"Singapore",baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1"},{id:"cn",label:"China",baseUrl:"https://token-plan-cn.xiaomimimo.com/v1"},{id:"ams",label:"Europe",baseUrl:"https://token-plan-ams.xiaomimimo.com/v1"}],defaultRegion:"sgp"},"volcengine-ark":{id:"volcengine-ark",alias:"ark",name:"Volcengine Ark",icon:"cloud",color:"#1677FF",textIcon:"ARK",website:"https://ark.cn-beijing.volces.com",notice:{apiKeyUrl:"https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey"}},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"},serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],thinkingConfig:p,searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"},ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"tts-1",name:"TTS-1"},{id:"tts-1-hd",name:"TTS-1 HD"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS"}]},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"whisper-1",name:"Whisper 1"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe"}]},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-small",name:"Text Embedding 3 Small",dimensions:1536},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",dimensions:1536}]}},"vercel-ai-gateway":{id:"vercel-ai-gateway",alias:"vercel",name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"},passthroughModels:!0,serviceKinds:["llm"]},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",notice:{apiKeyUrl:"https://console.anthropic.com/settings/keys"},serviceKinds:["llm","imageToText"]},"opencode-go":{id:"opencode-go",alias:"ocg",name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go subscription: $5/mo (then $10/mo). Access to Kimi, GLM, Qwen, MiMo, MiniMax models.",apiKeyUrl:"https://opencode.ai/auth"}},azure:{id:"azure",alias:"azure",name:"Azure OpenAI",icon:"cloud",color:"#0078D4",textIcon:"AZ",website:"https://azure.microsoft.com/en-us/products/ai-services/openai-service",notice:{apiKeyUrl:"https://portal.azure.com/#view/Microsoft_Azure_ProjectOxford/CognitiveServicesHub/~/OpenAI"},hasProviderSpecificData:!0},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},commandcode:{id:"commandcode",alias:"cmc",name:"Command Code",icon:"smart_toy",color:"#000000",textIcon:"CC",website:"https://commandcode.ai",notice:{text:"Use your CommandCode CLI API key (starts with user_...) from ~/.commandcode/auth.json or commandcode.ai/studio.",apiKeyUrl:"https://commandcode.ai/studio"}},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"},serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai",models:[{id:"whisper-large-v3",name:"Whisper Large v3"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN"}]}},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai",notice:{apiKeyUrl:"https://console.mistral.ai/api-keys"},serviceKinds:["llm","imageToText","embedding"],embeddingConfig:{baseUrl:"https://api.mistral.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-embed",name:"Mistral Embed",dimensions:1024}]}},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai",notice:{apiKeyUrl:"https://www.perplexity.ai/settings/api"},serviceKinds:["llm","webSearch"],searchConfig:{baseUrl:"https://api.perplexity.ai/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},"perplexity-agent":{id:"perplexity-agent",alias:"pa",name:"Perplexity Agent",icon:"travel_explore",color:"#20808D",textIcon:"PA",website:"https://www.perplexity.ai",notice:{text:"Perplexity Agent API exposes GPT, Claude, Gemini, Grok, GLM, Kimi, and Sonar models through one OpenAI-compatible Responses API.",apiKeyUrl:"https://www.perplexity.ai/settings/api"},passthroughModels:!0,modelsFetcher:{url:"https://api.perplexity.ai/v1/models",type:"openai"},serviceKinds:["llm","webSearch"],searchViaChat:{defaultModel:"perplexity/sonar",endpoint:"https://api.perplexity.ai/v1/responses",pricingUrl:"https://docs.perplexity.ai/docs/agent-api/models"}},clinepass:{id:"clinepass",alias:"clinepass",name:"ClinePass",icon:"vpn_key",color:"#5B9BD5",textIcon:"CP",website:"https://cline.bot",notice:{signupUrl:"https://app.cline.bot",apiKeyUrl:"https://app.cline.bot"},authModes:["oauth","apikey"],hasOAuth:!0},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai",notice:{apiKeyUrl:"https://api.together.xyz/settings/api-keys"},serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.together.xyz/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"BAAI/bge-large-en-v1.5",name:"BGE Large EN v1.5",dimensions:1024},{id:"togethercomputer/m2-bert-80M-8k-retrieval",name:"M2 BERT 80M 8K",dimensions:768}]}},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai",notice:{apiKeyUrl:"https://fireworks.ai/account/api-keys"},serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.fireworks.ai/inference/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"nomic-ai/nomic-embed-text-v1.5",name:"Nomic Embed Text v1.5",dimensions:768}]}},venice:{id:"venice",alias:"venice",name:"Venice AI",icon:"shield",color:"#DC2626",textIcon:"VE",website:"https://venice.ai",notice:{text:"OpenAI-compatible. Private inference + uncensored models (Venice Uncensored, GLM, Qwen, DeepSeek, Llama).",apiKeyUrl:"https://venice.ai/settings/api"},passthroughModels:!0,modelsFetcher:{url:"https://api.venice.ai/api/v1/models",type:"openai"},serviceKinds:["llm","embedding","image"],embeddingConfig:{baseUrl:"https://api.venice.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"text-embedding-3-large",name:"Text Embedding 3 Large",dimensions:3072},{id:"text-embedding-bge-m3",name:"BGE-M3 Embedding",dimensions:1024}]}},featherless:{id:"featherless",alias:"fl",name:"Featherless",icon:"flutter_dash",color:"#111827",textIcon:"FL",website:"https://featherless.ai",notice:{apiKeyUrl:"https://featherless.ai/account/api-keys"},passthroughModels:!0,modelsFetcher:{url:"https://api.featherless.ai/v1/models",type:"openai"}},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai",notice:{apiKeyUrl:"https://cloud.cerebras.ai/platform"}},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com",notice:{apiKeyUrl:"https://dashboard.cohere.com/api-keys"}},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com",notice:{apiKeyUrl:"https://studio.nebius.com/settings/api-keys"},serviceKinds:["llm","embedding"],embeddingConfig:{baseUrl:"https://api.tokenfactory.nebius.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/Qwen3-Embedding-8B",name:"Qwen3 Embedding 8B",dimensions:4096}]}},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz",notice:{apiKeyUrl:"https://app.hyperbolic.xyz/settings"},serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.hyperbolic.xyz/v1/audio/generation",authType:"apikey",authHeader:"bearer",format:"hyperbolic",models:[{id:"melo-tts",name:"Melo TTS"}]}},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",notice:{text:"$200 free credit on signup (no card required). Aura-1: $0.015/1k chars, Aura-2: $0.030/1k chars (Pay-As-You-Go).",apiKeyUrl:"https://console.deepgram.com/api-keys"},serviceKinds:["stt","imageToText","tts"],ttsConfig:{baseUrl:"https://api.deepgram.com/v1/speak",authType:"apikey",authHeader:"token",format:"deepgram",models:[]},sttConfig:{baseUrl:"https://api.deepgram.com/v1/listen",authType:"apikey",authHeader:"token",format:"deepgram",models:[{id:"nova-3",name:"Nova 3"},{id:"nova-2",name:"Nova 2"},{id:"whisper-large",name:"Whisper Large"}]}},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",notice:{apiKeyUrl:"https://www.assemblyai.com/app/api-keys"},serviceKinds:["stt"],sttConfig:{baseUrl:"https://api.assemblyai.com/v2/transcript",authType:"apikey",authHeader:"bearer",format:"assemblyai",async:!0,models:[{id:"universal-3-pro",name:"Universal 3 Pro"},{id:"universal-2",name:"Universal 2"}]}},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana API",icon:"extension",color:"#FFD700",textIcon:"\uD83C\uDF4C",website:"https://nanobananaapi.ai",notice:{text:"3rd-party proxy for Google Nano Banana (Gemini 2.5/3 Flash Image). For official, use Gemini provider.",apiKeyUrl:"https://nanobananaapi.ai/dashboard"},serviceKinds:["image"]},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",notice:{apiKeyUrl:"https://elevenlabs.io/app/settings/api-keys"},serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.elevenlabs.io/v1/text-to-speech",authType:"apikey",authHeader:"xi-api-key",format:"elevenlabs",models:[{id:"eleven_multilingual_v2",name:"Eleven Multilingual v2"},{id:"eleven_turbo_v2_5",name:"Eleven Turbo v2.5"}]}},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",notice:{apiKeyUrl:"https://play.cartesia.ai/keys"},serviceKinds:["tts"],hidden:!0,ttsConfig:{baseUrl:"https://api.cartesia.ai/tts/bytes",authType:"apikey",authHeader:"x-api-key",format:"cartesia",models:[{id:"sonic-2",name:"Sonic 2"},{id:"sonic-3",name:"Sonic 3"}]}},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",notice:{apiKeyUrl:"https://play.ht/studio/api-access"},serviceKinds:["tts"],hidden:!0,ttsConfig:{baseUrl:"https://api.play.ht/api/v2/tts/stream",authType:"apikey",authHeader:"playht",format:"playht",models:[{id:"PlayDialog",name:"PlayDialog"},{id:"Play3.0-mini",name:"Play 3.0 Mini"}]}},"local-device":{id:"local-device",alias:"local-device",name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD",mediaPriority:5,serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"local-device",authType:"none",authHeader:"none",format:"local-device",models:[]}},"google-tts":{id:"google-tts",alias:"google-tts",name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT",mediaPriority:5,serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"google-tts",authType:"none",authHeader:"none",format:"google-tts",models:[]}},"edge-tts":{id:"edge-tts",alias:"edge-tts",name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET",mediaPriority:5,serviceKinds:["tts"],noAuth:!0,ttsConfig:{baseUrl:"edge-tts",authType:"none",authHeader:"none",format:"edge-tts",models:[]}},coqui:{id:"coqui",alias:"coqui",name:"Coqui TTS",icon:"record_voice_over",color:"#10B981",textIcon:"CQ",website:"https://github.com/coqui-ai/TTS",serviceKinds:["tts"],hidden:!0,noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5002/api/tts",authType:"none",authHeader:"none",format:"coqui",models:[{id:"tts_models/en/ljspeech/tacotron2-DDC",name:"Tacotron2 DDC (LJSpeech)"}]}},tortoise:{id:"tortoise",alias:"tortoise",name:"Tortoise TTS",icon:"record_voice_over",color:"#7C3AED",textIcon:"TT",website:"https://github.com/neonbjb/tortoise-tts",serviceKinds:["tts"],hidden:!0,noAuth:!0,ttsConfig:{baseUrl:"http://localhost:5000/api/tts",authType:"none",authHeader:"none",format:"tortoise",models:[{id:"tortoise-v2",name:"Tortoise v2"}]}},inworld:{id:"inworld",alias:"inworld",name:"Inworld TTS",icon:"record_voice_over",color:"#FF6B6B",textIcon:"IW",website:"https://inworld.ai",notice:{text:"Free tier: 40 minutes/month TTS. Paid: TTS-1.5 Mini $0.01/min ($15/1M chars), TTS-1.5 Max $0.025/min ($30/1M chars). 270+ voices, 15 languages.",apiKeyUrl:"https://platform.inworld.ai/api-keys"},serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.inworld.ai/tts/v1/voice",authType:"apikey",authHeader:"basic",format:"inworld",models:[{id:"inworld-tts-1.5-mini",name:"Inworld TTS 1.5 Mini ($0.01/min)"},{id:"inworld-tts-1.5-max",name:"Inworld TTS 1.5 Max ($0.025/min)"}]}},"voyage-ai":{id:"voyage-ai",alias:"voyage",name:"Voyage AI",icon:"data_array",color:"#0EA5E9",textIcon:"VG",website:"https://www.voyageai.com",notice:{apiKeyUrl:"https://dash.voyageai.com/api-keys"},serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.voyageai.com/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"voyage-3-large",name:"Voyage 3 Large",dimensions:1024},{id:"voyage-3.5",name:"Voyage 3.5",dimensions:1024},{id:"voyage-3.5-lite",name:"Voyage 3.5 Lite",dimensions:1024},{id:"voyage-code-3",name:"Voyage Code 3",dimensions:1024},{id:"voyage-finance-2",name:"Voyage Finance 2",dimensions:1024},{id:"voyage-law-2",name:"Voyage Law 2",dimensions:1024},{id:"voyage-multilingual-2",name:"Voyage Multilingual 2",dimensions:1024}]}},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui",serviceKinds:["image"]},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI",serviceKinds:["image"]},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens"},serviceKinds:["image","imageToText","tts","stt"],hiddenKinds:["tts"],ttsConfig:{baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-tts",models:[{id:"facebook/mms-tts-eng",name:"MMS TTS English"},{id:"microsoft/speecht5_tts",name:"SpeechT5 TTS"}]},sttConfig:{baseUrl:"https://api-inference.huggingface.co/models",authType:"apikey",authHeader:"bearer",format:"huggingface-asr",models:[{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)"},{id:"openai/whisper-small",name:"Whisper Small (HF)"}]}},blackbox:{id:"blackbox",alias:"bb",name:"Blackbox AI",icon:"smart_toy",color:"#5B5FEF",textIcon:"BB",website:"https://blackbox.ai",notice:{apiKeyUrl:"https://www.blackbox.ai/api-management"},serviceKinds:["llm"]},chutes:{id:"chutes",alias:"ch",name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai",notice:{apiKeyUrl:"https://chutes.ai/app/api"}},"ollama-local":{id:"ollama-local",alias:"ollama-local",name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},"vertex-partner":{id:"vertex-partner",alias:"vxp",name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models",notice:{apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},tavily:{id:"tavily",alias:"tavily",name:"Tavily",icon:"search",color:"#5B21B6",textIcon:"TV",website:"https://tavily.com",notice:{apiKeyUrl:"https://app.tavily.com/home"},serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.tavily.com/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.tavily.com/extract",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.008,freeMonthlyQuota:1e3,formats:["markdown","text"],maxCharacters:1e5,timeoutMs:15e3}},"brave-search":{id:"brave-search",alias:"brave",name:"Brave Search",icon:"travel_explore",color:"#FB542B",textIcon:"BR",website:"https://brave.com/search/api",notice:{apiKeyUrl:"https://api-dashboard.search.brave.com/app/keys"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.search.brave.com/res/v1",method:"GET",authType:"apikey",authHeader:"x-subscription-token",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:20,timeoutMs:1e4,cacheTTLMs:3e5}},serper:{id:"serper",alias:"serper",name:"Serper",icon:"search",color:"#4F46E5",textIcon:"SP",website:"https://serper.dev",notice:{apiKeyUrl:"https://serper.dev/api-key"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://google.serper.dev",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:2500,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},exa:{id:"exa",alias:"exa",name:"Exa",icon:"manage_search",color:"#2563EB",textIcon:"EX",website:"https://exa.ai",notice:{apiKeyUrl:"https://dashboard.exa.ai/api-keys"},serviceKinds:["webSearch","webFetch"],searchConfig:{baseUrl:"https://api.exa.ai/search",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.007,freeMonthlyQuota:1e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5},fetchConfig:{baseUrl:"https://api.exa.ai/contents",method:"POST",authType:"apikey",authHeader:"x-api-key",costPerQuery:.001,freeMonthlyQuota:1e3,formats:["text","markdown"],maxCharacters:1e5,timeoutMs:15e3}},searxng:{id:"searxng",alias:"searxng",name:"SearXNG",icon:"saved_search",color:"#3B82F6",textIcon:"SX",website:"https://docs.searxng.org",serviceKinds:["webSearch"],noAuth:!0,searchConfig:{baseUrl:"http://localhost:8888/search",method:"GET",authType:"none",authHeader:"none",costPerQuery:0,freeMonthlyQuota:999999,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:18e4}},"google-pse":{id:"google-pse",alias:"gpse",name:"Google PSE",icon:"search",color:"#4285F4",textIcon:"GP",website:"https://programmablesearchengine.google.com",notice:{apiKeyUrl:"https://programmablesearchengine.google.com/controlpanel/create"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.googleapis.com/customsearch/v1",method:"GET",authType:"apikey",authHeader:"key",costPerQuery:.005,freeMonthlyQuota:3e3,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:10,timeoutMs:1e4,cacheTTLMs:3e5}},linkup:{id:"linkup",alias:"linkup",name:"Linkup",icon:"link",color:"#0EA5E9",textIcon:"LK",website:"https://linkup.so",notice:{apiKeyUrl:"https://app.linkup.so/api-keys"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://api.linkup.so/v1/search",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.005,freeMonthlyQuota:1e3,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5}},searchapi:{id:"searchapi",alias:"searchapi",name:"SearchAPI",icon:"search",color:"#0EA5A4",textIcon:"SA",website:"https://www.searchapi.io",notice:{apiKeyUrl:"https://www.searchapi.io/dashboard"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://www.searchapi.io/api/v1/search",method:"GET",authType:"apikey",authHeader:"api_key",costPerQuery:.004,freeMonthlyQuota:100,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},youcom:{id:"youcom",alias:"youcom",name:"You.com Search",icon:"search",color:"#7C3AED",textIcon:"YC",website:"https://you.com",notice:{apiKeyUrl:"https://api.you.com"},serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://ydc-index.io/v1/search",method:"GET",authType:"apikey",authHeader:"x-api-key",costPerQuery:.005,freeMonthlyQuota:0,searchTypes:["web","news"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:3e5}},firecrawl:{id:"firecrawl",alias:"firecrawl",name:"Firecrawl",icon:"local_fire_department",color:"#F59E0B",textIcon:"FC",website:"https://firecrawl.dev",notice:{apiKeyUrl:"https://www.firecrawl.dev/app/api-keys"},serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://api.firecrawl.dev/v1/scrape",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:.002,freeMonthlyQuota:500,formats:["markdown","html","text"],maxCharacters:2e5,timeoutMs:3e4}},"fal-ai":{id:"fal-ai",alias:"fal",name:"Fal.ai",icon:"image",color:"#2563EB",textIcon:"FL",website:"https://fal.ai",notice:{apiKeyUrl:"https://fal.ai/dashboard/keys"},serviceKinds:["image"],imageConfig:{baseUrl:"https://api.fal.ai/v1/models?limit=1",method:"GET",authType:"apikey",authHeader:"key"}},"stability-ai":{id:"stability-ai",alias:"stability",name:"Stability AI",icon:"image",color:"#8B5CF6",textIcon:"SA",website:"https://stability.ai",notice:{apiKeyUrl:"https://platform.stability.ai/account/keys"},serviceKinds:["image"],imageConfig:{baseUrl:"https://api.stability.ai/v1/user/account",method:"GET",authType:"apikey",authHeader:"bearer"}},"black-forest-labs":{id:"black-forest-labs",alias:"bfl",name:"Black Forest Labs",icon:"image",color:"#111827",textIcon:"BF",website:"https://blackforestlabs.ai",notice:{apiKeyUrl:"https://api.bfl.ai"},serviceKinds:["image"],imageConfig:{baseUrl:"https://api.bfl.ai/v1/get_result?id=ping",method:"GET",authType:"apikey",authHeader:"x-key"}},recraft:{id:"recraft",alias:"recraft",name:"Recraft",icon:"image",color:"#EC4899",textIcon:"RC",website:"https://recraft.ai",notice:{apiKeyUrl:"https://www.recraft.ai/profile/api"},serviceKinds:["image"],imageConfig:{baseUrl:"https://external.api.recraft.ai/v1/users/me",method:"GET",authType:"apikey",authHeader:"bearer"}},topaz:{id:"topaz",alias:"topaz",name:"Topaz",icon:"image",color:"#059669",textIcon:"TP",website:"https://topazlabs.com",notice:{apiKeyUrl:"https://topazlabs.com/account"},serviceKinds:["image"]},runwayml:{id:"runwayml",alias:"runway",name:"Runway ML",icon:"movie",color:"#000000",textIcon:"RW",website:"https://runwayml.com",notice:{apiKeyUrl:"https://dev.runwayml.com"},serviceKinds:["image","video"],imageConfig:{baseUrl:"https://api.dev.runwayml.com/v1/organization",method:"GET",authType:"apikey",authHeader:"bearer",extraHeaders:{"X-Runway-Version":"2024-11-06"}}},"aws-polly":{id:"aws-polly",alias:"polly",name:"AWS Polly",icon:"record_voice_over",color:"#FF9900",textIcon:"PL",website:"https://aws.amazon.com/polly/",notice:{text:"Use AWS Secret Access Key as API key; set providerSpecificData.accessKeyId and optional region.",apiKeyUrl:"https://console.aws.amazon.com/iam/home#/security_credentials"},serviceKinds:["tts"],hasProviderSpecificData:!0,ttsConfig:{baseUrl:"https://polly.{region}.amazonaws.com/v1/speech",authType:"apikey",authHeader:"aws-sigv4",format:"aws-polly",models:[{id:"standard",name:"Standard"},{id:"neural",name:"Neural"},{id:"long-form",name:"Long-form"},{id:"generative",name:"Generative"}]}},"jina-ai":{id:"jina-ai",alias:"jina",name:"Jina AI",icon:"blur_on",color:"#2563EB",textIcon:"JA",website:"https://jina.ai",notice:{text:"10M free tokens on signup (non-commercial; Jina terms apply).",apiKeyUrl:"https://jina.ai/?sui=apikey"},serviceKinds:["embedding"],embeddingConfig:{baseUrl:"https://api.jina.ai/v1/embeddings",authType:"apikey",authHeader:"bearer",models:[{id:"jina-embeddings-v3",name:"Jina Embeddings v3",dimensions:1024},{id:"jina-embeddings-v2-base-en",name:"Jina Embeddings v2 Base EN",dimensions:768},{id:"jina-embeddings-v2-base-code",name:"Jina Embeddings v2 Base Code",dimensions:768}]}},"jina-reader":{id:"jina-reader",alias:"jina",name:"Jina Reader",icon:"menu_book",color:"#000000",textIcon:"JR",website:"https://jina.ai/reader",notice:{apiKeyUrl:"https://jina.ai/?sui=apikey"},serviceKinds:["webFetch"],fetchConfig:{baseUrl:"https://r.jina.ai",method:"GET",authType:"apikey",authHeader:"bearer",costPerQuery:0,freeMonthlyQuota:1e6,formats:["markdown","text","html"],maxCharacters:2e5,timeoutMs:3e4}}},t={kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35",deprecated:!0,deprecationNotice:m,website:"https://kiro.dev",notice:{signupUrl:"https://kiro.dev"}},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationNotice:m,website:"https://github.com/google-gemini/gemini-cli",notice:{signupUrl:"https://github.com/google-gemini/gemini-cli"}},codebuddy:{id:"codebuddy",alias:"cb",name:"CodeBuddy",icon:"smart_toy",color:"#006EFF",deprecated:!0,deprecationNotice:m,website:"https://www.codebuddy.ai",notice:{signupUrl:"https://www.codebuddy.ai/login",apiKeyUrl:"https://www.codebuddy.ai/profile"},authModes:["oauth","apikey"]},"codebuddy-cn":{id:"codebuddy-cn",alias:"cb-cn",name:"CodeBuddy CN",icon:"smart_toy",color:"#1E40AF",deprecated:!0,deprecationNotice:m,website:"https://www.codebuddy.cn",notice:{signupUrl:"https://copilot.tencent.com",apiKeyUrl:"https://copilot.tencent.com/profile/"},authModes:["oauth","apikey"]},qoder:{id:"qoder",alias:"qd",name:"Qoder",icon:"water_drop",color:"#EC4899",deprecated:!0,deprecationNotice:m,website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}},opencode:{id:"opencode",alias:"oc",name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC",noAuth:!0,passthroughModels:!0,modelsFetcher:{url:"https://opencode.ai/zen/v1/models",type:"opencode-free"}},"mimo-free":{id:"mimo-free",alias:"mmf",name:"MiMo Code Free",icon:"smart_toy",color:"#FF6900",textIcon:"MF",noAuth:!0,hasFree:!0,passthroughModels:!0,website:"https://xiaomimimo.com",notice:{text:"Free Xiaomi MiMo Code endpoint (no API key). Uses bootstrap JWT + Chrome UA. May rate-limit or break if upstream anti-abuse changes."}},...o,...r,...s,"grok-web":{id:"grok-web",alias:"gw",name:"Grok Web (Subscription)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"GW",website:"https://grok.com",authType:"cookie",authHint:"Paste your sso= cookie value from grok.com",passthroughModels:!0,serviceKinds:["llm"]},"perplexity-web":{id:"perplexity-web",alias:"pw",name:"Perplexity Web (Pro/Max)",icon:"search",color:"#20808D",textIcon:"PW",website:"https://www.perplexity.ai",authType:"cookie",authHint:"Paste your __Secure-next-auth.session-token cookie value from perplexity.ai",serviceKinds:["llm"]}};Object.values(t).reduce((a,b)=>{for(let c of(a[b.alias]=b.id,b.aliases||[]))a[c]=b.id;return a},{}),Object.values(t).reduce((a,b)=>(a[b.id]=b.alias,a),{});let u=["glm","glm-cn","minimax","minimax-cn","codebuddy","codebuddy-cn","cloudflare-ai","xai","clinepass","blackbox"]},24081:(a,b,c)=>{"use strict";c.d(b,{cK:()=>k,y5:()=>l});var d=c(62239);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,closePromise:null,logged:!1});let e=global._dbAdapter;async function f(){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(8062).then(c.bind(c,38062));return await a(d.AL)}catch(a){return console.warn(`[DB] bun:sqlite unavailable: ${a.message}`),null}}async function g(){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(8469).then(c.bind(c,88469));return a(d.AL)}catch(a){return console.warn(`[DB] better-sqlite3 unavailable: ${a.message}`),null}}async function h(){if(process.versions.bun)return null;let[a,b]=process.versions.node.split(".").map(Number);if(a<22||22===a&&b<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(4803).then(c.bind(c,54803));return await a(d.AL)}catch(a){return console.warn(`[DB] node:sqlite unavailable: ${a.message}`),null}}async function i(){try{let{createSqlJsAdapter:a}=await c.e(6252).then(c.bind(c,66252));return await a(d.AL)}catch(a){return console.warn(`[DB] sql.js unavailable: ${a.message}`),null}}async function j(){(0,d.Jh)();let a=await f();if(a||(a=await h()),a||(a=await g()),a||(a=await i()),!a)throw Error("[DB] No SQLite driver available (bun/node/better/sql.js all failed)");e.logged||(console.log(`[DB] Driver: ${a.driver} | file: ${d.AL}`),e.logged=!0);try{let{runMigrationOnce:b}=await c.e(5800).then(c.bind(c,85800));await b(a);let{runStartupMaintenanceOnce:d}=await c.e(3696).then(c.bind(c,33696));return d(a),a}catch(b){try{await a.close?.()}catch(a){console.warn(`[DB] failed to close partially initialized adapter: ${a.message}`)}throw b}}async function k(){if(e.instance)return e.instance;if(!e.initPromise){let a=j().then(a=>(e.instance=a,a)).catch(b=>{throw e.initPromise===a&&(e.initPromise=null),b});e.initPromise=a}return e.initPromise}async function l(){return e.closePromise||(e.closePromise=(async()=>{try{let{stopStartupMaintenance:a}=await c.e(3696).then(c.bind(c,33696));a();let b=e.instance||(e.initPromise?await e.initPromise:null);await b?.close?.()}finally{e.instance=null,e.initPromise=null,e.closePromise=null}})()),e.closePromise}"closePromise"in e||(e.closePromise=null)},24214:a=>{"use strict";function b(a,b,c,d,e,f,g){let h=new Date(Date.UTC(a,b,c,d,e,f));return a>=0&&a<=99&&h.setUTCFullYear(a),h.getUTCFullYear()===a&&h.getUTCMonth()===b&&h.getUTCDate()===c&&h.getUTCHours()===d&&h.getUTCMinutes()===e&&h.getUTCSeconds()===f&&h.getUTCDay()===g?h:void 0}a.exports={parseHttpDate:function(a){switch(a[3]){case",":return function(a){if(29!==a.length||" "!==a[4]||" "!==a[7]||" "!==a[11]||" "!==a[16]||":"!==a[19]||":"!==a[22]||" "!==a[25]||"G"!==a[26]||"M"!==a[27]||"T"!==a[28])return;let c=-1;if("S"===a[0]&&"u"===a[1]&&"n"===a[2])c=0;else if("M"===a[0]&&"o"===a[1]&&"n"===a[2])c=1;else if("T"===a[0]&&"u"===a[1]&&"e"===a[2])c=2;else if("W"===a[0]&&"e"===a[1]&&"d"===a[2])c=3;else if("T"===a[0]&&"h"===a[1]&&"u"===a[2])c=4;else if("F"===a[0]&&"r"===a[1]&&"i"===a[2])c=5;else{if("S"!==a[0]||"a"!==a[1]||"t"!==a[2])return;c=6}let d=0;if("0"===a[5]){let b=a.charCodeAt(6);if(b<49||b>57)return;d=b-48}else{let b=a.charCodeAt(5);if(b<49||b>51)return;let c=a.charCodeAt(6);if(c<48||c>57)return;d=(b-48)*10+(c-48)}let e=-1;if("J"===a[8]&&"a"===a[9]&&"n"===a[10])e=0;else if("F"===a[8]&&"e"===a[9]&&"b"===a[10])e=1;else if("M"===a[8]&&"a"===a[9])if("r"===a[10])e=2;else{if("y"!==a[10])return;e=4}else if("J"===a[8])if("a"===a[9]&&"n"===a[10])e=0;else if("u"!==a[9])return;else if("n"===a[10])e=5;else{if("l"!==a[10])return;e=6}else if("A"===a[8])if("p"===a[9]&&"r"===a[10])e=3;else{if("u"!==a[9]||"g"!==a[10])return;e=7}else if("S"===a[8]&&"e"===a[9]&&"p"===a[10])e=8;else if("O"===a[8]&&"c"===a[9]&&"t"===a[10])e=9;else if("N"===a[8]&&"o"===a[9]&&"v"===a[10])e=10;else{if("D"!==a[8]||"e"!==a[9]||"c"!==a[10])return;e=11}let f=a.charCodeAt(12);if(f<48||f>57)return;let g=a.charCodeAt(13);if(g<48||g>57)return;let h=a.charCodeAt(14);if(h<48||h>57)return;let i=a.charCodeAt(15);if(i<48||i>57)return;let j=0;if("0"===a[17]){let b=a.charCodeAt(18);if(b<48||b>57)return;j=b-48}else{let b=a.charCodeAt(17);if(b<48||b>50)return;let c=a.charCodeAt(18);if(c<48||c>57||50===b&&c>51)return;j=(b-48)*10+(c-48)}let k=0;if("0"===a[20]){let b=a.charCodeAt(21);if(b<48||b>57)return;k=b-48}else{let b=a.charCodeAt(20);if(b<48||b>53)return;let c=a.charCodeAt(21);if(c<48||c>57)return;k=(b-48)*10+(c-48)}let l=0;if("0"===a[23]){let b=a.charCodeAt(24);if(b<48||b>57)return;l=b-48}else{let b=a.charCodeAt(23);if(b<48||b>53)return;let c=a.charCodeAt(24);if(c<48||c>57)return;l=(b-48)*10+(c-48)}return b((f-48)*1e3+(g-48)*100+(h-48)*10+(i-48),e,d,j,k,l,c)}(a);case" ":return function(a){if(24!==a.length||" "!==a[7]||" "!==a[10]||" "!==a[19])return;let c=-1;if("S"===a[0]&&"u"===a[1]&&"n"===a[2])c=0;else if("M"===a[0]&&"o"===a[1]&&"n"===a[2])c=1;else if("T"===a[0]&&"u"===a[1]&&"e"===a[2])c=2;else if("W"===a[0]&&"e"===a[1]&&"d"===a[2])c=3;else if("T"===a[0]&&"h"===a[1]&&"u"===a[2])c=4;else if("F"===a[0]&&"r"===a[1]&&"i"===a[2])c=5;else{if("S"!==a[0]||"a"!==a[1]||"t"!==a[2])return;c=6}let d=-1;if("J"===a[4]&&"a"===a[5]&&"n"===a[6])d=0;else if("F"===a[4]&&"e"===a[5]&&"b"===a[6])d=1;else if("M"===a[4]&&"a"===a[5])if("r"===a[6])d=2;else{if("y"!==a[6])return;d=4}else if("J"===a[4])if("a"===a[5]&&"n"===a[6])d=0;else if("u"!==a[5])return;else if("n"===a[6])d=5;else{if("l"!==a[6])return;d=6}else if("A"===a[4])if("p"===a[5]&&"r"===a[6])d=3;else{if("u"!==a[5]||"g"!==a[6])return;d=7}else if("S"===a[4]&&"e"===a[5]&&"p"===a[6])d=8;else if("O"===a[4]&&"c"===a[5]&&"t"===a[6])d=9;else if("N"===a[4]&&"o"===a[5]&&"v"===a[6])d=10;else{if("D"!==a[4]||"e"!==a[5]||"c"!==a[6])return;d=11}let e=0;if(" "===a[8]){let b=a.charCodeAt(9);if(b<49||b>57)return;e=b-48}else{let b=a.charCodeAt(8);if(b<49||b>51)return;let c=a.charCodeAt(9);if(c<48||c>57)return;e=(b-48)*10+(c-48)}let f=0;if("0"===a[11]){let b=a.charCodeAt(12);if(b<48||b>57)return;f=b-48}else{let b=a.charCodeAt(11);if(b<48||b>50)return;let c=a.charCodeAt(12);if(c<48||c>57||50===b&&c>51)return;f=(b-48)*10+(c-48)}let g=0;if("0"===a[14]){let b=a.charCodeAt(15);if(b<48||b>57)return;g=b-48}else{let b=a.charCodeAt(14);if(b<48||b>53)return;let c=a.charCodeAt(15);if(c<48||c>57)return;g=(b-48)*10+(c-48)}let h=0;if("0"===a[17]){let b=a.charCodeAt(18);if(b<48||b>57)return;h=b-48}else{let b=a.charCodeAt(17);if(b<48||b>53)return;let c=a.charCodeAt(18);if(c<48||c>57)return;h=(b-48)*10+(c-48)}let i=a.charCodeAt(20);if(i<48||i>57)return;let j=a.charCodeAt(21);if(j<48||j>57)return;let k=a.charCodeAt(22);if(k<48||k>57)return;let l=a.charCodeAt(23);if(!(l<48)&&!(l>57))return b((i-48)*1e3+(j-48)*100+(k-48)*10+(l-48),d,e,f,g,h,c)}(a);default:return function(a){let c=-1,d=-1;if("S"===a[0])"u"===a[1]&&"n"===a[2]&&"d"===a[3]&&"a"===a[4]&&"y"===a[5]?(d=0,c=6):"a"===a[1]&&"t"===a[2]&&"u"===a[3]&&"r"===a[4]&&"d"===a[5]&&"a"===a[6]&&"y"===a[7]&&(d=6,c=8);else if("M"===a[0]&&"o"===a[1]&&"n"===a[2]&&"d"===a[3]&&"a"===a[4]&&"y"===a[5])d=1,c=6;else if("T"===a[0])"u"===a[1]&&"e"===a[2]&&"s"===a[3]&&"d"===a[4]&&"a"===a[5]&&"y"===a[6]?(d=2,c=7):"h"===a[1]&&"u"===a[2]&&"r"===a[3]&&"s"===a[4]&&"d"===a[5]&&"a"===a[6]&&"y"===a[7]&&(d=4,c=8);else if("W"===a[0]&&"e"===a[1]&&"d"===a[2]&&"n"===a[3]&&"e"===a[4]&&"s"===a[5]&&"d"===a[6]&&"a"===a[7]&&"y"===a[8])d=3,c=9;else{if("F"!==a[0]||"r"!==a[1]||"i"!==a[2]||"d"!==a[3]||"a"!==a[4]||"y"!==a[5])return;d=5,c=6}if(","!==a[c]||a.length-c-1!=23||" "!==a[c+1]||"-"!==a[c+4]||"-"!==a[c+8]||" "!==a[c+11]||":"!==a[c+14]||":"!==a[c+17]||" "!==a[c+20]||"G"!==a[c+21]||"M"!==a[c+22]||"T"!==a[c+23])return;let e=0;if("0"===a[c+2]){let b=a.charCodeAt(c+3);if(b<49||b>57)return;e=b-48}else{let b=a.charCodeAt(c+2);if(b<49||b>51)return;let d=a.charCodeAt(c+3);if(d<48||d>57)return;e=(b-48)*10+(d-48)}let f=-1;if("J"===a[c+5]&&"a"===a[c+6]&&"n"===a[c+7])f=0;else if("F"===a[c+5]&&"e"===a[c+6]&&"b"===a[c+7])f=1;else if("M"===a[c+5]&&"a"===a[c+6]&&"r"===a[c+7])f=2;else if("A"===a[c+5]&&"p"===a[c+6]&&"r"===a[c+7])f=3;else if("M"===a[c+5]&&"a"===a[c+6]&&"y"===a[c+7])f=4;else if("J"===a[c+5]&&"u"===a[c+6]&&"n"===a[c+7])f=5;else if("J"===a[c+5]&&"u"===a[c+6]&&"l"===a[c+7])f=6;else if("A"===a[c+5]&&"u"===a[c+6]&&"g"===a[c+7])f=7;else if("S"===a[c+5]&&"e"===a[c+6]&&"p"===a[c+7])f=8;else if("O"===a[c+5]&&"c"===a[c+6]&&"t"===a[c+7])f=9;else if("N"===a[c+5]&&"o"===a[c+6]&&"v"===a[c+7])f=10;else{if("D"!==a[c+5]||"e"!==a[c+6]||"c"!==a[c+7])return;f=11}let g=a.charCodeAt(c+9);if(g<48||g>57)return;let h=a.charCodeAt(c+10);if(h<48||h>57)return;let i=(g-48)*10+(h-48);i+=i<70?2e3:1900;let j=0;if("0"===a[c+12]){let b=a.charCodeAt(c+13);if(b<48||b>57)return;j=b-48}else{let b=a.charCodeAt(c+12);if(b<48||b>50)return;let d=a.charCodeAt(c+13);if(d<48||d>57||50===b&&d>51)return;j=(b-48)*10+(d-48)}let k=0;if("0"===a[c+15]){let b=a.charCodeAt(c+16);if(b<48||b>57)return;k=b-48}else{let b=a.charCodeAt(c+15);if(b<48||b>53)return;let d=a.charCodeAt(c+16);if(d<48||d>57)return;k=(b-48)*10+(d-48)}let l=0;if("0"===a[c+18]){let b=a.charCodeAt(c+19);if(b<48||b>57)return;l=b-48}else{let b=a.charCodeAt(c+18);if(b<48||b>53)return;let d=a.charCodeAt(c+19);if(d<48||d>57)return;l=(b-48)*10+(d-48)}return b(i,f,e,j,k,l,d)}(a)}}}},24464:a=>{"use strict";a.exports={TOOL_HOSTS:{antigravity:["daily-cloudcode-pa.googleapis.com","cloudcode-pa.googleapis.com"],copilot:["api.individual.githubcopilot.com"],kiro:["q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com"],cursor:["api2.cursor.sh"]}}},24524:(a,b,c)=>{"use strict";c.d(b,{P:()=>e});var d=c(50801);class e extends d.L{constructor(){super("azure")}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.azureEndpoint||process.env.AZURE_ENDPOINT||"https://api.openai.com",f=d?.providerSpecificData?.apiVersion||process.env.AZURE_API_VERSION||"2024-10-01-preview",g=d?.providerSpecificData?.deployment||a||process.env.AZURE_DEPLOYMENT||"gpt-4",h=e.replace(/\/$/,"");return`${h}/openai/deployments/${g}/chat/completions?api-version=${f}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json",...this.config.headers},d=a?.apiKey||a?.accessToken||process.env.OPENAI_API_KEY;d&&(c["api-key"]=d);let e=a?.providerSpecificData?.organization||process.env.AZURE_ORGANIZATION;return e&&(c["OpenAI-Organization"]=e),b&&(c.Accept="text/event-stream"),c}transformRequest(a,b,c,d){return b}}},24547:(a,b,c)=>{var d=c(45654);c(63070);var e=d.asn1;b.privateKeyValidator={name:"PrivateKeyInfo",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:e.Class.UNIVERSAL,type:e.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:e.Class.UNIVERSAL,type:e.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},b.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:e.Class.UNIVERSAL,type:e.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:e.Class.UNIVERSAL,type:e.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{tagClass:e.Class.UNIVERSAL,type:e.Type.BITSTRING,constructed:!1,composed:!0,captureBitStringValue:"ed25519PublicKey"}]}},24644:(a,b,c)=>{"use strict";c.d(b,{r:()=>h});var d=c(55511),e=c.n(d),f=c(69384),g=c(30395);class h extends f.Hv{constructor(){super("iflow",g.xq.iflow)}generateUUID(){return e().randomUUID()}createIFlowSignature(a,b,c,d){if(!d)return"";let f=`${a}:${b}:${c}`,g=e().createHmac("sha256",d);return g.update(f),g.digest("hex")}buildHeaders(a,b=!0){let c=`session-${this.generateUUID()}`,d=Date.now(),e=this.config.headers["User-Agent"]||"iFlow-Cli",f=a.apiKey||a.accessToken||"",g=this.createIFlowSignature(e,c,d,f),h={"Content-Type":"application/json",...this.config.headers,"session-id":c,"x-iflow-timestamp":d.toString(),"x-iflow-signature":g};return a.apiKey&&(h.Authorization=`Bearer ${a.apiKey}`),b&&(h.Accept="text/event-stream"),h}buildUrl(a,b,c=0,d=null){return this.config.baseUrl}transformRequest(a,b,c,d){return c&&b.messages&&!b.stream_options&&(b.stream_options={include_usage:!0}),b}}},24985:(a,b,c)=>{var d=c(45654);c(33889),c(29984),c(4554);var e=a.exports=d.pkcs1=d.pkcs1||{};function f(a,b,c){c||(c=d.md.sha1.create());for(var e="",f=Math.ceil(b/c.digestLength),g=0;g<f;++g){var h=String.fromCharCode(g>>24&255,g>>16&255,g>>8&255,255&g);c.start(),c.update(a+h),e+=c.digest().getBytes()}return e.substring(0,b)}e.encode_rsa_oaep=function(a,b,c){"string"==typeof c?(e=c,g=arguments[3]||void 0,h=arguments[4]||void 0):c&&(e=c.label||void 0,g=c.seed||void 0,h=c.md||void 0,c.mgf1&&c.mgf1.md&&(i=c.mgf1.md)),h?h.start():h=d.md.sha1.create(),i||(i=h);var e,g,h,i,j=Math.ceil(a.n.bitLength()/8),k=j-2*h.digestLength-2;if(b.length>k){var l=Error("RSAES-OAEP input message length is too long.");throw l.length=b.length,l.maxLength=k,l}e||(e=""),h.update(e,"raw");for(var m=h.digest(),n="",o=k-b.length,p=0;p<o;p++)n+="\0";var q=m.getBytes()+n+"\x01"+b;if(g){if(g.length!==h.digestLength){var l=Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw l.seedLength=g.length,l.digestLength=h.digestLength,l}}else g=d.random.getBytes(h.digestLength);var r=f(g,j-h.digestLength-1,i),s=d.util.xorBytes(q,r,q.length),t=f(s,h.digestLength,i);return"\0"+d.util.xorBytes(g,t,g.length)+s},e.decode_rsa_oaep=function(a,b,c){"string"==typeof c?(e=c,g=arguments[3]||void 0):c&&(e=c.label||void 0,g=c.md||void 0,c.mgf1&&c.mgf1.md&&(h=c.mgf1.md));var e,g,h,i=Math.ceil(a.n.bitLength()/8);if(b.length!==i){var j=Error("RSAES-OAEP encoded message length is invalid.");throw j.length=b.length,j.expectedLength=i,j}if(void 0===g?g=d.md.sha1.create():g.start(),h||(h=g),i<2*g.digestLength+2)throw Error("RSAES-OAEP key is too short for the hash function.");e||(e=""),g.update(e,"raw");for(var k=g.digest().getBytes(),l=b.charAt(0),m=b.substring(1,g.digestLength+1),n=b.substring(1+g.digestLength),o=f(n,g.digestLength,h),p=f(d.util.xorBytes(m,o,m.length),i-g.digestLength-1,h),q=d.util.xorBytes(n,p,n.length),r=q.substring(0,g.digestLength),j="\0"!==l,s=0;s<g.digestLength;++s)j|=k.charAt(s)!==r.charAt(s);for(var t=1,u=g.digestLength,v=g.digestLength;v<q.length;v++){var w=q.charCodeAt(v),x=1&w^1;j|=w&65534*!!t,t&=x,u+=t}if(j||1!==q.charCodeAt(u))throw Error("Invalid RSAES-OAEP padding.");return q.substring(u+1)}},25346:(a,b,c)=>{"use strict";c.d(b,{d_:()=>f});var d=c(94735);c(77598),c(24081),c(8677),global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}}),global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0}),global._statsEmitter||(global._statsEmitter=new d.EventEmitter,global._statsEmitter.setMaxListeners(50)),global._pendingTimers||(global._pendingTimers={}),global._recentRing||(global._recentRing={items:[],initialized:!1}),global._connectionMapCache||(global._connectionMapCache={map:{},ts:0}),global._usageWritesInFlight||(global._usageWritesInFlight=new Set),global._pendingRequests,global._lastErrorProvider,global._pendingTimers,global._recentRing,global._connectionMapCache;let e=global._usageWritesInFlight;async function f(){for(;e.size>0;)await Promise.allSettled([...e])}global._statsEmitter},26376:(a,b,c)=>{"use strict";let{makeRequest:d}=c(12600);a.exports={isValidLastEventId:function(a){return -1===a.indexOf("\0")},isASCIINumber:function(a){if(0===a.length)return!1;for(let b=0;b<a.length;b++)if(48>a.charCodeAt(b)||a.charCodeAt(b)>57)return!1;return!0},createPotentialCORSRequest:function(a,b,c,e){let f="no cors"===c?"no-cors":"cors";e&&"no-cors"===f&&(f="same-origin");let g="include";return"anonymous"===c&&(g="same-origin"),d({urlList:[a],destination:b,mode:f,credentials:g,useURLCredentials:!0})}}},26757:(a,b,c)=>{"use strict";let d=c(34589),{AsyncResource:e}=c(16698),{InvalidArgumentError:f,InvalidReturnValueError:g}=c(61448),h=c(84285),{addSignal:i,removeSignal:j}=c(73135);function k(){}class l extends e{constructor(a,b,c){if(!a||"object"!=typeof a)throw new f("invalid opts");const{signal:d,method:e,opaque:g,body:j,onInfo:l,responseHeaders:m}=a;try{if("function"!=typeof c)throw new f("invalid callback");if("function"!=typeof b)throw new f("invalid factory");if(d&&"function"!=typeof d.on&&"function"!=typeof d.addEventListener)throw new f("signal must be an EventEmitter or EventTarget");if("CONNECT"===e)throw new f("invalid method");if(l&&"function"!=typeof l)throw new f("invalid onInfo callback");super("UNDICI_STREAM")}catch(a){throw h.isStream(j)&&h.destroy(j.on("error",k),a),a}this.responseHeaders=m||null,this.opaque=g||null,this.factory=b,this.callback=c,this.res=null,this.abort=null,this.context=null,this.controller=null,this.trailers=null,this.body=j,this.onInfo=l||null,h.isStream(j)&&j.on("error",a=>{this.onResponseError(this.controller,a)}),i(this,d)}onRequestStart(a,b){this.reason?a.abort(this.reason):(d(this.callback),this.controller=a,this.abort=b=>a.abort(b),this.context=b)}onResponseStart(a,b,c,d){var e;let f,i,j,k,l,{factory:m,opaque:n,context:o,responseHeaders:p}=this,q=a?.rawHeaders,r="raw"===p?h.parseRawHeaders(q):c;if(b<200){this.onInfo&&this.onInfo({statusCode:b,headers:r});return}if(this.factory=null,null===m)return;let s=this.runInAsyncScope(m,null,{statusCode:b,headers:r,opaque:n,context:o});if(!s||"function"!=typeof s.write||"function"!=typeof s.end||"function"!=typeof s.on)throw new g("expected Writable");e=(a,b)=>{let{callback:c,res:d,opaque:e,trailers:f,abort:g}=this;this.res=null,(a||!d?.readable)&&h.destroy(d,b?void 0:a),this.callback=null,this.runInAsyncScope(c,null,a||null,{opaque:e,trailers:f}),a&&g(a)},f=!1,i=(a,b=!1)=>{f||(f=!0,s.removeListener("close",j),s.removeListener("error",k),s.removeListener("finish",l),e(a,b))},j=()=>{let a;i(s.errored??s.writableErrored??s._writableState?.errored??(s.writableFinished?void 0:((a=Error("Premature close")).code="ERR_STREAM_PREMATURE_CLOSE",a)))},k=a=>i(a,!0),l=()=>i(),s.on("close",j),s.on("error",k),s.on("finish",l),s.closed?process.nextTick(j):s.writableFinished&&process.nextTick(l),s.on("drain",()=>a.resume()),this.res=s,!0===(void 0!==s.writableNeedDrain?s.writableNeedDrain:s._writableState?.needDrain)&&a.pause()}onResponseData(a,b){let{res:c}=this;c&&!1===c.write(b)&&a.pause()}onResponseEnd(a,b){let{res:c}=this;j(this),c&&(b&&"object"==typeof b&&(this.trailers=b),c.end())}onResponseError(a,b){let{res:c,callback:d,opaque:e,body:f}=this;j(this),this.factory=null,c?(this.res=null,h.destroy(c,b)):d&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(d,null,b,{opaque:e})})),f&&(this.body=null,h.destroy(f,b))}}a.exports=function a(b,c,d){if(void 0===d)return new Promise((d,e)=>{a.call(this,b,c,(a,b)=>a?e(a):d(b))});try{let a=new l(b,c,d);this.dispatch(b,a)}catch(c){if("function"!=typeof d)throw c;let a=b?.opaque;queueMicrotask(()=>d(c,{opaque:a}))}}},27060:(a,b,c)=>{"use strict";let{isIP:d}=c(77030),{lookup:e}=c(40610),f=c(83204),{InvalidArgumentError:g,InformationalError:h}=c(61448);function i(a){return"string"==typeof a&&"host"===a.toLowerCase()}function j(a,b){let c=function(a){let b;if(null==a)return null;if(Array.isArray(a)){if(0===a.length||!Array.isArray(a[0]))return a;let b=[];for(let c of a)Array.isArray(c)&&2===c.length?b.push(c[0],c[1]):b.push(c);return b}if("object"==typeof a&&(b=Object.getPrototypeOf(a),Object.hasOwn(a,Symbol.iterator)||null!=b&&b!==Object.prototype&&"function"==typeof a[Symbol.iterator])){let b=[];for(let c of a)Array.isArray(c)&&2===c.length?b.push(c[0],c[1]):b.push(c);return b}return a}(b);return!function(a){if(null==a)return!1;if(Array.isArray(a)){if(0===a.length)return!1;for(let b=0;b<a.length;b+=2)if(i(a[b]))return!0;return!1}if("object"==typeof a){for(let b in a)if(i(b))return!0}return!1}(c)?Array.isArray(c)?["host",a,...c]:c&&"object"==typeof c?{host:a,...c}:{host:a}:c}class k{#t=0;#u=new Map;constructor(a){this.#t=a.maxItems}get size(){return this.#u.size}get(a){return this.#u.get(a)??null}set(a,b){this.#u.set(a,b)}delete(a){this.#u.delete(a)}full(){return this.size>=this.#t}}class l{#v=0;#t=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(a){this.#v=a.maxTTL,this.#t=a.maxItems,this.dualStack=a.dualStack,this.affinity=a.affinity,this.lookup=a.lookup??this.#w,this.pick=a.pick??this.#x,this.storage=a.storage??new k(a)}runLookup(a,b,c){let d=this.storage.get(a.hostname);if(null==d&&this.storage.full())return void c(null,a);let e={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...b.dns,maxTTL:this.#v,maxItems:this.#t};if(null==d)this.lookup(a,e,(b,d)=>{let f;if(b||null==d||0===d.length)return void c(b??new h("No DNS entries found"));this.setRecords(a,d);let g=this.storage.get(a.hostname),i=this.pick(a,g,e.affinity);f="number"==typeof i.port?`:${i.port}`:""!==a.port?`:${a.port}`:"",c(null,new URL(`${a.protocol}//${6===i.family?`[${i.address}]`:i.address}${f}`))});else{let f,g=this.pick(a,d,e.affinity);if(null==g){this.storage.delete(a.hostname),this.runLookup(a,b,c);return}f="number"==typeof g.port?`:${g.port}`:""!==a.port?`:${a.port}`:"",c(null,new URL(`${a.protocol}//${6===g.family?`[${g.address}]`:g.address}${f}`))}}#w(a,b,c){e(a.hostname,{all:!0,family:!1===this.dualStack?this.affinity:0,order:"ipv4first"},(a,b)=>{if(a)return c(a);let d=new Map;for(let a of b)d.set(`${a.address}:${a.family}`,a);c(null,d.values())})}#x(a,b,c){let d,e=null,{records:f,offset:g}=b;if(this.dualStack?(null==c&&(null==g||0x7fffffff===g?(b.offset=0,c=4):(b.offset++,c=(1&b.offset)==1?6:4)),d=null!=f[c]&&f[c].ips.length>0?f[c]:f[4===c?6:4]):d=f[c],null==d||0===d.ips.length)return e;null==d.offset||0x7fffffff===d.offset?d.offset=0:d.offset++;let h=d.offset%d.ips.length;return null==(e=d.ips[h]??null)?e:Date.now()-e.timestamp>e.ttl?(d.ips.splice(h,1),this.pick(a,b,c)):e}pickFamily(a,b){let c=this.storage.get(a.hostname)?.records;if(!c)return null;let d=c[b];if(!d)return null;null==d.offset||0x7fffffff===d.offset?d.offset=0:d.offset++;let e=d.offset%d.ips.length,f=d.ips[e]??null;return null==f||Date.now()-f.timestamp>f.ttl&&d.ips.splice(e,1),f}setRecords(a,b){let c=Date.now(),d={records:{4:null,6:null}},e=this.#v;for(let a of b){a.timestamp=c,"number"==typeof a.ttl?(a.ttl=Math.min(a.ttl,this.#v),e=Math.min(e,a.ttl)):a.ttl=this.#v;let b=d.records[a.family]??{ips:[]};b.ips.push(a),d.records[a.family]=b}this.storage.set(a.hostname,d,{ttl:e})}deleteRecords(a){this.storage.delete(a.hostname)}getHandler(a,b){return new m(this,a,b)}}class m extends f{#a=null;#y=null;#z=null;#A=null;#B=null;#C=null;#D=!0;constructor(a,{origin:b,handler:c,dispatch:d,newOrigin:e},f){super(c),this.#A=b,this.#C=e,this.#y={...f},this.#a=a,this.#z=d}onResponseError(a,b){switch(b.code){case"ETIMEDOUT":case"ECONNREFUSED":if(this.#a.dualStack){let c;if(!this.#D)return void super.onResponseError(a,b);this.#D=!1;let d="["===this.#C.hostname[0]?4:6,e=this.#a.pickFamily(this.#A,d);if(null==e)return void super.onResponseError(a,b);c="number"==typeof e.port?`:${e.port}`:""!==this.#A.port?`:${this.#A.port}`:"";let f={...this.#y,origin:`${this.#A.protocol}//${6===e.family?`[${e.address}]`:e.address}${c}`,headers:j(this.#A.host,this.#y.headers)};this.#z(f,this);return}super.onResponseError(a,b);break;case"ENOTFOUND":this.#a.deleteRecords(this.#A),super.onResponseError(a,b);break;default:super.onResponseError(a,b)}}}a.exports=a=>{let b;if(a?.maxTTL!=null&&("number"!=typeof a?.maxTTL||a?.maxTTL<0))throw new g("Invalid maxTTL. Must be a positive number");if(a?.maxItems!=null&&("number"!=typeof a?.maxItems||a?.maxItems<1))throw new g("Invalid maxItems. Must be a positive number and greater than zero");if(a?.affinity!=null&&a?.affinity!==4&&a?.affinity!==6)throw new g("Invalid affinity. Must be either 4 or 6");if(a?.dualStack!=null&&"boolean"!=typeof a?.dualStack)throw new g("Invalid dualStack. Must be a boolean");if(a?.lookup!=null&&"function"!=typeof a?.lookup)throw new g("Invalid lookup. Must be a function");if(a?.pick!=null&&"function"!=typeof a?.pick)throw new g("Invalid pick. Must be a function");if(a?.storage!=null&&("function"!=typeof a?.storage?.get||"function"!=typeof a?.storage?.set||"function"!=typeof a?.storage?.full||"function"!=typeof a?.storage?.delete))throw new g("Invalid storage. Must be a object with methods: { get, set, full, delete }");let c=a?.dualStack??!0;b=c?a?.affinity??null:a?.affinity??4;let e=new l({maxTTL:a?.maxTTL??1e4,lookup:a?.lookup??null,pick:a?.pick??null,dualStack:c,affinity:b,maxItems:a?.maxItems??1/0,storage:a?.storage});return a=>function(b,c){if(null==b.origin)return a(b,c);let f=b.origin.constructor===URL?b.origin:new URL(b.origin);return 0!==d(f.hostname)?a(b,c):(e.runLookup(f,b,(d,g)=>{if(d)return c.onResponseError(null,d);a({...b,servername:f.hostname,origin:g.origin,headers:j(f.host,b.headers)},e.getHandler({origin:f,dispatch:a,handler:c,newOrigin:g},b))}),!0)}}},27080:(a,b,c)=>{var d=c(45654);c(63070),c(76632),c(38627),c(49345),c(94463),c(29984),c(4554),c(33889);var e=function(a,b,c,e){var f=d.util.createBuffer(),g=a.length>>1,h=g+(1&a.length),i=a.substr(0,h),j=a.substr(g,h),k=d.util.createBuffer(),l=d.hmac.create();c=b+c;var m=Math.ceil(e/16),n=Math.ceil(e/20);l.start("MD5",i);var o=d.util.createBuffer();k.putBytes(c);for(var p=0;p<m;++p)l.start(null,null),l.update(k.getBytes()),k.putBuffer(l.digest()),l.start(null,null),l.update(k.bytes()+c),o.putBuffer(l.digest());l.start("SHA1",j);var q=d.util.createBuffer();k.clear(),k.putBytes(c);for(var p=0;p<n;++p)l.start(null,null),l.update(k.getBytes()),k.putBuffer(l.digest()),l.start(null,null),l.update(k.bytes()+c),q.putBuffer(l.digest());return f.putBytes(d.util.xorBytes(o.getBytes(),q.getBytes(),e)),f},f=function(a,b,c){var e=!1;try{var f=a.deflate(b.fragment.getBytes());b.fragment=d.util.createBuffer(f),b.length=f.length,e=!0}catch(a){}return e},g=function(a,b,c){var e=!1;try{var f=a.inflate(b.fragment.getBytes());b.fragment=d.util.createBuffer(f),b.length=f.length,e=!0}catch(a){}return e},h=function(a,b){var c=0;switch(b){case 1:c=a.getByte();break;case 2:c=a.getInt16();break;case 3:c=a.getInt24();break;case 4:c=a.getInt32()}return d.util.createBuffer(a.getBytes(c))},i=function(a,b,c){a.putInt(c.length(),b<<3),a.putBuffer(c)},j={};j.Versions={TLS_1_0:{major:3,minor:1},TLS_1_1:{major:3,minor:2},TLS_1_2:{major:3,minor:3}},j.SupportedVersions=[j.Versions.TLS_1_1,j.Versions.TLS_1_0],j.Version=j.SupportedVersions[0],j.MaxFragment=15360,j.ConnectionEnd={server:0,client:1},j.PRFAlgorithm={tls_prf_sha256:0},j.BulkCipherAlgorithm={none:null,rc4:0,des3:1,aes:2},j.CipherType={stream:0,block:1,aead:2},j.MACAlgorithm={none:null,hmac_md5:0,hmac_sha1:1,hmac_sha256:2,hmac_sha384:3,hmac_sha512:4},j.CompressionMethod={none:0,deflate:1},j.ContentType={change_cipher_spec:20,alert:21,handshake:22,application_data:23,heartbeat:24},j.HandshakeType={hello_request:0,client_hello:1,server_hello:2,certificate:11,server_key_exchange:12,certificate_request:13,server_hello_done:14,certificate_verify:15,client_key_exchange:16,finished:20},j.Alert={},j.Alert.Level={warning:1,fatal:2},j.Alert.Description={close_notify:0,unexpected_message:10,bad_record_mac:20,decryption_failed:21,record_overflow:22,decompression_failure:30,handshake_failure:40,bad_certificate:42,unsupported_certificate:43,certificate_revoked:44,certificate_expired:45,certificate_unknown:46,illegal_parameter:47,unknown_ca:48,access_denied:49,decode_error:50,decrypt_error:51,export_restriction:60,protocol_version:70,insufficient_security:71,internal_error:80,user_canceled:90,no_renegotiation:100},j.HeartbeatMessageType={heartbeat_request:1,heartbeat_response:2},j.CipherSuites={},j.getCipherSuite=function(a){var b=null;for(var c in j.CipherSuites){var d=j.CipherSuites[c];if(d.id[0]===a.charCodeAt(0)&&d.id[1]===a.charCodeAt(1)){b=d;break}}return b},j.handleUnexpected=function(a,b){(a.open||a.entity!==j.ConnectionEnd.client)&&a.error(a,{message:"Unexpected message. Received TLS record out of order.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unexpected_message}})},j.handleHelloRequest=function(a,b,c){!a.handshaking&&a.handshakes>0&&(j.queue(a,j.createAlert(a,{level:j.Alert.Level.warning,description:j.Alert.Description.no_renegotiation})),j.flush(a)),a.process()},j.parseHelloMessage=function(a,b,c){var e=null,f=a.entity===j.ConnectionEnd.client;if(c<38)a.error(a,{message:f?"Invalid ServerHello message. Message too short.":"Invalid ClientHello message. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});else{var g=b.fragment,i=g.length();if(e={version:{major:g.getByte(),minor:g.getByte()},random:d.util.createBuffer(g.getBytes(32)),session_id:h(g,1),extensions:[]},f?(e.cipher_suite=g.getBytes(2),e.compression_method=g.getByte()):(e.cipher_suites=h(g,2),e.compression_methods=h(g,1)),(i=c-(i-g.length()))>0){for(var k=h(g,2);k.length()>0;)e.extensions.push({type:[k.getByte(),k.getByte()],data:h(k,2)});if(!f)for(var l=0;l<e.extensions.length;++l){var m=e.extensions[l];if(0===m.type[0]&&0===m.type[1])for(var n=h(m.data,2);n.length()>0&&0===n.getByte();)a.session.extensions.server_name.serverNameList.push(h(n,2).getBytes())}}if(a.session.version&&(e.version.major!==a.session.version.major||e.version.minor!==a.session.version.minor))return a.error(a,{message:"TLS version change is disallowed during renegotiation.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}});if(f)a.session.cipherSuite=j.getCipherSuite(e.cipher_suite);else for(var o=d.util.createBuffer(e.cipher_suites.bytes());o.length()>0&&(a.session.cipherSuite=j.getCipherSuite(o.getBytes(2)),null===a.session.cipherSuite););if(null===a.session.cipherSuite)return a.error(a,{message:"No cipher suites in common.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.handshake_failure},cipherSuite:d.util.bytesToHex(e.cipher_suite)});f?a.session.compressionMethod=e.compression_method:a.session.compressionMethod=j.CompressionMethod.none}return e},j.createSecurityParameters=function(a,b){var c=a.entity===j.ConnectionEnd.client,d=b.random.bytes(),e=c?a.session.sp.client_random:d,f=c?d:j.createRandom().getBytes();a.session.sp={entity:a.entity,prf_algorithm:j.PRFAlgorithm.tls_prf_sha256,bulk_cipher_algorithm:null,cipher_type:null,enc_key_length:null,block_length:null,fixed_iv_length:null,record_iv_length:null,mac_algorithm:null,mac_length:null,mac_key_length:null,compression_algorithm:a.session.compressionMethod,pre_master_secret:null,master_secret:null,client_random:e,server_random:f}},j.handleServerHello=function(a,b,c){var d=j.parseHelloMessage(a,b,c);if(!a.fail){if(!(d.version.minor<=a.version.minor))return a.error(a,{message:"Incompatible TLS version.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}});a.version.minor=d.version.minor,a.session.version=a.version;var e=d.session_id.bytes();e.length>0&&e===a.session.id?(a.expect=o,a.session.resuming=!0,a.session.sp.server_random=d.random.bytes()):(a.expect=k,a.session.resuming=!1,j.createSecurityParameters(a,d)),a.session.id=e,a.process()}},j.handleClientHello=function(a,b,c){var e,f=j.parseHelloMessage(a,b,c);if(!a.fail){var g=f.session_id.bytes(),h=null;if(a.sessionCache&&(null===(h=a.sessionCache.getSession(g))?g="":(h.version.major!==f.version.major||h.version.minor>f.version.minor)&&(h=null,g="")),0===g.length&&(g=d.random.getBytes(32)),a.session.id=g,a.session.clientHelloVersion=f.version,a.session.sp={},h)a.version=a.session.version=h.version,a.session.sp=h.sp;else{for(var i=1;i<j.SupportedVersions.length&&!((e=j.SupportedVersions[i]).minor<=f.version.minor);++i);a.version={major:e.major,minor:e.minor},a.session.version=a.version}null!==h?(a.expect=v,a.session.resuming=!0,a.session.sp.client_random=f.random.bytes()):(a.expect=!1!==a.verifyClient?s:t,a.session.resuming=!1,j.createSecurityParameters(a,f)),a.open=!0,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerHello(a)})),a.session.resuming?(j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.pending=j.createConnectionState(a),a.state.current.write=a.state.pending.write,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)}))):(j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificate(a)})),a.fail||(j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerKeyExchange(a)})),!1!==a.verifyClient&&j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificateRequest(a)})),j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createServerHelloDone(a)})))),j.flush(a),a.process()}},j.handleCertificate=function(a,b,c){if(c<3)return a.error(a,{message:"Invalid Certificate message. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var e,f,g={certificate_list:h(b.fragment,3)},i=[];try{for(;g.certificate_list.length()>0;)e=h(g.certificate_list,3),f=d.asn1.fromDer(e),e=d.pki.certificateFromAsn1(f,!0),i.push(e)}catch(b){return a.error(a,{message:"Could not parse certificate list.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate}})}var k=a.entity===j.ConnectionEnd.client;(k||!0===a.verifyClient)&&0===i.length?a.error(a,{message:k?"No server certificate provided.":"No client certificate provided.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}}):0===i.length?a.expect=k?l:t:(k?a.session.serverCertificate=i[0]:a.session.clientCertificate=i[0],j.verifyCertificateChain(a,i)&&(a.expect=k?l:t)),a.process()},j.handleServerKeyExchange=function(a,b,c){if(c>0)return a.error(a,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unsupported_certificate}});a.expect=m,a.process()},j.handleClientKeyExchange=function(a,b,c){if(c<48)return a.error(a,{message:"Invalid key parameters. Only RSA is supported.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unsupported_certificate}});var e={enc_pre_master_secret:h(b.fragment,2).getBytes()},f=null;if(a.getPrivateKey)try{f=a.getPrivateKey(a,a.session.serverCertificate),f=d.pki.privateKeyFromPem(f)}catch(b){a.error(a,{message:"Could not get private key.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}})}if(null===f)return a.error(a,{message:"No private key set.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}});try{var g=a.session.sp;g.pre_master_secret=f.decrypt(e.enc_pre_master_secret);var i=a.session.clientHelloVersion;if(i.major!==g.pre_master_secret.charCodeAt(0)||i.minor!==g.pre_master_secret.charCodeAt(1))throw Error("TLS version rollback attack detected.")}catch(a){g.pre_master_secret=d.random.getBytes(48)}a.expect=v,null!==a.session.clientCertificate&&(a.expect=u),a.process()},j.handleCertificateRequest=function(a,b,c){if(c<3)return a.error(a,{message:"Invalid CertificateRequest. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var d=b.fragment,e={certificate_types:h(d,1),certificate_authorities:h(d,2)};a.session.certificateRequest=e,a.expect=n,a.process()},j.handleCertificateVerify=function(a,b,c){if(c<2)return a.error(a,{message:"Invalid CertificateVerify. Message too short.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var e=b.fragment;e.read-=4;var f=e.bytes();e.read+=4;var g={signature:h(e,2).getBytes()},i=d.util.createBuffer();i.putBuffer(a.session.md5.digest()),i.putBuffer(a.session.sha1.digest()),i=i.getBytes();try{if(!a.session.clientCertificate.publicKey.verify(i,g.signature,"NONE"))throw Error("CertificateVerify signature does not match.");a.session.md5.update(f),a.session.sha1.update(f)}catch(b){return a.error(a,{message:"Bad signature in CertificateVerify.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.handshake_failure}})}a.expect=v,a.process()},j.handleServerHelloDone=function(a,b,c){if(c>0)return a.error(a,{message:"Invalid ServerHelloDone message. Invalid length.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.record_overflow}});if(null===a.serverCertificate){var e={message:"No server certificate provided. Not enough security.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.insufficient_security}},f=a.verify(a,e.alert.description,0,[]);if(!0!==f)return(f||0===f)&&("object"!=typeof f||d.util.isArray(f)?"number"==typeof f&&(e.alert.description=f):(f.message&&(e.message=f.message),f.alert&&(e.alert.description=f.alert))),a.error(a,e)}null!==a.session.certificateRequest&&(b=j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificate(a)}),j.queue(a,b)),b=j.createRecord(a,{type:j.ContentType.handshake,data:j.createClientKeyExchange(a)}),j.queue(a,b),a.expect=r;var g=function(a,b){null!==a.session.certificateRequest&&null!==a.session.clientCertificate&&j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createCertificateVerify(a,b)})),j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.pending=j.createConnectionState(a),a.state.current.write=a.state.pending.write,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)})),a.expect=o,j.flush(a),a.process()};if(null===a.session.certificateRequest||null===a.session.clientCertificate)return g(a,null);j.getClientSignature(a,g)},j.handleChangeCipherSpec=function(a,b){if(1!==b.fragment.getByte())return a.error(a,{message:"Invalid ChangeCipherSpec message received.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.illegal_parameter}});var c=a.entity===j.ConnectionEnd.client;(a.session.resuming&&c||!a.session.resuming&&!c)&&(a.state.pending=j.createConnectionState(a)),a.state.current.read=a.state.pending.read,(!a.session.resuming&&c||a.session.resuming&&!c)&&(a.state.pending=null),a.expect=c?p:w,a.process()},j.handleFinished=function(a,b,c){var f=b.fragment;f.read-=4;var g=f.bytes();f.read+=4;var h=b.fragment.getBytes();(f=d.util.createBuffer()).putBuffer(a.session.md5.digest()),f.putBuffer(a.session.sha1.digest());var i=a.entity===j.ConnectionEnd.client;if((f=e(a.session.sp.master_secret,i?"server finished":"client finished",f.getBytes(),12)).getBytes()!==h)return a.error(a,{message:"Invalid verify_data in Finished message.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.decrypt_error}});a.session.md5.update(g),a.session.sha1.update(g),(a.session.resuming&&i||!a.session.resuming&&!i)&&(j.queue(a,j.createRecord(a,{type:j.ContentType.change_cipher_spec,data:j.createChangeCipherSpec()})),a.state.current.write=a.state.pending.write,a.state.pending=null,j.queue(a,j.createRecord(a,{type:j.ContentType.handshake,data:j.createFinished(a)}))),a.expect=i?q:x,a.handshaking=!1,++a.handshakes,a.peerCertificate=i?a.session.serverCertificate:a.session.clientCertificate,j.flush(a),a.isConnected=!0,a.connected(a),a.process()},j.handleAlert=function(a,b){var c,d=b.fragment,e={level:d.getByte(),description:d.getByte()};switch(e.description){case j.Alert.Description.close_notify:c="Connection closed.";break;case j.Alert.Description.unexpected_message:c="Unexpected message.";break;case j.Alert.Description.bad_record_mac:c="Bad record MAC.";break;case j.Alert.Description.decryption_failed:c="Decryption failed.";break;case j.Alert.Description.record_overflow:c="Record overflow.";break;case j.Alert.Description.decompression_failure:c="Decompression failed.";break;case j.Alert.Description.handshake_failure:c="Handshake failure.";break;case j.Alert.Description.bad_certificate:c="Bad certificate.";break;case j.Alert.Description.unsupported_certificate:c="Unsupported certificate.";break;case j.Alert.Description.certificate_revoked:c="Certificate revoked.";break;case j.Alert.Description.certificate_expired:c="Certificate expired.";break;case j.Alert.Description.certificate_unknown:c="Certificate unknown.";break;case j.Alert.Description.illegal_parameter:c="Illegal parameter.";break;case j.Alert.Description.unknown_ca:c="Unknown certificate authority.";break;case j.Alert.Description.access_denied:c="Access denied.";break;case j.Alert.Description.decode_error:c="Decode error.";break;case j.Alert.Description.decrypt_error:c="Decrypt error.";break;case j.Alert.Description.export_restriction:c="Export restriction.";break;case j.Alert.Description.protocol_version:c="Unsupported protocol version.";break;case j.Alert.Description.insufficient_security:c="Insufficient security.";break;case j.Alert.Description.internal_error:c="Internal error.";break;case j.Alert.Description.user_canceled:c="User canceled.";break;case j.Alert.Description.no_renegotiation:c="Renegotiation not supported.";break;default:c="Unknown error."}if(e.description===j.Alert.Description.close_notify)return a.close();a.error(a,{message:c,send:!1,origin:a.entity===j.ConnectionEnd.client?"server":"client",alert:e}),a.process()},j.handleHandshake=function(a,b){var c=b.fragment,e=c.getByte(),f=c.getInt24();if(f>c.length())return a.fragmented=b,b.fragment=d.util.createBuffer(),c.read-=4,a.process();a.fragmented=null,c.read-=4;var g=c.bytes(f+4);c.read+=4,e in M[a.entity][a.expect]?(a.entity!==j.ConnectionEnd.server||a.open||a.fail||(a.handshaking=!0,a.session={version:null,extensions:{server_name:{serverNameList:[]}},cipherSuite:null,compressionMethod:null,serverCertificate:null,clientCertificate:null,md5:d.md.md5.create(),sha1:d.md.sha1.create()}),e!==j.HandshakeType.hello_request&&e!==j.HandshakeType.certificate_verify&&e!==j.HandshakeType.finished&&(a.session.md5.update(g),a.session.sha1.update(g)),M[a.entity][a.expect][e](a,b,f)):j.handleUnexpected(a,b)},j.handleApplicationData=function(a,b){a.data.putBuffer(b.fragment),a.dataReady(a),a.process()},j.handleHeartbeat=function(a,b){var c=b.fragment,e=c.getByte(),f=c.getInt16(),g=c.getBytes(f);if(e===j.HeartbeatMessageType.heartbeat_request){if(a.handshaking||f>g.length)return a.process();j.queue(a,j.createRecord(a,{type:j.ContentType.heartbeat,data:j.createHeartbeat(j.HeartbeatMessageType.heartbeat_response,g)})),j.flush(a)}else if(e===j.HeartbeatMessageType.heartbeat_response){if(g!==a.expectedHeartbeatPayload)return a.process();a.heartbeatReceived&&a.heartbeatReceived(a,d.util.createBuffer(g))}a.process()};var k=1,l=2,m=3,n=4,o=5,p=6,q=7,r=8,s=1,t=2,u=3,v=4,w=5,x=6,y=j.handleUnexpected,z=j.handleChangeCipherSpec,A=j.handleAlert,B=j.handleHandshake,C=j.handleApplicationData,D=j.handleHeartbeat,E=[];E[j.ConnectionEnd.client]=[[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[z,A,y,y,D],[y,A,B,y,D],[y,A,B,C,D],[y,A,B,y,D]],E[j.ConnectionEnd.server]=[[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[y,A,B,y,D],[z,A,y,y,D],[y,A,B,y,D],[y,A,B,C,D],[y,A,B,y,D]];var F=j.handleHelloRequest,G=j.handleServerHello,H=j.handleCertificate,I=j.handleServerKeyExchange,J=j.handleCertificateRequest,K=j.handleServerHelloDone,L=j.handleFinished,M=[];M[j.ConnectionEnd.client]=[[y,y,G,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,H,I,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,I,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,J,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,K,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,L],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[F,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y]];var N=j.handleClientHello,O=j.handleClientKeyExchange,P=j.handleCertificateVerify;M[j.ConnectionEnd.server]=[[y,N,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,H,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,O,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,P,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,L],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y],[y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y]],j.generateKeys=function(a,b){var c=b.client_random+b.server_random;a.session.resuming||(b.master_secret=e(b.pre_master_secret,"master secret",c,48).bytes(),b.pre_master_secret=null),c=b.server_random+b.client_random;var d=2*b.mac_key_length+2*b.enc_key_length,f=a.version.major===j.Versions.TLS_1_0.major&&a.version.minor===j.Versions.TLS_1_0.minor;f&&(d+=2*b.fixed_iv_length);var g=e(b.master_secret,"key expansion",c,d),h={client_write_MAC_key:g.getBytes(b.mac_key_length),server_write_MAC_key:g.getBytes(b.mac_key_length),client_write_key:g.getBytes(b.enc_key_length),server_write_key:g.getBytes(b.enc_key_length)};return f&&(h.client_write_IV=g.getBytes(b.fixed_iv_length),h.server_write_IV=g.getBytes(b.fixed_iv_length)),h},j.createConnectionState=function(a){var b=a.entity===j.ConnectionEnd.client,c=function(){var a={sequenceNumber:[0,0],macKey:null,macLength:0,macFunction:null,cipherState:null,cipherFunction:function(a){return!0},compressionState:null,compressFunction:function(a){return!0},updateSequenceNumber:function(){0xffffffff===a.sequenceNumber[1]?(a.sequenceNumber[1]=0,++a.sequenceNumber[0]):++a.sequenceNumber[1]}};return a},d={read:c(),write:c()};if(d.read.update=function(a,b){return d.read.cipherFunction(b,d.read)?d.read.compressFunction(a,b,d.read)||a.error(a,{message:"Could not decompress record.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.decompression_failure}}):a.error(a,{message:"Could not decrypt record or bad MAC.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_record_mac}}),!a.fail},d.write.update=function(a,b){return d.write.compressFunction(a,b,d.write)?d.write.cipherFunction(b,d.write)||a.error(a,{message:"Could not encrypt record.",send:!1,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}):a.error(a,{message:"Could not compress record.",send:!1,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}),!a.fail},a.session){var e=a.session.sp;switch(a.session.cipherSuite.initSecurityParameters(e),e.keys=j.generateKeys(a,e),d.read.macKey=b?e.keys.server_write_MAC_key:e.keys.client_write_MAC_key,d.write.macKey=b?e.keys.client_write_MAC_key:e.keys.server_write_MAC_key,a.session.cipherSuite.initConnectionState(d,a,e),e.compression_algorithm){case j.CompressionMethod.none:break;case j.CompressionMethod.deflate:d.read.compressFunction=g,d.write.compressFunction=f;break;default:throw Error("Unsupported compression algorithm.")}}return d},j.createRandom=function(){var a=new Date,b=+a+6e4*a.getTimezoneOffset(),c=d.util.createBuffer();return c.putInt32(b),c.putBytes(d.random.getBytes(28)),c},j.createRecord=function(a,b){return b.data?{type:b.type,version:{major:a.version.major,minor:a.version.minor},length:b.data.length(),fragment:b.data}:null},j.createAlert=function(a,b){var c=d.util.createBuffer();return c.putByte(b.level),c.putByte(b.description),j.createRecord(a,{type:j.ContentType.alert,data:c})},j.createClientHello=function(a){a.session.clientHelloVersion={major:a.version.major,minor:a.version.minor};for(var b=d.util.createBuffer(),c=0;c<a.cipherSuites.length;++c){var e=a.cipherSuites[c];b.putByte(e.id[0]),b.putByte(e.id[1])}var f=b.length(),g=d.util.createBuffer();g.putByte(j.CompressionMethod.none);var h=g.length(),k=d.util.createBuffer();if(a.virtualHost){var l=d.util.createBuffer();l.putByte(0),l.putByte(0);var m=d.util.createBuffer();m.putByte(0),i(m,2,d.util.createBuffer(a.virtualHost));var n=d.util.createBuffer();i(n,2,m),i(l,2,n),k.putBuffer(l)}var o=k.length();o>0&&(o+=2);var p=a.session.id,q=p.length+1+2+4+28+2+f+1+h+o,r=d.util.createBuffer();return r.putByte(j.HandshakeType.client_hello),r.putInt24(q),r.putByte(a.version.major),r.putByte(a.version.minor),r.putBytes(a.session.sp.client_random),i(r,1,d.util.createBuffer(p)),i(r,2,b),i(r,1,g),o>0&&i(r,2,k),r},j.createServerHello=function(a){var b=a.session.id,c=b.length+1+2+4+28+2+1,e=d.util.createBuffer();return e.putByte(j.HandshakeType.server_hello),e.putInt24(c),e.putByte(a.version.major),e.putByte(a.version.minor),e.putBytes(a.session.sp.server_random),i(e,1,d.util.createBuffer(b)),e.putByte(a.session.cipherSuite.id[0]),e.putByte(a.session.cipherSuite.id[1]),e.putByte(a.session.compressionMethod),e},j.createCertificate=function(a){var b,c=a.entity===j.ConnectionEnd.client,e=null;a.getCertificate&&(b=c?a.session.certificateRequest:a.session.extensions.server_name.serverNameList,e=a.getCertificate(a,b));var f=d.util.createBuffer();if(null!==e)try{d.util.isArray(e)||(e=[e]);for(var g=null,h=0;h<e.length;++h){var k=d.pem.decode(e[h])[0];if("CERTIFICATE"!==k.type&&"X509 CERTIFICATE"!==k.type&&"TRUSTED CERTIFICATE"!==k.type){var l=Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw l.headerType=k.type,l}if(k.procType&&"ENCRYPTED"===k.procType.type)throw Error("Could not convert certificate from PEM; PEM is encrypted.");var m=d.util.createBuffer(k.body);null===g&&(g=d.asn1.fromDer(m.bytes(),!1));var n=d.util.createBuffer();i(n,3,m),f.putBuffer(n)}e=d.pki.certificateFromAsn1(g),c?a.session.clientCertificate=e:a.session.serverCertificate=e}catch(b){return a.error(a,{message:"Could not send certificate list.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate}})}var o=3+f.length(),p=d.util.createBuffer();return p.putByte(j.HandshakeType.certificate),p.putInt24(o),i(p,3,f),p},j.createClientKeyExchange=function(a){var b=d.util.createBuffer();b.putByte(a.session.clientHelloVersion.major),b.putByte(a.session.clientHelloVersion.minor),b.putBytes(d.random.getBytes(46));var c=a.session.sp;c.pre_master_secret=b.getBytes();var e=(b=a.session.serverCertificate.publicKey.encrypt(c.pre_master_secret)).length+2,f=d.util.createBuffer();return f.putByte(j.HandshakeType.client_key_exchange),f.putInt24(e),f.putInt16(b.length),f.putBytes(b),f},j.createServerKeyExchange=function(a){return d.util.createBuffer()},j.getClientSignature=function(a,b){var c=d.util.createBuffer();c.putBuffer(a.session.md5.digest()),c.putBuffer(a.session.sha1.digest()),c=c.getBytes(),a.getSignature=a.getSignature||function(a,b,c){var e=null;if(a.getPrivateKey)try{e=a.getPrivateKey(a,a.session.clientCertificate),e=d.pki.privateKeyFromPem(e)}catch(b){a.error(a,{message:"Could not get private key.",cause:b,send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}})}null===e?a.error(a,{message:"No private key set.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.internal_error}}):b=e.sign(b,null),c(a,b)},a.getSignature(a,c,b)},j.createCertificateVerify=function(a,b){var c=b.length+2,e=d.util.createBuffer();return e.putByte(j.HandshakeType.certificate_verify),e.putInt24(c),e.putInt16(b.length),e.putBytes(b),e},j.createCertificateRequest=function(a){var b=d.util.createBuffer();b.putByte(1);var c=d.util.createBuffer();for(var e in a.caStore.certs){var f=a.caStore.certs[e],g=d.pki.distinguishedNameToAsn1(f.subject),h=d.asn1.toDer(g);c.putInt16(h.length()),c.putBuffer(h)}var k=1+b.length()+2+c.length(),l=d.util.createBuffer();return l.putByte(j.HandshakeType.certificate_request),l.putInt24(k),i(l,1,b),i(l,2,c),l},j.createServerHelloDone=function(a){var b=d.util.createBuffer();return b.putByte(j.HandshakeType.server_hello_done),b.putInt24(0),b},j.createChangeCipherSpec=function(){var a=d.util.createBuffer();return a.putByte(1),a},j.createFinished=function(a){var b=d.util.createBuffer();b.putBuffer(a.session.md5.digest()),b.putBuffer(a.session.sha1.digest());var c=a.entity===j.ConnectionEnd.client;b=e(a.session.sp.master_secret,c?"client finished":"server finished",b.getBytes(),12);var f=d.util.createBuffer();return f.putByte(j.HandshakeType.finished),f.putInt24(b.length()),f.putBuffer(b),f},j.createHeartbeat=function(a,b,c){void 0===c&&(c=b.length);var e=d.util.createBuffer();e.putByte(a),e.putInt16(c),e.putBytes(b);var f=Math.max(16,e.length()-c-3);return e.putBytes(d.random.getBytes(f)),e},j.queue=function(a,b){if(b&&(0!==b.fragment.length()||b.type!==j.ContentType.handshake&&b.type!==j.ContentType.alert&&b.type!==j.ContentType.change_cipher_spec)){if(b.type===j.ContentType.handshake){var c,e=b.fragment.bytes();a.session.md5.update(e),a.session.sha1.update(e),e=null}if(b.fragment.length()<=j.MaxFragment)c=[b];else{c=[];for(var f=b.fragment.bytes();f.length>j.MaxFragment;)c.push(j.createRecord(a,{type:b.type,data:d.util.createBuffer(f.slice(0,j.MaxFragment))})),f=f.slice(j.MaxFragment);f.length>0&&c.push(j.createRecord(a,{type:b.type,data:d.util.createBuffer(f)}))}for(var g=0;g<c.length&&!a.fail;++g){var h=c[g];a.state.current.write.update(a,h)&&a.records.push(h)}}},j.flush=function(a){for(var b=0;b<a.records.length;++b){var c=a.records[b];a.tlsData.putByte(c.type),a.tlsData.putByte(c.version.major),a.tlsData.putByte(c.version.minor),a.tlsData.putInt16(c.fragment.length()),a.tlsData.putBuffer(a.records[b].fragment)}return a.records=[],a.tlsDataReady(a)};var Q=function(a){switch(a){case!0:return!0;case d.pki.certificateError.bad_certificate:return j.Alert.Description.bad_certificate;case d.pki.certificateError.unsupported_certificate:return j.Alert.Description.unsupported_certificate;case d.pki.certificateError.certificate_revoked:return j.Alert.Description.certificate_revoked;case d.pki.certificateError.certificate_expired:return j.Alert.Description.certificate_expired;case d.pki.certificateError.certificate_unknown:return j.Alert.Description.certificate_unknown;case d.pki.certificateError.unknown_ca:return j.Alert.Description.unknown_ca;default:return j.Alert.Description.bad_certificate}},R=function(a){switch(a){case!0:return!0;case j.Alert.Description.bad_certificate:return d.pki.certificateError.bad_certificate;case j.Alert.Description.unsupported_certificate:return d.pki.certificateError.unsupported_certificate;case j.Alert.Description.certificate_revoked:return d.pki.certificateError.certificate_revoked;case j.Alert.Description.certificate_expired:return d.pki.certificateError.certificate_expired;case j.Alert.Description.certificate_unknown:return d.pki.certificateError.certificate_unknown;case j.Alert.Description.unknown_ca:return d.pki.certificateError.unknown_ca;default:return d.pki.certificateError.bad_certificate}};for(var S in j.verifyCertificateChain=function(a,b){try{var c={};for(var e in a.verifyOptions)c[e]=a.verifyOptions[e];c.verify=function(b,c,e){Q(b);var f=a.verify(a,b,c,e);if(!0!==f){if("object"==typeof f&&!d.util.isArray(f)){var g=Error("The application rejected the certificate.");throw g.send=!0,g.alert={level:j.Alert.Level.fatal,description:j.Alert.Description.bad_certificate},f.message&&(g.message=f.message),f.alert&&(g.alert.description=f.alert),g}f!==b&&(f=R(f))}return f},d.pki.verifyCertificateChain(a.caStore,b,c)}catch(b){var f=b;("object"!=typeof f||d.util.isArray(f))&&(f={send:!0,alert:{level:j.Alert.Level.fatal,description:Q(b)}}),"send"in f||(f.send=!0),"alert"in f||(f.alert={level:j.Alert.Level.fatal,description:Q(f.error)}),a.error(a,f)}return!a.fail},j.createSessionCache=function(a,b){var c=null;if(a&&a.getSession&&a.setSession&&a.order)c=a;else{for(var e in(c={}).cache=a||{},c.capacity=Math.max(b||100,1),c.order=[],a)c.order.length<=b?c.order.push(e):delete a[e];c.getSession=function(a){var b=null,e=null;if(a?e=d.util.bytesToHex(a):c.order.length>0&&(e=c.order[0]),null!==e&&e in c.cache){for(var f in b=c.cache[e],delete c.cache[e],c.order)if(c.order[f]===e){c.order.splice(f,1);break}}return b},c.setSession=function(a,b){if(c.order.length===c.capacity){var e=c.order.shift();delete c.cache[e]}var e=d.util.bytesToHex(a);c.order.push(e),c.cache[e]=b}}return c},j.createConnection=function(a){var b=null;b=a.caStore?d.util.isArray(a.caStore)?d.pki.createCaStore(a.caStore):a.caStore:d.pki.createCaStore();var c=a.cipherSuites||null;if(null===c)for(var e in c=[],j.CipherSuites)c.push(j.CipherSuites[e]);var f=a.server?j.ConnectionEnd.server:j.ConnectionEnd.client,g=a.sessionCache?j.createSessionCache(a.sessionCache):null,h={version:{major:j.Version.major,minor:j.Version.minor},entity:f,sessionId:a.sessionId,caStore:b,sessionCache:g,cipherSuites:c,connected:a.connected,virtualHost:a.virtualHost||null,verifyClient:a.verifyClient||!1,verify:a.verify||function(a,b,c,d){return b},verifyOptions:a.verifyOptions||{},getCertificate:a.getCertificate||null,getPrivateKey:a.getPrivateKey||null,getSignature:a.getSignature||null,input:d.util.createBuffer(),tlsData:d.util.createBuffer(),data:d.util.createBuffer(),tlsDataReady:a.tlsDataReady,dataReady:a.dataReady,heartbeatReceived:a.heartbeatReceived,closed:a.closed,error:function(b,c){c.origin=c.origin||(b.entity===j.ConnectionEnd.client?"client":"server"),c.send&&(j.queue(b,j.createAlert(b,c.alert)),j.flush(b));var d=!1!==c.fatal;d&&(b.fail=!0),a.error(b,c),d&&b.close(!1)},deflate:a.deflate||null,inflate:a.inflate||null};h.reset=function(a){h.version={major:j.Version.major,minor:j.Version.minor},h.record=null,h.session=null,h.peerCertificate=null,h.state={pending:null,current:null},h.entity,j.ConnectionEnd.client,h.expect=0,h.fragmented=null,h.records=[],h.open=!1,h.handshakes=0,h.handshaking=!1,h.isConnected=!1,h.fail=!(a||void 0===a),h.input.clear(),h.tlsData.clear(),h.data.clear(),h.state.current=j.createConnectionState(h)},h.reset();var i=function(a,b){var c=b.type-j.ContentType.change_cipher_spec,d=E[a.entity][a.expect];c in d?d[c](a,b):j.handleUnexpected(a,b)},k=function(a){var b=0,c=a.input,e=c.length();if(e<5)b=5-e;else{a.record={type:c.getByte(),version:{major:c.getByte(),minor:c.getByte()},length:c.getInt16(),fragment:d.util.createBuffer(),ready:!1};var f=a.record.version.major===a.version.major;f&&a.session&&a.session.version&&(f=a.record.version.minor===a.version.minor),f||a.error(a,{message:"Incompatible TLS version.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.protocol_version}})}return b},l=function(a){var b=0,c=a.input,d=c.length();return d<a.record.length?b=a.record.length-d:(a.record.fragment.putBytes(c.getBytes(a.record.length)),c.compact(),a.state.current.read.update(a,a.record)&&(null!==a.fragmented&&(a.fragmented.type===a.record.type?(a.fragmented.fragment.putBuffer(a.record.fragment),a.record=a.fragmented):a.error(a,{message:"Invalid fragmented record.",send:!0,alert:{level:j.Alert.Level.fatal,description:j.Alert.Description.unexpected_message}})),a.record.ready=!0)),b};return h.handshake=function(a){if(h.entity!==j.ConnectionEnd.client)h.error(h,{message:"Cannot initiate handshake as a server.",fatal:!1});else if(h.handshaking)h.error(h,{message:"Handshake already in progress.",fatal:!1});else{h.fail&&!h.open&&0===h.handshakes&&(h.fail=!1),h.handshaking=!0;var b=null;(a=a||"").length>0&&(h.sessionCache&&(b=h.sessionCache.getSession(a)),null===b&&(a="")),0===a.length&&h.sessionCache&&null!==(b=h.sessionCache.getSession())&&(a=b.id),h.session={id:a,version:null,cipherSuite:null,compressionMethod:null,serverCertificate:null,certificateRequest:null,clientCertificate:null,sp:{},md5:d.md.md5.create(),sha1:d.md.sha1.create()},b&&(h.version=b.version,h.session.sp=b.sp),h.session.sp.client_random=j.createRandom().getBytes(),h.open=!0,j.queue(h,j.createRecord(h,{type:j.ContentType.handshake,data:j.createClientHello(h)})),j.flush(h)}},h.process=function(a){var b=0;return a&&h.input.putBytes(a),h.fail||(null!==h.record&&h.record.ready&&h.record.fragment.isEmpty()&&(h.record=null),null===h.record&&(b=k(h)),h.fail||null===h.record||h.record.ready||(b=l(h)),!h.fail&&null!==h.record&&h.record.ready&&i(h,h.record)),b},h.prepare=function(a){return j.queue(h,j.createRecord(h,{type:j.ContentType.application_data,data:d.util.createBuffer(a)})),j.flush(h)},h.prepareHeartbeatRequest=function(a,b){return a instanceof d.util.ByteBuffer&&(a=a.bytes()),void 0===b&&(b=a.length),h.expectedHeartbeatPayload=a,j.queue(h,j.createRecord(h,{type:j.ContentType.heartbeat,data:j.createHeartbeat(j.HeartbeatMessageType.heartbeat_request,a,b)})),j.flush(h)},h.close=function(a){if(!h.fail&&h.sessionCache&&h.session){var b={id:h.session.id,version:h.session.version,sp:h.session.sp};b.sp.keys=null,h.sessionCache.setSession(b.id,b)}h.open&&(h.open=!1,h.input.clear(),(h.isConnected||h.handshaking)&&(h.isConnected=h.handshaking=!1,j.queue(h,j.createAlert(h,{level:j.Alert.Level.warning,description:j.Alert.Description.close_notify})),j.flush(h)),h.closed(h)),h.reset(a)},h},a.exports=d.tls=d.tls||{},j)"function"!=typeof j[S]&&(d.tls[S]=j[S]);d.tls.prf_tls1=e,d.tls.hmac_sha1=function(a,b,c){var e=d.hmac.create();e.start("SHA1",a);var f=d.util.createBuffer();return f.putInt32(b[0]),f.putInt32(b[1]),f.putByte(c.type),f.putByte(c.version.major),f.putByte(c.version.minor),f.putInt16(c.length),f.putBytes(c.fragment.bytes()),e.update(f.getBytes()),e.digest().getBytes()},d.tls.createSessionCache=j.createSessionCache,d.tls.createConnection=j.createConnection},27137:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(82009);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},27432:(a,b,c)=>{},27696:(a,b,c)=>{"use strict";c(19458),c(56294),c(42541),c(8735),c(43212)},28169:(a,b,c)=>{var d=c(45654);c(45518),c(76632),c(38627),c(4554),c(33889);var e=a.exports=d.ssh=d.ssh||{};function f(a,b){var c=b.toString(16);c[0]>="8"&&(c="00"+c);var e=d.util.hexToBytes(c);a.putInt32(e.length),a.putBytes(e)}function g(a,b){a.putInt32(b.length),a.putString(b)}function h(){for(var a=d.md.sha1.create(),b=arguments.length,c=0;c<b;++c)a.update(arguments[c]);return a.digest()}e.privateKeyToPutty=function(a,b,c){c=c||"";var e,i="ssh-rsa",j=""===(b=b||"")?"none":"aes256-cbc",k="PuTTY-User-Key-File-2: "+i+"\r\n";k+="Encryption: "+j+"\r\n",k+="Comment: "+c+"\r\n";var l=d.util.createBuffer();g(l,i),f(l,a.e),f(l,a.n);var m=d.util.encode64(l.bytes(),64),n=Math.floor(m.length/66)+1;k+="Public-Lines: "+n+"\r\n",k+=m;var o=d.util.createBuffer();if(f(o,a.d),f(o,a.p),f(o,a.q),f(o,a.qInv),b){var p=o.length()+16-1;p-=p%16;var q=h(o.bytes());q.truncate(q.length()-p+o.length()),o.putBuffer(q);var r=d.util.createBuffer();r.putBuffer(h("\0\0\0\0",b)),r.putBuffer(h("\0\0\0\x01",b));var s=d.aes.createEncryptionCipher(r.truncate(8),"CBC");s.start(d.util.createBuffer().fillWithByte(0,16)),s.update(o.copy()),s.finish();var t=s.output;t.truncate(16),e=d.util.encode64(t.bytes(),64)}else e=d.util.encode64(o.bytes(),64);k+="\r\nPrivate-Lines: "+(n=Math.floor(e.length/66)+1)+"\r\n",k+=e;var u=h("putty-private-key-file-mac-key",b),v=d.util.createBuffer();g(v,i),g(v,j),g(v,c),v.putInt32(l.length()),v.putBuffer(l),v.putInt32(o.length()),v.putBuffer(o);var w=d.hmac.create();return w.start("sha1",u),w.update(v.bytes()),k+="\r\nPrivate-MAC: "+w.digest().toHex()+"\r\n"},e.publicKeyToOpenSSH=function(a,b){var c="ssh-rsa";b=b||"";var e=d.util.createBuffer();return g(e,c),f(e,a.e),f(e,a.n),c+" "+d.util.encode64(e.bytes())+" "+b},e.privateKeyToOpenSSH=function(a,b){return b?d.pki.encryptRsaPrivateKey(a,b,{legacy:!0,algorithm:"aes128"}):d.pki.privateKeyToPem(a)},e.getPublicKeyFingerprint=function(a,b){var c=(b=b||{}).md||d.md.md5.create(),e=d.util.createBuffer();g(e,"ssh-rsa"),f(e,a.e),f(e,a.n),c.start(),c.update(e.getBytes());var h=c.digest();if("hex"===b.encoding){var i=h.toHex();return b.delimiter?i.match(/.{2}/g).join(b.delimiter):i}if("binary"===b.encoding)return h.getBytes();if(b.encoding)throw Error('Unknown encoding "'+b.encoding+'".');return h}},28477:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{o:()=>u});var e=c(69384),f=c(30395),g=c(8735),h=c(79499),i=c(21616),j=c(84238),k=c(42541),l=c(46956),m=c(74075),n=c.n(m);let a=null;if(!("u">typeof caches&&"object"==typeof caches||"u">typeof EdgeRuntime))try{a=await Promise.resolve().then(c.t.bind(c,73496,23))}catch{}let s="1"===process.env.CURSOR_STREAM_DEBUG,t=(...a)=>{s&&console.log(...a)};function o(a){let b=String(a||"").split("/").pop();return/^composer(?:-|$)/i.test(b)}function p(a){if(!a)return"";let b="</think>",c=a.lastIndexOf(b);return c<0?"":a.slice(c+b.length).trimStart()}function q(a,b){if(a.length>10&&123===a[0]&&34===a[1])try{if(a.toString("utf-8").startsWith('{"error"'))return t("[DECOMPRESS] Detected JSON error, skipping decompression"),a}catch{}if(1===b||2===b||3===b)try{return n().gunzipSync(a)}catch(c){try{return n().inflateSync(a)}catch(d){try{return n().inflateRawSync(a)}catch(e){t(`[DECOMPRESS ERROR] flags=${b}, payloadSize=${a.length}, gzip=${c.message}, deflate=${d.message}, raw=${e.message}`),t("[DECOMPRESS ERROR] First 50 bytes (hex):",a.slice(0,50).toString("hex"))}}}return a}function r(a){let b=a?.error?.details?.[0]?.debug?.details?.title||a?.error?.details?.[0]?.debug?.details?.detail||a?.error?.message||"API Error",c=a?.error?.code==="resource_exhausted";return new Response(JSON.stringify({error:{message:b,type:c?"rate_limit_error":"api_error",code:a?.error?.details?.[0]?.debug?.error||"unknown"}}),{status:c?g.gx.RATE_LIMITED:g.gx.BAD_REQUEST,headers:{"Content-Type":"application/json"}})}class u extends e.Hv{constructor(){super("cursor",f.xq.cursor)}buildUrl(){return`${this.config.baseUrl}${this.config.chatPath}`}buildHeaders(a){let b=a.accessToken,c=a.providerSpecificData?.machineId,d=a.providerSpecificData?.ghostMode!==!1;if(!c)throw Error("Machine ID is required for Cursor API");return(0,i.JA)(b,c,d)}transformRequest(a,b,c,d){let e=b.messages||[],f=b.tools||[],g=b.reasoning_effort||null,i=d?.rawHeaders?.["user-agent"]||"",j=i.includes("claude-cli")||i.includes("claude-code")||i.includes("Claude Code");return(0,h.yI)(e,a,f,g,j)}async makeFetchRequest(a,b,c,d,e=null){let f=await (0,l.F)(a,{method:"POST",headers:b,body:c,signal:d},e);return{status:f.status,headers:Object.fromEntries(f.headers.entries()),body:Buffer.from(await f.arrayBuffer())}}makeHttp2Request(b,c,d,e){if(!a)throw Error("http2 module not available");return new Promise((f,g)=>{let h=new URL(b),i=a.connect(`https://${h.host}`),j=[],k={},l=!1,m=a=>(...b)=>{l||(l=!0,clearTimeout(n),i.close(),a(...b))},n=setTimeout(m(()=>{g(Error("HTTP/2 request timed out"))}),6e4);i.on("error",m(g));let o=i.request({":method":"POST",":path":h.pathname,":authority":h.host,":scheme":"https",...c});if(o.on("response",a=>{k=a}),o.on("data",a=>{j.push(a)}),o.on("end",m(()=>{f({status:k[":status"],headers:k,body:Buffer.concat(j)})})),o.on("error",m(g)),e){let a=m(()=>g(Error("Request aborted")));e.addEventListener("abort",a,{once:!0})}o.write(d),o.end()})}async execute({model:b,body:c,stream:d,credentials:e,signal:f,log:h,proxyOptions:i=null}){let j=this.buildUrl(),k=this.buildHeaders(e),l=this.transformRequest(b,c,d,e);try{let e=i?.enabled===!0||i?.connectionProxyEnabled===!0||!!i?.vercelRelayUrl,g=a&&!e?await this.makeHttp2Request(j,k,l,f):await this.makeFetchRequest(j,k,l,f,i);if(200!==g.status){let a=g.body?.toString()||"Unknown error";return{response:new Response(JSON.stringify({error:{message:`[${g.status}]: ${a}`,type:"invalid_request_error",code:""}}),{status:g.status,headers:{"Content-Type":"application/json"}}),url:j,headers:k,transformedBody:c}}return{response:!1!==d?this.transformProtobufToSSE(g.body,b,c):this.transformProtobufToJSON(g.body,b,c),url:j,headers:k,transformedBody:c}}catch(a){return{response:new Response(JSON.stringify({error:{message:a.message,type:"connection_error",code:""}}),{status:g.gx.SERVER_ERROR,headers:{"Content-Type":"application/json"}}),url:j,headers:k,transformedBody:c}}}transformProtobufToJSON(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),f=0,i="",l="",m=[],n=new Map,s=new Set,u=0;for(t(`[CURSOR BUFFER] Total length: ${a.length} bytes`);f<a.length;){if(f+5>a.length){t(`[CURSOR BUFFER] Reached end, offset=${f}, remaining=${a.length-f}`);break}let b=a[f],c=a.readUInt32BE(f+1);if(t(`[CURSOR BUFFER] Frame ${u+1}: flags=0x${b.toString(16).padStart(2,"0")}, length=${c}`),f+5+c>a.length){t(`[CURSOR BUFFER] Incomplete frame, offset=${f}, length=${c}, buffer.length=${a.length}`);break}let d=a.slice(f+5,f+5+c);if(f+=5+c,u++,!(d=q(d,b))){t(`[CURSOR BUFFER] Frame ${u}: decompression failed, skipping`);continue}if(d.length>0&&123===d[0])try{let a=d.toString("utf-8");if(a.includes('"error"')){let b=i||n.size>0;if(t(`[CURSOR BUFFER] Error frame (hasContent=${b}): ${a.slice(0,500)}`),b)break;return r(JSON.parse(a))}}catch{}let e=(0,h.CP)(new Uint8Array(d));if(t(`[CURSOR DECODED] Frame ${u}:`,e),e.error){let a=i||n.size>0;if(t(`[CURSOR BUFFER] Decoded error (hasContent=${a}): ${e.error}`),a)break;return new Response(JSON.stringify({error:{message:e.error,type:"rate_limit_error",code:"rate_limited"}}),{status:g.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}})}if(e.toolCall){let a=e.toolCall;if(n.has(a.id)){let b=n.get(a.id);b.function.arguments+=a.function.arguments,b.isLast=a.isLast}else n.set(a.id,{...a});if(a.isLast){let b=n.get(a.id);s.add(a.id),m.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}})}}e.text&&(i+=e.text),e.thinking&&(l+=e.thinking)}let v=o(b)?p(l):"",w=i||v;for(let[a,b]of(t(`[CURSOR BUFFER] Parsed ${u} frames, toolCallsMap size: ${n.size}, finalized toolCalls: ${m.length}`),n.entries()))s.has(a)||(t(`[CURSOR BUFFER] Finalizing incomplete tool call: ${a}, isLast=${b.isLast}`),m.push({id:b.id,type:b.type,function:{name:b.function.name,arguments:b.function.arguments}}));t(`[CURSOR BUFFER] Final toolCalls count: ${m.length}`);let x={role:"assistant",content:w||null};m.length>0&&(x.tool_calls=m);let y=(0,j.OF)(c,w.length,k.h.OPENAI),z={id:d,object:"chat.completion",created:e,model:b,choices:[{index:0,message:x,finish_reason:m.length>0?"tool_calls":"stop"}],usage:y};return new Response(JSON.stringify(z),{status:200,headers:{"Content-Type":"application/json"}})}transformProtobufToSSE(a,b,c){let d=`chatcmpl-cursor-${Date.now()}`,e=Math.floor(Date.now()/1e3),f=[],i=0,l="",m="",n=0,s=[],u=new Map,v=new Set,w=new Set,x=0;for(t(`[CURSOR BUFFER SSE] Total length: ${a.length} bytes`);i<a.length;){if(i+5>a.length){t(`[CURSOR BUFFER SSE] Reached end, offset=${i}, remaining=${a.length-i}`);break}let c=a[i],j=a.readUInt32BE(i+1);if(t(`[CURSOR BUFFER SSE] Frame ${x+1}: flags=0x${c.toString(16).padStart(2,"0")}, length=${j}`),i+5+j>a.length){t(`[CURSOR BUFFER SSE] Incomplete frame, offset=${i}, length=${j}, buffer.length=${a.length}`);break}let k=a.slice(i+5,i+5+j);if(i+=5+j,x++,!(k=q(k,c))){t(`[CURSOR BUFFER SSE] Frame ${x}: decompression failed, skipping`);continue}if(123===k[0])try{let a=k.toString("utf-8");if(a.includes('"error"')){let b=f.length>0||l||u.size>0;if(t(`[CURSOR BUFFER SSE] Error frame (hasContent=${b}): ${a.slice(0,500)}`),b)break;return r(JSON.parse(a))}}catch{}let y=(0,h.CP)(new Uint8Array(k));if(t(`[CURSOR DECODED SSE] Frame ${x}:`,y),y.error){let a=f.length>0||l||u.size>0;if(t(`[CURSOR BUFFER SSE] Decoded error (hasContent=${a}): ${y.error}`),a)break;return new Response(JSON.stringify({error:{message:y.error,type:"rate_limit_error",code:"rate_limited"}}),{status:g.gx.RATE_LIMITED,headers:{"Content-Type":"application/json"}})}if(y.toolCall){let a=y.toolCall;if(0===f.length&&f.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{role:"assistant",content:""},finish_reason:null}]})}
308
308
 
309
309
  `),u.has(a.id)){let c=u.get(a.id);c.function.arguments.length,c.function.arguments+=a.function.arguments,c.isLast=a.isLast,a.function.arguments&&(w.add(a.id),f.push(`data: ${JSON.stringify({id:d,object:"chat.completion.chunk",created:e,model:b,choices:[{index:0,delta:{tool_calls:[{index:c.index,id:a.id,type:"function",function:{name:a.function.name,arguments:a.function.arguments}}]},finish_reason:null}]})}
310
310
 
@@ -345,7 +345,7 @@ ${e(h)}\r
345
345
  ${d.content}`:Array.isArray(d.content)&&d.content.unshift({type:"text",text:c}):a.messages.unshift({role:"system",content:c})}(h),f))void 0!==h[a]&&delete h[a];if(delete h.system,g=function(a){if("string"!=typeof a||""===a.trim())return null;let b=a.includes("/")?a.split("/").pop():a;return e.get(b)||e.get(b.toLowerCase())||null}(a),(g?.provider==="anthropic"||g?.upstreamProvider==="anthropic"||/(^|[-_/])(?:claude|anthropic)(?:[-_/]|$)/i.test(String(a||"")))&&(delete h.reasoning_effort,delete h.reasoning,delete h.thinking),Array.isArray(h?.messages))for(let a of h.messages)a&&"object"==typeof a&&(delete a.cache_control,Array.isArray(a.content)&&(a.content=a.content.map(a=>{if(!a||"object"!=typeof a)return a;let{cache_control:b,signature:c,...d}=a;return d})));Array.isArray(h?.tools)&&(h.tools=h.tools.map(a=>{if(!a||"object"!=typeof a)return a;let{cache_control:b,...c}=a;return c}));if(Array.isArray(h?.messages))for(let a of h.messages)a&&"assistant"===a.role&&"string"==typeof a.reasoning_content&&a.reasoning_content.length>8&&delete a.reasoning_content;return h}}},38929:(a,b,c)=>{"use strict";c.d(b,{A:()=>d});let d={id:"xai",alias:"xai",category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai",signupUrl:"https://x.ai"}},models:[{id:"grok-imagine-video",name:"Grok Imagine Video",type:"video",params:["duration","aspect_ratio","resolution"]}],serviceKinds:["llm","imageToText","webSearch","image","video"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},videoConfig:{baseUrl:"https://api.x.ai/v1/videos"},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}}},39065:(a,b,c)=>{"use strict";let{PoolStats:d}=c(19071),e=c(5318),f=c(50329),{kConnected:g,kSize:h,kRunning:i,kPending:j,kQueued:k,kBusy:l,kFree:m,kUrl:n,kClose:o,kDestroy:p,kDispatch:q}=c(49176),r=Symbol("clients"),s=Symbol("needDrain"),t=Symbol("queue"),u=Symbol("closed resolve"),v=Symbol("onDrain"),w=Symbol("onConnect"),x=Symbol("onDisconnect"),y=Symbol("onConnectionError"),z=Symbol("get dispatcher"),A=Symbol("has dispatcher"),B=Symbol("add client"),C=Symbol("remove client");class D extends e{[t]=new f;[k]=0;[r]=[];[s]=!1;[v](a,b,c){let d=this[t],e=!1;for(;!e;){let b=d.shift();if(!b)break;this[k]--,e=!a.dispatch(b.opts,b.handler)}if(a[s]=e,!e&&this[s]&&(this[s]=!1,this.emit("drain",b,[this,...c])),this[u]&&d.isEmpty()){let a=[];for(let b=0;b<this[r].length;b++){let c=this[r][b];c.destroyed||a.push(c.close())}return Promise.all(a).then(this[u])}}[w]=(a,b)=>{this.emit("connect",a,[this,...b])};[x]=(a,b,c)=>{this.emit("disconnect",a,[this,...b],c)};[y]=(a,b,c)=>{this.emit("connectionError",a,[this,...b],c)};get[l](){return this[s]}get[g](){let a=0;for(let{[g]:b}of this[r])a+=b;return a}get[m](){let a=0;for(let{[g]:b,[s]:c}of this[r])a+=b&&!c;return a}get[j](){let a=this[k];for(let{[j]:b}of this[r])a+=b;return a}get[i](){let a=0;for(let{[i]:b}of this[r])a+=b;return a}get[h](){let a=this[k];for(let{[h]:b}of this[r])a+=b;return a}get stats(){return new d(this)}[o](){if(!this[t].isEmpty())return new Promise(a=>{this[u]=a});{let a=[];for(let b=0;b<this[r].length;b++){let c=this[r][b];c.destroyed||a.push(c.close())}return Promise.all(a)}}[p](a){for(;;){let b=this[t].shift();if(!b)break;b.handler.onResponseError(null,a)}let b=Array(this[r].length);for(let c=0;c<this[r].length;c++)b[c]=this[r][c].destroy(a);return Promise.all(b)}[q](a,b){let c=this[z]();return c?c.dispatch(a,b)||(c[s]=!0,this[s]=!this[A]()):(this[s]=!0,this[t].push({opts:a,handler:b}),this[k]++),!this[s]}[A](){for(let a=0;a<this[r].length;a++){let b=this[r][a];if(!b[s]&&!0!==b.closed&&!0!==b.destroyed)return!0}return!1}[B](a){return a.on("drain",this[v].bind(this,a)).on("connect",this[w]).on("disconnect",this[x]).on("connectionError",this[y]),this[r].push(a),this[s]&&queueMicrotask(()=>{this[s]&&this[v](a,a[n],[a,this])}),this}[C](a){let b=this[r].indexOf(a);-1!==b&&this[r].splice(b,1),a.close(()=>{}),this[s]=!this[r].some(a=>!a[s]&&!0!==a.closed&&!0!==a.destroyed)}}a.exports={PoolBase:D,kClients:r,kNeedDrain:s,kAddClient:B,kRemoveClient:C,kGetDispatcher:z,kHasDispatcher:A}},39804:(a,b,c)=>{var d=c(45654);c(45518),c(27080);var e=a.exports=d.tls;function f(a,b,c){var f=b.entity===d.tls.ConnectionEnd.client;a.read.cipherState={init:!1,cipher:d.cipher.createDecipher("AES-CBC",f?c.keys.server_write_key:c.keys.client_write_key),iv:f?c.keys.server_write_IV:c.keys.client_write_IV},a.write.cipherState={init:!1,cipher:d.cipher.createCipher("AES-CBC",f?c.keys.client_write_key:c.keys.server_write_key),iv:f?c.keys.client_write_IV:c.keys.server_write_IV},a.read.cipherFunction=j,a.write.cipherFunction=g,a.read.macLength=a.write.macLength=c.mac_length,a.read.macFunction=a.write.macFunction=e.hmac_sha1}function g(a,b){var c,f=!1,g=b.macFunction(b.macKey,b.sequenceNumber,a);a.fragment.putBytes(g),b.updateSequenceNumber(),c=a.version.minor===e.Versions.TLS_1_0.minor?b.cipherState.init?null:b.cipherState.iv:d.random.getBytesSync(16),b.cipherState.init=!0;var i=b.cipherState.cipher;return i.start({iv:c}),a.version.minor>=e.Versions.TLS_1_1.minor&&i.output.putBytes(c),i.update(a.fragment),i.finish(h)&&(a.fragment=i.output,a.length=a.fragment.length(),f=!0),f}function h(a,b,c){if(!c){var d=a-b.length()%a;b.fillWithByte(d-1,d)}return!0}function i(a,b,c){var d=!0;if(c){for(var e=b.length(),f=b.last(),g=e-1-f;g<e-1;++g)d=d&&b.at(g)==f;d&&b.truncate(f+1)}return d}function j(a,b){var c,f,g,h,j,k=!1;j=a.version.minor===e.Versions.TLS_1_0.minor?b.cipherState.init?null:b.cipherState.iv:a.fragment.getBytes(16),b.cipherState.init=!0;var l=b.cipherState.cipher;l.start({iv:j}),l.update(a.fragment),k=l.finish(i);var m=b.macLength,n=d.random.getBytesSync(m),o=l.output.length();o>=m?(a.fragment=l.output.getBytes(o-m),n=l.output.getBytes(m)):a.fragment=l.output.getBytes(),a.fragment=d.util.createBuffer(a.fragment),a.length=a.fragment.length();var p=b.macFunction(b.macKey,b.sequenceNumber,a);return b.updateSequenceNumber(),k=(c=b.macKey,f=n,g=p,(h=d.hmac.create()).start("SHA1",c),h.update(f),f=h.digest().getBytes(),h.start(null,null),h.update(g),f===(g=h.digest().getBytes())&&k)}e.CipherSuites.TLS_RSA_WITH_AES_128_CBC_SHA={id:[0,47],name:"TLS_RSA_WITH_AES_128_CBC_SHA",initSecurityParameters:function(a){a.bulk_cipher_algorithm=e.BulkCipherAlgorithm.aes,a.cipher_type=e.CipherType.block,a.enc_key_length=16,a.block_length=16,a.fixed_iv_length=16,a.record_iv_length=16,a.mac_algorithm=e.MACAlgorithm.hmac_sha1,a.mac_length=20,a.mac_key_length=20},initConnectionState:f},e.CipherSuites.TLS_RSA_WITH_AES_256_CBC_SHA={id:[0,53],name:"TLS_RSA_WITH_AES_256_CBC_SHA",initSecurityParameters:function(a){a.bulk_cipher_algorithm=e.BulkCipherAlgorithm.aes,a.cipher_type=e.CipherType.block,a.enc_key_length=32,a.block_length=16,a.fixed_iv_length=16,a.record_iv_length=16,a.mac_algorithm=e.MACAlgorithm.hmac_sha1,a.mac_length=20,a.mac_key_length=20},initConnectionState:f}},39852:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},40106:(a,b,c)=>{"use strict";let d=c(34589),e=c(77030),f=c(37067),g=c(84285),{ClientStats:h}=c(19071),{channels:i}=c(62571),j=c(76316),k=c(5318),{InvalidArgumentError:l,InformationalError:m,ClientDestroyedError:n}=c(61448),o=c(55285),{kUrl:p,kServerName:q,kClient:r,kBusy:s,kConnect:t,kResuming:u,kRunning:v,kPending:w,kSize:x,kQueue:y,kConnected:z,kConnecting:A,kNeedDrain:B,kKeepAliveDefaultTimeout:C,kHostHeader:D,kPendingIdx:E,kRunningIdx:F,kError:G,kPipelining:H,kKeepAliveTimeoutValue:I,kMaxHeadersSize:J,kKeepAliveMaxTimeout:K,kKeepAliveTimeoutThreshold:L,kHeadersTimeout:M,kBodyTimeout:N,kStrictContentLength:O,kConnector:P,kMaxRequests:Q,kCounter:R,kClose:S,kDestroy:T,kDispatch:U,kLocalAddress:V,kMaxResponseSize:W,kOnError:X,kHTTPContext:Y,kMaxConcurrentStreams:Z,kHostAuthority:$,kResume:_,kHTTP2Options:aa}=c(49176),ab=c(97678),ac=c(80985),ad=Symbol("kClosedResolve"),ae=f&&f.maxHeaderSize&&Number.isInteger(f.maxHeaderSize)&&f.maxHeaderSize>0?()=>f.maxHeaderSize:()=>{throw new l("http module not available or http.maxHeaderSize invalid")},af=()=>{},ag=!1;function ah(a){!0!==ag&&(process.emitWarning(`Use h2Options.${a} instead. ${a} for H2 will be deprecated in future major.`,{code:"UNDICI-H2-OPTIONS"}),ag=!0)}function ai(a){return a[Y]?.version==="h2"?a[Z]:a[H]??a[Y]?.defaultPipelining??1}class aj extends k{constructor(a,{maxHeaderSize:b,headersTimeout:c,socketTimeout:d,requestTimeout:f,connectTimeout:h,bodyTimeout:i,idleTimeout:j,keepAlive:k,keepAliveTimeout:m,maxKeepAliveTimeout:n,keepAliveMaxTimeout:r,keepAliveTimeoutThreshold:s,socketPath:t,pipelining:v,tls:w,strictContentLength:x,maxCachedSessions:z,connect:A,maxRequestsPerClient:G,localAddress:R,maxResponseSize:S,autoSelectFamily:T,autoSelectFamilyAttemptTimeout:U,maxConcurrentStreams:Z,allowH2:ab,useH2c:ac,initialWindowSize:af,connectionWindowSize:ag,pingInterval:ai,webSocket:aj,h2Options:al}={}){if(void 0!==k)throw new l("unsupported keepAlive, use pipelining=0 instead");if(void 0!==d)throw new l("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(void 0!==f)throw new l("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(void 0!==j)throw new l("unsupported idleTimeout, use keepAliveTimeout instead");if(void 0!==n)throw new l("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(null!=b){if(!Number.isInteger(b)||b<1)throw new l("invalid maxHeaderSize")}else b=ae();if(null!=t&&"string"!=typeof t)throw new l("invalid socketPath");if(null!=h&&(!Number.isFinite(h)||h<0))throw new l("invalid connectTimeout");if(null!=m&&(!Number.isFinite(m)||m<=0))throw new l("invalid keepAliveTimeout");if(null!=r&&(!Number.isFinite(r)||r<=0))throw new l("invalid keepAliveMaxTimeout");if(null!=s&&!Number.isFinite(s))throw new l("invalid keepAliveTimeoutThreshold");if(null!=c&&(!Number.isInteger(c)||c<0))throw new l("headersTimeout must be a positive integer or zero");if(null!=i&&(!Number.isInteger(i)||i<0))throw new l("bodyTimeout must be a positive integer or zero");if(null!=A&&"function"!=typeof A&&"object"!=typeof A)throw new l("connect must be a function or an object");if(null!=G&&(!Number.isInteger(G)||G<0))throw new l("maxRequestsPerClient must be a positive number");if(null!=R&&("string"!=typeof R||0===e.isIP(R)))throw new l("localAddress must be valid string IP address");if(null!=S&&(!Number.isInteger(S)||S<-1))throw new l("maxResponseSize must be a positive number");if(null!=U&&(!Number.isInteger(U)||U<-1))throw new l("autoSelectFamilyAttemptTimeout must be a positive number");if(null!=ab&&"boolean"!=typeof ab)throw new l("allowH2 must be a valid boolean value");if(!1!==ab)if(null!=al){if(null!=al.useH2c&&"boolean"!=typeof al.useH2c)throw new l("h2Options.useH2c must be a valid boolean value");if(al.settings?.initialWindowSize!=null&&(!Number.isInteger(al.settings.initialWindowSize)||al.settings.initialWindowSize<1))throw new l("h2Options.settings.initialWindowSize must be a positive integer, greater than 0");if(null!=al.maxConcurrentStreams&&(!Number.isInteger(al.connectionWindowSize)||al.maxConcurrentStreams<1))throw new l("h2Options.maxConcurrentStreams must be a positive integer, greater than 0");if(null!=al.connectionWindowSize&&(!Number.isInteger(al.connectionWindowSize)||al.connectionWindowSize<1))throw new l("h2Options.connectionWindowSize must be a positive integer, greater than 0");if(null!=al.pingInterval&&("number"!=typeof al.pingInterval||!Number.isInteger(al.pingInterval)||al.pingInterval<0))throw new l("h2Options.pingInterval must be a positive integer, greater or equal to 0")}else{if(null!=ac&&"boolean"!=typeof ac)throw ah("useH2c"),new l("useH2c must be a valid boolean value");if(null!=Z&&("number"!=typeof Z||Z<1))throw ah("maxConcurrentStreams"),new l("maxConcurrentStreams must be a positive integer, greater than 0");if(null!=af&&(!Number.isInteger(af)||af<1))throw ah("initialWindowSize"),new l("initialWindowSize must be a positive integer, greater than 0");if(null!=ag&&(!Number.isInteger(ag)||ag<1))throw ah("connectionWindowSize"),new l("connectionWindowSize must be a positive integer, greater than 0");if(null!=ai&&("number"!=typeof ai||!Number.isInteger(ai)||ai<0))throw ah("pingInterval"),new l("pingInterval must be a positive integer, greater or equal to 0")}if(super({webSocket:aj}),"function"!=typeof A)A=o({...w,maxCachedSessions:z,allowH2:ab,socketPath:t,useH2c:al?.useH2c??ac,timeout:h,..."boolean"==typeof T?{autoSelectFamily:T,autoSelectFamilyAttemptTimeout:U}:void 0,...A});else{const a=A;A=(b,c)=>a({...b,...null!=t?{socketPath:t}:null,...null!=ab?{allowH2:ab}:null},c)}this[p]=g.parseOrigin(a),this[$]=`${this[p].hostname}${this[p].port?`:${this[p].port}`:""}`,this[P]=A,this[H]=null!=v?v:1,this[J]=b,this[C]=null==m?4e3:m,this[K]=null==r?6e5:r,this[L]=null==s?2e3:s,this[I]=this[C],this[q]=null,this[V]=null!=R?R:null,this[u]=0,this[B]=0,this[D]=`host: ${this[$]}\r
346
346
  `,this[N]=null!=i?i:3e5,this[M]=null!=c?c:3e5,this[O]=null==x||x,this[Q]=G,this[ad]=null,this[W]=S>-1?S:-1,this[Y]=null,this[aa]={pingInterval:al?.pingInterval??ai??6e4,connectionWindowSize:al?.connectionWindowSize??ag??524288,maxConcurrentStreams:al?.maxConcurrentStreams??Z??100,sessionOptions:{initialWindowSize:al?.initialWindowSize??af??262144}},this[y]=[],this[F]=0,this[E]=0,this[_]=a=>ao(this,a),this[X]=a=>ak(this,a)}get pipelining(){return this[H]}set pipelining(a){this[H]=a,this[_](!0)}get stats(){return new h(this)}get[w](){return this[y].length-this[E]}get[v](){return this[E]-this[F]}get[x](){return this[y].length-this[F]}get[z](){return!!this[Y]&&!this[A]&&!this[Y].destroyed}get[s](){let a=this[Y]?.version==="h2";return!!(this[Y]?.busy(null)||this[x]>=(ai(this)||1)||this[w]>0&&!a)}[t](a){al(this),this.once("connect",a)}[U](a,b){let c=new j(this[p].origin,a,b);return this[y].push(c),this[u]||(null==g.bodyLength(c.body)&&g.isIterable(c.body)?(this[u]=1,queueMicrotask(()=>ao(this))):this[_](!0)),this[u]&&2!==this[B]&&this[s]&&(this[B]=2),this[B]<2}[S](){return new Promise(a=>{this[x]?this[ad]=a:a(null)})}[T](a){return new Promise(b=>{let c=this[y].splice(this[E]);for(let b=0;b<c.length;b++){let d=c[b];null!=d&&g.errorRequest(this,d,a)}let d=()=>{this[ad]&&(this[ad](),this[ad]=null),b(null)};this[Y]?(this[Y].destroy(a,d),this[Y]=null):queueMicrotask(d),this[_]()})}}function ak(a,b){if(0===a[v]&&"UND_ERR_INFO"!==b.code&&"UND_ERR_SOCKET"!==b.code){d(a[E]===a[F]);let c=a[y].splice(a[F]);for(let d=0;d<c.length;d++){let e=c[d];null!=e&&g.errorRequest(a,e,b)}d(0===a[x])}}function al(a){d(!a[A]),d(!a[Y]);let{host:b,hostname:c,protocol:f,port:h}=a[p];if("["===c[0]){let a=c.indexOf("]");d(-1!==a);let b=c.substring(1,a);d(e.isIPv6(b)),c=b}a[A]=!0,i.beforeConnect.hasSubscribers&&i.beforeConnect.publish({connectParams:{host:b,hostname:c,protocol:f,port:h,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P]});try{a[P]({host:b,hostname:c,protocol:f,port:h,servername:a[q],localAddress:a[V]},(e,j)=>{if(e){am(a,e,{host:b,hostname:c,protocol:f,port:h}),a[_]();return}if(a.destroyed){g.destroy(j.on("error",af),new n),a[_]();return}d(j);try{a[Y]="h2"===j.alpnProtocol?ac(a,j):ab(a,j)}catch(d){j.destroy().on("error",af),am(a,d,{host:b,hostname:c,protocol:f,port:h}),a[_]();return}a[A]=!1,j[R]=0,j[Q]=a[Q],j[r]=a,j[G]=null,i.connected.hasSubscribers&&i.connected.publish({connectParams:{host:b,hostname:c,protocol:f,port:h,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P],socket:j}),a.emit("connect",a[p],[a]),a[_]()})}catch(d){am(a,d,{host:b,hostname:c,protocol:f,port:h}),a[_]()}}function am(a,b,{host:c,hostname:d,protocol:e,port:f}){if(!a.destroyed){if(a[A]=!1,i.connectError.hasSubscribers&&i.connectError.publish({connectParams:{host:c,hostname:d,protocol:e,port:f,version:a[Y]?.version,servername:a[q],localAddress:a[V]},connector:a[P],error:b}),"ERR_TLS_CERT_ALTNAME_INVALID"===b.code){let c=a[y].splice(a[F],a[v]);a[E]=a[F];for(let d=0;d<c.length;d++)g.errorRequest(a,c[d],b);for(;a[w]>0&&a[y][a[E]].servername===a[q];){let c=a[y].splice(a[E],1)[0];g.errorRequest(a,c,b)}}else ak(a,b);a.emit("connectionError",a[p],[a],b)}}function an(a){a[B]=0,a.emit("drain",a[p],[a])}function ao(a,b){2!==a[u]&&(a[u]=2,function(a,b){for(;;){if(a.destroyed)return void d(0===a[w]);if(a[ad]&&!a[x]){a[ad](),a[ad]=null;return}if(a[Y]&&a[Y].resume(),a[s])a[B]=2;else if(2===a[B]){b?(a[B]=1,queueMicrotask(()=>an(a))):an(a);continue}if(0===a[w]||a[v]>=(ai(a)||1))return;let c=a[y][a[E]];if(null===c)return;if("https:"===a[p].protocol&&a[q]!==c.servername){if(a[v]>0)return;a[q]=c.servername,a[Y]?.destroy(new m("servername changed"),()=>{a[Y]=null,ao(a)})}if(a[A])return;if(!a[Y]){a[q]=c.servername,al(a);return}if(a[Y].destroyed||a[Y].busy(c))return;!c.aborted&&a[Y].write(c)?a[E]++:a[y].splice(a[E],1)}}(a,b),a[u]=0,a[F]>256&&(a[y].splice(0,a[F]),a[E]-=a[F],a[F]=0))}a.exports=aj},40603:(a,b,c)=>{"use strict";let{EventEmitter:d}=c(78474),{Buffer:e}=c(4573),{InvalidArgumentError:f,Socks5ProxyError:g}=c(61448),{debuglog:h}=c(57975),{parseAddress:i}=c(33297),j=h("undici:socks5"),k=e.alloc(0),l={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},m={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},n={IPV4:1,DOMAIN:3,IPV6:4},o={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},p={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",AUTHENTICATED:"authenticated",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"};class q extends d{constructor(a,b={}){if(super(),!a)throw new f("socket is required");this.socket=a,this.options=b,this.state=p.INITIAL,this.buffer=k,this.onSocketData=this.onData.bind(this),this.onSocketError=this.onError.bind(this),this.onSocketClose=this.onClose.bind(this),this.authMethods=[],b.username&&b.password&&this.authMethods.push(l.USERNAME_PASSWORD),this.authMethods.push(l.NO_AUTH),this.socket.on("data",this.onSocketData),this.socket.on("error",this.onSocketError),this.socket.on("close",this.onSocketClose)}onData(a){j("received data",a.length,"bytes in state",this.state),this.buffer=e.concat([this.buffer,a]);try{switch(this.state){case p.HANDSHAKING:this.handleHandshakeResponse();break;case p.AUTHENTICATING:this.handleAuthResponse();break;case p.CONNECTING:this.handleConnectResponse()}}catch(a){this.onError(a)}}onError(a){j("socket error",a),this.state=p.ERROR,this.emit("error",a),this.destroy()}onClose(){j("socket closed"),this.state=p.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}markAuthenticated(){this.state=p.AUTHENTICATED,this.emit("authenticated")}handshake(){if(this.state!==p.INITIAL)throw new f("Handshake already started");j("starting handshake with",this.authMethods.length,"auth methods"),this.state=p.HANDSHAKING;let a=e.alloc(2+this.authMethods.length);a[0]=5,a[1]=this.authMethods.length,this.authMethods.forEach((b,c)=>{a[2+c]=b}),this.socket.write(a)}handleHandshakeResponse(){if(this.buffer.length<2)return;let a=this.buffer[0],b=this.buffer[1];if(5!==a)throw new g(`Invalid SOCKS version: ${a}`,"UND_ERR_SOCKS5_VERSION");if(b===l.NO_ACCEPTABLE)throw new g("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),j("server selected auth method",b),b===l.NO_AUTH)this.markAuthenticated();else if(b===l.USERNAME_PASSWORD)this.state=p.AUTHENTICATING,this.sendAuthRequest();else throw new g(`Unsupported authentication method: ${b}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){let{username:a,password:b}=this.options;if(!a||!b)throw new f("Username and password required for authentication");j("sending username/password auth");let c=e.from(a),d=e.from(b);if(c.length>255||d.length>255)throw new f("Username or password too long");let g=e.alloc(3+c.length+d.length);g[0]=1,g[1]=c.length,c.copy(g,2),g[2+c.length]=d.length,d.copy(g,3+c.length),this.socket.write(g)}handleAuthResponse(){if(this.buffer.length<2)return;let a=this.buffer[0],b=this.buffer[1];if(1!==a)throw new g(`Invalid auth sub-negotiation version: ${a}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(0!==b)throw new g("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),j("authentication successful"),this.markAuthenticated()}connect(a,b){if(this.state===p.CONNECTING||this.state===p.CONNECTED)throw new f("Connection already in progress");if(this.state!==p.AUTHENTICATED)throw new f("Client must be authenticated before CONNECT");j("connecting to",a,b),this.state=p.CONNECTING;let c=this.buildConnectRequest(m.CONNECT,a,b);this.socket.write(c)}buildConnectRequest(a,b,c){let{type:d,buffer:f}=i(b),g=e.alloc(4+f.length+2);return g[0]=5,g[1]=a,g[2]=0,g[3]=d,f.copy(g,4),g.writeUInt16BE(c,4+f.length),g}handleConnectResponse(){let a;if(this.buffer.length<4)return;let b=this.buffer[0],c=this.buffer[1],d=this.buffer[3];if(5!==b)throw new g(`Invalid SOCKS version in reply: ${b}`,"UND_ERR_SOCKS5_REPLY_VERSION");let e=4;if(d===n.IPV4)e+=6;else if(d===n.DOMAIN){if(this.buffer.length<5)return;e+=1+this.buffer[4]+2}else if(d===n.IPV6)e+=18;else throw new g(`Invalid address type in reply: ${d}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<e)return;if(c!==o.SUCCEEDED){let a=this.getReplyErrorMessage(c);throw new g(`SOCKS5 connection failed: ${a}`,`UND_ERR_SOCKS5_REPLY_${c}`)}let f=4;if(d===n.IPV4)a=Array.from(this.buffer.subarray(f,f+4)).join("."),f+=4;else if(d===n.DOMAIN){let b=this.buffer[f];f+=1,a=this.buffer.subarray(f,f+b).toString(),f+=b}else if(d===n.IPV6){let b=[];for(let a=0;a<8;a++){let c=this.buffer.readUInt16BE(f+2*a);b.push(c.toString(16))}a=b.join(":"),f+=16}let h=this.buffer.readUInt16BE(f);this.buffer=k,this.state=p.CONNECTED,this.socket.removeListener("data",this.onSocketData),j("connected, bound address:",a,"port:",h),this.emit("connected",{address:a,port:h})}getReplyErrorMessage(a){switch(a){case o.GENERAL_FAILURE:return"General SOCKS server failure";case o.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case o.NETWORK_UNREACHABLE:return"Network unreachable";case o.HOST_UNREACHABLE:return"Host unreachable";case o.CONNECTION_REFUSED:return"Connection refused";case o.TTL_EXPIRED:return"TTL expired";case o.COMMAND_NOT_SUPPORTED:return"Command not supported";case o.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${a}`}}}a.exports={Socks5Client:q,AUTH_METHODS:l,COMMANDS:m,ADDRESS_TYPES:n,REPLY_CODES:o,STATES:p}},40784:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToCommandCode:()=>h});var d=c(56294),e=c(42541),f=c(55511);function g(a){if(null==a)return"";if("string"==typeof a)return a;if(Array.isArray(a)){let b=[];for(let c of a)"string"==typeof c?b.push(c):c&&"object"==typeof c&&"string"==typeof c.text&&b.push(c.text);return b.join("\n")}return String(a)}function h(a,b,c){let{messages:d,system:e}=function(a=[]){let b=[],c=[];for(let d of a){if(!d)continue;let a=d.role;if("system"===a){let a=g(d.content);a&&c.push(a);continue}if("tool"===a){let a="string"==typeof d.content?d.content:g(d.content);b.push({role:"tool",content:[{type:"tool-result",toolCallId:d.tool_call_id||"",toolName:d.name||"",output:{type:"text",value:a}}]});continue}if("assistant"===a){let a=[],c=g(d.content);if(c&&a.push({type:"text",text:c}),Array.isArray(d.tool_calls))for(let b of d.tool_calls){let c=b.function||{};a.push({type:"tool-call",toolCallId:b.id||"",toolName:c.name||"",input:function(a){if(null==a)return{};if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return{_raw:a}}}(c.arguments)})}b.push({role:"assistant",content:a.length?a:[{type:"text",text:""}]});continue}b.push({role:"user",content:function(a){if(null==a)return[{type:"text",text:""}];if("string"==typeof a)return[{type:"text",text:a}];if(Array.isArray(a)){let b=[];for(let c of a)if("string"==typeof c)b.push({type:"text",text:c});else if(c&&"object"==typeof c)if("text"===c.type&&"string"==typeof c.text)b.push({type:"text",text:c.text});else if("image_url"===c.type){let a="string"==typeof c.image_url?c.image_url:c.image_url?.url;a&&b.push({type:"image",image:a})}else if("image"===c.type&&c.source)if("base64"===c.source.type&&c.source.data){let a=c.source.media_type||"image/png";b.push({type:"image",image:`data:${a};base64,${c.source.data}`})}else"url"===c.source.type&&c.source.url&&b.push({type:"image",image:c.source.url});else"string"==typeof c.text&&b.push({type:"text",text:c.text});return b.length?b:[{type:"text",text:""}]}return[{type:"text",text:String(a)}]}(d.content)})}return{messages:b,system:c.join("\n\n")}}(b.messages),h={model:a,messages:d,stream:!1!==c,max_tokens:b.max_tokens??b.max_output_tokens??64e3,temperature:b.temperature??.3};e&&(h.system=e);let i=function(a){if(!Array.isArray(a)||0===a.length)return;let b=[];for(let c of a)c&&("function"===c.type&&c.function?b.push({name:c.function.name,description:c.function.description,input_schema:c.function.parameters||{type:"object"}}):c.name&&(c.input_schema||c.parameters)&&b.push({name:c.name,description:c.description,input_schema:c.input_schema||c.parameters}));return b.length?b:void 0}(b.tools);i&&(h.tools=i),null!=b.top_p&&(h.top_p=b.top_p);let j=new Date().toISOString().slice(0,10);return{threadId:(0,f.randomUUID)(),memory:"",config:{workingDir:process.cwd(),date:j,environment:process.platform,structure:[],isGitRepo:!1,currentBranch:"",mainBranch:"",gitStatus:"",recentCommits:[]},params:h}}(0,d.kz)(e.h.OPENAI,e.h.COMMANDCODE,h,null)},41222:(a,b,c)=>{"use strict";c.r(b),c.d(b,{claudeToOpenAIResponse:()=>g});var d=c(56294),e=c(42541);function f(a,b,c=null){return{id:`chatcmpl-${a.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}function g(a,b){if(!a)return null;let c=[];switch(a.type){case"message_start":b.messageId=a.message?.id||`msg_${Date.now()}`,b.model=a.message?.model,b.toolCallIndex=0,c.push(f(b,{role:"assistant"}));break;case"content_block_start":{let d=a.content_block;if(d?.type==="server_tool_use"){b.serverToolBlockIndex=a.index;break}if(d?.type==="text")b.textBlockStarted=!0;else if(d?.type==="thinking")b.inThinkingBlock=!0,b.currentBlockIndex=a.index,c.push(f(b,{content:"<think>"}));else if(d?.type==="tool_use"){let e=b.toolCallIndex++,g=b.toolNameMap?.get(d.name)||d.name,h={index:e,id:d.id,type:"function",function:{name:g,arguments:""}};b.toolCalls.set(a.index,h),c.push(f(b,{tool_calls:[h]}))}break}case"content_block_delta":{if(a.index===b.serverToolBlockIndex)break;let d=a.delta;if(d?.type==="text_delta"&&d.text)c.push(f(b,{content:d.text}));else if(d?.type==="thinking_delta"&&d.thinking)c.push(f(b,{reasoning_content:d.thinking}));else if(d?.type==="input_json_delta"&&d.partial_json){let e=b.toolCalls.get(a.index);e&&(e.function.arguments+=d.partial_json,c.push(f(b,{tool_calls:[{index:e.index,id:e.id,function:{arguments:d.partial_json}}]})))}break}case"content_block_stop":if(a.index===b.serverToolBlockIndex){b.serverToolBlockIndex=-1;break}b.inThinkingBlock&&a.index===b.currentBlockIndex&&(c.push(f(b,{content:"</think>"})),b.inThinkingBlock=!1),b.textBlockStarted=!1,b.thinkingBlockStarted=!1;break;case"message_delta":if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.input_tokens?a.usage.input_tokens:0,d="number"==typeof a.usage.output_tokens?a.usage.output_tokens:0,e="number"==typeof a.usage.cache_read_input_tokens?a.usage.cache_read_input_tokens:0,f="number"==typeof a.usage.cache_creation_input_tokens?a.usage.cache_creation_input_tokens:0,g=c+e+f;b.usage={prompt_tokens:g,completion_tokens:d,total_tokens:g+d,input_tokens:c,output_tokens:d},e>0&&(b.usage.cache_read_input_tokens=e),f>0&&(b.usage.cache_creation_input_tokens=f)}if(a.delta?.stop_reason){b.finishReason=function(a){switch(a){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(a.delta.stop_reason);let d={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:b.finishReason}]};if(b.usage){d.usage={prompt_tokens:b.usage.prompt_tokens,completion_tokens:b.usage.completion_tokens,total_tokens:b.usage.total_tokens};let a=b.usage.cache_read_input_tokens,c=b.usage.cache_creation_input_tokens;(a>0||c>0)&&(d.usage.prompt_tokens_details={},a>0&&(d.usage.prompt_tokens_details.cached_tokens=a),c>0&&(d.usage.prompt_tokens_details.cache_creation_tokens=c))}c.push(d),b.finishReasonSent=!0}break;case"message_stop":if(!b.finishReasonSent){let a=b.finishReason||(b.toolCalls?.size>0?"tool_calls":"stop"),d=b.usage&&"object"==typeof b.usage?{usage:{prompt_tokens:b.usage.input_tokens||0,completion_tokens:b.usage.output_tokens||0,total_tokens:(b.usage.input_tokens||0)+(b.usage.output_tokens||0)}}:{};c.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}],...d}),b.finishReasonSent=!0}}return c.length>0?c:null}(0,d.kz)(e.h.CLAUDE,e.h.OPENAI,null,g)},41310:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(39852),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(53859);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="zevai-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},41702:(a,b,c)=>{var d=c(45654);c(33889),d.mgf=d.mgf||{},(a.exports=d.mgf.mgf1=d.mgf1=d.mgf1||{}).create=function(a){return{generate:function(b,c){for(var e=new d.util.ByteBuffer,f=Math.ceil(c/a.digestLength),g=0;g<f;g++){var h=new d.util.ByteBuffer;h.putInt32(g),a.start(),a.update(b+h.getBytes()),e.putBuffer(a.digest())}return e.truncate(e.length()-c),e.getBytes()}}}},41815:(a,b,c)=>{"use strict";c.d(b,{$:()=>o});var d=c(69384),e=c(30395),f=c(11484);let g=e.xq["grok-web"].baseUrl,h={"grok-3":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3",isThinking:!1},"grok-3-mini":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3_MINI_THINKING",isThinking:!0},"grok-3-thinking":{grokModel:"grok-3",modelMode:"MODEL_MODE_GROK_3_THINKING",isThinking:!0},"grok-4":{grokModel:"grok-4",modelMode:"MODEL_MODE_GROK_4",isThinking:!1},"grok-4-mini":{grokModel:"grok-4-mini",modelMode:"MODEL_MODE_GROK_4_MINI_THINKING",isThinking:!0},"grok-4-thinking":{grokModel:"grok-4",modelMode:"MODEL_MODE_GROK_4_THINKING",isThinking:!0},"grok-4-heavy":{grokModel:"grok-4",modelMode:"MODEL_MODE_HEAVY",isThinking:!0},"grok-4.1-mini":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_MINI_THINKING",isThinking:!0},"grok-4.1-fast":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_FAST",isThinking:!1},"grok-4.1-expert":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_EXPERT",isThinking:!0},"grok-4.1-thinking":{grokModel:"grok-4-1-thinking-1129",modelMode:"MODEL_MODE_GROK_4_1_THINKING",isThinking:!0},"grok-4.2":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1},"grok-4.20-beta":{grokModel:"grok-420",modelMode:"MODEL_MODE_GROK_420",isThinking:!1}};function i(a,b=!1){let c=b?"abcdefghijklmnopqrstuvwxyz0123456789":"abcdefghijklmnopqrstuvwxyz",d="";for(let b=0;b<a;b++)d+=c[Math.floor(Math.random()*c.length)];return d}function j(a){let b=new Uint8Array(a);return crypto.getRandomValues(b),Array.from(b,a=>a.toString(16).padStart(2,"0")).join("")}async function*k(a,b){let c=a.getReader(),d=new TextDecoder,e="";try{for(;;){if(b?.aborted)return;let{value:a,done:f}=await c.read();if(f)break;for(e+=d.decode(a,{stream:!0});;){let a=e.indexOf("\n");if(a<0)break;let b=e.slice(0,a).trim();if(e=e.slice(a+1),b)try{yield JSON.parse(b)}catch{}}}let a=(e+=d.decode()).trim();if(a)try{yield JSON.parse(a)}catch{}}finally{c.releaseLock()}}async function*l(a,b,c){let d="",e="",f=!1;for await(let g of k(a,c)){if(g.error)return void(yield{error:g.error.message||`Grok error: ${g.error.code}`,done:!0});let a=g.result?.response;if(a){if(a.llmInfo?.modelHash&&!d&&(d=a.llmInfo.modelHash),a.responseId&&(e=a.responseId),a.modelResponse){let c=a.modelResponse;f&&b&&(c.message&&(yield{thinking:c.message}),f=!1),c.message&&(yield{fullMessage:c.message,fingerprint:d,responseId:e}),c.metadata?.llm_info?.modelHash&&(d=c.metadata.llm_info.modelHash);continue}null!=a.token&&(yield{delta:a.token,fingerprint:d,responseId:e})}}yield{done:!0,fingerprint:d,responseId:e}}function m(a){return`data: ${JSON.stringify(a)}
347
347
 
348
- `}async function n(a,b,c,d,e,f){let g="",h="",i=[];for await(let b of l(a,e,f)){if(b.fingerprint&&(h=b.fingerprint),b.error)return new Response(JSON.stringify({error:{message:b.error,type:"upstream_error",code:"GROK_ERROR"}}),{status:502,headers:{"Content-Type":"application/json"}});if(b.thinking){i.push(b.thinking);continue}if(b.done)break;b.fullMessage?g=b.fullMessage:b.delta&&(g+=b.delta)}let j={role:"assistant",content:g};i.length>0&&(j.reasoning_content=i.join("\n"));let k=Math.ceil(g.length/4),m=Math.ceil(g.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:h||null,choices:[{index:0,message:j,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:k,completion_tokens:m,total_tokens:k+m}}),{status:200,headers:{"Content-Type":"application/json"}})}class o extends d.Hv{constructor(){super("grok-web",e.xq["grok-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:k}){let o,p,q=b?.messages;if(!q||!Array.isArray(q)||0===q.length)return{response:new Response(JSON.stringify({error:{message:"Missing or empty messages array",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:g,headers:{},transformedBody:b};let r=h[a];r||k?.info?.("GROK-WEB",`Unmapped model ${a}, defaulting to grok-4.1-fast`);let{grokModel:s,modelMode:t,isThinking:u}=r||h["grok-4.1-fast"],v=function(a){let b=[];for(let c of a){let a=String(c.role||"user");"developer"===a&&(a="system");let d="";"string"==typeof c.content?d=c.content:Array.isArray(c.content)&&(d=c.content.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join(" ")),d.trim()&&b.push({role:a,text:d})}let c=-1;for(let a=b.length-1;a>=0;a--)if("user"===b[a].role){c=a;break}let d=[];for(let a=0;a<b.length;a++){let{role:e,text:f}=b[a];d.push(a===c?f:`${e}: ${f}`)}return d.join("\n\n")}(q);if(!v.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:g,headers:{},transformedBody:b};let w={temporary:!0,modelName:s,modelMode:t,message:v,fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!1,returnImageBytes:!1,returnRawGrokInXaiRequest:!1,enableImageStreaming:!1,imageGenerationCount:0,forceConcise:!1,toolOverrides:{},enableSideBySide:!0,sendFinalMetadata:!0,isReasoning:!1,disableTextFollowUps:!1,disableMemory:!0,forceSideBySide:!1,isAsyncChat:!1,disableSelfHarmShortCircuit:!1,deviceEnvInfo:{darkModeEnabled:!1,devicePixelRatio:2,screenWidth:2056,screenHeight:1329,viewportWidth:2056,viewportHeight:1083}},x=j(16),y=j(8),z={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Baggage:"sentry-environment=production,sentry-release=d6add6fb0460641fd482d767a335ef72b9b6abb8,sentry-public_key=b311e0f2690c81f25e2c4cf6d4f7ce1c","Cache-Control":"no-cache","Content-Type":"application/json",Origin:"https://grok.com",Pragma:"no-cache",Referer:"https://grok.com/","Sec-Ch-Ua":'"Google Chrome";v="136", "Chromium";v="136", "Not(A:Brand";v="24"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","x-statsig-id":btoa(.5>Math.random()?`e:TypeError: Cannot read properties of null (reading 'children["${i(5,!0)}"]')`:`e:TypeError: Cannot read properties of undefined (reading '${i(10)}')`),"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${x}-${y}-00`};if(d.apiKey){let a=d.apiKey;a.startsWith("sso=")&&(a=a.slice(4)),z.Cookie=`sso=${a}`}k?.info?.("GROK-WEB",`Query to ${a} (grok=${s}, mode=${t}), len=${v.length}`);try{o=await fetch(g,{method:"POST",headers:z,body:JSON.stringify(w),signal:e})}catch(a){return k?.error?.("GROK-WEB",`Fetch failed: ${a.message||String(a)}`),{response:new Response(JSON.stringify({error:{message:`Grok connection failed: ${a.message||String(a)}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w}}if(!o.ok){let a=o.status,b=`Grok returned HTTP ${a}`;return 401===a||403===a?b="Grok auth failed — SSO cookie may be expired. Re-paste your sso cookie value from grok.com.":429===a&&(b="Grok rate limited. Wait a moment and retry, or rotate cookies."),k?.warn?.("GROK-WEB",b),await (0,f.aI)(o),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w}}if(!o.body)return{response:new Response(JSON.stringify({error:{message:"Grok returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w};let A=`chatcmpl-grok-${crypto.randomUUID().slice(0,12)}`,B=Math.floor(Date.now()/1e3);if(c){var C;let b;p=new Response((C=o.body,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="";for await(let f of l(C,u,e)){if(f.fingerprint&&(d=f.fingerprint),f.error){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:`[Error: ${f.error}]`},finish_reason:null,logprobs:null}]})));break}if(f.thinking){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{reasoning_content:f.thinking},finish_reason:null,logprobs:null}]})));continue}if(f.done)break;f.delta&&c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:f.delta},finish_reason:null,logprobs:null}]})))}c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n"))}catch(d){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Stream error: ${d.message||String(d)}]`},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n"))}finally{c.close()}}})),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache","X-Accel-Buffering":"no"}})}else p=await n(o.body,a,A,B,u,e);return{response:p,url:g,headers:z,transformedBody:w}}}},42425:(a,b,c)=>{"use strict";let{Transform:d}=c(57075),e=c(38522),{redirectStatusSet:f,referrerPolicyTokens:g,badPortsSet:h}=c(19608),{getGlobalOrigin:i}=c(79412),{collectAnHTTPQuotedString:j,parseMIMEType:k}=c(16537),{performance:l}=c(643),{ReadableStreamFrom:m,isValidHTTPToken:n,normalizedMethodRecordsBase:o}=c(84285),p=c(34589),{isUint8Array:q}=c(73429),{webidl:r}=c(32984),{isomorphicEncode:s,collectASequenceOfCodePoints:t,removeChars:u}=c(70745);function v(a){let b=a.urlList,c=b.length;return 0===c?null:b[c-1].toString()}function w(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c>126||c<32)return!1}return!0}function x(a){return a.urlList[a.urlList.length-1]}function y(a){return!1===(" "===a[0]||" "===a[0]||" "===a[a.length-1]||" "===a[a.length-1]||a.includes("\n")||a.includes("\r")||a.includes("\0"))}function z(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function A(a,b=!1){return(p(r.is.URL(a)),J(a=new URL(a)))?"no-referrer":(a.username="",a.password="",a.hash="",!0===b&&(a.pathname="",a.search=""),a)}let B=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),C=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function D(a){return a.includes(":")?("["===a[0]&&"]"===a[a.length-1]&&(a=a.slice(1,-1)),C(a)):B(a)}function E(a){var b;return!!r.is.URL(a)&&("about:blank"===a.href||"about:srcdoc"===a.href||"data:"===a.protocol||"blob:"===a.protocol||null!=(b=a.origin)&&"null"!==b&&(!!("https:"===(b=new URL(b)).protocol||"wss:"===b.protocol||D(b.hostname)||"localhost"===b.hostname||"localhost."===b.hostname||b.hostname.endsWith(".localhost")||b.hostname.endsWith(".localhost."))||"file:"===b.protocol))}function F(a,b){return a.origin===b.origin&&"null"===a.origin||a.protocol===b.protocol&&a.hostname===b.hostname&&a.port===b.port}let G=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function H(a,b,c=0,d=1){class e{#ai;#aj;#ak;constructor(a,b){this.#ai=a,this.#aj=b,this.#ak=0}next(){let e;if("object"!=typeof this||this===null||!(#ai in this))throw TypeError(`'next' called on an object that does not implement interface ${a} Iterator.`);let f=this.#ak,g=b(this.#ai);if(f>=g.length)return{value:void 0,done:!0};let{[c]:h,[d]:i}=g[f];switch(this.#ak=f+1,this.#aj){case"key":e=h;break;case"value":e=i;break;case"key+value":e=[h,i]}return{value:e,done:!1}}}return delete e.prototype.constructor,Object.setPrototypeOf(e.prototype,G),Object.defineProperties(e.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${a} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(a,b){return new e(a,b)}}async function I(a,b,c){try{let d=[],e=0;for(;;){let{done:f,value:g}=await a.read();if(f)return void b(Buffer.concat(d,e));if(!q(g))return void c(TypeError("Received non-Uint8Array chunk"));d.push(g),e+=g.length}}catch(a){c(a)}}function J(a){p("protocol"in a);let b=a.protocol;return"about:"===b||"blob:"===b||"data:"===b}function K(a){return"string"==typeof a&&":"===a[5]&&"h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3]&&"s"===a[4]||"https:"===a.protocol}function L(a){p("protocol"in a);let b=a.protocol;return"http:"===b||"https:"===b}class M extends d{#al;constructor(a){super(),this.#al=a}_transform(a,b,c){if(!this._inflateStream){if(0===a.length)return void c();this._inflateStream=(15&a[0])==8?e.createInflate(this.#al):e.createInflateRaw(this.#al),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",a=>this.destroy(a))}this._inflateStream.write(a,b,c)}_final(a){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),a()}}function N(a,b){let c=b.get(a,!0);if(null===c)return null;let d={position:0},e=[],f="";for(;d.position<c.length;){if(f+=t(a=>'"'!==a&&","!==a,c,d),d.position<c.length)if(34===c.charCodeAt(d.position)){if(f+=j(c,d),d.position<c.length)continue}else p(44===c.charCodeAt(d.position)),d.position++;f=u(f,!0,!0,a=>9===a||32===a),e.push(f),f=""}return e}class O{get baseUrl(){return i()}get origin(){return this.baseUrl?.origin}policyContainer=z()}class P{settingsObject=new O}a.exports={isAborted:function(a){return"aborted"===a.controller.state},isCancelled:function(a){return"aborted"===a.controller.state||"terminated"===a.controller.state},isValidEncodedURL:w,ReadableStreamFrom:m,tryUpgradeRequestToAPotentiallyTrustworthyURL:function(a){},clampAndCoarsenConnectionTimingInfo:function(a,b,c){return!a?.startTime||a.startTime<b?{domainLookupStartTime:b,domainLookupEndTime:b,connectionStartTime:b,connectionEndTime:b,secureConnectionStartTime:b,ALPNNegotiatedProtocol:a?.ALPNNegotiatedProtocol}:{domainLookupStartTime:a.domainLookupStartTime,domainLookupEndTime:a.domainLookupEndTime,connectionStartTime:a.connectionStartTime,connectionEndTime:a.connectionEndTime,secureConnectionStartTime:a.secureConnectionStartTime,ALPNNegotiatedProtocol:a.ALPNNegotiatedProtocol}},coarsenedSharedCurrentTime:function(a){return l.now()},determineRequestsReferrer:function(a){let b=a.referrerPolicy;p(b);let c=null;if("client"===a.referrer){let a=i();if(!a||"null"===a.origin)return"no-referrer";c=new URL(a)}else r.is.URL(a.referrer)&&(c=a.referrer);let d=A(c),e=A(c,!0);switch(d.toString().length>4096&&(d=e),b){case"no-referrer":return"no-referrer";case"origin":if(null!=e)return e;return A(c,!0);case"unsafe-url":return d;case"strict-origin":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return e}case"strict-origin-when-cross-origin":{let b=x(a);if(F(d,b))return d;if(E(d)&&!E(b))return"no-referrer";return e}case"same-origin":if(F(a,d))return d;return"no-referrer";case"origin-when-cross-origin":if(F(a,d))return d;return e;case"no-referrer-when-downgrade":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return d}}},makePolicyContainer:z,clonePolicyContainer:function(a){return{referrerPolicy:a.referrerPolicy}},appendFetchMetadata:function(a){let b=null;b=a.mode,a.headersList.set("sec-fetch-mode",b,!0)},appendRequestOriginHeader:function(a){let b=a.origin;if("client"!==b&&void 0!==b){if("cors"===a.responseTainting||"websocket"===a.mode)a.headersList.append("origin",b,!0);else if("GET"!==a.method&&"HEAD"!==a.method){switch(a.referrerPolicy){case"no-referrer":b=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":a.origin&&K(a.origin)&&!K(x(a))&&(b=null);break;case"same-origin":F(a,x(a))||(b=null)}a.headersList.append("origin",b,!0)}}},TAOCheck:function(){return"success"},corsCheck:function(){return"success"},crossOriginResourcePolicyCheck:function(){return"allowed"},createOpaqueTimingInfo:function(a){return{startTime:a.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:a.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}},setRequestReferrerPolicyOnRedirect:function(a,b){let c=function(a){let b=(a.headersList.get("referrer-policy",!0)??"").split(","),c="";if(b.length)for(let a=b.length;0!==a;a--){let d=b[a-1].trim();if(g.has(d)){c=d;break}}return c}(b);""!==c&&(a.referrerPolicy=c)},isValidHTTPToken:n,requestBadPort:function(a){let b=x(a);return L(b)&&h.has(b.port)?"blocked":"allowed"},requestCurrentURL:x,responseURL:v,responseLocationURL:function(a,b){var c;if(!f.has(a.status))return null;let d=a.headersList.get("location",!0);return null!==d&&y(d)&&(w(d)||(c=d,d=Buffer.from(c,"binary").toString("utf8")),d=new URL(d,v(a))),d&&!d.hash&&(d.hash=b),d},isURLPotentiallyTrustworthy:E,isValidReasonPhrase:function(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(!(9===c||c>=32&&c<=126||c>=128&&c<=255))return!1}return!0},sameOrigin:F,normalizeMethod:function(a){return o[a.toLowerCase()]??a},iteratorMixin:function(a,b,c,d=0,e=1){let f=H(a,c,d,e),g={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(c,d=globalThis){if(r.brandCheck(this,b),r.argumentLengthCheck(arguments,1,`${a}.forEach`),"function"!=typeof c)throw TypeError(`Failed to execute 'forEach' on '${a}': parameter 1 is not of type 'Function'.`);for(let{0:a,1:b}of f(this,"key+value"))c.call(d,b,a,this)}}};return Object.defineProperties(b.prototype,{...g,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:g.entries.value}})},createIterator:H,isValidHeaderName:n,isValidHeaderValue:y,isErrorLike:function(a){return a instanceof Error||a?.constructor?.name==="Error"||a?.constructor?.name==="DOMException"},fullyReadBody:function(a,b,c){try{let d=a.stream.getReader();I(d,b,c)}catch(a){c(a)}},readableStreamClose:function(a){try{a.close(),a.byobRequest?.respond(0)}catch(a){if(!a.message.includes("Controller is already closed")&&!a.message.includes("ReadableStream is already closed"))throw a}},urlIsLocal:J,urlHasHttpsScheme:K,urlIsHttpHttpsScheme:L,readAllBytes:I,simpleRangeHeaderValue:function(a,b){if(!a.startsWith("bytes"))return"failure";let c={position:5};if(b&&t(a=>" "===a||" "===a,a,c),61!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let d=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),e=d.length?Number(d):null;if(b&&t(a=>" "===a||" "===a,a,c),45!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let f=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),g=f.length?Number(f):null;return c.position<a.length||null===g&&null===e||null!==e&&null!==g&&e>g?"failure":{rangeStartValue:e,rangeEndValue:g}},buildContentRange:function(a,b,c){let d="bytes ";return d+=s(`${a}`),d+="-",d+=s(`${b}`),d+="/",d+=s(`${c}`)},createInflate:function(a){return new M(a)},extractMimeType:function(a){let b=null,c=null,d=null,e=N("content-type",a);if(null===e)return"failure";for(let a of e){let e=k(a);"failure"!==e&&"*/*"!==e.essence&&((d=e).essence!==c?(b=null,d.parameters.has("charset")&&(b=d.parameters.get("charset")),c=d.essence):d.parameters.has("charset")||null===b||d.parameters.set("charset",b))}return null==d?"failure":d},getDecodeSplit:N,environmentSettingsObject:new P,isOriginIPPotentiallyTrustworthy:D,hasAuthenticationEntry:function(a){return!1},includesCredentials:function(a){return!!(a.username||a.password)},isTraversableNavigable:function(a){return null!=a&&"client"!==a&&"no-traversable"!==a}}},42430:(a,b,c)=>{"use strict";let{addAbortListener:d}=c(78474),{environmentSettingsObject:e,readableStreamClose:f}=c(42425),{states:g,opcodes:h,sentCloseFrameState:i}=c(62026),{webidl:j}=c(32984),{getURLRecord:k,isValidSubprotocol:l,isEstablished:m,utf8Decode:n}=c(94050),{establishWebSocketConnection:o,failWebsocketConnection:p,closeWebSocketConnection:q}=c(4654),{channels:r}=c(62571),{WebsocketFrameSend:s}=c(45221),{ByteParser:t}=c(64821),{WebSocketError:u,createUnvalidatedWebSocketError:v}=c(87404),{kEnumerableProperty:w}=c(84285),{utf8DecodeBytes:x}=c(67449),y=!1;class z{#am;#an;#ao;#ap;#aq;#ar;#as=!1;#at={onConnectionEstablished:(a,b)=>this.#au(a,b),onMessage:(a,b)=>this.#av(a,b),onParserError:a=>p(this.#at,null,a.message),onParserDrain:()=>this.#at.socket.resume(),onSocketData:a=>{this.#aw.write(a)||this.#at.socket.pause()},onSocketError:a=>{this.#at.readyState=g.CLOSING,r.socketError.hasSubscribers&&r.socketError.publish(a),this.#at.socket.destroy()},onSocketClose:()=>this.#ax(),onPing:()=>{},onPong:()=>{},readyState:g.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#aw;constructor(a,b){y||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),y=!0),j.argumentLengthCheck(arguments,1,"WebSocket"),a=j.converters.USVString(a),null!==b&&(b=j.converters.WebSocketStreamOptions(b));const c=k(a,e.settingsObject.baseUrl),f=b.protocols;if(f.length!==new Set(f.map(a=>a.toLowerCase())).size||f.length>0&&!f.every(a=>l(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#am=c.toString(),this.#an=Promise.withResolvers(),this.#ao=Promise.withResolvers(),null!=b.signal){const a=b.signal;if(a.aborted){this.#an.reject(a.reason),this.#ao.reject(a.reason);return}d(a,()=>{m(this.#at.readyState)||(p(this.#at),this.#at.readyState=g.CLOSING,this.#an.reject(a.reason),this.#ao.reject(a.reason),this.#as=!0)})}const h=e.settingsObject;this.#at.controller=o(c,f,h,this.#at,b)}get url(){return this.#am.toString()}get opened(){return this.#an.promise}get closed(){return this.#ao.promise}close(a){null!==a&&(a=j.converters.WebSocketCloseInfo(a));let b=a.closeCode??null,c=a.reason;q(this.#at,b,c,!0)}#ay(a){a=j.converters.WebSocketStreamWrite(a);let b=Promise.withResolvers(),c=null,d=null;if(j.is.BufferSource(a))c=new Uint8Array(ArrayBuffer.isView(a)?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):a.slice()),d=h.BINARY;else{let e;try{e=j.converters.DOMString(a)}catch(a){return b.reject(a),b.promise}c=new TextEncoder().encode(e),d=h.TEXT}if(!this.#at.closeState.has(i.SENT)&&!this.#at.closeState.has(i.RECEIVED)){let a=new s(c);this.#at.socket.write(a.createFrame(d),()=>{b.resolve(void 0)})}return b.promise}#au(a,b){this.#at.socket=a.socket;let c=this.#at.controller.dispatcher?.webSocketOptions?.maxFragments,d=this.#at.controller.dispatcher?.webSocketOptions?.maxPayloadSize,e=new t(this.#at,b,{maxFragments:c,maxPayloadSize:d});e.on("drain",()=>this.#at.onParserDrain()),e.on("error",a=>this.#at.onParserError(a)),this.#aw=e,this.#at.readyState=g.OPEN;let f=b??"",h=a.headersList.get("sec-websocket-protocol")??"",i=new ReadableStream({start:a=>{this.#aq=a},cancel:a=>this.#az(a)}),j=new WritableStream({write:a=>this.#ay(a),close:()=>q(this.#at,null,null),abort:a=>this.#aA(a)});this.#ap=i,this.#ar=j,this.#an.resolve({extensions:f,protocol:h,readable:i,writable:j})}#av(a,b){let c;if(this.#at.readyState===g.OPEN){if(a===h.TEXT)try{c=n(b)}catch{p(this.#at,1007,"Received invalid UTF-8 in text frame.");return}else a===h.BINARY&&(c=new Uint8Array(b.buffer,b.byteOffset,b.byteLength));this.#aq.enqueue(c)}}#ax(){let a=this.#at.closeState.has(i.SENT)&&this.#at.closeState.has(i.RECEIVED);if(this.#at.readyState=g.CLOSED,this.#as)return;this.#at.wasEverConnected||this.#an.reject(new u("Socket never opened"));let b=this.#aw?.closingInfo,c=b?.code??1005;this.#at.closeState.has(i.SENT)||this.#at.closeState.has(i.RECEIVED)||(c=1006);let d=b?.reason==null?"":x(Buffer.from(b.reason));if(a)f(this.#aq),this.#ar.locked||this.#ar.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#ao.resolve({closeCode:c,reason:d});else{let a=v("unclean close",c,d);this.#aq?.error(a),this.#ar?.abort(a),this.#ao.reject(a)}}#aA(a){let b=null,c="";j.is.WebSocketError(a)&&(b=a.closeCode,c=a.reason),q(this.#at,b,c)}#az(a){this.#aA(a)}}Object.defineProperties(z.prototype,{url:w,opened:w,closed:w,close:w,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}}),j.converters.WebSocketStreamOptions=j.dictionaryConverter([{key:"protocols",converter:j.sequenceConverter(j.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:j.nullableConverter(j.converters.AbortSignal),defaultValue:()=>null}]),j.converters.WebSocketCloseInfo=j.dictionaryConverter([{key:"closeCode",converter:a=>j.converters["unsigned short"](a,j.attributes.EnforceRange)},{key:"reason",converter:j.converters.USVString,defaultValue:()=>""}]),j.converters.WebSocketStreamWrite=function(a){return"string"==typeof a?j.converters.USVString(a):j.converters.BufferSource(a)},a.exports={WebSocketStream:z}},42541:(a,b,c)=>{"use strict";c.d(b,{h:()=>d});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama",COMMANDCODE:"commandcode"}},42671:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToAntigravityRequest:()=>z,openaiToGeminiCLIRequest:()=>x,openaiToGeminiRequest:()=>w});var d=c(56294),e=c(42541),f=c(65556),g=c(48991),h=c(15822),i=c(13324),j=c(93745);function k(a,b){if("string"!=typeof a||"string"!=typeof b)return!1;let c=a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*");return RegExp(`^${c}$`,"i").test(b)}let l={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},m={"claude-opus-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"kimi-k3":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},k3:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},"kimi-for-coding":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-for-coding-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},n={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},o={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:372e3,maxOutput:128e3},p={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},q={nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},codex:{"gpt-5.6-sol":o,"gpt-5.6-sol-review":o,"gpt-5.6-terra":p,"gpt-5.6-terra-review":p,"gpt-5.6-luna":p,"gpt-5.6-luna-review":p},kiro:{"gpt-5.6-sol":n,"gpt-5.6-terra":n,"gpt-5.6-luna":n,"gpt-5.6-sol-thinking":n,"gpt-5.6-terra-thinking":n,"gpt-5.6-luna-thinking":n,"gpt-5.6-sol-agentic":n,"gpt-5.6-terra-agentic":n,"gpt-5.6-luna-agentic":n,"gpt-5.6-sol-thinking-agentic":n,"gpt-5.6-terra-thinking-agentic":n,"gpt-5.6-luna-thinking-agentic":n},"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}},poolside:{"laguna-s-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3},"laguna-xs-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}}},r=[{pattern:"*claude*opus-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4.5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:64e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k3*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072}},{pattern:"*kimi*for-coding*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*laguna-s-2.1*free*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*laguna-s-2.1*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3}},{pattern:"*laguna*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function s(a){if(!a||"object"!=typeof a)return{};let b=Array.isArray(a.modalities?.input)?a.modalities.input:[],c=Array.isArray(a.modalities?.output)?a.modalities.output:[],d=Number(a.contextWindow??a.contextLength??a.maxInputTokens??a.limit?.context),e=Number(a.maxOutput??a.maxOutputTokens??a.limit?.output),f={...b.includes("image")?{vision:!0}:{},...b.includes("pdf")?{pdf:!0}:{},...b.includes("audio")?{audioInput:!0}:{},...b.includes("video")?{videoInput:!0}:{},...c.includes("image")?{imageOutput:!0}:{},...c.includes("audio")?{audioOutput:!0}:{}};return"boolean"==typeof a.reasoning&&(f.reasoning=a.reasoning),"boolean"==typeof a.tool_call&&(f.tools=a.tool_call),"boolean"==typeof a.tools&&(f.tools=a.tools),Number.isSafeInteger(d)&&d>0&&(f.contextWindow=d),Number.isSafeInteger(e)&&e>0&&(f.maxOutput=e),f}function t(){return crypto.randomUUID()}function u(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}function v(a,b,c,d=f.bf){let e={model:a,contents:[],generationConfig:{},safetySettings:i.fc};void 0!==b.temperature&&(e.generationConfig.temperature=b.temperature),void 0!==b.top_p&&(e.generationConfig.topP=b.top_p),void 0!==b.top_k&&(e.generationConfig.topK=b.top_k);let g=b.max_output_tokens??b.max_completion_tokens??b.max_tokens;void 0!==g&&(e.generationConfig.maxOutputTokens=g);let h={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if("assistant"===a.role&&a.tool_calls)for(let b of a.tool_calls)"function"===b.type&&b.id&&b.function?.name&&(h[b.id]=b.function.name)}let j={};if(b.messages&&Array.isArray(b.messages))for(let a of b.messages)"tool"===a.role&&a.tool_call_id&&(j[a.tool_call_id]=a.content);if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=b.messages[a],f=c.role,g=c.content;if("system"===f&&b.messages.length>1){let a="string"==typeof g?g:(0,i.kU)(g);a&&(e.systemInstruction||(e.systemInstruction={role:"user",parts:[]}),e.systemInstruction.parts.push({text:a}))}else if("user"===f||"system"===f&&1===b.messages.length){let a=(0,i.S6)(g);a.length>0&&e.contents.push({role:"user",parts:a})}else if("assistant"===f){let a=[];if(c.reasoning_content&&(a.push({thought:!0,text:c.reasoning_content}),a.push({thoughtSignature:d,text:""})),g){let b="string"==typeof g?g:(0,i.kU)(g);b&&a.push({text:b})}if(c.tool_calls&&Array.isArray(c.tool_calls)){let b=[];for(let e of c.tool_calls){if("function"!==e.type)continue;let c=(0,i.pT)(e.function?.arguments||"{}");a.push({thoughtSignature:d,functionCall:{id:e.id,name:u(e.function.name),args:c}}),b.push(e.id)}if(a.length>0&&e.contents.push({role:"model",parts:a}),b.some(a=>j[a])){let a=[];for(let c of b){if(!j[c])continue;let b=h[c];if(!b){let a=c.split("-");b=a.length>2?a.slice(0,-2).join("-"):c}let d=j[c],e=(0,i.pT)(d);null===e?e={result:d}:"object"!=typeof e&&(e={result:e}),a.push({functionResponse:{id:c,name:u(b),response:{result:e}}})}a.length>0&&e.contents.push({role:"user",parts:a})}}else a.length>0&&e.contents.push({role:"model",parts:a})}}if(b.tools&&Array.isArray(b.tools)&&b.tools.length>0){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=(0,i.Yr)(structuredClone(c.input_schema||{type:"object",properties:{}}));a.push({name:u(c.name),description:c.description||"",parameters:b})}else if("function"===c.type&&c.function){let b=c.function,d=(0,i.Yr)(structuredClone(b.parameters||{type:"object",properties:{}}));a.push({name:u(b.name),description:b.description||"",parameters:d})}a.length>0&&(e.tools=[{functionDeclarations:a}])}return e}function w(a,b,c){return v(a,b,c)}function x(a,b,c){let d=v(a,b,c,f.$G),e=function(a,b,c=null){if(!b)return{...l};let d=b.includes("/")?b.split("/").pop():b;if(a){let e=q[a];if(e?.[b])return{...l,...e[b],...s(c)};if(e?.[d])return{...l,...e[d],...s(c)}}if(m[d])return{...l,...m[d],...s(c)};if(m[b])return{...l,...m[b],...s(c)};for(let{pattern:a,caps:e}of r)if(k(a,d)||k(a,b))return{...l,...e,...s(c)};return{...l,...s(c)}}("gemini-cli",a);if(b.reasoning_effort){let c=String(b.reasoning_effort).toLowerCase();if(/gemini-3/i.test(a)){d.generationConfig.thinkingConfig={thinkingLevel:c,includeThoughts:!0};let a="high"===c?e.maxOutput:"medium"===c?Math.min(e.maxOutput,32768):Math.min(e.maxOutput,16384);d.generationConfig.maxOutputTokens=Math.max(Number(d.generationConfig.maxOutputTokens)||0,a)}else d.generationConfig.thinkingConfig={thinkingBudget:({none:0,low:1024,medium:8192,high:24576})[c]??8192,includeThoughts:!0}}if(b.thinking?.type==="enabled"&&b.thinking.budget_tokens&&(d.generationConfig.thinkingConfig={thinkingBudget:b.thinking.budget_tokens,includeThoughts:!0}),d.tools?.[0]?.functionDeclarations){for(let a of d.tools[0].functionDeclarations)if(a.parameters){let b=(0,i.Yr)(a.parameters);a.parameters=b}}return d}function y(a,b,c=null,d=!1){let e={project:c?.projectId||c?.providerSpecificData?.projectId||(0,i.w_)(),model:a,userAgent:d?"antigravity":"gemini-cli",requestId:d?`agent-${t()}`:(0,i.KZ)(),request:{sessionId:d?(0,j.RF)(c?.email||c?.connectionId):(0,i.f6)(),contents:b.contents,systemInstruction:b.systemInstruction,generationConfig:b.generationConfig,tools:b.tools}};if(d){e.requestType="agent";let a=[{text:g.$V},{text:`Please ignore the following [ignore]${g.$V}[/ignore]`}];e.request.systemInstruction?.parts?e.request.systemInstruction.parts.unshift(...a):e.request.systemInstruction={role:"user",parts:a}}else e.request.safetySettings=b.safetySettings;return b.tools?.length>0&&(e.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}}),e}function z(a,b,c,d=null){if(a.toLowerCase().includes("claude")){let e=(0,h.openaiToClaudeRequestForAntigravity)(a,b,c);return function(a,b,c=null){let d={project:c?.projectId||c?.providerSpecificData?.projectId||(0,i.w_)(),model:a,userAgent:"antigravity",requestId:`agent-${t()}`,requestType:"agent",request:{sessionId:(0,j.RF)(c?.email||c?.connectionId),contents:[],generationConfig:{temperature:b.temperature||1,maxOutputTokens:b.max_tokens||4096}}},e={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if(Array.isArray(a.content))for(let b of a.content)"tool_use"===b.type&&b.id&&b.name&&(e[b.id]=b.name)}if(b.messages&&Array.isArray(b.messages))for(let a of b.messages){let b=[];if(Array.isArray(a.content)){for(let c of a.content)if("text"===c.type)b.push({text:c.text});else if("tool_use"===c.type)b.push({functionCall:{id:c.id,name:u(c.name),args:c.input||{}}});else if("tool_result"===c.type){let a=c.content;Array.isArray(a)&&(a=a.map(a=>"text"===a.type?a.text:JSON.stringify(a)).join("\n"));let d=e[c.tool_use_id]?u(e[c.tool_use_id]):"tool";b.push({functionResponse:{id:c.tool_use_id,name:d,response:{result:(0,i.pT)(a)||a}}})}}else"string"==typeof a.content&&b.push({text:a.content});b.length>0&&d.request.contents.push({role:"assistant"===a.role?"model":"user",parts:b})}if(b.tools&&Array.isArray(b.tools)){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=(0,i.Yr)(c.input_schema);a.push({name:u(c.name),description:c.description||"",parameters:b})}a.length>0&&(d.request.tools=[{functionDeclarations:a}],d.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}})}let f=[{text:g.$V},{text:`Please ignore the following [ignore]${g.$V}[/ignore]`}];if(b.system)if(Array.isArray(b.system))for(let a of b.system)a.text&&f.push({text:a.text});else"string"==typeof b.system&&f.push({text:b.system});return d.request.systemInstruction?.parts?d.request.systemInstruction.parts.unshift(...f):d.request.systemInstruction={role:"user",parts:f},d}(a,e,d)}let e=x(a,b,c);return y(a,e,d,!0)}(0,d.kz)(e.h.OPENAI,e.h.GEMINI,w,null),(0,d.kz)(e.h.OPENAI,e.h.GEMINI_CLI,(a,b,c,d)=>y(a,x(a,b,c),d),null),(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,z,null)},42946:(a,b,c)=>{"use strict";c.d(b,{Az:()=>f,fO:()=>h});var d=c(55511),e=c(48991);function f(a){let b=a.tools;if(!b||0===b.length)return{body:a,toolNameMap:null};let c=a=>`${a}${e.uR}`,d=new Map,f=new Set,h=[];for(let a of b){let b=c(a.name);d.set(b,a.name),f.add(a.name),h.push({...a,name:b})}let i=[...h,...g],j=a.messages?.map(a=>{if(!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type?{...a,name:c(a.name)}:a);return{...a,content:b}}),k={...a,tools:i,messages:j||a.messages};return a.tool_choice?.type==="tool"&&f.has(a.tool_choice.name)&&(k.tool_choice={...a.tool_choice,name:c(a.tool_choice.name)}),{body:k,toolNameMap:d.size>0?d:null}}let g=[{name:"Task",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskOutput",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskStop",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskCreate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskGet",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskUpdate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskList",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Bash",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Glob",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Grep",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Read",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Edit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Write",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"NotebookEdit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebFetch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebSearch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"AskUserQuestion",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Skill",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"EnterPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"ExitPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}}];function h(a,b,c){let e,f,g,h,i,j;if(!b||!b.includes("sk-ant-oat"))return a;let k={...a},l={type:"text",text:(e=JSON.stringify(a),f=(0,d.createHash)("sha256").update(e).digest("hex").slice(0,5),g=(0,d.randomBytes)(2).toString("hex").slice(0,3),`x-anthropic-billing-header: cc_version=2.1.92.${g}; cc_entrypoint=sdk-cli; cch=${f};`)};return Array.isArray(k.system)?k.system[0]?.text?.startsWith("x-anthropic-billing-header:")||(k.system=[l,...k.system]):"string"==typeof k.system?k.system=[l,{type:"text",text:k.system}]:k.system=[l],k.metadata?.user_id||(k.metadata={...k.metadata,user_id:(h=(0,d.randomBytes)(32).toString("hex"),i=(0,d.randomUUID)(),j=c||(0,d.randomUUID)(),`{"device_id":"${h}","account_uuid":"${i}","session_id":"${j}"}`)}),k}},43086:(a,b,c)=>{"use strict";let d=c(5318),{kClose:e,kDestroy:f,kClosed:g,kDestroyed:h,kDispatch:i,kNoProxyAgent:j,kHttpProxyAgent:k,kHttpsProxyAgent:l}=c(49176),m=c(48841),n=c(37417),o={"http:":80,"https:":443};class p extends d{#aB=null;#aC=null;#y=null;constructor(a={}){super(),this.#y=a;const{httpProxy:b,httpsProxy:c,noProxy:d,...e}=a;this[j]=new n(e);const f=b??process.env.http_proxy??process.env.HTTP_PROXY;f?this[k]=new m({...e,uri:f}):this[k]=this[j];const g=c??process.env.https_proxy??process.env.HTTPS_PROXY;g?this[l]=new m({...e,uri:g}):this[l]=this[k],this.#aD()}[i](a,b){let c=new URL(a.origin);return this.#aE(c).dispatch(a,b)}[e](){return Promise.all([this[j].close(),!this[k][g]&&this[k].close(),!this[l][g]&&this[l].close()])}[f](a){return Promise.all([this[j].destroy(a),!this[k][h]&&this[k].destroy(a),!this[l][h]&&this[l].destroy(a)])}#aE(a){let{protocol:b,host:c,port:d}=a;return(c=c.replace(/:\d*$/,"").replace(/^\[(.+)\]$/,"$1").toLowerCase(),d=Number.parseInt(d,10)||o[b]||0,this.#aF(c,d))?"https:"===b?this[l]:this[k]:this[j]}#aF(a,b){if(this.#aG&&this.#aD(),0===this.#aC.length)return!0;if("*"===this.#aB)return!1;for(let c=0;c<this.#aC.length;c++){let d=this.#aC[c];if((!d.port||d.port===b)&&(a===d.hostname||a.slice(-(d.hostname.length+1))===`.${d.hostname}`))return!1}return!0}#aD(){let a=this.#y.noProxy??this.#aH,b=a.split(/[,\s]/),c=[];for(let a=0;a<b.length;a++){let d,e,f=b[a];if(!f)continue;let g=f.match(/^\[(.+)\]:(\d+)$/);if(g)d=g[1],e=Number.parseInt(g[2],10);else{let a=f.replace(/^\[(.+)\]$/,"$1"),b=1===(a.match(/:/g)||[]).length&&a.match(/^(.+):(\d+)$/);d=b?b[1]:a,e=b?Number.parseInt(b[2],10):0}c.push({hostname:d.replace(/^\*?\./,"").toLowerCase(),port:e})}this.#aB=a,this.#aC=c}get #aG(){return void 0===this.#y.noProxy&&this.#aB!==this.#aH}get #aH(){return process.env.no_proxy??process.env.NO_PROXY??""}}a.exports=p},43212:(a,b,c)=>{"use strict";c(56294),c(42541),c(51525),c(84238),c(92843),c(64323),new TextEncoder},43904:(a,b,c)=>{"use strict";let{kMockCallHistoryAddLog:d}=c(80830),{InvalidArgumentError:e}=c(61448);function f(a,b,c,d,f){switch(b.operator){case"OR":return d.push(...c(a,f)),d;case"AND":return c(a,d);default:throw new e("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function g(a){return(b,c=this.logs)=>{if("string"==typeof b||null==b)return c.filter(c=>c[a]===b);if(b instanceof RegExp)return c.filter(c=>b.test(c[a]));throw new e(`${a} parameter should be one of string, regexp, undefined or null`)}}class h{constructor(a={}){this.body=a.body,this.headers=a.headers,this.method=a.method;const b=function(a){try{let b=new URL(a.path,a.origin);if(0!==b.search.length)return b;return b.search=new URLSearchParams(a.query).toString(),b}catch(a){throw new e("An error occurred when computing MockCallHistoryLog.url",{cause:a})}}(a);this.fullUrl=b.toString(),this.origin=b.origin,this.path=b.pathname,this.searchParams=Object.fromEntries(b.searchParams),this.protocol=b.protocol,this.host=b.host,this.port=b.port,this.hash=b.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){let a="";return this.toMap().forEach((b,c)=>{("string"==typeof b||null==b)&&(a=`${a}${c}->${b}|`),("object"==typeof b&&null!==b||Array.isArray(b))&&(a=`${a}${c}->${JSON.stringify(b)}|`)}),a.slice(0,-1)}}class i{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(a){if("number"!=typeof a)throw new e("nthCall must be called with a number");if(!Number.isInteger(a))throw new e("nthCall must be called with an integer");if(1!==Math.sign(a))throw new e("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(a-1)}filterCalls(a,b){if(0===this.logs.length)return this.logs;if("function"==typeof a)return this.logs.filter(a);if(a instanceof RegExp)return this.logs.filter(b=>a.test(b.toString()));if("object"==typeof a&&null!==a){if(0===Object.keys(a).length)return this.logs;let c={operator:"OR",...function(a={}){let b={};if("operator"in a){if("string"!=typeof a.operator||"OR"!==a.operator.toUpperCase()&&"AND"!==a.operator.toUpperCase())throw new e("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...b,operator:a.operator.toUpperCase()}}return b}(b)},d="AND"===c.operator?this.logs:[];return"protocol"in a&&(d=f(a.protocol,c,this.filterCallsByProtocol,d,this.logs)),"host"in a&&(d=f(a.host,c,this.filterCallsByHost,d,this.logs)),"port"in a&&(d=f(a.port,c,this.filterCallsByPort,d,this.logs)),"origin"in a&&(d=f(a.origin,c,this.filterCallsByOrigin,d,this.logs)),"path"in a&&(d=f(a.path,c,this.filterCallsByPath,d,this.logs)),"hash"in a&&(d=f(a.hash,c,this.filterCallsByHash,d,this.logs)),"fullUrl"in a&&(d=f(a.fullUrl,c,this.filterCallsByFullUrl,d,this.logs)),"method"in a&&(d=f(a.method,c,this.filterCallsByMethod,d,this.logs)),[...new Set(d)]}throw new e("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=g.call(this,"protocol");filterCallsByHost=g.call(this,"host");filterCallsByPort=g.call(this,"port");filterCallsByOrigin=g.call(this,"origin");filterCallsByPath=g.call(this,"path");filterCallsByHash=g.call(this,"hash");filterCallsByFullUrl=g.call(this,"fullUrl");filterCallsByMethod=g.call(this,"method");clear(){this.logs=[]}[d](a){let b=new h(a);return this.logs.push(b),b}*[Symbol.iterator](){for(let a of this.calls())yield a}}a.exports.MockCallHistory=i,a.exports.MockCallHistoryLog=h},44089:(a,b,c)=>{"use strict";c(94026),c(15822),c(70884)},44991:(a,b,c)=>{"use strict";c.d(b,{D:()=>f});var d=c(50801),e=c(30395);class f extends d.L{constructor(){super("ollama-local")}buildUrl(a,b,c=0,d=null){return`${(0,e.Ak)(d)}/api/chat`}}},45221:(a,b,c)=>{"use strict";let{runtimeFeatures:d}=c(56758),{maxUnsigned16Bit:e,opcodes:f}=c(62026),g=null,h=8192,i=d.has("crypto")?c(77598).randomFillSync:null;function j(){return 8192===h&&(h=0,i(g??=Buffer.allocUnsafeSlow(8192),0,8192)),[g[h++],g[h++],g[h++],g[h++]]}class k{constructor(a){this.frameData=a}createFrame(a){let b=this.frameData,c=j(),d=b?.byteLength??0,f=d,g=6;d>e?(g+=8,f=127):d>125&&(g+=2,f=126);let h=Buffer.allocUnsafe(d+g);h[0]=h[1]=0,h[0]|=128,h[0]=(240&h[0])+a,h[g-4]=c[0],h[g-3]=c[1],h[g-2]=c[2],h[g-1]=c[3],h[1]=f,126===f?h.writeUInt16BE(d,2):127===f&&(h[2]=h[3]=0,h.writeUIntBE(d,4,6)),h[1]|=128;for(let a=0;a<d;++a)h[g+a]=b[a]^c[3&a];return h}static createFastTextFrame(a){let b=j(),c=a.length;for(let d=0;d<c;++d)a[d]^=b[3&d];let d=c,g=6;c>e?(g+=8,d=127):c>125&&(g+=2,d=126);let h=Buffer.allocUnsafeSlow(g);return h[0]=128|f.TEXT,h[1]=128|d,h[g-4]=b[0],h[g-3]=b[1],h[g-2]=b[2],h[g-1]=b[3],126===d?h.writeUInt16BE(c,2):127===d&&(h[2]=h[3]=0,h.writeUIntBE(c,4,6)),[h,a]}}a.exports={WebsocketFrameSend:k,generateMask:j}},45518:(a,b,c)=>{var d,e,f,g,h,i=c(45654);function j(a,b){i.cipher.registerAlgorithm(a,function(){return new i.aes.Algorithm(a,b)})}c(66568),c(19396),c(33889),a.exports=i.aes=i.aes||{},i.aes.startEncrypting=function(a,b,c,d){var e=o({key:a,output:c,decrypt:!1,mode:d});return e.start(b),e},i.aes.createEncryptionCipher=function(a,b){return o({key:a,output:null,decrypt:!1,mode:b})},i.aes.startDecrypting=function(a,b,c,d){var e=o({key:a,output:c,decrypt:!0,mode:d});return e.start(b),e},i.aes.createDecryptionCipher=function(a,b){return o({key:a,output:null,decrypt:!0,mode:b})},i.aes.Algorithm=function(a,b){k||l();var c=this;c.name=a,c.mode=new b({blockSize:16,cipher:{encrypt:function(a,b){return n(c._w,a,b,!1)},decrypt:function(a,b){return n(c._w,a,b,!0)}}}),c._init=!1},i.aes.Algorithm.prototype.initialize=function(a){if(!this._init){var b,c=a.key;if("string"==typeof c&&(16===c.length||24===c.length||32===c.length))c=i.util.createBuffer(c);else if(i.util.isArray(c)&&(16===c.length||24===c.length||32===c.length)){b=c,c=i.util.createBuffer();for(var d=0;d<b.length;++d)c.putByte(b[d])}if(!i.util.isArray(c)){b=c,c=[];var e=b.length();if(16===e||24===e||32===e){e>>>=2;for(var d=0;d<e;++d)c.push(b.getInt32())}}if(!i.util.isArray(c)||4!==c.length&&6!==c.length&&8!==c.length)throw Error("Invalid key parameter.");var f=-1!==["CFB","OFB","CTR","GCM"].indexOf(this.mode.name);this._w=m(c,a.decrypt&&!f),this._init=!0}},i.aes._expandKey=function(a,b){return k||l(),m(a,b)},i.aes._updateBlock=n,j("AES-ECB",i.cipher.modes.ecb),j("AES-CBC",i.cipher.modes.cbc),j("AES-CFB",i.cipher.modes.cfb),j("AES-OFB",i.cipher.modes.ofb),j("AES-CTR",i.cipher.modes.ctr),j("AES-GCM",i.cipher.modes.gcm);var k=!1;function l(){k=!0,f=[0,1,2,4,8,16,32,64,128,27,54];for(var a=Array(256),b=0;b<128;++b)a[b]=b<<1,a[b+128]=b+128<<1^283;d=Array(256),e=Array(256),g=[,,,,],h=[,,,,];for(var b=0;b<4;++b)g[b]=Array(256),h[b]=Array(256);for(var c,i,j,l,m,n,o,p=0,q=0,b=0;b<256;++b){l=(l=q^q<<1^q<<2^q<<3^q<<4)>>8^255&l^99,d[p]=l,e[l]=p,m=a[l],c=a[p],i=a[c],j=a[i],n=m<<24^l<<16^l<<8^(l^m),o=(c^i^j)<<24^(p^j)<<16^(p^i^j)<<8^(p^c^j);for(var r=0;r<4;++r)g[r][p]=n,h[r][l]=o,n=n<<24|n>>>8,o=o<<24|o>>>8;0===p?p=q=1:(p=c^a[a[a[c^j]]],q^=a[a[q]])}}function m(a,b){for(var c,e=a.slice(0),g=1,i=e.length,j=4*(i+6+1),k=i;k<j;++k)c=e[k-1],k%i==0?(c=d[c>>>16&255]<<24^d[c>>>8&255]<<16^d[255&c]<<8^d[c>>>24]^f[g]<<24,g++):i>6&&k%i==4&&(c=d[c>>>24]<<24^d[c>>>16&255]<<16^d[c>>>8&255]<<8^d[255&c]),e[k]=e[k-i]^c;if(b){var l,m=h[0],n=h[1],o=h[2],p=h[3],q=e.slice(0);j=e.length;for(var k=0,r=j-4;k<j;k+=4,r-=4)if(0===k||k===j-4)q[k]=e[r],q[k+1]=e[r+3],q[k+2]=e[r+2],q[k+3]=e[r+1];else for(var s=0;s<4;++s)l=e[r+s],q[k+(3&-s)]=m[d[l>>>24]]^n[d[l>>>16&255]]^o[d[l>>>8&255]]^p[d[255&l]];e=q}return e}function n(a,b,c,f){var i,j,k,l,m,n,o,p,q,r,s,t,u=a.length/4-1;f?(i=h[0],j=h[1],k=h[2],l=h[3],m=e):(i=g[0],j=g[1],k=g[2],l=g[3],m=d),n=b[0]^a[0],o=b[f?3:1]^a[1],p=b[2]^a[2],q=b[f?1:3]^a[3];for(var v=3,w=1;w<u;++w)r=i[n>>>24]^j[o>>>16&255]^k[p>>>8&255]^l[255&q]^a[++v],s=i[o>>>24]^j[p>>>16&255]^k[q>>>8&255]^l[255&n]^a[++v],t=i[p>>>24]^j[q>>>16&255]^k[n>>>8&255]^l[255&o]^a[++v],q=i[q>>>24]^j[n>>>16&255]^k[o>>>8&255]^l[255&p]^a[++v],n=r,o=s,p=t;c[0]=m[n>>>24]<<24^m[o>>>16&255]<<16^m[p>>>8&255]<<8^m[255&q]^a[++v],c[f?3:1]=m[o>>>24]<<24^m[p>>>16&255]<<16^m[q>>>8&255]<<8^m[255&n]^a[++v],c[2]=m[p>>>24]<<24^m[q>>>16&255]<<16^m[n>>>8&255]<<8^m[255&o]^a[++v],c[f?1:3]=m[q>>>24]<<24^m[n>>>16&255]<<16^m[o>>>8&255]<<8^m[255&p]^a[++v]}function o(a){var b,c="AES-"+((a=a||{}).mode||"CBC").toUpperCase(),d=(b=a.decrypt?i.cipher.createDecipher(c,a.key):i.cipher.createCipher(c,a.key)).start;return b.start=function(a,c){var e=null;c instanceof i.util.ByteBuffer&&(e=c,c={}),(c=c||{}).output=e,c.iv=a,d.call(b,c)},b}},45654:a=>{a.exports={options:{usePureJavaScript:!1}}},45874:(a,b,c)=>{"use strict";c.d(b,{Xx:()=>j,exportSettings:()=>k,getSettings:()=>i});var d=c(24081),e=c(50743);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},responseCacheEnabled:!1,requireLogin:!0,tunnelDashboardAccess:!0,authMode:"password",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",enableObservability:!0,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:1997",dnsToolEnabled:{},rtkEnabled:!0,headroomEnabled:!1,headroomUrl:"http://localhost:8787",headroomCompressUserMessages:!1,headroomCodeAware:!1,headroomKompress:!0,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",pxpipeEnabled:!1,pxpipeAutoInstall:!0,pxpipeMinChars:25e3,pxpipeTimeoutMs:15e3,contextInjectionEnabled:!1,fiveSimApiKey:""};async function g(){let a=(await (0,d.cK)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}function h(a){let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);return b}async function i(){return h(await g())}async function j(a){let b,c=await (0,d.cK)();return c.transaction(()=>{let d=c.get("SELECT data FROM settings WHERE id = 1");b={...d?(0,e.q)(d.data,{}):{},...a},c.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,e.s)(b)])}),h(b)}async function k(){return await g()}},46455:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{NS:()=>m,dg:()=>o});var e=c(5210),f=c(70321),g=c(24670),h=c(65333),i=c(63993),j=c(23740),k=a([e,h]);[e,h]=k.then?(await k)():k;let p=["expired","authentication","unauthorized","401","re-authorize"],q=globalThis._quotaUsageInflight??=new Map;async function l(a,b=!1,c=null){let d=(0,h.SB)(a.provider),e={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||d.needsRefresh(e)))return{connection:a,refreshed:!1};let g=await d.refreshCredentials(e,console,c);if(!g){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let i={updatedAt:new Date().toISOString()};g.accessToken&&(i.accessToken=g.accessToken),g.refreshToken&&(i.refreshToken=g.refreshToken),g.idToken&&(i.idToken=g.idToken),g.lastRefreshAt&&(i.lastRefreshAt=g.lastRefreshAt),g.expiresIn?(i.expiresAt=new Date(Date.now()+1e3*g.expiresIn).toISOString(),i.expiresIn=g.expiresIn):g.expiresAt&&(i.expiresAt=g.expiresAt);let j={...g.providerSpecificData||{},...g.copilotToken?{copilotToken:g.copilotToken}:{},...g.copilotTokenExpiresAt?{copilotTokenExpiresAt:g.copilotTokenExpiresAt}:{}};return Object.keys(j).length>0&&(i.providerSpecificData={...a.providerSpecificData||{},...j}),await (0,f.updateProviderConnection)(a.id,i),{connection:{...a,...i,providerSpecificData:i.providerSpecificData||a.providerSpecificData},refreshed:!0}}function m(a){var b;let c;if(!a)return!1;let d=(b=a.authType,c=String(b||"").toLowerCase().trim(),"api-key"===c||"api_key"===c||"api key"===c?"apikey":c);return"oauth"===d||"apikey"===d&&j.jO.includes(a.provider)}async function n(a,b,c){let{writeCache:d=!1,force:e=!1}=b,h=await (0,f.Mc)(a);if(!h)return{error:"Connection not found",notFound:!0};if(!m(h))return{message:"Usage not available for this connection"};let j=await (0,i.B)(h.providerSpecificData),k={connectionProxyEnabled:!0===j.connectionProxyEnabled,connectionProxyUrl:j.connectionProxyUrl||"",connectionNoProxy:j.connectionNoProxy||"",vercelRelayUrl:j.vercelRelayUrl||"",strictProxy:!1},n=h,o="oauth"===n.authType;o&&(n=(await l(n,e,k)).connection);let q=await (0,g.my)(n,k);if(o&&function(a){if(!a?.message)return!1;let b=a.message.toLowerCase();return p.some(a=>b.includes(a))}(q)&&n.refreshToken)try{n=(await l(n,!0,k)).connection,q=await (0,g.my)(n,k)}catch(a){console.warn(`[Usage] ${n.provider}: force refresh failed: ${a.message}`)}if((d||c.writeCache)&&q&&!q.error)try{await (0,f.KK)(n.id,n.provider,q)}catch(a){console.warn(`[QuotaCache] save failed for ${n.id}: ${a.message}`)}return q}async function o(a,b={}){let c=q.get(a);if(c||(c={active:null,queuedForce:null},q.set(a,c)),c.queuedForce)return b.writeCache&&(c.queuedForce.writeCache=!0),c.queuedForce.promise;if(c.active&&(!b.force||c.active.force))return b.writeCache&&(c.active.writeCache=!0),c.active.promise;let d=b=>{c.active===b&&(c.active=null),c.active||c.queuedForce||q.get(a)!==c||q.delete(a)};if(c.active){let e=c.active.promise,f={force:!0,writeCache:!0===b.writeCache,promise:null},g=()=>(c.queuedForce===f&&(c.queuedForce=null),c.active=f,n(a,{...b,force:!0},f));return f.promise=e.then(g,g).finally(()=>d(f)),c.queuedForce=f,f.promise}let e={force:!0===b.force,writeCache:!0===b.writeCache,promise:null};return c.active=e,e.promise=n(a,b,e).finally(()=>d(e)),e.promise}d()}catch(a){d(a)}})},46956:(a,b,c)=>{"use strict";c.d(b,{F:()=>s});var d=c(3433),e=c(27910),f=c(8735);let g=globalThis.fetch,h=new Map,i=new Map,j=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],k=["8.8.8.8","8.8.4.4"];function l(){let a=Error("Request aborted");return a.name="AbortError",a}function m(a){return null==a?"":String(a).trim()}async function n(a,b=null){let d,e=i.get(a);if(e&&Date.now()<e.expiry)return e.ip;if(b?.aborted)throw l();try{let e=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:g}=await Promise.resolve().then(c.t.bind(c,28354,23)),h=new e.Resolver;h.setServers(k);let j=g(h.resolve4.bind(h)),m=b?await Promise.race([j(a),new Promise((a,c)=>{d=()=>{h.cancel?.(),c(l())},b.addEventListener("abort",d,{once:!0})})]):await j(a);return i.set(a,{ip:m[0],expiry:Date.now()+f.v1.dnsCacheTtlMs}),m[0]}catch(c){if(b?.aborted||c?.name==="AbortError")throw l();return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,c.message),null}finally{d&&b?.removeEventListener?.("abort",d)}}function o(a,b){let c,d=m(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function p(a){let b=m(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function q(a){let b=p(a);if(!b)return null;if(!h.has(b)){h.size>=f.v1.proxyDispatchersMaxSize&&h.delete(h.keys().next().value);let{ProxyAgent:a}=await Promise.resolve().then(c.t.bind(c,3433,19));h.set(b,new a({uri:b}))}return h.get(b)}async function r(a,b,d){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket,j=d.signal,k=null,m=null,n=!1,o=()=>j?.removeEventListener?.("abort",q),p=a=>{n||(n=!0,o(),f(a))},q=()=>{let a=l();m?.destroy?.(a),k?.destroy?.(a),g.destroy(a),p(a)};j?.aborted?q():(j?.addEventListener?.("abort",q,{once:!0}),g.connect(443,b,()=>{if(n||j?.aborted)return;let b={socket:g,servername:a.hostname,path:a.pathname+a.search,method:d.method||"POST",headers:{...d.headers,Host:a.hostname}};(k=h.request(b,a=>{m=a,n=!0,a.once("close",o);let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:e.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};c(b)})).on("error",a=>p(a)),d.body&&k.write("string"==typeof d.body?d.body:JSON.stringify(d.body)),k.end()}),g.on("error",a=>p(a)))})}async function s(a,b={},c=null){let e="string"==typeof a?a:a.toString(),f=m(c?.vercelRelayUrl);if(f){let a=new URL(e),c={...b.headers,"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`};return g(f,{...b,headers:c})}let h=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=m(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=m(b?.noProxy??b?.connectionNoProxy);return d&&o(a,d)?null:p(c)}(e,c),i=h?null:p(function(a){let b;if(o(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(e)),k=h||i;if(function(a){try{let b=new URL(a).hostname;return j.some(a=>b.includes(a))}catch{return!1}}(e)){if(k)try{let c=await q(k);return await (0,d.hd)(a,{...b,dispatcher:c})}catch(a){if(b.signal?.aborted||a?.name==="AbortError")throw a;if(c?.strictProxy===!0)throw Error("[ProxyFetch] Required proxy request failed");throw Error("[ProxyFetch] Proxy request failed for protected upstream")}let f=new URL(e),h=await n(f.hostname,b.signal);return h?r(f,h,b):g(a,b)}if(k)try{let c=await q(k);return await (0,d.hd)(a,{...b,dispatcher:c})}catch(a){if(b.signal?.aborted||a?.name==="AbortError")throw a;if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);if(c?.singleTransportAttempt===!0)throw Error("[ProxyFetch] Proxy request failed for single-attempt upstream");console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${a.message}`)}return g(a,b)}async function t(a,b={}){return s(a,b,null)}globalThis.fetch!==t&&(globalThis.fetch=t)},47335:(a,b,c)=>{"use strict";let d=c(83204),{ResponseError:e}=c(61448);class f extends d{#J;#aI;#aJ;#e;#aK;constructor(a,{handler:b}){super(b)}#aL(a){return 0===(this.#aI??"").indexOf(a)}onRequestStart(a,b){return this.#J=0,this.#aI=null,this.#aJ=null,this.#e=null,this.#aK="",super.onRequestStart(a,b)}onResponseStart(a,b,c,d){if(this.#J=b,this.#e=c,this.#aI=c["content-type"],this.#J<400)return super.onResponseStart(a,b,c,d);(this.#aL("application/json")||this.#aL("text/plain"))&&(this.#aJ=new TextDecoder("utf-8"))}onResponseData(a,b){if(this.#J<400)return super.onResponseData(a,b);this.#aK+=this.#aJ?.decode(b,{stream:!0})??""}onResponseEnd(a,b){if(this.#J>=400){let b;if(this.#aK+=this.#aJ?.decode(void 0,{stream:!1})??"",this.#aL("application/json"))try{this.#aK=JSON.parse(this.#aK)}catch{}let c=Error.stackTraceLimit;Error.stackTraceLimit=0;try{b=new e("Response Error",this.#J,{body:this.#aK,headers:this.#e})}finally{Error.stackTraceLimit=c}super.onResponseError(a,b)}else super.onResponseEnd(a,b)}onResponseError(a,b){super.onResponseError(a,b)}}a.exports=()=>a=>function(b,c){return a(b,new f(b,{handler:c}))}},47703:(a,b,c)=>{"use strict";let{pipeline:d}=c(57075),{fetching:e}=c(76403),{webidl:f}=c(32984),{EventSourceStream:g}=c(97356),{parseMIMEType:h}=c(16537),{createFastMessageEvent:i}=c(51753),{isNetworkError:j}=c(78196),{kEnumerableProperty:k}=c(84285),{environmentSettingsObject:l}=c(42425),{createPotentialCORSRequest:m}=c(26376),n=!1;class o extends EventTarget{#aM={open:null,error:null,message:null};#am;#aN=!1;#aO=0;#aP=null;#B=null;#d;#a;constructor(a,b={}){let c;super(),f.util.markAsUncloneable(this);const d="EventSource constructor";f.argumentLengthCheck(arguments,1,d),n||(n=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),a=f.converters.USVString(a),b=f.converters.EventSourceInitDict(b,d,"eventSourceInitDict"),this.#d=b.node.dispatcher||b.dispatcher,this.#a={lastEventId:"",reconnectionTime:b.node.reconnectionTime};try{c=new URL(a,l.settingsObject.baseUrl),this.#a.origin=c.origin}catch(a){throw new DOMException(a,"SyntaxError")}this.#am=c.href;let e="anonymous";!0===b.withCredentials&&(e="use-credentials",this.#aN=!0);const g=m(c,"",e);g.client=l.settingsObject,g.headersList.set("Accept","text/event-stream"),g.cache="no-store",g.initiator="other",this.#aP=g,this.#aQ()}get readyState(){return this.#aO}get url(){return this.#am}get withCredentials(){return this.#aN}#aQ(){if(2===this.#aO)return;this.#aO=0;let a={request:this.#aP,dispatcher:this.#d};a.processResponseEndOfBody=a=>{if(!j(a))return this.#aR()},a.processResponse=a=>{if(j(a))if(!a.aborted)return void this.#aR();else{this.close(),this.dispatchEvent(new Event("error"));return}let b=a.headersList.get("content-type",!0),c=null!==b?h(b):"failure",e="failure"!==c&&"text/event-stream"===c.essence;if(200!==a.status||!1===e){this.close(),this.dispatchEvent(new Event("error"));return}this.#aO=1,this.dispatchEvent(new Event("open")),this.#a.origin=a.urlList[a.urlList.length-1].origin;let f=new g({eventSourceSettings:this.#a,push:a=>{this.dispatchEvent(i(a.type,a.options))}});d(a.body.stream,f,a=>{a?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#B=e(a)}#aR(){2!==this.#aO&&(this.#aO=0,this.dispatchEvent(new Event("error")),setTimeout(()=>{0===this.#aO&&(this.#a.lastEventId.length&&this.#aP.headersList.set("last-event-id",this.#a.lastEventId,!0),this.#aQ())},this.#a.reconnectionTime)?.unref())}close(){f.brandCheck(this,o),2!==this.#aO&&(this.#aO=2,this.#B.abort(),this.#aP=null)}get onopen(){return this.#aM.open}set onopen(a){this.#aM.open&&this.removeEventListener("open",this.#aM.open);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("open",b),this.#aM.open=a):this.#aM.open=null}get onmessage(){return this.#aM.message}set onmessage(a){this.#aM.message&&this.removeEventListener("message",this.#aM.message);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("message",b),this.#aM.message=a):this.#aM.message=null}get onerror(){return this.#aM.error}set onerror(a){this.#aM.error&&this.removeEventListener("error",this.#aM.error);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("error",b),this.#aM.error=a):this.#aM.error=null}}let p={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:0,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:1,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:2,writable:!1}};Object.defineProperties(o,p),Object.defineProperties(o.prototype,p),Object.defineProperties(o.prototype,{close:k,onerror:k,onmessage:k,onopen:k,readyState:k,url:k,withCredentials:k}),f.converters.EventSourceInitDict=f.dictionaryConverter([{key:"withCredentials",converter:f.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:f.converters.any},{key:"node",converter:f.dictionaryConverter([{key:"reconnectionTime",converter:f.converters["unsigned long"],defaultValue:()=>3e3},{key:"dispatcher",converter:f.converters.any}]),defaultValue:()=>({})}]),a.exports={EventSource:o,defaultReconnectionTime:3e3}},47800:(a,b,c)=>{"use strict";let{InvalidArgumentError:d}=c(61448),{runtimeFeatures:e}=c(56758),f=e.has("crypto")?c(77598):null,g=f?.hash?a=>f.hash("sha256",a,"base64url"):a=>Buffer.from(a).toString("base64url");function h(a){return Array.isArray(a)&&(1&a.length)==0}let i=["record","playback","update"];a.exports={createHeaderFilters:function(a={}){let{ignoreHeaders:b=[],excludeHeaders:c=[],matchHeaders:d=[],caseSensitive:e=!1}=a;return{ignore:new Set(b.map(a=>e?a:a.toLowerCase())),exclude:new Set(c.map(a=>e?a:a.toLowerCase())),match:new Set(d.map(a=>e?a:a.toLowerCase()))}},hashId:g,isUndiciHeaders:h,normalizeHeaders:function(a){let b={};if(!a)return b;if(h(a)){for(let c=0;c<a.length;c+=2){let d=a[c],e=a[c+1];if(d&&void 0!==e){let a=Buffer.isBuffer(d)?d.toString():d,c=Buffer.isBuffer(e)?e.toString():e;b[a.toLowerCase()]=c}}return b}if(a&&"object"==typeof a)for(let[c,d]of Object.entries(a))c&&"string"==typeof c&&(b[c.toLowerCase()]=Array.isArray(d)?d.join(", "):String(d));return b},isUrlExcludedFactory:function(a=[]){return 0===a.length?()=>!1:function(b){let c;for(let d of a)if("string"==typeof d){if(c||(c=b.toLowerCase()),c.includes(d.toLowerCase()))return!0}else if(d instanceof RegExp&&d.test(b))return!0;return!1}},validateSnapshotMode:function(a){if(!i.includes(a))throw new d(`Invalid snapshot mode: ${a}. Must be one of: ${i.join(", ")}`)}}},48841:(a,b,c)=>{"use strict";let{kProxy:d,kClose:e,kDestroy:f,kDispatch:g}=c(49176),h=c(37417),i=c(35689),j=c(5318),{InvalidArgumentError:k,RequestAbortedError:l,SecureProxyConnectionError:m,ProxyConnectionError:n}=c(61448),o=c(55285),p=c(40106),{channels:q}=c(62571),r=c(64156),s=Symbol("proxy agent"),t=Symbol("proxy client"),u=Symbol("proxy headers"),v=Symbol("request tls settings"),w=Symbol("proxy tls settings"),x=Symbol("connect endpoint function"),y=Symbol("connect endpoint function (http/1.1 only)"),z=Symbol("tunnel proxy"),A="proxy-authorization";function B(a,b){return new i(a,b)}let C=()=>{};function D(a,b){return 1===b.connections?new p(a,b):new i(a,b)}class E extends j{#aS;#aT;constructor(a,{headers:b={},connect:c,factory:d,proxyServername:e}){if(!a)throw new k("Proxy URL is mandatory");super(),this[u]=b,this.#aT=e,d?this.#aS=d(a,{connect:c}):this.#aS=new p(a,{connect:c})}[g](a,b){let c=b.onResponseStart;b.onResponseStart=function(a,d,e,f){if(407===d){"function"==typeof b.onResponseError&&b.onResponseError(a,new k("Proxy Authentication Required (407)"));return}c&&c.call(this,a,d,e,f)};let{origin:d,path:e="/",headers:f={}}=a;if(a.path=d+e,!("host"in f)&&!("Host"in f)){let{host:a}=new URL(d);f.host=a}return a.headers={...this[u],...f},null!=this.#aT&&(a.servername=this.#aT),this.#aS[g](a,b)}[e](){return this.#aS.close()}[f](a){return this.#aS.destroy(a)}}class F extends j{constructor(a){if(!a||"object"==typeof a&&!(a instanceof URL)&&!a.uri)throw new k("Proxy uri is mandatory");const{clientFactory:b=B}=a;if("function"!=typeof b)throw new k("Proxy opts.clientFactory must be a function.");const{proxyTunnel:c,connectTimeout:e}=a;super();const f=this.#aU(a),{href:g,origin:i,port:j,protocol:p,username:A,password:F,hostname:G}=f;if(this[d]={uri:g,protocol:p},this[v]=a.requestTls,this[w]=a.proxyTls,this[u]=a.headers||{},this[z]=c,a.auth&&a.token)throw new k("opts.auth cannot be used in combination with opts.token");a.auth?this[u]["proxy-authorization"]=`Basic ${a.auth}`:a.token?this[u]["proxy-authorization"]=a.token:A&&F?this[u]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(A)}:${decodeURIComponent(F)}`).toString("base64")}`:A&&(this[u]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(A)}:`).toString("base64")}`);const H=o({timeout:e,...a.proxyTls}),I=o({timeout:e,...a.proxyTls,allowH2:!1});this[x]=o({timeout:e,...a.requestTls}),this[y]=o({timeout:e,...a.requestTls,allowH2:!1});const J=a.factory||D,K=(b,c)=>{let{protocol:e}=new URL(b);if("socks5:"===this[d].protocol||"socks:"===this[d].protocol)return new r(this[d].uri,{headers:this[u],connect:H,factory:J,username:a.username||A,password:a.password||F,proxyTls:a.proxyTls,requestTls:a.requestTls});if(!0!==this[z]&&"http:"===e){let a="https:"===this[d].protocol?(a,b)=>I(a,(a,c)=>{a&&"ERR_TLS_CERT_ALTNAME_INVALID"===a.code?b(new m(a)):b(a,c)}):I;return new E(this[d].uri,{headers:this[u],connect:a,factory:J,proxyServername:"https:"===this[d].protocol?this[w]?.servername||G:void 0})}return J(b,c)};"socks5:"===p||"socks:"===p?this[t]=null:this[t]=b(f,{connect:H}),this[s]=new h({...a,factory:K,connect:async(a,b)=>{if(!this[t])return void b(new k("Cannot establish tunnel connection without a proxy client"));let c=a.host;a.port||(c+=`:${"https:"===a.protocol?443:80}`);try{let d,e={origin:i,port:j,path:c,signal:a.signal,headers:{...this[u],host:a.host,...null==a.connections||a.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[w]?.servername||G},{socket:f,statusCode:g}=await this[t].connect(e);if(200!==g){f.on("error",C).destroy(),b(new l(`Proxy response (${g}) !== 200 when HTTP Tunneling`));return}if(q.proxyConnected.hasSubscribers&&q.proxyConnected.publish({socket:f,connectParams:e}),"https:"!==a.protocol)return void b(null,f);d=this[v]?this[v].servername:a.servername,(!1===a.allowH2?this[y]:this[x])({...a,servername:d,httpSocket:f},b)}catch(a){b("ERR_TLS_CERT_ALTNAME_INVALID"===a.code?new m(a):"UND_ERR_SOCKET"===a.code?new n(a):a)}}})}dispatch(a,b){let c=function(a){if(Array.isArray(a)){let b={};for(let c=0;c<a.length;c+=2)G(a[c])&&H(),b[a[c]]=a[c+1];return b}return a}(a.headers);if(function(a){for(let b in a)G(b)&&H()}(c),c&&!("host"in c)&&!("Host"in c)){let{host:b}=new URL(a.origin);c.host=b}return this[s].dispatch({...a,headers:c},b)}#aU(a){return"string"==typeof a?new URL(a):a instanceof URL?a:new URL(a.uri)}[e](){let a=[this[s].close()];return this[t]&&a.push(this[t].close()),Promise.all(a)}[f](){let a=[this[s].destroy()];return this[t]&&a.push(this[t].destroy()),Promise.all(a)}}function G(a){return a.length===A.length&&a.toLowerCase()===A}function H(){throw new k("Proxy-Authorization should be sent in ProxyAgent constructor")}a.exports=F},48991:(a,b,c)=>{"use strict";c.d(b,{$V:()=>u,A9:()=>i,Cn:()=>j,Co:()=>t,FT:()=>o,Ic:()=>r,J5:()=>n,K:()=>p,NA:()=>w,Ox:()=>k,QH:()=>l,VK:()=>x,Wu:()=>v,go:()=>e,nZ:()=>q,sX:()=>f,uR:()=>m,x0:()=>g,zv:()=>s});var d=c(21820);let e="google-genai-sdk/1.41.0 gl-node/v22.19.0";function f(a="unknown"){let b;return`GeminiCLI/0.34.0/${a||"unknown"} (${(0,d.platform)()}; ${"ia32"===(b=(0,d.arch)())?"x86":b}; terminal)`}let g={VSCODE_VERSION:"1.110.0",COPILOT_CHAT_VERSION:"0.38.0",USER_AGENT:"GitHubCopilotChat/0.38.0",API_VERSION:"2025-04-01"};function h(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}function i(){return o()}let j={ideType:9,platform:h(),pluginType:2},k={name:"x-request-source",value:"local"},l="_ide",m="_ide",n=new Set(["browser_subagent","command_status","find_by_name","generate_image","grep_search","list_dir","list_resources","multi_replace_file_content","notify_user","read_resource","read_terminal","read_url_content","replace_file_content","run_command","search_web","send_command_input","task_boundary","view_content_chunk","view_file","write_to_file"]);function o(){return`Antigravity/1.125.0 (${function(){switch((0,d.platform)()){case"darwin":return"Macintosh; Intel Mac OS X 10_15_7";case"win32":return"Windows NT 10.0; Win64; x64";default:return"X11; Linux x86_64"}}()}) Chrome/142.0.7444.175 Electron/39.2.7`}let p={"User-Agent":o()},q={loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"},r={"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:9,platform:h(),pluginType:2})},s={ideType:9,platform:h(),pluginType:2},t="You are Claude Code, Anthropic's official CLI for Claude.",u="You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**",v={codex:432e6,claude:144e5,iflow:864e5,qwen:12e5,codebuddy:12e5,kimi:3e5,"kimi-coding":3e5,antigravity:3e5,"grok-cli":3e5,xai:3e5},w={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://api.anthropic.com/v1/oauth/token",auth:"https://api.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://qwen.ai/api/v1/oauth2/token",auth:"https://qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}};function x(){return{"X-Msh-Platform":"zevairouter","X-Msh-Version":"2.1.2","X-Msh-Device-Model":"u">typeof process?`${process.platform} ${process.arch}`:"unknown","X-Msh-Device-Id":`kimi-${Date.now()}`}}},49065:(a,b,c)=>{"use strict";c.r(b),c.d(b,{geminiToOpenAIRequest:()=>g});var d=c(56294),e=c(42541),f=c(58455);function g(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;if(a.maxOutputTokens){let c={max_tokens:a.maxOutputTokens,tools:b.tools};d.max_tokens=(0,f.M)(c)}void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:"system",content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b="user"===a.role?"user":"assistant";if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts)if(void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})};if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,g,null),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,g,null)},49166:(a,b,c)=>{"use strict";let{Cache:d}=c(50027),{webidl:e}=c(32984),{kEnumerableProperty:f}=c(84285),{kConstruct:g}=c(49176);class h{#aV=new Map;constructor(){arguments[0]!==g&&e.illegalConstructor(),e.util.markAsUncloneable(this)}async match(a,b={}){if(e.brandCheck(this,h),e.argumentLengthCheck(arguments,1,"CacheStorage.match"),a=e.converters.RequestInfo(a),null!=(b=e.converters.MultiCacheQueryOptions(b)).cacheName){if(this.#aV.has(b.cacheName)){let c=new d(g,this.#aV.get(b.cacheName));return await c.match(a,b)}}else for(let c of this.#aV.values()){let e=new d(g,c),f=await e.match(a,b);if(void 0!==f)return f}}async has(a){e.brandCheck(this,h);let b="CacheStorage.has";return e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#aV.has(a)}async open(a){e.brandCheck(this,h);let b="CacheStorage.open";if(e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#aV.has(a))return new d(g,this.#aV.get(a));let c=[];return this.#aV.set(a,c),new d(g,c)}async delete(a){e.brandCheck(this,h);let b="CacheStorage.delete";return e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#aV.delete(a)}async keys(){return e.brandCheck(this,h),[...this.#aV.keys()]}}Object.defineProperties(h.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:f,has:f,open:f,delete:f,keys:f}),a.exports={CacheStorage:h}},49176:a=>{"use strict";a.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2Options:Symbol("http2 options"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHostAuthority:Symbol("host authority"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}},49345:(a,b,c)=>{var d=c(45654);c(33889);var e=a.exports=d.pem=d.pem||{};function f(a){for(var b=a.name+": ",c=[],d=function(a,b){return" "+b},e=0;e<a.values.length;++e)c.push(a.values[e].replace(/^(\S+\r\n)/,d));b+=c.join(",")+"\r\n";for(var f=0,g=-1,e=0;e<b.length;++e,++f)if(f>65&&-1!==g){var h=b[g];","===h?(++g,b=b.substr(0,g)+"\r\n "+b.substr(g)):b=b.substr(0,g)+"\r\n"+h+b.substr(g+1),f=e-g-1,g=-1,++e}else(" "===b[e]||" "===b[e]||","===b[e])&&(g=e);return b}e.encode=function(a,b){b=b||{};var c,e="-----BEGIN "+a.type+"-----\r\n";if(a.procType&&(e+=f(c={name:"Proc-Type",values:[String(a.procType.version),a.procType.type]})),a.contentDomain&&(e+=f(c={name:"Content-Domain",values:[a.contentDomain]})),a.dekInfo&&(c={name:"DEK-Info",values:[a.dekInfo.algorithm]},a.dekInfo.parameters&&c.values.push(a.dekInfo.parameters),e+=f(c)),a.headers)for(var g=0;g<a.headers.length;++g)e+=f(a.headers[g]);return a.procType&&(e+="\r\n"),e+=d.util.encode64(a.body,b.maxline||64)+"\r\n",e+="-----END "+a.type+"-----\r\n"},e.decode=function(a){for(var b,c=[],e=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,f=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,g=/\r?\n/;b=e.exec(a);){var h=b[1];"NEW CERTIFICATE REQUEST"===h&&(h="CERTIFICATE REQUEST");var i={type:h,procType:null,contentDomain:null,dekInfo:null,headers:[],body:d.util.decode64(b[3])};if(c.push(i),b[2]){for(var j=b[2].split(g),k=0;b&&k<j.length;){for(var l=j[k].replace(/\s+$/,""),m=k+1;m<j.length;++m){var n=j[m];if(!/\s/.test(n[0]))break;l+=n,k=m}if(b=l.match(f)){for(var o={name:b[1],values:[]},p=b[2].split(","),q=0;q<p.length;++q)o.values.push(p[q].replace(/^\s+/,""));if(i.procType)if(i.contentDomain||"Content-Domain"!==o.name)if(i.dekInfo||"DEK-Info"!==o.name)i.headers.push(o);else{if(0===o.values.length)throw Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');i.dekInfo={algorithm:p[0],parameters:p[1]||null}}else i.contentDomain=p[0]||"";else{if("Proc-Type"!==o.name)throw Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(2!==o.values.length)throw Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');i.procType={version:p[0],type:p[1]}}}++k}if("ENCRYPTED"===i.procType&&!i.dekInfo)throw Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(0===c.length)throw Error("Invalid PEM formatted message.");return c}},50027:(a,b,c)=>{"use strict";let d=c(34589),{kConstruct:e}=c(49176),{urlEquals:f,getFieldValues:g}=c(68531),{kEnumerableProperty:h,isDisturbed:i}=c(84285),{webidl:j}=c(32984),{cloneResponse:k,fromInnerResponse:l,getResponseState:m}=c(78196),{Request:n,fromInnerRequest:o,getRequestState:p}=c(12600),{fetching:q}=c(76403),{urlIsHttpHttpsScheme:r,readAllBytes:s}=c(42425);class t{#aW;constructor(){arguments[0]!==e&&j.illegalConstructor(),j.util.markAsUncloneable(this),this.#aW=arguments[1]}async match(a,b={}){j.brandCheck(this,t);let c="Cache.match";j.argumentLengthCheck(arguments,1,c),a=j.converters.RequestInfo(a),b=j.converters.CacheQueryOptions(b,c,"options");let d=this.#aX(a,b,1);if(0!==d.length)return d[0]}async matchAll(a,b={}){return j.brandCheck(this,t),void 0!==a&&(a=j.converters.RequestInfo(a)),b=j.converters.CacheQueryOptions(b,"Cache.matchAll","options"),this.#aX(a,b)}async add(a){j.brandCheck(this,t),j.argumentLengthCheck(arguments,1,"Cache.add");let b=[a=j.converters.RequestInfo(a)],c=this.addAll(b);return await c}async addAll(a){j.brandCheck(this,t);let b="Cache.addAll";j.argumentLengthCheck(arguments,1,b);let c=[],d=[];for(let c of a){if(void 0===c)throw j.errors.conversionFailed({prefix:b,argument:"Argument 1",types:["undefined is not allowed"]});if("string"==typeof(c=j.converters.RequestInfo(c)))continue;let a=p(c);if(!r(a.url)||"GET"!==a.method)throw j.errors.exception({header:b,message:"Expected http/s scheme when method is not GET."})}let e=[];for(let f of a){let a=p(new n(f));if(!r(a.url))throw j.errors.exception({header:b,message:"Expected http/s scheme."});a.initiator="fetch",a.destination="subresource",d.push(a);let h=Promise.withResolvers();e.push(q({request:a,processResponse(a){if("error"===a.type||206===a.status||a.status<200||a.status>299)h.reject(j.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(a.headersList.contains("vary")){for(let b of g(a.headersList.get("vary")))if("*"===b){for(let a of(h.reject(j.errors.exception({header:"Cache.addAll",message:"invalid vary field value"})),e))a.abort();return}}},processResponseEndOfBody(a){a.aborted?h.reject(new DOMException("aborted","AbortError")):h.resolve(a)}})),c.push(h.promise)}let f=Promise.all(c),h=await f,i=[],k=0;for(let a of h){let b={type:"put",request:d[k],response:a};i.push(b),k++}let l=Promise.withResolvers(),m=null;try{this.#aY(i)}catch(a){m=a}return queueMicrotask(()=>{null===m?l.resolve(void 0):l.reject(m)}),l.promise}async put(a,b){j.brandCheck(this,t);let c="Cache.put";j.argumentLengthCheck(arguments,2,c),a=j.converters.RequestInfo(a),b=j.converters.Response(b,c,"response");let d=null;if(!r((d=j.is.Request(a)?p(a):p(new n(a))).url)||"GET"!==d.method)throw j.errors.exception({header:c,message:"Expected an http/s scheme when method is not GET"});let e=m(b);if(206===e.status)throw j.errors.exception({header:c,message:"Got 206 status"});if(e.headersList.contains("vary")){for(let a of g(e.headersList.get("vary")))if("*"===a)throw j.errors.exception({header:c,message:"Got * vary field value"})}if(e.body&&(i(e.body.stream)||e.body.stream.locked))throw j.errors.exception({header:c,message:"Response body is locked or disturbed"});let f=k(e),h=Promise.withResolvers();null!=e.body?s(e.body.stream.getReader(),h.resolve,h.reject):h.resolve(void 0);let l=[],o={type:"put",request:d,response:f};l.push(o);let q=await h.promise;null!=f.body&&(f.body.source=q);let u=Promise.withResolvers(),v=null;try{this.#aY(l)}catch(a){v=a}return queueMicrotask(()=>{null===v?u.resolve():u.reject(v)}),u.promise}async delete(a,b={}){let c;j.brandCheck(this,t);let e="Cache.delete";j.argumentLengthCheck(arguments,1,e),a=j.converters.RequestInfo(a),b=j.converters.CacheQueryOptions(b,e,"options");let f=null;if(j.is.Request(a)){if("GET"!==(f=p(a)).method&&!b.ignoreMethod)return!1}else d("string"==typeof a),f=p(new n(a));let g=[],h={type:"delete",request:f,options:b};g.push(h);let i=Promise.withResolvers(),k=null;try{c=this.#aY(g)}catch(a){k=a}return queueMicrotask(()=>{null===k?i.resolve(!!c?.length):i.reject(k)}),i.promise}async keys(a,b={}){j.brandCheck(this,t),void 0!==a&&(a=j.converters.RequestInfo(a)),b=j.converters.CacheQueryOptions(b,"Cache.keys","options");let c=null;if(void 0!==a)if(j.is.Request(a)){if("GET"!==(c=p(a)).method&&!b.ignoreMethod)return[]}else"string"==typeof a&&(c=p(new n(a)));let d=Promise.withResolvers(),e=[];if(void 0===a)for(let a of this.#aW)e.push(a[0]);else for(let a of this.#aZ(c,b))e.push(a[0]);return queueMicrotask(()=>{let a=[];for(let b of e){let c=o(b,void 0,new AbortController().signal,"immutable");a.push(c)}d.resolve(Object.freeze(a))}),d.promise}#aY(a){let b=this.#aW,c=[...b],e=[],f=[];try{for(let c of a){let a;if("delete"!==c.type&&"put"!==c.type)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if("delete"===c.type&&null!=c.response)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#aZ(c.request,c.options,e).length)throw new DOMException("???","InvalidStateError");if("delete"===c.type){if(a=this.#aZ(c.request,c.options),0===a.length)return[];for(let c of a){let a=b.indexOf(c);d(-1!==a),b.splice(a,1)}}else if("put"===c.type){if(null==c.response)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let f=c.request;if(!r(f.url))throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if("GET"!==f.method)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(null!=c.options)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});for(let e of a=this.#aZ(c.request)){let a=b.indexOf(e);d(-1!==a),b.splice(a,1)}b.push([c.request,c.response]),e.push([c.request,c.response])}f.push([c.request,c.response])}return f}catch(a){throw this.#aW.length=0,this.#aW=c,a}}#aZ(a,b,c){let d=[];for(let e of c??this.#aW){let[c,f]=e;this.#a$(a,c,f,b)&&d.push(e)}return d}#a$(a,b,c=null,d){let e=new URL(a.url),h=new URL(b.url);if(d?.ignoreSearch&&(h.search="",e.search=""),!f(e,h,!0))return!1;if(null==c||d?.ignoreVary||!c.headersList.contains("vary"))return!0;for(let d of g(c.headersList.get("vary")))if("*"===d||b.headersList.get(d)!==a.headersList.get(d))return!1;return!0}#aX(a,b,c=1/0){let d=null;if(void 0!==a)if(j.is.Request(a)){if("GET"!==(d=p(a)).method&&!b.ignoreMethod)return[]}else"string"==typeof a&&(d=p(new n(a)));let e=[];if(void 0===a)for(let a of this.#aW)e.push(a[1]);else for(let a of this.#aZ(d,b))e.push(a[1]);let f=[];for(let a of e){let b=l(k(a),"immutable");if(f.push(b),f.length>=c)break}return Object.freeze(f)}}Object.defineProperties(t.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:h,matchAll:h,add:h,addAll:h,put:h,delete:h,keys:h});let u=[{key:"ignoreSearch",converter:j.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:j.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:j.converters.boolean,defaultValue:()=>!1}];j.converters.CacheQueryOptions=j.dictionaryConverter(u),j.converters.MultiCacheQueryOptions=j.dictionaryConverter([...u,{key:"cacheName",converter:j.converters.DOMString}]),j.converters.Response=j.interfaceConverter(j.is.Response,"Response"),j.converters["sequence<RequestInfo>"]=j.sequenceConverter(j.converters.RequestInfo),a.exports={Cache:t}},50270:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToAntigravityResponse:()=>f});var d=c(56294),e=c(42541);function f(a,b){if(!a)return null;let c=a.choices?.[0];if(!c)return a.usage&&(b._usage=a.usage),null;let d=c.delta||{},e=c.finish_reason;b._toolCallAccum||(b._toolCallAccum={}),b._responseId||(b._responseId=a.id||`resp_${Date.now()}`),b._modelVersion||(b._modelVersion=a.model||"");let f=[];if(d.reasoning_content&&f.push({thought:!0,text:d.reasoning_content}),d.content&&f.push({text:d.content}),d.tool_calls){for(let a of d.tool_calls){let c=a.index??0;b._toolCallAccum[c]||(b._toolCallAccum[c]={id:"",name:"",arguments:""});let d=b._toolCallAccum[c];a.id&&(d.id=a.id),a.function?.name&&(d.name+=a.function.name),a.function?.arguments&&(d.arguments+=a.function.arguments)}if(0===f.length&&!e)return null}if(e)for(let a of Object.keys(b._toolCallAccum)){let c=b._toolCallAccum[a],d={};try{d=JSON.parse(c.arguments)}catch{}let e=b.toolNameMap?.get(c.name)||c.name;f.push({functionCall:{name:e,args:d}})}if(0===f.length&&!e)return null;0===f.length&&e&&f.push({text:""});let g={content:{role:"model",parts:f}};e&&(g.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[e]||"STOP");let h={candidates:[g],modelVersion:b._modelVersion,responseId:b._responseId},i=a.usage||b._usage;return i&&(h.usageMetadata={promptTokenCount:i.prompt_tokens||0,candidatesTokenCount:i.completion_tokens||0,totalTokenCount:i.total_tokens||0},i.completion_tokens_details?.reasoning_tokens&&(h.usageMetadata.thoughtsTokenCount=i.completion_tokens_details.reasoning_tokens),i.prompt_tokens_details?.cached_tokens&&(h.usageMetadata.cachedContentTokenCount=i.prompt_tokens_details.cached_tokens)),{response:h}}(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,null,f)},50294:(a,b,c)=>{"use strict";c.d(b,{R:()=>j});var d=c(50801),e=c(30395),f=c(48991),g=c(11484);let h="QwenCode/0.12.3 (linux; x64)",i={role:"system",content:[{type:"text",text:"",cache_control:{type:"ephemeral"}}]};class j extends d.L{constructor(){super("qwen")}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.resourceUrl,f=e?e.replace(/^https?:\/\//,"").replace(/\/$/,""):"portal.qwen.ai";return`https://${f}/v1/chat/completions`}buildHeaders(a,b=!0){return function(a,b=!0){let c=a?.apiKey||a?.accessToken||"",d={"Content-Type":"application/json",Authorization:`Bearer ${c}`,"User-Agent":h,"X-DashScope-AuthType":"qwen-oauth","X-DashScope-CacheControl":"enable","X-DashScope-UserAgent":h,"X-Stainless-Arch":"x64","X-Stainless-Lang":"js","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"5.11.0","X-Stainless-Retry-Count":"1","X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":"v18.19.1",Connection:"keep-alive","Accept-Language":"*","Sec-Fetch-Mode":"cors"};return d.Accept=b?"text/event-stream":"application/json",d}(a,b)}transformRequest(a,b,c,d){let e=b&&"object"==typeof b?{...b}:b;c&&e?.messages&&!e.stream_options&&!e.thinking&&!e.enable_thinking&&!1!==e.stream&&(e.stream_options={include_usage:!0});var f=e=function(a){let b;if(!0!==(b=a?.thinking)&&a?.enable_thinking!==!0&&("object"!=typeof b||null===b||Array.isArray(b)||"enabled"!==b.type))return a;let c=a.tool_choice;return"required"!==c&&("object"!=typeof c||null===c)?a:{...a,tool_choice:"auto"}}(e);if(!f||"object"!=typeof f)return f;let g={...f};return Array.isArray(g.messages)?g.messages=[i,...g.messages]:g.messages=[i],g}async refreshCredentials(a,b){if(!a?.refreshToken)return null;try{let c=await fetch(f.NA.qwen.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.qwen.clientId})});if(!c.ok)return await (0,g.aI)(c),null;let d=await c.json();return b?.info?.("TOKEN","qwen refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a.refreshToken,expiresIn:d.expires_in,providerSpecificData:{...a.providerSpecificData||{},...d.resource_url?{resourceUrl:d.resource_url}:{}}}}catch(a){return b?.error?.("TOKEN",`qwen refresh error: ${a.message}`),null}}}},50329:a=>{"use strict";class b{bottom=0;top=0;list=Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(a){this.list[this.top]=a,this.top=this.top+1&2047}shift(){let a=this.list[this.bottom];return void 0===a?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,a)}}a.exports=class{constructor(){this.head=this.tail=new b}isEmpty(){return this.head.isEmpty()}push(a){this.head.isFull()&&(this.head=this.head.next=new b),this.head.push(a)}shift(){let a=this.tail,b=a.shift();return a.isEmpty()&&null!==a.next&&(this.tail=a.next,a.next=null),b}}},50570:(a,b,c)=>{"use strict";c(42541)},50743:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},50801:(a,b,c)=>{"use strict";c.d(b,{L:()=>q});var d=c(69384),e=c(30395),f=c(48991),g=c(87793),h=c(46956),i=c(11484),j=c(80015),k=c(55511),l=c(74075);let m=["temperature","top_p","presence_penalty","frequency_penalty","stop","tool_choice","parallel_tool_calls","response_format"];function n(){return(0,k.randomUUID)().replace(/-/g,"")}function o(a,b,c="truncated for CodeBuddy"){if("string"!=typeof a||a.length<=b)return a;let d=Math.floor(.75*b),e=Math.max(0,b-d-c.length-12);return`${a.slice(0,d)}
348
+ `}async function n(a,b,c,d,e,f){let g="",h="",i=[];for await(let b of l(a,e,f)){if(b.fingerprint&&(h=b.fingerprint),b.error)return new Response(JSON.stringify({error:{message:b.error,type:"upstream_error",code:"GROK_ERROR"}}),{status:502,headers:{"Content-Type":"application/json"}});if(b.thinking){i.push(b.thinking);continue}if(b.done)break;b.fullMessage?g=b.fullMessage:b.delta&&(g+=b.delta)}let j={role:"assistant",content:g};i.length>0&&(j.reasoning_content=i.join("\n"));let k=Math.ceil(g.length/4),m=Math.ceil(g.length/4);return new Response(JSON.stringify({id:c,object:"chat.completion",created:d,model:b,system_fingerprint:h||null,choices:[{index:0,message:j,finish_reason:"stop",logprobs:null}],usage:{prompt_tokens:k,completion_tokens:m,total_tokens:k+m}}),{status:200,headers:{"Content-Type":"application/json"}})}class o extends d.Hv{constructor(){super("grok-web",e.xq["grok-web"])}async execute({model:a,body:b,stream:c,credentials:d,signal:e,log:k}){let o,p,q=b?.messages;if(!q||!Array.isArray(q)||0===q.length)return{response:new Response(JSON.stringify({error:{message:"Missing or empty messages array",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:g,headers:{},transformedBody:b};let r=h[a];r||k?.info?.("GROK-WEB",`Unmapped model ${a}, defaulting to grok-4.1-fast`);let{grokModel:s,modelMode:t,isThinking:u}=r||h["grok-4.1-fast"],v=function(a){let b=[];for(let c of a){let a=String(c.role||"user");"developer"===a&&(a="system");let d="";"string"==typeof c.content?d=c.content:Array.isArray(c.content)&&(d=c.content.filter(a=>"text"===a.type).map(a=>String(a.text||"")).join(" ")),d.trim()&&b.push({role:a,text:d})}let c=-1;for(let a=b.length-1;a>=0;a--)if("user"===b[a].role){c=a;break}let d=[];for(let a=0;a<b.length;a++){let{role:e,text:f}=b[a];d.push(a===c?f:`${e}: ${f}`)}return d.join("\n\n")}(q);if(!v.trim())return{response:new Response(JSON.stringify({error:{message:"Empty query after processing",type:"invalid_request"}}),{status:400,headers:{"Content-Type":"application/json"}}),url:g,headers:{},transformedBody:b};let w={temporary:!0,modelName:s,modelMode:t,message:v,fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!1,returnImageBytes:!1,returnRawGrokInXaiRequest:!1,enableImageStreaming:!1,imageGenerationCount:0,forceConcise:!1,toolOverrides:{},enableSideBySide:!0,sendFinalMetadata:!0,isReasoning:!1,disableTextFollowUps:!1,disableMemory:!0,forceSideBySide:!1,isAsyncChat:!1,disableSelfHarmShortCircuit:!1,deviceEnvInfo:{darkModeEnabled:!1,devicePixelRatio:2,screenWidth:2056,screenHeight:1329,viewportWidth:2056,viewportHeight:1083}},x=j(16),y=j(8),z={Accept:"*/*","Accept-Encoding":"gzip, deflate, br, zstd","Accept-Language":"en-US,en;q=0.9",Baggage:"sentry-environment=production,sentry-release=d6add6fb0460641fd482d767a335ef72b9b6abb8,sentry-public_key=b311e0f2690c81f25e2c4cf6d4f7ce1c","Cache-Control":"no-cache","Content-Type":"application/json",Origin:"https://grok.com",Pragma:"no-cache",Referer:"https://grok.com/","Sec-Ch-Ua":'"Google Chrome";v="136", "Chromium";v="136", "Not(A:Brand";v="24"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","x-statsig-id":btoa(.5>Math.random()?`e:TypeError: Cannot read properties of null (reading 'children["${i(5,!0)}"]')`:`e:TypeError: Cannot read properties of undefined (reading '${i(10)}')`),"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${x}-${y}-00`};if(d.apiKey){let a=d.apiKey;a.startsWith("sso=")&&(a=a.slice(4)),z.Cookie=`sso=${a}`}k?.info?.("GROK-WEB",`Query to ${a} (grok=${s}, mode=${t}), len=${v.length}`);try{o=await fetch(g,{method:"POST",headers:z,body:JSON.stringify(w),signal:e})}catch(a){return k?.error?.("GROK-WEB",`Fetch failed: ${a.message||String(a)}`),{response:new Response(JSON.stringify({error:{message:`Grok connection failed: ${a.message||String(a)}`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w}}if(!o.ok){let a=o.status,b=`Grok returned HTTP ${a}`;return 401===a||403===a?b="Grok auth failed — SSO cookie may be expired. Re-paste your sso cookie value from grok.com.":429===a&&(b="Grok rate limited. Wait a moment and retry, or rotate cookies."),k?.warn?.("GROK-WEB",b),await (0,f.aI)(o),{response:new Response(JSON.stringify({error:{message:b,type:"upstream_error",code:`HTTP_${a}`}}),{status:a,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w}}if(!o.body)return{response:new Response(JSON.stringify({error:{message:"Grok returned empty response body",type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:g,headers:z,transformedBody:w};let A=`chatcmpl-grok-${crypto.randomUUID().slice(0,12)}`,B=Math.floor(Date.now()/1e3);if(c){var C;let b;p=new Response((C=o.body,b=new TextEncoder,new ReadableStream({async start(c){try{c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{role:"assistant"},finish_reason:null,logprobs:null}]})));let d="";for await(let f of l(C,u,e)){if(f.fingerprint&&(d=f.fingerprint),f.error){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:`[Error: ${f.error}]`},finish_reason:null,logprobs:null}]})));break}if(f.thinking){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{reasoning_content:f.thinking},finish_reason:null,logprobs:null}]})));continue}if(f.done)break;f.delta&&c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{content:f.delta},finish_reason:null,logprobs:null}]})))}c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:d||null,choices:[{index:0,delta:{},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n"))}catch(d){c.enqueue(b.encode(m({id:A,object:"chat.completion.chunk",created:B,model:a,system_fingerprint:null,choices:[{index:0,delta:{content:`[Stream error: ${d.message||String(d)}]`},finish_reason:"stop",logprobs:null}]}))),c.enqueue(b.encode("data: [DONE]\n\n"))}finally{c.close()}}})),{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache","X-Accel-Buffering":"no"}})}else p=await n(o.body,a,A,B,u,e);return{response:p,url:g,headers:z,transformedBody:w}}}},42425:(a,b,c)=>{"use strict";let{Transform:d}=c(57075),e=c(38522),{redirectStatusSet:f,referrerPolicyTokens:g,badPortsSet:h}=c(19608),{getGlobalOrigin:i}=c(79412),{collectAnHTTPQuotedString:j,parseMIMEType:k}=c(16537),{performance:l}=c(643),{ReadableStreamFrom:m,isValidHTTPToken:n,normalizedMethodRecordsBase:o}=c(84285),p=c(34589),{isUint8Array:q}=c(73429),{webidl:r}=c(32984),{isomorphicEncode:s,collectASequenceOfCodePoints:t,removeChars:u}=c(70745);function v(a){let b=a.urlList,c=b.length;return 0===c?null:b[c-1].toString()}function w(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c>126||c<32)return!1}return!0}function x(a){return a.urlList[a.urlList.length-1]}function y(a){return!1===(" "===a[0]||" "===a[0]||" "===a[a.length-1]||" "===a[a.length-1]||a.includes("\n")||a.includes("\r")||a.includes("\0"))}function z(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function A(a,b=!1){return(p(r.is.URL(a)),J(a=new URL(a)))?"no-referrer":(a.username="",a.password="",a.hash="",!0===b&&(a.pathname="",a.search=""),a)}let B=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),C=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function D(a){return a.includes(":")?("["===a[0]&&"]"===a[a.length-1]&&(a=a.slice(1,-1)),C(a)):B(a)}function E(a){var b;return!!r.is.URL(a)&&("about:blank"===a.href||"about:srcdoc"===a.href||"data:"===a.protocol||"blob:"===a.protocol||null!=(b=a.origin)&&"null"!==b&&(!!("https:"===(b=new URL(b)).protocol||"wss:"===b.protocol||D(b.hostname)||"localhost"===b.hostname||"localhost."===b.hostname||b.hostname.endsWith(".localhost")||b.hostname.endsWith(".localhost."))||"file:"===b.protocol))}function F(a,b){return a.origin===b.origin&&"null"===a.origin||a.protocol===b.protocol&&a.hostname===b.hostname&&a.port===b.port}let G=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function H(a,b,c=0,d=1){class e{#ai;#aj;#ak;constructor(a,b){this.#ai=a,this.#aj=b,this.#ak=0}next(){let e;if("object"!=typeof this||this===null||!(#ai in this))throw TypeError(`'next' called on an object that does not implement interface ${a} Iterator.`);let f=this.#ak,g=b(this.#ai);if(f>=g.length)return{value:void 0,done:!0};let{[c]:h,[d]:i}=g[f];switch(this.#ak=f+1,this.#aj){case"key":e=h;break;case"value":e=i;break;case"key+value":e=[h,i]}return{value:e,done:!1}}}return delete e.prototype.constructor,Object.setPrototypeOf(e.prototype,G),Object.defineProperties(e.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${a} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(a,b){return new e(a,b)}}async function I(a,b,c){try{let d=[],e=0;for(;;){let{done:f,value:g}=await a.read();if(f)return void b(Buffer.concat(d,e));if(!q(g))return void c(TypeError("Received non-Uint8Array chunk"));d.push(g),e+=g.length}}catch(a){c(a)}}function J(a){p("protocol"in a);let b=a.protocol;return"about:"===b||"blob:"===b||"data:"===b}function K(a){return"string"==typeof a&&":"===a[5]&&"h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3]&&"s"===a[4]||"https:"===a.protocol}function L(a){p("protocol"in a);let b=a.protocol;return"http:"===b||"https:"===b}class M extends d{#al;constructor(a){super(),this.#al=a}_transform(a,b,c){if(!this._inflateStream){if(0===a.length)return void c();this._inflateStream=(15&a[0])==8?e.createInflate(this.#al):e.createInflateRaw(this.#al),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",a=>this.destroy(a))}this._inflateStream.write(a,b,c)}_final(a){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),a()}}function N(a,b){let c=b.get(a,!0);if(null===c)return null;let d={position:0},e=[],f="";for(;d.position<c.length;){if(f+=t(a=>'"'!==a&&","!==a,c,d),d.position<c.length)if(34===c.charCodeAt(d.position)){if(f+=j(c,d),d.position<c.length)continue}else p(44===c.charCodeAt(d.position)),d.position++;f=u(f,!0,!0,a=>9===a||32===a),e.push(f),f=""}return e}class O{get baseUrl(){return i()}get origin(){return this.baseUrl?.origin}policyContainer=z()}class P{settingsObject=new O}a.exports={isAborted:function(a){return"aborted"===a.controller.state},isCancelled:function(a){return"aborted"===a.controller.state||"terminated"===a.controller.state},isValidEncodedURL:w,ReadableStreamFrom:m,tryUpgradeRequestToAPotentiallyTrustworthyURL:function(a){},clampAndCoarsenConnectionTimingInfo:function(a,b,c){return!a?.startTime||a.startTime<b?{domainLookupStartTime:b,domainLookupEndTime:b,connectionStartTime:b,connectionEndTime:b,secureConnectionStartTime:b,ALPNNegotiatedProtocol:a?.ALPNNegotiatedProtocol}:{domainLookupStartTime:a.domainLookupStartTime,domainLookupEndTime:a.domainLookupEndTime,connectionStartTime:a.connectionStartTime,connectionEndTime:a.connectionEndTime,secureConnectionStartTime:a.secureConnectionStartTime,ALPNNegotiatedProtocol:a.ALPNNegotiatedProtocol}},coarsenedSharedCurrentTime:function(a){return l.now()},determineRequestsReferrer:function(a){let b=a.referrerPolicy;p(b);let c=null;if("client"===a.referrer){let a=i();if(!a||"null"===a.origin)return"no-referrer";c=new URL(a)}else r.is.URL(a.referrer)&&(c=a.referrer);let d=A(c),e=A(c,!0);switch(d.toString().length>4096&&(d=e),b){case"no-referrer":return"no-referrer";case"origin":if(null!=e)return e;return A(c,!0);case"unsafe-url":return d;case"strict-origin":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return e}case"strict-origin-when-cross-origin":{let b=x(a);if(F(d,b))return d;if(E(d)&&!E(b))return"no-referrer";return e}case"same-origin":if(F(a,d))return d;return"no-referrer";case"origin-when-cross-origin":if(F(a,d))return d;return e;case"no-referrer-when-downgrade":{let b=x(a);if(E(d)&&!E(b))return"no-referrer";return d}}},makePolicyContainer:z,clonePolicyContainer:function(a){return{referrerPolicy:a.referrerPolicy}},appendFetchMetadata:function(a){let b=null;b=a.mode,a.headersList.set("sec-fetch-mode",b,!0)},appendRequestOriginHeader:function(a){let b=a.origin;if("client"!==b&&void 0!==b){if("cors"===a.responseTainting||"websocket"===a.mode)a.headersList.append("origin",b,!0);else if("GET"!==a.method&&"HEAD"!==a.method){switch(a.referrerPolicy){case"no-referrer":b=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":a.origin&&K(a.origin)&&!K(x(a))&&(b=null);break;case"same-origin":F(a,x(a))||(b=null)}a.headersList.append("origin",b,!0)}}},TAOCheck:function(){return"success"},corsCheck:function(){return"success"},crossOriginResourcePolicyCheck:function(){return"allowed"},createOpaqueTimingInfo:function(a){return{startTime:a.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:a.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}},setRequestReferrerPolicyOnRedirect:function(a,b){let c=function(a){let b=(a.headersList.get("referrer-policy",!0)??"").split(","),c="";if(b.length)for(let a=b.length;0!==a;a--){let d=b[a-1].trim();if(g.has(d)){c=d;break}}return c}(b);""!==c&&(a.referrerPolicy=c)},isValidHTTPToken:n,requestBadPort:function(a){let b=x(a);return L(b)&&h.has(b.port)?"blocked":"allowed"},requestCurrentURL:x,responseURL:v,responseLocationURL:function(a,b){var c;if(!f.has(a.status))return null;let d=a.headersList.get("location",!0);return null!==d&&y(d)&&(w(d)||(c=d,d=Buffer.from(c,"binary").toString("utf8")),d=new URL(d,v(a))),d&&!d.hash&&(d.hash=b),d},isURLPotentiallyTrustworthy:E,isValidReasonPhrase:function(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(!(9===c||c>=32&&c<=126||c>=128&&c<=255))return!1}return!0},sameOrigin:F,normalizeMethod:function(a){return o[a.toLowerCase()]??a},iteratorMixin:function(a,b,c,d=0,e=1){let f=H(a,c,d,e),g={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return r.brandCheck(this,b),f(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(c,d=globalThis){if(r.brandCheck(this,b),r.argumentLengthCheck(arguments,1,`${a}.forEach`),"function"!=typeof c)throw TypeError(`Failed to execute 'forEach' on '${a}': parameter 1 is not of type 'Function'.`);for(let{0:a,1:b}of f(this,"key+value"))c.call(d,b,a,this)}}};return Object.defineProperties(b.prototype,{...g,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:g.entries.value}})},createIterator:H,isValidHeaderName:n,isValidHeaderValue:y,isErrorLike:function(a){return a instanceof Error||a?.constructor?.name==="Error"||a?.constructor?.name==="DOMException"},fullyReadBody:function(a,b,c){try{let d=a.stream.getReader();I(d,b,c)}catch(a){c(a)}},readableStreamClose:function(a){try{a.close(),a.byobRequest?.respond(0)}catch(a){if(!a.message.includes("Controller is already closed")&&!a.message.includes("ReadableStream is already closed"))throw a}},urlIsLocal:J,urlHasHttpsScheme:K,urlIsHttpHttpsScheme:L,readAllBytes:I,simpleRangeHeaderValue:function(a,b){if(!a.startsWith("bytes"))return"failure";let c={position:5};if(b&&t(a=>" "===a||" "===a,a,c),61!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let d=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),e=d.length?Number(d):null;if(b&&t(a=>" "===a||" "===a,a,c),45!==a.charCodeAt(c.position))return"failure";c.position++,b&&t(a=>" "===a||" "===a,a,c);let f=t(a=>{let b=a.charCodeAt(0);return b>=48&&b<=57},a,c),g=f.length?Number(f):null;return c.position<a.length||null===g&&null===e||null!==e&&null!==g&&e>g?"failure":{rangeStartValue:e,rangeEndValue:g}},buildContentRange:function(a,b,c){let d="bytes ";return d+=s(`${a}`),d+="-",d+=s(`${b}`),d+="/",d+=s(`${c}`)},createInflate:function(a){return new M(a)},extractMimeType:function(a){let b=null,c=null,d=null,e=N("content-type",a);if(null===e)return"failure";for(let a of e){let e=k(a);"failure"!==e&&"*/*"!==e.essence&&((d=e).essence!==c?(b=null,d.parameters.has("charset")&&(b=d.parameters.get("charset")),c=d.essence):d.parameters.has("charset")||null===b||d.parameters.set("charset",b))}return null==d?"failure":d},getDecodeSplit:N,environmentSettingsObject:new P,isOriginIPPotentiallyTrustworthy:D,hasAuthenticationEntry:function(a){return!1},includesCredentials:function(a){return!!(a.username||a.password)},isTraversableNavigable:function(a){return null!=a&&"client"!==a&&"no-traversable"!==a}}},42430:(a,b,c)=>{"use strict";let{addAbortListener:d}=c(78474),{environmentSettingsObject:e,readableStreamClose:f}=c(42425),{states:g,opcodes:h,sentCloseFrameState:i}=c(62026),{webidl:j}=c(32984),{getURLRecord:k,isValidSubprotocol:l,isEstablished:m,utf8Decode:n}=c(94050),{establishWebSocketConnection:o,failWebsocketConnection:p,closeWebSocketConnection:q}=c(4654),{channels:r}=c(62571),{WebsocketFrameSend:s}=c(45221),{ByteParser:t}=c(64821),{WebSocketError:u,createUnvalidatedWebSocketError:v}=c(87404),{kEnumerableProperty:w}=c(84285),{utf8DecodeBytes:x}=c(67449),y=!1;class z{#am;#an;#ao;#ap;#aq;#ar;#as=!1;#at={onConnectionEstablished:(a,b)=>this.#au(a,b),onMessage:(a,b)=>this.#av(a,b),onParserError:a=>p(this.#at,null,a.message),onParserDrain:()=>this.#at.socket.resume(),onSocketData:a=>{this.#aw.write(a)||this.#at.socket.pause()},onSocketError:a=>{this.#at.readyState=g.CLOSING,r.socketError.hasSubscribers&&r.socketError.publish(a),this.#at.socket.destroy()},onSocketClose:()=>this.#ax(),onPing:()=>{},onPong:()=>{},readyState:g.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#aw;constructor(a,b){y||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),y=!0),j.argumentLengthCheck(arguments,1,"WebSocket"),a=j.converters.USVString(a),null!==b&&(b=j.converters.WebSocketStreamOptions(b));const c=k(a,e.settingsObject.baseUrl),f=b.protocols;if(f.length!==new Set(f.map(a=>a.toLowerCase())).size||f.length>0&&!f.every(a=>l(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#am=c.toString(),this.#an=Promise.withResolvers(),this.#ao=Promise.withResolvers(),null!=b.signal){const a=b.signal;if(a.aborted){this.#an.reject(a.reason),this.#ao.reject(a.reason);return}d(a,()=>{m(this.#at.readyState)||(p(this.#at),this.#at.readyState=g.CLOSING,this.#an.reject(a.reason),this.#ao.reject(a.reason),this.#as=!0)})}const h=e.settingsObject;this.#at.controller=o(c,f,h,this.#at,b)}get url(){return this.#am.toString()}get opened(){return this.#an.promise}get closed(){return this.#ao.promise}close(a){null!==a&&(a=j.converters.WebSocketCloseInfo(a));let b=a.closeCode??null,c=a.reason;q(this.#at,b,c,!0)}#ay(a){a=j.converters.WebSocketStreamWrite(a);let b=Promise.withResolvers(),c=null,d=null;if(j.is.BufferSource(a))c=new Uint8Array(ArrayBuffer.isView(a)?new Uint8Array(a.buffer,a.byteOffset,a.byteLength):a.slice()),d=h.BINARY;else{let e;try{e=j.converters.DOMString(a)}catch(a){return b.reject(a),b.promise}c=new TextEncoder().encode(e),d=h.TEXT}if(!this.#at.closeState.has(i.SENT)&&!this.#at.closeState.has(i.RECEIVED)){let a=new s(c);this.#at.socket.write(a.createFrame(d),()=>{b.resolve(void 0)})}return b.promise}#au(a,b){this.#at.socket=a.socket;let c=this.#at.controller.dispatcher?.webSocketOptions?.maxFragments,d=this.#at.controller.dispatcher?.webSocketOptions?.maxPayloadSize,e=new t(this.#at,b,{maxFragments:c,maxPayloadSize:d});e.on("drain",()=>this.#at.onParserDrain()),e.on("error",a=>this.#at.onParserError(a)),this.#aw=e,this.#at.readyState=g.OPEN;let f=b??"",h=a.headersList.get("sec-websocket-protocol")??"",i=new ReadableStream({start:a=>{this.#aq=a},cancel:a=>this.#az(a)}),j=new WritableStream({write:a=>this.#ay(a),close:()=>q(this.#at,null,null),abort:a=>this.#aA(a)});this.#ap=i,this.#ar=j,this.#an.resolve({extensions:f,protocol:h,readable:i,writable:j})}#av(a,b){let c;if(this.#at.readyState===g.OPEN){if(a===h.TEXT)try{c=n(b)}catch{p(this.#at,1007,"Received invalid UTF-8 in text frame.");return}else a===h.BINARY&&(c=new Uint8Array(b.buffer,b.byteOffset,b.byteLength));this.#aq.enqueue(c)}}#ax(){let a=this.#at.closeState.has(i.SENT)&&this.#at.closeState.has(i.RECEIVED);if(this.#at.readyState=g.CLOSED,this.#as)return;this.#at.wasEverConnected||this.#an.reject(new u("Socket never opened"));let b=this.#aw?.closingInfo,c=b?.code??1005;this.#at.closeState.has(i.SENT)||this.#at.closeState.has(i.RECEIVED)||(c=1006);let d=b?.reason==null?"":x(Buffer.from(b.reason));if(a)f(this.#aq),this.#ar.locked||this.#ar.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#ao.resolve({closeCode:c,reason:d});else{let a=v("unclean close",c,d);this.#aq?.error(a),this.#ar?.abort(a),this.#ao.reject(a)}}#aA(a){let b=null,c="";j.is.WebSocketError(a)&&(b=a.closeCode,c=a.reason),q(this.#at,b,c)}#az(a){this.#aA(a)}}Object.defineProperties(z.prototype,{url:w,opened:w,closed:w,close:w,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}}),j.converters.WebSocketStreamOptions=j.dictionaryConverter([{key:"protocols",converter:j.sequenceConverter(j.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:j.nullableConverter(j.converters.AbortSignal),defaultValue:()=>null}]),j.converters.WebSocketCloseInfo=j.dictionaryConverter([{key:"closeCode",converter:a=>j.converters["unsigned short"](a,j.attributes.EnforceRange)},{key:"reason",converter:j.converters.USVString,defaultValue:()=>""}]),j.converters.WebSocketStreamWrite=function(a){return"string"==typeof a?j.converters.USVString(a):j.converters.BufferSource(a)},a.exports={WebSocketStream:z}},42541:(a,b,c)=>{"use strict";c.d(b,{h:()=>d});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",VERTEX:"vertex",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor",OLLAMA:"ollama",COMMANDCODE:"commandcode"}},42671:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToAntigravityRequest:()=>z,openaiToGeminiCLIRequest:()=>x,openaiToGeminiRequest:()=>w});var d=c(56294),e=c(42541),f=c(65556),g=c(48991),h=c(15822),i=c(13324),j=c(93745);function k(a,b){if("string"!=typeof a||"string"!=typeof b)return!1;let c=a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*");return RegExp(`^${c}$`,"i").test(b)}let l={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},m={"claude-opus-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"kimi-k3":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},k3:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072},"kimi-for-coding":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-for-coding-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536},"kimi-k2.7-code-highspeed":{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},n={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},o={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:372e3,maxOutput:128e3},p={vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:272e3,maxOutput:128e3},q={nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},codex:{"gpt-5.6-sol":o,"gpt-5.6-sol-review":o,"gpt-5.6-terra":p,"gpt-5.6-terra-review":p,"gpt-5.6-luna":p,"gpt-5.6-luna-review":p},kiro:{"gpt-5.6-sol":n,"gpt-5.6-terra":n,"gpt-5.6-luna":n,"gpt-5.6-sol-thinking":n,"gpt-5.6-terra-thinking":n,"gpt-5.6-luna-thinking":n,"gpt-5.6-sol-agentic":n,"gpt-5.6-terra-agentic":n,"gpt-5.6-luna-agentic":n,"gpt-5.6-sol-thinking-agentic":n,"gpt-5.6-terra-thinking-agentic":n,"gpt-5.6-luna-thinking-agentic":n},"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}},poolside:{"laguna-s-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3},"laguna-xs-2.1":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}}},r=[{pattern:"*claude*opus-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4.5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:5e5,maxOutput:64e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k3*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:131072}},{pattern:"*kimi*for-coding*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:65536}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*laguna-s-2.1*free*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*laguna-s-2.1*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:32e3}},{pattern:"*laguna*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:32e3}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function s(a){if(!a||"object"!=typeof a)return{};let b=Array.isArray(a.modalities?.input)?a.modalities.input:[],c=Array.isArray(a.modalities?.output)?a.modalities.output:[],d=Number(a.contextWindow??a.contextLength??a.maxInputTokens??a.limit?.context),e=Number(a.maxOutput??a.maxOutputTokens??a.limit?.output),f={...b.includes("image")?{vision:!0}:{},...b.includes("pdf")?{pdf:!0}:{},...b.includes("audio")?{audioInput:!0}:{},...b.includes("video")?{videoInput:!0}:{},...c.includes("image")?{imageOutput:!0}:{},...c.includes("audio")?{audioOutput:!0}:{}};return"boolean"==typeof a.reasoning&&(f.reasoning=a.reasoning),"boolean"==typeof a.tool_call&&(f.tools=a.tool_call),"boolean"==typeof a.tools&&(f.tools=a.tools),Number.isSafeInteger(d)&&d>0&&(f.contextWindow=d),Number.isSafeInteger(e)&&e>0&&(f.maxOutput=e),f}function t(){return crypto.randomUUID()}function u(a){if(!a)return"_unknown";let b=a.replace(/[^a-zA-Z0-9_.:\-]/g,"_");return/^[a-zA-Z_]/.test(b)||(b="_"+b),b.substring(0,64)}function v(a,b,c,d=f.bf){let e={model:a,contents:[],generationConfig:{},safetySettings:i.fc};void 0!==b.temperature&&(e.generationConfig.temperature=b.temperature),void 0!==b.top_p&&(e.generationConfig.topP=b.top_p),void 0!==b.top_k&&(e.generationConfig.topK=b.top_k);let g=b.max_output_tokens??b.max_completion_tokens??b.max_tokens;void 0!==g&&(e.generationConfig.maxOutputTokens=g);let h={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if("assistant"===a.role&&a.tool_calls)for(let b of a.tool_calls)"function"===b.type&&b.id&&b.function?.name&&(h[b.id]=b.function.name)}let j={};if(b.messages&&Array.isArray(b.messages))for(let a of b.messages)"tool"===a.role&&a.tool_call_id&&(j[a.tool_call_id]=a.content);if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=b.messages[a],f=c.role,g=c.content;if("system"===f&&b.messages.length>1){let a="string"==typeof g?g:(0,i.kU)(g);a&&(e.systemInstruction||(e.systemInstruction={role:"user",parts:[]}),e.systemInstruction.parts.push({text:a}))}else if("user"===f||"system"===f&&1===b.messages.length){let a=(0,i.S6)(g);a.length>0&&e.contents.push({role:"user",parts:a})}else if("assistant"===f){let a=[];if(c.reasoning_content&&(a.push({thought:!0,text:c.reasoning_content}),a.push({thoughtSignature:d,text:""})),g){let b="string"==typeof g?g:(0,i.kU)(g);b&&a.push({text:b})}if(c.tool_calls&&Array.isArray(c.tool_calls)){let b=[];for(let e of c.tool_calls){if("function"!==e.type)continue;let c=(0,i.pT)(e.function?.arguments||"{}");a.push({thoughtSignature:d,functionCall:{id:e.id,name:u(e.function.name),args:c}}),b.push(e.id)}if(a.length>0&&e.contents.push({role:"model",parts:a}),b.some(a=>j[a])){let a=[];for(let c of b){if(!j[c])continue;let b=h[c];if(!b){let a=c.split("-");b=a.length>2?a.slice(0,-2).join("-"):c}let d=j[c],e=(0,i.pT)(d);null===e?e={result:d}:"object"!=typeof e&&(e={result:e}),a.push({functionResponse:{id:c,name:u(b),response:{result:e}}})}a.length>0&&e.contents.push({role:"user",parts:a})}}else a.length>0&&e.contents.push({role:"model",parts:a})}}if(b.tools&&Array.isArray(b.tools)&&b.tools.length>0){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=(0,i.Yr)(structuredClone(c.input_schema||{type:"object",properties:{}}));a.push({name:u(c.name),description:c.description||"",parameters:b})}else if("function"===c.type&&c.function){let b=c.function,d=(0,i.Yr)(structuredClone(b.parameters||{type:"object",properties:{}}));a.push({name:u(b.name),description:b.description||"",parameters:d})}a.length>0&&(e.tools=[{functionDeclarations:a}])}return e}function w(a,b,c){return v(a,b,c)}function x(a,b,c){let d=v(a,b,c,f.$G),e=function(a,b,c=null){if(!b)return{...l};let d=b.includes("/")?b.split("/").pop():b;if(a){let e=q[a];if(e?.[b])return{...l,...e[b],...s(c)};if(e?.[d])return{...l,...e[d],...s(c)}}if(m[d])return{...l,...m[d],...s(c)};if(m[b])return{...l,...m[b],...s(c)};for(let{pattern:a,caps:e}of r)if(k(a,d)||k(a,b))return{...l,...e,...s(c)};return{...l,...s(c)}}("gemini-cli",a);if(b.reasoning_effort){let c=String(b.reasoning_effort).toLowerCase();if(/gemini-3/i.test(a)){d.generationConfig.thinkingConfig={thinkingLevel:c,includeThoughts:!0};let a="high"===c?e.maxOutput:"medium"===c?Math.min(e.maxOutput,32768):Math.min(e.maxOutput,16384);d.generationConfig.maxOutputTokens=Math.max(Number(d.generationConfig.maxOutputTokens)||0,a)}else d.generationConfig.thinkingConfig={thinkingBudget:({none:0,low:1024,medium:8192,high:24576})[c]??8192,includeThoughts:!0}}if(b.thinking?.type==="enabled"&&b.thinking.budget_tokens&&(d.generationConfig.thinkingConfig={thinkingBudget:b.thinking.budget_tokens,includeThoughts:!0}),d.tools?.[0]?.functionDeclarations){for(let a of d.tools[0].functionDeclarations)if(a.parameters){let b=(0,i.Yr)(a.parameters);a.parameters=b}}return d}function y(a,b,c=null,d=!1){let e={project:c?.projectId||c?.providerSpecificData?.projectId||(0,i.w_)(),model:a,userAgent:d?"antigravity":"gemini-cli",requestId:d?`agent-${t()}`:(0,i.KZ)(),request:{sessionId:d?(0,j.RF)(c?.email||c?.connectionId):(0,i.f6)(),contents:b.contents,systemInstruction:b.systemInstruction,generationConfig:b.generationConfig,tools:b.tools}};if(d){e.requestType="agent";let a=[{text:g.$V},{text:`Please ignore the following [ignore]${g.$V}[/ignore]`}];e.request.systemInstruction?.parts?e.request.systemInstruction.parts.unshift(...a):e.request.systemInstruction={role:"user",parts:a}}else e.request.safetySettings=b.safetySettings;return b.tools?.length>0&&(e.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}}),e}function z(a,b,c,d=null){if(a.toLowerCase().includes("claude")){let e=(0,h.openaiToClaudeRequestForAntigravity)(a,b,c);return function(a,b,c=null){let d={project:c?.projectId||c?.providerSpecificData?.projectId||(0,i.w_)(),model:a,userAgent:"antigravity",requestId:`agent-${t()}`,requestType:"agent",request:{sessionId:(0,j.RF)(c?.email||c?.connectionId),contents:[],generationConfig:{temperature:b.temperature||1,maxOutputTokens:b.max_tokens||4096}}},e={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if(Array.isArray(a.content))for(let b of a.content)"tool_use"===b.type&&b.id&&b.name&&(e[b.id]=b.name)}if(b.messages&&Array.isArray(b.messages))for(let a of b.messages){let b=[];if(Array.isArray(a.content)){for(let c of a.content)if("text"===c.type)b.push({text:c.text});else if("tool_use"===c.type)b.push({functionCall:{id:c.id,name:u(c.name),args:c.input||{}}});else if("tool_result"===c.type){let a=c.content;Array.isArray(a)&&(a=a.map(a=>"text"===a.type?a.text:JSON.stringify(a)).join("\n"));let d=e[c.tool_use_id]?u(e[c.tool_use_id]):"tool";b.push({functionResponse:{id:c.tool_use_id,name:d,response:{result:(0,i.pT)(a)||a}}})}}else"string"==typeof a.content&&b.push({text:a.content});b.length>0&&d.request.contents.push({role:"assistant"===a.role?"model":"user",parts:b})}if(b.tools&&Array.isArray(b.tools)){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=(0,i.Yr)(c.input_schema);a.push({name:u(c.name),description:c.description||"",parameters:b})}a.length>0&&(d.request.tools=[{functionDeclarations:a}],d.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}})}let f=[{text:g.$V},{text:`Please ignore the following [ignore]${g.$V}[/ignore]`}];if(b.system)if(Array.isArray(b.system))for(let a of b.system)a.text&&f.push({text:a.text});else"string"==typeof b.system&&f.push({text:b.system});return d.request.systemInstruction?.parts?d.request.systemInstruction.parts.unshift(...f):d.request.systemInstruction={role:"user",parts:f},d}(a,e,d)}let e=x(a,b,c);return y(a,e,d,!0)}(0,d.kz)(e.h.OPENAI,e.h.GEMINI,w,null),(0,d.kz)(e.h.OPENAI,e.h.GEMINI_CLI,(a,b,c,d)=>y(a,x(a,b,c),d),null),(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,z,null)},42946:(a,b,c)=>{"use strict";c.d(b,{Az:()=>f,fO:()=>h});var d=c(55511),e=c(48991);function f(a){let b=a.tools;if(!b||0===b.length)return{body:a,toolNameMap:null};let c=a=>`${a}${e.uR}`,d=new Map,f=new Set,h=[];for(let a of b){let b=c(a.name);d.set(b,a.name),f.add(a.name),h.push({...a,name:b})}let i=[...h,...g],j=a.messages?.map(a=>{if(!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type?{...a,name:c(a.name)}:a);return{...a,content:b}}),k={...a,tools:i,messages:j||a.messages};return a.tool_choice?.type==="tool"&&f.has(a.tool_choice.name)&&(k.tool_choice={...a.tool_choice,name:c(a.tool_choice.name)}),{body:k,toolNameMap:d.size>0?d:null}}let g=[{name:"Task",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskOutput",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskStop",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskCreate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskGet",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskUpdate",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"TaskList",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Bash",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Glob",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Grep",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Read",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Edit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Write",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"NotebookEdit",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebFetch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"WebSearch",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"AskUserQuestion",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"Skill",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"EnterPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}},{name:"ExitPlanMode",description:"This tool is currently unavailable.",input_schema:{type:"object",properties:{}}}];function h(a,b,c){let e,f,g,h,i,j;if(!b||!b.includes("sk-ant-oat"))return a;let k={...a},l={type:"text",text:(e=JSON.stringify(a),f=(0,d.createHash)("sha256").update(e).digest("hex").slice(0,5),g=(0,d.randomBytes)(2).toString("hex").slice(0,3),`x-anthropic-billing-header: cc_version=2.1.92.${g}; cc_entrypoint=sdk-cli; cch=${f};`)};return Array.isArray(k.system)?k.system[0]?.text?.startsWith("x-anthropic-billing-header:")||(k.system=[l,...k.system]):"string"==typeof k.system?k.system=[l,{type:"text",text:k.system}]:k.system=[l],k.metadata?.user_id||(k.metadata={...k.metadata,user_id:(h=(0,d.randomBytes)(32).toString("hex"),i=(0,d.randomUUID)(),j=c||(0,d.randomUUID)(),`{"device_id":"${h}","account_uuid":"${i}","session_id":"${j}"}`)}),k}},43086:(a,b,c)=>{"use strict";let d=c(5318),{kClose:e,kDestroy:f,kClosed:g,kDestroyed:h,kDispatch:i,kNoProxyAgent:j,kHttpProxyAgent:k,kHttpsProxyAgent:l}=c(49176),m=c(48841),n=c(37417),o={"http:":80,"https:":443};class p extends d{#aB=null;#aC=null;#y=null;constructor(a={}){super(),this.#y=a;const{httpProxy:b,httpsProxy:c,noProxy:d,...e}=a;this[j]=new n(e);const f=b??process.env.http_proxy??process.env.HTTP_PROXY;f?this[k]=new m({...e,uri:f}):this[k]=this[j];const g=c??process.env.https_proxy??process.env.HTTPS_PROXY;g?this[l]=new m({...e,uri:g}):this[l]=this[k],this.#aD()}[i](a,b){let c=new URL(a.origin);return this.#aE(c).dispatch(a,b)}[e](){return Promise.all([this[j].close(),!this[k][g]&&this[k].close(),!this[l][g]&&this[l].close()])}[f](a){return Promise.all([this[j].destroy(a),!this[k][h]&&this[k].destroy(a),!this[l][h]&&this[l].destroy(a)])}#aE(a){let{protocol:b,host:c,port:d}=a;return(c=c.replace(/:\d*$/,"").replace(/^\[(.+)\]$/,"$1").toLowerCase(),d=Number.parseInt(d,10)||o[b]||0,this.#aF(c,d))?"https:"===b?this[l]:this[k]:this[j]}#aF(a,b){if(this.#aG&&this.#aD(),0===this.#aC.length)return!0;if("*"===this.#aB)return!1;for(let c=0;c<this.#aC.length;c++){let d=this.#aC[c];if((!d.port||d.port===b)&&(a===d.hostname||a.slice(-(d.hostname.length+1))===`.${d.hostname}`))return!1}return!0}#aD(){let a=this.#y.noProxy??this.#aH,b=a.split(/[,\s]/),c=[];for(let a=0;a<b.length;a++){let d,e,f=b[a];if(!f)continue;let g=f.match(/^\[(.+)\]:(\d+)$/);if(g)d=g[1],e=Number.parseInt(g[2],10);else{let a=f.replace(/^\[(.+)\]$/,"$1"),b=1===(a.match(/:/g)||[]).length&&a.match(/^(.+):(\d+)$/);d=b?b[1]:a,e=b?Number.parseInt(b[2],10):0}c.push({hostname:d.replace(/^\*?\./,"").toLowerCase(),port:e})}this.#aB=a,this.#aC=c}get #aG(){return void 0===this.#y.noProxy&&this.#aB!==this.#aH}get #aH(){return process.env.no_proxy??process.env.NO_PROXY??""}}a.exports=p},43212:(a,b,c)=>{"use strict";c(56294),c(42541),c(51525),c(84238),c(92843),c(64323),new TextEncoder},43904:(a,b,c)=>{"use strict";let{kMockCallHistoryAddLog:d}=c(80830),{InvalidArgumentError:e}=c(61448);function f(a,b,c,d,f){switch(b.operator){case"OR":return d.push(...c(a,f)),d;case"AND":return c(a,d);default:throw new e("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function g(a){return(b,c=this.logs)=>{if("string"==typeof b||null==b)return c.filter(c=>c[a]===b);if(b instanceof RegExp)return c.filter(c=>b.test(c[a]));throw new e(`${a} parameter should be one of string, regexp, undefined or null`)}}class h{constructor(a={}){this.body=a.body,this.headers=a.headers,this.method=a.method;const b=function(a){try{let b=new URL(a.path,a.origin);if(0!==b.search.length)return b;return b.search=new URLSearchParams(a.query).toString(),b}catch(a){throw new e("An error occurred when computing MockCallHistoryLog.url",{cause:a})}}(a);this.fullUrl=b.toString(),this.origin=b.origin,this.path=b.pathname,this.searchParams=Object.fromEntries(b.searchParams),this.protocol=b.protocol,this.host=b.host,this.port=b.port,this.hash=b.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){let a="";return this.toMap().forEach((b,c)=>{("string"==typeof b||null==b)&&(a=`${a}${c}->${b}|`),("object"==typeof b&&null!==b||Array.isArray(b))&&(a=`${a}${c}->${JSON.stringify(b)}|`)}),a.slice(0,-1)}}class i{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(a){if("number"!=typeof a)throw new e("nthCall must be called with a number");if(!Number.isInteger(a))throw new e("nthCall must be called with an integer");if(1!==Math.sign(a))throw new e("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(a-1)}filterCalls(a,b){if(0===this.logs.length)return this.logs;if("function"==typeof a)return this.logs.filter(a);if(a instanceof RegExp)return this.logs.filter(b=>a.test(b.toString()));if("object"==typeof a&&null!==a){if(0===Object.keys(a).length)return this.logs;let c={operator:"OR",...function(a={}){let b={};if("operator"in a){if("string"!=typeof a.operator||"OR"!==a.operator.toUpperCase()&&"AND"!==a.operator.toUpperCase())throw new e("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...b,operator:a.operator.toUpperCase()}}return b}(b)},d="AND"===c.operator?this.logs:[];return"protocol"in a&&(d=f(a.protocol,c,this.filterCallsByProtocol,d,this.logs)),"host"in a&&(d=f(a.host,c,this.filterCallsByHost,d,this.logs)),"port"in a&&(d=f(a.port,c,this.filterCallsByPort,d,this.logs)),"origin"in a&&(d=f(a.origin,c,this.filterCallsByOrigin,d,this.logs)),"path"in a&&(d=f(a.path,c,this.filterCallsByPath,d,this.logs)),"hash"in a&&(d=f(a.hash,c,this.filterCallsByHash,d,this.logs)),"fullUrl"in a&&(d=f(a.fullUrl,c,this.filterCallsByFullUrl,d,this.logs)),"method"in a&&(d=f(a.method,c,this.filterCallsByMethod,d,this.logs)),[...new Set(d)]}throw new e("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=g.call(this,"protocol");filterCallsByHost=g.call(this,"host");filterCallsByPort=g.call(this,"port");filterCallsByOrigin=g.call(this,"origin");filterCallsByPath=g.call(this,"path");filterCallsByHash=g.call(this,"hash");filterCallsByFullUrl=g.call(this,"fullUrl");filterCallsByMethod=g.call(this,"method");clear(){this.logs=[]}[d](a){let b=new h(a);return this.logs.push(b),b}*[Symbol.iterator](){for(let a of this.calls())yield a}}a.exports.MockCallHistory=i,a.exports.MockCallHistoryLog=h},44089:(a,b,c)=>{"use strict";c(94026),c(15822),c(70884)},44991:(a,b,c)=>{"use strict";c.d(b,{D:()=>f});var d=c(50801),e=c(30395);class f extends d.L{constructor(){super("ollama-local")}buildUrl(a,b,c=0,d=null){return`${(0,e.Ak)(d)}/api/chat`}}},45221:(a,b,c)=>{"use strict";let{runtimeFeatures:d}=c(56758),{maxUnsigned16Bit:e,opcodes:f}=c(62026),g=null,h=8192,i=d.has("crypto")?c(77598).randomFillSync:null;function j(){return 8192===h&&(h=0,i(g??=Buffer.allocUnsafeSlow(8192),0,8192)),[g[h++],g[h++],g[h++],g[h++]]}class k{constructor(a){this.frameData=a}createFrame(a){let b=this.frameData,c=j(),d=b?.byteLength??0,f=d,g=6;d>e?(g+=8,f=127):d>125&&(g+=2,f=126);let h=Buffer.allocUnsafe(d+g);h[0]=h[1]=0,h[0]|=128,h[0]=(240&h[0])+a,h[g-4]=c[0],h[g-3]=c[1],h[g-2]=c[2],h[g-1]=c[3],h[1]=f,126===f?h.writeUInt16BE(d,2):127===f&&(h[2]=h[3]=0,h.writeUIntBE(d,4,6)),h[1]|=128;for(let a=0;a<d;++a)h[g+a]=b[a]^c[3&a];return h}static createFastTextFrame(a){let b=j(),c=a.length;for(let d=0;d<c;++d)a[d]^=b[3&d];let d=c,g=6;c>e?(g+=8,d=127):c>125&&(g+=2,d=126);let h=Buffer.allocUnsafeSlow(g);return h[0]=128|f.TEXT,h[1]=128|d,h[g-4]=b[0],h[g-3]=b[1],h[g-2]=b[2],h[g-1]=b[3],126===d?h.writeUInt16BE(c,2):127===d&&(h[2]=h[3]=0,h.writeUIntBE(c,4,6)),[h,a]}}a.exports={WebsocketFrameSend:k,generateMask:j}},45518:(a,b,c)=>{var d,e,f,g,h,i=c(45654);function j(a,b){i.cipher.registerAlgorithm(a,function(){return new i.aes.Algorithm(a,b)})}c(66568),c(19396),c(33889),a.exports=i.aes=i.aes||{},i.aes.startEncrypting=function(a,b,c,d){var e=o({key:a,output:c,decrypt:!1,mode:d});return e.start(b),e},i.aes.createEncryptionCipher=function(a,b){return o({key:a,output:null,decrypt:!1,mode:b})},i.aes.startDecrypting=function(a,b,c,d){var e=o({key:a,output:c,decrypt:!0,mode:d});return e.start(b),e},i.aes.createDecryptionCipher=function(a,b){return o({key:a,output:null,decrypt:!0,mode:b})},i.aes.Algorithm=function(a,b){k||l();var c=this;c.name=a,c.mode=new b({blockSize:16,cipher:{encrypt:function(a,b){return n(c._w,a,b,!1)},decrypt:function(a,b){return n(c._w,a,b,!0)}}}),c._init=!1},i.aes.Algorithm.prototype.initialize=function(a){if(!this._init){var b,c=a.key;if("string"==typeof c&&(16===c.length||24===c.length||32===c.length))c=i.util.createBuffer(c);else if(i.util.isArray(c)&&(16===c.length||24===c.length||32===c.length)){b=c,c=i.util.createBuffer();for(var d=0;d<b.length;++d)c.putByte(b[d])}if(!i.util.isArray(c)){b=c,c=[];var e=b.length();if(16===e||24===e||32===e){e>>>=2;for(var d=0;d<e;++d)c.push(b.getInt32())}}if(!i.util.isArray(c)||4!==c.length&&6!==c.length&&8!==c.length)throw Error("Invalid key parameter.");var f=-1!==["CFB","OFB","CTR","GCM"].indexOf(this.mode.name);this._w=m(c,a.decrypt&&!f),this._init=!0}},i.aes._expandKey=function(a,b){return k||l(),m(a,b)},i.aes._updateBlock=n,j("AES-ECB",i.cipher.modes.ecb),j("AES-CBC",i.cipher.modes.cbc),j("AES-CFB",i.cipher.modes.cfb),j("AES-OFB",i.cipher.modes.ofb),j("AES-CTR",i.cipher.modes.ctr),j("AES-GCM",i.cipher.modes.gcm);var k=!1;function l(){k=!0,f=[0,1,2,4,8,16,32,64,128,27,54];for(var a=Array(256),b=0;b<128;++b)a[b]=b<<1,a[b+128]=b+128<<1^283;d=Array(256),e=Array(256),g=[,,,,],h=[,,,,];for(var b=0;b<4;++b)g[b]=Array(256),h[b]=Array(256);for(var c,i,j,l,m,n,o,p=0,q=0,b=0;b<256;++b){l=(l=q^q<<1^q<<2^q<<3^q<<4)>>8^255&l^99,d[p]=l,e[l]=p,m=a[l],c=a[p],i=a[c],j=a[i],n=m<<24^l<<16^l<<8^(l^m),o=(c^i^j)<<24^(p^j)<<16^(p^i^j)<<8^(p^c^j);for(var r=0;r<4;++r)g[r][p]=n,h[r][l]=o,n=n<<24|n>>>8,o=o<<24|o>>>8;0===p?p=q=1:(p=c^a[a[a[c^j]]],q^=a[a[q]])}}function m(a,b){for(var c,e=a.slice(0),g=1,i=e.length,j=4*(i+6+1),k=i;k<j;++k)c=e[k-1],k%i==0?(c=d[c>>>16&255]<<24^d[c>>>8&255]<<16^d[255&c]<<8^d[c>>>24]^f[g]<<24,g++):i>6&&k%i==4&&(c=d[c>>>24]<<24^d[c>>>16&255]<<16^d[c>>>8&255]<<8^d[255&c]),e[k]=e[k-i]^c;if(b){var l,m=h[0],n=h[1],o=h[2],p=h[3],q=e.slice(0);j=e.length;for(var k=0,r=j-4;k<j;k+=4,r-=4)if(0===k||k===j-4)q[k]=e[r],q[k+1]=e[r+3],q[k+2]=e[r+2],q[k+3]=e[r+1];else for(var s=0;s<4;++s)l=e[r+s],q[k+(3&-s)]=m[d[l>>>24]]^n[d[l>>>16&255]]^o[d[l>>>8&255]]^p[d[255&l]];e=q}return e}function n(a,b,c,f){var i,j,k,l,m,n,o,p,q,r,s,t,u=a.length/4-1;f?(i=h[0],j=h[1],k=h[2],l=h[3],m=e):(i=g[0],j=g[1],k=g[2],l=g[3],m=d),n=b[0]^a[0],o=b[f?3:1]^a[1],p=b[2]^a[2],q=b[f?1:3]^a[3];for(var v=3,w=1;w<u;++w)r=i[n>>>24]^j[o>>>16&255]^k[p>>>8&255]^l[255&q]^a[++v],s=i[o>>>24]^j[p>>>16&255]^k[q>>>8&255]^l[255&n]^a[++v],t=i[p>>>24]^j[q>>>16&255]^k[n>>>8&255]^l[255&o]^a[++v],q=i[q>>>24]^j[n>>>16&255]^k[o>>>8&255]^l[255&p]^a[++v],n=r,o=s,p=t;c[0]=m[n>>>24]<<24^m[o>>>16&255]<<16^m[p>>>8&255]<<8^m[255&q]^a[++v],c[f?3:1]=m[o>>>24]<<24^m[p>>>16&255]<<16^m[q>>>8&255]<<8^m[255&n]^a[++v],c[2]=m[p>>>24]<<24^m[q>>>16&255]<<16^m[n>>>8&255]<<8^m[255&o]^a[++v],c[f?1:3]=m[q>>>24]<<24^m[n>>>16&255]<<16^m[o>>>8&255]<<8^m[255&p]^a[++v]}function o(a){var b,c="AES-"+((a=a||{}).mode||"CBC").toUpperCase(),d=(b=a.decrypt?i.cipher.createDecipher(c,a.key):i.cipher.createCipher(c,a.key)).start;return b.start=function(a,c){var e=null;c instanceof i.util.ByteBuffer&&(e=c,c={}),(c=c||{}).output=e,c.iv=a,d.call(b,c)},b}},45654:a=>{a.exports={options:{usePureJavaScript:!1}}},45874:(a,b,c)=>{"use strict";c.d(b,{Xx:()=>j,exportSettings:()=>k,getSettings:()=>i});var d=c(24081),e=c(50743);let f={cloudEnabled:!1,tunnelEnabled:!1,tunnelUrl:"",tunnelProvider:"cloudflare",tailscaleEnabled:!1,tailscaleUrl:"",stickyRoundRobinLimit:3,providerStrategies:{},comboStrategy:"fallback",comboStickyRoundRobinLimit:1,comboStrategies:{},responseCacheEnabled:!1,requireLogin:!0,tunnelDashboardAccess:!0,authMode:"password",oidcIssuerUrl:"",oidcClientId:"",oidcClientSecret:"",oidcScopes:"openid profile email",oidcLoginLabel:"Sign in with OIDC",enableObservability:!0,observabilityMaxRecords:1e3,observabilityBatchSize:20,observabilityFlushIntervalMs:5e3,observabilityMaxJsonSize:5,outboundProxyEnabled:!1,outboundProxyUrl:"",outboundNoProxy:"",mitmRouterBaseUrl:"http://localhost:1997",dnsToolEnabled:{},rtkEnabled:!0,headroomEnabled:!1,headroomUrl:"http://localhost:8787",headroomCompressUserMessages:!1,headroomCodeAware:!1,headroomKompress:!0,cavemanEnabled:!1,cavemanLevel:"full",ponytailEnabled:!1,ponytailLevel:"full",pxpipeEnabled:!1,pxpipeAutoInstall:!0,pxpipeMinChars:25e3,pxpipeTimeoutMs:15e3,contextInjectionEnabled:!1,fiveSimApiKey:""};async function g(){let a=(await (0,d.cK)()).get("SELECT data FROM settings WHERE id = 1");return a?(0,e.q)(a.data,{}):{}}function h(a){let b={...f,...a||{}};for(let[a,c]of Object.entries(f))void 0===b[a]&&("outboundProxyEnabled"===a&&"string"==typeof b.outboundProxyUrl&&b.outboundProxyUrl.trim()?b[a]=!0:b[a]=c);return b}async function i(){return h(await g())}async function j(a){let b,c=await (0,d.cK)();return c.transaction(()=>{let d=c.get("SELECT data FROM settings WHERE id = 1");b={...d?(0,e.q)(d.data,{}):{},...a},c.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,e.s)(b)])}),h(b)}async function k(){return await g()}},46455:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{NS:()=>m,dg:()=>o});var e=c(5210),f=c(70321),g=c(17206),h=c(65333),i=c(63993),j=c(23740),k=a([e,h]);[e,h]=k.then?(await k)():k;let p=["expired","authentication","unauthorized","401","re-authorize"],q=globalThis._quotaUsageInflight??=new Map;async function l(a,b=!1,c=null){let d=(0,h.SB)(a.provider),e={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||d.needsRefresh(e)))return{connection:a,refreshed:!1};let g=await d.refreshCredentials(e,console,c);if(!g){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let i={updatedAt:new Date().toISOString()};g.accessToken&&(i.accessToken=g.accessToken),g.refreshToken&&(i.refreshToken=g.refreshToken),g.idToken&&(i.idToken=g.idToken),g.lastRefreshAt&&(i.lastRefreshAt=g.lastRefreshAt),g.expiresIn?(i.expiresAt=new Date(Date.now()+1e3*g.expiresIn).toISOString(),i.expiresIn=g.expiresIn):g.expiresAt&&(i.expiresAt=g.expiresAt);let j={...g.providerSpecificData||{},...g.copilotToken?{copilotToken:g.copilotToken}:{},...g.copilotTokenExpiresAt?{copilotTokenExpiresAt:g.copilotTokenExpiresAt}:{}};return Object.keys(j).length>0&&(i.providerSpecificData={...a.providerSpecificData||{},...j}),await (0,f.updateProviderConnection)(a.id,i),{connection:{...a,...i,providerSpecificData:i.providerSpecificData||a.providerSpecificData},refreshed:!0}}function m(a){var b;let c;if(!a)return!1;let d=(b=a.authType,c=String(b||"").toLowerCase().trim(),"api-key"===c||"api_key"===c||"api key"===c?"apikey":c);return"oauth"===d||"apikey"===d&&j.jO.includes(a.provider)}async function n(a,b,c){let{writeCache:d=!1,force:e=!1}=b,h=await (0,f.Mc)(a);if(!h)return{error:"Connection not found",notFound:!0};if(!m(h))return{message:"Usage not available for this connection"};let j=await (0,i.B)(h.providerSpecificData),k={connectionProxyEnabled:!0===j.connectionProxyEnabled,connectionProxyUrl:j.connectionProxyUrl||"",connectionNoProxy:j.connectionNoProxy||"",vercelRelayUrl:j.vercelRelayUrl||"",strictProxy:!1},n=h,o="oauth"===n.authType;o&&(n=(await l(n,e,k)).connection);let q=await (0,g.my)(n,k);if(o&&function(a){if(!a?.message)return!1;let b=a.message.toLowerCase();return p.some(a=>b.includes(a))}(q)&&n.refreshToken)try{n=(await l(n,!0,k)).connection,q=await (0,g.my)(n,k)}catch(a){console.warn(`[Usage] ${n.provider}: force refresh failed: ${a.message}`)}if((d||c.writeCache)&&q&&!q.error)try{await (0,f.KK)(n.id,n.provider,q)}catch(a){console.warn(`[QuotaCache] save failed for ${n.id}: ${a.message}`)}return q}async function o(a,b={}){let c=q.get(a);if(c||(c={active:null,queuedForce:null},q.set(a,c)),c.queuedForce)return b.writeCache&&(c.queuedForce.writeCache=!0),c.queuedForce.promise;if(c.active&&(!b.force||c.active.force))return b.writeCache&&(c.active.writeCache=!0),c.active.promise;let d=b=>{c.active===b&&(c.active=null),c.active||c.queuedForce||q.get(a)!==c||q.delete(a)};if(c.active){let e=c.active.promise,f={force:!0,writeCache:!0===b.writeCache,promise:null},g=()=>(c.queuedForce===f&&(c.queuedForce=null),c.active=f,n(a,{...b,force:!0},f));return f.promise=e.then(g,g).finally(()=>d(f)),c.queuedForce=f,f.promise}let e={force:!0===b.force,writeCache:!0===b.writeCache,promise:null};return c.active=e,e.promise=n(a,b,e).finally(()=>d(e)),e.promise}d()}catch(a){d(a)}})},46956:(a,b,c)=>{"use strict";c.d(b,{F:()=>s});var d=c(3433),e=c(27910),f=c(8735);let g=globalThis.fetch,h=new Map,i=new Map,j=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],k=["8.8.8.8","8.8.4.4"];function l(){let a=Error("Request aborted");return a.name="AbortError",a}function m(a){return null==a?"":String(a).trim()}async function n(a,b=null){let d,e=i.get(a);if(e&&Date.now()<e.expiry)return e.ip;if(b?.aborted)throw l();try{let e=await Promise.resolve().then(c.t.bind(c,14985,23)),{promisify:g}=await Promise.resolve().then(c.t.bind(c,28354,23)),h=new e.Resolver;h.setServers(k);let j=g(h.resolve4.bind(h)),m=b?await Promise.race([j(a),new Promise((a,c)=>{d=()=>{h.cancel?.(),c(l())},b.addEventListener("abort",d,{once:!0})})]):await j(a);return i.set(a,{ip:m[0],expiry:Date.now()+f.v1.dnsCacheTtlMs}),m[0]}catch(c){if(b?.aborted||c?.name==="AbortError")throw l();return console.warn(`[ProxyFetch] DNS resolve failed for ${a}:`,c.message),null}finally{d&&b?.removeEventListener?.("abort",d)}}function o(a,b){let c,d=m(b);if(!d)return!1;try{c=new URL(a).hostname.toLowerCase()}catch{return!1}return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.startsWith(".")?c.endsWith(a)||c===a.slice(1):c===a||c.endsWith(`.${a}`)))}function p(a){let b=m(a);if(!b)return null;try{return new URL(b),b}catch{return`http://${b}`}}async function q(a){let b=p(a);if(!b)return null;if(!h.has(b)){h.size>=f.v1.proxyDispatchersMaxSize&&h.delete(h.keys().next().value);let{ProxyAgent:a}=await Promise.resolve().then(c.t.bind(c,3433,19));h.set(b,new a({uri:b}))}return h.get(b)}async function r(a,b,d){let f=await Promise.resolve().then(c.t.bind(c,55591,23)),g=await Promise.resolve().then(c.t.bind(c,91645,23)),h=f.default??f,i=g.default??g;return new Promise((c,f)=>{let g=new i.Socket,j=d.signal,k=null,m=null,n=!1,o=()=>j?.removeEventListener?.("abort",q),p=a=>{n||(n=!0,o(),f(a))},q=()=>{let a=l();m?.destroy?.(a),k?.destroy?.(a),g.destroy(a),p(a)};j?.aborted?q():(j?.addEventListener?.("abort",q,{once:!0}),g.connect(443,b,()=>{if(n||j?.aborted)return;let b={socket:g,servername:a.hostname,path:a.pathname+a.search,method:d.method||"POST",headers:{...d.headers,Host:a.hostname}};(k=h.request(b,a=>{m=a,n=!0,a.once("close",o);let b={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:e.Readable.toWeb(a),text:async()=>{let b=[];for await(let c of a)b.push(c);return Buffer.concat(b).toString()},json:async()=>JSON.parse(await b.text())};c(b)})).on("error",a=>p(a)),d.body&&k.write("string"==typeof d.body?d.body:JSON.stringify(d.body)),k.end()}),g.on("error",a=>p(a)))})}async function s(a,b={},c=null){let e="string"==typeof a?a:a.toString(),f=m(c?.vercelRelayUrl);if(f){let a=new URL(e),c={...b.headers,"x-relay-target":`${a.protocol}//${a.host}`,"x-relay-path":`${a.pathname}${a.search}`};return g(f,{...b,headers:c})}let h=function(a,b){if(b?.enabled!==!0&&b?.connectionProxyEnabled!==!0)return null;let c=m(b?.url??b?.connectionProxyUrl);if(!c)return null;let d=m(b?.noProxy??b?.connectionNoProxy);return d&&o(a,d)?null:p(c)}(e,c),i=h?null:p(function(a){let b;if(o(a,process.env.NO_PROXY||process.env.no_proxy))return null;try{b=new URL(a).protocol}catch{return null}return"https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(e)),k=h||i;if(function(a){try{let b=new URL(a).hostname;return j.some(a=>b.includes(a))}catch{return!1}}(e)){if(k)try{let c=await q(k);return await (0,d.hd)(a,{...b,dispatcher:c})}catch(a){if(b.signal?.aborted||a?.name==="AbortError")throw a;if(c?.strictProxy===!0)throw Error("[ProxyFetch] Required proxy request failed");throw Error("[ProxyFetch] Proxy request failed for protected upstream")}let f=new URL(e),h=await n(f.hostname,b.signal);return h?r(f,h,b):g(a,b)}if(k)try{let c=await q(k);return await (0,d.hd)(a,{...b,dispatcher:c})}catch(a){if(b.signal?.aborted||a?.name==="AbortError")throw a;if(c?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${a.message}`);if(c?.singleTransportAttempt===!0)throw Error("[ProxyFetch] Proxy request failed for single-attempt upstream");console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${a.message}`)}return g(a,b)}async function t(a,b={}){return s(a,b,null)}globalThis.fetch!==t&&(globalThis.fetch=t)},47335:(a,b,c)=>{"use strict";let d=c(83204),{ResponseError:e}=c(61448);class f extends d{#J;#aI;#aJ;#e;#aK;constructor(a,{handler:b}){super(b)}#aL(a){return 0===(this.#aI??"").indexOf(a)}onRequestStart(a,b){return this.#J=0,this.#aI=null,this.#aJ=null,this.#e=null,this.#aK="",super.onRequestStart(a,b)}onResponseStart(a,b,c,d){if(this.#J=b,this.#e=c,this.#aI=c["content-type"],this.#J<400)return super.onResponseStart(a,b,c,d);(this.#aL("application/json")||this.#aL("text/plain"))&&(this.#aJ=new TextDecoder("utf-8"))}onResponseData(a,b){if(this.#J<400)return super.onResponseData(a,b);this.#aK+=this.#aJ?.decode(b,{stream:!0})??""}onResponseEnd(a,b){if(this.#J>=400){let b;if(this.#aK+=this.#aJ?.decode(void 0,{stream:!1})??"",this.#aL("application/json"))try{this.#aK=JSON.parse(this.#aK)}catch{}let c=Error.stackTraceLimit;Error.stackTraceLimit=0;try{b=new e("Response Error",this.#J,{body:this.#aK,headers:this.#e})}finally{Error.stackTraceLimit=c}super.onResponseError(a,b)}else super.onResponseEnd(a,b)}onResponseError(a,b){super.onResponseError(a,b)}}a.exports=()=>a=>function(b,c){return a(b,new f(b,{handler:c}))}},47703:(a,b,c)=>{"use strict";let{pipeline:d}=c(57075),{fetching:e}=c(76403),{webidl:f}=c(32984),{EventSourceStream:g}=c(97356),{parseMIMEType:h}=c(16537),{createFastMessageEvent:i}=c(51753),{isNetworkError:j}=c(78196),{kEnumerableProperty:k}=c(84285),{environmentSettingsObject:l}=c(42425),{createPotentialCORSRequest:m}=c(26376),n=!1;class o extends EventTarget{#aM={open:null,error:null,message:null};#am;#aN=!1;#aO=0;#aP=null;#B=null;#d;#a;constructor(a,b={}){let c;super(),f.util.markAsUncloneable(this);const d="EventSource constructor";f.argumentLengthCheck(arguments,1,d),n||(n=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),a=f.converters.USVString(a),b=f.converters.EventSourceInitDict(b,d,"eventSourceInitDict"),this.#d=b.node.dispatcher||b.dispatcher,this.#a={lastEventId:"",reconnectionTime:b.node.reconnectionTime};try{c=new URL(a,l.settingsObject.baseUrl),this.#a.origin=c.origin}catch(a){throw new DOMException(a,"SyntaxError")}this.#am=c.href;let e="anonymous";!0===b.withCredentials&&(e="use-credentials",this.#aN=!0);const g=m(c,"",e);g.client=l.settingsObject,g.headersList.set("Accept","text/event-stream"),g.cache="no-store",g.initiator="other",this.#aP=g,this.#aQ()}get readyState(){return this.#aO}get url(){return this.#am}get withCredentials(){return this.#aN}#aQ(){if(2===this.#aO)return;this.#aO=0;let a={request:this.#aP,dispatcher:this.#d};a.processResponseEndOfBody=a=>{if(!j(a))return this.#aR()},a.processResponse=a=>{if(j(a))if(!a.aborted)return void this.#aR();else{this.close(),this.dispatchEvent(new Event("error"));return}let b=a.headersList.get("content-type",!0),c=null!==b?h(b):"failure",e="failure"!==c&&"text/event-stream"===c.essence;if(200!==a.status||!1===e){this.close(),this.dispatchEvent(new Event("error"));return}this.#aO=1,this.dispatchEvent(new Event("open")),this.#a.origin=a.urlList[a.urlList.length-1].origin;let f=new g({eventSourceSettings:this.#a,push:a=>{this.dispatchEvent(i(a.type,a.options))}});d(a.body.stream,f,a=>{a?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#B=e(a)}#aR(){2!==this.#aO&&(this.#aO=0,this.dispatchEvent(new Event("error")),setTimeout(()=>{0===this.#aO&&(this.#a.lastEventId.length&&this.#aP.headersList.set("last-event-id",this.#a.lastEventId,!0),this.#aQ())},this.#a.reconnectionTime)?.unref())}close(){f.brandCheck(this,o),2!==this.#aO&&(this.#aO=2,this.#B.abort(),this.#aP=null)}get onopen(){return this.#aM.open}set onopen(a){this.#aM.open&&this.removeEventListener("open",this.#aM.open);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("open",b),this.#aM.open=a):this.#aM.open=null}get onmessage(){return this.#aM.message}set onmessage(a){this.#aM.message&&this.removeEventListener("message",this.#aM.message);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("message",b),this.#aM.message=a):this.#aM.message=null}get onerror(){return this.#aM.error}set onerror(a){this.#aM.error&&this.removeEventListener("error",this.#aM.error);let b=f.converters.EventHandlerNonNull(a);null!==b?(this.addEventListener("error",b),this.#aM.error=a):this.#aM.error=null}}let p={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:0,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:1,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:2,writable:!1}};Object.defineProperties(o,p),Object.defineProperties(o.prototype,p),Object.defineProperties(o.prototype,{close:k,onerror:k,onmessage:k,onopen:k,readyState:k,url:k,withCredentials:k}),f.converters.EventSourceInitDict=f.dictionaryConverter([{key:"withCredentials",converter:f.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:f.converters.any},{key:"node",converter:f.dictionaryConverter([{key:"reconnectionTime",converter:f.converters["unsigned long"],defaultValue:()=>3e3},{key:"dispatcher",converter:f.converters.any}]),defaultValue:()=>({})}]),a.exports={EventSource:o,defaultReconnectionTime:3e3}},47800:(a,b,c)=>{"use strict";let{InvalidArgumentError:d}=c(61448),{runtimeFeatures:e}=c(56758),f=e.has("crypto")?c(77598):null,g=f?.hash?a=>f.hash("sha256",a,"base64url"):a=>Buffer.from(a).toString("base64url");function h(a){return Array.isArray(a)&&(1&a.length)==0}let i=["record","playback","update"];a.exports={createHeaderFilters:function(a={}){let{ignoreHeaders:b=[],excludeHeaders:c=[],matchHeaders:d=[],caseSensitive:e=!1}=a;return{ignore:new Set(b.map(a=>e?a:a.toLowerCase())),exclude:new Set(c.map(a=>e?a:a.toLowerCase())),match:new Set(d.map(a=>e?a:a.toLowerCase()))}},hashId:g,isUndiciHeaders:h,normalizeHeaders:function(a){let b={};if(!a)return b;if(h(a)){for(let c=0;c<a.length;c+=2){let d=a[c],e=a[c+1];if(d&&void 0!==e){let a=Buffer.isBuffer(d)?d.toString():d,c=Buffer.isBuffer(e)?e.toString():e;b[a.toLowerCase()]=c}}return b}if(a&&"object"==typeof a)for(let[c,d]of Object.entries(a))c&&"string"==typeof c&&(b[c.toLowerCase()]=Array.isArray(d)?d.join(", "):String(d));return b},isUrlExcludedFactory:function(a=[]){return 0===a.length?()=>!1:function(b){let c;for(let d of a)if("string"==typeof d){if(c||(c=b.toLowerCase()),c.includes(d.toLowerCase()))return!0}else if(d instanceof RegExp&&d.test(b))return!0;return!1}},validateSnapshotMode:function(a){if(!i.includes(a))throw new d(`Invalid snapshot mode: ${a}. Must be one of: ${i.join(", ")}`)}}},48841:(a,b,c)=>{"use strict";let{kProxy:d,kClose:e,kDestroy:f,kDispatch:g}=c(49176),h=c(37417),i=c(35689),j=c(5318),{InvalidArgumentError:k,RequestAbortedError:l,SecureProxyConnectionError:m,ProxyConnectionError:n}=c(61448),o=c(55285),p=c(40106),{channels:q}=c(62571),r=c(64156),s=Symbol("proxy agent"),t=Symbol("proxy client"),u=Symbol("proxy headers"),v=Symbol("request tls settings"),w=Symbol("proxy tls settings"),x=Symbol("connect endpoint function"),y=Symbol("connect endpoint function (http/1.1 only)"),z=Symbol("tunnel proxy"),A="proxy-authorization";function B(a,b){return new i(a,b)}let C=()=>{};function D(a,b){return 1===b.connections?new p(a,b):new i(a,b)}class E extends j{#aS;#aT;constructor(a,{headers:b={},connect:c,factory:d,proxyServername:e}){if(!a)throw new k("Proxy URL is mandatory");super(),this[u]=b,this.#aT=e,d?this.#aS=d(a,{connect:c}):this.#aS=new p(a,{connect:c})}[g](a,b){let c=b.onResponseStart;b.onResponseStart=function(a,d,e,f){if(407===d){"function"==typeof b.onResponseError&&b.onResponseError(a,new k("Proxy Authentication Required (407)"));return}c&&c.call(this,a,d,e,f)};let{origin:d,path:e="/",headers:f={}}=a;if(a.path=d+e,!("host"in f)&&!("Host"in f)){let{host:a}=new URL(d);f.host=a}return a.headers={...this[u],...f},null!=this.#aT&&(a.servername=this.#aT),this.#aS[g](a,b)}[e](){return this.#aS.close()}[f](a){return this.#aS.destroy(a)}}class F extends j{constructor(a){if(!a||"object"==typeof a&&!(a instanceof URL)&&!a.uri)throw new k("Proxy uri is mandatory");const{clientFactory:b=B}=a;if("function"!=typeof b)throw new k("Proxy opts.clientFactory must be a function.");const{proxyTunnel:c,connectTimeout:e}=a;super();const f=this.#aU(a),{href:g,origin:i,port:j,protocol:p,username:A,password:F,hostname:G}=f;if(this[d]={uri:g,protocol:p},this[v]=a.requestTls,this[w]=a.proxyTls,this[u]=a.headers||{},this[z]=c,a.auth&&a.token)throw new k("opts.auth cannot be used in combination with opts.token");a.auth?this[u]["proxy-authorization"]=`Basic ${a.auth}`:a.token?this[u]["proxy-authorization"]=a.token:A&&F?this[u]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(A)}:${decodeURIComponent(F)}`).toString("base64")}`:A&&(this[u]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(A)}:`).toString("base64")}`);const H=o({timeout:e,...a.proxyTls}),I=o({timeout:e,...a.proxyTls,allowH2:!1});this[x]=o({timeout:e,...a.requestTls}),this[y]=o({timeout:e,...a.requestTls,allowH2:!1});const J=a.factory||D,K=(b,c)=>{let{protocol:e}=new URL(b);if("socks5:"===this[d].protocol||"socks:"===this[d].protocol)return new r(this[d].uri,{headers:this[u],connect:H,factory:J,username:a.username||A,password:a.password||F,proxyTls:a.proxyTls,requestTls:a.requestTls});if(!0!==this[z]&&"http:"===e){let a="https:"===this[d].protocol?(a,b)=>I(a,(a,c)=>{a&&"ERR_TLS_CERT_ALTNAME_INVALID"===a.code?b(new m(a)):b(a,c)}):I;return new E(this[d].uri,{headers:this[u],connect:a,factory:J,proxyServername:"https:"===this[d].protocol?this[w]?.servername||G:void 0})}return J(b,c)};"socks5:"===p||"socks:"===p?this[t]=null:this[t]=b(f,{connect:H}),this[s]=new h({...a,factory:K,connect:async(a,b)=>{if(!this[t])return void b(new k("Cannot establish tunnel connection without a proxy client"));let c=a.host;a.port||(c+=`:${"https:"===a.protocol?443:80}`);try{let d,e={origin:i,port:j,path:c,signal:a.signal,headers:{...this[u],host:a.host,...null==a.connections||a.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[w]?.servername||G},{socket:f,statusCode:g}=await this[t].connect(e);if(200!==g){f.on("error",C).destroy(),b(new l(`Proxy response (${g}) !== 200 when HTTP Tunneling`));return}if(q.proxyConnected.hasSubscribers&&q.proxyConnected.publish({socket:f,connectParams:e}),"https:"!==a.protocol)return void b(null,f);d=this[v]?this[v].servername:a.servername,(!1===a.allowH2?this[y]:this[x])({...a,servername:d,httpSocket:f},b)}catch(a){b("ERR_TLS_CERT_ALTNAME_INVALID"===a.code?new m(a):"UND_ERR_SOCKET"===a.code?new n(a):a)}}})}dispatch(a,b){let c=function(a){if(Array.isArray(a)){let b={};for(let c=0;c<a.length;c+=2)G(a[c])&&H(),b[a[c]]=a[c+1];return b}return a}(a.headers);if(function(a){for(let b in a)G(b)&&H()}(c),c&&!("host"in c)&&!("Host"in c)){let{host:b}=new URL(a.origin);c.host=b}return this[s].dispatch({...a,headers:c},b)}#aU(a){return"string"==typeof a?new URL(a):a instanceof URL?a:new URL(a.uri)}[e](){let a=[this[s].close()];return this[t]&&a.push(this[t].close()),Promise.all(a)}[f](){let a=[this[s].destroy()];return this[t]&&a.push(this[t].destroy()),Promise.all(a)}}function G(a){return a.length===A.length&&a.toLowerCase()===A}function H(){throw new k("Proxy-Authorization should be sent in ProxyAgent constructor")}a.exports=F},48991:(a,b,c)=>{"use strict";c.d(b,{$V:()=>u,A9:()=>i,Cn:()=>j,Co:()=>t,FT:()=>o,Ic:()=>r,J5:()=>n,K:()=>p,NA:()=>w,Ox:()=>k,QH:()=>l,VK:()=>x,Wu:()=>v,go:()=>e,nZ:()=>q,sX:()=>f,uR:()=>m,x0:()=>g,zv:()=>s});var d=c(21820);let e="google-genai-sdk/1.41.0 gl-node/v22.19.0";function f(a="unknown"){let b;return`GeminiCLI/0.34.0/${a||"unknown"} (${(0,d.platform)()}; ${"ia32"===(b=(0,d.arch)())?"x86":b}; terminal)`}let g={VSCODE_VERSION:"1.110.0",COPILOT_CHAT_VERSION:"0.38.0",USER_AGENT:"GitHubCopilotChat/0.38.0",API_VERSION:"2025-04-01"};function h(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}function i(){return o()}let j={ideType:9,platform:h(),pluginType:2},k={name:"x-request-source",value:"local"},l="_ide",m="_ide",n=new Set(["browser_subagent","command_status","find_by_name","generate_image","grep_search","list_dir","list_resources","multi_replace_file_content","notify_user","read_resource","read_terminal","read_url_content","replace_file_content","run_command","search_web","send_command_input","task_boundary","view_content_chunk","view_file","write_to_file"]);function o(){return`Antigravity/1.125.0 (${function(){switch((0,d.platform)()){case"darwin":return"Macintosh; Intel Mac OS X 10_15_7";case"win32":return"Windows NT 10.0; Win64; x64";default:return"X11; Linux x86_64"}}()}) Chrome/142.0.7444.175 Electron/39.2.7`}let p={"User-Agent":o()},q={loadCodeAssist:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUser:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser"},r={"Content-Type":"application/json","User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"google-cloud-sdk vscode_cloudshelleditor/0.1","Client-Metadata":JSON.stringify({ideType:9,platform:h(),pluginType:2})},s={ideType:9,platform:h(),pluginType:2},t="You are Claude Code, Anthropic's official CLI for Claude.",u="You are Antigravity, a powerful agentic AI coding assistant designed by the Google Deepmind team working on Advanced Agentic Coding.You are pair programming with a USER to solve their coding task. The task may require creating a new codebase, modifying or debugging an existing codebase, or simply answering a question.**Absolute paths only****Proactiveness**",v={codex:432e6,claude:144e5,iflow:864e5,qwen:12e5,codebuddy:12e5,kimi:3e5,"kimi-coding":3e5,antigravity:3e5,"grok-cli":3e5,xai:3e5},w={google:{token:"https://oauth2.googleapis.com/token",auth:"https://accounts.google.com/o/oauth2/auth"},openai:{token:"https://auth.openai.com/oauth/token",auth:"https://auth.openai.com/oauth/authorize"},anthropic:{token:"https://api.anthropic.com/v1/oauth/token",auth:"https://api.anthropic.com/v1/oauth/authorize"},qwen:{token:"https://qwen.ai/api/v1/oauth2/token",auth:"https://qwen.ai/api/v1/oauth2/device/code"},iflow:{token:"https://iflow.cn/oauth/token",auth:"https://iflow.cn/oauth"},github:{token:"https://github.com/login/oauth/access_token",auth:"https://github.com/login/oauth/authorize",deviceCode:"https://github.com/login/device/code"}};function x(){return{"X-Msh-Platform":"zevairouter","X-Msh-Version":"2.1.2","X-Msh-Device-Model":"u">typeof process?`${process.platform} ${process.arch}`:"unknown","X-Msh-Device-Id":`kimi-${Date.now()}`}}},49065:(a,b,c)=>{"use strict";c.r(b),c.d(b,{geminiToOpenAIRequest:()=>g});var d=c(56294),e=c(42541),f=c(58455);function g(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;if(a.maxOutputTokens){let c={max_tokens:a.maxOutputTokens,tools:b.tools};d.max_tokens=(0,f.M)(c)}void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:"system",content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b="user"===a.role?"user":"assistant";if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts)if(void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})};if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,g,null),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,g,null)},49166:(a,b,c)=>{"use strict";let{Cache:d}=c(50027),{webidl:e}=c(32984),{kEnumerableProperty:f}=c(84285),{kConstruct:g}=c(49176);class h{#aV=new Map;constructor(){arguments[0]!==g&&e.illegalConstructor(),e.util.markAsUncloneable(this)}async match(a,b={}){if(e.brandCheck(this,h),e.argumentLengthCheck(arguments,1,"CacheStorage.match"),a=e.converters.RequestInfo(a),null!=(b=e.converters.MultiCacheQueryOptions(b)).cacheName){if(this.#aV.has(b.cacheName)){let c=new d(g,this.#aV.get(b.cacheName));return await c.match(a,b)}}else for(let c of this.#aV.values()){let e=new d(g,c),f=await e.match(a,b);if(void 0!==f)return f}}async has(a){e.brandCheck(this,h);let b="CacheStorage.has";return e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#aV.has(a)}async open(a){e.brandCheck(this,h);let b="CacheStorage.open";if(e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#aV.has(a))return new d(g,this.#aV.get(a));let c=[];return this.#aV.set(a,c),new d(g,c)}async delete(a){e.brandCheck(this,h);let b="CacheStorage.delete";return e.argumentLengthCheck(arguments,1,b),a=e.converters.DOMString(a,b,"cacheName"),this.#aV.delete(a)}async keys(){return e.brandCheck(this,h),[...this.#aV.keys()]}}Object.defineProperties(h.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:f,has:f,open:f,delete:f,keys:f}),a.exports={CacheStorage:h}},49176:a=>{"use strict";a.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2Options:Symbol("http2 options"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHostAuthority:Symbol("host authority"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}},49345:(a,b,c)=>{var d=c(45654);c(33889);var e=a.exports=d.pem=d.pem||{};function f(a){for(var b=a.name+": ",c=[],d=function(a,b){return" "+b},e=0;e<a.values.length;++e)c.push(a.values[e].replace(/^(\S+\r\n)/,d));b+=c.join(",")+"\r\n";for(var f=0,g=-1,e=0;e<b.length;++e,++f)if(f>65&&-1!==g){var h=b[g];","===h?(++g,b=b.substr(0,g)+"\r\n "+b.substr(g)):b=b.substr(0,g)+"\r\n"+h+b.substr(g+1),f=e-g-1,g=-1,++e}else(" "===b[e]||" "===b[e]||","===b[e])&&(g=e);return b}e.encode=function(a,b){b=b||{};var c,e="-----BEGIN "+a.type+"-----\r\n";if(a.procType&&(e+=f(c={name:"Proc-Type",values:[String(a.procType.version),a.procType.type]})),a.contentDomain&&(e+=f(c={name:"Content-Domain",values:[a.contentDomain]})),a.dekInfo&&(c={name:"DEK-Info",values:[a.dekInfo.algorithm]},a.dekInfo.parameters&&c.values.push(a.dekInfo.parameters),e+=f(c)),a.headers)for(var g=0;g<a.headers.length;++g)e+=f(a.headers[g]);return a.procType&&(e+="\r\n"),e+=d.util.encode64(a.body,b.maxline||64)+"\r\n",e+="-----END "+a.type+"-----\r\n"},e.decode=function(a){for(var b,c=[],e=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,f=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,g=/\r?\n/;b=e.exec(a);){var h=b[1];"NEW CERTIFICATE REQUEST"===h&&(h="CERTIFICATE REQUEST");var i={type:h,procType:null,contentDomain:null,dekInfo:null,headers:[],body:d.util.decode64(b[3])};if(c.push(i),b[2]){for(var j=b[2].split(g),k=0;b&&k<j.length;){for(var l=j[k].replace(/\s+$/,""),m=k+1;m<j.length;++m){var n=j[m];if(!/\s/.test(n[0]))break;l+=n,k=m}if(b=l.match(f)){for(var o={name:b[1],values:[]},p=b[2].split(","),q=0;q<p.length;++q)o.values.push(p[q].replace(/^\s+/,""));if(i.procType)if(i.contentDomain||"Content-Domain"!==o.name)if(i.dekInfo||"DEK-Info"!==o.name)i.headers.push(o);else{if(0===o.values.length)throw Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');i.dekInfo={algorithm:p[0],parameters:p[1]||null}}else i.contentDomain=p[0]||"";else{if("Proc-Type"!==o.name)throw Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(2!==o.values.length)throw Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');i.procType={version:p[0],type:p[1]}}}++k}if("ENCRYPTED"===i.procType&&!i.dekInfo)throw Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(0===c.length)throw Error("Invalid PEM formatted message.");return c}},50027:(a,b,c)=>{"use strict";let d=c(34589),{kConstruct:e}=c(49176),{urlEquals:f,getFieldValues:g}=c(68531),{kEnumerableProperty:h,isDisturbed:i}=c(84285),{webidl:j}=c(32984),{cloneResponse:k,fromInnerResponse:l,getResponseState:m}=c(78196),{Request:n,fromInnerRequest:o,getRequestState:p}=c(12600),{fetching:q}=c(76403),{urlIsHttpHttpsScheme:r,readAllBytes:s}=c(42425);class t{#aW;constructor(){arguments[0]!==e&&j.illegalConstructor(),j.util.markAsUncloneable(this),this.#aW=arguments[1]}async match(a,b={}){j.brandCheck(this,t);let c="Cache.match";j.argumentLengthCheck(arguments,1,c),a=j.converters.RequestInfo(a),b=j.converters.CacheQueryOptions(b,c,"options");let d=this.#aX(a,b,1);if(0!==d.length)return d[0]}async matchAll(a,b={}){return j.brandCheck(this,t),void 0!==a&&(a=j.converters.RequestInfo(a)),b=j.converters.CacheQueryOptions(b,"Cache.matchAll","options"),this.#aX(a,b)}async add(a){j.brandCheck(this,t),j.argumentLengthCheck(arguments,1,"Cache.add");let b=[a=j.converters.RequestInfo(a)],c=this.addAll(b);return await c}async addAll(a){j.brandCheck(this,t);let b="Cache.addAll";j.argumentLengthCheck(arguments,1,b);let c=[],d=[];for(let c of a){if(void 0===c)throw j.errors.conversionFailed({prefix:b,argument:"Argument 1",types:["undefined is not allowed"]});if("string"==typeof(c=j.converters.RequestInfo(c)))continue;let a=p(c);if(!r(a.url)||"GET"!==a.method)throw j.errors.exception({header:b,message:"Expected http/s scheme when method is not GET."})}let e=[];for(let f of a){let a=p(new n(f));if(!r(a.url))throw j.errors.exception({header:b,message:"Expected http/s scheme."});a.initiator="fetch",a.destination="subresource",d.push(a);let h=Promise.withResolvers();e.push(q({request:a,processResponse(a){if("error"===a.type||206===a.status||a.status<200||a.status>299)h.reject(j.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(a.headersList.contains("vary")){for(let b of g(a.headersList.get("vary")))if("*"===b){for(let a of(h.reject(j.errors.exception({header:"Cache.addAll",message:"invalid vary field value"})),e))a.abort();return}}},processResponseEndOfBody(a){a.aborted?h.reject(new DOMException("aborted","AbortError")):h.resolve(a)}})),c.push(h.promise)}let f=Promise.all(c),h=await f,i=[],k=0;for(let a of h){let b={type:"put",request:d[k],response:a};i.push(b),k++}let l=Promise.withResolvers(),m=null;try{this.#aY(i)}catch(a){m=a}return queueMicrotask(()=>{null===m?l.resolve(void 0):l.reject(m)}),l.promise}async put(a,b){j.brandCheck(this,t);let c="Cache.put";j.argumentLengthCheck(arguments,2,c),a=j.converters.RequestInfo(a),b=j.converters.Response(b,c,"response");let d=null;if(!r((d=j.is.Request(a)?p(a):p(new n(a))).url)||"GET"!==d.method)throw j.errors.exception({header:c,message:"Expected an http/s scheme when method is not GET"});let e=m(b);if(206===e.status)throw j.errors.exception({header:c,message:"Got 206 status"});if(e.headersList.contains("vary")){for(let a of g(e.headersList.get("vary")))if("*"===a)throw j.errors.exception({header:c,message:"Got * vary field value"})}if(e.body&&(i(e.body.stream)||e.body.stream.locked))throw j.errors.exception({header:c,message:"Response body is locked or disturbed"});let f=k(e),h=Promise.withResolvers();null!=e.body?s(e.body.stream.getReader(),h.resolve,h.reject):h.resolve(void 0);let l=[],o={type:"put",request:d,response:f};l.push(o);let q=await h.promise;null!=f.body&&(f.body.source=q);let u=Promise.withResolvers(),v=null;try{this.#aY(l)}catch(a){v=a}return queueMicrotask(()=>{null===v?u.resolve():u.reject(v)}),u.promise}async delete(a,b={}){let c;j.brandCheck(this,t);let e="Cache.delete";j.argumentLengthCheck(arguments,1,e),a=j.converters.RequestInfo(a),b=j.converters.CacheQueryOptions(b,e,"options");let f=null;if(j.is.Request(a)){if("GET"!==(f=p(a)).method&&!b.ignoreMethod)return!1}else d("string"==typeof a),f=p(new n(a));let g=[],h={type:"delete",request:f,options:b};g.push(h);let i=Promise.withResolvers(),k=null;try{c=this.#aY(g)}catch(a){k=a}return queueMicrotask(()=>{null===k?i.resolve(!!c?.length):i.reject(k)}),i.promise}async keys(a,b={}){j.brandCheck(this,t),void 0!==a&&(a=j.converters.RequestInfo(a)),b=j.converters.CacheQueryOptions(b,"Cache.keys","options");let c=null;if(void 0!==a)if(j.is.Request(a)){if("GET"!==(c=p(a)).method&&!b.ignoreMethod)return[]}else"string"==typeof a&&(c=p(new n(a)));let d=Promise.withResolvers(),e=[];if(void 0===a)for(let a of this.#aW)e.push(a[0]);else for(let a of this.#aZ(c,b))e.push(a[0]);return queueMicrotask(()=>{let a=[];for(let b of e){let c=o(b,void 0,new AbortController().signal,"immutable");a.push(c)}d.resolve(Object.freeze(a))}),d.promise}#aY(a){let b=this.#aW,c=[...b],e=[],f=[];try{for(let c of a){let a;if("delete"!==c.type&&"put"!==c.type)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if("delete"===c.type&&null!=c.response)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#aZ(c.request,c.options,e).length)throw new DOMException("???","InvalidStateError");if("delete"===c.type){if(a=this.#aZ(c.request,c.options),0===a.length)return[];for(let c of a){let a=b.indexOf(c);d(-1!==a),b.splice(a,1)}}else if("put"===c.type){if(null==c.response)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let f=c.request;if(!r(f.url))throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if("GET"!==f.method)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(null!=c.options)throw j.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});for(let e of a=this.#aZ(c.request)){let a=b.indexOf(e);d(-1!==a),b.splice(a,1)}b.push([c.request,c.response]),e.push([c.request,c.response])}f.push([c.request,c.response])}return f}catch(a){throw this.#aW.length=0,this.#aW=c,a}}#aZ(a,b,c){let d=[];for(let e of c??this.#aW){let[c,f]=e;this.#a$(a,c,f,b)&&d.push(e)}return d}#a$(a,b,c=null,d){let e=new URL(a.url),h=new URL(b.url);if(d?.ignoreSearch&&(h.search="",e.search=""),!f(e,h,!0))return!1;if(null==c||d?.ignoreVary||!c.headersList.contains("vary"))return!0;for(let d of g(c.headersList.get("vary")))if("*"===d||b.headersList.get(d)!==a.headersList.get(d))return!1;return!0}#aX(a,b,c=1/0){let d=null;if(void 0!==a)if(j.is.Request(a)){if("GET"!==(d=p(a)).method&&!b.ignoreMethod)return[]}else"string"==typeof a&&(d=p(new n(a)));let e=[];if(void 0===a)for(let a of this.#aW)e.push(a[1]);else for(let a of this.#aZ(d,b))e.push(a[1]);let f=[];for(let a of e){let b=l(k(a),"immutable");if(f.push(b),f.length>=c)break}return Object.freeze(f)}}Object.defineProperties(t.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:h,matchAll:h,add:h,addAll:h,put:h,delete:h,keys:h});let u=[{key:"ignoreSearch",converter:j.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:j.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:j.converters.boolean,defaultValue:()=>!1}];j.converters.CacheQueryOptions=j.dictionaryConverter(u),j.converters.MultiCacheQueryOptions=j.dictionaryConverter([...u,{key:"cacheName",converter:j.converters.DOMString}]),j.converters.Response=j.interfaceConverter(j.is.Response,"Response"),j.converters["sequence<RequestInfo>"]=j.sequenceConverter(j.converters.RequestInfo),a.exports={Cache:t}},50270:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToAntigravityResponse:()=>f});var d=c(56294),e=c(42541);function f(a,b){if(!a)return null;let c=a.choices?.[0];if(!c)return a.usage&&(b._usage=a.usage),null;let d=c.delta||{},e=c.finish_reason;b._toolCallAccum||(b._toolCallAccum={}),b._responseId||(b._responseId=a.id||`resp_${Date.now()}`),b._modelVersion||(b._modelVersion=a.model||"");let f=[];if(d.reasoning_content&&f.push({thought:!0,text:d.reasoning_content}),d.content&&f.push({text:d.content}),d.tool_calls){for(let a of d.tool_calls){let c=a.index??0;b._toolCallAccum[c]||(b._toolCallAccum[c]={id:"",name:"",arguments:""});let d=b._toolCallAccum[c];a.id&&(d.id=a.id),a.function?.name&&(d.name+=a.function.name),a.function?.arguments&&(d.arguments+=a.function.arguments)}if(0===f.length&&!e)return null}if(e)for(let a of Object.keys(b._toolCallAccum)){let c=b._toolCallAccum[a],d={};try{d=JSON.parse(c.arguments)}catch{}let e=b.toolNameMap?.get(c.name)||c.name;f.push({functionCall:{name:e,args:d}})}if(0===f.length&&!e)return null;0===f.length&&e&&f.push({text:""});let g={content:{role:"model",parts:f}};e&&(g.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[e]||"STOP");let h={candidates:[g],modelVersion:b._modelVersion,responseId:b._responseId},i=a.usage||b._usage;return i&&(h.usageMetadata={promptTokenCount:i.prompt_tokens||0,candidatesTokenCount:i.completion_tokens||0,totalTokenCount:i.total_tokens||0},i.completion_tokens_details?.reasoning_tokens&&(h.usageMetadata.thoughtsTokenCount=i.completion_tokens_details.reasoning_tokens),i.prompt_tokens_details?.cached_tokens&&(h.usageMetadata.cachedContentTokenCount=i.prompt_tokens_details.cached_tokens)),{response:h}}(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,null,f)},50294:(a,b,c)=>{"use strict";c.d(b,{R:()=>j});var d=c(50801),e=c(30395),f=c(48991),g=c(11484);let h="QwenCode/0.12.3 (linux; x64)",i={role:"system",content:[{type:"text",text:"",cache_control:{type:"ephemeral"}}]};class j extends d.L{constructor(){super("qwen")}buildUrl(a,b,c=0,d=null){let e=d?.providerSpecificData?.resourceUrl,f=e?e.replace(/^https?:\/\//,"").replace(/\/$/,""):"portal.qwen.ai";return`https://${f}/v1/chat/completions`}buildHeaders(a,b=!0){return function(a,b=!0){let c=a?.apiKey||a?.accessToken||"",d={"Content-Type":"application/json",Authorization:`Bearer ${c}`,"User-Agent":h,"X-DashScope-AuthType":"qwen-oauth","X-DashScope-CacheControl":"enable","X-DashScope-UserAgent":h,"X-Stainless-Arch":"x64","X-Stainless-Lang":"js","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"5.11.0","X-Stainless-Retry-Count":"1","X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":"v18.19.1",Connection:"keep-alive","Accept-Language":"*","Sec-Fetch-Mode":"cors"};return d.Accept=b?"text/event-stream":"application/json",d}(a,b)}transformRequest(a,b,c,d){let e=b&&"object"==typeof b?{...b}:b;c&&e?.messages&&!e.stream_options&&!e.thinking&&!e.enable_thinking&&!1!==e.stream&&(e.stream_options={include_usage:!0});var f=e=function(a){let b;if(!0!==(b=a?.thinking)&&a?.enable_thinking!==!0&&("object"!=typeof b||null===b||Array.isArray(b)||"enabled"!==b.type))return a;let c=a.tool_choice;return"required"!==c&&("object"!=typeof c||null===c)?a:{...a,tool_choice:"auto"}}(e);if(!f||"object"!=typeof f)return f;let g={...f};return Array.isArray(g.messages)?g.messages=[i,...g.messages]:g.messages=[i],g}async refreshCredentials(a,b){if(!a?.refreshToken)return null;try{let c=await fetch(f.NA.qwen.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:e.xq.qwen.clientId})});if(!c.ok)return await (0,g.aI)(c),null;let d=await c.json();return b?.info?.("TOKEN","qwen refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a.refreshToken,expiresIn:d.expires_in,providerSpecificData:{...a.providerSpecificData||{},...d.resource_url?{resourceUrl:d.resource_url}:{}}}}catch(a){return b?.error?.("TOKEN",`qwen refresh error: ${a.message}`),null}}}},50329:a=>{"use strict";class b{bottom=0;top=0;list=Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(a){this.list[this.top]=a,this.top=this.top+1&2047}shift(){let a=this.list[this.bottom];return void 0===a?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,a)}}a.exports=class{constructor(){this.head=this.tail=new b}isEmpty(){return this.head.isEmpty()}push(a){this.head.isFull()&&(this.head=this.head.next=new b),this.head.push(a)}shift(){let a=this.tail,b=a.shift();return a.isEmpty()&&null!==a.next&&(this.tail=a.next,a.next=null),b}}},50570:(a,b,c)=>{"use strict";c(42541)},50743:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},50801:(a,b,c)=>{"use strict";c.d(b,{L:()=>q});var d=c(69384),e=c(30395),f=c(48991),g=c(87793),h=c(46956),i=c(11484),j=c(80015),k=c(55511),l=c(74075);let m=["temperature","top_p","presence_penalty","frequency_penalty","stop","tool_choice","parallel_tool_calls","response_format"];function n(){return(0,k.randomUUID)().replace(/-/g,"")}function o(a,b,c="truncated for CodeBuddy"){if("string"!=typeof a||a.length<=b)return a;let d=Math.floor(.75*b),e=Math.max(0,b-d-c.length-12);return`${a.slice(0,d)}
349
349
 
350
350
  [${c}]
351
351
 
@@ -395,7 +395,7 @@ ${q}`,s=i(Buffer.from(r,"latin1")),t=c.machineId||(0,g.A)(),u=i(k),v=String(k.le
395
395
  `))},h=new TransformStream({transform(a,b){let d;for(e+=c.decode(a,{stream:!0});-1!==(d=e.indexOf("\n"));){let a=e.slice(0,d);e=e.slice(d+1),g(a,b)}},flush(a){(e+=c.decode()).length>0&&(g(e,a),e=""),f||(a.enqueue(d.encode("data: [DONE]\n\n")),f=!0)}});return new Response(a.body.pipeThrough(h),{status:a.status,statusText:a.statusText,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache"}})}(n,`qoder/${i}`),url:o,headers:u,transformedBody:k}:{response:n,url:o,headers:u,transformedBody:k}}async refreshCredentials(){return null}needsRefresh(){return!1}}},84238:(a,b,c)=>{"use strict";c.d(b,{OF:()=>f}),c(51525);var d=c(42541);function e(a){if(!a||"object"!=typeof a)return a;let b={...a};return void 0!==b.input_tokens&&(b.input_tokens+=2e3),void 0!==b.prompt_tokens&&(b.prompt_tokens+=2e3),void 0!==b.total_tokens?b.total_tokens+=2e3:void 0!==b.prompt_tokens&&void 0!==b.completion_tokens&&(b.total_tokens=b.prompt_tokens+b.completion_tokens),b}function f(a,b,c=d.h.OPENAI){var g,h;return g=function(a){if(!a||"object"!=typeof a)return 0;try{let b=JSON.stringify(a).length;return Math.ceil(b/4)}catch(a){return 0}}(a),h=b&&!(b<=0)?Math.max(1,Math.floor(b/4)):0,c===d.h.CLAUDE?e({input_tokens:g,output_tokens:h,estimated:!0}):e({prompt_tokens:g,completion_tokens:h,total_tokens:g+h,estimated:!0})}process.env.LOG_USAGE_VERBOSE},84285:(a,b,c)=>{"use strict";let d=c(34589),{kDestroyed:e,kBodyUsed:f,kListeners:g,kBody:h}=c(49176),{IncomingMessage:i}=c(37067),j=c(57075),k=c(77030),{stringify:l}=c(41792),{EventEmitter:m,addAbortListener:n}=c(78474),o=c(64704),{InvalidArgumentError:p,ConnectTimeoutError:q}=c(61448),{headerNameLowerCasedRecord:r}=c(28820),{tree:s}=c(36649);class t{constructor(a){this[h]=a,this[f]=!1}async *[Symbol.asyncIterator](){d(!this[f],"disturbed"),this[f]=!0,yield*this[h]}}function u(){}function v(a){return a&&"object"==typeof a&&"function"==typeof a.pipe&&"function"==typeof a.on}function w(a){return a instanceof Blob}function x(a){return a.includes("?")||a.includes("#")}function y(a){let b=parseInt(a,10);return b===Number(a)&&b>=0&&b<=65535}function z(a){return null!=a&&"h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3]&&(":"===a[4]||"s"===a[4]&&":"===a[5])}function A(a){if("string"==typeof a){if(!z((a=new URL(a)).origin||a.protocol))throw new p("Invalid URL protocol: the URL must start with `http:` or `https:`.");return a}if(!a||"object"!=typeof a)throw new p("Invalid URL: The URL argument must be a non-null object.");if(!(a instanceof URL)){if(null!=a.port&&""!==a.port&&!1===y(a.port))throw new p("Invalid URL: port must be a valid integer or a string representation of an integer.");if(null!=a.path&&"string"!=typeof a.path)throw new p("Invalid URL path: the path must be a string or null/undefined.");if(null!=a.pathname&&"string"!=typeof a.pathname)throw new p("Invalid URL pathname: the pathname must be a string or null/undefined.");if(null!=a.hostname&&"string"!=typeof a.hostname)throw new p("Invalid URL hostname: the hostname must be a string or null/undefined.");if(null!=a.origin&&"string"!=typeof a.origin)throw new p("Invalid URL origin: the origin must be a string or null/undefined.");if(!z(a.origin||a.protocol))throw new p("Invalid URL protocol: the URL must start with `http:` or `https:`.");let b=null!=a.port?a.port:"https:"===a.protocol?443:80,c=null!=a.origin?a.origin:`${a.protocol||""}//${a.hostname||""}:${b}`,d=null!=a.path?a.path:`${a.pathname||""}${a.search||""}`;return"/"===c[c.length-1]&&(c=c.slice(0,c.length-1)),d&&"/"!==d[0]&&(d=`/${d}`),new URL(`${c}${d}`)}if(!z(a.origin||a.protocol))throw new p("Invalid URL protocol: the URL must start with `http:` or `https:`.");return a}function B(a){return null!=a&&("function"==typeof a[Symbol.iterator]||"function"==typeof a[Symbol.asyncIterator])}function C(a){if(null==a)return 0;if(v(a)){let b=a._readableState;return b&&!1===b.objectMode&&!0===b.ended&&Number.isFinite(b.length)?b.length:null}return w(a)?null!=a.size?a.size:null:H(a)?a.byteLength:null}function D(a){return a&&!!(a.destroyed||a[e]||j.isDestroyed?.(a))}function E(a,b){if(!(null==a||!v(a)||D(a))){if("function"==typeof a.destroy){Object.getPrototypeOf(a).constructor===i&&(a.socket=null);try{a.destroy(b)}catch{}}else b&&queueMicrotask(()=>{a.emit("error",b)});!0!==a.destroyed&&(a[e]=!0)}}let F=/timeout=(\d+)/;function G(a){return"string"==typeof a?r[a]??a.toLowerCase():s.lookup(a)??a.toString("latin1").toLowerCase()}function H(a){return a instanceof Uint8Array||Buffer.isBuffer(a)}function I(a){return a&&"object"==typeof a&&"function"==typeof a.append&&"function"==typeof a.delete&&"function"==typeof a.get&&"function"==typeof a.getAll&&"function"==typeof a.has&&"function"==typeof a.set&&"FormData"===a[Symbol.toStringTag]}let J=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),K=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/,L=/[^\t\x20-\x7e\x80-\xff]/,M=/^bytes (\d+)-(\d+)\/(\d+|\*)?$/,N="win32"===process.platform?(a,b)=>{if(!b.timeout)return u;let c=null,d=null,e=o.setFastTimeout(()=>{c=setImmediate(()=>{d=setImmediate(()=>O(a.deref(),b))})},b.timeout);return()=>{o.clearFastTimeout(e),clearImmediate(c),clearImmediate(d)}}:(a,b)=>{if(!b.timeout)return u;let c=null,d=o.setFastTimeout(()=>{c=setImmediate(()=>{O(a.deref(),b)})},b.timeout);return()=>{o.clearFastTimeout(d),clearImmediate(c)}};function O(a,b){if(null==a)return;let c="Connect Timeout Error";Array.isArray(a.autoSelectFamilyAttemptedAddresses)?c+=` (attempted addresses: ${a.autoSelectFamilyAttemptedAddresses.join(", ")},`:c+=` (attempted address: ${b.hostname}:${b.port},`,E(a,new q(c+=` timeout: ${b.timeout}ms)`))}let P=null,Q=null,R={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT",query:"QUERY",QUERY:"QUERY"},S={...R,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(R,null),Object.setPrototypeOf(S,null),a.exports={kEnumerableProperty:{__proto__:null,enumerable:!0},isDisturbed:function(a){return!!(a&&(j.isDisturbed(a)||a[f]))},isBlobLike:w,parseOrigin:function(a){if("/"!==(a=A(a)).pathname||a.search||a.hash)throw new p("invalid url");return a},parseURL:A,getServerName:function(a){if(!a)return null;d("string"==typeof a);let b=function(a){if("["===a[0]){let b=a.indexOf("]");return d(-1!==b),a.substring(1,b)}let b=a.indexOf(":");return -1===b?a:a.substring(0,b)}(a);return k.isIP(b)?"":b},isStream:v,isIterable:B,hasSafeIterator:function(a){let b=Object.getPrototypeOf(a);return Object.hasOwn(a,Symbol.iterator)||null!=b&&b!==Object.prototype&&"function"==typeof a[Symbol.iterator]},isAsyncIterable:function(a){return null!=a&&"function"==typeof a[Symbol.asyncIterator]},isDestroyed:D,headerNameToString:G,bufferToLowerCasedHeaderName:function(a){return s.lookup(a)??a.toString("latin1").toLowerCase()},addListener:function(a,b,c){return(a[g]??=[]).push([b,c]),a.on(b,c),a},removeAllListeners:function(a){if(null!=a[g]){for(let[b,c]of a[g])a.removeListener(b,c);a[g]=null}return a},errorRequest:function(a,b,c){try{b.onResponseError(c),d(b.aborted)}catch(b){a.emit("error",b)}},parseRawHeaders:function(a){let b,c;if(null==a)return[];if(!Array.isArray(a)){let b=[];for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.push(c,`${a}`);else b.push(c,`${d}`);return b}let d=a.length,e=Array(d);for(let f=0;f<d;f+=2)b=a[f],c=a[f+1],"string"!=typeof b&&(b=b.toString()),"string"!=typeof c&&(c=c.toString("latin1")),e[f]=b,e[f+1]=c;return e},toRawHeaders:function(a){let b=[];for(let[c,d]of Object.entries(a))if(Array.isArray(d))for(let a of d)b.push(Buffer.from(c,"latin1"),Buffer.from(`${a}`,"latin1"));else b.push(Buffer.from(c,"latin1"),Buffer.from(`${d}`,"latin1"));return b},encodeRawHeaders:function(a){if(!Array.isArray(a))throw TypeError("expected headers to be an array");return a.map(a=>Buffer.from(a))},parseHeaders:function(a,b){void 0===b&&(b={});for(let c=0;c<a.length;c+=2){let d=G(a[c]),e=b[d];if(void 0!==e)if(Object.hasOwn(b,d))"string"==typeof e&&(e=[e],b[d]=e),e.push(a[c+1].toString("latin1"));else{let e="string"==typeof a[c+1]?a[c+1]:Array.isArray(a[c+1])?a[c+1].map(a=>a.toString("latin1")):a[c+1].toString("latin1");"__proto__"===d?Object.defineProperty(b,d,{value:e,enumerable:!0,configurable:!0,writable:!0}):b[d]=e}else{let e="string"==typeof a[c+1]?a[c+1]:Array.isArray(a[c+1])?a[c+1].map(a=>a.toString("latin1")):a[c+1].toString("latin1");b[d]=e}}return b},parseKeepAliveTimeout:function(a){let b=a.match(F);return b?1e3*parseInt(b[1],10):null},destroy:E,bodyLength:C,deepClone:function(a){return JSON.parse(JSON.stringify(a))},ReadableStreamFrom:function(a){let b;return new ReadableStream({start(){b=a[Symbol.asyncIterator]()},pull(a){return b.next().then(({done:b,value:c})=>{if(b)return queueMicrotask(()=>{a.close(),a.byobRequest?.respond(0)});{let b=Buffer.isBuffer(c)?c:Buffer.from(c);return b.byteLength?a.enqueue(new Uint8Array(b)):this.pull(a)}})},cancel:()=>b.return(),type:"bytes"})},isBuffer:H,assertRequestHandler:function(a,b,c){if(!a||"object"!=typeof a)throw new p("handler must be an object");if("function"!=typeof a.onRequestStart)throw new p("invalid onRequestStart method");if("function"!=typeof a.onResponseError)throw new p("invalid onResponseError method");if("function"!=typeof a.onBodySent&&void 0!==a.onBodySent)throw new p("invalid onBodySent method");if("function"!=typeof a.onRequestSent&&void 0!==a.onRequestSent)throw new p("invalid onRequestSent method");if(c||"CONNECT"===b){if("function"!=typeof a.onRequestUpgrade)throw new p("invalid onRequestUpgrade method")}else{if("function"!=typeof a.onResponseStart)throw new p("invalid onResponseStart method");if("function"!=typeof a.onResponseData)throw new p("invalid onResponseData method");if("function"!=typeof a.onResponseEnd)throw new p("invalid onResponseEnd method")}},getSocketInfo:function(a){return{localAddress:a.localAddress,localPort:a.localPort,remoteAddress:a.remoteAddress,remotePort:a.remotePort,remoteFamily:a.remoteFamily,timeout:a.timeout,bytesWritten:a.bytesWritten,bytesRead:a.bytesRead}},isFormDataLike:I,pathHasQueryOrFragment:x,serializePathWithQuery:function(a,b){if(x(a))throw Error('Query params cannot be passed when url already contains "?" or "#".');let c=l(b);return c&&(a+="?"+c),a},addAbortListener:function(a,b){return!a||"aborted"in a?n(a,b)[Symbol.dispose]:"function"==typeof a.addEventListener?(a.addEventListener("abort",b,{once:!0}),()=>a.removeEventListener("abort",b)):(a.once("abort",b),()=>a.removeListener("abort",b))},isValidHTTPToken:function(a){if(a.length>=12)return K.test(a);if(0===a.length)return!1;for(let b=0;b<a.length;b++)if(1!==J[a.charCodeAt(b)])return!1;return!0},isValidHeaderValue:function(a){return!L.test(a)},isTokenCharCode:function(a){return 1===J[a]},parseRangeHeader:function(a){if(null==a||""===a)return{start:0,end:null,size:null};if(!a)return null;let b=M.exec(a);return b?{start:parseInt(b[1]),end:b[2]?parseInt(b[2]):null,size:b[3]&&"*"!==b[3]?parseInt(b[3]):null}:null},normalizedMethodRecordsBase:R,normalizedMethodRecords:S,isValidPort:y,isHttpOrHttpsPrefixed:z,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:function(a){return v(a)?(0===C(a)&&a.on("data",function(){d(!1)}),"boolean"!=typeof a.readableDidRead&&(a[f]=!1,m.prototype.on.call(a,"data",function(){this[f]=!0})),a):a&&"function"==typeof a.pipeTo?new t(a):a&&I(a)?a:a&&"string"!=typeof a&&!ArrayBuffer.isView(a)&&B(a)?new t(a):a},setupConnectTimeout:N,getProtocolFromUrlString:function(a){if(a===P)return Q;let b=function(a){if("h"===a[0]&&"t"===a[1]&&"t"===a[2]&&"p"===a[3])switch(a[4]){case":":return"http:";case"s":if(":"===a[5])return"https:"}return a.slice(0,a.indexOf(":")+1)}(a);return P=a,Q=b,b}}},84698:a=>{"use strict";function b(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c<33||c>126||34===c||40===c||41===c||60===c||62===c||64===c||44===c||59===c||58===c||92===c||47===c||91===c||93===c||63===c||61===c||123===c||125===c)throw Error("Invalid cookie name")}}function c(a){let b=a.length,c=0;if('"'===a[0]){if(1===b||'"'!==a[b-1])throw Error("Invalid cookie value");--b,++c}for(;c<b;){let b=a.charCodeAt(c++);if(b<33||b>126||34===b||44===b||59===b||92===b)throw Error("Invalid cookie value")}}function d(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c<32||c>126||59===c)throw Error("Invalid cookie path")}}function e(a){return a>=48&&a<=57||a>=65&&a<=90||a>=97&&a<=122}let f=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],g=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],h=Array(61).fill(0).map((a,b)=>b.toString().padStart(2,"0"));function i(a){return"number"==typeof a&&(a=new Date(a)),`${f[a.getUTCDay()]}, ${h[a.getUTCDate()]} ${g[a.getUTCMonth()]} ${a.getUTCFullYear()} ${h[a.getUTCHours()]}:${h[a.getUTCMinutes()]}:${h[a.getUTCSeconds()]} GMT`}a.exports={isCTLExcludingHtab:function(a){for(let b=0;b<a.length;++b){let c=a.charCodeAt(b);if(c>=0&&c<=8||c>=10&&c<=31||127===c)return!0}return!1},validateCookieName:b,validateCookiePath:d,validateCookieValue:c,toIMFDate:i,stringify:function(a){if(0===a.name.length)return null;b(a.name),c(a.value);let f=[`${a.name}=${a.value}`];if(a.name.startsWith("__Secure-")&&(a.secure=!0),a.name.startsWith("__Host-")&&(a.secure=!0,a.domain=null,a.path="/"),a.secure&&f.push("Secure"),a.httpOnly&&f.push("HttpOnly"),"number"==typeof a.maxAge){if(a.maxAge<0)throw Error("Invalid cookie max-age");f.push(`Max-Age=${a.maxAge}`)}for(let g of(a.domain&&(!function(a){if(" "===a)return;if(a.length>255)throw Error("Invalid cookie domain");let b=0;for(let c=0;c<a.length;++c){let d=a.charCodeAt(c);if(46===d){if(0===b||45===a.charCodeAt(c-1))throw Error("Invalid cookie domain");b=0;continue}if(0===b&&!e(d)||!e(d)&&45!==d||++b>63)throw Error("Invalid cookie domain")}if(0===b||45===a.charCodeAt(a.length-1))throw Error("Invalid cookie domain")}(a.domain),f.push(`Domain=${a.domain}`)),a.path&&(d(a.path),f.push(`Path=${a.path}`)),a.expires&&"Invalid Date"!==a.expires.toString()&&f.push(`Expires=${i(a.expires)}`),a.sameSite&&f.push(`SameSite=${a.sameSite}`),a.unparsed)){if(!g.includes("="))throw Error("Invalid unparsed");let[a,...d]=g.split("="),e=a.trim(),h=d.join("=");b(e),c(h),f.push(`${e}=${h}`)}return f.join("; ")}}},84955:(a,b,c)=>{"use strict";c.d(b,{V:()=>h});var d=c(69384),e=c(30395),f=c(48991),g=c(11484);class h extends d.Hv{constructor(){super("gemini-cli",e.xq["gemini-cli"])}buildUrl(a,b,c=0){return`${this.config.baseUrl}:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0){return{"Content-Type":"application/json",Authorization:`Bearer ${a.accessToken}`,"User-Agent":(0,f.sX)(this._currentModel),"X-Goog-Api-Client":f.go,Accept:b?"text/event-stream":"application/json"}}transformRequest(a,b,c,d){return(this._currentModel=a,b&&b.request&&b.model)?b:{project:d?.projectId||b?.project,model:a,request:b}}parseError(a,b){let c=super.parseError(a,b);if(429!==a.status||!b)return c;try{let a=JSON.parse(b),d=a?.error?.details;if(Array.isArray(d)){for(let a of d)if(a?.["@type"]==="type.googleapis.com/google.rpc.RetryInfo"&&a?.retryDelay){c.retryAfter=a.retryDelay;break}}}catch{}return c}async refreshCredentials(a,b){if(!a.refreshToken)return null;try{let c=await fetch(f.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a.refreshToken,client_id:this.config.clientId,client_secret:this.config.clientSecret})});if(!c.ok)return await (0,g.aI)(c),null;let d=await c.json();return b?.info?.("TOKEN","Gemini CLI refreshed"),{accessToken:d.access_token,refreshToken:d.refresh_token||a.refreshToken,expiresIn:d.expires_in,projectId:a.projectId}}catch(a){return b?.error?.("TOKEN",`Gemini CLI refresh error: ${a.message}`),null}}}},86625:(a,b,c)=>{"use strict";let{promisify:d}=c(57975),e=c(35689),{buildMockDispatch:f}=c(70634),{kDispatches:g,kMockAgent:h,kClose:i,kOriginalClose:j,kOrigin:k,kOriginalDispatch:l,kConnected:m,kIgnoreTrailingSlash:n}=c(80830),{MockInterceptor:o}=c(55720),p=c(49176),{InvalidArgumentError:q}=c(61448);class r extends e{constructor(a,b){if(!b||!b.agent||"function"!=typeof b.agent.dispatch)throw new q("Argument opts.agent must implement Agent");super(a,b),this[h]=b.agent,this[k]=a,this[n]=b.ignoreTrailingSlash??!1,this[g]=[],this[m]=1,this[l]=this.dispatch,this[j]=this.close.bind(this),this.dispatch=f.call(this),this.close=this[i]}get[p.kConnected](){return this[m]}intercept(a){return new o(a&&{ignoreTrailingSlash:this[n],...a},this[g])}cleanMocks(){this[g]=[]}async [i](){await d(this[j])(),this[m]=0,this[h][p.kClients].delete(this[k])}}a.exports=r},86767:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{EW:()=>j,UT:()=>k});var e=c(70321),f=c(46455),g=a([f]);f=(g.then?(await g)():g)[0],globalThis._quotaRefreshState||(globalThis._quotaRefreshState={started:!1,startTimer:null,timer:null,running:!1,runningPromise:null});let l=globalThis._quotaRefreshState;async function h(a,b={}){let{force:c=!1,concurrency:d=12,resolveUsage:e=f.dg}=b,g=a.filter(f.NS),i=Math.min(Math.max(1,d),g.length),j=0,k=Array.from({length:i},async()=>{for(;j<g.length;){let a=g[j++];try{await e(a.id,{writeCache:!0,force:c})}catch(b){console.warn(`[QuotaRefresh] ${a.provider}/${a.id}: ${b.message}`)}}});return await Promise.all(k),g.length}function i(){if(l.runningPromise)return l.runningPromise;l.running=!0;let a=(async()=>{let a=[];try{a=await (0,e.getProviderConnections)({isActive:!0})}catch(a){console.warn(`[QuotaRefresh] failed to list connections: ${a.message}`);return}await h(a)})().finally(()=>{l.runningPromise===a&&(l.runningPromise=null,l.running=!1)});return l.runningPromise=a,a}function j(){!l.started&&(l.started=!0,l.startTimer=setTimeout(()=>{l.startTimer=null,i(),l.timer=setInterval(()=>void i(),3e5),l.timer.unref&&l.timer.unref()},15e3),l.startTimer.unref&&l.startTimer.unref())}function k(){return l.startTimer&&clearTimeout(l.startTimer),l.timer&&clearInterval(l.timer),l.startTimer=null,l.timer=null,l.started=!1,l.runningPromise||Promise.resolve()}l.runningPromise??=null,d()}catch(a){d(a)}})},86772:(a,b,c)=>{"use strict";let d=c(29021),e=c(33873),f=c(74075),{DATA_DIR:g}=c(37436),{LOG_BLACKLIST_URL_PARTS:h}=c(794);function i(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let j=e.join(g,"logs","mitm");d.existsSync(j)||d.mkdirSync(j,{recursive:!0});let k=/^\s*(\{\s*\}|\[\s*\]|null)?\s*$/;function l(a,b=80){return String(a).replace(/[^a-zA-Z0-9]/g,"_").substring(0,b)}function m(a){return!!a&&h.some(b=>a.includes(b))}a.exports={log:a=>console.log(`[${i()}] [MITM] ${a}`),err:a=>console.error(`[${i()}] ❌ [MITM] ${a}`),dumpRequest:function(a,b,c="raw"){if(m(a.url))return null;try{let f=new Date().toISOString().replace(/[:.]/g,"-"),g=l((a.headers.host||"")+a.url),h=e.join(j,`${f}_${c}_${g}.req.json`),i=null;try{i=JSON.parse(b.toString())}catch{}return d.writeFileSync(h,JSON.stringify({method:a.method,url:a.url,host:a.headers.host,headers:a.headers,body:i??b.toString("utf8")},null,2)),h}catch{return null}},createResponseDumper:function(a,b="raw"){if(m(a.url))return null;let c=new Date().toISOString().replace(/[:.]/g,"-"),g=l((a.headers.host||"")+a.url),h=e.join(j,`${c}_${b}_${g}.res.txt`),i=0,n={},o=[];return{writeHeader:(a,b)=>{i=a,n=b||{}},writeChunk:a=>{null!=a&&o.push(Buffer.isBuffer(a)?a:Buffer.from(a))},end:()=>{try{let a=Buffer.concat(o),b=n["content-encoding"]||n["Content-Encoding"],c=(function(a,b){if(!a||0===a.length)return a;try{let c=(b||"").toLowerCase();if(c.includes("gzip"))return f.gunzipSync(a);if(c.includes("br"))return f.brotliDecompressSync(a);if(c.includes("deflate"))return f.inflateSync(a)}catch{}return a})(a,b).toString("utf8");if(k.test(c))return;let e={...n};delete e["content-encoding"],delete e["Content-Encoding"];let g=`STATUS: ${i}
396
396
  HEADERS: ${JSON.stringify(e,null,2)}
397
397
  ---BODY---
398
- ${c}`;d.writeFileSync(h,g)}catch{}},file:h}},clearDumpDir:function(){try{if(!d.existsSync(j))return;for(let a of d.readdirSync(j))try{d.rmSync(e.join(j,a),{recursive:!0,force:!0})}catch{}}catch{}}}},87085:(a,b,c)=>{"use strict";let{InvalidArgumentError:d,RequestAbortedError:e}=c(61448),f=c(83204);class g extends f{#ad=1048576;#bw=!1;#ae=0;#B=null;aborted=!1;reason=!1;constructor({maxSize:a,signal:b},c){if(null!=a&&(!Number.isFinite(a)||a<1))throw new d("maxSize must be a number greater than 0");super(c),this.#ad=a??this.#ad}#bs(a){this.aborted=!0,this.reason=a}onRequestStart(a,b){return a.abort=this.#bs.bind(this),this.#B=a,super.onRequestStart(a,b)}onResponseStart(a,b,c,d){let f=c["content-length"];if(null!=f&&f>this.#ad)throw new e(`Response size (${f}) larger than maxSize (${this.#ad})`);return!0===this.aborted||super.onResponseStart(a,b,c,d)}onResponseError(a,b){this.#bw||(b=this.#B?.reason??b,super.onResponseError(a,b))}onResponseData(a,b){return this.#ae=this.#ae+b.length,this.#ae>=this.#ad&&(this.#bw=!0,!0===this.aborted?super.onResponseError(a,this.reason):super.onResponseEnd(a,{})),!0}onResponseEnd(a,b){if(!this.#bw){if(!0===this.#B.aborted)return void super.onResponseError(a,this.reason);super.onResponseEnd(a,b)}}}a.exports=function({maxSize:a}={maxSize:1048576}){return b=>function(c,d){let{dumpMaxSize:e=a}=c,f=new g({maxSize:e,signal:c.signal},d);return b(c,f)}}},87164:(a,b,c)=>{"use strict";c.d(b,{Og:()=>p,jT:()=>o,Sc:()=>C,Ql:()=>y,$B:()=>B,pb:()=>E});var d=c(30395),e=c(48991),f=c(46956);let g=new Set(["login.microsoftonline.com","login.microsoft.com","login.windows.net"]);function h(a){return"string"==typeof a?a.trim():""}let i=null;async function j(a,b){return a?n("xai",a,async()=>{try{i||(i=new(await c.e(4621).then(c.bind(c,14621))).XaiService);let b=await i.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}let k=new Map;function l(){let a=Error("Request aborted");return a.name="AbortError",a}function m(a,b){return a.waiterCount+=1,new Promise((c,d)=>{let e=!1,f=(c,d)=>{e||(e=!0,b?.removeEventListener?.("abort",g),a.waiterCount=Math.max(0,a.waiterCount-1),0!==a.waiterCount||a.settled||(a.acceptingWaiters=!1,a.controller.abort(l())),c(d))},g=()=>f(d,l());b?.addEventListener?.("abort",g,{once:!0}),b?.aborted&&g(),a.promise.then(a=>f(c,a),a=>f(d,a))})}async function n(a,b,c,d,e=null){let f,g;if(e?.aborted)throw l();if(!b)return c();let h=`${a}:${b}`,i=k.get(h);if(i){if(i.promise){if(!1===i.acceptingWaiters||i.controller.signal.aborted)try{return await (e?.aborted?Promise.reject(l()):new Promise((a,b)=>{let c=!1,d=(a,b)=>{c||(c=!0,e?.removeEventListener?.("abort",f),a(b))},f=()=>d(b,l());e?.addEventListener?.("abort",f,{once:!0}),e?.aborted&&f(),i.promise.then(b=>d(a,b),a=>d(b,a))}))}catch(f){if(e?.aborted)throw l();if(i.controller.signal.aborted&&f?.name==="AbortError")return n(a,b,c,d,e);throw f}return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),m(i,e)}if(i.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),i.result;k.delete(h)}let j={controller:new AbortController,promise:new Promise((a,b)=>{f=a,g=b}),acceptingWaiters:!0,settled:!1,waiterCount:0};return k.set(h,j),(async()=>{try{let a=await c(j.controller.signal),b={result:a,expiresAt:Date.now()+1e4};k.set(h,b);let d=setTimeout(()=>{k.get(h)===b&&k.delete(h)},1e4);d.unref?.(),j.settled=!0,f(a)}catch(a){k.get(h)===j&&k.delete(h),j.settled=!0,g(a)}})(),m(j,e)}function o(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function p(a){return e.Wu[a]||3e5}async function q(a,b,c,e){let f=d.xq[a];return f&&f.refreshUrl?b?n(a,b,async()=>{try{let c=await fetch(f.refreshUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:b,client_id:f.clientId,client_secret:f.clientSecret})});if(!c.ok){let b=await c.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:c.status,error:b}),null}let d=await c.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||b,expiresIn:d.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function r(a,b){return a?n("claude",a,async()=>{try{let c=await fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!f.access_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function s(a,b,c,d){return a?n(`google:${b}`,a,async()=>{try{let f=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function t(a,b){return a?n("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function u(a,b,c="codebuddy"){return a?n(c,a,async()=>{try{let e=d.xq[c]||d.xq.codebuddy,g=e.refreshUrl,h=e.domain||"www.codebuddy.ai",i=await (0,f.F)(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"CLI/2.63.2 CodeBuddy/2.63.2","X-Requested-With":"XMLHttpRequest","X-Domain":h,"X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!i.ok)return b?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${c}`,{status:i.status,error:await i.text().catch(()=>"")}),null;let j=await i.json(),k=j?.data||j,l=k?.accessToken||k?.access_token;if(!l)return null;return{accessToken:l,refreshToken:k?.refreshToken||k?.refresh_token||a,expiresIn:k?.expiresIn||k?.expires_in||86400}}catch(a){return b?.error?.("TOKEN_REFRESH",`Error refreshing token for ${c}`,{error:a.message}),null}},b):null}function v(a,b,c,d){let e=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error&&"object"==typeof c.error?c.error:c,e=[d?.reason,c?.reason,d?.code,c?.code,d?.errorCode,c?.errorCode,d?.type,c?.type,d?.__type,c?.__type,"string"==typeof c?.error?c.error:""].filter(a=>("string"==typeof a||"number"==typeof a)&&String(a).trim()),f=e.map(a=>String(a).trim()).find(a=>/^[A-Za-z0-9_.:#/-]{1,200}$/.test(a)&&!/^aor[A-Za-z0-9._~+/=-]{8,}$/.test(a)&&!/^eyJ[A-Za-z0-9_-]{8,}\./.test(a))||null,g=[d?.message,d?.Message,d?.error_description,c?.message,c?.Message,c?.error_description,c?"":a].find(a=>"string"==typeof a&&a.trim())||"",h=e.map(a=>String(a).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")),i=["invalid_grant","invalid_grant_exception","invalid_refresh_token","refresh_token_expired","refresh_token_revoked","refresh_token_reused","refresh_token_invalidated","expired_token","token_revoked","invalid_token","invalid_token_exception","invalid_client","invalid_client_exception","unauthorized_client"],j=h.some(a=>{let b=a.replace(/_exception$/,"");return i.some(a=>b===a||b.endsWith(`_${a}`))}),k=g.toLowerCase().slice(0,4e3);return{status:b,code:f,permanent:j||/\binvalid[_ -]?grant\b/.test(k)||/\brefresh token\b.{0,60}\b(?:expired|invalid|revoked|reused|disabled)\b/.test(k)||/\b(?:expired|invalid|revoked|reused|disabled)\b.{0,60}\brefresh token\b/.test(k)}}(b,a.status);c?.error?.("TOKEN_REFRESH",`Kiro ${d} refresh failed`,{status:a.status,code:e.code,permanent:e.permanent});let f=Error(e.permanent?"Kiro refresh credential rejected":"Kiro refresh temporarily unavailable");throw f.name=e.permanent?"KiroRefreshCredentialError":"KiroRefreshTransientError",f.status=a.status,f.code=e.code,f.permanent=e.permanent,f}function w(a,b){a?.error?.("TOKEN_REFRESH",`Kiro ${b} refresh returned no access token`);let c=Error("Kiro refresh returned an invalid response");throw c.name="KiroRefreshTransientError",c.status=502,c.code="MISSING_ACCESS_TOKEN",c.permanent=!1,c}async function x(a,b){return a?n("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text(),d=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a,code:d.code,permanent:d.permanent}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,hasIdToken:!!f.id_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,idToken:f.id_token,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function y(a,b,c,e=null,i=null){return a?n("kiro",a,async i=>{let j=b?.authMethod,k=b?.clientId,l=b?.clientSecret,m=b?.region;if("external_idp"===j){let d;try{d=function(a,b={}){var c;let d=h(b.clientId||b.client_id),e=function(a){let b,c=h(a);if(!c)throw Error("token_endpoint is required");try{b=new URL(c)}catch{throw Error("token_endpoint must be a valid URL")}if("https:"!==b.protocol)throw Error("token_endpoint must use https");if(!g.has(b.hostname.toLowerCase()))throw Error("token_endpoint must be a Microsoft login endpoint");return b.toString()}(b.tokenEndpoint||b.token_endpoint),f=Array.isArray(c=b.scope||b.scopes)?c.map(h).filter(Boolean).join(" "):h(c);if(!a)throw Error("refresh token is required");if(!d)throw Error("clientId is required for external_idp refresh");if(!f)throw Error("scope is required for external_idp refresh");return{tokenEndpoint:e,body:new URLSearchParams({grant_type:"refresh_token",client_id:d,refresh_token:a,scope:f}),providerSpecificData:{...b,authMethod:"external_idp",clientId:d,tokenEndpoint:e,scope:f}}}(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Kiro external IdP refresh rejected: ${a.message}`),null}let j=await (0,f.F)(d.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d.body,signal:i},{...e,singleTransportAttempt:!0});if(!j.ok){let a=await j.text();return v(j,a,c,"external IdP")}let k=await j.json();return k?.access_token?{accessToken:k.access_token,refreshToken:k.refresh_token||a,expiresIn:k.expires_in,providerSpecificData:d.providerSpecificData}:w(c,"external IdP")}if(k&&l){let b="idc"===j&&m?`https://oidc.${m}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",d=await (0,f.F)(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:k,clientSecret:l,refreshToken:a,grantType:"refresh_token"}),signal:i},{...e,singleTransportAttempt:!0});if(!d.ok){let a=await d.text();return v(d,a,c,"AWS")}let g=await d.json();return g?.accessToken?(c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!g.accessToken,expiresIn:g.expiresIn}),{accessToken:g.accessToken,refreshToken:g.refreshToken||a,expiresIn:g.expiresIn}):w(c,"AWS")}let n=await (0,f.F)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/2.12.2"},body:JSON.stringify({refreshToken:a}),signal:i},{...e,singleTransportAttempt:!0});if(!n.ok){let a=await n.text();return v(n,a,c,"social")}let o=await n.json();return o?.accessToken?(c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!o.accessToken,expiresIn:o.expiresIn}),{accessToken:o.accessToken,refreshToken:o.refreshToken||a,expiresIn:o.expiresIn}):w(c,"social")},c,i):null}async function z(a,b){return a?n("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),f=await fetch(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function A(a,b){return a?n("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let f=await fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function B(a,b,c){if(!b.refreshToken)return null;switch(a){case"gemini-cli":case"antigravity":return s(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return r(b.refreshToken,c);case"codex":return x(b.refreshToken,c);case"qwen":return t(b.refreshToken,c);case"codebuddy":return u(b.refreshToken,c,"codebuddy");case"codebuddy-cn":return u(b.refreshToken,c,"codebuddy-cn");case"iflow":return z(b.refreshToken,c);case"github":return A(b.refreshToken,c);case"kiro":return y(b.refreshToken,b.providerSpecificData,c);case"xai":case"grok-cli":return j(b.refreshToken,c);case"vertex":case"vertex-partner":{let a=C(b.apiKey);if(!a)return null;return E(a,c)}default:return q(a,b.refreshToken,b,c)}}function C(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let D=new Map;async function E(a,b){let d=a.client_email,e=D.get(d);if(e&&e.expiresAt-Date.now()>3e5)return{accessToken:e.token,expiresAt:e.expiresAt};try{let{SignJWT:e,importPKCS8:f}=await c.e(3675).then(c.bind(c,3675));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let g=await f(a.private_key.replace(/\\n/g,"\n"),"RS256"),h=Math.floor(Date.now()/1e3),i=await new e({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience("https://oauth2.googleapis.com/token").setIssuedAt(h).setExpirationTime(h+3600).sign(g),j=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:i})});if(!j.ok){let a=await j.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:k,expires_in:l}=await j.json(),m=Date.now()+(l??3600)*1e3;return D.set(d,{token:k,expiresAt:m}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:k,expiresAt:m}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}},87404:(a,b,c)=>{"use strict";let{webidl:d}=c(32984),{validateCloseCodeAndReason:e}=c(94050),{kConstruct:f}=c(49176),{kEnumerableProperty:g}=c(84285);function h(){class a extends DOMException{get reason(){return""}}return void 0!==new a().reason?DOMException:new Proxy(DOMException,{construct(a,b,c){let d=Reflect.construct(a,b,a);return Object.setPrototypeOf(d,c.prototype),d}})}class i extends h(){#bx;#br;constructor(a="",b){if(super(a=d.converters.DOMString(a,"WebSocketError","message"),"WebSocketError"),b===f)return;null!==b&&(b=d.converters.WebSocketCloseInfo(b));let c=b.closeCode??null;const g=b.reason??"";e(c,g),0!==g.length&&null===c&&(c=1e3),this.#bx=c,this.#br=g}get closeCode(){return this.#bx}get reason(){return this.#br}static createUnvalidatedWebSocketError(a,b,c){let d=new i(a,f);return d.#bx=b,d.#br=c,d}}let{createUnvalidatedWebSocketError:j}=i;delete i.createUnvalidatedWebSocketError,Object.defineProperties(i.prototype,{closeCode:g,reason:g,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}}),d.is.WebSocketError=d.util.MakeTypeAssertion(i),a.exports={WebSocketError:i,createUnvalidatedWebSocketError:j}},87658:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToClaudeResponse:()=>i});var d=c(56294),e=c(42541);let f="proxy_";function g(a,b){a.thinkingBlockStarted&&(b.push({type:"content_block_stop",index:a.thinkingBlockIndex}),a.thinkingBlockStarted=!1)}function h(a,b){a.textBlockStarted&&!a.textBlockClosed&&(a.textBlockClosed=!0,b.push({type:"content_block_stop",index:a.textBlockIndex}),a.textBlockStarted=!1)}function i(a,b){if(!a||!a.choices?.[0])return null;let c=[],d=a.choices[0],e=d.delta;if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.prompt_tokens?a.usage.prompt_tokens:0,d="number"==typeof a.usage.completion_tokens?a.usage.completion_tokens:0,e=a.usage.prompt_tokens_details?.cached_tokens,f=a.usage.prompt_tokens_details?.cache_creation_tokens,g="number"==typeof e?e:0,h="number"==typeof f?f:0;b.usage={input_tokens:c-g-h,output_tokens:d},g>0&&(b.usage.cache_read_input_tokens=g),h>0&&(b.usage.cache_creation_input_tokens=h)}b.messageStartSent||(b.messageStartSent=!0,b.messageId=a.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!b.messageId||"chat"===b.messageId||b.messageId.length<8)&&(b.messageId=a.extend_fields?.requestId||a.extend_fields?.traceId||`msg_${Date.now()}`),b.model=a.model||"unknown",b.nextBlockIndex=0,c.push({type:"message_start",message:{id:b.messageId,type:"message",role:"assistant",model:b.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let i=e?.reasoning_content||e?.reasoning;if(i&&(h(b,c),b.thinkingBlockStarted||(b.thinkingBlockIndex=b.nextBlockIndex++,b.thinkingBlockStarted=!0,c.push({type:"content_block_start",index:b.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),c.push({type:"content_block_delta",index:b.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:i}})),e?.content&&(g(b,c),b.textBlockStarted||(b.textBlockIndex=b.nextBlockIndex++,b.textBlockStarted=!0,b.textBlockClosed=!1,c.push({type:"content_block_start",index:b.textBlockIndex,content_block:{type:"text",text:""}})),c.push({type:"content_block_delta",index:b.textBlockIndex,delta:{type:"text_delta",text:e.content}})),e?.tool_calls)for(let a of e.tool_calls){let d=a.index??0;if(a.id){g(b,c),h(b,c);let e=b.nextBlockIndex++;b.toolCalls.set(d,{id:a.id,name:a.function?.name||"",blockIndex:e});let i=a.function?.name||"";i.startsWith(f)&&(i=i.slice(f.length)),c.push({type:"content_block_start",index:e,content_block:{type:"tool_use",id:a.id,name:i,input:{}}})}a.function?.arguments&&b.toolCalls.get(d)&&(b.toolArgBuffers||(b.toolArgBuffers=new Map),b.toolArgBuffers.set(d,(b.toolArgBuffers.get(d)||"")+a.function.arguments))}if(d.finish_reason){for(let[a,d]of(g(b,c),h(b,c),b.toolCalls)){let e=b.toolArgBuffers?.get(a);if(e){let a=function(a,b){try{let c=JSON.parse(b),d=a.startsWith(f)?a.slice(f.length):a;return"Read"===d&&function(a){var b,c;"string"==typeof a.limit&&/^\d+$/.test(a.limit)&&(a.limit=Number(a.limit)),"string"==typeof a.offset&&/^-?\d+$/.test(a.offset)&&(a.offset=Number(a.offset)),"number"==typeof a.limit&&(a.limit>2e3&&(a.limit=2e3),a.limit<1&&delete a.limit),"number"==typeof a.offset&&a.offset<0&&(a.offset=0),"pages"in a&&(b=a.file_path,c=a.pages,!("string"==typeof b&&b.toLowerCase().endsWith(".pdf")&&"string"==typeof c&&/^\d+(?:-\d+)?$/.test(c)))&&delete a.pages}(c),JSON.stringify(c)}catch{return b}}(d.name,e);c.push({type:"content_block_delta",index:d.blockIndex,delta:{type:"input_json_delta",partial_json:a}})}c.push({type:"content_block_stop",index:d.blockIndex})}b.finishReason=d.finish_reason;let a=b.usage||{input_tokens:0,output_tokens:0};c.push({type:"message_delta",delta:{stop_reason:function(a){switch(a){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(d.finish_reason)},usage:a}),c.push({type:"message_stop"})}return c.length>0?c:null}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,null,i)},87793:(a,b,c)=>{"use strict";c.d(b,{buildClineHeaders:()=>e});let d="1.0.199";function e(a,b={}){let c,f=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`ZevaiRouter/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"zevairouter","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return f&&(g.Authorization=f),g}},87981:(a,b,c)=>{var d=c(45654);c(29984),c(33889),(a.exports=d.pss=d.pss||{}).create=function(a){3==arguments.length&&(a={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var b,c=a.md,e=a.mgf,f=c.digestLength,g=a.salt||null;if("string"==typeof g&&(g=d.util.createBuffer(g)),"saltLength"in a)b=a.saltLength;else if(null!==g)b=g.length();else throw Error("Salt length not specified or specific salt not given.");if(null!==g&&g.length()!==b)throw Error("Given salt length does not match length of given salt.");var h=a.prng||d.random,i={};return i.encode=function(a,i){var j,k,l=i-1,m=Math.ceil(l/8),n=a.digest().getBytes();if(m<f+b+2)throw Error("Message is too long to encrypt.");k=null===g?h.getBytesSync(b):g.bytes();var o=new d.util.ByteBuffer;o.fillWithByte(0,8),o.putBytes(n),o.putBytes(k),c.start(),c.update(o.getBytes());var p=c.digest().getBytes(),q=new d.util.ByteBuffer;q.fillWithByte(0,m-b-f-2),q.putByte(1),q.putBytes(k);var r=q.getBytes(),s=m-f-1,t=e.generate(p,s),u="";for(j=0;j<s;j++)u+=String.fromCharCode(r.charCodeAt(j)^t.charCodeAt(j));return(u=String.fromCharCode(u.charCodeAt(0)&~(65280>>8*m-l&255))+u.substr(1))+p+String.fromCharCode(188)},i.verify=function(a,g,h){var i,j=h-1,k=Math.ceil(j/8);if(g=g.substr(-k),k<f+b+2)throw Error("Inconsistent parameters to PSS signature verification.");if(188!==g.charCodeAt(k-1))throw Error("Encoded message does not end in 0xBC.");var l=k-f-1,m=g.substr(0,l),n=g.substr(l,f),o=65280>>8*k-j&255;if((m.charCodeAt(0)&o)!=0)throw Error("Bits beyond keysize not zero as expected.");var p=e.generate(n,l),q="";for(i=0;i<l;i++)q+=String.fromCharCode(m.charCodeAt(i)^p.charCodeAt(i));q=String.fromCharCode(q.charCodeAt(0)&~o)+q.substr(1);var r=k-f-b-2;for(i=0;i<r;i++)if(0!==q.charCodeAt(i))throw Error("Leftmost octets not zero as expected");if(1!==q.charCodeAt(r))throw Error("Inconsistent PSS signature, 0x01 marker not found");var s=q.substr(-b),t=new d.util.ByteBuffer;return t.fillWithByte(0,8),t.putBytes(a),t.putBytes(s),c.start(),c.update(t.getBytes()),n===c.digest().getBytes()},i}},88819:(a,b,c)=>{var d=c(45654);function e(a,b){d.cipher.registerAlgorithm(a,function(){return new d.des.Algorithm(a,b)})}c(66568),c(19396),c(33889),a.exports=d.des=d.des||{},d.des.startEncrypting=function(a,b,c,d){var e=o({key:a,output:c,decrypt:!1,mode:d||(null===b?"ECB":"CBC")});return e.start(b),e},d.des.createEncryptionCipher=function(a,b){return o({key:a,output:null,decrypt:!1,mode:b})},d.des.startDecrypting=function(a,b,c,d){var e=o({key:a,output:c,decrypt:!0,mode:d||(null===b?"ECB":"CBC")});return e.start(b),e},d.des.createDecryptionCipher=function(a,b){return o({key:a,output:null,decrypt:!0,mode:b})},d.des.Algorithm=function(a,b){var c=this;c.name=a,c.mode=new b({blockSize:8,cipher:{encrypt:function(a,b){return n(c._keys,a,b,!1)},decrypt:function(a,b){return n(c._keys,a,b,!0)}}}),c._init=!1},d.des.Algorithm.prototype.initialize=function(a){if(!this._init){var b=d.util.createBuffer(a.key);if(0===this.name.indexOf("3DES")&&24!==b.length())throw Error("Invalid Triple-DES key size: "+8*b.length());this._keys=function(a){for(var b,c=[0,4,0x20000000,0x20000004,65536,65540,0x20010000,0x20010004,512,516,0x20000200,0x20000204,66048,66052,0x20010200,0x20010204],d=[0,1,1048576,1048577,0x4000000,0x4000001,0x4100000,0x4100001,256,257,1048832,1048833,0x4000100,0x4000101,0x4100100,0x4100101],e=[0,8,2048,2056,0x1000000,0x1000008,0x1000800,0x1000808,0,8,2048,2056,0x1000000,0x1000008,0x1000800,0x1000808],f=[0,2097152,0x8000000,0x8200000,8192,2105344,0x8002000,0x8202000,131072,2228224,0x8020000,0x8220000,139264,2236416,0x8022000,0x8222000],g=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],h=[0,1024,32,1056,0,1024,32,1056,0x2000000,0x2000400,0x2000020,0x2000420,0x2000000,0x2000400,0x2000020,0x2000420],i=[0,0x10000000,524288,0x10080000,2,0x10000002,524290,0x10080002,0,0x10000000,524288,0x10080000,2,0x10000002,524290,0x10080002],j=[0,65536,2048,67584,0x20000000,0x20010000,0x20000800,0x20010800,131072,196608,133120,198656,0x20020000,0x20030000,0x20020800,0x20030800],k=[0,262144,0,262144,2,262146,2,262146,0x2000000,0x2040000,0x2000000,0x2040000,0x2000002,0x2040002,0x2000002,0x2040002],l=[0,0x10000000,8,0x10000008,0,0x10000000,8,0x10000008,1024,0x10000400,1032,0x10000408,1024,0x10000400,1032,0x10000408],m=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],n=[0,0x1000000,512,0x1000200,2097152,0x1200000,2097664,0x1200200,0x4000000,0x5000000,0x4000200,0x5000200,0x4200000,0x5200000,0x4200200,0x5200200],o=[0,4096,0x8000000,0x8001000,524288,528384,0x8080000,0x8081000,16,4112,0x8000010,0x8001010,524304,528400,0x8080010,0x8081010],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],q=a.length()>8?3:1,r=[],s=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],t=0,u=0;u<q;u++){var v=a.getInt32(),w=a.getInt32();b=(v>>>4^w)&0xf0f0f0f,w^=b,v^=b<<4,b=(w>>>-16^v)&65535,v^=b,w^=b<<-16,b=(v>>>2^w)&0x33333333,w^=b,v^=b<<2,b=(w>>>-16^v)&65535,v^=b,w^=b<<-16,b=(v>>>1^w)&0x55555555,w^=b,v^=b<<1,b=(w>>>8^v)&0xff00ff,v^=b,w^=b<<8,b=(v>>>1^w)&0x55555555,w^=b,v^=b<<1,b=v<<8|w>>>20&240,v=w<<24|w<<8&0xff0000|w>>>8&65280|w>>>24&240,w=b;for(var x=0;x<s.length;++x){s[x]?(v=v<<2|v>>>26,w=w<<2|w>>>26):(v=v<<1|v>>>27,w=w<<1|w>>>27),w&=-15;var y=c[(v&=-15)>>>28]|d[v>>>24&15]|e[v>>>20&15]|f[v>>>16&15]|g[v>>>12&15]|h[v>>>8&15]|i[v>>>4&15],z=j[w>>>28]|k[w>>>24&15]|l[w>>>20&15]|m[w>>>16&15]|n[w>>>12&15]|o[w>>>8&15]|p[w>>>4&15];b=(z>>>16^y)&65535,r[t++]=y^b,r[t++]=z^b<<16}}return r}(b),this._init=!0}},e("DES-ECB",d.cipher.modes.ecb),e("DES-CBC",d.cipher.modes.cbc),e("DES-CFB",d.cipher.modes.cfb),e("DES-OFB",d.cipher.modes.ofb),e("DES-CTR",d.cipher.modes.ctr),e("3DES-ECB",d.cipher.modes.ecb),e("3DES-CBC",d.cipher.modes.cbc),e("3DES-CFB",d.cipher.modes.cfb),e("3DES-OFB",d.cipher.modes.ofb),e("3DES-CTR",d.cipher.modes.ctr);var f=[0x1010400,0,65536,0x1010404,0x1010004,66564,4,65536,1024,0x1010400,0x1010404,1024,0x1000404,0x1010004,0x1000000,4,1028,0x1000400,0x1000400,66560,66560,0x1010000,0x1010000,0x1000404,65540,0x1000004,0x1000004,65540,0,1028,66564,0x1000000,65536,0x1010404,4,0x1010000,0x1010400,0x1000000,0x1000000,1024,0x1010004,65536,66560,0x1000004,1024,4,0x1000404,66564,0x1010404,65540,0x1010000,0x1000404,0x1000004,1028,66564,0x1010400,1028,0x1000400,0x1000400,0,65540,66560,0,0x1010004],g=[-0x7fef7fe0,-0x7fff8000,32768,1081376,1048576,32,-0x7fefffe0,-0x7fff7fe0,-0x7fffffe0,-0x7fef7fe0,-0x7fef8000,-0x80000000,-0x7fff8000,1048576,32,-0x7fefffe0,1081344,1048608,-0x7fff7fe0,0,-0x80000000,32768,1081376,-0x7ff00000,1048608,-0x7fffffe0,0,1081344,32800,-0x7fef8000,-0x7ff00000,32800,0,1081376,-0x7fefffe0,1048576,-0x7fff7fe0,-0x7ff00000,-0x7fef8000,32768,-0x7ff00000,-0x7fff8000,32,-0x7fef7fe0,1081376,32,32768,-0x80000000,32800,-0x7fef8000,1048576,-0x7fffffe0,1048608,-0x7fff7fe0,-0x7fffffe0,1048608,1081344,0,-0x7fff8000,32800,-0x80000000,-0x7fefffe0,-0x7fef7fe0,1081344],h=[520,0x8020200,0,0x8020008,0x8000200,0,131592,0x8000200,131080,0x8000008,0x8000008,131072,0x8020208,131080,0x8020000,520,0x8000000,8,0x8020200,512,131584,0x8020000,0x8020008,131592,0x8000208,131584,131072,0x8000208,8,0x8020208,512,0x8000000,0x8020200,0x8000000,131080,520,131072,0x8020200,0x8000200,0,512,131080,0x8020208,0x8000200,0x8000008,512,0,0x8020008,0x8000208,131072,0x8000000,0x8020208,8,131592,131584,0x8000008,0x8020000,0x8000208,520,0x8020000,131592,8,0x8020008,131584],i=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],j=[256,0x2080100,0x2080000,0x42000100,524288,256,0x40000000,0x2080000,0x40080100,524288,0x2000100,0x40080100,0x42000100,0x42080000,524544,0x40000000,0x2000000,0x40080000,0x40080000,0,0x40000100,0x42080100,0x42080100,0x2000100,0x42080000,0x40000100,0,0x42000000,0x2080100,0x2000000,0x42000000,524544,524288,0x42000100,256,0x2000000,0x40000000,0x2080000,0x42000100,0x40080100,0x2000100,0x40000000,0x42080000,0x2080100,0x40080100,256,0x2000000,0x42080000,0x42080100,524544,0x42000000,0x42080100,0x2080000,0,0x40080000,0x42000000,524544,0x2000100,0x40000100,524288,0,0x40080000,0x2080100,0x40000100],k=[0x20000010,0x20400000,16384,0x20404010,0x20400000,16,0x20404010,4194304,0x20004000,4210704,4194304,0x20000010,4194320,0x20004000,0x20000000,16400,0,4194320,0x20004010,16384,4210688,0x20004010,16,0x20400010,0x20400010,0,4210704,0x20404000,16400,4210688,0x20404000,0x20000000,0x20004000,16,0x20400010,4210688,0x20404010,4194304,16400,0x20000010,4194304,0x20004000,0x20000000,16400,0x20000010,0x20404010,4210688,0x20400000,4210704,0x20404000,0,0x20400010,16,16384,0x20400000,4210704,16384,4194320,0x20004010,0,0x20404000,0x20000000,4194320,0x20004010],l=[2097152,0x4200002,0x4000802,0,2048,0x4000802,2099202,0x4200800,0x4200802,2097152,0,0x4000002,2,0x4000000,0x4200002,2050,0x4000800,2099202,2097154,0x4000800,0x4000002,0x4200000,0x4200800,2097154,0x4200000,2048,2050,0x4200802,2099200,2,0x4000000,2099200,0x4000000,2099200,2097152,0x4000802,0x4000802,0x4200002,0x4200002,2,2097154,0x4000000,0x4000800,2097152,0x4200800,2050,2099202,0x4200800,2050,0x4000002,0x4200802,0x4200000,2099200,0,2,0x4200802,0,2099202,0x4200000,2048,0x4000002,0x4000800,2048,2097154],m=[0x10001040,4096,262144,0x10041040,0x10000000,0x10001040,64,0x10000000,262208,0x10040000,0x10041040,266240,0x10041000,266304,4096,64,0x10040000,0x10000040,0x10001000,4160,266240,262208,0x10040040,0x10041000,4160,0,0,0x10040040,0x10000040,0x10001000,266304,262144,266304,262144,0x10041000,4096,64,0x10040040,4096,266304,0x10001000,64,0x10000040,0x10040000,0x10040040,0x10000000,262144,0x10001040,0,0x10041040,262208,0x10000040,0x10040000,0x10001000,0x10001040,0,0x10041040,266240,266240,4160,4160,262208,0x10000000,0x10041000];function n(a,b,c,d){var e,n,o=32===a.length?3:9;e=3===o?d?[30,-2,-2]:[0,32,2]:d?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var p=b[0],q=b[1];n=(p>>>4^q)&0xf0f0f0f,q^=n,p^=n<<4,n=(p>>>16^q)&65535,q^=n,p^=n<<16,n=(q>>>2^p)&0x33333333,p^=n,q^=n<<2,n=(q>>>8^p)&0xff00ff,p^=n,q^=n<<8,n=(p>>>1^q)&0x55555555,q^=n,p^=n<<1,p=p<<1|p>>>31,q=q<<1|q>>>31;for(var r=0;r<o;r+=3){for(var s=e[r+1],t=e[r+2],u=e[r];u!=s;u+=t){var v=q^a[u],w=(q>>>4|q<<28)^a[u+1];n=p,p=q,q=n^(g[v>>>24&63]|i[v>>>16&63]|k[v>>>8&63]|m[63&v]|f[w>>>24&63]|h[w>>>16&63]|j[w>>>8&63]|l[63&w])}n=p,p=q,q=n}n=((p=p>>>1|p<<31)>>>1^(q=q>>>1|q<<31))&0x55555555,q^=n,p^=n<<1,n=(q>>>8^p)&0xff00ff,p^=n,q^=n<<8,n=(q>>>2^p)&0x33333333,p^=n,q^=n<<2,n=(p>>>16^q)&65535,q^=n,p^=n<<16,n=(p>>>4^q)&0xf0f0f0f,q^=n,p^=n<<4,c[0]=p,c[1]=q}function o(a){var b,c="DES-"+((a=a||{}).mode||"CBC").toUpperCase(),e=(b=a.decrypt?d.cipher.createDecipher(c,a.key):d.cipher.createCipher(c,a.key)).start;return b.start=function(a,c){var f=null;c instanceof d.util.ByteBuffer&&(f=c,c={}),(c=c||{}).output=f,c.iv=a,e.call(b,c)},b}},88998:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A:()=>A});var e=c(21820),f=c.n(e),g=c(1932),h=c(33873),i=c(29021),j=c(70321),k=c(70490),l=c(3721),m=c(6951),n=c(18922),o=c(25346),p=c(24081),q=c(86767),r=c(73822),s=a([q]);if(q=(s.then?(await s)():s)[0],!process.env.MITM_SERVER_PATH)try{let a=(0,g.fileURLToPath)("file:///zevairouter-build/src/shared/services/initializeApp.js"),b=(0,h.dirname)((0,h.dirname)(a)),c=(0,h.join)(b,"mitm","server.js");(0,i.existsSync)(c)&&(process.env.MITM_SERVER_PATH=c)}catch{}try{(0,l.initDbHooks)(j.mt,j.Xx)}catch{}process.setMaxListeners(20);let y=global.__appSingleton??={signalHandlersRegistered:!1,watchdogInterval:null,networkMonitorInterval:null,lastNetworkFingerprint:null,lastWatchdogTick:Date.now(),lastOnline:null,mitmStartInProgress:!1,tunnelAutoResumed:!1,tailscaleAutoResumed:!1,headroomAutoResumed:!1,shuttingDown:!1};async function t(){try{(0,q.EW)(),await (0,j.bI)();let a=await (0,j.mt)();if(a.tunnelEnabled&&!y.tunnelAutoResumed&&(y.tunnelAutoResumed=!0,console.log("[InitApp] Tunnel was enabled, auto-resuming..."),v("startup").catch(a=>console.log("[InitApp] Tunnel resume failed:",a.message))),a.tailscaleEnabled&&!y.tailscaleAutoResumed&&(y.tailscaleAutoResumed=!0,console.log("[InitApp] Tailscale was enabled, auto-resuming..."),w("startup").catch(a=>console.log("[InitApp] Tailscale resume failed:",a.message))),a.headroomEnabled&&!y.headroomAutoResumed&&(y.headroomAutoResumed=!0,console.log("[InitApp] Headroom was enabled, auto-resuming..."),(0,r.rR)(a).then(()=>console.log("[InitApp] Headroom auto-started")).catch(a=>console.log("[InitApp] Headroom auto-start failed:",a.message))),!y.signalHandlersRegistered){let a=!1,b=async()=>{if(!a){a=!0,y.shuttingDown=!0,y.watchdogInterval&&clearInterval(y.watchdogInterval),y.networkMonitorInterval&&clearInterval(y.networkMonitorInterval),y.watchdogInterval=null,y.networkMonitorInterval=null;try{await (0,q.UT)()}catch(a){console.error("[InitApp] quota refresh stop failed:",a)}try{await (0,o.d_)()}catch(a){console.error("[InitApp] usage flush failed:",a)}try{await (0,n.cj)()}catch(a){console.error("[InitApp] request detail flush failed:",a)}try{await (0,p.y5)()}catch(a){console.error("[InitApp] database close failed:",a)}try{(0,l.removeAllDNSEntriesSync)()}catch{}(0,k.ss)(),process.exit()}};process.on("SIGINT",b),process.on("SIGTERM",b),process.on("exit",()=>{try{(0,l.removeAllDNSEntriesSync)()}catch{}}),y.signalHandlersRegistered=!0}(0,k.Al)().catch(()=>{}),(0,m.v)().catch(()=>{}),(0,k.X$)(()=>{v("unexpected-exit").catch(()=>{})}),!y.watchdogInterval&&(y.watchdogInterval=setInterval(()=>{y.shuttingDown||(v("watchdog").catch(()=>{}),w("watchdog").catch(()=>{}))},k.DA),y.watchdogInterval.unref&&y.watchdogInterval.unref()),!y.networkMonitorInterval&&(y.lastNetworkFingerprint=x(),y.lastWatchdogTick=Date.now(),y.lastOnline=null,y.networkMonitorInterval=setInterval(async()=>{if(!y.shuttingDown)try{let a=Date.now(),b=a-y.lastWatchdogTick;y.lastWatchdogTick=a;let c=x(),d=c!==y.lastNetworkFingerprint,e=b>6*k.rI;d&&(y.lastNetworkFingerprint=c);let f=await (0,k.u7)(),g=!1===y.lastOnline;if(y.lastOnline=f,!f||!d&&!e&&!g)return;await new Promise(a=>setTimeout(a,k.cw));let h=g?"online":e&&d?"sleep+netchange":e?"sleep":"netchange";v(h).catch(()=>{}),w(h).catch(()=>{})}catch(a){console.log("[NetworkMonitor] error:",a.message)}},k.rI),y.networkMonitorInterval.unref&&y.networkMonitorInterval.unref()),u()}catch(a){console.error("[InitApp] Error:",a)}}async function u(){if(!y.mitmStartInProgress&&!y.shuttingDown){y.mitmStartInProgress=!0;try{if(!(await (0,j.mt)()).mitmEnabled||(await (0,l.getMitmStatus)()).running)return;let a=await (0,l.loadEncryptedPassword)();if(!a&&"win32"!==process.platform)return void console.log("[InitApp] MITM was enabled but no saved password found, skipping auto-start");let b=(await (0,j.PX)(!0)).find(a=>!1!==a.isActive);if(y.shuttingDown)return;console.log("[InitApp] MITM was enabled, auto-starting..."),await (0,l.startMitm)(b?.key||"sk_zevai",a),console.log("[InitApp] MITM auto-started");try{await (0,l.restoreToolDNS)(a),console.log("[InitApp] DNS restored from saved state")}catch(a){console.log("[InitApp] DNS restore failed:",a.message)}}catch(a){console.log("[InitApp] MITM auto-start failed:",a.message)}finally{y.mitmStartInProgress=!1}}}y.shuttingDown??=!1;let z=/^(startup|netchange|sleep|sleep\+netchange|online|unexpected-exit)$/;async function v(a){if(y.shuttingDown)return;let b=(0,k.Qn)();if(!(await (0,j.mt)()).tunnelEnabled||b.cancelToken.cancelled||b.spawnInProgress)return;let c=z.test(a);if(!(0,k.nN)()){if(!c&&Date.now()-b.lastRestartAt<k.Lh)return void console.log(`[Tunnel] degraded but cooldown active, skip (${a})`);if(await (0,k.u7)()){console.log(`[Tunnel] safeRestart (${a}) — tunnel unreachable${c?" [force]":""}`);try{await (0,k.cb)(),b.lastRestartAt=Date.now(),console.log("[Tunnel] restart success")}catch(a){/cloudflared killed|tunnel cancelled/.test(a.message)||console.log("[Tunnel] restart failed:",a.message)}}}}async function w(a){if(y.shuttingDown)return;let b=(0,k.oN)();if(!(await (0,j.mt)()).tailscaleEnabled||b.cancelToken.cancelled||b.spawnInProgress||("startup"===a?(0,k.hp)():(0,k.Kp)()))return;let c=z.test(a);if(!c&&Date.now()-b.lastRestartAt<k.Lh)return void console.log(`[Tailscale] degraded but cooldown active, skip (${a})`);if(await (0,k.u7)()){console.log(`[Tailscale] safeRestart (${a}) — daemon not running${c?" [force]":""}`);try{await (0,k.mh)(),b.lastRestartAt=Date.now(),console.log("[Tailscale] restart success")}catch(a){console.log("[Tailscale] restart failed:",a.message)}}}function x(){let a=f().networkInterfaces(),b=[];for(let[c,d]of Object.entries(a))if(d&&!k.Lx.test(c))for(let a of d)a.internal||"IPv4"!==a.family||b.push(`${c}:${a.address}`);return b.sort().join("|")}let A=t;d()}catch(a){d(a)}})},89409:(a,b,c)=>{"use strict";let d=c(84285),{parseCacheControlHeader:e,hasInvalidCacheControlDirective:f,parseVaryHeader:g,hasVaryStar:h,isInvalidOrWildcardVaryHeader:i,isEtagUsable:j}=c(79468),{parseHttpDate:k}=c(24214);function l(){}let m=[200,203,204,206,300,301,308,404,405,410,414,501],n=[206];function o(a,b){for(let c=0;c<a.length;c++)if(a[c]===b)return!0;return!1}function p(a,b,c){s(a,{...b,path:c});for(let e=0;e<d.safeHTTPMethods.length;e++){let f=d.safeHTTPMethods[e];f!==b.method&&s(a,{...b,method:f,path:c})}}function q(a,b,c){if(void 0===c)return;let d=Array.isArray(c)?c:[c];for(let c=0;c<d.length;c++){let e=function(a,b){let c,d,e;if("string"==typeof b){try{c=new URL(a.origin),d=new URL(a.path,c),e=new URL(b,d)}catch{return}if(e.origin===c.origin)return e.pathname+e.search}}(b,d[c]);void 0!==e&&p(a,b,e)}}class r{#by;#bz;#bA;#bB;#at;#bC;constructor({store:a,type:b,cacheByDefault:c},d,e){this.#bB=a,this.#bz=b,this.#bA=c,this.#by=d,this.#at=e}onRequestStart(a,b){this.#bC?.destroy(),this.#bC=void 0,this.#at.onRequestStart?.(a,b)}onRequestUpgrade(a,b,c,d){this.#at.onRequestUpgrade?.(a,b,c,d)}onResponseStart(a,b,c,l){var r,u,v,w,x,y,z,A,B,C;let D,E=()=>this.#at.onResponseStart?.(a,b,c,l),F=this;if(!o(d.safeHTTPMethods,this.#by.method)&&b>=200&&b<=399){return r=this.#bB,u=this.#by,p(r,u,u.path),q(r,u,c.location),q(r,u,c["content-location"]),E()}let G=c["cache-control"],H=c["last-modified"]&&o(m,b);if(!G&&!c.expires&&!H&&!this.#bA)return 304===b&&c.vary&&i(c.vary)&&s(this.#bB,this.#by),E();let I=G?e(G):{};if(v=this.#bz,w=b,x=c,y=I,z=this.#by.headers,w<200||o(n,w)||!o(m,w)&&!x.expires&&!y.public&&void 0===y["max-age"]&&!(y.private&&"private"===v)&&(void 0===y["s-maxage"]||"shared"!==v)||y["no-store"]||"shared"===v&&!0===y.private||x.vary&&h(x.vary)||null!=z&&Object.hasOwn(z,"authorization")&&(!y.public&&!y["s-maxage"]&&!y["must-revalidate"]||"string"!=typeof z.authorization||Array.isArray(y["no-cache"])&&o(y["no-cache"],"authorization")||Array.isArray(y.private)&&o(y.private,"authorization"))||0){return 304===b&&(G||(A=this.#bz,B=c,!0===(C=I)["no-store"]||"shared"===A&&!0===C.private||B.vary&&i(B.vary)))&&s(this.#bB,this.#by),E()}let J=Date.now(),K=Object.hasOwn(c,"age")?function(a){let b=a;if(Array.isArray(b)){if(1!==b.length)return 2147483647e3;b=b[0]}if("string"!=typeof b||!/^[\t ]*[0-9]+[\t ]*$/.test(b))return 2147483647e3;let c=BigInt(b.replace(/^[\t ]+|[\t ]+$/g,""));return c>=BigInt(0x7fffffff)?2147483647e3:1e3*Number(c)}(c.age):void 0;if(void 0!==K&&K>=2147483647e3)return t(b,this.#bB,this.#by),E();let L=Object.hasOwn(c,"date")?function(a){let b=a;if(Array.isArray(b)){if(1!==b.length)return null;b=b[0]}return"string"!=typeof b?null:k(b)}(c.date):void 0;if(null===L)return t(b,this.#bB,this.#by),E();let M=Math.max(L?Math.max(0,J-L.getTime()):0,K??0),N="string"==typeof c.etag&&j(c.etag)||"string"==typeof c["last-modified"],O=function(a,b,c,d,e,g,h){if("shared"===a){if(f(g,"s-maxage"))return 0;let a=g["s-maxage"];if(void 0!==a)return a>0?1e3*a:0}if(f(g,"max-age"))return 0;let i=g["max-age"];if(void 0!==i)return i>0?1e3*i:0;if(Object.hasOwn(d,"expires")){if("string"!=typeof d.expires)return 0;let a=k(d.expires);if(!a||b>=a.getTime())return 0;if(e){if(e>=a)return 0;let b=a.getTime()-e.getTime();return void 0!==c&&c>=b?0:b}return a.getTime()-b}if("string"==typeof d["last-modified"]){let a=k(d["last-modified"]);if(a){if(a.getTime()>=b)return;return .1*(b-a.getTime())}}return g.immutable?31536e6:!0===g["no-cache"]&&h?0:void 0}(this.#bz,J,K,c,L,I,N)??this.#bA,P=0===O&&N;if(void 0===O||M>=O&&!P)return(G||void 0!==O)&&t(b,this.#bB,this.#by),E();let Q=J-M,R=O+Q;if(J>=R&&!P)return t(b,this.#bB,this.#by),E();if(this.#by.headers&&c.vary&&!(D=g(c.vary,this.#by.headers)))return E();let S=function(a,b,c,d){let e=-1/0,f=-1/0,g=-1/0;if(c["stale-while-revalidate"]&&(e=d+1e3*c["stale-while-revalidate"]),c["stale-if-error"]&&(f=d+1e3*c["stale-if-error"]),c.immutable&&e===-1/0&&f===-1/0&&(g=b+31536e6),e===-1/0&&f===-1/0&&g===-1/0){let c=d-a;return c<=0?b+864e5:d+c+Math.min(Math.max(b-a,0),1e3)}return Math.max(d,e,f,g)}(Q,J,I,R),T=function(a,b){let c,d=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];for(let e of(a.connection&&function(a,b){let c=Array.isArray(b)?b:[b];for(let b=0;b<c.length;b++){let d=c[b].split(",");for(let b=0;b<d.length;b++)a.push(d[b].replace(/^[\t ]+|[\t ]+$/g,"").toLowerCase())}}(d,a.connection),Array.isArray(b["no-cache"])&&d.push(...b["no-cache"]),Array.isArray(b.private)&&d.push(...b.private),d))Object.hasOwn(a,e)&&(c??={...a},delete c[e]);return c??a}(c,I),U={statusCode:b,statusMessage:l,headers:T,vary:D,cacheControlDirectives:I,cachedAt:Q,staleAt:R,deleteAt:S};if(304===b){let b=b=>{if(!b)return E();if(U.statusCode=b.statusCode,U.statusMessage=b.statusMessage,U.etag=b.etag,U.vary=D??b.vary,U.headers={...b.headers,...T},E(),this.#bC=this.#bB.createWriteStream(this.#by,U),this.#bC&&b?.body)if("function"==typeof b.body.values){let c=b.body.values(),d=()=>{for(let b of c){let c=!1===this.#bC.write(b);if(this.#at.onResponseData?.(a,b),c)break}};this.#bC.on("error",function(){F.#bC=void 0,F.#bB.delete(F.#by)}).on("drain",()=>{d()}).on("close",function(){F.#bC===this&&(F.#bC=void 0)}),d()}else"function"==typeof b.body.on&&(b.body.on("data",b=>{this.#bC.write(b),this.#at.onResponseData?.(a,b)}).on("end",()=>{this.#bC.end()}).on("error",()=>{this.#bC=void 0,this.#bB.delete(this.#by)}),this.#bC.on("error",function(){F.#bC=void 0,F.#bB.delete(F.#by)}).on("close",function(){F.#bC===this&&(F.#bC=void 0)}))},c=this.#bB.get(this.#by);c&&"function"==typeof c.then?c.then(b):b(c)}else{if("string"==typeof c.etag&&j(c.etag)&&(U.etag=c.etag),this.#bC=this.#bB.createWriteStream(this.#by,U),!this.#bC)return E();this.#bC.on("drain",()=>a.resume()).on("error",function(){F.#bC=void 0,F.#bB.delete(F.#by)}).on("close",function(){F.#bC===this&&(F.#bC=void 0),a.resume()}),E()}}onResponseData(a,b){this.#bC?.write(b)===!1&&a.pause(),this.#at.onResponseData?.(a,b)}onResponseEnd(a,b){this.#bC?.end(),this.#at.onResponseEnd?.(a,b)}onResponseError(a,b){this.#bC?.destroy(b),this.#bC=void 0,this.#at.onResponseError?.(a,b)}}function s(a,b){try{a.delete(b)?.catch?.(l)}catch{}}function t(a,b,c){304===a&&s(b,c)}a.exports=r},89512:(a,b,c)=>{"use strict";let d=c(37417),e=c(65630),{SnapshotRecorder:f}=c(94279),{InvalidArgumentError:g,UndiciError:h}=c(61448),i=c(84285),{validateSnapshotMode:j}=c(47800),k=Symbol("kSnapshotRecorder"),l=Symbol("kSnapshotMode"),m=Symbol("kSnapshotPath"),n=Symbol("kSnapshotLoaded"),o=Symbol("kRealAgent"),p=!1;class q extends e{constructor(a={}){p||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),p=!0);const{mode:b="record",snapshotPath:c=null,...e}=a;if(super(e),j(b),("playback"===b||"update"===b)&&!c)throw new g(`snapshotPath is required when mode is '${b}'`);this[l]=b,this[m]=c,this[k]=new f({snapshotPath:this[m],mode:this[l],maxSnapshots:a.maxSnapshots,autoFlush:a.autoFlush,flushInterval:a.flushInterval,matchHeaders:a.matchHeaders,ignoreHeaders:a.ignoreHeaders,excludeHeaders:a.excludeHeaders,matchBody:a.matchBody,normalizeBody:a.normalizeBody,matchQuery:a.matchQuery,normalizeQuery:a.normalizeQuery,caseSensitive:a.caseSensitive,shouldRecord:a.shouldRecord,shouldPlayback:a.shouldPlayback,excludeUrls:a.excludeUrls}),this[n]=!1,("record"===this[l]||"update"===this[l]||"playback"===this[l]&&a.excludeUrls&&a.excludeUrls.length>0)&&(this[o]=new d(a)),("playback"===this[l]||"update"===this[l])&&this[m]&&this.loadSnapshots().catch(()=>{})}dispatch(a,b){let c=this[l];if(this[k].isUrlExcluded(a))return this[o].dispatch(a,b);if("playback"===c||"update"===c){if(!this[n])return this.#bD(a,b);let d=this[k].findSnapshot(a);if(d)return this.#bE(d,b);{if("update"===c)return this.#bF(a,b);let d=new h(`No snapshot found for ${a.method||"GET"} ${a.path}`);if(b.onResponseError)return void b.onResponseError(null,d);throw d}}if("record"===c)return this.#bF(a,b)}async #bD(a,b){return await this.loadSnapshots(),this.dispatch(a,b)}#bF(a,b){let c={statusCode:null,headers:{},trailers:{},body:[]},d=this;return this[o].dispatch(a,{onRequestStart(a,c){return b.onRequestStart(a,{...c,history:this.history})},onRequestUpgrade:(a,c,d,e)=>b.onRequestUpgrade(a,c,d,e),onResponseStart:(a,d,e,f)=>(c.statusCode=d,c.headers=e,b.onResponseStart(a,d,e,f)),onResponseData:(a,d)=>(c.body.push(d),b.onResponseData(a,d)),onResponseEnd(e,f){c.trailers=f;let g=Buffer.concat(c.body);d[k].record(a,{statusCode:c.statusCode,headers:c.headers,body:g,trailers:c.trailers}).then(()=>b.onResponseEnd(e,f)).catch(a=>b.onResponseError(e,a))},onResponseError:(a,c)=>b.onResponseError(a,c)})}#bE(a,b){try{let{response:c}=a,d=c.headers?i.toRawHeaders(c.headers):[],e=c.trailers?i.toRawHeaders(c.trailers):[],f={rawHeaders:d,rawTrailers:e,pause(){},resume(){},abort(a){this.aborted=!0,this.reason=a},aborted:!1,paused:!1};b.onRequestStart(f),b.onResponseStart(f,c.statusCode,c.headers,c.statusMessage);let g=Buffer.from(c.body,"base64");b.onResponseData(f,g),b.onResponseEnd(f,c.trailers)}catch(a){b.onResponseError?.(null,a)}}async loadSnapshots(a){await this[k].loadSnapshots(a||this[m]),this[n]=!0,"playback"===this[l]&&this.#bG()}async saveSnapshots(a){return this[k].saveSnapshots(a||this[m])}#bG(){for(let a of this[k].getSnapshots()){let{request:b,responses:c,response:d}=a,e=new URL(b.url),f=this.get(e.origin),g=c?c[0]:d;g&&f.intercept({path:e.pathname+e.search,method:b.method,headers:b.headers,body:b.body}).reply(g.statusCode,g.body,{headers:g.headers,trailers:g.trailers}).persist()}}getRecorder(){return this[k]}getMode(){return this[l]}clearSnapshots(){this[k].clear()}resetCallCounts(){this[k].resetCallCounts()}deleteSnapshot(a){return this[k].deleteSnapshot(a)}getSnapshotInfo(a){return this[k].getSnapshotInfo(a)}replaceSnapshots(a){this[k].replaceSnapshots(a)}async close(){"playback"===this[l]?this[k].destroy():await this[k].close(),await this[o]?.close(),await super.close()}}a.exports=q},90181:(a,b,c)=>{"use strict";c.d(b,{getPricingForModel:()=>f}),c(24081);let d=(0,c(58609).U)("pricing");async function e(){return await d.getAll()}async function f(a,b){if(!b)return null;let d=await e();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:f}=await c.e(7464).then(c.bind(c,87464));return f(a,b)}},90249:(a,b,c)=>{"use strict";let d=c(53053),e=c(84285),f=c(32264),{normalizeHeaders:g,makeCacheKey:h,makeDeduplicationKey:i}=c(79468),j=d.channel("undici:request:pending-requests");a.exports=(a={})=>{let{methods:b=["GET"],skipHeaderNames:c=[],excludeHeaderNames:d=[],maxBufferSize:k=5242880}=a;if("object"!=typeof a||null===a)throw TypeError(`expected type of opts to be an Object, got ${null===a?"null":typeof a}`);if(!Array.isArray(b))throw TypeError(`expected opts.methods to be an array, got ${typeof b}`);for(let a of b)if(!e.safeHTTPMethods.includes(a))throw TypeError(`expected opts.methods to only contain safe HTTP methods, got ${a}`);if(!Array.isArray(c))throw TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof c}`);if(!Array.isArray(d))throw TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof d}`);if(!Number.isFinite(k)||k<=0)throw TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${k}`);let l=new Set(c.map(a=>a.toLowerCase())),m=new Set(d.map(a=>a.toLowerCase())),n=new Map;return a=>(c,d)=>{if(c.upgrade||!1===b.includes(c.method))return a(c,d);if(c={...c,headers:g(c)},l.size>0){for(let b of Object.keys(c.headers))if(l.has(b.toLowerCase()))return a(c,d)}let e=i(h(c),m),o=n.get(e);if(o)return!!o.addWaitingHandler(d)||a(c,d);let p=new f(d,()=>{n.delete(e),j.hasSubscribers&&j.publish({size:n.size,key:e,type:"removed"})},k);return n.set(e,p),j.hasSubscribers&&j.publish({size:n.size,key:e,type:"added"}),a(c,p)}}},91083:(a,b,c)=>{"use strict";"u">typeof process&&process.versions?.node,"u">typeof process&&process.env?.ENABLE_REQUEST_LOGS},91120:(a,b,c)=>{"use strict";c.d(b,{j:()=>h});var d=c(69384),e=c(30395),f=c(80015);let g=new Set;class h extends d.Hv{constructor(){super("opencode",e.xq.opencode)}transformRequest(a,b){return(0,f.Z)({provider:this.provider,model:a,body:b})}buildUrl(a){let b="https://opencode.ai";return g.has(a)?`${b}/zen/v1/messages`:`${b}/zen/v1/chat/completions`}buildHeaders(){return{"Content-Type":"application/json",Authorization:"Bearer public","x-opencode-client":"desktop",Accept:"text/event-stream"}}}},91358:(a,b,c)=>{"use strict";c.d(b,{K:()=>e});var d=c(50801);class e extends d.L{constructor(){super("codebuddy-cn")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let f=e.reasoning_effort;return"none"===f||"off"===f?delete e.reasoning_effort:f&&(e.reasoning_summary="auto"),e}}},92216:(a,b,c)=>{"use strict";c.r(b),c.d(b,{cleanupProviderConnections:()=>s,createProviderConnection:()=>m,deleteProviderConnection:()=>p,deleteProviderConnectionsByProvider:()=>q,getProviderConnectionById:()=>k,getProviderConnections:()=>j,mutateProviderConnection:()=>o,reorderProviderConnections:()=>r,updateProviderConnection:()=>n});var d=c(27137),e=c(24081),f=c(50743);let g=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount"];function h(a){return a?{...(0,f.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function i(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=a;return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:h??null,isActive:+(!1!==i),data:(0,f.s)(l),createdAt:j,updatedAt:k}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
398
+ ${c}`;d.writeFileSync(h,g)}catch{}},file:h}},clearDumpDir:function(){try{if(!d.existsSync(j))return;for(let a of d.readdirSync(j))try{d.rmSync(e.join(j,a),{recursive:!0,force:!0})}catch{}}catch{}}}},87085:(a,b,c)=>{"use strict";let{InvalidArgumentError:d,RequestAbortedError:e}=c(61448),f=c(83204);class g extends f{#ad=1048576;#bw=!1;#ae=0;#B=null;aborted=!1;reason=!1;constructor({maxSize:a,signal:b},c){if(null!=a&&(!Number.isFinite(a)||a<1))throw new d("maxSize must be a number greater than 0");super(c),this.#ad=a??this.#ad}#bs(a){this.aborted=!0,this.reason=a}onRequestStart(a,b){return a.abort=this.#bs.bind(this),this.#B=a,super.onRequestStart(a,b)}onResponseStart(a,b,c,d){let f=c["content-length"];if(null!=f&&f>this.#ad)throw new e(`Response size (${f}) larger than maxSize (${this.#ad})`);return!0===this.aborted||super.onResponseStart(a,b,c,d)}onResponseError(a,b){this.#bw||(b=this.#B?.reason??b,super.onResponseError(a,b))}onResponseData(a,b){return this.#ae=this.#ae+b.length,this.#ae>=this.#ad&&(this.#bw=!0,!0===this.aborted?super.onResponseError(a,this.reason):super.onResponseEnd(a,{})),!0}onResponseEnd(a,b){if(!this.#bw){if(!0===this.#B.aborted)return void super.onResponseError(a,this.reason);super.onResponseEnd(a,b)}}}a.exports=function({maxSize:a}={maxSize:1048576}){return b=>function(c,d){let{dumpMaxSize:e=a}=c,f=new g({maxSize:e,signal:c.signal},d);return b(c,f)}}},87164:(a,b,c)=>{"use strict";c.d(b,{Og:()=>p,jT:()=>o,Sc:()=>C,Ql:()=>y,$B:()=>B,pb:()=>E});var d=c(30395),e=c(48991),f=c(46956);let g=new Set(["login.microsoftonline.com","login.microsoft.com","login.windows.net"]);function h(a){return"string"==typeof a?a.trim():""}let i=null;async function j(a,b){return a?n("xai",a,async()=>{try{i||(i=new(await c.e(4621).then(c.bind(c,14621))).XaiService);let b=await i.refreshAccessToken(a);return{accessToken:b.access_token,refreshToken:b.refresh_token||a,expiresIn:b.expires_in,idToken:b.id_token}}catch(c){b?.warn?.("TOKEN_REFRESH",`xai refresh failed: ${c?.message||c}`);let a=String(c?.message||"");if(a.includes("invalid_grant")||a.includes("invalid_request"))return{error:"invalid_grant"};return null}},b):null}let k=new Map;function l(){let a=Error("Request aborted");return a.name="AbortError",a}function m(a,b){return a.waiterCount+=1,new Promise((c,d)=>{let e=!1,f=(c,d)=>{e||(e=!0,b?.removeEventListener?.("abort",g),a.waiterCount=Math.max(0,a.waiterCount-1),0!==a.waiterCount||a.settled||(a.acceptingWaiters=!1,a.controller.abort(l())),c(d))},g=()=>f(d,l());b?.addEventListener?.("abort",g,{once:!0}),b?.aborted&&g(),a.promise.then(a=>f(c,a),a=>f(d,a))})}async function n(a,b,c,d,e=null){let f,g;if(e?.aborted)throw l();if(!b)return c();let h=`${a}:${b}`,i=k.get(h);if(i){if(i.promise){if(!1===i.acceptingWaiters||i.controller.signal.aborted)try{return await (e?.aborted?Promise.reject(l()):new Promise((a,b)=>{let c=!1,d=(a,b)=>{c||(c=!0,e?.removeEventListener?.("abort",f),a(b))},f=()=>d(b,l());e?.addEventListener?.("abort",f,{once:!0}),e?.aborted&&f(),i.promise.then(b=>d(a,b),a=>d(b,a))}))}catch(f){if(e?.aborted)throw l();if(i.controller.signal.aborted&&f?.name==="AbortError")return n(a,b,c,d,e);throw f}return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),m(i,e)}if(i.expiresAt>Date.now())return d?.info?.("TOKEN_REFRESH",`Reusing recent refresh result for ${a}`),i.result;k.delete(h)}let j={controller:new AbortController,promise:new Promise((a,b)=>{f=a,g=b}),acceptingWaiters:!0,settled:!1,waiterCount:0};return k.set(h,j),(async()=>{try{let a=await c(j.controller.signal),b={result:a,expiresAt:Date.now()+1e4};k.set(h,b);let d=setTimeout(()=>{k.get(h)===b&&k.delete(h)},1e4);d.unref?.(),j.settled=!0,f(a)}catch(a){k.get(h)===j&&k.delete(h),j.settled=!0,g(a)}})(),m(j,e)}function o(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}function p(a){return e.Wu[a]||3e5}async function q(a,b,c,e){let f=d.xq[a];return f&&f.refreshUrl?b?n(a,b,async()=>{try{let c=await fetch(f.refreshUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:b,client_id:f.clientId,client_secret:f.clientSecret})});if(!c.ok){let b=await c.text();return e?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:c.status,error:b}),null}let d=await c.json();return e?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||b,expiresIn:d.expires_in}}catch(b){return e?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}},e):(e?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null):(e?.warn?.("TOKEN_REFRESH",`No refresh URL configured for provider: ${a}`),null)}async function r(a,b){return a?n("claude",a,async()=>{try{let c=await fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!f.access_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}},b):null}async function s(a,b,c,d){return a?n(`google:${b}`,a,async()=>{try{let f=await fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!f.ok){let a=await f.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:f.status,error:a}),null}let g=await f.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!g.access_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return d?.error?.("TOKEN_REFRESH",`Network error refreshing Google token: ${a.message}`),null}},d):null}async function t(a,b){return a?n("qwen",a,async()=>{let c=e.NA.qwen.token;try{let e=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.qwen.clientId})});if(200===e.status){let c=await e.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await e.text().catch(()=>"");b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:e.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null},b):null}async function u(a,b,c="codebuddy"){return a?n(c,a,async()=>{try{let e=d.xq[c]||d.xq.codebuddy,g=e.refreshUrl,h=e.domain||"www.codebuddy.ai",i=await (0,f.F)(g,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"CLI/2.63.2 CodeBuddy/2.63.2","X-Requested-With":"XMLHttpRequest","X-Domain":h,"X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"});if(!i.ok)return b?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${c}`,{status:i.status,error:await i.text().catch(()=>"")}),null;let j=await i.json(),k=j?.data||j,l=k?.accessToken||k?.access_token;if(!l)return null;return{accessToken:l,refreshToken:k?.refreshToken||k?.refresh_token||a,expiresIn:k?.expiresIn||k?.expires_in||86400}}catch(a){return b?.error?.("TOKEN_REFRESH",`Error refreshing token for ${c}`,{error:a.message}),null}},b):null}function v(a,b,c,d){let e=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error&&"object"==typeof c.error?c.error:c,e=[d?.reason,c?.reason,d?.code,c?.code,d?.errorCode,c?.errorCode,d?.type,c?.type,d?.__type,c?.__type,"string"==typeof c?.error?c.error:""].filter(a=>("string"==typeof a||"number"==typeof a)&&String(a).trim()),f=e.map(a=>String(a).trim()).find(a=>/^[A-Za-z0-9_.:#/-]{1,200}$/.test(a)&&!/^aor[A-Za-z0-9._~+/=-]{8,}$/.test(a)&&!/^eyJ[A-Za-z0-9_-]{8,}\./.test(a))||null,g=[d?.message,d?.Message,d?.error_description,c?.message,c?.Message,c?.error_description,c?"":a].find(a=>"string"==typeof a&&a.trim())||"",h=e.map(a=>String(a).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")),i=["invalid_grant","invalid_grant_exception","invalid_refresh_token","refresh_token_expired","refresh_token_revoked","refresh_token_reused","refresh_token_invalidated","expired_token","token_revoked","invalid_token","invalid_token_exception","invalid_client","invalid_client_exception","unauthorized_client"],j=h.some(a=>{let b=a.replace(/_exception$/,"");return i.some(a=>b===a||b.endsWith(`_${a}`))}),k=g.toLowerCase().slice(0,4e3);return{status:b,code:f,permanent:j||/\binvalid[_ -]?grant\b/.test(k)||/\brefresh token\b.{0,60}\b(?:expired|invalid|revoked|reused|disabled)\b/.test(k)||/\b(?:expired|invalid|revoked|reused|disabled)\b.{0,60}\brefresh token\b/.test(k)}}(b,a.status);c?.error?.("TOKEN_REFRESH",`Kiro ${d} refresh failed`,{status:a.status,code:e.code,permanent:e.permanent});let f=Error(e.permanent?"Kiro refresh credential rejected":"Kiro refresh temporarily unavailable");throw f.name=e.permanent?"KiroRefreshCredentialError":"KiroRefreshTransientError",f.status=a.status,f.code=e.code,f.permanent=e.permanent,f}function w(a,b){a?.error?.("TOKEN_REFRESH",`Kiro ${b} refresh returned no access token`);let c=Error("Kiro refresh returned an invalid response");throw c.name="KiroRefreshTransientError",c.status=502,c.code="MISSING_ACCESS_TOKEN",c.permanent=!1,c}async function x(a,b){return a?n("codex",a,async()=>{try{let c=await fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({client_id:d.xq.codex.clientId,grant_type:"refresh_token",refresh_token:a})});if(!c.ok){let a=await c.text(),d=function(a="",b=0){let c=null;try{c=a?JSON.parse(a):null}catch{c=null}let d=c?.error?.code||c?.error||c?.error_code||"",e=c?.error_description||c?.message||a||"",f=`${d} ${e}`.toLowerCase();return{status:b,code:d,description:e,permanent:["refresh_token_expired","refresh_token_reused","refresh_token_invalidated","invalid_grant"].some(a=>f.includes(a))}}(a,c.status);if(d.permanent)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-auth required.",{status:c.status,code:d.code}),{error:"unrecoverable_refresh_error",code:d.code};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a,code:d.code,permanent:d.permanent}),null}let f=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,hasIdToken:!!f.id_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,idToken:f.id_token,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}},b):null}async function y(a,b,c,e=null,i=null){return a?n("kiro",a,async i=>{let j=b?.authMethod,k=b?.clientId,l=b?.clientSecret,m=b?.region;if("external_idp"===j){let d;try{d=function(a,b={}){var c;let d=h(b.clientId||b.client_id),e=function(a){let b,c=h(a);if(!c)throw Error("token_endpoint is required");try{b=new URL(c)}catch{throw Error("token_endpoint must be a valid URL")}if("https:"!==b.protocol)throw Error("token_endpoint must use https");if(!g.has(b.hostname.toLowerCase()))throw Error("token_endpoint must be a Microsoft login endpoint");return b.toString()}(b.tokenEndpoint||b.token_endpoint),f=Array.isArray(c=b.scope||b.scopes)?c.map(h).filter(Boolean).join(" "):h(c);if(!a)throw Error("refresh token is required");if(!d)throw Error("clientId is required for external_idp refresh");if(!f)throw Error("scope is required for external_idp refresh");return{tokenEndpoint:e,body:new URLSearchParams({grant_type:"refresh_token",client_id:d,refresh_token:a,scope:f}),providerSpecificData:{...b,authMethod:"external_idp",clientId:d,tokenEndpoint:e,scope:f}}}(a,b)}catch(a){return c?.warn?.("TOKEN_REFRESH",`Kiro external IdP refresh rejected: ${a.message}`),null}let j=await (0,f.F)(d.tokenEndpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:d.body,signal:i},{...e,singleTransportAttempt:!0});if(!j.ok){let a=await j.text();return v(j,a,c,"external IdP")}let k=await j.json();return k?.access_token?{accessToken:k.access_token,refreshToken:k.refresh_token||a,expiresIn:k.expires_in,providerSpecificData:d.providerSpecificData}:w(c,"external IdP")}if(k&&l){let b="idc"===j&&m?`https://oidc.${m}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",d=await (0,f.F)(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:k,clientSecret:l,refreshToken:a,grantType:"refresh_token"}),signal:i},{...e,singleTransportAttempt:!0});if(!d.ok){let a=await d.text();return v(d,a,c,"AWS")}let g=await d.json();return g?.accessToken?(c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!g.accessToken,expiresIn:g.expiresIn}),{accessToken:g.accessToken,refreshToken:g.refreshToken||a,expiresIn:g.expiresIn}):w(c,"AWS")}let n=await (0,f.F)(d.xq.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":"kiro-cli/2.12.2"},body:JSON.stringify({refreshToken:a}),signal:i},{...e,singleTransportAttempt:!0});if(!n.ok){let a=await n.text();return v(n,a,c,"social")}let o=await n.json();return o?.accessToken?(c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!o.accessToken,expiresIn:o.expiresIn}),{accessToken:o.accessToken,refreshToken:o.refreshToken||a,expiresIn:o.expiresIn}):w(c,"social")},c,i):null}async function z(a,b){return a?n("iflow",a,async()=>{let c=btoa(`${d.xq.iflow.clientId}:${d.xq.iflow.clientSecret}`),f=await fetch(e.NA.iflow.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:d.xq.iflow.clientId,client_secret:d.xq.iflow.clientSecret})});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function A(a,b){return a?n("github",a,async()=>{let c={grant_type:"refresh_token",refresh_token:a,client_id:d.xq.github.clientId};d.xq.github.clientSecret&&(c.client_secret=d.xq.github.clientSecret);let f=await fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams(c)});if(!f.ok){let a=await f.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:f.status,error:a}),null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}},b):null}async function B(a,b,c){if(!b.refreshToken)return null;switch(a){case"gemini-cli":case"antigravity":return s(b.refreshToken,d.xq[a].clientId,d.xq[a].clientSecret,c);case"claude":return r(b.refreshToken,c);case"codex":return x(b.refreshToken,c);case"qwen":return t(b.refreshToken,c);case"codebuddy":return u(b.refreshToken,c,"codebuddy");case"codebuddy-cn":return u(b.refreshToken,c,"codebuddy-cn");case"iflow":return z(b.refreshToken,c);case"github":return A(b.refreshToken,c);case"kiro":return y(b.refreshToken,b.providerSpecificData,c);case"xai":case"grok-cli":return j(b.refreshToken,c);case"vertex":case"vertex-partner":{let a=C(b.apiKey);if(!a)return null;return E(a,c)}default:return q(a,b.refreshToken,b,c)}}function C(a){if("string"!=typeof a)return null;try{let b=JSON.parse(a);if("service_account"===b.type&&b.client_email&&b.private_key&&b.project_id)return b;return null}catch{return null}}let D=new Map;async function E(a,b){let d=a.client_email,e=D.get(d);if(e&&e.expiresAt-Date.now()>3e5)return{accessToken:e.token,expiresAt:e.expiresAt};try{let{SignJWT:e,importPKCS8:f}=await c.e(3675).then(c.bind(c,3675));b?.debug?.("TOKEN_REFRESH",`Vertex minting token for ${a.client_email}`);let g=await f(a.private_key.replace(/\\n/g,"\n"),"RS256"),h=Math.floor(Date.now()/1e3),i=await new e({scope:"https://www.googleapis.com/auth/cloud-platform"}).setProtectedHeader({alg:"RS256"}).setIssuer(a.client_email).setAudience("https://oauth2.googleapis.com/token").setIssuedAt(h).setExpirationTime(h+3600).sign(g),j=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:i})});if(!j.ok){let a=await j.text();return b?.error?.("TOKEN_REFRESH",`Vertex token mint failed: ${a}`),null}let{access_token:k,expires_in:l}=await j.json(),m=Date.now()+(l??3600)*1e3;return D.set(d,{token:k,expiresAt:m}),b?.info?.("TOKEN_REFRESH",`Vertex token minted for ${a.client_email}`),{accessToken:k,expiresAt:m}}catch(a){return b?.error?.("TOKEN_REFRESH",`Vertex token error: ${a.message}`),null}}},87404:(a,b,c)=>{"use strict";let{webidl:d}=c(32984),{validateCloseCodeAndReason:e}=c(94050),{kConstruct:f}=c(49176),{kEnumerableProperty:g}=c(84285);function h(){class a extends DOMException{get reason(){return""}}return void 0!==new a().reason?DOMException:new Proxy(DOMException,{construct(a,b,c){let d=Reflect.construct(a,b,a);return Object.setPrototypeOf(d,c.prototype),d}})}class i extends h(){#bx;#br;constructor(a="",b){if(super(a=d.converters.DOMString(a,"WebSocketError","message"),"WebSocketError"),b===f)return;null!==b&&(b=d.converters.WebSocketCloseInfo(b));let c=b.closeCode??null;const g=b.reason??"";e(c,g),0!==g.length&&null===c&&(c=1e3),this.#bx=c,this.#br=g}get closeCode(){return this.#bx}get reason(){return this.#br}static createUnvalidatedWebSocketError(a,b,c){let d=new i(a,f);return d.#bx=b,d.#br=c,d}}let{createUnvalidatedWebSocketError:j}=i;delete i.createUnvalidatedWebSocketError,Object.defineProperties(i.prototype,{closeCode:g,reason:g,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}}),d.is.WebSocketError=d.util.MakeTypeAssertion(i),a.exports={WebSocketError:i,createUnvalidatedWebSocketError:j}},87658:(a,b,c)=>{"use strict";c.r(b),c.d(b,{openaiToClaudeResponse:()=>i});var d=c(56294),e=c(42541);let f="proxy_";function g(a,b){a.thinkingBlockStarted&&(b.push({type:"content_block_stop",index:a.thinkingBlockIndex}),a.thinkingBlockStarted=!1)}function h(a,b){a.textBlockStarted&&!a.textBlockClosed&&(a.textBlockClosed=!0,b.push({type:"content_block_stop",index:a.textBlockIndex}),a.textBlockStarted=!1)}function i(a,b){if(!a||!a.choices?.[0])return null;let c=[],d=a.choices[0],e=d.delta;if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.prompt_tokens?a.usage.prompt_tokens:0,d="number"==typeof a.usage.completion_tokens?a.usage.completion_tokens:0,e=a.usage.prompt_tokens_details?.cached_tokens,f=a.usage.prompt_tokens_details?.cache_creation_tokens,g="number"==typeof e?e:0,h="number"==typeof f?f:0;b.usage={input_tokens:c-g-h,output_tokens:d},g>0&&(b.usage.cache_read_input_tokens=g),h>0&&(b.usage.cache_creation_input_tokens=h)}b.messageStartSent||(b.messageStartSent=!0,b.messageId=a.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!b.messageId||"chat"===b.messageId||b.messageId.length<8)&&(b.messageId=a.extend_fields?.requestId||a.extend_fields?.traceId||`msg_${Date.now()}`),b.model=a.model||"unknown",b.nextBlockIndex=0,c.push({type:"message_start",message:{id:b.messageId,type:"message",role:"assistant",model:b.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let i=e?.reasoning_content||e?.reasoning;if(i&&(h(b,c),b.thinkingBlockStarted||(b.thinkingBlockIndex=b.nextBlockIndex++,b.thinkingBlockStarted=!0,c.push({type:"content_block_start",index:b.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),c.push({type:"content_block_delta",index:b.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:i}})),e?.content&&(g(b,c),b.textBlockStarted||(b.textBlockIndex=b.nextBlockIndex++,b.textBlockStarted=!0,b.textBlockClosed=!1,c.push({type:"content_block_start",index:b.textBlockIndex,content_block:{type:"text",text:""}})),c.push({type:"content_block_delta",index:b.textBlockIndex,delta:{type:"text_delta",text:e.content}})),e?.tool_calls)for(let a of e.tool_calls){let d=a.index??0;if(a.id){g(b,c),h(b,c);let e=b.nextBlockIndex++;b.toolCalls.set(d,{id:a.id,name:a.function?.name||"",blockIndex:e});let i=a.function?.name||"";i.startsWith(f)&&(i=i.slice(f.length)),c.push({type:"content_block_start",index:e,content_block:{type:"tool_use",id:a.id,name:i,input:{}}})}a.function?.arguments&&b.toolCalls.get(d)&&(b.toolArgBuffers||(b.toolArgBuffers=new Map),b.toolArgBuffers.set(d,(b.toolArgBuffers.get(d)||"")+a.function.arguments))}if(d.finish_reason){for(let[a,d]of(g(b,c),h(b,c),b.toolCalls)){let e=b.toolArgBuffers?.get(a);if(e){let a=function(a,b){try{let c=JSON.parse(b),d=a.startsWith(f)?a.slice(f.length):a;return"Read"===d&&function(a){var b,c;"string"==typeof a.limit&&/^\d+$/.test(a.limit)&&(a.limit=Number(a.limit)),"string"==typeof a.offset&&/^-?\d+$/.test(a.offset)&&(a.offset=Number(a.offset)),"number"==typeof a.limit&&(a.limit>2e3&&(a.limit=2e3),a.limit<1&&delete a.limit),"number"==typeof a.offset&&a.offset<0&&(a.offset=0),"pages"in a&&(b=a.file_path,c=a.pages,!("string"==typeof b&&b.toLowerCase().endsWith(".pdf")&&"string"==typeof c&&/^\d+(?:-\d+)?$/.test(c)))&&delete a.pages}(c),JSON.stringify(c)}catch{return b}}(d.name,e);c.push({type:"content_block_delta",index:d.blockIndex,delta:{type:"input_json_delta",partial_json:a}})}c.push({type:"content_block_stop",index:d.blockIndex})}b.finishReason=d.finish_reason;let a=b.usage||{input_tokens:0,output_tokens:0};c.push({type:"message_delta",delta:{stop_reason:function(a){switch(a){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(d.finish_reason)},usage:a}),c.push({type:"message_stop"})}return c.length>0?c:null}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,null,i)},87793:(a,b,c)=>{"use strict";c.d(b,{buildClineHeaders:()=>e});let d="1.0.201";function e(a,b={}){let c,f=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`ZevaiRouter/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"zevairouter","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return f&&(g.Authorization=f),g}},87981:(a,b,c)=>{var d=c(45654);c(29984),c(33889),(a.exports=d.pss=d.pss||{}).create=function(a){3==arguments.length&&(a={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var b,c=a.md,e=a.mgf,f=c.digestLength,g=a.salt||null;if("string"==typeof g&&(g=d.util.createBuffer(g)),"saltLength"in a)b=a.saltLength;else if(null!==g)b=g.length();else throw Error("Salt length not specified or specific salt not given.");if(null!==g&&g.length()!==b)throw Error("Given salt length does not match length of given salt.");var h=a.prng||d.random,i={};return i.encode=function(a,i){var j,k,l=i-1,m=Math.ceil(l/8),n=a.digest().getBytes();if(m<f+b+2)throw Error("Message is too long to encrypt.");k=null===g?h.getBytesSync(b):g.bytes();var o=new d.util.ByteBuffer;o.fillWithByte(0,8),o.putBytes(n),o.putBytes(k),c.start(),c.update(o.getBytes());var p=c.digest().getBytes(),q=new d.util.ByteBuffer;q.fillWithByte(0,m-b-f-2),q.putByte(1),q.putBytes(k);var r=q.getBytes(),s=m-f-1,t=e.generate(p,s),u="";for(j=0;j<s;j++)u+=String.fromCharCode(r.charCodeAt(j)^t.charCodeAt(j));return(u=String.fromCharCode(u.charCodeAt(0)&~(65280>>8*m-l&255))+u.substr(1))+p+String.fromCharCode(188)},i.verify=function(a,g,h){var i,j=h-1,k=Math.ceil(j/8);if(g=g.substr(-k),k<f+b+2)throw Error("Inconsistent parameters to PSS signature verification.");if(188!==g.charCodeAt(k-1))throw Error("Encoded message does not end in 0xBC.");var l=k-f-1,m=g.substr(0,l),n=g.substr(l,f),o=65280>>8*k-j&255;if((m.charCodeAt(0)&o)!=0)throw Error("Bits beyond keysize not zero as expected.");var p=e.generate(n,l),q="";for(i=0;i<l;i++)q+=String.fromCharCode(m.charCodeAt(i)^p.charCodeAt(i));q=String.fromCharCode(q.charCodeAt(0)&~o)+q.substr(1);var r=k-f-b-2;for(i=0;i<r;i++)if(0!==q.charCodeAt(i))throw Error("Leftmost octets not zero as expected");if(1!==q.charCodeAt(r))throw Error("Inconsistent PSS signature, 0x01 marker not found");var s=q.substr(-b),t=new d.util.ByteBuffer;return t.fillWithByte(0,8),t.putBytes(a),t.putBytes(s),c.start(),c.update(t.getBytes()),n===c.digest().getBytes()},i}},88819:(a,b,c)=>{var d=c(45654);function e(a,b){d.cipher.registerAlgorithm(a,function(){return new d.des.Algorithm(a,b)})}c(66568),c(19396),c(33889),a.exports=d.des=d.des||{},d.des.startEncrypting=function(a,b,c,d){var e=o({key:a,output:c,decrypt:!1,mode:d||(null===b?"ECB":"CBC")});return e.start(b),e},d.des.createEncryptionCipher=function(a,b){return o({key:a,output:null,decrypt:!1,mode:b})},d.des.startDecrypting=function(a,b,c,d){var e=o({key:a,output:c,decrypt:!0,mode:d||(null===b?"ECB":"CBC")});return e.start(b),e},d.des.createDecryptionCipher=function(a,b){return o({key:a,output:null,decrypt:!0,mode:b})},d.des.Algorithm=function(a,b){var c=this;c.name=a,c.mode=new b({blockSize:8,cipher:{encrypt:function(a,b){return n(c._keys,a,b,!1)},decrypt:function(a,b){return n(c._keys,a,b,!0)}}}),c._init=!1},d.des.Algorithm.prototype.initialize=function(a){if(!this._init){var b=d.util.createBuffer(a.key);if(0===this.name.indexOf("3DES")&&24!==b.length())throw Error("Invalid Triple-DES key size: "+8*b.length());this._keys=function(a){for(var b,c=[0,4,0x20000000,0x20000004,65536,65540,0x20010000,0x20010004,512,516,0x20000200,0x20000204,66048,66052,0x20010200,0x20010204],d=[0,1,1048576,1048577,0x4000000,0x4000001,0x4100000,0x4100001,256,257,1048832,1048833,0x4000100,0x4000101,0x4100100,0x4100101],e=[0,8,2048,2056,0x1000000,0x1000008,0x1000800,0x1000808,0,8,2048,2056,0x1000000,0x1000008,0x1000800,0x1000808],f=[0,2097152,0x8000000,0x8200000,8192,2105344,0x8002000,0x8202000,131072,2228224,0x8020000,0x8220000,139264,2236416,0x8022000,0x8222000],g=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],h=[0,1024,32,1056,0,1024,32,1056,0x2000000,0x2000400,0x2000020,0x2000420,0x2000000,0x2000400,0x2000020,0x2000420],i=[0,0x10000000,524288,0x10080000,2,0x10000002,524290,0x10080002,0,0x10000000,524288,0x10080000,2,0x10000002,524290,0x10080002],j=[0,65536,2048,67584,0x20000000,0x20010000,0x20000800,0x20010800,131072,196608,133120,198656,0x20020000,0x20030000,0x20020800,0x20030800],k=[0,262144,0,262144,2,262146,2,262146,0x2000000,0x2040000,0x2000000,0x2040000,0x2000002,0x2040002,0x2000002,0x2040002],l=[0,0x10000000,8,0x10000008,0,0x10000000,8,0x10000008,1024,0x10000400,1032,0x10000408,1024,0x10000400,1032,0x10000408],m=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],n=[0,0x1000000,512,0x1000200,2097152,0x1200000,2097664,0x1200200,0x4000000,0x5000000,0x4000200,0x5000200,0x4200000,0x5200000,0x4200200,0x5200200],o=[0,4096,0x8000000,0x8001000,524288,528384,0x8080000,0x8081000,16,4112,0x8000010,0x8001010,524304,528400,0x8080010,0x8081010],p=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],q=a.length()>8?3:1,r=[],s=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],t=0,u=0;u<q;u++){var v=a.getInt32(),w=a.getInt32();b=(v>>>4^w)&0xf0f0f0f,w^=b,v^=b<<4,b=(w>>>-16^v)&65535,v^=b,w^=b<<-16,b=(v>>>2^w)&0x33333333,w^=b,v^=b<<2,b=(w>>>-16^v)&65535,v^=b,w^=b<<-16,b=(v>>>1^w)&0x55555555,w^=b,v^=b<<1,b=(w>>>8^v)&0xff00ff,v^=b,w^=b<<8,b=(v>>>1^w)&0x55555555,w^=b,v^=b<<1,b=v<<8|w>>>20&240,v=w<<24|w<<8&0xff0000|w>>>8&65280|w>>>24&240,w=b;for(var x=0;x<s.length;++x){s[x]?(v=v<<2|v>>>26,w=w<<2|w>>>26):(v=v<<1|v>>>27,w=w<<1|w>>>27),w&=-15;var y=c[(v&=-15)>>>28]|d[v>>>24&15]|e[v>>>20&15]|f[v>>>16&15]|g[v>>>12&15]|h[v>>>8&15]|i[v>>>4&15],z=j[w>>>28]|k[w>>>24&15]|l[w>>>20&15]|m[w>>>16&15]|n[w>>>12&15]|o[w>>>8&15]|p[w>>>4&15];b=(z>>>16^y)&65535,r[t++]=y^b,r[t++]=z^b<<16}}return r}(b),this._init=!0}},e("DES-ECB",d.cipher.modes.ecb),e("DES-CBC",d.cipher.modes.cbc),e("DES-CFB",d.cipher.modes.cfb),e("DES-OFB",d.cipher.modes.ofb),e("DES-CTR",d.cipher.modes.ctr),e("3DES-ECB",d.cipher.modes.ecb),e("3DES-CBC",d.cipher.modes.cbc),e("3DES-CFB",d.cipher.modes.cfb),e("3DES-OFB",d.cipher.modes.ofb),e("3DES-CTR",d.cipher.modes.ctr);var f=[0x1010400,0,65536,0x1010404,0x1010004,66564,4,65536,1024,0x1010400,0x1010404,1024,0x1000404,0x1010004,0x1000000,4,1028,0x1000400,0x1000400,66560,66560,0x1010000,0x1010000,0x1000404,65540,0x1000004,0x1000004,65540,0,1028,66564,0x1000000,65536,0x1010404,4,0x1010000,0x1010400,0x1000000,0x1000000,1024,0x1010004,65536,66560,0x1000004,1024,4,0x1000404,66564,0x1010404,65540,0x1010000,0x1000404,0x1000004,1028,66564,0x1010400,1028,0x1000400,0x1000400,0,65540,66560,0,0x1010004],g=[-0x7fef7fe0,-0x7fff8000,32768,1081376,1048576,32,-0x7fefffe0,-0x7fff7fe0,-0x7fffffe0,-0x7fef7fe0,-0x7fef8000,-0x80000000,-0x7fff8000,1048576,32,-0x7fefffe0,1081344,1048608,-0x7fff7fe0,0,-0x80000000,32768,1081376,-0x7ff00000,1048608,-0x7fffffe0,0,1081344,32800,-0x7fef8000,-0x7ff00000,32800,0,1081376,-0x7fefffe0,1048576,-0x7fff7fe0,-0x7ff00000,-0x7fef8000,32768,-0x7ff00000,-0x7fff8000,32,-0x7fef7fe0,1081376,32,32768,-0x80000000,32800,-0x7fef8000,1048576,-0x7fffffe0,1048608,-0x7fff7fe0,-0x7fffffe0,1048608,1081344,0,-0x7fff8000,32800,-0x80000000,-0x7fefffe0,-0x7fef7fe0,1081344],h=[520,0x8020200,0,0x8020008,0x8000200,0,131592,0x8000200,131080,0x8000008,0x8000008,131072,0x8020208,131080,0x8020000,520,0x8000000,8,0x8020200,512,131584,0x8020000,0x8020008,131592,0x8000208,131584,131072,0x8000208,8,0x8020208,512,0x8000000,0x8020200,0x8000000,131080,520,131072,0x8020200,0x8000200,0,512,131080,0x8020208,0x8000200,0x8000008,512,0,0x8020008,0x8000208,131072,0x8000000,0x8020208,8,131592,131584,0x8000008,0x8020000,0x8000208,520,0x8020000,131592,8,0x8020008,131584],i=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],j=[256,0x2080100,0x2080000,0x42000100,524288,256,0x40000000,0x2080000,0x40080100,524288,0x2000100,0x40080100,0x42000100,0x42080000,524544,0x40000000,0x2000000,0x40080000,0x40080000,0,0x40000100,0x42080100,0x42080100,0x2000100,0x42080000,0x40000100,0,0x42000000,0x2080100,0x2000000,0x42000000,524544,524288,0x42000100,256,0x2000000,0x40000000,0x2080000,0x42000100,0x40080100,0x2000100,0x40000000,0x42080000,0x2080100,0x40080100,256,0x2000000,0x42080000,0x42080100,524544,0x42000000,0x42080100,0x2080000,0,0x40080000,0x42000000,524544,0x2000100,0x40000100,524288,0,0x40080000,0x2080100,0x40000100],k=[0x20000010,0x20400000,16384,0x20404010,0x20400000,16,0x20404010,4194304,0x20004000,4210704,4194304,0x20000010,4194320,0x20004000,0x20000000,16400,0,4194320,0x20004010,16384,4210688,0x20004010,16,0x20400010,0x20400010,0,4210704,0x20404000,16400,4210688,0x20404000,0x20000000,0x20004000,16,0x20400010,4210688,0x20404010,4194304,16400,0x20000010,4194304,0x20004000,0x20000000,16400,0x20000010,0x20404010,4210688,0x20400000,4210704,0x20404000,0,0x20400010,16,16384,0x20400000,4210704,16384,4194320,0x20004010,0,0x20404000,0x20000000,4194320,0x20004010],l=[2097152,0x4200002,0x4000802,0,2048,0x4000802,2099202,0x4200800,0x4200802,2097152,0,0x4000002,2,0x4000000,0x4200002,2050,0x4000800,2099202,2097154,0x4000800,0x4000002,0x4200000,0x4200800,2097154,0x4200000,2048,2050,0x4200802,2099200,2,0x4000000,2099200,0x4000000,2099200,2097152,0x4000802,0x4000802,0x4200002,0x4200002,2,2097154,0x4000000,0x4000800,2097152,0x4200800,2050,2099202,0x4200800,2050,0x4000002,0x4200802,0x4200000,2099200,0,2,0x4200802,0,2099202,0x4200000,2048,0x4000002,0x4000800,2048,2097154],m=[0x10001040,4096,262144,0x10041040,0x10000000,0x10001040,64,0x10000000,262208,0x10040000,0x10041040,266240,0x10041000,266304,4096,64,0x10040000,0x10000040,0x10001000,4160,266240,262208,0x10040040,0x10041000,4160,0,0,0x10040040,0x10000040,0x10001000,266304,262144,266304,262144,0x10041000,4096,64,0x10040040,4096,266304,0x10001000,64,0x10000040,0x10040000,0x10040040,0x10000000,262144,0x10001040,0,0x10041040,262208,0x10000040,0x10040000,0x10001000,0x10001040,0,0x10041040,266240,266240,4160,4160,262208,0x10000000,0x10041000];function n(a,b,c,d){var e,n,o=32===a.length?3:9;e=3===o?d?[30,-2,-2]:[0,32,2]:d?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var p=b[0],q=b[1];n=(p>>>4^q)&0xf0f0f0f,q^=n,p^=n<<4,n=(p>>>16^q)&65535,q^=n,p^=n<<16,n=(q>>>2^p)&0x33333333,p^=n,q^=n<<2,n=(q>>>8^p)&0xff00ff,p^=n,q^=n<<8,n=(p>>>1^q)&0x55555555,q^=n,p^=n<<1,p=p<<1|p>>>31,q=q<<1|q>>>31;for(var r=0;r<o;r+=3){for(var s=e[r+1],t=e[r+2],u=e[r];u!=s;u+=t){var v=q^a[u],w=(q>>>4|q<<28)^a[u+1];n=p,p=q,q=n^(g[v>>>24&63]|i[v>>>16&63]|k[v>>>8&63]|m[63&v]|f[w>>>24&63]|h[w>>>16&63]|j[w>>>8&63]|l[63&w])}n=p,p=q,q=n}n=((p=p>>>1|p<<31)>>>1^(q=q>>>1|q<<31))&0x55555555,q^=n,p^=n<<1,n=(q>>>8^p)&0xff00ff,p^=n,q^=n<<8,n=(q>>>2^p)&0x33333333,p^=n,q^=n<<2,n=(p>>>16^q)&65535,q^=n,p^=n<<16,n=(p>>>4^q)&0xf0f0f0f,q^=n,p^=n<<4,c[0]=p,c[1]=q}function o(a){var b,c="DES-"+((a=a||{}).mode||"CBC").toUpperCase(),e=(b=a.decrypt?d.cipher.createDecipher(c,a.key):d.cipher.createCipher(c,a.key)).start;return b.start=function(a,c){var f=null;c instanceof d.util.ByteBuffer&&(f=c,c={}),(c=c||{}).output=f,c.iv=a,e.call(b,c)},b}},88998:(a,b,c)=>{"use strict";c.a(a,async(a,d)=>{try{c.d(b,{A:()=>A});var e=c(21820),f=c.n(e),g=c(1932),h=c(33873),i=c(29021),j=c(70321),k=c(70490),l=c(3721),m=c(6951),n=c(18922),o=c(25346),p=c(24081),q=c(86767),r=c(73822),s=a([q]);if(q=(s.then?(await s)():s)[0],!process.env.MITM_SERVER_PATH)try{let a=(0,g.fileURLToPath)("file:///zevairouter-build/src/shared/services/initializeApp.js"),b=(0,h.dirname)((0,h.dirname)(a)),c=(0,h.join)(b,"mitm","server.js");(0,i.existsSync)(c)&&(process.env.MITM_SERVER_PATH=c)}catch{}try{(0,l.initDbHooks)(j.mt,j.Xx)}catch{}process.setMaxListeners(20);let y=global.__appSingleton??={signalHandlersRegistered:!1,watchdogInterval:null,networkMonitorInterval:null,lastNetworkFingerprint:null,lastWatchdogTick:Date.now(),lastOnline:null,mitmStartInProgress:!1,tunnelAutoResumed:!1,tailscaleAutoResumed:!1,headroomAutoResumed:!1,shuttingDown:!1};async function t(){try{(0,q.EW)(),await (0,j.bI)();let a=await (0,j.mt)();if(a.tunnelEnabled&&!y.tunnelAutoResumed&&(y.tunnelAutoResumed=!0,console.log("[InitApp] Tunnel was enabled, auto-resuming..."),v("startup").catch(a=>console.log("[InitApp] Tunnel resume failed:",a.message))),a.tailscaleEnabled&&!y.tailscaleAutoResumed&&(y.tailscaleAutoResumed=!0,console.log("[InitApp] Tailscale was enabled, auto-resuming..."),w("startup").catch(a=>console.log("[InitApp] Tailscale resume failed:",a.message))),a.headroomEnabled&&!y.headroomAutoResumed&&(y.headroomAutoResumed=!0,console.log("[InitApp] Headroom was enabled, auto-resuming..."),(0,r.rR)(a).then(()=>console.log("[InitApp] Headroom auto-started")).catch(a=>console.log("[InitApp] Headroom auto-start failed:",a.message))),!y.signalHandlersRegistered){let a=!1,b=async()=>{if(!a){a=!0,y.shuttingDown=!0,y.watchdogInterval&&clearInterval(y.watchdogInterval),y.networkMonitorInterval&&clearInterval(y.networkMonitorInterval),y.watchdogInterval=null,y.networkMonitorInterval=null;try{await (0,q.UT)()}catch(a){console.error("[InitApp] quota refresh stop failed:",a)}try{await (0,o.d_)()}catch(a){console.error("[InitApp] usage flush failed:",a)}try{await (0,n.cj)()}catch(a){console.error("[InitApp] request detail flush failed:",a)}try{await (0,p.y5)()}catch(a){console.error("[InitApp] database close failed:",a)}try{(0,l.removeAllDNSEntriesSync)()}catch{}(0,k.ss)(),process.exit()}};process.on("SIGINT",b),process.on("SIGTERM",b),process.on("exit",()=>{try{(0,l.removeAllDNSEntriesSync)()}catch{}}),y.signalHandlersRegistered=!0}(0,k.Al)().catch(()=>{}),(0,m.v)().catch(()=>{}),(0,k.X$)(()=>{v("unexpected-exit").catch(()=>{})}),!y.watchdogInterval&&(y.watchdogInterval=setInterval(()=>{y.shuttingDown||(v("watchdog").catch(()=>{}),w("watchdog").catch(()=>{}))},k.DA),y.watchdogInterval.unref&&y.watchdogInterval.unref()),!y.networkMonitorInterval&&(y.lastNetworkFingerprint=x(),y.lastWatchdogTick=Date.now(),y.lastOnline=null,y.networkMonitorInterval=setInterval(async()=>{if(!y.shuttingDown)try{let a=Date.now(),b=a-y.lastWatchdogTick;y.lastWatchdogTick=a;let c=x(),d=c!==y.lastNetworkFingerprint,e=b>6*k.rI;d&&(y.lastNetworkFingerprint=c);let f=await (0,k.u7)(),g=!1===y.lastOnline;if(y.lastOnline=f,!f||!d&&!e&&!g)return;await new Promise(a=>setTimeout(a,k.cw));let h=g?"online":e&&d?"sleep+netchange":e?"sleep":"netchange";v(h).catch(()=>{}),w(h).catch(()=>{})}catch(a){console.log("[NetworkMonitor] error:",a.message)}},k.rI),y.networkMonitorInterval.unref&&y.networkMonitorInterval.unref()),u()}catch(a){console.error("[InitApp] Error:",a)}}async function u(){if(!y.mitmStartInProgress&&!y.shuttingDown){y.mitmStartInProgress=!0;try{if(!(await (0,j.mt)()).mitmEnabled||(await (0,l.getMitmStatus)()).running)return;let a=await (0,l.loadEncryptedPassword)();if(!a&&"win32"!==process.platform)return void console.log("[InitApp] MITM was enabled but no saved password found, skipping auto-start");let b=(await (0,j.PX)(!0)).find(a=>!1!==a.isActive);if(y.shuttingDown)return;console.log("[InitApp] MITM was enabled, auto-starting..."),await (0,l.startMitm)(b?.key||"sk_zevai",a),console.log("[InitApp] MITM auto-started");try{await (0,l.restoreToolDNS)(a),console.log("[InitApp] DNS restored from saved state")}catch(a){console.log("[InitApp] DNS restore failed:",a.message)}}catch(a){console.log("[InitApp] MITM auto-start failed:",a.message)}finally{y.mitmStartInProgress=!1}}}y.shuttingDown??=!1;let z=/^(startup|netchange|sleep|sleep\+netchange|online|unexpected-exit)$/;async function v(a){if(y.shuttingDown)return;let b=(0,k.Qn)();if(!(await (0,j.mt)()).tunnelEnabled||b.cancelToken.cancelled||b.spawnInProgress)return;let c=z.test(a);if(!(0,k.nN)()){if(!c&&Date.now()-b.lastRestartAt<k.Lh)return void console.log(`[Tunnel] degraded but cooldown active, skip (${a})`);if(await (0,k.u7)()){console.log(`[Tunnel] safeRestart (${a}) — tunnel unreachable${c?" [force]":""}`);try{await (0,k.cb)(),b.lastRestartAt=Date.now(),console.log("[Tunnel] restart success")}catch(a){/cloudflared killed|tunnel cancelled/.test(a.message)||console.log("[Tunnel] restart failed:",a.message)}}}}async function w(a){if(y.shuttingDown)return;let b=(0,k.oN)();if(!(await (0,j.mt)()).tailscaleEnabled||b.cancelToken.cancelled||b.spawnInProgress||("startup"===a?(0,k.hp)():(0,k.Kp)()))return;let c=z.test(a);if(!c&&Date.now()-b.lastRestartAt<k.Lh)return void console.log(`[Tailscale] degraded but cooldown active, skip (${a})`);if(await (0,k.u7)()){console.log(`[Tailscale] safeRestart (${a}) — daemon not running${c?" [force]":""}`);try{await (0,k.mh)(),b.lastRestartAt=Date.now(),console.log("[Tailscale] restart success")}catch(a){console.log("[Tailscale] restart failed:",a.message)}}}function x(){let a=f().networkInterfaces(),b=[];for(let[c,d]of Object.entries(a))if(d&&!k.Lx.test(c))for(let a of d)a.internal||"IPv4"!==a.family||b.push(`${c}:${a.address}`);return b.sort().join("|")}let A=t;d()}catch(a){d(a)}})},89409:(a,b,c)=>{"use strict";let d=c(84285),{parseCacheControlHeader:e,hasInvalidCacheControlDirective:f,parseVaryHeader:g,hasVaryStar:h,isInvalidOrWildcardVaryHeader:i,isEtagUsable:j}=c(79468),{parseHttpDate:k}=c(24214);function l(){}let m=[200,203,204,206,300,301,308,404,405,410,414,501],n=[206];function o(a,b){for(let c=0;c<a.length;c++)if(a[c]===b)return!0;return!1}function p(a,b,c){s(a,{...b,path:c});for(let e=0;e<d.safeHTTPMethods.length;e++){let f=d.safeHTTPMethods[e];f!==b.method&&s(a,{...b,method:f,path:c})}}function q(a,b,c){if(void 0===c)return;let d=Array.isArray(c)?c:[c];for(let c=0;c<d.length;c++){let e=function(a,b){let c,d,e;if("string"==typeof b){try{c=new URL(a.origin),d=new URL(a.path,c),e=new URL(b,d)}catch{return}if(e.origin===c.origin)return e.pathname+e.search}}(b,d[c]);void 0!==e&&p(a,b,e)}}class r{#by;#bz;#bA;#bB;#at;#bC;constructor({store:a,type:b,cacheByDefault:c},d,e){this.#bB=a,this.#bz=b,this.#bA=c,this.#by=d,this.#at=e}onRequestStart(a,b){this.#bC?.destroy(),this.#bC=void 0,this.#at.onRequestStart?.(a,b)}onRequestUpgrade(a,b,c,d){this.#at.onRequestUpgrade?.(a,b,c,d)}onResponseStart(a,b,c,l){var r,u,v,w,x,y,z,A,B,C;let D,E=()=>this.#at.onResponseStart?.(a,b,c,l),F=this;if(!o(d.safeHTTPMethods,this.#by.method)&&b>=200&&b<=399){return r=this.#bB,u=this.#by,p(r,u,u.path),q(r,u,c.location),q(r,u,c["content-location"]),E()}let G=c["cache-control"],H=c["last-modified"]&&o(m,b);if(!G&&!c.expires&&!H&&!this.#bA)return 304===b&&c.vary&&i(c.vary)&&s(this.#bB,this.#by),E();let I=G?e(G):{};if(v=this.#bz,w=b,x=c,y=I,z=this.#by.headers,w<200||o(n,w)||!o(m,w)&&!x.expires&&!y.public&&void 0===y["max-age"]&&!(y.private&&"private"===v)&&(void 0===y["s-maxage"]||"shared"!==v)||y["no-store"]||"shared"===v&&!0===y.private||x.vary&&h(x.vary)||null!=z&&Object.hasOwn(z,"authorization")&&(!y.public&&!y["s-maxage"]&&!y["must-revalidate"]||"string"!=typeof z.authorization||Array.isArray(y["no-cache"])&&o(y["no-cache"],"authorization")||Array.isArray(y.private)&&o(y.private,"authorization"))||0){return 304===b&&(G||(A=this.#bz,B=c,!0===(C=I)["no-store"]||"shared"===A&&!0===C.private||B.vary&&i(B.vary)))&&s(this.#bB,this.#by),E()}let J=Date.now(),K=Object.hasOwn(c,"age")?function(a){let b=a;if(Array.isArray(b)){if(1!==b.length)return 2147483647e3;b=b[0]}if("string"!=typeof b||!/^[\t ]*[0-9]+[\t ]*$/.test(b))return 2147483647e3;let c=BigInt(b.replace(/^[\t ]+|[\t ]+$/g,""));return c>=BigInt(0x7fffffff)?2147483647e3:1e3*Number(c)}(c.age):void 0;if(void 0!==K&&K>=2147483647e3)return t(b,this.#bB,this.#by),E();let L=Object.hasOwn(c,"date")?function(a){let b=a;if(Array.isArray(b)){if(1!==b.length)return null;b=b[0]}return"string"!=typeof b?null:k(b)}(c.date):void 0;if(null===L)return t(b,this.#bB,this.#by),E();let M=Math.max(L?Math.max(0,J-L.getTime()):0,K??0),N="string"==typeof c.etag&&j(c.etag)||"string"==typeof c["last-modified"],O=function(a,b,c,d,e,g,h){if("shared"===a){if(f(g,"s-maxage"))return 0;let a=g["s-maxage"];if(void 0!==a)return a>0?1e3*a:0}if(f(g,"max-age"))return 0;let i=g["max-age"];if(void 0!==i)return i>0?1e3*i:0;if(Object.hasOwn(d,"expires")){if("string"!=typeof d.expires)return 0;let a=k(d.expires);if(!a||b>=a.getTime())return 0;if(e){if(e>=a)return 0;let b=a.getTime()-e.getTime();return void 0!==c&&c>=b?0:b}return a.getTime()-b}if("string"==typeof d["last-modified"]){let a=k(d["last-modified"]);if(a){if(a.getTime()>=b)return;return .1*(b-a.getTime())}}return g.immutable?31536e6:!0===g["no-cache"]&&h?0:void 0}(this.#bz,J,K,c,L,I,N)??this.#bA,P=0===O&&N;if(void 0===O||M>=O&&!P)return(G||void 0!==O)&&t(b,this.#bB,this.#by),E();let Q=J-M,R=O+Q;if(J>=R&&!P)return t(b,this.#bB,this.#by),E();if(this.#by.headers&&c.vary&&!(D=g(c.vary,this.#by.headers)))return E();let S=function(a,b,c,d){let e=-1/0,f=-1/0,g=-1/0;if(c["stale-while-revalidate"]&&(e=d+1e3*c["stale-while-revalidate"]),c["stale-if-error"]&&(f=d+1e3*c["stale-if-error"]),c.immutable&&e===-1/0&&f===-1/0&&(g=b+31536e6),e===-1/0&&f===-1/0&&g===-1/0){let c=d-a;return c<=0?b+864e5:d+c+Math.min(Math.max(b-a,0),1e3)}return Math.max(d,e,f,g)}(Q,J,I,R),T=function(a,b){let c,d=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];for(let e of(a.connection&&function(a,b){let c=Array.isArray(b)?b:[b];for(let b=0;b<c.length;b++){let d=c[b].split(",");for(let b=0;b<d.length;b++)a.push(d[b].replace(/^[\t ]+|[\t ]+$/g,"").toLowerCase())}}(d,a.connection),Array.isArray(b["no-cache"])&&d.push(...b["no-cache"]),Array.isArray(b.private)&&d.push(...b.private),d))Object.hasOwn(a,e)&&(c??={...a},delete c[e]);return c??a}(c,I),U={statusCode:b,statusMessage:l,headers:T,vary:D,cacheControlDirectives:I,cachedAt:Q,staleAt:R,deleteAt:S};if(304===b){let b=b=>{if(!b)return E();if(U.statusCode=b.statusCode,U.statusMessage=b.statusMessage,U.etag=b.etag,U.vary=D??b.vary,U.headers={...b.headers,...T},E(),this.#bC=this.#bB.createWriteStream(this.#by,U),this.#bC&&b?.body)if("function"==typeof b.body.values){let c=b.body.values(),d=()=>{for(let b of c){let c=!1===this.#bC.write(b);if(this.#at.onResponseData?.(a,b),c)break}};this.#bC.on("error",function(){F.#bC=void 0,F.#bB.delete(F.#by)}).on("drain",()=>{d()}).on("close",function(){F.#bC===this&&(F.#bC=void 0)}),d()}else"function"==typeof b.body.on&&(b.body.on("data",b=>{this.#bC.write(b),this.#at.onResponseData?.(a,b)}).on("end",()=>{this.#bC.end()}).on("error",()=>{this.#bC=void 0,this.#bB.delete(this.#by)}),this.#bC.on("error",function(){F.#bC=void 0,F.#bB.delete(F.#by)}).on("close",function(){F.#bC===this&&(F.#bC=void 0)}))},c=this.#bB.get(this.#by);c&&"function"==typeof c.then?c.then(b):b(c)}else{if("string"==typeof c.etag&&j(c.etag)&&(U.etag=c.etag),this.#bC=this.#bB.createWriteStream(this.#by,U),!this.#bC)return E();this.#bC.on("drain",()=>a.resume()).on("error",function(){F.#bC=void 0,F.#bB.delete(F.#by)}).on("close",function(){F.#bC===this&&(F.#bC=void 0),a.resume()}),E()}}onResponseData(a,b){this.#bC?.write(b)===!1&&a.pause(),this.#at.onResponseData?.(a,b)}onResponseEnd(a,b){this.#bC?.end(),this.#at.onResponseEnd?.(a,b)}onResponseError(a,b){this.#bC?.destroy(b),this.#bC=void 0,this.#at.onResponseError?.(a,b)}}function s(a,b){try{a.delete(b)?.catch?.(l)}catch{}}function t(a,b,c){304===a&&s(b,c)}a.exports=r},89512:(a,b,c)=>{"use strict";let d=c(37417),e=c(65630),{SnapshotRecorder:f}=c(94279),{InvalidArgumentError:g,UndiciError:h}=c(61448),i=c(84285),{validateSnapshotMode:j}=c(47800),k=Symbol("kSnapshotRecorder"),l=Symbol("kSnapshotMode"),m=Symbol("kSnapshotPath"),n=Symbol("kSnapshotLoaded"),o=Symbol("kRealAgent"),p=!1;class q extends e{constructor(a={}){p||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),p=!0);const{mode:b="record",snapshotPath:c=null,...e}=a;if(super(e),j(b),("playback"===b||"update"===b)&&!c)throw new g(`snapshotPath is required when mode is '${b}'`);this[l]=b,this[m]=c,this[k]=new f({snapshotPath:this[m],mode:this[l],maxSnapshots:a.maxSnapshots,autoFlush:a.autoFlush,flushInterval:a.flushInterval,matchHeaders:a.matchHeaders,ignoreHeaders:a.ignoreHeaders,excludeHeaders:a.excludeHeaders,matchBody:a.matchBody,normalizeBody:a.normalizeBody,matchQuery:a.matchQuery,normalizeQuery:a.normalizeQuery,caseSensitive:a.caseSensitive,shouldRecord:a.shouldRecord,shouldPlayback:a.shouldPlayback,excludeUrls:a.excludeUrls}),this[n]=!1,("record"===this[l]||"update"===this[l]||"playback"===this[l]&&a.excludeUrls&&a.excludeUrls.length>0)&&(this[o]=new d(a)),("playback"===this[l]||"update"===this[l])&&this[m]&&this.loadSnapshots().catch(()=>{})}dispatch(a,b){let c=this[l];if(this[k].isUrlExcluded(a))return this[o].dispatch(a,b);if("playback"===c||"update"===c){if(!this[n])return this.#bD(a,b);let d=this[k].findSnapshot(a);if(d)return this.#bE(d,b);{if("update"===c)return this.#bF(a,b);let d=new h(`No snapshot found for ${a.method||"GET"} ${a.path}`);if(b.onResponseError)return void b.onResponseError(null,d);throw d}}if("record"===c)return this.#bF(a,b)}async #bD(a,b){return await this.loadSnapshots(),this.dispatch(a,b)}#bF(a,b){let c={statusCode:null,headers:{},trailers:{},body:[]},d=this;return this[o].dispatch(a,{onRequestStart(a,c){return b.onRequestStart(a,{...c,history:this.history})},onRequestUpgrade:(a,c,d,e)=>b.onRequestUpgrade(a,c,d,e),onResponseStart:(a,d,e,f)=>(c.statusCode=d,c.headers=e,b.onResponseStart(a,d,e,f)),onResponseData:(a,d)=>(c.body.push(d),b.onResponseData(a,d)),onResponseEnd(e,f){c.trailers=f;let g=Buffer.concat(c.body);d[k].record(a,{statusCode:c.statusCode,headers:c.headers,body:g,trailers:c.trailers}).then(()=>b.onResponseEnd(e,f)).catch(a=>b.onResponseError(e,a))},onResponseError:(a,c)=>b.onResponseError(a,c)})}#bE(a,b){try{let{response:c}=a,d=c.headers?i.toRawHeaders(c.headers):[],e=c.trailers?i.toRawHeaders(c.trailers):[],f={rawHeaders:d,rawTrailers:e,pause(){},resume(){},abort(a){this.aborted=!0,this.reason=a},aborted:!1,paused:!1};b.onRequestStart(f),b.onResponseStart(f,c.statusCode,c.headers,c.statusMessage);let g=Buffer.from(c.body,"base64");b.onResponseData(f,g),b.onResponseEnd(f,c.trailers)}catch(a){b.onResponseError?.(null,a)}}async loadSnapshots(a){await this[k].loadSnapshots(a||this[m]),this[n]=!0,"playback"===this[l]&&this.#bG()}async saveSnapshots(a){return this[k].saveSnapshots(a||this[m])}#bG(){for(let a of this[k].getSnapshots()){let{request:b,responses:c,response:d}=a,e=new URL(b.url),f=this.get(e.origin),g=c?c[0]:d;g&&f.intercept({path:e.pathname+e.search,method:b.method,headers:b.headers,body:b.body}).reply(g.statusCode,g.body,{headers:g.headers,trailers:g.trailers}).persist()}}getRecorder(){return this[k]}getMode(){return this[l]}clearSnapshots(){this[k].clear()}resetCallCounts(){this[k].resetCallCounts()}deleteSnapshot(a){return this[k].deleteSnapshot(a)}getSnapshotInfo(a){return this[k].getSnapshotInfo(a)}replaceSnapshots(a){this[k].replaceSnapshots(a)}async close(){"playback"===this[l]?this[k].destroy():await this[k].close(),await this[o]?.close(),await super.close()}}a.exports=q},90181:(a,b,c)=>{"use strict";c.d(b,{getPricingForModel:()=>f}),c(24081);let d=(0,c(58609).U)("pricing");async function e(){return await d.getAll()}async function f(a,b){if(!b)return null;let d=await e();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:f}=await c.e(7464).then(c.bind(c,87464));return f(a,b)}},90249:(a,b,c)=>{"use strict";let d=c(53053),e=c(84285),f=c(32264),{normalizeHeaders:g,makeCacheKey:h,makeDeduplicationKey:i}=c(79468),j=d.channel("undici:request:pending-requests");a.exports=(a={})=>{let{methods:b=["GET"],skipHeaderNames:c=[],excludeHeaderNames:d=[],maxBufferSize:k=5242880}=a;if("object"!=typeof a||null===a)throw TypeError(`expected type of opts to be an Object, got ${null===a?"null":typeof a}`);if(!Array.isArray(b))throw TypeError(`expected opts.methods to be an array, got ${typeof b}`);for(let a of b)if(!e.safeHTTPMethods.includes(a))throw TypeError(`expected opts.methods to only contain safe HTTP methods, got ${a}`);if(!Array.isArray(c))throw TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof c}`);if(!Array.isArray(d))throw TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof d}`);if(!Number.isFinite(k)||k<=0)throw TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${k}`);let l=new Set(c.map(a=>a.toLowerCase())),m=new Set(d.map(a=>a.toLowerCase())),n=new Map;return a=>(c,d)=>{if(c.upgrade||!1===b.includes(c.method))return a(c,d);if(c={...c,headers:g(c)},l.size>0){for(let b of Object.keys(c.headers))if(l.has(b.toLowerCase()))return a(c,d)}let e=i(h(c),m),o=n.get(e);if(o)return!!o.addWaitingHandler(d)||a(c,d);let p=new f(d,()=>{n.delete(e),j.hasSubscribers&&j.publish({size:n.size,key:e,type:"removed"})},k);return n.set(e,p),j.hasSubscribers&&j.publish({size:n.size,key:e,type:"added"}),a(c,p)}}},91083:(a,b,c)=>{"use strict";"u">typeof process&&process.versions?.node,"u">typeof process&&process.env?.ENABLE_REQUEST_LOGS},91120:(a,b,c)=>{"use strict";c.d(b,{j:()=>h});var d=c(69384),e=c(30395),f=c(80015);let g=new Set;class h extends d.Hv{constructor(){super("opencode",e.xq.opencode)}transformRequest(a,b){return(0,f.Z)({provider:this.provider,model:a,body:b})}buildUrl(a){let b="https://opencode.ai";return g.has(a)?`${b}/zen/v1/messages`:`${b}/zen/v1/chat/completions`}buildHeaders(){return{"Content-Type":"application/json",Authorization:"Bearer public","x-opencode-client":"desktop",Accept:"text/event-stream"}}}},91358:(a,b,c)=>{"use strict";c.d(b,{K:()=>e});var d=c(50801);class e extends d.L{constructor(){super("codebuddy-cn")}transformRequest(a,b,c,d){let e=super.transformRequest(a,b,c,d);e.stream=!0;let f=e.reasoning_effort;return"none"===f||"off"===f?delete e.reasoning_effort:f&&(e.reasoning_summary="auto"),e}}},92216:(a,b,c)=>{"use strict";c.r(b),c.d(b,{cleanupProviderConnections:()=>s,createProviderConnection:()=>m,deleteProviderConnection:()=>p,deleteProviderConnectionsByProvider:()=>q,getProviderConnectionById:()=>k,getProviderConnections:()=>j,mutateProviderConnection:()=>o,reorderProviderConnections:()=>r,updateProviderConnection:()=>n});var d=c(27137),e=c(24081),f=c(50743);let g=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount"];function h(a){return a?{...(0,f.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function i(a,b){let c=function(a){let{id:b,provider:c,authType:d,name:e,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=a;return{id:b,provider:c,authType:d,name:e??null,email:g??null,priority:h??null,isActive:+(!1!==i),data:(0,f.s)(l),createdAt:j,updatedAt:k}}(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
399
399
  VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
400
400
  ON CONFLICT(id) DO UPDATE SET
401
401
  provider=excluded.provider, authType=excluded.authType, name=excluded.name,