@jheavenknows/bluerouter 4.0.69 → 4.0.71

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 (952) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +2 -1
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/routes-manifest.json +6 -0
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js +6 -7
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +2 -2
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js +2 -2
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  80. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  81. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  88. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  89. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  92. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  94. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  95. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  96. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  97. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  98. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  99. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  100. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  102. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/login/route.js +2 -2
  107. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  119. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  137. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  145. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  147. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  155. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js +2 -0
  159. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js.nft.json +1 -0
  160. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route_client-reference-manifest.js +1 -0
  161. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js +2 -2
  166. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/keys/route.js +2 -2
  186. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  192. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  220. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/provider-health/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  270. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  272. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  276. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  280. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  292. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  314. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  334. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/version/restart/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  382. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  384. package/app/.next-cli-build/server/app/callback.html +1 -1
  385. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  386. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  387. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  388. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  389. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  390. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  391. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  392. package/app/.next-cli-build/server/app/dashboard/analytics.html +1 -1
  393. package/app/.next-cli-build/server/app/dashboard/analytics.rsc +5 -5
  394. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +1 -1
  395. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
  396. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  397. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  398. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_full.segment.rsc +5 -5
  399. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
  400. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_index.segment.rsc +4 -4
  401. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_tree.segment.rsc +2 -2
  402. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  403. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +6 -6
  404. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +2 -2
  405. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys.segment.rsc +1 -1
  406. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  408. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +6 -6
  409. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_head.segment.rsc +1 -1
  410. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_index.segment.rsc +4 -4
  411. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +2 -2
  412. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  413. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  414. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  415. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  416. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  417. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  418. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  419. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  421. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  422. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  423. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  424. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  425. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  426. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  427. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  428. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  429. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  430. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  431. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  432. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  433. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  434. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  435. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  436. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  437. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  438. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  439. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  440. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  441. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  442. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  443. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  444. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  445. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  446. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  447. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  448. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  449. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  450. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  451. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  452. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  453. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  454. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  455. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  456. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  457. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  458. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  459. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  460. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  461. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  462. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  463. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  464. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  465. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  466. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  467. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  468. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  469. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  470. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  471. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  472. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  473. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  474. package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  475. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  476. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  477. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  478. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  479. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  480. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  481. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  482. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  483. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  484. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +5 -5
  485. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +1 -1
  486. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs.segment.rsc +1 -1
  487. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  488. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  489. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +5 -5
  490. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_head.segment.rsc +1 -1
  491. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_index.segment.rsc +4 -4
  492. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +2 -2
  493. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  494. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +5 -5
  495. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +1 -1
  496. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health.segment.rsc +1 -1
  497. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  498. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  499. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +5 -5
  500. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_head.segment.rsc +1 -1
  501. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_index.segment.rsc +4 -4
  502. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +2 -2
  503. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  504. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  505. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  506. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  507. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  508. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  509. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  510. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  511. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  512. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  513. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  514. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  516. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  517. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  518. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  519. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  520. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  521. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  522. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  523. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  524. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  525. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  526. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  530. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  531. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  532. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  533. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  536. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  537. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  538. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  539. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  540. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  541. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  542. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  543. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  544. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  545. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  546. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  547. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  548. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  549. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  550. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  551. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  552. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  553. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  554. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  556. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  557. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  558. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  559. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  560. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  561. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  562. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  563. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  564. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  566. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  567. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  568. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  569. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  570. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  571. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  572. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  573. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  574. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  575. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  576. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  577. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  578. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  579. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  580. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  581. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  582. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  583. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  584. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  585. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  586. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  587. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  588. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  589. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  590. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  591. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  592. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  593. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  594. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  595. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  596. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  597. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  598. package/app/.next-cli-build/server/app/index.html +1 -1
  599. package/app/.next-cli-build/server/app/index.rsc +4 -4
  600. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  601. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  602. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  603. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  604. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  605. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  606. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  607. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  608. package/app/.next-cli-build/server/app/landing.html +1 -1
  609. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  610. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  611. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  612. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  613. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  614. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  615. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  616. package/app/.next-cli-build/server/app/login/page.js +2 -2
  617. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  618. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  619. package/app/.next-cli-build/server/app/login.html +1 -1
  620. package/app/.next-cli-build/server/app/login.rsc +5 -5
  621. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  622. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  623. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  624. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  625. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  626. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  627. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  628. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  629. package/app/.next-cli-build/server/app/page.js +2 -2
  630. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  631. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  632. package/app/.next-cli-build/server/app-paths-manifest.json +2 -1
  633. package/app/.next-cli-build/server/chunks/2338.js +4 -4
  634. package/app/.next-cli-build/server/chunks/{6567.js → 2650.js} +28 -28
  635. package/app/.next-cli-build/server/chunks/3110.js +1 -1
  636. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  637. package/app/.next-cli-build/server/chunks/7013.js +2 -2
  638. package/app/.next-cli-build/server/chunks/7130.js +1 -1
  639. package/app/.next-cli-build/server/chunks/7153.js +1 -1
  640. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  641. package/app/.next-cli-build/server/pages/404.html +1 -1
  642. package/app/.next-cli-build/server/pages/500.html +1 -1
  643. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  644. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  645. package/app/.next-cli-build/static/GlScgnMwgRz1iIG3TW8Vf/_buildManifest.js +1 -0
  646. package/app/.next-cli-build/static/chunks/{4404-63455b79e318b1c7.js → 4525-a7e37006b1c40fc4.js} +6 -6
  647. package/app/.next-cli-build/static/chunks/{620-075bf315a5cec03a.js → 620-534fe766aecee5b6.js} +1 -1
  648. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/page-05693e078317b3ba.js +16 -0
  649. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-9034072dfa0105a7.js → page-afa4b5f62dacbed9.js} +1 -1
  650. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-f995a0c42926bd26.js → page-e3a11719c4a94971.js} +1 -1
  651. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-a189bf76aadc8663.js → page-56f399c667d34abe.js} +1 -1
  652. package/app/.next-cli-build/static/chunks/app/_global-error/page-dc77b8043a19ecbb.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-dc77b8043a19ecbb.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-dc77b8043a19ecbb.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-dc77b8043a19ecbb.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-dc77b8043a19ecbb.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-dc77b8043a19ecbb.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-dc77b8043a19ecbb.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-dc77b8043a19ecbb.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-dc77b8043a19ecbb.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-dc77b8043a19ecbb.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-dc77b8043a19ecbb.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-dc77b8043a19ecbb.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-dc77b8043a19ecbb.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-dc77b8043a19ecbb.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-dc77b8043a19ecbb.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-dc77b8043a19ecbb.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-dc77b8043a19ecbb.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-dc77b8043a19ecbb.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-dc77b8043a19ecbb.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-dc77b8043a19ecbb.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-dc77b8043a19ecbb.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-dc77b8043a19ecbb.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-dc77b8043a19ecbb.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-dc77b8043a19ecbb.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-dc77b8043a19ecbb.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-dc77b8043a19ecbb.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-dc77b8043a19ecbb.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-dc77b8043a19ecbb.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-dc77b8043a19ecbb.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-dc77b8043a19ecbb.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-dc77b8043a19ecbb.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/combos/route-dc77b8043a19ecbb.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-dc77b8043a19ecbb.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-dc77b8043a19ecbb.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-dc77b8043a19ecbb.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-dc77b8043a19ecbb.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-dc77b8043a19ecbb.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-dc77b8043a19ecbb.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/health/route-dc77b8043a19ecbb.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/init/route-dc77b8043a19ecbb.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-dc77b8043a19ecbb.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-dc77b8043a19ecbb.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/keys/route-dc77b8043a19ecbb.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/locale/route-dc77b8043a19ecbb.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-dc77b8043a19ecbb.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-dc77b8043a19ecbb.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-dc77b8043a19ecbb.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-dc77b8043a19ecbb.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-dc77b8043a19ecbb.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-dc77b8043a19ecbb.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-dc77b8043a19ecbb.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-dc77b8043a19ecbb.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-dc77b8043a19ecbb.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-dc77b8043a19ecbb.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-dc77b8043a19ecbb.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/models/route-dc77b8043a19ecbb.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/models/test/route-dc77b8043a19ecbb.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-dc77b8043a19ecbb.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-dc77b8043a19ecbb.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-dc77b8043a19ecbb.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-dc77b8043a19ecbb.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-dc77b8043a19ecbb.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-dc77b8043a19ecbb.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-dc77b8043a19ecbb.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-dc77b8043a19ecbb.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-dc77b8043a19ecbb.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-dc77b8043a19ecbb.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/pricing/route-dc77b8043a19ecbb.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-dc77b8043a19ecbb.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-dc77b8043a19ecbb.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-dc77b8043a19ecbb.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-dc77b8043a19ecbb.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-dc77b8043a19ecbb.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-dc77b8043a19ecbb.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-dc77b8043a19ecbb.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-dc77b8043a19ecbb.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-dc77b8043a19ecbb.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-dc77b8043a19ecbb.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/providers/route-dc77b8043a19ecbb.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-dc77b8043a19ecbb.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-dc77b8043a19ecbb.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-dc77b8043a19ecbb.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-dc77b8043a19ecbb.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-dc77b8043a19ecbb.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-dc77b8043a19ecbb.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-dc77b8043a19ecbb.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-dc77b8043a19ecbb.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-dc77b8043a19ecbb.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-dc77b8043a19ecbb.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-dc77b8043a19ecbb.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-dc77b8043a19ecbb.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/settings/route-dc77b8043a19ecbb.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-dc77b8043a19ecbb.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/tags/route-dc77b8043a19ecbb.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-dc77b8043a19ecbb.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-dc77b8043a19ecbb.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-dc77b8043a19ecbb.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-dc77b8043a19ecbb.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-dc77b8043a19ecbb.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-dc77b8043a19ecbb.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-dc77b8043a19ecbb.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-dc77b8043a19ecbb.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-dc77b8043a19ecbb.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-dc77b8043a19ecbb.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-dc77b8043a19ecbb.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-dc77b8043a19ecbb.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-dc77b8043a19ecbb.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-dc77b8043a19ecbb.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-dc77b8043a19ecbb.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-dc77b8043a19ecbb.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-dc77b8043a19ecbb.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-dc77b8043a19ecbb.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-dc77b8043a19ecbb.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-dc77b8043a19ecbb.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-dc77b8043a19ecbb.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-dc77b8043a19ecbb.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-dc77b8043a19ecbb.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-dc77b8043a19ecbb.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-dc77b8043a19ecbb.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-dc77b8043a19ecbb.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-dc77b8043a19ecbb.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-dc77b8043a19ecbb.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-dc77b8043a19ecbb.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-dc77b8043a19ecbb.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-dc77b8043a19ecbb.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-dc77b8043a19ecbb.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-dc77b8043a19ecbb.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-dc77b8043a19ecbb.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-dc77b8043a19ecbb.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-dc77b8043a19ecbb.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-dc77b8043a19ecbb.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/v1/route-dc77b8043a19ecbb.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-dc77b8043a19ecbb.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-dc77b8043a19ecbb.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-dc77b8043a19ecbb.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-dc77b8043a19ecbb.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-dc77b8043a19ecbb.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/version/route-dc77b8043a19ecbb.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-dc77b8043a19ecbb.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/version/update/route-dc77b8043a19ecbb.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-dc77b8043a19ecbb.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/page-dc77b8043a19ecbb.js +1 -0
  794. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-dc77b8043a19ecbb.js +1 -0
  795. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-dc77b8043a19ecbb.js +1 -0
  796. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-dc77b8043a19ecbb.js +1 -0
  797. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-dc77b8043a19ecbb.js +1 -0
  798. package/app/.next-cli-build/static/css/{441c573018c25ec0.css → 0504267f9ca9016c.css} +1 -1
  799. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
  800. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal +0 -0
  801. package/app/package.json +1 -1
  802. package/package.json +1 -1
  803. package/app/.next-cli-build/static/EAOd3y2WrIgihs-plQAwB/_buildManifest.js +0 -1
  804. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/page-2e57522e89faa725.js +0 -17
  805. package/app/.next-cli-build/static/chunks/app/_global-error/page-be7396551bf03a70.js +0 -1
  806. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-be7396551bf03a70.js +0 -1
  807. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-be7396551bf03a70.js +0 -1
  808. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-be7396551bf03a70.js +0 -1
  809. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-be7396551bf03a70.js +0 -1
  810. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-be7396551bf03a70.js +0 -1
  811. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-be7396551bf03a70.js +0 -1
  812. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-be7396551bf03a70.js +0 -1
  813. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-be7396551bf03a70.js +0 -1
  814. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-be7396551bf03a70.js +0 -1
  815. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-be7396551bf03a70.js +0 -1
  816. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-be7396551bf03a70.js +0 -1
  817. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-be7396551bf03a70.js +0 -1
  818. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-be7396551bf03a70.js +0 -1
  819. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-be7396551bf03a70.js +0 -1
  820. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-be7396551bf03a70.js +0 -1
  821. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-be7396551bf03a70.js +0 -1
  822. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-be7396551bf03a70.js +0 -1
  823. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-be7396551bf03a70.js +0 -1
  824. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-be7396551bf03a70.js +0 -1
  825. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-be7396551bf03a70.js +0 -1
  826. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-be7396551bf03a70.js +0 -1
  827. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-be7396551bf03a70.js +0 -1
  828. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-be7396551bf03a70.js +0 -1
  829. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-be7396551bf03a70.js +0 -1
  830. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-be7396551bf03a70.js +0 -1
  831. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-be7396551bf03a70.js +0 -1
  832. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-be7396551bf03a70.js +0 -1
  833. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-be7396551bf03a70.js +0 -1
  834. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-be7396551bf03a70.js +0 -1
  835. package/app/.next-cli-build/static/chunks/app/api/combos/route-be7396551bf03a70.js +0 -1
  836. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-be7396551bf03a70.js +0 -1
  837. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-be7396551bf03a70.js +0 -1
  838. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-be7396551bf03a70.js +0 -1
  839. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-be7396551bf03a70.js +0 -1
  840. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-be7396551bf03a70.js +0 -1
  841. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-be7396551bf03a70.js +0 -1
  842. package/app/.next-cli-build/static/chunks/app/api/health/route-be7396551bf03a70.js +0 -1
  843. package/app/.next-cli-build/static/chunks/app/api/init/route-be7396551bf03a70.js +0 -1
  844. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-be7396551bf03a70.js +0 -1
  845. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-be7396551bf03a70.js +0 -1
  846. package/app/.next-cli-build/static/chunks/app/api/keys/route-be7396551bf03a70.js +0 -1
  847. package/app/.next-cli-build/static/chunks/app/api/locale/route-be7396551bf03a70.js +0 -1
  848. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-be7396551bf03a70.js +0 -1
  849. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-be7396551bf03a70.js +0 -1
  850. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-be7396551bf03a70.js +0 -1
  851. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-be7396551bf03a70.js +0 -1
  852. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-be7396551bf03a70.js +0 -1
  853. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-be7396551bf03a70.js +0 -1
  854. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-be7396551bf03a70.js +0 -1
  855. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-be7396551bf03a70.js +0 -1
  856. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-be7396551bf03a70.js +0 -1
  857. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-be7396551bf03a70.js +0 -1
  858. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-be7396551bf03a70.js +0 -1
  859. package/app/.next-cli-build/static/chunks/app/api/models/route-be7396551bf03a70.js +0 -1
  860. package/app/.next-cli-build/static/chunks/app/api/models/test/route-be7396551bf03a70.js +0 -1
  861. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-be7396551bf03a70.js +0 -1
  862. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-be7396551bf03a70.js +0 -1
  863. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-be7396551bf03a70.js +0 -1
  864. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-be7396551bf03a70.js +0 -1
  865. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-be7396551bf03a70.js +0 -1
  866. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-be7396551bf03a70.js +0 -1
  867. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-be7396551bf03a70.js +0 -1
  868. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-be7396551bf03a70.js +0 -1
  869. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-be7396551bf03a70.js +0 -1
  870. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-be7396551bf03a70.js +0 -1
  871. package/app/.next-cli-build/static/chunks/app/api/pricing/route-be7396551bf03a70.js +0 -1
  872. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-be7396551bf03a70.js +0 -1
  873. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-be7396551bf03a70.js +0 -1
  874. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-be7396551bf03a70.js +0 -1
  875. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-be7396551bf03a70.js +0 -1
  876. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-be7396551bf03a70.js +0 -1
  877. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-be7396551bf03a70.js +0 -1
  878. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-be7396551bf03a70.js +0 -1
  879. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-be7396551bf03a70.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-be7396551bf03a70.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-be7396551bf03a70.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/api/providers/route-be7396551bf03a70.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-be7396551bf03a70.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-be7396551bf03a70.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-be7396551bf03a70.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-be7396551bf03a70.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-be7396551bf03a70.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-be7396551bf03a70.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-be7396551bf03a70.js +0 -1
  890. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-be7396551bf03a70.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-be7396551bf03a70.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-be7396551bf03a70.js +0 -1
  893. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-be7396551bf03a70.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-be7396551bf03a70.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/api/settings/route-be7396551bf03a70.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-be7396551bf03a70.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/tags/route-be7396551bf03a70.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-be7396551bf03a70.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-be7396551bf03a70.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-be7396551bf03a70.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-be7396551bf03a70.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-be7396551bf03a70.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-be7396551bf03a70.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-be7396551bf03a70.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-be7396551bf03a70.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-be7396551bf03a70.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-be7396551bf03a70.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-be7396551bf03a70.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-be7396551bf03a70.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-be7396551bf03a70.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-be7396551bf03a70.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-be7396551bf03a70.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-be7396551bf03a70.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-be7396551bf03a70.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-be7396551bf03a70.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-be7396551bf03a70.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-be7396551bf03a70.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-be7396551bf03a70.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-be7396551bf03a70.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-be7396551bf03a70.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-be7396551bf03a70.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-be7396551bf03a70.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-be7396551bf03a70.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-be7396551bf03a70.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-be7396551bf03a70.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-be7396551bf03a70.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-be7396551bf03a70.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-be7396551bf03a70.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-be7396551bf03a70.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-be7396551bf03a70.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-be7396551bf03a70.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-be7396551bf03a70.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-be7396551bf03a70.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-be7396551bf03a70.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/v1/route-be7396551bf03a70.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-be7396551bf03a70.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-be7396551bf03a70.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-be7396551bf03a70.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-be7396551bf03a70.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-be7396551bf03a70.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/version/route-be7396551bf03a70.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-be7396551bf03a70.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/version/update/route-be7396551bf03a70.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-be7396551bf03a70.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/page-be7396551bf03a70.js +0 -1
  946. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-be7396551bf03a70.js +0 -1
  947. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-be7396551bf03a70.js +0 -1
  948. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-be7396551bf03a70.js +0 -1
  949. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-be7396551bf03a70.js +0 -1
  950. /package/app/.next-cli-build/static/{EAOd3y2WrIgihs-plQAwB → GlScgnMwgRz1iIG3TW8Vf}/_ssgManifest.js +0 -0
  951. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-4.0.63-to-4.0.64-4.0.64-20260622-205214 → upgrade-4.0.68-to-4.0.69-4.0.69-20260622-231004}/data.sqlite +0 -0
  952. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-4.0.64-to-4.0.66-4.0.66-20260622-222147 → upgrade-4.0.69-to-4.0.70-4.0.70-20260622-232523}/data.sqlite +0 -0
@@ -0,0 +1,16 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7593],{56484:(e,t,s)=>{"use strict";s.d(t,{default:()=>S});var n=s(95155),r=s(12115),l=s(35497),a=s(94027),d=s(11059);let i=Object.freeze({enabled:!0,requestsPerMinute:20,promptCharsMax:12e4,maxOutputTokens:0,forceThinkingOff:!0,allowedIpCidrs:[],expiresAt:""});function o(e){return String(e||"").trim().toLowerCase()}function c(e){return Array.isArray(e)?[...new Set(e.map(e=>String(e||"").trim()).filter(Boolean))]:[]}function x(e,t){let s=c(e?.allowedModels),n=s[0]||String(t||"programmer").trim()||"programmer",r=s.find(e=>/fast|small|haiku/i.test(e))||s.find(e=>e!==n)||n;return{codingModel:n,fastModel:r}}function m({icon:e,materialIcon:t,image:s,children:r,className:l=""}){return(0,n.jsxs)("span",{className:`inline-flex items-center gap-1.5 ${l}`,children:[s?(0,n.jsx)("img",{src:s,alt:"","aria-hidden":"true",className:"size-4 rounded-sm object-contain"}):t?(0,n.jsx)("span",{"aria-hidden":"true",className:"material-symbols-outlined text-[17px] leading-none",children:t}):e?(0,n.jsx)("span",{"aria-hidden":"true",className:"text-base leading-none",children:e}):null,(0,n.jsx)("span",{children:r})]})}function u(e,t=0){let s=Number(e);return Number.isFinite(s)?Math.max(0,Math.floor(s)):t}function h(e,t=!0){return null==e||""===e?t:!0===e||"true"===e||1===e||"1"===e}function p(e){return Array.isArray(e)?[...new Set(e.map(e=>String(e||"").trim()).filter(Boolean))]:[]}function g(e){return e&&"object"==typeof e&&!Array.isArray(e)&&Object.keys(e).length>0}function b(e={},t={}){let s={...t},n=e&&"object"==typeof e&&!Array.isArray(e)?e:{};return{enabled:h(n.enabled??s.enabled,!0),requestsPerMinute:u(n.requestsPerMinute??s.requestsPerMinute,0),promptCharsMax:u(n.promptCharsMax??s.promptCharsMax,0),maxOutputTokens:u(n.maxOutputTokens??n.outputTokensMax??n.maxTokens??n.max_tokens??n.max_completion_tokens??s.maxOutputTokens,0),forceThinkingOff:h(n.forceThinkingOff??s.forceThinkingOff,!0),allowedIpCidrs:p(n.allowedIpCidrs??s.allowedIpCidrs),expiresAt:String(n.expiresAt??s.expiresAt??"").trim()}}function f({models:e,emptyLabel:t="Chưa g\xe1n model"}){let s=c(e);return 0===s.length?(0,n.jsx)("span",{className:"text-xs text-text-muted",children:t}):(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:[s.slice(0,8).map(e=>(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1 font-mono text-xs",children:e},e)),s.length>8?(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1 text-xs",children:["+",s.length-8," model kh\xe1c"]}):null]})}function j({limits:e,showThinking:t=!1,showOutputLimit:s=!1}){if(!g(e))return(0,n.jsx)("div",{className:"mt-2 flex flex-wrap gap-2 text-xs text-text-muted",children:(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:"policy: chưa set, kh\xf4ng giới hạn"})});let r=b(e);return(0,n.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2 text-xs text-text-muted",children:[(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:["policy: ",r.enabled?"bật":"tắt"]}),(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[r.requestsPerMinute||"∞"," req/ph\xfat"]}),(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[r.promptCharsMax||"∞"," chars prompt"]}),s?(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[r.maxOutputTokens||"∞"," output tokens"]}):null,t?(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:["thinking: ",r.forceThinkingOff?"force off":"client tự quyết"]}):null,r.allowedIpCidrs.length>0?(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:"IP locked"}):null]})}function y({label:e,value:t,onChange:s,hint:r}){return(0,n.jsxs)("label",{className:"block",children:[(0,n.jsx)("span",{className:"mb-1 block text-xs font-medium text-text-muted",children:e}),(0,n.jsx)("input",{type:"number",min:"0",value:t,onChange:e=>s(u(e.target.value,0)),className:"w-full rounded-xl border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary"}),r?(0,n.jsx)("span",{className:"mt-1 block text-xs text-text-muted",children:r}):null]})}function v({isOpen:e,keyName:t,policy:s,setPolicy:r,onClose:a,onSave:d,onClear:o,saving:c,clearLabel:x="X\xf3a policy / kh\xf4ng limit"}){let m=b(s,i),u=(e,t)=>r(s=>b({...s,[e]:t},i));return(0,n.jsx)(l.aF,{isOpen:e,onClose:a,title:`Policy API key: ${t||"API Key"}`,size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface/60 p-3 text-sm text-text-muted",children:["Key mới tự c\xf3 ",(0,n.jsx)("b",{children:"default policy"}),". Chỉ admin được sửa policy. Request/ph\xfat = 0 nghĩa l\xe0 kh\xf4ng giới hạn tần suất. Max output tokens = 0 nghĩa l\xe0 kh\xf4ng \xe9p giới hạn output."]}),(0,n.jsxs)("label",{className:"flex items-center justify-between gap-3 rounded-xl border border-border p-3 text-sm",children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("b",{children:"Bật policy"}),(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-xs text-text-muted",children:"Tắt mục n\xe0y th\xec policy được lưu nhưng kh\xf4ng \xe1p limit."})]}),(0,n.jsx)("input",{type:"checkbox",checked:m.enabled,onChange:e=>u("enabled",e.target.checked)})]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,n.jsx)(y,{label:"Request / ph\xfat",value:m.requestsPerMinute,onChange:e=>u("requestsPerMinute",e),hint:"0 = kh\xf4ng giới hạn tần suất. Khuyến nghị user thường: 10–20 req/ph\xfat."}),(0,n.jsx)(y,{label:"Max output tokens",value:m.maxOutputTokens,onChange:e=>u("maxOutputTokens",e),hint:"0 = kh\xf4ng giới hạn. VS Code khuyến nghị 2048–3072; chat d\xe0i 4096–8192."})]}),(0,n.jsx)(y,{label:"Prompt chars tối đa",value:m.promptCharsMax,onChange:e=>u("promptCharsMax",e),hint:"0 = kh\xf4ng giới hạn input/prompt."}),(0,n.jsxs)("label",{className:"flex items-center justify-between gap-3 rounded-xl border border-border p-3 text-sm",children:[(0,n.jsxs)("span",{children:[(0,n.jsx)("b",{children:"Force Thinking Off"}),(0,n.jsx)("br",{}),(0,n.jsx)("span",{className:"text-xs text-text-muted",children:"Khi bật, gateway \xe9p request c\xf3 chat_template_kwargs.enable_thinking=false theo chuẩn llama.cpp."})]}),(0,n.jsx)("input",{type:"checkbox",checked:m.forceThinkingOff,onChange:e=>u("forceThinkingOff",e.target.checked)})]}),(0,n.jsxs)("label",{className:"block",children:[(0,n.jsx)("span",{className:"mb-1 block text-xs font-medium text-text-muted",children:"IP/CIDR được ph\xe9p"}),(0,n.jsx)("textarea",{value:p(m.allowedIpCidrs).join("\n"),onChange:e=>u("allowedIpCidrs",[...new Set(String(e.target.value||"").split(/[\n,]+/).map(e=>e.trim()).filter(Boolean))]),rows:3,className:"w-full rounded-xl border border-border bg-background px-3 py-2 font-mono text-sm text-text-main outline-none focus:border-primary",placeholder:"10.0.0.0/8\n192.168.0.0/16"}),(0,n.jsx)("span",{className:"mt-1 block text-xs text-text-muted",children:"Để trống = mọi IP. Hỗ trợ IPv4 exact hoặc CIDR."})]}),(0,n.jsxs)("label",{className:"block",children:[(0,n.jsx)("span",{className:"mb-1 block text-xs font-medium text-text-muted",children:"Hết hạn l\xfac"}),(0,n.jsx)("input",{value:m.expiresAt,onChange:e=>u("expiresAt",e.target.value),className:"w-full rounded-xl border border-border bg-background px-3 py-2 font-mono text-sm text-text-main outline-none focus:border-primary",placeholder:"2026-12-31T23:59:59+07:00 hoặc để trống"})]}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:a,children:"Hủy"}),o?(0,n.jsx)(l.$n,{variant:"outline",onClick:o,disabled:c,children:x}):null,(0,n.jsx)(l.$n,{onClick:()=>d(m),disabled:c,children:c?"Đang lưu...":"Lưu policy"})]})]})})}function N({open:e,keyName:t,models:s,setModels:a,activeProviders:d,modelAliases:i,onClose:o,onSave:x,saving:m}){let[u,h]=(0,r.useState)(!1),p=c(s),g=e=>{let t=e?.value||e?.name||e;a(e=>c(e).filter(e=>e!==t))};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.aF,{isOpen:e,onClose:o,title:`Model access: ${t||"API Key"}`,size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)("p",{className:"text-sm text-text-muted",children:"Chọn một hoặc nhiều model m\xe0 API key n\xe0y được ph\xe9p sử dụng. Trang n\xe0y kh\xf4ng cho lưu danh s\xe1ch model rỗng."}),(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,n.jsx)("span",{className:"text-sm font-medium",children:"Model được ph\xe9p d\xf9ng"}),(0,n.jsx)(l.$n,{size:"sm",variant:"outline",onClick:()=>h(!0),children:"Th\xeam model"})]}),0===p.length?(0,n.jsx)("div",{className:"rounded-xl border border-dashed border-border p-4 text-sm text-text-muted",children:"Chưa chọn model n\xe0o. H\xe3y th\xeam \xedt nhất một model trước khi lưu."}):(0,n.jsx)("div",{className:"flex flex-wrap gap-2",children:p.map(e=>(0,n.jsxs)("button",{type:"button",onClick:()=>g(e),className:"rounded-full border border-primary/30 bg-primary/10 px-2 py-1 font-mono text-xs text-primary transition hover:bg-red-500/10 hover:text-red-600",title:"Bấm để gỡ model n\xe0y",children:[e," \xd7"]},e))}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:o,children:"Hủy"}),(0,n.jsx)(l.$n,{onClick:x,disabled:m||0===p.length,children:m?"Đang lưu...":"Lưu danh s\xe1ch model"})]})]})}),(0,n.jsx)(l.rq,{isOpen:u,onClose:()=>h(!1),onSelect:e=>{let t=e?.value||e?.name||e;t&&a(e=>c([...e,t]))},onDeselect:g,activeProviders:d,modelAliases:i,title:"Chọn model được ph\xe9p d\xf9ng",addedModelValues:p,closeOnSelect:!1})]})}function k({active:e}){return e?(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-emerald-500/30 bg-emerald-500/10 px-2 py-1 text-xs font-medium text-emerald-700 dark:text-emerald-300",children:"Đang bật"}):(0,n.jsx)("span",{className:"inline-flex items-center rounded-full border border-red-500/30 bg-red-500/10 px-2 py-1 text-xs font-medium text-red-700 dark:text-red-300",children:"Đ\xe3 tắt"})}function w({label:e,value:t,hint:s}){return(0,n.jsxs)("div",{className:"rounded-2xl border border-border bg-surface/70 p-4",children:[(0,n.jsx)("div",{className:"text-xs font-medium uppercase tracking-wide text-text-muted",children:e}),(0,n.jsx)("div",{className:"mt-2 text-2xl font-semibold text-text-main",children:t}),s?(0,n.jsx)("div",{className:"mt-1 text-xs text-text-muted",children:s}):null]})}function C({pagination:e,pageSize:t,onPageChange:s,onPageSizeChange:r,loading:a}){let d=Number(e?.page||1),i=Number(e?.totalPages||1),o=Number(e?.total||0),c=0===o?0:(d-1)*t+1,x=Math.min(o,d*t);return(0,n.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border px-4 py-3 md:flex-row md:items-center md:justify-between",children:[(0,n.jsxs)("div",{className:"text-sm text-text-muted",children:["Hiển thị ",(0,n.jsx)("b",{children:c}),"–",(0,n.jsx)("b",{children:x})," / ",(0,n.jsx)("b",{children:o})," API keys"]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsxs)("select",{value:t,onChange:e=>r(Number(e.target.value)),className:"rounded-xl border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary",disabled:a,children:[(0,n.jsx)("option",{value:25,children:"25 / trang"}),(0,n.jsx)("option",{value:50,children:"50 / trang"}),(0,n.jsx)("option",{value:100,children:"100 / trang"})]}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>s(1),disabled:a||d<=1,children:"Đầu"}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>s(Math.max(1,d-1)),disabled:a||d<=1,children:"Trước"}),(0,n.jsxs)("span",{className:"rounded-xl border border-border bg-surface px-3 py-2 text-sm",children:["Trang ",d,"/",i]}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>s(Math.min(i,d+1)),disabled:a||d>=i,children:"Sau"}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>s(i),disabled:a||d>=i,children:"Cuối"})]})]})}function P({apiKey:e,owner:t,isAdmin:s,onRename:l,onEditModels:a,onEditPolicy:d,onAssignOwner:i,onDelete:o}){let[c,x]=(0,r.useState)(!1),u=(0,r.useRef)(null);(0,r.useEffect)(()=>{if(!c)return;let e=e=>{!u.current||u.current.contains(e.target)||x(!1)},t=e=>{"Escape"===e.key&&x(!1)};return document.addEventListener("pointerdown",e,!0),document.addEventListener("keydown",t),()=>{document.removeEventListener("pointerdown",e,!0),document.removeEventListener("keydown",t)}},[c]);let h=e=>{x(!1),e()};return(0,n.jsxs)("details",{ref:u,className:"group",open:c,onToggle:e=>x(e.currentTarget.open),children:[(0,n.jsx)("summary",{className:"flex h-9 cursor-pointer list-none items-center rounded-xl border border-border bg-background px-3 text-sm font-medium text-text-main transition hover:border-primary/50 hover:bg-surface focus:outline-none focus:ring-2 focus:ring-primary/20 [&::-webkit-details-marker]:hidden",children:(0,n.jsx)("span",{"aria-hidden":"true",className:"text-lg leading-none",children:"⋯"})}),(0,n.jsxs)("div",{className:"ml-auto mt-2 w-40 overflow-hidden rounded-xl border border-border bg-background py-1 text-left shadow-xl shadow-black/10",children:[(0,n.jsx)("button",{type:"button",className:"block w-full px-3 py-2 text-left text-sm text-text-main transition hover:bg-surface",onClick:()=>h(()=>l(e.id,e.name)),children:(0,n.jsx)(m,{icon:"✏️",children:"Đổi t\xean"})}),s?(0,n.jsx)("div",{className:"my-1 border-t border-border"}):null,s?(0,n.jsx)("button",{type:"button",className:"block w-full px-3 py-2 text-left text-sm text-text-main transition hover:bg-surface",onClick:()=>h(()=>a(e)),children:(0,n.jsx)(m,{icon:"\uD83D\uDCE6",children:"Models"})}):null,s?(0,n.jsx)("button",{type:"button",className:"block w-full px-3 py-2 text-left text-sm text-text-main transition hover:bg-surface",onClick:()=>h(()=>d(e)),children:(0,n.jsx)(m,{icon:"\uD83D\uDEE1️",children:"Policy"})}):null,s?(0,n.jsx)("button",{type:"button",className:"block w-full px-3 py-2 text-left text-sm text-text-main transition hover:bg-surface",onClick:()=>h(()=>i(e.id,t)),children:(0,n.jsx)(m,{icon:"\uD83D\uDC64",children:"Owner"})}):null,(0,n.jsx)("div",{className:"my-1 border-t border-border"}),(0,n.jsx)("button",{type:"button",className:"block w-full px-3 py-2 text-left text-sm font-medium text-red-600 transition hover:bg-red-500/10",onClick:()=>h(()=>o(e.id)),children:(0,n.jsx)(m,{icon:"\uD83D\uDDD1️",children:"X\xf3a"})})]})]})}function A({keys:e,visibleKeys:t,copied:s,copy:r,isAdmin:a,onToggleVisible:d,onToggleActive:i,onApiTest:o,onClaudeSettings:x,onOpenCodeSettings:u,onCodexSettings:h,onQwenSettings:p,onRename:f,onRotate:j,onEditModels:y,onEditPolicy:v,onAssignOwner:N,onDelete:w}){return(0,n.jsx)("div",{className:"overflow-hidden rounded-2xl border border-border",children:(0,n.jsx)("div",{className:"overflow-x-auto",children:(0,n.jsxs)("table",{className:"min-w-full divide-y divide-border text-sm",children:[(0,n.jsx)("thead",{className:"bg-surface/80 text-left text-xs uppercase tracking-wide text-text-muted",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"T\xean / Key"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"Trạng th\xe1i"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"Owner"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"Model"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"Policy"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 font-medium",children:"Ng\xe0y tạo"}),(0,n.jsx)("th",{className:"whitespace-nowrap px-4 py-3 text-right font-medium",children:"Thao t\xe1c"})]})}),(0,n.jsx)("tbody",{className:"divide-y divide-border bg-background",children:e.map(e=>{var C;let A=t.has(e.id),S=e.ownerUser||e.createdByUser||"chưa g\xe1n",I=c(e.allowedModels),O=g(e.limits),M=b(e.limits||{});return(0,n.jsxs)("tr",{className:"align-top transition hover:bg-surface/50",children:[(0,n.jsxs)("td",{className:"min-w-[280px] px-4 py-4",children:[(0,n.jsx)("div",{className:"font-medium text-text-main",children:e.name||"API Key"}),(0,n.jsxs)("div",{className:"mt-2 flex max-w-[380px] items-center gap-2 rounded-xl border border-border bg-surface px-3 py-2 font-mono text-xs text-text-main",children:[(0,n.jsx)("span",{className:"min-w-0 flex-1 truncate",children:A?e.key:(C=e.key)?C.length>12?`${C.slice(0,8)}...${C.slice(-4)}`:C:""}),(0,n.jsx)("button",{type:"button",className:"text-primary hover:underline",onClick:()=>d(e.id),children:A?"Ẩn":"Hiện"})]}),e.createdByUser?(0,n.jsxs)("div",{className:"mt-2 text-xs text-text-muted",children:["Tạo bởi: ",e.createdByUser]}):null]}),(0,n.jsx)("td",{className:"whitespace-nowrap px-4 py-4",children:(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)(k,{active:!!e.isActive}),(0,n.jsx)(l.lM,{checked:!!e.isActive,onChange:t=>i(e.id,t)})]})}),(0,n.jsx)("td",{className:"min-w-[160px] px-4 py-4",children:(0,n.jsx)("div",{className:"break-all text-sm text-text-main",children:S})}),(0,n.jsx)("td",{className:"min-w-[220px] px-4 py-4",children:I.length>0?(0,n.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[I.slice(0,3).map(e=>(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1 font-mono text-xs",children:e},e)),I.length>3?(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1 text-xs",children:["+",I.length-3]}):null]}):(0,n.jsx)("span",{className:"rounded-full border border-amber-500/30 bg-amber-500/10 px-2 py-1 text-xs text-amber-700 dark:text-amber-300",children:"Legacy full access"})}),(0,n.jsx)("td",{className:"min-w-[220px] px-4 py-4",children:O?(0,n.jsxs)("div",{className:"flex flex-wrap gap-1.5 text-xs",children:[(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:M.enabled?"bật":"tắt"}),(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[M.requestsPerMinute||"∞","/ph\xfat"]}),(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[M.promptCharsMax||"∞"," chars"]}),a&&M.maxOutputTokens>0?(0,n.jsxs)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:[M.maxOutputTokens," out"]}):null,a&&M.forceThinkingOff?(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:"thinking off"}):null,M.allowedIpCidrs.length>0?(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1",children:"IP locked"}):null]}):(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-2 py-1 text-xs text-text-muted",children:"chưa set"})}),(0,n.jsx)("td",{className:"min-w-[150px] px-4 py-4 text-xs text-text-muted",children:function(e){if(!e)return"kh\xf4ng r\xf5";try{return new Date(e).toLocaleString()}catch{return String(e)}}(e.createdAt)}),(0,n.jsx)("td",{className:"min-w-[180px] px-4 py-4",children:(0,n.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>r(e.key,e.id),children:(0,n.jsx)(m,{materialIcon:"content_copy",children:s===e.id?"Đ\xe3 copy":"Copy"})}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>o(e),children:(0,n.jsx)(m,{materialIcon:"science",children:"Test"})}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>x(e),children:(0,n.jsx)(m,{image:"/providers/claude.png",children:"Claude Code Settings"})}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>u(e),children:(0,n.jsx)(m,{image:"/providers/opencode.png",children:"OpenCode Settings"})}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>h(e),children:(0,n.jsx)(m,{image:"/providers/codex.png",children:"Codex Settings"})}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>p(e),children:(0,n.jsx)(m,{image:"/providers/qwen.png",children:"Qwen Code Settings"})}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>j(e),children:(0,n.jsx)(m,{materialIcon:"key",children:"Đổi key"})}),(0,n.jsx)(P,{apiKey:e,owner:S,isAdmin:a,onRename:f,onEditModels:y,onEditPolicy:v,onAssignOwner:N,onDelete:w})]})})]},e.id)})})]})})})}function S(){let e,t,s,m,[h,p]=(0,r.useState)([]),[y,k]=(0,r.useState)(!0),[P,S]=(0,r.useState)(""),[I,O]=(0,r.useState)(!1),[M,$]=(0,r.useState)(""),[T,E]=(0,r.useState)(""),[K,_]=(0,r.useState)(""),[L,R]=(0,r.useState)(""),[D,U]=(0,r.useState)(new Set),[q,z]=(0,r.useState)(null),[F,B]=(0,r.useState)([]),[H,Y]=(0,r.useState)(""),[J,W]=(0,r.useState)(!1),[Q,V]=(0,r.useState)(!1),[X,Z]=(0,r.useState)([]),[G,ee]=(0,r.useState)([]),[et,es]=(0,r.useState)(!1),[en,er]=(0,r.useState)(i),[el,ea]=(0,r.useState)(i),[ed,ei]=(0,r.useState)(!1),[eo,ec]=(0,r.useState)(!1),[ex,em]=(0,r.useState)(!1),[eu,eh]=(0,r.useState)([]),[ep,eg]=(0,r.useState)({}),[eb,ef]=(0,r.useState)(!1),[ej,ey]=(0,r.useState)(!1),[ev,eN]=(0,r.useState)(null),[ek,ew]=(0,r.useState)([]),[eC,eP]=(0,r.useState)(!1),[eA,eS]=(0,r.useState)(null),[eI,eO]=(0,r.useState)(i),[eM,e$]=(0,r.useState)(!1),[eT,eE]=(0,r.useState)(2),[eK,e_]=(0,r.useState)(0),[eL,eR]=(0,r.useState)(0),[eD,eU]=(0,r.useState)(""),[eq,ez]=(0,r.useState)(null),[eF,eB]=(0,r.useState)(null),[eH,eY]=(0,r.useState)(null),[eJ,eW]=(0,r.useState)(null),[eQ,eV]=(0,r.useState)(null),[eX,eZ]=(0,r.useState)(""),[eG,e0]=(0,r.useState)(""),[e1,e3]=(0,r.useState)("all"),[e2,e4]=(0,r.useState)(1),[e5,e8]=(0,r.useState)(25),[e6,e7]=(0,r.useState)({page:1,pageSize:25,total:0,totalAll:0,totalPages:1,status:"all",search:""}),{copied:e9,copy:te}=(0,d.C)(),{isAdmin:tt,isMonitorAdmin:ts,canManageApiKeys:tn,userId:tr}=(0,a.s)(),tl=tt||ts||tn,ta=Number.isFinite(Number(eT))?Number(eT):2,td=Number.isFinite(Number(eK))?Number(eK):h.length,ti=Number.isFinite(Number(eL))?Number(eL):Number(e6.totalAll||e6.total||0),to=Number(e6.total||0),tc=!tl&&td>=ta,tx=eD?`${eD}/v1`:"/v1",tm=eD?`${eD}/v1/chat/completions`:"/v1/chat/completions",tu=c(X)[0]||"",th=(e=c(eq?.allowedModels)[0],t=String(tu||"").trim(),e||t||"YOUR_MODEL"),tp=eq?b(eq.limits||{}):i,tg=tp.maxOutputTokens>0?tp.maxOutputTokens:0,tb=eq?function({endpoint:e,apiKey:t,model:s,maxOutputTokens:n=0}){let r=String(e||"/v1/chat/completions").replace(/"/g,""),l=String(t||"YOUR_API_KEY").replace(/"/g,""),a=u(n,0),d={model:String(s||"YOUR_MODEL"),messages:[{role:"user",content:"Say hi.\nReply in one short sentence."}],temperature:.2,stream:!1};a>0&&(d.max_tokens=a);let i=JSON.stringify(d).replace(/"/g,'\\"');return`curl.exe -X POST "${r}" ^
2
+ -H "Authorization: Bearer ${l}" ^
3
+ -H "Content-Type: application/json" ^
4
+ -d "${i}"`}({endpoint:tm,apiKey:eq.key,model:th,maxOutputTokens:tg}):"",tf=eF?x(eF,tu):{codingModel:"programmer",fastModel:"programmer-fast"},tj=eF?function({baseUrl:e,apiKey:t,codingModel:s,fastModel:n}){return JSON.stringify({env:{ANTHROPIC_BASE_URL:e||"https://models-gateway.example.com/v1",ANTHROPIC_AUTH_TOKEN:t||"sk-xxxxx",ANTHROPIC_MODEL:s||"programmer",ANTHROPIC_SMALL_FAST_MODEL:n||s||"programmer-fast",ANTHROPIC_DEFAULT_OPUS_MODEL:s||"programmer",ANTHROPIC_DEFAULT_SONNET_MODEL:s||"programmer",ANTHROPIC_DEFAULT_HAIKU_MODEL:n||s||"programmer-fast"},theme:"dark",hasCompletedOnboarding:!0},null,2)}({baseUrl:tx,apiKey:eF.key,codingModel:tf.codingModel,fastModel:tf.fastModel}):"",ty="npm install -g @anthropic-ai/claude-code\\nclaude --version\\nmkdir $env:USERPROFILE\\.claude -Force\\nnotepad $env:USERPROFILE\\.claude\\settings.json\\ncd D:\\path\\to\\your-project\\nclaude",tv=eH?x(eH,tu):{codingModel:"programmer",fastModel:"programmer-fast"},tN=eH?function({baseUrl:e,apiKey:t,codingModel:s,fastModel:n}){let r=s||"programmer",l=n||r||"programmer-fast";return JSON.stringify({$schema:"https://opencode.ai/config.json",provider:{bluerouter:{npm:"@ai-sdk/openai-compatible",name:"BlueRouter",options:{baseURL:e||"https://models-gateway.example.com/v1",apiKey:t||"sk-xxxxx"},models:{[r]:{name:r,modalities:{input:["text","image"],output:["text"]}},[l]:{name:l,modalities:{input:["text"],output:["text"]}}}}},model:`bluerouter/${r}`,small_model:`bluerouter/${l}`,agent:{explorer:{description:"Fast explorer subagent for codebase exploration",mode:"subagent",model:`bluerouter/${l}`}}},null,2)}({baseUrl:tx,apiKey:eH.key,codingModel:tv.codingModel,fastModel:tv.fastModel}):"",tk="npm install -g opencode-ai\\nopencode --version\\nmkdir $env:APPDATA\\opencode -Force\\nnotepad $env:APPDATA\\opencode\\opencode.json\\ncd D:\\path\\to\\your-project\\nopencode",tw=eJ?x(eJ,tu):{codingModel:"programmer",fastModel:"programmer-fast"},tC=eJ?function({baseUrl:e,codingModel:t,fastModel:s}){let n=t||"programmer";return`model = "${n}"
5
+ model_provider = "bluerouter"
6
+
7
+ [model_providers.bluerouter]
8
+ name = "BlueRouter"
9
+ base_url = "${e||"https://models-gateway.example.com/v1"}"
10
+ env_key = "OPENAI_API_KEY"
11
+ wire_api = "responses"
12
+
13
+ [profiles.fast]
14
+ model = "${s||n||"programmer-fast"}"
15
+ model_provider = "bluerouter"`}({baseUrl:tx,codingModel:tw.codingModel,fastModel:tw.fastModel}):"",tP=eJ?`npm install -g @openai/codex\\ncodex --version\\nsetx OPENAI_API_KEY "${eJ.key}"\\nmkdir $env:USERPROFILE\\.codex -Force\\nnotepad $env:USERPROFILE\\.codex\\config.toml\\ncd D:\\path\\to\\your-project\\ncodex`:"",tA=eQ?x(eQ,tu):{codingModel:"programmer",fastModel:"programmer-fast"},tS=eQ?function({baseUrl:e,apiKey:t,codingModel:s,fastModel:n}){let r=s||"programmer",l=n||r||"programmer-fast";return JSON.stringify({$version:3,env:{OPENAI_API_KEY:t||"sk-xxxxx",OPENAI_BASE_URL:e||"https://models-gateway.example.com/v1",OPENAI_MODEL:r},selectedAuthType:"openai",modelProviders:{openai:[{id:r,name:r,envKey:"OPENAI_API_KEY",baseUrl:e||"https://models-gateway.example.com/v1",generationConfig:{timeout:6e4}},{id:l,name:l,envKey:"OPENAI_API_KEY",baseUrl:e||"https://models-gateway.example.com/v1",generationConfig:{timeout:6e4}}]},model:r,smallModel:l,ui:{theme:"dark"}},null,2)}({baseUrl:tx,apiKey:eQ.key,codingModel:tA.codingModel,fastModel:tA.fastModel}):"",tI=eQ?`npm install -g @qwen-code/qwen-code\\nqwen --version\\nmkdir $env:USERPROFILE\\.qwen -Force\\nnotepad $env:USERPROFILE\\.qwen\\settings.json\\nsetx OPENAI_API_KEY "${eQ.key}"\\nsetx OPENAI_BASE_URL "${tx}"\\nsetx OPENAI_MODEL "${tA.codingModel}"\\ncd D:\\path\\to\\your-project\\nqwen`:"",tO=(0,r.useMemo)(()=>{let e=new Map;for(let t of F){let s=o(t.username||t.email||t.userPrincipalName||t.sAMAccountName);s&&e.set(s,{id:s,label:`${t.displayName||t.username||s}${t.email?` \xb7 ${t.email}`:""}`})}for(let t of h){let s=o(t.ownerUser||t.createdByUser);s&&!e.has(s)&&e.set(s,{id:s,label:s})}return tr&&!e.has(tr)&&e.set(tr,{id:tr,label:`${tr} (t\xf4i)`}),[...e.values()].sort((e,t)=>e.label.localeCompare(t.label))},[F,h,tr]),tM=(s=c(G),m=c(X),!(s.length===m.length&&s.every((e,t)=>e===m[t]))),t$=Q||!M.trim()||0===X.length||tc,tT=!!eG||"all"!==e1,tE=async()=>{k(!0),S("");try{let e=new URLSearchParams;e.set("page",String(e2)),e.set("pageSize",String(e5)),eG&&e.set("q",eG),"all"!==e1&&e.set("status",e1);let t=await fetch(`/api/keys?${e.toString()}`,{cache:"no-store"}),s=await t.json().catch(()=>({}));if(!t.ok)throw Error(s.error||"Kh\xf4ng tải được danh s\xe1ch API keys");let n=s.keys||[],r=s.pagination||{page:e2,pageSize:e5,total:n.length,totalAll:n.length,totalPages:1,search:eG,status:e1};if(0===n.length&&Number(r.total||0)>0&&e2>1)return void e4(Math.max(1,Number(r.totalPages||1)));let l=c(s.apiKeyDefaultModels||(s.apiKeyDefaultModel?[s.apiKeyDefaultModel]:[]));p(n),e7(r),eR(s.apiKeyTotal??r.totalAll??r.total??n.length);let a=b(s.apiKeyDefaultPolicy||i,i);Z(l),ee(l),er(a),ea(a),eE(s.apiKeyLimit??2),e_(s.apiKeyCount??r.totalAll??n.length)}catch(e){S(e.message||"Kh\xf4ng tải được danh s\xe1ch API keys")}finally{k(!1)}};(0,r.useEffect)(()=>{eU(window.location.origin)},[]),(0,r.useEffect)(()=>{let e=setTimeout(()=>{e4(1),e0(eX.trim())},350);return()=>clearTimeout(e)},[eX]),(0,r.useEffect)(()=>{tE()},[e2,e5,eG,e1]),(0,r.useEffect)(()=>{!T&&tr&&E(tr)},[tr,T]);let tK=async()=>{if(!eb&&!ej){ey(!0);try{let[e,t]=await Promise.allSettled([fetch("/api/providers",{cache:"no-store"}),fetch("/api/models/alias",{cache:"no-store"})]);if("fulfilled"===e.status&&e.value.ok){let t=await e.value.json().catch(()=>({}));eh(t.connections||[])}if("fulfilled"===t.status&&t.value.ok){let e=await t.value.json().catch(()=>({}));eg(e.aliases||{})}ef(!0)}catch{}finally{ey(!1)}}},t_=async(e=H)=>{if(tl){W(!0);try{let t=await fetch(`/api/auth/ldap/users?q=${encodeURIComponent(e||"")}`,{cache:"no-store"}),s=await t.json().catch(()=>({}));t.ok&&B(s.users||[])}catch{}finally{W(!1)}}},tL=async()=>{if(tl&&0!==G.length){es(!0),S("");try{let e=await fetch("/api/keys",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKeyDefaultModels:G})}),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t.error||"Kh\xf4ng lưu được default models");let s=c(t.apiKeyDefaultModels||(t.apiKeyDefaultModel?[t.apiKeyDefaultModel]:[])),n=b(t.apiKeyDefaultPolicy||i,i);Z(s),ee(s),er(n),ea(n)}catch(e){S(e.message||"Kh\xf4ng lưu được default models")}finally{es(!1)}}},tR=async e=>{if(!tl)return;let t=b(e,i);ei(!0),S("");try{let e=await fetch("/api/keys",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKeyDefaultPolicy:t})}),s=await e.json().catch(()=>({}));if(!e.ok)throw Error(s.error||"Kh\xf4ng lưu được default policy");let n=b(s.apiKeyDefaultPolicy||t,i);er(n),ea(n),ec(!1)}catch(e){S(e.message||"Kh\xf4ng lưu được default policy")}finally{ei(!1)}},tD=async()=>{if(M.trim()){if(0===X.length)return void S("Admin cần cấu h\xecnh default models trước khi tạo API key.");if(tc)return void S(`Mỗi user chỉ được tạo tối đa ${ta} API keys.
16
+ C\xf3 thể d\xf9ng n\xfat Đổi key để xoay sang key mới m\xe0 kh\xf4ng cần x\xf3a/tạo lại.`);V(!0),S("");try{let e=tl?o(K||T||tr):void 0,t=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:M.trim(),ownerUser:e})}),s=await t.json().catch(()=>({}));if(!t.ok)throw Error(s.error||"Kh\xf4ng tạo được API key");R(s.key),$(""),_(""),O(!1),e4(1),await tE()}catch(e){S(e.message||"Kh\xf4ng tạo được API key")}finally{V(!1)}}},tU=async(e,t)=>{let s=await fetch(`/api/keys/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await s.json().catch(()=>({}));return s.ok?(await tE(),!0):(S(n.error||"Kh\xf4ng cập nhật được API key"),!1)},tq=async()=>{if(!ev)return;let e=c(ek);if(0===e.length)return void S("H\xe3y chọn \xedt nhất một model trước khi lưu quyền truy cập API key.");eP(!0),S("");try{await tU(ev.id,{allowedModels:e})&&(eN(null),ew([]))}finally{eP(!1)}},tz=async e=>{if(eA){e$(!0),S("");try{await tU(eA.id,{limits:b(e)})&&(eS(null),eO(i))}finally{e$(!1)}}},tF=async()=>{if(eA){e$(!0),S("");try{await tU(eA.id,{limits:{}})&&(eS(null),eO(i))}finally{e$(!1)}}};return(0,n.jsxs)("div",{className:"space-y-6",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-2xl font-semibold text-text-main",children:"Quản l\xfd API Keys"}),(0,n.jsx)("p",{className:"mt-1 text-sm text-text-muted",children:tl?"Bảng quản trị API key c\xf3 t\xecm kiếm, lọc trạng th\xe1i v\xe0 ph\xe2n trang để kh\xf4ng render qu\xe1 nhiều key c\xf9ng l\xfac.":`Bạn c\xf3 thể quản l\xfd API key của t\xe0i khoản m\xecnh. Mỗi user thường sở hữu tối đa ${ta} API keys. D\xf9ng n\xfat Đổi key để xoay sang key mới m\xe0 kh\xf4ng cần x\xf3a/tạo lại.`})]}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,n.jsx)(l.$n,{variant:"outline",onClick:tE,disabled:y,children:y?"Đang tải...":"Refresh"}),(0,n.jsx)(l.$n,{onClick:()=>{O(!0),!T&&tr&&E(tr)},disabled:tc,children:"Tạo API Key"})]})]}),P?(0,n.jsx)("div",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-3 text-sm text-red-600 whitespace-pre-line",children:P}):null,(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsx)(w,{label:"Tổng API keys",value:ti,hint:tl?"To\xe0n hệ thống":`${td}/${ta} key của bạn`}),(0,n.jsx)(w,{label:"Đang hiển thị",value:to,hint:tT?"Theo bộ lọc hiện tại":"Kh\xf4ng filter"}),(0,n.jsx)(w,{label:"Page size",value:e5,hint:"Chỉ tải số d\xf2ng của trang hiện tại"})]}),tl?null:(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-medium",children:"Giới hạn API key theo user"}),(0,n.jsxs)("p",{className:"text-sm text-text-muted",children:["T\xe0i khoản của bạn đang c\xf3 ",td,"/",ta," API keys. Key bị disabled vẫn được t\xednh v\xe0o giới hạn."]})]}),(0,n.jsx)("span",{className:"rounded-full border border-border bg-surface px-3 py-1 text-sm",children:tc?"Đ\xe3 đạt giới hạn":"C\xf2n c\xf3 thể tạo th\xeam"})]})}),(0,n.jsxs)("div",{className:"grid gap-4 xl:grid-cols-2",children:[(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-medium",children:"Default models cho API key mới"}),(0,n.jsx)("p",{className:"text-sm text-text-muted",children:"API key mới sẽ mặc định được d\xf9ng c\xe1c model n\xe0y. Cần cấu h\xecnh \xedt nhất một default model trước khi tạo API key."})]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[X.length>0?(0,n.jsx)(f,{models:X,emptyLabel:"Chưa cấu h\xecnh default models"}):(0,n.jsx)("span",{className:"text-sm text-red-600",children:"Chưa cấu h\xecnh default models"}),tl?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>{em(!0),tK()},children:G.length>0?`Đ\xe3 chọn ${G.length} model`:"Chọn default models..."}),(0,n.jsx)(l.$n,{size:"sm",onClick:tL,disabled:!tM||et||0===G.length,children:et?"Đang lưu...":"Lưu"})]}):null]}),tl?(0,n.jsx)("p",{className:"text-xs text-text-muted",children:ej?"Đang tải danh s\xe1ch model...":"Danh s\xe1ch model chỉ tải khi mở bộ chọn để trang load nhanh hơn."}):null]})}),(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-medium",children:"Default policy cho API key mới"}),(0,n.jsx)("p",{className:"text-sm text-text-muted",children:"Policy n\xe0y được tự động g\xe1n cho key mới. Policy ri\xeang từng key vẫn c\xf3 thể override sau khi tạo."})]}),tl?(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>{ea(b(en||i,i)),ec(!0)},children:"Chỉnh default policy"}):null]}),(0,n.jsx)(j,{limits:en,showThinking:tl,showOutputLimit:tl})]})})]}),(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"font-medium",children:"Th\xf4ng tin API endpoint"}),(0,n.jsx)("p",{className:"text-sm text-text-muted",children:"D\xf9ng API key b\xean dưới để gọi gateway theo chuẩn OpenAI-compatible. Endpoint lấy theo domain hiện tại của dashboard."})]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Base URL"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tx})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Chat Completions"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tm})]})]}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>te(tx,"api-base-url"),children:"api-base-url"===e9?"Đ\xe3 copy Base URL":"Copy Base URL"}),(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>te(tm,"api-chat-endpoint"),children:"api-chat-endpoint"===e9?"Đ\xe3 copy Endpoint":"Copy Endpoint"})]})]})}),L?(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsx)("h3",{className:"font-medium",children:"Đ\xe3 tạo API key"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-sm",children:L}),(0,n.jsxs)("div",{className:"text-sm text-text-muted",children:["H\xe3y copy ngay. Key mới mặc định được d\xf9ng default models v\xe0 default policy đang cấu h\xecnh trong Dashboard, trừ khi admin chỉnh quyền model/policy.",(0,n.jsx)(f,{models:X,emptyLabel:"default models"})]}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)(l.$n,{size:"sm",onClick:()=>te(L,"created"),children:"created"===e9?"Đ\xe3 copy":"Copy"}),(0,n.jsx)(l.$n,{size:"sm",variant:"ghost",onClick:()=>R(""),children:"Đ\xf3ng"})]})]})}):null,(0,n.jsx)(l.Zp,{children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-end xl:justify-between",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("h3",{className:"text-lg font-semibold text-text-main",children:"Danh s\xe1ch API keys"}),(0,n.jsx)("p",{className:"mt-1 text-sm text-text-muted",children:"T\xecm theo t\xean key, owner, model, id hoặc một phần API key. Backend chỉ trả về page hiện tại."})]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center",children:[(0,n.jsx)("input",{value:eX,onChange:e=>eZ(e.target.value),placeholder:"T\xecm API key, owner, model...",className:"w-full rounded-xl border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary sm:w-80"}),(0,n.jsxs)("select",{value:e1,onChange:e=>{e3(e.target.value),e4(1)},className:"rounded-xl border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary",children:[(0,n.jsx)("option",{value:"all",children:"Tất cả trạng th\xe1i"}),(0,n.jsx)("option",{value:"active",children:"Chỉ key đang bật"}),(0,n.jsx)("option",{value:"inactive",children:"Chỉ key đ\xe3 tắt"})]}),tT?(0,n.jsx)(l.$n,{variant:"outline",size:"sm",onClick:()=>{eZ(""),e0(""),e3("all"),e4(1)},children:"X\xf3a lọc"}):null]})]}),y?(0,n.jsx)("div",{className:"rounded-2xl border border-dashed border-border p-8 text-center text-sm text-text-muted",children:"Đang tải API keys..."}):0===h.length?(0,n.jsx)("div",{className:"rounded-2xl border border-dashed border-border p-8 text-center text-sm text-text-muted",children:tT?"Kh\xf4ng t\xecm thấy API key ph\xf9 hợp bộ lọc.":"Chưa c\xf3 API key n\xe0o."}):(0,n.jsx)(A,{keys:h,visibleKeys:D,copied:e9,copy:te,isAdmin:tl,onToggleVisible:e=>{U(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},onToggleActive:(e,t)=>tU(e,{isActive:t}),onApiTest:ez,onClaudeSettings:eB,onOpenCodeSettings:eY,onCodexSettings:eW,onQwenSettings:eV,onRename:(e,t)=>{let s=prompt("T\xean API key mới",t||"");s?.trim()&&tU(e,{name:s.trim()})},onRotate:e=>{e?.id&&z({title:"Đổi API key",message:"Hệ thống sẽ tạo chuỗi API key mới cho record n\xe0y v\xe0 giữ nguy\xean t\xean, owner, model, policy. Key cũ sẽ hết hiệu lực ngay sau khi đổi.",onConfirm:async()=>{z(null),S("");let t=await fetch(`/api/keys/${e.id}/rotate`,{method:"POST"}),s=await t.json().catch(()=>({}));if(!t.ok)return void S(s.error||"Kh\xf4ng đổi được API key");let n=s.rotatedKey||s.key?.key||"";n&&R(n),await tE()}})},onEditModels:e=>{tl&&(eN(e),ew(c(e.allowedModels)),tK())},onEditPolicy:e=>{tl&&(eS(e),eO(g(e.limits)?b(e.limits):i))},onAssignOwner:(e,t)=>{if(!tl)return;let s=prompt("G\xe1n owner username/email",t||tr||"");null!==s&&tU(e,{ownerUser:o(s)})},onDelete:e=>{z({title:"X\xf3a API Key",message:"Bạn chắc chắn muốn x\xf3a API key n\xe0y? Thao t\xe1c n\xe0y kh\xf4ng thể ho\xe0n t\xe1c.",onConfirm:async()=>{z(null),(await fetch(`/api/keys/${e}`,{method:"DELETE"})).ok&&await tE()}})}}),(0,n.jsx)(C,{pagination:e6,pageSize:e5,onPageChange:e4,onPageSizeChange:e=>{e8(e),e4(1)},loading:y})]})}),(0,n.jsx)(l.aF,{isOpen:I,onClose:()=>O(!1),title:"Tạo API Key",size:"lg",children:(0,n.jsxs)("div",{className:"space-y-4",children:[0===X.length?(0,n.jsx)("div",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-3 text-sm text-red-600",children:"Admin cần cấu h\xecnh default models trước khi tạo API key."}):tc?(0,n.jsxs)("div",{className:"rounded-xl border border-red-500/30 bg-red-500/10 p-3 text-sm text-red-600",children:["Bạn đ\xe3 đạt giới hạn ",ta," API keys. H\xe3y x\xf3a bớt key cũ trước khi tạo key mới."]}):(0,n.jsxs)("div",{className:"text-sm text-text-muted",children:["Key n\xe0y sẽ được tạo với quyền d\xf9ng default models v\xe0 default policy đang cấu h\xecnh trong Dashboard.",(0,n.jsx)(f,{models:X})]}),(0,n.jsxs)("label",{className:"block",children:[(0,n.jsx)("span",{className:"mb-1 block text-xs font-medium text-text-muted",children:"T\xean API key"}),(0,n.jsx)("input",{value:M,onChange:e=>$(e.target.value),placeholder:"VD: VSCode, LibreChat, team-user",className:"w-full rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:border-primary"})]}),tl?(0,n.jsxs)("div",{className:"space-y-3 rounded-xl border border-border p-3",children:[(0,n.jsx)("div",{className:"text-sm font-medium",children:"Owner user"}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)("input",{value:H,onChange:e=>Y(e.target.value),placeholder:"Nhập từ kh\xf3a rồi bấm Tải",className:"min-w-0 flex-1 rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:border-primary"}),(0,n.jsx)(l.$n,{variant:"outline",onClick:()=>t_(H),disabled:J,children:J?"Đang tải":"Tải LDAP"})]}),(0,n.jsxs)("select",{value:T,onChange:e=>E(e.target.value),className:"w-full rounded-xl border border-border bg-background px-3 py-2 text-sm text-text-main outline-none focus:border-primary",children:[(0,n.jsxs)("option",{value:tr||"",children:["G\xe1n cho t\xf4i (",tr||"local",")"]}),tO.map(e=>(0,n.jsx)("option",{value:e.id,children:e.label},e.id))]}),(0,n.jsx)("input",{value:K,onChange:e=>_(e.target.value),placeholder:"username hoặc email, kh\xf4ng bắt buộc",className:"w-full rounded-xl border border-border bg-background px-3 py-2 text-sm outline-none focus:border-primary"}),(0,n.jsx)("p",{className:"text-xs text-text-muted",children:"LDAP kh\xf4ng tự tải khi mở trang để giảm thời gian load. C\xf3 thể nhập owner thủ c\xf4ng hoặc nhập từ kh\xf3a rồi bấm Tải LDAP."})]}):(0,n.jsxs)("p",{className:"rounded-xl border border-border bg-surface p-3 text-sm text-text-muted",children:["Owner: ",tr||"user hiện tại"]}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:()=>O(!1),children:"Hủy"}),(0,n.jsx)(l.$n,{onClick:tD,disabled:t$,children:Q?"Đang tạo...":"Tạo"})]})]})}),(0,n.jsx)(l.aF,{isOpen:!!eq,onClose:()=>ez(null),title:"API Test bằng curl Windows",size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsx)("p",{className:"text-sm text-text-muted",children:"Lệnh dưới đ\xe2y gọi thử endpoint Chat Completions bằng API key đang chọn v\xe0 đ\xe3 nh\xfang sẵn Bearer token."}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"API Key"}),(0,n.jsx)("div",{className:"mt-1 text-sm",children:eq?.name||"API Key"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Endpoint"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tm})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Model test"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:th})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"Lệnh curl cho Windows CMD"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tb})]}),(0,n.jsx)("p",{className:"text-xs text-text-muted",children:"D\xe1n lệnh v\xe0o CMD hoặc Windows Terminal để test nhanh. Nếu domain dashboard chạy sau reverse proxy, endpoint sẽ d\xf9ng đ\xfang domain đang mở tr\xean tr\xecnh duyệt."}),(0,n.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:()=>ez(null),children:"Đ\xf3ng"}),(0,n.jsx)(l.$n,{onClick:()=>te(tb,`api-test-curl-${eq?.id||"current"}`),children:e9===`api-test-curl-${eq?.id||"current"}`?"Đ\xe3 copy":"Copy lệnh curl"})]})]})}),(0,n.jsx)(l.aF,{isOpen:!!eF,onClose:()=>eB(null),title:"Claude Code Settings",size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("p",{className:"text-sm text-text-muted",children:["Copy nội dung JSON dưới đ\xe2y v\xe0o file ",(0,n.jsx)("span",{className:"font-mono",children:"%USERPROFILE%\\.claude\\settings.json"})," để Claude Code gọi qua gateway n\xe0y. Model coding d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tf.codingModel}),"; model fast d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tf.fastModel}),"."]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"API Key"}),(0,n.jsx)("div",{className:"mt-1 text-sm",children:eF?.name||"API Key"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Base URL"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tx})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Model"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tf.codingModel})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"settings.json"}),(0,n.jsx)("pre",{className:"max-h-[420px] overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tj})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"C\xe0i v\xe0 chạy Claude Code tr\xean Windows PowerShell"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:ty})]}),(0,n.jsx)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 p-3 text-xs text-amber-700 dark:text-amber-300",children:"Lưu \xfd: chạy Claude Code trong thư mục project, kh\xf4ng chạy trong C:\\WINDOWS\\system32. Nếu d\xf9ng model fast ri\xeang như programmer-fast th\xec API key n\xe0y cũng phải được ph\xe9p d\xf9ng model đ\xf3 trong cột Model."}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:()=>eB(null),children:"Đ\xf3ng"}),(0,n.jsx)(l.$n,{variant:"outline",onClick:()=>te(ty,`claude-code-help-${eF?.id||"current"}`),children:e9===`claude-code-help-${eF?.id||"current"}`?"Đ\xe3 copy hướng dẫn":"Copy hướng dẫn"}),(0,n.jsx)(l.$n,{onClick:()=>te(tj,`claude-code-settings-${eF?.id||"current"}`),children:e9===`claude-code-settings-${eF?.id||"current"}`?"Đ\xe3 copy settings":"Copy settings.json"})]})]})}),(0,n.jsx)(l.aF,{isOpen:!!eH,onClose:()=>eY(null),title:"OpenCode Settings",size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("p",{className:"text-sm text-text-muted",children:["Copy JSON dưới đ\xe2y v\xe0o file ",(0,n.jsx)("span",{className:"font-mono",children:"%APPDATA%\\opencode\\opencode.json"})," hoặc ",(0,n.jsx)("span",{className:"font-mono",children:"opencode.json"})," trong project. Model ch\xednh d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tv.codingModel}),"; explorer/fast d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tv.fastModel}),"."]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"API Key"}),(0,n.jsx)("div",{className:"mt-1 text-sm",children:eH?.name||"API Key"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Base URL"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tx})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Model"}),(0,n.jsxs)("div",{className:"mt-1 break-all font-mono text-sm",children:["bluerouter/",tv.codingModel]})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"opencode.json"}),(0,n.jsx)("pre",{className:"max-h-[420px] overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tN})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"C\xe0i v\xe0 chạy OpenCode tr\xean Windows PowerShell"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tk})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 p-3 text-xs text-amber-700 dark:text-amber-300",children:["Lưu \xfd: API key n\xe0y cần được ph\xe9p gọi cả ",tv.codingModel," v\xe0 ",tv.fastModel,". Nếu OpenCode đang d\xf9ng đường dẫn config kh\xe1c, c\xf3 thể đặt file opencode.json ngay trong thư mục project."]}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:()=>eY(null),children:"Đ\xf3ng"}),(0,n.jsx)(l.$n,{variant:"outline",onClick:()=>te(tk,`opencode-help-${eH?.id||"current"}`),children:e9===`opencode-help-${eH?.id||"current"}`?"Đ\xe3 copy hướng dẫn":"Copy hướng dẫn"}),(0,n.jsx)(l.$n,{onClick:()=>te(tN,`opencode-settings-${eH?.id||"current"}`),children:e9===`opencode-settings-${eH?.id||"current"}`?"Đ\xe3 copy settings":"Copy opencode.json"})]})]})}),(0,n.jsx)(l.aF,{isOpen:!!eJ,onClose:()=>eW(null),title:"Codex Settings",size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("p",{className:"text-sm text-text-muted",children:["Copy TOML dưới đ\xe2y v\xe0o file ",(0,n.jsx)("span",{className:"font-mono",children:"%USERPROFILE%\\.codex\\config.toml"}),". API key được set bằng biến m\xf4i trường ",(0,n.jsx)("span",{className:"font-mono",children:"OPENAI_API_KEY"}),". Model ch\xednh d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tw.codingModel}),"; profile fast d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tw.fastModel}),"."]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"API Key"}),(0,n.jsx)("div",{className:"mt-1 text-sm",children:eJ?.name||"API Key"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Base URL"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tx})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Model"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tw.codingModel})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"config.toml"}),(0,n.jsx)("pre",{className:"max-h-[420px] overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tC})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"C\xe0i v\xe0 chạy Codex tr\xean Windows PowerShell"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tP})]}),(0,n.jsx)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 p-3 text-xs text-amber-700 dark:text-amber-300",children:"Lưu \xfd: mở terminal mới sau khi chạy setx để biến OPENAI_API_KEY c\xf3 hiệu lực. Codex d\xf9ng OpenAI-compatible endpoint của BlueRouter."}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:()=>eW(null),children:"Đ\xf3ng"}),(0,n.jsx)(l.$n,{variant:"outline",onClick:()=>te(tP,`codex-help-${eJ?.id||"current"}`),children:e9===`codex-help-${eJ?.id||"current"}`?"Đ\xe3 copy hướng dẫn":"Copy hướng dẫn"}),(0,n.jsx)(l.$n,{onClick:()=>te(tC,`codex-settings-${eJ?.id||"current"}`),children:e9===`codex-settings-${eJ?.id||"current"}`?"Đ\xe3 copy settings":"Copy config.toml"})]})]})}),(0,n.jsx)(l.aF,{isOpen:!!eQ,onClose:()=>eV(null),title:"Qwen Code Settings",size:"xl",children:(0,n.jsxs)("div",{className:"space-y-4",children:[(0,n.jsxs)("p",{className:"text-sm text-text-muted",children:["Copy JSON dưới đ\xe2y v\xe0o file ",(0,n.jsx)("span",{className:"font-mono",children:"%USERPROFILE%\\.qwen\\settings.json"})," để Qwen Code gọi qua OpenAI-compatible endpoint của BlueRouter. Model ch\xednh d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tA.codingModel}),"; model fast d\xf9ng ",(0,n.jsx)("span",{className:"font-mono",children:tA.fastModel}),"."]}),(0,n.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"API Key"}),(0,n.jsx)("div",{className:"mt-1 text-sm",children:eQ?.name||"API Key"})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Base URL"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tx})]}),(0,n.jsxs)("div",{className:"rounded-xl border border-border bg-surface p-3",children:[(0,n.jsx)("div",{className:"text-xs text-text-muted",children:"Model"}),(0,n.jsx)("div",{className:"mt-1 break-all font-mono text-sm",children:tA.codingModel})]})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"settings.json"}),(0,n.jsx)("pre",{className:"max-h-[420px] overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tS})]}),(0,n.jsxs)("div",{children:[(0,n.jsx)("div",{className:"mb-1 text-xs font-medium text-text-muted",children:"C\xe0i v\xe0 chạy Qwen Code tr\xean Windows PowerShell"}),(0,n.jsx)("pre",{className:"overflow-auto rounded-xl border border-border bg-surface p-3 text-xs",children:tI})]}),(0,n.jsx)("div",{className:"rounded-xl border border-amber-500/30 bg-amber-500/10 p-3 text-xs text-amber-700 dark:text-amber-300",children:"Lưu \xfd: mở terminal mới sau khi chạy setx để biến OPENAI_API_KEY/OPENAI_BASE_URL/OPENAI_MODEL c\xf3 hiệu lực. Qwen Code hỗ trợ OpenAI-compatible provider n\xean d\xf9ng tốt với BlueRouter."}),(0,n.jsxs)("div",{className:"flex flex-wrap justify-end gap-2",children:[(0,n.jsx)(l.$n,{variant:"ghost",onClick:()=>eV(null),children:"Đ\xf3ng"}),(0,n.jsx)(l.$n,{variant:"outline",onClick:()=>te(tI,`qwen-code-help-${eQ?.id||"current"}`),children:e9===`qwen-code-help-${eQ?.id||"current"}`?"Đ\xe3 copy hướng dẫn":"Copy hướng dẫn"}),(0,n.jsx)(l.$n,{onClick:()=>te(tS,`qwen-code-settings-${eQ?.id||"current"}`),children:e9===`qwen-code-settings-${eQ?.id||"current"}`?"Đ\xe3 copy settings":"Copy settings.json"})]})]})}),(0,n.jsx)(N,{open:!!ev,keyName:ev?.name,models:ek,setModels:ew,activeProviders:eu,modelAliases:ep,onClose:()=>{eN(null),ew([])},onSave:tq,saving:eC}),(0,n.jsx)(v,{isOpen:eo,keyName:"Default cho API key mới",policy:el,setPolicy:ea,onClose:()=>{ec(!1),ea(en||i)},onSave:tR,saving:ed}),(0,n.jsx)(v,{isOpen:!!eA,keyName:eA?.name,policy:eI,setPolicy:eO,onClose:()=>{eS(null),eO(i)},onSave:tz,onClear:tF,saving:eM}),(0,n.jsx)(l.rq,{isOpen:ex,onClose:()=>em(!1),onSelect:e=>{let t=String(e?.value||e?.name||e||"").trim();t&&ee(e=>c([...e,t]))},onDeselect:e=>{let t=String(e?.value||e?.name||e||"").trim();t&&ee(e=>c(e).filter(e=>e!==t))},activeProviders:eu,modelAliases:ep,title:"Chọn default models cho API key",addedModelValues:G,closeOnSelect:!1}),q?(0,n.jsx)(l.uo,{isOpen:!!q,onClose:()=>z(null),onConfirm:q.onConfirm,title:q.title,message:q.message,confirmText:"X\xf3a",cancelText:"Hủy",variant:"danger"}):null]})}},84223:(e,t,s)=>{Promise.resolve().then(s.bind(s,56484))}},e=>{e.O(0,[2574,3862,2649,620,5497,8441,3794,7358],()=>e(e.s=84223)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3554],{22843:(e,t,a)=>{Promise.resolve().then(a.bind(a,85309))},85309:(e,t,a)=>{"use strict";a.d(t,{default:()=>v});var s=a(95155),l=a(12115),r=a(98500),i=a.n(r),n=a(35497),o=a(3534),c=a(28777),d=a(38719);let u=a(41463).env.NEXT_PUBLIC_CLOUD_URL;function v({toolId:e,machineId:t}){let a=o.dM[e],[r,x]=(0,l.useState)([]),[h,p]=(0,l.useState)(!0),[b,f]=(0,l.useState)({}),[m,E]=(0,l.useState)(!1),[j,P]=(0,l.useState)(!1),[k,w]=(0,l.useState)(""),[g,N]=(0,l.useState)(!1),[S,_]=(0,l.useState)(""),[A,U]=(0,l.useState)([]);(0,l.useEffect)(()=>{let e=!0;return(async()=>{try{let[t,a,s,l]=await Promise.all([fetch("/api/providers"),fetch("/api/settings"),fetch("/api/tunnel/status"),fetch("/api/keys")]);if(!e)return;if(t.ok){let e=await t.json();x(e.connections||[])}if(a.ok){let e=await a.json();E(e.cloudEnabled||!1)}if(s.ok){let e=await s.json();P(!!(e.tunnel?.enabled||e.tunnel?.settingsEnabled)),w(e.tunnel?.publicUrl||""),N(!!(e.tailscale?.enabled||e.tailscale?.settingsEnabled)),_(e.tailscale?.tunnelUrl||"")}if(l.ok){let e=await l.json();U(e.keys||[])}}catch(e){console.log("Error loading tool data:",e)}finally{e&&p(!1)}})(),()=>{e=!1}},[]);let y=()=>r.filter(e=>!1!==e.isActive),C=(0,l.useCallback)((e,t,a)=>{f(s=>s[e]?.[t]===a?s:{...s,[e]:{...s[e],[t]:a}})},[]);return(0,s.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-4 px-1 sm:px-0",children:[(0,s.jsxs)(i(),{href:"/dashboard/cli-tools",className:"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary w-fit",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"arrow_back"}),"Back to CLI Tools"]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("h1",{className:"text-xl font-semibold text-text-main sm:text-2xl",children:a.name}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:a.description})]}),h?(0,s.jsx)(n.Qv,{}):(()=>{let t,l,r,i=(t=y(),l=[],r=new Set,t.forEach(e=>{let t=c.Xg[e.provider]||e.provider;(0,c.KC)(e.provider).forEach(a=>{let s=`${t}/${a.id}`;r.has(s)||(r.add(s),l.push({value:s,label:`${t}/${a.id}`,provider:e.provider,alias:t,connectionName:e.name,modelId:a.id}))})}),l).length>0,n={tool:a,isExpanded:!0,onToggle:()=>{},baseUrl:j&&k?k:m&&u?u:window.location.origin,apiKeys:A,tunnelEnabled:j,tunnelPublicUrl:k,tailscaleEnabled:g,tailscaleUrl:S};switch(e){case"claude":return(0,s.jsx)(d.Tk,{...n,activeProviders:y(),modelMappings:b[e]||{},onModelMappingChange:(t,a)=>C(e,t,a),hasActiveProviders:i,cloudEnabled:m});case"codex":return(0,s.jsx)(d.Ah,{...n,activeProviders:y(),cloudEnabled:m});case"opencode":return(0,s.jsx)(d.qO,{...n,activeProviders:y(),cloudEnabled:m});case"cowork":return(0,s.jsx)(d.Q6,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m,cloudUrl:u,tunnelEnabled:j,tunnelPublicUrl:k,tailscaleEnabled:g,tailscaleUrl:S});case"droid":return(0,s.jsx)(d.ZM,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"openclaw":return(0,s.jsx)(d.yZ,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"hermes":return(0,s.jsx)(d.RF,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"copilot":return(0,s.jsx)(d.h1,{...n,activeProviders:y(),cloudEnabled:m});case"cline":return(0,s.jsx)(d.aG,{...n,activeProviders:y(),cloudEnabled:m});case"kilo":return(0,s.jsx)(d.c9,{...n,activeProviders:y(),cloudEnabled:m});case"deepseek-tui":return(0,s.jsx)(d.lF,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"jcode":return(0,s.jsx)(d.mW,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});default:return(0,s.jsx)(d.a7,{toolId:e,...n,activeProviders:y(),cloudEnabled:m,tunnelEnabled:j})}})()]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4404,8441,3794,7358],()=>e(e.s=22843)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3554],{22843:(e,t,a)=>{Promise.resolve().then(a.bind(a,85309))},85309:(e,t,a)=>{"use strict";a.d(t,{default:()=>v});var s=a(95155),l=a(12115),r=a(98500),i=a.n(r),n=a(35497),c=a(3534),o=a(28777),d=a(61082);let u=a(41463).env.NEXT_PUBLIC_CLOUD_URL;function v({toolId:e,machineId:t}){let a=c.dM[e],[r,x]=(0,l.useState)([]),[h,b]=(0,l.useState)(!0),[p,f]=(0,l.useState)({}),[m,E]=(0,l.useState)(!1),[j,P]=(0,l.useState)(!1),[w,k]=(0,l.useState)(""),[g,N]=(0,l.useState)(!1),[S,_]=(0,l.useState)(""),[A,U]=(0,l.useState)([]);(0,l.useEffect)(()=>{let e=!0;return(async()=>{try{let[t,a,s,l]=await Promise.all([fetch("/api/providers"),fetch("/api/settings"),fetch("/api/tunnel/status"),fetch("/api/keys")]);if(!e)return;if(t.ok){let e=await t.json();x(e.connections||[])}if(a.ok){let e=await a.json();E(e.cloudEnabled||!1)}if(s.ok){let e=await s.json();P(!!(e.tunnel?.enabled||e.tunnel?.settingsEnabled)),k(e.tunnel?.publicUrl||""),N(!!(e.tailscale?.enabled||e.tailscale?.settingsEnabled)),_(e.tailscale?.tunnelUrl||"")}if(l.ok){let e=await l.json();U(e.keys||[])}}catch(e){console.log("Error loading tool data:",e)}finally{e&&b(!1)}})(),()=>{e=!1}},[]);let y=()=>r.filter(e=>!1!==e.isActive),C=(0,l.useCallback)((e,t,a)=>{f(s=>s[e]?.[t]===a?s:{...s,[e]:{...s[e],[t]:a}})},[]);return(0,s.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-4 px-1 sm:px-0",children:[(0,s.jsxs)(i(),{href:"/dashboard/cli-tools",className:"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary w-fit",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"arrow_back"}),"Back to CLI Tools"]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("h1",{className:"text-xl font-semibold text-text-main sm:text-2xl",children:a.name}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:a.description})]}),h?(0,s.jsx)(n.Qv,{}):(()=>{let t,l,r,i=(t=y(),l=[],r=new Set,t.forEach(e=>{let t=o.Xg[e.provider]||e.provider;(0,o.KC)(e.provider).forEach(a=>{let s=`${t}/${a.id}`;r.has(s)||(r.add(s),l.push({value:s,label:`${t}/${a.id}`,provider:e.provider,alias:t,connectionName:e.name,modelId:a.id}))})}),l).length>0,n={tool:a,isExpanded:!0,onToggle:()=>{},baseUrl:j&&w?w:m&&u?u:window.location.origin,apiKeys:A,tunnelEnabled:j,tunnelPublicUrl:w,tailscaleEnabled:g,tailscaleUrl:S};switch(e){case"claude":return(0,s.jsx)(d.Tk,{...n,activeProviders:y(),modelMappings:p[e]||{},onModelMappingChange:(t,a)=>C(e,t,a),hasActiveProviders:i,cloudEnabled:m});case"codex":return(0,s.jsx)(d.Ah,{...n,activeProviders:y(),cloudEnabled:m});case"opencode":return(0,s.jsx)(d.qO,{...n,activeProviders:y(),cloudEnabled:m});case"cowork":return(0,s.jsx)(d.Q6,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m,cloudUrl:u,tunnelEnabled:j,tunnelPublicUrl:w,tailscaleEnabled:g,tailscaleUrl:S});case"droid":return(0,s.jsx)(d.ZM,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"openclaw":return(0,s.jsx)(d.yZ,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"hermes":return(0,s.jsx)(d.RF,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"copilot":return(0,s.jsx)(d.h1,{...n,activeProviders:y(),cloudEnabled:m});case"cline":return(0,s.jsx)(d.aG,{...n,activeProviders:y(),cloudEnabled:m});case"kilo":return(0,s.jsx)(d.c9,{...n,activeProviders:y(),cloudEnabled:m});case"qwen":return(0,s.jsx)(d.aV,{...n,activeProviders:y(),cloudEnabled:m});case"deepseek-tui":return(0,s.jsx)(d.lF,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});case"jcode":return(0,s.jsx)(d.mW,{...n,activeProviders:y(),hasActiveProviders:i,cloudEnabled:m});default:return(0,s.jsx)(d.a7,{toolId:e,...n,activeProviders:y(),cloudEnabled:m,tunnelEnabled:j})}})()]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4525,8441,3794,7358],()=>e(e.s=22843)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2326],{4987:(e,s,l)=>{Promise.resolve().then(l.bind(l,53501))},53501:(e,s,l)=>{"use strict";l.d(s,{default:()=>m});var t=l(95155),a=l(12115),r=l(35497),i=l(3534),c=l(38719),n=l(98500),o=l.n(n),d=l(5772);function x({toolId:e,tool:s,status:l}){let a=l?l.installed?l.hasBluerouter?{label:"Connected",cls:"bg-green-500/10 text-green-600 dark:text-green-400"}:{label:"Not configured",cls:"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400"}:{label:"Not installed",cls:"bg-red-500/10 text-red-600 dark:text-red-400"}:{label:"Unknown",cls:"bg-gray-500/10 text-gray-500"};return(0,t.jsx)(o(),{href:`/dashboard/cli-tools/${e}`,className:"block",children:(0,t.jsx)(r.Zp,{padding:"sm",className:"h-full overflow-hidden hover:border-primary/50 transition-colors cursor-pointer",children:(0,t.jsxs)("div",{className:"flex h-full flex-col gap-2",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0",children:s.image?(0,t.jsx)(d.default,{src:s.image,alt:s.name,width:32,height:32,className:"size-8 object-contain rounded-lg",sizes:"32px",onError:e=>{e.target.style.display="none"}}):s.icon?(0,t.jsx)("span",{className:"material-symbols-outlined text-[28px]",style:{color:s.color},children:s.icon}):null}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"font-medium text-sm truncate",children:s.name}),(0,t.jsx)("span",{className:`inline-block mt-0.5 px-1.5 py-0.5 text-[10px] font-medium rounded-full ${a.cls}`,children:a.label})]}),(0,t.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[18px] shrink-0",children:"chevron_right"})]}),(0,t.jsx)("p",{className:"text-xs text-text-muted line-clamp-2",children:s.description})]})})})}function m({machineId:e}){let[s,l]=(0,a.useState)(!0),[n,o]=(0,a.useState)({});if((0,a.useEffect)(()=>{let e=!0;return(async()=>{try{let s=await fetch("/api/cli-tools/all-statuses");s.ok&&e&&o(await s.json())}catch(e){console.log("Error fetching tool statuses:",e)}finally{e&&l(!1)}})(),()=>{e=!1}},[]),s)return(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:[(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{})]});let d=Object.entries(i.dM),g=Object.entries(i.wn);return(0,t.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-6 px-1 sm:px-0",children:[(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:d.map(([e,s])=>(0,t.jsx)(x,{toolId:e,tool:s,status:n[e]},e))}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("span",{className:"material-symbols-outlined text-[18px] text-primary",children:"security"}),(0,t.jsx)("h2",{className:"text-sm font-semibold text-text-main",children:"MITM Tools"})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:g.map(([e,s])=>(0,t.jsx)(c.gY,{tool:s},e))})]})]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4404,8441,3794,7358],()=>e(e.s=4987)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2326],{4987:(e,s,l)=>{Promise.resolve().then(l.bind(l,53501))},53501:(e,s,l)=>{"use strict";l.d(s,{default:()=>m});var t=l(95155),a=l(12115),r=l(35497),i=l(3534),c=l(61082),n=l(98500),o=l.n(n),d=l(5772);function x({toolId:e,tool:s,status:l}){let a=l?l.installed?l.hasBluerouter?{label:"Connected",cls:"bg-green-500/10 text-green-600 dark:text-green-400"}:{label:"Not configured",cls:"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400"}:{label:"Not installed",cls:"bg-red-500/10 text-red-600 dark:text-red-400"}:{label:"Unknown",cls:"bg-gray-500/10 text-gray-500"};return(0,t.jsx)(o(),{href:`/dashboard/cli-tools/${e}`,className:"block",children:(0,t.jsx)(r.Zp,{padding:"sm",className:"h-full overflow-hidden hover:border-primary/50 transition-colors cursor-pointer",children:(0,t.jsxs)("div",{className:"flex h-full flex-col gap-2",children:[(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0",children:s.image?(0,t.jsx)(d.default,{src:s.image,alt:s.name,width:32,height:32,className:"size-8 object-contain rounded-lg",sizes:"32px",onError:e=>{e.target.style.display="none"}}):s.icon?(0,t.jsx)("span",{className:"material-symbols-outlined text-[28px]",style:{color:s.color},children:s.icon}):null}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"font-medium text-sm truncate",children:s.name}),(0,t.jsx)("span",{className:`inline-block mt-0.5 px-1.5 py-0.5 text-[10px] font-medium rounded-full ${a.cls}`,children:a.label})]}),(0,t.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[18px] shrink-0",children:"chevron_right"})]}),(0,t.jsx)("p",{className:"text-xs text-text-muted line-clamp-2",children:s.description})]})})})}function m({machineId:e}){let[s,l]=(0,a.useState)(!0),[n,o]=(0,a.useState)({});if((0,a.useEffect)(()=>{let e=!0;return(async()=>{try{let s=await fetch("/api/cli-tools/all-statuses");s.ok&&e&&o(await s.json())}catch(e){console.log("Error fetching tool statuses:",e)}finally{e&&l(!1)}})(),()=>{e=!1}},[]),s)return(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:[(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{})]});let d=Object.entries(i.dM),g=Object.entries(i.wn);return(0,t.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-6 px-1 sm:px-0",children:[(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:d.map(([e,s])=>(0,t.jsx)(x,{toolId:e,tool:s,status:n[e]},e))}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("span",{className:"material-symbols-outlined text-[18px] text-primary",children:"security"}),(0,t.jsx)("h2",{className:"text-sm font-semibold text-text-main",children:"MITM Tools"})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:g.map(([e,s])=>(0,t.jsx)(c.gY,{tool:s},e))})]})]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4525,8441,3794,7358],()=>e(e.s=4987)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6607],{2276:(e,s,a)=>{Promise.resolve().then(a.bind(a,55987))},55987:(e,s,a)=>{"use strict";a.d(s,{default:()=>x});var t=a(95155),l=a(12115),r=a(3534),o=a(28777),n=a(52679),i=a(38719),d=a(35497);let c={enabled:!1,type:"mysql",host:"",port:"",database:"",username:"",password:"",ssl:!1,createDatabase:!1,logClientRequest:!0,logSourceRequest:!0,logTargetRequest:!0,logProviderResponse:!1,logErrors:!0,retentionDays:30};function g({label:e,value:s,onChange:a,type:l="text",placeholder:r="",disabled:o=!1}){return(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)("span",{className:"text-text-muted",children:e}),(0,t.jsx)("input",{type:l,value:s||"",placeholder:r,disabled:o,onChange:e=>a(e.target.value),className:"w-full rounded border border-border bg-surface px-2 py-1.5 text-xs text-text-main focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-50"})]})}function u({label:e,checked:s,onChange:a,disabled:l=!1}){return(0,t.jsxs)("label",{className:"flex items-center gap-2 text-xs text-text-main",children:[(0,t.jsx)("input",{type:"checkbox",checked:!!s,disabled:l,onChange:e=>a(e.target.checked)}),e]})}function p(){let[e,s]=(0,l.useState)(c),[a,r]=(0,l.useState)(!1),[o,n]=(0,l.useState)(null),[i,p]=(0,l.useState)(null),x=e=>s(s=>({...s,...e})),b=async()=>{r(!0),p(null);try{let e=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db"),a=await e.json();if(!e.ok)throw Error(a.error||"Failed to load config");s({...c,...a.config||{}})}catch(e){p(e.message||"Failed to load config")}finally{r(!1)}};(0,l.useEffect)(()=>{b()},[]);let h=async()=>{r(!0),p(null),n(null);try{let a=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({config:e})}),t=await a.json();if(!a.ok)throw Error(t.error||"Failed to save config");s({...c,...t.config||{}}),n("Saved")}catch(e){p(e.message||"Failed to save config")}finally{r(!1)}},m=async s=>{r(!0),p(null),n(null);try{let a=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:s,config:e})}),t=await a.json();if(!a.ok)throw Error(t.error||"Action failed");n(t.message||t.init?.message||"OK")}catch(e){p(e.message||"Action failed")}finally{r(!1)}},y="postgres"===e.type||"mysql"===e.type;return(0,t.jsx)(d.Zp,{title:"Prompt Log Database",subtitle:"Store MITM/Copilot prompt logs in a queryable database",icon:"database",children:(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(d.Ex,{variant:e.enabled?"success":"default",children:e.enabled?"Enabled":"Disabled"}),(0,t.jsx)("span",{className:"text-xs text-text-muted",children:"File logs still remain available under DATA_DIR/logs/requests."})]}),(0,t.jsx)("div",{className:"rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-3 text-xs text-yellow-700 dark:text-yellow-300",children:'Prompt logs may contain source code, selected code, internal URLs, user prompts, and provider responses. Checked stages store full raw JSON; prompt/response text columns keep only short previews. Per-combo "hide content" still redacts raw JSON.'}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)("span",{className:"text-text-muted",children:"Database type"}),(0,t.jsxs)("select",{value:e.type,disabled:a,onChange:s=>{let a=s.target.value;x({type:a,port:"postgres"===a?e.port||"5432":"mysql"===a?e.port||"3306":e.port})},className:"w-full rounded border border-border bg-surface px-2 py-1.5 text-xs text-text-main focus:outline-none focus:ring-1 focus:ring-primary/50",children:[(0,t.jsx)("option",{value:"mysql",children:"MySQL / MariaDB"}),(0,t.jsx)("option",{value:"postgres",children:"PostgreSQL"})]})]}),(0,t.jsx)(g,{label:"Retention days",type:"number",value:String(e.retentionDays||30),onChange:e=>x({retentionDays:Number(e)||30}),disabled:a})]}),y&&(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)(g,{label:"Host",value:e.host,placeholder:"127.0.0.1",onChange:e=>x({host:e}),disabled:a}),(0,t.jsx)(g,{label:"Port",value:e.port,placeholder:"postgres"===e.type?"5432":"3306",onChange:e=>x({port:e}),disabled:a}),(0,t.jsx)(g,{label:"Database",value:e.database,placeholder:"bluerouter_logs",onChange:e=>x({database:e}),disabled:a}),(0,t.jsx)(g,{label:"Username",value:e.username,placeholder:"bluerouter",onChange:e=>x({username:e}),disabled:a}),(0,t.jsx)(g,{label:"Password",type:"password",value:e.password,placeholder:"Leave as ******** to keep existing password",onChange:e=>x({password:e}),disabled:a}),(0,t.jsxs)("div",{className:"flex flex-col justify-end gap-2",children:[(0,t.jsx)(u,{label:"Use SSL",checked:e.ssl,onChange:e=>x({ssl:e}),disabled:a}),(0,t.jsx)(u,{label:"Create database if missing",checked:e.createDatabase,onChange:e=>x({createDatabase:e}),disabled:a})]})]}),(0,t.jsxs)("div",{className:"grid gap-2 rounded-lg border border-border bg-surface/40 p-3 md:grid-cols-2",children:[(0,t.jsx)(u,{label:"Enable database prompt logging",checked:e.enabled,onChange:e=>x({enabled:e}),disabled:a}),(0,t.jsx)(u,{label:"Log client request JSON",checked:e.logClientRequest,onChange:e=>x({logClientRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log normalized/source request JSON",checked:e.logSourceRequest,onChange:e=>x({logSourceRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log target/provider request JSON",checked:e.logTargetRequest,onChange:e=>x({logTargetRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log provider response JSON",checked:e.logProviderResponse,onChange:e=>x({logProviderResponse:e}),disabled:a}),(0,t.jsx)(u,{label:"Log errors",checked:e.logErrors,onChange:e=>x({logErrors:e}),disabled:a})]}),y&&(0,t.jsxs)("div",{className:"rounded-lg border border-blue-500/30 bg-blue-500/10 p-3 text-xs text-blue-700 dark:text-blue-300",children:["Prompt logs now support MySQL/MariaDB and PostgreSQL only. MySQL/MariaDB requires ",(0,t.jsx)("code",{children:"mysql2"}),"; PostgreSQL requires ",(0,t.jsx)("code",{children:"pg"}),"."]}),o&&(0,t.jsx)("div",{className:"rounded-lg border border-green-500/30 bg-green-500/10 p-2 text-xs text-green-600",children:o}),i&&(0,t.jsx)("div",{className:"rounded-lg border border-red-500/30 bg-red-500/10 p-2 text-xs text-red-500",children:i}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:b,loading:a,children:"Reload"}),(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:()=>m("test"),loading:a,children:"Test connection"}),(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:()=>m("init"),loading:a,children:"Initialize schema"}),(0,t.jsx)(d.$n,{size:"sm",onClick:h,loading:a,children:"Save"}),(0,t.jsx)(d.$n,{size:"sm",variant:"success",onClick:()=>m("save-and-init"),loading:a,children:"Save & initialize"})]})]})})}function x(){let[e,s]=(0,l.useState)([]),[a,d]=(0,l.useState)([]),[c,g]=(0,l.useState)({}),[u,x]=(0,l.useState)(!1),[b,h]=(0,l.useState)(null),[m,y]=(0,l.useState)({running:!1,certExists:!1,dnsStatus:{},hasCachedPassword:!1});(0,l.useEffect)(()=>{f(),v(),j(),w()},[]);let f=async()=>{try{let e=await fetch("/api/providers");if(e.ok){let a=await e.json();s(a.connections||[])}}catch{}},v=async()=>{try{let e=await fetch("/api/keys");if(e.ok){let s=await e.json();d(s.keys||[])}}catch{}},j=async()=>{try{let e=await fetch("/api/models/alias");if(e.ok){let s=await e.json();g(s.aliases||{})}}catch{}},w=async()=>{try{let e=await fetch("/api/settings");if(e.ok){let s=await e.json();x(s.cloudEnabled||!1)}}catch{}},S=()=>e.filter(e=>!1!==e.isActive),C=Object.entries(r.wn);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-4 text-sm text-yellow-700 dark:text-yellow-300",children:[(0,t.jsx)("span",{className:"material-symbols-rounded align-middle text-base",children:"warning"})," ","⚠️ MITM intercepts HTTPS traffic of IDE tools (Antigravity, GitHub Copilot, Kiro) via local CA to redirect requests to your providers. May violate ToS → account ban. Use at your own risk."]}),(0,t.jsx)(i.tA,{apiKeys:a,cloudEnabled:u,onStatusChange:y}),(0,t.jsx)(i.k0,{serverRunning:m.running,onChanged:e=>y(s=>({...s,certExists:e?.certExists??s.certExists}))}),(0,t.jsx)(p,{}),C.map(([e,s])=>(0,t.jsx)(i.kn,{tool:{...s,id:e},isExpanded:b===e,onToggle:()=>h(b===e?null:e),serverRunning:m.running,dnsActive:m.dnsStatus?.[e]||!1,hasCachedPassword:m.hasCachedPassword||!1,needsSudoPassword:!1!==m.needsSudoPassword,isWin:!0===m.isWin,apiKeys:a,activeProviders:S(),hasActiveProviders:S().some(e=>(0,o.KC)(e.provider).length>0||(0,n.mq)(e.provider)||(0,n.gb)(e.provider)),modelAliases:c,cloudEnabled:u,onDnsChange:e=>y(s=>({...s,dnsStatus:e.dnsStatus??s.dnsStatus}))},e))]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4404,8441,3794,7358],()=>e(e.s=2276)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6607],{2276:(e,s,a)=>{Promise.resolve().then(a.bind(a,55987))},55987:(e,s,a)=>{"use strict";a.d(s,{default:()=>x});var t=a(95155),l=a(12115),r=a(3534),o=a(28777),n=a(52679),i=a(61082),d=a(35497);let c={enabled:!1,type:"mysql",host:"",port:"",database:"",username:"",password:"",ssl:!1,createDatabase:!1,logClientRequest:!0,logSourceRequest:!0,logTargetRequest:!0,logProviderResponse:!1,logErrors:!0,retentionDays:30};function g({label:e,value:s,onChange:a,type:l="text",placeholder:r="",disabled:o=!1}){return(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)("span",{className:"text-text-muted",children:e}),(0,t.jsx)("input",{type:l,value:s||"",placeholder:r,disabled:o,onChange:e=>a(e.target.value),className:"w-full rounded border border-border bg-surface px-2 py-1.5 text-xs text-text-main focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-50"})]})}function u({label:e,checked:s,onChange:a,disabled:l=!1}){return(0,t.jsxs)("label",{className:"flex items-center gap-2 text-xs text-text-main",children:[(0,t.jsx)("input",{type:"checkbox",checked:!!s,disabled:l,onChange:e=>a(e.target.checked)}),e]})}function p(){let[e,s]=(0,l.useState)(c),[a,r]=(0,l.useState)(!1),[o,n]=(0,l.useState)(null),[i,p]=(0,l.useState)(null),x=e=>s(s=>({...s,...e})),b=async()=>{r(!0),p(null);try{let e=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db"),a=await e.json();if(!e.ok)throw Error(a.error||"Failed to load config");s({...c,...a.config||{}})}catch(e){p(e.message||"Failed to load config")}finally{r(!1)}};(0,l.useEffect)(()=>{b()},[]);let h=async()=>{r(!0),p(null),n(null);try{let a=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({config:e})}),t=await a.json();if(!a.ok)throw Error(t.error||"Failed to save config");s({...c,...t.config||{}}),n("Saved")}catch(e){p(e.message||"Failed to save config")}finally{r(!1)}},m=async s=>{r(!0),p(null),n(null);try{let a=await fetch("/api/cli-tools/antigravity-mitm/prompt-log-db",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:s,config:e})}),t=await a.json();if(!a.ok)throw Error(t.error||"Action failed");n(t.message||t.init?.message||"OK")}catch(e){p(e.message||"Action failed")}finally{r(!1)}},y="postgres"===e.type||"mysql"===e.type;return(0,t.jsx)(d.Zp,{title:"Prompt Log Database",subtitle:"Store MITM/Copilot prompt logs in a queryable database",icon:"database",children:(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(d.Ex,{variant:e.enabled?"success":"default",children:e.enabled?"Enabled":"Disabled"}),(0,t.jsx)("span",{className:"text-xs text-text-muted",children:"File logs still remain available under DATA_DIR/logs/requests."})]}),(0,t.jsx)("div",{className:"rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-3 text-xs text-yellow-700 dark:text-yellow-300",children:'Prompt logs may contain source code, selected code, internal URLs, user prompts, and provider responses. Checked stages store full raw JSON; prompt/response text columns keep only short previews. Per-combo "hide content" still redacts raw JSON.'}),(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsxs)("label",{className:"flex flex-col gap-1 text-xs",children:[(0,t.jsx)("span",{className:"text-text-muted",children:"Database type"}),(0,t.jsxs)("select",{value:e.type,disabled:a,onChange:s=>{let a=s.target.value;x({type:a,port:"postgres"===a?e.port||"5432":"mysql"===a?e.port||"3306":e.port})},className:"w-full rounded border border-border bg-surface px-2 py-1.5 text-xs text-text-main focus:outline-none focus:ring-1 focus:ring-primary/50",children:[(0,t.jsx)("option",{value:"mysql",children:"MySQL / MariaDB"}),(0,t.jsx)("option",{value:"postgres",children:"PostgreSQL"})]})]}),(0,t.jsx)(g,{label:"Retention days",type:"number",value:String(e.retentionDays||30),onChange:e=>x({retentionDays:Number(e)||30}),disabled:a})]}),y&&(0,t.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,t.jsx)(g,{label:"Host",value:e.host,placeholder:"127.0.0.1",onChange:e=>x({host:e}),disabled:a}),(0,t.jsx)(g,{label:"Port",value:e.port,placeholder:"postgres"===e.type?"5432":"3306",onChange:e=>x({port:e}),disabled:a}),(0,t.jsx)(g,{label:"Database",value:e.database,placeholder:"bluerouter_logs",onChange:e=>x({database:e}),disabled:a}),(0,t.jsx)(g,{label:"Username",value:e.username,placeholder:"bluerouter",onChange:e=>x({username:e}),disabled:a}),(0,t.jsx)(g,{label:"Password",type:"password",value:e.password,placeholder:"Leave as ******** to keep existing password",onChange:e=>x({password:e}),disabled:a}),(0,t.jsxs)("div",{className:"flex flex-col justify-end gap-2",children:[(0,t.jsx)(u,{label:"Use SSL",checked:e.ssl,onChange:e=>x({ssl:e}),disabled:a}),(0,t.jsx)(u,{label:"Create database if missing",checked:e.createDatabase,onChange:e=>x({createDatabase:e}),disabled:a})]})]}),(0,t.jsxs)("div",{className:"grid gap-2 rounded-lg border border-border bg-surface/40 p-3 md:grid-cols-2",children:[(0,t.jsx)(u,{label:"Enable database prompt logging",checked:e.enabled,onChange:e=>x({enabled:e}),disabled:a}),(0,t.jsx)(u,{label:"Log client request JSON",checked:e.logClientRequest,onChange:e=>x({logClientRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log normalized/source request JSON",checked:e.logSourceRequest,onChange:e=>x({logSourceRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log target/provider request JSON",checked:e.logTargetRequest,onChange:e=>x({logTargetRequest:e}),disabled:a}),(0,t.jsx)(u,{label:"Log provider response JSON",checked:e.logProviderResponse,onChange:e=>x({logProviderResponse:e}),disabled:a}),(0,t.jsx)(u,{label:"Log errors",checked:e.logErrors,onChange:e=>x({logErrors:e}),disabled:a})]}),y&&(0,t.jsxs)("div",{className:"rounded-lg border border-blue-500/30 bg-blue-500/10 p-3 text-xs text-blue-700 dark:text-blue-300",children:["Prompt logs now support MySQL/MariaDB and PostgreSQL only. MySQL/MariaDB requires ",(0,t.jsx)("code",{children:"mysql2"}),"; PostgreSQL requires ",(0,t.jsx)("code",{children:"pg"}),"."]}),o&&(0,t.jsx)("div",{className:"rounded-lg border border-green-500/30 bg-green-500/10 p-2 text-xs text-green-600",children:o}),i&&(0,t.jsx)("div",{className:"rounded-lg border border-red-500/30 bg-red-500/10 p-2 text-xs text-red-500",children:i}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:b,loading:a,children:"Reload"}),(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:()=>m("test"),loading:a,children:"Test connection"}),(0,t.jsx)(d.$n,{size:"sm",variant:"secondary",onClick:()=>m("init"),loading:a,children:"Initialize schema"}),(0,t.jsx)(d.$n,{size:"sm",onClick:h,loading:a,children:"Save"}),(0,t.jsx)(d.$n,{size:"sm",variant:"success",onClick:()=>m("save-and-init"),loading:a,children:"Save & initialize"})]})]})})}function x(){let[e,s]=(0,l.useState)([]),[a,d]=(0,l.useState)([]),[c,g]=(0,l.useState)({}),[u,x]=(0,l.useState)(!1),[b,h]=(0,l.useState)(null),[m,y]=(0,l.useState)({running:!1,certExists:!1,dnsStatus:{},hasCachedPassword:!1});(0,l.useEffect)(()=>{f(),v(),j(),w()},[]);let f=async()=>{try{let e=await fetch("/api/providers");if(e.ok){let a=await e.json();s(a.connections||[])}}catch{}},v=async()=>{try{let e=await fetch("/api/keys");if(e.ok){let s=await e.json();d(s.keys||[])}}catch{}},j=async()=>{try{let e=await fetch("/api/models/alias");if(e.ok){let s=await e.json();g(s.aliases||{})}}catch{}},w=async()=>{try{let e=await fetch("/api/settings");if(e.ok){let s=await e.json();x(s.cloudEnabled||!1)}}catch{}},S=()=>e.filter(e=>!1!==e.isActive),C=Object.entries(r.wn);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"rounded-lg border border-yellow-500/30 bg-yellow-500/10 p-4 text-sm text-yellow-700 dark:text-yellow-300",children:[(0,t.jsx)("span",{className:"material-symbols-rounded align-middle text-base",children:"warning"})," ","⚠️ MITM intercepts HTTPS traffic of IDE tools (Antigravity, GitHub Copilot, Kiro) via local CA to redirect requests to your providers. May violate ToS → account ban. Use at your own risk."]}),(0,t.jsx)(i.tA,{apiKeys:a,cloudEnabled:u,onStatusChange:y}),(0,t.jsx)(i.k0,{serverRunning:m.running,onChanged:e=>y(s=>({...s,certExists:e?.certExists??s.certExists}))}),(0,t.jsx)(p,{}),C.map(([e,s])=>(0,t.jsx)(i.kn,{tool:{...s,id:e},isExpanded:b===e,onToggle:()=>h(b===e?null:e),serverRunning:m.running,dnsActive:m.dnsStatus?.[e]||!1,hasCachedPassword:m.hasCachedPassword||!1,needsSudoPassword:!1!==m.needsSudoPassword,isWin:!0===m.isWin,apiKeys:a,activeProviders:S(),hasActiveProviders:S().some(e=>(0,o.KC)(e.provider).length>0||(0,n.mq)(e.provider)||(0,n.gb)(e.provider)),modelAliases:c,cloudEnabled:u,onDnsChange:e=>y(s=>({...s,dnsStatus:e.dnsStatus??s.dnsStatus}))},e))]})}}},e=>{e.O(0,[2574,3862,2649,5772,620,5497,4525,8441,3794,7358],()=>e(e.s=2276)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39,174,204,335,342,387,451,501,516,543,552,654,675,747,748,907,931,948,992,997,1077,1088,1091,1110,1118,1200,1288,1337,1382,1451,1512,1566,1666,1674,1697,1860,1907,1910,1946,1949,2121,2198,2222,2284,2296,2525,2536,2772,2785,2797,2919,2922,3025,3038,3079,3161,3397,3472,3507,3549,3562,3568,3883,3888,4010,4061,4118,4245,4286,4422,4444,4486,4612,4656,4674,4761,4896,4993,5018,5107,5177,5211,5226,5338,5466,5637,5685,5745,5922,6091,6107,6121,6268,6319,6479,6529,6580,6594,6740,6743,6819,6919,6988,7131,7158,7241,7311,7429,7445,7473,7508,7520,7545,7758,7824,7851,7960,7988,8026,8095,8167,8207,8246,8273,8433,8453,8489,8573,8648,8736,8791,8814,8870,8948,8974,8975,9027,9069,9088,9141,9199,9226,9321,9395,9461,9678,9709],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);