From 8dbb1f59d7e7afdd24f324b18d0cb24a4ac8435a Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Thu, 19 Sep 2024 17:18:49 -0700 Subject: [PATCH] ui new build --- litellm/proxy/_experimental/out/404.html | 1 + .../_buildManifest.js | 0 .../_ssgManifest.js | 0 ...561353f85d8db.js => 777-670843c0aa891bf7.js} | 2 +- .../chunks/app/layout-e379310fa648921d.js | 1 - .../chunks/app/layout-f84e1a2dc32a2b83.js | 1 + ...156c00b63953.js => page-7c3b2aa6eeec689c.js} | 2 +- ...0f666e619ede.js => page-ec449de68ed2157b.js} | 2 +- .../static/chunks/app/page-622ba7e9bad88d9e.js | 1 - .../static/chunks/app/page-c50fa12b799820f9.js | 1 + ...e1915716.js => main-app-9b4fb13a7db53edf.js} | 2 +- ...2618f9dfc.js => webpack-193a7eac80c8baba.js} | 2 +- ...51d7321f11572d4.css => cd10067a0a3408b4.css} | 2 +- .../_next/static/media/05a31a2ca4975f99-s.woff2 | Bin 10496 -> 0 bytes .../_next/static/media/26a46d62cd723877-s.woff2 | Bin 0 -> 18820 bytes .../_next/static/media/513657b02c5c193f-s.woff2 | Bin 17612 -> 0 bytes .../_next/static/media/51ed15f9841b9f9d-s.woff2 | Bin 22524 -> 0 bytes .../_next/static/media/55c55f0601d81cf3-s.woff2 | Bin 0 -> 25908 bytes .../_next/static/media/581909926a08bbc8-s.woff2 | Bin 0 -> 19072 bytes .../_next/static/media/6d93bde91c0c2823-s.woff2 | Bin 0 -> 74316 bytes .../_next/static/media/97e0cb1ae144a2a9-s.woff2 | Bin 0 -> 11220 bytes .../static/media/a34f9d1faa5f3315-s.p.woff2 | Bin 0 -> 48556 bytes .../static/media/c9a5bc6a7c948fb0-s.p.woff2 | Bin 46552 -> 0 bytes .../_next/static/media/d6b16ce4a6175f26-s.woff2 | Bin 80044 -> 0 bytes .../_next/static/media/df0a9ae256c0569c-s.woff2 | Bin 0 -> 10280 bytes .../_next/static/media/ec159349637c90ad-s.woff2 | Bin 27316 -> 0 bytes .../_next/static/media/fd4db3eb5472fc27-s.woff2 | Bin 12768 -> 0 bytes litellm/proxy/_experimental/out/index.html | 2 +- litellm/proxy/_experimental/out/index.txt | 4 ++-- litellm/proxy/_experimental/out/model_hub.html | 1 + litellm/proxy/_experimental/out/model_hub.txt | 4 ++-- litellm/proxy/_experimental/out/onboarding.html | 1 + litellm/proxy/_experimental/out/onboarding.txt | 4 ++-- ui/litellm-dashboard/out/404.html | 2 +- .../RjSErA_ooGQ_4unSpZcKT/_buildManifest.js | 1 + .../RjSErA_ooGQ_4unSpZcKT/_ssgManifest.js | 1 + .../_next/static/chunks/777-670843c0aa891bf7.js | 1 + .../chunks/app/layout-f84e1a2dc32a2b83.js | 1 + .../app/model_hub/page-7c3b2aa6eeec689c.js | 1 + .../app/onboarding/page-ec449de68ed2157b.js | 1 + .../static/chunks/app/page-c50fa12b799820f9.js | 1 + .../static/chunks/main-app-9b4fb13a7db53edf.js | 1 + .../static/chunks/webpack-193a7eac80c8baba.js | 1 + .../out/_next/static/css/cd10067a0a3408b4.css | 5 +++++ .../_next/static/media/26a46d62cd723877-s.woff2 | Bin 0 -> 18820 bytes .../_next/static/media/55c55f0601d81cf3-s.woff2 | Bin 0 -> 25908 bytes .../_next/static/media/581909926a08bbc8-s.woff2 | Bin 0 -> 19072 bytes .../_next/static/media/6d93bde91c0c2823-s.woff2 | Bin 0 -> 74316 bytes .../_next/static/media/97e0cb1ae144a2a9-s.woff2 | Bin 0 -> 11220 bytes .../static/media/a34f9d1faa5f3315-s.p.woff2 | Bin 0 -> 48556 bytes .../_next/static/media/df0a9ae256c0569c-s.woff2 | Bin 0 -> 10280 bytes ui/litellm-dashboard/out/index.html | 2 +- ui/litellm-dashboard/out/index.txt | 4 ++-- ui/litellm-dashboard/out/model_hub.html | 2 +- ui/litellm-dashboard/out/model_hub.txt | 4 ++-- ui/litellm-dashboard/out/onboarding.html | 2 +- ui/litellm-dashboard/out/onboarding.txt | 4 ++-- ui/litellm-dashboard/src/app/page.tsx | 4 ---- 58 files changed, 42 insertions(+), 29 deletions(-) create mode 100644 litellm/proxy/_experimental/out/404.html rename litellm/proxy/_experimental/out/_next/static/{ulhTxWPrXBmkhG4errSx0 => RjSErA_ooGQ_4unSpZcKT}/_buildManifest.js (100%) rename litellm/proxy/_experimental/out/_next/static/{ulhTxWPrXBmkhG4errSx0 => RjSErA_ooGQ_4unSpZcKT}/_ssgManifest.js (100%) rename litellm/proxy/_experimental/out/_next/static/chunks/{777-b62561353f85d8db.js => 777-670843c0aa891bf7.js} (99%) delete mode 100644 litellm/proxy/_experimental/out/_next/static/chunks/app/layout-e379310fa648921d.js create mode 100644 litellm/proxy/_experimental/out/_next/static/chunks/app/layout-f84e1a2dc32a2b83.js rename litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/{page-2079156c00b63953.js => page-7c3b2aa6eeec689c.js} (97%) rename litellm/proxy/_experimental/out/_next/static/chunks/app/onboarding/{page-7fa20f666e619ede.js => page-ec449de68ed2157b.js} (94%) delete mode 100644 litellm/proxy/_experimental/out/_next/static/chunks/app/page-622ba7e9bad88d9e.js create mode 100644 litellm/proxy/_experimental/out/_next/static/chunks/app/page-c50fa12b799820f9.js rename litellm/proxy/_experimental/out/_next/static/chunks/{main-app-096338c8e1915716.js => main-app-9b4fb13a7db53edf.js} (54%) rename litellm/proxy/_experimental/out/_next/static/chunks/{webpack-2d07f7d2618f9dfc.js => webpack-193a7eac80c8baba.js} (98%) rename litellm/proxy/_experimental/out/_next/static/css/{051d7321f11572d4.css => cd10067a0a3408b4.css} (99%) delete mode 100644 litellm/proxy/_experimental/out/_next/static/media/05a31a2ca4975f99-s.woff2 create mode 100644 litellm/proxy/_experimental/out/_next/static/media/26a46d62cd723877-s.woff2 delete mode 100644 litellm/proxy/_experimental/out/_next/static/media/513657b02c5c193f-s.woff2 delete mode 100644 litellm/proxy/_experimental/out/_next/static/media/51ed15f9841b9f9d-s.woff2 create mode 100644 litellm/proxy/_experimental/out/_next/static/media/55c55f0601d81cf3-s.woff2 create mode 100644 litellm/proxy/_experimental/out/_next/static/media/581909926a08bbc8-s.woff2 create mode 100644 litellm/proxy/_experimental/out/_next/static/media/6d93bde91c0c2823-s.woff2 create mode 100644 litellm/proxy/_experimental/out/_next/static/media/97e0cb1ae144a2a9-s.woff2 create mode 100644 litellm/proxy/_experimental/out/_next/static/media/a34f9d1faa5f3315-s.p.woff2 delete mode 100644 litellm/proxy/_experimental/out/_next/static/media/c9a5bc6a7c948fb0-s.p.woff2 delete mode 100644 litellm/proxy/_experimental/out/_next/static/media/d6b16ce4a6175f26-s.woff2 create mode 100644 litellm/proxy/_experimental/out/_next/static/media/df0a9ae256c0569c-s.woff2 delete mode 100644 litellm/proxy/_experimental/out/_next/static/media/ec159349637c90ad-s.woff2 delete mode 100644 litellm/proxy/_experimental/out/_next/static/media/fd4db3eb5472fc27-s.woff2 create mode 100644 litellm/proxy/_experimental/out/model_hub.html create mode 100644 litellm/proxy/_experimental/out/onboarding.html create mode 100644 ui/litellm-dashboard/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_buildManifest.js create mode 100644 ui/litellm-dashboard/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_ssgManifest.js create mode 100644 ui/litellm-dashboard/out/_next/static/chunks/777-670843c0aa891bf7.js create mode 100644 ui/litellm-dashboard/out/_next/static/chunks/app/layout-f84e1a2dc32a2b83.js create mode 100644 ui/litellm-dashboard/out/_next/static/chunks/app/model_hub/page-7c3b2aa6eeec689c.js create mode 100644 ui/litellm-dashboard/out/_next/static/chunks/app/onboarding/page-ec449de68ed2157b.js create mode 100644 ui/litellm-dashboard/out/_next/static/chunks/app/page-c50fa12b799820f9.js create mode 100644 ui/litellm-dashboard/out/_next/static/chunks/main-app-9b4fb13a7db53edf.js create mode 100644 ui/litellm-dashboard/out/_next/static/chunks/webpack-193a7eac80c8baba.js create mode 100644 ui/litellm-dashboard/out/_next/static/css/cd10067a0a3408b4.css create mode 100644 ui/litellm-dashboard/out/_next/static/media/26a46d62cd723877-s.woff2 create mode 100644 ui/litellm-dashboard/out/_next/static/media/55c55f0601d81cf3-s.woff2 create mode 100644 ui/litellm-dashboard/out/_next/static/media/581909926a08bbc8-s.woff2 create mode 100644 ui/litellm-dashboard/out/_next/static/media/6d93bde91c0c2823-s.woff2 create mode 100644 ui/litellm-dashboard/out/_next/static/media/97e0cb1ae144a2a9-s.woff2 create mode 100644 ui/litellm-dashboard/out/_next/static/media/a34f9d1faa5f3315-s.p.woff2 create mode 100644 ui/litellm-dashboard/out/_next/static/media/df0a9ae256c0569c-s.woff2 diff --git a/litellm/proxy/_experimental/out/404.html b/litellm/proxy/_experimental/out/404.html new file mode 100644 index 000000000..8bc7c0724 --- /dev/null +++ b/litellm/proxy/_experimental/out/404.html @@ -0,0 +1 @@ +404: This page could not be found.LiteLLM Dashboard

404

This page could not be found.

\ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/ulhTxWPrXBmkhG4errSx0/_buildManifest.js b/litellm/proxy/_experimental/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_buildManifest.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/ulhTxWPrXBmkhG4errSx0/_buildManifest.js rename to litellm/proxy/_experimental/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_buildManifest.js diff --git a/litellm/proxy/_experimental/out/_next/static/ulhTxWPrXBmkhG4errSx0/_ssgManifest.js b/litellm/proxy/_experimental/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_ssgManifest.js similarity index 100% rename from litellm/proxy/_experimental/out/_next/static/ulhTxWPrXBmkhG4errSx0/_ssgManifest.js rename to litellm/proxy/_experimental/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_ssgManifest.js diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/777-b62561353f85d8db.js b/litellm/proxy/_experimental/out/_next/static/chunks/777-670843c0aa891bf7.js similarity index 99% rename from litellm/proxy/_experimental/out/_next/static/chunks/777-b62561353f85d8db.js rename to litellm/proxy/_experimental/out/_next/static/chunks/777-670843c0aa891bf7.js index ef544b687..7a4cd4034 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/777-b62561353f85d8db.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/777-670843c0aa891bf7.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[777],{777:function(e,t,o){o.d(t,{$I:function(){return P},AZ:function(){return x},Au:function(){return W},BL:function(){return el},Br:function(){return E},Dj:function(){return em},E9:function(){return ed},EG:function(){return eu},EY:function(){return ek},FC:function(){return L},Gh:function(){return eo},I1:function(){return g},It:function(){return j},J$:function(){return V},K8:function(){return l},K_:function(){return ef},N8:function(){return A},NV:function(){return p},Nc:function(){return et},O3:function(){return es},OU:function(){return z},Og:function(){return h},Ov:function(){return m},PT:function(){return O},RQ:function(){return f},Rg:function(){return G},So:function(){return I},Vt:function(){return eh},W_:function(){return N},X:function(){return U},XO:function(){return u},Xd:function(){return Y},YU:function(){return ei},Zr:function(){return y},ao:function(){return ey},b1:function(){return D},cu:function(){return ea},eH:function(){return S},fP:function(){return J},hT:function(){return ee},hy:function(){return d},j2:function(){return Z},jA:function(){return ep},jE:function(){return ec},kK:function(){return w},kn:function(){return B},lg:function(){return Q},mR:function(){return R},m_:function(){return _},mp:function(){return ew},n$:function(){return q},o6:function(){return v},pf:function(){return en},qm:function(){return i},rs:function(){return T},s0:function(){return C},tN:function(){return M},um:function(){return er},v9:function(){return $},wX:function(){return k},wd:function(){return H},xA:function(){return X},zg:function(){return K}});var r=o(80588);console.log=function(){};let a=0,n=e=>new Promise(t=>setTimeout(t,e)),c=async e=>{let t=Date.now();t-a>6e4?(e.includes("Authentication Error - Expired Key")?(r.ZP.info("UI Session Expired. Logging out."),a=t,await n(3e3),document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",window.location.href="/"):r.ZP.error(e),a=t):console.log("Error suppressed to prevent spam:",e)},s="Authorization";function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Authorization";console.log("setGlobalLitellmHeaderName: ".concat(e)),s=e}let i=async e=>{try{let t=await fetch("/get/litellm_model_cost_map",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}}),o=await t.json();return console.log("received litellm model cost data: ".concat(o)),o}catch(e){throw console.error("Failed to get model cost map:",e),e}},w=async(e,t)=>{try{let o=await fetch("/model/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await o.json();return console.log("API Response:",a),r.ZP.success("Model created successfully. Wait 60s and refresh on 'All Models' page"),a}catch(e){throw console.error("Failed to create key:",e),e}},d=async e=>{try{let t=await fetch("/model/settings",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},h=async(e,t)=>{console.log("model_id in model delete call: ".concat(t));try{let o=await fetch("/model/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await o.json();return console.log("API Response:",a),r.ZP.success("Model deleted successfully. Restart server to see this."),a}catch(e){throw console.error("Failed to create key:",e),e}},p=async(e,t)=>{if(console.log("budget_id in budget delete call: ".concat(t)),null!=e)try{let o=await fetch("/budget/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},y=async(e,t)=>{try{console.log("Form Values in budgetCreateCall:",t),console.log("Form Values after check:",t);let o=await fetch("/budget/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},u=async(e,t)=>{try{let o=await fetch("/invitation/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},f=async e=>{try{let t=await fetch("/alerting/settings",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},k=async(e,t,o)=>{try{if(console.log("Form Values in keyCreateCall:",o),o.description&&(o.metadata||(o.metadata={}),o.metadata.description=o.description,delete o.description,o.metadata=JSON.stringify(o.metadata)),o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}console.log("Form Values after check:",o);let r=await fetch("/key/generate",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!r.ok){let e=await r.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await r.json();return console.log("API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},m=async(e,t,o)=>{try{if(console.log("Form Values in keyCreateCall:",o),o.description&&(o.metadata||(o.metadata={}),o.metadata.description=o.description,delete o.description,o.metadata=JSON.stringify(o.metadata)),o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}console.log("Form Values after check:",o);let r=await fetch("/user/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!r.ok){let e=await r.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await r.json();return console.log("API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},g=async(e,t)=>{try{console.log("in keyDeleteCall:",t);let o=await fetch("/key/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({keys:[t]})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},T=async(e,t)=>{try{console.log("in teamDeleteCall:",t);let o=await fetch("/team/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_ids:[t]})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to delete key:",e),e}},E=async function(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4?arguments[4]:void 0,n=arguments.length>5?arguments[5]:void 0;try{let l="/user/info";"App Owner"==o&&t&&(l="".concat(l,"?user_id=").concat(t)),"App User"==o&&t&&(l="".concat(l,"?user_id=").concat(t)),("Internal User"==o||"Internal Viewer"==o)&&t&&(l="".concat(l,"?user_id=").concat(t)),console.log("in userInfoCall viewAll=",r),r&&n&&null!=a&&void 0!=a&&(l="".concat(l,"?view_all=true&page=").concat(a,"&page_size=").concat(n));let i=await fetch(l,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!i.ok){let e=await i.text();throw c(e),Error("Network response was not ok")}let w=await i.json();return console.log("API Response:",w),w}catch(e){throw console.error("Failed to create key:",e),e}},j=async e=>{try{console.log("in teamInfoCall");let t=await fetch("/team/list",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log("/team/list API Response:",o),o}catch(e){throw console.error("Failed to create key:",e),e}},N=async e=>{try{let t="/onboarding/get_token";t+="?invite_link=".concat(e);let o=await fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},_=async(e,t,o,r)=>{try{let a=await fetch("/onboarding/claim_token",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({invitation_link:t,user_id:o,password:r})});if(!a.ok){let e=await a.text();throw c(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to delete key:",e),e}},C=async(e,t,o)=>{try{let r=await fetch("/key/".concat(t,"/regenerate"),{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.text();throw c(e),Error("Network response was not ok")}let a=await r.json();return console.log("Regenerate key Response:",a),a}catch(e){throw console.error("Failed to regenerate key:",e),e}},F=!1,b=null,x=async(e,t,o)=>{try{let t=await fetch("/v2/model/info",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw e+="error shown=".concat(F),F||(e.includes("No model list passed")&&(e="No Models Exist. Click Add Model to get started."),r.ZP.info(e,10),F=!0,b&&clearTimeout(b),b=setTimeout(()=>{F=!1},1e4)),Error("Network response was not ok")}let o=await t.json();return console.log("modelInfoCall:",o),o}catch(e){throw console.error("Failed to create key:",e),e}},B=async e=>{try{let t=await fetch("/model_group/info",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok)throw await t.text(),Error("Network response was not ok");let o=await t.json();return console.log("modelHubCall:",o),o}catch(e){throw console.error("Failed to create key:",e),e}},O=async e=>{try{let t=await fetch("/get/allowed_ips",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw Error("Network response was not ok: ".concat(e))}let o=await t.json();return console.log("getAllowedIPs:",o),o.data}catch(e){throw console.error("Failed to get allowed IPs:",e),e}},S=async(e,t)=>{try{let o=await fetch("/add/allowed_ip",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!o.ok){let e=await o.text();throw Error("Network response was not ok: ".concat(e))}let r=await o.json();return console.log("addAllowedIP:",r),r}catch(e){throw console.error("Failed to add allowed IP:",e),e}},P=async(e,t)=>{try{let o=await fetch("/delete/allowed_ip",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!o.ok){let e=await o.text();throw Error("Network response was not ok: ".concat(e))}let r=await o.json();return console.log("deleteAllowedIP:",r),r}catch(e){throw console.error("Failed to delete allowed IP:",e),e}},v=async(e,t,o,r,a,n,l,i)=>{try{let t="/model/metrics";r&&(t="".concat(t,"?_selected_model_group=").concat(r,"&startTime=").concat(a,"&endTime=").concat(n,"&api_key=").concat(l,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},G=async(e,t,o,r)=>{try{let a="/model/streaming_metrics";t&&(a="".concat(a,"?_selected_model_group=").concat(t,"&startTime=").concat(o,"&endTime=").concat(r));let n=await fetch(a,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.text();throw c(e),Error("Network response was not ok")}return await n.json()}catch(e){throw console.error("Failed to create key:",e),e}},J=async(e,t,o,r,a,n,l,i)=>{try{let t="/model/metrics/slow_responses";r&&(t="".concat(t,"?_selected_model_group=").concat(r,"&startTime=").concat(a,"&endTime=").concat(n,"&api_key=").concat(l,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},A=async(e,t,o,r,a,n,l,i)=>{try{let t="/model/metrics/exceptions";r&&(t="".concat(t,"?_selected_model_group=").concat(r,"&startTime=").concat(a,"&endTime=").concat(n,"&api_key=").concat(l,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},I=async(e,t,o)=>{console.log("in /models calls, globalLitellmHeaderName",s);try{let t=await fetch("/models",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to create key:",e),e}},R=async e=>{try{let t="/global/spend/teams";console.log("in teamSpendLogsCall:",t);let o=await fetch("".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},V=async(e,t,o,r)=>{try{let a="/global/spend/tags";t&&o&&(a="".concat(a,"?start_date=").concat(t,"&end_date=").concat(o)),r&&(a+="".concat(a,"&tags=").concat(r.join(","))),console.log("in tagsSpendLogsCall:",a);let n=await fetch("".concat(a),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to create key:",e),e}},U=async e=>{try{let t="/global/spend/all_tag_names";console.log("in global/spend/all_tag_names call",t);let o=await fetch("".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},Z=async e=>{try{let t="/global/all_end_users";console.log("in global/all_end_users call",t);let o=await fetch("".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},L=async e=>{try{let t=await fetch("/global/spend/logs",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log(o),o}catch(e){throw console.error("Failed to create key:",e),e}},M=async e=>{try{let t=await fetch("/global/spend/keys?limit=5",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log(o),o}catch(e){throw console.error("Failed to create key:",e),e}},D=async(e,t,o,r)=>{try{let a="";a=t?JSON.stringify({api_key:t,startTime:o,endTime:r}):JSON.stringify({startTime:o,endTime:r});let n={method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:a},l=await fetch("/global/spend/end_users",n);if(!l.ok){let e=await l.text();throw c(e),Error("Network response was not ok")}let i=await l.json();return console.log(i),i}catch(e){throw console.error("Failed to create key:",e),e}},z=async(e,t,o,r)=>{try{let a="/global/spend/provider";o&&r&&(a+="?start_date=".concat(o,"&end_date=").concat(r)),t&&(a+="&api_key=".concat(t));let n={method:"GET",headers:{[s]:"Bearer ".concat(e)}},l=await fetch(a,n);if(!l.ok){let e=await l.text();throw c(e),Error("Network response was not ok")}let i=await l.json();return console.log(i),i}catch(e){throw console.error("Failed to fetch spend data:",e),e}},H=async(e,t,o)=>{try{let r="/global/activity";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o));let a={method:"GET",headers:{[s]:"Bearer ".concat(e)}},n=await fetch(r,a);if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},K=async(e,t,o)=>{try{let r="/global/activity/cache_hits";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o));let a={method:"GET",headers:{[s]:"Bearer ".concat(e)}},n=await fetch(r,a);if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},X=async(e,t,o)=>{try{let r="/global/activity/model";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o));let a={method:"GET",headers:{[s]:"Bearer ".concat(e)}},n=await fetch(r,a);if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},q=async(e,t,o,r)=>{try{let a="/global/activity/exceptions";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o)),r&&(a+="&model_group=".concat(r));let n={method:"GET",headers:{[s]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},$=async(e,t,o,r)=>{try{let a="/global/activity/exceptions/deployment";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o)),r&&(a+="&model_group=".concat(r));let n={method:"GET",headers:{[s]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},W=async e=>{try{let t=await fetch("/global/spend/models?limit=5",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log(o),o}catch(e){throw console.error("Failed to create key:",e),e}},Y=async(e,t)=>{try{let o="/user/get_users?role=".concat(t);console.log("in userGetAllUsersCall:",o);let r=await fetch(o,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!r.ok){let e=await r.text();throw c(e),Error("Network response was not ok")}let a=await r.json();return console.log(a),a}catch(e){throw console.error("Failed to get requested models:",e),e}},Q=async e=>{try{let t=await fetch("/user/available_roles",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok)throw await t.text(),Error("Network response was not ok");let o=await t.json();return console.log("response from user/available_role",o),o}catch(e){throw e}},ee=async(e,t)=>{try{console.log("Form Values in teamCreateCall:",t);let o=await fetch("/team/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},et=async(e,t)=>{try{console.log("Form Values in keyUpdateCall:",t);let o=await fetch("/key/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("Update key Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},eo=async(e,t)=>{try{console.log("Form Values in teamUpateCall:",t);let o=await fetch("/team/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("Update Team Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},er=async(e,t)=>{try{console.log("Form Values in modelUpateCall:",t);let o=await fetch("/model/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error update from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("Update model Response:",r),r}catch(e){throw console.error("Failed to update model:",e),e}},ea=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let r=await fetch("/team/member_add",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_id:t,member:o})});if(!r.ok){let e=await r.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await r.json();return console.log("API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},en=async(e,t,o)=>{try{console.log("Form Values in userUpdateUserCall:",t);let r={...t};null!==o&&(r.user_role=o),r=JSON.stringify(r);let a=await fetch("/user/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:r});if(!a.ok){let e=await a.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},ec=async(e,t)=>{try{let o="/health/services?service=".concat(t);console.log("Checking Slack Budget Alerts service health");let a=await fetch(o,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw c(e),Error(e)}let n=await a.json();return r.ZP.success("Test request to ".concat(t," made - check logs/alerts on ").concat(t," to verify")),n}catch(e){throw console.error("Failed to perform health check:",e),e}},es=async e=>{try{let t=await fetch("/budget/list",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},el=async(e,t,o)=>{try{let t=await fetch("/get/config/callbacks",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ei=async e=>{try{let t=await fetch("/config/list?config_type=general_settings",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ew=async e=>{try{let t=await fetch("/config/pass_through_endpoint",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ed=async(e,t)=>{try{let o=await fetch("/config/field/info?field_name=".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");return await o.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},eh=async(e,t)=>{try{let o=await fetch("/config/pass_through_endpoint",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},ep=async(e,t,o)=>{try{let a=await fetch("/config/field/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,field_value:o,config_type:"general_settings"})});if(!a.ok){let e=await a.text();throw c(e),Error("Network response was not ok")}let n=await a.json();return r.ZP.success("Successfully updated value!"),n}catch(e){throw console.error("Failed to set callbacks:",e),e}},ey=async(e,t)=>{try{let o=await fetch("/config/field/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,config_type:"general_settings"})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let a=await o.json();return r.ZP.success("Field reset on proxy"),a}catch(e){throw console.error("Failed to get callbacks:",e),e}},eu=async(e,t)=>{try{let o=await fetch("/config/pass_through_endpoint".concat(t),{method:"DELETE",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ef=async(e,t)=>{try{let o=await fetch("/config/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},ek=async e=>{try{let t=await fetch("/health",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to call /health:",e),e}},em=async e=>{try{let t=await fetch("/sso/get/logout_url",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok)throw await t.text(),Error("Network response was not ok");return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}}}}]); \ No newline at end of file +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[777],{777:function(e,t,o){o.d(t,{$I:function(){return P},AZ:function(){return x},Au:function(){return W},BL:function(){return el},Br:function(){return E},Dj:function(){return em},E9:function(){return ed},EG:function(){return eu},EY:function(){return ek},FC:function(){return L},Gh:function(){return eo},I1:function(){return g},It:function(){return j},J$:function(){return V},K8:function(){return l},K_:function(){return ef},N8:function(){return A},NV:function(){return p},Nc:function(){return et},O3:function(){return es},OU:function(){return z},Og:function(){return h},Ov:function(){return m},PT:function(){return O},RQ:function(){return f},Rg:function(){return G},So:function(){return I},Vt:function(){return eh},W_:function(){return N},X:function(){return U},XO:function(){return u},Xd:function(){return Y},YU:function(){return ei},Zr:function(){return y},ao:function(){return ey},b1:function(){return D},cu:function(){return ea},eH:function(){return S},fP:function(){return J},hT:function(){return ee},hy:function(){return d},j2:function(){return Z},jA:function(){return ep},jE:function(){return ec},kK:function(){return w},kn:function(){return B},lg:function(){return Q},mR:function(){return R},m_:function(){return _},mp:function(){return ew},n$:function(){return q},o6:function(){return v},pf:function(){return en},qm:function(){return i},rs:function(){return T},s0:function(){return C},tN:function(){return M},um:function(){return er},v9:function(){return $},wX:function(){return k},wd:function(){return H},xA:function(){return X},zg:function(){return K}});var r=o(80588);console.log=function(){};let a=0,n=e=>new Promise(t=>setTimeout(t,e)),c=async e=>{let t=Date.now();t-a>6e4?(e.includes("Authentication Error - Expired Key")?(r.ZP.info("UI Session Expired. Logging out."),a=t,await n(3e3),document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",window.location.href="/"):r.ZP.error(e),a=t):console.log("Error suppressed to prevent spam:",e)},s="Authorization";function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Authorization";console.log("setGlobalLitellmHeaderName: ".concat(e)),s=e}let i=async e=>{try{let t=await fetch("/get/litellm_model_cost_map",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}}),o=await t.json();return console.log("received litellm model cost data: ".concat(o)),o}catch(e){throw console.error("Failed to get model cost map:",e),e}},w=async(e,t)=>{try{let o=await fetch("/model/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await o.json();return console.log("API Response:",a),r.ZP.success("Model created successfully. Wait 60s and refresh on 'All Models' page"),a}catch(e){throw console.error("Failed to create key:",e),e}},d=async e=>{try{let t=await fetch("/model/settings",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},h=async(e,t)=>{console.log("model_id in model delete call: ".concat(t));try{let o=await fetch("/model/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await o.json();return console.log("API Response:",a),r.ZP.success("Model deleted successfully. Restart server to see this."),a}catch(e){throw console.error("Failed to create key:",e),e}},p=async(e,t)=>{if(console.log("budget_id in budget delete call: ".concat(t)),null!=e)try{let o=await fetch("/budget/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},y=async(e,t)=>{try{console.log("Form Values in budgetCreateCall:",t),console.log("Form Values after check:",t);let o=await fetch("/budget/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},u=async(e,t)=>{try{let o=await fetch("/invitation/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},f=async e=>{try{let t=await fetch("/alerting/settings",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},k=async(e,t,o)=>{try{if(console.log("Form Values in keyCreateCall:",o),o.description&&(o.metadata||(o.metadata={}),o.metadata.description=o.description,delete o.description,o.metadata=JSON.stringify(o.metadata)),o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}console.log("Form Values after check:",o);let r=await fetch("/key/generate",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!r.ok){let e=await r.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await r.json();return console.log("API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},m=async(e,t,o)=>{try{if(console.log("Form Values in keyCreateCall:",o),o.description&&(o.metadata||(o.metadata={}),o.metadata.description=o.description,delete o.description,o.metadata=JSON.stringify(o.metadata)),o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}console.log("Form Values after check:",o);let r=await fetch("/user/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!r.ok){let e=await r.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await r.json();return console.log("API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},g=async(e,t)=>{try{console.log("in keyDeleteCall:",t);let o=await fetch("/key/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({keys:[t]})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},T=async(e,t)=>{try{console.log("in teamDeleteCall:",t);let o=await fetch("/team/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_ids:[t]})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to delete key:",e),e}},E=async function(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4?arguments[4]:void 0,n=arguments.length>5?arguments[5]:void 0;try{let l="/user/info";"App Owner"==o&&t&&(l="".concat(l,"?user_id=").concat(t)),"App User"==o&&t&&(l="".concat(l,"?user_id=").concat(t)),("Internal User"==o||"Internal Viewer"==o)&&t&&(l="".concat(l,"?user_id=").concat(t)),console.log("in userInfoCall viewAll=",r),r&&n&&null!=a&&void 0!=a&&(l="".concat(l,"?view_all=true&page=").concat(a,"&page_size=").concat(n));let i=await fetch(l,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!i.ok){let e=await i.text();throw c(e),Error("Network response was not ok")}let w=await i.json();return console.log("API Response:",w),w}catch(e){throw console.error("Failed to create key:",e),e}},j=async e=>{try{console.log("in teamInfoCall");let t=await fetch("/team/list",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log("/team/list API Response:",o),o}catch(e){throw console.error("Failed to create key:",e),e}},N=async e=>{try{let t="/onboarding/get_token";t+="?invite_link=".concat(e);let o=await fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},_=async(e,t,o,r)=>{try{let a=await fetch("/onboarding/claim_token",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({invitation_link:t,user_id:o,password:r})});if(!a.ok){let e=await a.text();throw c(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to delete key:",e),e}},C=async(e,t,o)=>{try{let r=await fetch("/key/".concat(t,"/regenerate"),{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.text();throw c(e),Error("Network response was not ok")}let a=await r.json();return console.log("Regenerate key Response:",a),a}catch(e){throw console.error("Failed to regenerate key:",e),e}},F=!1,b=null,x=async(e,t,o)=>{try{let t=await fetch("/v2/model/info",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw e+="error shown=".concat(F),F||(e.includes("No model list passed")&&(e="No Models Exist. Click Add Model to get started."),r.ZP.info(e,10),F=!0,b&&clearTimeout(b),b=setTimeout(()=>{F=!1},1e4)),Error("Network response was not ok")}let o=await t.json();return console.log("modelInfoCall:",o),o}catch(e){throw console.error("Failed to create key:",e),e}},B=async e=>{try{let t=await fetch("/model_group/info",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok)throw await t.text(),Error("Network response was not ok");let o=await t.json();return console.log("modelHubCall:",o),o}catch(e){throw console.error("Failed to create key:",e),e}},O=async e=>{try{let t=await fetch("/get/allowed_ips",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw Error("Network response was not ok: ".concat(e))}let o=await t.json();return console.log("getAllowedIPs:",o),o.data}catch(e){throw console.error("Failed to get allowed IPs:",e),e}},S=async(e,t)=>{try{let o=await fetch("/add/allowed_ip",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!o.ok){let e=await o.text();throw Error("Network response was not ok: ".concat(e))}let r=await o.json();return console.log("addAllowedIP:",r),r}catch(e){throw console.error("Failed to add allowed IP:",e),e}},P=async(e,t)=>{try{let o=await fetch("/delete/allowed_ip",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!o.ok){let e=await o.text();throw Error("Network response was not ok: ".concat(e))}let r=await o.json();return console.log("deleteAllowedIP:",r),r}catch(e){throw console.error("Failed to delete allowed IP:",e),e}},v=async(e,t,o,r,a,n,l,i)=>{try{let t="/model/metrics";r&&(t="".concat(t,"?_selected_model_group=").concat(r,"&startTime=").concat(a,"&endTime=").concat(n,"&api_key=").concat(l,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},G=async(e,t,o,r)=>{try{let a="/model/streaming_metrics";t&&(a="".concat(a,"?_selected_model_group=").concat(t,"&startTime=").concat(o,"&endTime=").concat(r));let n=await fetch(a,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.text();throw c(e),Error("Network response was not ok")}return await n.json()}catch(e){throw console.error("Failed to create key:",e),e}},J=async(e,t,o,r,a,n,l,i)=>{try{let t="/model/metrics/slow_responses";r&&(t="".concat(t,"?_selected_model_group=").concat(r,"&startTime=").concat(a,"&endTime=").concat(n,"&api_key=").concat(l,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},A=async(e,t,o,r,a,n,l,i)=>{try{let t="/model/metrics/exceptions";r&&(t="".concat(t,"?_selected_model_group=").concat(r,"&startTime=").concat(a,"&endTime=").concat(n,"&api_key=").concat(l,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},I=async(e,t,o)=>{console.log("in /models calls, globalLitellmHeaderName",s);try{let t=await fetch("/models",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to create key:",e),e}},R=async e=>{try{let t="/global/spend/teams";console.log("in teamSpendLogsCall:",t);let o=await fetch("".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},V=async(e,t,o,r)=>{try{let a="/global/spend/tags";t&&o&&(a="".concat(a,"?start_date=").concat(t,"&end_date=").concat(o)),r&&(a+="".concat(a,"&tags=").concat(r.join(","))),console.log("in tagsSpendLogsCall:",a);let n=await fetch("".concat(a),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to create key:",e),e}},U=async e=>{try{let t="/global/spend/all_tag_names";console.log("in global/spend/all_tag_names call",t);let o=await fetch("".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},Z=async e=>{try{let t="/global/all_end_users";console.log("in global/all_end_users call",t);let o=await fetch("".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},L=async e=>{try{let t=await fetch("/global/spend/logs",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log(o),o}catch(e){throw console.error("Failed to create key:",e),e}},M=async e=>{try{let t=await fetch("/global/spend/keys?limit=5",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log(o),o}catch(e){throw console.error("Failed to create key:",e),e}},D=async(e,t,o,r)=>{try{let a="";a=t?JSON.stringify({api_key:t,startTime:o,endTime:r}):JSON.stringify({startTime:o,endTime:r});let n={method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:a},l=await fetch("/global/spend/end_users",n);if(!l.ok){let e=await l.text();throw c(e),Error("Network response was not ok")}let i=await l.json();return console.log(i),i}catch(e){throw console.error("Failed to create key:",e),e}},z=async(e,t,o,r)=>{try{let a="/global/spend/provider";o&&r&&(a+="?start_date=".concat(o,"&end_date=").concat(r)),t&&(a+="&api_key=".concat(t));let n={method:"GET",headers:{[s]:"Bearer ".concat(e)}},l=await fetch(a,n);if(!l.ok){let e=await l.text();throw c(e),Error("Network response was not ok")}let i=await l.json();return console.log(i),i}catch(e){throw console.error("Failed to fetch spend data:",e),e}},H=async(e,t,o)=>{try{let r="/global/activity";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o));let a={method:"GET",headers:{[s]:"Bearer ".concat(e)}},n=await fetch(r,a);if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},K=async(e,t,o)=>{try{let r="/global/activity/cache_hits";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o));let a={method:"GET",headers:{[s]:"Bearer ".concat(e)}},n=await fetch(r,a);if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},X=async(e,t,o)=>{try{let r="/global/activity/model";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o));let a={method:"GET",headers:{[s]:"Bearer ".concat(e)}},n=await fetch(r,a);if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},q=async(e,t,o,r)=>{try{let a="/global/activity/exceptions";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o)),r&&(a+="&model_group=".concat(r));let n={method:"GET",headers:{[s]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},$=async(e,t,o,r)=>{try{let a="/global/activity/exceptions/deployment";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o)),r&&(a+="&model_group=".concat(r));let n={method:"GET",headers:{[s]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},W=async e=>{try{let t=await fetch("/global/spend/models?limit=5",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log(o),o}catch(e){throw console.error("Failed to create key:",e),e}},Y=async(e,t)=>{try{let o="/user/get_users?role=".concat(t);console.log("in userGetAllUsersCall:",o);let r=await fetch(o,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!r.ok){let e=await r.text();throw c(e),Error("Network response was not ok")}let a=await r.json();return console.log(a),a}catch(e){throw console.error("Failed to get requested models:",e),e}},Q=async e=>{try{let t=await fetch("/user/available_roles",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok)throw await t.text(),Error("Network response was not ok");let o=await t.json();return console.log("response from user/available_role",o),o}catch(e){throw e}},ee=async(e,t)=>{try{console.log("Form Values in teamCreateCall:",t);let o=await fetch("/team/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},et=async(e,t)=>{try{console.log("Form Values in keyUpdateCall:",t);let o=await fetch("/key/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("Update key Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},eo=async(e,t)=>{try{console.log("Form Values in teamUpateCall:",t);let o=await fetch("/team/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("Update Team Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},er=async(e,t)=>{try{console.log("Form Values in modelUpateCall:",t);let o=await fetch("/model/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error update from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("Update model Response:",r),r}catch(e){throw console.error("Failed to update model:",e),e}},ea=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let r=await fetch("/team/member_add",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_id:t,member:o})});if(!r.ok){let e=await r.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await r.json();return console.log("API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},en=async(e,t,o)=>{try{console.log("Form Values in userUpdateUserCall:",t);let r={...t};null!==o&&(r.user_role=o),r=JSON.stringify(r);let a=await fetch("/user/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:r});if(!a.ok){let e=await a.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},ec=async(e,t)=>{try{let o="/health/services?service=".concat(t);console.log("Checking Slack Budget Alerts service health");let a=await fetch(o,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw c(e),Error(e)}let n=await a.json();return r.ZP.success("Test request to ".concat(t," made - check logs/alerts on ").concat(t," to verify")),n}catch(e){throw console.error("Failed to perform health check:",e),e}},es=async e=>{try{let t=await fetch("/budget/list",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},el=async(e,t,o)=>{try{let t=await fetch("/get/config/callbacks",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ei=async e=>{try{let t=await fetch("/config/list?config_type=general_settings",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ew=async e=>{try{let t=await fetch("/config/pass_through_endpoint",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ed=async(e,t)=>{try{let o=await fetch("/config/field/info?field_name=".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");return await o.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},eh=async(e,t)=>{try{let o=await fetch("/config/pass_through_endpoint",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},ep=async(e,t,o)=>{try{let a=await fetch("/config/field/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,field_value:o,config_type:"general_settings"})});if(!a.ok){let e=await a.text();throw c(e),Error("Network response was not ok")}let n=await a.json();return r.ZP.success("Successfully updated value!"),n}catch(e){throw console.error("Failed to set callbacks:",e),e}},ey=async(e,t)=>{try{let o=await fetch("/config/field/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,config_type:"general_settings"})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let a=await o.json();return r.ZP.success("Field reset on proxy"),a}catch(e){throw console.error("Failed to get callbacks:",e),e}},eu=async(e,t)=>{try{let o=await fetch("/config/pass_through_endpoint".concat(t),{method:"DELETE",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ef=async(e,t)=>{try{let o=await fetch("/config/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},ek=async e=>{try{let t=await fetch("/health",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to call /health:",e),e}},em=async e=>{try{let t=await fetch("sso/get/ui_settings",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok)throw await t.text(),Error("Network response was not ok");return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}}}}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/layout-e379310fa648921d.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/layout-e379310fa648921d.js deleted file mode 100644 index 05fd4480d..000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/layout-e379310fa648921d.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{11837:function(n,e,t){Promise.resolve().then(t.t.bind(t,99646,23)),Promise.resolve().then(t.t.bind(t,63385,23))},63385:function(){},99646:function(n){n.exports={style:{fontFamily:"'__Inter_12bbc4', '__Inter_Fallback_12bbc4'",fontStyle:"normal"},className:"__className_12bbc4"}}},function(n){n.O(0,[971,69,744],function(){return n(n.s=11837)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/layout-f84e1a2dc32a2b83.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/layout-f84e1a2dc32a2b83.js new file mode 100644 index 000000000..b64de1030 --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/layout-f84e1a2dc32a2b83.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{87421:function(e,n,t){Promise.resolve().then(t.t.bind(t,99646,23)),Promise.resolve().then(t.t.bind(t,63385,23))},63385:function(){},99646:function(e){e.exports={style:{fontFamily:"'__Inter_86ef86', '__Inter_Fallback_86ef86'",fontStyle:"normal"},className:"__className_86ef86"}}},function(e){e.O(0,[971,69,744],function(){return e(e.s=87421)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-2079156c00b63953.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-7c3b2aa6eeec689c.js similarity index 97% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-2079156c00b63953.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-7c3b2aa6eeec689c.js index f8967c33a..d9de0dc9e 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-2079156c00b63953.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/model_hub/page-7c3b2aa6eeec689c.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[418],{69610:function(e,n,t){Promise.resolve().then(t.bind(t,87494))},87494:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return i}});var s=t(57437),l=t(2265),r=t(47907),a=t(41134);function i(){let e=(0,r.useSearchParams)().get("key"),[n,t]=(0,l.useState)(null);return(0,l.useEffect)(()=>{e&&t(e)},[e]),(0,s.jsx)(a.Z,{accessToken:n,publicPage:!0,premiumUser:!1})}},41134:function(e,n,t){"use strict";t.d(n,{Z:function(){return f}});var s=t(57437),l=t(2265),r=t(47907),a=t(777),i=t(2179),o=t(13810),c=t(92836),d=t(26734),m=t(41608),p=t(32126),u=t(23682),h=t(71801),x=t(42440),_=t(84174),g=t(50459),j=t(6180),b=t(99129),y=t(67951),f=e=>{var n;let{accessToken:t,publicPage:f,premiumUser:v}=e,[Z,k]=(0,l.useState)(!1),[N,S]=(0,l.useState)(null),[A,w]=(0,l.useState)(!1),[M,I]=(0,l.useState)(!1),[O,P]=(0,l.useState)(null),C=(0,r.useRouter)();(0,l.useEffect)(()=>{t&&(async()=>{try{let e=await (0,a.kn)(t);console.log("ModelHubData:",e),S(e.data),(0,a.E9)(t,"enable_public_model_hub").then(e=>{console.log("data: ".concat(JSON.stringify(e))),!0==e.field_value&&k(!0)}).catch(e=>{})}catch(e){console.error("There was an error fetching the model data",e)}})()},[t,f]);let E=e=>{P(e),w(!0)},z=async()=>{t&&(0,a.jA)(t,"enable_public_model_hub",!0).then(e=>{I(!0)})},H=()=>{w(!1),I(!1),P(null)},T=()=>{w(!1),I(!1),P(null)},R=e=>{navigator.clipboard.writeText(e)};return(0,s.jsxs)("div",{children:[f&&Z||!1==f?(0,s.jsxs)("div",{className:"w-full m-2 mt-2 p-8",children:[(0,s.jsx)("div",{className:"relative w-full"}),(0,s.jsxs)("div",{className:"flex ".concat(f?"justify-between":"items-center"),children:[(0,s.jsx)(x.Z,{className:"ml-8 text-center ",children:"Model Hub"}),!1==f?v?(0,s.jsx)(i.Z,{className:"ml-4",onClick:()=>z(),children:"✨ Make Public"}):(0,s.jsx)(i.Z,{className:"ml-4",children:(0,s.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Make Public"})}):(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("p",{children:"Filter by key:"}),(0,s.jsx)(h.Z,{className:"bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center",children:"/ui/model_hub?key="})]})]}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-6 sm:grid-cols-3 lg:grid-cols-4 pr-8",children:N&&N.map(e=>(0,s.jsxs)(o.Z,{className:"mt-5 mx-8",children:[(0,s.jsxs)("pre",{className:"flex justify-between",children:[(0,s.jsx)(x.Z,{children:e.model_group}),(0,s.jsx)(j.Z,{title:e.model_group,children:(0,s.jsx)(_.Z,{onClick:()=>R(e.model_group),style:{cursor:"pointer",marginRight:"10px"}})})]}),(0,s.jsxs)("div",{className:"my-5",children:[(0,s.jsxs)(h.Z,{children:["Mode: ",e.mode]}),(0,s.jsxs)(h.Z,{children:["Supports Function Calling:"," ",(null==e?void 0:e.supports_function_calling)==!0?"Yes":"No"]}),(0,s.jsxs)(h.Z,{children:["Supports Vision:"," ",(null==e?void 0:e.supports_vision)==!0?"Yes":"No"]}),(0,s.jsxs)(h.Z,{children:["Max Input Tokens:"," ",(null==e?void 0:e.max_input_tokens)?null==e?void 0:e.max_input_tokens:"N/A"]}),(0,s.jsxs)(h.Z,{children:["Max Output Tokens:"," ",(null==e?void 0:e.max_output_tokens)?null==e?void 0:e.max_output_tokens:"N/A"]})]}),(0,s.jsx)("div",{style:{marginTop:"auto",textAlign:"right"},children:(0,s.jsxs)("a",{href:"#",onClick:()=>E(e),style:{color:"#1890ff",fontSize:"smaller"},children:["View more ",(0,s.jsx)(g.Z,{})]})})]},e.model_group))})]}):(0,s.jsxs)(o.Z,{className:"mx-auto max-w-xl mt-10",children:[(0,s.jsx)(h.Z,{className:"text-xl text-center mb-2 text-black",children:"Public Model Hub not enabled."}),(0,s.jsx)("p",{className:"text-base text-center text-slate-800",children:"Ask your proxy admin to enable this on their Admin UI."})]}),(0,s.jsx)(b.Z,{title:"Public Model Hub",width:600,visible:M,footer:null,onOk:H,onCancel:T,children:(0,s.jsxs)("div",{className:"pt-5 pb-5",children:[(0,s.jsxs)("div",{className:"flex justify-between mb-4",children:[(0,s.jsx)(h.Z,{className:"text-base mr-2",children:"Shareable Link:"}),(0,s.jsx)(h.Z,{className:"max-w-sm ml-2 bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center rounded",children:"/ui/model_hub?key="})]}),(0,s.jsx)("div",{className:"flex justify-end",children:(0,s.jsx)(i.Z,{onClick:()=>{C.replace("/model_hub?key=".concat(t))},children:"See Page"})})]})}),(0,s.jsx)(b.Z,{title:O&&O.model_group?O.model_group:"Unknown Model",width:800,visible:A,footer:null,onOk:H,onCancel:T,children:O&&(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"mb-4",children:(0,s.jsx)("strong",{children:"Model Information & Usage"})}),(0,s.jsxs)(d.Z,{children:[(0,s.jsxs)(m.Z,{children:[(0,s.jsx)(c.Z,{children:"OpenAI Python SDK"}),(0,s.jsx)(c.Z,{children:"Supported OpenAI Params"}),(0,s.jsx)(c.Z,{children:"LlamaIndex"}),(0,s.jsx)(c.Z,{children:"Langchain Py"})]}),(0,s.jsxs)(u.Z,{children:[(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:'\nimport openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="http://0.0.0.0:4000" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="'.concat(O.model_group,'", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)\n ')})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:"".concat(null===(n=O.supported_openai_params)||void 0===n?void 0:n.map(e=>"".concat(e,"\n")).join(""))})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:'\nimport os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="'.concat(O.model_group,'", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="http://0.0.0.0:4000", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="http://0.0.0.0:4000",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)\n\n ')})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:'\nfrom langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="http://0.0.0.0:4000",\n model = "'.concat(O.model_group,'",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)\n\n ')})})]})]})]})})]})}}},function(e){e.O(0,[505,131,777,971,69,744],function(){return e(e.s=69610)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[418],{33786:function(e,n,t){Promise.resolve().then(t.bind(t,87494))},87494:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return i}});var s=t(57437),l=t(2265),r=t(47907),a=t(41134);function i(){let e=(0,r.useSearchParams)().get("key"),[n,t]=(0,l.useState)(null);return(0,l.useEffect)(()=>{e&&t(e)},[e]),(0,s.jsx)(a.Z,{accessToken:n,publicPage:!0,premiumUser:!1})}},41134:function(e,n,t){"use strict";t.d(n,{Z:function(){return f}});var s=t(57437),l=t(2265),r=t(47907),a=t(777),i=t(2179),o=t(13810),c=t(92836),d=t(26734),m=t(41608),p=t(32126),u=t(23682),h=t(71801),x=t(42440),_=t(84174),g=t(50459),j=t(6180),b=t(99129),y=t(67951),f=e=>{var n;let{accessToken:t,publicPage:f,premiumUser:v}=e,[Z,k]=(0,l.useState)(!1),[N,S]=(0,l.useState)(null),[A,w]=(0,l.useState)(!1),[M,I]=(0,l.useState)(!1),[O,P]=(0,l.useState)(null),C=(0,r.useRouter)();(0,l.useEffect)(()=>{t&&(async()=>{try{let e=await (0,a.kn)(t);console.log("ModelHubData:",e),S(e.data),(0,a.E9)(t,"enable_public_model_hub").then(e=>{console.log("data: ".concat(JSON.stringify(e))),!0==e.field_value&&k(!0)}).catch(e=>{})}catch(e){console.error("There was an error fetching the model data",e)}})()},[t,f]);let E=e=>{P(e),w(!0)},z=async()=>{t&&(0,a.jA)(t,"enable_public_model_hub",!0).then(e=>{I(!0)})},H=()=>{w(!1),I(!1),P(null)},T=()=>{w(!1),I(!1),P(null)},R=e=>{navigator.clipboard.writeText(e)};return(0,s.jsxs)("div",{children:[f&&Z||!1==f?(0,s.jsxs)("div",{className:"w-full m-2 mt-2 p-8",children:[(0,s.jsx)("div",{className:"relative w-full"}),(0,s.jsxs)("div",{className:"flex ".concat(f?"justify-between":"items-center"),children:[(0,s.jsx)(x.Z,{className:"ml-8 text-center ",children:"Model Hub"}),!1==f?v?(0,s.jsx)(i.Z,{className:"ml-4",onClick:()=>z(),children:"✨ Make Public"}):(0,s.jsx)(i.Z,{className:"ml-4",children:(0,s.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Make Public"})}):(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("p",{children:"Filter by key:"}),(0,s.jsx)(h.Z,{className:"bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center",children:"/ui/model_hub?key="})]})]}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-6 sm:grid-cols-3 lg:grid-cols-4 pr-8",children:N&&N.map(e=>(0,s.jsxs)(o.Z,{className:"mt-5 mx-8",children:[(0,s.jsxs)("pre",{className:"flex justify-between",children:[(0,s.jsx)(x.Z,{children:e.model_group}),(0,s.jsx)(j.Z,{title:e.model_group,children:(0,s.jsx)(_.Z,{onClick:()=>R(e.model_group),style:{cursor:"pointer",marginRight:"10px"}})})]}),(0,s.jsxs)("div",{className:"my-5",children:[(0,s.jsxs)(h.Z,{children:["Mode: ",e.mode]}),(0,s.jsxs)(h.Z,{children:["Supports Function Calling:"," ",(null==e?void 0:e.supports_function_calling)==!0?"Yes":"No"]}),(0,s.jsxs)(h.Z,{children:["Supports Vision:"," ",(null==e?void 0:e.supports_vision)==!0?"Yes":"No"]}),(0,s.jsxs)(h.Z,{children:["Max Input Tokens:"," ",(null==e?void 0:e.max_input_tokens)?null==e?void 0:e.max_input_tokens:"N/A"]}),(0,s.jsxs)(h.Z,{children:["Max Output Tokens:"," ",(null==e?void 0:e.max_output_tokens)?null==e?void 0:e.max_output_tokens:"N/A"]})]}),(0,s.jsx)("div",{style:{marginTop:"auto",textAlign:"right"},children:(0,s.jsxs)("a",{href:"#",onClick:()=>E(e),style:{color:"#1890ff",fontSize:"smaller"},children:["View more ",(0,s.jsx)(g.Z,{})]})})]},e.model_group))})]}):(0,s.jsxs)(o.Z,{className:"mx-auto max-w-xl mt-10",children:[(0,s.jsx)(h.Z,{className:"text-xl text-center mb-2 text-black",children:"Public Model Hub not enabled."}),(0,s.jsx)("p",{className:"text-base text-center text-slate-800",children:"Ask your proxy admin to enable this on their Admin UI."})]}),(0,s.jsx)(b.Z,{title:"Public Model Hub",width:600,visible:M,footer:null,onOk:H,onCancel:T,children:(0,s.jsxs)("div",{className:"pt-5 pb-5",children:[(0,s.jsxs)("div",{className:"flex justify-between mb-4",children:[(0,s.jsx)(h.Z,{className:"text-base mr-2",children:"Shareable Link:"}),(0,s.jsx)(h.Z,{className:"max-w-sm ml-2 bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center rounded",children:"/ui/model_hub?key="})]}),(0,s.jsx)("div",{className:"flex justify-end",children:(0,s.jsx)(i.Z,{onClick:()=>{C.replace("/model_hub?key=".concat(t))},children:"See Page"})})]})}),(0,s.jsx)(b.Z,{title:O&&O.model_group?O.model_group:"Unknown Model",width:800,visible:A,footer:null,onOk:H,onCancel:T,children:O&&(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"mb-4",children:(0,s.jsx)("strong",{children:"Model Information & Usage"})}),(0,s.jsxs)(d.Z,{children:[(0,s.jsxs)(m.Z,{children:[(0,s.jsx)(c.Z,{children:"OpenAI Python SDK"}),(0,s.jsx)(c.Z,{children:"Supported OpenAI Params"}),(0,s.jsx)(c.Z,{children:"LlamaIndex"}),(0,s.jsx)(c.Z,{children:"Langchain Py"})]}),(0,s.jsxs)(u.Z,{children:[(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:'\nimport openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="http://0.0.0.0:4000" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="'.concat(O.model_group,'", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)\n ')})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:"".concat(null===(n=O.supported_openai_params)||void 0===n?void 0:n.map(e=>"".concat(e,"\n")).join(""))})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:'\nimport os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="'.concat(O.model_group,'", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="http://0.0.0.0:4000", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="http://0.0.0.0:4000",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)\n\n ')})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:'\nfrom langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="http://0.0.0.0:4000",\n model = "'.concat(O.model_group,'",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)\n\n ')})})]})]})]})})]})}}},function(e){e.O(0,[505,131,777,971,69,744],function(){return e(e.s=33786)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/onboarding/page-7fa20f666e619ede.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/onboarding/page-ec449de68ed2157b.js similarity index 94% rename from litellm/proxy/_experimental/out/_next/static/chunks/app/onboarding/page-7fa20f666e619ede.js rename to litellm/proxy/_experimental/out/_next/static/chunks/app/onboarding/page-ec449de68ed2157b.js index ce6feda33..1354e5409 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/onboarding/page-7fa20f666e619ede.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/onboarding/page-ec449de68ed2157b.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[461],{20723:function(e,s,t){Promise.resolve().then(t.bind(t,667))},667:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return g}});var l=t(57437),n=t(2265),a=t(47907),i=t(2179),r=t(18190),o=t(13810),c=t(10384),u=t(46453),d=t(71801),m=t(52273),h=t(42440),x=t(30953),f=t(777),p=t(37963),j=t(60620),_=t(1861);function g(){let[e]=j.Z.useForm(),s=(0,a.useSearchParams)();!function(e){console.log("COOKIES",document.cookie);let s=document.cookie.split("; ").find(s=>s.startsWith(e+"="));s&&s.split("=")[1]}("token");let t=s.get("invitation_id"),[g,Z]=(0,n.useState)(null),[k,w]=(0,n.useState)(""),[S,b]=(0,n.useState)(""),[N,v]=(0,n.useState)(null),[y,E]=(0,n.useState)(""),[I,O]=(0,n.useState)("");return(0,n.useEffect)(()=>{t&&(0,f.W_)(t).then(e=>{let s=e.login_url;console.log("login_url:",s),E(s);let t=e.token,l=(0,p.o)(t);O(t),console.log("decoded:",l),Z(l.key),console.log("decoded user email:",l.user_email),b(l.user_email),v(l.user_id)})},[t]),(0,l.jsx)("div",{className:"mx-auto w-full max-w-md mt-10",children:(0,l.jsxs)(o.Z,{children:[(0,l.jsx)(h.Z,{className:"text-sm mb-5 text-center",children:"\uD83D\uDE85 LiteLLM"}),(0,l.jsx)(h.Z,{className:"text-xl",children:"Sign up"}),(0,l.jsx)(d.Z,{children:"Claim your user account to login to Admin UI."}),(0,l.jsx)(r.Z,{className:"mt-4",title:"SSO",icon:x.GH$,color:"sky",children:(0,l.jsxs)(u.Z,{numItems:2,className:"flex justify-between items-center",children:[(0,l.jsx)(c.Z,{children:"SSO is under the Enterprise Tirer."}),(0,l.jsx)(c.Z,{children:(0,l.jsx)(i.Z,{variant:"primary",className:"mb-2",children:(0,l.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})})]})}),(0,l.jsxs)(j.Z,{className:"mt-10 mb-5 mx-auto",layout:"vertical",onFinish:e=>{console.log("in handle submit. accessToken:",g,"token:",I,"formValues:",e),g&&I&&(e.user_email=S,N&&t&&(0,f.m_)(g,t,N,e.password).then(e=>{var s;let t="/ui/";t+="?userID="+((null===(s=e.data)||void 0===s?void 0:s.user_id)||e.user_id),document.cookie="token="+I,console.log("redirecting to:",t),window.location.href=t}))},children:[(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(j.Z.Item,{label:"Email Address",name:"user_email",children:(0,l.jsx)(m.Z,{type:"email",disabled:!0,value:S,defaultValue:S,className:"max-w-md"})}),(0,l.jsx)(j.Z.Item,{label:"Password",name:"password",rules:[{required:!0,message:"password required to sign up"}],help:"Create a password for your account",children:(0,l.jsx)(m.Z,{placeholder:"",type:"password",className:"max-w-md"})})]}),(0,l.jsx)("div",{className:"mt-10",children:(0,l.jsx)(_.ZP,{htmlType:"submit",children:"Sign Up"})})]})]})})}}},function(e){e.O(0,[665,505,684,777,971,69,744],function(){return e(e.s=20723)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[461],{61994:function(e,s,t){Promise.resolve().then(t.bind(t,667))},667:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return g}});var l=t(57437),n=t(2265),a=t(47907),i=t(2179),r=t(18190),o=t(13810),c=t(10384),u=t(46453),d=t(71801),m=t(52273),h=t(42440),x=t(30953),f=t(777),p=t(37963),j=t(60620),_=t(1861);function g(){let[e]=j.Z.useForm(),s=(0,a.useSearchParams)();!function(e){console.log("COOKIES",document.cookie);let s=document.cookie.split("; ").find(s=>s.startsWith(e+"="));s&&s.split("=")[1]}("token");let t=s.get("invitation_id"),[g,Z]=(0,n.useState)(null),[k,w]=(0,n.useState)(""),[S,b]=(0,n.useState)(""),[N,v]=(0,n.useState)(null),[y,E]=(0,n.useState)(""),[I,O]=(0,n.useState)("");return(0,n.useEffect)(()=>{t&&(0,f.W_)(t).then(e=>{let s=e.login_url;console.log("login_url:",s),E(s);let t=e.token,l=(0,p.o)(t);O(t),console.log("decoded:",l),Z(l.key),console.log("decoded user email:",l.user_email),b(l.user_email),v(l.user_id)})},[t]),(0,l.jsx)("div",{className:"mx-auto w-full max-w-md mt-10",children:(0,l.jsxs)(o.Z,{children:[(0,l.jsx)(h.Z,{className:"text-sm mb-5 text-center",children:"\uD83D\uDE85 LiteLLM"}),(0,l.jsx)(h.Z,{className:"text-xl",children:"Sign up"}),(0,l.jsx)(d.Z,{children:"Claim your user account to login to Admin UI."}),(0,l.jsx)(r.Z,{className:"mt-4",title:"SSO",icon:x.GH$,color:"sky",children:(0,l.jsxs)(u.Z,{numItems:2,className:"flex justify-between items-center",children:[(0,l.jsx)(c.Z,{children:"SSO is under the Enterprise Tirer."}),(0,l.jsx)(c.Z,{children:(0,l.jsx)(i.Z,{variant:"primary",className:"mb-2",children:(0,l.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})})]})}),(0,l.jsxs)(j.Z,{className:"mt-10 mb-5 mx-auto",layout:"vertical",onFinish:e=>{console.log("in handle submit. accessToken:",g,"token:",I,"formValues:",e),g&&I&&(e.user_email=S,N&&t&&(0,f.m_)(g,t,N,e.password).then(e=>{var s;let t="/ui/";t+="?userID="+((null===(s=e.data)||void 0===s?void 0:s.user_id)||e.user_id),document.cookie="token="+I,console.log("redirecting to:",t),window.location.href=t}))},children:[(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(j.Z.Item,{label:"Email Address",name:"user_email",children:(0,l.jsx)(m.Z,{type:"email",disabled:!0,value:S,defaultValue:S,className:"max-w-md"})}),(0,l.jsx)(j.Z.Item,{label:"Password",name:"password",rules:[{required:!0,message:"password required to sign up"}],help:"Create a password for your account",children:(0,l.jsx)(m.Z,{placeholder:"",type:"password",className:"max-w-md"})})]}),(0,l.jsx)("div",{className:"mt-10",children:(0,l.jsx)(_.ZP,{htmlType:"submit",children:"Sign Up"})})]})]})})}}},function(e){e.O(0,[665,505,684,777,971,69,744],function(){return e(e.s=61994)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/page-622ba7e9bad88d9e.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/page-622ba7e9bad88d9e.js deleted file mode 100644 index ab82af7e4..000000000 --- a/litellm/proxy/_experimental/out/_next/static/chunks/app/page-622ba7e9bad88d9e.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{79615:function(e,l,s){Promise.resolve().then(s.bind(s,13564))},667:function(e,l,s){"use strict";s.r(l),s.d(l,{default:function(){return f}});var t=s(57437),n=s(2265),a=s(47907),r=s(2179),i=s(18190),o=s(13810),d=s(10384),c=s(46453),m=s(71801),u=s(52273),h=s(42440),x=s(30953),p=s(777),j=s(37963),g=s(60620),Z=s(1861);function f(){let[e]=g.Z.useForm(),l=(0,a.useSearchParams)();!function(e){console.log("COOKIES",document.cookie);let l=document.cookie.split("; ").find(l=>l.startsWith(e+"="));l&&l.split("=")[1]}("token");let s=l.get("invitation_id"),[f,_]=(0,n.useState)(null),[y,b]=(0,n.useState)(""),[v,k]=(0,n.useState)(""),[S,w]=(0,n.useState)(null),[N,I]=(0,n.useState)(""),[A,C]=(0,n.useState)("");return(0,n.useEffect)(()=>{s&&(0,p.W_)(s).then(e=>{let l=e.login_url;console.log("login_url:",l),I(l);let s=e.token,t=(0,j.o)(s);C(s),console.log("decoded:",t),_(t.key),console.log("decoded user email:",t.user_email),k(t.user_email),w(t.user_id)})},[s]),(0,t.jsx)("div",{className:"mx-auto w-full max-w-md mt-10",children:(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(h.Z,{className:"text-sm mb-5 text-center",children:"\uD83D\uDE85 LiteLLM"}),(0,t.jsx)(h.Z,{className:"text-xl",children:"Sign up"}),(0,t.jsx)(m.Z,{children:"Claim your user account to login to Admin UI."}),(0,t.jsx)(i.Z,{className:"mt-4",title:"SSO",icon:x.GH$,color:"sky",children:(0,t.jsxs)(c.Z,{numItems:2,className:"flex justify-between items-center",children:[(0,t.jsx)(d.Z,{children:"SSO is under the Enterprise Tirer."}),(0,t.jsx)(d.Z,{children:(0,t.jsx)(r.Z,{variant:"primary",className:"mb-2",children:(0,t.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})})]})}),(0,t.jsxs)(g.Z,{className:"mt-10 mb-5 mx-auto",layout:"vertical",onFinish:e=>{console.log("in handle submit. accessToken:",f,"token:",A,"formValues:",e),f&&A&&(e.user_email=v,S&&s&&(0,p.m_)(f,s,S,e.password).then(e=>{var l;let s="/ui/";s+="?userID="+((null===(l=e.data)||void 0===l?void 0:l.user_id)||e.user_id),document.cookie="token="+A,console.log("redirecting to:",s),window.location.href=s}))},children:[(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g.Z.Item,{label:"Email Address",name:"user_email",children:(0,t.jsx)(u.Z,{type:"email",disabled:!0,value:v,defaultValue:v,className:"max-w-md"})}),(0,t.jsx)(g.Z.Item,{label:"Password",name:"password",rules:[{required:!0,message:"password required to sign up"}],help:"Create a password for your account",children:(0,t.jsx)(u.Z,{placeholder:"",type:"password",className:"max-w-md"})})]}),(0,t.jsx)("div",{className:"mt-10",children:(0,t.jsx)(Z.ZP,{htmlType:"submit",children:"Sign Up"})})]})]})})}},13564:function(e,l,s){"use strict";s.r(l),s.d(l,{default:function(){return lg}});var t,n,a=s(57437),r=s(2265),i=s(47907),o=s(8792),d=s(40491),c=s(65270),m=e=>{let{userID:l,userRole:s,userEmail:t,premiumUser:n,setProxySettings:r,proxySettings:i}=e;console.log("User ID:",l),console.log("userEmail:",t),console.log("premiumUser:",n),console.log=function(){};let m="";console.log("PROXY_settings=",i),i&&i.PROXY_LOGOUT_URL&&void 0!==i.PROXY_LOGOUT_URL&&(m=i.PROXY_LOGOUT_URL),console.log("logoutUrl=",m);let u=[{key:"1",label:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("p",{children:["Role: ",s]}),(0,a.jsxs)("p",{children:["ID: ",l]}),(0,a.jsxs)("p",{children:["Premium User: ",String(n)]})]})},{key:"2",label:(0,a.jsx)("p",{onClick:()=>{document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",window.location.href=m},children:"Logout"})}];return(0,a.jsxs)("nav",{className:"left-0 right-0 top-0 flex justify-between items-center h-12 mb-4",children:[(0,a.jsx)("div",{className:"text-left my-2 absolute top-0 left-0",children:(0,a.jsx)("div",{className:"flex flex-col items-center",children:(0,a.jsx)(o.default,{href:"/",children:(0,a.jsx)("button",{className:"text-gray-800 rounded text-center",children:(0,a.jsx)("img",{src:"/get_image",width:160,height:160,alt:"LiteLLM Brand",className:"mr-2"})})})})}),(0,a.jsxs)("div",{className:"text-right mx-4 my-2 absolute top-0 right-0 flex items-center justify-end space-x-2",children:[n?null:(0,a.jsx)("div",{style:{padding:"6px",borderRadius:"8px"},children:(0,a.jsx)("a",{href:"https://calendly.com/d/4mp-gd3-k5k/litellm-1-1-onboarding-chat",target:"_blank",style:{fontSize:"14px",textDecoration:"underline"},children:"Get enterprise license"})}),(0,a.jsx)("div",{style:{border:"1px solid #391085",padding:"6px",borderRadius:"8px"},children:(0,a.jsx)(d.Z,{menu:{items:u},children:(0,a.jsx)(c.Z,{children:t})})})]})]})},u=s(777),h=s(10384),x=s(46453),p=s(2179),j=s(52273),g=s(26780),Z=s(15595),f=s(6698),_=s(71801),y=s(42440),b=s(42308),v=s(50670),k=s(60620),S=s(80588),w=s(99129),N=s(44839),I=s(88707),A=s(1861);let{Option:C}=v.default;var P=e=>{let{userID:l,team:s,userRole:t,accessToken:n,data:i,setData:o}=e,[d]=k.Z.useForm(),[c,m]=(0,r.useState)(!1),[P,T]=(0,r.useState)(null),[E,O]=(0,r.useState)(null),[R,F]=(0,r.useState)([]),[M,L]=(0,r.useState)([]),D=()=>{m(!1),d.resetFields()},U=()=>{m(!1),T(null),d.resetFields()};(0,r.useEffect)(()=>{(async()=>{try{if(null===l||null===t)return;if(null!==n){let e=(await (0,u.So)(n,l,t)).data.map(e=>e.id);console.log("available_model_names:",e),F(e)}}catch(e){console.error("Error fetching user models:",e)}})()},[n,l,t]);let z=async e=>{try{var s,t,a;let r=null!==(s=null==e?void 0:e.key_alias)&&void 0!==s?s:"",c=null!==(t=null==e?void 0:e.team_id)&&void 0!==t?t:null;if((null!==(a=null==i?void 0:i.filter(e=>e.team_id===c).map(e=>e.key_alias))&&void 0!==a?a:[]).includes(r))throw Error("Key alias ".concat(r," already exists for team with ID ").concat(c,", please provide another key alias"));S.ZP.info("Making API Call"),m(!0);let h=await (0,u.wX)(n,l,e);console.log("key create Response:",h),o(e=>e?[...e,h]:[h]),T(h.key),O(h.soft_budget),S.ZP.success("API Key Created"),d.resetFields(),localStorage.removeItem("userData"+l)}catch(e){console.error("Error creating the key:",e),S.ZP.error("Error creating the key: ".concat(e),20)}};return(0,r.useEffect)(()=>{L(s&&s.models.length>0?s.models.includes("all-proxy-models")?R:s.models:R)},[s,R]),(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>m(!0),children:"+ Create New Key"}),(0,a.jsx)(w.Z,{title:"Create Key",visible:c,width:800,footer:null,onOk:D,onCancel:U,children:(0,a.jsxs)(k.Z,{form:d,onFinish:z,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Key Name",name:"key_alias",rules:[{required:!0,message:"Please input a key name"}],help:"required",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Team ID",name:"team_id",hidden:!0,initialValue:s?s.team_id:null,valuePropName:"team_id",className:"mt-8",children:(0,a.jsx)(N.Z,{value:s?s.team_alias:"",disabled:!0})}),(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",rules:[{required:!0,message:"Please select a model"}],help:"required",children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},onChange:e=>{e.includes("all-team-models")&&d.setFieldsValue({models:["all-team-models"]})},children:[(0,a.jsx)(C,{value:"all-team-models",children:"All Team Models"},"all-team-models"),M.map(e=>(0,a.jsx)(C,{value:e,children:e},e))]})}),(0,a.jsxs)(g.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(f.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(Z.Z,{children:[(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Max Budget (USD)",name:"max_budget",help:"Budget cannot exceed team max budget: $".concat((null==s?void 0:s.max_budget)!==null&&(null==s?void 0:s.max_budget)!==void 0?null==s?void 0:s.max_budget:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&s&&null!==s.max_budget&&l>s.max_budget)throw Error("Budget cannot exceed team max budget: $".concat(s.max_budget))}}],children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",help:"Team Reset Budget: ".concat((null==s?void 0:s.budget_duration)!==null&&(null==s?void 0:s.budget_duration)!==void 0?null==s?void 0:s.budget_duration:"None"),children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Tokens per minute Limit (TPM)",name:"tpm_limit",help:"TPM cannot exceed team TPM limit: ".concat((null==s?void 0:s.tpm_limit)!==null&&(null==s?void 0:s.tpm_limit)!==void 0?null==s?void 0:s.tpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&s&&null!==s.tpm_limit&&l>s.tpm_limit)throw Error("TPM limit cannot exceed team TPM limit: ".concat(s.tpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Requests per minute Limit (RPM)",name:"rpm_limit",help:"RPM cannot exceed team RPM limit: ".concat((null==s?void 0:s.rpm_limit)!==null&&(null==s?void 0:s.rpm_limit)!==void 0?null==s?void 0:s.rpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&s&&null!==s.rpm_limit&&l>s.rpm_limit)throw Error("RPM limit cannot exceed team RPM limit: ".concat(s.rpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Expire Key (eg: 30s, 30h, 30d)",name:"duration",className:"mt-8",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Metadata",name:"metadata",className:"mt-8",children:(0,a.jsx)(N.Z.TextArea,{rows:4,placeholder:"Enter metadata as JSON"})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create Key"})})]})}),P&&(0,a.jsx)(w.Z,{visible:c,onOk:D,onCancel:U,footer:null,children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full",children:[(0,a.jsx)(y.Z,{children:"Save your Key"}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("p",{children:["Please save this secret key somewhere safe and accessible. For security reasons, ",(0,a.jsx)("b",{children:"you will not be able to view it again"})," ","through your LiteLLM account. If you lose this secret key, you will need to generate a new one."]})}),(0,a.jsx)(h.Z,{numColSpan:1,children:null!=P?(0,a.jsxs)("div",{children:[(0,a.jsx)(_.Z,{className:"mt-3",children:"API Key:"}),(0,a.jsx)("div",{style:{background:"#f8f8f8",padding:"10px",borderRadius:"5px",marginBottom:"10px"},children:(0,a.jsx)("pre",{style:{wordWrap:"break-word",whiteSpace:"normal"},children:P})}),(0,a.jsx)(b.CopyToClipboard,{text:P,onCopy:()=>{S.ZP.success("API Key copied to clipboard")},children:(0,a.jsx)(p.Z,{className:"mt-3",children:"Copy API Key"})})]}):(0,a.jsx)(_.Z,{children:"Key being created, this might take 30s"})})]})})]})},T=s(66002),E=s(9454),O=s(98941),R=s(63954),F=s(33393),M=s(5),L=s(13810),D=s(61244),U=s(10827),z=s(3851),V=s(2044),q=s(64167),B=s(74480),K=s(7178),W=s(95093),H=s(27166);let{Option:G}=v.default;console.log=function(){};var Y=e=>{let{userID:l,userRole:s,accessToken:t,selectedTeam:n,data:i,setData:o,teams:d,premiumUser:c}=e,[m,g]=(0,r.useState)(!1),[Z,f]=(0,r.useState)(!1),[N,C]=(0,r.useState)(null),[P,Y]=(0,r.useState)(null),[J,X]=(0,r.useState)(null),[$,Q]=(0,r.useState)(""),[ee,el]=(0,r.useState)(!1),[es,et]=(0,r.useState)(!1),[en,ea]=(0,r.useState)(null),[er,ei]=(0,r.useState)([]),eo=new Set,[ed,ec]=(0,r.useState)(!1),[em,eu]=(0,r.useState)(!1),[eh,ex]=(0,r.useState)(null),[ep,ej]=(0,r.useState)(null),[eg]=k.Z.useForm(),[eZ,ef]=(0,r.useState)(null),[e_,ey]=(0,r.useState)(eo);(0,r.useEffect)(()=>{console.log("in calculateNewExpiryTime for selectedToken",en),(null==ep?void 0:ep.duration)?ef((e=>{if(!e)return null;try{let l;let s=new Date;if(e.endsWith("s"))l=(0,T.Z)(s,{seconds:parseInt(e)});else if(e.endsWith("h"))l=(0,T.Z)(s,{hours:parseInt(e)});else if(e.endsWith("d"))l=(0,T.Z)(s,{days:parseInt(e)});else throw Error("Invalid duration format");return l.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!0})}catch(e){return null}})(ep.duration)):ef(null),console.log("calculateNewExpiryTime:",eZ)},[en,null==ep?void 0:ep.duration]),(0,r.useEffect)(()=>{(async()=>{try{if(null===l)return;if(null!==t&&null!==s){let e=(await (0,u.So)(t,l,s)).data.map(e=>e.id);console.log("available_model_names:",e),ei(e)}}catch(e){console.error("Error fetching user models:",e)}})()},[t,l,s]);let eb=e=>{ea(e),ec(!0)},ev=async e=>{if(null==t||null==en)return;let l={...en,metadata:e,key:en.token};try{let e=await (0,u.Nc)(t,l);if(console.log("Model limits updated:",e),i){let l=i.map(l=>l.token===en.token?e:l);o(l)}S.ZP.success("Model-specific limits updated successfully")}catch(e){console.error("Error updating model-specific limits:",e),S.ZP.error("Failed to update model-specific limits")}ec(!1),ea(null)};(0,r.useEffect)(()=>{if(d){let e=new Set;d.forEach((l,s)=>{let t=l.team_id;e.add(t)}),ey(e)}},[d]);let ek=e=>{console.log("handleEditClick:",e),null==e.token&&null!==e.token_id&&(e.token=e.token_id);let l=null;if(e.budget_duration)switch(e.budget_duration){case"24h":l="daily";break;case"7d":l="weekly";break;case"30d":l="monthly";break;default:l="None"}ea({...e,budget_duration:l}),el(!0)},eS=async e=>{if(null==t)return;let l=e.token;if(e.key=l,e.budget_duration)switch(e.budget_duration){case"daily":e.budget_duration="24h";break;case"weekly":e.budget_duration="7d";break;case"monthly":e.budget_duration="30d"}console.log("handleEditSubmit:",e);let s=await (0,u.Nc)(t,e);console.log("handleEditSubmit: newKeyValues",s),i&&o(i.map(e=>e.token===l?s:e)),S.ZP.success("Key updated successfully"),el(!1),ea(null)},ew=async e=>{console.log("handleDelete:",e),null==e.token&&null!==e.token_id&&(e.token=e.token_id),null!=i&&(C(e.token),localStorage.removeItem("userData"+l),f(!0))},eN=async()=>{if(null!=N&&null!=i){try{await (0,u.I1)(t,N);let e=i.filter(e=>e.token!==N);o(e)}catch(e){console.error("Error deleting the key:",e)}f(!1),C(null)}},eI=e=>{ea(e),ef(null),eg.setFieldsValue({key_alias:e.key_alias,max_budget:e.max_budget,tpm_limit:e.tpm_limit,rpm_limit:e.rpm_limit,duration:e.duration||""}),eu(!0)},eA=(e,l)=>{ej(s=>({...s,[e]:l}))},eC=async()=>{if(!c){S.ZP.error("Regenerate API Key is an Enterprise feature. Please upgrade to use this feature.");return}if(null!=en)try{let e=await eg.validateFields(),l=await (0,u.s0)(t,en.token,e);if(ex(l.key),i){let s=i.map(s=>s.token===(null==en?void 0:en.token)?{...s,key_name:l.key_name,...e}:s);o(s)}eu(!1),eg.resetFields(),S.ZP.success("API Key regenerated successfully")}catch(e){console.error("Error regenerating key:",e),S.ZP.error("Failed to regenerate API Key")}};if(null!=i)return console.log("RERENDER TRIGGERED"),(0,a.jsxs)("div",{children:[(0,a.jsxs)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh] mb-4 mt-2",children:[(0,a.jsxs)(U.Z,{className:"mt-5 max-h-[300px] min-h-[300px]",children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Key Alias"}),(0,a.jsx)(B.Z,{children:"Secret Key"}),(0,a.jsx)(B.Z,{children:"Expires"}),(0,a.jsx)(B.Z,{children:"Spend (USD)"}),(0,a.jsx)(B.Z,{children:"Budget (USD)"}),(0,a.jsx)(B.Z,{children:"Budget Reset"}),(0,a.jsx)(B.Z,{children:"Models"}),(0,a.jsx)(B.Z,{children:"Rate Limits"}),(0,a.jsx)(B.Z,{children:"Rate Limits per model"})]})}),(0,a.jsx)(z.Z,{children:i.map(e=>{if(console.log(e),"litellm-dashboard"===e.team_id)return null;if(n){if(console.log("item team id: ".concat(e.team_id,", knownTeamIDs.has(item.team_id): ").concat(e_.has(e.team_id),", selectedTeam id: ").concat(n.team_id)),(null!=n.team_id||null===e.team_id||e_.has(e.team_id))&&e.team_id!=n.team_id)return null;console.log("item team id: ".concat(e.team_id,", is returned"))}return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{style:{maxWidth:"2px",whiteSpace:"pre-wrap",overflow:"hidden"},children:null!=e.key_alias?(0,a.jsx)(_.Z,{children:e.key_alias}):(0,a.jsx)(_.Z,{children:"Not Set"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:e.key_name})}),(0,a.jsx)(V.Z,{children:null!=e.expires?(0,a.jsx)("div",{children:(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:new Date(e.expires).toLocaleString()})}):(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:"Never"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:(()=>{try{return parseFloat(e.spend).toFixed(4)}catch(l){return e.spend}})()})}),(0,a.jsx)(V.Z,{children:null!=e.max_budget?(0,a.jsx)(_.Z,{children:e.max_budget}):(0,a.jsx)(_.Z,{children:"Unlimited"})}),(0,a.jsx)(V.Z,{children:null!=e.budget_reset_at?(0,a.jsx)("div",{children:(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:new Date(e.budget_reset_at).toLocaleString()})}):(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:"Never"})}),(0,a.jsx)(V.Z,{children:Array.isArray(e.models)?(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:0===e.models.length?(0,a.jsx)(a.Fragment,{children:n&&n.models&&n.models.length>0?n.models.map((e,l)=>"all-proxy-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})},l):"all-team-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Team Models"})},l):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},l)):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:"all-proxy-models"})})}):e.models.map((e,l)=>"all-proxy-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})},l):"all-team-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Team Models"})},l):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},l))}):null}),(0,a.jsx)(V.Z,{children:(0,a.jsxs)(_.Z,{children:["TPM: ",e.tpm_limit?e.tpm_limit:"Unlimited"," ",(0,a.jsx)("br",{})," RPM:"," ",e.rpm_limit?e.rpm_limit:"Unlimited"]})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{size:"xs",onClick:()=>eb(e),children:"Edit Limits"})}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(D.Z,{onClick:()=>{ea(e),et(!0)},icon:E.Z,size:"sm"}),(0,a.jsx)(w.Z,{open:es,onCancel:()=>{et(!1),ea(null)},footer:null,width:800,children:en&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3 mt-8",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Spend"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:(()=>{try{return parseFloat(en.spend).toFixed(4)}catch(e){return en.spend}})()})})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Budget"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:null!=en.max_budget?(0,a.jsxs)(a.Fragment,{children:[en.max_budget,en.budget_duration&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("br",{}),"Budget will be reset at ",en.budget_reset_at?new Date(en.budget_reset_at).toLocaleString():"Never"]})]}):(0,a.jsx)(a.Fragment,{children:"Unlimited"})})})]},e.name),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Expires"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor-default font-small text-tremor-content-strong dark:text-dark-tremor-content-strong",children:null!=en.expires?(0,a.jsx)(a.Fragment,{children:new Date(en.expires).toLocaleString(void 0,{day:"numeric",month:"long",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})}):(0,a.jsx)(a.Fragment,{children:"Never"})})})]},e.name)]}),(0,a.jsxs)(L.Z,{className:"my-4",children:[(0,a.jsx)(y.Z,{children:"Token Name"}),(0,a.jsx)(_.Z,{className:"my-1",children:en.key_alias?en.key_alias:en.key_name}),(0,a.jsx)(y.Z,{children:"Token ID"}),(0,a.jsx)(_.Z,{className:"my-1 text-[12px]",children:en.token}),(0,a.jsx)(y.Z,{children:"User ID"}),(0,a.jsx)(_.Z,{className:"my-1 text-[12px]",children:en.user_id}),(0,a.jsx)(y.Z,{children:"Metadata"}),(0,a.jsx)(_.Z,{className:"my-1",children:(0,a.jsxs)("pre",{children:[JSON.stringify(en.metadata)," "]})})]}),(0,a.jsx)(p.Z,{className:"mx-auto flex items-center",onClick:()=>{et(!1),ea(null)},children:"Close"})]})}),(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>ek(e)}),(0,a.jsx)(D.Z,{onClick:()=>eI(e),icon:R.Z,size:"sm"}),(0,a.jsx)(D.Z,{onClick:()=>ew(e),icon:F.Z,size:"sm"})]})]},e.token)})})]}),Z&&(0,a.jsx)("div",{className:"fixed z-10 inset-0 overflow-y-auto",children:(0,a.jsxs)("div",{className:"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0",children:[(0,a.jsx)("div",{className:"fixed inset-0 transition-opacity","aria-hidden":"true",children:(0,a.jsx)("div",{className:"absolute inset-0 bg-gray-500 opacity-75"})}),(0,a.jsx)("span",{className:"hidden sm:inline-block sm:align-middle sm:h-screen","aria-hidden":"true",children:"​"}),(0,a.jsxs)("div",{className:"inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full",children:[(0,a.jsx)("div",{className:"bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4",children:(0,a.jsx)("div",{className:"sm:flex sm:items-start",children:(0,a.jsxs)("div",{className:"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left",children:[(0,a.jsx)("h3",{className:"text-lg leading-6 font-medium text-gray-900",children:"Delete Key"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("p",{className:"text-sm text-gray-500",children:"Are you sure you want to delete this key ?"})})]})})}),(0,a.jsxs)("div",{className:"bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,a.jsx)(p.Z,{onClick:eN,color:"red",className:"ml-2",children:"Delete"}),(0,a.jsx)(p.Z,{onClick:()=>{f(!1),C(null)},children:"Cancel"})]})]})]})})]}),en&&(0,a.jsx)(e=>{let{visible:l,onCancel:s,token:t,onSubmit:i}=e,[o]=k.Z.useForm(),[c,m]=(0,r.useState)(n),[u,h]=(0,r.useState)([]),[x,p]=(0,r.useState)(!1);return(0,a.jsx)(w.Z,{title:"Edit Key",visible:l,width:800,footer:null,onOk:()=>{o.validateFields().then(e=>{o.resetFields()}).catch(e=>{console.error("Validation failed:",e)})},onCancel:s,children:(0,a.jsxs)(k.Z,{form:o,onFinish:eS,initialValues:{...t,budget_duration:t.budget_duration},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",rules:[{validator:(e,l)=>{let s=l.filter(e=>!c.models.includes(e)&&"all-team-models"!==e&&"all-proxy-models"!==e&&!c.models.includes("all-proxy-models"));return(console.log("errorModels: ".concat(s)),s.length>0)?Promise.reject("Some models are not part of the new team's models - ".concat(s,"Team models: ").concat(c.models)):Promise.resolve()}}],children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,a.jsx)(G,{value:"all-team-models",children:"All Team Models"},"all-team-models"),c&&c.models?c.models.includes("all-proxy-models")?er.filter(e=>"all-proxy-models"!==e).map(e=>(0,a.jsx)(G,{value:e,children:e},e)):c.models.map(e=>(0,a.jsx)(G,{value:e,children:e},e)):er.map(e=>(0,a.jsx)(G,{value:e,children:e},e))]})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Max Budget (USD)",name:"max_budget",help:"Budget cannot exceed team max budget: ".concat((null==c?void 0:c.max_budget)!==null&&(null==c?void 0:c.max_budget)!==void 0?null==c?void 0:c.max_budget:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&c&&null!==c.max_budget&&l>c.max_budget)throw console.log("keyTeam.max_budget: ".concat(c.max_budget)),Error("Budget cannot exceed team max budget: $".concat(c.max_budget))}}],children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",help:"Current Reset Budget: ".concat(t.budget_duration,", budget will be reset: ").concat(t.budget_reset_at?new Date(t.budget_reset_at).toLocaleString():"Never"),children:(0,a.jsxs)(v.default,{placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"daily",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"weekly",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"monthly",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{label:"token",name:"token",hidden:!0}),(0,a.jsx)(k.Z.Item,{label:"Team",name:"team_id",className:"mt-8",help:"the team this key belongs to",children:(0,a.jsx)(W.Z,{value:t.team_alias,children:null==d?void 0:d.map((e,l)=>(0,a.jsx)(H.Z,{value:e.team_id,onClick:()=>m(e),children:e.team_alias},l))})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"TPM Limit (tokens per minute)",name:"tpm_limit",help:"tpm_limit cannot exceed team tpm_limit ".concat((null==c?void 0:c.tpm_limit)!==null&&(null==c?void 0:c.tpm_limit)!==void 0?null==c?void 0:c.tpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&c&&null!==c.tpm_limit&&l>c.tpm_limit)throw console.log("keyTeam.tpm_limit: ".concat(c.tpm_limit)),Error("tpm_limit cannot exceed team max tpm_limit: $".concat(c.tpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,precision:1,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"RPM Limit (requests per minute)",name:"rpm_limit",help:"rpm_limit cannot exceed team max tpm_limit: ".concat((null==c?void 0:c.rpm_limit)!==null&&(null==c?void 0:c.rpm_limit)!==void 0?null==c?void 0:c.rpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&c&&null!==c.rpm_limit&&l>c.rpm_limit)throw console.log("keyTeam.rpm_limit: ".concat(c.rpm_limit)),Error("rpm_limit cannot exceed team max rpm_limit: $".concat(c.rpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,precision:1,width:200})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Edit Key"})})]})})},{visible:ee,onCancel:()=>{el(!1),ea(null)},token:en,onSubmit:eS}),en&&(0,a.jsx)(e=>{let{visible:l,onCancel:s,token:t,onSubmit:n,accessToken:i}=e,[o,d]=(0,r.useState)({}),[c,m]=(0,r.useState)([]),[h,x]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(t.metadata){let e=t.metadata.model_tpm_limit||{},l=t.metadata.model_rpm_limit||{},s={};Object.keys({...e,...l}).forEach(t=>{s[t]={tpm:e[t]||0,rpm:l[t]||0}}),d(s)}(async()=>{try{let e=await (0,u.AZ)(i,"",""),l=Array.from(new Set(e.data.map(e=>e.model_name)));m(l)}catch(e){console.error("Error fetching model data:",e),S.ZP.error("Failed to fetch available models")}})()},[t,i]);let j=(e,l,s)=>{d(t=>({...t,[e]:{...t[e],[l]:s||0}}))},g=e=>{d(l=>{let{[e]:s,...t}=l;return t})};return(0,a.jsxs)(w.Z,{title:"Edit Model-Specific Limits",visible:l,onCancel:s,footer:null,width:800,children:[(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Model"}),(0,a.jsx)(B.Z,{children:"TPM Limit"}),(0,a.jsx)(B.Z,{children:"RPM Limit"}),(0,a.jsx)(B.Z,{children:"Actions"})]})}),(0,a.jsxs)(z.Z,{children:[Object.entries(o).map(e=>{let[l,s]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:l}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(I.Z,{value:s.tpm,onChange:e=>j(l,"tpm",e)})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(I.Z,{value:s.rpm,onChange:e=>j(l,"rpm",e)})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{onClick:()=>g(l),children:"Remove"})})]},l)}),null!==h&&(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:(0,a.jsx)(v.default,{style:{width:200},placeholder:"Select a model",onChange:e=>{o[e]||d(l=>({...l,[e]:{tpm:0,rpm:0}})),x(null)},value:h||void 0,children:c.filter(e=>!o.hasOwnProperty(e)).map(e=>(0,a.jsx)(G,{value:e,children:e},e))})}),(0,a.jsx)(V.Z,{children:"-"}),(0,a.jsx)(V.Z,{children:"-"}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{onClick:()=>x(null),children:"Cancel"})})]})]})]}),(0,a.jsx)(p.Z,{onClick:()=>{x("")},disabled:null!==h,children:"Add Limit"})]}),(0,a.jsxs)("div",{className:"flex justify-end space-x-4 mt-6",children:[(0,a.jsx)(p.Z,{onClick:s,children:"Cancel"}),(0,a.jsx)(p.Z,{onClick:()=>{n({...t.metadata,model_tpm_limit:Object.fromEntries(Object.entries(o).map(e=>{let[l,s]=e;return[l,s.tpm]})),model_rpm_limit:Object.fromEntries(Object.entries(o).map(e=>{let[l,s]=e;return[l,s.rpm]}))})},children:"Save"})]})]})},{visible:ed,onCancel:()=>ec(!1),token:en,onSubmit:ev,accessToken:t}),(0,a.jsx)(w.Z,{title:"Regenerate API Key",visible:em,onCancel:()=>{eu(!1),eg.resetFields()},footer:[(0,a.jsx)(p.Z,{onClick:()=>{eu(!1),eg.resetFields()},className:"mr-2",children:"Cancel"},"cancel"),(0,a.jsx)(p.Z,{onClick:eC,disabled:!c,children:c?"Regenerate":"Upgrade to Regenerate"},"regenerate")],children:c?(0,a.jsxs)(k.Z,{form:eg,layout:"vertical",onValuesChange:(e,l)=>{"duration"in e&&eA("duration",e.duration)},children:[(0,a.jsx)(k.Z.Item,{name:"key_alias",label:"Key Alias",children:(0,a.jsx)(j.Z,{disabled:!0})}),(0,a.jsx)(k.Z.Item,{name:"max_budget",label:"Max Budget (USD)",children:(0,a.jsx)(I.Z,{step:.01,precision:2,style:{width:"100%"}})}),(0,a.jsx)(k.Z.Item,{name:"tpm_limit",label:"TPM Limit",children:(0,a.jsx)(I.Z,{style:{width:"100%"}})}),(0,a.jsx)(k.Z.Item,{name:"rpm_limit",label:"RPM Limit",children:(0,a.jsx)(I.Z,{style:{width:"100%"}})}),(0,a.jsx)(k.Z.Item,{name:"duration",label:"Expire Key (eg: 30s, 30h, 30d)",className:"mt-8",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsxs)("div",{className:"mt-2 text-sm text-gray-500",children:["Current expiry: ",(null==en?void 0:en.expires)!=null?new Date(en.expires).toLocaleString():"Never"]}),eZ&&(0,a.jsxs)("div",{className:"mt-2 text-sm text-green-600",children:["New expiry: ",eZ]})]}):(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to use this feature"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://calendly.com/d/4mp-gd3-k5k/litellm-1-1-onboarding-chat",target:"_blank",children:"Get Free Trial"})})]})}),eh&&(0,a.jsx)(w.Z,{visible:!!eh,onCancel:()=>ex(null),footer:[(0,a.jsx)(p.Z,{onClick:()=>ex(null),children:"Close"},"close")],children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full",children:[(0,a.jsx)(y.Z,{children:"Regenerated Key"}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("p",{children:["Please replace your old key with the new key generated. For security reasons, ",(0,a.jsx)("b",{children:"you will not be able to view it again"})," through your LiteLLM account. If you lose this secret key, you will need to generate a new one."]})}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(_.Z,{className:"mt-3",children:"Key Alias:"}),(0,a.jsx)("div",{style:{background:"#f8f8f8",padding:"10px",borderRadius:"5px",marginBottom:"10px"},children:(0,a.jsx)("pre",{style:{wordWrap:"break-word",whiteSpace:"normal"},children:(null==en?void 0:en.key_alias)||"No alias set"})}),(0,a.jsx)(_.Z,{className:"mt-3",children:"New API Key:"}),(0,a.jsx)("div",{style:{background:"#f8f8f8",padding:"10px",borderRadius:"5px",marginBottom:"10px"},children:(0,a.jsx)("pre",{style:{wordWrap:"break-word",whiteSpace:"normal"},children:eh})}),(0,a.jsx)(b.CopyToClipboard,{text:eh,onCopy:()=>S.ZP.success("API Key copied to clipboard"),children:(0,a.jsx)(p.Z,{className:"mt-3",children:"Copy API Key"})})]})]})})]})};console.log=function(){};var J=e=>{let{userID:l,userRole:s,accessToken:t,userSpend:n,userMaxBudget:i,selectedTeam:o}=e;console.log("userSpend: ".concat(n));let[d,c]=(0,r.useState)(null!==n?n:0),[m,h]=(0,r.useState)(o?o.max_budget:null);(0,r.useEffect)(()=>{o&&("Default Team"===o.team_alias?h(i):h(o.max_budget))},[o,i]);let[x,p]=(0,r.useState)([]);(0,r.useEffect)(()=>{let e=async()=>{if(!t||!l||!s)return};(async()=>{try{if(null===l||null===s)return;if(null!==t){let e=(await (0,u.So)(t,l,s)).data.map(e=>e.id);console.log("available_model_names:",e),p(e)}}catch(e){console.error("Error fetching user models:",e)}})(),e()},[s,t,l]),(0,r.useEffect)(()=>{null!==n&&c(n)},[n]);let j=[];o&&o.models&&(j=o.models),j&&j.includes("all-proxy-models")?(console.log("user models:",x),j=x):j&&j.includes("all-team-models")?j=o.models:j&&0===j.length&&(j=x);let g=void 0!==d?d.toFixed(4):null;return console.log("spend in view user spend: ".concat(d)),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex justify-between gap-x-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Total Spend"}),(0,a.jsxs)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:["$",g]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Max Budget"}),(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:null!==m?"$".concat(m," limit"):"No limit"})]})]})})};console.log=function(){};var X=e=>{let{userID:l,userRole:s,selectedTeam:t,accessToken:n}=e,[i,o]=(0,r.useState)([]);(0,r.useEffect)(()=>{(async()=>{try{if(null===l||null===s)return;if(null!==n){let e=(await (0,u.So)(n,l,s)).data.map(e=>e.id);console.log("available_model_names:",e),o(e)}}catch(e){console.error("Error fetching user models:",e)}})()},[n,l,s]);let d=[];return t&&t.models&&(d=t.models),d&&d.includes("all-proxy-models")&&(console.log("user models:",i),d=i),(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"mb-5",children:(0,a.jsx)("p",{className:"text-3xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:null==t?void 0:t.team_alias})})})},$=e=>{let l,{teams:s,setSelectedTeam:t,userRole:n}=e,i={models:[],team_id:null,team_alias:"Default Team"},[o,d]=(0,r.useState)(i);return(l="App User"===n?s:s?[...s,i]:[i],"App User"===n)?null:(0,a.jsxs)("div",{className:"mt-5 mb-5",children:[(0,a.jsx)(y.Z,{children:"Select Team"}),(0,a.jsx)(_.Z,{children:"If you belong to multiple teams, this setting controls which team is used by default when creating new API Keys."}),(0,a.jsxs)(_.Z,{className:"mt-3 mb-3",children:[(0,a.jsx)("b",{children:"Default Team:"})," If no team_id is set for a key, it will be grouped under here."]}),l&&l.length>0?(0,a.jsx)(W.Z,{defaultValue:"0",children:l.map((e,l)=>(0,a.jsx)(H.Z,{value:String(l),onClick:()=>t(e),children:e.team_alias},l))}):(0,a.jsxs)(_.Z,{children:["No team created. ",(0,a.jsx)("b",{children:"Defaulting to personal account."})]})]})},Q=s(667),ee=s(37963),el=s(97482);console.log=function(){},console.log("isLocal:",!1);var es=e=>{let{userID:l,userRole:s,teams:t,keys:n,setUserRole:o,userEmail:d,setUserEmail:c,setTeams:m,setKeys:p,setProxySettings:j,proxySettings:g,premiumUser:Z}=e,[f,_]=(0,r.useState)(null),y=(0,i.useSearchParams)();y.get("viewSpend"),(0,i.useRouter)();let b=function(e){console.log("COOKIES",document.cookie);let l=document.cookie.split("; ").find(l=>l.startsWith(e+"="));return l?l.split("=")[1]:null}("token"),v=y.get("invitation_id"),[k,S]=(0,r.useState)(null),[w,N]=(0,r.useState)(null),[I,A]=(0,r.useState)([]),C={models:[],team_alias:"Default Team",team_id:null},[T,E]=(0,r.useState)(t?t[0]:C);if(window.addEventListener("beforeunload",function(){sessionStorage.clear()}),(0,r.useEffect)(()=>{if(b){let e=(0,ee.o)(b);if(e){if(console.log("Decoded token:",e),console.log("Decoded key:",e.key),S(e.key),e.user_role){let l=function(e){if(!e)return"Undefined Role";switch(console.log("Received user role: ".concat(e)),e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"app_user":return"App User";case"internal_user":return"Internal User";case"internal_user_viewer":return"Internal Viewer";default:return"Unknown Role"}}(e.user_role);console.log("Decoded user_role:",l),o(l)}else console.log("User role not defined");e.user_email?c(e.user_email):console.log("User Email is not set ".concat(e))}}if(l&&k&&s&&!n&&!f){let e=sessionStorage.getItem("userModels"+l);e?A(JSON.parse(e)):(async()=>{try{let e=await (0,u.Dj)(k);j(e);let t=await (0,u.Br)(k,l,s,!1,null,null);console.log("received teams in user dashboard: ".concat(Object.keys(t),"; team values: ").concat(Object.entries(t.teams))),_(t.user_info),p(t.keys),m(t.teams);let n=[...t.teams];n.length>0?(console.log("response['teams']: ".concat(n)),E(n[0])):E(C),sessionStorage.setItem("userData"+l,JSON.stringify(t.keys)),sessionStorage.setItem("userSpendData"+l,JSON.stringify(t.user_info));let a=(await (0,u.So)(k,l,s)).data.map(e=>e.id);console.log("available_model_names:",a),A(a),console.log("userModels:",I),sessionStorage.setItem("userModels"+l,JSON.stringify(a))}catch(e){console.error("There was an error fetching the data",e)}})()}},[l,b,k,n,s]),(0,r.useEffect)(()=>{if(null!==n&&null!=T&&null!==T.team_id){let e=0;for(let l of n)T.hasOwnProperty("team_id")&&null!==l.team_id&&l.team_id===T.team_id&&(e+=l.spend);N(e)}else if(null!==n){let e=0;for(let l of n)e+=l.spend;N(e)}},[T]),null!=v)return(0,a.jsx)(Q.default,{});if(null==l||null==b){let e="/sso/key/generate";return document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",console.log("Full URL:",e),window.location.href=e,null}if(null==k)return null;if(null==s&&o("App Owner"),s&&"Admin Viewer"==s){let{Title:e,Paragraph:l}=el.default;return(0,a.jsxs)("div",{children:[(0,a.jsx)(e,{level:1,children:"Access Denied"}),(0,a.jsx)(l,{children:"Ask your proxy admin for access to create keys"})]})}return console.log("inside user dashboard, selected team",T),(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsx)(x.Z,{numItems:1,className:"gap-2 p-8 h-[75vh] w-full mt-2",children:(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(X,{userID:l,userRole:s,selectedTeam:T||null,accessToken:k}),(0,a.jsx)(J,{userID:l,userRole:s,userMaxBudget:(null==f?void 0:f.max_budget)||null,accessToken:k,userSpend:w,selectedTeam:T||null}),(0,a.jsx)(Y,{userID:l,userRole:s,accessToken:k,selectedTeam:T||null,data:n,setData:p,premiumUser:Z,teams:t}),(0,a.jsx)(P,{userID:l,team:T||null,userRole:s,accessToken:k,data:n,setData:p},T?T.team_id:null),(0,a.jsx)($,{teams:t,setSelectedTeam:E,userRole:s})]})})})},et=s(49167),en=s(35087),ea=s(92836),er=s(26734),ei=s(41608),eo=s(32126),ed=s(23682),ec=s(47047),em=s(76628),eu=s(25707),eh=s(44041),ex=s(6180),ep=s(28683),ej=s(38302),eg=s(66242),eZ=s(78578),ef=s(34658),e_=e=>{let{modelID:l,accessToken:s}=e,[t,n]=(0,r.useState)(!1),i=async()=>{try{S.ZP.info("Making API Call"),n(!0);let e=await (0,u.Og)(s,l);console.log("model delete Response:",e),S.ZP.success("Model ".concat(l," deleted successfully")),n(!1)}catch(e){console.error("Error deleting the model:",e)}};return(0,a.jsxs)("div",{children:[(0,a.jsx)(D.Z,{onClick:()=>n(!0),icon:F.Z,size:"sm"}),(0,a.jsx)(w.Z,{open:t,onOk:i,okType:"danger",onCancel:()=>n(!1),children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full",children:[(0,a.jsx)(y.Z,{children:"Delete Model"}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)("p",{children:"Are you sure you want to delete this model? This action is irreversible."})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("p",{children:["Model ID: ",(0,a.jsx)("b",{children:l})]})})]})})]})},ey=s(97766),eb=s(46495),ev=s(18190),ek=s(91118),eS=e=>{let{modelMetrics:l,modelMetricsCategories:s,customTooltip:t,premiumUser:n}=e;return n?(0,a.jsx)(ek.Z,{title:"Time to First token (s)",className:"h-72",data:l,index:"date",showLegend:!1,categories:s,colors:["indigo","rose"],connectNulls:!0,customTooltip:t}):(0,a.jsxs)("div",{children:[(0,a.jsx)(ev.Z,{title:"✨ Enterprise Feature",color:"teal",className:"mt-2 mb-4",children:"Enterprise features are available for users with a specific license, please contact LiteLLM to unlock this limitation."}),(0,a.jsx)(p.Z,{variant:"primary",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get in touch"})})]})},ew=e=>{let{fields:l,selectedProvider:s}=e;return 0===l.length?null:(0,a.jsx)(a.Fragment,{children:l.map(e=>(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:e.field_name.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()),name:e.field_name,tooltip:e.field_description,className:"mb-2",children:(0,a.jsx)(j.Z,{placeholder:e.field_value,type:"password"})},e.field_name))})},eN=s(67951);let{Title:eI,Link:eA}=el.default;(t=n||(n={})).OpenAI="OpenAI",t.Azure="Azure",t.Azure_AI_Studio="Azure AI Studio",t.Anthropic="Anthropic",t.Google_AI_Studio="Google AI Studio",t.Bedrock="Amazon Bedrock",t.Groq="Groq",t.MistralAI="Mistral AI",t.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",t.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",t.Cohere="Cohere",t.Databricks="Databricks",t.Ollama="Ollama";let eC={OpenAI:"openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere_chat",OpenAI_Compatible:"openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Ollama:"ollama"},eP={"BadRequestError (400)":"BadRequestErrorRetries","AuthenticationError (401)":"AuthenticationErrorRetries","TimeoutError (408)":"TimeoutErrorRetries","RateLimitError (429)":"RateLimitErrorRetries","ContentPolicyViolationError (400)":"ContentPolicyViolationErrorRetries","InternalServerError (500)":"InternalServerErrorRetries"},eT=async(e,l,s)=>{try{let t=Array.isArray(e.model)?e.model:[e.model];console.log("received deployments: ".concat(t)),console.log("received type of deployments: ".concat(typeof t)),t.forEach(async s=>{console.log("litellm_model: ".concat(s));let t={},n={};t.model=s;let a="";for(let[l,s]of(console.log("formValues add deployment:",e),Object.entries(e)))if(""!==s){if("model_name"==l)a+=s;else if("custom_llm_provider"==l){console.log("custom_llm_provider:",s);let e=eC[s];t.custom_llm_provider=e,console.log("custom_llm_provider mappingResult:",e)}else if("model"==l)continue;else if("base_model"===l)n[l]=s;else if("custom_model_name"===l)t.model=s;else if("litellm_extra_params"==l){console.log("litellm_extra_params:",s);let e={};if(s&&void 0!=s){try{e=JSON.parse(s)}catch(e){throw S.ZP.error("Failed to parse LiteLLM Extra Params: "+e,10),Error("Failed to parse litellm_extra_params: "+e)}for(let[l,s]of Object.entries(e))t[l]=s}}else t[l]=s}let r={model_name:a,litellm_params:t,model_info:n},i=await (0,u.kK)(l,r);console.log("response for model create call: ".concat(i.data))}),s.resetFields()}catch(e){S.ZP.error("Failed to create model: "+e,10)}};var eE=e=>{let l,{accessToken:s,token:t,userRole:i,userID:o,modelData:d={data:[]},keys:c,setModelData:m,premiumUser:h}=e,[g,Z]=(0,r.useState)([]),[f]=k.Z.useForm(),[b,v]=(0,r.useState)(null),[N,C]=(0,r.useState)(""),[P,T]=(0,r.useState)([]),F=Object.values(n).filter(e=>isNaN(Number(e))),[G,Y]=(0,r.useState)([]),[J,X]=(0,r.useState)("OpenAI"),[$,Q]=(0,r.useState)(""),[ee,es]=(0,r.useState)(!1),[ev,ek]=(0,r.useState)(!1),[eE,eO]=(0,r.useState)(null),[eR,eF]=(0,r.useState)([]),[eM,eL]=(0,r.useState)([]),[eD,eU]=(0,r.useState)(null),[ez,eV]=(0,r.useState)([]),[eq,eB]=(0,r.useState)([]),[eK,eW]=(0,r.useState)([]),[eH,eG]=(0,r.useState)([]),[eY,eJ]=(0,r.useState)([]),[eX,e$]=(0,r.useState)([]),[eQ,e0]=(0,r.useState)([]),[e1,e2]=(0,r.useState)([]),[e4,e5]=(0,r.useState)([]),[e8,e3]=(0,r.useState)({from:new Date(Date.now()-6048e5),to:new Date}),[e6,e7]=(0,r.useState)(null),[e9,le]=(0,r.useState)(0),[ll,ls]=(0,r.useState)({}),[lt,ln]=(0,r.useState)([]),[la,lr]=(0,r.useState)(!1),[li,lo]=(0,r.useState)(null),[ld,lc]=(0,r.useState)(null),[lm,lu]=(0,r.useState)([]);(0,r.useEffect)(()=>{lS(eD,e8.from,e8.to)},[li,ld]);let lh=e=>{eO(e),es(!0)},lx=e=>{eO(e),ek(!0)},lp=async e=>{if(console.log("handleEditSubmit:",e),null==s)return;let l={},t=null;for(let[s,n]of(e.input_cost_per_million_tokens&&(e.input_cost_per_token=e.input_cost_per_million_tokens/1e6,delete e.input_cost_per_million_tokens),e.output_cost_per_million_tokens&&(e.output_cost_per_token=e.output_cost_per_million_tokens/1e6,delete e.output_cost_per_million_tokens),Object.entries(e)))"model_id"!==s?l[s]=n:t=n;let n={litellm_params:l,model_info:{id:t}};console.log("handleEditSubmit payload:",n);try{await (0,u.um)(s,n),S.ZP.success("Model updated successfully, restart server to see updates"),es(!1),eO(null)}catch(e){console.log("Error occurred")}},lj=()=>{C(new Date().toLocaleString())},lg=async()=>{if(!s){console.error("Access token is missing");return}console.log("new modelGroupRetryPolicy:",e6);try{await (0,u.K_)(s,{router_settings:{model_group_retry_policy:e6}}),S.ZP.success("Retry settings saved successfully")}catch(e){console.error("Failed to save retry settings:",e),S.ZP.error("Failed to save retry settings")}};if((0,r.useEffect)(()=>{if(!s||!t||!i||!o)return;let e=async()=>{try{var e,l,t,n,a,r,d,c,h,x,p,j;let g=await (0,u.hy)(s);Y(g);let Z=await (0,u.AZ)(s,o,i);console.log("Model data response:",Z.data),m(Z);let f=new Set;for(let e=0;e0&&(y=_[_.length-1],console.log("_initial_model_group:",y)),console.log("selectedModelGroup:",eD);let b=await (0,u.o6)(s,o,i,y,null===(e=e8.from)||void 0===e?void 0:e.toISOString(),null===(l=e8.to)||void 0===l?void 0:l.toISOString(),null==li?void 0:li.token,ld);console.log("Model metrics response:",b),eB(b.data),eW(b.all_api_bases);let v=await (0,u.Rg)(s,y,null===(t=e8.from)||void 0===t?void 0:t.toISOString(),null===(n=e8.to)||void 0===n?void 0:n.toISOString());eG(v.data),eJ(v.all_api_bases);let k=await (0,u.N8)(s,o,i,y,null===(a=e8.from)||void 0===a?void 0:a.toISOString(),null===(r=e8.to)||void 0===r?void 0:r.toISOString(),null==li?void 0:li.token,ld);console.log("Model exceptions response:",k),e$(k.data),e0(k.exception_types);let S=await (0,u.fP)(s,o,i,y,null===(d=e8.from)||void 0===d?void 0:d.toISOString(),null===(c=e8.to)||void 0===c?void 0:c.toISOString(),null==li?void 0:li.token,ld),w=await (0,u.n$)(s,null===(h=e8.from)||void 0===h?void 0:h.toISOString().split("T")[0],null===(x=e8.to)||void 0===x?void 0:x.toISOString().split("T")[0],y);ls(w);let N=await (0,u.v9)(s,null===(p=e8.from)||void 0===p?void 0:p.toISOString().split("T")[0],null===(j=e8.to)||void 0===j?void 0:j.toISOString().split("T")[0],y);ln(N),console.log("dailyExceptions:",w),console.log("dailyExceptionsPerDeplyment:",N),console.log("slowResponses:",S),e5(S);let I=await (0,u.j2)(s);lu(null==I?void 0:I.end_users);let A=(await (0,u.BL)(s,o,i)).router_settings;console.log("routerSettingsInfo:",A);let C=A.model_group_retry_policy,P=A.num_retries;console.log("model_group_retry_policy:",C),console.log("default_retries:",P),e7(C),le(P)}catch(e){console.error("There was an error fetching the model data",e)}};s&&t&&i&&o&&e();let l=async()=>{let e=await (0,u.qm)(s);console.log("received model cost map data: ".concat(Object.keys(e))),v(e)};null==b&&l(),lj()},[s,t,i,o,b,N]),!d||!s||!t||!i||!o)return(0,a.jsx)("div",{children:"Loading..."});let lZ=[],lf=[];for(let e=0;e(console.log("GET PROVIDER CALLED! - ".concat(b)),null!=b&&"object"==typeof b&&e in b)?b[e].litellm_provider:"openai";if(s){let e=s.split("/"),l=e[0];(a=t)||(a=1===e.length?u(s):l)}else a="-";n&&(r=null==n?void 0:n.input_cost_per_token,i=null==n?void 0:n.output_cost_per_token,o=null==n?void 0:n.max_tokens,c=null==n?void 0:n.max_input_tokens),(null==l?void 0:l.litellm_params)&&(m=Object.fromEntries(Object.entries(null==l?void 0:l.litellm_params).filter(e=>{let[l]=e;return"model"!==l&&"api_base"!==l}))),d.data[e].provider=a,d.data[e].input_cost=r,d.data[e].output_cost=i,d.data[e].litellm_model_name=s,lf.push(a),d.data[e].input_cost&&(d.data[e].input_cost=(1e6*Number(d.data[e].input_cost)).toFixed(2)),d.data[e].output_cost&&(d.data[e].output_cost=(1e6*Number(d.data[e].output_cost)).toFixed(2)),d.data[e].max_tokens=o,d.data[e].max_input_tokens=c,d.data[e].api_base=null==l?void 0:null===(lb=l.litellm_params)||void 0===lb?void 0:lb.api_base,d.data[e].cleanedLitellmParams=m,lZ.push(l.model_name),console.log(d.data[e])}if(d.data&&d.data.length>0&&d.data.sort((e,l)=>e.provider&&l.provider?e.provider.localeCompare(l.provider):e.provider&&!l.provider?-1:!e.provider&&l.provider?1:0),i&&"Admin Viewer"==i){let{Title:e,Paragraph:l}=el.default;return(0,a.jsxs)("div",{children:[(0,a.jsx)(e,{level:1,children:"Access Denied"}),(0,a.jsx)(l,{children:"Ask your proxy admin for access to view all models"})]})}let lv=e=>{console.log("received provider string: ".concat(e));let l=Object.keys(n).find(l=>n[l]===e);if(l){let e=eC[l];console.log("mappingResult: ".concat(e));let s=[];"object"==typeof b&&(Object.entries(b).forEach(l=>{let[t,n]=l;null!==n&&"object"==typeof n&&"litellm_provider"in n&&(n.litellm_provider===e||n.litellm_provider.includes(e))&&s.push(t)}),"Cohere"==l&&(console.log("adding cohere chat model"),Object.entries(b).forEach(e=>{let[l,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&"cohere"===t.litellm_provider&&s.push(l)}))),T(s),console.log("providerModels: ".concat(P))}},lk=async()=>{try{S.ZP.info("Running health check..."),Q("");let e=await (0,u.EY)(s);Q(e)}catch(e){console.error("Error running health check:",e),Q("Error running health check")}},lS=async(e,l,t)=>{if(console.log("Updating model metrics for group:",e),!s||!o||!i||!l||!t)return;console.log("inside updateModelMetrics - startTime:",l,"endTime:",t),eU(e);let n=null==li?void 0:li.token;void 0===n&&(n=null);let a=ld;void 0===a&&(a=null),l.setHours(0),l.setMinutes(0),l.setSeconds(0),t.setHours(23),t.setMinutes(59),t.setSeconds(59);try{let r=await (0,u.o6)(s,o,i,e,l.toISOString(),t.toISOString(),n,a);console.log("Model metrics response:",r),eB(r.data),eW(r.all_api_bases);let d=await (0,u.Rg)(s,e,l.toISOString(),t.toISOString());eG(d.data),eJ(d.all_api_bases);let c=await (0,u.N8)(s,o,i,e,l.toISOString(),t.toISOString(),n,a);console.log("Model exceptions response:",c),e$(c.data),e0(c.exception_types);let m=await (0,u.fP)(s,o,i,e,l.toISOString(),t.toISOString(),n,a);if(console.log("slowResponses:",m),e5(m),e){let n=await (0,u.n$)(s,null==l?void 0:l.toISOString().split("T")[0],null==t?void 0:t.toISOString().split("T")[0],e);ls(n);let a=await (0,u.v9)(s,null==l?void 0:l.toISOString().split("T")[0],null==t?void 0:t.toISOString().split("T")[0],e);ln(a)}}catch(e){console.error("Failed to fetch model metrics",e)}},lw=(0,a.jsxs)("div",{children:[(0,a.jsx)(_.Z,{className:"mb-1",children:"Select API Key Name"}),h?(0,a.jsxs)("div",{children:[(0,a.jsxs)(W.Z,{defaultValue:"all-keys",children:[(0,a.jsx)(H.Z,{value:"all-keys",onClick:()=>{lo(null)},children:"All Keys"},"all-keys"),null==c?void 0:c.map((e,l)=>e&&null!==e.key_alias&&e.key_alias.length>0?(0,a.jsx)(H.Z,{value:String(l),onClick:()=>{lo(e)},children:e.key_alias},l):null)]}),(0,a.jsx)(_.Z,{className:"mt-1",children:"Select Customer Name"}),(0,a.jsxs)(W.Z,{defaultValue:"all-customers",children:[(0,a.jsx)(H.Z,{value:"all-customers",onClick:()=>{lc(null)},children:"All Customers"},"all-customers"),null==lm?void 0:lm.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>{lc(e)},children:e},l))]})]}):(0,a.jsxs)("div",{children:[(0,a.jsxs)(W.Z,{defaultValue:"all-keys",children:[(0,a.jsx)(H.Z,{value:"all-keys",onClick:()=>{lo(null)},children:"All Keys"},"all-keys"),null==c?void 0:c.map((e,l)=>e&&null!==e.key_alias&&e.key_alias.length>0?(0,a.jsxs)(H.Z,{value:String(l),disabled:!0,onClick:()=>{lo(e)},children:["✨ ",e.key_alias," (Enterprise only Feature)"]},l):null)]}),(0,a.jsx)(_.Z,{className:"mt-1",children:"Select Customer Name"}),(0,a.jsxs)(W.Z,{defaultValue:"all-customers",children:[(0,a.jsx)(H.Z,{value:"all-customers",onClick:()=>{lc(null)},children:"All Customers"},"all-customers"),null==lm?void 0:lm.map((e,l)=>(0,a.jsxs)(H.Z,{value:e,disabled:!0,onClick:()=>{lc(e)},children:["✨ ",e," (Enterprise only Feature)"]},l))]})]})]}),lN=e=>{var l,s;let{payload:t,active:n}=e;if(!n||!t)return null;let r=null===(s=t[0])||void 0===s?void 0:null===(l=s.payload)||void 0===l?void 0:l.date,i=t.sort((e,l)=>l.value-e.value);if(i.length>5){let e=i.length-5;(i=i.slice(0,5)).push({dataKey:"".concat(e," other deployments"),value:t.slice(5).reduce((e,l)=>e+l.value,0),color:"gray"})}return(0,a.jsxs)("div",{className:"w-150 rounded-tremor-default border border-tremor-border bg-tremor-background p-2 text-tremor-default shadow-tremor-dropdown",children:[r&&(0,a.jsxs)("p",{className:"text-tremor-content-emphasis mb-2",children:["Date: ",r]}),i.map((e,l)=>{let s=parseFloat(e.value.toFixed(5)),t=0===s&&e.value>0?"<0.00001":s.toFixed(5);return(0,a.jsxs)("div",{className:"flex justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("div",{className:"w-2 h-2 mt-1 rounded-full bg-".concat(e.color,"-500")}),(0,a.jsx)("p",{className:"text-tremor-content",children:e.dataKey})]}),(0,a.jsx)("p",{className:"font-medium text-tremor-content-emphasis text-righ ml-2",children:t})]},l)})]})},lI=e=>"Vertex AI (Anthropic, Gemini, etc.)"===e?"gemini-pro":"Anthropic"==e||"Amazon Bedrock"==e?"claude-3-opus":"Google AI Studio"==e?"gemini-pro":"Azure AI Studio"==e?"azure_ai/command-r-plus":"Azure"==e?"azure/my-deployment":"gpt-3.5-turbo";console.log("selectedProvider: ".concat(J)),console.log("providerModels.length: ".concat(P.length));let lA=Object.keys(n).find(e=>n[e]===J);return lA&&(l=G.find(e=>e.name===eC[lA])),(0,a.jsx)("div",{style:{width:"100%",height:"100%"},children:(0,a.jsxs)(er.Z,{className:"gap-2 p-8 h-[75vh] w-full mt-2",children:[(0,a.jsxs)(ei.Z,{className:"flex justify-between mt-2 w-full items-center",children:[(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(ea.Z,{children:"All Models"}),(0,a.jsx)(ea.Z,{children:"Add Model"}),(0,a.jsx)(ea.Z,{children:(0,a.jsx)("pre",{children:"/health Models"})}),(0,a.jsx)(ea.Z,{children:"Model Analytics"}),(0,a.jsx)(ea.Z,{children:"Model Retry Settings"})]}),(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[N&&(0,a.jsxs)(_.Z,{children:["Last Refreshed: ",N]}),(0,a.jsx)(D.Z,{icon:R.Z,variant:"shadow",size:"xs",className:"self-center",onClick:lj})]})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(_.Z,{children:"Filter by Public Model Name"}),(0,a.jsxs)(W.Z,{className:"mb-4 mt-2 ml-2 w-50",defaultValue:eD||void 0,onValueChange:e=>eU("all"===e?"all":e),value:eD||void 0,children:[(0,a.jsx)(H.Z,{value:"all",children:"All Models"}),eR.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>eU(e),children:e},l))]})]}),(0,a.jsx)(L.Z,{children:(0,a.jsxs)(U.Z,{style:{maxWidth:"1500px",width:"100%"},children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"Public Model Name"}),(0,a.jsx)(B.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"Provider"}),(0,a.jsx)(B.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"LiteLLM Model"}),"Admin"===i&&(0,a.jsx)(B.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"API Base"}),(0,a.jsxs)(B.Z,{style:{maxWidth:"85px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:["Input Price"," ",(0,a.jsx)("p",{style:{fontSize:"10px",color:"gray"},children:"/1M Tokens ($)"})]}),(0,a.jsxs)(B.Z,{style:{maxWidth:"85px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:["Output Price"," ",(0,a.jsx)("p",{style:{fontSize:"10px",color:"gray"},children:"/1M Tokens ($)"})]}),(0,a.jsx)(B.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:h?"Created At":(0,a.jsxs)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",style:{color:"#72bcd4"},children:[" ","✨ Created At"]})}),(0,a.jsx)(B.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:h?"Created By":(0,a.jsxs)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",style:{color:"#72bcd4"},children:[" ","✨ Created By"]})}),(0,a.jsx)(B.Z,{style:{maxWidth:"50px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"Status"}),(0,a.jsx)(B.Z,{})]})}),(0,a.jsx)(z.Z,{children:d.data.filter(e=>"all"===eD||e.model_name===eD||null==eD||""===eD).map((e,l)=>{var t;return(0,a.jsxs)(K.Z,{style:{maxHeight:"1px",minHeight:"1px"},children:[(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("p",{className:"text-xs",children:e.model_name||"-"})}),(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("p",{className:"text-xs",children:e.provider||"-"})}),(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)(ex.Z,{title:e&&e.litellm_model_name,children:(0,a.jsx)("pre",{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},className:"text-xs",title:e&&e.litellm_model_name?e.litellm_model_name:"",children:e&&e.litellm_model_name?e.litellm_model_name.slice(0,20)+(e.litellm_model_name.length>20?"...":""):"-"})})}),"Admin"===i&&(0,a.jsx)(V.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)(ex.Z,{title:e&&e.api_base,children:(0,a.jsx)("pre",{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},className:"text-xs",title:e&&e.api_base?e.api_base:"",children:e&&e.api_base?e.api_base.slice(0,20):"-"})})}),(0,a.jsx)(V.Z,{style:{maxWidth:"80px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("pre",{className:"text-xs",children:e.input_cost?e.input_cost:null!=e.litellm_params.input_cost_per_token&&void 0!=e.litellm_params.input_cost_per_token?(1e6*Number(e.litellm_params.input_cost_per_token)).toFixed(2):null})}),(0,a.jsx)(V.Z,{style:{maxWidth:"80px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("pre",{className:"text-xs",children:e.output_cost?e.output_cost:e.litellm_params.output_cost_per_token?(1e6*Number(e.litellm_params.output_cost_per_token)).toFixed(2):null})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)("p",{className:"text-xs",children:h&&((t=e.model_info.created_at)?new Date(t).toLocaleDateString("en-US"):null)||"-"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)("p",{className:"text-xs",children:h&&e.model_info.created_by||"-"})}),(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:e.model_info.db_model?(0,a.jsx)(M.Z,{size:"xs",className:"text-white",children:(0,a.jsx)("p",{className:"text-xs",children:"DB Model"})}):(0,a.jsx)(M.Z,{size:"xs",className:"text-black",children:(0,a.jsx)("p",{className:"text-xs",children:"Config Model"})})}),(0,a.jsx)(V.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsxs)(x.Z,{numItems:3,children:[(0,a.jsx)(ep.Z,{children:(0,a.jsx)(D.Z,{icon:E.Z,size:"sm",onClick:()=>lx(e)})}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>lh(e)})}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(e_,{modelID:e.model_info.id,accessToken:s})})]})})]},l)})})]})})]}),(0,a.jsx)(e=>{let{visible:l,onCancel:s,model:t,onSubmit:n}=e,[r]=k.Z.useForm(),i={},o="",d="";if(t){i=t.litellm_params,o=t.model_name;let e=t.model_info;e&&(d=e.id,console.log("model_id: ".concat(d)),i.model_id=d)}return(0,a.jsx)(w.Z,{title:"Edit Model "+o,visible:l,width:800,footer:null,onOk:()=>{r.validateFields().then(e=>{n(e),r.resetFields()}).catch(e=>{console.error("Validation failed:",e)})},onCancel:s,children:(0,a.jsxs)(k.Z,{form:r,onFinish:lp,initialValues:i,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"api_base",name:"api_base",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"organization",name:"organization",tooltip:"OpenAI Organization ID",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"tpm",name:"tpm",tooltip:"int (optional) - Tokens limit for this deployment: in tokens per minute (tpm). Find this information on your model/providers website",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"rpm",name:"rpm",tooltip:"int (optional) - Rate limit for this deployment: in requests per minute (rpm). Find this information on your model/providers website",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"max_retries",name:"max_retries",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"timeout",name:"timeout",tooltip:"int (optional) - Timeout in seconds for LLM requests (Defaults to 600 seconds)",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"stream_timeout",name:"stream_timeout",tooltip:"int (optional) - Timeout for stream requests (seconds)",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"Input Cost per 1M Tokens",name:"input_cost_per_million_tokens",tooltip:"float (optional) - Input cost per 1 million tokens",children:(0,a.jsx)(I.Z,{min:0,step:.01})}),(0,a.jsx)(k.Z.Item,{label:"Output Cost per 1M Tokens",name:"output_cost_per_million_tokens",tooltip:"float (optional) - Output cost per 1 million tokens",children:(0,a.jsx)(I.Z,{min:0,step:.01})}),(0,a.jsx)(k.Z.Item,{label:"model_id",name:"model_id",hidden:!0})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})},{visible:ee,onCancel:()=>{es(!1),eO(null)},model:eE,onSubmit:lp}),(0,a.jsxs)(w.Z,{title:eE&&eE.model_name,visible:ev,width:800,footer:null,onCancel:()=>{ek(!1),eO(null)},children:[(0,a.jsx)(y.Z,{children:"Model Info"}),(0,a.jsx)(eN.Z,{language:"json",children:eE&&JSON.stringify(eE,null,2)})]})]}),(0,a.jsxs)(eo.Z,{className:"h-full",children:[(0,a.jsx)(eI,{level:2,children:"Add new model"}),(0,a.jsx)(L.Z,{children:(0,a.jsxs)(k.Z,{form:f,onFinish:()=>{f.validateFields().then(e=>{eT(e,s,f)}).catch(e=>{console.error("Validation failed:",e)})},labelCol:{span:10},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Provider:",name:"custom_llm_provider",tooltip:"E.g. OpenAI, Azure OpenAI, Anthropic, Bedrock, etc.",labelCol:{span:10},labelAlign:"left",children:(0,a.jsx)(W.Z,{value:J.toString(),children:F.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>{lv(e),X(e)},children:e},l))})}),(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Public Model Name",name:"model_name",tooltip:"Model name your users will pass in. Also used for load-balancing, LiteLLM will load balance between all models with this public name.",className:"mb-0",children:(0,a.jsx)(j.Z,{})}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsx)(_.Z,{className:"mb-3 mt-1",children:"Model name your users will pass in."})})]}),(0,a.jsxs)(k.Z.Item,{label:"LiteLLM Model Name(s)",tooltip:"Actual model name used for making litellm.completion() / litellm.embedding() call.",className:"mb-0",children:[(0,a.jsx)(k.Z.Item,{name:"model",rules:[{required:!0,message:"Required"}],noStyle:!0,children:"Azure"===J||"OpenAI-Compatible Endpoints (Together AI, etc.)"===J||"Ollama"===J?(0,a.jsx)(j.Z,{placeholder:lI(J.toString())}):P.length>0?(0,a.jsxs)(ec.Z,{children:[(0,a.jsx)(em.Z,{value:"custom",children:"Custom Model Name (Enter below)"}),P.map((e,l)=>(0,a.jsx)(em.Z,{value:e,children:e},l))]}):(0,a.jsx)(j.Z,{placeholder:lI(J.toString())})}),(0,a.jsx)(k.Z.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.model!==l.model,children:e=>{let{getFieldValue:l}=e;return(l("model")||[]).includes("custom")&&(0,a.jsx)(k.Z.Item,{name:"custom_model_name",rules:[{required:!0,message:"Please enter a custom model name"}],className:"mt-2",children:(0,a.jsx)(j.Z,{placeholder:"Enter custom model name"})})}})]}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsxs)(_.Z,{className:"mb-3 mt-1",children:["Actual model name used for making"," ",(0,a.jsx)(eA,{href:"https://docs.litellm.ai/docs/providers",target:"_blank",children:"litellm.completion() call"}),". We'll"," ",(0,a.jsx)(eA,{href:"https://docs.litellm.ai/docs/proxy/reliability#step-1---set-deployments-on-config",target:"_blank",children:"loadbalance"})," ","models with the same 'public name'"]})})]}),void 0!==l&&l.fields.length>0&&(0,a.jsx)(ew,{fields:l.fields,selectedProvider:l.name}),"Amazon Bedrock"!=J&&"Vertex AI (Anthropic, Gemini, etc.)"!=J&&"Ollama"!=J&&(void 0===l||0==l.fields.length)&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"API Key",name:"api_key",children:(0,a.jsx)(j.Z,{placeholder:"sk-",type:"password"})}),"OpenAI"==J&&(0,a.jsx)(k.Z.Item,{label:"Organization ID",name:"organization",children:(0,a.jsx)(j.Z,{placeholder:"[OPTIONAL] my-unique-org"})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Vertex Project",name:"vertex_project",children:(0,a.jsx)(j.Z,{placeholder:"adroit-cadet-1234.."})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Vertex Location",name:"vertex_location",children:(0,a.jsx)(j.Z,{placeholder:"us-east-1"})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Vertex Credentials",name:"vertex_credentials",className:"mb-0",children:(0,a.jsx)(eb.Z,{name:"file",accept:".json",beforeUpload:e=>{if("application/json"===e.type){let l=new FileReader;l.onload=e=>{if(e.target){let l=e.target.result;f.setFieldsValue({vertex_credentials:l})}},l.readAsText(e)}return!1},onChange(e){"uploading"!==e.file.status&&console.log(e.file,e.fileList),"done"===e.file.status?S.ZP.success("".concat(e.file.name," file uploaded successfully")):"error"===e.file.status&&S.ZP.error("".concat(e.file.name," file upload failed."))},children:(0,a.jsx)(A.ZP,{icon:(0,a.jsx)(ey.Z,{}),children:"Click to Upload"})})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsx)(_.Z,{className:"mb-3 mt-1",children:"Give litellm a gcp service account(.json file), so it can make the relevant calls"})})]}),("Azure"==J||"OpenAI-Compatible Endpoints (Together AI, etc.)"==J)&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"API Base",name:"api_base",children:(0,a.jsx)(j.Z,{placeholder:"https://..."})}),"Azure"==J&&(0,a.jsx)(k.Z.Item,{label:"API Version",name:"api_version",tooltip:"By default litellm will use the latest version. If you want to use a different version, you can specify it here",children:(0,a.jsx)(j.Z,{placeholder:"2023-07-01-preview"})}),"Azure"==J&&(0,a.jsxs)("div",{children:[(0,a.jsx)(k.Z.Item,{label:"Base Model",name:"base_model",className:"mb-0",children:(0,a.jsx)(j.Z,{placeholder:"azure/gpt-3.5-turbo"})}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsxs)(_.Z,{className:"mb-2",children:["The actual model your azure deployment uses. Used for accurate cost tracking. Select name from"," ",(0,a.jsx)(eA,{href:"https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json",target:"_blank",children:"here"})]})})]})]}),"Amazon Bedrock"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"AWS Access Key ID",name:"aws_access_key_id",tooltip:"You can provide the raw key or the environment variable (e.g. `os.environ/MY_SECRET_KEY`).",children:(0,a.jsx)(j.Z,{placeholder:""})}),"Amazon Bedrock"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"AWS Secret Access Key",name:"aws_secret_access_key",tooltip:"You can provide the raw key or the environment variable (e.g. `os.environ/MY_SECRET_KEY`).",children:(0,a.jsx)(j.Z,{placeholder:""})}),"Amazon Bedrock"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"AWS Region Name",name:"aws_region_name",tooltip:"You can provide the raw key or the environment variable (e.g. `os.environ/MY_SECRET_KEY`).",children:(0,a.jsx)(j.Z,{placeholder:"us-east-1"})}),(0,a.jsx)(k.Z.Item,{label:"LiteLLM Params",name:"litellm_extra_params",tooltip:"Optional litellm params used for making a litellm.completion() call.",className:"mb-0",children:(0,a.jsx)(eZ.Z,{rows:4,placeholder:'{ "rpm": 100, "timeout": 0, "stream_timeout": 0 }'})}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsxs)(_.Z,{className:"mb-3 mt-1",children:["Pass JSON of litellm supported params"," ",(0,a.jsx)(eA,{href:"https://docs.litellm.ai/docs/completion/input",target:"_blank",children:"litellm.completion() call"})]})})]})]}),(0,a.jsx)("div",{style:{textAlign:"center",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add Model"})}),(0,a.jsx)(ex.Z,{title:"Get help on our github",children:(0,a.jsx)(el.default.Link,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})})]})})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(_.Z,{children:"`/health` will run a very small request through your models configured on litellm"}),(0,a.jsx)(p.Z,{onClick:lk,children:"Run `/health`"}),$&&(0,a.jsx)("pre",{children:JSON.stringify($,null,2)})]})}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(x.Z,{numItems:4,className:"mt-2 mb-2",children:[(0,a.jsxs)(ep.Z,{children:[(0,a.jsx)(_.Z,{children:"Select Time Range"}),(0,a.jsx)(en.Z,{enableSelect:!0,value:e8,className:"mr-2",onValueChange:e=>{e3(e),lS(eD,e.from,e.to)}})]}),(0,a.jsxs)(ep.Z,{className:"ml-2",children:[(0,a.jsx)(_.Z,{children:"Select Model Group"}),(0,a.jsx)(W.Z,{defaultValue:eD||eR[0],value:eD||eR[0],children:eR.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>lS(e,e8.from,e8.to),children:e},l))})]}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(eg.Z,{trigger:"click",content:lw,overlayStyle:{width:"20vw"},children:(0,a.jsx)(p.Z,{icon:ef.Z,size:"md",variant:"secondary",className:"mt-4 ml-2",style:{border:"none"},onClick:()=>lr(!0)})})})]}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsx)(ep.Z,{children:(0,a.jsx)(L.Z,{className:"mr-2 max-h-[400px] min-h-[400px]",children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{variant:"line",defaultValue:"1",children:[(0,a.jsx)(ea.Z,{value:"1",children:"Avg. Latency per Token"}),(0,a.jsx)(ea.Z,{value:"2",children:"✨ Time to first token"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsxs)(eo.Z,{children:[(0,a.jsx)("p",{className:"text-gray-500 italic",children:" (seconds/token)"}),(0,a.jsx)(_.Z,{className:"text-gray-500 italic mt-1 mb-1",children:"average Latency for successfull requests divided by the total tokens"}),eq&&eK&&(0,a.jsx)(eu.Z,{title:"Model Latency",className:"h-72",data:eq,showLegend:!1,index:"date",categories:eK,connectNulls:!0,customTooltip:lN})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eS,{modelMetrics:eH,modelMetricsCategories:eY,customTooltip:lN,premiumUser:h})})]})]})})}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(L.Z,{className:"ml-2 max-h-[400px] min-h-[400px] overflow-y-auto",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Deployment"}),(0,a.jsx)(B.Z,{children:"Success Responses"}),(0,a.jsxs)(B.Z,{children:["Slow Responses ",(0,a.jsx)("p",{children:"Success Responses taking 600+s"})]})]})}),(0,a.jsx)(z.Z,{children:e4.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.api_base}),(0,a.jsx)(V.Z,{children:e.total_count}),(0,a.jsx)(V.Z,{children:e.slow_count})]},l))})]})})})]}),(0,a.jsx)(x.Z,{numItems:1,className:"gap-2 w-full mt-2",children:(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(y.Z,{children:["All Exceptions for ",eD]}),(0,a.jsx)(eh.Z,{className:"h-60",data:eX,index:"model",categories:eQ,stack:!0,yAxisWidth:30})]})}),(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full mt-2",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(y.Z,{children:["All Up Rate Limit Errors (429) for ",eD]}),(0,a.jsxs)(x.Z,{numItems:1,children:[(0,a.jsxs)(ep.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors ",ll.sum_num_rate_limit_exceptions]}),(0,a.jsx)(eh.Z,{className:"h-40",data:ll.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]}),(0,a.jsx)(ep.Z,{})]})]}),h?(0,a.jsx)(a.Fragment,{children:lt.map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.api_base?e.api_base:"Unknown API Base"}),(0,a.jsx)(x.Z,{numItems:1,children:(0,a.jsxs)(ep.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors (429) ",e.sum_num_rate_limit_exceptions]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]})})]},l))}):(0,a.jsx)(a.Fragment,{children:lt&<.length>0&<.slice(0,1).map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"✨ Rate Limit Errors by Deployment"}),(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to see exceptions for all deployments"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.api_base}),(0,a.jsx)(x.Z,{numItems:1,children:(0,a.jsxs)(ep.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors ",e.sum_num_rate_limit_exceptions]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]})})]})]},l))})]})]}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(_.Z,{children:"Filter by Public Model Name"}),(0,a.jsx)(W.Z,{className:"mb-4 mt-2 ml-2 w-50",defaultValue:eD||eR[0],value:eD||eR[0],onValueChange:e=>eU(e),children:eR.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>eU(e),children:e},l))})]}),(0,a.jsxs)(y.Z,{children:["Retry Policy for ",eD]}),(0,a.jsx)(_.Z,{className:"mb-6",children:"How many retries should be attempted based on the Exception"}),eP&&(0,a.jsx)("table",{children:(0,a.jsx)("tbody",{children:Object.entries(eP).map((e,l)=>{var s;let[t,n]=e,r=null==e6?void 0:null===(s=e6[eD])||void 0===s?void 0:s[n];return null==r&&(r=e9),(0,a.jsxs)("tr",{className:"flex justify-between items-center mt-2",children:[(0,a.jsx)("td",{children:(0,a.jsx)(_.Z,{children:t})}),(0,a.jsx)("td",{children:(0,a.jsx)(I.Z,{className:"ml-5",value:r,min:0,step:1,onChange:e=>{e7(l=>{var s;let t=null!==(s=null==l?void 0:l[eD])&&void 0!==s?s:{};return{...null!=l?l:{},[eD]:{...t,[n]:e}}})}})})]},l)})})}),(0,a.jsx)(p.Z,{className:"mt-6 mr-8",onClick:lg,children:"Save"})]})]})]})})},eO=e=>{let{isInvitationLinkModalVisible:l,setIsInvitationLinkModalVisible:s,baseUrl:t,invitationLinkData:n}=e,{Title:r,Paragraph:i}=el.default;return(0,a.jsxs)(w.Z,{title:"Invitation Link",visible:l,width:800,footer:null,onOk:()=>{s(!1)},onCancel:()=>{s(!1)},children:[(0,a.jsx)(i,{children:"Copy and send the generated link to onboard this user to the proxy."}),(0,a.jsxs)("div",{className:"flex justify-between pt-5 pb-2",children:[(0,a.jsx)(_.Z,{className:"text-base",children:"User ID"}),(0,a.jsx)(_.Z,{children:null==n?void 0:n.user_id})]}),(0,a.jsxs)("div",{className:"flex justify-between pt-5 pb-2",children:[(0,a.jsx)(_.Z,{children:"Invitation Link"}),(0,a.jsxs)(_.Z,{children:[t,"/ui?invitation_id=",null==n?void 0:n.id]})]}),(0,a.jsxs)("div",{className:"flex justify-end mt-5",children:[(0,a.jsx)("div",{}),(0,a.jsx)(b.CopyToClipboard,{text:"".concat(t,"/ui?invitation_id=").concat(null==n?void 0:n.id),onCopy:()=>S.ZP.success("Copied!"),children:(0,a.jsx)(p.Z,{variant:"primary",children:"Copy invitation link"})})]})]})};let{Option:eR}=v.default;var eF=e=>{let{userID:l,accessToken:s,teams:t,possibleUIRoles:n}=e,[o]=k.Z.useForm(),[d,c]=(0,r.useState)(!1),[m,h]=(0,r.useState)(null),[x,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)(!1),[y,b]=(0,r.useState)(null),I=(0,i.useRouter)();console.log=function(){};let[C,P]=(0,r.useState)("");(0,r.useEffect)(()=>{(async()=>{try{let e=await (0,u.So)(s,l,"any"),t=[];for(let l=0;l{if(I){let{protocol:e,host:l}=window.location;P("".concat(e,"/").concat(l))}},[I]);let T=async e=>{try{var t;S.ZP.info("Making API Call"),c(!0),console.log("formValues in create user:",e);let n=await (0,u.Ov)(s,null,e);console.log("user create Response:",n),h(n.key);let a=(null===(t=n.data)||void 0===t?void 0:t.user_id)||n.user_id;(0,u.XO)(s,a).then(e=>{b(e),f(!0)}),S.ZP.success("API user Created"),o.resetFields(),localStorage.removeItem("userData"+l)}catch(e){console.error("Error creating the user:",e)}};return(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto mb-0",onClick:()=>c(!0),children:"+ Invite User"}),(0,a.jsxs)(w.Z,{title:"Invite User",visible:d,width:800,footer:null,onOk:()=>{c(!1),o.resetFields()},onCancel:()=>{c(!1),h(null),o.resetFields()},children:[(0,a.jsx)(_.Z,{className:"mb-1",children:"Create a User who can own keys"}),(0,a.jsxs)(k.Z,{form:o,onFinish:T,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(k.Z.Item,{label:"User Email",name:"user_email",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"User Role",name:"user_role",children:(0,a.jsx)(v.default,{children:n&&Object.entries(n).map(e=>{let[l,{ui_label:s,description:t}]=e;return(0,a.jsx)(H.Z,{value:l,title:s,children:(0,a.jsxs)("div",{className:"flex",children:[s," ",(0,a.jsx)("p",{className:"ml-2",style:{color:"gray",fontSize:"12px"},children:t})]})},l)})})}),(0,a.jsx)(k.Z.Item,{label:"Team ID",name:"team_id",children:(0,a.jsx)(v.default,{placeholder:"Select Team ID",style:{width:"100%"},children:t?t.map(e=>(0,a.jsx)(eR,{value:e.team_id,children:e.team_alias},e.team_id)):(0,a.jsx)(eR,{value:null,children:"Default Team"},"default")})}),(0,a.jsx)(k.Z.Item,{label:"Metadata",name:"metadata",children:(0,a.jsx)(N.Z.TextArea,{rows:4,placeholder:"Enter metadata as JSON"})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create User"})})]})]}),m&&(0,a.jsx)(eO,{isInvitationLinkModalVisible:Z,setIsInvitationLinkModalVisible:f,baseUrl:C,invitationLinkData:y})]})},eM=e=>{let{visible:l,possibleUIRoles:s,onCancel:t,user:n,onSubmit:i}=e,[o,d]=(0,r.useState)(n),[c]=k.Z.useForm();(0,r.useEffect)(()=>{c.resetFields()},[n]);let m=async()=>{c.resetFields(),t()},u=async e=>{i(e),c.resetFields(),t()};return n?(0,a.jsx)(w.Z,{visible:l,onCancel:m,footer:null,title:"Edit User "+n.user_id,width:1e3,children:(0,a.jsx)(k.Z,{form:c,onFinish:u,initialValues:n,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"User Email",tooltip:"Email of the User",name:"user_email",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"user_id",name:"user_id",hidden:!0,children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"User Role",name:"user_role",children:(0,a.jsx)(v.default,{children:s&&Object.entries(s).map(e=>{let[l,{ui_label:s,description:t}]=e;return(0,a.jsx)(H.Z,{value:l,title:s,children:(0,a.jsxs)("div",{className:"flex",children:[s," ",(0,a.jsx)("p",{className:"ml-2",style:{color:"gray",fontSize:"12px"},children:t})]})},l)})})}),(0,a.jsx)(k.Z.Item,{label:"Spend (USD)",name:"spend",tooltip:"(float) - Spend of all LLM calls completed by this user",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"User Budget (USD)",name:"max_budget",tooltip:"(float) - Maximum budget of this user",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})}):null};console.log=function(){};var eL=e=>{let{accessToken:l,token:s,keys:t,userRole:n,userID:i,teams:o,setKeys:d}=e,[c,m]=(0,r.useState)(null),[h,p]=(0,r.useState)(null),[j,g]=(0,r.useState)(0),[Z,f]=r.useState(null),[_,y]=(0,r.useState)(null),[b,v]=(0,r.useState)(!1),[k,w]=(0,r.useState)(null),[N,I]=(0,r.useState)({}),A=async()=>{w(null),v(!1)},C=async e=>{if(console.log("inside handleEditSubmit:",e),l&&s&&n&&i){try{await (0,u.pf)(l,e,null),S.ZP.success("User ".concat(e.user_id," updated successfully"))}catch(e){console.error("There was an error updating the user",e)}c&&m(c.map(l=>l.user_id===e.user_id?e:l)),w(null),v(!1)}};return((0,r.useEffect)(()=>{if(!l||!s||!n||!i)return;let e=async()=>{try{let e=await (0,u.Br)(l,null,n,!0,j,25);console.log("user data response:",e),m(e);let s=await (0,u.lg)(l);I(s)}catch(e){console.error("There was an error fetching the model data",e)}};l&&s&&n&&i&&e()},[l,s,n,i,j]),c&&l&&s&&n&&i)?(0,a.jsx)("div",{style:{width:"100%"},children:(0,a.jsxs)(x.Z,{className:"gap-2 p-2 h-[90vh] w-full mt-8",children:[(0,a.jsx)(eF,{userID:i,accessToken:l,teams:o,possibleUIRoles:N}),(0,a.jsxs)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[90vh] mb-4",children:[(0,a.jsx)("div",{className:"mb-4 mt-1"}),(0,a.jsx)(er.Z,{children:(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(U.Z,{className:"mt-5",children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"User ID"}),(0,a.jsx)(B.Z,{children:"User Email"}),(0,a.jsx)(B.Z,{children:"Role"}),(0,a.jsx)(B.Z,{children:"User Spend ($ USD)"}),(0,a.jsx)(B.Z,{children:"User Max Budget ($ USD)"}),(0,a.jsx)(B.Z,{children:"API Keys"}),(0,a.jsx)(B.Z,{})]})}),(0,a.jsx)(z.Z,{children:c.map(e=>{var l,s;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.user_id||"-"}),(0,a.jsx)(V.Z,{children:e.user_email||"-"}),(0,a.jsx)(V.Z,{children:(null==N?void 0:null===(l=N[null==e?void 0:e.user_role])||void 0===l?void 0:l.ui_label)||"-"}),(0,a.jsx)(V.Z,{children:e.spend?null===(s=e.spend)||void 0===s?void 0:s.toFixed(2):"-"}),(0,a.jsx)(V.Z,{children:e.max_budget?e.max_budget:"Unlimited"}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(x.Z,{numItems:2,children:e&&e.key_aliases&&e.key_aliases.filter(e=>null!==e).length>0?(0,a.jsxs)(M.Z,{size:"xs",color:"indigo",children:[e.key_aliases.filter(e=>null!==e).length,"\xa0Keys"]}):(0,a.jsx)(M.Z,{size:"xs",color:"gray",children:"No Keys"})})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:O.Z,onClick:()=>{w(e),v(!0)},children:"View Keys"})})]},e.user_id)})})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsx)("div",{className:"flex-1 flex justify-between items-center"})]})})]})}),(0,a.jsx)(eM,{visible:b,possibleUIRoles:N,onCancel:A,user:k,onSubmit:C})]}),function(){if(!c)return null;let e=Math.ceil(c.length/25);return(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsxs)("div",{children:["Showing Page ",j+1," of ",e]}),(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)("button",{className:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-l focus:outline-none",disabled:0===j,onClick:()=>g(j-1),children:"← Prev"}),(0,a.jsx)("button",{className:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-r focus:outline-none",onClick:()=>{g(j+1)},children:"Next →"})]})]})}()]})}):(0,a.jsx)("div",{children:"Loading..."})};console.log=function(){};var eD=e=>{let{teams:l,searchParams:s,accessToken:t,setTeams:n,userID:i,userRole:o}=e;(0,r.useEffect)(()=>{console.log("inside useeffect - ".concat(l)),null===l&&t&&(async()=>{let e=await (0,u.It)(t);console.log("givenTeams: ".concat(e)),n(e)})()},[l]);let[d]=k.Z.useForm(),[c]=k.Z.useForm(),{Title:m,Paragraph:g}=el.default,[Z,f]=(0,r.useState)(""),[y,b]=(0,r.useState)(!1),[C,P]=(0,r.useState)(l?l[0]:null),[T,E]=(0,r.useState)(!1),[R,G]=(0,r.useState)(!1),[Y,J]=(0,r.useState)([]),[X,$]=(0,r.useState)(!1),[Q,ee]=(0,r.useState)(null),[es,et]=(0,r.useState)({}),en=e=>{P(e),b(!0)},ea=async e=>{let s=e.team_id;if(console.log("handleEditSubmit:",e),null==t)return;let a=await (0,u.Gh)(t,e);l&&n(l.map(e=>e.team_id===s?a.data:e)),S.ZP.success("Team updated successfully"),b(!1),P(null)},er=async e=>{ee(e),$(!0)},ei=async()=>{if(null!=Q&&null!=l&&null!=t){try{await (0,u.rs)(t,Q);let e=l.filter(e=>e.team_id!==Q);n(e)}catch(e){console.error("Error deleting the team:",e)}$(!1),ee(null)}};(0,r.useEffect)(()=>{let e=async()=>{try{if(null===i||null===o||null===t||null===l)return;let e={},s=await (0,u.It)(t);for(let l=0;l{try{if(null===i||null===o)return;if(null!==t){let e=(await (0,u.So)(t,i,o)).data.map(e=>e.id);console.log("available_model_names:",e),J(e)}}catch(e){console.error("Error fetching user models:",e)}})(),e()},[t,i,o,l]);let eo=async e=>{try{if(null!=t){var s;let a=null==e?void 0:e.team_alias;if((null!==(s=null==l?void 0:l.map(e=>e.team_alias))&&void 0!==s?s:[]).includes(a))throw Error("Team alias ".concat(a," already exists, please pick another alias"));S.ZP.info("Creating Team");let r=await (0,u.hT)(t,e);null!==l?n([...l,r]):n([r]),console.log("response for team create call: ".concat(r)),S.ZP.success("Team created"),E(!1)}}catch(e){console.error("Error creating the team:",e),S.ZP.error("Error creating the team: "+e,20)}},ed=async e=>{try{if(null!=t&&null!=l){S.ZP.info("Adding Member");let s={role:"user",user_email:e.user_email,user_id:e.user_id},a=await (0,u.cu)(t,C.team_id,s);console.log("response for team create call: ".concat(a.data));let r=l.findIndex(e=>(console.log("team.team_id=".concat(e.team_id,"; response.data.team_id=").concat(a.data.team_id)),e.team_id===a.data.team_id));if(console.log("foundIndex: ".concat(r)),-1!==r){let e=[...l];e[r]=a.data,n(e),P(a.data)}G(!1)}}catch(e){console.error("Error creating the team:",e)}};return(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 p-8 h-[75vh] w-full mt-2",children:[(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(m,{level:4,children:"All Teams"}),(0,a.jsxs)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Team Name"}),(0,a.jsx)(B.Z,{children:"Team ID"}),(0,a.jsx)(B.Z,{children:"Spend (USD)"}),(0,a.jsx)(B.Z,{children:"Budget (USD)"}),(0,a.jsx)(B.Z,{children:"Models"}),(0,a.jsx)(B.Z,{children:"TPM / RPM Limits"}),(0,a.jsx)(B.Z,{children:"Info"})]})}),(0,a.jsx)(z.Z,{children:l&&l.length>0?l.map(e=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.team_alias}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:"0.75em"},children:(0,a.jsx)(ex.Z,{title:e.team_id,children:e.team_id})}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.spend}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:null!==e.max_budget&&void 0!==e.max_budget?e.max_budget:"No limit"}),(0,a.jsx)(V.Z,{style:{maxWidth:"8-x",whiteSpace:"pre-wrap",overflow:"hidden"},children:Array.isArray(e.models)?(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:0===e.models.length?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})}):e.models.map((e,l)=>"all-proxy-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})},l):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},l))}):null}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:(0,a.jsxs)(_.Z,{children:["TPM: ",e.tpm_limit?e.tpm_limit:"Unlimited"," ",(0,a.jsx)("br",{}),"RPM:"," ",e.rpm_limit?e.rpm_limit:"Unlimited"]})}),(0,a.jsxs)(V.Z,{children:[(0,a.jsxs)(_.Z,{children:[es&&e.team_id&&es[e.team_id]&&es[e.team_id].keys&&es[e.team_id].keys.length," ","Keys"]}),(0,a.jsxs)(_.Z,{children:[es&&e.team_id&&es[e.team_id]&&es[e.team_id].team_info&&es[e.team_id].team_info.members_with_roles&&es[e.team_id].team_info.members_with_roles.length," ","Members"]})]}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>en(e)}),(0,a.jsx)(D.Z,{onClick:()=>er(e.team_id),icon:F.Z,size:"sm"})]})]},e.team_id)):null})]}),X&&(0,a.jsx)("div",{className:"fixed z-10 inset-0 overflow-y-auto",children:(0,a.jsxs)("div",{className:"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0",children:[(0,a.jsx)("div",{className:"fixed inset-0 transition-opacity","aria-hidden":"true",children:(0,a.jsx)("div",{className:"absolute inset-0 bg-gray-500 opacity-75"})}),(0,a.jsx)("span",{className:"hidden sm:inline-block sm:align-middle sm:h-screen","aria-hidden":"true",children:"​"}),(0,a.jsxs)("div",{className:"inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full",children:[(0,a.jsx)("div",{className:"bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4",children:(0,a.jsx)("div",{className:"sm:flex sm:items-start",children:(0,a.jsxs)("div",{className:"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left",children:[(0,a.jsx)("h3",{className:"text-lg leading-6 font-medium text-gray-900",children:"Delete Team"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("p",{className:"text-sm text-gray-500",children:"Are you sure you want to delete this team ?"})})]})})}),(0,a.jsxs)("div",{className:"bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,a.jsx)(p.Z,{onClick:ei,color:"red",className:"ml-2",children:"Delete"}),(0,a.jsx)(p.Z,{onClick:()=>{$(!1),ee(null)},children:"Cancel"})]})]})]})})]})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>E(!0),children:"+ Create New Team"}),(0,a.jsx)(w.Z,{title:"Create Team",visible:T,width:800,footer:null,onOk:()=>{E(!1),d.resetFields()},onCancel:()=>{E(!1),d.resetFields()},children:(0,a.jsxs)(k.Z,{form:d,onFinish:eo,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,a.jsx)(v.default.Option,{value:"all-proxy-models",children:"All Proxy Models"},"all-proxy-models"),Y.map(e=>(0,a.jsx)(v.default.Option,{value:e,children:e},e))]})}),(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create Team"})})]})})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(m,{level:4,children:"Team Members"}),(0,a.jsx)(g,{children:"If you belong to multiple teams, this setting controls which teams members you see."}),l&&l.length>0?(0,a.jsx)(W.Z,{defaultValue:"0",children:l.map((e,l)=>(0,a.jsx)(H.Z,{value:String(l),onClick:()=>{P(e)},children:e.team_alias},l))}):(0,a.jsxs)(g,{children:["No team created. ",(0,a.jsx)("b",{children:"Defaulting to personal account."})]})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Member Name"}),(0,a.jsx)(B.Z,{children:"Role"})]})}),(0,a.jsx)(z.Z,{children:C?C.members_with_roles.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.user_email?e.user_email:e.user_id?e.user_id:null}),(0,a.jsx)(V.Z,{children:e.role})]},l)):null})]})}),C&&(0,a.jsx)(e=>{let{visible:l,onCancel:s,team:t,onSubmit:n}=e,[r]=k.Z.useForm();return(0,a.jsx)(w.Z,{title:"Edit Team",visible:l,width:800,footer:null,onOk:()=>{r.validateFields().then(e=>{n({...e,team_id:t.team_id}),r.resetFields()}).catch(e=>{console.error("Validation failed:",e)})},onCancel:s,children:(0,a.jsxs)(k.Z,{form:r,onFinish:ea,initialValues:t,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,a.jsx)(v.default.Option,{value:"all-proxy-models",children:"All Proxy Models"},"all-proxy-models"),Y&&Y.map(e=>(0,a.jsx)(v.default.Option,{value:e,children:e},e))]})}),(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Requests per minute Limit (RPM)",name:"team_id",hidden:!0})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Edit Team"})})]})})},{visible:y,onCancel:()=>{b(!1),P(null)},team:C,onSubmit:ea})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(p.Z,{className:"mx-auto mb-5",onClick:()=>G(!0),children:"+ Add member"}),(0,a.jsx)(w.Z,{title:"Add member",visible:R,width:800,footer:null,onOk:()=>{G(!1),c.resetFields()},onCancel:()=>{G(!1),c.resetFields()},children:(0,a.jsxs)(k.Z,{form:d,onFinish:ed,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Email",name:"user_email",className:"mb-4",children:(0,a.jsx)(N.Z,{name:"user_email",className:"px-3 py-2 border rounded-md w-full"})}),(0,a.jsx)("div",{className:"text-center mb-4",children:"OR"}),(0,a.jsx)(k.Z.Item,{label:"User ID",name:"user_id",className:"mb-4",children:(0,a.jsx)(N.Z,{name:"user_id",className:"px-3 py-2 border rounded-md w-full"})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add member"})})]})})]})]})})},eU=e=>{let l,{searchParams:s,accessToken:t,showSSOBanner:n,premiumUser:o}=e,[d]=k.Z.useForm(),[c]=k.Z.useForm(),{Title:m,Paragraph:j}=el.default,[g,Z]=(0,r.useState)(""),[f,y]=(0,r.useState)(null),[b,v]=(0,r.useState)(null),[I,C]=(0,r.useState)(!1),[P,T]=(0,r.useState)(!1),[E,R]=(0,r.useState)(!1),[F,M]=(0,r.useState)(!1),[G,Y]=(0,r.useState)(!1),[J,X]=(0,r.useState)(!1),[$,Q]=(0,r.useState)(!1),[ee,es]=(0,r.useState)(!1),[et,en]=(0,r.useState)(!1),[ea,er]=(0,r.useState)([]),[ei,eo]=(0,r.useState)(null),ed=(0,i.useRouter)(),[ec,em]=(0,r.useState)(null);console.log=function(){};let[eu,eh]=(0,r.useState)(""),ex="All IP Addresses Allowed";try{l=window.location.origin}catch(e){l=""}l+="/fallback/login";let ep=async()=>{try{if(!0!==o){S.ZP.error("This feature is only available for premium users. Please upgrade your account.");return}if(t){let e=await (0,u.PT)(t);er(e&&e.length>0?e:[ex])}else er([ex])}catch(e){console.error("Error fetching allowed IPs:",e),S.ZP.error("Failed to fetch allowed IPs ".concat(e)),er([ex])}finally{!0===o&&Q(!0)}},ej=async e=>{try{if(t){await (0,u.eH)(t,e.ip);let l=await (0,u.PT)(t);er(l),S.ZP.success("IP address added successfully")}}catch(e){console.error("Error adding IP:",e),S.ZP.error("Failed to add IP address ".concat(e))}finally{es(!1)}},eg=async e=>{eo(e),en(!0)},eZ=async()=>{if(ei&&t)try{await (0,u.$I)(t,ei);let e=await (0,u.PT)(t);er(e.length>0?e:[ex]),S.ZP.success("IP address deleted successfully")}catch(e){console.error("Error deleting IP:",e),S.ZP.error("Failed to delete IP address ".concat(e))}finally{en(!1),eo(null)}},ef=()=>{X(!1)},e_=["proxy_admin","proxy_admin_viewer"];(0,r.useEffect)(()=>{if(ed){let{protocol:e,host:l}=window.location;eh("".concat(e,"//").concat(l))}},[ed]),(0,r.useEffect)(()=>{(async()=>{if(null!=t){let e=[],l=await (0,u.Xd)(t,"proxy_admin_viewer");l.forEach(l=>{e.push({user_role:l.user_role,user_id:l.user_id,user_email:l.user_email})}),console.log("proxy viewers: ".concat(l));let s=await (0,u.Xd)(t,"proxy_admin");s.forEach(l=>{e.push({user_role:l.user_role,user_id:l.user_id,user_email:l.user_email})}),console.log("proxy admins: ".concat(s)),console.log("combinedList: ".concat(e)),y(e),em(await (0,u.lg)(t))}})()},[t]);let ey=()=>{M(!1),c.resetFields(),d.resetFields()},eb=()=>{M(!1),c.resetFields(),d.resetFields()},ek=e=>(0,a.jsxs)(k.Z,{form:d,onFinish:e,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(k.Z.Item,{label:"Email",name:"user_email",className:"mb-8 mt-4",children:(0,a.jsx)(N.Z,{name:"user_email",className:"px-3 py-2 border rounded-md w-full"})})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},className:"mt-4",children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add member"})})]}),eS=(e,l,s)=>(0,a.jsxs)(k.Z,{form:d,onFinish:e,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"User Role",name:"user_role",labelCol:{span:10},labelAlign:"left",children:(0,a.jsx)(W.Z,{value:l,children:e_.map((e,l)=>(0,a.jsx)(H.Z,{value:e,children:e},l))})}),(0,a.jsx)(k.Z.Item,{label:"Team ID",name:"user_id",hidden:!0,initialValue:s,valuePropName:"user_id",className:"mt-8",children:(0,a.jsx)(N.Z,{value:s,disabled:!0})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Update role"})})]}),ew=async e=>{try{if(null!=t&&null!=f){S.ZP.info("Making API Call");let l=await (0,u.pf)(t,e,null);console.log("response for team create call: ".concat(l));let s=f.findIndex(e=>(console.log("user.user_id=".concat(e.user_id,"; response.user_id=").concat(l.user_id)),e.user_id===l.user_id));console.log("foundIndex: ".concat(s)),-1==s&&(console.log("updates admin with new user"),f.push(l),y(f)),S.ZP.success("Refresh tab to see updated user role"),M(!1)}}catch(e){console.error("Error creating the key:",e)}},eN=async e=>{try{if(null!=t&&null!=f){var l;S.ZP.info("Making API Call");let s=await (0,u.pf)(t,e,"proxy_admin_viewer");console.log("response for team create call: ".concat(s));let n=(null===(l=s.data)||void 0===l?void 0:l.user_id)||s.user_id;(0,u.XO)(t,n).then(e=>{v(e),C(!0)});let a=f.findIndex(e=>(console.log("user.user_id=".concat(e.user_id,"; response.user_id=").concat(s.user_id)),e.user_id===s.user_id));console.log("foundIndex: ".concat(a)),-1==a&&(console.log("updates admin with new user"),f.push(s),y(f)),d.resetFields(),T(!1)}}catch(e){console.error("Error creating the key:",e)}},eI=async e=>{try{if(null!=t&&null!=f){var l;S.ZP.info("Making API Call"),e.user_email,e.user_id;let s=await (0,u.pf)(t,e,"proxy_admin"),n=(null===(l=s.data)||void 0===l?void 0:l.user_id)||s.user_id;(0,u.XO)(t,n).then(e=>{v(e),C(!0)}),console.log("response for team create call: ".concat(s));let a=f.findIndex(e=>(console.log("user.user_id=".concat(e.user_id,"; response.user_id=").concat(n)),e.user_id===s.user_id));console.log("foundIndex: ".concat(a)),-1==a&&(console.log("updates admin with new user"),f.push(s),y(f)),d.resetFields(),R(!1)}}catch(e){console.error("Error creating the key:",e)}},eA=async e=>{if(null==t)return;let l={environment_variables:{PROXY_BASE_URL:e.proxy_base_url,GOOGLE_CLIENT_ID:e.google_client_id,GOOGLE_CLIENT_SECRET:e.google_client_secret}};(0,u.K_)(t,l)};return console.log("admins: ".concat(null==f?void 0:f.length)),(0,a.jsxs)("div",{className:"w-full m-2 mt-2 p-8",children:[(0,a.jsx)(m,{level:4,children:"Admin Access "}),(0,a.jsxs)(j,{children:[n&&(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/ui#restrict-ui-access",children:"Requires SSO Setup"}),(0,a.jsx)("br",{}),(0,a.jsx)("b",{children:"Proxy Admin: "})," Can create keys, teams, users, add models, etc."," ",(0,a.jsx)("br",{}),(0,a.jsx)("b",{children:"Proxy Admin Viewer: "}),"Can just view spend. They cannot create keys, teams or grant users access to new models."," "]}),(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 p-2 w-full",children:[(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Member Name"}),(0,a.jsx)(B.Z,{children:"Role"})]})}),(0,a.jsx)(z.Z,{children:f?f.map((e,l)=>{var s;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.user_email?e.user_email:e.user_id?e.user_id:null}),(0,a.jsxs)(V.Z,{children:[" ",(null==ec?void 0:null===(s=ec[null==e?void 0:e.user_role])||void 0===s?void 0:s.ui_label)||"-"]}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>M(!0)}),(0,a.jsx)(w.Z,{title:"Update role",visible:F,width:800,footer:null,onOk:ey,onCancel:eb,children:eS(ew,e.user_role,e.user_id)})]})]},l)}):null})]})})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("div",{className:"flex justify-start",children:[(0,a.jsx)(p.Z,{className:"mr-4 mb-5",onClick:()=>R(!0),children:"+ Add admin"}),(0,a.jsx)(w.Z,{title:"Add admin",visible:E,width:800,footer:null,onOk:()=>{R(!1),c.resetFields(),d.resetFields()},onCancel:()=>{R(!1),C(!1),c.resetFields(),d.resetFields()},children:ek(eI)}),(0,a.jsx)(eO,{isInvitationLinkModalVisible:I,setIsInvitationLinkModalVisible:C,baseUrl:eu,invitationLinkData:b}),(0,a.jsx)(p.Z,{className:"mb-5",onClick:()=>T(!0),children:"+ Add viewer"}),(0,a.jsx)(w.Z,{title:"Add viewer",visible:P,width:800,footer:null,onOk:()=>{T(!1),c.resetFields(),d.resetFields()},onCancel:()=>{T(!1),c.resetFields(),d.resetFields()},children:ek(eN)})]})})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(m,{level:4,children:" ✨ Security Settings"}),(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"1rem",marginTop:"1rem"},children:[(0,a.jsx)("div",{children:(0,a.jsx)(p.Z,{onClick:()=>!0===o?Y(!0):S.ZP.error("Only premium users can add SSO"),children:"Add SSO"})}),(0,a.jsx)("div",{children:(0,a.jsx)(p.Z,{onClick:ep,children:"Allowed IPs"})})]})]}),(0,a.jsxs)("div",{className:"flex justify-start mb-4",children:[(0,a.jsx)(w.Z,{title:"Add SSO",visible:G,width:800,footer:null,onOk:()=>{Y(!1),d.resetFields()},onCancel:()=>{Y(!1),d.resetFields()},children:(0,a.jsxs)(k.Z,{form:d,onFinish:e=>{eI(e),eA(e),Y(!1),X(!0)},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Admin Email",name:"user_email",rules:[{required:!0,message:"Please enter the email of the proxy admin"}],children:(0,a.jsx)(N.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"PROXY BASE URL",name:"proxy_base_url",rules:[{required:!0,message:"Please enter the proxy base url"}],children:(0,a.jsx)(N.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"GOOGLE CLIENT ID",name:"google_client_id",rules:[{required:!0,message:"Please enter the google client id"}],children:(0,a.jsx)(N.Z.Password,{})}),(0,a.jsx)(k.Z.Item,{label:"GOOGLE CLIENT SECRET",name:"google_client_secret",rules:[{required:!0,message:"Please enter the google client secret"}],children:(0,a.jsx)(N.Z.Password,{})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})}),(0,a.jsxs)(w.Z,{title:"SSO Setup Instructions",visible:J,width:800,footer:null,onOk:ef,onCancel:()=>{X(!1)},children:[(0,a.jsx)("p",{children:"Follow these steps to complete the SSO setup:"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"1. DO NOT Exit this TAB"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"2. Open a new tab, visit your proxy base url"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"3. Confirm your SSO is configured correctly and you can login on the new Tab"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"4. If Step 3 is successful, you can close this tab"}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{onClick:ef,children:"Done"})})]}),(0,a.jsx)(w.Z,{title:"Manage Allowed IP Addresses",width:800,visible:$,onCancel:()=>Q(!1),footer:[(0,a.jsx)(p.Z,{className:"mx-1",onClick:()=>es(!0),children:"Add IP Address"},"add"),(0,a.jsx)(p.Z,{onClick:()=>Q(!1),children:"Close"},"close")],children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"IP Address"}),(0,a.jsx)(B.Z,{className:"text-right",children:"Action"})]})}),(0,a.jsx)(z.Z,{children:ea.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e}),(0,a.jsx)(V.Z,{className:"text-right",children:e!==ex&&(0,a.jsx)(p.Z,{onClick:()=>eg(e),color:"red",size:"xs",children:"Delete"})})]},l))})]})}),(0,a.jsx)(w.Z,{title:"Add Allowed IP Address",visible:ee,onCancel:()=>es(!1),footer:null,children:(0,a.jsxs)(k.Z,{onFinish:ej,children:[(0,a.jsx)(k.Z.Item,{name:"ip",rules:[{required:!0,message:"Please enter an IP address"}],children:(0,a.jsx)(N.Z,{placeholder:"Enter IP address"})}),(0,a.jsx)(k.Z.Item,{children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add IP Address"})})]})}),(0,a.jsx)(w.Z,{title:"Confirm Delete",visible:et,onCancel:()=>en(!1),onOk:eZ,footer:[(0,a.jsx)(p.Z,{className:"mx-1",onClick:()=>eZ(),children:"Yes"},"delete"),(0,a.jsx)(p.Z,{onClick:()=>en(!1),children:"Close"},"close")],children:(0,a.jsxs)("p",{children:["Are you sure you want to delete the IP address: ",ei,"?"]})})]}),(0,a.jsxs)(ev.Z,{title:"Login without SSO",color:"teal",children:["If you need to login without sso, you can access"," ",(0,a.jsxs)("a",{href:l,target:"_blank",children:[(0,a.jsx)("b",{children:l})," "]})]})]})]})},ez=s(42556),eV=s(90252),eq=e=>{let{alertingSettings:l,handleInputChange:s,handleResetField:t,handleSubmit:n,premiumUser:r}=e,[i]=k.Z.useForm();return(0,a.jsxs)(k.Z,{form:i,onFinish:()=>{let e=i.getFieldsValue();Object.values(e).some(e=>""===e||null==e)?console.log("Some form fields are empty."):n(e)},labelAlign:"left",children:[l.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{align:"center",children:[(0,a.jsx)(_.Z,{children:e.field_name}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:e.field_description})]}),e.premium_field?r?(0,a.jsx)(k.Z.Item,{name:e.field_name,children:(0,a.jsx)(V.Z,{children:"Integer"===e.field_type?(0,a.jsx)(I.Z,{step:1,value:e.field_value,onChange:l=>s(e.field_name,l)}):(0,a.jsx)(N.Z,{value:e.field_value,onChange:l=>s(e.field_name,l)})})}):(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{className:"flex items-center justify-center",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Enterprise Feature"})})}):(0,a.jsx)(k.Z.Item,{name:e.field_name,className:"mb-0",children:(0,a.jsx)(V.Z,{children:"Integer"===e.field_type?(0,a.jsx)(I.Z,{step:1,value:e.field_value,onChange:l=>s(e.field_name,l),className:"p-0"}):(0,a.jsx)(N.Z,{value:e.field_value,onChange:l=>s(e.field_name,l)})})}),(0,a.jsx)(V.Z,{children:!0==e.stored_in_db?(0,a.jsx)(M.Z,{icon:eV.Z,className:"text-white",children:"In DB"}):!1==e.stored_in_db?(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"In Config"}):(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"Not Set"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:F.Z,color:"red",onClick:()=>t(e.field_name,l),children:"Reset"})})]},l)),(0,a.jsx)("div",{children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Update Settings"})})]})},eB=e=>{let{accessToken:l,premiumUser:s}=e,[t,n]=(0,r.useState)([]);return console.log("INSIDE ALERTING SETTINGS"),(0,r.useEffect)(()=>{l&&(0,u.RQ)(l).then(e=>{n(e)})},[l]),(0,a.jsx)(eq,{alertingSettings:t,handleInputChange:(e,l)=>{n(t.map(s=>s.field_name===e?{...s,field_value:l}:s))},handleResetField:(e,s)=>{if(l)try{let l=t.map(l=>l.field_name===e?{...l,stored_in_db:null,field_value:l.field_default_value}:l);console.log("INSIDE HANDLE RESET FIELD"),n(l)}catch(e){console.log("ERROR OCCURRED!")}},handleSubmit:e=>{if(!l||null==e||void 0==e)return;let s={};t.forEach(e=>{s[e.field_name]=e.field_value});let n={...e,...s};try{(0,u.jA)(l,"alerting_args",n),S.ZP.success("Wait 10s for proxy to update.")}catch(e){}},premiumUser:s})},eK=s(84406);let{Title:eW,Paragraph:eH}=el.default;console.log=function(){};var eG=e=>{let{accessToken:l,userRole:s,userID:t,premiumUser:n}=e,[i,o]=(0,r.useState)([]),[d,c]=(0,r.useState)([]),[m,h]=(0,r.useState)(!1),[g]=k.Z.useForm(),[Z,f]=(0,r.useState)(null),[y,b]=(0,r.useState)([]),[N,I]=(0,r.useState)(""),[C,P]=(0,r.useState)({}),[T,E]=(0,r.useState)([]),[R,F]=(0,r.useState)(!1),[M,W]=(0,r.useState)([]),[G,Y]=(0,r.useState)(null),[J,X]=(0,r.useState)([]),[$,Q]=(0,r.useState)(!1),[ee,el]=(0,r.useState)(null),es=e=>{T.includes(e)?E(T.filter(l=>l!==e)):E([...T,e])},et={llm_exceptions:"LLM Exceptions",llm_too_slow:"LLM Responses Too Slow",llm_requests_hanging:"LLM Requests Hanging",budget_alerts:"Budget Alerts (API Keys, Users)",db_exceptions:"Database Exceptions (Read/Write)",daily_reports:"Weekly/Monthly Spend Reports",outage_alerts:"Outage Alerts",region_outage_alerts:"Region Outage Alerts"};(0,r.useEffect)(()=>{l&&s&&t&&(0,u.BL)(l,t,s).then(e=>{console.log("callbacks",e),o(e.callbacks),W(e.available_callbacks);let l=e.alerts;if(console.log("alerts_data",l),l&&l.length>0){let e=l[0];console.log("_alert_info",e);let s=e.variables.SLACK_WEBHOOK_URL;console.log("catch_all_webhook",s),E(e.active_alerts),I(s),P(e.alerts_to_webhook)}c(l)})},[l,s,t]);let en=e=>T&&T.includes(e),ec=()=>{if(!l)return;let e={};d.filter(e=>"email"===e.name).forEach(l=>{var s;Object.entries(null!==(s=l.variables)&&void 0!==s?s:{}).forEach(l=>{let[s,t]=l,n=document.querySelector('input[name="'.concat(s,'"]'));n&&n.value&&(e[s]=null==n?void 0:n.value)})}),console.log("updatedVariables",e);try{(0,u.K_)(l,{general_settings:{alerting:["email"]},environment_variables:e})}catch(e){S.ZP.error("Failed to update alerts: "+e,20)}S.ZP.success("Email settings updated successfully")},em=async e=>{if(!l)return;let s={};Object.entries(e).forEach(e=>{let[l,t]=e;"callback"!==l&&(s[l]=t)});try{await (0,u.K_)(l,{environment_variables:s}),S.ZP.success("Callback added successfully"),h(!1),g.resetFields(),f(null)}catch(e){S.ZP.error("Failed to add callback: "+e,20)}},eu=async e=>{if(!l)return;let s=null==e?void 0:e.callback,t={};Object.entries(e).forEach(e=>{let[l,s]=e;"callback"!==l&&(t[l]=s)});try{await (0,u.K_)(l,{environment_variables:t,litellm_settings:{success_callback:[s]}}),S.ZP.success("Callback ".concat(s," added successfully")),h(!1),g.resetFields(),f(null)}catch(e){S.ZP.error("Failed to add callback: "+e,20)}},eh=e=>{console.log("inside handleSelectedCallbackChange",e),f(e.litellm_callback_name),console.log("all callbacks",M),e&&e.litellm_callback_params?(X(e.litellm_callback_params),console.log("selectedCallbackParams",J)):X([])};return l?(console.log("callbacks: ".concat(i)),(0,a.jsxs)("div",{className:"w-full mx-4",children:[(0,a.jsx)(x.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{variant:"line",defaultValue:"1",children:[(0,a.jsx)(ea.Z,{value:"1",children:"Logging Callbacks"}),(0,a.jsx)(ea.Z,{value:"2",children:"Alerting Types"}),(0,a.jsx)(ea.Z,{value:"3",children:"Alerting Settings"}),(0,a.jsx)(ea.Z,{value:"4",children:"Email Alerts"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsxs)(eo.Z,{children:[(0,a.jsx)(eW,{level:4,children:"Active Logging Callbacks"}),(0,a.jsx)(x.Z,{numItems:2,children:(0,a.jsx)(L.Z,{className:"max-h-[50vh]",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsx)(K.Z,{children:(0,a.jsx)(B.Z,{children:"Callback Name"})})}),(0,a.jsx)(z.Z,{children:i.map((e,s)=>(0,a.jsxs)(K.Z,{className:"flex justify-between",children:[(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:e.name})}),(0,a.jsx)(V.Z,{children:(0,a.jsxs)(x.Z,{numItems:2,className:"flex justify-between",children:[(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>{el(e),Q(!0)}}),(0,a.jsx)(p.Z,{onClick:()=>(0,u.jE)(l,e.name),className:"ml-2",variant:"secondary",children:"Test Callback"})]})})]},s))})]})})}),(0,a.jsx)(p.Z,{className:"mt-2",onClick:()=>F(!0),children:"Add Callback"})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(_.Z,{className:"my-2",children:["Alerts are only supported for Slack Webhook URLs. Get your webhook urls from"," ",(0,a.jsx)("a",{href:"https://api.slack.com/messaging/webhooks",target:"_blank",style:{color:"blue"},children:"here"})]}),(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{}),(0,a.jsx)(B.Z,{}),(0,a.jsx)(B.Z,{children:"Slack Webhook URL"})]})}),(0,a.jsx)(z.Z,{children:Object.entries(et).map((e,l)=>{let[s,t]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:"region_outage_alerts"==s?n?(0,a.jsx)(ez.Z,{id:"switch",name:"switch",checked:en(s),onChange:()=>es(s)}):(0,a.jsx)(p.Z,{className:"flex items-center justify-center",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Enterprise Feature"})}):(0,a.jsx)(ez.Z,{id:"switch",name:"switch",checked:en(s),onChange:()=>es(s)})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:t})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(j.Z,{name:s,type:"password",defaultValue:C&&C[s]?C[s]:N})})]},l)})})]}),(0,a.jsx)(p.Z,{size:"xs",className:"mt-2",onClick:()=>{if(!l)return;let e={};Object.entries(et).forEach(l=>{let[s,t]=l,n=document.querySelector('input[name="'.concat(s,'"]'));console.log("key",s),console.log("webhookInput",n);let a=(null==n?void 0:n.value)||"";console.log("newWebhookValue",a),e[s]=a}),console.log("updatedAlertToWebhooks",e);let s={general_settings:{alert_to_webhook_url:e,alert_types:T}};console.log("payload",s);try{(0,u.K_)(l,s)}catch(e){S.ZP.error("Failed to update alerts: "+e,20)}S.ZP.success("Alerts updated successfully")},children:"Save Changes"}),(0,a.jsx)(p.Z,{onClick:()=>(0,u.jE)(l,"slack"),className:"mx-2",children:"Test Alerts"})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eB,{accessToken:l,premiumUser:n})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(eW,{level:4,children:"Email Settings"}),(0,a.jsxs)(_.Z,{children:[(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/email",target:"_blank",style:{color:"blue"},children:" LiteLLM Docs: email alerts"})," ",(0,a.jsx)("br",{})]}),(0,a.jsx)("div",{className:"flex w-full",children:d.filter(e=>"email"===e.name).map((e,l)=>{var s;return(0,a.jsx)(V.Z,{children:(0,a.jsx)("ul",{children:(0,a.jsx)(x.Z,{numItems:2,children:Object.entries(null!==(s=e.variables)&&void 0!==s?s:{}).map(e=>{let[l,s]=e;return(0,a.jsxs)("li",{className:"mx-2 my-2",children:[!0!=n&&("EMAIL_LOGO_URL"===l||"EMAIL_SUPPORT_CONTACT"===l)?(0,a.jsxs)("div",{children:[(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:(0,a.jsxs)(_.Z,{className:"mt-2",children:[" ","✨ ",l]})}),(0,a.jsx)(j.Z,{name:l,defaultValue:s,type:"password",disabled:!0,style:{width:"400px"}})]}):(0,a.jsxs)("div",{children:[(0,a.jsx)(_.Z,{className:"mt-2",children:l}),(0,a.jsx)(j.Z,{name:l,defaultValue:s,type:"password",style:{width:"400px"}})]}),(0,a.jsxs)("p",{style:{fontSize:"small",fontStyle:"italic"},children:["SMTP_HOST"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP host address, e.g. `smtp.resend.com`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_PORT"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP port number, e.g. `587`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_USERNAME"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP username, e.g. `username`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_PASSWORD"===l&&(0,a.jsx)("span",{style:{color:"red"},children:" Required * "}),"SMTP_SENDER_EMAIL"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the sender email address, e.g. `sender@berri.ai`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"TEST_EMAIL_ADDRESS"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Email Address to send `Test Email Alert` to. example: `info@berri.ai`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"EMAIL_LOGO_URL"===l&&(0,a.jsx)("div",{style:{color:"gray"},children:"(Optional) Customize the Logo that appears in the email, pass a url to your logo"}),"EMAIL_SUPPORT_CONTACT"===l&&(0,a.jsx)("div",{style:{color:"gray"},children:"(Optional) Customize the support email address that appears in the email. Default is support@berri.ai"})]})]},l)})})})},l)})}),(0,a.jsx)(p.Z,{className:"mt-2",onClick:()=>ec(),children:"Save Changes"}),(0,a.jsx)(p.Z,{onClick:()=>(0,u.jE)(l,"email"),className:"mx-2",children:"Test Email Alerts"})]})})]})]})}),(0,a.jsxs)(w.Z,{title:"Add Logging Callback",visible:R,width:800,onCancel:()=>F(!1),footer:null,children:[(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/logging",className:"mb-8 mt-4",target:"_blank",style:{color:"blue"},children:" LiteLLM Docs: Logging"}),(0,a.jsx)(k.Z,{form:g,onFinish:eu,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eK.Z,{label:"Callback",name:"callback",rules:[{required:!0,message:"Please select a callback"}],children:(0,a.jsx)(v.default,{onChange:e=>{let l=M[e];l&&(console.log(l.ui_callback_name),eh(l))},children:M&&Object.values(M).map(e=>(0,a.jsx)(H.Z,{value:e.litellm_callback_name,children:e.ui_callback_name},e.litellm_callback_name))})}),J&&J.map(e=>(0,a.jsx)(eK.Z,{label:e,name:e,rules:[{required:!0,message:"Please enter the value for "+e}],children:(0,a.jsx)(j.Z,{type:"password"})},e)),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})]}),(0,a.jsx)(w.Z,{visible:$,width:800,title:"Edit ".concat(null==ee?void 0:ee.name," Settings"),onCancel:()=>Q(!1),footer:null,children:(0,a.jsxs)(k.Z,{form:g,onFinish:em,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(a.Fragment,{children:ee&&ee.variables&&Object.entries(ee.variables).map(e=>{let[l,s]=e;return(0,a.jsx)(eK.Z,{label:l,name:l,children:(0,a.jsx)(j.Z,{type:"password",defaultValue:s})},l)})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})]})):null};let{Option:eY}=v.default;var eJ=e=>{let{models:l,accessToken:s,routerSettings:t,setRouterSettings:n}=e,[i]=k.Z.useForm(),[o,d]=(0,r.useState)(!1),[c,m]=(0,r.useState)("");return(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>d(!0),children:"+ Add Fallbacks"}),(0,a.jsx)(w.Z,{title:"Add Fallbacks",visible:o,width:800,footer:null,onOk:()=>{d(!1),i.resetFields()},onCancel:()=>{d(!1),i.resetFields()},children:(0,a.jsxs)(k.Z,{form:i,onFinish:e=>{console.log(e);let{model_name:l,models:a}=e,r=[...t.fallbacks||[],{[l]:a}],o={...t,fallbacks:r};console.log(o);try{(0,u.K_)(s,{router_settings:o}),n(o)}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}S.ZP.success("router settings updated successfully"),d(!1),i.resetFields()},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Public Model Name",name:"model_name",rules:[{required:!0,message:"Set the model to fallback for"}],help:"required",children:(0,a.jsx)(W.Z,{defaultValue:c,children:l&&l.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>m(e),children:e},l))})}),(0,a.jsx)(k.Z.Item,{label:"Fallback Models",name:"models",rules:[{required:!0,message:"Please select a model"}],help:"required",children:(0,a.jsx)(ec.Z,{value:l,children:l&&l.filter(e=>e!=c).map(e=>(0,a.jsx)(em.Z,{value:e,children:e},e))})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add Fallbacks"})})]})})]})},eX=s(12968);async function e$(e,l){console.log=function(){},console.log("isLocal:",!1);let s=window.location.origin,t=new eX.ZP.OpenAI({apiKey:l,baseURL:s,dangerouslyAllowBrowser:!0});try{let l=await t.chat.completions.create({model:e,messages:[{role:"user",content:"Hi, this is a test message"}],mock_testing_fallbacks:!0});S.ZP.success((0,a.jsxs)("span",{children:["Test model=",(0,a.jsx)("strong",{children:e}),", received model=",(0,a.jsx)("strong",{children:l.model}),". See"," ",(0,a.jsx)("a",{href:"#",onClick:()=>window.open("https://docs.litellm.ai/docs/proxy/reliability","_blank"),style:{textDecoration:"underline",color:"blue"},children:"curl"})]}))}catch(e){S.ZP.error("Error occurred while generating model response. Please try again. Error: ".concat(e),20)}}let eQ={ttl:3600,lowest_latency_buffer:0},e0=e=>{let{selectedStrategy:l,strategyArgs:s,paramExplanation:t}=e;return(0,a.jsxs)(g.Z,{children:[(0,a.jsx)(f.Z,{className:"text-sm font-medium text-tremor-content-strong dark:text-dark-tremor-content-strong",children:"Routing Strategy Specific Args"}),(0,a.jsx)(Z.Z,{children:"latency-based-routing"==l?(0,a.jsx)(L.Z,{children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Setting"}),(0,a.jsx)(B.Z,{children:"Value"})]})}),(0,a.jsx)(z.Z,{children:Object.entries(s).map(e=>{let[l,s]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(_.Z,{children:l}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:t[l]})]}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(j.Z,{name:l,defaultValue:"object"==typeof s?JSON.stringify(s,null,2):s.toString()})})]},l)})})]})}):(0,a.jsx)(_.Z,{children:"No specific settings"})})]})};var e1=e=>{let{accessToken:l,userRole:s,userID:t,modelData:n}=e,[i,o]=(0,r.useState)({}),[d,c]=(0,r.useState)({}),[m,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)(!1),[b]=k.Z.useForm(),[v,w]=(0,r.useState)(null),[N,A]=(0,r.useState)(null),[C,P]=(0,r.useState)(null),T={routing_strategy_args:"(dict) Arguments to pass to the routing strategy",routing_strategy:"(string) Routing strategy to use",allowed_fails:"(int) Number of times a deployment can fail before being added to cooldown",cooldown_time:"(int) time in seconds to cooldown a deployment after failure",num_retries:"(int) Number of retries for failed requests. Defaults to 0.",timeout:"(float) Timeout for requests. Defaults to None.",retry_after:"(int) Minimum time to wait before retrying a failed request",ttl:"(int) Sliding window to look back over when calculating the average latency of a deployment. Default - 1 hour (in seconds).",lowest_latency_buffer:"(float) Shuffle between deployments within this % of the lowest latency. Default - 0 (i.e. always pick lowest latency)."};(0,r.useEffect)(()=>{l&&s&&t&&((0,u.BL)(l,t,s).then(e=>{console.log("callbacks",e);let l=e.router_settings;"model_group_retry_policy"in l&&delete l.model_group_retry_policy,o(l)}),(0,u.YU)(l).then(e=>{g(e)}))},[l,s,t]);let E=async e=>{if(l){console.log("received key: ".concat(e)),console.log("routerSettings['fallbacks']: ".concat(i.fallbacks)),i.fallbacks.map(l=>(e in l&&delete l[e],l));try{await (0,u.K_)(l,{router_settings:i}),o({...i}),A(i.routing_strategy),S.ZP.success("Router settings updated successfully")}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}}},O=(e,l)=>{g(m.map(s=>s.field_name===e?{...s,field_value:l}:s))},R=(e,s)=>{if(!l)return;let t=m[s].field_value;if(null!=t&&void 0!=t)try{(0,u.jA)(l,e,t);let s=m.map(l=>l.field_name===e?{...l,stored_in_db:!0}:l);g(s)}catch(e){}},G=(e,s)=>{if(l)try{(0,u.ao)(l,e);let s=m.map(l=>l.field_name===e?{...l,stored_in_db:null,field_value:null}:l);g(s)}catch(e){}},Y=e=>{if(!l)return;console.log("router_settings",e);let s=Object.fromEntries(Object.entries(e).map(e=>{let[l,s]=e;if("routing_strategy_args"!==l&&"routing_strategy"!==l){var t;return[l,(null===(t=document.querySelector('input[name="'.concat(l,'"]')))||void 0===t?void 0:t.value)||s]}if("routing_strategy"==l)return[l,N];if("routing_strategy_args"==l&&"latency-based-routing"==N){let e={},l=document.querySelector('input[name="lowest_latency_buffer"]'),s=document.querySelector('input[name="ttl"]');return(null==l?void 0:l.value)&&(e.lowest_latency_buffer=Number(l.value)),(null==s?void 0:s.value)&&(e.ttl=Number(s.value)),console.log("setRoutingStrategyArgs: ".concat(e)),["routing_strategy_args",e]}return null}).filter(e=>null!=e));console.log("updatedVariables",s);try{(0,u.K_)(l,{router_settings:s})}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}S.ZP.success("router settings updated successfully")};return l?(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsxs)(er.Z,{className:"gap-2 p-8 h-[75vh] w-full mt-2",children:[(0,a.jsxs)(ei.Z,{variant:"line",defaultValue:"1",children:[(0,a.jsx)(ea.Z,{value:"1",children:"Loadbalancing"}),(0,a.jsx)(ea.Z,{value:"2",children:"Fallbacks"}),(0,a.jsx)(ea.Z,{value:"3",children:"General"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:[(0,a.jsx)(y.Z,{children:"Router Settings"}),(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Setting"}),(0,a.jsx)(B.Z,{children:"Value"})]})}),(0,a.jsx)(z.Z,{children:Object.entries(i).filter(e=>{let[l,s]=e;return"fallbacks"!=l&&"context_window_fallbacks"!=l&&"routing_strategy_args"!=l}).map(e=>{let[l,s]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(_.Z,{children:l}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:T[l]})]}),(0,a.jsx)(V.Z,{children:"routing_strategy"==l?(0,a.jsxs)(W.Z,{defaultValue:s,className:"w-full max-w-md",onValueChange:A,children:[(0,a.jsx)(H.Z,{value:"usage-based-routing",children:"usage-based-routing"}),(0,a.jsx)(H.Z,{value:"latency-based-routing",children:"latency-based-routing"}),(0,a.jsx)(H.Z,{value:"simple-shuffle",children:"simple-shuffle"})]}):(0,a.jsx)(j.Z,{name:l,defaultValue:"object"==typeof s?JSON.stringify(s,null,2):s.toString()})})]},l)})})]}),(0,a.jsx)(e0,{selectedStrategy:N,strategyArgs:i&&i.routing_strategy_args&&Object.keys(i.routing_strategy_args).length>0?i.routing_strategy_args:eQ,paramExplanation:T})]}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(p.Z,{className:"mt-2",onClick:()=>Y(i),children:"Save Changes"})})]})}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Model Name"}),(0,a.jsx)(B.Z,{children:"Fallbacks"})]})}),(0,a.jsx)(z.Z,{children:i.fallbacks&&i.fallbacks.map((e,s)=>Object.entries(e).map(e=>{let[t,n]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:t}),(0,a.jsx)(V.Z,{children:Array.isArray(n)?n.join(", "):n}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{onClick:()=>e$(t,l),children:"Test Fallback"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:F.Z,size:"sm",onClick:()=>E(t)})})]},s.toString()+t)}))})]}),(0,a.jsx)(eJ,{models:(null==n?void 0:n.data)?n.data.map(e=>e.model_name):[],accessToken:l,routerSettings:i,setRouterSettings:o})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(L.Z,{children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Setting"}),(0,a.jsx)(B.Z,{children:"Value"}),(0,a.jsx)(B.Z,{children:"Status"}),(0,a.jsx)(B.Z,{children:"Action"})]})}),(0,a.jsx)(z.Z,{children:m.filter(e=>"TypedDictionary"!==e.field_type).map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(_.Z,{children:e.field_name}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:e.field_description})]}),(0,a.jsx)(V.Z,{children:"Integer"==e.field_type?(0,a.jsx)(I.Z,{step:1,value:e.field_value,onChange:l=>O(e.field_name,l)}):null}),(0,a.jsx)(V.Z,{children:!0==e.stored_in_db?(0,a.jsx)(M.Z,{icon:eV.Z,className:"text-white",children:"In DB"}):!1==e.stored_in_db?(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"In Config"}):(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"Not Set"})}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(p.Z,{onClick:()=>R(e.field_name,l),children:"Update"}),(0,a.jsx)(D.Z,{icon:F.Z,color:"red",onClick:()=>G(e.field_name,l),children:"Reset"})]})]},l))})]})})})]})]})}):null},e2=s(98786),e4=s(74325),e5=e=>{let{value:l={},onChange:s}=e,[t,n]=(0,r.useState)(Object.entries(l)),i=e=>{let l=t.filter((l,s)=>s!==e);n(l),null==s||s(Object.fromEntries(l))},o=(e,l,a)=>{let r=[...t];r[e]=[l,a],n(r),null==s||s(Object.fromEntries(r))};return(0,a.jsxs)("div",{children:[t.map((e,l)=>{let[s,t]=e;return(0,a.jsxs)(c.Z,{style:{display:"flex",marginBottom:8},align:"start",children:[(0,a.jsx)(j.Z,{placeholder:"Header Name",value:s,onChange:e=>o(l,e.target.value,t)}),(0,a.jsx)(j.Z,{placeholder:"Header Value",value:t,onChange:e=>o(l,s,e.target.value)}),(0,a.jsx)(e2.Z,{onClick:()=>i(l)})]},l)}),(0,a.jsx)(A.ZP,{type:"dashed",onClick:()=>{n([...t,["",""]])},icon:(0,a.jsx)(e4.Z,{}),children:"Add Header"})]})};let{Option:e8}=v.default;var e3=e=>{let{accessToken:l,setPassThroughItems:s,passThroughItems:t}=e,[n]=k.Z.useForm(),[i,o]=(0,r.useState)(!1),[d,c]=(0,r.useState)("");return(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>o(!0),children:"+ Add Pass-Through Endpoint"}),(0,a.jsx)(w.Z,{title:"Add Pass-Through Endpoint",visible:i,width:800,footer:null,onOk:()=>{o(!1),n.resetFields()},onCancel:()=>{o(!1),n.resetFields()},children:(0,a.jsxs)(k.Z,{form:n,onFinish:e=>{console.log(e);let a=[...t,{headers:e.headers,path:e.path,target:e.target}];try{(0,u.Vt)(l,e),s(a)}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}S.ZP.success("Pass through endpoint successfully added"),o(!1),n.resetFields()},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Path",name:"path",rules:[{required:!0,message:"The route to be added to the LiteLLM Proxy Server."}],help:"required",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"Target",name:"target",rules:[{required:!0,message:"The URL to which requests for this path should be forwarded."}],help:"required",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"Headers",name:"headers",rules:[{required:!0,message:"Key-value pairs of headers to be forwarded with the request. You can set any key value pair here and it will be forwarded to your target endpoint"}],help:"required",children:(0,a.jsx)(e5,{})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add Pass-Through Endpoint"})})]})})]})},e6=e=>{let{accessToken:l,userRole:s,userID:t,modelData:n}=e,[i,o]=(0,r.useState)([]);(0,r.useEffect)(()=>{l&&s&&t&&(0,u.mp)(l).then(e=>{o(e.endpoints)})},[l,s,t]);let d=(e,s)=>{if(l)try{(0,u.EG)(l,e);let s=i.filter(l=>l.path!==e);o(s),S.ZP.success("Endpoint deleted successfully.")}catch(e){}};return l?(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsx)(er.Z,{className:"gap-2 p-8 h-[75vh] w-full mt-2",children:(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Path"}),(0,a.jsx)(B.Z,{children:"Target"}),(0,a.jsx)(B.Z,{children:"Headers"}),(0,a.jsx)(B.Z,{children:"Action"})]})}),(0,a.jsx)(z.Z,{children:i.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:e.path})}),(0,a.jsx)(V.Z,{children:e.target}),(0,a.jsx)(V.Z,{children:JSON.stringify(e.headers)}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:F.Z,color:"red",onClick:()=>d(e.path,l),children:"Reset"})})]},l))})]}),(0,a.jsx)(e3,{accessToken:l,setPassThroughItems:o,passThroughItems:i})]})})}):null},e7=e=>{let{isModalVisible:l,accessToken:s,setIsModalVisible:t,setBudgetList:n}=e,[r]=k.Z.useForm(),i=async e=>{if(null!=s&&void 0!=s)try{S.ZP.info("Making API Call");let l=await (0,u.Zr)(s,e);console.log("key create Response:",l),n(e=>e?[...e,l]:[l]),S.ZP.success("API Key Created"),r.resetFields()}catch(e){console.error("Error creating the key:",e),S.ZP.error("Error creating the key: ".concat(e),20)}};return(0,a.jsx)(w.Z,{title:"Create Budget",visible:l,width:800,footer:null,onOk:()=>{t(!1),r.resetFields()},onCancel:()=>{t(!1),r.resetFields()},children:(0,a.jsxs)(k.Z,{form:r,onFinish:i,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsxs)(g.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(f.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(Z.Z,{children:[(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create Budget"})})]})})},e9=e=>{let{isModalVisible:l,accessToken:s,setIsModalVisible:t,setBudgetList:n,existingBudget:r}=e,[i]=k.Z.useForm(),o=async e=>{if(null!=s&&void 0!=s)try{S.ZP.info("Making API Call");let l=await (0,u.Zr)(s,e);console.log("key create Response:",l),n(e=>e?[...e,l]:[l]),S.ZP.success("API Key Created"),i.resetFields()}catch(e){console.error("Error creating the key:",e),S.ZP.error("Error creating the key: ".concat(e),20)}};return(0,a.jsx)(w.Z,{title:"Edit Budget",visible:l,width:800,footer:null,onOk:()=>{t(!1),i.resetFields()},onCancel:()=>{t(!1),i.resetFields()},children:(0,a.jsxs)(k.Z,{form:i,onFinish:o,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",initialValues:r,children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsxs)(g.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(f.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(Z.Z,{children:[(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Edit Budget"})})]})})},le=e=>{let{accessToken:l}=e,[s,t]=(0,r.useState)(!1),[n,i]=(0,r.useState)(!1),[o,d]=(0,r.useState)(null),[c,m]=(0,r.useState)([]);(0,r.useEffect)(()=>{l&&(0,u.O3)(l).then(e=>{m(e)})},[l]);let h=async(e,s)=>{null!=l&&(d(c[s]),i(!0))},x=async(e,s)=>{if(null==l)return;S.ZP.info("Request made"),await (0,u.NV)(l,e);let t=[...c];t.splice(s,1),m(t),S.ZP.success("Budget Deleted.")};return(0,a.jsxs)("div",{className:"w-full mx-auto flex-auto overflow-y-auto m-8 p-2",children:[(0,a.jsx)(p.Z,{size:"sm",variant:"primary",className:"mb-2",onClick:()=>t(!0),children:"+ Create Budget"}),(0,a.jsx)(e7,{accessToken:l,isModalVisible:s,setIsModalVisible:t,setBudgetList:m}),o&&(0,a.jsx)(e9,{accessToken:l,isModalVisible:n,setIsModalVisible:i,setBudgetList:m,existingBudget:o}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(_.Z,{children:"Create a budget to assign to customers."}),(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Budget ID"}),(0,a.jsx)(B.Z,{children:"Max Budget"}),(0,a.jsx)(B.Z,{children:"TPM"}),(0,a.jsx)(B.Z,{children:"RPM"})]})}),(0,a.jsx)(z.Z,{children:c.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.budget_id}),(0,a.jsx)(V.Z,{children:e.max_budget?e.max_budget:"n/a"}),(0,a.jsx)(V.Z,{children:e.tpm_limit?e.tpm_limit:"n/a"}),(0,a.jsx)(V.Z,{children:e.rpm_limit?e.rpm_limit:"n/a"}),(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>h(e.budget_id,l)}),(0,a.jsx)(D.Z,{icon:F.Z,size:"sm",onClick:()=>x(e.budget_id,l)})]},l))})]})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)(_.Z,{className:"text-base",children:"How to use budget id"}),(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{children:[(0,a.jsx)(ea.Z,{children:"Assign Budget to Customer"}),(0,a.jsx)(ea.Z,{children:"Test it (Curl)"}),(0,a.jsx)(ea.Z,{children:"Test it (OpenAI SDK)"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"bash",children:"\ncurl -X POST --location '/end_user/new' \n-H 'Authorization: Bearer ' \n-H 'Content-Type: application/json' \n-d '{\"user_id\": \"my-customer-id', \"budget_id\": \"\"}' # \uD83D\uDC48 KEY CHANGE\n\n "})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"bash",children:'\ncurl -X POST --location \'/chat/completions\' \n-H \'Authorization: Bearer \' \n-H \'Content-Type: application/json\' \n-d \'{\n "model": "gpt-3.5-turbo\', \n "messages":[{"role": "user", "content": "Hey, how\'s it going?"}],\n "user": "my-customer-id"\n}\' # \uD83D\uDC48 KEY CHANGE\n\n '})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'from openai import OpenAI\nclient = OpenAI(\n base_url="",\n api_key=""\n)\n\ncompletion = client.chat.completions.create(\n model="gpt-3.5-turbo",\n messages=[\n {"role": "system", "content": "You are a helpful assistant."},\n {"role": "user", "content": "Hello!"}\n ],\n user="my-customer-id"\n)\n\nprint(completion.choices[0].message)'})})]})]})]})]})},ll=s(41134),ls=e=>{let{proxySettings:l}=e,s="";return l&&l.PROXY_BASE_URL&&void 0!==l.PROXY_BASE_URL&&(s=l.PROXY_BASE_URL),(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(x.Z,{className:"gap-2 p-8 h-[80vh] w-full mt-2",children:(0,a.jsxs)("div",{className:"mb-5",children:[(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:"OpenAI Compatible Proxy: API Reference"}),(0,a.jsx)(_.Z,{className:"mt-2 mb-2",children:"LiteLLM is OpenAI Compatible. This means your API Key works with the OpenAI SDK. Just replace the base_url to point to your litellm proxy. Example Below "}),(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{children:[(0,a.jsx)(ea.Z,{children:"OpenAI Python SDK"}),(0,a.jsx)(ea.Z,{children:"LlamaIndex"}),(0,a.jsx)(ea.Z,{children:"Langchain Py"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'\nimport openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="'.concat(s,'" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="gpt-3.5-turbo", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)\n ')})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'\nimport os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="azure-gpt-3.5", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="'.concat(s,'", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="').concat(s,'",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)\n\n ')})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'\nfrom langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="'.concat(s,'",\n model = "gpt-3.5-turbo",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)\n\n ')})})]})]})]})})})};async function lt(e,l,s,t){console.log=function(){},console.log("isLocal:",!1);let n=window.location.origin,a=new eX.ZP.OpenAI({apiKey:t,baseURL:n,dangerouslyAllowBrowser:!0});try{for await(let t of(await a.chat.completions.create({model:s,stream:!0,messages:[{role:"user",content:e}]})))console.log(t),t.choices[0].delta.content&&l(t.choices[0].delta.content)}catch(e){S.ZP.error("Error occurred while generating model response. Please try again. Error: ".concat(e),20)}}var ln=e=>{let{accessToken:l,token:s,userRole:t,userID:n}=e,[i,o]=(0,r.useState)(""),[d,c]=(0,r.useState)(""),[m,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)(void 0),[y,b]=(0,r.useState)([]);(0,r.useEffect)(()=>{l&&s&&t&&n&&(async()=>{try{let e=await (0,u.So)(l,n,t);if(console.log("model_info:",e),(null==e?void 0:e.data.length)>0){let l=e.data.map(e=>({value:e.id,label:e.id}));if(console.log(l),l.length>0){let e=Array.from(new Set(l));console.log("Unique models:",e),e.sort((e,l)=>e.label.localeCompare(l.label)),console.log("Model info:",y),b(e)}f(e.data[0].id)}}catch(e){console.error("Error fetching model info:",e)}})()},[l,n,t]);let k=(e,l)=>{g(s=>{let t=s[s.length-1];return t&&t.role===e?[...s.slice(0,s.length-1),{role:e,content:t.content+l}]:[...s,{role:e,content:l}]})},S=async()=>{if(""!==d.trim()&&i&&s&&t&&n){g(e=>[...e,{role:"user",content:d}]);try{Z&&await lt(d,e=>k("assistant",e),Z,i)}catch(e){console.error("Error fetching model response",e),k("assistant","Error fetching model response")}c("")}};if(t&&"Admin Viewer"==t){let{Title:e,Paragraph:l}=el.default;return(0,a.jsxs)("div",{children:[(0,a.jsx)(e,{level:1,children:"Access Denied"}),(0,a.jsx)(l,{children:"Ask your proxy admin for access to test models"})]})}return(0,a.jsx)("div",{style:{width:"100%",position:"relative"},children:(0,a.jsx)(x.Z,{className:"gap-2 p-8 h-[80vh] w-full mt-2",children:(0,a.jsx)(L.Z,{children:(0,a.jsxs)(er.Z,{children:[(0,a.jsx)(ei.Z,{children:(0,a.jsx)(ea.Z,{children:"Chat"})}),(0,a.jsx)(ed.Z,{children:(0,a.jsxs)(eo.Z,{children:[(0,a.jsx)("div",{className:"sm:max-w-2xl",children:(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(_.Z,{children:"API Key"}),(0,a.jsx)(j.Z,{placeholder:"Type API Key here",type:"password",onValueChange:o,value:i})]}),(0,a.jsxs)(h.Z,{className:"mx-2",children:[(0,a.jsx)(_.Z,{children:"Select Model:"}),(0,a.jsx)(v.default,{placeholder:"Select a Model",onChange:e=>{console.log("selected ".concat(e)),f(e)},options:y,style:{width:"200px"}})]})]})}),(0,a.jsxs)(U.Z,{className:"mt-5",style:{display:"block",maxHeight:"60vh",overflowY:"auto"},children:[(0,a.jsx)(q.Z,{children:(0,a.jsx)(K.Z,{children:(0,a.jsx)(V.Z,{})})}),(0,a.jsx)(z.Z,{children:m.map((e,l)=>(0,a.jsx)(K.Z,{children:(0,a.jsx)(V.Z,{children:"".concat(e.role,": ").concat(e.content)})},l))})]}),(0,a.jsx)("div",{className:"mt-3",style:{position:"absolute",bottom:5,width:"95%"},children:(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(j.Z,{type:"text",value:d,onChange:e=>c(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S()},placeholder:"Type your message..."}),(0,a.jsx)(p.Z,{onClick:S,className:"ml-2",children:"Send"})]})})]})})]})})})})},la=s(33509),lr=s(95781);let{Sider:li}=la.default,lo=["Admin","Admin Viewer","Internal User","Internal Viewer"];var ld=e=>{let{setPage:l,userRole:s,defaultSelectedKey:t}=e;return"Admin Viewer"==s?(0,a.jsx)(la.default,{style:{minHeight:"100vh",maxWidth:"120px"},children:(0,a.jsx)(li,{width:120,children:(0,a.jsxs)(lr.Z,{mode:"inline",defaultSelectedKeys:t||["4"],style:{height:"100%",borderRight:0},children:[(0,a.jsx)(lr.Z.Item,{onClick:()=>l("usage"),children:"Usage"},"1"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("teams"),children:(0,a.jsx)(_.Z,{children:"Teams"})},"6"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("caching"),children:(0,a.jsx)(_.Z,{children:"Caching"})},"9")]})})}):(0,a.jsx)(la.default,{style:{minHeight:"100vh",maxWidth:"145px"},children:(0,a.jsx)(li,{width:145,children:(0,a.jsxs)(lr.Z,{mode:"inline",defaultSelectedKeys:t||["1"],style:{height:"100%",borderRight:0},children:[(0,a.jsx)(lr.Z.Item,{onClick:()=>l("api-keys"),children:(0,a.jsx)(_.Z,{children:"Virtual Keys"})},"1"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("llm-playground"),children:(0,a.jsx)(_.Z,{children:"Test Key"})},"3"),"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("models"),children:(0,a.jsx)(_.Z,{children:"Models"})},"2"):null,lo.includes(s)?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("usage"),children:(0,a.jsx)(_.Z,{children:"Usage"})},"4"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("teams"),children:(0,a.jsx)(_.Z,{children:"Teams"})},"6"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("users"),children:(0,a.jsx)(_.Z,{children:"Internal Users"})},"5"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("settings"),children:(0,a.jsx)(_.Z,{children:"Logging & Alerts"})},"8"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("caching"),children:(0,a.jsx)(_.Z,{children:"Caching"})},"9"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("budgets"),children:(0,a.jsx)(_.Z,{children:"Budgets"})},"10"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("general-settings"),children:(0,a.jsx)(_.Z,{children:"Router Settings"})},"11"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("pass-through-settings"),children:(0,a.jsx)(_.Z,{children:"Pass-Through"})},"12"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("admin-panel"),children:(0,a.jsx)(_.Z,{children:"Admin Settings"})},"13"):null,(0,a.jsx)(lr.Z.Item,{onClick:()=>l("api_ref"),children:(0,a.jsx)(_.Z,{children:"API Reference"})},"14"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("model-hub"),children:(0,a.jsx)(_.Z,{children:"Model Hub"})},"16")]})})})},lc=s(67989),lm=s(52703);console.log("process.env.NODE_ENV","production"),console.log=function(){};let lu=e=>null!==e&&("Admin"===e||"Admin Viewer"===e);var lh=e=>{let{accessToken:l,token:s,userRole:t,userID:n,keys:i,premiumUser:o}=e,d=new Date,[c,m]=(0,r.useState)([]),[j,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)([]),[b,v]=(0,r.useState)([]),[k,S]=(0,r.useState)([]),[w,N]=(0,r.useState)([]),[I,A]=(0,r.useState)([]),[C,P]=(0,r.useState)([]),[T,E]=(0,r.useState)([]),[O,R]=(0,r.useState)([]),[F,M]=(0,r.useState)({}),[D,G]=(0,r.useState)([]),[Y,X]=(0,r.useState)(""),[$,Q]=(0,r.useState)(["all-tags"]),[ee,el]=(0,r.useState)({from:new Date(Date.now()-6048e5),to:new Date}),es=new Date(d.getFullYear(),d.getMonth(),1),ex=new Date(d.getFullYear(),d.getMonth()+1,0),ep=e_(es),ej=e_(ex);function eg(e){return new Intl.NumberFormat("en-US",{maximumFractionDigits:0,notation:"compact",compactDisplay:"short"}).format(e)}console.log("keys in usage",i),console.log("premium user in usage",o),(0,r.useEffect)(()=>{ef(ee.from,ee.to)},[ee,$]);let eZ=async(e,s,t)=>{if(!e||!s||!l)return;s.setHours(23,59,59,999),e.setHours(0,0,0,0),console.log("uiSelectedKey",t);let n=await (0,u.b1)(l,t,e.toISOString(),s.toISOString());console.log("End user data updated successfully",n),v(n)},ef=async(e,s)=>{e&&s&&l&&(s.setHours(23,59,59,999),e.setHours(0,0,0,0),N((await (0,u.J$)(l,e.toISOString(),s.toISOString(),0===$.length?void 0:$)).spend_per_tag),console.log("Tag spend data updated successfully"))};function e_(e){let l=e.getFullYear(),s=e.getMonth()+1,t=e.getDate();return"".concat(l,"-").concat(s<10?"0"+s:s,"-").concat(t<10?"0"+t:t)}console.log("Start date is ".concat(ep)),console.log("End date is ".concat(ej));let ey=async(e,l,s)=>{try{let s=await e();l(s)}catch(e){console.error(s,e)}},eb=()=>ey(()=>l?(0,u.FC)(l):Promise.reject("No access token"),m,"Error fetching overall spend"),ev=()=>ey(()=>l&&s?(0,u.OU)(l,s,ep,ej):Promise.reject("No access token or token"),R,"Error fetching provider spend"),ek=async()=>{l&&await ey(async()=>(await (0,u.tN)(l)).map(e=>({key:(e.key_alias||e.key_name||e.api_key).substring(0,10),spend:e.total_spend})),g,"Error fetching top keys")},eS=async()=>{l&&await ey(async()=>(await (0,u.Au)(l)).map(e=>({key:e.model,spend:e.total_spend})),f,"Error fetching top models")},ew=async()=>{l&&await ey(async()=>{let e=await (0,u.mR)(l);return S(e.daily_spend),P(e.teams),e.total_spend_per_team.map(e=>({name:e.team_id||"",value:(e.total_spend||0).toFixed(2)}))},E,"Error fetching team spend")},eN=()=>{l&&ey(async()=>(await (0,u.X)(l)).tag_names,A,"Error fetching tag names")},eI=()=>{l&&ey(()=>{var e,s;return(0,u.J$)(l,null===(e=ee.from)||void 0===e?void 0:e.toISOString(),null===(s=ee.to)||void 0===s?void 0:s.toISOString(),void 0)},e=>N(e.spend_per_tag),"Error fetching top tags")},eA=()=>{l&&ey(()=>(0,u.b1)(l,null,void 0,void 0),v,"Error fetching top end users")},eC=()=>{l&&ey(()=>(0,u.wd)(l,ep,ej),M,"Error fetching global activity")},eP=()=>{l&&ey(()=>(0,u.xA)(l,ep,ej),G,"Error fetching global activity per model")};return(0,r.useEffect)(()=>{l&&s&&t&&n&&(eb(),ev(),ek(),eS(),eC(),eP(),lu(t)&&(ew(),eN(),eI(),eA()))},[l,s,t,n,ep,ej]),(0,a.jsx)("div",{style:{width:"100%"},className:"p-8",children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{className:"mt-2",children:[(0,a.jsx)(ea.Z,{children:"All Up"}),lu(t)?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ea.Z,{children:"Team Based Usage"}),(0,a.jsx)(ea.Z,{children:"Customer Usage"}),(0,a.jsx)(ea.Z,{children:"Tag Based Usage"})]}):(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{})})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{variant:"solid",className:"mt-1",children:[(0,a.jsx)(ea.Z,{children:"Cost"}),(0,a.jsx)(ea.Z,{children:"Activity"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:2,className:"gap-2 h-[100vh] w-full",children:[(0,a.jsx)(J,{userID:n,userRole:t,accessToken:l,userSpend:null,selectedTeam:null,userMaxBudget:null}),(0,a.jsx)(h.Z,{numColSpan:2,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Monthly Spend"}),(0,a.jsx)(eh.Z,{data:c,index:"date",categories:["spend"],colors:["blue"],valueFormatter:e=>"$ ".concat(new Intl.NumberFormat("us").format(e).toString()),yAxisWidth:100,tickGap:5})]})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Top API Keys"}),(0,a.jsx)(eh.Z,{className:"mt-4 h-40",data:j,index:"key",categories:["spend"],colors:["blue"],yAxisWidth:80,tickGap:5,layout:"vertical",showXAxis:!1,showLegend:!1})]})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Top Models"}),(0,a.jsx)(eh.Z,{className:"mt-4 h-40",data:Z,index:"key",categories:["spend"],colors:["blue"],yAxisWidth:200,layout:"vertical",showXAxis:!1,showLegend:!1})]})}),(0,a.jsx)(h.Z,{numColSpan:1}),(0,a.jsx)(h.Z,{numColSpan:2,children:(0,a.jsxs)(L.Z,{className:"mb-2",children:[(0,a.jsx)(y.Z,{children:"✨ Spend by Provider"}),o?(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)(lm.Z,{className:"mt-4 h-40",variant:"pie",data:O,index:"provider",category:"spend"})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Provider"}),(0,a.jsx)(B.Z,{children:"Spend"})]})}),(0,a.jsx)(z.Z,{children:O.map(e=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.provider}),(0,a.jsx)(V.Z,{children:1e-5>parseFloat(e.spend.toFixed(2))?"less than 0.00":e.spend.toFixed(2)})]},e.provider))})]})})]})}):(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to use this feature"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})]})]})})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 h-[75vh] w-full",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"All Up"}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["API Requests ",eg(F.sum_api_requests)]}),(0,a.jsx)(eu.Z,{className:"h-40",data:F.daily_data,valueFormatter:eg,index:"date",colors:["cyan"],categories:["api_requests"],onValueChange:e=>console.log(e)})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Tokens ",eg(F.sum_total_tokens)]}),(0,a.jsx)(eh.Z,{className:"h-40",data:F.daily_data,valueFormatter:eg,index:"date",colors:["cyan"],categories:["total_tokens"],onValueChange:e=>console.log(e)})]})]})]}),o?(0,a.jsx)(a.Fragment,{children:D.map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.model}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["API Requests ",eg(e.sum_api_requests)]}),(0,a.jsx)(eu.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],categories:["api_requests"],valueFormatter:eg,onValueChange:e=>console.log(e)})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Tokens ",eg(e.sum_total_tokens)]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],categories:["total_tokens"],valueFormatter:eg,onValueChange:e=>console.log(e)})]})]})]},l))}):(0,a.jsx)(a.Fragment,{children:D&&D.length>0&&D.slice(0,1).map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"✨ Activity by Model"}),(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to see analytics for all models"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.model}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["API Requests ",eg(e.sum_api_requests)]}),(0,a.jsx)(eu.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],categories:["api_requests"],valueFormatter:eg,onValueChange:e=>console.log(e)})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Tokens ",eg(e.sum_total_tokens)]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],valueFormatter:eg,categories:["total_tokens"],onValueChange:e=>console.log(e)})]})]})]})]},l))})]})})]})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:2,className:"gap-2 h-[75vh] w-full",children:[(0,a.jsxs)(h.Z,{numColSpan:2,children:[(0,a.jsxs)(L.Z,{className:"mb-2",children:[(0,a.jsx)(y.Z,{children:"Total Spend Per Team"}),(0,a.jsx)(lc.Z,{data:T})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Daily Spend Per Team"}),(0,a.jsx)(eh.Z,{className:"h-72",data:k,showLegend:!0,index:"date",categories:C,yAxisWidth:80,stack:!0})]})]}),(0,a.jsx)(h.Z,{numColSpan:2})]})}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:["Customers of your LLM API calls. Tracked when a `user` param is passed in your LLM calls ",(0,a.jsx)("a",{className:"text-blue-500",href:"https://docs.litellm.ai/docs/proxy/users",target:"_blank",children:"docs here"})]}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(_.Z,{children:"Select Time Range"}),(0,a.jsx)(en.Z,{enableSelect:!0,value:ee,onValueChange:e=>{el(e),eZ(e.from,e.to,null)}})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(_.Z,{children:"Select Key"}),(0,a.jsxs)(W.Z,{defaultValue:"all-keys",children:[(0,a.jsx)(H.Z,{value:"all-keys",onClick:()=>{eZ(ee.from,ee.to,null)},children:"All Keys"},"all-keys"),null==i?void 0:i.map((e,l)=>e&&null!==e.key_alias&&e.key_alias.length>0?(0,a.jsx)(H.Z,{value:String(l),onClick:()=>{eZ(ee.from,ee.to,e.token)},children:e.key_alias},l):null)]})]})]}),(0,a.jsx)(L.Z,{className:"mt-4",children:(0,a.jsxs)(U.Z,{className:"max-h-[70vh] min-h-[500px]",children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Customer"}),(0,a.jsx)(B.Z,{children:"Spend"}),(0,a.jsx)(B.Z,{children:"Total Events"})]})}),(0,a.jsx)(z.Z,{children:null==b?void 0:b.map((e,l)=>{var s;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.end_user}),(0,a.jsx)(V.Z,{children:null===(s=e.total_spend)||void 0===s?void 0:s.toFixed(4)}),(0,a.jsx)(V.Z,{children:e.total_count})]},l)})})]})})]}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)(en.Z,{className:"mb-4",enableSelect:!0,value:ee,onValueChange:e=>{el(e),ef(e.from,e.to)}})}),(0,a.jsx)(h.Z,{children:o?(0,a.jsx)("div",{children:(0,a.jsxs)(ec.Z,{value:$,onValueChange:e=>Q(e),children:[(0,a.jsx)(em.Z,{value:"all-tags",onClick:()=>Q(["all-tags"]),children:"All Tags"},"all-tags"),I&&I.filter(e=>"all-tags"!==e).map((e,l)=>(0,a.jsx)(em.Z,{value:String(e),children:e},e))]})}):(0,a.jsx)("div",{children:(0,a.jsxs)(ec.Z,{value:$,onValueChange:e=>Q(e),children:[(0,a.jsx)(em.Z,{value:"all-tags",onClick:()=>Q(["all-tags"]),children:"All Tags"},"all-tags"),I&&I.filter(e=>"all-tags"!==e).map((e,l)=>(0,a.jsxs)(H.Z,{value:String(e),disabled:!0,children:["✨ ",e," (Enterprise only Feature)"]},e))]})})})]}),(0,a.jsxs)(x.Z,{numItems:2,className:"gap-2 h-[75vh] w-full mb-4",children:[(0,a.jsx)(h.Z,{numColSpan:2,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Spend Per Tag"}),(0,a.jsxs)(_.Z,{children:["Get Started Tracking cost per tag ",(0,a.jsx)("a",{className:"text-blue-500",href:"https://docs.litellm.ai/docs/proxy/cost_tracking",target:"_blank",children:"here"})]}),(0,a.jsx)(eh.Z,{className:"h-72",data:w,index:"name",categories:["spend"],colors:["blue"]})]})}),(0,a.jsx)(h.Z,{numColSpan:2})]})]})]})]})})};let lx=e=>{if(e)return e.toISOString().split("T")[0]};function lp(e){return new Intl.NumberFormat("en-US",{maximumFractionDigits:0,notation:"compact",compactDisplay:"short"}).format(e)}var lj=e=>{let{accessToken:l,token:s,userRole:t,userID:n,premiumUser:i}=e,[o,d]=(0,r.useState)([]),[c,m]=(0,r.useState)([]),[p,j]=(0,r.useState)([]),[g,Z]=(0,r.useState)([]),[f,_]=(0,r.useState)("0"),[y,b]=(0,r.useState)("0"),[v,k]=(0,r.useState)("0"),[S,w]=(0,r.useState)({from:new Date(Date.now()-6048e5),to:new Date});(0,r.useEffect)(()=>{l&&S&&(async()=>{Z(await (0,u.zg)(l,lx(S.from),lx(S.to)))})()},[l]);let N=Array.from(new Set(g.map(e=>{var l;return null!==(l=null==e?void 0:e.api_key)&&void 0!==l?l:""}))),I=Array.from(new Set(g.map(e=>{var l;return null!==(l=null==e?void 0:e.model)&&void 0!==l?l:""})));Array.from(new Set(g.map(e=>{var l;return null!==(l=null==e?void 0:e.call_type)&&void 0!==l?l:""})));let A=async(e,s)=>{e&&s&&l&&(s.setHours(23,59,59,999),e.setHours(0,0,0,0),Z(await (0,u.zg)(l,lx(e),lx(s))))};return(0,r.useEffect)(()=>{console.log("DATA IN CACHE DASHBOARD",g);let e=g;c.length>0&&(e=e.filter(e=>c.includes(e.api_key))),p.length>0&&(e=e.filter(e=>p.includes(e.model))),console.log("before processed data in cache dashboard",e);let l=0,s=0,t=0,n=e.reduce((e,n)=>{console.log("Processing item:",n),n.call_type||(console.log("Item has no call_type:",n),n.call_type="Unknown"),l+=(n.total_rows||0)-(n.cache_hit_true_rows||0),s+=n.cache_hit_true_rows||0,t+=n.cached_completion_tokens||0;let a=e.find(e=>e.name===n.call_type);return a?(a["LLM API requests"]+=(n.total_rows||0)-(n.cache_hit_true_rows||0),a["Cache hit"]+=n.cache_hit_true_rows||0,a["Cached Completion Tokens"]+=n.cached_completion_tokens||0,a["Generated Completion Tokens"]+=n.generated_completion_tokens||0):e.push({name:n.call_type,"LLM API requests":(n.total_rows||0)-(n.cache_hit_true_rows||0),"Cache hit":n.cache_hit_true_rows||0,"Cached Completion Tokens":n.cached_completion_tokens||0,"Generated Completion Tokens":n.generated_completion_tokens||0}),e},[]);_(lp(s)),b(lp(t));let a=s+l;a>0?k((s/a*100).toFixed(2)):k("0"),d(n),console.log("PROCESSED DATA IN CACHE DASHBOARD",n)},[c,p,S,g]),(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(x.Z,{numItems:3,className:"gap-4 mt-4",children:[(0,a.jsx)(h.Z,{children:(0,a.jsx)(ec.Z,{placeholder:"Select API Keys",value:c,onValueChange:m,children:N.map(e=>(0,a.jsx)(em.Z,{value:e,children:e},e))})}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(ec.Z,{placeholder:"Select Models",value:p,onValueChange:j,children:I.map(e=>(0,a.jsx)(em.Z,{value:e,children:e},e))})}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(en.Z,{enableSelect:!0,value:S,onValueChange:e=>{w(e),A(e.from,e.to)},selectPlaceholder:"Select date range"})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3 mt-4",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Cache Hit Ratio"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsxs)("p",{className:"text-tremor-metric font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:[v,"%"]})})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Cache Hits"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor-metric font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:f})})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Cached Tokens"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor-metric font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:y})})]})]}),(0,a.jsx)(et.Z,{className:"mt-4",children:"Cache Hits vs API Requests"}),(0,a.jsx)(eh.Z,{title:"Cache Hits vs API Requests",data:o,stack:!0,index:"name",valueFormatter:lp,categories:["LLM API requests","Cache hit"],colors:["sky","teal"],yAxisWidth:48}),(0,a.jsx)(et.Z,{className:"mt-4",children:"Cached Completion Tokens vs Generated Completion Tokens"}),(0,a.jsx)(eh.Z,{className:"mt-6",data:o,stack:!0,index:"name",valueFormatter:lp,categories:["Generated Completion Tokens","Cached Completion Tokens"],colors:["sky","teal"],yAxisWidth:48})]})},lg=()=>{let{Title:e,Paragraph:l}=el.default,[s,t]=(0,r.useState)(""),[n,o]=(0,r.useState)(!1),[d,c]=(0,r.useState)(null),[h,x]=(0,r.useState)(null),[p,j]=(0,r.useState)(null),[g,Z]=(0,r.useState)({PROXY_BASE_URL:"",PROXY_LOGOUT_URL:""}),[f,_]=(0,r.useState)(!0),y=(0,i.useSearchParams)(),[b,v]=(0,r.useState)({data:[]}),k=y.get("userID"),S=y.get("invitation_id"),w=function(e){console.log("COOKIES",document.cookie);let l=document.cookie.split("; ").find(l=>l.startsWith(e+"="));return l?l.split("=")[1]:null}("token"),[N,I]=(0,r.useState)("api-keys"),[A,C]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(w){let e=(0,ee.o)(w);if(e){if(console.log("Decoded token:",e),console.log("Decoded key:",e.key),C(e.key),e.user_role){let l=function(e){if(!e)return"Undefined Role";switch(console.log("Received user role: ".concat(e.toLowerCase())),console.log("Received user role length: ".concat(e.toLowerCase().length)),e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"internal_user":return"Internal User";case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(e.user_role);console.log("Decoded user_role:",l),t(l),"Admin Viewer"==l&&I("usage")}else console.log("User role not defined");e.user_email?c(e.user_email):console.log("User Email is not set ".concat(e)),e.login_method?_("username_password"==e.login_method):console.log("User Email is not set ".concat(e)),e.premium_user&&o(e.premium_user),e.auth_header_name&&(0,u.K8)(e.auth_header_name)}}},[w]),(0,a.jsx)(r.Suspense,{fallback:(0,a.jsx)("div",{children:"Loading..."}),children:S?(0,a.jsx)(es,{userID:k,userRole:s,premiumUser:n,teams:h,keys:p,setUserRole:t,userEmail:d,setUserEmail:c,setTeams:x,setKeys:j,setProxySettings:Z,proxySettings:g}):(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",children:[(0,a.jsx)(m,{userID:k,userRole:s,userEmail:d,premiumUser:n,setProxySettings:Z,proxySettings:g}),(0,a.jsxs)("div",{className:"flex flex-1 overflow-auto",children:[(0,a.jsx)("div",{className:"mt-8",children:(0,a.jsx)(ld,{setPage:I,userRole:s,defaultSelectedKey:null})}),"api-keys"==N?(0,a.jsx)(es,{userID:k,userRole:s,premiumUser:n,teams:h,keys:p,setUserRole:t,userEmail:d,setUserEmail:c,setTeams:x,setKeys:j,setProxySettings:Z,proxySettings:g}):"models"==N?(0,a.jsx)(eE,{userID:k,userRole:s,token:w,keys:p,accessToken:A,modelData:b,setModelData:v,premiumUser:n}):"llm-playground"==N?(0,a.jsx)(ln,{userID:k,userRole:s,token:w,accessToken:A}):"users"==N?(0,a.jsx)(eL,{userID:k,userRole:s,token:w,keys:p,teams:h,accessToken:A,setKeys:j}):"teams"==N?(0,a.jsx)(eD,{teams:h,setTeams:x,searchParams:y,accessToken:A,userID:k,userRole:s}):"admin-panel"==N?(0,a.jsx)(eU,{setTeams:x,searchParams:y,accessToken:A,showSSOBanner:f,premiumUser:n}):"api_ref"==N?(0,a.jsx)(ls,{proxySettings:g}):"settings"==N?(0,a.jsx)(eG,{userID:k,userRole:s,accessToken:A,premiumUser:n}):"budgets"==N?(0,a.jsx)(le,{accessToken:A}):"general-settings"==N?(0,a.jsx)(e1,{userID:k,userRole:s,accessToken:A,modelData:b}):"model-hub"==N?(0,a.jsx)(ll.Z,{accessToken:A,publicPage:!1,premiumUser:n}):"caching"==N?(0,a.jsx)(lj,{userID:k,userRole:s,token:w,accessToken:A,premiumUser:n}):"pass-through-settings"==N?(0,a.jsx)(e6,{userID:k,userRole:s,accessToken:A,modelData:b}):(0,a.jsx)(lh,{userID:k,userRole:s,token:w,accessToken:A,keys:p,premiumUser:n})]})]})})}},41134:function(e,l,s){"use strict";s.d(l,{Z:function(){return y}});var t=s(57437),n=s(2265),a=s(47907),r=s(777),i=s(2179),o=s(13810),d=s(92836),c=s(26734),m=s(41608),u=s(32126),h=s(23682),x=s(71801),p=s(42440),j=s(84174),g=s(50459),Z=s(6180),f=s(99129),_=s(67951),y=e=>{var l;let{accessToken:s,publicPage:y,premiumUser:b}=e,[v,k]=(0,n.useState)(!1),[S,w]=(0,n.useState)(null),[N,I]=(0,n.useState)(!1),[A,C]=(0,n.useState)(!1),[P,T]=(0,n.useState)(null),E=(0,a.useRouter)();(0,n.useEffect)(()=>{s&&(async()=>{try{let e=await (0,r.kn)(s);console.log("ModelHubData:",e),w(e.data),(0,r.E9)(s,"enable_public_model_hub").then(e=>{console.log("data: ".concat(JSON.stringify(e))),!0==e.field_value&&k(!0)}).catch(e=>{})}catch(e){console.error("There was an error fetching the model data",e)}})()},[s,y]);let O=e=>{T(e),I(!0)},R=async()=>{s&&(0,r.jA)(s,"enable_public_model_hub",!0).then(e=>{C(!0)})},F=()=>{I(!1),C(!1),T(null)},M=()=>{I(!1),C(!1),T(null)},L=e=>{navigator.clipboard.writeText(e)};return(0,t.jsxs)("div",{children:[y&&v||!1==y?(0,t.jsxs)("div",{className:"w-full m-2 mt-2 p-8",children:[(0,t.jsx)("div",{className:"relative w-full"}),(0,t.jsxs)("div",{className:"flex ".concat(y?"justify-between":"items-center"),children:[(0,t.jsx)(p.Z,{className:"ml-8 text-center ",children:"Model Hub"}),!1==y?b?(0,t.jsx)(i.Z,{className:"ml-4",onClick:()=>R(),children:"✨ Make Public"}):(0,t.jsx)(i.Z,{className:"ml-4",children:(0,t.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Make Public"})}):(0,t.jsxs)("div",{className:"flex justify-between items-center",children:[(0,t.jsx)("p",{children:"Filter by key:"}),(0,t.jsx)(x.Z,{className:"bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center",children:"/ui/model_hub?key="})]})]}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-6 sm:grid-cols-3 lg:grid-cols-4 pr-8",children:S&&S.map(e=>(0,t.jsxs)(o.Z,{className:"mt-5 mx-8",children:[(0,t.jsxs)("pre",{className:"flex justify-between",children:[(0,t.jsx)(p.Z,{children:e.model_group}),(0,t.jsx)(Z.Z,{title:e.model_group,children:(0,t.jsx)(j.Z,{onClick:()=>L(e.model_group),style:{cursor:"pointer",marginRight:"10px"}})})]}),(0,t.jsxs)("div",{className:"my-5",children:[(0,t.jsxs)(x.Z,{children:["Mode: ",e.mode]}),(0,t.jsxs)(x.Z,{children:["Supports Function Calling:"," ",(null==e?void 0:e.supports_function_calling)==!0?"Yes":"No"]}),(0,t.jsxs)(x.Z,{children:["Supports Vision:"," ",(null==e?void 0:e.supports_vision)==!0?"Yes":"No"]}),(0,t.jsxs)(x.Z,{children:["Max Input Tokens:"," ",(null==e?void 0:e.max_input_tokens)?null==e?void 0:e.max_input_tokens:"N/A"]}),(0,t.jsxs)(x.Z,{children:["Max Output Tokens:"," ",(null==e?void 0:e.max_output_tokens)?null==e?void 0:e.max_output_tokens:"N/A"]})]}),(0,t.jsx)("div",{style:{marginTop:"auto",textAlign:"right"},children:(0,t.jsxs)("a",{href:"#",onClick:()=>O(e),style:{color:"#1890ff",fontSize:"smaller"},children:["View more ",(0,t.jsx)(g.Z,{})]})})]},e.model_group))})]}):(0,t.jsxs)(o.Z,{className:"mx-auto max-w-xl mt-10",children:[(0,t.jsx)(x.Z,{className:"text-xl text-center mb-2 text-black",children:"Public Model Hub not enabled."}),(0,t.jsx)("p",{className:"text-base text-center text-slate-800",children:"Ask your proxy admin to enable this on their Admin UI."})]}),(0,t.jsx)(f.Z,{title:"Public Model Hub",width:600,visible:A,footer:null,onOk:F,onCancel:M,children:(0,t.jsxs)("div",{className:"pt-5 pb-5",children:[(0,t.jsxs)("div",{className:"flex justify-between mb-4",children:[(0,t.jsx)(x.Z,{className:"text-base mr-2",children:"Shareable Link:"}),(0,t.jsx)(x.Z,{className:"max-w-sm ml-2 bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center rounded",children:"/ui/model_hub?key="})]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(i.Z,{onClick:()=>{E.replace("/model_hub?key=".concat(s))},children:"See Page"})})]})}),(0,t.jsx)(f.Z,{title:P&&P.model_group?P.model_group:"Unknown Model",width:800,visible:N,footer:null,onOk:F,onCancel:M,children:P&&(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-4",children:(0,t.jsx)("strong",{children:"Model Information & Usage"})}),(0,t.jsxs)(c.Z,{children:[(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(d.Z,{children:"OpenAI Python SDK"}),(0,t.jsx)(d.Z,{children:"Supported OpenAI Params"}),(0,t.jsx)(d.Z,{children:"LlamaIndex"}),(0,t.jsx)(d.Z,{children:"Langchain Py"})]}),(0,t.jsxs)(h.Z,{children:[(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:'\nimport openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="http://0.0.0.0:4000" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="'.concat(P.model_group,'", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)\n ')})}),(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:"".concat(null===(l=P.supported_openai_params)||void 0===l?void 0:l.map(e=>"".concat(e,"\n")).join(""))})}),(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:'\nimport os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="'.concat(P.model_group,'", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="http://0.0.0.0:4000", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="http://0.0.0.0:4000",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)\n\n ')})}),(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:'\nfrom langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="http://0.0.0.0:4000",\n model = "'.concat(P.model_group,'",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)\n\n ')})})]})]})]})})]})}}},function(e){e.O(0,[665,936,505,131,684,173,777,971,69,744],function(){return e(e.s=79615)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/app/page-c50fa12b799820f9.js b/litellm/proxy/_experimental/out/_next/static/chunks/app/page-c50fa12b799820f9.js new file mode 100644 index 000000000..c336ce7ee --- /dev/null +++ b/litellm/proxy/_experimental/out/_next/static/chunks/app/page-c50fa12b799820f9.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{20661:function(e,l,s){Promise.resolve().then(s.bind(s,13564))},667:function(e,l,s){"use strict";s.r(l),s.d(l,{default:function(){return f}});var t=s(57437),n=s(2265),a=s(47907),r=s(2179),i=s(18190),o=s(13810),d=s(10384),c=s(46453),m=s(71801),u=s(52273),h=s(42440),x=s(30953),p=s(777),j=s(37963),g=s(60620),Z=s(1861);function f(){let[e]=g.Z.useForm(),l=(0,a.useSearchParams)();!function(e){console.log("COOKIES",document.cookie);let l=document.cookie.split("; ").find(l=>l.startsWith(e+"="));l&&l.split("=")[1]}("token");let s=l.get("invitation_id"),[f,_]=(0,n.useState)(null),[y,b]=(0,n.useState)(""),[v,k]=(0,n.useState)(""),[S,w]=(0,n.useState)(null),[N,I]=(0,n.useState)(""),[A,C]=(0,n.useState)("");return(0,n.useEffect)(()=>{s&&(0,p.W_)(s).then(e=>{let l=e.login_url;console.log("login_url:",l),I(l);let s=e.token,t=(0,j.o)(s);C(s),console.log("decoded:",t),_(t.key),console.log("decoded user email:",t.user_email),k(t.user_email),w(t.user_id)})},[s]),(0,t.jsx)("div",{className:"mx-auto w-full max-w-md mt-10",children:(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(h.Z,{className:"text-sm mb-5 text-center",children:"\uD83D\uDE85 LiteLLM"}),(0,t.jsx)(h.Z,{className:"text-xl",children:"Sign up"}),(0,t.jsx)(m.Z,{children:"Claim your user account to login to Admin UI."}),(0,t.jsx)(i.Z,{className:"mt-4",title:"SSO",icon:x.GH$,color:"sky",children:(0,t.jsxs)(c.Z,{numItems:2,className:"flex justify-between items-center",children:[(0,t.jsx)(d.Z,{children:"SSO is under the Enterprise Tirer."}),(0,t.jsx)(d.Z,{children:(0,t.jsx)(r.Z,{variant:"primary",className:"mb-2",children:(0,t.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})})]})}),(0,t.jsxs)(g.Z,{className:"mt-10 mb-5 mx-auto",layout:"vertical",onFinish:e=>{console.log("in handle submit. accessToken:",f,"token:",A,"formValues:",e),f&&A&&(e.user_email=v,S&&s&&(0,p.m_)(f,s,S,e.password).then(e=>{var l;let s="/ui/";s+="?userID="+((null===(l=e.data)||void 0===l?void 0:l.user_id)||e.user_id),document.cookie="token="+A,console.log("redirecting to:",s),window.location.href=s}))},children:[(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g.Z.Item,{label:"Email Address",name:"user_email",children:(0,t.jsx)(u.Z,{type:"email",disabled:!0,value:v,defaultValue:v,className:"max-w-md"})}),(0,t.jsx)(g.Z.Item,{label:"Password",name:"password",rules:[{required:!0,message:"password required to sign up"}],help:"Create a password for your account",children:(0,t.jsx)(u.Z,{placeholder:"",type:"password",className:"max-w-md"})})]}),(0,t.jsx)("div",{className:"mt-10",children:(0,t.jsx)(Z.ZP,{htmlType:"submit",children:"Sign Up"})})]})]})})}},13564:function(e,l,s){"use strict";s.r(l),s.d(l,{default:function(){return lg}});var t,n,a=s(57437),r=s(2265),i=s(47907),o=s(8792),d=s(40491),c=s(65270),m=e=>{let{userID:l,userRole:s,userEmail:t,premiumUser:n,setProxySettings:r,proxySettings:i}=e;console.log("User ID:",l),console.log("userEmail:",t),console.log("premiumUser:",n),console.log=function(){};let m="";console.log("PROXY_settings=",i),i&&i.PROXY_LOGOUT_URL&&void 0!==i.PROXY_LOGOUT_URL&&(m=i.PROXY_LOGOUT_URL),console.log("logoutUrl=",m);let u=[{key:"1",label:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("p",{children:["Role: ",s]}),(0,a.jsxs)("p",{children:["ID: ",l]}),(0,a.jsxs)("p",{children:["Premium User: ",String(n)]})]})},{key:"2",label:(0,a.jsx)("p",{onClick:()=>{document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",window.location.href=m},children:"Logout"})}];return(0,a.jsxs)("nav",{className:"left-0 right-0 top-0 flex justify-between items-center h-12 mb-4",children:[(0,a.jsx)("div",{className:"text-left my-2 absolute top-0 left-0",children:(0,a.jsx)("div",{className:"flex flex-col items-center",children:(0,a.jsx)(o.default,{href:"/",children:(0,a.jsx)("button",{className:"text-gray-800 rounded text-center",children:(0,a.jsx)("img",{src:"/get_image",width:160,height:160,alt:"LiteLLM Brand",className:"mr-2"})})})})}),(0,a.jsxs)("div",{className:"text-right mx-4 my-2 absolute top-0 right-0 flex items-center justify-end space-x-2",children:[n?null:(0,a.jsx)("div",{style:{padding:"6px",borderRadius:"8px"},children:(0,a.jsx)("a",{href:"https://calendly.com/d/4mp-gd3-k5k/litellm-1-1-onboarding-chat",target:"_blank",style:{fontSize:"14px",textDecoration:"underline"},children:"Get enterprise license"})}),(0,a.jsx)("div",{style:{border:"1px solid #391085",padding:"6px",borderRadius:"8px"},children:(0,a.jsx)(d.Z,{menu:{items:u},children:(0,a.jsx)(c.Z,{children:t})})})]})]})},u=s(777),h=s(10384),x=s(46453),p=s(2179),j=s(52273),g=s(26780),Z=s(15595),f=s(6698),_=s(71801),y=s(42440),b=s(42308),v=s(50670),k=s(60620),S=s(80588),w=s(99129),N=s(44839),I=s(88707),A=s(1861);let{Option:C}=v.default;var P=e=>{let{userID:l,team:s,userRole:t,accessToken:n,data:i,setData:o}=e,[d]=k.Z.useForm(),[c,m]=(0,r.useState)(!1),[P,T]=(0,r.useState)(null),[E,O]=(0,r.useState)(null),[R,F]=(0,r.useState)([]),[M,L]=(0,r.useState)([]),D=()=>{m(!1),d.resetFields()},U=()=>{m(!1),T(null),d.resetFields()};(0,r.useEffect)(()=>{(async()=>{try{if(null===l||null===t)return;if(null!==n){let e=(await (0,u.So)(n,l,t)).data.map(e=>e.id);console.log("available_model_names:",e),F(e)}}catch(e){console.error("Error fetching user models:",e)}})()},[n,l,t]);let z=async e=>{try{var s,t,a;let r=null!==(s=null==e?void 0:e.key_alias)&&void 0!==s?s:"",c=null!==(t=null==e?void 0:e.team_id)&&void 0!==t?t:null;if((null!==(a=null==i?void 0:i.filter(e=>e.team_id===c).map(e=>e.key_alias))&&void 0!==a?a:[]).includes(r))throw Error("Key alias ".concat(r," already exists for team with ID ").concat(c,", please provide another key alias"));S.ZP.info("Making API Call"),m(!0);let h=await (0,u.wX)(n,l,e);console.log("key create Response:",h),o(e=>e?[...e,h]:[h]),T(h.key),O(h.soft_budget),S.ZP.success("API Key Created"),d.resetFields(),localStorage.removeItem("userData"+l)}catch(e){console.error("Error creating the key:",e),S.ZP.error("Error creating the key: ".concat(e),20)}};return(0,r.useEffect)(()=>{L(s&&s.models.length>0?s.models.includes("all-proxy-models")?R:s.models:R)},[s,R]),(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>m(!0),children:"+ Create New Key"}),(0,a.jsx)(w.Z,{title:"Create Key",visible:c,width:800,footer:null,onOk:D,onCancel:U,children:(0,a.jsxs)(k.Z,{form:d,onFinish:z,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Key Name",name:"key_alias",rules:[{required:!0,message:"Please input a key name"}],help:"required",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Team ID",name:"team_id",hidden:!0,initialValue:s?s.team_id:null,valuePropName:"team_id",className:"mt-8",children:(0,a.jsx)(N.Z,{value:s?s.team_alias:"",disabled:!0})}),(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",rules:[{required:!0,message:"Please select a model"}],help:"required",children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},onChange:e=>{e.includes("all-team-models")&&d.setFieldsValue({models:["all-team-models"]})},children:[(0,a.jsx)(C,{value:"all-team-models",children:"All Team Models"},"all-team-models"),M.map(e=>(0,a.jsx)(C,{value:e,children:e},e))]})}),(0,a.jsxs)(g.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(f.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(Z.Z,{children:[(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Max Budget (USD)",name:"max_budget",help:"Budget cannot exceed team max budget: $".concat((null==s?void 0:s.max_budget)!==null&&(null==s?void 0:s.max_budget)!==void 0?null==s?void 0:s.max_budget:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&s&&null!==s.max_budget&&l>s.max_budget)throw Error("Budget cannot exceed team max budget: $".concat(s.max_budget))}}],children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",help:"Team Reset Budget: ".concat((null==s?void 0:s.budget_duration)!==null&&(null==s?void 0:s.budget_duration)!==void 0?null==s?void 0:s.budget_duration:"None"),children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Tokens per minute Limit (TPM)",name:"tpm_limit",help:"TPM cannot exceed team TPM limit: ".concat((null==s?void 0:s.tpm_limit)!==null&&(null==s?void 0:s.tpm_limit)!==void 0?null==s?void 0:s.tpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&s&&null!==s.tpm_limit&&l>s.tpm_limit)throw Error("TPM limit cannot exceed team TPM limit: ".concat(s.tpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Requests per minute Limit (RPM)",name:"rpm_limit",help:"RPM cannot exceed team RPM limit: ".concat((null==s?void 0:s.rpm_limit)!==null&&(null==s?void 0:s.rpm_limit)!==void 0?null==s?void 0:s.rpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&s&&null!==s.rpm_limit&&l>s.rpm_limit)throw Error("RPM limit cannot exceed team RPM limit: ".concat(s.rpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Expire Key (eg: 30s, 30h, 30d)",name:"duration",className:"mt-8",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Metadata",name:"metadata",className:"mt-8",children:(0,a.jsx)(N.Z.TextArea,{rows:4,placeholder:"Enter metadata as JSON"})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create Key"})})]})}),P&&(0,a.jsx)(w.Z,{visible:c,onOk:D,onCancel:U,footer:null,children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full",children:[(0,a.jsx)(y.Z,{children:"Save your Key"}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("p",{children:["Please save this secret key somewhere safe and accessible. For security reasons, ",(0,a.jsx)("b",{children:"you will not be able to view it again"})," ","through your LiteLLM account. If you lose this secret key, you will need to generate a new one."]})}),(0,a.jsx)(h.Z,{numColSpan:1,children:null!=P?(0,a.jsxs)("div",{children:[(0,a.jsx)(_.Z,{className:"mt-3",children:"API Key:"}),(0,a.jsx)("div",{style:{background:"#f8f8f8",padding:"10px",borderRadius:"5px",marginBottom:"10px"},children:(0,a.jsx)("pre",{style:{wordWrap:"break-word",whiteSpace:"normal"},children:P})}),(0,a.jsx)(b.CopyToClipboard,{text:P,onCopy:()=>{S.ZP.success("API Key copied to clipboard")},children:(0,a.jsx)(p.Z,{className:"mt-3",children:"Copy API Key"})})]}):(0,a.jsx)(_.Z,{children:"Key being created, this might take 30s"})})]})})]})},T=s(66002),E=s(9454),O=s(98941),R=s(63954),F=s(33393),M=s(5),L=s(13810),D=s(61244),U=s(10827),z=s(3851),V=s(2044),q=s(64167),B=s(74480),K=s(7178),W=s(95093),H=s(27166);let{Option:G}=v.default;console.log=function(){};var Y=e=>{let{userID:l,userRole:s,accessToken:t,selectedTeam:n,data:i,setData:o,teams:d,premiumUser:c}=e,[m,g]=(0,r.useState)(!1),[Z,f]=(0,r.useState)(!1),[N,C]=(0,r.useState)(null),[P,Y]=(0,r.useState)(null),[J,X]=(0,r.useState)(null),[$,Q]=(0,r.useState)(""),[ee,el]=(0,r.useState)(!1),[es,et]=(0,r.useState)(!1),[en,ea]=(0,r.useState)(null),[er,ei]=(0,r.useState)([]),eo=new Set,[ed,ec]=(0,r.useState)(!1),[em,eu]=(0,r.useState)(!1),[eh,ex]=(0,r.useState)(null),[ep,ej]=(0,r.useState)(null),[eg]=k.Z.useForm(),[eZ,ef]=(0,r.useState)(null),[e_,ey]=(0,r.useState)(eo);(0,r.useEffect)(()=>{console.log("in calculateNewExpiryTime for selectedToken",en),(null==ep?void 0:ep.duration)?ef((e=>{if(!e)return null;try{let l;let s=new Date;if(e.endsWith("s"))l=(0,T.Z)(s,{seconds:parseInt(e)});else if(e.endsWith("h"))l=(0,T.Z)(s,{hours:parseInt(e)});else if(e.endsWith("d"))l=(0,T.Z)(s,{days:parseInt(e)});else throw Error("Invalid duration format");return l.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!0})}catch(e){return null}})(ep.duration)):ef(null),console.log("calculateNewExpiryTime:",eZ)},[en,null==ep?void 0:ep.duration]),(0,r.useEffect)(()=>{(async()=>{try{if(null===l)return;if(null!==t&&null!==s){let e=(await (0,u.So)(t,l,s)).data.map(e=>e.id);console.log("available_model_names:",e),ei(e)}}catch(e){console.error("Error fetching user models:",e)}})()},[t,l,s]);let eb=e=>{ea(e),ec(!0)},ev=async e=>{if(null==t||null==en)return;let l={...en,metadata:e,key:en.token};try{let e=await (0,u.Nc)(t,l);if(console.log("Model limits updated:",e),i){let l=i.map(l=>l.token===en.token?e:l);o(l)}S.ZP.success("Model-specific limits updated successfully")}catch(e){console.error("Error updating model-specific limits:",e),S.ZP.error("Failed to update model-specific limits")}ec(!1),ea(null)};(0,r.useEffect)(()=>{if(d){let e=new Set;d.forEach((l,s)=>{let t=l.team_id;e.add(t)}),ey(e)}},[d]);let ek=e=>{console.log("handleEditClick:",e),null==e.token&&null!==e.token_id&&(e.token=e.token_id);let l=null;if(e.budget_duration)switch(e.budget_duration){case"24h":l="daily";break;case"7d":l="weekly";break;case"30d":l="monthly";break;default:l="None"}ea({...e,budget_duration:l}),el(!0)},eS=async e=>{if(null==t)return;let l=e.token;if(e.key=l,e.budget_duration)switch(e.budget_duration){case"daily":e.budget_duration="24h";break;case"weekly":e.budget_duration="7d";break;case"monthly":e.budget_duration="30d"}console.log("handleEditSubmit:",e);let s=await (0,u.Nc)(t,e);console.log("handleEditSubmit: newKeyValues",s),i&&o(i.map(e=>e.token===l?s:e)),S.ZP.success("Key updated successfully"),el(!1),ea(null)},ew=async e=>{console.log("handleDelete:",e),null==e.token&&null!==e.token_id&&(e.token=e.token_id),null!=i&&(C(e.token),localStorage.removeItem("userData"+l),f(!0))},eN=async()=>{if(null!=N&&null!=i){try{await (0,u.I1)(t,N);let e=i.filter(e=>e.token!==N);o(e)}catch(e){console.error("Error deleting the key:",e)}f(!1),C(null)}},eI=e=>{ea(e),ef(null),eg.setFieldsValue({key_alias:e.key_alias,max_budget:e.max_budget,tpm_limit:e.tpm_limit,rpm_limit:e.rpm_limit,duration:e.duration||""}),eu(!0)},eA=(e,l)=>{ej(s=>({...s,[e]:l}))},eC=async()=>{if(!c){S.ZP.error("Regenerate API Key is an Enterprise feature. Please upgrade to use this feature.");return}if(null!=en)try{let e=await eg.validateFields(),l=await (0,u.s0)(t,en.token,e);if(ex(l.key),i){let s=i.map(s=>s.token===(null==en?void 0:en.token)?{...s,key_name:l.key_name,...e}:s);o(s)}eu(!1),eg.resetFields(),S.ZP.success("API Key regenerated successfully")}catch(e){console.error("Error regenerating key:",e),S.ZP.error("Failed to regenerate API Key")}};if(null!=i)return console.log("RERENDER TRIGGERED"),(0,a.jsxs)("div",{children:[(0,a.jsxs)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh] mb-4 mt-2",children:[(0,a.jsxs)(U.Z,{className:"mt-5 max-h-[300px] min-h-[300px]",children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Key Alias"}),(0,a.jsx)(B.Z,{children:"Secret Key"}),(0,a.jsx)(B.Z,{children:"Expires"}),(0,a.jsx)(B.Z,{children:"Spend (USD)"}),(0,a.jsx)(B.Z,{children:"Budget (USD)"}),(0,a.jsx)(B.Z,{children:"Budget Reset"}),(0,a.jsx)(B.Z,{children:"Models"}),(0,a.jsx)(B.Z,{children:"Rate Limits"}),(0,a.jsx)(B.Z,{children:"Rate Limits per model"})]})}),(0,a.jsx)(z.Z,{children:i.map(e=>{if(console.log(e),"litellm-dashboard"===e.team_id)return null;if(n){if(console.log("item team id: ".concat(e.team_id,", knownTeamIDs.has(item.team_id): ").concat(e_.has(e.team_id),", selectedTeam id: ").concat(n.team_id)),(null!=n.team_id||null===e.team_id||e_.has(e.team_id))&&e.team_id!=n.team_id)return null;console.log("item team id: ".concat(e.team_id,", is returned"))}return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{style:{maxWidth:"2px",whiteSpace:"pre-wrap",overflow:"hidden"},children:null!=e.key_alias?(0,a.jsx)(_.Z,{children:e.key_alias}):(0,a.jsx)(_.Z,{children:"Not Set"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:e.key_name})}),(0,a.jsx)(V.Z,{children:null!=e.expires?(0,a.jsx)("div",{children:(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:new Date(e.expires).toLocaleString()})}):(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:"Never"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:(()=>{try{return parseFloat(e.spend).toFixed(4)}catch(l){return e.spend}})()})}),(0,a.jsx)(V.Z,{children:null!=e.max_budget?(0,a.jsx)(_.Z,{children:e.max_budget}):(0,a.jsx)(_.Z,{children:"Unlimited"})}),(0,a.jsx)(V.Z,{children:null!=e.budget_reset_at?(0,a.jsx)("div",{children:(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:new Date(e.budget_reset_at).toLocaleString()})}):(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:"Never"})}),(0,a.jsx)(V.Z,{children:Array.isArray(e.models)?(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:0===e.models.length?(0,a.jsx)(a.Fragment,{children:n&&n.models&&n.models.length>0?n.models.map((e,l)=>"all-proxy-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})},l):"all-team-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Team Models"})},l):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},l)):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:"all-proxy-models"})})}):e.models.map((e,l)=>"all-proxy-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})},l):"all-team-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Team Models"})},l):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},l))}):null}),(0,a.jsx)(V.Z,{children:(0,a.jsxs)(_.Z,{children:["TPM: ",e.tpm_limit?e.tpm_limit:"Unlimited"," ",(0,a.jsx)("br",{})," RPM:"," ",e.rpm_limit?e.rpm_limit:"Unlimited"]})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{size:"xs",onClick:()=>eb(e),children:"Edit Limits"})}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(D.Z,{onClick:()=>{ea(e),et(!0)},icon:E.Z,size:"sm"}),(0,a.jsx)(w.Z,{open:es,onCancel:()=>{et(!1),ea(null)},footer:null,width:800,children:en&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3 mt-8",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Spend"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:(()=>{try{return parseFloat(en.spend).toFixed(4)}catch(e){return en.spend}})()})})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Budget"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:null!=en.max_budget?(0,a.jsxs)(a.Fragment,{children:[en.max_budget,en.budget_duration&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("br",{}),"Budget will be reset at ",en.budget_reset_at?new Date(en.budget_reset_at).toLocaleString():"Never"]})]}):(0,a.jsx)(a.Fragment,{children:"Unlimited"})})})]},e.name),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Expires"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor-default font-small text-tremor-content-strong dark:text-dark-tremor-content-strong",children:null!=en.expires?(0,a.jsx)(a.Fragment,{children:new Date(en.expires).toLocaleString(void 0,{day:"numeric",month:"long",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})}):(0,a.jsx)(a.Fragment,{children:"Never"})})})]},e.name)]}),(0,a.jsxs)(L.Z,{className:"my-4",children:[(0,a.jsx)(y.Z,{children:"Token Name"}),(0,a.jsx)(_.Z,{className:"my-1",children:en.key_alias?en.key_alias:en.key_name}),(0,a.jsx)(y.Z,{children:"Token ID"}),(0,a.jsx)(_.Z,{className:"my-1 text-[12px]",children:en.token}),(0,a.jsx)(y.Z,{children:"User ID"}),(0,a.jsx)(_.Z,{className:"my-1 text-[12px]",children:en.user_id}),(0,a.jsx)(y.Z,{children:"Metadata"}),(0,a.jsx)(_.Z,{className:"my-1",children:(0,a.jsxs)("pre",{children:[JSON.stringify(en.metadata)," "]})})]}),(0,a.jsx)(p.Z,{className:"mx-auto flex items-center",onClick:()=>{et(!1),ea(null)},children:"Close"})]})}),(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>ek(e)}),(0,a.jsx)(D.Z,{onClick:()=>eI(e),icon:R.Z,size:"sm"}),(0,a.jsx)(D.Z,{onClick:()=>ew(e),icon:F.Z,size:"sm"})]})]},e.token)})})]}),Z&&(0,a.jsx)("div",{className:"fixed z-10 inset-0 overflow-y-auto",children:(0,a.jsxs)("div",{className:"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0",children:[(0,a.jsx)("div",{className:"fixed inset-0 transition-opacity","aria-hidden":"true",children:(0,a.jsx)("div",{className:"absolute inset-0 bg-gray-500 opacity-75"})}),(0,a.jsx)("span",{className:"hidden sm:inline-block sm:align-middle sm:h-screen","aria-hidden":"true",children:"​"}),(0,a.jsxs)("div",{className:"inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full",children:[(0,a.jsx)("div",{className:"bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4",children:(0,a.jsx)("div",{className:"sm:flex sm:items-start",children:(0,a.jsxs)("div",{className:"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left",children:[(0,a.jsx)("h3",{className:"text-lg leading-6 font-medium text-gray-900",children:"Delete Key"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("p",{className:"text-sm text-gray-500",children:"Are you sure you want to delete this key ?"})})]})})}),(0,a.jsxs)("div",{className:"bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,a.jsx)(p.Z,{onClick:eN,color:"red",className:"ml-2",children:"Delete"}),(0,a.jsx)(p.Z,{onClick:()=>{f(!1),C(null)},children:"Cancel"})]})]})]})})]}),en&&(0,a.jsx)(e=>{let{visible:l,onCancel:s,token:t,onSubmit:i}=e,[o]=k.Z.useForm(),[c,m]=(0,r.useState)(n),[u,h]=(0,r.useState)([]),[x,p]=(0,r.useState)(!1);return(0,a.jsx)(w.Z,{title:"Edit Key",visible:l,width:800,footer:null,onOk:()=>{o.validateFields().then(e=>{o.resetFields()}).catch(e=>{console.error("Validation failed:",e)})},onCancel:s,children:(0,a.jsxs)(k.Z,{form:o,onFinish:eS,initialValues:{...t,budget_duration:t.budget_duration},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",rules:[{validator:(e,l)=>{let s=l.filter(e=>!c.models.includes(e)&&"all-team-models"!==e&&"all-proxy-models"!==e&&!c.models.includes("all-proxy-models"));return(console.log("errorModels: ".concat(s)),s.length>0)?Promise.reject("Some models are not part of the new team's models - ".concat(s,"Team models: ").concat(c.models)):Promise.resolve()}}],children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,a.jsx)(G,{value:"all-team-models",children:"All Team Models"},"all-team-models"),c&&c.models?c.models.includes("all-proxy-models")?er.filter(e=>"all-proxy-models"!==e).map(e=>(0,a.jsx)(G,{value:e,children:e},e)):c.models.map(e=>(0,a.jsx)(G,{value:e,children:e},e)):er.map(e=>(0,a.jsx)(G,{value:e,children:e},e))]})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Max Budget (USD)",name:"max_budget",help:"Budget cannot exceed team max budget: ".concat((null==c?void 0:c.max_budget)!==null&&(null==c?void 0:c.max_budget)!==void 0?null==c?void 0:c.max_budget:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&c&&null!==c.max_budget&&l>c.max_budget)throw console.log("keyTeam.max_budget: ".concat(c.max_budget)),Error("Budget cannot exceed team max budget: $".concat(c.max_budget))}}],children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",help:"Current Reset Budget: ".concat(t.budget_duration,", budget will be reset: ").concat(t.budget_reset_at?new Date(t.budget_reset_at).toLocaleString():"Never"),children:(0,a.jsxs)(v.default,{placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"daily",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"weekly",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"monthly",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{label:"token",name:"token",hidden:!0}),(0,a.jsx)(k.Z.Item,{label:"Team",name:"team_id",className:"mt-8",help:"the team this key belongs to",children:(0,a.jsx)(W.Z,{value:t.team_alias,children:null==d?void 0:d.map((e,l)=>(0,a.jsx)(H.Z,{value:e.team_id,onClick:()=>m(e),children:e.team_alias},l))})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"TPM Limit (tokens per minute)",name:"tpm_limit",help:"tpm_limit cannot exceed team tpm_limit ".concat((null==c?void 0:c.tpm_limit)!==null&&(null==c?void 0:c.tpm_limit)!==void 0?null==c?void 0:c.tpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&c&&null!==c.tpm_limit&&l>c.tpm_limit)throw console.log("keyTeam.tpm_limit: ".concat(c.tpm_limit)),Error("tpm_limit cannot exceed team max tpm_limit: $".concat(c.tpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,precision:1,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"RPM Limit (requests per minute)",name:"rpm_limit",help:"rpm_limit cannot exceed team max tpm_limit: ".concat((null==c?void 0:c.rpm_limit)!==null&&(null==c?void 0:c.rpm_limit)!==void 0?null==c?void 0:c.rpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&c&&null!==c.rpm_limit&&l>c.rpm_limit)throw console.log("keyTeam.rpm_limit: ".concat(c.rpm_limit)),Error("rpm_limit cannot exceed team max rpm_limit: $".concat(c.rpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,precision:1,width:200})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Edit Key"})})]})})},{visible:ee,onCancel:()=>{el(!1),ea(null)},token:en,onSubmit:eS}),en&&(0,a.jsx)(e=>{let{visible:l,onCancel:s,token:t,onSubmit:n,accessToken:i}=e,[o,d]=(0,r.useState)({}),[c,m]=(0,r.useState)([]),[h,x]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(t.metadata){let e=t.metadata.model_tpm_limit||{},l=t.metadata.model_rpm_limit||{},s={};Object.keys({...e,...l}).forEach(t=>{s[t]={tpm:e[t]||0,rpm:l[t]||0}}),d(s)}(async()=>{try{let e=await (0,u.AZ)(i,"",""),l=Array.from(new Set(e.data.map(e=>e.model_name)));m(l)}catch(e){console.error("Error fetching model data:",e),S.ZP.error("Failed to fetch available models")}})()},[t,i]);let j=(e,l,s)=>{d(t=>({...t,[e]:{...t[e],[l]:s||0}}))},g=e=>{d(l=>{let{[e]:s,...t}=l;return t})};return(0,a.jsxs)(w.Z,{title:"Edit Model-Specific Limits",visible:l,onCancel:s,footer:null,width:800,children:[(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Model"}),(0,a.jsx)(B.Z,{children:"TPM Limit"}),(0,a.jsx)(B.Z,{children:"RPM Limit"}),(0,a.jsx)(B.Z,{children:"Actions"})]})}),(0,a.jsxs)(z.Z,{children:[Object.entries(o).map(e=>{let[l,s]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:l}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(I.Z,{value:s.tpm,onChange:e=>j(l,"tpm",e)})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(I.Z,{value:s.rpm,onChange:e=>j(l,"rpm",e)})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{onClick:()=>g(l),children:"Remove"})})]},l)}),null!==h&&(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:(0,a.jsx)(v.default,{style:{width:200},placeholder:"Select a model",onChange:e=>{o[e]||d(l=>({...l,[e]:{tpm:0,rpm:0}})),x(null)},value:h||void 0,children:c.filter(e=>!o.hasOwnProperty(e)).map(e=>(0,a.jsx)(G,{value:e,children:e},e))})}),(0,a.jsx)(V.Z,{children:"-"}),(0,a.jsx)(V.Z,{children:"-"}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{onClick:()=>x(null),children:"Cancel"})})]})]})]}),(0,a.jsx)(p.Z,{onClick:()=>{x("")},disabled:null!==h,children:"Add Limit"})]}),(0,a.jsxs)("div",{className:"flex justify-end space-x-4 mt-6",children:[(0,a.jsx)(p.Z,{onClick:s,children:"Cancel"}),(0,a.jsx)(p.Z,{onClick:()=>{n({...t.metadata,model_tpm_limit:Object.fromEntries(Object.entries(o).map(e=>{let[l,s]=e;return[l,s.tpm]})),model_rpm_limit:Object.fromEntries(Object.entries(o).map(e=>{let[l,s]=e;return[l,s.rpm]}))})},children:"Save"})]})]})},{visible:ed,onCancel:()=>ec(!1),token:en,onSubmit:ev,accessToken:t}),(0,a.jsx)(w.Z,{title:"Regenerate API Key",visible:em,onCancel:()=>{eu(!1),eg.resetFields()},footer:[(0,a.jsx)(p.Z,{onClick:()=>{eu(!1),eg.resetFields()},className:"mr-2",children:"Cancel"},"cancel"),(0,a.jsx)(p.Z,{onClick:eC,disabled:!c,children:c?"Regenerate":"Upgrade to Regenerate"},"regenerate")],children:c?(0,a.jsxs)(k.Z,{form:eg,layout:"vertical",onValuesChange:(e,l)=>{"duration"in e&&eA("duration",e.duration)},children:[(0,a.jsx)(k.Z.Item,{name:"key_alias",label:"Key Alias",children:(0,a.jsx)(j.Z,{disabled:!0})}),(0,a.jsx)(k.Z.Item,{name:"max_budget",label:"Max Budget (USD)",children:(0,a.jsx)(I.Z,{step:.01,precision:2,style:{width:"100%"}})}),(0,a.jsx)(k.Z.Item,{name:"tpm_limit",label:"TPM Limit",children:(0,a.jsx)(I.Z,{style:{width:"100%"}})}),(0,a.jsx)(k.Z.Item,{name:"rpm_limit",label:"RPM Limit",children:(0,a.jsx)(I.Z,{style:{width:"100%"}})}),(0,a.jsx)(k.Z.Item,{name:"duration",label:"Expire Key (eg: 30s, 30h, 30d)",className:"mt-8",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsxs)("div",{className:"mt-2 text-sm text-gray-500",children:["Current expiry: ",(null==en?void 0:en.expires)!=null?new Date(en.expires).toLocaleString():"Never"]}),eZ&&(0,a.jsxs)("div",{className:"mt-2 text-sm text-green-600",children:["New expiry: ",eZ]})]}):(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to use this feature"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://calendly.com/d/4mp-gd3-k5k/litellm-1-1-onboarding-chat",target:"_blank",children:"Get Free Trial"})})]})}),eh&&(0,a.jsx)(w.Z,{visible:!!eh,onCancel:()=>ex(null),footer:[(0,a.jsx)(p.Z,{onClick:()=>ex(null),children:"Close"},"close")],children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full",children:[(0,a.jsx)(y.Z,{children:"Regenerated Key"}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("p",{children:["Please replace your old key with the new key generated. For security reasons, ",(0,a.jsx)("b",{children:"you will not be able to view it again"})," through your LiteLLM account. If you lose this secret key, you will need to generate a new one."]})}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(_.Z,{className:"mt-3",children:"Key Alias:"}),(0,a.jsx)("div",{style:{background:"#f8f8f8",padding:"10px",borderRadius:"5px",marginBottom:"10px"},children:(0,a.jsx)("pre",{style:{wordWrap:"break-word",whiteSpace:"normal"},children:(null==en?void 0:en.key_alias)||"No alias set"})}),(0,a.jsx)(_.Z,{className:"mt-3",children:"New API Key:"}),(0,a.jsx)("div",{style:{background:"#f8f8f8",padding:"10px",borderRadius:"5px",marginBottom:"10px"},children:(0,a.jsx)("pre",{style:{wordWrap:"break-word",whiteSpace:"normal"},children:eh})}),(0,a.jsx)(b.CopyToClipboard,{text:eh,onCopy:()=>S.ZP.success("API Key copied to clipboard"),children:(0,a.jsx)(p.Z,{className:"mt-3",children:"Copy API Key"})})]})]})})]})};console.log=function(){};var J=e=>{let{userID:l,userRole:s,accessToken:t,userSpend:n,userMaxBudget:i,selectedTeam:o}=e;console.log("userSpend: ".concat(n));let[d,c]=(0,r.useState)(null!==n?n:0),[m,h]=(0,r.useState)(o?o.max_budget:null);(0,r.useEffect)(()=>{o&&("Default Team"===o.team_alias?h(i):h(o.max_budget))},[o,i]);let[x,p]=(0,r.useState)([]);(0,r.useEffect)(()=>{let e=async()=>{if(!t||!l||!s)return};(async()=>{try{if(null===l||null===s)return;if(null!==t){let e=(await (0,u.So)(t,l,s)).data.map(e=>e.id);console.log("available_model_names:",e),p(e)}}catch(e){console.error("Error fetching user models:",e)}})(),e()},[s,t,l]),(0,r.useEffect)(()=>{null!==n&&c(n)},[n]);let j=[];o&&o.models&&(j=o.models),j&&j.includes("all-proxy-models")?(console.log("user models:",x),j=x):j&&j.includes("all-team-models")?j=o.models:j&&0===j.length&&(j=x);let g=void 0!==d?d.toFixed(4):null;return console.log("spend in view user spend: ".concat(d)),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex justify-between gap-x-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Total Spend"}),(0,a.jsxs)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:["$",g]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Max Budget"}),(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:null!==m?"$".concat(m," limit"):"No limit"})]})]})})};console.log=function(){};var X=e=>{let{userID:l,userRole:s,selectedTeam:t,accessToken:n}=e,[i,o]=(0,r.useState)([]);(0,r.useEffect)(()=>{(async()=>{try{if(null===l||null===s)return;if(null!==n){let e=(await (0,u.So)(n,l,s)).data.map(e=>e.id);console.log("available_model_names:",e),o(e)}}catch(e){console.error("Error fetching user models:",e)}})()},[n,l,s]);let d=[];return t&&t.models&&(d=t.models),d&&d.includes("all-proxy-models")&&(console.log("user models:",i),d=i),(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"mb-5",children:(0,a.jsx)("p",{className:"text-3xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:null==t?void 0:t.team_alias})})})},$=e=>{let l,{teams:s,setSelectedTeam:t,userRole:n,proxySettings:i}=e,o={models:[],team_id:null,team_alias:"Default Team"},[d,c]=(0,r.useState)(o);return(l="App User"===n?s:i&&!0===i.DEFAULT_TEAM_DISABLED?s?[...s]:[o]:s?[...s,o]:[o],"App User"===n)?null:(0,a.jsxs)("div",{className:"mt-5 mb-5",children:[(0,a.jsx)(y.Z,{children:"Select Team"}),(0,a.jsx)(_.Z,{children:"If you belong to multiple teams, this setting controls which team is used by default when creating new API Keys."}),(0,a.jsxs)(_.Z,{className:"mt-3 mb-3",children:[(0,a.jsx)("b",{children:"Default Team:"})," If no team_id is set for a key, it will be grouped under here."]}),l&&l.length>0?(0,a.jsx)(W.Z,{defaultValue:"0",children:l.map((e,l)=>(0,a.jsx)(H.Z,{value:String(l),onClick:()=>t(e),children:e.team_alias},l))}):(0,a.jsxs)(_.Z,{children:["No team created. ",(0,a.jsx)("b",{children:"Defaulting to personal account."})]})]})},Q=s(667),ee=s(37963),el=s(97482);console.log=function(){},console.log("isLocal:",!1);var es=e=>{let{userID:l,userRole:s,teams:t,keys:n,setUserRole:o,userEmail:d,setUserEmail:c,setTeams:m,setKeys:p,premiumUser:j}=e,[g,Z]=(0,r.useState)(null),f=(0,i.useSearchParams)();f.get("viewSpend"),(0,i.useRouter)();let _=function(e){console.log("COOKIES",document.cookie);let l=document.cookie.split("; ").find(l=>l.startsWith(e+"="));return l?l.split("=")[1]:null}("token"),y=f.get("invitation_id"),[b,v]=(0,r.useState)(null),[k,S]=(0,r.useState)(null),[w,N]=(0,r.useState)([]),[I,A]=(0,r.useState)(null),C={models:[],team_alias:"Default Team",team_id:null},[T,E]=(0,r.useState)(t?t[0]:C);if(window.addEventListener("beforeunload",function(){sessionStorage.clear()}),(0,r.useEffect)(()=>{if(_){let e=(0,ee.o)(_);if(e){if(console.log("Decoded token:",e),console.log("Decoded key:",e.key),v(e.key),e.user_role){let l=function(e){if(!e)return"Undefined Role";switch(console.log("Received user role: ".concat(e)),e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"app_user":return"App User";case"internal_user":return"Internal User";case"internal_user_viewer":return"Internal Viewer";default:return"Unknown Role"}}(e.user_role);console.log("Decoded user_role:",l),o(l)}else console.log("User role not defined");e.user_email?c(e.user_email):console.log("User Email is not set ".concat(e))}}if(l&&b&&s&&!n&&!g){let e=sessionStorage.getItem("userModels"+l);e?N(JSON.parse(e)):(async()=>{try{let e=await (0,u.Dj)(b);A(e);let t=await (0,u.Br)(b,l,s,!1,null,null);console.log("received teams in user dashboard: ".concat(Object.keys(t),"; team values: ").concat(Object.entries(t.teams))),Z(t.user_info),p(t.keys),m(t.teams);let n=[...t.teams];n.length>0?(console.log("response['teams']: ".concat(n)),E(n[0])):E(C),sessionStorage.setItem("userData"+l,JSON.stringify(t.keys)),sessionStorage.setItem("userSpendData"+l,JSON.stringify(t.user_info));let a=(await (0,u.So)(b,l,s)).data.map(e=>e.id);console.log("available_model_names:",a),N(a),console.log("userModels:",w),sessionStorage.setItem("userModels"+l,JSON.stringify(a))}catch(e){console.error("There was an error fetching the data",e)}})()}},[l,_,b,n,s]),(0,r.useEffect)(()=>{if(null!==n&&null!=T&&null!==T.team_id){let e=0;for(let l of n)T.hasOwnProperty("team_id")&&null!==l.team_id&&l.team_id===T.team_id&&(e+=l.spend);S(e)}else if(null!==n){let e=0;for(let l of n)e+=l.spend;S(e)}},[T]),null!=y)return(0,a.jsx)(Q.default,{});if(null==l||null==_){let e="/sso/key/generate";return document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",console.log("Full URL:",e),window.location.href=e,null}if(null==b)return null;if(null==s&&o("App Owner"),s&&"Admin Viewer"==s){let{Title:e,Paragraph:l}=el.default;return(0,a.jsxs)("div",{children:[(0,a.jsx)(e,{level:1,children:"Access Denied"}),(0,a.jsx)(l,{children:"Ask your proxy admin for access to create keys"})]})}return console.log("inside user dashboard, selected team",T),(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsx)(x.Z,{numItems:1,className:"gap-2 p-8 h-[75vh] w-full mt-2",children:(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(X,{userID:l,userRole:s,selectedTeam:T||null,accessToken:b}),(0,a.jsx)(J,{userID:l,userRole:s,userMaxBudget:(null==g?void 0:g.max_budget)||null,accessToken:b,userSpend:k,selectedTeam:T||null}),(0,a.jsx)(Y,{userID:l,userRole:s,accessToken:b,selectedTeam:T||null,data:n,setData:p,premiumUser:j,teams:t}),(0,a.jsx)(P,{userID:l,team:T||null,userRole:s,accessToken:b,data:n,setData:p},T?T.team_id:null),(0,a.jsx)($,{teams:t,setSelectedTeam:E,userRole:s,proxySettings:I})]})})})},et=s(49167),en=s(35087),ea=s(92836),er=s(26734),ei=s(41608),eo=s(32126),ed=s(23682),ec=s(47047),em=s(76628),eu=s(25707),eh=s(44041),ex=s(6180),ep=s(28683),ej=s(38302),eg=s(66242),eZ=s(78578),ef=s(34658),e_=e=>{let{modelID:l,accessToken:s}=e,[t,n]=(0,r.useState)(!1),i=async()=>{try{S.ZP.info("Making API Call"),n(!0);let e=await (0,u.Og)(s,l);console.log("model delete Response:",e),S.ZP.success("Model ".concat(l," deleted successfully")),n(!1)}catch(e){console.error("Error deleting the model:",e)}};return(0,a.jsxs)("div",{children:[(0,a.jsx)(D.Z,{onClick:()=>n(!0),icon:F.Z,size:"sm"}),(0,a.jsx)(w.Z,{open:t,onOk:i,okType:"danger",onCancel:()=>n(!1),children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full",children:[(0,a.jsx)(y.Z,{children:"Delete Model"}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)("p",{children:"Are you sure you want to delete this model? This action is irreversible."})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("p",{children:["Model ID: ",(0,a.jsx)("b",{children:l})]})})]})})]})},ey=s(97766),eb=s(46495),ev=s(18190),ek=s(91118),eS=e=>{let{modelMetrics:l,modelMetricsCategories:s,customTooltip:t,premiumUser:n}=e;return n?(0,a.jsx)(ek.Z,{title:"Time to First token (s)",className:"h-72",data:l,index:"date",showLegend:!1,categories:s,colors:["indigo","rose"],connectNulls:!0,customTooltip:t}):(0,a.jsxs)("div",{children:[(0,a.jsx)(ev.Z,{title:"✨ Enterprise Feature",color:"teal",className:"mt-2 mb-4",children:"Enterprise features are available for users with a specific license, please contact LiteLLM to unlock this limitation."}),(0,a.jsx)(p.Z,{variant:"primary",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get in touch"})})]})},ew=e=>{let{fields:l,selectedProvider:s}=e;return 0===l.length?null:(0,a.jsx)(a.Fragment,{children:l.map(e=>(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:e.field_name.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()),name:e.field_name,tooltip:e.field_description,className:"mb-2",children:(0,a.jsx)(j.Z,{placeholder:e.field_value,type:"password"})},e.field_name))})},eN=s(67951);let{Title:eI,Link:eA}=el.default;(t=n||(n={})).OpenAI="OpenAI",t.Azure="Azure",t.Azure_AI_Studio="Azure AI Studio",t.Anthropic="Anthropic",t.Google_AI_Studio="Google AI Studio",t.Bedrock="Amazon Bedrock",t.Groq="Groq",t.MistralAI="Mistral AI",t.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",t.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",t.Cohere="Cohere",t.Databricks="Databricks",t.Ollama="Ollama";let eC={OpenAI:"openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere_chat",OpenAI_Compatible:"openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Ollama:"ollama"},eP={"BadRequestError (400)":"BadRequestErrorRetries","AuthenticationError (401)":"AuthenticationErrorRetries","TimeoutError (408)":"TimeoutErrorRetries","RateLimitError (429)":"RateLimitErrorRetries","ContentPolicyViolationError (400)":"ContentPolicyViolationErrorRetries","InternalServerError (500)":"InternalServerErrorRetries"},eT=async(e,l,s)=>{try{let t=Array.isArray(e.model)?e.model:[e.model];console.log("received deployments: ".concat(t)),console.log("received type of deployments: ".concat(typeof t)),t.forEach(async s=>{console.log("litellm_model: ".concat(s));let t={},n={};t.model=s;let a="";for(let[l,s]of(console.log("formValues add deployment:",e),Object.entries(e)))if(""!==s){if("model_name"==l)a+=s;else if("custom_llm_provider"==l){console.log("custom_llm_provider:",s);let e=eC[s];t.custom_llm_provider=e,console.log("custom_llm_provider mappingResult:",e)}else if("model"==l)continue;else if("base_model"===l)n[l]=s;else if("custom_model_name"===l)t.model=s;else if("litellm_extra_params"==l){console.log("litellm_extra_params:",s);let e={};if(s&&void 0!=s){try{e=JSON.parse(s)}catch(e){throw S.ZP.error("Failed to parse LiteLLM Extra Params: "+e,10),Error("Failed to parse litellm_extra_params: "+e)}for(let[l,s]of Object.entries(e))t[l]=s}}else t[l]=s}let r={model_name:a,litellm_params:t,model_info:n},i=await (0,u.kK)(l,r);console.log("response for model create call: ".concat(i.data))}),s.resetFields()}catch(e){S.ZP.error("Failed to create model: "+e,10)}};var eE=e=>{let l,{accessToken:s,token:t,userRole:i,userID:o,modelData:d={data:[]},keys:c,setModelData:m,premiumUser:h}=e,[g,Z]=(0,r.useState)([]),[f]=k.Z.useForm(),[b,v]=(0,r.useState)(null),[N,C]=(0,r.useState)(""),[P,T]=(0,r.useState)([]),F=Object.values(n).filter(e=>isNaN(Number(e))),[G,Y]=(0,r.useState)([]),[J,X]=(0,r.useState)("OpenAI"),[$,Q]=(0,r.useState)(""),[ee,es]=(0,r.useState)(!1),[ev,ek]=(0,r.useState)(!1),[eE,eO]=(0,r.useState)(null),[eR,eF]=(0,r.useState)([]),[eM,eL]=(0,r.useState)([]),[eD,eU]=(0,r.useState)(null),[ez,eV]=(0,r.useState)([]),[eq,eB]=(0,r.useState)([]),[eK,eW]=(0,r.useState)([]),[eH,eG]=(0,r.useState)([]),[eY,eJ]=(0,r.useState)([]),[eX,e$]=(0,r.useState)([]),[eQ,e0]=(0,r.useState)([]),[e1,e2]=(0,r.useState)([]),[e4,e5]=(0,r.useState)([]),[e8,e3]=(0,r.useState)({from:new Date(Date.now()-6048e5),to:new Date}),[e6,e7]=(0,r.useState)(null),[e9,le]=(0,r.useState)(0),[ll,ls]=(0,r.useState)({}),[lt,ln]=(0,r.useState)([]),[la,lr]=(0,r.useState)(!1),[li,lo]=(0,r.useState)(null),[ld,lc]=(0,r.useState)(null),[lm,lu]=(0,r.useState)([]);(0,r.useEffect)(()=>{lS(eD,e8.from,e8.to)},[li,ld]);let lh=e=>{eO(e),es(!0)},lx=e=>{eO(e),ek(!0)},lp=async e=>{if(console.log("handleEditSubmit:",e),null==s)return;let l={},t=null;for(let[s,n]of(e.input_cost_per_million_tokens&&(e.input_cost_per_token=e.input_cost_per_million_tokens/1e6,delete e.input_cost_per_million_tokens),e.output_cost_per_million_tokens&&(e.output_cost_per_token=e.output_cost_per_million_tokens/1e6,delete e.output_cost_per_million_tokens),Object.entries(e)))"model_id"!==s?l[s]=n:t=n;let n={litellm_params:l,model_info:{id:t}};console.log("handleEditSubmit payload:",n);try{await (0,u.um)(s,n),S.ZP.success("Model updated successfully, restart server to see updates"),es(!1),eO(null)}catch(e){console.log("Error occurred")}},lj=()=>{C(new Date().toLocaleString())},lg=async()=>{if(!s){console.error("Access token is missing");return}console.log("new modelGroupRetryPolicy:",e6);try{await (0,u.K_)(s,{router_settings:{model_group_retry_policy:e6}}),S.ZP.success("Retry settings saved successfully")}catch(e){console.error("Failed to save retry settings:",e),S.ZP.error("Failed to save retry settings")}};if((0,r.useEffect)(()=>{if(!s||!t||!i||!o)return;let e=async()=>{try{var e,l,t,n,a,r,d,c,h,x,p,j;let g=await (0,u.hy)(s);Y(g);let Z=await (0,u.AZ)(s,o,i);console.log("Model data response:",Z.data),m(Z);let f=new Set;for(let e=0;e0&&(y=_[_.length-1],console.log("_initial_model_group:",y)),console.log("selectedModelGroup:",eD);let b=await (0,u.o6)(s,o,i,y,null===(e=e8.from)||void 0===e?void 0:e.toISOString(),null===(l=e8.to)||void 0===l?void 0:l.toISOString(),null==li?void 0:li.token,ld);console.log("Model metrics response:",b),eB(b.data),eW(b.all_api_bases);let v=await (0,u.Rg)(s,y,null===(t=e8.from)||void 0===t?void 0:t.toISOString(),null===(n=e8.to)||void 0===n?void 0:n.toISOString());eG(v.data),eJ(v.all_api_bases);let k=await (0,u.N8)(s,o,i,y,null===(a=e8.from)||void 0===a?void 0:a.toISOString(),null===(r=e8.to)||void 0===r?void 0:r.toISOString(),null==li?void 0:li.token,ld);console.log("Model exceptions response:",k),e$(k.data),e0(k.exception_types);let S=await (0,u.fP)(s,o,i,y,null===(d=e8.from)||void 0===d?void 0:d.toISOString(),null===(c=e8.to)||void 0===c?void 0:c.toISOString(),null==li?void 0:li.token,ld),w=await (0,u.n$)(s,null===(h=e8.from)||void 0===h?void 0:h.toISOString().split("T")[0],null===(x=e8.to)||void 0===x?void 0:x.toISOString().split("T")[0],y);ls(w);let N=await (0,u.v9)(s,null===(p=e8.from)||void 0===p?void 0:p.toISOString().split("T")[0],null===(j=e8.to)||void 0===j?void 0:j.toISOString().split("T")[0],y);ln(N),console.log("dailyExceptions:",w),console.log("dailyExceptionsPerDeplyment:",N),console.log("slowResponses:",S),e5(S);let I=await (0,u.j2)(s);lu(null==I?void 0:I.end_users);let A=(await (0,u.BL)(s,o,i)).router_settings;console.log("routerSettingsInfo:",A);let C=A.model_group_retry_policy,P=A.num_retries;console.log("model_group_retry_policy:",C),console.log("default_retries:",P),e7(C),le(P)}catch(e){console.error("There was an error fetching the model data",e)}};s&&t&&i&&o&&e();let l=async()=>{let e=await (0,u.qm)(s);console.log("received model cost map data: ".concat(Object.keys(e))),v(e)};null==b&&l(),lj()},[s,t,i,o,b,N]),!d||!s||!t||!i||!o)return(0,a.jsx)("div",{children:"Loading..."});let lZ=[],lf=[];for(let e=0;e(console.log("GET PROVIDER CALLED! - ".concat(b)),null!=b&&"object"==typeof b&&e in b)?b[e].litellm_provider:"openai";if(s){let e=s.split("/"),l=e[0];(a=t)||(a=1===e.length?u(s):l)}else a="-";n&&(r=null==n?void 0:n.input_cost_per_token,i=null==n?void 0:n.output_cost_per_token,o=null==n?void 0:n.max_tokens,c=null==n?void 0:n.max_input_tokens),(null==l?void 0:l.litellm_params)&&(m=Object.fromEntries(Object.entries(null==l?void 0:l.litellm_params).filter(e=>{let[l]=e;return"model"!==l&&"api_base"!==l}))),d.data[e].provider=a,d.data[e].input_cost=r,d.data[e].output_cost=i,d.data[e].litellm_model_name=s,lf.push(a),d.data[e].input_cost&&(d.data[e].input_cost=(1e6*Number(d.data[e].input_cost)).toFixed(2)),d.data[e].output_cost&&(d.data[e].output_cost=(1e6*Number(d.data[e].output_cost)).toFixed(2)),d.data[e].max_tokens=o,d.data[e].max_input_tokens=c,d.data[e].api_base=null==l?void 0:null===(lb=l.litellm_params)||void 0===lb?void 0:lb.api_base,d.data[e].cleanedLitellmParams=m,lZ.push(l.model_name),console.log(d.data[e])}if(d.data&&d.data.length>0&&d.data.sort((e,l)=>e.provider&&l.provider?e.provider.localeCompare(l.provider):e.provider&&!l.provider?-1:!e.provider&&l.provider?1:0),i&&"Admin Viewer"==i){let{Title:e,Paragraph:l}=el.default;return(0,a.jsxs)("div",{children:[(0,a.jsx)(e,{level:1,children:"Access Denied"}),(0,a.jsx)(l,{children:"Ask your proxy admin for access to view all models"})]})}let lv=e=>{console.log("received provider string: ".concat(e));let l=Object.keys(n).find(l=>n[l]===e);if(l){let e=eC[l];console.log("mappingResult: ".concat(e));let s=[];"object"==typeof b&&(Object.entries(b).forEach(l=>{let[t,n]=l;null!==n&&"object"==typeof n&&"litellm_provider"in n&&(n.litellm_provider===e||n.litellm_provider.includes(e))&&s.push(t)}),"Cohere"==l&&(console.log("adding cohere chat model"),Object.entries(b).forEach(e=>{let[l,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&"cohere"===t.litellm_provider&&s.push(l)}))),T(s),console.log("providerModels: ".concat(P))}},lk=async()=>{try{S.ZP.info("Running health check..."),Q("");let e=await (0,u.EY)(s);Q(e)}catch(e){console.error("Error running health check:",e),Q("Error running health check")}},lS=async(e,l,t)=>{if(console.log("Updating model metrics for group:",e),!s||!o||!i||!l||!t)return;console.log("inside updateModelMetrics - startTime:",l,"endTime:",t),eU(e);let n=null==li?void 0:li.token;void 0===n&&(n=null);let a=ld;void 0===a&&(a=null),l.setHours(0),l.setMinutes(0),l.setSeconds(0),t.setHours(23),t.setMinutes(59),t.setSeconds(59);try{let r=await (0,u.o6)(s,o,i,e,l.toISOString(),t.toISOString(),n,a);console.log("Model metrics response:",r),eB(r.data),eW(r.all_api_bases);let d=await (0,u.Rg)(s,e,l.toISOString(),t.toISOString());eG(d.data),eJ(d.all_api_bases);let c=await (0,u.N8)(s,o,i,e,l.toISOString(),t.toISOString(),n,a);console.log("Model exceptions response:",c),e$(c.data),e0(c.exception_types);let m=await (0,u.fP)(s,o,i,e,l.toISOString(),t.toISOString(),n,a);if(console.log("slowResponses:",m),e5(m),e){let n=await (0,u.n$)(s,null==l?void 0:l.toISOString().split("T")[0],null==t?void 0:t.toISOString().split("T")[0],e);ls(n);let a=await (0,u.v9)(s,null==l?void 0:l.toISOString().split("T")[0],null==t?void 0:t.toISOString().split("T")[0],e);ln(a)}}catch(e){console.error("Failed to fetch model metrics",e)}},lw=(0,a.jsxs)("div",{children:[(0,a.jsx)(_.Z,{className:"mb-1",children:"Select API Key Name"}),h?(0,a.jsxs)("div",{children:[(0,a.jsxs)(W.Z,{defaultValue:"all-keys",children:[(0,a.jsx)(H.Z,{value:"all-keys",onClick:()=>{lo(null)},children:"All Keys"},"all-keys"),null==c?void 0:c.map((e,l)=>e&&null!==e.key_alias&&e.key_alias.length>0?(0,a.jsx)(H.Z,{value:String(l),onClick:()=>{lo(e)},children:e.key_alias},l):null)]}),(0,a.jsx)(_.Z,{className:"mt-1",children:"Select Customer Name"}),(0,a.jsxs)(W.Z,{defaultValue:"all-customers",children:[(0,a.jsx)(H.Z,{value:"all-customers",onClick:()=>{lc(null)},children:"All Customers"},"all-customers"),null==lm?void 0:lm.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>{lc(e)},children:e},l))]})]}):(0,a.jsxs)("div",{children:[(0,a.jsxs)(W.Z,{defaultValue:"all-keys",children:[(0,a.jsx)(H.Z,{value:"all-keys",onClick:()=>{lo(null)},children:"All Keys"},"all-keys"),null==c?void 0:c.map((e,l)=>e&&null!==e.key_alias&&e.key_alias.length>0?(0,a.jsxs)(H.Z,{value:String(l),disabled:!0,onClick:()=>{lo(e)},children:["✨ ",e.key_alias," (Enterprise only Feature)"]},l):null)]}),(0,a.jsx)(_.Z,{className:"mt-1",children:"Select Customer Name"}),(0,a.jsxs)(W.Z,{defaultValue:"all-customers",children:[(0,a.jsx)(H.Z,{value:"all-customers",onClick:()=>{lc(null)},children:"All Customers"},"all-customers"),null==lm?void 0:lm.map((e,l)=>(0,a.jsxs)(H.Z,{value:e,disabled:!0,onClick:()=>{lc(e)},children:["✨ ",e," (Enterprise only Feature)"]},l))]})]})]}),lN=e=>{var l,s;let{payload:t,active:n}=e;if(!n||!t)return null;let r=null===(s=t[0])||void 0===s?void 0:null===(l=s.payload)||void 0===l?void 0:l.date,i=t.sort((e,l)=>l.value-e.value);if(i.length>5){let e=i.length-5;(i=i.slice(0,5)).push({dataKey:"".concat(e," other deployments"),value:t.slice(5).reduce((e,l)=>e+l.value,0),color:"gray"})}return(0,a.jsxs)("div",{className:"w-150 rounded-tremor-default border border-tremor-border bg-tremor-background p-2 text-tremor-default shadow-tremor-dropdown",children:[r&&(0,a.jsxs)("p",{className:"text-tremor-content-emphasis mb-2",children:["Date: ",r]}),i.map((e,l)=>{let s=parseFloat(e.value.toFixed(5)),t=0===s&&e.value>0?"<0.00001":s.toFixed(5);return(0,a.jsxs)("div",{className:"flex justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("div",{className:"w-2 h-2 mt-1 rounded-full bg-".concat(e.color,"-500")}),(0,a.jsx)("p",{className:"text-tremor-content",children:e.dataKey})]}),(0,a.jsx)("p",{className:"font-medium text-tremor-content-emphasis text-righ ml-2",children:t})]},l)})]})},lI=e=>"Vertex AI (Anthropic, Gemini, etc.)"===e?"gemini-pro":"Anthropic"==e||"Amazon Bedrock"==e?"claude-3-opus":"Google AI Studio"==e?"gemini-pro":"Azure AI Studio"==e?"azure_ai/command-r-plus":"Azure"==e?"azure/my-deployment":"gpt-3.5-turbo";console.log("selectedProvider: ".concat(J)),console.log("providerModels.length: ".concat(P.length));let lA=Object.keys(n).find(e=>n[e]===J);return lA&&(l=G.find(e=>e.name===eC[lA])),(0,a.jsx)("div",{style:{width:"100%",height:"100%"},children:(0,a.jsxs)(er.Z,{className:"gap-2 p-8 h-[75vh] w-full mt-2",children:[(0,a.jsxs)(ei.Z,{className:"flex justify-between mt-2 w-full items-center",children:[(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(ea.Z,{children:"All Models"}),(0,a.jsx)(ea.Z,{children:"Add Model"}),(0,a.jsx)(ea.Z,{children:(0,a.jsx)("pre",{children:"/health Models"})}),(0,a.jsx)(ea.Z,{children:"Model Analytics"}),(0,a.jsx)(ea.Z,{children:"Model Retry Settings"})]}),(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[N&&(0,a.jsxs)(_.Z,{children:["Last Refreshed: ",N]}),(0,a.jsx)(D.Z,{icon:R.Z,variant:"shadow",size:"xs",className:"self-center",onClick:lj})]})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(_.Z,{children:"Filter by Public Model Name"}),(0,a.jsxs)(W.Z,{className:"mb-4 mt-2 ml-2 w-50",defaultValue:eD||void 0,onValueChange:e=>eU("all"===e?"all":e),value:eD||void 0,children:[(0,a.jsx)(H.Z,{value:"all",children:"All Models"}),eR.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>eU(e),children:e},l))]})]}),(0,a.jsx)(L.Z,{children:(0,a.jsxs)(U.Z,{style:{maxWidth:"1500px",width:"100%"},children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"Public Model Name"}),(0,a.jsx)(B.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"Provider"}),(0,a.jsx)(B.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"LiteLLM Model"}),"Admin"===i&&(0,a.jsx)(B.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"API Base"}),(0,a.jsxs)(B.Z,{style:{maxWidth:"85px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:["Input Price"," ",(0,a.jsx)("p",{style:{fontSize:"10px",color:"gray"},children:"/1M Tokens ($)"})]}),(0,a.jsxs)(B.Z,{style:{maxWidth:"85px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:["Output Price"," ",(0,a.jsx)("p",{style:{fontSize:"10px",color:"gray"},children:"/1M Tokens ($)"})]}),(0,a.jsx)(B.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:h?"Created At":(0,a.jsxs)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",style:{color:"#72bcd4"},children:[" ","✨ Created At"]})}),(0,a.jsx)(B.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:h?"Created By":(0,a.jsxs)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",style:{color:"#72bcd4"},children:[" ","✨ Created By"]})}),(0,a.jsx)(B.Z,{style:{maxWidth:"50px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"Status"}),(0,a.jsx)(B.Z,{})]})}),(0,a.jsx)(z.Z,{children:d.data.filter(e=>"all"===eD||e.model_name===eD||null==eD||""===eD).map((e,l)=>{var t;return(0,a.jsxs)(K.Z,{style:{maxHeight:"1px",minHeight:"1px"},children:[(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("p",{className:"text-xs",children:e.model_name||"-"})}),(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("p",{className:"text-xs",children:e.provider||"-"})}),(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)(ex.Z,{title:e&&e.litellm_model_name,children:(0,a.jsx)("pre",{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},className:"text-xs",title:e&&e.litellm_model_name?e.litellm_model_name:"",children:e&&e.litellm_model_name?e.litellm_model_name.slice(0,20)+(e.litellm_model_name.length>20?"...":""):"-"})})}),"Admin"===i&&(0,a.jsx)(V.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)(ex.Z,{title:e&&e.api_base,children:(0,a.jsx)("pre",{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},className:"text-xs",title:e&&e.api_base?e.api_base:"",children:e&&e.api_base?e.api_base.slice(0,20):"-"})})}),(0,a.jsx)(V.Z,{style:{maxWidth:"80px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("pre",{className:"text-xs",children:e.input_cost?e.input_cost:null!=e.litellm_params.input_cost_per_token&&void 0!=e.litellm_params.input_cost_per_token?(1e6*Number(e.litellm_params.input_cost_per_token)).toFixed(2):null})}),(0,a.jsx)(V.Z,{style:{maxWidth:"80px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("pre",{className:"text-xs",children:e.output_cost?e.output_cost:e.litellm_params.output_cost_per_token?(1e6*Number(e.litellm_params.output_cost_per_token)).toFixed(2):null})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)("p",{className:"text-xs",children:h&&((t=e.model_info.created_at)?new Date(t).toLocaleDateString("en-US"):null)||"-"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)("p",{className:"text-xs",children:h&&e.model_info.created_by||"-"})}),(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:e.model_info.db_model?(0,a.jsx)(M.Z,{size:"xs",className:"text-white",children:(0,a.jsx)("p",{className:"text-xs",children:"DB Model"})}):(0,a.jsx)(M.Z,{size:"xs",className:"text-black",children:(0,a.jsx)("p",{className:"text-xs",children:"Config Model"})})}),(0,a.jsx)(V.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsxs)(x.Z,{numItems:3,children:[(0,a.jsx)(ep.Z,{children:(0,a.jsx)(D.Z,{icon:E.Z,size:"sm",onClick:()=>lx(e)})}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>lh(e)})}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(e_,{modelID:e.model_info.id,accessToken:s})})]})})]},l)})})]})})]}),(0,a.jsx)(e=>{let{visible:l,onCancel:s,model:t,onSubmit:n}=e,[r]=k.Z.useForm(),i={},o="",d="";if(t){i=t.litellm_params,o=t.model_name;let e=t.model_info;e&&(d=e.id,console.log("model_id: ".concat(d)),i.model_id=d)}return(0,a.jsx)(w.Z,{title:"Edit Model "+o,visible:l,width:800,footer:null,onOk:()=>{r.validateFields().then(e=>{n(e),r.resetFields()}).catch(e=>{console.error("Validation failed:",e)})},onCancel:s,children:(0,a.jsxs)(k.Z,{form:r,onFinish:lp,initialValues:i,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"api_base",name:"api_base",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"organization",name:"organization",tooltip:"OpenAI Organization ID",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"tpm",name:"tpm",tooltip:"int (optional) - Tokens limit for this deployment: in tokens per minute (tpm). Find this information on your model/providers website",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"rpm",name:"rpm",tooltip:"int (optional) - Rate limit for this deployment: in requests per minute (rpm). Find this information on your model/providers website",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"max_retries",name:"max_retries",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"timeout",name:"timeout",tooltip:"int (optional) - Timeout in seconds for LLM requests (Defaults to 600 seconds)",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"stream_timeout",name:"stream_timeout",tooltip:"int (optional) - Timeout for stream requests (seconds)",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"Input Cost per 1M Tokens",name:"input_cost_per_million_tokens",tooltip:"float (optional) - Input cost per 1 million tokens",children:(0,a.jsx)(I.Z,{min:0,step:.01})}),(0,a.jsx)(k.Z.Item,{label:"Output Cost per 1M Tokens",name:"output_cost_per_million_tokens",tooltip:"float (optional) - Output cost per 1 million tokens",children:(0,a.jsx)(I.Z,{min:0,step:.01})}),(0,a.jsx)(k.Z.Item,{label:"model_id",name:"model_id",hidden:!0})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})},{visible:ee,onCancel:()=>{es(!1),eO(null)},model:eE,onSubmit:lp}),(0,a.jsxs)(w.Z,{title:eE&&eE.model_name,visible:ev,width:800,footer:null,onCancel:()=>{ek(!1),eO(null)},children:[(0,a.jsx)(y.Z,{children:"Model Info"}),(0,a.jsx)(eN.Z,{language:"json",children:eE&&JSON.stringify(eE,null,2)})]})]}),(0,a.jsxs)(eo.Z,{className:"h-full",children:[(0,a.jsx)(eI,{level:2,children:"Add new model"}),(0,a.jsx)(L.Z,{children:(0,a.jsxs)(k.Z,{form:f,onFinish:()=>{f.validateFields().then(e=>{eT(e,s,f)}).catch(e=>{console.error("Validation failed:",e)})},labelCol:{span:10},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Provider:",name:"custom_llm_provider",tooltip:"E.g. OpenAI, Azure OpenAI, Anthropic, Bedrock, etc.",labelCol:{span:10},labelAlign:"left",children:(0,a.jsx)(W.Z,{value:J.toString(),children:F.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>{lv(e),X(e)},children:e},l))})}),(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Public Model Name",name:"model_name",tooltip:"Model name your users will pass in. Also used for load-balancing, LiteLLM will load balance between all models with this public name.",className:"mb-0",children:(0,a.jsx)(j.Z,{})}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsx)(_.Z,{className:"mb-3 mt-1",children:"Model name your users will pass in."})})]}),(0,a.jsxs)(k.Z.Item,{label:"LiteLLM Model Name(s)",tooltip:"Actual model name used for making litellm.completion() / litellm.embedding() call.",className:"mb-0",children:[(0,a.jsx)(k.Z.Item,{name:"model",rules:[{required:!0,message:"Required"}],noStyle:!0,children:"Azure"===J||"OpenAI-Compatible Endpoints (Together AI, etc.)"===J||"Ollama"===J?(0,a.jsx)(j.Z,{placeholder:lI(J.toString())}):P.length>0?(0,a.jsxs)(ec.Z,{children:[(0,a.jsx)(em.Z,{value:"custom",children:"Custom Model Name (Enter below)"}),P.map((e,l)=>(0,a.jsx)(em.Z,{value:e,children:e},l))]}):(0,a.jsx)(j.Z,{placeholder:lI(J.toString())})}),(0,a.jsx)(k.Z.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.model!==l.model,children:e=>{let{getFieldValue:l}=e;return(l("model")||[]).includes("custom")&&(0,a.jsx)(k.Z.Item,{name:"custom_model_name",rules:[{required:!0,message:"Please enter a custom model name"}],className:"mt-2",children:(0,a.jsx)(j.Z,{placeholder:"Enter custom model name"})})}})]}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsxs)(_.Z,{className:"mb-3 mt-1",children:["Actual model name used for making"," ",(0,a.jsx)(eA,{href:"https://docs.litellm.ai/docs/providers",target:"_blank",children:"litellm.completion() call"}),". We'll"," ",(0,a.jsx)(eA,{href:"https://docs.litellm.ai/docs/proxy/reliability#step-1---set-deployments-on-config",target:"_blank",children:"loadbalance"})," ","models with the same 'public name'"]})})]}),void 0!==l&&l.fields.length>0&&(0,a.jsx)(ew,{fields:l.fields,selectedProvider:l.name}),"Amazon Bedrock"!=J&&"Vertex AI (Anthropic, Gemini, etc.)"!=J&&"Ollama"!=J&&(void 0===l||0==l.fields.length)&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"API Key",name:"api_key",children:(0,a.jsx)(j.Z,{placeholder:"sk-",type:"password"})}),"OpenAI"==J&&(0,a.jsx)(k.Z.Item,{label:"Organization ID",name:"organization",children:(0,a.jsx)(j.Z,{placeholder:"[OPTIONAL] my-unique-org"})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Vertex Project",name:"vertex_project",children:(0,a.jsx)(j.Z,{placeholder:"adroit-cadet-1234.."})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Vertex Location",name:"vertex_location",children:(0,a.jsx)(j.Z,{placeholder:"us-east-1"})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Vertex Credentials",name:"vertex_credentials",className:"mb-0",children:(0,a.jsx)(eb.Z,{name:"file",accept:".json",beforeUpload:e=>{if("application/json"===e.type){let l=new FileReader;l.onload=e=>{if(e.target){let l=e.target.result;f.setFieldsValue({vertex_credentials:l})}},l.readAsText(e)}return!1},onChange(e){"uploading"!==e.file.status&&console.log(e.file,e.fileList),"done"===e.file.status?S.ZP.success("".concat(e.file.name," file uploaded successfully")):"error"===e.file.status&&S.ZP.error("".concat(e.file.name," file upload failed."))},children:(0,a.jsx)(A.ZP,{icon:(0,a.jsx)(ey.Z,{}),children:"Click to Upload"})})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsx)(_.Z,{className:"mb-3 mt-1",children:"Give litellm a gcp service account(.json file), so it can make the relevant calls"})})]}),("Azure"==J||"OpenAI-Compatible Endpoints (Together AI, etc.)"==J)&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"API Base",name:"api_base",children:(0,a.jsx)(j.Z,{placeholder:"https://..."})}),"Azure"==J&&(0,a.jsx)(k.Z.Item,{label:"API Version",name:"api_version",tooltip:"By default litellm will use the latest version. If you want to use a different version, you can specify it here",children:(0,a.jsx)(j.Z,{placeholder:"2023-07-01-preview"})}),"Azure"==J&&(0,a.jsxs)("div",{children:[(0,a.jsx)(k.Z.Item,{label:"Base Model",name:"base_model",className:"mb-0",children:(0,a.jsx)(j.Z,{placeholder:"azure/gpt-3.5-turbo"})}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsxs)(_.Z,{className:"mb-2",children:["The actual model your azure deployment uses. Used for accurate cost tracking. Select name from"," ",(0,a.jsx)(eA,{href:"https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json",target:"_blank",children:"here"})]})})]})]}),"Amazon Bedrock"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"AWS Access Key ID",name:"aws_access_key_id",tooltip:"You can provide the raw key or the environment variable (e.g. `os.environ/MY_SECRET_KEY`).",children:(0,a.jsx)(j.Z,{placeholder:""})}),"Amazon Bedrock"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"AWS Secret Access Key",name:"aws_secret_access_key",tooltip:"You can provide the raw key or the environment variable (e.g. `os.environ/MY_SECRET_KEY`).",children:(0,a.jsx)(j.Z,{placeholder:""})}),"Amazon Bedrock"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"AWS Region Name",name:"aws_region_name",tooltip:"You can provide the raw key or the environment variable (e.g. `os.environ/MY_SECRET_KEY`).",children:(0,a.jsx)(j.Z,{placeholder:"us-east-1"})}),(0,a.jsx)(k.Z.Item,{label:"LiteLLM Params",name:"litellm_extra_params",tooltip:"Optional litellm params used for making a litellm.completion() call.",className:"mb-0",children:(0,a.jsx)(eZ.Z,{rows:4,placeholder:'{ "rpm": 100, "timeout": 0, "stream_timeout": 0 }'})}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsxs)(_.Z,{className:"mb-3 mt-1",children:["Pass JSON of litellm supported params"," ",(0,a.jsx)(eA,{href:"https://docs.litellm.ai/docs/completion/input",target:"_blank",children:"litellm.completion() call"})]})})]})]}),(0,a.jsx)("div",{style:{textAlign:"center",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add Model"})}),(0,a.jsx)(ex.Z,{title:"Get help on our github",children:(0,a.jsx)(el.default.Link,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})})]})})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(_.Z,{children:"`/health` will run a very small request through your models configured on litellm"}),(0,a.jsx)(p.Z,{onClick:lk,children:"Run `/health`"}),$&&(0,a.jsx)("pre",{children:JSON.stringify($,null,2)})]})}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(x.Z,{numItems:4,className:"mt-2 mb-2",children:[(0,a.jsxs)(ep.Z,{children:[(0,a.jsx)(_.Z,{children:"Select Time Range"}),(0,a.jsx)(en.Z,{enableSelect:!0,value:e8,className:"mr-2",onValueChange:e=>{e3(e),lS(eD,e.from,e.to)}})]}),(0,a.jsxs)(ep.Z,{className:"ml-2",children:[(0,a.jsx)(_.Z,{children:"Select Model Group"}),(0,a.jsx)(W.Z,{defaultValue:eD||eR[0],value:eD||eR[0],children:eR.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>lS(e,e8.from,e8.to),children:e},l))})]}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(eg.Z,{trigger:"click",content:lw,overlayStyle:{width:"20vw"},children:(0,a.jsx)(p.Z,{icon:ef.Z,size:"md",variant:"secondary",className:"mt-4 ml-2",style:{border:"none"},onClick:()=>lr(!0)})})})]}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsx)(ep.Z,{children:(0,a.jsx)(L.Z,{className:"mr-2 max-h-[400px] min-h-[400px]",children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{variant:"line",defaultValue:"1",children:[(0,a.jsx)(ea.Z,{value:"1",children:"Avg. Latency per Token"}),(0,a.jsx)(ea.Z,{value:"2",children:"✨ Time to first token"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsxs)(eo.Z,{children:[(0,a.jsx)("p",{className:"text-gray-500 italic",children:" (seconds/token)"}),(0,a.jsx)(_.Z,{className:"text-gray-500 italic mt-1 mb-1",children:"average Latency for successfull requests divided by the total tokens"}),eq&&eK&&(0,a.jsx)(eu.Z,{title:"Model Latency",className:"h-72",data:eq,showLegend:!1,index:"date",categories:eK,connectNulls:!0,customTooltip:lN})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eS,{modelMetrics:eH,modelMetricsCategories:eY,customTooltip:lN,premiumUser:h})})]})]})})}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(L.Z,{className:"ml-2 max-h-[400px] min-h-[400px] overflow-y-auto",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Deployment"}),(0,a.jsx)(B.Z,{children:"Success Responses"}),(0,a.jsxs)(B.Z,{children:["Slow Responses ",(0,a.jsx)("p",{children:"Success Responses taking 600+s"})]})]})}),(0,a.jsx)(z.Z,{children:e4.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.api_base}),(0,a.jsx)(V.Z,{children:e.total_count}),(0,a.jsx)(V.Z,{children:e.slow_count})]},l))})]})})})]}),(0,a.jsx)(x.Z,{numItems:1,className:"gap-2 w-full mt-2",children:(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(y.Z,{children:["All Exceptions for ",eD]}),(0,a.jsx)(eh.Z,{className:"h-60",data:eX,index:"model",categories:eQ,stack:!0,yAxisWidth:30})]})}),(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full mt-2",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(y.Z,{children:["All Up Rate Limit Errors (429) for ",eD]}),(0,a.jsxs)(x.Z,{numItems:1,children:[(0,a.jsxs)(ep.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors ",ll.sum_num_rate_limit_exceptions]}),(0,a.jsx)(eh.Z,{className:"h-40",data:ll.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]}),(0,a.jsx)(ep.Z,{})]})]}),h?(0,a.jsx)(a.Fragment,{children:lt.map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.api_base?e.api_base:"Unknown API Base"}),(0,a.jsx)(x.Z,{numItems:1,children:(0,a.jsxs)(ep.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors (429) ",e.sum_num_rate_limit_exceptions]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]})})]},l))}):(0,a.jsx)(a.Fragment,{children:lt&<.length>0&<.slice(0,1).map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"✨ Rate Limit Errors by Deployment"}),(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to see exceptions for all deployments"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.api_base}),(0,a.jsx)(x.Z,{numItems:1,children:(0,a.jsxs)(ep.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors ",e.sum_num_rate_limit_exceptions]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]})})]})]},l))})]})]}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(_.Z,{children:"Filter by Public Model Name"}),(0,a.jsx)(W.Z,{className:"mb-4 mt-2 ml-2 w-50",defaultValue:eD||eR[0],value:eD||eR[0],onValueChange:e=>eU(e),children:eR.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>eU(e),children:e},l))})]}),(0,a.jsxs)(y.Z,{children:["Retry Policy for ",eD]}),(0,a.jsx)(_.Z,{className:"mb-6",children:"How many retries should be attempted based on the Exception"}),eP&&(0,a.jsx)("table",{children:(0,a.jsx)("tbody",{children:Object.entries(eP).map((e,l)=>{var s;let[t,n]=e,r=null==e6?void 0:null===(s=e6[eD])||void 0===s?void 0:s[n];return null==r&&(r=e9),(0,a.jsxs)("tr",{className:"flex justify-between items-center mt-2",children:[(0,a.jsx)("td",{children:(0,a.jsx)(_.Z,{children:t})}),(0,a.jsx)("td",{children:(0,a.jsx)(I.Z,{className:"ml-5",value:r,min:0,step:1,onChange:e=>{e7(l=>{var s;let t=null!==(s=null==l?void 0:l[eD])&&void 0!==s?s:{};return{...null!=l?l:{},[eD]:{...t,[n]:e}}})}})})]},l)})})}),(0,a.jsx)(p.Z,{className:"mt-6 mr-8",onClick:lg,children:"Save"})]})]})]})})},eO=e=>{let{isInvitationLinkModalVisible:l,setIsInvitationLinkModalVisible:s,baseUrl:t,invitationLinkData:n}=e,{Title:r,Paragraph:i}=el.default;return(0,a.jsxs)(w.Z,{title:"Invitation Link",visible:l,width:800,footer:null,onOk:()=>{s(!1)},onCancel:()=>{s(!1)},children:[(0,a.jsx)(i,{children:"Copy and send the generated link to onboard this user to the proxy."}),(0,a.jsxs)("div",{className:"flex justify-between pt-5 pb-2",children:[(0,a.jsx)(_.Z,{className:"text-base",children:"User ID"}),(0,a.jsx)(_.Z,{children:null==n?void 0:n.user_id})]}),(0,a.jsxs)("div",{className:"flex justify-between pt-5 pb-2",children:[(0,a.jsx)(_.Z,{children:"Invitation Link"}),(0,a.jsxs)(_.Z,{children:[t,"/ui?invitation_id=",null==n?void 0:n.id]})]}),(0,a.jsxs)("div",{className:"flex justify-end mt-5",children:[(0,a.jsx)("div",{}),(0,a.jsx)(b.CopyToClipboard,{text:"".concat(t,"/ui?invitation_id=").concat(null==n?void 0:n.id),onCopy:()=>S.ZP.success("Copied!"),children:(0,a.jsx)(p.Z,{variant:"primary",children:"Copy invitation link"})})]})]})};let{Option:eR}=v.default;var eF=e=>{let{userID:l,accessToken:s,teams:t,possibleUIRoles:n}=e,[o]=k.Z.useForm(),[d,c]=(0,r.useState)(!1),[m,h]=(0,r.useState)(null),[x,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)(!1),[y,b]=(0,r.useState)(null),I=(0,i.useRouter)();console.log=function(){};let[C,P]=(0,r.useState)("");(0,r.useEffect)(()=>{(async()=>{try{let e=await (0,u.So)(s,l,"any"),t=[];for(let l=0;l{if(I){let{protocol:e,host:l}=window.location;P("".concat(e,"/").concat(l))}},[I]);let T=async e=>{try{var t;S.ZP.info("Making API Call"),c(!0),console.log("formValues in create user:",e);let n=await (0,u.Ov)(s,null,e);console.log("user create Response:",n),h(n.key);let a=(null===(t=n.data)||void 0===t?void 0:t.user_id)||n.user_id;(0,u.XO)(s,a).then(e=>{b(e),f(!0)}),S.ZP.success("API user Created"),o.resetFields(),localStorage.removeItem("userData"+l)}catch(e){console.error("Error creating the user:",e)}};return(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto mb-0",onClick:()=>c(!0),children:"+ Invite User"}),(0,a.jsxs)(w.Z,{title:"Invite User",visible:d,width:800,footer:null,onOk:()=>{c(!1),o.resetFields()},onCancel:()=>{c(!1),h(null),o.resetFields()},children:[(0,a.jsx)(_.Z,{className:"mb-1",children:"Create a User who can own keys"}),(0,a.jsxs)(k.Z,{form:o,onFinish:T,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(k.Z.Item,{label:"User Email",name:"user_email",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"User Role",name:"user_role",children:(0,a.jsx)(v.default,{children:n&&Object.entries(n).map(e=>{let[l,{ui_label:s,description:t}]=e;return(0,a.jsx)(H.Z,{value:l,title:s,children:(0,a.jsxs)("div",{className:"flex",children:[s," ",(0,a.jsx)("p",{className:"ml-2",style:{color:"gray",fontSize:"12px"},children:t})]})},l)})})}),(0,a.jsx)(k.Z.Item,{label:"Team ID",name:"team_id",children:(0,a.jsx)(v.default,{placeholder:"Select Team ID",style:{width:"100%"},children:t?t.map(e=>(0,a.jsx)(eR,{value:e.team_id,children:e.team_alias},e.team_id)):(0,a.jsx)(eR,{value:null,children:"Default Team"},"default")})}),(0,a.jsx)(k.Z.Item,{label:"Metadata",name:"metadata",children:(0,a.jsx)(N.Z.TextArea,{rows:4,placeholder:"Enter metadata as JSON"})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create User"})})]})]}),m&&(0,a.jsx)(eO,{isInvitationLinkModalVisible:Z,setIsInvitationLinkModalVisible:f,baseUrl:C,invitationLinkData:y})]})},eM=e=>{let{visible:l,possibleUIRoles:s,onCancel:t,user:n,onSubmit:i}=e,[o,d]=(0,r.useState)(n),[c]=k.Z.useForm();(0,r.useEffect)(()=>{c.resetFields()},[n]);let m=async()=>{c.resetFields(),t()},u=async e=>{i(e),c.resetFields(),t()};return n?(0,a.jsx)(w.Z,{visible:l,onCancel:m,footer:null,title:"Edit User "+n.user_id,width:1e3,children:(0,a.jsx)(k.Z,{form:c,onFinish:u,initialValues:n,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"User Email",tooltip:"Email of the User",name:"user_email",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"user_id",name:"user_id",hidden:!0,children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"User Role",name:"user_role",children:(0,a.jsx)(v.default,{children:s&&Object.entries(s).map(e=>{let[l,{ui_label:s,description:t}]=e;return(0,a.jsx)(H.Z,{value:l,title:s,children:(0,a.jsxs)("div",{className:"flex",children:[s," ",(0,a.jsx)("p",{className:"ml-2",style:{color:"gray",fontSize:"12px"},children:t})]})},l)})})}),(0,a.jsx)(k.Z.Item,{label:"Spend (USD)",name:"spend",tooltip:"(float) - Spend of all LLM calls completed by this user",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"User Budget (USD)",name:"max_budget",tooltip:"(float) - Maximum budget of this user",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})}):null};console.log=function(){};var eL=e=>{let{accessToken:l,token:s,keys:t,userRole:n,userID:i,teams:o,setKeys:d}=e,[c,m]=(0,r.useState)(null),[h,p]=(0,r.useState)(null),[j,g]=(0,r.useState)(0),[Z,f]=r.useState(null),[_,y]=(0,r.useState)(null),[b,v]=(0,r.useState)(!1),[k,w]=(0,r.useState)(null),[N,I]=(0,r.useState)({}),A=async()=>{w(null),v(!1)},C=async e=>{if(console.log("inside handleEditSubmit:",e),l&&s&&n&&i){try{await (0,u.pf)(l,e,null),S.ZP.success("User ".concat(e.user_id," updated successfully"))}catch(e){console.error("There was an error updating the user",e)}c&&m(c.map(l=>l.user_id===e.user_id?e:l)),w(null),v(!1)}};return((0,r.useEffect)(()=>{if(!l||!s||!n||!i)return;let e=async()=>{try{let e=await (0,u.Br)(l,null,n,!0,j,25);console.log("user data response:",e),m(e);let s=await (0,u.lg)(l);I(s)}catch(e){console.error("There was an error fetching the model data",e)}};l&&s&&n&&i&&e()},[l,s,n,i,j]),c&&l&&s&&n&&i)?(0,a.jsx)("div",{style:{width:"100%"},children:(0,a.jsxs)(x.Z,{className:"gap-2 p-2 h-[90vh] w-full mt-8",children:[(0,a.jsx)(eF,{userID:i,accessToken:l,teams:o,possibleUIRoles:N}),(0,a.jsxs)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[90vh] mb-4",children:[(0,a.jsx)("div",{className:"mb-4 mt-1"}),(0,a.jsx)(er.Z,{children:(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(U.Z,{className:"mt-5",children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"User ID"}),(0,a.jsx)(B.Z,{children:"User Email"}),(0,a.jsx)(B.Z,{children:"Role"}),(0,a.jsx)(B.Z,{children:"User Spend ($ USD)"}),(0,a.jsx)(B.Z,{children:"User Max Budget ($ USD)"}),(0,a.jsx)(B.Z,{children:"API Keys"}),(0,a.jsx)(B.Z,{})]})}),(0,a.jsx)(z.Z,{children:c.map(e=>{var l,s;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.user_id||"-"}),(0,a.jsx)(V.Z,{children:e.user_email||"-"}),(0,a.jsx)(V.Z,{children:(null==N?void 0:null===(l=N[null==e?void 0:e.user_role])||void 0===l?void 0:l.ui_label)||"-"}),(0,a.jsx)(V.Z,{children:e.spend?null===(s=e.spend)||void 0===s?void 0:s.toFixed(2):"-"}),(0,a.jsx)(V.Z,{children:e.max_budget?e.max_budget:"Unlimited"}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(x.Z,{numItems:2,children:e&&e.key_aliases&&e.key_aliases.filter(e=>null!==e).length>0?(0,a.jsxs)(M.Z,{size:"xs",color:"indigo",children:[e.key_aliases.filter(e=>null!==e).length,"\xa0Keys"]}):(0,a.jsx)(M.Z,{size:"xs",color:"gray",children:"No Keys"})})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:O.Z,onClick:()=>{w(e),v(!0)},children:"View Keys"})})]},e.user_id)})})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsx)("div",{className:"flex-1 flex justify-between items-center"})]})})]})}),(0,a.jsx)(eM,{visible:b,possibleUIRoles:N,onCancel:A,user:k,onSubmit:C})]}),function(){if(!c)return null;let e=Math.ceil(c.length/25);return(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsxs)("div",{children:["Showing Page ",j+1," of ",e]}),(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)("button",{className:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-l focus:outline-none",disabled:0===j,onClick:()=>g(j-1),children:"← Prev"}),(0,a.jsx)("button",{className:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-r focus:outline-none",onClick:()=>{g(j+1)},children:"Next →"})]})]})}()]})}):(0,a.jsx)("div",{children:"Loading..."})};console.log=function(){};var eD=e=>{let{teams:l,searchParams:s,accessToken:t,setTeams:n,userID:i,userRole:o}=e;(0,r.useEffect)(()=>{console.log("inside useeffect - ".concat(l)),null===l&&t&&(async()=>{let e=await (0,u.It)(t);console.log("givenTeams: ".concat(e)),n(e)})()},[l]);let[d]=k.Z.useForm(),[c]=k.Z.useForm(),{Title:m,Paragraph:g}=el.default,[Z,f]=(0,r.useState)(""),[y,b]=(0,r.useState)(!1),[C,P]=(0,r.useState)(l?l[0]:null),[T,E]=(0,r.useState)(!1),[R,G]=(0,r.useState)(!1),[Y,J]=(0,r.useState)([]),[X,$]=(0,r.useState)(!1),[Q,ee]=(0,r.useState)(null),[es,et]=(0,r.useState)({}),en=e=>{P(e),b(!0)},ea=async e=>{let s=e.team_id;if(console.log("handleEditSubmit:",e),null==t)return;let a=await (0,u.Gh)(t,e);l&&n(l.map(e=>e.team_id===s?a.data:e)),S.ZP.success("Team updated successfully"),b(!1),P(null)},er=async e=>{ee(e),$(!0)},ei=async()=>{if(null!=Q&&null!=l&&null!=t){try{await (0,u.rs)(t,Q);let e=l.filter(e=>e.team_id!==Q);n(e)}catch(e){console.error("Error deleting the team:",e)}$(!1),ee(null)}};(0,r.useEffect)(()=>{let e=async()=>{try{if(null===i||null===o||null===t||null===l)return;let e={},s=await (0,u.It)(t);for(let l=0;l{try{if(null===i||null===o)return;if(null!==t){let e=(await (0,u.So)(t,i,o)).data.map(e=>e.id);console.log("available_model_names:",e),J(e)}}catch(e){console.error("Error fetching user models:",e)}})(),e()},[t,i,o,l]);let eo=async e=>{try{if(null!=t){var s;let a=null==e?void 0:e.team_alias;if((null!==(s=null==l?void 0:l.map(e=>e.team_alias))&&void 0!==s?s:[]).includes(a))throw Error("Team alias ".concat(a," already exists, please pick another alias"));S.ZP.info("Creating Team");let r=await (0,u.hT)(t,e);null!==l?n([...l,r]):n([r]),console.log("response for team create call: ".concat(r)),S.ZP.success("Team created"),E(!1)}}catch(e){console.error("Error creating the team:",e),S.ZP.error("Error creating the team: "+e,20)}},ed=async e=>{try{if(null!=t&&null!=l){S.ZP.info("Adding Member");let s={role:"user",user_email:e.user_email,user_id:e.user_id},a=await (0,u.cu)(t,C.team_id,s);console.log("response for team create call: ".concat(a.data));let r=l.findIndex(e=>(console.log("team.team_id=".concat(e.team_id,"; response.data.team_id=").concat(a.data.team_id)),e.team_id===a.data.team_id));if(console.log("foundIndex: ".concat(r)),-1!==r){let e=[...l];e[r]=a.data,n(e),P(a.data)}G(!1)}}catch(e){console.error("Error creating the team:",e)}};return(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 p-8 h-[75vh] w-full mt-2",children:[(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(m,{level:4,children:"All Teams"}),(0,a.jsxs)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Team Name"}),(0,a.jsx)(B.Z,{children:"Team ID"}),(0,a.jsx)(B.Z,{children:"Spend (USD)"}),(0,a.jsx)(B.Z,{children:"Budget (USD)"}),(0,a.jsx)(B.Z,{children:"Models"}),(0,a.jsx)(B.Z,{children:"TPM / RPM Limits"}),(0,a.jsx)(B.Z,{children:"Info"})]})}),(0,a.jsx)(z.Z,{children:l&&l.length>0?l.map(e=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.team_alias}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:"0.75em"},children:(0,a.jsx)(ex.Z,{title:e.team_id,children:e.team_id})}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.spend}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:null!==e.max_budget&&void 0!==e.max_budget?e.max_budget:"No limit"}),(0,a.jsx)(V.Z,{style:{maxWidth:"8-x",whiteSpace:"pre-wrap",overflow:"hidden"},children:Array.isArray(e.models)?(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:0===e.models.length?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})}):e.models.map((e,l)=>"all-proxy-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})},l):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},l))}):null}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:(0,a.jsxs)(_.Z,{children:["TPM: ",e.tpm_limit?e.tpm_limit:"Unlimited"," ",(0,a.jsx)("br",{}),"RPM:"," ",e.rpm_limit?e.rpm_limit:"Unlimited"]})}),(0,a.jsxs)(V.Z,{children:[(0,a.jsxs)(_.Z,{children:[es&&e.team_id&&es[e.team_id]&&es[e.team_id].keys&&es[e.team_id].keys.length," ","Keys"]}),(0,a.jsxs)(_.Z,{children:[es&&e.team_id&&es[e.team_id]&&es[e.team_id].team_info&&es[e.team_id].team_info.members_with_roles&&es[e.team_id].team_info.members_with_roles.length," ","Members"]})]}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>en(e)}),(0,a.jsx)(D.Z,{onClick:()=>er(e.team_id),icon:F.Z,size:"sm"})]})]},e.team_id)):null})]}),X&&(0,a.jsx)("div",{className:"fixed z-10 inset-0 overflow-y-auto",children:(0,a.jsxs)("div",{className:"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0",children:[(0,a.jsx)("div",{className:"fixed inset-0 transition-opacity","aria-hidden":"true",children:(0,a.jsx)("div",{className:"absolute inset-0 bg-gray-500 opacity-75"})}),(0,a.jsx)("span",{className:"hidden sm:inline-block sm:align-middle sm:h-screen","aria-hidden":"true",children:"​"}),(0,a.jsxs)("div",{className:"inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full",children:[(0,a.jsx)("div",{className:"bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4",children:(0,a.jsx)("div",{className:"sm:flex sm:items-start",children:(0,a.jsxs)("div",{className:"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left",children:[(0,a.jsx)("h3",{className:"text-lg leading-6 font-medium text-gray-900",children:"Delete Team"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("p",{className:"text-sm text-gray-500",children:"Are you sure you want to delete this team ?"})})]})})}),(0,a.jsxs)("div",{className:"bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,a.jsx)(p.Z,{onClick:ei,color:"red",className:"ml-2",children:"Delete"}),(0,a.jsx)(p.Z,{onClick:()=>{$(!1),ee(null)},children:"Cancel"})]})]})]})})]})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>E(!0),children:"+ Create New Team"}),(0,a.jsx)(w.Z,{title:"Create Team",visible:T,width:800,footer:null,onOk:()=>{E(!1),d.resetFields()},onCancel:()=>{E(!1),d.resetFields()},children:(0,a.jsxs)(k.Z,{form:d,onFinish:eo,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,a.jsx)(v.default.Option,{value:"all-proxy-models",children:"All Proxy Models"},"all-proxy-models"),Y.map(e=>(0,a.jsx)(v.default.Option,{value:e,children:e},e))]})}),(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create Team"})})]})})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(m,{level:4,children:"Team Members"}),(0,a.jsx)(g,{children:"If you belong to multiple teams, this setting controls which teams members you see."}),l&&l.length>0?(0,a.jsx)(W.Z,{defaultValue:"0",children:l.map((e,l)=>(0,a.jsx)(H.Z,{value:String(l),onClick:()=>{P(e)},children:e.team_alias},l))}):(0,a.jsxs)(g,{children:["No team created. ",(0,a.jsx)("b",{children:"Defaulting to personal account."})]})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Member Name"}),(0,a.jsx)(B.Z,{children:"Role"})]})}),(0,a.jsx)(z.Z,{children:C?C.members_with_roles.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.user_email?e.user_email:e.user_id?e.user_id:null}),(0,a.jsx)(V.Z,{children:e.role})]},l)):null})]})}),C&&(0,a.jsx)(e=>{let{visible:l,onCancel:s,team:t,onSubmit:n}=e,[r]=k.Z.useForm();return(0,a.jsx)(w.Z,{title:"Edit Team",visible:l,width:800,footer:null,onOk:()=>{r.validateFields().then(e=>{n({...e,team_id:t.team_id}),r.resetFields()}).catch(e=>{console.error("Validation failed:",e)})},onCancel:s,children:(0,a.jsxs)(k.Z,{form:r,onFinish:ea,initialValues:t,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,a.jsx)(v.default.Option,{value:"all-proxy-models",children:"All Proxy Models"},"all-proxy-models"),Y&&Y.map(e=>(0,a.jsx)(v.default.Option,{value:e,children:e},e))]})}),(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Requests per minute Limit (RPM)",name:"team_id",hidden:!0})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Edit Team"})})]})})},{visible:y,onCancel:()=>{b(!1),P(null)},team:C,onSubmit:ea})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(p.Z,{className:"mx-auto mb-5",onClick:()=>G(!0),children:"+ Add member"}),(0,a.jsx)(w.Z,{title:"Add member",visible:R,width:800,footer:null,onOk:()=>{G(!1),c.resetFields()},onCancel:()=>{G(!1),c.resetFields()},children:(0,a.jsxs)(k.Z,{form:d,onFinish:ed,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Email",name:"user_email",className:"mb-4",children:(0,a.jsx)(N.Z,{name:"user_email",className:"px-3 py-2 border rounded-md w-full"})}),(0,a.jsx)("div",{className:"text-center mb-4",children:"OR"}),(0,a.jsx)(k.Z.Item,{label:"User ID",name:"user_id",className:"mb-4",children:(0,a.jsx)(N.Z,{name:"user_id",className:"px-3 py-2 border rounded-md w-full"})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add member"})})]})})]})]})})},eU=e=>{let l,{searchParams:s,accessToken:t,showSSOBanner:n,premiumUser:o}=e,[d]=k.Z.useForm(),[c]=k.Z.useForm(),{Title:m,Paragraph:j}=el.default,[g,Z]=(0,r.useState)(""),[f,y]=(0,r.useState)(null),[b,v]=(0,r.useState)(null),[I,C]=(0,r.useState)(!1),[P,T]=(0,r.useState)(!1),[E,R]=(0,r.useState)(!1),[F,M]=(0,r.useState)(!1),[G,Y]=(0,r.useState)(!1),[J,X]=(0,r.useState)(!1),[$,Q]=(0,r.useState)(!1),[ee,es]=(0,r.useState)(!1),[et,en]=(0,r.useState)(!1),[ea,er]=(0,r.useState)([]),[ei,eo]=(0,r.useState)(null),ed=(0,i.useRouter)(),[ec,em]=(0,r.useState)(null);console.log=function(){};let[eu,eh]=(0,r.useState)(""),ex="All IP Addresses Allowed";try{l=window.location.origin}catch(e){l=""}l+="/fallback/login";let ep=async()=>{try{if(!0!==o){S.ZP.error("This feature is only available for premium users. Please upgrade your account.");return}if(t){let e=await (0,u.PT)(t);er(e&&e.length>0?e:[ex])}else er([ex])}catch(e){console.error("Error fetching allowed IPs:",e),S.ZP.error("Failed to fetch allowed IPs ".concat(e)),er([ex])}finally{!0===o&&Q(!0)}},ej=async e=>{try{if(t){await (0,u.eH)(t,e.ip);let l=await (0,u.PT)(t);er(l),S.ZP.success("IP address added successfully")}}catch(e){console.error("Error adding IP:",e),S.ZP.error("Failed to add IP address ".concat(e))}finally{es(!1)}},eg=async e=>{eo(e),en(!0)},eZ=async()=>{if(ei&&t)try{await (0,u.$I)(t,ei);let e=await (0,u.PT)(t);er(e.length>0?e:[ex]),S.ZP.success("IP address deleted successfully")}catch(e){console.error("Error deleting IP:",e),S.ZP.error("Failed to delete IP address ".concat(e))}finally{en(!1),eo(null)}},ef=()=>{X(!1)},e_=["proxy_admin","proxy_admin_viewer"];(0,r.useEffect)(()=>{if(ed){let{protocol:e,host:l}=window.location;eh("".concat(e,"//").concat(l))}},[ed]),(0,r.useEffect)(()=>{(async()=>{if(null!=t){let e=[],l=await (0,u.Xd)(t,"proxy_admin_viewer");l.forEach(l=>{e.push({user_role:l.user_role,user_id:l.user_id,user_email:l.user_email})}),console.log("proxy viewers: ".concat(l));let s=await (0,u.Xd)(t,"proxy_admin");s.forEach(l=>{e.push({user_role:l.user_role,user_id:l.user_id,user_email:l.user_email})}),console.log("proxy admins: ".concat(s)),console.log("combinedList: ".concat(e)),y(e),em(await (0,u.lg)(t))}})()},[t]);let ey=()=>{M(!1),c.resetFields(),d.resetFields()},eb=()=>{M(!1),c.resetFields(),d.resetFields()},ek=e=>(0,a.jsxs)(k.Z,{form:d,onFinish:e,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(k.Z.Item,{label:"Email",name:"user_email",className:"mb-8 mt-4",children:(0,a.jsx)(N.Z,{name:"user_email",className:"px-3 py-2 border rounded-md w-full"})})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},className:"mt-4",children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add member"})})]}),eS=(e,l,s)=>(0,a.jsxs)(k.Z,{form:d,onFinish:e,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"User Role",name:"user_role",labelCol:{span:10},labelAlign:"left",children:(0,a.jsx)(W.Z,{value:l,children:e_.map((e,l)=>(0,a.jsx)(H.Z,{value:e,children:e},l))})}),(0,a.jsx)(k.Z.Item,{label:"Team ID",name:"user_id",hidden:!0,initialValue:s,valuePropName:"user_id",className:"mt-8",children:(0,a.jsx)(N.Z,{value:s,disabled:!0})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Update role"})})]}),ew=async e=>{try{if(null!=t&&null!=f){S.ZP.info("Making API Call");let l=await (0,u.pf)(t,e,null);console.log("response for team create call: ".concat(l));let s=f.findIndex(e=>(console.log("user.user_id=".concat(e.user_id,"; response.user_id=").concat(l.user_id)),e.user_id===l.user_id));console.log("foundIndex: ".concat(s)),-1==s&&(console.log("updates admin with new user"),f.push(l),y(f)),S.ZP.success("Refresh tab to see updated user role"),M(!1)}}catch(e){console.error("Error creating the key:",e)}},eN=async e=>{try{if(null!=t&&null!=f){var l;S.ZP.info("Making API Call");let s=await (0,u.pf)(t,e,"proxy_admin_viewer");console.log("response for team create call: ".concat(s));let n=(null===(l=s.data)||void 0===l?void 0:l.user_id)||s.user_id;(0,u.XO)(t,n).then(e=>{v(e),C(!0)});let a=f.findIndex(e=>(console.log("user.user_id=".concat(e.user_id,"; response.user_id=").concat(s.user_id)),e.user_id===s.user_id));console.log("foundIndex: ".concat(a)),-1==a&&(console.log("updates admin with new user"),f.push(s),y(f)),d.resetFields(),T(!1)}}catch(e){console.error("Error creating the key:",e)}},eI=async e=>{try{if(null!=t&&null!=f){var l;S.ZP.info("Making API Call"),e.user_email,e.user_id;let s=await (0,u.pf)(t,e,"proxy_admin"),n=(null===(l=s.data)||void 0===l?void 0:l.user_id)||s.user_id;(0,u.XO)(t,n).then(e=>{v(e),C(!0)}),console.log("response for team create call: ".concat(s));let a=f.findIndex(e=>(console.log("user.user_id=".concat(e.user_id,"; response.user_id=").concat(n)),e.user_id===s.user_id));console.log("foundIndex: ".concat(a)),-1==a&&(console.log("updates admin with new user"),f.push(s),y(f)),d.resetFields(),R(!1)}}catch(e){console.error("Error creating the key:",e)}},eA=async e=>{if(null==t)return;let l={environment_variables:{PROXY_BASE_URL:e.proxy_base_url,GOOGLE_CLIENT_ID:e.google_client_id,GOOGLE_CLIENT_SECRET:e.google_client_secret}};(0,u.K_)(t,l)};return console.log("admins: ".concat(null==f?void 0:f.length)),(0,a.jsxs)("div",{className:"w-full m-2 mt-2 p-8",children:[(0,a.jsx)(m,{level:4,children:"Admin Access "}),(0,a.jsxs)(j,{children:[n&&(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/ui#restrict-ui-access",children:"Requires SSO Setup"}),(0,a.jsx)("br",{}),(0,a.jsx)("b",{children:"Proxy Admin: "})," Can create keys, teams, users, add models, etc."," ",(0,a.jsx)("br",{}),(0,a.jsx)("b",{children:"Proxy Admin Viewer: "}),"Can just view spend. They cannot create keys, teams or grant users access to new models."," "]}),(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 p-2 w-full",children:[(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Member Name"}),(0,a.jsx)(B.Z,{children:"Role"})]})}),(0,a.jsx)(z.Z,{children:f?f.map((e,l)=>{var s;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.user_email?e.user_email:e.user_id?e.user_id:null}),(0,a.jsxs)(V.Z,{children:[" ",(null==ec?void 0:null===(s=ec[null==e?void 0:e.user_role])||void 0===s?void 0:s.ui_label)||"-"]}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>M(!0)}),(0,a.jsx)(w.Z,{title:"Update role",visible:F,width:800,footer:null,onOk:ey,onCancel:eb,children:eS(ew,e.user_role,e.user_id)})]})]},l)}):null})]})})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("div",{className:"flex justify-start",children:[(0,a.jsx)(p.Z,{className:"mr-4 mb-5",onClick:()=>R(!0),children:"+ Add admin"}),(0,a.jsx)(w.Z,{title:"Add admin",visible:E,width:800,footer:null,onOk:()=>{R(!1),c.resetFields(),d.resetFields()},onCancel:()=>{R(!1),C(!1),c.resetFields(),d.resetFields()},children:ek(eI)}),(0,a.jsx)(eO,{isInvitationLinkModalVisible:I,setIsInvitationLinkModalVisible:C,baseUrl:eu,invitationLinkData:b}),(0,a.jsx)(p.Z,{className:"mb-5",onClick:()=>T(!0),children:"+ Add viewer"}),(0,a.jsx)(w.Z,{title:"Add viewer",visible:P,width:800,footer:null,onOk:()=>{T(!1),c.resetFields(),d.resetFields()},onCancel:()=>{T(!1),c.resetFields(),d.resetFields()},children:ek(eN)})]})})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(m,{level:4,children:" ✨ Security Settings"}),(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"1rem",marginTop:"1rem"},children:[(0,a.jsx)("div",{children:(0,a.jsx)(p.Z,{onClick:()=>!0===o?Y(!0):S.ZP.error("Only premium users can add SSO"),children:"Add SSO"})}),(0,a.jsx)("div",{children:(0,a.jsx)(p.Z,{onClick:ep,children:"Allowed IPs"})})]})]}),(0,a.jsxs)("div",{className:"flex justify-start mb-4",children:[(0,a.jsx)(w.Z,{title:"Add SSO",visible:G,width:800,footer:null,onOk:()=>{Y(!1),d.resetFields()},onCancel:()=>{Y(!1),d.resetFields()},children:(0,a.jsxs)(k.Z,{form:d,onFinish:e=>{eI(e),eA(e),Y(!1),X(!0)},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Admin Email",name:"user_email",rules:[{required:!0,message:"Please enter the email of the proxy admin"}],children:(0,a.jsx)(N.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"PROXY BASE URL",name:"proxy_base_url",rules:[{required:!0,message:"Please enter the proxy base url"}],children:(0,a.jsx)(N.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"GOOGLE CLIENT ID",name:"google_client_id",rules:[{required:!0,message:"Please enter the google client id"}],children:(0,a.jsx)(N.Z.Password,{})}),(0,a.jsx)(k.Z.Item,{label:"GOOGLE CLIENT SECRET",name:"google_client_secret",rules:[{required:!0,message:"Please enter the google client secret"}],children:(0,a.jsx)(N.Z.Password,{})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})}),(0,a.jsxs)(w.Z,{title:"SSO Setup Instructions",visible:J,width:800,footer:null,onOk:ef,onCancel:()=>{X(!1)},children:[(0,a.jsx)("p",{children:"Follow these steps to complete the SSO setup:"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"1. DO NOT Exit this TAB"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"2. Open a new tab, visit your proxy base url"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"3. Confirm your SSO is configured correctly and you can login on the new Tab"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"4. If Step 3 is successful, you can close this tab"}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{onClick:ef,children:"Done"})})]}),(0,a.jsx)(w.Z,{title:"Manage Allowed IP Addresses",width:800,visible:$,onCancel:()=>Q(!1),footer:[(0,a.jsx)(p.Z,{className:"mx-1",onClick:()=>es(!0),children:"Add IP Address"},"add"),(0,a.jsx)(p.Z,{onClick:()=>Q(!1),children:"Close"},"close")],children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"IP Address"}),(0,a.jsx)(B.Z,{className:"text-right",children:"Action"})]})}),(0,a.jsx)(z.Z,{children:ea.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e}),(0,a.jsx)(V.Z,{className:"text-right",children:e!==ex&&(0,a.jsx)(p.Z,{onClick:()=>eg(e),color:"red",size:"xs",children:"Delete"})})]},l))})]})}),(0,a.jsx)(w.Z,{title:"Add Allowed IP Address",visible:ee,onCancel:()=>es(!1),footer:null,children:(0,a.jsxs)(k.Z,{onFinish:ej,children:[(0,a.jsx)(k.Z.Item,{name:"ip",rules:[{required:!0,message:"Please enter an IP address"}],children:(0,a.jsx)(N.Z,{placeholder:"Enter IP address"})}),(0,a.jsx)(k.Z.Item,{children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add IP Address"})})]})}),(0,a.jsx)(w.Z,{title:"Confirm Delete",visible:et,onCancel:()=>en(!1),onOk:eZ,footer:[(0,a.jsx)(p.Z,{className:"mx-1",onClick:()=>eZ(),children:"Yes"},"delete"),(0,a.jsx)(p.Z,{onClick:()=>en(!1),children:"Close"},"close")],children:(0,a.jsxs)("p",{children:["Are you sure you want to delete the IP address: ",ei,"?"]})})]}),(0,a.jsxs)(ev.Z,{title:"Login without SSO",color:"teal",children:["If you need to login without sso, you can access"," ",(0,a.jsxs)("a",{href:l,target:"_blank",children:[(0,a.jsx)("b",{children:l})," "]})]})]})]})},ez=s(42556),eV=s(90252),eq=e=>{let{alertingSettings:l,handleInputChange:s,handleResetField:t,handleSubmit:n,premiumUser:r}=e,[i]=k.Z.useForm();return(0,a.jsxs)(k.Z,{form:i,onFinish:()=>{let e=i.getFieldsValue();Object.values(e).some(e=>""===e||null==e)?console.log("Some form fields are empty."):n(e)},labelAlign:"left",children:[l.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{align:"center",children:[(0,a.jsx)(_.Z,{children:e.field_name}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:e.field_description})]}),e.premium_field?r?(0,a.jsx)(k.Z.Item,{name:e.field_name,children:(0,a.jsx)(V.Z,{children:"Integer"===e.field_type?(0,a.jsx)(I.Z,{step:1,value:e.field_value,onChange:l=>s(e.field_name,l)}):(0,a.jsx)(N.Z,{value:e.field_value,onChange:l=>s(e.field_name,l)})})}):(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{className:"flex items-center justify-center",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Enterprise Feature"})})}):(0,a.jsx)(k.Z.Item,{name:e.field_name,className:"mb-0",children:(0,a.jsx)(V.Z,{children:"Integer"===e.field_type?(0,a.jsx)(I.Z,{step:1,value:e.field_value,onChange:l=>s(e.field_name,l),className:"p-0"}):(0,a.jsx)(N.Z,{value:e.field_value,onChange:l=>s(e.field_name,l)})})}),(0,a.jsx)(V.Z,{children:!0==e.stored_in_db?(0,a.jsx)(M.Z,{icon:eV.Z,className:"text-white",children:"In DB"}):!1==e.stored_in_db?(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"In Config"}):(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"Not Set"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:F.Z,color:"red",onClick:()=>t(e.field_name,l),children:"Reset"})})]},l)),(0,a.jsx)("div",{children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Update Settings"})})]})},eB=e=>{let{accessToken:l,premiumUser:s}=e,[t,n]=(0,r.useState)([]);return console.log("INSIDE ALERTING SETTINGS"),(0,r.useEffect)(()=>{l&&(0,u.RQ)(l).then(e=>{n(e)})},[l]),(0,a.jsx)(eq,{alertingSettings:t,handleInputChange:(e,l)=>{n(t.map(s=>s.field_name===e?{...s,field_value:l}:s))},handleResetField:(e,s)=>{if(l)try{let l=t.map(l=>l.field_name===e?{...l,stored_in_db:null,field_value:l.field_default_value}:l);console.log("INSIDE HANDLE RESET FIELD"),n(l)}catch(e){console.log("ERROR OCCURRED!")}},handleSubmit:e=>{if(!l||null==e||void 0==e)return;let s={};t.forEach(e=>{s[e.field_name]=e.field_value});let n={...e,...s};try{(0,u.jA)(l,"alerting_args",n),S.ZP.success("Wait 10s for proxy to update.")}catch(e){}},premiumUser:s})},eK=s(84406);let{Title:eW,Paragraph:eH}=el.default;console.log=function(){};var eG=e=>{let{accessToken:l,userRole:s,userID:t,premiumUser:n}=e,[i,o]=(0,r.useState)([]),[d,c]=(0,r.useState)([]),[m,h]=(0,r.useState)(!1),[g]=k.Z.useForm(),[Z,f]=(0,r.useState)(null),[y,b]=(0,r.useState)([]),[N,I]=(0,r.useState)(""),[C,P]=(0,r.useState)({}),[T,E]=(0,r.useState)([]),[R,F]=(0,r.useState)(!1),[M,W]=(0,r.useState)([]),[G,Y]=(0,r.useState)(null),[J,X]=(0,r.useState)([]),[$,Q]=(0,r.useState)(!1),[ee,el]=(0,r.useState)(null),es=e=>{T.includes(e)?E(T.filter(l=>l!==e)):E([...T,e])},et={llm_exceptions:"LLM Exceptions",llm_too_slow:"LLM Responses Too Slow",llm_requests_hanging:"LLM Requests Hanging",budget_alerts:"Budget Alerts (API Keys, Users)",db_exceptions:"Database Exceptions (Read/Write)",daily_reports:"Weekly/Monthly Spend Reports",outage_alerts:"Outage Alerts",region_outage_alerts:"Region Outage Alerts"};(0,r.useEffect)(()=>{l&&s&&t&&(0,u.BL)(l,t,s).then(e=>{console.log("callbacks",e),o(e.callbacks),W(e.available_callbacks);let l=e.alerts;if(console.log("alerts_data",l),l&&l.length>0){let e=l[0];console.log("_alert_info",e);let s=e.variables.SLACK_WEBHOOK_URL;console.log("catch_all_webhook",s),E(e.active_alerts),I(s),P(e.alerts_to_webhook)}c(l)})},[l,s,t]);let en=e=>T&&T.includes(e),ec=()=>{if(!l)return;let e={};d.filter(e=>"email"===e.name).forEach(l=>{var s;Object.entries(null!==(s=l.variables)&&void 0!==s?s:{}).forEach(l=>{let[s,t]=l,n=document.querySelector('input[name="'.concat(s,'"]'));n&&n.value&&(e[s]=null==n?void 0:n.value)})}),console.log("updatedVariables",e);try{(0,u.K_)(l,{general_settings:{alerting:["email"]},environment_variables:e})}catch(e){S.ZP.error("Failed to update alerts: "+e,20)}S.ZP.success("Email settings updated successfully")},em=async e=>{if(!l)return;let s={};Object.entries(e).forEach(e=>{let[l,t]=e;"callback"!==l&&(s[l]=t)});try{await (0,u.K_)(l,{environment_variables:s}),S.ZP.success("Callback added successfully"),h(!1),g.resetFields(),f(null)}catch(e){S.ZP.error("Failed to add callback: "+e,20)}},eu=async e=>{if(!l)return;let s=null==e?void 0:e.callback,t={};Object.entries(e).forEach(e=>{let[l,s]=e;"callback"!==l&&(t[l]=s)});try{await (0,u.K_)(l,{environment_variables:t,litellm_settings:{success_callback:[s]}}),S.ZP.success("Callback ".concat(s," added successfully")),h(!1),g.resetFields(),f(null)}catch(e){S.ZP.error("Failed to add callback: "+e,20)}},eh=e=>{console.log("inside handleSelectedCallbackChange",e),f(e.litellm_callback_name),console.log("all callbacks",M),e&&e.litellm_callback_params?(X(e.litellm_callback_params),console.log("selectedCallbackParams",J)):X([])};return l?(console.log("callbacks: ".concat(i)),(0,a.jsxs)("div",{className:"w-full mx-4",children:[(0,a.jsx)(x.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{variant:"line",defaultValue:"1",children:[(0,a.jsx)(ea.Z,{value:"1",children:"Logging Callbacks"}),(0,a.jsx)(ea.Z,{value:"2",children:"Alerting Types"}),(0,a.jsx)(ea.Z,{value:"3",children:"Alerting Settings"}),(0,a.jsx)(ea.Z,{value:"4",children:"Email Alerts"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsxs)(eo.Z,{children:[(0,a.jsx)(eW,{level:4,children:"Active Logging Callbacks"}),(0,a.jsx)(x.Z,{numItems:2,children:(0,a.jsx)(L.Z,{className:"max-h-[50vh]",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsx)(K.Z,{children:(0,a.jsx)(B.Z,{children:"Callback Name"})})}),(0,a.jsx)(z.Z,{children:i.map((e,s)=>(0,a.jsxs)(K.Z,{className:"flex justify-between",children:[(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:e.name})}),(0,a.jsx)(V.Z,{children:(0,a.jsxs)(x.Z,{numItems:2,className:"flex justify-between",children:[(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>{el(e),Q(!0)}}),(0,a.jsx)(p.Z,{onClick:()=>(0,u.jE)(l,e.name),className:"ml-2",variant:"secondary",children:"Test Callback"})]})})]},s))})]})})}),(0,a.jsx)(p.Z,{className:"mt-2",onClick:()=>F(!0),children:"Add Callback"})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(_.Z,{className:"my-2",children:["Alerts are only supported for Slack Webhook URLs. Get your webhook urls from"," ",(0,a.jsx)("a",{href:"https://api.slack.com/messaging/webhooks",target:"_blank",style:{color:"blue"},children:"here"})]}),(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{}),(0,a.jsx)(B.Z,{}),(0,a.jsx)(B.Z,{children:"Slack Webhook URL"})]})}),(0,a.jsx)(z.Z,{children:Object.entries(et).map((e,l)=>{let[s,t]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:"region_outage_alerts"==s?n?(0,a.jsx)(ez.Z,{id:"switch",name:"switch",checked:en(s),onChange:()=>es(s)}):(0,a.jsx)(p.Z,{className:"flex items-center justify-center",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Enterprise Feature"})}):(0,a.jsx)(ez.Z,{id:"switch",name:"switch",checked:en(s),onChange:()=>es(s)})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:t})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(j.Z,{name:s,type:"password",defaultValue:C&&C[s]?C[s]:N})})]},l)})})]}),(0,a.jsx)(p.Z,{size:"xs",className:"mt-2",onClick:()=>{if(!l)return;let e={};Object.entries(et).forEach(l=>{let[s,t]=l,n=document.querySelector('input[name="'.concat(s,'"]'));console.log("key",s),console.log("webhookInput",n);let a=(null==n?void 0:n.value)||"";console.log("newWebhookValue",a),e[s]=a}),console.log("updatedAlertToWebhooks",e);let s={general_settings:{alert_to_webhook_url:e,alert_types:T}};console.log("payload",s);try{(0,u.K_)(l,s)}catch(e){S.ZP.error("Failed to update alerts: "+e,20)}S.ZP.success("Alerts updated successfully")},children:"Save Changes"}),(0,a.jsx)(p.Z,{onClick:()=>(0,u.jE)(l,"slack"),className:"mx-2",children:"Test Alerts"})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eB,{accessToken:l,premiumUser:n})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(eW,{level:4,children:"Email Settings"}),(0,a.jsxs)(_.Z,{children:[(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/email",target:"_blank",style:{color:"blue"},children:" LiteLLM Docs: email alerts"})," ",(0,a.jsx)("br",{})]}),(0,a.jsx)("div",{className:"flex w-full",children:d.filter(e=>"email"===e.name).map((e,l)=>{var s;return(0,a.jsx)(V.Z,{children:(0,a.jsx)("ul",{children:(0,a.jsx)(x.Z,{numItems:2,children:Object.entries(null!==(s=e.variables)&&void 0!==s?s:{}).map(e=>{let[l,s]=e;return(0,a.jsxs)("li",{className:"mx-2 my-2",children:[!0!=n&&("EMAIL_LOGO_URL"===l||"EMAIL_SUPPORT_CONTACT"===l)?(0,a.jsxs)("div",{children:[(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:(0,a.jsxs)(_.Z,{className:"mt-2",children:[" ","✨ ",l]})}),(0,a.jsx)(j.Z,{name:l,defaultValue:s,type:"password",disabled:!0,style:{width:"400px"}})]}):(0,a.jsxs)("div",{children:[(0,a.jsx)(_.Z,{className:"mt-2",children:l}),(0,a.jsx)(j.Z,{name:l,defaultValue:s,type:"password",style:{width:"400px"}})]}),(0,a.jsxs)("p",{style:{fontSize:"small",fontStyle:"italic"},children:["SMTP_HOST"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP host address, e.g. `smtp.resend.com`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_PORT"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP port number, e.g. `587`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_USERNAME"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP username, e.g. `username`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_PASSWORD"===l&&(0,a.jsx)("span",{style:{color:"red"},children:" Required * "}),"SMTP_SENDER_EMAIL"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the sender email address, e.g. `sender@berri.ai`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"TEST_EMAIL_ADDRESS"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Email Address to send `Test Email Alert` to. example: `info@berri.ai`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"EMAIL_LOGO_URL"===l&&(0,a.jsx)("div",{style:{color:"gray"},children:"(Optional) Customize the Logo that appears in the email, pass a url to your logo"}),"EMAIL_SUPPORT_CONTACT"===l&&(0,a.jsx)("div",{style:{color:"gray"},children:"(Optional) Customize the support email address that appears in the email. Default is support@berri.ai"})]})]},l)})})})},l)})}),(0,a.jsx)(p.Z,{className:"mt-2",onClick:()=>ec(),children:"Save Changes"}),(0,a.jsx)(p.Z,{onClick:()=>(0,u.jE)(l,"email"),className:"mx-2",children:"Test Email Alerts"})]})})]})]})}),(0,a.jsxs)(w.Z,{title:"Add Logging Callback",visible:R,width:800,onCancel:()=>F(!1),footer:null,children:[(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/logging",className:"mb-8 mt-4",target:"_blank",style:{color:"blue"},children:" LiteLLM Docs: Logging"}),(0,a.jsx)(k.Z,{form:g,onFinish:eu,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eK.Z,{label:"Callback",name:"callback",rules:[{required:!0,message:"Please select a callback"}],children:(0,a.jsx)(v.default,{onChange:e=>{let l=M[e];l&&(console.log(l.ui_callback_name),eh(l))},children:M&&Object.values(M).map(e=>(0,a.jsx)(H.Z,{value:e.litellm_callback_name,children:e.ui_callback_name},e.litellm_callback_name))})}),J&&J.map(e=>(0,a.jsx)(eK.Z,{label:e,name:e,rules:[{required:!0,message:"Please enter the value for "+e}],children:(0,a.jsx)(j.Z,{type:"password"})},e)),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})]}),(0,a.jsx)(w.Z,{visible:$,width:800,title:"Edit ".concat(null==ee?void 0:ee.name," Settings"),onCancel:()=>Q(!1),footer:null,children:(0,a.jsxs)(k.Z,{form:g,onFinish:em,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(a.Fragment,{children:ee&&ee.variables&&Object.entries(ee.variables).map(e=>{let[l,s]=e;return(0,a.jsx)(eK.Z,{label:l,name:l,children:(0,a.jsx)(j.Z,{type:"password",defaultValue:s})},l)})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})]})):null};let{Option:eY}=v.default;var eJ=e=>{let{models:l,accessToken:s,routerSettings:t,setRouterSettings:n}=e,[i]=k.Z.useForm(),[o,d]=(0,r.useState)(!1),[c,m]=(0,r.useState)("");return(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>d(!0),children:"+ Add Fallbacks"}),(0,a.jsx)(w.Z,{title:"Add Fallbacks",visible:o,width:800,footer:null,onOk:()=>{d(!1),i.resetFields()},onCancel:()=>{d(!1),i.resetFields()},children:(0,a.jsxs)(k.Z,{form:i,onFinish:e=>{console.log(e);let{model_name:l,models:a}=e,r=[...t.fallbacks||[],{[l]:a}],o={...t,fallbacks:r};console.log(o);try{(0,u.K_)(s,{router_settings:o}),n(o)}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}S.ZP.success("router settings updated successfully"),d(!1),i.resetFields()},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Public Model Name",name:"model_name",rules:[{required:!0,message:"Set the model to fallback for"}],help:"required",children:(0,a.jsx)(W.Z,{defaultValue:c,children:l&&l.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>m(e),children:e},l))})}),(0,a.jsx)(k.Z.Item,{label:"Fallback Models",name:"models",rules:[{required:!0,message:"Please select a model"}],help:"required",children:(0,a.jsx)(ec.Z,{value:l,children:l&&l.filter(e=>e!=c).map(e=>(0,a.jsx)(em.Z,{value:e,children:e},e))})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add Fallbacks"})})]})})]})},eX=s(12968);async function e$(e,l){console.log=function(){},console.log("isLocal:",!1);let s=window.location.origin,t=new eX.ZP.OpenAI({apiKey:l,baseURL:s,dangerouslyAllowBrowser:!0});try{let l=await t.chat.completions.create({model:e,messages:[{role:"user",content:"Hi, this is a test message"}],mock_testing_fallbacks:!0});S.ZP.success((0,a.jsxs)("span",{children:["Test model=",(0,a.jsx)("strong",{children:e}),", received model=",(0,a.jsx)("strong",{children:l.model}),". See"," ",(0,a.jsx)("a",{href:"#",onClick:()=>window.open("https://docs.litellm.ai/docs/proxy/reliability","_blank"),style:{textDecoration:"underline",color:"blue"},children:"curl"})]}))}catch(e){S.ZP.error("Error occurred while generating model response. Please try again. Error: ".concat(e),20)}}let eQ={ttl:3600,lowest_latency_buffer:0},e0=e=>{let{selectedStrategy:l,strategyArgs:s,paramExplanation:t}=e;return(0,a.jsxs)(g.Z,{children:[(0,a.jsx)(f.Z,{className:"text-sm font-medium text-tremor-content-strong dark:text-dark-tremor-content-strong",children:"Routing Strategy Specific Args"}),(0,a.jsx)(Z.Z,{children:"latency-based-routing"==l?(0,a.jsx)(L.Z,{children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Setting"}),(0,a.jsx)(B.Z,{children:"Value"})]})}),(0,a.jsx)(z.Z,{children:Object.entries(s).map(e=>{let[l,s]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(_.Z,{children:l}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:t[l]})]}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(j.Z,{name:l,defaultValue:"object"==typeof s?JSON.stringify(s,null,2):s.toString()})})]},l)})})]})}):(0,a.jsx)(_.Z,{children:"No specific settings"})})]})};var e1=e=>{let{accessToken:l,userRole:s,userID:t,modelData:n}=e,[i,o]=(0,r.useState)({}),[d,c]=(0,r.useState)({}),[m,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)(!1),[b]=k.Z.useForm(),[v,w]=(0,r.useState)(null),[N,A]=(0,r.useState)(null),[C,P]=(0,r.useState)(null),T={routing_strategy_args:"(dict) Arguments to pass to the routing strategy",routing_strategy:"(string) Routing strategy to use",allowed_fails:"(int) Number of times a deployment can fail before being added to cooldown",cooldown_time:"(int) time in seconds to cooldown a deployment after failure",num_retries:"(int) Number of retries for failed requests. Defaults to 0.",timeout:"(float) Timeout for requests. Defaults to None.",retry_after:"(int) Minimum time to wait before retrying a failed request",ttl:"(int) Sliding window to look back over when calculating the average latency of a deployment. Default - 1 hour (in seconds).",lowest_latency_buffer:"(float) Shuffle between deployments within this % of the lowest latency. Default - 0 (i.e. always pick lowest latency)."};(0,r.useEffect)(()=>{l&&s&&t&&((0,u.BL)(l,t,s).then(e=>{console.log("callbacks",e);let l=e.router_settings;"model_group_retry_policy"in l&&delete l.model_group_retry_policy,o(l)}),(0,u.YU)(l).then(e=>{g(e)}))},[l,s,t]);let E=async e=>{if(l){console.log("received key: ".concat(e)),console.log("routerSettings['fallbacks']: ".concat(i.fallbacks)),i.fallbacks.map(l=>(e in l&&delete l[e],l));try{await (0,u.K_)(l,{router_settings:i}),o({...i}),A(i.routing_strategy),S.ZP.success("Router settings updated successfully")}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}}},O=(e,l)=>{g(m.map(s=>s.field_name===e?{...s,field_value:l}:s))},R=(e,s)=>{if(!l)return;let t=m[s].field_value;if(null!=t&&void 0!=t)try{(0,u.jA)(l,e,t);let s=m.map(l=>l.field_name===e?{...l,stored_in_db:!0}:l);g(s)}catch(e){}},G=(e,s)=>{if(l)try{(0,u.ao)(l,e);let s=m.map(l=>l.field_name===e?{...l,stored_in_db:null,field_value:null}:l);g(s)}catch(e){}},Y=e=>{if(!l)return;console.log("router_settings",e);let s=Object.fromEntries(Object.entries(e).map(e=>{let[l,s]=e;if("routing_strategy_args"!==l&&"routing_strategy"!==l){var t;return[l,(null===(t=document.querySelector('input[name="'.concat(l,'"]')))||void 0===t?void 0:t.value)||s]}if("routing_strategy"==l)return[l,N];if("routing_strategy_args"==l&&"latency-based-routing"==N){let e={},l=document.querySelector('input[name="lowest_latency_buffer"]'),s=document.querySelector('input[name="ttl"]');return(null==l?void 0:l.value)&&(e.lowest_latency_buffer=Number(l.value)),(null==s?void 0:s.value)&&(e.ttl=Number(s.value)),console.log("setRoutingStrategyArgs: ".concat(e)),["routing_strategy_args",e]}return null}).filter(e=>null!=e));console.log("updatedVariables",s);try{(0,u.K_)(l,{router_settings:s})}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}S.ZP.success("router settings updated successfully")};return l?(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsxs)(er.Z,{className:"gap-2 p-8 h-[75vh] w-full mt-2",children:[(0,a.jsxs)(ei.Z,{variant:"line",defaultValue:"1",children:[(0,a.jsx)(ea.Z,{value:"1",children:"Loadbalancing"}),(0,a.jsx)(ea.Z,{value:"2",children:"Fallbacks"}),(0,a.jsx)(ea.Z,{value:"3",children:"General"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:[(0,a.jsx)(y.Z,{children:"Router Settings"}),(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Setting"}),(0,a.jsx)(B.Z,{children:"Value"})]})}),(0,a.jsx)(z.Z,{children:Object.entries(i).filter(e=>{let[l,s]=e;return"fallbacks"!=l&&"context_window_fallbacks"!=l&&"routing_strategy_args"!=l}).map(e=>{let[l,s]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(_.Z,{children:l}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:T[l]})]}),(0,a.jsx)(V.Z,{children:"routing_strategy"==l?(0,a.jsxs)(W.Z,{defaultValue:s,className:"w-full max-w-md",onValueChange:A,children:[(0,a.jsx)(H.Z,{value:"usage-based-routing",children:"usage-based-routing"}),(0,a.jsx)(H.Z,{value:"latency-based-routing",children:"latency-based-routing"}),(0,a.jsx)(H.Z,{value:"simple-shuffle",children:"simple-shuffle"})]}):(0,a.jsx)(j.Z,{name:l,defaultValue:"object"==typeof s?JSON.stringify(s,null,2):s.toString()})})]},l)})})]}),(0,a.jsx)(e0,{selectedStrategy:N,strategyArgs:i&&i.routing_strategy_args&&Object.keys(i.routing_strategy_args).length>0?i.routing_strategy_args:eQ,paramExplanation:T})]}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(p.Z,{className:"mt-2",onClick:()=>Y(i),children:"Save Changes"})})]})}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Model Name"}),(0,a.jsx)(B.Z,{children:"Fallbacks"})]})}),(0,a.jsx)(z.Z,{children:i.fallbacks&&i.fallbacks.map((e,s)=>Object.entries(e).map(e=>{let[t,n]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:t}),(0,a.jsx)(V.Z,{children:Array.isArray(n)?n.join(", "):n}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{onClick:()=>e$(t,l),children:"Test Fallback"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:F.Z,size:"sm",onClick:()=>E(t)})})]},s.toString()+t)}))})]}),(0,a.jsx)(eJ,{models:(null==n?void 0:n.data)?n.data.map(e=>e.model_name):[],accessToken:l,routerSettings:i,setRouterSettings:o})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(L.Z,{children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Setting"}),(0,a.jsx)(B.Z,{children:"Value"}),(0,a.jsx)(B.Z,{children:"Status"}),(0,a.jsx)(B.Z,{children:"Action"})]})}),(0,a.jsx)(z.Z,{children:m.filter(e=>"TypedDictionary"!==e.field_type).map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(_.Z,{children:e.field_name}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:e.field_description})]}),(0,a.jsx)(V.Z,{children:"Integer"==e.field_type?(0,a.jsx)(I.Z,{step:1,value:e.field_value,onChange:l=>O(e.field_name,l)}):null}),(0,a.jsx)(V.Z,{children:!0==e.stored_in_db?(0,a.jsx)(M.Z,{icon:eV.Z,className:"text-white",children:"In DB"}):!1==e.stored_in_db?(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"In Config"}):(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"Not Set"})}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(p.Z,{onClick:()=>R(e.field_name,l),children:"Update"}),(0,a.jsx)(D.Z,{icon:F.Z,color:"red",onClick:()=>G(e.field_name,l),children:"Reset"})]})]},l))})]})})})]})]})}):null},e2=s(98786),e4=s(74325),e5=e=>{let{value:l={},onChange:s}=e,[t,n]=(0,r.useState)(Object.entries(l)),i=e=>{let l=t.filter((l,s)=>s!==e);n(l),null==s||s(Object.fromEntries(l))},o=(e,l,a)=>{let r=[...t];r[e]=[l,a],n(r),null==s||s(Object.fromEntries(r))};return(0,a.jsxs)("div",{children:[t.map((e,l)=>{let[s,t]=e;return(0,a.jsxs)(c.Z,{style:{display:"flex",marginBottom:8},align:"start",children:[(0,a.jsx)(j.Z,{placeholder:"Header Name",value:s,onChange:e=>o(l,e.target.value,t)}),(0,a.jsx)(j.Z,{placeholder:"Header Value",value:t,onChange:e=>o(l,s,e.target.value)}),(0,a.jsx)(e2.Z,{onClick:()=>i(l)})]},l)}),(0,a.jsx)(A.ZP,{type:"dashed",onClick:()=>{n([...t,["",""]])},icon:(0,a.jsx)(e4.Z,{}),children:"Add Header"})]})};let{Option:e8}=v.default;var e3=e=>{let{accessToken:l,setPassThroughItems:s,passThroughItems:t}=e,[n]=k.Z.useForm(),[i,o]=(0,r.useState)(!1),[d,c]=(0,r.useState)("");return(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>o(!0),children:"+ Add Pass-Through Endpoint"}),(0,a.jsx)(w.Z,{title:"Add Pass-Through Endpoint",visible:i,width:800,footer:null,onOk:()=>{o(!1),n.resetFields()},onCancel:()=>{o(!1),n.resetFields()},children:(0,a.jsxs)(k.Z,{form:n,onFinish:e=>{console.log(e);let a=[...t,{headers:e.headers,path:e.path,target:e.target}];try{(0,u.Vt)(l,e),s(a)}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}S.ZP.success("Pass through endpoint successfully added"),o(!1),n.resetFields()},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Path",name:"path",rules:[{required:!0,message:"The route to be added to the LiteLLM Proxy Server."}],help:"required",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"Target",name:"target",rules:[{required:!0,message:"The URL to which requests for this path should be forwarded."}],help:"required",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"Headers",name:"headers",rules:[{required:!0,message:"Key-value pairs of headers to be forwarded with the request. You can set any key value pair here and it will be forwarded to your target endpoint"}],help:"required",children:(0,a.jsx)(e5,{})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add Pass-Through Endpoint"})})]})})]})},e6=e=>{let{accessToken:l,userRole:s,userID:t,modelData:n}=e,[i,o]=(0,r.useState)([]);(0,r.useEffect)(()=>{l&&s&&t&&(0,u.mp)(l).then(e=>{o(e.endpoints)})},[l,s,t]);let d=(e,s)=>{if(l)try{(0,u.EG)(l,e);let s=i.filter(l=>l.path!==e);o(s),S.ZP.success("Endpoint deleted successfully.")}catch(e){}};return l?(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsx)(er.Z,{className:"gap-2 p-8 h-[75vh] w-full mt-2",children:(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Path"}),(0,a.jsx)(B.Z,{children:"Target"}),(0,a.jsx)(B.Z,{children:"Headers"}),(0,a.jsx)(B.Z,{children:"Action"})]})}),(0,a.jsx)(z.Z,{children:i.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:e.path})}),(0,a.jsx)(V.Z,{children:e.target}),(0,a.jsx)(V.Z,{children:JSON.stringify(e.headers)}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:F.Z,color:"red",onClick:()=>d(e.path,l),children:"Reset"})})]},l))})]}),(0,a.jsx)(e3,{accessToken:l,setPassThroughItems:o,passThroughItems:i})]})})}):null},e7=e=>{let{isModalVisible:l,accessToken:s,setIsModalVisible:t,setBudgetList:n}=e,[r]=k.Z.useForm(),i=async e=>{if(null!=s&&void 0!=s)try{S.ZP.info("Making API Call");let l=await (0,u.Zr)(s,e);console.log("key create Response:",l),n(e=>e?[...e,l]:[l]),S.ZP.success("API Key Created"),r.resetFields()}catch(e){console.error("Error creating the key:",e),S.ZP.error("Error creating the key: ".concat(e),20)}};return(0,a.jsx)(w.Z,{title:"Create Budget",visible:l,width:800,footer:null,onOk:()=>{t(!1),r.resetFields()},onCancel:()=>{t(!1),r.resetFields()},children:(0,a.jsxs)(k.Z,{form:r,onFinish:i,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsxs)(g.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(f.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(Z.Z,{children:[(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create Budget"})})]})})},e9=e=>{let{isModalVisible:l,accessToken:s,setIsModalVisible:t,setBudgetList:n,existingBudget:r}=e,[i]=k.Z.useForm(),o=async e=>{if(null!=s&&void 0!=s)try{S.ZP.info("Making API Call");let l=await (0,u.Zr)(s,e);console.log("key create Response:",l),n(e=>e?[...e,l]:[l]),S.ZP.success("API Key Created"),i.resetFields()}catch(e){console.error("Error creating the key:",e),S.ZP.error("Error creating the key: ".concat(e),20)}};return(0,a.jsx)(w.Z,{title:"Edit Budget",visible:l,width:800,footer:null,onOk:()=>{t(!1),i.resetFields()},onCancel:()=>{t(!1),i.resetFields()},children:(0,a.jsxs)(k.Z,{form:i,onFinish:o,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",initialValues:r,children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsxs)(g.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(f.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(Z.Z,{children:[(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Edit Budget"})})]})})},le=e=>{let{accessToken:l}=e,[s,t]=(0,r.useState)(!1),[n,i]=(0,r.useState)(!1),[o,d]=(0,r.useState)(null),[c,m]=(0,r.useState)([]);(0,r.useEffect)(()=>{l&&(0,u.O3)(l).then(e=>{m(e)})},[l]);let h=async(e,s)=>{null!=l&&(d(c[s]),i(!0))},x=async(e,s)=>{if(null==l)return;S.ZP.info("Request made"),await (0,u.NV)(l,e);let t=[...c];t.splice(s,1),m(t),S.ZP.success("Budget Deleted.")};return(0,a.jsxs)("div",{className:"w-full mx-auto flex-auto overflow-y-auto m-8 p-2",children:[(0,a.jsx)(p.Z,{size:"sm",variant:"primary",className:"mb-2",onClick:()=>t(!0),children:"+ Create Budget"}),(0,a.jsx)(e7,{accessToken:l,isModalVisible:s,setIsModalVisible:t,setBudgetList:m}),o&&(0,a.jsx)(e9,{accessToken:l,isModalVisible:n,setIsModalVisible:i,setBudgetList:m,existingBudget:o}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(_.Z,{children:"Create a budget to assign to customers."}),(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Budget ID"}),(0,a.jsx)(B.Z,{children:"Max Budget"}),(0,a.jsx)(B.Z,{children:"TPM"}),(0,a.jsx)(B.Z,{children:"RPM"})]})}),(0,a.jsx)(z.Z,{children:c.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.budget_id}),(0,a.jsx)(V.Z,{children:e.max_budget?e.max_budget:"n/a"}),(0,a.jsx)(V.Z,{children:e.tpm_limit?e.tpm_limit:"n/a"}),(0,a.jsx)(V.Z,{children:e.rpm_limit?e.rpm_limit:"n/a"}),(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>h(e.budget_id,l)}),(0,a.jsx)(D.Z,{icon:F.Z,size:"sm",onClick:()=>x(e.budget_id,l)})]},l))})]})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)(_.Z,{className:"text-base",children:"How to use budget id"}),(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{children:[(0,a.jsx)(ea.Z,{children:"Assign Budget to Customer"}),(0,a.jsx)(ea.Z,{children:"Test it (Curl)"}),(0,a.jsx)(ea.Z,{children:"Test it (OpenAI SDK)"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"bash",children:"\ncurl -X POST --location '/end_user/new' \n-H 'Authorization: Bearer ' \n-H 'Content-Type: application/json' \n-d '{\"user_id\": \"my-customer-id', \"budget_id\": \"\"}' # \uD83D\uDC48 KEY CHANGE\n\n "})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"bash",children:'\ncurl -X POST --location \'/chat/completions\' \n-H \'Authorization: Bearer \' \n-H \'Content-Type: application/json\' \n-d \'{\n "model": "gpt-3.5-turbo\', \n "messages":[{"role": "user", "content": "Hey, how\'s it going?"}],\n "user": "my-customer-id"\n}\' # \uD83D\uDC48 KEY CHANGE\n\n '})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'from openai import OpenAI\nclient = OpenAI(\n base_url="",\n api_key=""\n)\n\ncompletion = client.chat.completions.create(\n model="gpt-3.5-turbo",\n messages=[\n {"role": "system", "content": "You are a helpful assistant."},\n {"role": "user", "content": "Hello!"}\n ],\n user="my-customer-id"\n)\n\nprint(completion.choices[0].message)'})})]})]})]})]})},ll=s(41134),ls=e=>{let{proxySettings:l}=e,s="";return l&&l.PROXY_BASE_URL&&void 0!==l.PROXY_BASE_URL&&(s=l.PROXY_BASE_URL),(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(x.Z,{className:"gap-2 p-8 h-[80vh] w-full mt-2",children:(0,a.jsxs)("div",{className:"mb-5",children:[(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:"OpenAI Compatible Proxy: API Reference"}),(0,a.jsx)(_.Z,{className:"mt-2 mb-2",children:"LiteLLM is OpenAI Compatible. This means your API Key works with the OpenAI SDK. Just replace the base_url to point to your litellm proxy. Example Below "}),(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{children:[(0,a.jsx)(ea.Z,{children:"OpenAI Python SDK"}),(0,a.jsx)(ea.Z,{children:"LlamaIndex"}),(0,a.jsx)(ea.Z,{children:"Langchain Py"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'\nimport openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="'.concat(s,'" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="gpt-3.5-turbo", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)\n ')})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'\nimport os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="azure-gpt-3.5", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="'.concat(s,'", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="').concat(s,'",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)\n\n ')})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'\nfrom langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="'.concat(s,'",\n model = "gpt-3.5-turbo",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)\n\n ')})})]})]})]})})})};async function lt(e,l,s,t){console.log=function(){},console.log("isLocal:",!1);let n=window.location.origin,a=new eX.ZP.OpenAI({apiKey:t,baseURL:n,dangerouslyAllowBrowser:!0});try{for await(let t of(await a.chat.completions.create({model:s,stream:!0,messages:[{role:"user",content:e}]})))console.log(t),t.choices[0].delta.content&&l(t.choices[0].delta.content)}catch(e){S.ZP.error("Error occurred while generating model response. Please try again. Error: ".concat(e),20)}}var ln=e=>{let{accessToken:l,token:s,userRole:t,userID:n}=e,[i,o]=(0,r.useState)(""),[d,c]=(0,r.useState)(""),[m,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)(void 0),[y,b]=(0,r.useState)([]);(0,r.useEffect)(()=>{l&&s&&t&&n&&(async()=>{try{let e=await (0,u.So)(l,n,t);if(console.log("model_info:",e),(null==e?void 0:e.data.length)>0){let l=e.data.map(e=>({value:e.id,label:e.id}));if(console.log(l),l.length>0){let e=Array.from(new Set(l));console.log("Unique models:",e),e.sort((e,l)=>e.label.localeCompare(l.label)),console.log("Model info:",y),b(e)}f(e.data[0].id)}}catch(e){console.error("Error fetching model info:",e)}})()},[l,n,t]);let k=(e,l)=>{g(s=>{let t=s[s.length-1];return t&&t.role===e?[...s.slice(0,s.length-1),{role:e,content:t.content+l}]:[...s,{role:e,content:l}]})},S=async()=>{if(""!==d.trim()&&i&&s&&t&&n){g(e=>[...e,{role:"user",content:d}]);try{Z&&await lt(d,e=>k("assistant",e),Z,i)}catch(e){console.error("Error fetching model response",e),k("assistant","Error fetching model response")}c("")}};if(t&&"Admin Viewer"==t){let{Title:e,Paragraph:l}=el.default;return(0,a.jsxs)("div",{children:[(0,a.jsx)(e,{level:1,children:"Access Denied"}),(0,a.jsx)(l,{children:"Ask your proxy admin for access to test models"})]})}return(0,a.jsx)("div",{style:{width:"100%",position:"relative"},children:(0,a.jsx)(x.Z,{className:"gap-2 p-8 h-[80vh] w-full mt-2",children:(0,a.jsx)(L.Z,{children:(0,a.jsxs)(er.Z,{children:[(0,a.jsx)(ei.Z,{children:(0,a.jsx)(ea.Z,{children:"Chat"})}),(0,a.jsx)(ed.Z,{children:(0,a.jsxs)(eo.Z,{children:[(0,a.jsx)("div",{className:"sm:max-w-2xl",children:(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(_.Z,{children:"API Key"}),(0,a.jsx)(j.Z,{placeholder:"Type API Key here",type:"password",onValueChange:o,value:i})]}),(0,a.jsxs)(h.Z,{className:"mx-2",children:[(0,a.jsx)(_.Z,{children:"Select Model:"}),(0,a.jsx)(v.default,{placeholder:"Select a Model",onChange:e=>{console.log("selected ".concat(e)),f(e)},options:y,style:{width:"200px"}})]})]})}),(0,a.jsxs)(U.Z,{className:"mt-5",style:{display:"block",maxHeight:"60vh",overflowY:"auto"},children:[(0,a.jsx)(q.Z,{children:(0,a.jsx)(K.Z,{children:(0,a.jsx)(V.Z,{})})}),(0,a.jsx)(z.Z,{children:m.map((e,l)=>(0,a.jsx)(K.Z,{children:(0,a.jsx)(V.Z,{children:"".concat(e.role,": ").concat(e.content)})},l))})]}),(0,a.jsx)("div",{className:"mt-3",style:{position:"absolute",bottom:5,width:"95%"},children:(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(j.Z,{type:"text",value:d,onChange:e=>c(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S()},placeholder:"Type your message..."}),(0,a.jsx)(p.Z,{onClick:S,className:"ml-2",children:"Send"})]})})]})})]})})})})},la=s(33509),lr=s(95781);let{Sider:li}=la.default,lo=["Admin","Admin Viewer","Internal User","Internal Viewer"];var ld=e=>{let{setPage:l,userRole:s,defaultSelectedKey:t}=e;return"Admin Viewer"==s?(0,a.jsx)(la.default,{style:{minHeight:"100vh",maxWidth:"120px"},children:(0,a.jsx)(li,{width:120,children:(0,a.jsxs)(lr.Z,{mode:"inline",defaultSelectedKeys:t||["4"],style:{height:"100%",borderRight:0},children:[(0,a.jsx)(lr.Z.Item,{onClick:()=>l("usage"),children:"Usage"},"1"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("teams"),children:(0,a.jsx)(_.Z,{children:"Teams"})},"6"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("caching"),children:(0,a.jsx)(_.Z,{children:"Caching"})},"9")]})})}):(0,a.jsx)(la.default,{style:{minHeight:"100vh",maxWidth:"145px"},children:(0,a.jsx)(li,{width:145,children:(0,a.jsxs)(lr.Z,{mode:"inline",defaultSelectedKeys:t||["1"],style:{height:"100%",borderRight:0},children:[(0,a.jsx)(lr.Z.Item,{onClick:()=>l("api-keys"),children:(0,a.jsx)(_.Z,{children:"Virtual Keys"})},"1"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("llm-playground"),children:(0,a.jsx)(_.Z,{children:"Test Key"})},"3"),"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("models"),children:(0,a.jsx)(_.Z,{children:"Models"})},"2"):null,lo.includes(s)?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("usage"),children:(0,a.jsx)(_.Z,{children:"Usage"})},"4"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("teams"),children:(0,a.jsx)(_.Z,{children:"Teams"})},"6"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("users"),children:(0,a.jsx)(_.Z,{children:"Internal Users"})},"5"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("settings"),children:(0,a.jsx)(_.Z,{children:"Logging & Alerts"})},"8"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("caching"),children:(0,a.jsx)(_.Z,{children:"Caching"})},"9"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("budgets"),children:(0,a.jsx)(_.Z,{children:"Budgets"})},"10"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("general-settings"),children:(0,a.jsx)(_.Z,{children:"Router Settings"})},"11"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("pass-through-settings"),children:(0,a.jsx)(_.Z,{children:"Pass-Through"})},"12"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("admin-panel"),children:(0,a.jsx)(_.Z,{children:"Admin Settings"})},"13"):null,(0,a.jsx)(lr.Z.Item,{onClick:()=>l("api_ref"),children:(0,a.jsx)(_.Z,{children:"API Reference"})},"14"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("model-hub"),children:(0,a.jsx)(_.Z,{children:"Model Hub"})},"16")]})})})},lc=s(67989),lm=s(52703);console.log("process.env.NODE_ENV","production"),console.log=function(){};let lu=e=>null!==e&&("Admin"===e||"Admin Viewer"===e);var lh=e=>{let{accessToken:l,token:s,userRole:t,userID:n,keys:i,premiumUser:o}=e,d=new Date,[c,m]=(0,r.useState)([]),[j,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)([]),[b,v]=(0,r.useState)([]),[k,S]=(0,r.useState)([]),[w,N]=(0,r.useState)([]),[I,A]=(0,r.useState)([]),[C,P]=(0,r.useState)([]),[T,E]=(0,r.useState)([]),[O,R]=(0,r.useState)([]),[F,M]=(0,r.useState)({}),[D,G]=(0,r.useState)([]),[Y,X]=(0,r.useState)(""),[$,Q]=(0,r.useState)(["all-tags"]),[ee,el]=(0,r.useState)({from:new Date(Date.now()-6048e5),to:new Date}),es=new Date(d.getFullYear(),d.getMonth(),1),ex=new Date(d.getFullYear(),d.getMonth()+1,0),ep=e_(es),ej=e_(ex);function eg(e){return new Intl.NumberFormat("en-US",{maximumFractionDigits:0,notation:"compact",compactDisplay:"short"}).format(e)}console.log("keys in usage",i),console.log("premium user in usage",o),(0,r.useEffect)(()=>{ef(ee.from,ee.to)},[ee,$]);let eZ=async(e,s,t)=>{if(!e||!s||!l)return;s.setHours(23,59,59,999),e.setHours(0,0,0,0),console.log("uiSelectedKey",t);let n=await (0,u.b1)(l,t,e.toISOString(),s.toISOString());console.log("End user data updated successfully",n),v(n)},ef=async(e,s)=>{e&&s&&l&&(s.setHours(23,59,59,999),e.setHours(0,0,0,0),N((await (0,u.J$)(l,e.toISOString(),s.toISOString(),0===$.length?void 0:$)).spend_per_tag),console.log("Tag spend data updated successfully"))};function e_(e){let l=e.getFullYear(),s=e.getMonth()+1,t=e.getDate();return"".concat(l,"-").concat(s<10?"0"+s:s,"-").concat(t<10?"0"+t:t)}console.log("Start date is ".concat(ep)),console.log("End date is ".concat(ej));let ey=async(e,l,s)=>{try{let s=await e();l(s)}catch(e){console.error(s,e)}},eb=()=>ey(()=>l?(0,u.FC)(l):Promise.reject("No access token"),m,"Error fetching overall spend"),ev=()=>ey(()=>l&&s?(0,u.OU)(l,s,ep,ej):Promise.reject("No access token or token"),R,"Error fetching provider spend"),ek=async()=>{l&&await ey(async()=>(await (0,u.tN)(l)).map(e=>({key:(e.key_alias||e.key_name||e.api_key).substring(0,10),spend:e.total_spend})),g,"Error fetching top keys")},eS=async()=>{l&&await ey(async()=>(await (0,u.Au)(l)).map(e=>({key:e.model,spend:e.total_spend})),f,"Error fetching top models")},ew=async()=>{l&&await ey(async()=>{let e=await (0,u.mR)(l);return S(e.daily_spend),P(e.teams),e.total_spend_per_team.map(e=>({name:e.team_id||"",value:(e.total_spend||0).toFixed(2)}))},E,"Error fetching team spend")},eN=()=>{l&&ey(async()=>(await (0,u.X)(l)).tag_names,A,"Error fetching tag names")},eI=()=>{l&&ey(()=>{var e,s;return(0,u.J$)(l,null===(e=ee.from)||void 0===e?void 0:e.toISOString(),null===(s=ee.to)||void 0===s?void 0:s.toISOString(),void 0)},e=>N(e.spend_per_tag),"Error fetching top tags")},eA=()=>{l&&ey(()=>(0,u.b1)(l,null,void 0,void 0),v,"Error fetching top end users")},eC=()=>{l&&ey(()=>(0,u.wd)(l,ep,ej),M,"Error fetching global activity")},eP=()=>{l&&ey(()=>(0,u.xA)(l,ep,ej),G,"Error fetching global activity per model")};return(0,r.useEffect)(()=>{l&&s&&t&&n&&(eb(),ev(),ek(),eS(),eC(),eP(),lu(t)&&(ew(),eN(),eI(),eA()))},[l,s,t,n,ep,ej]),(0,a.jsx)("div",{style:{width:"100%"},className:"p-8",children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{className:"mt-2",children:[(0,a.jsx)(ea.Z,{children:"All Up"}),lu(t)?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ea.Z,{children:"Team Based Usage"}),(0,a.jsx)(ea.Z,{children:"Customer Usage"}),(0,a.jsx)(ea.Z,{children:"Tag Based Usage"})]}):(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{})})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{variant:"solid",className:"mt-1",children:[(0,a.jsx)(ea.Z,{children:"Cost"}),(0,a.jsx)(ea.Z,{children:"Activity"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:2,className:"gap-2 h-[100vh] w-full",children:[(0,a.jsx)(J,{userID:n,userRole:t,accessToken:l,userSpend:null,selectedTeam:null,userMaxBudget:null}),(0,a.jsx)(h.Z,{numColSpan:2,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Monthly Spend"}),(0,a.jsx)(eh.Z,{data:c,index:"date",categories:["spend"],colors:["blue"],valueFormatter:e=>"$ ".concat(new Intl.NumberFormat("us").format(e).toString()),yAxisWidth:100,tickGap:5})]})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Top API Keys"}),(0,a.jsx)(eh.Z,{className:"mt-4 h-40",data:j,index:"key",categories:["spend"],colors:["blue"],yAxisWidth:80,tickGap:5,layout:"vertical",showXAxis:!1,showLegend:!1})]})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Top Models"}),(0,a.jsx)(eh.Z,{className:"mt-4 h-40",data:Z,index:"key",categories:["spend"],colors:["blue"],yAxisWidth:200,layout:"vertical",showXAxis:!1,showLegend:!1})]})}),(0,a.jsx)(h.Z,{numColSpan:1}),(0,a.jsx)(h.Z,{numColSpan:2,children:(0,a.jsxs)(L.Z,{className:"mb-2",children:[(0,a.jsx)(y.Z,{children:"✨ Spend by Provider"}),o?(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)(lm.Z,{className:"mt-4 h-40",variant:"pie",data:O,index:"provider",category:"spend"})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Provider"}),(0,a.jsx)(B.Z,{children:"Spend"})]})}),(0,a.jsx)(z.Z,{children:O.map(e=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.provider}),(0,a.jsx)(V.Z,{children:1e-5>parseFloat(e.spend.toFixed(2))?"less than 0.00":e.spend.toFixed(2)})]},e.provider))})]})})]})}):(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to use this feature"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})]})]})})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 h-[75vh] w-full",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"All Up"}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["API Requests ",eg(F.sum_api_requests)]}),(0,a.jsx)(eu.Z,{className:"h-40",data:F.daily_data,valueFormatter:eg,index:"date",colors:["cyan"],categories:["api_requests"],onValueChange:e=>console.log(e)})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Tokens ",eg(F.sum_total_tokens)]}),(0,a.jsx)(eh.Z,{className:"h-40",data:F.daily_data,valueFormatter:eg,index:"date",colors:["cyan"],categories:["total_tokens"],onValueChange:e=>console.log(e)})]})]})]}),o?(0,a.jsx)(a.Fragment,{children:D.map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.model}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["API Requests ",eg(e.sum_api_requests)]}),(0,a.jsx)(eu.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],categories:["api_requests"],valueFormatter:eg,onValueChange:e=>console.log(e)})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Tokens ",eg(e.sum_total_tokens)]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],categories:["total_tokens"],valueFormatter:eg,onValueChange:e=>console.log(e)})]})]})]},l))}):(0,a.jsx)(a.Fragment,{children:D&&D.length>0&&D.slice(0,1).map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"✨ Activity by Model"}),(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to see analytics for all models"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.model}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["API Requests ",eg(e.sum_api_requests)]}),(0,a.jsx)(eu.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],categories:["api_requests"],valueFormatter:eg,onValueChange:e=>console.log(e)})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Tokens ",eg(e.sum_total_tokens)]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],valueFormatter:eg,categories:["total_tokens"],onValueChange:e=>console.log(e)})]})]})]})]},l))})]})})]})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:2,className:"gap-2 h-[75vh] w-full",children:[(0,a.jsxs)(h.Z,{numColSpan:2,children:[(0,a.jsxs)(L.Z,{className:"mb-2",children:[(0,a.jsx)(y.Z,{children:"Total Spend Per Team"}),(0,a.jsx)(lc.Z,{data:T})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Daily Spend Per Team"}),(0,a.jsx)(eh.Z,{className:"h-72",data:k,showLegend:!0,index:"date",categories:C,yAxisWidth:80,stack:!0})]})]}),(0,a.jsx)(h.Z,{numColSpan:2})]})}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:["Customers of your LLM API calls. Tracked when a `user` param is passed in your LLM calls ",(0,a.jsx)("a",{className:"text-blue-500",href:"https://docs.litellm.ai/docs/proxy/users",target:"_blank",children:"docs here"})]}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(_.Z,{children:"Select Time Range"}),(0,a.jsx)(en.Z,{enableSelect:!0,value:ee,onValueChange:e=>{el(e),eZ(e.from,e.to,null)}})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(_.Z,{children:"Select Key"}),(0,a.jsxs)(W.Z,{defaultValue:"all-keys",children:[(0,a.jsx)(H.Z,{value:"all-keys",onClick:()=>{eZ(ee.from,ee.to,null)},children:"All Keys"},"all-keys"),null==i?void 0:i.map((e,l)=>e&&null!==e.key_alias&&e.key_alias.length>0?(0,a.jsx)(H.Z,{value:String(l),onClick:()=>{eZ(ee.from,ee.to,e.token)},children:e.key_alias},l):null)]})]})]}),(0,a.jsx)(L.Z,{className:"mt-4",children:(0,a.jsxs)(U.Z,{className:"max-h-[70vh] min-h-[500px]",children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Customer"}),(0,a.jsx)(B.Z,{children:"Spend"}),(0,a.jsx)(B.Z,{children:"Total Events"})]})}),(0,a.jsx)(z.Z,{children:null==b?void 0:b.map((e,l)=>{var s;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.end_user}),(0,a.jsx)(V.Z,{children:null===(s=e.total_spend)||void 0===s?void 0:s.toFixed(4)}),(0,a.jsx)(V.Z,{children:e.total_count})]},l)})})]})})]}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)(en.Z,{className:"mb-4",enableSelect:!0,value:ee,onValueChange:e=>{el(e),ef(e.from,e.to)}})}),(0,a.jsx)(h.Z,{children:o?(0,a.jsx)("div",{children:(0,a.jsxs)(ec.Z,{value:$,onValueChange:e=>Q(e),children:[(0,a.jsx)(em.Z,{value:"all-tags",onClick:()=>Q(["all-tags"]),children:"All Tags"},"all-tags"),I&&I.filter(e=>"all-tags"!==e).map((e,l)=>(0,a.jsx)(em.Z,{value:String(e),children:e},e))]})}):(0,a.jsx)("div",{children:(0,a.jsxs)(ec.Z,{value:$,onValueChange:e=>Q(e),children:[(0,a.jsx)(em.Z,{value:"all-tags",onClick:()=>Q(["all-tags"]),children:"All Tags"},"all-tags"),I&&I.filter(e=>"all-tags"!==e).map((e,l)=>(0,a.jsxs)(H.Z,{value:String(e),disabled:!0,children:["✨ ",e," (Enterprise only Feature)"]},e))]})})})]}),(0,a.jsxs)(x.Z,{numItems:2,className:"gap-2 h-[75vh] w-full mb-4",children:[(0,a.jsx)(h.Z,{numColSpan:2,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Spend Per Tag"}),(0,a.jsxs)(_.Z,{children:["Get Started Tracking cost per tag ",(0,a.jsx)("a",{className:"text-blue-500",href:"https://docs.litellm.ai/docs/proxy/cost_tracking",target:"_blank",children:"here"})]}),(0,a.jsx)(eh.Z,{className:"h-72",data:w,index:"name",categories:["spend"],colors:["blue"]})]})}),(0,a.jsx)(h.Z,{numColSpan:2})]})]})]})]})})};let lx=e=>{if(e)return e.toISOString().split("T")[0]};function lp(e){return new Intl.NumberFormat("en-US",{maximumFractionDigits:0,notation:"compact",compactDisplay:"short"}).format(e)}var lj=e=>{let{accessToken:l,token:s,userRole:t,userID:n,premiumUser:i}=e,[o,d]=(0,r.useState)([]),[c,m]=(0,r.useState)([]),[p,j]=(0,r.useState)([]),[g,Z]=(0,r.useState)([]),[f,_]=(0,r.useState)("0"),[y,b]=(0,r.useState)("0"),[v,k]=(0,r.useState)("0"),[S,w]=(0,r.useState)({from:new Date(Date.now()-6048e5),to:new Date});(0,r.useEffect)(()=>{l&&S&&(async()=>{Z(await (0,u.zg)(l,lx(S.from),lx(S.to)))})()},[l]);let N=Array.from(new Set(g.map(e=>{var l;return null!==(l=null==e?void 0:e.api_key)&&void 0!==l?l:""}))),I=Array.from(new Set(g.map(e=>{var l;return null!==(l=null==e?void 0:e.model)&&void 0!==l?l:""})));Array.from(new Set(g.map(e=>{var l;return null!==(l=null==e?void 0:e.call_type)&&void 0!==l?l:""})));let A=async(e,s)=>{e&&s&&l&&(s.setHours(23,59,59,999),e.setHours(0,0,0,0),Z(await (0,u.zg)(l,lx(e),lx(s))))};return(0,r.useEffect)(()=>{console.log("DATA IN CACHE DASHBOARD",g);let e=g;c.length>0&&(e=e.filter(e=>c.includes(e.api_key))),p.length>0&&(e=e.filter(e=>p.includes(e.model))),console.log("before processed data in cache dashboard",e);let l=0,s=0,t=0,n=e.reduce((e,n)=>{console.log("Processing item:",n),n.call_type||(console.log("Item has no call_type:",n),n.call_type="Unknown"),l+=(n.total_rows||0)-(n.cache_hit_true_rows||0),s+=n.cache_hit_true_rows||0,t+=n.cached_completion_tokens||0;let a=e.find(e=>e.name===n.call_type);return a?(a["LLM API requests"]+=(n.total_rows||0)-(n.cache_hit_true_rows||0),a["Cache hit"]+=n.cache_hit_true_rows||0,a["Cached Completion Tokens"]+=n.cached_completion_tokens||0,a["Generated Completion Tokens"]+=n.generated_completion_tokens||0):e.push({name:n.call_type,"LLM API requests":(n.total_rows||0)-(n.cache_hit_true_rows||0),"Cache hit":n.cache_hit_true_rows||0,"Cached Completion Tokens":n.cached_completion_tokens||0,"Generated Completion Tokens":n.generated_completion_tokens||0}),e},[]);_(lp(s)),b(lp(t));let a=s+l;a>0?k((s/a*100).toFixed(2)):k("0"),d(n),console.log("PROCESSED DATA IN CACHE DASHBOARD",n)},[c,p,S,g]),(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(x.Z,{numItems:3,className:"gap-4 mt-4",children:[(0,a.jsx)(h.Z,{children:(0,a.jsx)(ec.Z,{placeholder:"Select API Keys",value:c,onValueChange:m,children:N.map(e=>(0,a.jsx)(em.Z,{value:e,children:e},e))})}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(ec.Z,{placeholder:"Select Models",value:p,onValueChange:j,children:I.map(e=>(0,a.jsx)(em.Z,{value:e,children:e},e))})}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(en.Z,{enableSelect:!0,value:S,onValueChange:e=>{w(e),A(e.from,e.to)},selectPlaceholder:"Select date range"})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3 mt-4",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Cache Hit Ratio"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsxs)("p",{className:"text-tremor-metric font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:[v,"%"]})})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Cache Hits"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor-metric font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:f})})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Cached Tokens"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor-metric font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:y})})]})]}),(0,a.jsx)(et.Z,{className:"mt-4",children:"Cache Hits vs API Requests"}),(0,a.jsx)(eh.Z,{title:"Cache Hits vs API Requests",data:o,stack:!0,index:"name",valueFormatter:lp,categories:["LLM API requests","Cache hit"],colors:["sky","teal"],yAxisWidth:48}),(0,a.jsx)(et.Z,{className:"mt-4",children:"Cached Completion Tokens vs Generated Completion Tokens"}),(0,a.jsx)(eh.Z,{className:"mt-6",data:o,stack:!0,index:"name",valueFormatter:lp,categories:["Generated Completion Tokens","Cached Completion Tokens"],colors:["sky","teal"],yAxisWidth:48})]})},lg=()=>{let{Title:e,Paragraph:l}=el.default,[s,t]=(0,r.useState)(""),[n,o]=(0,r.useState)(!1),[d,c]=(0,r.useState)(null),[h,x]=(0,r.useState)(null),[p,j]=(0,r.useState)(null),[g,Z]=(0,r.useState)({PROXY_BASE_URL:"",PROXY_LOGOUT_URL:""}),[f,_]=(0,r.useState)(!0),y=(0,i.useSearchParams)(),[b,v]=(0,r.useState)({data:[]}),k=y.get("userID"),S=y.get("invitation_id"),w=function(e){console.log("COOKIES",document.cookie);let l=document.cookie.split("; ").find(l=>l.startsWith(e+"="));return l?l.split("=")[1]:null}("token"),[N,I]=(0,r.useState)("api-keys"),[A,C]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(w){let e=(0,ee.o)(w);if(e){if(console.log("Decoded token:",e),console.log("Decoded key:",e.key),C(e.key),e.user_role){let l=function(e){if(!e)return"Undefined Role";switch(console.log("Received user role: ".concat(e.toLowerCase())),console.log("Received user role length: ".concat(e.toLowerCase().length)),e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"internal_user":return"Internal User";case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(e.user_role);console.log("Decoded user_role:",l),t(l),"Admin Viewer"==l&&I("usage")}else console.log("User role not defined");e.user_email?c(e.user_email):console.log("User Email is not set ".concat(e)),e.login_method?_("username_password"==e.login_method):console.log("User Email is not set ".concat(e)),e.premium_user&&o(e.premium_user),e.auth_header_name&&(0,u.K8)(e.auth_header_name)}}},[w]),(0,a.jsx)(r.Suspense,{fallback:(0,a.jsx)("div",{children:"Loading..."}),children:S?(0,a.jsx)(es,{userID:k,userRole:s,premiumUser:n,teams:h,keys:p,setUserRole:t,userEmail:d,setUserEmail:c,setTeams:x,setKeys:j}):(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",children:[(0,a.jsx)(m,{userID:k,userRole:s,userEmail:d,premiumUser:n,setProxySettings:Z,proxySettings:g}),(0,a.jsxs)("div",{className:"flex flex-1 overflow-auto",children:[(0,a.jsx)("div",{className:"mt-8",children:(0,a.jsx)(ld,{setPage:I,userRole:s,defaultSelectedKey:null})}),"api-keys"==N?(0,a.jsx)(es,{userID:k,userRole:s,premiumUser:n,teams:h,keys:p,setUserRole:t,userEmail:d,setUserEmail:c,setTeams:x,setKeys:j}):"models"==N?(0,a.jsx)(eE,{userID:k,userRole:s,token:w,keys:p,accessToken:A,modelData:b,setModelData:v,premiumUser:n}):"llm-playground"==N?(0,a.jsx)(ln,{userID:k,userRole:s,token:w,accessToken:A}):"users"==N?(0,a.jsx)(eL,{userID:k,userRole:s,token:w,keys:p,teams:h,accessToken:A,setKeys:j}):"teams"==N?(0,a.jsx)(eD,{teams:h,setTeams:x,searchParams:y,accessToken:A,userID:k,userRole:s}):"admin-panel"==N?(0,a.jsx)(eU,{setTeams:x,searchParams:y,accessToken:A,showSSOBanner:f,premiumUser:n}):"api_ref"==N?(0,a.jsx)(ls,{proxySettings:g}):"settings"==N?(0,a.jsx)(eG,{userID:k,userRole:s,accessToken:A,premiumUser:n}):"budgets"==N?(0,a.jsx)(le,{accessToken:A}):"general-settings"==N?(0,a.jsx)(e1,{userID:k,userRole:s,accessToken:A,modelData:b}):"model-hub"==N?(0,a.jsx)(ll.Z,{accessToken:A,publicPage:!1,premiumUser:n}):"caching"==N?(0,a.jsx)(lj,{userID:k,userRole:s,token:w,accessToken:A,premiumUser:n}):"pass-through-settings"==N?(0,a.jsx)(e6,{userID:k,userRole:s,accessToken:A,modelData:b}):(0,a.jsx)(lh,{userID:k,userRole:s,token:w,accessToken:A,keys:p,premiumUser:n})]})]})})}},41134:function(e,l,s){"use strict";s.d(l,{Z:function(){return y}});var t=s(57437),n=s(2265),a=s(47907),r=s(777),i=s(2179),o=s(13810),d=s(92836),c=s(26734),m=s(41608),u=s(32126),h=s(23682),x=s(71801),p=s(42440),j=s(84174),g=s(50459),Z=s(6180),f=s(99129),_=s(67951),y=e=>{var l;let{accessToken:s,publicPage:y,premiumUser:b}=e,[v,k]=(0,n.useState)(!1),[S,w]=(0,n.useState)(null),[N,I]=(0,n.useState)(!1),[A,C]=(0,n.useState)(!1),[P,T]=(0,n.useState)(null),E=(0,a.useRouter)();(0,n.useEffect)(()=>{s&&(async()=>{try{let e=await (0,r.kn)(s);console.log("ModelHubData:",e),w(e.data),(0,r.E9)(s,"enable_public_model_hub").then(e=>{console.log("data: ".concat(JSON.stringify(e))),!0==e.field_value&&k(!0)}).catch(e=>{})}catch(e){console.error("There was an error fetching the model data",e)}})()},[s,y]);let O=e=>{T(e),I(!0)},R=async()=>{s&&(0,r.jA)(s,"enable_public_model_hub",!0).then(e=>{C(!0)})},F=()=>{I(!1),C(!1),T(null)},M=()=>{I(!1),C(!1),T(null)},L=e=>{navigator.clipboard.writeText(e)};return(0,t.jsxs)("div",{children:[y&&v||!1==y?(0,t.jsxs)("div",{className:"w-full m-2 mt-2 p-8",children:[(0,t.jsx)("div",{className:"relative w-full"}),(0,t.jsxs)("div",{className:"flex ".concat(y?"justify-between":"items-center"),children:[(0,t.jsx)(p.Z,{className:"ml-8 text-center ",children:"Model Hub"}),!1==y?b?(0,t.jsx)(i.Z,{className:"ml-4",onClick:()=>R(),children:"✨ Make Public"}):(0,t.jsx)(i.Z,{className:"ml-4",children:(0,t.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Make Public"})}):(0,t.jsxs)("div",{className:"flex justify-between items-center",children:[(0,t.jsx)("p",{children:"Filter by key:"}),(0,t.jsx)(x.Z,{className:"bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center",children:"/ui/model_hub?key="})]})]}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-6 sm:grid-cols-3 lg:grid-cols-4 pr-8",children:S&&S.map(e=>(0,t.jsxs)(o.Z,{className:"mt-5 mx-8",children:[(0,t.jsxs)("pre",{className:"flex justify-between",children:[(0,t.jsx)(p.Z,{children:e.model_group}),(0,t.jsx)(Z.Z,{title:e.model_group,children:(0,t.jsx)(j.Z,{onClick:()=>L(e.model_group),style:{cursor:"pointer",marginRight:"10px"}})})]}),(0,t.jsxs)("div",{className:"my-5",children:[(0,t.jsxs)(x.Z,{children:["Mode: ",e.mode]}),(0,t.jsxs)(x.Z,{children:["Supports Function Calling:"," ",(null==e?void 0:e.supports_function_calling)==!0?"Yes":"No"]}),(0,t.jsxs)(x.Z,{children:["Supports Vision:"," ",(null==e?void 0:e.supports_vision)==!0?"Yes":"No"]}),(0,t.jsxs)(x.Z,{children:["Max Input Tokens:"," ",(null==e?void 0:e.max_input_tokens)?null==e?void 0:e.max_input_tokens:"N/A"]}),(0,t.jsxs)(x.Z,{children:["Max Output Tokens:"," ",(null==e?void 0:e.max_output_tokens)?null==e?void 0:e.max_output_tokens:"N/A"]})]}),(0,t.jsx)("div",{style:{marginTop:"auto",textAlign:"right"},children:(0,t.jsxs)("a",{href:"#",onClick:()=>O(e),style:{color:"#1890ff",fontSize:"smaller"},children:["View more ",(0,t.jsx)(g.Z,{})]})})]},e.model_group))})]}):(0,t.jsxs)(o.Z,{className:"mx-auto max-w-xl mt-10",children:[(0,t.jsx)(x.Z,{className:"text-xl text-center mb-2 text-black",children:"Public Model Hub not enabled."}),(0,t.jsx)("p",{className:"text-base text-center text-slate-800",children:"Ask your proxy admin to enable this on their Admin UI."})]}),(0,t.jsx)(f.Z,{title:"Public Model Hub",width:600,visible:A,footer:null,onOk:F,onCancel:M,children:(0,t.jsxs)("div",{className:"pt-5 pb-5",children:[(0,t.jsxs)("div",{className:"flex justify-between mb-4",children:[(0,t.jsx)(x.Z,{className:"text-base mr-2",children:"Shareable Link:"}),(0,t.jsx)(x.Z,{className:"max-w-sm ml-2 bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center rounded",children:"/ui/model_hub?key="})]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(i.Z,{onClick:()=>{E.replace("/model_hub?key=".concat(s))},children:"See Page"})})]})}),(0,t.jsx)(f.Z,{title:P&&P.model_group?P.model_group:"Unknown Model",width:800,visible:N,footer:null,onOk:F,onCancel:M,children:P&&(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-4",children:(0,t.jsx)("strong",{children:"Model Information & Usage"})}),(0,t.jsxs)(c.Z,{children:[(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(d.Z,{children:"OpenAI Python SDK"}),(0,t.jsx)(d.Z,{children:"Supported OpenAI Params"}),(0,t.jsx)(d.Z,{children:"LlamaIndex"}),(0,t.jsx)(d.Z,{children:"Langchain Py"})]}),(0,t.jsxs)(h.Z,{children:[(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:'\nimport openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="http://0.0.0.0:4000" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="'.concat(P.model_group,'", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)\n ')})}),(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:"".concat(null===(l=P.supported_openai_params)||void 0===l?void 0:l.map(e=>"".concat(e,"\n")).join(""))})}),(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:'\nimport os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="'.concat(P.model_group,'", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="http://0.0.0.0:4000", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="http://0.0.0.0:4000",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)\n\n ')})}),(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:'\nfrom langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="http://0.0.0.0:4000",\n model = "'.concat(P.model_group,'",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)\n\n ')})})]})]})]})})]})}}},function(e){e.O(0,[665,936,505,131,684,173,777,971,69,744],function(){return e(e.s=20661)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/main-app-096338c8e1915716.js b/litellm/proxy/_experimental/out/_next/static/chunks/main-app-9b4fb13a7db53edf.js similarity index 54% rename from litellm/proxy/_experimental/out/_next/static/chunks/main-app-096338c8e1915716.js rename to litellm/proxy/_experimental/out/_next/static/chunks/main-app-9b4fb13a7db53edf.js index 421ae3e2c..440df3cb3 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/main-app-096338c8e1915716.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/main-app-9b4fb13a7db53edf.js @@ -1 +1 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[744],{70377:function(e,n,t){Promise.resolve().then(t.t.bind(t,47690,23)),Promise.resolve().then(t.t.bind(t,48955,23)),Promise.resolve().then(t.t.bind(t,5613,23)),Promise.resolve().then(t.t.bind(t,11902,23)),Promise.resolve().then(t.t.bind(t,31778,23)),Promise.resolve().then(t.t.bind(t,77831,23))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[971,69],function(){return n(35317),n(70377)}),_N_E=e.O()}]); \ No newline at end of file +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[744],{32028:function(e,n,t){Promise.resolve().then(t.t.bind(t,47690,23)),Promise.resolve().then(t.t.bind(t,48955,23)),Promise.resolve().then(t.t.bind(t,5613,23)),Promise.resolve().then(t.t.bind(t,11902,23)),Promise.resolve().then(t.t.bind(t,31778,23)),Promise.resolve().then(t.t.bind(t,77831,23))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[971,69],function(){return n(35317),n(32028)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/_next/static/chunks/webpack-2d07f7d2618f9dfc.js b/litellm/proxy/_experimental/out/_next/static/chunks/webpack-193a7eac80c8baba.js similarity index 98% rename from litellm/proxy/_experimental/out/_next/static/chunks/webpack-2d07f7d2618f9dfc.js rename to litellm/proxy/_experimental/out/_next/static/chunks/webpack-193a7eac80c8baba.js index a1f9aaf66..c9a46c281 100644 --- a/litellm/proxy/_experimental/out/_next/static/chunks/webpack-2d07f7d2618f9dfc.js +++ b/litellm/proxy/_experimental/out/_next/static/chunks/webpack-193a7eac80c8baba.js @@ -1 +1 @@ -!function(){"use strict";var e,t,n,r,o,u,i,c,f,a={},l={};function d(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={id:e,loaded:!1,exports:{}},r=!0;try{a[e](n,n.exports,d),r=!1}finally{r&&delete l[e]}return n.loaded=!0,n.exports}d.m=a,e=[],d.O=function(t,n,r,o){if(n){o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u=o&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(c=!1,o0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u=o&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(c=!1,o2Qrwn%l`kAAms?t*k1~)U=S|dT~U~7 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 diff --git a/litellm/proxy/_experimental/out/_next/static/media/51ed15f9841b9f9d-s.woff2 b/litellm/proxy/_experimental/out/_next/static/media/51ed15f9841b9f9d-s.woff2 deleted file mode 100644 index 49132b59a02246ca1030cd5cfe522b00072a9bca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22524 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 z 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

E`P{%`z$W%$!Ioc8~MHNa5SN$N2C` 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

bye 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

r#I0D%mIRPP2^9oTU zq-5k2Xi7};%c*5 zNLU1o5fw}S2rE(e&r;GdvT{ZIsnD{bRX|mwjgRvx<50%oba8ca_we*e-0SV*>qkmP zP64K*qNbsx%V>&$ktvfo7S{gZ!_L9U1>w$Yl?TQP=i?U;6ha7#AVvF{2gD^LrKDwK zQD_Vnho@&?WMXDvC9oy1b8vET^YCWtM}EOCASfg(A}aO|yYkbeq-CDzD&%fG-V#o zprXdo(9+Q}FfuW-u(Gk|^$HF-oc%j7$j!qmmybW6H_H)8#;)#4U>df+O4(SaYU(z6rp=C>K zbiLzCFb}P(xU2gqjLH7Z9-C`)<#EgkN3hnnT_!b?wI`F0%Jx#RTSH^28Q4|$7?T$u z)pq9pC2j4${{NdQ&j*C`KMzaVDG8~gu39Smum7`cMoTc%3L&p!EU@ij@~Pudh@^`v zFJcrFkEx=0SM*opXrQ2?*gE4;^phDX1jgZfT4V7a2g~GMLHOPZWftPuemct@87!Oo zZy=`W2jsy!j!we*}}@O@*TumQ^O6XAArUvaaPDzb=WtE`F+UNzhOWTj9&!!{D~ia81nf=Yqce_p;m29mdy#)E zbxDDc8L>Tuz%ay}l1J)kJ6-qUSc$Kh0>P*h3uWkfUGkZwzGX@l_6%znhF~+$w4$i) z`i=_b>5Ayb!QT!;4FYI@MqccIPg+#eJ5VF>lMn?B%D!PTuSex1rn)zBW!z`k(T@Oe9emS`SFv!WeQ?#SH7twiu+9TkEG^GqHg1t={$)0*j;pE%A>0w3YzL(E1h|gERDSN^YLl!`QJ6( zB9f$05=$UCbI8OyL|(V+vFRNZRezJ(Df0n~6D*$3h}-KU(Gy)Vl4K&~Zu>#b$*>Z^ z*Y(>JeO$|j)$1uAfe~MsU_=JEc<%`S)L){KD7|A>Rr47WcBsnVs6KvygLf_j0rig_MI0>Moj-X7%;}=TjhSpt6#l zU`(k=hoYcC*)Q>{LG;{hQy5(UDtJE#M90L0qhrDWm~a3H2b^%h?19Aze;|;BNFliF z0<65ZDE8u<<%=oml4rE^P5&@0Eo0>kSxk!PdeK!@vLccxEm;5%6dg15VC`_zlG+}3 z+6h4J$xc!xx1j(K3L2C`s+~JaxC)Wqiq3JDh~rVtRZ7l@*k`neseG(KsV%t%)TXZb z==VdSqDFz+rf&Q)(VggmQ6Vr46f_VD8WbHn9B{%Vokfo!@*Z>5uYQcuroNnP_oEr* z2foB1vOdJC(Co+=%aG;o_kM;k4TwHRMN=5tV1-S#iy=2Z3UjwjB1aqh01ZXHL@Bk4 zVxLJP0O)^8>`8e80yR2chjyOI%-^k?#NtHja8OH&rcli&U~zW7JNxgYf4Vi@wm;Mu z`}W8IBEb)BCM==1>^Q31n&)na34JWd0NtqEJ0PLW7aCM4Hj;o0tn>yxaqz2eGwV!h zUBS>03yxxU#z8~42wlwV&>p-%Z`*KW)NT9!YeF!TExNtUHDR_vPd`3R6-pHLY)|lY;4ynM!09al0qbLxu8Po=Q02@-d z=s?~<81JgJH}8)Y8hpTyf3Xo#CH+V>;{(gT&F_5gMr2oLIgM;XluhB7QDMknWgUAS zp*VA<_?4mKIp<`4rfE64L~u4nhiM@dRvX7WaOGYIpVS9n7p1T^-QjdSYA8^Vq##K(e!4CJhEt^T5h+cFV1gX2;%!1*x9RI$RCAC74 z!(zX24hEjj0f^QUZAcV?2E;&Z+0&I*APMH^u@NOnp$)296H_{TOp#PC>u zX}t9?HS%tH+_d4xUConi5|UUOpy%%zsJ*!W)!xhJ`!*gq^=(by+C}i(eTE*huk2qh7Bv{pqsxW2u^-0FpNZW2olg8`l8o00Ie{-{r~^~ literal 0 HcmV?d00001 diff --git a/litellm/proxy/_experimental/out/_next/static/media/97e0cb1ae144a2a9-s.woff2 b/litellm/proxy/_experimental/out/_next/static/media/97e0cb1ae144a2a9-s.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7fdf0b945543e93603888d7d777f684b15dec9d8 GIT binary patch literal 11220 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�V>tutUx=?LR3? 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 diff --git a/litellm/proxy/_experimental/out/_next/static/media/d6b16ce4a6175f26-s.woff2 b/litellm/proxy/_experimental/out/_next/static/media/d6b16ce4a6175f26-s.woff2 deleted file mode 100644 index 725ee6b6507caeede49fe3032fa4e47095d42801..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80044 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

1D@e@bZ*gI!T>|q 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�xb)S)B)~+Y-CYM;Ed;Iff#ueS6mo*) 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�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 literal 0 HcmV?d00001 diff --git a/litellm/proxy/_experimental/out/_next/static/media/ec159349637c90ad-s.woff2 b/litellm/proxy/_experimental/out/_next/static/media/ec159349637c90ad-s.woff2 deleted file mode 100644 index 3c039fcc6ed083671a153d328b4b9deb07e19f0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27316 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

pJ2tzk*e4#ncwDZUlK!Hm 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 diff --git a/litellm/proxy/_experimental/out/_next/static/media/fd4db3eb5472fc27-s.woff2 b/litellm/proxy/_experimental/out/_next/static/media/fd4db3eb5472fc27-s.woff2 deleted file mode 100644 index 7f60b4264c7d4c58fc53587dc4c221608e7367be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12768 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≪lXFg+wj~bO;|%T3S-LO6_aU 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 diff --git a/litellm/proxy/_experimental/out/index.html b/litellm/proxy/_experimental/out/index.html index 0a31970dc..77276f04b 100644 --- a/litellm/proxy/_experimental/out/index.html +++ b/litellm/proxy/_experimental/out/index.html @@ -1 +1 @@ -LiteLLM Dashboard \ No newline at end of file +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/index.txt b/litellm/proxy/_experimental/out/index.txt index b8edf3eae..7b63d181f 100644 --- a/litellm/proxy/_experimental/out/index.txt +++ b/litellm/proxy/_experimental/out/index.txt @@ -1,7 +1,7 @@ 2:I[77831,[],""] -3:I[13564,["665","static/chunks/3014691f-b24e8254c7593934.js","936","static/chunks/2f6dbc85-cac2949a76539886.js","505","static/chunks/505-5ff3c318fddfa35c.js","131","static/chunks/131-cb6bfe24e23e121b.js","684","static/chunks/684-16b194c83a169f6d.js","173","static/chunks/173-29fc1521be7dbc62.js","777","static/chunks/777-b62561353f85d8db.js","931","static/chunks/app/page-622ba7e9bad88d9e.js"],""] +3:I[13564,["665","static/chunks/3014691f-b24e8254c7593934.js","936","static/chunks/2f6dbc85-cac2949a76539886.js","505","static/chunks/505-5ff3c318fddfa35c.js","131","static/chunks/131-cb6bfe24e23e121b.js","684","static/chunks/684-16b194c83a169f6d.js","173","static/chunks/173-29fc1521be7dbc62.js","777","static/chunks/777-670843c0aa891bf7.js","931","static/chunks/app/page-c50fa12b799820f9.js"],""] 4:I[5613,[],""] 5:I[31778,[],""] -0:["ulhTxWPrXBmkhG4errSx0",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_12bbc4","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/051d7321f11572d4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] +0:["RjSErA_ooGQ_4unSpZcKT",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_86ef86","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/cd10067a0a3408b4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] 6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"LiteLLM Dashboard"}],["$","meta","3",{"name":"description","content":"LiteLLM Proxy Admin UI"}],["$","link","4",{"rel":"icon","href":"/ui/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","meta","5",{"name":"next-size-adjust"}]] 1:null diff --git a/litellm/proxy/_experimental/out/model_hub.html b/litellm/proxy/_experimental/out/model_hub.html new file mode 100644 index 000000000..d722f48f8 --- /dev/null +++ b/litellm/proxy/_experimental/out/model_hub.html @@ -0,0 +1 @@ +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/model_hub.txt b/litellm/proxy/_experimental/out/model_hub.txt index cc2bcbea1..0a258f1e5 100644 --- a/litellm/proxy/_experimental/out/model_hub.txt +++ b/litellm/proxy/_experimental/out/model_hub.txt @@ -1,7 +1,7 @@ 2:I[77831,[],""] -3:I[87494,["505","static/chunks/505-5ff3c318fddfa35c.js","131","static/chunks/131-cb6bfe24e23e121b.js","777","static/chunks/777-b62561353f85d8db.js","418","static/chunks/app/model_hub/page-2079156c00b63953.js"],""] +3:I[87494,["505","static/chunks/505-5ff3c318fddfa35c.js","131","static/chunks/131-cb6bfe24e23e121b.js","777","static/chunks/777-670843c0aa891bf7.js","418","static/chunks/app/model_hub/page-7c3b2aa6eeec689c.js"],""] 4:I[5613,[],""] 5:I[31778,[],""] -0:["ulhTxWPrXBmkhG4errSx0",[[["",{"children":["model_hub",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["model_hub",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","model_hub","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_12bbc4","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/051d7321f11572d4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] +0:["RjSErA_ooGQ_4unSpZcKT",[[["",{"children":["model_hub",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["model_hub",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","model_hub","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_86ef86","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/cd10067a0a3408b4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] 6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"LiteLLM Dashboard"}],["$","meta","3",{"name":"description","content":"LiteLLM Proxy Admin UI"}],["$","link","4",{"rel":"icon","href":"/ui/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","meta","5",{"name":"next-size-adjust"}]] 1:null diff --git a/litellm/proxy/_experimental/out/onboarding.html b/litellm/proxy/_experimental/out/onboarding.html new file mode 100644 index 000000000..2c50c5121 --- /dev/null +++ b/litellm/proxy/_experimental/out/onboarding.html @@ -0,0 +1 @@ +LiteLLM Dashboard \ No newline at end of file diff --git a/litellm/proxy/_experimental/out/onboarding.txt b/litellm/proxy/_experimental/out/onboarding.txt index db07128c4..d835d3979 100644 --- a/litellm/proxy/_experimental/out/onboarding.txt +++ b/litellm/proxy/_experimental/out/onboarding.txt @@ -1,7 +1,7 @@ 2:I[77831,[],""] -3:I[667,["665","static/chunks/3014691f-b24e8254c7593934.js","505","static/chunks/505-5ff3c318fddfa35c.js","684","static/chunks/684-16b194c83a169f6d.js","777","static/chunks/777-b62561353f85d8db.js","461","static/chunks/app/onboarding/page-7fa20f666e619ede.js"],""] +3:I[667,["665","static/chunks/3014691f-b24e8254c7593934.js","505","static/chunks/505-5ff3c318fddfa35c.js","684","static/chunks/684-16b194c83a169f6d.js","777","static/chunks/777-670843c0aa891bf7.js","461","static/chunks/app/onboarding/page-ec449de68ed2157b.js"],""] 4:I[5613,[],""] 5:I[31778,[],""] -0:["ulhTxWPrXBmkhG4errSx0",[[["",{"children":["onboarding",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["onboarding",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","onboarding","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_12bbc4","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/051d7321f11572d4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] +0:["RjSErA_ooGQ_4unSpZcKT",[[["",{"children":["onboarding",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["onboarding",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","onboarding","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_86ef86","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/cd10067a0a3408b4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] 6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"LiteLLM Dashboard"}],["$","meta","3",{"name":"description","content":"LiteLLM Proxy Admin UI"}],["$","link","4",{"rel":"icon","href":"/ui/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","meta","5",{"name":"next-size-adjust"}]] 1:null diff --git a/ui/litellm-dashboard/out/404.html b/ui/litellm-dashboard/out/404.html index db3e2e862..8bc7c0724 100644 --- a/ui/litellm-dashboard/out/404.html +++ b/ui/litellm-dashboard/out/404.html @@ -1 +1 @@ -404: This page could not be found.LiteLLM Dashboard

404

This page could not be found.

\ No newline at end of file +404: This page could not be found.LiteLLM Dashboard

404

This page could not be found.

\ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_buildManifest.js b/ui/litellm-dashboard/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_buildManifest.js new file mode 100644 index 000000000..f779caa02 --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/_error":["static/chunks/pages/_error-d6107f1aac0c574c.js"],sortedPages:["/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_ssgManifest.js b/ui/litellm-dashboard/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_ssgManifest.js new file mode 100644 index 000000000..5b3ff592f --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/RjSErA_ooGQ_4unSpZcKT/_ssgManifest.js @@ -0,0 +1 @@ +self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/chunks/777-670843c0aa891bf7.js b/ui/litellm-dashboard/out/_next/static/chunks/777-670843c0aa891bf7.js new file mode 100644 index 000000000..7a4cd4034 --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/chunks/777-670843c0aa891bf7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[777],{777:function(e,t,o){o.d(t,{$I:function(){return P},AZ:function(){return x},Au:function(){return W},BL:function(){return el},Br:function(){return E},Dj:function(){return em},E9:function(){return ed},EG:function(){return eu},EY:function(){return ek},FC:function(){return L},Gh:function(){return eo},I1:function(){return g},It:function(){return j},J$:function(){return V},K8:function(){return l},K_:function(){return ef},N8:function(){return A},NV:function(){return p},Nc:function(){return et},O3:function(){return es},OU:function(){return z},Og:function(){return h},Ov:function(){return m},PT:function(){return O},RQ:function(){return f},Rg:function(){return G},So:function(){return I},Vt:function(){return eh},W_:function(){return N},X:function(){return U},XO:function(){return u},Xd:function(){return Y},YU:function(){return ei},Zr:function(){return y},ao:function(){return ey},b1:function(){return D},cu:function(){return ea},eH:function(){return S},fP:function(){return J},hT:function(){return ee},hy:function(){return d},j2:function(){return Z},jA:function(){return ep},jE:function(){return ec},kK:function(){return w},kn:function(){return B},lg:function(){return Q},mR:function(){return R},m_:function(){return _},mp:function(){return ew},n$:function(){return q},o6:function(){return v},pf:function(){return en},qm:function(){return i},rs:function(){return T},s0:function(){return C},tN:function(){return M},um:function(){return er},v9:function(){return $},wX:function(){return k},wd:function(){return H},xA:function(){return X},zg:function(){return K}});var r=o(80588);console.log=function(){};let a=0,n=e=>new Promise(t=>setTimeout(t,e)),c=async e=>{let t=Date.now();t-a>6e4?(e.includes("Authentication Error - Expired Key")?(r.ZP.info("UI Session Expired. Logging out."),a=t,await n(3e3),document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",window.location.href="/"):r.ZP.error(e),a=t):console.log("Error suppressed to prevent spam:",e)},s="Authorization";function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Authorization";console.log("setGlobalLitellmHeaderName: ".concat(e)),s=e}let i=async e=>{try{let t=await fetch("/get/litellm_model_cost_map",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}}),o=await t.json();return console.log("received litellm model cost data: ".concat(o)),o}catch(e){throw console.error("Failed to get model cost map:",e),e}},w=async(e,t)=>{try{let o=await fetch("/model/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await o.json();return console.log("API Response:",a),r.ZP.success("Model created successfully. Wait 60s and refresh on 'All Models' page"),a}catch(e){throw console.error("Failed to create key:",e),e}},d=async e=>{try{let t=await fetch("/model/settings",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},h=async(e,t)=>{console.log("model_id in model delete call: ".concat(t));try{let o=await fetch("/model/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await o.json();return console.log("API Response:",a),r.ZP.success("Model deleted successfully. Restart server to see this."),a}catch(e){throw console.error("Failed to create key:",e),e}},p=async(e,t)=>{if(console.log("budget_id in budget delete call: ".concat(t)),null!=e)try{let o=await fetch("/budget/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({id:t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},y=async(e,t)=>{try{console.log("Form Values in budgetCreateCall:",t),console.log("Form Values after check:",t);let o=await fetch("/budget/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},u=async(e,t)=>{try{let o=await fetch("/invitation/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},f=async e=>{try{let t=await fetch("/alerting/settings",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},k=async(e,t,o)=>{try{if(console.log("Form Values in keyCreateCall:",o),o.description&&(o.metadata||(o.metadata={}),o.metadata.description=o.description,delete o.description,o.metadata=JSON.stringify(o.metadata)),o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}console.log("Form Values after check:",o);let r=await fetch("/key/generate",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!r.ok){let e=await r.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await r.json();return console.log("API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},m=async(e,t,o)=>{try{if(console.log("Form Values in keyCreateCall:",o),o.description&&(o.metadata||(o.metadata={}),o.metadata.description=o.description,delete o.description,o.metadata=JSON.stringify(o.metadata)),o.metadata){console.log("formValues.metadata:",o.metadata);try{o.metadata=JSON.parse(o.metadata)}catch(e){throw Error("Failed to parse metadata: "+e)}}console.log("Form Values after check:",o);let r=await fetch("/user/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({user_id:t,...o})});if(!r.ok){let e=await r.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await r.json();return console.log("API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},g=async(e,t)=>{try{console.log("in keyDeleteCall:",t);let o=await fetch("/key/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({keys:[t]})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},T=async(e,t)=>{try{console.log("in teamDeleteCall:",t);let o=await fetch("/team/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_ids:[t]})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to delete key:",e),e}},E=async function(e,t,o){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4?arguments[4]:void 0,n=arguments.length>5?arguments[5]:void 0;try{let l="/user/info";"App Owner"==o&&t&&(l="".concat(l,"?user_id=").concat(t)),"App User"==o&&t&&(l="".concat(l,"?user_id=").concat(t)),("Internal User"==o||"Internal Viewer"==o)&&t&&(l="".concat(l,"?user_id=").concat(t)),console.log("in userInfoCall viewAll=",r),r&&n&&null!=a&&void 0!=a&&(l="".concat(l,"?view_all=true&page=").concat(a,"&page_size=").concat(n));let i=await fetch(l,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!i.ok){let e=await i.text();throw c(e),Error("Network response was not ok")}let w=await i.json();return console.log("API Response:",w),w}catch(e){throw console.error("Failed to create key:",e),e}},j=async e=>{try{console.log("in teamInfoCall");let t=await fetch("/team/list",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log("/team/list API Response:",o),o}catch(e){throw console.error("Failed to create key:",e),e}},N=async e=>{try{let t="/onboarding/get_token";t+="?invite_link=".concat(e);let o=await fetch(t,{method:"GET",headers:{"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},_=async(e,t,o,r)=>{try{let a=await fetch("/onboarding/claim_token",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({invitation_link:t,user_id:o,password:r})});if(!a.ok){let e=await a.text();throw c(e),Error("Network response was not ok")}let n=await a.json();return console.log(n),n}catch(e){throw console.error("Failed to delete key:",e),e}},C=async(e,t,o)=>{try{let r=await fetch("/key/".concat(t,"/regenerate"),{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok){let e=await r.text();throw c(e),Error("Network response was not ok")}let a=await r.json();return console.log("Regenerate key Response:",a),a}catch(e){throw console.error("Failed to regenerate key:",e),e}},F=!1,b=null,x=async(e,t,o)=>{try{let t=await fetch("/v2/model/info",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw e+="error shown=".concat(F),F||(e.includes("No model list passed")&&(e="No Models Exist. Click Add Model to get started."),r.ZP.info(e,10),F=!0,b&&clearTimeout(b),b=setTimeout(()=>{F=!1},1e4)),Error("Network response was not ok")}let o=await t.json();return console.log("modelInfoCall:",o),o}catch(e){throw console.error("Failed to create key:",e),e}},B=async e=>{try{let t=await fetch("/model_group/info",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok)throw await t.text(),Error("Network response was not ok");let o=await t.json();return console.log("modelHubCall:",o),o}catch(e){throw console.error("Failed to create key:",e),e}},O=async e=>{try{let t=await fetch("/get/allowed_ips",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw Error("Network response was not ok: ".concat(e))}let o=await t.json();return console.log("getAllowedIPs:",o),o.data}catch(e){throw console.error("Failed to get allowed IPs:",e),e}},S=async(e,t)=>{try{let o=await fetch("/add/allowed_ip",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!o.ok){let e=await o.text();throw Error("Network response was not ok: ".concat(e))}let r=await o.json();return console.log("addAllowedIP:",r),r}catch(e){throw console.error("Failed to add allowed IP:",e),e}},P=async(e,t)=>{try{let o=await fetch("/delete/allowed_ip",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({ip:t})});if(!o.ok){let e=await o.text();throw Error("Network response was not ok: ".concat(e))}let r=await o.json();return console.log("deleteAllowedIP:",r),r}catch(e){throw console.error("Failed to delete allowed IP:",e),e}},v=async(e,t,o,r,a,n,l,i)=>{try{let t="/model/metrics";r&&(t="".concat(t,"?_selected_model_group=").concat(r,"&startTime=").concat(a,"&endTime=").concat(n,"&api_key=").concat(l,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},G=async(e,t,o,r)=>{try{let a="/model/streaming_metrics";t&&(a="".concat(a,"?_selected_model_group=").concat(t,"&startTime=").concat(o,"&endTime=").concat(r));let n=await fetch(a,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok){let e=await n.text();throw c(e),Error("Network response was not ok")}return await n.json()}catch(e){throw console.error("Failed to create key:",e),e}},J=async(e,t,o,r,a,n,l,i)=>{try{let t="/model/metrics/slow_responses";r&&(t="".concat(t,"?_selected_model_group=").concat(r,"&startTime=").concat(a,"&endTime=").concat(n,"&api_key=").concat(l,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},A=async(e,t,o,r,a,n,l,i)=>{try{let t="/model/metrics/exceptions";r&&(t="".concat(t,"?_selected_model_group=").concat(r,"&startTime=").concat(a,"&endTime=").concat(n,"&api_key=").concat(l,"&customer=").concat(i));let o=await fetch(t,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to create key:",e),e}},I=async(e,t,o)=>{console.log("in /models calls, globalLitellmHeaderName",s);try{let t=await fetch("/models",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to create key:",e),e}},R=async e=>{try{let t="/global/spend/teams";console.log("in teamSpendLogsCall:",t);let o=await fetch("".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},V=async(e,t,o,r)=>{try{let a="/global/spend/tags";t&&o&&(a="".concat(a,"?start_date=").concat(t,"&end_date=").concat(o)),r&&(a+="".concat(a,"&tags=").concat(r.join(","))),console.log("in tagsSpendLogsCall:",a);let n=await fetch("".concat(a),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to create key:",e),e}},U=async e=>{try{let t="/global/spend/all_tag_names";console.log("in global/spend/all_tag_names call",t);let o=await fetch("".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},Z=async e=>{try{let t="/global/all_end_users";console.log("in global/all_end_users call",t);let o=await fetch("".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");let r=await o.json();return console.log(r),r}catch(e){throw console.error("Failed to create key:",e),e}},L=async e=>{try{let t=await fetch("/global/spend/logs",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log(o),o}catch(e){throw console.error("Failed to create key:",e),e}},M=async e=>{try{let t=await fetch("/global/spend/keys?limit=5",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log(o),o}catch(e){throw console.error("Failed to create key:",e),e}},D=async(e,t,o,r)=>{try{let a="";a=t?JSON.stringify({api_key:t,startTime:o,endTime:r}):JSON.stringify({startTime:o,endTime:r});let n={method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:a},l=await fetch("/global/spend/end_users",n);if(!l.ok){let e=await l.text();throw c(e),Error("Network response was not ok")}let i=await l.json();return console.log(i),i}catch(e){throw console.error("Failed to create key:",e),e}},z=async(e,t,o,r)=>{try{let a="/global/spend/provider";o&&r&&(a+="?start_date=".concat(o,"&end_date=").concat(r)),t&&(a+="&api_key=".concat(t));let n={method:"GET",headers:{[s]:"Bearer ".concat(e)}},l=await fetch(a,n);if(!l.ok){let e=await l.text();throw c(e),Error("Network response was not ok")}let i=await l.json();return console.log(i),i}catch(e){throw console.error("Failed to fetch spend data:",e),e}},H=async(e,t,o)=>{try{let r="/global/activity";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o));let a={method:"GET",headers:{[s]:"Bearer ".concat(e)}},n=await fetch(r,a);if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},K=async(e,t,o)=>{try{let r="/global/activity/cache_hits";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o));let a={method:"GET",headers:{[s]:"Bearer ".concat(e)}},n=await fetch(r,a);if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},X=async(e,t,o)=>{try{let r="/global/activity/model";t&&o&&(r+="?start_date=".concat(t,"&end_date=").concat(o));let a={method:"GET",headers:{[s]:"Bearer ".concat(e)}},n=await fetch(r,a);if(!n.ok)throw await n.text(),Error("Network response was not ok");let c=await n.json();return console.log(c),c}catch(e){throw console.error("Failed to fetch spend data:",e),e}},q=async(e,t,o,r)=>{try{let a="/global/activity/exceptions";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o)),r&&(a+="&model_group=".concat(r));let n={method:"GET",headers:{[s]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},$=async(e,t,o,r)=>{try{let a="/global/activity/exceptions/deployment";t&&o&&(a+="?start_date=".concat(t,"&end_date=").concat(o)),r&&(a+="&model_group=".concat(r));let n={method:"GET",headers:{[s]:"Bearer ".concat(e)}},c=await fetch(a,n);if(!c.ok)throw await c.text(),Error("Network response was not ok");let l=await c.json();return console.log(l),l}catch(e){throw console.error("Failed to fetch spend data:",e),e}},W=async e=>{try{let t=await fetch("/global/spend/models?limit=5",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}let o=await t.json();return console.log(o),o}catch(e){throw console.error("Failed to create key:",e),e}},Y=async(e,t)=>{try{let o="/user/get_users?role=".concat(t);console.log("in userGetAllUsersCall:",o);let r=await fetch(o,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!r.ok){let e=await r.text();throw c(e),Error("Network response was not ok")}let a=await r.json();return console.log(a),a}catch(e){throw console.error("Failed to get requested models:",e),e}},Q=async e=>{try{let t=await fetch("/user/available_roles",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok)throw await t.text(),Error("Network response was not ok");let o=await t.json();return console.log("response from user/available_role",o),o}catch(e){throw e}},ee=async(e,t)=>{try{console.log("Form Values in teamCreateCall:",t);let o=await fetch("/team/new",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("API Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},et=async(e,t)=>{try{console.log("Form Values in keyUpdateCall:",t);let o=await fetch("/key/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("Update key Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},eo=async(e,t)=>{try{console.log("Form Values in teamUpateCall:",t);let o=await fetch("/team/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("Update Team Response:",r),r}catch(e){throw console.error("Failed to create key:",e),e}},er=async(e,t)=>{try{console.log("Form Values in modelUpateCall:",t);let o=await fetch("/model/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),console.error("Error update from the server:",e),Error("Network response was not ok")}let r=await o.json();return console.log("Update model Response:",r),r}catch(e){throw console.error("Failed to update model:",e),e}},ea=async(e,t,o)=>{try{console.log("Form Values in teamMemberAddCall:",o);let r=await fetch("/team/member_add",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({team_id:t,member:o})});if(!r.ok){let e=await r.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let a=await r.json();return console.log("API Response:",a),a}catch(e){throw console.error("Failed to create key:",e),e}},en=async(e,t,o)=>{try{console.log("Form Values in userUpdateUserCall:",t);let r={...t};null!==o&&(r.user_role=o),r=JSON.stringify(r);let a=await fetch("/user/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:r});if(!a.ok){let e=await a.text();throw c(e),console.error("Error response from the server:",e),Error("Network response was not ok")}let n=await a.json();return console.log("API Response:",n),n}catch(e){throw console.error("Failed to create key:",e),e}},ec=async(e,t)=>{try{let o="/health/services?service=".concat(t);console.log("Checking Slack Budget Alerts service health");let a=await fetch(o,{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!a.ok){let e=await a.text();throw c(e),Error(e)}let n=await a.json();return r.ZP.success("Test request to ".concat(t," made - check logs/alerts on ").concat(t," to verify")),n}catch(e){throw console.error("Failed to perform health check:",e),e}},es=async e=>{try{let t=await fetch("/budget/list",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},el=async(e,t,o)=>{try{let t=await fetch("/get/config/callbacks",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ei=async e=>{try{let t=await fetch("/config/list?config_type=general_settings",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ew=async e=>{try{let t=await fetch("/config/pass_through_endpoint",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ed=async(e,t)=>{try{let o=await fetch("/config/field/info?field_name=".concat(t),{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok)throw await o.text(),Error("Network response was not ok");return await o.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},eh=async(e,t)=>{try{let o=await fetch("/config/pass_through_endpoint",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},ep=async(e,t,o)=>{try{let a=await fetch("/config/field/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,field_value:o,config_type:"general_settings"})});if(!a.ok){let e=await a.text();throw c(e),Error("Network response was not ok")}let n=await a.json();return r.ZP.success("Successfully updated value!"),n}catch(e){throw console.error("Failed to set callbacks:",e),e}},ey=async(e,t)=>{try{let o=await fetch("/config/field/delete",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({field_name:t,config_type:"general_settings"})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}let a=await o.json();return r.ZP.success("Field reset on proxy"),a}catch(e){throw console.error("Failed to get callbacks:",e),e}},eu=async(e,t)=>{try{let o=await fetch("/config/pass_through_endpoint".concat(t),{method:"DELETE",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}},ef=async(e,t)=>{try{let o=await fetch("/config/update",{method:"POST",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"},body:JSON.stringify({...t})});if(!o.ok){let e=await o.text();throw c(e),Error("Network response was not ok")}return await o.json()}catch(e){throw console.error("Failed to set callbacks:",e),e}},ek=async e=>{try{let t=await fetch("/health",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok){let e=await t.text();throw c(e),Error("Network response was not ok")}return await t.json()}catch(e){throw console.error("Failed to call /health:",e),e}},em=async e=>{try{let t=await fetch("sso/get/ui_settings",{method:"GET",headers:{[s]:"Bearer ".concat(e),"Content-Type":"application/json"}});if(!t.ok)throw await t.text(),Error("Network response was not ok");return await t.json()}catch(e){throw console.error("Failed to get callbacks:",e),e}}}}]); \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/chunks/app/layout-f84e1a2dc32a2b83.js b/ui/litellm-dashboard/out/_next/static/chunks/app/layout-f84e1a2dc32a2b83.js new file mode 100644 index 000000000..b64de1030 --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/chunks/app/layout-f84e1a2dc32a2b83.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[185],{87421:function(e,n,t){Promise.resolve().then(t.t.bind(t,99646,23)),Promise.resolve().then(t.t.bind(t,63385,23))},63385:function(){},99646:function(e){e.exports={style:{fontFamily:"'__Inter_86ef86', '__Inter_Fallback_86ef86'",fontStyle:"normal"},className:"__className_86ef86"}}},function(e){e.O(0,[971,69,744],function(){return e(e.s=87421)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/chunks/app/model_hub/page-7c3b2aa6eeec689c.js b/ui/litellm-dashboard/out/_next/static/chunks/app/model_hub/page-7c3b2aa6eeec689c.js new file mode 100644 index 000000000..d9de0dc9e --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/chunks/app/model_hub/page-7c3b2aa6eeec689c.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[418],{33786:function(e,n,t){Promise.resolve().then(t.bind(t,87494))},87494:function(e,n,t){"use strict";t.r(n),t.d(n,{default:function(){return i}});var s=t(57437),l=t(2265),r=t(47907),a=t(41134);function i(){let e=(0,r.useSearchParams)().get("key"),[n,t]=(0,l.useState)(null);return(0,l.useEffect)(()=>{e&&t(e)},[e]),(0,s.jsx)(a.Z,{accessToken:n,publicPage:!0,premiumUser:!1})}},41134:function(e,n,t){"use strict";t.d(n,{Z:function(){return f}});var s=t(57437),l=t(2265),r=t(47907),a=t(777),i=t(2179),o=t(13810),c=t(92836),d=t(26734),m=t(41608),p=t(32126),u=t(23682),h=t(71801),x=t(42440),_=t(84174),g=t(50459),j=t(6180),b=t(99129),y=t(67951),f=e=>{var n;let{accessToken:t,publicPage:f,premiumUser:v}=e,[Z,k]=(0,l.useState)(!1),[N,S]=(0,l.useState)(null),[A,w]=(0,l.useState)(!1),[M,I]=(0,l.useState)(!1),[O,P]=(0,l.useState)(null),C=(0,r.useRouter)();(0,l.useEffect)(()=>{t&&(async()=>{try{let e=await (0,a.kn)(t);console.log("ModelHubData:",e),S(e.data),(0,a.E9)(t,"enable_public_model_hub").then(e=>{console.log("data: ".concat(JSON.stringify(e))),!0==e.field_value&&k(!0)}).catch(e=>{})}catch(e){console.error("There was an error fetching the model data",e)}})()},[t,f]);let E=e=>{P(e),w(!0)},z=async()=>{t&&(0,a.jA)(t,"enable_public_model_hub",!0).then(e=>{I(!0)})},H=()=>{w(!1),I(!1),P(null)},T=()=>{w(!1),I(!1),P(null)},R=e=>{navigator.clipboard.writeText(e)};return(0,s.jsxs)("div",{children:[f&&Z||!1==f?(0,s.jsxs)("div",{className:"w-full m-2 mt-2 p-8",children:[(0,s.jsx)("div",{className:"relative w-full"}),(0,s.jsxs)("div",{className:"flex ".concat(f?"justify-between":"items-center"),children:[(0,s.jsx)(x.Z,{className:"ml-8 text-center ",children:"Model Hub"}),!1==f?v?(0,s.jsx)(i.Z,{className:"ml-4",onClick:()=>z(),children:"✨ Make Public"}):(0,s.jsx)(i.Z,{className:"ml-4",children:(0,s.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Make Public"})}):(0,s.jsxs)("div",{className:"flex justify-between items-center",children:[(0,s.jsx)("p",{children:"Filter by key:"}),(0,s.jsx)(h.Z,{className:"bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center",children:"/ui/model_hub?key="})]})]}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-6 sm:grid-cols-3 lg:grid-cols-4 pr-8",children:N&&N.map(e=>(0,s.jsxs)(o.Z,{className:"mt-5 mx-8",children:[(0,s.jsxs)("pre",{className:"flex justify-between",children:[(0,s.jsx)(x.Z,{children:e.model_group}),(0,s.jsx)(j.Z,{title:e.model_group,children:(0,s.jsx)(_.Z,{onClick:()=>R(e.model_group),style:{cursor:"pointer",marginRight:"10px"}})})]}),(0,s.jsxs)("div",{className:"my-5",children:[(0,s.jsxs)(h.Z,{children:["Mode: ",e.mode]}),(0,s.jsxs)(h.Z,{children:["Supports Function Calling:"," ",(null==e?void 0:e.supports_function_calling)==!0?"Yes":"No"]}),(0,s.jsxs)(h.Z,{children:["Supports Vision:"," ",(null==e?void 0:e.supports_vision)==!0?"Yes":"No"]}),(0,s.jsxs)(h.Z,{children:["Max Input Tokens:"," ",(null==e?void 0:e.max_input_tokens)?null==e?void 0:e.max_input_tokens:"N/A"]}),(0,s.jsxs)(h.Z,{children:["Max Output Tokens:"," ",(null==e?void 0:e.max_output_tokens)?null==e?void 0:e.max_output_tokens:"N/A"]})]}),(0,s.jsx)("div",{style:{marginTop:"auto",textAlign:"right"},children:(0,s.jsxs)("a",{href:"#",onClick:()=>E(e),style:{color:"#1890ff",fontSize:"smaller"},children:["View more ",(0,s.jsx)(g.Z,{})]})})]},e.model_group))})]}):(0,s.jsxs)(o.Z,{className:"mx-auto max-w-xl mt-10",children:[(0,s.jsx)(h.Z,{className:"text-xl text-center mb-2 text-black",children:"Public Model Hub not enabled."}),(0,s.jsx)("p",{className:"text-base text-center text-slate-800",children:"Ask your proxy admin to enable this on their Admin UI."})]}),(0,s.jsx)(b.Z,{title:"Public Model Hub",width:600,visible:M,footer:null,onOk:H,onCancel:T,children:(0,s.jsxs)("div",{className:"pt-5 pb-5",children:[(0,s.jsxs)("div",{className:"flex justify-between mb-4",children:[(0,s.jsx)(h.Z,{className:"text-base mr-2",children:"Shareable Link:"}),(0,s.jsx)(h.Z,{className:"max-w-sm ml-2 bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center rounded",children:"/ui/model_hub?key="})]}),(0,s.jsx)("div",{className:"flex justify-end",children:(0,s.jsx)(i.Z,{onClick:()=>{C.replace("/model_hub?key=".concat(t))},children:"See Page"})})]})}),(0,s.jsx)(b.Z,{title:O&&O.model_group?O.model_group:"Unknown Model",width:800,visible:A,footer:null,onOk:H,onCancel:T,children:O&&(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"mb-4",children:(0,s.jsx)("strong",{children:"Model Information & Usage"})}),(0,s.jsxs)(d.Z,{children:[(0,s.jsxs)(m.Z,{children:[(0,s.jsx)(c.Z,{children:"OpenAI Python SDK"}),(0,s.jsx)(c.Z,{children:"Supported OpenAI Params"}),(0,s.jsx)(c.Z,{children:"LlamaIndex"}),(0,s.jsx)(c.Z,{children:"Langchain Py"})]}),(0,s.jsxs)(u.Z,{children:[(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:'\nimport openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="http://0.0.0.0:4000" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="'.concat(O.model_group,'", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)\n ')})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:"".concat(null===(n=O.supported_openai_params)||void 0===n?void 0:n.map(e=>"".concat(e,"\n")).join(""))})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:'\nimport os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="'.concat(O.model_group,'", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="http://0.0.0.0:4000", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="http://0.0.0.0:4000",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)\n\n ')})}),(0,s.jsx)(p.Z,{children:(0,s.jsx)(y.Z,{language:"python",children:'\nfrom langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="http://0.0.0.0:4000",\n model = "'.concat(O.model_group,'",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)\n\n ')})})]})]})]})})]})}}},function(e){e.O(0,[505,131,777,971,69,744],function(){return e(e.s=33786)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/chunks/app/onboarding/page-ec449de68ed2157b.js b/ui/litellm-dashboard/out/_next/static/chunks/app/onboarding/page-ec449de68ed2157b.js new file mode 100644 index 000000000..1354e5409 --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/chunks/app/onboarding/page-ec449de68ed2157b.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[461],{61994:function(e,s,t){Promise.resolve().then(t.bind(t,667))},667:function(e,s,t){"use strict";t.r(s),t.d(s,{default:function(){return g}});var l=t(57437),n=t(2265),a=t(47907),i=t(2179),r=t(18190),o=t(13810),c=t(10384),u=t(46453),d=t(71801),m=t(52273),h=t(42440),x=t(30953),f=t(777),p=t(37963),j=t(60620),_=t(1861);function g(){let[e]=j.Z.useForm(),s=(0,a.useSearchParams)();!function(e){console.log("COOKIES",document.cookie);let s=document.cookie.split("; ").find(s=>s.startsWith(e+"="));s&&s.split("=")[1]}("token");let t=s.get("invitation_id"),[g,Z]=(0,n.useState)(null),[k,w]=(0,n.useState)(""),[S,b]=(0,n.useState)(""),[N,v]=(0,n.useState)(null),[y,E]=(0,n.useState)(""),[I,O]=(0,n.useState)("");return(0,n.useEffect)(()=>{t&&(0,f.W_)(t).then(e=>{let s=e.login_url;console.log("login_url:",s),E(s);let t=e.token,l=(0,p.o)(t);O(t),console.log("decoded:",l),Z(l.key),console.log("decoded user email:",l.user_email),b(l.user_email),v(l.user_id)})},[t]),(0,l.jsx)("div",{className:"mx-auto w-full max-w-md mt-10",children:(0,l.jsxs)(o.Z,{children:[(0,l.jsx)(h.Z,{className:"text-sm mb-5 text-center",children:"\uD83D\uDE85 LiteLLM"}),(0,l.jsx)(h.Z,{className:"text-xl",children:"Sign up"}),(0,l.jsx)(d.Z,{children:"Claim your user account to login to Admin UI."}),(0,l.jsx)(r.Z,{className:"mt-4",title:"SSO",icon:x.GH$,color:"sky",children:(0,l.jsxs)(u.Z,{numItems:2,className:"flex justify-between items-center",children:[(0,l.jsx)(c.Z,{children:"SSO is under the Enterprise Tirer."}),(0,l.jsx)(c.Z,{children:(0,l.jsx)(i.Z,{variant:"primary",className:"mb-2",children:(0,l.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})})]})}),(0,l.jsxs)(j.Z,{className:"mt-10 mb-5 mx-auto",layout:"vertical",onFinish:e=>{console.log("in handle submit. accessToken:",g,"token:",I,"formValues:",e),g&&I&&(e.user_email=S,N&&t&&(0,f.m_)(g,t,N,e.password).then(e=>{var s;let t="/ui/";t+="?userID="+((null===(s=e.data)||void 0===s?void 0:s.user_id)||e.user_id),document.cookie="token="+I,console.log("redirecting to:",t),window.location.href=t}))},children:[(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(j.Z.Item,{label:"Email Address",name:"user_email",children:(0,l.jsx)(m.Z,{type:"email",disabled:!0,value:S,defaultValue:S,className:"max-w-md"})}),(0,l.jsx)(j.Z.Item,{label:"Password",name:"password",rules:[{required:!0,message:"password required to sign up"}],help:"Create a password for your account",children:(0,l.jsx)(m.Z,{placeholder:"",type:"password",className:"max-w-md"})})]}),(0,l.jsx)("div",{className:"mt-10",children:(0,l.jsx)(_.ZP,{htmlType:"submit",children:"Sign Up"})})]})]})})}}},function(e){e.O(0,[665,505,684,777,971,69,744],function(){return e(e.s=61994)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/chunks/app/page-c50fa12b799820f9.js b/ui/litellm-dashboard/out/_next/static/chunks/app/page-c50fa12b799820f9.js new file mode 100644 index 000000000..c336ce7ee --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/chunks/app/page-c50fa12b799820f9.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931],{20661:function(e,l,s){Promise.resolve().then(s.bind(s,13564))},667:function(e,l,s){"use strict";s.r(l),s.d(l,{default:function(){return f}});var t=s(57437),n=s(2265),a=s(47907),r=s(2179),i=s(18190),o=s(13810),d=s(10384),c=s(46453),m=s(71801),u=s(52273),h=s(42440),x=s(30953),p=s(777),j=s(37963),g=s(60620),Z=s(1861);function f(){let[e]=g.Z.useForm(),l=(0,a.useSearchParams)();!function(e){console.log("COOKIES",document.cookie);let l=document.cookie.split("; ").find(l=>l.startsWith(e+"="));l&&l.split("=")[1]}("token");let s=l.get("invitation_id"),[f,_]=(0,n.useState)(null),[y,b]=(0,n.useState)(""),[v,k]=(0,n.useState)(""),[S,w]=(0,n.useState)(null),[N,I]=(0,n.useState)(""),[A,C]=(0,n.useState)("");return(0,n.useEffect)(()=>{s&&(0,p.W_)(s).then(e=>{let l=e.login_url;console.log("login_url:",l),I(l);let s=e.token,t=(0,j.o)(s);C(s),console.log("decoded:",t),_(t.key),console.log("decoded user email:",t.user_email),k(t.user_email),w(t.user_id)})},[s]),(0,t.jsx)("div",{className:"mx-auto w-full max-w-md mt-10",children:(0,t.jsxs)(o.Z,{children:[(0,t.jsx)(h.Z,{className:"text-sm mb-5 text-center",children:"\uD83D\uDE85 LiteLLM"}),(0,t.jsx)(h.Z,{className:"text-xl",children:"Sign up"}),(0,t.jsx)(m.Z,{children:"Claim your user account to login to Admin UI."}),(0,t.jsx)(i.Z,{className:"mt-4",title:"SSO",icon:x.GH$,color:"sky",children:(0,t.jsxs)(c.Z,{numItems:2,className:"flex justify-between items-center",children:[(0,t.jsx)(d.Z,{children:"SSO is under the Enterprise Tirer."}),(0,t.jsx)(d.Z,{children:(0,t.jsx)(r.Z,{variant:"primary",className:"mb-2",children:(0,t.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})})]})}),(0,t.jsxs)(g.Z,{className:"mt-10 mb-5 mx-auto",layout:"vertical",onFinish:e=>{console.log("in handle submit. accessToken:",f,"token:",A,"formValues:",e),f&&A&&(e.user_email=v,S&&s&&(0,p.m_)(f,s,S,e.password).then(e=>{var l;let s="/ui/";s+="?userID="+((null===(l=e.data)||void 0===l?void 0:l.user_id)||e.user_id),document.cookie="token="+A,console.log("redirecting to:",s),window.location.href=s}))},children:[(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g.Z.Item,{label:"Email Address",name:"user_email",children:(0,t.jsx)(u.Z,{type:"email",disabled:!0,value:v,defaultValue:v,className:"max-w-md"})}),(0,t.jsx)(g.Z.Item,{label:"Password",name:"password",rules:[{required:!0,message:"password required to sign up"}],help:"Create a password for your account",children:(0,t.jsx)(u.Z,{placeholder:"",type:"password",className:"max-w-md"})})]}),(0,t.jsx)("div",{className:"mt-10",children:(0,t.jsx)(Z.ZP,{htmlType:"submit",children:"Sign Up"})})]})]})})}},13564:function(e,l,s){"use strict";s.r(l),s.d(l,{default:function(){return lg}});var t,n,a=s(57437),r=s(2265),i=s(47907),o=s(8792),d=s(40491),c=s(65270),m=e=>{let{userID:l,userRole:s,userEmail:t,premiumUser:n,setProxySettings:r,proxySettings:i}=e;console.log("User ID:",l),console.log("userEmail:",t),console.log("premiumUser:",n),console.log=function(){};let m="";console.log("PROXY_settings=",i),i&&i.PROXY_LOGOUT_URL&&void 0!==i.PROXY_LOGOUT_URL&&(m=i.PROXY_LOGOUT_URL),console.log("logoutUrl=",m);let u=[{key:"1",label:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("p",{children:["Role: ",s]}),(0,a.jsxs)("p",{children:["ID: ",l]}),(0,a.jsxs)("p",{children:["Premium User: ",String(n)]})]})},{key:"2",label:(0,a.jsx)("p",{onClick:()=>{document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",window.location.href=m},children:"Logout"})}];return(0,a.jsxs)("nav",{className:"left-0 right-0 top-0 flex justify-between items-center h-12 mb-4",children:[(0,a.jsx)("div",{className:"text-left my-2 absolute top-0 left-0",children:(0,a.jsx)("div",{className:"flex flex-col items-center",children:(0,a.jsx)(o.default,{href:"/",children:(0,a.jsx)("button",{className:"text-gray-800 rounded text-center",children:(0,a.jsx)("img",{src:"/get_image",width:160,height:160,alt:"LiteLLM Brand",className:"mr-2"})})})})}),(0,a.jsxs)("div",{className:"text-right mx-4 my-2 absolute top-0 right-0 flex items-center justify-end space-x-2",children:[n?null:(0,a.jsx)("div",{style:{padding:"6px",borderRadius:"8px"},children:(0,a.jsx)("a",{href:"https://calendly.com/d/4mp-gd3-k5k/litellm-1-1-onboarding-chat",target:"_blank",style:{fontSize:"14px",textDecoration:"underline"},children:"Get enterprise license"})}),(0,a.jsx)("div",{style:{border:"1px solid #391085",padding:"6px",borderRadius:"8px"},children:(0,a.jsx)(d.Z,{menu:{items:u},children:(0,a.jsx)(c.Z,{children:t})})})]})]})},u=s(777),h=s(10384),x=s(46453),p=s(2179),j=s(52273),g=s(26780),Z=s(15595),f=s(6698),_=s(71801),y=s(42440),b=s(42308),v=s(50670),k=s(60620),S=s(80588),w=s(99129),N=s(44839),I=s(88707),A=s(1861);let{Option:C}=v.default;var P=e=>{let{userID:l,team:s,userRole:t,accessToken:n,data:i,setData:o}=e,[d]=k.Z.useForm(),[c,m]=(0,r.useState)(!1),[P,T]=(0,r.useState)(null),[E,O]=(0,r.useState)(null),[R,F]=(0,r.useState)([]),[M,L]=(0,r.useState)([]),D=()=>{m(!1),d.resetFields()},U=()=>{m(!1),T(null),d.resetFields()};(0,r.useEffect)(()=>{(async()=>{try{if(null===l||null===t)return;if(null!==n){let e=(await (0,u.So)(n,l,t)).data.map(e=>e.id);console.log("available_model_names:",e),F(e)}}catch(e){console.error("Error fetching user models:",e)}})()},[n,l,t]);let z=async e=>{try{var s,t,a;let r=null!==(s=null==e?void 0:e.key_alias)&&void 0!==s?s:"",c=null!==(t=null==e?void 0:e.team_id)&&void 0!==t?t:null;if((null!==(a=null==i?void 0:i.filter(e=>e.team_id===c).map(e=>e.key_alias))&&void 0!==a?a:[]).includes(r))throw Error("Key alias ".concat(r," already exists for team with ID ").concat(c,", please provide another key alias"));S.ZP.info("Making API Call"),m(!0);let h=await (0,u.wX)(n,l,e);console.log("key create Response:",h),o(e=>e?[...e,h]:[h]),T(h.key),O(h.soft_budget),S.ZP.success("API Key Created"),d.resetFields(),localStorage.removeItem("userData"+l)}catch(e){console.error("Error creating the key:",e),S.ZP.error("Error creating the key: ".concat(e),20)}};return(0,r.useEffect)(()=>{L(s&&s.models.length>0?s.models.includes("all-proxy-models")?R:s.models:R)},[s,R]),(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>m(!0),children:"+ Create New Key"}),(0,a.jsx)(w.Z,{title:"Create Key",visible:c,width:800,footer:null,onOk:D,onCancel:U,children:(0,a.jsxs)(k.Z,{form:d,onFinish:z,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Key Name",name:"key_alias",rules:[{required:!0,message:"Please input a key name"}],help:"required",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Team ID",name:"team_id",hidden:!0,initialValue:s?s.team_id:null,valuePropName:"team_id",className:"mt-8",children:(0,a.jsx)(N.Z,{value:s?s.team_alias:"",disabled:!0})}),(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",rules:[{required:!0,message:"Please select a model"}],help:"required",children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},onChange:e=>{e.includes("all-team-models")&&d.setFieldsValue({models:["all-team-models"]})},children:[(0,a.jsx)(C,{value:"all-team-models",children:"All Team Models"},"all-team-models"),M.map(e=>(0,a.jsx)(C,{value:e,children:e},e))]})}),(0,a.jsxs)(g.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(f.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(Z.Z,{children:[(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Max Budget (USD)",name:"max_budget",help:"Budget cannot exceed team max budget: $".concat((null==s?void 0:s.max_budget)!==null&&(null==s?void 0:s.max_budget)!==void 0?null==s?void 0:s.max_budget:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&s&&null!==s.max_budget&&l>s.max_budget)throw Error("Budget cannot exceed team max budget: $".concat(s.max_budget))}}],children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",help:"Team Reset Budget: ".concat((null==s?void 0:s.budget_duration)!==null&&(null==s?void 0:s.budget_duration)!==void 0?null==s?void 0:s.budget_duration:"None"),children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Tokens per minute Limit (TPM)",name:"tpm_limit",help:"TPM cannot exceed team TPM limit: ".concat((null==s?void 0:s.tpm_limit)!==null&&(null==s?void 0:s.tpm_limit)!==void 0?null==s?void 0:s.tpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&s&&null!==s.tpm_limit&&l>s.tpm_limit)throw Error("TPM limit cannot exceed team TPM limit: ".concat(s.tpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Requests per minute Limit (RPM)",name:"rpm_limit",help:"RPM cannot exceed team RPM limit: ".concat((null==s?void 0:s.rpm_limit)!==null&&(null==s?void 0:s.rpm_limit)!==void 0?null==s?void 0:s.rpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&s&&null!==s.rpm_limit&&l>s.rpm_limit)throw Error("RPM limit cannot exceed team RPM limit: ".concat(s.rpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Expire Key (eg: 30s, 30h, 30d)",name:"duration",className:"mt-8",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Metadata",name:"metadata",className:"mt-8",children:(0,a.jsx)(N.Z.TextArea,{rows:4,placeholder:"Enter metadata as JSON"})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create Key"})})]})}),P&&(0,a.jsx)(w.Z,{visible:c,onOk:D,onCancel:U,footer:null,children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full",children:[(0,a.jsx)(y.Z,{children:"Save your Key"}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("p",{children:["Please save this secret key somewhere safe and accessible. For security reasons, ",(0,a.jsx)("b",{children:"you will not be able to view it again"})," ","through your LiteLLM account. If you lose this secret key, you will need to generate a new one."]})}),(0,a.jsx)(h.Z,{numColSpan:1,children:null!=P?(0,a.jsxs)("div",{children:[(0,a.jsx)(_.Z,{className:"mt-3",children:"API Key:"}),(0,a.jsx)("div",{style:{background:"#f8f8f8",padding:"10px",borderRadius:"5px",marginBottom:"10px"},children:(0,a.jsx)("pre",{style:{wordWrap:"break-word",whiteSpace:"normal"},children:P})}),(0,a.jsx)(b.CopyToClipboard,{text:P,onCopy:()=>{S.ZP.success("API Key copied to clipboard")},children:(0,a.jsx)(p.Z,{className:"mt-3",children:"Copy API Key"})})]}):(0,a.jsx)(_.Z,{children:"Key being created, this might take 30s"})})]})})]})},T=s(66002),E=s(9454),O=s(98941),R=s(63954),F=s(33393),M=s(5),L=s(13810),D=s(61244),U=s(10827),z=s(3851),V=s(2044),q=s(64167),B=s(74480),K=s(7178),W=s(95093),H=s(27166);let{Option:G}=v.default;console.log=function(){};var Y=e=>{let{userID:l,userRole:s,accessToken:t,selectedTeam:n,data:i,setData:o,teams:d,premiumUser:c}=e,[m,g]=(0,r.useState)(!1),[Z,f]=(0,r.useState)(!1),[N,C]=(0,r.useState)(null),[P,Y]=(0,r.useState)(null),[J,X]=(0,r.useState)(null),[$,Q]=(0,r.useState)(""),[ee,el]=(0,r.useState)(!1),[es,et]=(0,r.useState)(!1),[en,ea]=(0,r.useState)(null),[er,ei]=(0,r.useState)([]),eo=new Set,[ed,ec]=(0,r.useState)(!1),[em,eu]=(0,r.useState)(!1),[eh,ex]=(0,r.useState)(null),[ep,ej]=(0,r.useState)(null),[eg]=k.Z.useForm(),[eZ,ef]=(0,r.useState)(null),[e_,ey]=(0,r.useState)(eo);(0,r.useEffect)(()=>{console.log("in calculateNewExpiryTime for selectedToken",en),(null==ep?void 0:ep.duration)?ef((e=>{if(!e)return null;try{let l;let s=new Date;if(e.endsWith("s"))l=(0,T.Z)(s,{seconds:parseInt(e)});else if(e.endsWith("h"))l=(0,T.Z)(s,{hours:parseInt(e)});else if(e.endsWith("d"))l=(0,T.Z)(s,{days:parseInt(e)});else throw Error("Invalid duration format");return l.toLocaleString("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",hour12:!0})}catch(e){return null}})(ep.duration)):ef(null),console.log("calculateNewExpiryTime:",eZ)},[en,null==ep?void 0:ep.duration]),(0,r.useEffect)(()=>{(async()=>{try{if(null===l)return;if(null!==t&&null!==s){let e=(await (0,u.So)(t,l,s)).data.map(e=>e.id);console.log("available_model_names:",e),ei(e)}}catch(e){console.error("Error fetching user models:",e)}})()},[t,l,s]);let eb=e=>{ea(e),ec(!0)},ev=async e=>{if(null==t||null==en)return;let l={...en,metadata:e,key:en.token};try{let e=await (0,u.Nc)(t,l);if(console.log("Model limits updated:",e),i){let l=i.map(l=>l.token===en.token?e:l);o(l)}S.ZP.success("Model-specific limits updated successfully")}catch(e){console.error("Error updating model-specific limits:",e),S.ZP.error("Failed to update model-specific limits")}ec(!1),ea(null)};(0,r.useEffect)(()=>{if(d){let e=new Set;d.forEach((l,s)=>{let t=l.team_id;e.add(t)}),ey(e)}},[d]);let ek=e=>{console.log("handleEditClick:",e),null==e.token&&null!==e.token_id&&(e.token=e.token_id);let l=null;if(e.budget_duration)switch(e.budget_duration){case"24h":l="daily";break;case"7d":l="weekly";break;case"30d":l="monthly";break;default:l="None"}ea({...e,budget_duration:l}),el(!0)},eS=async e=>{if(null==t)return;let l=e.token;if(e.key=l,e.budget_duration)switch(e.budget_duration){case"daily":e.budget_duration="24h";break;case"weekly":e.budget_duration="7d";break;case"monthly":e.budget_duration="30d"}console.log("handleEditSubmit:",e);let s=await (0,u.Nc)(t,e);console.log("handleEditSubmit: newKeyValues",s),i&&o(i.map(e=>e.token===l?s:e)),S.ZP.success("Key updated successfully"),el(!1),ea(null)},ew=async e=>{console.log("handleDelete:",e),null==e.token&&null!==e.token_id&&(e.token=e.token_id),null!=i&&(C(e.token),localStorage.removeItem("userData"+l),f(!0))},eN=async()=>{if(null!=N&&null!=i){try{await (0,u.I1)(t,N);let e=i.filter(e=>e.token!==N);o(e)}catch(e){console.error("Error deleting the key:",e)}f(!1),C(null)}},eI=e=>{ea(e),ef(null),eg.setFieldsValue({key_alias:e.key_alias,max_budget:e.max_budget,tpm_limit:e.tpm_limit,rpm_limit:e.rpm_limit,duration:e.duration||""}),eu(!0)},eA=(e,l)=>{ej(s=>({...s,[e]:l}))},eC=async()=>{if(!c){S.ZP.error("Regenerate API Key is an Enterprise feature. Please upgrade to use this feature.");return}if(null!=en)try{let e=await eg.validateFields(),l=await (0,u.s0)(t,en.token,e);if(ex(l.key),i){let s=i.map(s=>s.token===(null==en?void 0:en.token)?{...s,key_name:l.key_name,...e}:s);o(s)}eu(!1),eg.resetFields(),S.ZP.success("API Key regenerated successfully")}catch(e){console.error("Error regenerating key:",e),S.ZP.error("Failed to regenerate API Key")}};if(null!=i)return console.log("RERENDER TRIGGERED"),(0,a.jsxs)("div",{children:[(0,a.jsxs)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh] mb-4 mt-2",children:[(0,a.jsxs)(U.Z,{className:"mt-5 max-h-[300px] min-h-[300px]",children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Key Alias"}),(0,a.jsx)(B.Z,{children:"Secret Key"}),(0,a.jsx)(B.Z,{children:"Expires"}),(0,a.jsx)(B.Z,{children:"Spend (USD)"}),(0,a.jsx)(B.Z,{children:"Budget (USD)"}),(0,a.jsx)(B.Z,{children:"Budget Reset"}),(0,a.jsx)(B.Z,{children:"Models"}),(0,a.jsx)(B.Z,{children:"Rate Limits"}),(0,a.jsx)(B.Z,{children:"Rate Limits per model"})]})}),(0,a.jsx)(z.Z,{children:i.map(e=>{if(console.log(e),"litellm-dashboard"===e.team_id)return null;if(n){if(console.log("item team id: ".concat(e.team_id,", knownTeamIDs.has(item.team_id): ").concat(e_.has(e.team_id),", selectedTeam id: ").concat(n.team_id)),(null!=n.team_id||null===e.team_id||e_.has(e.team_id))&&e.team_id!=n.team_id)return null;console.log("item team id: ".concat(e.team_id,", is returned"))}return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{style:{maxWidth:"2px",whiteSpace:"pre-wrap",overflow:"hidden"},children:null!=e.key_alias?(0,a.jsx)(_.Z,{children:e.key_alias}):(0,a.jsx)(_.Z,{children:"Not Set"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:e.key_name})}),(0,a.jsx)(V.Z,{children:null!=e.expires?(0,a.jsx)("div",{children:(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:new Date(e.expires).toLocaleString()})}):(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:"Never"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:(()=>{try{return parseFloat(e.spend).toFixed(4)}catch(l){return e.spend}})()})}),(0,a.jsx)(V.Z,{children:null!=e.max_budget?(0,a.jsx)(_.Z,{children:e.max_budget}):(0,a.jsx)(_.Z,{children:"Unlimited"})}),(0,a.jsx)(V.Z,{children:null!=e.budget_reset_at?(0,a.jsx)("div",{children:(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:new Date(e.budget_reset_at).toLocaleString()})}):(0,a.jsx)("p",{style:{fontSize:"0.70rem"},children:"Never"})}),(0,a.jsx)(V.Z,{children:Array.isArray(e.models)?(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:0===e.models.length?(0,a.jsx)(a.Fragment,{children:n&&n.models&&n.models.length>0?n.models.map((e,l)=>"all-proxy-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})},l):"all-team-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Team Models"})},l):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},l)):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:"all-proxy-models"})})}):e.models.map((e,l)=>"all-proxy-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})},l):"all-team-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Team Models"})},l):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},l))}):null}),(0,a.jsx)(V.Z,{children:(0,a.jsxs)(_.Z,{children:["TPM: ",e.tpm_limit?e.tpm_limit:"Unlimited"," ",(0,a.jsx)("br",{})," RPM:"," ",e.rpm_limit?e.rpm_limit:"Unlimited"]})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{size:"xs",onClick:()=>eb(e),children:"Edit Limits"})}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(D.Z,{onClick:()=>{ea(e),et(!0)},icon:E.Z,size:"sm"}),(0,a.jsx)(w.Z,{open:es,onCancel:()=>{et(!1),ea(null)},footer:null,width:800,children:en&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3 mt-8",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Spend"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:(()=>{try{return parseFloat(en.spend).toFixed(4)}catch(e){return en.spend}})()})})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Budget"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:null!=en.max_budget?(0,a.jsxs)(a.Fragment,{children:[en.max_budget,en.budget_duration&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("br",{}),"Budget will be reset at ",en.budget_reset_at?new Date(en.budget_reset_at).toLocaleString():"Never"]})]}):(0,a.jsx)(a.Fragment,{children:"Unlimited"})})})]},e.name),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Expires"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor-default font-small text-tremor-content-strong dark:text-dark-tremor-content-strong",children:null!=en.expires?(0,a.jsx)(a.Fragment,{children:new Date(en.expires).toLocaleString(void 0,{day:"numeric",month:"long",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"})}):(0,a.jsx)(a.Fragment,{children:"Never"})})})]},e.name)]}),(0,a.jsxs)(L.Z,{className:"my-4",children:[(0,a.jsx)(y.Z,{children:"Token Name"}),(0,a.jsx)(_.Z,{className:"my-1",children:en.key_alias?en.key_alias:en.key_name}),(0,a.jsx)(y.Z,{children:"Token ID"}),(0,a.jsx)(_.Z,{className:"my-1 text-[12px]",children:en.token}),(0,a.jsx)(y.Z,{children:"User ID"}),(0,a.jsx)(_.Z,{className:"my-1 text-[12px]",children:en.user_id}),(0,a.jsx)(y.Z,{children:"Metadata"}),(0,a.jsx)(_.Z,{className:"my-1",children:(0,a.jsxs)("pre",{children:[JSON.stringify(en.metadata)," "]})})]}),(0,a.jsx)(p.Z,{className:"mx-auto flex items-center",onClick:()=>{et(!1),ea(null)},children:"Close"})]})}),(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>ek(e)}),(0,a.jsx)(D.Z,{onClick:()=>eI(e),icon:R.Z,size:"sm"}),(0,a.jsx)(D.Z,{onClick:()=>ew(e),icon:F.Z,size:"sm"})]})]},e.token)})})]}),Z&&(0,a.jsx)("div",{className:"fixed z-10 inset-0 overflow-y-auto",children:(0,a.jsxs)("div",{className:"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0",children:[(0,a.jsx)("div",{className:"fixed inset-0 transition-opacity","aria-hidden":"true",children:(0,a.jsx)("div",{className:"absolute inset-0 bg-gray-500 opacity-75"})}),(0,a.jsx)("span",{className:"hidden sm:inline-block sm:align-middle sm:h-screen","aria-hidden":"true",children:"​"}),(0,a.jsxs)("div",{className:"inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full",children:[(0,a.jsx)("div",{className:"bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4",children:(0,a.jsx)("div",{className:"sm:flex sm:items-start",children:(0,a.jsxs)("div",{className:"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left",children:[(0,a.jsx)("h3",{className:"text-lg leading-6 font-medium text-gray-900",children:"Delete Key"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("p",{className:"text-sm text-gray-500",children:"Are you sure you want to delete this key ?"})})]})})}),(0,a.jsxs)("div",{className:"bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,a.jsx)(p.Z,{onClick:eN,color:"red",className:"ml-2",children:"Delete"}),(0,a.jsx)(p.Z,{onClick:()=>{f(!1),C(null)},children:"Cancel"})]})]})]})})]}),en&&(0,a.jsx)(e=>{let{visible:l,onCancel:s,token:t,onSubmit:i}=e,[o]=k.Z.useForm(),[c,m]=(0,r.useState)(n),[u,h]=(0,r.useState)([]),[x,p]=(0,r.useState)(!1);return(0,a.jsx)(w.Z,{title:"Edit Key",visible:l,width:800,footer:null,onOk:()=>{o.validateFields().then(e=>{o.resetFields()}).catch(e=>{console.error("Validation failed:",e)})},onCancel:s,children:(0,a.jsxs)(k.Z,{form:o,onFinish:eS,initialValues:{...t,budget_duration:t.budget_duration},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",rules:[{validator:(e,l)=>{let s=l.filter(e=>!c.models.includes(e)&&"all-team-models"!==e&&"all-proxy-models"!==e&&!c.models.includes("all-proxy-models"));return(console.log("errorModels: ".concat(s)),s.length>0)?Promise.reject("Some models are not part of the new team's models - ".concat(s,"Team models: ").concat(c.models)):Promise.resolve()}}],children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,a.jsx)(G,{value:"all-team-models",children:"All Team Models"},"all-team-models"),c&&c.models?c.models.includes("all-proxy-models")?er.filter(e=>"all-proxy-models"!==e).map(e=>(0,a.jsx)(G,{value:e,children:e},e)):c.models.map(e=>(0,a.jsx)(G,{value:e,children:e},e)):er.map(e=>(0,a.jsx)(G,{value:e,children:e},e))]})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Max Budget (USD)",name:"max_budget",help:"Budget cannot exceed team max budget: ".concat((null==c?void 0:c.max_budget)!==null&&(null==c?void 0:c.max_budget)!==void 0?null==c?void 0:c.max_budget:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&c&&null!==c.max_budget&&l>c.max_budget)throw console.log("keyTeam.max_budget: ".concat(c.max_budget)),Error("Budget cannot exceed team max budget: $".concat(c.max_budget))}}],children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",help:"Current Reset Budget: ".concat(t.budget_duration,", budget will be reset: ").concat(t.budget_reset_at?new Date(t.budget_reset_at).toLocaleString():"Never"),children:(0,a.jsxs)(v.default,{placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"daily",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"weekly",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"monthly",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{label:"token",name:"token",hidden:!0}),(0,a.jsx)(k.Z.Item,{label:"Team",name:"team_id",className:"mt-8",help:"the team this key belongs to",children:(0,a.jsx)(W.Z,{value:t.team_alias,children:null==d?void 0:d.map((e,l)=>(0,a.jsx)(H.Z,{value:e.team_id,onClick:()=>m(e),children:e.team_alias},l))})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"TPM Limit (tokens per minute)",name:"tpm_limit",help:"tpm_limit cannot exceed team tpm_limit ".concat((null==c?void 0:c.tpm_limit)!==null&&(null==c?void 0:c.tpm_limit)!==void 0?null==c?void 0:c.tpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&c&&null!==c.tpm_limit&&l>c.tpm_limit)throw console.log("keyTeam.tpm_limit: ".concat(c.tpm_limit)),Error("tpm_limit cannot exceed team max tpm_limit: $".concat(c.tpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,precision:1,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"RPM Limit (requests per minute)",name:"rpm_limit",help:"rpm_limit cannot exceed team max tpm_limit: ".concat((null==c?void 0:c.rpm_limit)!==null&&(null==c?void 0:c.rpm_limit)!==void 0?null==c?void 0:c.rpm_limit:"unlimited"),rules:[{validator:async(e,l)=>{if(l&&c&&null!==c.rpm_limit&&l>c.rpm_limit)throw console.log("keyTeam.rpm_limit: ".concat(c.rpm_limit)),Error("rpm_limit cannot exceed team max rpm_limit: $".concat(c.rpm_limit))}}],children:(0,a.jsx)(I.Z,{step:1,precision:1,width:200})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Edit Key"})})]})})},{visible:ee,onCancel:()=>{el(!1),ea(null)},token:en,onSubmit:eS}),en&&(0,a.jsx)(e=>{let{visible:l,onCancel:s,token:t,onSubmit:n,accessToken:i}=e,[o,d]=(0,r.useState)({}),[c,m]=(0,r.useState)([]),[h,x]=(0,r.useState)(null);(0,r.useEffect)(()=>{if(t.metadata){let e=t.metadata.model_tpm_limit||{},l=t.metadata.model_rpm_limit||{},s={};Object.keys({...e,...l}).forEach(t=>{s[t]={tpm:e[t]||0,rpm:l[t]||0}}),d(s)}(async()=>{try{let e=await (0,u.AZ)(i,"",""),l=Array.from(new Set(e.data.map(e=>e.model_name)));m(l)}catch(e){console.error("Error fetching model data:",e),S.ZP.error("Failed to fetch available models")}})()},[t,i]);let j=(e,l,s)=>{d(t=>({...t,[e]:{...t[e],[l]:s||0}}))},g=e=>{d(l=>{let{[e]:s,...t}=l;return t})};return(0,a.jsxs)(w.Z,{title:"Edit Model-Specific Limits",visible:l,onCancel:s,footer:null,width:800,children:[(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Model"}),(0,a.jsx)(B.Z,{children:"TPM Limit"}),(0,a.jsx)(B.Z,{children:"RPM Limit"}),(0,a.jsx)(B.Z,{children:"Actions"})]})}),(0,a.jsxs)(z.Z,{children:[Object.entries(o).map(e=>{let[l,s]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:l}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(I.Z,{value:s.tpm,onChange:e=>j(l,"tpm",e)})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(I.Z,{value:s.rpm,onChange:e=>j(l,"rpm",e)})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{onClick:()=>g(l),children:"Remove"})})]},l)}),null!==h&&(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:(0,a.jsx)(v.default,{style:{width:200},placeholder:"Select a model",onChange:e=>{o[e]||d(l=>({...l,[e]:{tpm:0,rpm:0}})),x(null)},value:h||void 0,children:c.filter(e=>!o.hasOwnProperty(e)).map(e=>(0,a.jsx)(G,{value:e,children:e},e))})}),(0,a.jsx)(V.Z,{children:"-"}),(0,a.jsx)(V.Z,{children:"-"}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{onClick:()=>x(null),children:"Cancel"})})]})]})]}),(0,a.jsx)(p.Z,{onClick:()=>{x("")},disabled:null!==h,children:"Add Limit"})]}),(0,a.jsxs)("div",{className:"flex justify-end space-x-4 mt-6",children:[(0,a.jsx)(p.Z,{onClick:s,children:"Cancel"}),(0,a.jsx)(p.Z,{onClick:()=>{n({...t.metadata,model_tpm_limit:Object.fromEntries(Object.entries(o).map(e=>{let[l,s]=e;return[l,s.tpm]})),model_rpm_limit:Object.fromEntries(Object.entries(o).map(e=>{let[l,s]=e;return[l,s.rpm]}))})},children:"Save"})]})]})},{visible:ed,onCancel:()=>ec(!1),token:en,onSubmit:ev,accessToken:t}),(0,a.jsx)(w.Z,{title:"Regenerate API Key",visible:em,onCancel:()=>{eu(!1),eg.resetFields()},footer:[(0,a.jsx)(p.Z,{onClick:()=>{eu(!1),eg.resetFields()},className:"mr-2",children:"Cancel"},"cancel"),(0,a.jsx)(p.Z,{onClick:eC,disabled:!c,children:c?"Regenerate":"Upgrade to Regenerate"},"regenerate")],children:c?(0,a.jsxs)(k.Z,{form:eg,layout:"vertical",onValuesChange:(e,l)=>{"duration"in e&&eA("duration",e.duration)},children:[(0,a.jsx)(k.Z.Item,{name:"key_alias",label:"Key Alias",children:(0,a.jsx)(j.Z,{disabled:!0})}),(0,a.jsx)(k.Z.Item,{name:"max_budget",label:"Max Budget (USD)",children:(0,a.jsx)(I.Z,{step:.01,precision:2,style:{width:"100%"}})}),(0,a.jsx)(k.Z.Item,{name:"tpm_limit",label:"TPM Limit",children:(0,a.jsx)(I.Z,{style:{width:"100%"}})}),(0,a.jsx)(k.Z.Item,{name:"rpm_limit",label:"RPM Limit",children:(0,a.jsx)(I.Z,{style:{width:"100%"}})}),(0,a.jsx)(k.Z.Item,{name:"duration",label:"Expire Key (eg: 30s, 30h, 30d)",className:"mt-8",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsxs)("div",{className:"mt-2 text-sm text-gray-500",children:["Current expiry: ",(null==en?void 0:en.expires)!=null?new Date(en.expires).toLocaleString():"Never"]}),eZ&&(0,a.jsxs)("div",{className:"mt-2 text-sm text-green-600",children:["New expiry: ",eZ]})]}):(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to use this feature"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://calendly.com/d/4mp-gd3-k5k/litellm-1-1-onboarding-chat",target:"_blank",children:"Get Free Trial"})})]})}),eh&&(0,a.jsx)(w.Z,{visible:!!eh,onCancel:()=>ex(null),footer:[(0,a.jsx)(p.Z,{onClick:()=>ex(null),children:"Close"},"close")],children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full",children:[(0,a.jsx)(y.Z,{children:"Regenerated Key"}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("p",{children:["Please replace your old key with the new key generated. For security reasons, ",(0,a.jsx)("b",{children:"you will not be able to view it again"})," through your LiteLLM account. If you lose this secret key, you will need to generate a new one."]})}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(_.Z,{className:"mt-3",children:"Key Alias:"}),(0,a.jsx)("div",{style:{background:"#f8f8f8",padding:"10px",borderRadius:"5px",marginBottom:"10px"},children:(0,a.jsx)("pre",{style:{wordWrap:"break-word",whiteSpace:"normal"},children:(null==en?void 0:en.key_alias)||"No alias set"})}),(0,a.jsx)(_.Z,{className:"mt-3",children:"New API Key:"}),(0,a.jsx)("div",{style:{background:"#f8f8f8",padding:"10px",borderRadius:"5px",marginBottom:"10px"},children:(0,a.jsx)("pre",{style:{wordWrap:"break-word",whiteSpace:"normal"},children:eh})}),(0,a.jsx)(b.CopyToClipboard,{text:eh,onCopy:()=>S.ZP.success("API Key copied to clipboard"),children:(0,a.jsx)(p.Z,{className:"mt-3",children:"Copy API Key"})})]})]})})]})};console.log=function(){};var J=e=>{let{userID:l,userRole:s,accessToken:t,userSpend:n,userMaxBudget:i,selectedTeam:o}=e;console.log("userSpend: ".concat(n));let[d,c]=(0,r.useState)(null!==n?n:0),[m,h]=(0,r.useState)(o?o.max_budget:null);(0,r.useEffect)(()=>{o&&("Default Team"===o.team_alias?h(i):h(o.max_budget))},[o,i]);let[x,p]=(0,r.useState)([]);(0,r.useEffect)(()=>{let e=async()=>{if(!t||!l||!s)return};(async()=>{try{if(null===l||null===s)return;if(null!==t){let e=(await (0,u.So)(t,l,s)).data.map(e=>e.id);console.log("available_model_names:",e),p(e)}}catch(e){console.error("Error fetching user models:",e)}})(),e()},[s,t,l]),(0,r.useEffect)(()=>{null!==n&&c(n)},[n]);let j=[];o&&o.models&&(j=o.models),j&&j.includes("all-proxy-models")?(console.log("user models:",x),j=x):j&&j.includes("all-team-models")?j=o.models:j&&0===j.length&&(j=x);let g=void 0!==d?d.toFixed(4):null;return console.log("spend in view user spend: ".concat(d)),(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsxs)("div",{className:"flex justify-between gap-x-6",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Total Spend"}),(0,a.jsxs)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:["$",g]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-tremor-default text-tremor-content dark:text-dark-tremor-content",children:"Max Budget"}),(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:null!==m?"$".concat(m," limit"):"No limit"})]})]})})};console.log=function(){};var X=e=>{let{userID:l,userRole:s,selectedTeam:t,accessToken:n}=e,[i,o]=(0,r.useState)([]);(0,r.useEffect)(()=>{(async()=>{try{if(null===l||null===s)return;if(null!==n){let e=(await (0,u.So)(n,l,s)).data.map(e=>e.id);console.log("available_model_names:",e),o(e)}}catch(e){console.error("Error fetching user models:",e)}})()},[n,l,s]);let d=[];return t&&t.models&&(d=t.models),d&&d.includes("all-proxy-models")&&(console.log("user models:",i),d=i),(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"mb-5",children:(0,a.jsx)("p",{className:"text-3xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:null==t?void 0:t.team_alias})})})},$=e=>{let l,{teams:s,setSelectedTeam:t,userRole:n,proxySettings:i}=e,o={models:[],team_id:null,team_alias:"Default Team"},[d,c]=(0,r.useState)(o);return(l="App User"===n?s:i&&!0===i.DEFAULT_TEAM_DISABLED?s?[...s]:[o]:s?[...s,o]:[o],"App User"===n)?null:(0,a.jsxs)("div",{className:"mt-5 mb-5",children:[(0,a.jsx)(y.Z,{children:"Select Team"}),(0,a.jsx)(_.Z,{children:"If you belong to multiple teams, this setting controls which team is used by default when creating new API Keys."}),(0,a.jsxs)(_.Z,{className:"mt-3 mb-3",children:[(0,a.jsx)("b",{children:"Default Team:"})," If no team_id is set for a key, it will be grouped under here."]}),l&&l.length>0?(0,a.jsx)(W.Z,{defaultValue:"0",children:l.map((e,l)=>(0,a.jsx)(H.Z,{value:String(l),onClick:()=>t(e),children:e.team_alias},l))}):(0,a.jsxs)(_.Z,{children:["No team created. ",(0,a.jsx)("b",{children:"Defaulting to personal account."})]})]})},Q=s(667),ee=s(37963),el=s(97482);console.log=function(){},console.log("isLocal:",!1);var es=e=>{let{userID:l,userRole:s,teams:t,keys:n,setUserRole:o,userEmail:d,setUserEmail:c,setTeams:m,setKeys:p,premiumUser:j}=e,[g,Z]=(0,r.useState)(null),f=(0,i.useSearchParams)();f.get("viewSpend"),(0,i.useRouter)();let _=function(e){console.log("COOKIES",document.cookie);let l=document.cookie.split("; ").find(l=>l.startsWith(e+"="));return l?l.split("=")[1]:null}("token"),y=f.get("invitation_id"),[b,v]=(0,r.useState)(null),[k,S]=(0,r.useState)(null),[w,N]=(0,r.useState)([]),[I,A]=(0,r.useState)(null),C={models:[],team_alias:"Default Team",team_id:null},[T,E]=(0,r.useState)(t?t[0]:C);if(window.addEventListener("beforeunload",function(){sessionStorage.clear()}),(0,r.useEffect)(()=>{if(_){let e=(0,ee.o)(_);if(e){if(console.log("Decoded token:",e),console.log("Decoded key:",e.key),v(e.key),e.user_role){let l=function(e){if(!e)return"Undefined Role";switch(console.log("Received user role: ".concat(e)),e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"app_user":return"App User";case"internal_user":return"Internal User";case"internal_user_viewer":return"Internal Viewer";default:return"Unknown Role"}}(e.user_role);console.log("Decoded user_role:",l),o(l)}else console.log("User role not defined");e.user_email?c(e.user_email):console.log("User Email is not set ".concat(e))}}if(l&&b&&s&&!n&&!g){let e=sessionStorage.getItem("userModels"+l);e?N(JSON.parse(e)):(async()=>{try{let e=await (0,u.Dj)(b);A(e);let t=await (0,u.Br)(b,l,s,!1,null,null);console.log("received teams in user dashboard: ".concat(Object.keys(t),"; team values: ").concat(Object.entries(t.teams))),Z(t.user_info),p(t.keys),m(t.teams);let n=[...t.teams];n.length>0?(console.log("response['teams']: ".concat(n)),E(n[0])):E(C),sessionStorage.setItem("userData"+l,JSON.stringify(t.keys)),sessionStorage.setItem("userSpendData"+l,JSON.stringify(t.user_info));let a=(await (0,u.So)(b,l,s)).data.map(e=>e.id);console.log("available_model_names:",a),N(a),console.log("userModels:",w),sessionStorage.setItem("userModels"+l,JSON.stringify(a))}catch(e){console.error("There was an error fetching the data",e)}})()}},[l,_,b,n,s]),(0,r.useEffect)(()=>{if(null!==n&&null!=T&&null!==T.team_id){let e=0;for(let l of n)T.hasOwnProperty("team_id")&&null!==l.team_id&&l.team_id===T.team_id&&(e+=l.spend);S(e)}else if(null!==n){let e=0;for(let l of n)e+=l.spend;S(e)}},[T]),null!=y)return(0,a.jsx)(Q.default,{});if(null==l||null==_){let e="/sso/key/generate";return document.cookie="token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;",console.log("Full URL:",e),window.location.href=e,null}if(null==b)return null;if(null==s&&o("App Owner"),s&&"Admin Viewer"==s){let{Title:e,Paragraph:l}=el.default;return(0,a.jsxs)("div",{children:[(0,a.jsx)(e,{level:1,children:"Access Denied"}),(0,a.jsx)(l,{children:"Ask your proxy admin for access to create keys"})]})}return console.log("inside user dashboard, selected team",T),(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsx)(x.Z,{numItems:1,className:"gap-2 p-8 h-[75vh] w-full mt-2",children:(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(X,{userID:l,userRole:s,selectedTeam:T||null,accessToken:b}),(0,a.jsx)(J,{userID:l,userRole:s,userMaxBudget:(null==g?void 0:g.max_budget)||null,accessToken:b,userSpend:k,selectedTeam:T||null}),(0,a.jsx)(Y,{userID:l,userRole:s,accessToken:b,selectedTeam:T||null,data:n,setData:p,premiumUser:j,teams:t}),(0,a.jsx)(P,{userID:l,team:T||null,userRole:s,accessToken:b,data:n,setData:p},T?T.team_id:null),(0,a.jsx)($,{teams:t,setSelectedTeam:E,userRole:s,proxySettings:I})]})})})},et=s(49167),en=s(35087),ea=s(92836),er=s(26734),ei=s(41608),eo=s(32126),ed=s(23682),ec=s(47047),em=s(76628),eu=s(25707),eh=s(44041),ex=s(6180),ep=s(28683),ej=s(38302),eg=s(66242),eZ=s(78578),ef=s(34658),e_=e=>{let{modelID:l,accessToken:s}=e,[t,n]=(0,r.useState)(!1),i=async()=>{try{S.ZP.info("Making API Call"),n(!0);let e=await (0,u.Og)(s,l);console.log("model delete Response:",e),S.ZP.success("Model ".concat(l," deleted successfully")),n(!1)}catch(e){console.error("Error deleting the model:",e)}};return(0,a.jsxs)("div",{children:[(0,a.jsx)(D.Z,{onClick:()=>n(!0),icon:F.Z,size:"sm"}),(0,a.jsx)(w.Z,{open:t,onOk:i,okType:"danger",onCancel:()=>n(!1),children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full",children:[(0,a.jsx)(y.Z,{children:"Delete Model"}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)("p",{children:"Are you sure you want to delete this model? This action is irreversible."})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("p",{children:["Model ID: ",(0,a.jsx)("b",{children:l})]})})]})})]})},ey=s(97766),eb=s(46495),ev=s(18190),ek=s(91118),eS=e=>{let{modelMetrics:l,modelMetricsCategories:s,customTooltip:t,premiumUser:n}=e;return n?(0,a.jsx)(ek.Z,{title:"Time to First token (s)",className:"h-72",data:l,index:"date",showLegend:!1,categories:s,colors:["indigo","rose"],connectNulls:!0,customTooltip:t}):(0,a.jsxs)("div",{children:[(0,a.jsx)(ev.Z,{title:"✨ Enterprise Feature",color:"teal",className:"mt-2 mb-4",children:"Enterprise features are available for users with a specific license, please contact LiteLLM to unlock this limitation."}),(0,a.jsx)(p.Z,{variant:"primary",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get in touch"})})]})},ew=e=>{let{fields:l,selectedProvider:s}=e;return 0===l.length?null:(0,a.jsx)(a.Fragment,{children:l.map(e=>(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:e.field_name.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()),name:e.field_name,tooltip:e.field_description,className:"mb-2",children:(0,a.jsx)(j.Z,{placeholder:e.field_value,type:"password"})},e.field_name))})},eN=s(67951);let{Title:eI,Link:eA}=el.default;(t=n||(n={})).OpenAI="OpenAI",t.Azure="Azure",t.Azure_AI_Studio="Azure AI Studio",t.Anthropic="Anthropic",t.Google_AI_Studio="Google AI Studio",t.Bedrock="Amazon Bedrock",t.Groq="Groq",t.MistralAI="Mistral AI",t.OpenAI_Compatible="OpenAI-Compatible Endpoints (Together AI, etc.)",t.Vertex_AI="Vertex AI (Anthropic, Gemini, etc.)",t.Cohere="Cohere",t.Databricks="Databricks",t.Ollama="Ollama";let eC={OpenAI:"openai",Azure:"azure",Azure_AI_Studio:"azure_ai",Anthropic:"anthropic",Google_AI_Studio:"gemini",Bedrock:"bedrock",Groq:"groq",MistralAI:"mistral",Cohere:"cohere_chat",OpenAI_Compatible:"openai",Vertex_AI:"vertex_ai",Databricks:"databricks",Ollama:"ollama"},eP={"BadRequestError (400)":"BadRequestErrorRetries","AuthenticationError (401)":"AuthenticationErrorRetries","TimeoutError (408)":"TimeoutErrorRetries","RateLimitError (429)":"RateLimitErrorRetries","ContentPolicyViolationError (400)":"ContentPolicyViolationErrorRetries","InternalServerError (500)":"InternalServerErrorRetries"},eT=async(e,l,s)=>{try{let t=Array.isArray(e.model)?e.model:[e.model];console.log("received deployments: ".concat(t)),console.log("received type of deployments: ".concat(typeof t)),t.forEach(async s=>{console.log("litellm_model: ".concat(s));let t={},n={};t.model=s;let a="";for(let[l,s]of(console.log("formValues add deployment:",e),Object.entries(e)))if(""!==s){if("model_name"==l)a+=s;else if("custom_llm_provider"==l){console.log("custom_llm_provider:",s);let e=eC[s];t.custom_llm_provider=e,console.log("custom_llm_provider mappingResult:",e)}else if("model"==l)continue;else if("base_model"===l)n[l]=s;else if("custom_model_name"===l)t.model=s;else if("litellm_extra_params"==l){console.log("litellm_extra_params:",s);let e={};if(s&&void 0!=s){try{e=JSON.parse(s)}catch(e){throw S.ZP.error("Failed to parse LiteLLM Extra Params: "+e,10),Error("Failed to parse litellm_extra_params: "+e)}for(let[l,s]of Object.entries(e))t[l]=s}}else t[l]=s}let r={model_name:a,litellm_params:t,model_info:n},i=await (0,u.kK)(l,r);console.log("response for model create call: ".concat(i.data))}),s.resetFields()}catch(e){S.ZP.error("Failed to create model: "+e,10)}};var eE=e=>{let l,{accessToken:s,token:t,userRole:i,userID:o,modelData:d={data:[]},keys:c,setModelData:m,premiumUser:h}=e,[g,Z]=(0,r.useState)([]),[f]=k.Z.useForm(),[b,v]=(0,r.useState)(null),[N,C]=(0,r.useState)(""),[P,T]=(0,r.useState)([]),F=Object.values(n).filter(e=>isNaN(Number(e))),[G,Y]=(0,r.useState)([]),[J,X]=(0,r.useState)("OpenAI"),[$,Q]=(0,r.useState)(""),[ee,es]=(0,r.useState)(!1),[ev,ek]=(0,r.useState)(!1),[eE,eO]=(0,r.useState)(null),[eR,eF]=(0,r.useState)([]),[eM,eL]=(0,r.useState)([]),[eD,eU]=(0,r.useState)(null),[ez,eV]=(0,r.useState)([]),[eq,eB]=(0,r.useState)([]),[eK,eW]=(0,r.useState)([]),[eH,eG]=(0,r.useState)([]),[eY,eJ]=(0,r.useState)([]),[eX,e$]=(0,r.useState)([]),[eQ,e0]=(0,r.useState)([]),[e1,e2]=(0,r.useState)([]),[e4,e5]=(0,r.useState)([]),[e8,e3]=(0,r.useState)({from:new Date(Date.now()-6048e5),to:new Date}),[e6,e7]=(0,r.useState)(null),[e9,le]=(0,r.useState)(0),[ll,ls]=(0,r.useState)({}),[lt,ln]=(0,r.useState)([]),[la,lr]=(0,r.useState)(!1),[li,lo]=(0,r.useState)(null),[ld,lc]=(0,r.useState)(null),[lm,lu]=(0,r.useState)([]);(0,r.useEffect)(()=>{lS(eD,e8.from,e8.to)},[li,ld]);let lh=e=>{eO(e),es(!0)},lx=e=>{eO(e),ek(!0)},lp=async e=>{if(console.log("handleEditSubmit:",e),null==s)return;let l={},t=null;for(let[s,n]of(e.input_cost_per_million_tokens&&(e.input_cost_per_token=e.input_cost_per_million_tokens/1e6,delete e.input_cost_per_million_tokens),e.output_cost_per_million_tokens&&(e.output_cost_per_token=e.output_cost_per_million_tokens/1e6,delete e.output_cost_per_million_tokens),Object.entries(e)))"model_id"!==s?l[s]=n:t=n;let n={litellm_params:l,model_info:{id:t}};console.log("handleEditSubmit payload:",n);try{await (0,u.um)(s,n),S.ZP.success("Model updated successfully, restart server to see updates"),es(!1),eO(null)}catch(e){console.log("Error occurred")}},lj=()=>{C(new Date().toLocaleString())},lg=async()=>{if(!s){console.error("Access token is missing");return}console.log("new modelGroupRetryPolicy:",e6);try{await (0,u.K_)(s,{router_settings:{model_group_retry_policy:e6}}),S.ZP.success("Retry settings saved successfully")}catch(e){console.error("Failed to save retry settings:",e),S.ZP.error("Failed to save retry settings")}};if((0,r.useEffect)(()=>{if(!s||!t||!i||!o)return;let e=async()=>{try{var e,l,t,n,a,r,d,c,h,x,p,j;let g=await (0,u.hy)(s);Y(g);let Z=await (0,u.AZ)(s,o,i);console.log("Model data response:",Z.data),m(Z);let f=new Set;for(let e=0;e0&&(y=_[_.length-1],console.log("_initial_model_group:",y)),console.log("selectedModelGroup:",eD);let b=await (0,u.o6)(s,o,i,y,null===(e=e8.from)||void 0===e?void 0:e.toISOString(),null===(l=e8.to)||void 0===l?void 0:l.toISOString(),null==li?void 0:li.token,ld);console.log("Model metrics response:",b),eB(b.data),eW(b.all_api_bases);let v=await (0,u.Rg)(s,y,null===(t=e8.from)||void 0===t?void 0:t.toISOString(),null===(n=e8.to)||void 0===n?void 0:n.toISOString());eG(v.data),eJ(v.all_api_bases);let k=await (0,u.N8)(s,o,i,y,null===(a=e8.from)||void 0===a?void 0:a.toISOString(),null===(r=e8.to)||void 0===r?void 0:r.toISOString(),null==li?void 0:li.token,ld);console.log("Model exceptions response:",k),e$(k.data),e0(k.exception_types);let S=await (0,u.fP)(s,o,i,y,null===(d=e8.from)||void 0===d?void 0:d.toISOString(),null===(c=e8.to)||void 0===c?void 0:c.toISOString(),null==li?void 0:li.token,ld),w=await (0,u.n$)(s,null===(h=e8.from)||void 0===h?void 0:h.toISOString().split("T")[0],null===(x=e8.to)||void 0===x?void 0:x.toISOString().split("T")[0],y);ls(w);let N=await (0,u.v9)(s,null===(p=e8.from)||void 0===p?void 0:p.toISOString().split("T")[0],null===(j=e8.to)||void 0===j?void 0:j.toISOString().split("T")[0],y);ln(N),console.log("dailyExceptions:",w),console.log("dailyExceptionsPerDeplyment:",N),console.log("slowResponses:",S),e5(S);let I=await (0,u.j2)(s);lu(null==I?void 0:I.end_users);let A=(await (0,u.BL)(s,o,i)).router_settings;console.log("routerSettingsInfo:",A);let C=A.model_group_retry_policy,P=A.num_retries;console.log("model_group_retry_policy:",C),console.log("default_retries:",P),e7(C),le(P)}catch(e){console.error("There was an error fetching the model data",e)}};s&&t&&i&&o&&e();let l=async()=>{let e=await (0,u.qm)(s);console.log("received model cost map data: ".concat(Object.keys(e))),v(e)};null==b&&l(),lj()},[s,t,i,o,b,N]),!d||!s||!t||!i||!o)return(0,a.jsx)("div",{children:"Loading..."});let lZ=[],lf=[];for(let e=0;e(console.log("GET PROVIDER CALLED! - ".concat(b)),null!=b&&"object"==typeof b&&e in b)?b[e].litellm_provider:"openai";if(s){let e=s.split("/"),l=e[0];(a=t)||(a=1===e.length?u(s):l)}else a="-";n&&(r=null==n?void 0:n.input_cost_per_token,i=null==n?void 0:n.output_cost_per_token,o=null==n?void 0:n.max_tokens,c=null==n?void 0:n.max_input_tokens),(null==l?void 0:l.litellm_params)&&(m=Object.fromEntries(Object.entries(null==l?void 0:l.litellm_params).filter(e=>{let[l]=e;return"model"!==l&&"api_base"!==l}))),d.data[e].provider=a,d.data[e].input_cost=r,d.data[e].output_cost=i,d.data[e].litellm_model_name=s,lf.push(a),d.data[e].input_cost&&(d.data[e].input_cost=(1e6*Number(d.data[e].input_cost)).toFixed(2)),d.data[e].output_cost&&(d.data[e].output_cost=(1e6*Number(d.data[e].output_cost)).toFixed(2)),d.data[e].max_tokens=o,d.data[e].max_input_tokens=c,d.data[e].api_base=null==l?void 0:null===(lb=l.litellm_params)||void 0===lb?void 0:lb.api_base,d.data[e].cleanedLitellmParams=m,lZ.push(l.model_name),console.log(d.data[e])}if(d.data&&d.data.length>0&&d.data.sort((e,l)=>e.provider&&l.provider?e.provider.localeCompare(l.provider):e.provider&&!l.provider?-1:!e.provider&&l.provider?1:0),i&&"Admin Viewer"==i){let{Title:e,Paragraph:l}=el.default;return(0,a.jsxs)("div",{children:[(0,a.jsx)(e,{level:1,children:"Access Denied"}),(0,a.jsx)(l,{children:"Ask your proxy admin for access to view all models"})]})}let lv=e=>{console.log("received provider string: ".concat(e));let l=Object.keys(n).find(l=>n[l]===e);if(l){let e=eC[l];console.log("mappingResult: ".concat(e));let s=[];"object"==typeof b&&(Object.entries(b).forEach(l=>{let[t,n]=l;null!==n&&"object"==typeof n&&"litellm_provider"in n&&(n.litellm_provider===e||n.litellm_provider.includes(e))&&s.push(t)}),"Cohere"==l&&(console.log("adding cohere chat model"),Object.entries(b).forEach(e=>{let[l,t]=e;null!==t&&"object"==typeof t&&"litellm_provider"in t&&"cohere"===t.litellm_provider&&s.push(l)}))),T(s),console.log("providerModels: ".concat(P))}},lk=async()=>{try{S.ZP.info("Running health check..."),Q("");let e=await (0,u.EY)(s);Q(e)}catch(e){console.error("Error running health check:",e),Q("Error running health check")}},lS=async(e,l,t)=>{if(console.log("Updating model metrics for group:",e),!s||!o||!i||!l||!t)return;console.log("inside updateModelMetrics - startTime:",l,"endTime:",t),eU(e);let n=null==li?void 0:li.token;void 0===n&&(n=null);let a=ld;void 0===a&&(a=null),l.setHours(0),l.setMinutes(0),l.setSeconds(0),t.setHours(23),t.setMinutes(59),t.setSeconds(59);try{let r=await (0,u.o6)(s,o,i,e,l.toISOString(),t.toISOString(),n,a);console.log("Model metrics response:",r),eB(r.data),eW(r.all_api_bases);let d=await (0,u.Rg)(s,e,l.toISOString(),t.toISOString());eG(d.data),eJ(d.all_api_bases);let c=await (0,u.N8)(s,o,i,e,l.toISOString(),t.toISOString(),n,a);console.log("Model exceptions response:",c),e$(c.data),e0(c.exception_types);let m=await (0,u.fP)(s,o,i,e,l.toISOString(),t.toISOString(),n,a);if(console.log("slowResponses:",m),e5(m),e){let n=await (0,u.n$)(s,null==l?void 0:l.toISOString().split("T")[0],null==t?void 0:t.toISOString().split("T")[0],e);ls(n);let a=await (0,u.v9)(s,null==l?void 0:l.toISOString().split("T")[0],null==t?void 0:t.toISOString().split("T")[0],e);ln(a)}}catch(e){console.error("Failed to fetch model metrics",e)}},lw=(0,a.jsxs)("div",{children:[(0,a.jsx)(_.Z,{className:"mb-1",children:"Select API Key Name"}),h?(0,a.jsxs)("div",{children:[(0,a.jsxs)(W.Z,{defaultValue:"all-keys",children:[(0,a.jsx)(H.Z,{value:"all-keys",onClick:()=>{lo(null)},children:"All Keys"},"all-keys"),null==c?void 0:c.map((e,l)=>e&&null!==e.key_alias&&e.key_alias.length>0?(0,a.jsx)(H.Z,{value:String(l),onClick:()=>{lo(e)},children:e.key_alias},l):null)]}),(0,a.jsx)(_.Z,{className:"mt-1",children:"Select Customer Name"}),(0,a.jsxs)(W.Z,{defaultValue:"all-customers",children:[(0,a.jsx)(H.Z,{value:"all-customers",onClick:()=>{lc(null)},children:"All Customers"},"all-customers"),null==lm?void 0:lm.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>{lc(e)},children:e},l))]})]}):(0,a.jsxs)("div",{children:[(0,a.jsxs)(W.Z,{defaultValue:"all-keys",children:[(0,a.jsx)(H.Z,{value:"all-keys",onClick:()=>{lo(null)},children:"All Keys"},"all-keys"),null==c?void 0:c.map((e,l)=>e&&null!==e.key_alias&&e.key_alias.length>0?(0,a.jsxs)(H.Z,{value:String(l),disabled:!0,onClick:()=>{lo(e)},children:["✨ ",e.key_alias," (Enterprise only Feature)"]},l):null)]}),(0,a.jsx)(_.Z,{className:"mt-1",children:"Select Customer Name"}),(0,a.jsxs)(W.Z,{defaultValue:"all-customers",children:[(0,a.jsx)(H.Z,{value:"all-customers",onClick:()=>{lc(null)},children:"All Customers"},"all-customers"),null==lm?void 0:lm.map((e,l)=>(0,a.jsxs)(H.Z,{value:e,disabled:!0,onClick:()=>{lc(e)},children:["✨ ",e," (Enterprise only Feature)"]},l))]})]})]}),lN=e=>{var l,s;let{payload:t,active:n}=e;if(!n||!t)return null;let r=null===(s=t[0])||void 0===s?void 0:null===(l=s.payload)||void 0===l?void 0:l.date,i=t.sort((e,l)=>l.value-e.value);if(i.length>5){let e=i.length-5;(i=i.slice(0,5)).push({dataKey:"".concat(e," other deployments"),value:t.slice(5).reduce((e,l)=>e+l.value,0),color:"gray"})}return(0,a.jsxs)("div",{className:"w-150 rounded-tremor-default border border-tremor-border bg-tremor-background p-2 text-tremor-default shadow-tremor-dropdown",children:[r&&(0,a.jsxs)("p",{className:"text-tremor-content-emphasis mb-2",children:["Date: ",r]}),i.map((e,l)=>{let s=parseFloat(e.value.toFixed(5)),t=0===s&&e.value>0?"<0.00001":s.toFixed(5);return(0,a.jsxs)("div",{className:"flex justify-between",children:[(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsx)("div",{className:"w-2 h-2 mt-1 rounded-full bg-".concat(e.color,"-500")}),(0,a.jsx)("p",{className:"text-tremor-content",children:e.dataKey})]}),(0,a.jsx)("p",{className:"font-medium text-tremor-content-emphasis text-righ ml-2",children:t})]},l)})]})},lI=e=>"Vertex AI (Anthropic, Gemini, etc.)"===e?"gemini-pro":"Anthropic"==e||"Amazon Bedrock"==e?"claude-3-opus":"Google AI Studio"==e?"gemini-pro":"Azure AI Studio"==e?"azure_ai/command-r-plus":"Azure"==e?"azure/my-deployment":"gpt-3.5-turbo";console.log("selectedProvider: ".concat(J)),console.log("providerModels.length: ".concat(P.length));let lA=Object.keys(n).find(e=>n[e]===J);return lA&&(l=G.find(e=>e.name===eC[lA])),(0,a.jsx)("div",{style:{width:"100%",height:"100%"},children:(0,a.jsxs)(er.Z,{className:"gap-2 p-8 h-[75vh] w-full mt-2",children:[(0,a.jsxs)(ei.Z,{className:"flex justify-between mt-2 w-full items-center",children:[(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(ea.Z,{children:"All Models"}),(0,a.jsx)(ea.Z,{children:"Add Model"}),(0,a.jsx)(ea.Z,{children:(0,a.jsx)("pre",{children:"/health Models"})}),(0,a.jsx)(ea.Z,{children:"Model Analytics"}),(0,a.jsx)(ea.Z,{children:"Model Retry Settings"})]}),(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[N&&(0,a.jsxs)(_.Z,{children:["Last Refreshed: ",N]}),(0,a.jsx)(D.Z,{icon:R.Z,variant:"shadow",size:"xs",className:"self-center",onClick:lj})]})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(_.Z,{children:"Filter by Public Model Name"}),(0,a.jsxs)(W.Z,{className:"mb-4 mt-2 ml-2 w-50",defaultValue:eD||void 0,onValueChange:e=>eU("all"===e?"all":e),value:eD||void 0,children:[(0,a.jsx)(H.Z,{value:"all",children:"All Models"}),eR.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>eU(e),children:e},l))]})]}),(0,a.jsx)(L.Z,{children:(0,a.jsxs)(U.Z,{style:{maxWidth:"1500px",width:"100%"},children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"Public Model Name"}),(0,a.jsx)(B.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"Provider"}),(0,a.jsx)(B.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"LiteLLM Model"}),"Admin"===i&&(0,a.jsx)(B.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"API Base"}),(0,a.jsxs)(B.Z,{style:{maxWidth:"85px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:["Input Price"," ",(0,a.jsx)("p",{style:{fontSize:"10px",color:"gray"},children:"/1M Tokens ($)"})]}),(0,a.jsxs)(B.Z,{style:{maxWidth:"85px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:["Output Price"," ",(0,a.jsx)("p",{style:{fontSize:"10px",color:"gray"},children:"/1M Tokens ($)"})]}),(0,a.jsx)(B.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:h?"Created At":(0,a.jsxs)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",style:{color:"#72bcd4"},children:[" ","✨ Created At"]})}),(0,a.jsx)(B.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:h?"Created By":(0,a.jsxs)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",style:{color:"#72bcd4"},children:[" ","✨ Created By"]})}),(0,a.jsx)(B.Z,{style:{maxWidth:"50px",whiteSpace:"normal",wordBreak:"break-word",fontSize:"11px"},children:"Status"}),(0,a.jsx)(B.Z,{})]})}),(0,a.jsx)(z.Z,{children:d.data.filter(e=>"all"===eD||e.model_name===eD||null==eD||""===eD).map((e,l)=>{var t;return(0,a.jsxs)(K.Z,{style:{maxHeight:"1px",minHeight:"1px"},children:[(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("p",{className:"text-xs",children:e.model_name||"-"})}),(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("p",{className:"text-xs",children:e.provider||"-"})}),(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)(ex.Z,{title:e&&e.litellm_model_name,children:(0,a.jsx)("pre",{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},className:"text-xs",title:e&&e.litellm_model_name?e.litellm_model_name:"",children:e&&e.litellm_model_name?e.litellm_model_name.slice(0,20)+(e.litellm_model_name.length>20?"...":""):"-"})})}),"Admin"===i&&(0,a.jsx)(V.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)(ex.Z,{title:e&&e.api_base,children:(0,a.jsx)("pre",{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},className:"text-xs",title:e&&e.api_base?e.api_base:"",children:e&&e.api_base?e.api_base.slice(0,20):"-"})})}),(0,a.jsx)(V.Z,{style:{maxWidth:"80px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("pre",{className:"text-xs",children:e.input_cost?e.input_cost:null!=e.litellm_params.input_cost_per_token&&void 0!=e.litellm_params.input_cost_per_token?(1e6*Number(e.litellm_params.input_cost_per_token)).toFixed(2):null})}),(0,a.jsx)(V.Z,{style:{maxWidth:"80px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsx)("pre",{className:"text-xs",children:e.output_cost?e.output_cost:e.litellm_params.output_cost_per_token?(1e6*Number(e.litellm_params.output_cost_per_token)).toFixed(2):null})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)("p",{className:"text-xs",children:h&&((t=e.model_info.created_at)?new Date(t).toLocaleDateString("en-US"):null)||"-"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)("p",{className:"text-xs",children:h&&e.model_info.created_by||"-"})}),(0,a.jsx)(V.Z,{style:{maxWidth:"100px",whiteSpace:"normal",wordBreak:"break-word"},children:e.model_info.db_model?(0,a.jsx)(M.Z,{size:"xs",className:"text-white",children:(0,a.jsx)("p",{className:"text-xs",children:"DB Model"})}):(0,a.jsx)(M.Z,{size:"xs",className:"text-black",children:(0,a.jsx)("p",{className:"text-xs",children:"Config Model"})})}),(0,a.jsx)(V.Z,{style:{maxWidth:"150px",whiteSpace:"normal",wordBreak:"break-word"},children:(0,a.jsxs)(x.Z,{numItems:3,children:[(0,a.jsx)(ep.Z,{children:(0,a.jsx)(D.Z,{icon:E.Z,size:"sm",onClick:()=>lx(e)})}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>lh(e)})}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(e_,{modelID:e.model_info.id,accessToken:s})})]})})]},l)})})]})})]}),(0,a.jsx)(e=>{let{visible:l,onCancel:s,model:t,onSubmit:n}=e,[r]=k.Z.useForm(),i={},o="",d="";if(t){i=t.litellm_params,o=t.model_name;let e=t.model_info;e&&(d=e.id,console.log("model_id: ".concat(d)),i.model_id=d)}return(0,a.jsx)(w.Z,{title:"Edit Model "+o,visible:l,width:800,footer:null,onOk:()=>{r.validateFields().then(e=>{n(e),r.resetFields()}).catch(e=>{console.error("Validation failed:",e)})},onCancel:s,children:(0,a.jsxs)(k.Z,{form:r,onFinish:lp,initialValues:i,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"api_base",name:"api_base",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"organization",name:"organization",tooltip:"OpenAI Organization ID",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"tpm",name:"tpm",tooltip:"int (optional) - Tokens limit for this deployment: in tokens per minute (tpm). Find this information on your model/providers website",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"rpm",name:"rpm",tooltip:"int (optional) - Rate limit for this deployment: in requests per minute (rpm). Find this information on your model/providers website",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"max_retries",name:"max_retries",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"timeout",name:"timeout",tooltip:"int (optional) - Timeout in seconds for LLM requests (Defaults to 600 seconds)",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"stream_timeout",name:"stream_timeout",tooltip:"int (optional) - Timeout for stream requests (seconds)",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"Input Cost per 1M Tokens",name:"input_cost_per_million_tokens",tooltip:"float (optional) - Input cost per 1 million tokens",children:(0,a.jsx)(I.Z,{min:0,step:.01})}),(0,a.jsx)(k.Z.Item,{label:"Output Cost per 1M Tokens",name:"output_cost_per_million_tokens",tooltip:"float (optional) - Output cost per 1 million tokens",children:(0,a.jsx)(I.Z,{min:0,step:.01})}),(0,a.jsx)(k.Z.Item,{label:"model_id",name:"model_id",hidden:!0})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})},{visible:ee,onCancel:()=>{es(!1),eO(null)},model:eE,onSubmit:lp}),(0,a.jsxs)(w.Z,{title:eE&&eE.model_name,visible:ev,width:800,footer:null,onCancel:()=>{ek(!1),eO(null)},children:[(0,a.jsx)(y.Z,{children:"Model Info"}),(0,a.jsx)(eN.Z,{language:"json",children:eE&&JSON.stringify(eE,null,2)})]})]}),(0,a.jsxs)(eo.Z,{className:"h-full",children:[(0,a.jsx)(eI,{level:2,children:"Add new model"}),(0,a.jsx)(L.Z,{children:(0,a.jsxs)(k.Z,{form:f,onFinish:()=>{f.validateFields().then(e=>{eT(e,s,f)}).catch(e=>{console.error("Validation failed:",e)})},labelCol:{span:10},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Provider:",name:"custom_llm_provider",tooltip:"E.g. OpenAI, Azure OpenAI, Anthropic, Bedrock, etc.",labelCol:{span:10},labelAlign:"left",children:(0,a.jsx)(W.Z,{value:J.toString(),children:F.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>{lv(e),X(e)},children:e},l))})}),(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Public Model Name",name:"model_name",tooltip:"Model name your users will pass in. Also used for load-balancing, LiteLLM will load balance between all models with this public name.",className:"mb-0",children:(0,a.jsx)(j.Z,{})}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsx)(_.Z,{className:"mb-3 mt-1",children:"Model name your users will pass in."})})]}),(0,a.jsxs)(k.Z.Item,{label:"LiteLLM Model Name(s)",tooltip:"Actual model name used for making litellm.completion() / litellm.embedding() call.",className:"mb-0",children:[(0,a.jsx)(k.Z.Item,{name:"model",rules:[{required:!0,message:"Required"}],noStyle:!0,children:"Azure"===J||"OpenAI-Compatible Endpoints (Together AI, etc.)"===J||"Ollama"===J?(0,a.jsx)(j.Z,{placeholder:lI(J.toString())}):P.length>0?(0,a.jsxs)(ec.Z,{children:[(0,a.jsx)(em.Z,{value:"custom",children:"Custom Model Name (Enter below)"}),P.map((e,l)=>(0,a.jsx)(em.Z,{value:e,children:e},l))]}):(0,a.jsx)(j.Z,{placeholder:lI(J.toString())})}),(0,a.jsx)(k.Z.Item,{noStyle:!0,shouldUpdate:(e,l)=>e.model!==l.model,children:e=>{let{getFieldValue:l}=e;return(l("model")||[]).includes("custom")&&(0,a.jsx)(k.Z.Item,{name:"custom_model_name",rules:[{required:!0,message:"Please enter a custom model name"}],className:"mt-2",children:(0,a.jsx)(j.Z,{placeholder:"Enter custom model name"})})}})]}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsxs)(_.Z,{className:"mb-3 mt-1",children:["Actual model name used for making"," ",(0,a.jsx)(eA,{href:"https://docs.litellm.ai/docs/providers",target:"_blank",children:"litellm.completion() call"}),". We'll"," ",(0,a.jsx)(eA,{href:"https://docs.litellm.ai/docs/proxy/reliability#step-1---set-deployments-on-config",target:"_blank",children:"loadbalance"})," ","models with the same 'public name'"]})})]}),void 0!==l&&l.fields.length>0&&(0,a.jsx)(ew,{fields:l.fields,selectedProvider:l.name}),"Amazon Bedrock"!=J&&"Vertex AI (Anthropic, Gemini, etc.)"!=J&&"Ollama"!=J&&(void 0===l||0==l.fields.length)&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"API Key",name:"api_key",children:(0,a.jsx)(j.Z,{placeholder:"sk-",type:"password"})}),"OpenAI"==J&&(0,a.jsx)(k.Z.Item,{label:"Organization ID",name:"organization",children:(0,a.jsx)(j.Z,{placeholder:"[OPTIONAL] my-unique-org"})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Vertex Project",name:"vertex_project",children:(0,a.jsx)(j.Z,{placeholder:"adroit-cadet-1234.."})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Vertex Location",name:"vertex_location",children:(0,a.jsx)(j.Z,{placeholder:"us-east-1"})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"Vertex Credentials",name:"vertex_credentials",className:"mb-0",children:(0,a.jsx)(eb.Z,{name:"file",accept:".json",beforeUpload:e=>{if("application/json"===e.type){let l=new FileReader;l.onload=e=>{if(e.target){let l=e.target.result;f.setFieldsValue({vertex_credentials:l})}},l.readAsText(e)}return!1},onChange(e){"uploading"!==e.file.status&&console.log(e.file,e.fileList),"done"===e.file.status?S.ZP.success("".concat(e.file.name," file uploaded successfully")):"error"===e.file.status&&S.ZP.error("".concat(e.file.name," file upload failed."))},children:(0,a.jsx)(A.ZP,{icon:(0,a.jsx)(ey.Z,{}),children:"Click to Upload"})})}),"Vertex AI (Anthropic, Gemini, etc.)"==J&&(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsx)(_.Z,{className:"mb-3 mt-1",children:"Give litellm a gcp service account(.json file), so it can make the relevant calls"})})]}),("Azure"==J||"OpenAI-Compatible Endpoints (Together AI, etc.)"==J)&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"API Base",name:"api_base",children:(0,a.jsx)(j.Z,{placeholder:"https://..."})}),"Azure"==J&&(0,a.jsx)(k.Z.Item,{label:"API Version",name:"api_version",tooltip:"By default litellm will use the latest version. If you want to use a different version, you can specify it here",children:(0,a.jsx)(j.Z,{placeholder:"2023-07-01-preview"})}),"Azure"==J&&(0,a.jsxs)("div",{children:[(0,a.jsx)(k.Z.Item,{label:"Base Model",name:"base_model",className:"mb-0",children:(0,a.jsx)(j.Z,{placeholder:"azure/gpt-3.5-turbo"})}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsxs)(_.Z,{className:"mb-2",children:["The actual model your azure deployment uses. Used for accurate cost tracking. Select name from"," ",(0,a.jsx)(eA,{href:"https://github.com/BerriAI/litellm/blob/main/model_prices_and_context_window.json",target:"_blank",children:"here"})]})})]})]}),"Amazon Bedrock"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"AWS Access Key ID",name:"aws_access_key_id",tooltip:"You can provide the raw key or the environment variable (e.g. `os.environ/MY_SECRET_KEY`).",children:(0,a.jsx)(j.Z,{placeholder:""})}),"Amazon Bedrock"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"AWS Secret Access Key",name:"aws_secret_access_key",tooltip:"You can provide the raw key or the environment variable (e.g. `os.environ/MY_SECRET_KEY`).",children:(0,a.jsx)(j.Z,{placeholder:""})}),"Amazon Bedrock"==J&&(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"AWS Region Name",name:"aws_region_name",tooltip:"You can provide the raw key or the environment variable (e.g. `os.environ/MY_SECRET_KEY`).",children:(0,a.jsx)(j.Z,{placeholder:"us-east-1"})}),(0,a.jsx)(k.Z.Item,{label:"LiteLLM Params",name:"litellm_extra_params",tooltip:"Optional litellm params used for making a litellm.completion() call.",className:"mb-0",children:(0,a.jsx)(eZ.Z,{rows:4,placeholder:'{ "rpm": 100, "timeout": 0, "stream_timeout": 0 }'})}),(0,a.jsxs)(ej.Z,{children:[(0,a.jsx)(ep.Z,{span:10}),(0,a.jsx)(ep.Z,{span:10,children:(0,a.jsxs)(_.Z,{className:"mb-3 mt-1",children:["Pass JSON of litellm supported params"," ",(0,a.jsx)(eA,{href:"https://docs.litellm.ai/docs/completion/input",target:"_blank",children:"litellm.completion() call"})]})})]})]}),(0,a.jsx)("div",{style:{textAlign:"center",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add Model"})}),(0,a.jsx)(ex.Z,{title:"Get help on our github",children:(0,a.jsx)(el.default.Link,{href:"https://github.com/BerriAI/litellm/issues",children:"Need Help?"})})]})})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(_.Z,{children:"`/health` will run a very small request through your models configured on litellm"}),(0,a.jsx)(p.Z,{onClick:lk,children:"Run `/health`"}),$&&(0,a.jsx)("pre",{children:JSON.stringify($,null,2)})]})}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(x.Z,{numItems:4,className:"mt-2 mb-2",children:[(0,a.jsxs)(ep.Z,{children:[(0,a.jsx)(_.Z,{children:"Select Time Range"}),(0,a.jsx)(en.Z,{enableSelect:!0,value:e8,className:"mr-2",onValueChange:e=>{e3(e),lS(eD,e.from,e.to)}})]}),(0,a.jsxs)(ep.Z,{className:"ml-2",children:[(0,a.jsx)(_.Z,{children:"Select Model Group"}),(0,a.jsx)(W.Z,{defaultValue:eD||eR[0],value:eD||eR[0],children:eR.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>lS(e,e8.from,e8.to),children:e},l))})]}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(eg.Z,{trigger:"click",content:lw,overlayStyle:{width:"20vw"},children:(0,a.jsx)(p.Z,{icon:ef.Z,size:"md",variant:"secondary",className:"mt-4 ml-2",style:{border:"none"},onClick:()=>lr(!0)})})})]}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsx)(ep.Z,{children:(0,a.jsx)(L.Z,{className:"mr-2 max-h-[400px] min-h-[400px]",children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{variant:"line",defaultValue:"1",children:[(0,a.jsx)(ea.Z,{value:"1",children:"Avg. Latency per Token"}),(0,a.jsx)(ea.Z,{value:"2",children:"✨ Time to first token"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsxs)(eo.Z,{children:[(0,a.jsx)("p",{className:"text-gray-500 italic",children:" (seconds/token)"}),(0,a.jsx)(_.Z,{className:"text-gray-500 italic mt-1 mb-1",children:"average Latency for successfull requests divided by the total tokens"}),eq&&eK&&(0,a.jsx)(eu.Z,{title:"Model Latency",className:"h-72",data:eq,showLegend:!1,index:"date",categories:eK,connectNulls:!0,customTooltip:lN})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eS,{modelMetrics:eH,modelMetricsCategories:eY,customTooltip:lN,premiumUser:h})})]})]})})}),(0,a.jsx)(ep.Z,{children:(0,a.jsx)(L.Z,{className:"ml-2 max-h-[400px] min-h-[400px] overflow-y-auto",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Deployment"}),(0,a.jsx)(B.Z,{children:"Success Responses"}),(0,a.jsxs)(B.Z,{children:["Slow Responses ",(0,a.jsx)("p",{children:"Success Responses taking 600+s"})]})]})}),(0,a.jsx)(z.Z,{children:e4.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.api_base}),(0,a.jsx)(V.Z,{children:e.total_count}),(0,a.jsx)(V.Z,{children:e.slow_count})]},l))})]})})})]}),(0,a.jsx)(x.Z,{numItems:1,className:"gap-2 w-full mt-2",children:(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(y.Z,{children:["All Exceptions for ",eD]}),(0,a.jsx)(eh.Z,{className:"h-60",data:eX,index:"model",categories:eQ,stack:!0,yAxisWidth:30})]})}),(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 w-full mt-2",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(y.Z,{children:["All Up Rate Limit Errors (429) for ",eD]}),(0,a.jsxs)(x.Z,{numItems:1,children:[(0,a.jsxs)(ep.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors ",ll.sum_num_rate_limit_exceptions]}),(0,a.jsx)(eh.Z,{className:"h-40",data:ll.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]}),(0,a.jsx)(ep.Z,{})]})]}),h?(0,a.jsx)(a.Fragment,{children:lt.map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.api_base?e.api_base:"Unknown API Base"}),(0,a.jsx)(x.Z,{numItems:1,children:(0,a.jsxs)(ep.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors (429) ",e.sum_num_rate_limit_exceptions]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]})})]},l))}):(0,a.jsx)(a.Fragment,{children:lt&<.length>0&<.slice(0,1).map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"✨ Rate Limit Errors by Deployment"}),(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to see exceptions for all deployments"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.api_base}),(0,a.jsx)(x.Z,{numItems:1,children:(0,a.jsxs)(ep.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Num Rate Limit Errors ",e.sum_num_rate_limit_exceptions]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["rose"],categories:["num_rate_limit_exceptions"],onValueChange:e=>console.log(e)})]})})]})]},l))})]})]}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)(_.Z,{children:"Filter by Public Model Name"}),(0,a.jsx)(W.Z,{className:"mb-4 mt-2 ml-2 w-50",defaultValue:eD||eR[0],value:eD||eR[0],onValueChange:e=>eU(e),children:eR.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>eU(e),children:e},l))})]}),(0,a.jsxs)(y.Z,{children:["Retry Policy for ",eD]}),(0,a.jsx)(_.Z,{className:"mb-6",children:"How many retries should be attempted based on the Exception"}),eP&&(0,a.jsx)("table",{children:(0,a.jsx)("tbody",{children:Object.entries(eP).map((e,l)=>{var s;let[t,n]=e,r=null==e6?void 0:null===(s=e6[eD])||void 0===s?void 0:s[n];return null==r&&(r=e9),(0,a.jsxs)("tr",{className:"flex justify-between items-center mt-2",children:[(0,a.jsx)("td",{children:(0,a.jsx)(_.Z,{children:t})}),(0,a.jsx)("td",{children:(0,a.jsx)(I.Z,{className:"ml-5",value:r,min:0,step:1,onChange:e=>{e7(l=>{var s;let t=null!==(s=null==l?void 0:l[eD])&&void 0!==s?s:{};return{...null!=l?l:{},[eD]:{...t,[n]:e}}})}})})]},l)})})}),(0,a.jsx)(p.Z,{className:"mt-6 mr-8",onClick:lg,children:"Save"})]})]})]})})},eO=e=>{let{isInvitationLinkModalVisible:l,setIsInvitationLinkModalVisible:s,baseUrl:t,invitationLinkData:n}=e,{Title:r,Paragraph:i}=el.default;return(0,a.jsxs)(w.Z,{title:"Invitation Link",visible:l,width:800,footer:null,onOk:()=>{s(!1)},onCancel:()=>{s(!1)},children:[(0,a.jsx)(i,{children:"Copy and send the generated link to onboard this user to the proxy."}),(0,a.jsxs)("div",{className:"flex justify-between pt-5 pb-2",children:[(0,a.jsx)(_.Z,{className:"text-base",children:"User ID"}),(0,a.jsx)(_.Z,{children:null==n?void 0:n.user_id})]}),(0,a.jsxs)("div",{className:"flex justify-between pt-5 pb-2",children:[(0,a.jsx)(_.Z,{children:"Invitation Link"}),(0,a.jsxs)(_.Z,{children:[t,"/ui?invitation_id=",null==n?void 0:n.id]})]}),(0,a.jsxs)("div",{className:"flex justify-end mt-5",children:[(0,a.jsx)("div",{}),(0,a.jsx)(b.CopyToClipboard,{text:"".concat(t,"/ui?invitation_id=").concat(null==n?void 0:n.id),onCopy:()=>S.ZP.success("Copied!"),children:(0,a.jsx)(p.Z,{variant:"primary",children:"Copy invitation link"})})]})]})};let{Option:eR}=v.default;var eF=e=>{let{userID:l,accessToken:s,teams:t,possibleUIRoles:n}=e,[o]=k.Z.useForm(),[d,c]=(0,r.useState)(!1),[m,h]=(0,r.useState)(null),[x,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)(!1),[y,b]=(0,r.useState)(null),I=(0,i.useRouter)();console.log=function(){};let[C,P]=(0,r.useState)("");(0,r.useEffect)(()=>{(async()=>{try{let e=await (0,u.So)(s,l,"any"),t=[];for(let l=0;l{if(I){let{protocol:e,host:l}=window.location;P("".concat(e,"/").concat(l))}},[I]);let T=async e=>{try{var t;S.ZP.info("Making API Call"),c(!0),console.log("formValues in create user:",e);let n=await (0,u.Ov)(s,null,e);console.log("user create Response:",n),h(n.key);let a=(null===(t=n.data)||void 0===t?void 0:t.user_id)||n.user_id;(0,u.XO)(s,a).then(e=>{b(e),f(!0)}),S.ZP.success("API user Created"),o.resetFields(),localStorage.removeItem("userData"+l)}catch(e){console.error("Error creating the user:",e)}};return(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto mb-0",onClick:()=>c(!0),children:"+ Invite User"}),(0,a.jsxs)(w.Z,{title:"Invite User",visible:d,width:800,footer:null,onOk:()=>{c(!1),o.resetFields()},onCancel:()=>{c(!1),h(null),o.resetFields()},children:[(0,a.jsx)(_.Z,{className:"mb-1",children:"Create a User who can own keys"}),(0,a.jsxs)(k.Z,{form:o,onFinish:T,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(k.Z.Item,{label:"User Email",name:"user_email",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"User Role",name:"user_role",children:(0,a.jsx)(v.default,{children:n&&Object.entries(n).map(e=>{let[l,{ui_label:s,description:t}]=e;return(0,a.jsx)(H.Z,{value:l,title:s,children:(0,a.jsxs)("div",{className:"flex",children:[s," ",(0,a.jsx)("p",{className:"ml-2",style:{color:"gray",fontSize:"12px"},children:t})]})},l)})})}),(0,a.jsx)(k.Z.Item,{label:"Team ID",name:"team_id",children:(0,a.jsx)(v.default,{placeholder:"Select Team ID",style:{width:"100%"},children:t?t.map(e=>(0,a.jsx)(eR,{value:e.team_id,children:e.team_alias},e.team_id)):(0,a.jsx)(eR,{value:null,children:"Default Team"},"default")})}),(0,a.jsx)(k.Z.Item,{label:"Metadata",name:"metadata",children:(0,a.jsx)(N.Z.TextArea,{rows:4,placeholder:"Enter metadata as JSON"})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create User"})})]})]}),m&&(0,a.jsx)(eO,{isInvitationLinkModalVisible:Z,setIsInvitationLinkModalVisible:f,baseUrl:C,invitationLinkData:y})]})},eM=e=>{let{visible:l,possibleUIRoles:s,onCancel:t,user:n,onSubmit:i}=e,[o,d]=(0,r.useState)(n),[c]=k.Z.useForm();(0,r.useEffect)(()=>{c.resetFields()},[n]);let m=async()=>{c.resetFields(),t()},u=async e=>{i(e),c.resetFields(),t()};return n?(0,a.jsx)(w.Z,{visible:l,onCancel:m,footer:null,title:"Edit User "+n.user_id,width:1e3,children:(0,a.jsx)(k.Z,{form:c,onFinish:u,initialValues:n,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"User Email",tooltip:"Email of the User",name:"user_email",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"user_id",name:"user_id",hidden:!0,children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"User Role",name:"user_role",children:(0,a.jsx)(v.default,{children:s&&Object.entries(s).map(e=>{let[l,{ui_label:s,description:t}]=e;return(0,a.jsx)(H.Z,{value:l,title:s,children:(0,a.jsxs)("div",{className:"flex",children:[s," ",(0,a.jsx)("p",{className:"ml-2",style:{color:"gray",fontSize:"12px"},children:t})]})},l)})})}),(0,a.jsx)(k.Z.Item,{label:"Spend (USD)",name:"spend",tooltip:"(float) - Spend of all LLM calls completed by this user",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)(k.Z.Item,{label:"User Budget (USD)",name:"max_budget",tooltip:"(float) - Maximum budget of this user",children:(0,a.jsx)(I.Z,{min:0,step:1})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})}):null};console.log=function(){};var eL=e=>{let{accessToken:l,token:s,keys:t,userRole:n,userID:i,teams:o,setKeys:d}=e,[c,m]=(0,r.useState)(null),[h,p]=(0,r.useState)(null),[j,g]=(0,r.useState)(0),[Z,f]=r.useState(null),[_,y]=(0,r.useState)(null),[b,v]=(0,r.useState)(!1),[k,w]=(0,r.useState)(null),[N,I]=(0,r.useState)({}),A=async()=>{w(null),v(!1)},C=async e=>{if(console.log("inside handleEditSubmit:",e),l&&s&&n&&i){try{await (0,u.pf)(l,e,null),S.ZP.success("User ".concat(e.user_id," updated successfully"))}catch(e){console.error("There was an error updating the user",e)}c&&m(c.map(l=>l.user_id===e.user_id?e:l)),w(null),v(!1)}};return((0,r.useEffect)(()=>{if(!l||!s||!n||!i)return;let e=async()=>{try{let e=await (0,u.Br)(l,null,n,!0,j,25);console.log("user data response:",e),m(e);let s=await (0,u.lg)(l);I(s)}catch(e){console.error("There was an error fetching the model data",e)}};l&&s&&n&&i&&e()},[l,s,n,i,j]),c&&l&&s&&n&&i)?(0,a.jsx)("div",{style:{width:"100%"},children:(0,a.jsxs)(x.Z,{className:"gap-2 p-2 h-[90vh] w-full mt-8",children:[(0,a.jsx)(eF,{userID:i,accessToken:l,teams:o,possibleUIRoles:N}),(0,a.jsxs)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[90vh] mb-4",children:[(0,a.jsx)("div",{className:"mb-4 mt-1"}),(0,a.jsx)(er.Z,{children:(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(U.Z,{className:"mt-5",children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"User ID"}),(0,a.jsx)(B.Z,{children:"User Email"}),(0,a.jsx)(B.Z,{children:"Role"}),(0,a.jsx)(B.Z,{children:"User Spend ($ USD)"}),(0,a.jsx)(B.Z,{children:"User Max Budget ($ USD)"}),(0,a.jsx)(B.Z,{children:"API Keys"}),(0,a.jsx)(B.Z,{})]})}),(0,a.jsx)(z.Z,{children:c.map(e=>{var l,s;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.user_id||"-"}),(0,a.jsx)(V.Z,{children:e.user_email||"-"}),(0,a.jsx)(V.Z,{children:(null==N?void 0:null===(l=N[null==e?void 0:e.user_role])||void 0===l?void 0:l.ui_label)||"-"}),(0,a.jsx)(V.Z,{children:e.spend?null===(s=e.spend)||void 0===s?void 0:s.toFixed(2):"-"}),(0,a.jsx)(V.Z,{children:e.max_budget?e.max_budget:"Unlimited"}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(x.Z,{numItems:2,children:e&&e.key_aliases&&e.key_aliases.filter(e=>null!==e).length>0?(0,a.jsxs)(M.Z,{size:"xs",color:"indigo",children:[e.key_aliases.filter(e=>null!==e).length,"\xa0Keys"]}):(0,a.jsx)(M.Z,{size:"xs",color:"gray",children:"No Keys"})})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:O.Z,onClick:()=>{w(e),v(!0)},children:"View Keys"})})]},e.user_id)})})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)("div",{className:"flex items-center",children:[(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsx)("div",{className:"flex-1 flex justify-between items-center"})]})})]})}),(0,a.jsx)(eM,{visible:b,possibleUIRoles:N,onCancel:A,user:k,onSubmit:C})]}),function(){if(!c)return null;let e=Math.ceil(c.length/25);return(0,a.jsxs)("div",{className:"flex justify-between items-center",children:[(0,a.jsxs)("div",{children:["Showing Page ",j+1," of ",e]}),(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)("button",{className:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-l focus:outline-none",disabled:0===j,onClick:()=>g(j-1),children:"← Prev"}),(0,a.jsx)("button",{className:"bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded-r focus:outline-none",onClick:()=>{g(j+1)},children:"Next →"})]})]})}()]})}):(0,a.jsx)("div",{children:"Loading..."})};console.log=function(){};var eD=e=>{let{teams:l,searchParams:s,accessToken:t,setTeams:n,userID:i,userRole:o}=e;(0,r.useEffect)(()=>{console.log("inside useeffect - ".concat(l)),null===l&&t&&(async()=>{let e=await (0,u.It)(t);console.log("givenTeams: ".concat(e)),n(e)})()},[l]);let[d]=k.Z.useForm(),[c]=k.Z.useForm(),{Title:m,Paragraph:g}=el.default,[Z,f]=(0,r.useState)(""),[y,b]=(0,r.useState)(!1),[C,P]=(0,r.useState)(l?l[0]:null),[T,E]=(0,r.useState)(!1),[R,G]=(0,r.useState)(!1),[Y,J]=(0,r.useState)([]),[X,$]=(0,r.useState)(!1),[Q,ee]=(0,r.useState)(null),[es,et]=(0,r.useState)({}),en=e=>{P(e),b(!0)},ea=async e=>{let s=e.team_id;if(console.log("handleEditSubmit:",e),null==t)return;let a=await (0,u.Gh)(t,e);l&&n(l.map(e=>e.team_id===s?a.data:e)),S.ZP.success("Team updated successfully"),b(!1),P(null)},er=async e=>{ee(e),$(!0)},ei=async()=>{if(null!=Q&&null!=l&&null!=t){try{await (0,u.rs)(t,Q);let e=l.filter(e=>e.team_id!==Q);n(e)}catch(e){console.error("Error deleting the team:",e)}$(!1),ee(null)}};(0,r.useEffect)(()=>{let e=async()=>{try{if(null===i||null===o||null===t||null===l)return;let e={},s=await (0,u.It)(t);for(let l=0;l{try{if(null===i||null===o)return;if(null!==t){let e=(await (0,u.So)(t,i,o)).data.map(e=>e.id);console.log("available_model_names:",e),J(e)}}catch(e){console.error("Error fetching user models:",e)}})(),e()},[t,i,o,l]);let eo=async e=>{try{if(null!=t){var s;let a=null==e?void 0:e.team_alias;if((null!==(s=null==l?void 0:l.map(e=>e.team_alias))&&void 0!==s?s:[]).includes(a))throw Error("Team alias ".concat(a," already exists, please pick another alias"));S.ZP.info("Creating Team");let r=await (0,u.hT)(t,e);null!==l?n([...l,r]):n([r]),console.log("response for team create call: ".concat(r)),S.ZP.success("Team created"),E(!1)}}catch(e){console.error("Error creating the team:",e),S.ZP.error("Error creating the team: "+e,20)}},ed=async e=>{try{if(null!=t&&null!=l){S.ZP.info("Adding Member");let s={role:"user",user_email:e.user_email,user_id:e.user_id},a=await (0,u.cu)(t,C.team_id,s);console.log("response for team create call: ".concat(a.data));let r=l.findIndex(e=>(console.log("team.team_id=".concat(e.team_id,"; response.data.team_id=").concat(a.data.team_id)),e.team_id===a.data.team_id));if(console.log("foundIndex: ".concat(r)),-1!==r){let e=[...l];e[r]=a.data,n(e),P(a.data)}G(!1)}}catch(e){console.error("Error creating the team:",e)}};return(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 p-8 h-[75vh] w-full mt-2",children:[(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(m,{level:4,children:"All Teams"}),(0,a.jsxs)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Team Name"}),(0,a.jsx)(B.Z,{children:"Team ID"}),(0,a.jsx)(B.Z,{children:"Spend (USD)"}),(0,a.jsx)(B.Z,{children:"Budget (USD)"}),(0,a.jsx)(B.Z,{children:"Models"}),(0,a.jsx)(B.Z,{children:"TPM / RPM Limits"}),(0,a.jsx)(B.Z,{children:"Info"})]})}),(0,a.jsx)(z.Z,{children:l&&l.length>0?l.map(e=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.team_alias}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",fontSize:"0.75em"},children:(0,a.jsx)(ex.Z,{title:e.team_id,children:e.team_id})}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:e.spend}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:null!==e.max_budget&&void 0!==e.max_budget?e.max_budget:"No limit"}),(0,a.jsx)(V.Z,{style:{maxWidth:"8-x",whiteSpace:"pre-wrap",overflow:"hidden"},children:Array.isArray(e.models)?(0,a.jsx)("div",{style:{display:"flex",flexDirection:"column"},children:0===e.models.length?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})}):e.models.map((e,l)=>"all-proxy-models"===e?(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"red",children:(0,a.jsx)(_.Z,{children:"All Proxy Models"})},l):(0,a.jsx)(M.Z,{size:"xs",className:"mb-1",color:"blue",children:(0,a.jsx)(_.Z,{children:e.length>30?"".concat(e.slice(0,30),"..."):e})},l))}):null}),(0,a.jsx)(V.Z,{style:{maxWidth:"4px",whiteSpace:"pre-wrap",overflow:"hidden"},children:(0,a.jsxs)(_.Z,{children:["TPM: ",e.tpm_limit?e.tpm_limit:"Unlimited"," ",(0,a.jsx)("br",{}),"RPM:"," ",e.rpm_limit?e.rpm_limit:"Unlimited"]})}),(0,a.jsxs)(V.Z,{children:[(0,a.jsxs)(_.Z,{children:[es&&e.team_id&&es[e.team_id]&&es[e.team_id].keys&&es[e.team_id].keys.length," ","Keys"]}),(0,a.jsxs)(_.Z,{children:[es&&e.team_id&&es[e.team_id]&&es[e.team_id].team_info&&es[e.team_id].team_info.members_with_roles&&es[e.team_id].team_info.members_with_roles.length," ","Members"]})]}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>en(e)}),(0,a.jsx)(D.Z,{onClick:()=>er(e.team_id),icon:F.Z,size:"sm"})]})]},e.team_id)):null})]}),X&&(0,a.jsx)("div",{className:"fixed z-10 inset-0 overflow-y-auto",children:(0,a.jsxs)("div",{className:"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0",children:[(0,a.jsx)("div",{className:"fixed inset-0 transition-opacity","aria-hidden":"true",children:(0,a.jsx)("div",{className:"absolute inset-0 bg-gray-500 opacity-75"})}),(0,a.jsx)("span",{className:"hidden sm:inline-block sm:align-middle sm:h-screen","aria-hidden":"true",children:"​"}),(0,a.jsxs)("div",{className:"inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full",children:[(0,a.jsx)("div",{className:"bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4",children:(0,a.jsx)("div",{className:"sm:flex sm:items-start",children:(0,a.jsxs)("div",{className:"mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left",children:[(0,a.jsx)("h3",{className:"text-lg leading-6 font-medium text-gray-900",children:"Delete Team"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)("p",{className:"text-sm text-gray-500",children:"Are you sure you want to delete this team ?"})})]})})}),(0,a.jsxs)("div",{className:"bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse",children:[(0,a.jsx)(p.Z,{onClick:ei,color:"red",className:"ml-2",children:"Delete"}),(0,a.jsx)(p.Z,{onClick:()=>{$(!1),ee(null)},children:"Cancel"})]})]})]})})]})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>E(!0),children:"+ Create New Team"}),(0,a.jsx)(w.Z,{title:"Create Team",visible:T,width:800,footer:null,onOk:()=>{E(!1),d.resetFields()},onCancel:()=>{E(!1),d.resetFields()},children:(0,a.jsxs)(k.Z,{form:d,onFinish:eo,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,a.jsx)(v.default.Option,{value:"all-proxy-models",children:"All Proxy Models"},"all-proxy-models"),Y.map(e=>(0,a.jsx)(v.default.Option,{value:e,children:e},e))]})}),(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create Team"})})]})})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(m,{level:4,children:"Team Members"}),(0,a.jsx)(g,{children:"If you belong to multiple teams, this setting controls which teams members you see."}),l&&l.length>0?(0,a.jsx)(W.Z,{defaultValue:"0",children:l.map((e,l)=>(0,a.jsx)(H.Z,{value:String(l),onClick:()=>{P(e)},children:e.team_alias},l))}):(0,a.jsxs)(g,{children:["No team created. ",(0,a.jsx)("b",{children:"Defaulting to personal account."})]})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Member Name"}),(0,a.jsx)(B.Z,{children:"Role"})]})}),(0,a.jsx)(z.Z,{children:C?C.members_with_roles.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.user_email?e.user_email:e.user_id?e.user_id:null}),(0,a.jsx)(V.Z,{children:e.role})]},l)):null})]})}),C&&(0,a.jsx)(e=>{let{visible:l,onCancel:s,team:t,onSubmit:n}=e,[r]=k.Z.useForm();return(0,a.jsx)(w.Z,{title:"Edit Team",visible:l,width:800,footer:null,onOk:()=>{r.validateFields().then(e=>{n({...e,team_id:t.team_id}),r.resetFields()}).catch(e=>{console.error("Validation failed:",e)})},onCancel:s,children:(0,a.jsxs)(k.Z,{form:r,onFinish:ea,initialValues:t,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Team Name",name:"team_alias",rules:[{required:!0,message:"Please input a team name"}],children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"Models",name:"models",children:(0,a.jsxs)(v.default,{mode:"multiple",placeholder:"Select models",style:{width:"100%"},children:[(0,a.jsx)(v.default.Option,{value:"all-proxy-models",children:"All Proxy Models"},"all-proxy-models"),Y&&Y.map(e=>(0,a.jsx)(v.default.Option,{value:e,children:e},e))]})}),(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})}),(0,a.jsx)(k.Z.Item,{label:"Tokens per minute Limit (TPM)",name:"tpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Requests per minute Limit (RPM)",name:"rpm_limit",children:(0,a.jsx)(I.Z,{step:1,width:400})}),(0,a.jsx)(k.Z.Item,{label:"Requests per minute Limit (RPM)",name:"team_id",hidden:!0})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Edit Team"})})]})})},{visible:y,onCancel:()=>{b(!1),P(null)},team:C,onSubmit:ea})]}),(0,a.jsxs)(h.Z,{numColSpan:1,children:[(0,a.jsx)(p.Z,{className:"mx-auto mb-5",onClick:()=>G(!0),children:"+ Add member"}),(0,a.jsx)(w.Z,{title:"Add member",visible:R,width:800,footer:null,onOk:()=>{G(!1),c.resetFields()},onCancel:()=>{G(!1),c.resetFields()},children:(0,a.jsxs)(k.Z,{form:d,onFinish:ed,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Email",name:"user_email",className:"mb-4",children:(0,a.jsx)(N.Z,{name:"user_email",className:"px-3 py-2 border rounded-md w-full"})}),(0,a.jsx)("div",{className:"text-center mb-4",children:"OR"}),(0,a.jsx)(k.Z.Item,{label:"User ID",name:"user_id",className:"mb-4",children:(0,a.jsx)(N.Z,{name:"user_id",className:"px-3 py-2 border rounded-md w-full"})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add member"})})]})})]})]})})},eU=e=>{let l,{searchParams:s,accessToken:t,showSSOBanner:n,premiumUser:o}=e,[d]=k.Z.useForm(),[c]=k.Z.useForm(),{Title:m,Paragraph:j}=el.default,[g,Z]=(0,r.useState)(""),[f,y]=(0,r.useState)(null),[b,v]=(0,r.useState)(null),[I,C]=(0,r.useState)(!1),[P,T]=(0,r.useState)(!1),[E,R]=(0,r.useState)(!1),[F,M]=(0,r.useState)(!1),[G,Y]=(0,r.useState)(!1),[J,X]=(0,r.useState)(!1),[$,Q]=(0,r.useState)(!1),[ee,es]=(0,r.useState)(!1),[et,en]=(0,r.useState)(!1),[ea,er]=(0,r.useState)([]),[ei,eo]=(0,r.useState)(null),ed=(0,i.useRouter)(),[ec,em]=(0,r.useState)(null);console.log=function(){};let[eu,eh]=(0,r.useState)(""),ex="All IP Addresses Allowed";try{l=window.location.origin}catch(e){l=""}l+="/fallback/login";let ep=async()=>{try{if(!0!==o){S.ZP.error("This feature is only available for premium users. Please upgrade your account.");return}if(t){let e=await (0,u.PT)(t);er(e&&e.length>0?e:[ex])}else er([ex])}catch(e){console.error("Error fetching allowed IPs:",e),S.ZP.error("Failed to fetch allowed IPs ".concat(e)),er([ex])}finally{!0===o&&Q(!0)}},ej=async e=>{try{if(t){await (0,u.eH)(t,e.ip);let l=await (0,u.PT)(t);er(l),S.ZP.success("IP address added successfully")}}catch(e){console.error("Error adding IP:",e),S.ZP.error("Failed to add IP address ".concat(e))}finally{es(!1)}},eg=async e=>{eo(e),en(!0)},eZ=async()=>{if(ei&&t)try{await (0,u.$I)(t,ei);let e=await (0,u.PT)(t);er(e.length>0?e:[ex]),S.ZP.success("IP address deleted successfully")}catch(e){console.error("Error deleting IP:",e),S.ZP.error("Failed to delete IP address ".concat(e))}finally{en(!1),eo(null)}},ef=()=>{X(!1)},e_=["proxy_admin","proxy_admin_viewer"];(0,r.useEffect)(()=>{if(ed){let{protocol:e,host:l}=window.location;eh("".concat(e,"//").concat(l))}},[ed]),(0,r.useEffect)(()=>{(async()=>{if(null!=t){let e=[],l=await (0,u.Xd)(t,"proxy_admin_viewer");l.forEach(l=>{e.push({user_role:l.user_role,user_id:l.user_id,user_email:l.user_email})}),console.log("proxy viewers: ".concat(l));let s=await (0,u.Xd)(t,"proxy_admin");s.forEach(l=>{e.push({user_role:l.user_role,user_id:l.user_id,user_email:l.user_email})}),console.log("proxy admins: ".concat(s)),console.log("combinedList: ".concat(e)),y(e),em(await (0,u.lg)(t))}})()},[t]);let ey=()=>{M(!1),c.resetFields(),d.resetFields()},eb=()=>{M(!1),c.resetFields(),d.resetFields()},ek=e=>(0,a.jsxs)(k.Z,{form:d,onFinish:e,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(k.Z.Item,{label:"Email",name:"user_email",className:"mb-8 mt-4",children:(0,a.jsx)(N.Z,{name:"user_email",className:"px-3 py-2 border rounded-md w-full"})})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},className:"mt-4",children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add member"})})]}),eS=(e,l,s)=>(0,a.jsxs)(k.Z,{form:d,onFinish:e,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{rules:[{required:!0,message:"Required"}],label:"User Role",name:"user_role",labelCol:{span:10},labelAlign:"left",children:(0,a.jsx)(W.Z,{value:l,children:e_.map((e,l)=>(0,a.jsx)(H.Z,{value:e,children:e},l))})}),(0,a.jsx)(k.Z.Item,{label:"Team ID",name:"user_id",hidden:!0,initialValue:s,valuePropName:"user_id",className:"mt-8",children:(0,a.jsx)(N.Z,{value:s,disabled:!0})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Update role"})})]}),ew=async e=>{try{if(null!=t&&null!=f){S.ZP.info("Making API Call");let l=await (0,u.pf)(t,e,null);console.log("response for team create call: ".concat(l));let s=f.findIndex(e=>(console.log("user.user_id=".concat(e.user_id,"; response.user_id=").concat(l.user_id)),e.user_id===l.user_id));console.log("foundIndex: ".concat(s)),-1==s&&(console.log("updates admin with new user"),f.push(l),y(f)),S.ZP.success("Refresh tab to see updated user role"),M(!1)}}catch(e){console.error("Error creating the key:",e)}},eN=async e=>{try{if(null!=t&&null!=f){var l;S.ZP.info("Making API Call");let s=await (0,u.pf)(t,e,"proxy_admin_viewer");console.log("response for team create call: ".concat(s));let n=(null===(l=s.data)||void 0===l?void 0:l.user_id)||s.user_id;(0,u.XO)(t,n).then(e=>{v(e),C(!0)});let a=f.findIndex(e=>(console.log("user.user_id=".concat(e.user_id,"; response.user_id=").concat(s.user_id)),e.user_id===s.user_id));console.log("foundIndex: ".concat(a)),-1==a&&(console.log("updates admin with new user"),f.push(s),y(f)),d.resetFields(),T(!1)}}catch(e){console.error("Error creating the key:",e)}},eI=async e=>{try{if(null!=t&&null!=f){var l;S.ZP.info("Making API Call"),e.user_email,e.user_id;let s=await (0,u.pf)(t,e,"proxy_admin"),n=(null===(l=s.data)||void 0===l?void 0:l.user_id)||s.user_id;(0,u.XO)(t,n).then(e=>{v(e),C(!0)}),console.log("response for team create call: ".concat(s));let a=f.findIndex(e=>(console.log("user.user_id=".concat(e.user_id,"; response.user_id=").concat(n)),e.user_id===s.user_id));console.log("foundIndex: ".concat(a)),-1==a&&(console.log("updates admin with new user"),f.push(s),y(f)),d.resetFields(),R(!1)}}catch(e){console.error("Error creating the key:",e)}},eA=async e=>{if(null==t)return;let l={environment_variables:{PROXY_BASE_URL:e.proxy_base_url,GOOGLE_CLIENT_ID:e.google_client_id,GOOGLE_CLIENT_SECRET:e.google_client_secret}};(0,u.K_)(t,l)};return console.log("admins: ".concat(null==f?void 0:f.length)),(0,a.jsxs)("div",{className:"w-full m-2 mt-2 p-8",children:[(0,a.jsx)(m,{level:4,children:"Admin Access "}),(0,a.jsxs)(j,{children:[n&&(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/ui#restrict-ui-access",children:"Requires SSO Setup"}),(0,a.jsx)("br",{}),(0,a.jsx)("b",{children:"Proxy Admin: "})," Can create keys, teams, users, add models, etc."," ",(0,a.jsx)("br",{}),(0,a.jsx)("b",{children:"Proxy Admin Viewer: "}),"Can just view spend. They cannot create keys, teams or grant users access to new models."," "]}),(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 p-2 w-full",children:[(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)(L.Z,{className:"w-full mx-auto flex-auto overflow-y-auto max-h-[50vh]",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Member Name"}),(0,a.jsx)(B.Z,{children:"Role"})]})}),(0,a.jsx)(z.Z,{children:f?f.map((e,l)=>{var s;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.user_email?e.user_email:e.user_id?e.user_id:null}),(0,a.jsxs)(V.Z,{children:[" ",(null==ec?void 0:null===(s=ec[null==e?void 0:e.user_role])||void 0===s?void 0:s.ui_label)||"-"]}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>M(!0)}),(0,a.jsx)(w.Z,{title:"Update role",visible:F,width:800,footer:null,onOk:ey,onCancel:eb,children:eS(ew,e.user_role,e.user_id)})]})]},l)}):null})]})})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)("div",{className:"flex justify-start",children:[(0,a.jsx)(p.Z,{className:"mr-4 mb-5",onClick:()=>R(!0),children:"+ Add admin"}),(0,a.jsx)(w.Z,{title:"Add admin",visible:E,width:800,footer:null,onOk:()=>{R(!1),c.resetFields(),d.resetFields()},onCancel:()=>{R(!1),C(!1),c.resetFields(),d.resetFields()},children:ek(eI)}),(0,a.jsx)(eO,{isInvitationLinkModalVisible:I,setIsInvitationLinkModalVisible:C,baseUrl:eu,invitationLinkData:b}),(0,a.jsx)(p.Z,{className:"mb-5",onClick:()=>T(!0),children:"+ Add viewer"}),(0,a.jsx)(w.Z,{title:"Add viewer",visible:P,width:800,footer:null,onOk:()=>{T(!1),c.resetFields(),d.resetFields()},onCancel:()=>{T(!1),c.resetFields(),d.resetFields()},children:ek(eN)})]})})]}),(0,a.jsxs)(x.Z,{children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(m,{level:4,children:" ✨ Security Settings"}),(0,a.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"1rem",marginTop:"1rem"},children:[(0,a.jsx)("div",{children:(0,a.jsx)(p.Z,{onClick:()=>!0===o?Y(!0):S.ZP.error("Only premium users can add SSO"),children:"Add SSO"})}),(0,a.jsx)("div",{children:(0,a.jsx)(p.Z,{onClick:ep,children:"Allowed IPs"})})]})]}),(0,a.jsxs)("div",{className:"flex justify-start mb-4",children:[(0,a.jsx)(w.Z,{title:"Add SSO",visible:G,width:800,footer:null,onOk:()=>{Y(!1),d.resetFields()},onCancel:()=>{Y(!1),d.resetFields()},children:(0,a.jsxs)(k.Z,{form:d,onFinish:e=>{eI(e),eA(e),Y(!1),X(!0)},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Admin Email",name:"user_email",rules:[{required:!0,message:"Please enter the email of the proxy admin"}],children:(0,a.jsx)(N.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"PROXY BASE URL",name:"proxy_base_url",rules:[{required:!0,message:"Please enter the proxy base url"}],children:(0,a.jsx)(N.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"GOOGLE CLIENT ID",name:"google_client_id",rules:[{required:!0,message:"Please enter the google client id"}],children:(0,a.jsx)(N.Z.Password,{})}),(0,a.jsx)(k.Z.Item,{label:"GOOGLE CLIENT SECRET",name:"google_client_secret",rules:[{required:!0,message:"Please enter the google client secret"}],children:(0,a.jsx)(N.Z.Password,{})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})}),(0,a.jsxs)(w.Z,{title:"SSO Setup Instructions",visible:J,width:800,footer:null,onOk:ef,onCancel:()=>{X(!1)},children:[(0,a.jsx)("p",{children:"Follow these steps to complete the SSO setup:"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"1. DO NOT Exit this TAB"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"2. Open a new tab, visit your proxy base url"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"3. Confirm your SSO is configured correctly and you can login on the new Tab"}),(0,a.jsx)(_.Z,{className:"mt-2",children:"4. If Step 3 is successful, you can close this tab"}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{onClick:ef,children:"Done"})})]}),(0,a.jsx)(w.Z,{title:"Manage Allowed IP Addresses",width:800,visible:$,onCancel:()=>Q(!1),footer:[(0,a.jsx)(p.Z,{className:"mx-1",onClick:()=>es(!0),children:"Add IP Address"},"add"),(0,a.jsx)(p.Z,{onClick:()=>Q(!1),children:"Close"},"close")],children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"IP Address"}),(0,a.jsx)(B.Z,{className:"text-right",children:"Action"})]})}),(0,a.jsx)(z.Z,{children:ea.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e}),(0,a.jsx)(V.Z,{className:"text-right",children:e!==ex&&(0,a.jsx)(p.Z,{onClick:()=>eg(e),color:"red",size:"xs",children:"Delete"})})]},l))})]})}),(0,a.jsx)(w.Z,{title:"Add Allowed IP Address",visible:ee,onCancel:()=>es(!1),footer:null,children:(0,a.jsxs)(k.Z,{onFinish:ej,children:[(0,a.jsx)(k.Z.Item,{name:"ip",rules:[{required:!0,message:"Please enter an IP address"}],children:(0,a.jsx)(N.Z,{placeholder:"Enter IP address"})}),(0,a.jsx)(k.Z.Item,{children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add IP Address"})})]})}),(0,a.jsx)(w.Z,{title:"Confirm Delete",visible:et,onCancel:()=>en(!1),onOk:eZ,footer:[(0,a.jsx)(p.Z,{className:"mx-1",onClick:()=>eZ(),children:"Yes"},"delete"),(0,a.jsx)(p.Z,{onClick:()=>en(!1),children:"Close"},"close")],children:(0,a.jsxs)("p",{children:["Are you sure you want to delete the IP address: ",ei,"?"]})})]}),(0,a.jsxs)(ev.Z,{title:"Login without SSO",color:"teal",children:["If you need to login without sso, you can access"," ",(0,a.jsxs)("a",{href:l,target:"_blank",children:[(0,a.jsx)("b",{children:l})," "]})]})]})]})},ez=s(42556),eV=s(90252),eq=e=>{let{alertingSettings:l,handleInputChange:s,handleResetField:t,handleSubmit:n,premiumUser:r}=e,[i]=k.Z.useForm();return(0,a.jsxs)(k.Z,{form:i,onFinish:()=>{let e=i.getFieldsValue();Object.values(e).some(e=>""===e||null==e)?console.log("Some form fields are empty."):n(e)},labelAlign:"left",children:[l.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{align:"center",children:[(0,a.jsx)(_.Z,{children:e.field_name}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:e.field_description})]}),e.premium_field?r?(0,a.jsx)(k.Z.Item,{name:e.field_name,children:(0,a.jsx)(V.Z,{children:"Integer"===e.field_type?(0,a.jsx)(I.Z,{step:1,value:e.field_value,onChange:l=>s(e.field_name,l)}):(0,a.jsx)(N.Z,{value:e.field_value,onChange:l=>s(e.field_name,l)})})}):(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{className:"flex items-center justify-center",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Enterprise Feature"})})}):(0,a.jsx)(k.Z.Item,{name:e.field_name,className:"mb-0",children:(0,a.jsx)(V.Z,{children:"Integer"===e.field_type?(0,a.jsx)(I.Z,{step:1,value:e.field_value,onChange:l=>s(e.field_name,l),className:"p-0"}):(0,a.jsx)(N.Z,{value:e.field_value,onChange:l=>s(e.field_name,l)})})}),(0,a.jsx)(V.Z,{children:!0==e.stored_in_db?(0,a.jsx)(M.Z,{icon:eV.Z,className:"text-white",children:"In DB"}):!1==e.stored_in_db?(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"In Config"}):(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"Not Set"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:F.Z,color:"red",onClick:()=>t(e.field_name,l),children:"Reset"})})]},l)),(0,a.jsx)("div",{children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Update Settings"})})]})},eB=e=>{let{accessToken:l,premiumUser:s}=e,[t,n]=(0,r.useState)([]);return console.log("INSIDE ALERTING SETTINGS"),(0,r.useEffect)(()=>{l&&(0,u.RQ)(l).then(e=>{n(e)})},[l]),(0,a.jsx)(eq,{alertingSettings:t,handleInputChange:(e,l)=>{n(t.map(s=>s.field_name===e?{...s,field_value:l}:s))},handleResetField:(e,s)=>{if(l)try{let l=t.map(l=>l.field_name===e?{...l,stored_in_db:null,field_value:l.field_default_value}:l);console.log("INSIDE HANDLE RESET FIELD"),n(l)}catch(e){console.log("ERROR OCCURRED!")}},handleSubmit:e=>{if(!l||null==e||void 0==e)return;let s={};t.forEach(e=>{s[e.field_name]=e.field_value});let n={...e,...s};try{(0,u.jA)(l,"alerting_args",n),S.ZP.success("Wait 10s for proxy to update.")}catch(e){}},premiumUser:s})},eK=s(84406);let{Title:eW,Paragraph:eH}=el.default;console.log=function(){};var eG=e=>{let{accessToken:l,userRole:s,userID:t,premiumUser:n}=e,[i,o]=(0,r.useState)([]),[d,c]=(0,r.useState)([]),[m,h]=(0,r.useState)(!1),[g]=k.Z.useForm(),[Z,f]=(0,r.useState)(null),[y,b]=(0,r.useState)([]),[N,I]=(0,r.useState)(""),[C,P]=(0,r.useState)({}),[T,E]=(0,r.useState)([]),[R,F]=(0,r.useState)(!1),[M,W]=(0,r.useState)([]),[G,Y]=(0,r.useState)(null),[J,X]=(0,r.useState)([]),[$,Q]=(0,r.useState)(!1),[ee,el]=(0,r.useState)(null),es=e=>{T.includes(e)?E(T.filter(l=>l!==e)):E([...T,e])},et={llm_exceptions:"LLM Exceptions",llm_too_slow:"LLM Responses Too Slow",llm_requests_hanging:"LLM Requests Hanging",budget_alerts:"Budget Alerts (API Keys, Users)",db_exceptions:"Database Exceptions (Read/Write)",daily_reports:"Weekly/Monthly Spend Reports",outage_alerts:"Outage Alerts",region_outage_alerts:"Region Outage Alerts"};(0,r.useEffect)(()=>{l&&s&&t&&(0,u.BL)(l,t,s).then(e=>{console.log("callbacks",e),o(e.callbacks),W(e.available_callbacks);let l=e.alerts;if(console.log("alerts_data",l),l&&l.length>0){let e=l[0];console.log("_alert_info",e);let s=e.variables.SLACK_WEBHOOK_URL;console.log("catch_all_webhook",s),E(e.active_alerts),I(s),P(e.alerts_to_webhook)}c(l)})},[l,s,t]);let en=e=>T&&T.includes(e),ec=()=>{if(!l)return;let e={};d.filter(e=>"email"===e.name).forEach(l=>{var s;Object.entries(null!==(s=l.variables)&&void 0!==s?s:{}).forEach(l=>{let[s,t]=l,n=document.querySelector('input[name="'.concat(s,'"]'));n&&n.value&&(e[s]=null==n?void 0:n.value)})}),console.log("updatedVariables",e);try{(0,u.K_)(l,{general_settings:{alerting:["email"]},environment_variables:e})}catch(e){S.ZP.error("Failed to update alerts: "+e,20)}S.ZP.success("Email settings updated successfully")},em=async e=>{if(!l)return;let s={};Object.entries(e).forEach(e=>{let[l,t]=e;"callback"!==l&&(s[l]=t)});try{await (0,u.K_)(l,{environment_variables:s}),S.ZP.success("Callback added successfully"),h(!1),g.resetFields(),f(null)}catch(e){S.ZP.error("Failed to add callback: "+e,20)}},eu=async e=>{if(!l)return;let s=null==e?void 0:e.callback,t={};Object.entries(e).forEach(e=>{let[l,s]=e;"callback"!==l&&(t[l]=s)});try{await (0,u.K_)(l,{environment_variables:t,litellm_settings:{success_callback:[s]}}),S.ZP.success("Callback ".concat(s," added successfully")),h(!1),g.resetFields(),f(null)}catch(e){S.ZP.error("Failed to add callback: "+e,20)}},eh=e=>{console.log("inside handleSelectedCallbackChange",e),f(e.litellm_callback_name),console.log("all callbacks",M),e&&e.litellm_callback_params?(X(e.litellm_callback_params),console.log("selectedCallbackParams",J)):X([])};return l?(console.log("callbacks: ".concat(i)),(0,a.jsxs)("div",{className:"w-full mx-4",children:[(0,a.jsx)(x.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{variant:"line",defaultValue:"1",children:[(0,a.jsx)(ea.Z,{value:"1",children:"Logging Callbacks"}),(0,a.jsx)(ea.Z,{value:"2",children:"Alerting Types"}),(0,a.jsx)(ea.Z,{value:"3",children:"Alerting Settings"}),(0,a.jsx)(ea.Z,{value:"4",children:"Email Alerts"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsxs)(eo.Z,{children:[(0,a.jsx)(eW,{level:4,children:"Active Logging Callbacks"}),(0,a.jsx)(x.Z,{numItems:2,children:(0,a.jsx)(L.Z,{className:"max-h-[50vh]",children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsx)(K.Z,{children:(0,a.jsx)(B.Z,{children:"Callback Name"})})}),(0,a.jsx)(z.Z,{children:i.map((e,s)=>(0,a.jsxs)(K.Z,{className:"flex justify-between",children:[(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:e.name})}),(0,a.jsx)(V.Z,{children:(0,a.jsxs)(x.Z,{numItems:2,className:"flex justify-between",children:[(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>{el(e),Q(!0)}}),(0,a.jsx)(p.Z,{onClick:()=>(0,u.jE)(l,e.name),className:"ml-2",variant:"secondary",children:"Test Callback"})]})})]},s))})]})})}),(0,a.jsx)(p.Z,{className:"mt-2",onClick:()=>F(!0),children:"Add Callback"})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(_.Z,{className:"my-2",children:["Alerts are only supported for Slack Webhook URLs. Get your webhook urls from"," ",(0,a.jsx)("a",{href:"https://api.slack.com/messaging/webhooks",target:"_blank",style:{color:"blue"},children:"here"})]}),(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{}),(0,a.jsx)(B.Z,{}),(0,a.jsx)(B.Z,{children:"Slack Webhook URL"})]})}),(0,a.jsx)(z.Z,{children:Object.entries(et).map((e,l)=>{let[s,t]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:"region_outage_alerts"==s?n?(0,a.jsx)(ez.Z,{id:"switch",name:"switch",checked:en(s),onChange:()=>es(s)}):(0,a.jsx)(p.Z,{className:"flex items-center justify-center",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Enterprise Feature"})}):(0,a.jsx)(ez.Z,{id:"switch",name:"switch",checked:en(s),onChange:()=>es(s)})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:t})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(j.Z,{name:s,type:"password",defaultValue:C&&C[s]?C[s]:N})})]},l)})})]}),(0,a.jsx)(p.Z,{size:"xs",className:"mt-2",onClick:()=>{if(!l)return;let e={};Object.entries(et).forEach(l=>{let[s,t]=l,n=document.querySelector('input[name="'.concat(s,'"]'));console.log("key",s),console.log("webhookInput",n);let a=(null==n?void 0:n.value)||"";console.log("newWebhookValue",a),e[s]=a}),console.log("updatedAlertToWebhooks",e);let s={general_settings:{alert_to_webhook_url:e,alert_types:T}};console.log("payload",s);try{(0,u.K_)(l,s)}catch(e){S.ZP.error("Failed to update alerts: "+e,20)}S.ZP.success("Alerts updated successfully")},children:"Save Changes"}),(0,a.jsx)(p.Z,{onClick:()=>(0,u.jE)(l,"slack"),className:"mx-2",children:"Test Alerts"})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eB,{accessToken:l,premiumUser:n})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(eW,{level:4,children:"Email Settings"}),(0,a.jsxs)(_.Z,{children:[(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/email",target:"_blank",style:{color:"blue"},children:" LiteLLM Docs: email alerts"})," ",(0,a.jsx)("br",{})]}),(0,a.jsx)("div",{className:"flex w-full",children:d.filter(e=>"email"===e.name).map((e,l)=>{var s;return(0,a.jsx)(V.Z,{children:(0,a.jsx)("ul",{children:(0,a.jsx)(x.Z,{numItems:2,children:Object.entries(null!==(s=e.variables)&&void 0!==s?s:{}).map(e=>{let[l,s]=e;return(0,a.jsxs)("li",{className:"mx-2 my-2",children:[!0!=n&&("EMAIL_LOGO_URL"===l||"EMAIL_SUPPORT_CONTACT"===l)?(0,a.jsxs)("div",{children:[(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:(0,a.jsxs)(_.Z,{className:"mt-2",children:[" ","✨ ",l]})}),(0,a.jsx)(j.Z,{name:l,defaultValue:s,type:"password",disabled:!0,style:{width:"400px"}})]}):(0,a.jsxs)("div",{children:[(0,a.jsx)(_.Z,{className:"mt-2",children:l}),(0,a.jsx)(j.Z,{name:l,defaultValue:s,type:"password",style:{width:"400px"}})]}),(0,a.jsxs)("p",{style:{fontSize:"small",fontStyle:"italic"},children:["SMTP_HOST"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP host address, e.g. `smtp.resend.com`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_PORT"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP port number, e.g. `587`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_USERNAME"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the SMTP username, e.g. `username`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"SMTP_PASSWORD"===l&&(0,a.jsx)("span",{style:{color:"red"},children:" Required * "}),"SMTP_SENDER_EMAIL"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Enter the sender email address, e.g. `sender@berri.ai`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"TEST_EMAIL_ADDRESS"===l&&(0,a.jsxs)("div",{style:{color:"gray"},children:["Email Address to send `Test Email Alert` to. example: `info@berri.ai`",(0,a.jsx)("span",{style:{color:"red"},children:" Required * "})]}),"EMAIL_LOGO_URL"===l&&(0,a.jsx)("div",{style:{color:"gray"},children:"(Optional) Customize the Logo that appears in the email, pass a url to your logo"}),"EMAIL_SUPPORT_CONTACT"===l&&(0,a.jsx)("div",{style:{color:"gray"},children:"(Optional) Customize the support email address that appears in the email. Default is support@berri.ai"})]})]},l)})})})},l)})}),(0,a.jsx)(p.Z,{className:"mt-2",onClick:()=>ec(),children:"Save Changes"}),(0,a.jsx)(p.Z,{onClick:()=>(0,u.jE)(l,"email"),className:"mx-2",children:"Test Email Alerts"})]})})]})]})}),(0,a.jsxs)(w.Z,{title:"Add Logging Callback",visible:R,width:800,onCancel:()=>F(!1),footer:null,children:[(0,a.jsx)("a",{href:"https://docs.litellm.ai/docs/proxy/logging",className:"mb-8 mt-4",target:"_blank",style:{color:"blue"},children:" LiteLLM Docs: Logging"}),(0,a.jsx)(k.Z,{form:g,onFinish:eu,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(eK.Z,{label:"Callback",name:"callback",rules:[{required:!0,message:"Please select a callback"}],children:(0,a.jsx)(v.default,{onChange:e=>{let l=M[e];l&&(console.log(l.ui_callback_name),eh(l))},children:M&&Object.values(M).map(e=>(0,a.jsx)(H.Z,{value:e.litellm_callback_name,children:e.ui_callback_name},e.litellm_callback_name))})}),J&&J.map(e=>(0,a.jsx)(eK.Z,{label:e,name:e,rules:[{required:!0,message:"Please enter the value for "+e}],children:(0,a.jsx)(j.Z,{type:"password"})},e)),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})]}),(0,a.jsx)(w.Z,{visible:$,width:800,title:"Edit ".concat(null==ee?void 0:ee.name," Settings"),onCancel:()=>Q(!1),footer:null,children:(0,a.jsxs)(k.Z,{form:g,onFinish:em,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsx)(a.Fragment,{children:ee&&ee.variables&&Object.entries(ee.variables).map(e=>{let[l,s]=e;return(0,a.jsx)(eK.Z,{label:l,name:l,children:(0,a.jsx)(j.Z,{type:"password",defaultValue:s})},l)})}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Save"})})]})})]})):null};let{Option:eY}=v.default;var eJ=e=>{let{models:l,accessToken:s,routerSettings:t,setRouterSettings:n}=e,[i]=k.Z.useForm(),[o,d]=(0,r.useState)(!1),[c,m]=(0,r.useState)("");return(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>d(!0),children:"+ Add Fallbacks"}),(0,a.jsx)(w.Z,{title:"Add Fallbacks",visible:o,width:800,footer:null,onOk:()=>{d(!1),i.resetFields()},onCancel:()=>{d(!1),i.resetFields()},children:(0,a.jsxs)(k.Z,{form:i,onFinish:e=>{console.log(e);let{model_name:l,models:a}=e,r=[...t.fallbacks||[],{[l]:a}],o={...t,fallbacks:r};console.log(o);try{(0,u.K_)(s,{router_settings:o}),n(o)}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}S.ZP.success("router settings updated successfully"),d(!1),i.resetFields()},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Public Model Name",name:"model_name",rules:[{required:!0,message:"Set the model to fallback for"}],help:"required",children:(0,a.jsx)(W.Z,{defaultValue:c,children:l&&l.map((e,l)=>(0,a.jsx)(H.Z,{value:e,onClick:()=>m(e),children:e},l))})}),(0,a.jsx)(k.Z.Item,{label:"Fallback Models",name:"models",rules:[{required:!0,message:"Please select a model"}],help:"required",children:(0,a.jsx)(ec.Z,{value:l,children:l&&l.filter(e=>e!=c).map(e=>(0,a.jsx)(em.Z,{value:e,children:e},e))})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add Fallbacks"})})]})})]})},eX=s(12968);async function e$(e,l){console.log=function(){},console.log("isLocal:",!1);let s=window.location.origin,t=new eX.ZP.OpenAI({apiKey:l,baseURL:s,dangerouslyAllowBrowser:!0});try{let l=await t.chat.completions.create({model:e,messages:[{role:"user",content:"Hi, this is a test message"}],mock_testing_fallbacks:!0});S.ZP.success((0,a.jsxs)("span",{children:["Test model=",(0,a.jsx)("strong",{children:e}),", received model=",(0,a.jsx)("strong",{children:l.model}),". See"," ",(0,a.jsx)("a",{href:"#",onClick:()=>window.open("https://docs.litellm.ai/docs/proxy/reliability","_blank"),style:{textDecoration:"underline",color:"blue"},children:"curl"})]}))}catch(e){S.ZP.error("Error occurred while generating model response. Please try again. Error: ".concat(e),20)}}let eQ={ttl:3600,lowest_latency_buffer:0},e0=e=>{let{selectedStrategy:l,strategyArgs:s,paramExplanation:t}=e;return(0,a.jsxs)(g.Z,{children:[(0,a.jsx)(f.Z,{className:"text-sm font-medium text-tremor-content-strong dark:text-dark-tremor-content-strong",children:"Routing Strategy Specific Args"}),(0,a.jsx)(Z.Z,{children:"latency-based-routing"==l?(0,a.jsx)(L.Z,{children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Setting"}),(0,a.jsx)(B.Z,{children:"Value"})]})}),(0,a.jsx)(z.Z,{children:Object.entries(s).map(e=>{let[l,s]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(_.Z,{children:l}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:t[l]})]}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(j.Z,{name:l,defaultValue:"object"==typeof s?JSON.stringify(s,null,2):s.toString()})})]},l)})})]})}):(0,a.jsx)(_.Z,{children:"No specific settings"})})]})};var e1=e=>{let{accessToken:l,userRole:s,userID:t,modelData:n}=e,[i,o]=(0,r.useState)({}),[d,c]=(0,r.useState)({}),[m,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)(!1),[b]=k.Z.useForm(),[v,w]=(0,r.useState)(null),[N,A]=(0,r.useState)(null),[C,P]=(0,r.useState)(null),T={routing_strategy_args:"(dict) Arguments to pass to the routing strategy",routing_strategy:"(string) Routing strategy to use",allowed_fails:"(int) Number of times a deployment can fail before being added to cooldown",cooldown_time:"(int) time in seconds to cooldown a deployment after failure",num_retries:"(int) Number of retries for failed requests. Defaults to 0.",timeout:"(float) Timeout for requests. Defaults to None.",retry_after:"(int) Minimum time to wait before retrying a failed request",ttl:"(int) Sliding window to look back over when calculating the average latency of a deployment. Default - 1 hour (in seconds).",lowest_latency_buffer:"(float) Shuffle between deployments within this % of the lowest latency. Default - 0 (i.e. always pick lowest latency)."};(0,r.useEffect)(()=>{l&&s&&t&&((0,u.BL)(l,t,s).then(e=>{console.log("callbacks",e);let l=e.router_settings;"model_group_retry_policy"in l&&delete l.model_group_retry_policy,o(l)}),(0,u.YU)(l).then(e=>{g(e)}))},[l,s,t]);let E=async e=>{if(l){console.log("received key: ".concat(e)),console.log("routerSettings['fallbacks']: ".concat(i.fallbacks)),i.fallbacks.map(l=>(e in l&&delete l[e],l));try{await (0,u.K_)(l,{router_settings:i}),o({...i}),A(i.routing_strategy),S.ZP.success("Router settings updated successfully")}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}}},O=(e,l)=>{g(m.map(s=>s.field_name===e?{...s,field_value:l}:s))},R=(e,s)=>{if(!l)return;let t=m[s].field_value;if(null!=t&&void 0!=t)try{(0,u.jA)(l,e,t);let s=m.map(l=>l.field_name===e?{...l,stored_in_db:!0}:l);g(s)}catch(e){}},G=(e,s)=>{if(l)try{(0,u.ao)(l,e);let s=m.map(l=>l.field_name===e?{...l,stored_in_db:null,field_value:null}:l);g(s)}catch(e){}},Y=e=>{if(!l)return;console.log("router_settings",e);let s=Object.fromEntries(Object.entries(e).map(e=>{let[l,s]=e;if("routing_strategy_args"!==l&&"routing_strategy"!==l){var t;return[l,(null===(t=document.querySelector('input[name="'.concat(l,'"]')))||void 0===t?void 0:t.value)||s]}if("routing_strategy"==l)return[l,N];if("routing_strategy_args"==l&&"latency-based-routing"==N){let e={},l=document.querySelector('input[name="lowest_latency_buffer"]'),s=document.querySelector('input[name="ttl"]');return(null==l?void 0:l.value)&&(e.lowest_latency_buffer=Number(l.value)),(null==s?void 0:s.value)&&(e.ttl=Number(s.value)),console.log("setRoutingStrategyArgs: ".concat(e)),["routing_strategy_args",e]}return null}).filter(e=>null!=e));console.log("updatedVariables",s);try{(0,u.K_)(l,{router_settings:s})}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}S.ZP.success("router settings updated successfully")};return l?(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsxs)(er.Z,{className:"gap-2 p-8 h-[75vh] w-full mt-2",children:[(0,a.jsxs)(ei.Z,{variant:"line",defaultValue:"1",children:[(0,a.jsx)(ea.Z,{value:"1",children:"Loadbalancing"}),(0,a.jsx)(ea.Z,{value:"2",children:"Fallbacks"}),(0,a.jsx)(ea.Z,{value:"3",children:"General"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 p-8 w-full mt-2",children:[(0,a.jsx)(y.Z,{children:"Router Settings"}),(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Setting"}),(0,a.jsx)(B.Z,{children:"Value"})]})}),(0,a.jsx)(z.Z,{children:Object.entries(i).filter(e=>{let[l,s]=e;return"fallbacks"!=l&&"context_window_fallbacks"!=l&&"routing_strategy_args"!=l}).map(e=>{let[l,s]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(_.Z,{children:l}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:T[l]})]}),(0,a.jsx)(V.Z,{children:"routing_strategy"==l?(0,a.jsxs)(W.Z,{defaultValue:s,className:"w-full max-w-md",onValueChange:A,children:[(0,a.jsx)(H.Z,{value:"usage-based-routing",children:"usage-based-routing"}),(0,a.jsx)(H.Z,{value:"latency-based-routing",children:"latency-based-routing"}),(0,a.jsx)(H.Z,{value:"simple-shuffle",children:"simple-shuffle"})]}):(0,a.jsx)(j.Z,{name:l,defaultValue:"object"==typeof s?JSON.stringify(s,null,2):s.toString()})})]},l)})})]}),(0,a.jsx)(e0,{selectedStrategy:N,strategyArgs:i&&i.routing_strategy_args&&Object.keys(i.routing_strategy_args).length>0?i.routing_strategy_args:eQ,paramExplanation:T})]}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(p.Z,{className:"mt-2",onClick:()=>Y(i),children:"Save Changes"})})]})}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Model Name"}),(0,a.jsx)(B.Z,{children:"Fallbacks"})]})}),(0,a.jsx)(z.Z,{children:i.fallbacks&&i.fallbacks.map((e,s)=>Object.entries(e).map(e=>{let[t,n]=e;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:t}),(0,a.jsx)(V.Z,{children:Array.isArray(n)?n.join(", "):n}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(p.Z,{onClick:()=>e$(t,l),children:"Test Fallback"})}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:F.Z,size:"sm",onClick:()=>E(t)})})]},s.toString()+t)}))})]}),(0,a.jsx)(eJ,{models:(null==n?void 0:n.data)?n.data.map(e=>e.model_name):[],accessToken:l,routerSettings:i,setRouterSettings:o})]}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(L.Z,{children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Setting"}),(0,a.jsx)(B.Z,{children:"Value"}),(0,a.jsx)(B.Z,{children:"Status"}),(0,a.jsx)(B.Z,{children:"Action"})]})}),(0,a.jsx)(z.Z,{children:m.filter(e=>"TypedDictionary"!==e.field_type).map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(_.Z,{children:e.field_name}),(0,a.jsx)("p",{style:{fontSize:"0.65rem",color:"#808080",fontStyle:"italic"},className:"mt-1",children:e.field_description})]}),(0,a.jsx)(V.Z,{children:"Integer"==e.field_type?(0,a.jsx)(I.Z,{step:1,value:e.field_value,onChange:l=>O(e.field_name,l)}):null}),(0,a.jsx)(V.Z,{children:!0==e.stored_in_db?(0,a.jsx)(M.Z,{icon:eV.Z,className:"text-white",children:"In DB"}):!1==e.stored_in_db?(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"In Config"}):(0,a.jsx)(M.Z,{className:"text-gray bg-white outline",children:"Not Set"})}),(0,a.jsxs)(V.Z,{children:[(0,a.jsx)(p.Z,{onClick:()=>R(e.field_name,l),children:"Update"}),(0,a.jsx)(D.Z,{icon:F.Z,color:"red",onClick:()=>G(e.field_name,l),children:"Reset"})]})]},l))})]})})})]})]})}):null},e2=s(98786),e4=s(74325),e5=e=>{let{value:l={},onChange:s}=e,[t,n]=(0,r.useState)(Object.entries(l)),i=e=>{let l=t.filter((l,s)=>s!==e);n(l),null==s||s(Object.fromEntries(l))},o=(e,l,a)=>{let r=[...t];r[e]=[l,a],n(r),null==s||s(Object.fromEntries(r))};return(0,a.jsxs)("div",{children:[t.map((e,l)=>{let[s,t]=e;return(0,a.jsxs)(c.Z,{style:{display:"flex",marginBottom:8},align:"start",children:[(0,a.jsx)(j.Z,{placeholder:"Header Name",value:s,onChange:e=>o(l,e.target.value,t)}),(0,a.jsx)(j.Z,{placeholder:"Header Value",value:t,onChange:e=>o(l,s,e.target.value)}),(0,a.jsx)(e2.Z,{onClick:()=>i(l)})]},l)}),(0,a.jsx)(A.ZP,{type:"dashed",onClick:()=>{n([...t,["",""]])},icon:(0,a.jsx)(e4.Z,{}),children:"Add Header"})]})};let{Option:e8}=v.default;var e3=e=>{let{accessToken:l,setPassThroughItems:s,passThroughItems:t}=e,[n]=k.Z.useForm(),[i,o]=(0,r.useState)(!1),[d,c]=(0,r.useState)("");return(0,a.jsxs)("div",{children:[(0,a.jsx)(p.Z,{className:"mx-auto",onClick:()=>o(!0),children:"+ Add Pass-Through Endpoint"}),(0,a.jsx)(w.Z,{title:"Add Pass-Through Endpoint",visible:i,width:800,footer:null,onOk:()=>{o(!1),n.resetFields()},onCancel:()=>{o(!1),n.resetFields()},children:(0,a.jsxs)(k.Z,{form:n,onFinish:e=>{console.log(e);let a=[...t,{headers:e.headers,path:e.path,target:e.target}];try{(0,u.Vt)(l,e),s(a)}catch(e){S.ZP.error("Failed to update router settings: "+e,20)}S.ZP.success("Pass through endpoint successfully added"),o(!1),n.resetFields()},labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Path",name:"path",rules:[{required:!0,message:"The route to be added to the LiteLLM Proxy Server."}],help:"required",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"Target",name:"target",rules:[{required:!0,message:"The URL to which requests for this path should be forwarded."}],help:"required",children:(0,a.jsx)(j.Z,{})}),(0,a.jsx)(k.Z.Item,{label:"Headers",name:"headers",rules:[{required:!0,message:"Key-value pairs of headers to be forwarded with the request. You can set any key value pair here and it will be forwarded to your target endpoint"}],help:"required",children:(0,a.jsx)(e5,{})})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Add Pass-Through Endpoint"})})]})})]})},e6=e=>{let{accessToken:l,userRole:s,userID:t,modelData:n}=e,[i,o]=(0,r.useState)([]);(0,r.useEffect)(()=>{l&&s&&t&&(0,u.mp)(l).then(e=>{o(e.endpoints)})},[l,s,t]);let d=(e,s)=>{if(l)try{(0,u.EG)(l,e);let s=i.filter(l=>l.path!==e);o(s),S.ZP.success("Endpoint deleted successfully.")}catch(e){}};return l?(0,a.jsx)("div",{className:"w-full mx-4",children:(0,a.jsx)(er.Z,{className:"gap-2 p-8 h-[75vh] w-full mt-2",children:(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Path"}),(0,a.jsx)(B.Z,{children:"Target"}),(0,a.jsx)(B.Z,{children:"Headers"}),(0,a.jsx)(B.Z,{children:"Action"})]})}),(0,a.jsx)(z.Z,{children:i.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:(0,a.jsx)(_.Z,{children:e.path})}),(0,a.jsx)(V.Z,{children:e.target}),(0,a.jsx)(V.Z,{children:JSON.stringify(e.headers)}),(0,a.jsx)(V.Z,{children:(0,a.jsx)(D.Z,{icon:F.Z,color:"red",onClick:()=>d(e.path,l),children:"Reset"})})]},l))})]}),(0,a.jsx)(e3,{accessToken:l,setPassThroughItems:o,passThroughItems:i})]})})}):null},e7=e=>{let{isModalVisible:l,accessToken:s,setIsModalVisible:t,setBudgetList:n}=e,[r]=k.Z.useForm(),i=async e=>{if(null!=s&&void 0!=s)try{S.ZP.info("Making API Call");let l=await (0,u.Zr)(s,e);console.log("key create Response:",l),n(e=>e?[...e,l]:[l]),S.ZP.success("API Key Created"),r.resetFields()}catch(e){console.error("Error creating the key:",e),S.ZP.error("Error creating the key: ".concat(e),20)}};return(0,a.jsx)(w.Z,{title:"Create Budget",visible:l,width:800,footer:null,onOk:()=>{t(!1),r.resetFields()},onCancel:()=>{t(!1),r.resetFields()},children:(0,a.jsxs)(k.Z,{form:r,onFinish:i,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsxs)(g.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(f.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(Z.Z,{children:[(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Create Budget"})})]})})},e9=e=>{let{isModalVisible:l,accessToken:s,setIsModalVisible:t,setBudgetList:n,existingBudget:r}=e,[i]=k.Z.useForm(),o=async e=>{if(null!=s&&void 0!=s)try{S.ZP.info("Making API Call");let l=await (0,u.Zr)(s,e);console.log("key create Response:",l),n(e=>e?[...e,l]:[l]),S.ZP.success("API Key Created"),i.resetFields()}catch(e){console.error("Error creating the key:",e),S.ZP.error("Error creating the key: ".concat(e),20)}};return(0,a.jsx)(w.Z,{title:"Edit Budget",visible:l,width:800,footer:null,onOk:()=>{t(!1),i.resetFields()},onCancel:()=>{t(!1),i.resetFields()},children:(0,a.jsxs)(k.Z,{form:i,onFinish:o,labelCol:{span:8},wrapperCol:{span:16},labelAlign:"left",initialValues:r,children:[(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(k.Z.Item,{label:"Budget ID",name:"budget_id",rules:[{required:!0,message:"Please input a human-friendly name for the budget"}],help:"A human-friendly name for the budget",children:(0,a.jsx)(j.Z,{placeholder:""})}),(0,a.jsx)(k.Z.Item,{label:"Max Tokens per minute",name:"tpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{label:"Max Requests per minute",name:"rpm_limit",help:"Default is model limit.",children:(0,a.jsx)(I.Z,{step:1,precision:2,width:200})}),(0,a.jsxs)(g.Z,{className:"mt-20 mb-8",children:[(0,a.jsx)(f.Z,{children:(0,a.jsx)("b",{children:"Optional Settings"})}),(0,a.jsxs)(Z.Z,{children:[(0,a.jsx)(k.Z.Item,{label:"Max Budget (USD)",name:"max_budget",children:(0,a.jsx)(I.Z,{step:.01,precision:2,width:200})}),(0,a.jsx)(k.Z.Item,{className:"mt-8",label:"Reset Budget",name:"budget_duration",children:(0,a.jsxs)(v.default,{defaultValue:null,placeholder:"n/a",children:[(0,a.jsx)(v.default.Option,{value:"24h",children:"daily"}),(0,a.jsx)(v.default.Option,{value:"7d",children:"weekly"}),(0,a.jsx)(v.default.Option,{value:"30d",children:"monthly"})]})})]})]})]}),(0,a.jsx)("div",{style:{textAlign:"right",marginTop:"10px"},children:(0,a.jsx)(A.ZP,{htmlType:"submit",children:"Edit Budget"})})]})})},le=e=>{let{accessToken:l}=e,[s,t]=(0,r.useState)(!1),[n,i]=(0,r.useState)(!1),[o,d]=(0,r.useState)(null),[c,m]=(0,r.useState)([]);(0,r.useEffect)(()=>{l&&(0,u.O3)(l).then(e=>{m(e)})},[l]);let h=async(e,s)=>{null!=l&&(d(c[s]),i(!0))},x=async(e,s)=>{if(null==l)return;S.ZP.info("Request made"),await (0,u.NV)(l,e);let t=[...c];t.splice(s,1),m(t),S.ZP.success("Budget Deleted.")};return(0,a.jsxs)("div",{className:"w-full mx-auto flex-auto overflow-y-auto m-8 p-2",children:[(0,a.jsx)(p.Z,{size:"sm",variant:"primary",className:"mb-2",onClick:()=>t(!0),children:"+ Create Budget"}),(0,a.jsx)(e7,{accessToken:l,isModalVisible:s,setIsModalVisible:t,setBudgetList:m}),o&&(0,a.jsx)(e9,{accessToken:l,isModalVisible:n,setIsModalVisible:i,setBudgetList:m,existingBudget:o}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(_.Z,{children:"Create a budget to assign to customers."}),(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Budget ID"}),(0,a.jsx)(B.Z,{children:"Max Budget"}),(0,a.jsx)(B.Z,{children:"TPM"}),(0,a.jsx)(B.Z,{children:"RPM"})]})}),(0,a.jsx)(z.Z,{children:c.map((e,l)=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.budget_id}),(0,a.jsx)(V.Z,{children:e.max_budget?e.max_budget:"n/a"}),(0,a.jsx)(V.Z,{children:e.tpm_limit?e.tpm_limit:"n/a"}),(0,a.jsx)(V.Z,{children:e.rpm_limit?e.rpm_limit:"n/a"}),(0,a.jsx)(D.Z,{icon:O.Z,size:"sm",onClick:()=>h(e.budget_id,l)}),(0,a.jsx)(D.Z,{icon:F.Z,size:"sm",onClick:()=>x(e.budget_id,l)})]},l))})]})]}),(0,a.jsxs)("div",{className:"mt-5",children:[(0,a.jsx)(_.Z,{className:"text-base",children:"How to use budget id"}),(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{children:[(0,a.jsx)(ea.Z,{children:"Assign Budget to Customer"}),(0,a.jsx)(ea.Z,{children:"Test it (Curl)"}),(0,a.jsx)(ea.Z,{children:"Test it (OpenAI SDK)"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"bash",children:"\ncurl -X POST --location '/end_user/new' \n-H 'Authorization: Bearer ' \n-H 'Content-Type: application/json' \n-d '{\"user_id\": \"my-customer-id', \"budget_id\": \"\"}' # \uD83D\uDC48 KEY CHANGE\n\n "})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"bash",children:'\ncurl -X POST --location \'/chat/completions\' \n-H \'Authorization: Bearer \' \n-H \'Content-Type: application/json\' \n-d \'{\n "model": "gpt-3.5-turbo\', \n "messages":[{"role": "user", "content": "Hey, how\'s it going?"}],\n "user": "my-customer-id"\n}\' # \uD83D\uDC48 KEY CHANGE\n\n '})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'from openai import OpenAI\nclient = OpenAI(\n base_url="",\n api_key=""\n)\n\ncompletion = client.chat.completions.create(\n model="gpt-3.5-turbo",\n messages=[\n {"role": "system", "content": "You are a helpful assistant."},\n {"role": "user", "content": "Hello!"}\n ],\n user="my-customer-id"\n)\n\nprint(completion.choices[0].message)'})})]})]})]})]})},ll=s(41134),ls=e=>{let{proxySettings:l}=e,s="";return l&&l.PROXY_BASE_URL&&void 0!==l.PROXY_BASE_URL&&(s=l.PROXY_BASE_URL),(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(x.Z,{className:"gap-2 p-8 h-[80vh] w-full mt-2",children:(0,a.jsxs)("div",{className:"mb-5",children:[(0,a.jsx)("p",{className:"text-2xl text-tremor-content-strong dark:text-dark-tremor-content-strong font-semibold",children:"OpenAI Compatible Proxy: API Reference"}),(0,a.jsx)(_.Z,{className:"mt-2 mb-2",children:"LiteLLM is OpenAI Compatible. This means your API Key works with the OpenAI SDK. Just replace the base_url to point to your litellm proxy. Example Below "}),(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{children:[(0,a.jsx)(ea.Z,{children:"OpenAI Python SDK"}),(0,a.jsx)(ea.Z,{children:"LlamaIndex"}),(0,a.jsx)(ea.Z,{children:"Langchain Py"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'\nimport openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="'.concat(s,'" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="gpt-3.5-turbo", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)\n ')})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'\nimport os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="azure-gpt-3.5", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="'.concat(s,'", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="').concat(s,'",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)\n\n ')})}),(0,a.jsx)(eo.Z,{children:(0,a.jsx)(eN.Z,{language:"python",children:'\nfrom langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="'.concat(s,'",\n model = "gpt-3.5-turbo",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)\n\n ')})})]})]})]})})})};async function lt(e,l,s,t){console.log=function(){},console.log("isLocal:",!1);let n=window.location.origin,a=new eX.ZP.OpenAI({apiKey:t,baseURL:n,dangerouslyAllowBrowser:!0});try{for await(let t of(await a.chat.completions.create({model:s,stream:!0,messages:[{role:"user",content:e}]})))console.log(t),t.choices[0].delta.content&&l(t.choices[0].delta.content)}catch(e){S.ZP.error("Error occurred while generating model response. Please try again. Error: ".concat(e),20)}}var ln=e=>{let{accessToken:l,token:s,userRole:t,userID:n}=e,[i,o]=(0,r.useState)(""),[d,c]=(0,r.useState)(""),[m,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)(void 0),[y,b]=(0,r.useState)([]);(0,r.useEffect)(()=>{l&&s&&t&&n&&(async()=>{try{let e=await (0,u.So)(l,n,t);if(console.log("model_info:",e),(null==e?void 0:e.data.length)>0){let l=e.data.map(e=>({value:e.id,label:e.id}));if(console.log(l),l.length>0){let e=Array.from(new Set(l));console.log("Unique models:",e),e.sort((e,l)=>e.label.localeCompare(l.label)),console.log("Model info:",y),b(e)}f(e.data[0].id)}}catch(e){console.error("Error fetching model info:",e)}})()},[l,n,t]);let k=(e,l)=>{g(s=>{let t=s[s.length-1];return t&&t.role===e?[...s.slice(0,s.length-1),{role:e,content:t.content+l}]:[...s,{role:e,content:l}]})},S=async()=>{if(""!==d.trim()&&i&&s&&t&&n){g(e=>[...e,{role:"user",content:d}]);try{Z&&await lt(d,e=>k("assistant",e),Z,i)}catch(e){console.error("Error fetching model response",e),k("assistant","Error fetching model response")}c("")}};if(t&&"Admin Viewer"==t){let{Title:e,Paragraph:l}=el.default;return(0,a.jsxs)("div",{children:[(0,a.jsx)(e,{level:1,children:"Access Denied"}),(0,a.jsx)(l,{children:"Ask your proxy admin for access to test models"})]})}return(0,a.jsx)("div",{style:{width:"100%",position:"relative"},children:(0,a.jsx)(x.Z,{className:"gap-2 p-8 h-[80vh] w-full mt-2",children:(0,a.jsx)(L.Z,{children:(0,a.jsxs)(er.Z,{children:[(0,a.jsx)(ei.Z,{children:(0,a.jsx)(ea.Z,{children:"Chat"})}),(0,a.jsx)(ed.Z,{children:(0,a.jsxs)(eo.Z,{children:[(0,a.jsx)("div",{className:"sm:max-w-2xl",children:(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(_.Z,{children:"API Key"}),(0,a.jsx)(j.Z,{placeholder:"Type API Key here",type:"password",onValueChange:o,value:i})]}),(0,a.jsxs)(h.Z,{className:"mx-2",children:[(0,a.jsx)(_.Z,{children:"Select Model:"}),(0,a.jsx)(v.default,{placeholder:"Select a Model",onChange:e=>{console.log("selected ".concat(e)),f(e)},options:y,style:{width:"200px"}})]})]})}),(0,a.jsxs)(U.Z,{className:"mt-5",style:{display:"block",maxHeight:"60vh",overflowY:"auto"},children:[(0,a.jsx)(q.Z,{children:(0,a.jsx)(K.Z,{children:(0,a.jsx)(V.Z,{})})}),(0,a.jsx)(z.Z,{children:m.map((e,l)=>(0,a.jsx)(K.Z,{children:(0,a.jsx)(V.Z,{children:"".concat(e.role,": ").concat(e.content)})},l))})]}),(0,a.jsx)("div",{className:"mt-3",style:{position:"absolute",bottom:5,width:"95%"},children:(0,a.jsxs)("div",{className:"flex",children:[(0,a.jsx)(j.Z,{type:"text",value:d,onChange:e=>c(e.target.value),onKeyDown:e=>{"Enter"===e.key&&S()},placeholder:"Type your message..."}),(0,a.jsx)(p.Z,{onClick:S,className:"ml-2",children:"Send"})]})})]})})]})})})})},la=s(33509),lr=s(95781);let{Sider:li}=la.default,lo=["Admin","Admin Viewer","Internal User","Internal Viewer"];var ld=e=>{let{setPage:l,userRole:s,defaultSelectedKey:t}=e;return"Admin Viewer"==s?(0,a.jsx)(la.default,{style:{minHeight:"100vh",maxWidth:"120px"},children:(0,a.jsx)(li,{width:120,children:(0,a.jsxs)(lr.Z,{mode:"inline",defaultSelectedKeys:t||["4"],style:{height:"100%",borderRight:0},children:[(0,a.jsx)(lr.Z.Item,{onClick:()=>l("usage"),children:"Usage"},"1"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("teams"),children:(0,a.jsx)(_.Z,{children:"Teams"})},"6"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("caching"),children:(0,a.jsx)(_.Z,{children:"Caching"})},"9")]})})}):(0,a.jsx)(la.default,{style:{minHeight:"100vh",maxWidth:"145px"},children:(0,a.jsx)(li,{width:145,children:(0,a.jsxs)(lr.Z,{mode:"inline",defaultSelectedKeys:t||["1"],style:{height:"100%",borderRight:0},children:[(0,a.jsx)(lr.Z.Item,{onClick:()=>l("api-keys"),children:(0,a.jsx)(_.Z,{children:"Virtual Keys"})},"1"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("llm-playground"),children:(0,a.jsx)(_.Z,{children:"Test Key"})},"3"),"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("models"),children:(0,a.jsx)(_.Z,{children:"Models"})},"2"):null,lo.includes(s)?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("usage"),children:(0,a.jsx)(_.Z,{children:"Usage"})},"4"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("teams"),children:(0,a.jsx)(_.Z,{children:"Teams"})},"6"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("users"),children:(0,a.jsx)(_.Z,{children:"Internal Users"})},"5"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("settings"),children:(0,a.jsx)(_.Z,{children:"Logging & Alerts"})},"8"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("caching"),children:(0,a.jsx)(_.Z,{children:"Caching"})},"9"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("budgets"),children:(0,a.jsx)(_.Z,{children:"Budgets"})},"10"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("general-settings"),children:(0,a.jsx)(_.Z,{children:"Router Settings"})},"11"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("pass-through-settings"),children:(0,a.jsx)(_.Z,{children:"Pass-Through"})},"12"):null,"Admin"==s?(0,a.jsx)(lr.Z.Item,{onClick:()=>l("admin-panel"),children:(0,a.jsx)(_.Z,{children:"Admin Settings"})},"13"):null,(0,a.jsx)(lr.Z.Item,{onClick:()=>l("api_ref"),children:(0,a.jsx)(_.Z,{children:"API Reference"})},"14"),(0,a.jsx)(lr.Z.Item,{onClick:()=>l("model-hub"),children:(0,a.jsx)(_.Z,{children:"Model Hub"})},"16")]})})})},lc=s(67989),lm=s(52703);console.log("process.env.NODE_ENV","production"),console.log=function(){};let lu=e=>null!==e&&("Admin"===e||"Admin Viewer"===e);var lh=e=>{let{accessToken:l,token:s,userRole:t,userID:n,keys:i,premiumUser:o}=e,d=new Date,[c,m]=(0,r.useState)([]),[j,g]=(0,r.useState)([]),[Z,f]=(0,r.useState)([]),[b,v]=(0,r.useState)([]),[k,S]=(0,r.useState)([]),[w,N]=(0,r.useState)([]),[I,A]=(0,r.useState)([]),[C,P]=(0,r.useState)([]),[T,E]=(0,r.useState)([]),[O,R]=(0,r.useState)([]),[F,M]=(0,r.useState)({}),[D,G]=(0,r.useState)([]),[Y,X]=(0,r.useState)(""),[$,Q]=(0,r.useState)(["all-tags"]),[ee,el]=(0,r.useState)({from:new Date(Date.now()-6048e5),to:new Date}),es=new Date(d.getFullYear(),d.getMonth(),1),ex=new Date(d.getFullYear(),d.getMonth()+1,0),ep=e_(es),ej=e_(ex);function eg(e){return new Intl.NumberFormat("en-US",{maximumFractionDigits:0,notation:"compact",compactDisplay:"short"}).format(e)}console.log("keys in usage",i),console.log("premium user in usage",o),(0,r.useEffect)(()=>{ef(ee.from,ee.to)},[ee,$]);let eZ=async(e,s,t)=>{if(!e||!s||!l)return;s.setHours(23,59,59,999),e.setHours(0,0,0,0),console.log("uiSelectedKey",t);let n=await (0,u.b1)(l,t,e.toISOString(),s.toISOString());console.log("End user data updated successfully",n),v(n)},ef=async(e,s)=>{e&&s&&l&&(s.setHours(23,59,59,999),e.setHours(0,0,0,0),N((await (0,u.J$)(l,e.toISOString(),s.toISOString(),0===$.length?void 0:$)).spend_per_tag),console.log("Tag spend data updated successfully"))};function e_(e){let l=e.getFullYear(),s=e.getMonth()+1,t=e.getDate();return"".concat(l,"-").concat(s<10?"0"+s:s,"-").concat(t<10?"0"+t:t)}console.log("Start date is ".concat(ep)),console.log("End date is ".concat(ej));let ey=async(e,l,s)=>{try{let s=await e();l(s)}catch(e){console.error(s,e)}},eb=()=>ey(()=>l?(0,u.FC)(l):Promise.reject("No access token"),m,"Error fetching overall spend"),ev=()=>ey(()=>l&&s?(0,u.OU)(l,s,ep,ej):Promise.reject("No access token or token"),R,"Error fetching provider spend"),ek=async()=>{l&&await ey(async()=>(await (0,u.tN)(l)).map(e=>({key:(e.key_alias||e.key_name||e.api_key).substring(0,10),spend:e.total_spend})),g,"Error fetching top keys")},eS=async()=>{l&&await ey(async()=>(await (0,u.Au)(l)).map(e=>({key:e.model,spend:e.total_spend})),f,"Error fetching top models")},ew=async()=>{l&&await ey(async()=>{let e=await (0,u.mR)(l);return S(e.daily_spend),P(e.teams),e.total_spend_per_team.map(e=>({name:e.team_id||"",value:(e.total_spend||0).toFixed(2)}))},E,"Error fetching team spend")},eN=()=>{l&&ey(async()=>(await (0,u.X)(l)).tag_names,A,"Error fetching tag names")},eI=()=>{l&&ey(()=>{var e,s;return(0,u.J$)(l,null===(e=ee.from)||void 0===e?void 0:e.toISOString(),null===(s=ee.to)||void 0===s?void 0:s.toISOString(),void 0)},e=>N(e.spend_per_tag),"Error fetching top tags")},eA=()=>{l&&ey(()=>(0,u.b1)(l,null,void 0,void 0),v,"Error fetching top end users")},eC=()=>{l&&ey(()=>(0,u.wd)(l,ep,ej),M,"Error fetching global activity")},eP=()=>{l&&ey(()=>(0,u.xA)(l,ep,ej),G,"Error fetching global activity per model")};return(0,r.useEffect)(()=>{l&&s&&t&&n&&(eb(),ev(),ek(),eS(),eC(),eP(),lu(t)&&(ew(),eN(),eI(),eA()))},[l,s,t,n,ep,ej]),(0,a.jsx)("div",{style:{width:"100%"},className:"p-8",children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{className:"mt-2",children:[(0,a.jsx)(ea.Z,{children:"All Up"}),lu(t)?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(ea.Z,{children:"Team Based Usage"}),(0,a.jsx)(ea.Z,{children:"Customer Usage"}),(0,a.jsx)(ea.Z,{children:"Tag Based Usage"})]}):(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{})})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(er.Z,{children:[(0,a.jsxs)(ei.Z,{variant:"solid",className:"mt-1",children:[(0,a.jsx)(ea.Z,{children:"Cost"}),(0,a.jsx)(ea.Z,{children:"Activity"})]}),(0,a.jsxs)(ed.Z,{children:[(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:2,className:"gap-2 h-[100vh] w-full",children:[(0,a.jsx)(J,{userID:n,userRole:t,accessToken:l,userSpend:null,selectedTeam:null,userMaxBudget:null}),(0,a.jsx)(h.Z,{numColSpan:2,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Monthly Spend"}),(0,a.jsx)(eh.Z,{data:c,index:"date",categories:["spend"],colors:["blue"],valueFormatter:e=>"$ ".concat(new Intl.NumberFormat("us").format(e).toString()),yAxisWidth:100,tickGap:5})]})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Top API Keys"}),(0,a.jsx)(eh.Z,{className:"mt-4 h-40",data:j,index:"key",categories:["spend"],colors:["blue"],yAxisWidth:80,tickGap:5,layout:"vertical",showXAxis:!1,showLegend:!1})]})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Top Models"}),(0,a.jsx)(eh.Z,{className:"mt-4 h-40",data:Z,index:"key",categories:["spend"],colors:["blue"],yAxisWidth:200,layout:"vertical",showXAxis:!1,showLegend:!1})]})}),(0,a.jsx)(h.Z,{numColSpan:1}),(0,a.jsx)(h.Z,{numColSpan:2,children:(0,a.jsxs)(L.Z,{className:"mb-2",children:[(0,a.jsx)(y.Z,{children:"✨ Spend by Provider"}),o?(0,a.jsx)(a.Fragment,{children:(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)(lm.Z,{className:"mt-4 h-40",variant:"pie",data:O,index:"provider",category:"spend"})}),(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsxs)(U.Z,{children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Provider"}),(0,a.jsx)(B.Z,{children:"Spend"})]})}),(0,a.jsx)(z.Z,{children:O.map(e=>(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.provider}),(0,a.jsx)(V.Z,{children:1e-5>parseFloat(e.spend.toFixed(2))?"less than 0.00":e.spend.toFixed(2)})]},e.provider))})]})})]})}):(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to use this feature"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})})]})]})})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:1,className:"gap-2 h-[75vh] w-full",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"All Up"}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["API Requests ",eg(F.sum_api_requests)]}),(0,a.jsx)(eu.Z,{className:"h-40",data:F.daily_data,valueFormatter:eg,index:"date",colors:["cyan"],categories:["api_requests"],onValueChange:e=>console.log(e)})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Tokens ",eg(F.sum_total_tokens)]}),(0,a.jsx)(eh.Z,{className:"h-40",data:F.daily_data,valueFormatter:eg,index:"date",colors:["cyan"],categories:["total_tokens"],onValueChange:e=>console.log(e)})]})]})]}),o?(0,a.jsx)(a.Fragment,{children:D.map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.model}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["API Requests ",eg(e.sum_api_requests)]}),(0,a.jsx)(eu.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],categories:["api_requests"],valueFormatter:eg,onValueChange:e=>console.log(e)})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Tokens ",eg(e.sum_total_tokens)]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],categories:["total_tokens"],valueFormatter:eg,onValueChange:e=>console.log(e)})]})]})]},l))}):(0,a.jsx)(a.Fragment,{children:D&&D.length>0&&D.slice(0,1).map((e,l)=>(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"✨ Activity by Model"}),(0,a.jsx)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:"Upgrade to see analytics for all models"}),(0,a.jsx)(p.Z,{variant:"primary",className:"mb-2",children:(0,a.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"Get Free Trial"})}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:e.model}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["API Requests ",eg(e.sum_api_requests)]}),(0,a.jsx)(eu.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],categories:["api_requests"],valueFormatter:eg,onValueChange:e=>console.log(e)})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsxs)(et.Z,{style:{fontSize:"15px",fontWeight:"normal",color:"#535452"},children:["Tokens ",eg(e.sum_total_tokens)]}),(0,a.jsx)(eh.Z,{className:"h-40",data:e.daily_data,index:"date",colors:["cyan"],valueFormatter:eg,categories:["total_tokens"],onValueChange:e=>console.log(e)})]})]})]})]},l))})]})})]})]})}),(0,a.jsx)(eo.Z,{children:(0,a.jsxs)(x.Z,{numItems:2,className:"gap-2 h-[75vh] w-full",children:[(0,a.jsxs)(h.Z,{numColSpan:2,children:[(0,a.jsxs)(L.Z,{className:"mb-2",children:[(0,a.jsx)(y.Z,{children:"Total Spend Per Team"}),(0,a.jsx)(lc.Z,{data:T})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Daily Spend Per Team"}),(0,a.jsx)(eh.Z,{className:"h-72",data:k,showLegend:!0,index:"date",categories:C,yAxisWidth:80,stack:!0})]})]}),(0,a.jsx)(h.Z,{numColSpan:2})]})}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)("p",{className:"mb-2 text-gray-500 italic text-[12px]",children:["Customers of your LLM API calls. Tracked when a `user` param is passed in your LLM calls ",(0,a.jsx)("a",{className:"text-blue-500",href:"https://docs.litellm.ai/docs/proxy/users",target:"_blank",children:"docs here"})]}),(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(_.Z,{children:"Select Time Range"}),(0,a.jsx)(en.Z,{enableSelect:!0,value:ee,onValueChange:e=>{el(e),eZ(e.from,e.to,null)}})]}),(0,a.jsxs)(h.Z,{children:[(0,a.jsx)(_.Z,{children:"Select Key"}),(0,a.jsxs)(W.Z,{defaultValue:"all-keys",children:[(0,a.jsx)(H.Z,{value:"all-keys",onClick:()=>{eZ(ee.from,ee.to,null)},children:"All Keys"},"all-keys"),null==i?void 0:i.map((e,l)=>e&&null!==e.key_alias&&e.key_alias.length>0?(0,a.jsx)(H.Z,{value:String(l),onClick:()=>{eZ(ee.from,ee.to,e.token)},children:e.key_alias},l):null)]})]})]}),(0,a.jsx)(L.Z,{className:"mt-4",children:(0,a.jsxs)(U.Z,{className:"max-h-[70vh] min-h-[500px]",children:[(0,a.jsx)(q.Z,{children:(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(B.Z,{children:"Customer"}),(0,a.jsx)(B.Z,{children:"Spend"}),(0,a.jsx)(B.Z,{children:"Total Events"})]})}),(0,a.jsx)(z.Z,{children:null==b?void 0:b.map((e,l)=>{var s;return(0,a.jsxs)(K.Z,{children:[(0,a.jsx)(V.Z,{children:e.end_user}),(0,a.jsx)(V.Z,{children:null===(s=e.total_spend)||void 0===s?void 0:s.toFixed(4)}),(0,a.jsx)(V.Z,{children:e.total_count})]},l)})})]})})]}),(0,a.jsxs)(eo.Z,{children:[(0,a.jsxs)(x.Z,{numItems:2,children:[(0,a.jsx)(h.Z,{numColSpan:1,children:(0,a.jsx)(en.Z,{className:"mb-4",enableSelect:!0,value:ee,onValueChange:e=>{el(e),ef(e.from,e.to)}})}),(0,a.jsx)(h.Z,{children:o?(0,a.jsx)("div",{children:(0,a.jsxs)(ec.Z,{value:$,onValueChange:e=>Q(e),children:[(0,a.jsx)(em.Z,{value:"all-tags",onClick:()=>Q(["all-tags"]),children:"All Tags"},"all-tags"),I&&I.filter(e=>"all-tags"!==e).map((e,l)=>(0,a.jsx)(em.Z,{value:String(e),children:e},e))]})}):(0,a.jsx)("div",{children:(0,a.jsxs)(ec.Z,{value:$,onValueChange:e=>Q(e),children:[(0,a.jsx)(em.Z,{value:"all-tags",onClick:()=>Q(["all-tags"]),children:"All Tags"},"all-tags"),I&&I.filter(e=>"all-tags"!==e).map((e,l)=>(0,a.jsxs)(H.Z,{value:String(e),disabled:!0,children:["✨ ",e," (Enterprise only Feature)"]},e))]})})})]}),(0,a.jsxs)(x.Z,{numItems:2,className:"gap-2 h-[75vh] w-full mb-4",children:[(0,a.jsx)(h.Z,{numColSpan:2,children:(0,a.jsxs)(L.Z,{children:[(0,a.jsx)(y.Z,{children:"Spend Per Tag"}),(0,a.jsxs)(_.Z,{children:["Get Started Tracking cost per tag ",(0,a.jsx)("a",{className:"text-blue-500",href:"https://docs.litellm.ai/docs/proxy/cost_tracking",target:"_blank",children:"here"})]}),(0,a.jsx)(eh.Z,{className:"h-72",data:w,index:"name",categories:["spend"],colors:["blue"]})]})}),(0,a.jsx)(h.Z,{numColSpan:2})]})]})]})]})})};let lx=e=>{if(e)return e.toISOString().split("T")[0]};function lp(e){return new Intl.NumberFormat("en-US",{maximumFractionDigits:0,notation:"compact",compactDisplay:"short"}).format(e)}var lj=e=>{let{accessToken:l,token:s,userRole:t,userID:n,premiumUser:i}=e,[o,d]=(0,r.useState)([]),[c,m]=(0,r.useState)([]),[p,j]=(0,r.useState)([]),[g,Z]=(0,r.useState)([]),[f,_]=(0,r.useState)("0"),[y,b]=(0,r.useState)("0"),[v,k]=(0,r.useState)("0"),[S,w]=(0,r.useState)({from:new Date(Date.now()-6048e5),to:new Date});(0,r.useEffect)(()=>{l&&S&&(async()=>{Z(await (0,u.zg)(l,lx(S.from),lx(S.to)))})()},[l]);let N=Array.from(new Set(g.map(e=>{var l;return null!==(l=null==e?void 0:e.api_key)&&void 0!==l?l:""}))),I=Array.from(new Set(g.map(e=>{var l;return null!==(l=null==e?void 0:e.model)&&void 0!==l?l:""})));Array.from(new Set(g.map(e=>{var l;return null!==(l=null==e?void 0:e.call_type)&&void 0!==l?l:""})));let A=async(e,s)=>{e&&s&&l&&(s.setHours(23,59,59,999),e.setHours(0,0,0,0),Z(await (0,u.zg)(l,lx(e),lx(s))))};return(0,r.useEffect)(()=>{console.log("DATA IN CACHE DASHBOARD",g);let e=g;c.length>0&&(e=e.filter(e=>c.includes(e.api_key))),p.length>0&&(e=e.filter(e=>p.includes(e.model))),console.log("before processed data in cache dashboard",e);let l=0,s=0,t=0,n=e.reduce((e,n)=>{console.log("Processing item:",n),n.call_type||(console.log("Item has no call_type:",n),n.call_type="Unknown"),l+=(n.total_rows||0)-(n.cache_hit_true_rows||0),s+=n.cache_hit_true_rows||0,t+=n.cached_completion_tokens||0;let a=e.find(e=>e.name===n.call_type);return a?(a["LLM API requests"]+=(n.total_rows||0)-(n.cache_hit_true_rows||0),a["Cache hit"]+=n.cache_hit_true_rows||0,a["Cached Completion Tokens"]+=n.cached_completion_tokens||0,a["Generated Completion Tokens"]+=n.generated_completion_tokens||0):e.push({name:n.call_type,"LLM API requests":(n.total_rows||0)-(n.cache_hit_true_rows||0),"Cache hit":n.cache_hit_true_rows||0,"Cached Completion Tokens":n.cached_completion_tokens||0,"Generated Completion Tokens":n.generated_completion_tokens||0}),e},[]);_(lp(s)),b(lp(t));let a=s+l;a>0?k((s/a*100).toFixed(2)):k("0"),d(n),console.log("PROCESSED DATA IN CACHE DASHBOARD",n)},[c,p,S,g]),(0,a.jsxs)(L.Z,{children:[(0,a.jsxs)(x.Z,{numItems:3,className:"gap-4 mt-4",children:[(0,a.jsx)(h.Z,{children:(0,a.jsx)(ec.Z,{placeholder:"Select API Keys",value:c,onValueChange:m,children:N.map(e=>(0,a.jsx)(em.Z,{value:e,children:e},e))})}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(ec.Z,{placeholder:"Select Models",value:p,onValueChange:j,children:I.map(e=>(0,a.jsx)(em.Z,{value:e,children:e},e))})}),(0,a.jsx)(h.Z,{children:(0,a.jsx)(en.Z,{enableSelect:!0,value:S,onValueChange:e=>{w(e),A(e.from,e.to)},selectPlaceholder:"Select date range"})})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3 mt-4",children:[(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Cache Hit Ratio"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsxs)("p",{className:"text-tremor-metric font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:[v,"%"]})})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Cache Hits"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor-metric font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:f})})]}),(0,a.jsxs)(L.Z,{children:[(0,a.jsx)("p",{className:"text-tremor-default font-medium text-tremor-content dark:text-dark-tremor-content",children:"Cached Tokens"}),(0,a.jsx)("div",{className:"mt-2 flex items-baseline space-x-2.5",children:(0,a.jsx)("p",{className:"text-tremor-metric font-semibold text-tremor-content-strong dark:text-dark-tremor-content-strong",children:y})})]})]}),(0,a.jsx)(et.Z,{className:"mt-4",children:"Cache Hits vs API Requests"}),(0,a.jsx)(eh.Z,{title:"Cache Hits vs API Requests",data:o,stack:!0,index:"name",valueFormatter:lp,categories:["LLM API requests","Cache hit"],colors:["sky","teal"],yAxisWidth:48}),(0,a.jsx)(et.Z,{className:"mt-4",children:"Cached Completion Tokens vs Generated Completion Tokens"}),(0,a.jsx)(eh.Z,{className:"mt-6",data:o,stack:!0,index:"name",valueFormatter:lp,categories:["Generated Completion Tokens","Cached Completion Tokens"],colors:["sky","teal"],yAxisWidth:48})]})},lg=()=>{let{Title:e,Paragraph:l}=el.default,[s,t]=(0,r.useState)(""),[n,o]=(0,r.useState)(!1),[d,c]=(0,r.useState)(null),[h,x]=(0,r.useState)(null),[p,j]=(0,r.useState)(null),[g,Z]=(0,r.useState)({PROXY_BASE_URL:"",PROXY_LOGOUT_URL:""}),[f,_]=(0,r.useState)(!0),y=(0,i.useSearchParams)(),[b,v]=(0,r.useState)({data:[]}),k=y.get("userID"),S=y.get("invitation_id"),w=function(e){console.log("COOKIES",document.cookie);let l=document.cookie.split("; ").find(l=>l.startsWith(e+"="));return l?l.split("=")[1]:null}("token"),[N,I]=(0,r.useState)("api-keys"),[A,C]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(w){let e=(0,ee.o)(w);if(e){if(console.log("Decoded token:",e),console.log("Decoded key:",e.key),C(e.key),e.user_role){let l=function(e){if(!e)return"Undefined Role";switch(console.log("Received user role: ".concat(e.toLowerCase())),console.log("Received user role length: ".concat(e.toLowerCase().length)),e.toLowerCase()){case"app_owner":case"demo_app_owner":return"App Owner";case"app_admin":case"proxy_admin":return"Admin";case"proxy_admin_viewer":return"Admin Viewer";case"internal_user":return"Internal User";case"internal_viewer":return"Internal Viewer";case"app_user":return"App User";default:return"Unknown Role"}}(e.user_role);console.log("Decoded user_role:",l),t(l),"Admin Viewer"==l&&I("usage")}else console.log("User role not defined");e.user_email?c(e.user_email):console.log("User Email is not set ".concat(e)),e.login_method?_("username_password"==e.login_method):console.log("User Email is not set ".concat(e)),e.premium_user&&o(e.premium_user),e.auth_header_name&&(0,u.K8)(e.auth_header_name)}}},[w]),(0,a.jsx)(r.Suspense,{fallback:(0,a.jsx)("div",{children:"Loading..."}),children:S?(0,a.jsx)(es,{userID:k,userRole:s,premiumUser:n,teams:h,keys:p,setUserRole:t,userEmail:d,setUserEmail:c,setTeams:x,setKeys:j}):(0,a.jsxs)("div",{className:"flex flex-col min-h-screen",children:[(0,a.jsx)(m,{userID:k,userRole:s,userEmail:d,premiumUser:n,setProxySettings:Z,proxySettings:g}),(0,a.jsxs)("div",{className:"flex flex-1 overflow-auto",children:[(0,a.jsx)("div",{className:"mt-8",children:(0,a.jsx)(ld,{setPage:I,userRole:s,defaultSelectedKey:null})}),"api-keys"==N?(0,a.jsx)(es,{userID:k,userRole:s,premiumUser:n,teams:h,keys:p,setUserRole:t,userEmail:d,setUserEmail:c,setTeams:x,setKeys:j}):"models"==N?(0,a.jsx)(eE,{userID:k,userRole:s,token:w,keys:p,accessToken:A,modelData:b,setModelData:v,premiumUser:n}):"llm-playground"==N?(0,a.jsx)(ln,{userID:k,userRole:s,token:w,accessToken:A}):"users"==N?(0,a.jsx)(eL,{userID:k,userRole:s,token:w,keys:p,teams:h,accessToken:A,setKeys:j}):"teams"==N?(0,a.jsx)(eD,{teams:h,setTeams:x,searchParams:y,accessToken:A,userID:k,userRole:s}):"admin-panel"==N?(0,a.jsx)(eU,{setTeams:x,searchParams:y,accessToken:A,showSSOBanner:f,premiumUser:n}):"api_ref"==N?(0,a.jsx)(ls,{proxySettings:g}):"settings"==N?(0,a.jsx)(eG,{userID:k,userRole:s,accessToken:A,premiumUser:n}):"budgets"==N?(0,a.jsx)(le,{accessToken:A}):"general-settings"==N?(0,a.jsx)(e1,{userID:k,userRole:s,accessToken:A,modelData:b}):"model-hub"==N?(0,a.jsx)(ll.Z,{accessToken:A,publicPage:!1,premiumUser:n}):"caching"==N?(0,a.jsx)(lj,{userID:k,userRole:s,token:w,accessToken:A,premiumUser:n}):"pass-through-settings"==N?(0,a.jsx)(e6,{userID:k,userRole:s,accessToken:A,modelData:b}):(0,a.jsx)(lh,{userID:k,userRole:s,token:w,accessToken:A,keys:p,premiumUser:n})]})]})})}},41134:function(e,l,s){"use strict";s.d(l,{Z:function(){return y}});var t=s(57437),n=s(2265),a=s(47907),r=s(777),i=s(2179),o=s(13810),d=s(92836),c=s(26734),m=s(41608),u=s(32126),h=s(23682),x=s(71801),p=s(42440),j=s(84174),g=s(50459),Z=s(6180),f=s(99129),_=s(67951),y=e=>{var l;let{accessToken:s,publicPage:y,premiumUser:b}=e,[v,k]=(0,n.useState)(!1),[S,w]=(0,n.useState)(null),[N,I]=(0,n.useState)(!1),[A,C]=(0,n.useState)(!1),[P,T]=(0,n.useState)(null),E=(0,a.useRouter)();(0,n.useEffect)(()=>{s&&(async()=>{try{let e=await (0,r.kn)(s);console.log("ModelHubData:",e),w(e.data),(0,r.E9)(s,"enable_public_model_hub").then(e=>{console.log("data: ".concat(JSON.stringify(e))),!0==e.field_value&&k(!0)}).catch(e=>{})}catch(e){console.error("There was an error fetching the model data",e)}})()},[s,y]);let O=e=>{T(e),I(!0)},R=async()=>{s&&(0,r.jA)(s,"enable_public_model_hub",!0).then(e=>{C(!0)})},F=()=>{I(!1),C(!1),T(null)},M=()=>{I(!1),C(!1),T(null)},L=e=>{navigator.clipboard.writeText(e)};return(0,t.jsxs)("div",{children:[y&&v||!1==y?(0,t.jsxs)("div",{className:"w-full m-2 mt-2 p-8",children:[(0,t.jsx)("div",{className:"relative w-full"}),(0,t.jsxs)("div",{className:"flex ".concat(y?"justify-between":"items-center"),children:[(0,t.jsx)(p.Z,{className:"ml-8 text-center ",children:"Model Hub"}),!1==y?b?(0,t.jsx)(i.Z,{className:"ml-4",onClick:()=>R(),children:"✨ Make Public"}):(0,t.jsx)(i.Z,{className:"ml-4",children:(0,t.jsx)("a",{href:"https://forms.gle/W3U4PZpJGFHWtHyA9",target:"_blank",children:"✨ Make Public"})}):(0,t.jsxs)("div",{className:"flex justify-between items-center",children:[(0,t.jsx)("p",{children:"Filter by key:"}),(0,t.jsx)(x.Z,{className:"bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center",children:"/ui/model_hub?key="})]})]}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-6 sm:grid-cols-3 lg:grid-cols-4 pr-8",children:S&&S.map(e=>(0,t.jsxs)(o.Z,{className:"mt-5 mx-8",children:[(0,t.jsxs)("pre",{className:"flex justify-between",children:[(0,t.jsx)(p.Z,{children:e.model_group}),(0,t.jsx)(Z.Z,{title:e.model_group,children:(0,t.jsx)(j.Z,{onClick:()=>L(e.model_group),style:{cursor:"pointer",marginRight:"10px"}})})]}),(0,t.jsxs)("div",{className:"my-5",children:[(0,t.jsxs)(x.Z,{children:["Mode: ",e.mode]}),(0,t.jsxs)(x.Z,{children:["Supports Function Calling:"," ",(null==e?void 0:e.supports_function_calling)==!0?"Yes":"No"]}),(0,t.jsxs)(x.Z,{children:["Supports Vision:"," ",(null==e?void 0:e.supports_vision)==!0?"Yes":"No"]}),(0,t.jsxs)(x.Z,{children:["Max Input Tokens:"," ",(null==e?void 0:e.max_input_tokens)?null==e?void 0:e.max_input_tokens:"N/A"]}),(0,t.jsxs)(x.Z,{children:["Max Output Tokens:"," ",(null==e?void 0:e.max_output_tokens)?null==e?void 0:e.max_output_tokens:"N/A"]})]}),(0,t.jsx)("div",{style:{marginTop:"auto",textAlign:"right"},children:(0,t.jsxs)("a",{href:"#",onClick:()=>O(e),style:{color:"#1890ff",fontSize:"smaller"},children:["View more ",(0,t.jsx)(g.Z,{})]})})]},e.model_group))})]}):(0,t.jsxs)(o.Z,{className:"mx-auto max-w-xl mt-10",children:[(0,t.jsx)(x.Z,{className:"text-xl text-center mb-2 text-black",children:"Public Model Hub not enabled."}),(0,t.jsx)("p",{className:"text-base text-center text-slate-800",children:"Ask your proxy admin to enable this on their Admin UI."})]}),(0,t.jsx)(f.Z,{title:"Public Model Hub",width:600,visible:A,footer:null,onOk:F,onCancel:M,children:(0,t.jsxs)("div",{className:"pt-5 pb-5",children:[(0,t.jsxs)("div",{className:"flex justify-between mb-4",children:[(0,t.jsx)(x.Z,{className:"text-base mr-2",children:"Shareable Link:"}),(0,t.jsx)(x.Z,{className:"max-w-sm ml-2 bg-gray-200 pr-2 pl-2 pt-1 pb-1 text-center rounded",children:"/ui/model_hub?key="})]}),(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(i.Z,{onClick:()=>{E.replace("/model_hub?key=".concat(s))},children:"See Page"})})]})}),(0,t.jsx)(f.Z,{title:P&&P.model_group?P.model_group:"Unknown Model",width:800,visible:N,footer:null,onOk:F,onCancel:M,children:P&&(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-4",children:(0,t.jsx)("strong",{children:"Model Information & Usage"})}),(0,t.jsxs)(c.Z,{children:[(0,t.jsxs)(m.Z,{children:[(0,t.jsx)(d.Z,{children:"OpenAI Python SDK"}),(0,t.jsx)(d.Z,{children:"Supported OpenAI Params"}),(0,t.jsx)(d.Z,{children:"LlamaIndex"}),(0,t.jsx)(d.Z,{children:"Langchain Py"})]}),(0,t.jsxs)(h.Z,{children:[(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:'\nimport openai\nclient = openai.OpenAI(\n api_key="your_api_key",\n base_url="http://0.0.0.0:4000" # LiteLLM Proxy is OpenAI compatible, Read More: https://docs.litellm.ai/docs/proxy/user_keys\n)\n\nresponse = client.chat.completions.create(\n model="'.concat(P.model_group,'", # model to send to the proxy\n messages = [\n {\n "role": "user",\n "content": "this is a test request, write a short poem"\n }\n ]\n)\n\nprint(response)\n ')})}),(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:"".concat(null===(l=P.supported_openai_params)||void 0===l?void 0:l.map(e=>"".concat(e,"\n")).join(""))})}),(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:'\nimport os, dotenv\n\nfrom llama_index.llms import AzureOpenAI\nfrom llama_index.embeddings import AzureOpenAIEmbedding\nfrom llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext\n\nllm = AzureOpenAI(\n engine="'.concat(P.model_group,'", # model_name on litellm proxy\n temperature=0.0,\n azure_endpoint="http://0.0.0.0:4000", # litellm proxy endpoint\n api_key="sk-1234", # litellm proxy API Key\n api_version="2023-07-01-preview",\n)\n\nembed_model = AzureOpenAIEmbedding(\n deployment_name="azure-embedding-model",\n azure_endpoint="http://0.0.0.0:4000",\n api_key="sk-1234",\n api_version="2023-07-01-preview",\n)\n\n\ndocuments = SimpleDirectoryReader("llama_index_data").load_data()\nservice_context = ServiceContext.from_defaults(llm=llm, embed_model=embed_model)\nindex = VectorStoreIndex.from_documents(documents, service_context=service_context)\n\nquery_engine = index.as_query_engine()\nresponse = query_engine.query("What did the author do growing up?")\nprint(response)\n\n ')})}),(0,t.jsx)(u.Z,{children:(0,t.jsx)(_.Z,{language:"python",children:'\nfrom langchain.chat_models import ChatOpenAI\nfrom langchain.prompts.chat import (\n ChatPromptTemplate,\n HumanMessagePromptTemplate,\n SystemMessagePromptTemplate,\n)\nfrom langchain.schema import HumanMessage, SystemMessage\n\nchat = ChatOpenAI(\n openai_api_base="http://0.0.0.0:4000",\n model = "'.concat(P.model_group,'",\n temperature=0.1\n)\n\nmessages = [\n SystemMessage(\n content="You are a helpful assistant that im using to make a test request to."\n ),\n HumanMessage(\n content="test from litellm. tell me why it\'s amazing in 1 sentence"\n ),\n]\nresponse = chat(messages)\n\nprint(response)\n\n ')})})]})]})]})})]})}}},function(e){e.O(0,[665,936,505,131,684,173,777,971,69,744],function(){return e(e.s=20661)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/chunks/main-app-9b4fb13a7db53edf.js b/ui/litellm-dashboard/out/_next/static/chunks/main-app-9b4fb13a7db53edf.js new file mode 100644 index 000000000..440df3cb3 --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/chunks/main-app-9b4fb13a7db53edf.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[744],{32028:function(e,n,t){Promise.resolve().then(t.t.bind(t,47690,23)),Promise.resolve().then(t.t.bind(t,48955,23)),Promise.resolve().then(t.t.bind(t,5613,23)),Promise.resolve().then(t.t.bind(t,11902,23)),Promise.resolve().then(t.t.bind(t,31778,23)),Promise.resolve().then(t.t.bind(t,77831,23))}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[971,69],function(){return n(35317),n(32028)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/chunks/webpack-193a7eac80c8baba.js b/ui/litellm-dashboard/out/_next/static/chunks/webpack-193a7eac80c8baba.js new file mode 100644 index 000000000..c9a46c281 --- /dev/null +++ b/ui/litellm-dashboard/out/_next/static/chunks/webpack-193a7eac80c8baba.js @@ -0,0 +1 @@ +!function(){"use strict";var e,t,n,r,o,u,i,c,f,a={},l={};function d(e){var t=l[e];if(void 0!==t)return t.exports;var n=l[e]={id:e,loaded:!1,exports:{}},r=!0;try{a[e](n,n.exports,d),r=!1}finally{r&&delete l[e]}return n.loaded=!0,n.exports}d.m=a,e=[],d.O=function(t,n,r,o){if(n){o=o||0;for(var u=e.length;u>0&&e[u-1][2]>o;u--)e[u]=e[u-1];e[u]=[n,r,o];return}for(var i=1/0,u=0;u=o&&Object.keys(d.O).every(function(e){return d.O[e](n[f])})?n.splice(f--,1):(c=!1,o:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.space-x-0\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.125rem * var(--tw-space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.375rem * var(--tw-space-x-reverse));margin-left:calc(.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-10>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2.5rem * var(--tw-space-x-reverse));margin-left:calc(2.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.625rem * var(--tw-space-x-reverse));margin-left:calc(.625rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-tremor-border>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-clip{overflow-x:clip}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-\[1px\]{border-radius:1px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-tremor-default{border-radius:.5rem}.rounded-tremor-full{border-radius:9999px}.rounded-tremor-small{border-radius:.375rem}.rounded-b-tremor-default{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-l-tremor-default{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-tremor-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-tremor-small{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-r-tremor-default{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-r-tremor-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-tremor-small{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t-tremor-default{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-4{border-bottom-width:4px}.border-l{border-left-width:1px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-4{border-right-width:4px}.border-t-4{border-top-width:4px}.border-t-\[1px\]{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity))}.border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity))}.border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity))}.border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity))}.border-amber-50{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity))}.border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.border-amber-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.border-amber-700{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity))}.border-amber-800{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity))}.border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity))}.border-amber-950{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity))}.border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity))}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity))}.border-blue-50{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity))}.border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity))}.border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity))}.border-blue-950{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity))}.border-cyan-100{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity))}.border-cyan-200{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity))}.border-cyan-300{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity))}.border-cyan-400{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity))}.border-cyan-50{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity))}.border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity))}.border-cyan-600{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity))}.border-cyan-700{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity))}.border-cyan-800{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity))}.border-cyan-900{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity))}.border-cyan-950{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity))}.border-dark-tremor-background{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}.border-dark-tremor-border{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.border-dark-tremor-brand{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}.border-dark-tremor-brand-emphasis{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity))}.border-dark-tremor-brand-inverted{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity))}.border-dark-tremor-brand-subtle{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity))}.border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity))}.border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity))}.border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity))}.border-emerald-400{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity))}.border-emerald-50{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity))}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}.border-emerald-600{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity))}.border-emerald-700{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity))}.border-emerald-800{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity))}.border-emerald-900{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity))}.border-emerald-950{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity))}.border-fuchsia-100{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity))}.border-fuchsia-200{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity))}.border-fuchsia-300{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity))}.border-fuchsia-400{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity))}.border-fuchsia-50{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity))}.border-fuchsia-500{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity))}.border-fuchsia-600{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity))}.border-fuchsia-700{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity))}.border-fuchsia-800{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity))}.border-fuchsia-900{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity))}.border-fuchsia-950{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity))}.border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}.border-gray-950{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity))}.border-green-100{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity))}.border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity))}.border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity))}.border-green-50{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity))}.border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity))}.border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}.border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity))}.border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity))}.border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity))}.border-green-950{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity))}.border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity))}.border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity))}.border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity))}.border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity))}.border-indigo-50{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}.border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity))}.border-indigo-700{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity))}.border-indigo-800{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity))}.border-indigo-900{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity))}.border-indigo-950{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity))}.border-lime-100{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity))}.border-lime-200{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity))}.border-lime-300{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity))}.border-lime-400{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity))}.border-lime-50{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity))}.border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity))}.border-lime-600{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity))}.border-lime-700{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity))}.border-lime-800{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity))}.border-lime-900{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity))}.border-lime-950{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity))}.border-neutral-100{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity))}.border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity))}.border-neutral-300{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity))}.border-neutral-400{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity))}.border-neutral-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity))}.border-neutral-500{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity))}.border-neutral-600{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity))}.border-neutral-700{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity))}.border-neutral-800{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity))}.border-neutral-900{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity))}.border-neutral-950{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity))}.border-orange-100{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity))}.border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity))}.border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity))}.border-orange-50{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity))}.border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity))}.border-orange-600{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity))}.border-orange-700{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity))}.border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity))}.border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity))}.border-orange-950{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity))}.border-pink-100{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity))}.border-pink-200{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity))}.border-pink-300{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity))}.border-pink-400{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity))}.border-pink-50{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity))}.border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity))}.border-pink-600{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity))}.border-pink-700{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity))}.border-pink-800{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity))}.border-pink-900{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity))}.border-pink-950{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity))}.border-purple-100{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity))}.border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity))}.border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity))}.border-purple-50{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity))}.border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity))}.border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity))}.border-purple-700{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity))}.border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity))}.border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity))}.border-purple-950{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity))}.border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity))}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity))}.border-red-50{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity))}.border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity))}.border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity))}.border-red-950{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity))}.border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity))}.border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity))}.border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity))}.border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.border-rose-50{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity))}.border-rose-500{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity))}.border-rose-600{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity))}.border-rose-700{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity))}.border-rose-800{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity))}.border-rose-900{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity))}.border-rose-950{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity))}.border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity))}.border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity))}.border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity))}.border-sky-400{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity))}.border-sky-50{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity))}.border-sky-500{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity))}.border-sky-600{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity))}.border-sky-700{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity))}.border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity))}.border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity))}.border-sky-950{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity))}.border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity))}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity))}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}.border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity))}.border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity))}.border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity))}.border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}.border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}.border-slate-900{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity))}.border-slate-950{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity))}.border-stone-100{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity))}.border-stone-200{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity))}.border-stone-300{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity))}.border-stone-400{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity))}.border-stone-50{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity))}.border-stone-500{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity))}.border-stone-600{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity))}.border-stone-700{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity))}.border-stone-800{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity))}.border-stone-900{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity))}.border-stone-950{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity))}.border-teal-100{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity))}.border-teal-200{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity))}.border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity))}.border-teal-400{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity))}.border-teal-50{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity))}.border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity))}.border-teal-600{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity))}.border-teal-700{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity))}.border-teal-800{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity))}.border-teal-900{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity))}.border-teal-950{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-tremor-background{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-tremor-border{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-tremor-brand{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}.border-tremor-brand-emphasis{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity))}.border-tremor-brand-inverted{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.border-tremor-brand-subtle{--tw-border-opacity:1;border-color:rgb(142 145 235/var(--tw-border-opacity))}.border-violet-100{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity))}.border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity))}.border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity))}.border-violet-400{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity))}.border-violet-50{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity))}.border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity))}.border-violet-600{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity))}.border-violet-700{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity))}.border-violet-800{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity))}.border-violet-900{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity))}.border-violet-950{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity))}.border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity))}.border-yellow-50{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity))}.border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity))}.border-yellow-600{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity))}.border-yellow-700{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity))}.border-yellow-800{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity))}.border-yellow-900{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity))}.border-yellow-950{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity))}.border-zinc-100{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity))}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.border-zinc-400{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.border-zinc-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity))}.border-zinc-500{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity))}.border-zinc-600{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity))}.border-zinc-700{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity))}.border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity))}.border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity))}.border-zinc-950{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity))}.bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.bg-amber-200{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}.bg-amber-300{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity))}.bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity))}.bg-amber-800{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity))}.bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity))}.bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity))}.bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.bg-blue-800{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity))}.bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity))}.bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity))}.bg-cyan-200{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity))}.bg-cyan-300{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity))}.bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity))}.bg-cyan-50{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity))}.bg-cyan-500{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity))}.bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity))}.bg-cyan-700{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity))}.bg-cyan-800{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity))}.bg-cyan-900{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity))}.bg-cyan-950{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity))}.bg-dark-tremor-background{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-dark-tremor-background-subtle{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-dark-tremor-brand{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity))}.bg-dark-tremor-brand-emphasis{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity))}.bg-dark-tremor-brand-faint{--tw-bg-opacity:1;background-color:rgb(11 18 41/var(--tw-bg-opacity))}.bg-dark-tremor-brand-muted{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity))}.bg-dark-tremor-content-subtle{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity))}.bg-emerald-200{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity))}.bg-emerald-300{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity))}.bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity))}.bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity))}.bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity))}.bg-emerald-800{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity))}.bg-emerald-900{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity))}.bg-emerald-950{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity))}.bg-fuchsia-100{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity))}.bg-fuchsia-200{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity))}.bg-fuchsia-300{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity))}.bg-fuchsia-400{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity))}.bg-fuchsia-50{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity))}.bg-fuchsia-500{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity))}.bg-fuchsia-600{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity))}.bg-fuchsia-700{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity))}.bg-fuchsia-800{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity))}.bg-fuchsia-900{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity))}.bg-fuchsia-950{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.bg-green-800{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity))}.bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity))}.bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity))}.bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.bg-indigo-300{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity))}.bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity))}.bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-indigo-700{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}.bg-indigo-800{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity))}.bg-indigo-900{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity))}.bg-indigo-950{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity))}.bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity))}.bg-lime-200{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity))}.bg-lime-300{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity))}.bg-lime-400{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity))}.bg-lime-50{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity))}.bg-lime-500{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity))}.bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}.bg-lime-700{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity))}.bg-lime-800{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity))}.bg-lime-900{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity))}.bg-lime-950{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity))}.bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity))}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity))}.bg-neutral-400{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity))}.bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.bg-neutral-500{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity))}.bg-neutral-600{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity))}.bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}.bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity))}.bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity))}.bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}.bg-orange-200{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity))}.bg-orange-300{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity))}.bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity))}.bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity))}.bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity))}.bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity))}.bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity))}.bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.bg-pink-300{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity))}.bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity))}.bg-pink-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity))}.bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity))}.bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity))}.bg-pink-700{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity))}.bg-pink-800{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity))}.bg-pink-900{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity))}.bg-pink-950{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity))}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.bg-purple-300{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity))}.bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity))}.bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity))}.bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity))}.bg-purple-800{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity))}.bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity))}.bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.bg-red-800{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity))}.bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity))}.bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity))}.bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity))}.bg-rose-200{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity))}.bg-rose-300{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity))}.bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity))}.bg-rose-700{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity))}.bg-rose-800{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity))}.bg-rose-900{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity))}.bg-rose-950{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity))}.bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity))}.bg-sky-300{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity))}.bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity))}.bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity))}.bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity))}.bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.bg-sky-700{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity))}.bg-sky-800{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity))}.bg-sky-900{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity))}.bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity))}.bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity))}.bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity))}.bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}.bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity))}.bg-slate-950\/30{background-color:rgba(2,6,23,.3)}.bg-stone-100{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity))}.bg-stone-200{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity))}.bg-stone-300{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity))}.bg-stone-400{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity))}.bg-stone-50{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity))}.bg-stone-500{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity))}.bg-stone-600{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity))}.bg-stone-700{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity))}.bg-stone-800{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity))}.bg-stone-900{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity))}.bg-stone-950{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity))}.bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity))}.bg-teal-200{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity))}.bg-teal-300{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity))}.bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity))}.bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity))}.bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity))}.bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity))}.bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity))}.bg-teal-800{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity))}.bg-teal-900{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity))}.bg-teal-950{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-tremor-background{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-tremor-background-emphasis{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-tremor-background-muted{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-tremor-background-subtle{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-tremor-border{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-tremor-brand{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity))}.bg-tremor-brand-muted{--tw-bg-opacity:1;background-color:rgb(134 136 239/var(--tw-bg-opacity))}.bg-tremor-brand-muted\/50{background-color:rgba(134,136,239,.5)}.bg-tremor-brand-subtle{--tw-bg-opacity:1;background-color:rgb(142 145 235/var(--tw-bg-opacity))}.bg-tremor-content-subtle{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity))}.bg-violet-200{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity))}.bg-violet-300{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity))}.bg-violet-400{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity))}.bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity))}.bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity))}.bg-violet-600{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity))}.bg-violet-700{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity))}.bg-violet-800{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity))}.bg-violet-900{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity))}.bg-violet-950{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity))}.bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity))}.bg-yellow-700{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity))}.bg-yellow-800{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity))}.bg-yellow-900{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity))}.bg-yellow-950{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity))}.bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity))}.bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity))}.bg-zinc-300{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity))}.bg-zinc-400{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity))}.bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.bg-zinc-500{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity))}.bg-zinc-600{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity))}.bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity))}.bg-opacity-10{--tw-bg-opacity:0.1}.bg-opacity-20{--tw-bg-opacity:0.2}.bg-opacity-30{--tw-bg-opacity:0.3}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-tremor-background{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-tremor-background{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.fill-amber-100{fill:#fef3c7}.fill-amber-200{fill:#fde68a}.fill-amber-300{fill:#fcd34d}.fill-amber-400{fill:#fbbf24}.fill-amber-50{fill:#fffbeb}.fill-amber-500{fill:#f59e0b}.fill-amber-600{fill:#d97706}.fill-amber-700{fill:#b45309}.fill-amber-800{fill:#92400e}.fill-amber-900{fill:#78350f}.fill-amber-950{fill:#451a03}.fill-blue-100{fill:#dbeafe}.fill-blue-200{fill:#bfdbfe}.fill-blue-300{fill:#93c5fd}.fill-blue-400{fill:#60a5fa}.fill-blue-50{fill:#eff6ff}.fill-blue-500{fill:#3b82f6}.fill-blue-600{fill:#2563eb}.fill-blue-700{fill:#1d4ed8}.fill-blue-800{fill:#1e40af}.fill-blue-900{fill:#1e3a8a}.fill-blue-950{fill:#172554}.fill-cyan-100{fill:#cffafe}.fill-cyan-200{fill:#a5f3fc}.fill-cyan-300{fill:#67e8f9}.fill-cyan-400{fill:#22d3ee}.fill-cyan-50{fill:#ecfeff}.fill-cyan-500{fill:#06b6d4}.fill-cyan-600{fill:#0891b2}.fill-cyan-700{fill:#0e7490}.fill-cyan-800{fill:#155e75}.fill-cyan-900{fill:#164e63}.fill-cyan-950{fill:#083344}.fill-emerald-100{fill:#d1fae5}.fill-emerald-200{fill:#a7f3d0}.fill-emerald-300{fill:#6ee7b7}.fill-emerald-400{fill:#34d399}.fill-emerald-50{fill:#ecfdf5}.fill-emerald-500{fill:#10b981}.fill-emerald-600{fill:#059669}.fill-emerald-700{fill:#047857}.fill-emerald-800{fill:#065f46}.fill-emerald-900{fill:#064e3b}.fill-emerald-950{fill:#022c22}.fill-fuchsia-100{fill:#fae8ff}.fill-fuchsia-200{fill:#f5d0fe}.fill-fuchsia-300{fill:#f0abfc}.fill-fuchsia-400{fill:#e879f9}.fill-fuchsia-50{fill:#fdf4ff}.fill-fuchsia-500{fill:#d946ef}.fill-fuchsia-600{fill:#c026d3}.fill-fuchsia-700{fill:#a21caf}.fill-fuchsia-800{fill:#86198f}.fill-fuchsia-900{fill:#701a75}.fill-fuchsia-950{fill:#4a044e}.fill-gray-100{fill:#f3f4f6}.fill-gray-200{fill:#e5e7eb}.fill-gray-300{fill:#d1d5db}.fill-gray-400{fill:#9ca3af}.fill-gray-50{fill:#f9fafb}.fill-gray-500{fill:#6b7280}.fill-gray-600{fill:#4b5563}.fill-gray-700{fill:#374151}.fill-gray-800{fill:#1f2937}.fill-gray-900{fill:#111827}.fill-gray-950{fill:#030712}.fill-green-100{fill:#dcfce7}.fill-green-200{fill:#bbf7d0}.fill-green-300{fill:#86efac}.fill-green-400{fill:#4ade80}.fill-green-50{fill:#f0fdf4}.fill-green-500{fill:#22c55e}.fill-green-600{fill:#16a34a}.fill-green-700{fill:#15803d}.fill-green-800{fill:#166534}.fill-green-900{fill:#14532d}.fill-green-950{fill:#052e16}.fill-indigo-100{fill:#e0e7ff}.fill-indigo-200{fill:#c7d2fe}.fill-indigo-300{fill:#a5b4fc}.fill-indigo-400{fill:#818cf8}.fill-indigo-50{fill:#eef2ff}.fill-indigo-500{fill:#6366f1}.fill-indigo-600{fill:#4f46e5}.fill-indigo-700{fill:#4338ca}.fill-indigo-800{fill:#3730a3}.fill-indigo-900{fill:#312e81}.fill-indigo-950{fill:#1e1b4b}.fill-lime-100{fill:#ecfccb}.fill-lime-200{fill:#d9f99d}.fill-lime-300{fill:#bef264}.fill-lime-400{fill:#a3e635}.fill-lime-50{fill:#f7fee7}.fill-lime-500{fill:#84cc16}.fill-lime-600{fill:#65a30d}.fill-lime-700{fill:#4d7c0f}.fill-lime-800{fill:#3f6212}.fill-lime-900{fill:#365314}.fill-lime-950{fill:#1a2e05}.fill-neutral-100{fill:#f5f5f5}.fill-neutral-200{fill:#e5e5e5}.fill-neutral-300{fill:#d4d4d4}.fill-neutral-400{fill:#a3a3a3}.fill-neutral-50{fill:#fafafa}.fill-neutral-500{fill:#737373}.fill-neutral-600{fill:#525252}.fill-neutral-700{fill:#404040}.fill-neutral-800{fill:#262626}.fill-neutral-900{fill:#171717}.fill-neutral-950{fill:#0a0a0a}.fill-orange-100{fill:#ffedd5}.fill-orange-200{fill:#fed7aa}.fill-orange-300{fill:#fdba74}.fill-orange-400{fill:#fb923c}.fill-orange-50{fill:#fff7ed}.fill-orange-500{fill:#f97316}.fill-orange-600{fill:#ea580c}.fill-orange-700{fill:#c2410c}.fill-orange-800{fill:#9a3412}.fill-orange-900{fill:#7c2d12}.fill-orange-950{fill:#431407}.fill-pink-100{fill:#fce7f3}.fill-pink-200{fill:#fbcfe8}.fill-pink-300{fill:#f9a8d4}.fill-pink-400{fill:#f472b6}.fill-pink-50{fill:#fdf2f8}.fill-pink-500{fill:#ec4899}.fill-pink-600{fill:#db2777}.fill-pink-700{fill:#be185d}.fill-pink-800{fill:#9d174d}.fill-pink-900{fill:#831843}.fill-pink-950{fill:#500724}.fill-purple-100{fill:#f3e8ff}.fill-purple-200{fill:#e9d5ff}.fill-purple-300{fill:#d8b4fe}.fill-purple-400{fill:#c084fc}.fill-purple-50{fill:#faf5ff}.fill-purple-500{fill:#a855f7}.fill-purple-600{fill:#9333ea}.fill-purple-700{fill:#7e22ce}.fill-purple-800{fill:#6b21a8}.fill-purple-900{fill:#581c87}.fill-purple-950{fill:#3b0764}.fill-red-100{fill:#fee2e2}.fill-red-200{fill:#fecaca}.fill-red-300{fill:#fca5a5}.fill-red-400{fill:#f87171}.fill-red-50{fill:#fef2f2}.fill-red-500{fill:#ef4444}.fill-red-600{fill:#dc2626}.fill-red-700{fill:#b91c1c}.fill-red-800{fill:#991b1b}.fill-red-900{fill:#7f1d1d}.fill-red-950{fill:#450a0a}.fill-rose-100{fill:#ffe4e6}.fill-rose-200{fill:#fecdd3}.fill-rose-300{fill:#fda4af}.fill-rose-400{fill:#fb7185}.fill-rose-50{fill:#fff1f2}.fill-rose-500{fill:#f43f5e}.fill-rose-600{fill:#e11d48}.fill-rose-700{fill:#be123c}.fill-rose-800{fill:#9f1239}.fill-rose-900{fill:#881337}.fill-rose-950{fill:#4c0519}.fill-sky-100{fill:#e0f2fe}.fill-sky-200{fill:#bae6fd}.fill-sky-300{fill:#7dd3fc}.fill-sky-400{fill:#38bdf8}.fill-sky-50{fill:#f0f9ff}.fill-sky-500{fill:#0ea5e9}.fill-sky-600{fill:#0284c7}.fill-sky-700{fill:#0369a1}.fill-sky-800{fill:#075985}.fill-sky-900{fill:#0c4a6e}.fill-sky-950{fill:#082f49}.fill-slate-100{fill:#f1f5f9}.fill-slate-200{fill:#e2e8f0}.fill-slate-300{fill:#cbd5e1}.fill-slate-400{fill:#94a3b8}.fill-slate-50{fill:#f8fafc}.fill-slate-500{fill:#64748b}.fill-slate-600{fill:#475569}.fill-slate-700{fill:#334155}.fill-slate-800{fill:#1e293b}.fill-slate-900{fill:#0f172a}.fill-slate-950{fill:#020617}.fill-stone-100{fill:#f5f5f4}.fill-stone-200{fill:#e7e5e4}.fill-stone-300{fill:#d6d3d1}.fill-stone-400{fill:#a8a29e}.fill-stone-50{fill:#fafaf9}.fill-stone-500{fill:#78716c}.fill-stone-600{fill:#57534e}.fill-stone-700{fill:#44403c}.fill-stone-800{fill:#292524}.fill-stone-900{fill:#1c1917}.fill-stone-950{fill:#0c0a09}.fill-teal-100{fill:#ccfbf1}.fill-teal-200{fill:#99f6e4}.fill-teal-300{fill:#5eead4}.fill-teal-400{fill:#2dd4bf}.fill-teal-50{fill:#f0fdfa}.fill-teal-500{fill:#14b8a6}.fill-teal-600{fill:#0d9488}.fill-teal-700{fill:#0f766e}.fill-teal-800{fill:#115e59}.fill-teal-900{fill:#134e4a}.fill-teal-950{fill:#042f2e}.fill-tremor-content{fill:#6b7280}.fill-tremor-content-emphasis{fill:#374151}.fill-violet-100{fill:#ede9fe}.fill-violet-200{fill:#ddd6fe}.fill-violet-300{fill:#c4b5fd}.fill-violet-400{fill:#a78bfa}.fill-violet-50{fill:#f5f3ff}.fill-violet-500{fill:#8b5cf6}.fill-violet-600{fill:#7c3aed}.fill-violet-700{fill:#6d28d9}.fill-violet-800{fill:#5b21b6}.fill-violet-900{fill:#4c1d95}.fill-violet-950{fill:#2e1065}.fill-yellow-100{fill:#fef9c3}.fill-yellow-200{fill:#fef08a}.fill-yellow-300{fill:#fde047}.fill-yellow-400{fill:#facc15}.fill-yellow-50{fill:#fefce8}.fill-yellow-500{fill:#eab308}.fill-yellow-600{fill:#ca8a04}.fill-yellow-700{fill:#a16207}.fill-yellow-800{fill:#854d0e}.fill-yellow-900{fill:#713f12}.fill-yellow-950{fill:#422006}.fill-zinc-100{fill:#f4f4f5}.fill-zinc-200{fill:#e4e4e7}.fill-zinc-300{fill:#d4d4d8}.fill-zinc-400{fill:#a1a1aa}.fill-zinc-50{fill:#fafafa}.fill-zinc-500{fill:#71717a}.fill-zinc-600{fill:#52525b}.fill-zinc-700{fill:#3f3f46}.fill-zinc-800{fill:#27272a}.fill-zinc-900{fill:#18181b}.fill-zinc-950{fill:#09090b}.stroke-amber-100{stroke:#fef3c7}.stroke-amber-200{stroke:#fde68a}.stroke-amber-300{stroke:#fcd34d}.stroke-amber-400{stroke:#fbbf24}.stroke-amber-50{stroke:#fffbeb}.stroke-amber-500{stroke:#f59e0b}.stroke-amber-600{stroke:#d97706}.stroke-amber-700{stroke:#b45309}.stroke-amber-800{stroke:#92400e}.stroke-amber-900{stroke:#78350f}.stroke-amber-950{stroke:#451a03}.stroke-blue-100{stroke:#dbeafe}.stroke-blue-200{stroke:#bfdbfe}.stroke-blue-300{stroke:#93c5fd}.stroke-blue-400{stroke:#60a5fa}.stroke-blue-50{stroke:#eff6ff}.stroke-blue-500{stroke:#3b82f6}.stroke-blue-600{stroke:#2563eb}.stroke-blue-700{stroke:#1d4ed8}.stroke-blue-800{stroke:#1e40af}.stroke-blue-900{stroke:#1e3a8a}.stroke-blue-950{stroke:#172554}.stroke-cyan-100{stroke:#cffafe}.stroke-cyan-200{stroke:#a5f3fc}.stroke-cyan-300{stroke:#67e8f9}.stroke-cyan-400{stroke:#22d3ee}.stroke-cyan-50{stroke:#ecfeff}.stroke-cyan-500{stroke:#06b6d4}.stroke-cyan-600{stroke:#0891b2}.stroke-cyan-700{stroke:#0e7490}.stroke-cyan-800{stroke:#155e75}.stroke-cyan-900{stroke:#164e63}.stroke-cyan-950{stroke:#083344}.stroke-dark-tremor-background{stroke:#111827}.stroke-dark-tremor-border{stroke:#374151}.stroke-emerald-100{stroke:#d1fae5}.stroke-emerald-200{stroke:#a7f3d0}.stroke-emerald-300{stroke:#6ee7b7}.stroke-emerald-400{stroke:#34d399}.stroke-emerald-50{stroke:#ecfdf5}.stroke-emerald-500{stroke:#10b981}.stroke-emerald-600{stroke:#059669}.stroke-emerald-700{stroke:#047857}.stroke-emerald-800{stroke:#065f46}.stroke-emerald-900{stroke:#064e3b}.stroke-emerald-950{stroke:#022c22}.stroke-fuchsia-100{stroke:#fae8ff}.stroke-fuchsia-200{stroke:#f5d0fe}.stroke-fuchsia-300{stroke:#f0abfc}.stroke-fuchsia-400{stroke:#e879f9}.stroke-fuchsia-50{stroke:#fdf4ff}.stroke-fuchsia-500{stroke:#d946ef}.stroke-fuchsia-600{stroke:#c026d3}.stroke-fuchsia-700{stroke:#a21caf}.stroke-fuchsia-800{stroke:#86198f}.stroke-fuchsia-900{stroke:#701a75}.stroke-fuchsia-950{stroke:#4a044e}.stroke-gray-100{stroke:#f3f4f6}.stroke-gray-200{stroke:#e5e7eb}.stroke-gray-300{stroke:#d1d5db}.stroke-gray-400{stroke:#9ca3af}.stroke-gray-50{stroke:#f9fafb}.stroke-gray-500{stroke:#6b7280}.stroke-gray-600{stroke:#4b5563}.stroke-gray-700{stroke:#374151}.stroke-gray-800{stroke:#1f2937}.stroke-gray-900{stroke:#111827}.stroke-gray-950{stroke:#030712}.stroke-green-100{stroke:#dcfce7}.stroke-green-200{stroke:#bbf7d0}.stroke-green-300{stroke:#86efac}.stroke-green-400{stroke:#4ade80}.stroke-green-50{stroke:#f0fdf4}.stroke-green-500{stroke:#22c55e}.stroke-green-600{stroke:#16a34a}.stroke-green-700{stroke:#15803d}.stroke-green-800{stroke:#166534}.stroke-green-900{stroke:#14532d}.stroke-green-950{stroke:#052e16}.stroke-indigo-100{stroke:#e0e7ff}.stroke-indigo-200{stroke:#c7d2fe}.stroke-indigo-300{stroke:#a5b4fc}.stroke-indigo-400{stroke:#818cf8}.stroke-indigo-50{stroke:#eef2ff}.stroke-indigo-500{stroke:#6366f1}.stroke-indigo-600{stroke:#4f46e5}.stroke-indigo-700{stroke:#4338ca}.stroke-indigo-800{stroke:#3730a3}.stroke-indigo-900{stroke:#312e81}.stroke-indigo-950{stroke:#1e1b4b}.stroke-lime-100{stroke:#ecfccb}.stroke-lime-200{stroke:#d9f99d}.stroke-lime-300{stroke:#bef264}.stroke-lime-400{stroke:#a3e635}.stroke-lime-50{stroke:#f7fee7}.stroke-lime-500{stroke:#84cc16}.stroke-lime-600{stroke:#65a30d}.stroke-lime-700{stroke:#4d7c0f}.stroke-lime-800{stroke:#3f6212}.stroke-lime-900{stroke:#365314}.stroke-lime-950{stroke:#1a2e05}.stroke-neutral-100{stroke:#f5f5f5}.stroke-neutral-200{stroke:#e5e5e5}.stroke-neutral-300{stroke:#d4d4d4}.stroke-neutral-400{stroke:#a3a3a3}.stroke-neutral-50{stroke:#fafafa}.stroke-neutral-500{stroke:#737373}.stroke-neutral-600{stroke:#525252}.stroke-neutral-700{stroke:#404040}.stroke-neutral-800{stroke:#262626}.stroke-neutral-900{stroke:#171717}.stroke-neutral-950{stroke:#0a0a0a}.stroke-orange-100{stroke:#ffedd5}.stroke-orange-200{stroke:#fed7aa}.stroke-orange-300{stroke:#fdba74}.stroke-orange-400{stroke:#fb923c}.stroke-orange-50{stroke:#fff7ed}.stroke-orange-500{stroke:#f97316}.stroke-orange-600{stroke:#ea580c}.stroke-orange-700{stroke:#c2410c}.stroke-orange-800{stroke:#9a3412}.stroke-orange-900{stroke:#7c2d12}.stroke-orange-950{stroke:#431407}.stroke-pink-100{stroke:#fce7f3}.stroke-pink-200{stroke:#fbcfe8}.stroke-pink-300{stroke:#f9a8d4}.stroke-pink-400{stroke:#f472b6}.stroke-pink-50{stroke:#fdf2f8}.stroke-pink-500{stroke:#ec4899}.stroke-pink-600{stroke:#db2777}.stroke-pink-700{stroke:#be185d}.stroke-pink-800{stroke:#9d174d}.stroke-pink-900{stroke:#831843}.stroke-pink-950{stroke:#500724}.stroke-purple-100{stroke:#f3e8ff}.stroke-purple-200{stroke:#e9d5ff}.stroke-purple-300{stroke:#d8b4fe}.stroke-purple-400{stroke:#c084fc}.stroke-purple-50{stroke:#faf5ff}.stroke-purple-500{stroke:#a855f7}.stroke-purple-600{stroke:#9333ea}.stroke-purple-700{stroke:#7e22ce}.stroke-purple-800{stroke:#6b21a8}.stroke-purple-900{stroke:#581c87}.stroke-purple-950{stroke:#3b0764}.stroke-red-100{stroke:#fee2e2}.stroke-red-200{stroke:#fecaca}.stroke-red-300{stroke:#fca5a5}.stroke-red-400{stroke:#f87171}.stroke-red-50{stroke:#fef2f2}.stroke-red-500{stroke:#ef4444}.stroke-red-600{stroke:#dc2626}.stroke-red-700{stroke:#b91c1c}.stroke-red-800{stroke:#991b1b}.stroke-red-900{stroke:#7f1d1d}.stroke-red-950{stroke:#450a0a}.stroke-rose-100{stroke:#ffe4e6}.stroke-rose-200{stroke:#fecdd3}.stroke-rose-300{stroke:#fda4af}.stroke-rose-400{stroke:#fb7185}.stroke-rose-50{stroke:#fff1f2}.stroke-rose-500{stroke:#f43f5e}.stroke-rose-600{stroke:#e11d48}.stroke-rose-700{stroke:#be123c}.stroke-rose-800{stroke:#9f1239}.stroke-rose-900{stroke:#881337}.stroke-rose-950{stroke:#4c0519}.stroke-sky-100{stroke:#e0f2fe}.stroke-sky-200{stroke:#bae6fd}.stroke-sky-300{stroke:#7dd3fc}.stroke-sky-400{stroke:#38bdf8}.stroke-sky-50{stroke:#f0f9ff}.stroke-sky-500{stroke:#0ea5e9}.stroke-sky-600{stroke:#0284c7}.stroke-sky-700{stroke:#0369a1}.stroke-sky-800{stroke:#075985}.stroke-sky-900{stroke:#0c4a6e}.stroke-sky-950{stroke:#082f49}.stroke-slate-100{stroke:#f1f5f9}.stroke-slate-200{stroke:#e2e8f0}.stroke-slate-300{stroke:#cbd5e1}.stroke-slate-400{stroke:#94a3b8}.stroke-slate-50{stroke:#f8fafc}.stroke-slate-500{stroke:#64748b}.stroke-slate-600{stroke:#475569}.stroke-slate-700{stroke:#334155}.stroke-slate-800{stroke:#1e293b}.stroke-slate-900{stroke:#0f172a}.stroke-slate-950{stroke:#020617}.stroke-stone-100{stroke:#f5f5f4}.stroke-stone-200{stroke:#e7e5e4}.stroke-stone-300{stroke:#d6d3d1}.stroke-stone-400{stroke:#a8a29e}.stroke-stone-50{stroke:#fafaf9}.stroke-stone-500{stroke:#78716c}.stroke-stone-600{stroke:#57534e}.stroke-stone-700{stroke:#44403c}.stroke-stone-800{stroke:#292524}.stroke-stone-900{stroke:#1c1917}.stroke-stone-950{stroke:#0c0a09}.stroke-teal-100{stroke:#ccfbf1}.stroke-teal-200{stroke:#99f6e4}.stroke-teal-300{stroke:#5eead4}.stroke-teal-400{stroke:#2dd4bf}.stroke-teal-50{stroke:#f0fdfa}.stroke-teal-500{stroke:#14b8a6}.stroke-teal-600{stroke:#0d9488}.stroke-teal-700{stroke:#0f766e}.stroke-teal-800{stroke:#115e59}.stroke-teal-900{stroke:#134e4a}.stroke-teal-950{stroke:#042f2e}.stroke-tremor-background{stroke:#fff}.stroke-tremor-border{stroke:#e5e7eb}.stroke-tremor-brand{stroke:#6366f1}.stroke-tremor-brand-muted\/50{stroke:rgba(134,136,239,.5)}.stroke-violet-100{stroke:#ede9fe}.stroke-violet-200{stroke:#ddd6fe}.stroke-violet-300{stroke:#c4b5fd}.stroke-violet-400{stroke:#a78bfa}.stroke-violet-50{stroke:#f5f3ff}.stroke-violet-500{stroke:#8b5cf6}.stroke-violet-600{stroke:#7c3aed}.stroke-violet-700{stroke:#6d28d9}.stroke-violet-800{stroke:#5b21b6}.stroke-violet-900{stroke:#4c1d95}.stroke-violet-950{stroke:#2e1065}.stroke-yellow-100{stroke:#fef9c3}.stroke-yellow-200{stroke:#fef08a}.stroke-yellow-300{stroke:#fde047}.stroke-yellow-400{stroke:#facc15}.stroke-yellow-50{stroke:#fefce8}.stroke-yellow-500{stroke:#eab308}.stroke-yellow-600{stroke:#ca8a04}.stroke-yellow-700{stroke:#a16207}.stroke-yellow-800{stroke:#854d0e}.stroke-yellow-900{stroke:#713f12}.stroke-yellow-950{stroke:#422006}.stroke-zinc-100{stroke:#f4f4f5}.stroke-zinc-200{stroke:#e4e4e7}.stroke-zinc-300{stroke:#d4d4d8}.stroke-zinc-400{stroke:#a1a1aa}.stroke-zinc-50{stroke:#fafafa}.stroke-zinc-500{stroke:#71717a}.stroke-zinc-600{stroke:#52525b}.stroke-zinc-700{stroke:#3f3f46}.stroke-zinc-800{stroke:#27272a}.stroke-zinc-900{stroke:#18181b}.stroke-zinc-950{stroke:#09090b}.stroke-1{stroke-width:1}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-\[10px\]{padding-top:10px;padding-bottom:10px}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-20{padding-bottom:5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-1{padding-right:.25rem}.pr-1\.5{padding-right:.375rem}.pr-12{padding-right:3rem}.pr-14{padding-right:3.5rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[12px\]{font-size:12px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-tremor-default{font-size:.775rem;line-height:1.15rem}.text-tremor-label{font-size:.75rem;line-height:.3rem}.text-tremor-metric{font-size:1.675rem;line-height:2.15rem}.text-tremor-title{font-size:1.025rem;line-height:1.65rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-6{line-height:1.5rem}.text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity))}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.text-amber-50{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity))}.text-amber-950{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity))}.text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}.text-blue-50{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}.text-blue-950{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity))}.text-cyan-100{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity))}.text-cyan-200{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity))}.text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity))}.text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity))}.text-cyan-50{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity))}.text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity))}.text-cyan-700{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity))}.text-cyan-800{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity))}.text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity))}.text-cyan-950{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity))}.text-dark-tremor-brand{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.text-dark-tremor-brand-emphasis{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity))}.text-dark-tremor-brand-inverted{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity))}.text-dark-tremor-content{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-dark-tremor-content-emphasis{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-dark-tremor-content-subtle{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-emerald-100{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity))}.text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity))}.text-emerald-50{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity))}.text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity))}.text-emerald-950{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity))}.text-fuchsia-100{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity))}.text-fuchsia-200{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity))}.text-fuchsia-300{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity))}.text-fuchsia-400{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity))}.text-fuchsia-50{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity))}.text-fuchsia-500{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity))}.text-fuchsia-600{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity))}.text-fuchsia-700{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity))}.text-fuchsia-800{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity))}.text-fuchsia-900{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity))}.text-fuchsia-950{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-gray-950{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity))}.text-green-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity))}.text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity))}.text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.text-green-50{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity))}.text-green-950{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity))}.text-indigo-100{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity))}.text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity))}.text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity))}.text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity))}.text-indigo-50{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity))}.text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity))}.text-indigo-950{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity))}.text-inherit{color:inherit}.text-lime-100{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity))}.text-lime-200{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity))}.text-lime-300{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity))}.text-lime-400{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity))}.text-lime-50{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity))}.text-lime-500{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity))}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity))}.text-lime-700{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity))}.text-lime-800{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity))}.text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity))}.text-lime-950{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity))}.text-neutral-100{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity))}.text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity))}.text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity))}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity))}.text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity))}.text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity))}.text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity))}.text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity))}.text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity))}.text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity))}.text-orange-50{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity))}.text-orange-900{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity))}.text-orange-950{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity))}.text-pink-100{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity))}.text-pink-200{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity))}.text-pink-300{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity))}.text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity))}.text-pink-50{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity))}.text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity))}.text-pink-700{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity))}.text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.text-pink-900{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity))}.text-pink-950{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity))}.text-purple-100{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity))}.text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity))}.text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity))}.text-purple-50{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity))}.text-purple-950{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity))}.text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.text-red-50{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.text-red-950{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity))}.text-rose-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity))}.text-rose-200{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity))}.text-rose-300{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity))}.text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}.text-rose-50{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity))}.text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}.text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}.text-rose-950{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity))}.text-sky-100{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity))}.text-sky-200{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity))}.text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity))}.text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity))}.text-sky-50{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity))}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}.text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity))}.text-sky-800{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity))}.text-sky-900{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity))}.text-sky-950{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity))}.text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity))}.text-stone-100{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity))}.text-stone-200{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity))}.text-stone-300{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity))}.text-stone-400{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity))}.text-stone-50{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity))}.text-stone-500{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity))}.text-stone-600{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity))}.text-stone-700{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity))}.text-stone-800{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity))}.text-stone-900{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity))}.text-stone-950{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity))}.text-teal-100{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity))}.text-teal-200{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity))}.text-teal-300{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity))}.text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity))}.text-teal-50{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity))}.text-teal-500{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity))}.text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity))}.text-teal-700{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity))}.text-teal-800{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity))}.text-teal-900{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity))}.text-teal-950{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity))}.text-tremor-brand{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.text-tremor-brand-emphasis{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity))}.text-tremor-brand-inverted{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-tremor-content{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-tremor-content-emphasis{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-tremor-content-strong{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-tremor-content-subtle{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-violet-100{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity))}.text-violet-200{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity))}.text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity))}.text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity))}.text-violet-50{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity))}.text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity))}.text-violet-800{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity))}.text-violet-900{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity))}.text-violet-950{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-100{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity))}.text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity))}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.text-yellow-50{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity))}.text-yellow-950{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity))}.text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity))}.text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity))}.text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}.text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.accent-dark-tremor-brand,.accent-tremor-brand{accent-color:#6366f1}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow,.shadow-dark-tremor-card{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-dark-tremor-card,.shadow-dark-tremor-input{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-dark-tremor-input{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-tremor-card{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-tremor-card{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-tremor-dropdown{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-tremor-dropdown,.shadow-tremor-input{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-tremor-input{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-tremor-brand{outline-color:#6366f1}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-amber-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 243 199/var(--tw-ring-opacity))}.ring-amber-200{--tw-ring-opacity:1;--tw-ring-color:rgb(253 230 138/var(--tw-ring-opacity))}.ring-amber-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 211 77/var(--tw-ring-opacity))}.ring-amber-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 191 36/var(--tw-ring-opacity))}.ring-amber-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 251 235/var(--tw-ring-opacity))}.ring-amber-500{--tw-ring-opacity:1;--tw-ring-color:rgb(245 158 11/var(--tw-ring-opacity))}.ring-amber-600{--tw-ring-opacity:1;--tw-ring-color:rgb(217 119 6/var(--tw-ring-opacity))}.ring-amber-700{--tw-ring-opacity:1;--tw-ring-color:rgb(180 83 9/var(--tw-ring-opacity))}.ring-amber-800{--tw-ring-opacity:1;--tw-ring-color:rgb(146 64 14/var(--tw-ring-opacity))}.ring-amber-900{--tw-ring-opacity:1;--tw-ring-color:rgb(120 53 15/var(--tw-ring-opacity))}.ring-amber-950{--tw-ring-opacity:1;--tw-ring-color:rgb(69 26 3/var(--tw-ring-opacity))}.ring-blue-100{--tw-ring-opacity:1;--tw-ring-color:rgb(219 234 254/var(--tw-ring-opacity))}.ring-blue-200{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.ring-blue-300{--tw-ring-opacity:1;--tw-ring-color:rgb(147 197 253/var(--tw-ring-opacity))}.ring-blue-400{--tw-ring-opacity:1;--tw-ring-color:rgb(96 165 250/var(--tw-ring-opacity))}.ring-blue-50{--tw-ring-opacity:1;--tw-ring-color:rgb(239 246 255/var(--tw-ring-opacity))}.ring-blue-500{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.ring-blue-600{--tw-ring-opacity:1;--tw-ring-color:rgb(37 99 235/var(--tw-ring-opacity))}.ring-blue-700{--tw-ring-opacity:1;--tw-ring-color:rgb(29 78 216/var(--tw-ring-opacity))}.ring-blue-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 64 175/var(--tw-ring-opacity))}.ring-blue-900{--tw-ring-opacity:1;--tw-ring-color:rgb(30 58 138/var(--tw-ring-opacity))}.ring-blue-950{--tw-ring-opacity:1;--tw-ring-color:rgb(23 37 84/var(--tw-ring-opacity))}.ring-cyan-100{--tw-ring-opacity:1;--tw-ring-color:rgb(207 250 254/var(--tw-ring-opacity))}.ring-cyan-200{--tw-ring-opacity:1;--tw-ring-color:rgb(165 243 252/var(--tw-ring-opacity))}.ring-cyan-300{--tw-ring-opacity:1;--tw-ring-color:rgb(103 232 249/var(--tw-ring-opacity))}.ring-cyan-400{--tw-ring-opacity:1;--tw-ring-color:rgb(34 211 238/var(--tw-ring-opacity))}.ring-cyan-50{--tw-ring-opacity:1;--tw-ring-color:rgb(236 254 255/var(--tw-ring-opacity))}.ring-cyan-500{--tw-ring-opacity:1;--tw-ring-color:rgb(6 182 212/var(--tw-ring-opacity))}.ring-cyan-600{--tw-ring-opacity:1;--tw-ring-color:rgb(8 145 178/var(--tw-ring-opacity))}.ring-cyan-700{--tw-ring-opacity:1;--tw-ring-color:rgb(14 116 144/var(--tw-ring-opacity))}.ring-cyan-800{--tw-ring-opacity:1;--tw-ring-color:rgb(21 94 117/var(--tw-ring-opacity))}.ring-cyan-900{--tw-ring-opacity:1;--tw-ring-color:rgb(22 78 99/var(--tw-ring-opacity))}.ring-cyan-950{--tw-ring-opacity:1;--tw-ring-color:rgb(8 51 68/var(--tw-ring-opacity))}.ring-dark-tremor-ring{--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity))}.ring-emerald-100{--tw-ring-opacity:1;--tw-ring-color:rgb(209 250 229/var(--tw-ring-opacity))}.ring-emerald-200{--tw-ring-opacity:1;--tw-ring-color:rgb(167 243 208/var(--tw-ring-opacity))}.ring-emerald-300{--tw-ring-opacity:1;--tw-ring-color:rgb(110 231 183/var(--tw-ring-opacity))}.ring-emerald-400{--tw-ring-opacity:1;--tw-ring-color:rgb(52 211 153/var(--tw-ring-opacity))}.ring-emerald-50{--tw-ring-opacity:1;--tw-ring-color:rgb(236 253 245/var(--tw-ring-opacity))}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity))}.ring-emerald-600{--tw-ring-opacity:1;--tw-ring-color:rgb(5 150 105/var(--tw-ring-opacity))}.ring-emerald-700{--tw-ring-opacity:1;--tw-ring-color:rgb(4 120 87/var(--tw-ring-opacity))}.ring-emerald-800{--tw-ring-opacity:1;--tw-ring-color:rgb(6 95 70/var(--tw-ring-opacity))}.ring-emerald-900{--tw-ring-opacity:1;--tw-ring-color:rgb(6 78 59/var(--tw-ring-opacity))}.ring-emerald-950{--tw-ring-opacity:1;--tw-ring-color:rgb(2 44 34/var(--tw-ring-opacity))}.ring-fuchsia-100{--tw-ring-opacity:1;--tw-ring-color:rgb(250 232 255/var(--tw-ring-opacity))}.ring-fuchsia-200{--tw-ring-opacity:1;--tw-ring-color:rgb(245 208 254/var(--tw-ring-opacity))}.ring-fuchsia-300{--tw-ring-opacity:1;--tw-ring-color:rgb(240 171 252/var(--tw-ring-opacity))}.ring-fuchsia-400{--tw-ring-opacity:1;--tw-ring-color:rgb(232 121 249/var(--tw-ring-opacity))}.ring-fuchsia-50{--tw-ring-opacity:1;--tw-ring-color:rgb(253 244 255/var(--tw-ring-opacity))}.ring-fuchsia-500{--tw-ring-opacity:1;--tw-ring-color:rgb(217 70 239/var(--tw-ring-opacity))}.ring-fuchsia-600{--tw-ring-opacity:1;--tw-ring-color:rgb(192 38 211/var(--tw-ring-opacity))}.ring-fuchsia-700{--tw-ring-opacity:1;--tw-ring-color:rgb(162 28 175/var(--tw-ring-opacity))}.ring-fuchsia-800{--tw-ring-opacity:1;--tw-ring-color:rgb(134 25 143/var(--tw-ring-opacity))}.ring-fuchsia-900{--tw-ring-opacity:1;--tw-ring-color:rgb(112 26 117/var(--tw-ring-opacity))}.ring-fuchsia-950{--tw-ring-opacity:1;--tw-ring-color:rgb(74 4 78/var(--tw-ring-opacity))}.ring-gray-100{--tw-ring-opacity:1;--tw-ring-color:rgb(243 244 246/var(--tw-ring-opacity))}.ring-gray-200{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.ring-gray-400{--tw-ring-opacity:1;--tw-ring-color:rgb(156 163 175/var(--tw-ring-opacity))}.ring-gray-50{--tw-ring-opacity:1;--tw-ring-color:rgb(249 250 251/var(--tw-ring-opacity))}.ring-gray-500{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity))}.ring-gray-600{--tw-ring-opacity:1;--tw-ring-color:rgb(75 85 99/var(--tw-ring-opacity))}.ring-gray-700{--tw-ring-opacity:1;--tw-ring-color:rgb(55 65 81/var(--tw-ring-opacity))}.ring-gray-800{--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity))}.ring-gray-900{--tw-ring-opacity:1;--tw-ring-color:rgb(17 24 39/var(--tw-ring-opacity))}.ring-gray-950{--tw-ring-opacity:1;--tw-ring-color:rgb(3 7 18/var(--tw-ring-opacity))}.ring-green-100{--tw-ring-opacity:1;--tw-ring-color:rgb(220 252 231/var(--tw-ring-opacity))}.ring-green-200{--tw-ring-opacity:1;--tw-ring-color:rgb(187 247 208/var(--tw-ring-opacity))}.ring-green-300{--tw-ring-opacity:1;--tw-ring-color:rgb(134 239 172/var(--tw-ring-opacity))}.ring-green-400{--tw-ring-opacity:1;--tw-ring-color:rgb(74 222 128/var(--tw-ring-opacity))}.ring-green-50{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 244/var(--tw-ring-opacity))}.ring-green-500{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity))}.ring-green-600{--tw-ring-opacity:1;--tw-ring-color:rgb(22 163 74/var(--tw-ring-opacity))}.ring-green-700{--tw-ring-opacity:1;--tw-ring-color:rgb(21 128 61/var(--tw-ring-opacity))}.ring-green-800{--tw-ring-opacity:1;--tw-ring-color:rgb(22 101 52/var(--tw-ring-opacity))}.ring-green-900{--tw-ring-opacity:1;--tw-ring-color:rgb(20 83 45/var(--tw-ring-opacity))}.ring-green-950{--tw-ring-opacity:1;--tw-ring-color:rgb(5 46 22/var(--tw-ring-opacity))}.ring-indigo-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 231 255/var(--tw-ring-opacity))}.ring-indigo-200{--tw-ring-opacity:1;--tw-ring-color:rgb(199 210 254/var(--tw-ring-opacity))}.ring-indigo-300{--tw-ring-opacity:1;--tw-ring-color:rgb(165 180 252/var(--tw-ring-opacity))}.ring-indigo-400{--tw-ring-opacity:1;--tw-ring-color:rgb(129 140 248/var(--tw-ring-opacity))}.ring-indigo-50{--tw-ring-opacity:1;--tw-ring-color:rgb(238 242 255/var(--tw-ring-opacity))}.ring-indigo-500{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.ring-indigo-600{--tw-ring-opacity:1;--tw-ring-color:rgb(79 70 229/var(--tw-ring-opacity))}.ring-indigo-700{--tw-ring-opacity:1;--tw-ring-color:rgb(67 56 202/var(--tw-ring-opacity))}.ring-indigo-800{--tw-ring-opacity:1;--tw-ring-color:rgb(55 48 163/var(--tw-ring-opacity))}.ring-indigo-900{--tw-ring-opacity:1;--tw-ring-color:rgb(49 46 129/var(--tw-ring-opacity))}.ring-indigo-950{--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity))}.ring-lime-100{--tw-ring-opacity:1;--tw-ring-color:rgb(236 252 203/var(--tw-ring-opacity))}.ring-lime-200{--tw-ring-opacity:1;--tw-ring-color:rgb(217 249 157/var(--tw-ring-opacity))}.ring-lime-300{--tw-ring-opacity:1;--tw-ring-color:rgb(190 242 100/var(--tw-ring-opacity))}.ring-lime-400{--tw-ring-opacity:1;--tw-ring-color:rgb(163 230 53/var(--tw-ring-opacity))}.ring-lime-50{--tw-ring-opacity:1;--tw-ring-color:rgb(247 254 231/var(--tw-ring-opacity))}.ring-lime-500{--tw-ring-opacity:1;--tw-ring-color:rgb(132 204 22/var(--tw-ring-opacity))}.ring-lime-600{--tw-ring-opacity:1;--tw-ring-color:rgb(101 163 13/var(--tw-ring-opacity))}.ring-lime-700{--tw-ring-opacity:1;--tw-ring-color:rgb(77 124 15/var(--tw-ring-opacity))}.ring-lime-800{--tw-ring-opacity:1;--tw-ring-color:rgb(63 98 18/var(--tw-ring-opacity))}.ring-lime-900{--tw-ring-opacity:1;--tw-ring-color:rgb(54 83 20/var(--tw-ring-opacity))}.ring-lime-950{--tw-ring-opacity:1;--tw-ring-color:rgb(26 46 5/var(--tw-ring-opacity))}.ring-neutral-100{--tw-ring-opacity:1;--tw-ring-color:rgb(245 245 245/var(--tw-ring-opacity))}.ring-neutral-200{--tw-ring-opacity:1;--tw-ring-color:rgb(229 229 229/var(--tw-ring-opacity))}.ring-neutral-300{--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 212/var(--tw-ring-opacity))}.ring-neutral-400{--tw-ring-opacity:1;--tw-ring-color:rgb(163 163 163/var(--tw-ring-opacity))}.ring-neutral-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 250/var(--tw-ring-opacity))}.ring-neutral-500{--tw-ring-opacity:1;--tw-ring-color:rgb(115 115 115/var(--tw-ring-opacity))}.ring-neutral-600{--tw-ring-opacity:1;--tw-ring-color:rgb(82 82 82/var(--tw-ring-opacity))}.ring-neutral-700{--tw-ring-opacity:1;--tw-ring-color:rgb(64 64 64/var(--tw-ring-opacity))}.ring-neutral-800{--tw-ring-opacity:1;--tw-ring-color:rgb(38 38 38/var(--tw-ring-opacity))}.ring-neutral-900{--tw-ring-opacity:1;--tw-ring-color:rgb(23 23 23/var(--tw-ring-opacity))}.ring-neutral-950{--tw-ring-opacity:1;--tw-ring-color:rgb(10 10 10/var(--tw-ring-opacity))}.ring-orange-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 237 213/var(--tw-ring-opacity))}.ring-orange-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 215 170/var(--tw-ring-opacity))}.ring-orange-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 186 116/var(--tw-ring-opacity))}.ring-orange-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 146 60/var(--tw-ring-opacity))}.ring-orange-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 247 237/var(--tw-ring-opacity))}.ring-orange-500{--tw-ring-opacity:1;--tw-ring-color:rgb(249 115 22/var(--tw-ring-opacity))}.ring-orange-600{--tw-ring-opacity:1;--tw-ring-color:rgb(234 88 12/var(--tw-ring-opacity))}.ring-orange-700{--tw-ring-opacity:1;--tw-ring-color:rgb(194 65 12/var(--tw-ring-opacity))}.ring-orange-800{--tw-ring-opacity:1;--tw-ring-color:rgb(154 52 18/var(--tw-ring-opacity))}.ring-orange-900{--tw-ring-opacity:1;--tw-ring-color:rgb(124 45 18/var(--tw-ring-opacity))}.ring-orange-950{--tw-ring-opacity:1;--tw-ring-color:rgb(67 20 7/var(--tw-ring-opacity))}.ring-pink-100{--tw-ring-opacity:1;--tw-ring-color:rgb(252 231 243/var(--tw-ring-opacity))}.ring-pink-200{--tw-ring-opacity:1;--tw-ring-color:rgb(251 207 232/var(--tw-ring-opacity))}.ring-pink-300{--tw-ring-opacity:1;--tw-ring-color:rgb(249 168 212/var(--tw-ring-opacity))}.ring-pink-400{--tw-ring-opacity:1;--tw-ring-color:rgb(244 114 182/var(--tw-ring-opacity))}.ring-pink-50{--tw-ring-opacity:1;--tw-ring-color:rgb(253 242 248/var(--tw-ring-opacity))}.ring-pink-500{--tw-ring-opacity:1;--tw-ring-color:rgb(236 72 153/var(--tw-ring-opacity))}.ring-pink-600{--tw-ring-opacity:1;--tw-ring-color:rgb(219 39 119/var(--tw-ring-opacity))}.ring-pink-700{--tw-ring-opacity:1;--tw-ring-color:rgb(190 24 93/var(--tw-ring-opacity))}.ring-pink-800{--tw-ring-opacity:1;--tw-ring-color:rgb(157 23 77/var(--tw-ring-opacity))}.ring-pink-900{--tw-ring-opacity:1;--tw-ring-color:rgb(131 24 67/var(--tw-ring-opacity))}.ring-pink-950{--tw-ring-opacity:1;--tw-ring-color:rgb(80 7 36/var(--tw-ring-opacity))}.ring-purple-100{--tw-ring-opacity:1;--tw-ring-color:rgb(243 232 255/var(--tw-ring-opacity))}.ring-purple-200{--tw-ring-opacity:1;--tw-ring-color:rgb(233 213 255/var(--tw-ring-opacity))}.ring-purple-300{--tw-ring-opacity:1;--tw-ring-color:rgb(216 180 254/var(--tw-ring-opacity))}.ring-purple-400{--tw-ring-opacity:1;--tw-ring-color:rgb(192 132 252/var(--tw-ring-opacity))}.ring-purple-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 245 255/var(--tw-ring-opacity))}.ring-purple-500{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity))}.ring-purple-600{--tw-ring-opacity:1;--tw-ring-color:rgb(147 51 234/var(--tw-ring-opacity))}.ring-purple-700{--tw-ring-opacity:1;--tw-ring-color:rgb(126 34 206/var(--tw-ring-opacity))}.ring-purple-800{--tw-ring-opacity:1;--tw-ring-color:rgb(107 33 168/var(--tw-ring-opacity))}.ring-purple-900{--tw-ring-opacity:1;--tw-ring-color:rgb(88 28 135/var(--tw-ring-opacity))}.ring-purple-950{--tw-ring-opacity:1;--tw-ring-color:rgb(59 7 100/var(--tw-ring-opacity))}.ring-red-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 226 226/var(--tw-ring-opacity))}.ring-red-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 202 202/var(--tw-ring-opacity))}.ring-red-300{--tw-ring-opacity:1;--tw-ring-color:rgb(252 165 165/var(--tw-ring-opacity))}.ring-red-400{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity))}.ring-red-50{--tw-ring-opacity:1;--tw-ring-color:rgb(254 242 242/var(--tw-ring-opacity))}.ring-red-500{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity))}.ring-red-600{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity))}.ring-red-700{--tw-ring-opacity:1;--tw-ring-color:rgb(185 28 28/var(--tw-ring-opacity))}.ring-red-800{--tw-ring-opacity:1;--tw-ring-color:rgb(153 27 27/var(--tw-ring-opacity))}.ring-red-900{--tw-ring-opacity:1;--tw-ring-color:rgb(127 29 29/var(--tw-ring-opacity))}.ring-red-950{--tw-ring-opacity:1;--tw-ring-color:rgb(69 10 10/var(--tw-ring-opacity))}.ring-rose-100{--tw-ring-opacity:1;--tw-ring-color:rgb(255 228 230/var(--tw-ring-opacity))}.ring-rose-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 205 211/var(--tw-ring-opacity))}.ring-rose-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 164 175/var(--tw-ring-opacity))}.ring-rose-400{--tw-ring-opacity:1;--tw-ring-color:rgb(251 113 133/var(--tw-ring-opacity))}.ring-rose-50{--tw-ring-opacity:1;--tw-ring-color:rgb(255 241 242/var(--tw-ring-opacity))}.ring-rose-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity))}.ring-rose-600{--tw-ring-opacity:1;--tw-ring-color:rgb(225 29 72/var(--tw-ring-opacity))}.ring-rose-700{--tw-ring-opacity:1;--tw-ring-color:rgb(190 18 60/var(--tw-ring-opacity))}.ring-rose-800{--tw-ring-opacity:1;--tw-ring-color:rgb(159 18 57/var(--tw-ring-opacity))}.ring-rose-900{--tw-ring-opacity:1;--tw-ring-color:rgb(136 19 55/var(--tw-ring-opacity))}.ring-rose-950{--tw-ring-opacity:1;--tw-ring-color:rgb(76 5 25/var(--tw-ring-opacity))}.ring-sky-100{--tw-ring-opacity:1;--tw-ring-color:rgb(224 242 254/var(--tw-ring-opacity))}.ring-sky-200{--tw-ring-opacity:1;--tw-ring-color:rgb(186 230 253/var(--tw-ring-opacity))}.ring-sky-300{--tw-ring-opacity:1;--tw-ring-color:rgb(125 211 252/var(--tw-ring-opacity))}.ring-sky-400{--tw-ring-opacity:1;--tw-ring-color:rgb(56 189 248/var(--tw-ring-opacity))}.ring-sky-50{--tw-ring-opacity:1;--tw-ring-color:rgb(240 249 255/var(--tw-ring-opacity))}.ring-sky-500{--tw-ring-opacity:1;--tw-ring-color:rgb(14 165 233/var(--tw-ring-opacity))}.ring-sky-600{--tw-ring-opacity:1;--tw-ring-color:rgb(2 132 199/var(--tw-ring-opacity))}.ring-sky-700{--tw-ring-opacity:1;--tw-ring-color:rgb(3 105 161/var(--tw-ring-opacity))}.ring-sky-800{--tw-ring-opacity:1;--tw-ring-color:rgb(7 89 133/var(--tw-ring-opacity))}.ring-sky-900{--tw-ring-opacity:1;--tw-ring-color:rgb(12 74 110/var(--tw-ring-opacity))}.ring-sky-950{--tw-ring-opacity:1;--tw-ring-color:rgb(8 47 73/var(--tw-ring-opacity))}.ring-slate-100{--tw-ring-opacity:1;--tw-ring-color:rgb(241 245 249/var(--tw-ring-opacity))}.ring-slate-200{--tw-ring-opacity:1;--tw-ring-color:rgb(226 232 240/var(--tw-ring-opacity))}.ring-slate-300{--tw-ring-opacity:1;--tw-ring-color:rgb(203 213 225/var(--tw-ring-opacity))}.ring-slate-400{--tw-ring-opacity:1;--tw-ring-color:rgb(148 163 184/var(--tw-ring-opacity))}.ring-slate-50{--tw-ring-opacity:1;--tw-ring-color:rgb(248 250 252/var(--tw-ring-opacity))}.ring-slate-500{--tw-ring-opacity:1;--tw-ring-color:rgb(100 116 139/var(--tw-ring-opacity))}.ring-slate-600{--tw-ring-opacity:1;--tw-ring-color:rgb(71 85 105/var(--tw-ring-opacity))}.ring-slate-700{--tw-ring-opacity:1;--tw-ring-color:rgb(51 65 85/var(--tw-ring-opacity))}.ring-slate-800{--tw-ring-opacity:1;--tw-ring-color:rgb(30 41 59/var(--tw-ring-opacity))}.ring-slate-900{--tw-ring-opacity:1;--tw-ring-color:rgb(15 23 42/var(--tw-ring-opacity))}.ring-slate-950{--tw-ring-opacity:1;--tw-ring-color:rgb(2 6 23/var(--tw-ring-opacity))}.ring-stone-100{--tw-ring-opacity:1;--tw-ring-color:rgb(245 245 244/var(--tw-ring-opacity))}.ring-stone-200{--tw-ring-opacity:1;--tw-ring-color:rgb(231 229 228/var(--tw-ring-opacity))}.ring-stone-300{--tw-ring-opacity:1;--tw-ring-color:rgb(214 211 209/var(--tw-ring-opacity))}.ring-stone-400{--tw-ring-opacity:1;--tw-ring-color:rgb(168 162 158/var(--tw-ring-opacity))}.ring-stone-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 249/var(--tw-ring-opacity))}.ring-stone-500{--tw-ring-opacity:1;--tw-ring-color:rgb(120 113 108/var(--tw-ring-opacity))}.ring-stone-600{--tw-ring-opacity:1;--tw-ring-color:rgb(87 83 78/var(--tw-ring-opacity))}.ring-stone-700{--tw-ring-opacity:1;--tw-ring-color:rgb(68 64 60/var(--tw-ring-opacity))}.ring-stone-800{--tw-ring-opacity:1;--tw-ring-color:rgb(41 37 36/var(--tw-ring-opacity))}.ring-stone-900{--tw-ring-opacity:1;--tw-ring-color:rgb(28 25 23/var(--tw-ring-opacity))}.ring-stone-950{--tw-ring-opacity:1;--tw-ring-color:rgb(12 10 9/var(--tw-ring-opacity))}.ring-teal-100{--tw-ring-opacity:1;--tw-ring-color:rgb(204 251 241/var(--tw-ring-opacity))}.ring-teal-200{--tw-ring-opacity:1;--tw-ring-color:rgb(153 246 228/var(--tw-ring-opacity))}.ring-teal-300{--tw-ring-opacity:1;--tw-ring-color:rgb(94 234 212/var(--tw-ring-opacity))}.ring-teal-400{--tw-ring-opacity:1;--tw-ring-color:rgb(45 212 191/var(--tw-ring-opacity))}.ring-teal-50{--tw-ring-opacity:1;--tw-ring-color:rgb(240 253 250/var(--tw-ring-opacity))}.ring-teal-500{--tw-ring-opacity:1;--tw-ring-color:rgb(20 184 166/var(--tw-ring-opacity))}.ring-teal-600{--tw-ring-opacity:1;--tw-ring-color:rgb(13 148 136/var(--tw-ring-opacity))}.ring-teal-700{--tw-ring-opacity:1;--tw-ring-color:rgb(15 118 110/var(--tw-ring-opacity))}.ring-teal-800{--tw-ring-opacity:1;--tw-ring-color:rgb(17 94 89/var(--tw-ring-opacity))}.ring-teal-900{--tw-ring-opacity:1;--tw-ring-color:rgb(19 78 74/var(--tw-ring-opacity))}.ring-teal-950{--tw-ring-opacity:1;--tw-ring-color:rgb(4 47 46/var(--tw-ring-opacity))}.ring-tremor-brand-inverted{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity))}.ring-tremor-brand-muted{--tw-ring-opacity:1;--tw-ring-color:rgb(134 136 239/var(--tw-ring-opacity))}.ring-tremor-ring{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.ring-violet-100{--tw-ring-opacity:1;--tw-ring-color:rgb(237 233 254/var(--tw-ring-opacity))}.ring-violet-200{--tw-ring-opacity:1;--tw-ring-color:rgb(221 214 254/var(--tw-ring-opacity))}.ring-violet-300{--tw-ring-opacity:1;--tw-ring-color:rgb(196 181 253/var(--tw-ring-opacity))}.ring-violet-400{--tw-ring-opacity:1;--tw-ring-color:rgb(167 139 250/var(--tw-ring-opacity))}.ring-violet-50{--tw-ring-opacity:1;--tw-ring-color:rgb(245 243 255/var(--tw-ring-opacity))}.ring-violet-500{--tw-ring-opacity:1;--tw-ring-color:rgb(139 92 246/var(--tw-ring-opacity))}.ring-violet-600{--tw-ring-opacity:1;--tw-ring-color:rgb(124 58 237/var(--tw-ring-opacity))}.ring-violet-700{--tw-ring-opacity:1;--tw-ring-color:rgb(109 40 217/var(--tw-ring-opacity))}.ring-violet-800{--tw-ring-opacity:1;--tw-ring-color:rgb(91 33 182/var(--tw-ring-opacity))}.ring-violet-900{--tw-ring-opacity:1;--tw-ring-color:rgb(76 29 149/var(--tw-ring-opacity))}.ring-violet-950{--tw-ring-opacity:1;--tw-ring-color:rgb(46 16 101/var(--tw-ring-opacity))}.ring-yellow-100{--tw-ring-opacity:1;--tw-ring-color:rgb(254 249 195/var(--tw-ring-opacity))}.ring-yellow-200{--tw-ring-opacity:1;--tw-ring-color:rgb(254 240 138/var(--tw-ring-opacity))}.ring-yellow-300{--tw-ring-opacity:1;--tw-ring-color:rgb(253 224 71/var(--tw-ring-opacity))}.ring-yellow-400{--tw-ring-opacity:1;--tw-ring-color:rgb(250 204 21/var(--tw-ring-opacity))}.ring-yellow-50{--tw-ring-opacity:1;--tw-ring-color:rgb(254 252 232/var(--tw-ring-opacity))}.ring-yellow-500{--tw-ring-opacity:1;--tw-ring-color:rgb(234 179 8/var(--tw-ring-opacity))}.ring-yellow-600{--tw-ring-opacity:1;--tw-ring-color:rgb(202 138 4/var(--tw-ring-opacity))}.ring-yellow-700{--tw-ring-opacity:1;--tw-ring-color:rgb(161 98 7/var(--tw-ring-opacity))}.ring-yellow-800{--tw-ring-opacity:1;--tw-ring-color:rgb(133 77 14/var(--tw-ring-opacity))}.ring-yellow-900{--tw-ring-opacity:1;--tw-ring-color:rgb(113 63 18/var(--tw-ring-opacity))}.ring-yellow-950{--tw-ring-opacity:1;--tw-ring-color:rgb(66 32 6/var(--tw-ring-opacity))}.ring-zinc-100{--tw-ring-opacity:1;--tw-ring-color:rgb(244 244 245/var(--tw-ring-opacity))}.ring-zinc-200{--tw-ring-opacity:1;--tw-ring-color:rgb(228 228 231/var(--tw-ring-opacity))}.ring-zinc-300{--tw-ring-opacity:1;--tw-ring-color:rgb(212 212 216/var(--tw-ring-opacity))}.ring-zinc-400{--tw-ring-opacity:1;--tw-ring-color:rgb(161 161 170/var(--tw-ring-opacity))}.ring-zinc-50{--tw-ring-opacity:1;--tw-ring-color:rgb(250 250 250/var(--tw-ring-opacity))}.ring-zinc-500{--tw-ring-opacity:1;--tw-ring-color:rgb(113 113 122/var(--tw-ring-opacity))}.ring-zinc-600{--tw-ring-opacity:1;--tw-ring-color:rgb(82 82 91/var(--tw-ring-opacity))}.ring-zinc-700{--tw-ring-opacity:1;--tw-ring-color:rgb(63 63 70/var(--tw-ring-opacity))}.ring-zinc-800{--tw-ring-opacity:1;--tw-ring-color:rgb(39 39 42/var(--tw-ring-opacity))}.ring-zinc-900{--tw-ring-opacity:1;--tw-ring-color:rgb(24 24 27/var(--tw-ring-opacity))}.ring-zinc-950{--tw-ring-opacity:1;--tw-ring-color:rgb(9 9 11/var(--tw-ring-opacity))}.ring-opacity-40{--tw-ring-opacity:0.4}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[appearance\:textfield\]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.\[scrollbar-width\:none\]{scrollbar-width:none}:root{--foreground-rgb:0,0,0;--background-start-rgb:255,255,255;--background-end-rgb:255,255,255}body{color:rgb(var(--foreground-rgb));background:linear-gradient(to bottom,transparent,rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb))}.placeholder\:text-tremor-content::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.placeholder\:text-tremor-content::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.placeholder\:text-tremor-content-subtle::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.placeholder\:text-tremor-content-subtle::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.first\:rounded-l-\[4px\]:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.last\:rounded-r-\[4px\]:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.focus-within\:relative:focus-within{position:relative}.hover\:border-b-2:hover{border-bottom-width:2px}.hover\:border-amber-100:hover{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity))}.hover\:border-amber-200:hover{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity))}.hover\:border-amber-300:hover{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity))}.hover\:border-amber-400:hover{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity))}.hover\:border-amber-50:hover{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity))}.hover\:border-amber-500:hover{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.hover\:border-amber-600:hover{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.hover\:border-amber-700:hover{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity))}.hover\:border-amber-800:hover{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity))}.hover\:border-amber-900:hover{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity))}.hover\:border-amber-950:hover{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity))}.hover\:border-blue-100:hover{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity))}.hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity))}.hover\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity))}.hover\:border-blue-400:hover{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity))}.hover\:border-blue-50:hover{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity))}.hover\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.hover\:border-blue-600:hover{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.hover\:border-blue-700:hover{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity))}.hover\:border-blue-800:hover{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity))}.hover\:border-blue-900:hover{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity))}.hover\:border-blue-950:hover{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity))}.hover\:border-cyan-100:hover{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity))}.hover\:border-cyan-200:hover{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity))}.hover\:border-cyan-300:hover{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity))}.hover\:border-cyan-400:hover{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity))}.hover\:border-cyan-50:hover{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity))}.hover\:border-cyan-500:hover{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity))}.hover\:border-cyan-600:hover{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity))}.hover\:border-cyan-700:hover{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity))}.hover\:border-cyan-800:hover{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity))}.hover\:border-cyan-900:hover{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity))}.hover\:border-cyan-950:hover{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity))}.hover\:border-emerald-100:hover{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity))}.hover\:border-emerald-200:hover{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity))}.hover\:border-emerald-300:hover{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity))}.hover\:border-emerald-400:hover{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity))}.hover\:border-emerald-50:hover{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity))}.hover\:border-emerald-500:hover{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}.hover\:border-emerald-600:hover{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity))}.hover\:border-emerald-700:hover{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity))}.hover\:border-emerald-800:hover{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity))}.hover\:border-emerald-900:hover{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity))}.hover\:border-emerald-950:hover{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity))}.hover\:border-fuchsia-100:hover{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity))}.hover\:border-fuchsia-200:hover{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity))}.hover\:border-fuchsia-300:hover{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity))}.hover\:border-fuchsia-400:hover{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity))}.hover\:border-fuchsia-50:hover{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity))}.hover\:border-fuchsia-500:hover{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity))}.hover\:border-fuchsia-600:hover{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity))}.hover\:border-fuchsia-700:hover{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity))}.hover\:border-fuchsia-800:hover{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity))}.hover\:border-fuchsia-900:hover{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity))}.hover\:border-fuchsia-950:hover{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity))}.hover\:border-gray-100:hover{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.hover\:border-gray-200:hover{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.hover\:border-gray-50:hover{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity))}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.hover\:border-gray-600:hover{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.hover\:border-gray-700:hover{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.hover\:border-gray-800:hover{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity))}.hover\:border-gray-900:hover{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}.hover\:border-gray-950:hover{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity))}.hover\:border-green-100:hover{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity))}.hover\:border-green-200:hover{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity))}.hover\:border-green-300:hover{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity))}.hover\:border-green-400:hover{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity))}.hover\:border-green-50:hover{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity))}.hover\:border-green-500:hover{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity))}.hover\:border-green-600:hover{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}.hover\:border-green-700:hover{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity))}.hover\:border-green-800:hover{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity))}.hover\:border-green-900:hover{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity))}.hover\:border-green-950:hover{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity))}.hover\:border-indigo-100:hover{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity))}.hover\:border-indigo-300:hover{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity))}.hover\:border-indigo-400:hover{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity))}.hover\:border-indigo-50:hover{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity))}.hover\:border-indigo-500:hover{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}.hover\:border-indigo-600:hover{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity))}.hover\:border-indigo-700:hover{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity))}.hover\:border-indigo-800:hover{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity))}.hover\:border-indigo-900:hover{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity))}.hover\:border-indigo-950:hover{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity))}.hover\:border-lime-100:hover{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity))}.hover\:border-lime-200:hover{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity))}.hover\:border-lime-300:hover{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity))}.hover\:border-lime-400:hover{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity))}.hover\:border-lime-50:hover{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity))}.hover\:border-lime-500:hover{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity))}.hover\:border-lime-600:hover{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity))}.hover\:border-lime-700:hover{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity))}.hover\:border-lime-800:hover{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity))}.hover\:border-lime-900:hover{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity))}.hover\:border-lime-950:hover{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity))}.hover\:border-neutral-100:hover{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity))}.hover\:border-neutral-200:hover{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity))}.hover\:border-neutral-300:hover{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity))}.hover\:border-neutral-400:hover{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity))}.hover\:border-neutral-50:hover{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity))}.hover\:border-neutral-500:hover{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity))}.hover\:border-neutral-600:hover{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity))}.hover\:border-neutral-700:hover{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity))}.hover\:border-neutral-800:hover{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity))}.hover\:border-neutral-900:hover{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity))}.hover\:border-neutral-950:hover{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity))}.hover\:border-orange-100:hover{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity))}.hover\:border-orange-200:hover{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity))}.hover\:border-orange-300:hover{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity))}.hover\:border-orange-400:hover{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity))}.hover\:border-orange-50:hover{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity))}.hover\:border-orange-500:hover{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity))}.hover\:border-orange-600:hover{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity))}.hover\:border-orange-700:hover{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity))}.hover\:border-orange-800:hover{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity))}.hover\:border-orange-900:hover{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity))}.hover\:border-orange-950:hover{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity))}.hover\:border-pink-100:hover{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity))}.hover\:border-pink-200:hover{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity))}.hover\:border-pink-300:hover{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity))}.hover\:border-pink-400:hover{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity))}.hover\:border-pink-50:hover{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity))}.hover\:border-pink-500:hover{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity))}.hover\:border-pink-600:hover{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity))}.hover\:border-pink-700:hover{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity))}.hover\:border-pink-800:hover{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity))}.hover\:border-pink-900:hover{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity))}.hover\:border-pink-950:hover{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity))}.hover\:border-purple-100:hover{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity))}.hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity))}.hover\:border-purple-300:hover{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity))}.hover\:border-purple-400:hover{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity))}.hover\:border-purple-50:hover{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity))}.hover\:border-purple-500:hover{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity))}.hover\:border-purple-600:hover{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity))}.hover\:border-purple-700:hover{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity))}.hover\:border-purple-800:hover{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity))}.hover\:border-purple-900:hover{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity))}.hover\:border-purple-950:hover{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity))}.hover\:border-red-100:hover{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity))}.hover\:border-red-200:hover{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity))}.hover\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity))}.hover\:border-red-400:hover{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity))}.hover\:border-red-50:hover{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity))}.hover\:border-red-500:hover{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.hover\:border-red-600:hover{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.hover\:border-red-700:hover{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity))}.hover\:border-red-800:hover{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity))}.hover\:border-red-900:hover{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity))}.hover\:border-red-950:hover{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity))}.hover\:border-rose-100:hover{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity))}.hover\:border-rose-200:hover{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity))}.hover\:border-rose-300:hover{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity))}.hover\:border-rose-400:hover{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.hover\:border-rose-50:hover{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity))}.hover\:border-rose-500:hover{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity))}.hover\:border-rose-600:hover{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity))}.hover\:border-rose-700:hover{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity))}.hover\:border-rose-800:hover{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity))}.hover\:border-rose-900:hover{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity))}.hover\:border-rose-950:hover{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity))}.hover\:border-sky-100:hover{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity))}.hover\:border-sky-200:hover{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity))}.hover\:border-sky-300:hover{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity))}.hover\:border-sky-400:hover{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity))}.hover\:border-sky-50:hover{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity))}.hover\:border-sky-500:hover{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity))}.hover\:border-sky-600:hover{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity))}.hover\:border-sky-700:hover{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity))}.hover\:border-sky-800:hover{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity))}.hover\:border-sky-900:hover{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity))}.hover\:border-sky-950:hover{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity))}.hover\:border-slate-100:hover{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity))}.hover\:border-slate-200:hover{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity))}.hover\:border-slate-300:hover{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.hover\:border-slate-400:hover{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}.hover\:border-slate-50:hover{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity))}.hover\:border-slate-500:hover{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity))}.hover\:border-slate-600:hover{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity))}.hover\:border-slate-700:hover{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}.hover\:border-slate-800:hover{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}.hover\:border-slate-900:hover{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity))}.hover\:border-slate-950:hover{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity))}.hover\:border-stone-100:hover{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity))}.hover\:border-stone-200:hover{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity))}.hover\:border-stone-300:hover{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity))}.hover\:border-stone-400:hover{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity))}.hover\:border-stone-50:hover{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity))}.hover\:border-stone-500:hover{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity))}.hover\:border-stone-600:hover{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity))}.hover\:border-stone-700:hover{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity))}.hover\:border-stone-800:hover{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity))}.hover\:border-stone-900:hover{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity))}.hover\:border-stone-950:hover{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity))}.hover\:border-teal-100:hover{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity))}.hover\:border-teal-200:hover{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity))}.hover\:border-teal-300:hover{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity))}.hover\:border-teal-400:hover{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity))}.hover\:border-teal-50:hover{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity))}.hover\:border-teal-500:hover{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity))}.hover\:border-teal-600:hover{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity))}.hover\:border-teal-700:hover{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity))}.hover\:border-teal-800:hover{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity))}.hover\:border-teal-900:hover{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity))}.hover\:border-teal-950:hover{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity))}.hover\:border-tremor-brand-emphasis:hover{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity))}.hover\:border-tremor-content:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.hover\:border-violet-100:hover{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity))}.hover\:border-violet-200:hover{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity))}.hover\:border-violet-300:hover{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity))}.hover\:border-violet-400:hover{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity))}.hover\:border-violet-50:hover{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity))}.hover\:border-violet-500:hover{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity))}.hover\:border-violet-600:hover{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity))}.hover\:border-violet-700:hover{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity))}.hover\:border-violet-800:hover{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity))}.hover\:border-violet-900:hover{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity))}.hover\:border-violet-950:hover{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity))}.hover\:border-yellow-100:hover{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.hover\:border-yellow-200:hover{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity))}.hover\:border-yellow-300:hover{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity))}.hover\:border-yellow-400:hover{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity))}.hover\:border-yellow-50:hover{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity))}.hover\:border-yellow-500:hover{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity))}.hover\:border-yellow-600:hover{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity))}.hover\:border-yellow-700:hover{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity))}.hover\:border-yellow-800:hover{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity))}.hover\:border-yellow-900:hover{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity))}.hover\:border-yellow-950:hover{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity))}.hover\:border-zinc-100:hover{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity))}.hover\:border-zinc-200:hover{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.hover\:border-zinc-300:hover{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.hover\:border-zinc-400:hover{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.hover\:border-zinc-50:hover{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity))}.hover\:border-zinc-500:hover{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity))}.hover\:border-zinc-600:hover{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity))}.hover\:border-zinc-700:hover{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity))}.hover\:border-zinc-800:hover{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity))}.hover\:border-zinc-900:hover{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity))}.hover\:border-zinc-950:hover{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity))}.hover\:bg-amber-100:hover{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.hover\:bg-amber-200:hover{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}.hover\:bg-amber-300:hover{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity))}.hover\:bg-amber-400:hover{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.hover\:bg-amber-500:hover{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.hover\:bg-amber-600:hover{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.hover\:bg-amber-700:hover{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity))}.hover\:bg-amber-800:hover{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity))}.hover\:bg-amber-900:hover{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity))}.hover\:bg-amber-950:hover{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity))}.hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.hover\:bg-blue-300:hover{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.hover\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-blue-800:hover{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.hover\:bg-blue-900:hover{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity))}.hover\:bg-blue-950:hover{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity))}.hover\:bg-cyan-100:hover{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity))}.hover\:bg-cyan-200:hover{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity))}.hover\:bg-cyan-300:hover{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity))}.hover\:bg-cyan-400:hover{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity))}.hover\:bg-cyan-50:hover{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity))}.hover\:bg-cyan-500:hover{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity))}.hover\:bg-cyan-600:hover{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity))}.hover\:bg-cyan-700:hover{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity))}.hover\:bg-cyan-800:hover{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity))}.hover\:bg-cyan-900:hover{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity))}.hover\:bg-cyan-950:hover{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity))}.hover\:bg-emerald-100:hover{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity))}.hover\:bg-emerald-200:hover{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity))}.hover\:bg-emerald-300:hover{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity))}.hover\:bg-emerald-400:hover{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity))}.hover\:bg-emerald-50:hover{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.hover\:bg-emerald-500:hover{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity))}.hover\:bg-emerald-600:hover{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity))}.hover\:bg-emerald-700:hover{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity))}.hover\:bg-emerald-800:hover{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity))}.hover\:bg-emerald-900:hover{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity))}.hover\:bg-emerald-950:hover{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity))}.hover\:bg-fuchsia-100:hover{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity))}.hover\:bg-fuchsia-200:hover{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity))}.hover\:bg-fuchsia-300:hover{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity))}.hover\:bg-fuchsia-400:hover{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity))}.hover\:bg-fuchsia-50:hover{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity))}.hover\:bg-fuchsia-500:hover{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity))}.hover\:bg-fuchsia-600:hover{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity))}.hover\:bg-fuchsia-700:hover{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity))}.hover\:bg-fuchsia-800:hover{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity))}.hover\:bg-fuchsia-900:hover{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity))}.hover\:bg-fuchsia-950:hover{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-gray-500:hover{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.hover\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.hover\:bg-gray-950:hover{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity))}.hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.hover\:bg-green-200:hover{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.hover\:bg-green-300:hover{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.hover\:bg-green-400:hover{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity))}.hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity))}.hover\:bg-green-500:hover{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.hover\:bg-green-800:hover{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity))}.hover\:bg-green-900:hover{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity))}.hover\:bg-green-950:hover{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity))}.hover\:bg-indigo-100:hover{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.hover\:bg-indigo-300:hover{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity))}.hover\:bg-indigo-400:hover{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity))}.hover\:bg-indigo-500:hover{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity))}.hover\:bg-indigo-600:hover{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}.hover\:bg-indigo-800:hover{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity))}.hover\:bg-indigo-900:hover{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity))}.hover\:bg-indigo-950:hover{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity))}.hover\:bg-lime-100:hover{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity))}.hover\:bg-lime-200:hover{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity))}.hover\:bg-lime-300:hover{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity))}.hover\:bg-lime-400:hover{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity))}.hover\:bg-lime-50:hover{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity))}.hover\:bg-lime-500:hover{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity))}.hover\:bg-lime-600:hover{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}.hover\:bg-lime-700:hover{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity))}.hover\:bg-lime-800:hover{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity))}.hover\:bg-lime-900:hover{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity))}.hover\:bg-lime-950:hover{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity))}.hover\:bg-neutral-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.hover\:bg-neutral-200:hover{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity))}.hover\:bg-neutral-300:hover{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity))}.hover\:bg-neutral-400:hover{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity))}.hover\:bg-neutral-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.hover\:bg-neutral-500:hover{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity))}.hover\:bg-neutral-600:hover{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity))}.hover\:bg-neutral-700:hover{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}.hover\:bg-neutral-800:hover{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity))}.hover\:bg-neutral-900:hover{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity))}.hover\:bg-neutral-950:hover{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity))}.hover\:bg-orange-100:hover{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}.hover\:bg-orange-200:hover{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity))}.hover\:bg-orange-300:hover{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity))}.hover\:bg-orange-400:hover{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity))}.hover\:bg-orange-50:hover{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity))}.hover\:bg-orange-500:hover{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity))}.hover\:bg-orange-800:hover{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity))}.hover\:bg-orange-900:hover{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity))}.hover\:bg-orange-950:hover{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity))}.hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.hover\:bg-pink-200:hover{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.hover\:bg-pink-300:hover{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity))}.hover\:bg-pink-400:hover{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity))}.hover\:bg-pink-50:hover{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity))}.hover\:bg-pink-500:hover{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity))}.hover\:bg-pink-600:hover{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity))}.hover\:bg-pink-700:hover{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity))}.hover\:bg-pink-800:hover{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity))}.hover\:bg-pink-900:hover{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity))}.hover\:bg-pink-950:hover{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity))}.hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.hover\:bg-purple-300:hover{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity))}.hover\:bg-purple-400:hover{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity))}.hover\:bg-purple-500:hover{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity))}.hover\:bg-purple-600:hover{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity))}.hover\:bg-purple-800:hover{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity))}.hover\:bg-purple-900:hover{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity))}.hover\:bg-purple-950:hover{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.hover\:bg-red-300:hover{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity))}.hover\:bg-red-400:hover{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity))}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.hover\:bg-red-500:hover{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\:bg-red-800:hover{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity))}.hover\:bg-red-900:hover{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity))}.hover\:bg-red-950:hover{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity))}.hover\:bg-rose-100:hover{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity))}.hover\:bg-rose-200:hover{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity))}.hover\:bg-rose-300:hover{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity))}.hover\:bg-rose-400:hover{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity))}.hover\:bg-rose-50:hover{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.hover\:bg-rose-500:hover{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.hover\:bg-rose-600:hover{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity))}.hover\:bg-rose-700:hover{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity))}.hover\:bg-rose-800:hover{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity))}.hover\:bg-rose-900:hover{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity))}.hover\:bg-rose-950:hover{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity))}.hover\:bg-sky-100:hover{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.hover\:bg-sky-200:hover{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity))}.hover\:bg-sky-300:hover{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity))}.hover\:bg-sky-400:hover{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity))}.hover\:bg-sky-50:hover{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity))}.hover\:bg-sky-500:hover{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity))}.hover\:bg-sky-600:hover{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.hover\:bg-sky-700:hover{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity))}.hover\:bg-sky-800:hover{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity))}.hover\:bg-sky-900:hover{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity))}.hover\:bg-sky-950:hover{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\:bg-slate-200:hover{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.hover\:bg-slate-300:hover{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.hover\:bg-slate-400:hover{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity))}.hover\:bg-slate-50:hover{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.hover\:bg-slate-500:hover{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity))}.hover\:bg-slate-600:hover{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity))}.hover\:bg-slate-700:hover{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}.hover\:bg-slate-800:hover{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.hover\:bg-slate-900:hover{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.hover\:bg-slate-950:hover{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity))}.hover\:bg-stone-100:hover{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity))}.hover\:bg-stone-200:hover{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity))}.hover\:bg-stone-300:hover{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity))}.hover\:bg-stone-400:hover{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity))}.hover\:bg-stone-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity))}.hover\:bg-stone-500:hover{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity))}.hover\:bg-stone-600:hover{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity))}.hover\:bg-stone-700:hover{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity))}.hover\:bg-stone-800:hover{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity))}.hover\:bg-stone-900:hover{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity))}.hover\:bg-stone-950:hover{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity))}.hover\:bg-teal-100:hover{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity))}.hover\:bg-teal-200:hover{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity))}.hover\:bg-teal-300:hover{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity))}.hover\:bg-teal-400:hover{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity))}.hover\:bg-teal-50:hover{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity))}.hover\:bg-teal-500:hover{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity))}.hover\:bg-teal-600:hover{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity))}.hover\:bg-teal-700:hover{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity))}.hover\:bg-teal-800:hover{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity))}.hover\:bg-teal-900:hover{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity))}.hover\:bg-teal-950:hover{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity))}.hover\:bg-tremor-background-muted:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-tremor-background-subtle:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.hover\:bg-tremor-brand-emphasis:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}.hover\:bg-violet-100:hover{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity))}.hover\:bg-violet-200:hover{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity))}.hover\:bg-violet-300:hover{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity))}.hover\:bg-violet-400:hover{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity))}.hover\:bg-violet-50:hover{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity))}.hover\:bg-violet-500:hover{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity))}.hover\:bg-violet-600:hover{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity))}.hover\:bg-violet-700:hover{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity))}.hover\:bg-violet-800:hover{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity))}.hover\:bg-violet-900:hover{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity))}.hover\:bg-violet-950:hover{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity))}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.hover\:bg-yellow-300:hover{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity))}.hover\:bg-yellow-400:hover{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity))}.hover\:bg-yellow-500:hover{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.hover\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity))}.hover\:bg-yellow-700:hover{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity))}.hover\:bg-yellow-800:hover{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity))}.hover\:bg-yellow-900:hover{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity))}.hover\:bg-yellow-950:hover{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity))}.hover\:bg-zinc-100:hover{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity))}.hover\:bg-zinc-200:hover{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity))}.hover\:bg-zinc-300:hover{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity))}.hover\:bg-zinc-400:hover{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity))}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.hover\:bg-zinc-500:hover{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity))}.hover\:bg-zinc-600:hover{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity))}.hover\:bg-zinc-700:hover{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.hover\:bg-zinc-800:hover{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.hover\:bg-zinc-900:hover{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.hover\:bg-zinc-950:hover{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity))}.hover\:bg-opacity-20:hover{--tw-bg-opacity:0.2}.hover\:text-amber-100:hover{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.hover\:text-amber-200:hover{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity))}.hover\:text-amber-300:hover{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity))}.hover\:text-amber-400:hover{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.hover\:text-amber-50:hover{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity))}.hover\:text-amber-500:hover{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.hover\:text-amber-600:hover{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.hover\:text-amber-700:hover{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.hover\:text-amber-800:hover{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}.hover\:text-amber-900:hover{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity))}.hover\:text-amber-950:hover{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity))}.hover\:text-blue-100:hover{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity))}.hover\:text-blue-200:hover{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity))}.hover\:text-blue-300:hover{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.hover\:text-blue-400:hover{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}.hover\:text-blue-50:hover{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity))}.hover\:text-blue-500:hover{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.hover\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.hover\:text-blue-800:hover{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}.hover\:text-blue-950:hover{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity))}.hover\:text-cyan-100:hover{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity))}.hover\:text-cyan-200:hover{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity))}.hover\:text-cyan-300:hover{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity))}.hover\:text-cyan-400:hover{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity))}.hover\:text-cyan-50:hover{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity))}.hover\:text-cyan-500:hover{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity))}.hover\:text-cyan-600:hover{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity))}.hover\:text-cyan-700:hover{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity))}.hover\:text-cyan-800:hover{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity))}.hover\:text-cyan-900:hover{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity))}.hover\:text-cyan-950:hover{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity))}.hover\:text-emerald-100:hover{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity))}.hover\:text-emerald-200:hover{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity))}.hover\:text-emerald-300:hover{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity))}.hover\:text-emerald-400:hover{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity))}.hover\:text-emerald-50:hover{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity))}.hover\:text-emerald-500:hover{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity))}.hover\:text-emerald-600:hover{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity))}.hover\:text-emerald-700:hover{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity))}.hover\:text-emerald-800:hover{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.hover\:text-emerald-900:hover{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity))}.hover\:text-emerald-950:hover{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity))}.hover\:text-fuchsia-100:hover{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity))}.hover\:text-fuchsia-200:hover{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity))}.hover\:text-fuchsia-300:hover{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity))}.hover\:text-fuchsia-400:hover{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity))}.hover\:text-fuchsia-50:hover{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity))}.hover\:text-fuchsia-500:hover{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity))}.hover\:text-fuchsia-600:hover{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity))}.hover\:text-fuchsia-700:hover{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity))}.hover\:text-fuchsia-800:hover{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity))}.hover\:text-fuchsia-900:hover{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity))}.hover\:text-fuchsia-950:hover{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity))}.hover\:text-gray-100:hover{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.hover\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.hover\:text-gray-400:hover{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.hover\:text-gray-50:hover{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.hover\:text-gray-950:hover{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity))}.hover\:text-green-100:hover{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity))}.hover\:text-green-200:hover{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity))}.hover\:text-green-300:hover{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity))}.hover\:text-green-400:hover{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.hover\:text-green-50:hover{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity))}.hover\:text-green-500:hover{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.hover\:text-green-600:hover{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.hover\:text-green-700:hover{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.hover\:text-green-800:hover{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.hover\:text-green-900:hover{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity))}.hover\:text-green-950:hover{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity))}.hover\:text-indigo-100:hover{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity))}.hover\:text-indigo-200:hover{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity))}.hover\:text-indigo-300:hover{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity))}.hover\:text-indigo-400:hover{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity))}.hover\:text-indigo-50:hover{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity))}.hover\:text-indigo-500:hover{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.hover\:text-indigo-600:hover{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity))}.hover\:text-indigo-800:hover{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.hover\:text-indigo-900:hover{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity))}.hover\:text-indigo-950:hover{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity))}.hover\:text-lime-100:hover{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity))}.hover\:text-lime-200:hover{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity))}.hover\:text-lime-300:hover{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity))}.hover\:text-lime-400:hover{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity))}.hover\:text-lime-50:hover{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity))}.hover\:text-lime-500:hover{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity))}.hover\:text-lime-600:hover{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity))}.hover\:text-lime-700:hover{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity))}.hover\:text-lime-800:hover{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity))}.hover\:text-lime-900:hover{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity))}.hover\:text-lime-950:hover{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity))}.hover\:text-neutral-100:hover{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity))}.hover\:text-neutral-200:hover{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity))}.hover\:text-neutral-300:hover{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity))}.hover\:text-neutral-400:hover{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.hover\:text-neutral-50:hover{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.hover\:text-neutral-500:hover{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.hover\:text-neutral-600:hover{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.hover\:text-neutral-700:hover{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}.hover\:text-neutral-800:hover{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity))}.hover\:text-neutral-900:hover{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity))}.hover\:text-neutral-950:hover{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity))}.hover\:text-orange-100:hover{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity))}.hover\:text-orange-200:hover{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity))}.hover\:text-orange-300:hover{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity))}.hover\:text-orange-400:hover{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity))}.hover\:text-orange-50:hover{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity))}.hover\:text-orange-500:hover{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity))}.hover\:text-orange-600:hover{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity))}.hover\:text-orange-700:hover{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity))}.hover\:text-orange-800:hover{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity))}.hover\:text-orange-900:hover{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity))}.hover\:text-orange-950:hover{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity))}.hover\:text-pink-100:hover{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity))}.hover\:text-pink-200:hover{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity))}.hover\:text-pink-300:hover{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity))}.hover\:text-pink-400:hover{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity))}.hover\:text-pink-50:hover{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity))}.hover\:text-pink-500:hover{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity))}.hover\:text-pink-600:hover{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity))}.hover\:text-pink-700:hover{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity))}.hover\:text-pink-800:hover{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.hover\:text-pink-900:hover{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity))}.hover\:text-pink-950:hover{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity))}.hover\:text-purple-100:hover{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity))}.hover\:text-purple-200:hover{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity))}.hover\:text-purple-300:hover{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity))}.hover\:text-purple-400:hover{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity))}.hover\:text-purple-50:hover{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity))}.hover\:text-purple-500:hover{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity))}.hover\:text-purple-600:hover{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity))}.hover\:text-purple-700:hover{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity))}.hover\:text-purple-800:hover{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.hover\:text-purple-900:hover{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity))}.hover\:text-purple-950:hover{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity))}.hover\:text-red-100:hover{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity))}.hover\:text-red-200:hover{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.hover\:text-red-300:hover{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.hover\:text-red-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity))}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.hover\:text-red-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.hover\:text-red-950:hover{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity))}.hover\:text-rose-100:hover{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity))}.hover\:text-rose-200:hover{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity))}.hover\:text-rose-300:hover{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity))}.hover\:text-rose-400:hover{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}.hover\:text-rose-50:hover{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity))}.hover\:text-rose-500:hover{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity))}.hover\:text-rose-600:hover{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.hover\:text-rose-700:hover{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}.hover\:text-rose-800:hover{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity))}.hover\:text-rose-900:hover{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}.hover\:text-rose-950:hover{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity))}.hover\:text-sky-100:hover{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity))}.hover\:text-sky-200:hover{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity))}.hover\:text-sky-300:hover{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity))}.hover\:text-sky-400:hover{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity))}.hover\:text-sky-50:hover{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity))}.hover\:text-sky-500:hover{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.hover\:text-sky-600:hover{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}.hover\:text-sky-700:hover{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity))}.hover\:text-sky-800:hover{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity))}.hover\:text-sky-900:hover{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity))}.hover\:text-sky-950:hover{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity))}.hover\:text-slate-100:hover{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity))}.hover\:text-slate-200:hover{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}.hover\:text-slate-300:hover{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.hover\:text-slate-400:hover{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.hover\:text-slate-50:hover{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity))}.hover\:text-slate-500:hover{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.hover\:text-slate-600:hover{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.hover\:text-slate-700:hover{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.hover\:text-slate-800:hover{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.hover\:text-slate-900:hover{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.hover\:text-slate-950:hover{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity))}.hover\:text-stone-100:hover{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity))}.hover\:text-stone-200:hover{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity))}.hover\:text-stone-300:hover{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity))}.hover\:text-stone-400:hover{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity))}.hover\:text-stone-50:hover{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity))}.hover\:text-stone-500:hover{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity))}.hover\:text-stone-600:hover{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity))}.hover\:text-stone-700:hover{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity))}.hover\:text-stone-800:hover{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity))}.hover\:text-stone-900:hover{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity))}.hover\:text-stone-950:hover{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity))}.hover\:text-teal-100:hover{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity))}.hover\:text-teal-200:hover{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity))}.hover\:text-teal-300:hover{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity))}.hover\:text-teal-400:hover{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity))}.hover\:text-teal-50:hover{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity))}.hover\:text-teal-500:hover{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity))}.hover\:text-teal-600:hover{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity))}.hover\:text-teal-700:hover{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity))}.hover\:text-teal-800:hover{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity))}.hover\:text-teal-900:hover{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity))}.hover\:text-teal-950:hover{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity))}.hover\:text-tremor-brand-emphasis:hover{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity))}.hover\:text-tremor-content:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.hover\:text-tremor-content-emphasis:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.hover\:text-violet-100:hover{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity))}.hover\:text-violet-200:hover{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity))}.hover\:text-violet-300:hover{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity))}.hover\:text-violet-400:hover{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity))}.hover\:text-violet-50:hover{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity))}.hover\:text-violet-500:hover{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity))}.hover\:text-violet-600:hover{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity))}.hover\:text-violet-700:hover{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity))}.hover\:text-violet-800:hover{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity))}.hover\:text-violet-900:hover{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity))}.hover\:text-violet-950:hover{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity))}.hover\:text-yellow-100:hover{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity))}.hover\:text-yellow-200:hover{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity))}.hover\:text-yellow-300:hover{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity))}.hover\:text-yellow-400:hover{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.hover\:text-yellow-50:hover{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity))}.hover\:text-yellow-500:hover{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity))}.hover\:text-yellow-600:hover{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}.hover\:text-yellow-700:hover{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity))}.hover\:text-yellow-800:hover{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity))}.hover\:text-yellow-900:hover{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity))}.hover\:text-yellow-950:hover{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity))}.hover\:text-zinc-100:hover{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity))}.hover\:text-zinc-200:hover{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity))}.hover\:text-zinc-300:hover{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}.hover\:text-zinc-400:hover{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.hover\:text-zinc-50:hover{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.hover\:text-zinc-500:hover{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.hover\:text-zinc-600:hover{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.hover\:text-zinc-800:hover{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}.hover\:text-zinc-900:hover{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.hover\:text-zinc-950:hover{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-tremor-brand-subtle:focus{--tw-border-opacity:1;border-color:rgb(142 145 235/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-tremor-brand-muted:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(134 136 239/var(--tw-ring-opacity))}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\:text-tremor-content-emphasis{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.group:active .group-active\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.aria-selected\:\!bg-tremor-background-subtle[aria-selected=true]{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity))!important}.aria-selected\:bg-tremor-background-emphasis[aria-selected=true]{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.aria-selected\:\!text-tremor-content[aria-selected=true]{--tw-text-opacity:1!important;color:rgb(107 114 128/var(--tw-text-opacity))!important}.aria-selected\:text-dark-tremor-brand-inverted[aria-selected=true]{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity))}.aria-selected\:text-tremor-brand-inverted[aria-selected=true],.aria-selected\:text-tremor-content-inverted[aria-selected=true]{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.ui-selected\:border-b-2[data-headlessui-state~=selected]{border-bottom-width:2px}.ui-selected\:border-amber-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity))}.ui-selected\:border-amber-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity))}.ui-selected\:border-amber-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity))}.ui-selected\:border-amber-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity))}.ui-selected\:border-amber-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity))}.ui-selected\:border-amber-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}.ui-selected\:border-amber-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}.ui-selected\:border-amber-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity))}.ui-selected\:border-amber-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity))}.ui-selected\:border-amber-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity))}.ui-selected\:border-amber-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity))}.ui-selected\:border-blue-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity))}.ui-selected\:border-blue-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity))}.ui-selected\:border-blue-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity))}.ui-selected\:border-blue-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity))}.ui-selected\:border-blue-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity))}.ui-selected\:border-blue-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.ui-selected\:border-blue-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.ui-selected\:border-blue-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity))}.ui-selected\:border-blue-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity))}.ui-selected\:border-blue-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity))}.ui-selected\:border-blue-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity))}.ui-selected\:border-cyan-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity))}.ui-selected\:border-cyan-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity))}.ui-selected\:border-cyan-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity))}.ui-selected\:border-cyan-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity))}.ui-selected\:border-cyan-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity))}.ui-selected\:border-cyan-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity))}.ui-selected\:border-cyan-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity))}.ui-selected\:border-cyan-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity))}.ui-selected\:border-cyan-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity))}.ui-selected\:border-cyan-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity))}.ui-selected\:border-cyan-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity))}.ui-selected\:border-emerald-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity))}.ui-selected\:border-emerald-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity))}.ui-selected\:border-emerald-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity))}.ui-selected\:border-emerald-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity))}.ui-selected\:border-emerald-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity))}.ui-selected\:border-emerald-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}.ui-selected\:border-emerald-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity))}.ui-selected\:border-emerald-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity))}.ui-selected\:border-emerald-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity))}.ui-selected\:border-emerald-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity))}.ui-selected\:border-emerald-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity))}.ui-selected\:border-fuchsia-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity))}.ui-selected\:border-fuchsia-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity))}.ui-selected\:border-fuchsia-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity))}.ui-selected\:border-fuchsia-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity))}.ui-selected\:border-fuchsia-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity))}.ui-selected\:border-fuchsia-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity))}.ui-selected\:border-fuchsia-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity))}.ui-selected\:border-fuchsia-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity))}.ui-selected\:border-fuchsia-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity))}.ui-selected\:border-fuchsia-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity))}.ui-selected\:border-fuchsia-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity))}.ui-selected\:border-gray-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.ui-selected\:border-gray-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.ui-selected\:border-gray-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.ui-selected\:border-gray-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}.ui-selected\:border-gray-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity))}.ui-selected\:border-gray-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}.ui-selected\:border-gray-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.ui-selected\:border-gray-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.ui-selected\:border-gray-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity))}.ui-selected\:border-gray-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}.ui-selected\:border-gray-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity))}.ui-selected\:border-green-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity))}.ui-selected\:border-green-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity))}.ui-selected\:border-green-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity))}.ui-selected\:border-green-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity))}.ui-selected\:border-green-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity))}.ui-selected\:border-green-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity))}.ui-selected\:border-green-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}.ui-selected\:border-green-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity))}.ui-selected\:border-green-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity))}.ui-selected\:border-green-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity))}.ui-selected\:border-green-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity))}.ui-selected\:border-indigo-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity))}.ui-selected\:border-indigo-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity))}.ui-selected\:border-indigo-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity))}.ui-selected\:border-indigo-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity))}.ui-selected\:border-indigo-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity))}.ui-selected\:border-indigo-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}.ui-selected\:border-indigo-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity))}.ui-selected\:border-indigo-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity))}.ui-selected\:border-indigo-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity))}.ui-selected\:border-indigo-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity))}.ui-selected\:border-indigo-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity))}.ui-selected\:border-lime-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity))}.ui-selected\:border-lime-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity))}.ui-selected\:border-lime-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity))}.ui-selected\:border-lime-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity))}.ui-selected\:border-lime-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity))}.ui-selected\:border-lime-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity))}.ui-selected\:border-lime-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity))}.ui-selected\:border-lime-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity))}.ui-selected\:border-lime-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity))}.ui-selected\:border-lime-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity))}.ui-selected\:border-lime-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity))}.ui-selected\:border-neutral-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity))}.ui-selected\:border-neutral-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity))}.ui-selected\:border-neutral-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity))}.ui-selected\:border-neutral-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity))}.ui-selected\:border-neutral-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity))}.ui-selected\:border-neutral-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity))}.ui-selected\:border-neutral-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity))}.ui-selected\:border-neutral-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity))}.ui-selected\:border-neutral-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity))}.ui-selected\:border-neutral-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity))}.ui-selected\:border-neutral-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity))}.ui-selected\:border-orange-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity))}.ui-selected\:border-orange-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity))}.ui-selected\:border-orange-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity))}.ui-selected\:border-orange-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity))}.ui-selected\:border-orange-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity))}.ui-selected\:border-orange-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity))}.ui-selected\:border-orange-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity))}.ui-selected\:border-orange-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity))}.ui-selected\:border-orange-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity))}.ui-selected\:border-orange-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity))}.ui-selected\:border-orange-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity))}.ui-selected\:border-pink-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity))}.ui-selected\:border-pink-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity))}.ui-selected\:border-pink-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity))}.ui-selected\:border-pink-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity))}.ui-selected\:border-pink-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity))}.ui-selected\:border-pink-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity))}.ui-selected\:border-pink-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity))}.ui-selected\:border-pink-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity))}.ui-selected\:border-pink-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity))}.ui-selected\:border-pink-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity))}.ui-selected\:border-pink-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity))}.ui-selected\:border-purple-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity))}.ui-selected\:border-purple-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity))}.ui-selected\:border-purple-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity))}.ui-selected\:border-purple-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity))}.ui-selected\:border-purple-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity))}.ui-selected\:border-purple-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity))}.ui-selected\:border-purple-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity))}.ui-selected\:border-purple-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity))}.ui-selected\:border-purple-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity))}.ui-selected\:border-purple-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity))}.ui-selected\:border-purple-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity))}.ui-selected\:border-red-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity))}.ui-selected\:border-red-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity))}.ui-selected\:border-red-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity))}.ui-selected\:border-red-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity))}.ui-selected\:border-red-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity))}.ui-selected\:border-red-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}.ui-selected\:border-red-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}.ui-selected\:border-red-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity))}.ui-selected\:border-red-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity))}.ui-selected\:border-red-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity))}.ui-selected\:border-red-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity))}.ui-selected\:border-rose-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity))}.ui-selected\:border-rose-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity))}.ui-selected\:border-rose-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity))}.ui-selected\:border-rose-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.ui-selected\:border-rose-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity))}.ui-selected\:border-rose-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity))}.ui-selected\:border-rose-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity))}.ui-selected\:border-rose-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity))}.ui-selected\:border-rose-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity))}.ui-selected\:border-rose-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity))}.ui-selected\:border-rose-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity))}.ui-selected\:border-sky-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity))}.ui-selected\:border-sky-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity))}.ui-selected\:border-sky-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity))}.ui-selected\:border-sky-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity))}.ui-selected\:border-sky-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity))}.ui-selected\:border-sky-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity))}.ui-selected\:border-sky-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity))}.ui-selected\:border-sky-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity))}.ui-selected\:border-sky-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity))}.ui-selected\:border-sky-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity))}.ui-selected\:border-sky-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity))}.ui-selected\:border-slate-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity))}.ui-selected\:border-slate-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity))}.ui-selected\:border-slate-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.ui-selected\:border-slate-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}.ui-selected\:border-slate-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity))}.ui-selected\:border-slate-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity))}.ui-selected\:border-slate-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity))}.ui-selected\:border-slate-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}.ui-selected\:border-slate-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}.ui-selected\:border-slate-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity))}.ui-selected\:border-slate-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity))}.ui-selected\:border-stone-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity))}.ui-selected\:border-stone-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity))}.ui-selected\:border-stone-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity))}.ui-selected\:border-stone-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity))}.ui-selected\:border-stone-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity))}.ui-selected\:border-stone-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity))}.ui-selected\:border-stone-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity))}.ui-selected\:border-stone-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity))}.ui-selected\:border-stone-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity))}.ui-selected\:border-stone-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity))}.ui-selected\:border-stone-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity))}.ui-selected\:border-teal-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity))}.ui-selected\:border-teal-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity))}.ui-selected\:border-teal-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity))}.ui-selected\:border-teal-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity))}.ui-selected\:border-teal-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity))}.ui-selected\:border-teal-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity))}.ui-selected\:border-teal-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity))}.ui-selected\:border-teal-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity))}.ui-selected\:border-teal-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity))}.ui-selected\:border-teal-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity))}.ui-selected\:border-teal-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity))}.ui-selected\:border-tremor-border[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.ui-selected\:border-tremor-brand[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}.ui-selected\:border-violet-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity))}.ui-selected\:border-violet-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity))}.ui-selected\:border-violet-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity))}.ui-selected\:border-violet-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity))}.ui-selected\:border-violet-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity))}.ui-selected\:border-violet-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity))}.ui-selected\:border-violet-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity))}.ui-selected\:border-violet-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity))}.ui-selected\:border-violet-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity))}.ui-selected\:border-violet-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity))}.ui-selected\:border-violet-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity))}.ui-selected\:border-yellow-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}.ui-selected\:border-yellow-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity))}.ui-selected\:border-yellow-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity))}.ui-selected\:border-yellow-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity))}.ui-selected\:border-yellow-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity))}.ui-selected\:border-yellow-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity))}.ui-selected\:border-yellow-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity))}.ui-selected\:border-yellow-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity))}.ui-selected\:border-yellow-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity))}.ui-selected\:border-yellow-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity))}.ui-selected\:border-yellow-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity))}.ui-selected\:border-zinc-100[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity))}.ui-selected\:border-zinc-200[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.ui-selected\:border-zinc-300[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.ui-selected\:border-zinc-400[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.ui-selected\:border-zinc-50[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity))}.ui-selected\:border-zinc-500[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity))}.ui-selected\:border-zinc-600[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity))}.ui-selected\:border-zinc-700[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity))}.ui-selected\:border-zinc-800[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity))}.ui-selected\:border-zinc-900[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity))}.ui-selected\:border-zinc-950[data-headlessui-state~=selected]{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity))}.ui-selected\:bg-amber-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}.ui-selected\:bg-amber-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}.ui-selected\:bg-amber-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity))}.ui-selected\:bg-amber-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity))}.ui-selected\:bg-amber-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}.ui-selected\:bg-amber-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}.ui-selected\:bg-amber-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}.ui-selected\:bg-amber-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity))}.ui-selected\:bg-amber-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity))}.ui-selected\:bg-amber-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity))}.ui-selected\:bg-amber-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity))}.ui-selected\:bg-blue-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.ui-selected\:bg-blue-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}.ui-selected\:bg-blue-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity))}.ui-selected\:bg-blue-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity))}.ui-selected\:bg-blue-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}.ui-selected\:bg-blue-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.ui-selected\:bg-blue-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.ui-selected\:bg-blue-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.ui-selected\:bg-blue-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.ui-selected\:bg-blue-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity))}.ui-selected\:bg-blue-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity))}.ui-selected\:bg-cyan-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity))}.ui-selected\:bg-cyan-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity))}.ui-selected\:bg-cyan-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity))}.ui-selected\:bg-cyan-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity))}.ui-selected\:bg-cyan-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity))}.ui-selected\:bg-cyan-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity))}.ui-selected\:bg-cyan-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity))}.ui-selected\:bg-cyan-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity))}.ui-selected\:bg-cyan-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity))}.ui-selected\:bg-cyan-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity))}.ui-selected\:bg-cyan-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity))}.ui-selected\:bg-emerald-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity))}.ui-selected\:bg-emerald-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity))}.ui-selected\:bg-emerald-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity))}.ui-selected\:bg-emerald-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity))}.ui-selected\:bg-emerald-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.ui-selected\:bg-emerald-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity))}.ui-selected\:bg-emerald-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity))}.ui-selected\:bg-emerald-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity))}.ui-selected\:bg-emerald-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity))}.ui-selected\:bg-emerald-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity))}.ui-selected\:bg-emerald-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity))}.ui-selected\:bg-fuchsia-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity))}.ui-selected\:bg-fuchsia-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity))}.ui-selected\:bg-fuchsia-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity))}.ui-selected\:bg-fuchsia-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity))}.ui-selected\:bg-fuchsia-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity))}.ui-selected\:bg-fuchsia-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity))}.ui-selected\:bg-fuchsia-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity))}.ui-selected\:bg-fuchsia-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity))}.ui-selected\:bg-fuchsia-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity))}.ui-selected\:bg-fuchsia-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity))}.ui-selected\:bg-fuchsia-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity))}.ui-selected\:bg-gray-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.ui-selected\:bg-gray-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.ui-selected\:bg-gray-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.ui-selected\:bg-gray-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.ui-selected\:bg-gray-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.ui-selected\:bg-gray-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.ui-selected\:bg-gray-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.ui-selected\:bg-gray-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.ui-selected\:bg-gray-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.ui-selected\:bg-gray-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.ui-selected\:bg-gray-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity))}.ui-selected\:bg-green-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.ui-selected\:bg-green-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}.ui-selected\:bg-green-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}.ui-selected\:bg-green-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity))}.ui-selected\:bg-green-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity))}.ui-selected\:bg-green-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.ui-selected\:bg-green-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}.ui-selected\:bg-green-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}.ui-selected\:bg-green-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity))}.ui-selected\:bg-green-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity))}.ui-selected\:bg-green-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity))}.ui-selected\:bg-indigo-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}.ui-selected\:bg-indigo-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}.ui-selected\:bg-indigo-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity))}.ui-selected\:bg-indigo-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity))}.ui-selected\:bg-indigo-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity))}.ui-selected\:bg-indigo-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity))}.ui-selected\:bg-indigo-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.ui-selected\:bg-indigo-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}.ui-selected\:bg-indigo-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity))}.ui-selected\:bg-indigo-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity))}.ui-selected\:bg-indigo-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity))}.ui-selected\:bg-lime-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity))}.ui-selected\:bg-lime-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity))}.ui-selected\:bg-lime-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity))}.ui-selected\:bg-lime-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity))}.ui-selected\:bg-lime-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity))}.ui-selected\:bg-lime-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity))}.ui-selected\:bg-lime-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}.ui-selected\:bg-lime-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity))}.ui-selected\:bg-lime-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity))}.ui-selected\:bg-lime-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity))}.ui-selected\:bg-lime-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity))}.ui-selected\:bg-neutral-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}.ui-selected\:bg-neutral-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity))}.ui-selected\:bg-neutral-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity))}.ui-selected\:bg-neutral-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity))}.ui-selected\:bg-neutral-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.ui-selected\:bg-neutral-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity))}.ui-selected\:bg-neutral-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity))}.ui-selected\:bg-neutral-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}.ui-selected\:bg-neutral-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity))}.ui-selected\:bg-neutral-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity))}.ui-selected\:bg-neutral-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity))}.ui-selected\:bg-orange-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}.ui-selected\:bg-orange-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity))}.ui-selected\:bg-orange-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity))}.ui-selected\:bg-orange-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity))}.ui-selected\:bg-orange-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity))}.ui-selected\:bg-orange-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity))}.ui-selected\:bg-orange-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity))}.ui-selected\:bg-orange-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity))}.ui-selected\:bg-orange-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity))}.ui-selected\:bg-orange-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity))}.ui-selected\:bg-orange-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity))}.ui-selected\:bg-pink-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}.ui-selected\:bg-pink-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}.ui-selected\:bg-pink-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity))}.ui-selected\:bg-pink-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity))}.ui-selected\:bg-pink-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity))}.ui-selected\:bg-pink-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity))}.ui-selected\:bg-pink-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity))}.ui-selected\:bg-pink-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity))}.ui-selected\:bg-pink-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity))}.ui-selected\:bg-pink-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity))}.ui-selected\:bg-pink-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity))}.ui-selected\:bg-purple-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}.ui-selected\:bg-purple-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}.ui-selected\:bg-purple-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity))}.ui-selected\:bg-purple-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity))}.ui-selected\:bg-purple-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity))}.ui-selected\:bg-purple-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity))}.ui-selected\:bg-purple-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity))}.ui-selected\:bg-purple-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity))}.ui-selected\:bg-purple-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity))}.ui-selected\:bg-purple-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity))}.ui-selected\:bg-purple-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity))}.ui-selected\:bg-red-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.ui-selected\:bg-red-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}.ui-selected\:bg-red-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity))}.ui-selected\:bg-red-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity))}.ui-selected\:bg-red-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}.ui-selected\:bg-red-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.ui-selected\:bg-red-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}.ui-selected\:bg-red-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.ui-selected\:bg-red-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity))}.ui-selected\:bg-red-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity))}.ui-selected\:bg-red-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity))}.ui-selected\:bg-rose-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity))}.ui-selected\:bg-rose-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity))}.ui-selected\:bg-rose-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity))}.ui-selected\:bg-rose-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity))}.ui-selected\:bg-rose-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.ui-selected\:bg-rose-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}.ui-selected\:bg-rose-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity))}.ui-selected\:bg-rose-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity))}.ui-selected\:bg-rose-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity))}.ui-selected\:bg-rose-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity))}.ui-selected\:bg-rose-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity))}.ui-selected\:bg-sky-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}.ui-selected\:bg-sky-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity))}.ui-selected\:bg-sky-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity))}.ui-selected\:bg-sky-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity))}.ui-selected\:bg-sky-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity))}.ui-selected\:bg-sky-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity))}.ui-selected\:bg-sky-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}.ui-selected\:bg-sky-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity))}.ui-selected\:bg-sky-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity))}.ui-selected\:bg-sky-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity))}.ui-selected\:bg-sky-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity))}.ui-selected\:bg-slate-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.ui-selected\:bg-slate-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.ui-selected\:bg-slate-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}.ui-selected\:bg-slate-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity))}.ui-selected\:bg-slate-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.ui-selected\:bg-slate-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity))}.ui-selected\:bg-slate-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity))}.ui-selected\:bg-slate-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}.ui-selected\:bg-slate-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}.ui-selected\:bg-slate-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.ui-selected\:bg-slate-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity))}.ui-selected\:bg-stone-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity))}.ui-selected\:bg-stone-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity))}.ui-selected\:bg-stone-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity))}.ui-selected\:bg-stone-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity))}.ui-selected\:bg-stone-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity))}.ui-selected\:bg-stone-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity))}.ui-selected\:bg-stone-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity))}.ui-selected\:bg-stone-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity))}.ui-selected\:bg-stone-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity))}.ui-selected\:bg-stone-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity))}.ui-selected\:bg-stone-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity))}.ui-selected\:bg-teal-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity))}.ui-selected\:bg-teal-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity))}.ui-selected\:bg-teal-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity))}.ui-selected\:bg-teal-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity))}.ui-selected\:bg-teal-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity))}.ui-selected\:bg-teal-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity))}.ui-selected\:bg-teal-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity))}.ui-selected\:bg-teal-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity))}.ui-selected\:bg-teal-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity))}.ui-selected\:bg-teal-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity))}.ui-selected\:bg-teal-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity))}.ui-selected\:bg-tremor-background[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.ui-selected\:bg-tremor-background-muted[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.ui-selected\:bg-violet-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity))}.ui-selected\:bg-violet-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity))}.ui-selected\:bg-violet-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity))}.ui-selected\:bg-violet-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity))}.ui-selected\:bg-violet-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity))}.ui-selected\:bg-violet-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity))}.ui-selected\:bg-violet-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity))}.ui-selected\:bg-violet-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity))}.ui-selected\:bg-violet-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity))}.ui-selected\:bg-violet-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity))}.ui-selected\:bg-violet-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity))}.ui-selected\:bg-yellow-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.ui-selected\:bg-yellow-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}.ui-selected\:bg-yellow-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity))}.ui-selected\:bg-yellow-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}.ui-selected\:bg-yellow-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity))}.ui-selected\:bg-yellow-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.ui-selected\:bg-yellow-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity))}.ui-selected\:bg-yellow-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity))}.ui-selected\:bg-yellow-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity))}.ui-selected\:bg-yellow-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity))}.ui-selected\:bg-yellow-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity))}.ui-selected\:bg-zinc-100[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity))}.ui-selected\:bg-zinc-200[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity))}.ui-selected\:bg-zinc-300[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity))}.ui-selected\:bg-zinc-400[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity))}.ui-selected\:bg-zinc-50[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.ui-selected\:bg-zinc-500[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity))}.ui-selected\:bg-zinc-600[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity))}.ui-selected\:bg-zinc-700[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.ui-selected\:bg-zinc-800[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}.ui-selected\:bg-zinc-900[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.ui-selected\:bg-zinc-950[data-headlessui-state~=selected]{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity))}.ui-selected\:text-amber-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}.ui-selected\:text-amber-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity))}.ui-selected\:text-amber-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity))}.ui-selected\:text-amber-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}.ui-selected\:text-amber-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity))}.ui-selected\:text-amber-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}.ui-selected\:text-amber-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}.ui-selected\:text-amber-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}.ui-selected\:text-amber-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}.ui-selected\:text-amber-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity))}.ui-selected\:text-amber-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity))}.ui-selected\:text-blue-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity))}.ui-selected\:text-blue-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity))}.ui-selected\:text-blue-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.ui-selected\:text-blue-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}.ui-selected\:text-blue-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity))}.ui-selected\:text-blue-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.ui-selected\:text-blue-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.ui-selected\:text-blue-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.ui-selected\:text-blue-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.ui-selected\:text-blue-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}.ui-selected\:text-blue-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity))}.ui-selected\:text-cyan-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity))}.ui-selected\:text-cyan-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity))}.ui-selected\:text-cyan-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity))}.ui-selected\:text-cyan-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity))}.ui-selected\:text-cyan-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity))}.ui-selected\:text-cyan-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity))}.ui-selected\:text-cyan-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity))}.ui-selected\:text-cyan-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity))}.ui-selected\:text-cyan-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity))}.ui-selected\:text-cyan-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity))}.ui-selected\:text-cyan-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity))}.ui-selected\:text-dark-tremor-brand[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.ui-selected\:text-emerald-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity))}.ui-selected\:text-emerald-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity))}.ui-selected\:text-emerald-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity))}.ui-selected\:text-emerald-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity))}.ui-selected\:text-emerald-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity))}.ui-selected\:text-emerald-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity))}.ui-selected\:text-emerald-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity))}.ui-selected\:text-emerald-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity))}.ui-selected\:text-emerald-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.ui-selected\:text-emerald-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity))}.ui-selected\:text-emerald-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity))}.ui-selected\:text-fuchsia-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity))}.ui-selected\:text-fuchsia-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity))}.ui-selected\:text-fuchsia-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity))}.ui-selected\:text-fuchsia-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity))}.ui-selected\:text-fuchsia-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity))}.ui-selected\:text-fuchsia-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity))}.ui-selected\:text-fuchsia-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity))}.ui-selected\:text-fuchsia-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity))}.ui-selected\:text-fuchsia-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity))}.ui-selected\:text-fuchsia-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity))}.ui-selected\:text-fuchsia-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity))}.ui-selected\:text-gray-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}.ui-selected\:text-gray-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.ui-selected\:text-gray-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.ui-selected\:text-gray-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.ui-selected\:text-gray-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.ui-selected\:text-gray-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.ui-selected\:text-gray-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.ui-selected\:text-gray-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.ui-selected\:text-gray-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.ui-selected\:text-gray-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.ui-selected\:text-gray-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity))}.ui-selected\:text-green-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity))}.ui-selected\:text-green-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity))}.ui-selected\:text-green-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity))}.ui-selected\:text-green-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.ui-selected\:text-green-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity))}.ui-selected\:text-green-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.ui-selected\:text-green-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.ui-selected\:text-green-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.ui-selected\:text-green-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}.ui-selected\:text-green-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity))}.ui-selected\:text-green-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity))}.ui-selected\:text-indigo-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity))}.ui-selected\:text-indigo-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity))}.ui-selected\:text-indigo-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity))}.ui-selected\:text-indigo-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity))}.ui-selected\:text-indigo-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity))}.ui-selected\:text-indigo-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.ui-selected\:text-indigo-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}.ui-selected\:text-indigo-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity))}.ui-selected\:text-indigo-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}.ui-selected\:text-indigo-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity))}.ui-selected\:text-indigo-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity))}.ui-selected\:text-lime-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity))}.ui-selected\:text-lime-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity))}.ui-selected\:text-lime-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity))}.ui-selected\:text-lime-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity))}.ui-selected\:text-lime-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity))}.ui-selected\:text-lime-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity))}.ui-selected\:text-lime-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity))}.ui-selected\:text-lime-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity))}.ui-selected\:text-lime-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity))}.ui-selected\:text-lime-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity))}.ui-selected\:text-lime-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity))}.ui-selected\:text-neutral-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity))}.ui-selected\:text-neutral-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity))}.ui-selected\:text-neutral-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity))}.ui-selected\:text-neutral-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}.ui-selected\:text-neutral-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.ui-selected\:text-neutral-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.ui-selected\:text-neutral-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}.ui-selected\:text-neutral-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}.ui-selected\:text-neutral-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity))}.ui-selected\:text-neutral-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity))}.ui-selected\:text-neutral-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity))}.ui-selected\:text-orange-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity))}.ui-selected\:text-orange-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity))}.ui-selected\:text-orange-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity))}.ui-selected\:text-orange-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity))}.ui-selected\:text-orange-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity))}.ui-selected\:text-orange-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity))}.ui-selected\:text-orange-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity))}.ui-selected\:text-orange-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity))}.ui-selected\:text-orange-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity))}.ui-selected\:text-orange-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity))}.ui-selected\:text-orange-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity))}.ui-selected\:text-pink-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity))}.ui-selected\:text-pink-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity))}.ui-selected\:text-pink-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity))}.ui-selected\:text-pink-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity))}.ui-selected\:text-pink-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity))}.ui-selected\:text-pink-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity))}.ui-selected\:text-pink-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity))}.ui-selected\:text-pink-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity))}.ui-selected\:text-pink-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}.ui-selected\:text-pink-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity))}.ui-selected\:text-pink-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity))}.ui-selected\:text-purple-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity))}.ui-selected\:text-purple-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity))}.ui-selected\:text-purple-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity))}.ui-selected\:text-purple-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity))}.ui-selected\:text-purple-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity))}.ui-selected\:text-purple-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity))}.ui-selected\:text-purple-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity))}.ui-selected\:text-purple-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity))}.ui-selected\:text-purple-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}.ui-selected\:text-purple-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity))}.ui-selected\:text-purple-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity))}.ui-selected\:text-red-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity))}.ui-selected\:text-red-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}.ui-selected\:text-red-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}.ui-selected\:text-red-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.ui-selected\:text-red-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity))}.ui-selected\:text-red-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.ui-selected\:text-red-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.ui-selected\:text-red-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.ui-selected\:text-red-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.ui-selected\:text-red-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}.ui-selected\:text-red-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity))}.ui-selected\:text-rose-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity))}.ui-selected\:text-rose-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity))}.ui-selected\:text-rose-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity))}.ui-selected\:text-rose-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}.ui-selected\:text-rose-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity))}.ui-selected\:text-rose-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity))}.ui-selected\:text-rose-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.ui-selected\:text-rose-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}.ui-selected\:text-rose-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity))}.ui-selected\:text-rose-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}.ui-selected\:text-rose-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity))}.ui-selected\:text-sky-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity))}.ui-selected\:text-sky-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity))}.ui-selected\:text-sky-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity))}.ui-selected\:text-sky-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity))}.ui-selected\:text-sky-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity))}.ui-selected\:text-sky-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}.ui-selected\:text-sky-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}.ui-selected\:text-sky-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity))}.ui-selected\:text-sky-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity))}.ui-selected\:text-sky-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity))}.ui-selected\:text-sky-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity))}.ui-selected\:text-slate-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity))}.ui-selected\:text-slate-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}.ui-selected\:text-slate-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}.ui-selected\:text-slate-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}.ui-selected\:text-slate-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity))}.ui-selected\:text-slate-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.ui-selected\:text-slate-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}.ui-selected\:text-slate-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}.ui-selected\:text-slate-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.ui-selected\:text-slate-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.ui-selected\:text-slate-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity))}.ui-selected\:text-stone-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity))}.ui-selected\:text-stone-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity))}.ui-selected\:text-stone-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity))}.ui-selected\:text-stone-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity))}.ui-selected\:text-stone-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity))}.ui-selected\:text-stone-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity))}.ui-selected\:text-stone-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity))}.ui-selected\:text-stone-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity))}.ui-selected\:text-stone-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity))}.ui-selected\:text-stone-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity))}.ui-selected\:text-stone-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity))}.ui-selected\:text-teal-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity))}.ui-selected\:text-teal-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity))}.ui-selected\:text-teal-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity))}.ui-selected\:text-teal-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity))}.ui-selected\:text-teal-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity))}.ui-selected\:text-teal-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity))}.ui-selected\:text-teal-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity))}.ui-selected\:text-teal-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity))}.ui-selected\:text-teal-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity))}.ui-selected\:text-teal-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity))}.ui-selected\:text-teal-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity))}.ui-selected\:text-tremor-brand[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.ui-selected\:text-tremor-content-emphasis[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.ui-selected\:text-tremor-content-strong[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.ui-selected\:text-violet-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity))}.ui-selected\:text-violet-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity))}.ui-selected\:text-violet-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity))}.ui-selected\:text-violet-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity))}.ui-selected\:text-violet-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity))}.ui-selected\:text-violet-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity))}.ui-selected\:text-violet-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity))}.ui-selected\:text-violet-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity))}.ui-selected\:text-violet-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity))}.ui-selected\:text-violet-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity))}.ui-selected\:text-violet-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity))}.ui-selected\:text-yellow-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity))}.ui-selected\:text-yellow-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity))}.ui-selected\:text-yellow-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity))}.ui-selected\:text-yellow-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.ui-selected\:text-yellow-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity))}.ui-selected\:text-yellow-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity))}.ui-selected\:text-yellow-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}.ui-selected\:text-yellow-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity))}.ui-selected\:text-yellow-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity))}.ui-selected\:text-yellow-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity))}.ui-selected\:text-yellow-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity))}.ui-selected\:text-zinc-100[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity))}.ui-selected\:text-zinc-200[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity))}.ui-selected\:text-zinc-300[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}.ui-selected\:text-zinc-400[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.ui-selected\:text-zinc-50[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}.ui-selected\:text-zinc-500[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.ui-selected\:text-zinc-600[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.ui-selected\:text-zinc-700[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.ui-selected\:text-zinc-800[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}.ui-selected\:text-zinc-900[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.ui-selected\:text-zinc-950[data-headlessui-state~=selected]{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity))}.ui-selected\:shadow-tremor-input[data-headlessui-state~=selected]{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:where([data-headlessui-state~=selected]) .ui-selected\:border-b-2{border-bottom-width:2px}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-100{--tw-border-opacity:1;border-color:rgb(254 243 199/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-200{--tw-border-opacity:1;border-color:rgb(253 230 138/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-300{--tw-border-opacity:1;border-color:rgb(252 211 77/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-400{--tw-border-opacity:1;border-color:rgb(251 191 36/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-50{--tw-border-opacity:1;border-color:rgb(255 251 235/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-500{--tw-border-opacity:1;border-color:rgb(245 158 11/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-700{--tw-border-opacity:1;border-color:rgb(180 83 9/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-800{--tw-border-opacity:1;border-color:rgb(146 64 14/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-900{--tw-border-opacity:1;border-color:rgb(120 53 15/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-amber-950{--tw-border-opacity:1;border-color:rgb(69 26 3/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-100{--tw-border-opacity:1;border-color:rgb(219 234 254/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-400{--tw-border-opacity:1;border-color:rgb(96 165 250/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-50{--tw-border-opacity:1;border-color:rgb(239 246 255/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-700{--tw-border-opacity:1;border-color:rgb(29 78 216/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-900{--tw-border-opacity:1;border-color:rgb(30 58 138/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-blue-950{--tw-border-opacity:1;border-color:rgb(23 37 84/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-100{--tw-border-opacity:1;border-color:rgb(207 250 254/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-200{--tw-border-opacity:1;border-color:rgb(165 243 252/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-300{--tw-border-opacity:1;border-color:rgb(103 232 249/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-400{--tw-border-opacity:1;border-color:rgb(34 211 238/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-50{--tw-border-opacity:1;border-color:rgb(236 254 255/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-500{--tw-border-opacity:1;border-color:rgb(6 182 212/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-600{--tw-border-opacity:1;border-color:rgb(8 145 178/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-700{--tw-border-opacity:1;border-color:rgb(14 116 144/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-800{--tw-border-opacity:1;border-color:rgb(21 94 117/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-900{--tw-border-opacity:1;border-color:rgb(22 78 99/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-cyan-950{--tw-border-opacity:1;border-color:rgb(8 51 68/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-100{--tw-border-opacity:1;border-color:rgb(209 250 229/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-200{--tw-border-opacity:1;border-color:rgb(167 243 208/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-300{--tw-border-opacity:1;border-color:rgb(110 231 183/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-400{--tw-border-opacity:1;border-color:rgb(52 211 153/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-50{--tw-border-opacity:1;border-color:rgb(236 253 245/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-600{--tw-border-opacity:1;border-color:rgb(5 150 105/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-700{--tw-border-opacity:1;border-color:rgb(4 120 87/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-800{--tw-border-opacity:1;border-color:rgb(6 95 70/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-900{--tw-border-opacity:1;border-color:rgb(6 78 59/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-emerald-950{--tw-border-opacity:1;border-color:rgb(2 44 34/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-100{--tw-border-opacity:1;border-color:rgb(250 232 255/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-200{--tw-border-opacity:1;border-color:rgb(245 208 254/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-300{--tw-border-opacity:1;border-color:rgb(240 171 252/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-400{--tw-border-opacity:1;border-color:rgb(232 121 249/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-50{--tw-border-opacity:1;border-color:rgb(253 244 255/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-500{--tw-border-opacity:1;border-color:rgb(217 70 239/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-600{--tw-border-opacity:1;border-color:rgb(192 38 211/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-700{--tw-border-opacity:1;border-color:rgb(162 28 175/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-800{--tw-border-opacity:1;border-color:rgb(134 25 143/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-900{--tw-border-opacity:1;border-color:rgb(112 26 117/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-fuchsia-950{--tw-border-opacity:1;border-color:rgb(74 4 78/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-50{--tw-border-opacity:1;border-color:rgb(249 250 251/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-500{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-900{--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-gray-950{--tw-border-opacity:1;border-color:rgb(3 7 18/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-100{--tw-border-opacity:1;border-color:rgb(220 252 231/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-300{--tw-border-opacity:1;border-color:rgb(134 239 172/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-400{--tw-border-opacity:1;border-color:rgb(74 222 128/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-50{--tw-border-opacity:1;border-color:rgb(240 253 244/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-600{--tw-border-opacity:1;border-color:rgb(22 163 74/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-800{--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-900{--tw-border-opacity:1;border-color:rgb(20 83 45/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-green-950{--tw-border-opacity:1;border-color:rgb(5 46 22/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-100{--tw-border-opacity:1;border-color:rgb(224 231 255/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-200{--tw-border-opacity:1;border-color:rgb(199 210 254/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-300{--tw-border-opacity:1;border-color:rgb(165 180 252/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-400{--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-50{--tw-border-opacity:1;border-color:rgb(238 242 255/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-500{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-600{--tw-border-opacity:1;border-color:rgb(79 70 229/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-700{--tw-border-opacity:1;border-color:rgb(67 56 202/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-800{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-900{--tw-border-opacity:1;border-color:rgb(49 46 129/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-indigo-950{--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-100{--tw-border-opacity:1;border-color:rgb(236 252 203/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-200{--tw-border-opacity:1;border-color:rgb(217 249 157/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-300{--tw-border-opacity:1;border-color:rgb(190 242 100/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-400{--tw-border-opacity:1;border-color:rgb(163 230 53/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-50{--tw-border-opacity:1;border-color:rgb(247 254 231/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-500{--tw-border-opacity:1;border-color:rgb(132 204 22/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-600{--tw-border-opacity:1;border-color:rgb(101 163 13/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-700{--tw-border-opacity:1;border-color:rgb(77 124 15/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-800{--tw-border-opacity:1;border-color:rgb(63 98 18/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-900{--tw-border-opacity:1;border-color:rgb(54 83 20/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-lime-950{--tw-border-opacity:1;border-color:rgb(26 46 5/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-100{--tw-border-opacity:1;border-color:rgb(245 245 245/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-200{--tw-border-opacity:1;border-color:rgb(229 229 229/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-300{--tw-border-opacity:1;border-color:rgb(212 212 212/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-400{--tw-border-opacity:1;border-color:rgb(163 163 163/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-500{--tw-border-opacity:1;border-color:rgb(115 115 115/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-600{--tw-border-opacity:1;border-color:rgb(82 82 82/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-700{--tw-border-opacity:1;border-color:rgb(64 64 64/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-800{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-900{--tw-border-opacity:1;border-color:rgb(23 23 23/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-neutral-950{--tw-border-opacity:1;border-color:rgb(10 10 10/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-100{--tw-border-opacity:1;border-color:rgb(255 237 213/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-300{--tw-border-opacity:1;border-color:rgb(253 186 116/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-400{--tw-border-opacity:1;border-color:rgb(251 146 60/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-50{--tw-border-opacity:1;border-color:rgb(255 247 237/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-500{--tw-border-opacity:1;border-color:rgb(249 115 22/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-600{--tw-border-opacity:1;border-color:rgb(234 88 12/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-700{--tw-border-opacity:1;border-color:rgb(194 65 12/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-800{--tw-border-opacity:1;border-color:rgb(154 52 18/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-900{--tw-border-opacity:1;border-color:rgb(124 45 18/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-orange-950{--tw-border-opacity:1;border-color:rgb(67 20 7/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-100{--tw-border-opacity:1;border-color:rgb(252 231 243/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-200{--tw-border-opacity:1;border-color:rgb(251 207 232/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-300{--tw-border-opacity:1;border-color:rgb(249 168 212/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-400{--tw-border-opacity:1;border-color:rgb(244 114 182/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-50{--tw-border-opacity:1;border-color:rgb(253 242 248/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-500{--tw-border-opacity:1;border-color:rgb(236 72 153/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-600{--tw-border-opacity:1;border-color:rgb(219 39 119/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-700{--tw-border-opacity:1;border-color:rgb(190 24 93/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-800{--tw-border-opacity:1;border-color:rgb(157 23 77/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-900{--tw-border-opacity:1;border-color:rgb(131 24 67/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-pink-950{--tw-border-opacity:1;border-color:rgb(80 7 36/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-100{--tw-border-opacity:1;border-color:rgb(243 232 255/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-300{--tw-border-opacity:1;border-color:rgb(216 180 254/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-400{--tw-border-opacity:1;border-color:rgb(192 132 252/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-50{--tw-border-opacity:1;border-color:rgb(250 245 255/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-500{--tw-border-opacity:1;border-color:rgb(168 85 247/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-600{--tw-border-opacity:1;border-color:rgb(147 51 234/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-700{--tw-border-opacity:1;border-color:rgb(126 34 206/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-800{--tw-border-opacity:1;border-color:rgb(107 33 168/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-900{--tw-border-opacity:1;border-color:rgb(88 28 135/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-purple-950{--tw-border-opacity:1;border-color:rgb(59 7 100/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-50{--tw-border-opacity:1;border-color:rgb(254 242 242/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-800{--tw-border-opacity:1;border-color:rgb(153 27 27/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-900{--tw-border-opacity:1;border-color:rgb(127 29 29/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-red-950{--tw-border-opacity:1;border-color:rgb(69 10 10/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-100{--tw-border-opacity:1;border-color:rgb(255 228 230/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-200{--tw-border-opacity:1;border-color:rgb(254 205 211/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-300{--tw-border-opacity:1;border-color:rgb(253 164 175/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-50{--tw-border-opacity:1;border-color:rgb(255 241 242/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-500{--tw-border-opacity:1;border-color:rgb(244 63 94/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-600{--tw-border-opacity:1;border-color:rgb(225 29 72/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-700{--tw-border-opacity:1;border-color:rgb(190 18 60/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-800{--tw-border-opacity:1;border-color:rgb(159 18 57/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-900{--tw-border-opacity:1;border-color:rgb(136 19 55/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-rose-950{--tw-border-opacity:1;border-color:rgb(76 5 25/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-100{--tw-border-opacity:1;border-color:rgb(224 242 254/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-200{--tw-border-opacity:1;border-color:rgb(186 230 253/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-300{--tw-border-opacity:1;border-color:rgb(125 211 252/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-400{--tw-border-opacity:1;border-color:rgb(56 189 248/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-50{--tw-border-opacity:1;border-color:rgb(240 249 255/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-500{--tw-border-opacity:1;border-color:rgb(14 165 233/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-600{--tw-border-opacity:1;border-color:rgb(2 132 199/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-700{--tw-border-opacity:1;border-color:rgb(3 105 161/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-800{--tw-border-opacity:1;border-color:rgb(7 89 133/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-900{--tw-border-opacity:1;border-color:rgb(12 74 110/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-sky-950{--tw-border-opacity:1;border-color:rgb(8 47 73/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-100{--tw-border-opacity:1;border-color:rgb(241 245 249/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-50{--tw-border-opacity:1;border-color:rgb(248 250 252/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-500{--tw-border-opacity:1;border-color:rgb(100 116 139/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-600{--tw-border-opacity:1;border-color:rgb(71 85 105/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-700{--tw-border-opacity:1;border-color:rgb(51 65 85/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-900{--tw-border-opacity:1;border-color:rgb(15 23 42/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-slate-950{--tw-border-opacity:1;border-color:rgb(2 6 23/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-100{--tw-border-opacity:1;border-color:rgb(245 245 244/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-200{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-300{--tw-border-opacity:1;border-color:rgb(214 211 209/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-400{--tw-border-opacity:1;border-color:rgb(168 162 158/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-50{--tw-border-opacity:1;border-color:rgb(250 250 249/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-500{--tw-border-opacity:1;border-color:rgb(120 113 108/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-600{--tw-border-opacity:1;border-color:rgb(87 83 78/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-700{--tw-border-opacity:1;border-color:rgb(68 64 60/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-800{--tw-border-opacity:1;border-color:rgb(41 37 36/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-900{--tw-border-opacity:1;border-color:rgb(28 25 23/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-stone-950{--tw-border-opacity:1;border-color:rgb(12 10 9/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-100{--tw-border-opacity:1;border-color:rgb(204 251 241/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-200{--tw-border-opacity:1;border-color:rgb(153 246 228/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-300{--tw-border-opacity:1;border-color:rgb(94 234 212/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-400{--tw-border-opacity:1;border-color:rgb(45 212 191/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-50{--tw-border-opacity:1;border-color:rgb(240 253 250/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-500{--tw-border-opacity:1;border-color:rgb(20 184 166/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-600{--tw-border-opacity:1;border-color:rgb(13 148 136/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-700{--tw-border-opacity:1;border-color:rgb(15 118 110/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-800{--tw-border-opacity:1;border-color:rgb(17 94 89/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-900{--tw-border-opacity:1;border-color:rgb(19 78 74/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-teal-950{--tw-border-opacity:1;border-color:rgb(4 47 46/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-tremor-border{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-tremor-brand{--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-100{--tw-border-opacity:1;border-color:rgb(237 233 254/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-200{--tw-border-opacity:1;border-color:rgb(221 214 254/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-300{--tw-border-opacity:1;border-color:rgb(196 181 253/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-400{--tw-border-opacity:1;border-color:rgb(167 139 250/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-50{--tw-border-opacity:1;border-color:rgb(245 243 255/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-500{--tw-border-opacity:1;border-color:rgb(139 92 246/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-600{--tw-border-opacity:1;border-color:rgb(124 58 237/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-700{--tw-border-opacity:1;border-color:rgb(109 40 217/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-800{--tw-border-opacity:1;border-color:rgb(91 33 182/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-900{--tw-border-opacity:1;border-color:rgb(76 29 149/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-violet-950{--tw-border-opacity:1;border-color:rgb(46 16 101/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-100{--tw-border-opacity:1;border-color:rgb(254 249 195/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-50{--tw-border-opacity:1;border-color:rgb(254 252 232/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-500{--tw-border-opacity:1;border-color:rgb(234 179 8/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-600{--tw-border-opacity:1;border-color:rgb(202 138 4/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-700{--tw-border-opacity:1;border-color:rgb(161 98 7/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-800{--tw-border-opacity:1;border-color:rgb(133 77 14/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-900{--tw-border-opacity:1;border-color:rgb(113 63 18/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-yellow-950{--tw-border-opacity:1;border-color:rgb(66 32 6/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-100{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-400{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-50{--tw-border-opacity:1;border-color:rgb(250 250 250/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-500{--tw-border-opacity:1;border-color:rgb(113 113 122/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-600{--tw-border-opacity:1;border-color:rgb(82 82 91/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-700{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-800{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-900{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:border-zinc-950{--tw-border-opacity:1;border-color:rgb(9 9 11/var(--tw-border-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-100{--tw-bg-opacity:1;background-color:rgb(254 243 199/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-200{--tw-bg-opacity:1;background-color:rgb(253 230 138/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-300{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-50{--tw-bg-opacity:1;background-color:rgb(255 251 235/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-600{--tw-bg-opacity:1;background-color:rgb(217 119 6/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-700{--tw-bg-opacity:1;background-color:rgb(180 83 9/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-800{--tw-bg-opacity:1;background-color:rgb(146 64 14/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-900{--tw-bg-opacity:1;background-color:rgb(120 53 15/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-amber-950{--tw-bg-opacity:1;background-color:rgb(69 26 3/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-200{--tw-bg-opacity:1;background-color:rgb(191 219 254/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-400{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-700{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-800{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-900{--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-blue-950{--tw-bg-opacity:1;background-color:rgb(23 37 84/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-100{--tw-bg-opacity:1;background-color:rgb(207 250 254/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-200{--tw-bg-opacity:1;background-color:rgb(165 243 252/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-300{--tw-bg-opacity:1;background-color:rgb(103 232 249/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-400{--tw-bg-opacity:1;background-color:rgb(34 211 238/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-50{--tw-bg-opacity:1;background-color:rgb(236 254 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-500{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-600{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-700{--tw-bg-opacity:1;background-color:rgb(14 116 144/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-800{--tw-bg-opacity:1;background-color:rgb(21 94 117/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-900{--tw-bg-opacity:1;background-color:rgb(22 78 99/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-cyan-950{--tw-bg-opacity:1;background-color:rgb(8 51 68/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-100{--tw-bg-opacity:1;background-color:rgb(209 250 229/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-200{--tw-bg-opacity:1;background-color:rgb(167 243 208/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-300{--tw-bg-opacity:1;background-color:rgb(110 231 183/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-400{--tw-bg-opacity:1;background-color:rgb(52 211 153/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-600{--tw-bg-opacity:1;background-color:rgb(5 150 105/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-700{--tw-bg-opacity:1;background-color:rgb(4 120 87/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-800{--tw-bg-opacity:1;background-color:rgb(6 95 70/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-900{--tw-bg-opacity:1;background-color:rgb(6 78 59/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-emerald-950{--tw-bg-opacity:1;background-color:rgb(2 44 34/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-100{--tw-bg-opacity:1;background-color:rgb(250 232 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-200{--tw-bg-opacity:1;background-color:rgb(245 208 254/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-300{--tw-bg-opacity:1;background-color:rgb(240 171 252/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-400{--tw-bg-opacity:1;background-color:rgb(232 121 249/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-50{--tw-bg-opacity:1;background-color:rgb(253 244 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-500{--tw-bg-opacity:1;background-color:rgb(217 70 239/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-600{--tw-bg-opacity:1;background-color:rgb(192 38 211/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-700{--tw-bg-opacity:1;background-color:rgb(162 28 175/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-800{--tw-bg-opacity:1;background-color:rgb(134 25 143/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-900{--tw-bg-opacity:1;background-color:rgb(112 26 117/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-fuchsia-950{--tw-bg-opacity:1;background-color:rgb(74 4 78/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-gray-950{--tw-bg-opacity:1;background-color:rgb(3 7 18/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-300{--tw-bg-opacity:1;background-color:rgb(134 239 172/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-400{--tw-bg-opacity:1;background-color:rgb(74 222 128/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-700{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-800{--tw-bg-opacity:1;background-color:rgb(22 101 52/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-900{--tw-bg-opacity:1;background-color:rgb(20 83 45/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-green-950{--tw-bg-opacity:1;background-color:rgb(5 46 22/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-100{--tw-bg-opacity:1;background-color:rgb(224 231 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-200{--tw-bg-opacity:1;background-color:rgb(199 210 254/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-300{--tw-bg-opacity:1;background-color:rgb(165 180 252/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-400{--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-50{--tw-bg-opacity:1;background-color:rgb(238 242 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-700{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-800{--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-900{--tw-bg-opacity:1;background-color:rgb(49 46 129/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-indigo-950{--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-100{--tw-bg-opacity:1;background-color:rgb(236 252 203/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-200{--tw-bg-opacity:1;background-color:rgb(217 249 157/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-300{--tw-bg-opacity:1;background-color:rgb(190 242 100/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-400{--tw-bg-opacity:1;background-color:rgb(163 230 53/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-50{--tw-bg-opacity:1;background-color:rgb(247 254 231/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-500{--tw-bg-opacity:1;background-color:rgb(132 204 22/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-600{--tw-bg-opacity:1;background-color:rgb(101 163 13/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-700{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-800{--tw-bg-opacity:1;background-color:rgb(63 98 18/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-900{--tw-bg-opacity:1;background-color:rgb(54 83 20/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-lime-950{--tw-bg-opacity:1;background-color:rgb(26 46 5/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-100{--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-400{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-500{--tw-bg-opacity:1;background-color:rgb(115 115 115/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-600{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-800{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-900{--tw-bg-opacity:1;background-color:rgb(23 23 23/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-200{--tw-bg-opacity:1;background-color:rgb(254 215 170/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-300{--tw-bg-opacity:1;background-color:rgb(253 186 116/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-400{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-700{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-800{--tw-bg-opacity:1;background-color:rgb(154 52 18/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-900{--tw-bg-opacity:1;background-color:rgb(124 45 18/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-orange-950{--tw-bg-opacity:1;background-color:rgb(67 20 7/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-100{--tw-bg-opacity:1;background-color:rgb(252 231 243/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-200{--tw-bg-opacity:1;background-color:rgb(251 207 232/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-300{--tw-bg-opacity:1;background-color:rgb(249 168 212/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-400{--tw-bg-opacity:1;background-color:rgb(244 114 182/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-50{--tw-bg-opacity:1;background-color:rgb(253 242 248/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-600{--tw-bg-opacity:1;background-color:rgb(219 39 119/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-700{--tw-bg-opacity:1;background-color:rgb(190 24 93/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-800{--tw-bg-opacity:1;background-color:rgb(157 23 77/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-900{--tw-bg-opacity:1;background-color:rgb(131 24 67/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-pink-950{--tw-bg-opacity:1;background-color:rgb(80 7 36/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-200{--tw-bg-opacity:1;background-color:rgb(233 213 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-300{--tw-bg-opacity:1;background-color:rgb(216 180 254/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-400{--tw-bg-opacity:1;background-color:rgb(192 132 252/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-700{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-800{--tw-bg-opacity:1;background-color:rgb(107 33 168/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-900{--tw-bg-opacity:1;background-color:rgb(88 28 135/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-purple-950{--tw-bg-opacity:1;background-color:rgb(59 7 100/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-300{--tw-bg-opacity:1;background-color:rgb(252 165 165/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-400{--tw-bg-opacity:1;background-color:rgb(248 113 113/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-800{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-red-950{--tw-bg-opacity:1;background-color:rgb(69 10 10/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-100{--tw-bg-opacity:1;background-color:rgb(255 228 230/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-200{--tw-bg-opacity:1;background-color:rgb(254 205 211/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-300{--tw-bg-opacity:1;background-color:rgb(253 164 175/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-400{--tw-bg-opacity:1;background-color:rgb(251 113 133/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-500{--tw-bg-opacity:1;background-color:rgb(244 63 94/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-600{--tw-bg-opacity:1;background-color:rgb(225 29 72/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-700{--tw-bg-opacity:1;background-color:rgb(190 18 60/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-800{--tw-bg-opacity:1;background-color:rgb(159 18 57/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-900{--tw-bg-opacity:1;background-color:rgb(136 19 55/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-rose-950{--tw-bg-opacity:1;background-color:rgb(76 5 25/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-100{--tw-bg-opacity:1;background-color:rgb(224 242 254/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-200{--tw-bg-opacity:1;background-color:rgb(186 230 253/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-300{--tw-bg-opacity:1;background-color:rgb(125 211 252/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-400{--tw-bg-opacity:1;background-color:rgb(56 189 248/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-50{--tw-bg-opacity:1;background-color:rgb(240 249 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-600{--tw-bg-opacity:1;background-color:rgb(2 132 199/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-700{--tw-bg-opacity:1;background-color:rgb(3 105 161/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-800{--tw-bg-opacity:1;background-color:rgb(7 89 133/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-900{--tw-bg-opacity:1;background-color:rgb(12 74 110/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-sky-950{--tw-bg-opacity:1;background-color:rgb(8 47 73/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-100{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-300{--tw-bg-opacity:1;background-color:rgb(203 213 225/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-400{--tw-bg-opacity:1;background-color:rgb(148 163 184/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-500{--tw-bg-opacity:1;background-color:rgb(100 116 139/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-600{--tw-bg-opacity:1;background-color:rgb(71 85 105/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-700{--tw-bg-opacity:1;background-color:rgb(51 65 85/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-800{--tw-bg-opacity:1;background-color:rgb(30 41 59/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-100{--tw-bg-opacity:1;background-color:rgb(245 245 244/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-200{--tw-bg-opacity:1;background-color:rgb(231 229 228/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-300{--tw-bg-opacity:1;background-color:rgb(214 211 209/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-400{--tw-bg-opacity:1;background-color:rgb(168 162 158/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-50{--tw-bg-opacity:1;background-color:rgb(250 250 249/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-500{--tw-bg-opacity:1;background-color:rgb(120 113 108/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-600{--tw-bg-opacity:1;background-color:rgb(87 83 78/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-700{--tw-bg-opacity:1;background-color:rgb(68 64 60/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-800{--tw-bg-opacity:1;background-color:rgb(41 37 36/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-900{--tw-bg-opacity:1;background-color:rgb(28 25 23/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-stone-950{--tw-bg-opacity:1;background-color:rgb(12 10 9/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-100{--tw-bg-opacity:1;background-color:rgb(204 251 241/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-200{--tw-bg-opacity:1;background-color:rgb(153 246 228/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-300{--tw-bg-opacity:1;background-color:rgb(94 234 212/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-400{--tw-bg-opacity:1;background-color:rgb(45 212 191/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-50{--tw-bg-opacity:1;background-color:rgb(240 253 250/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-500{--tw-bg-opacity:1;background-color:rgb(20 184 166/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-600{--tw-bg-opacity:1;background-color:rgb(13 148 136/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-700{--tw-bg-opacity:1;background-color:rgb(15 118 110/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-800{--tw-bg-opacity:1;background-color:rgb(17 94 89/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-900{--tw-bg-opacity:1;background-color:rgb(19 78 74/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-teal-950{--tw-bg-opacity:1;background-color:rgb(4 47 46/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-tremor-background{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-tremor-background-muted{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-100{--tw-bg-opacity:1;background-color:rgb(237 233 254/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-200{--tw-bg-opacity:1;background-color:rgb(221 214 254/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-300{--tw-bg-opacity:1;background-color:rgb(196 181 253/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-400{--tw-bg-opacity:1;background-color:rgb(167 139 250/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-50{--tw-bg-opacity:1;background-color:rgb(245 243 255/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-500{--tw-bg-opacity:1;background-color:rgb(139 92 246/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-600{--tw-bg-opacity:1;background-color:rgb(124 58 237/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-700{--tw-bg-opacity:1;background-color:rgb(109 40 217/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-800{--tw-bg-opacity:1;background-color:rgb(91 33 182/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-900{--tw-bg-opacity:1;background-color:rgb(76 29 149/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-violet-950{--tw-bg-opacity:1;background-color:rgb(46 16 101/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-200{--tw-bg-opacity:1;background-color:rgb(254 240 138/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-400{--tw-bg-opacity:1;background-color:rgb(250 204 21/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-600{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-700{--tw-bg-opacity:1;background-color:rgb(161 98 7/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-800{--tw-bg-opacity:1;background-color:rgb(133 77 14/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-900{--tw-bg-opacity:1;background-color:rgb(113 63 18/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-yellow-950{--tw-bg-opacity:1;background-color:rgb(66 32 6/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-100{--tw-bg-opacity:1;background-color:rgb(244 244 245/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-200{--tw-bg-opacity:1;background-color:rgb(228 228 231/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-300{--tw-bg-opacity:1;background-color:rgb(212 212 216/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-400{--tw-bg-opacity:1;background-color:rgb(161 161 170/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-500{--tw-bg-opacity:1;background-color:rgb(113 113 122/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-600{--tw-bg-opacity:1;background-color:rgb(82 82 91/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-700{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-800{--tw-bg-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:bg-zinc-950{--tw-bg-opacity:1;background-color:rgb(9 9 11/var(--tw-bg-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-100{--tw-text-opacity:1;color:rgb(254 243 199/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-50{--tw-text-opacity:1;color:rgb(255 251 235/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-800{--tw-text-opacity:1;color:rgb(146 64 14/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-900{--tw-text-opacity:1;color:rgb(120 53 15/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-amber-950{--tw-text-opacity:1;color:rgb(69 26 3/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-100{--tw-text-opacity:1;color:rgb(219 234 254/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-200{--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-400{--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-50{--tw-text-opacity:1;color:rgb(239 246 255/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-blue-950{--tw-text-opacity:1;color:rgb(23 37 84/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-100{--tw-text-opacity:1;color:rgb(207 250 254/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-200{--tw-text-opacity:1;color:rgb(165 243 252/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-300{--tw-text-opacity:1;color:rgb(103 232 249/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-400{--tw-text-opacity:1;color:rgb(34 211 238/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-50{--tw-text-opacity:1;color:rgb(236 254 255/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-700{--tw-text-opacity:1;color:rgb(14 116 144/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-800{--tw-text-opacity:1;color:rgb(21 94 117/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-900{--tw-text-opacity:1;color:rgb(22 78 99/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-cyan-950{--tw-text-opacity:1;color:rgb(8 51 68/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-dark-tremor-brand{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-100{--tw-text-opacity:1;color:rgb(209 250 229/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-200{--tw-text-opacity:1;color:rgb(167 243 208/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-50{--tw-text-opacity:1;color:rgb(236 253 245/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-700{--tw-text-opacity:1;color:rgb(4 120 87/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-900{--tw-text-opacity:1;color:rgb(6 78 59/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-emerald-950{--tw-text-opacity:1;color:rgb(2 44 34/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-100{--tw-text-opacity:1;color:rgb(250 232 255/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-200{--tw-text-opacity:1;color:rgb(245 208 254/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-300{--tw-text-opacity:1;color:rgb(240 171 252/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-400{--tw-text-opacity:1;color:rgb(232 121 249/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-50{--tw-text-opacity:1;color:rgb(253 244 255/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-500{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-600{--tw-text-opacity:1;color:rgb(192 38 211/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-700{--tw-text-opacity:1;color:rgb(162 28 175/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-800{--tw-text-opacity:1;color:rgb(134 25 143/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-900{--tw-text-opacity:1;color:rgb(112 26 117/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-fuchsia-950{--tw-text-opacity:1;color:rgb(74 4 78/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-gray-950{--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-100{--tw-text-opacity:1;color:rgb(220 252 231/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-200{--tw-text-opacity:1;color:rgb(187 247 208/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-300{--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-50{--tw-text-opacity:1;color:rgb(240 253 244/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-green-950{--tw-text-opacity:1;color:rgb(5 46 22/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-100{--tw-text-opacity:1;color:rgb(224 231 255/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-200{--tw-text-opacity:1;color:rgb(199 210 254/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-300{--tw-text-opacity:1;color:rgb(165 180 252/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-400{--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-50{--tw-text-opacity:1;color:rgb(238 242 255/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-600{--tw-text-opacity:1;color:rgb(79 70 229/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-700{--tw-text-opacity:1;color:rgb(67 56 202/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-800{--tw-text-opacity:1;color:rgb(55 48 163/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-900{--tw-text-opacity:1;color:rgb(49 46 129/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-indigo-950{--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-100{--tw-text-opacity:1;color:rgb(236 252 203/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-200{--tw-text-opacity:1;color:rgb(217 249 157/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-300{--tw-text-opacity:1;color:rgb(190 242 100/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-400{--tw-text-opacity:1;color:rgb(163 230 53/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-50{--tw-text-opacity:1;color:rgb(247 254 231/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-500{--tw-text-opacity:1;color:rgb(132 204 22/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-700{--tw-text-opacity:1;color:rgb(77 124 15/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-800{--tw-text-opacity:1;color:rgb(63 98 18/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-900{--tw-text-opacity:1;color:rgb(54 83 20/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-lime-950{--tw-text-opacity:1;color:rgb(26 46 5/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-100{--tw-text-opacity:1;color:rgb(245 245 245/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-300{--tw-text-opacity:1;color:rgb(212 212 212/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-600{--tw-text-opacity:1;color:rgb(82 82 82/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-900{--tw-text-opacity:1;color:rgb(23 23 23/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-neutral-950{--tw-text-opacity:1;color:rgb(10 10 10/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-100{--tw-text-opacity:1;color:rgb(255 237 213/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-200{--tw-text-opacity:1;color:rgb(254 215 170/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-300{--tw-text-opacity:1;color:rgb(253 186 116/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-400{--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-50{--tw-text-opacity:1;color:rgb(255 247 237/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-900{--tw-text-opacity:1;color:rgb(124 45 18/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-orange-950{--tw-text-opacity:1;color:rgb(67 20 7/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-100{--tw-text-opacity:1;color:rgb(252 231 243/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-200{--tw-text-opacity:1;color:rgb(251 207 232/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-300{--tw-text-opacity:1;color:rgb(249 168 212/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-400{--tw-text-opacity:1;color:rgb(244 114 182/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-50{--tw-text-opacity:1;color:rgb(253 242 248/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-600{--tw-text-opacity:1;color:rgb(219 39 119/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-700{--tw-text-opacity:1;color:rgb(190 24 93/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-800{--tw-text-opacity:1;color:rgb(157 23 77/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-900{--tw-text-opacity:1;color:rgb(131 24 67/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-pink-950{--tw-text-opacity:1;color:rgb(80 7 36/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-100{--tw-text-opacity:1;color:rgb(243 232 255/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-200{--tw-text-opacity:1;color:rgb(233 213 255/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-300{--tw-text-opacity:1;color:rgb(216 180 254/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-50{--tw-text-opacity:1;color:rgb(250 245 255/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-700{--tw-text-opacity:1;color:rgb(126 34 206/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-900{--tw-text-opacity:1;color:rgb(88 28 135/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-purple-950{--tw-text-opacity:1;color:rgb(59 7 100/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-50{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-red-950{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-100{--tw-text-opacity:1;color:rgb(255 228 230/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-200{--tw-text-opacity:1;color:rgb(254 205 211/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-300{--tw-text-opacity:1;color:rgb(253 164 175/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-400{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-50{--tw-text-opacity:1;color:rgb(255 241 242/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-500{--tw-text-opacity:1;color:rgb(244 63 94/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-700{--tw-text-opacity:1;color:rgb(190 18 60/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-800{--tw-text-opacity:1;color:rgb(159 18 57/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-rose-950{--tw-text-opacity:1;color:rgb(76 5 25/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-100{--tw-text-opacity:1;color:rgb(224 242 254/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-200{--tw-text-opacity:1;color:rgb(186 230 253/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-300{--tw-text-opacity:1;color:rgb(125 211 252/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-400{--tw-text-opacity:1;color:rgb(56 189 248/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-50{--tw-text-opacity:1;color:rgb(240 249 255/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-600{--tw-text-opacity:1;color:rgb(2 132 199/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-700{--tw-text-opacity:1;color:rgb(3 105 161/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-800{--tw-text-opacity:1;color:rgb(7 89 133/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-900{--tw-text-opacity:1;color:rgb(12 74 110/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-sky-950{--tw-text-opacity:1;color:rgb(8 47 73/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-100{--tw-text-opacity:1;color:rgb(241 245 249/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-200{--tw-text-opacity:1;color:rgb(226 232 240/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-50{--tw-text-opacity:1;color:rgb(248 250 252/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-slate-950{--tw-text-opacity:1;color:rgb(2 6 23/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-100{--tw-text-opacity:1;color:rgb(245 245 244/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-200{--tw-text-opacity:1;color:rgb(231 229 228/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-300{--tw-text-opacity:1;color:rgb(214 211 209/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-400{--tw-text-opacity:1;color:rgb(168 162 158/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-50{--tw-text-opacity:1;color:rgb(250 250 249/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-500{--tw-text-opacity:1;color:rgb(120 113 108/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-600{--tw-text-opacity:1;color:rgb(87 83 78/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-700{--tw-text-opacity:1;color:rgb(68 64 60/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-800{--tw-text-opacity:1;color:rgb(41 37 36/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-900{--tw-text-opacity:1;color:rgb(28 25 23/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-stone-950{--tw-text-opacity:1;color:rgb(12 10 9/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-100{--tw-text-opacity:1;color:rgb(204 251 241/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-200{--tw-text-opacity:1;color:rgb(153 246 228/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-300{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-400{--tw-text-opacity:1;color:rgb(45 212 191/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-50{--tw-text-opacity:1;color:rgb(240 253 250/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-500{--tw-text-opacity:1;color:rgb(20 184 166/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-600{--tw-text-opacity:1;color:rgb(13 148 136/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-700{--tw-text-opacity:1;color:rgb(15 118 110/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-800{--tw-text-opacity:1;color:rgb(17 94 89/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-900{--tw-text-opacity:1;color:rgb(19 78 74/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-teal-950{--tw-text-opacity:1;color:rgb(4 47 46/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-tremor-brand{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-tremor-content-emphasis{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-tremor-content-strong{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-100{--tw-text-opacity:1;color:rgb(237 233 254/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-200{--tw-text-opacity:1;color:rgb(221 214 254/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-300{--tw-text-opacity:1;color:rgb(196 181 253/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-400{--tw-text-opacity:1;color:rgb(167 139 250/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-50{--tw-text-opacity:1;color:rgb(245 243 255/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-700{--tw-text-opacity:1;color:rgb(109 40 217/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-800{--tw-text-opacity:1;color:rgb(91 33 182/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-900{--tw-text-opacity:1;color:rgb(76 29 149/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-violet-950{--tw-text-opacity:1;color:rgb(46 16 101/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-100{--tw-text-opacity:1;color:rgb(254 249 195/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-200{--tw-text-opacity:1;color:rgb(254 240 138/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-50{--tw-text-opacity:1;color:rgb(254 252 232/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-900{--tw-text-opacity:1;color:rgb(113 63 18/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-yellow-950{--tw-text-opacity:1;color:rgb(66 32 6/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-100{--tw-text-opacity:1;color:rgb(244 244 245/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-200{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-300{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-400{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-50{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:text-zinc-950{--tw-text-opacity:1;color:rgb(9 9 11/var(--tw-text-opacity))}:where([data-headlessui-state~=selected]) .ui-selected\:shadow-tremor-input{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ui-active\:bg-tremor-background-muted[data-headlessui-state~=active]{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.ui-active\:text-tremor-content-strong[data-headlessui-state~=active]{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}:where([data-headlessui-state~=active]) .ui-active\:bg-tremor-background-muted{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}:where([data-headlessui-state~=active]) .ui-active\:text-tremor-content-strong{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}:is(.dark .dark\:divide-dark-tremor-border)>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(55 65 81/var(--tw-divide-opacity))}:is(.dark .dark\:border-dark-tremor-background){--tw-border-opacity:1;border-color:rgb(17 24 39/var(--tw-border-opacity))}:is(.dark .dark\:border-dark-tremor-border){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:border-dark-tremor-brand){--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}:is(.dark .dark\:border-dark-tremor-brand-emphasis){--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity))}:is(.dark .dark\:border-dark-tremor-brand-inverted){--tw-border-opacity:1;border-color:rgb(30 27 75/var(--tw-border-opacity))}:is(.dark .dark\:border-dark-tremor-brand-subtle){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity))}:is(.dark .dark\:bg-dark-tremor-background){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:bg-dark-tremor-background-emphasis){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}:is(.dark .dark\:bg-dark-tremor-background-muted){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity))}:is(.dark .dark\:bg-dark-tremor-background-subtle){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:bg-dark-tremor-border){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}:is(.dark .dark\:bg-dark-tremor-brand){--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity))}:is(.dark .dark\:bg-dark-tremor-brand-muted){--tw-bg-opacity:1;background-color:rgb(30 27 75/var(--tw-bg-opacity))}:is(.dark .dark\:bg-dark-tremor-brand-muted\/70){background-color:rgba(30,27,75,.7)}:is(.dark .dark\:bg-dark-tremor-brand-subtle){--tw-bg-opacity:1;background-color:rgb(55 48 163/var(--tw-bg-opacity))}:is(.dark .dark\:bg-dark-tremor-content-subtle){--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}:is(.dark .dark\:bg-slate-950\/50){background-color:rgba(2,6,23,.5)}:is(.dark .dark\:bg-opacity-10){--tw-bg-opacity:0.1}:is(.dark .dark\:bg-opacity-25){--tw-bg-opacity:0.25}:is(.dark .dark\:bg-opacity-30){--tw-bg-opacity:0.3}:is(.dark .dark\:from-dark-tremor-background){--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}:is(.dark .dark\:to-dark-tremor-background){--tw-gradient-to:#111827 var(--tw-gradient-to-position)}:is(.dark .dark\:fill-dark-tremor-content){fill:#6b7280}:is(.dark .dark\:fill-dark-tremor-content-emphasis){fill:#e5e7eb}:is(.dark .dark\:stroke-dark-tremor-background){stroke:#111827}:is(.dark .dark\:stroke-dark-tremor-border){stroke:#374151}:is(.dark .dark\:stroke-dark-tremor-brand){stroke:#6366f1}:is(.dark .dark\:stroke-dark-tremor-brand-muted){stroke:#1e1b4b}:is(.dark .dark\:text-dark-tremor-brand){--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}:is(.dark .dark\:text-dark-tremor-brand-emphasis){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity))}:is(.dark .dark\:text-dark-tremor-brand-inverted){--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity))}:is(.dark .dark\:text-dark-tremor-content){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:text-dark-tremor-content-emphasis){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:text-dark-tremor-content-strong){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:text-dark-tremor-content-subtle){--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}:is(.dark .dark\:accent-dark-tremor-brand){accent-color:#6366f1}:is(.dark .dark\:opacity-25){opacity:.25}:is(.dark .dark\:shadow-dark-tremor-card){--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark .dark\:shadow-dark-tremor-dropdown){--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark .dark\:shadow-dark-tremor-input){--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark .dark\:outline-dark-tremor-brand){outline-color:#6366f1}:is(.dark .dark\:ring-dark-tremor-brand-inverted){--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity))}:is(.dark .dark\:ring-dark-tremor-brand-muted){--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity))}:is(.dark .dark\:ring-dark-tremor-ring){--tw-ring-opacity:1;--tw-ring-color:rgb(31 41 55/var(--tw-ring-opacity))}:is(.dark .dark\:placeholder\:text-dark-tremor-content)::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:placeholder\:text-dark-tremor-content)::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:placeholder\:text-dark-tremor-content-subtle)::-moz-placeholder{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}:is(.dark .dark\:placeholder\:text-dark-tremor-content-subtle)::placeholder{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}:is(.dark .dark\:placeholder\:text-tremor-content)::-moz-placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:placeholder\:text-tremor-content)::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:placeholder\:text-tremor-content-subtle)::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:placeholder\:text-tremor-content-subtle)::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}:is(.dark .dark\:hover\:border-dark-tremor-brand-emphasis:hover){--tw-border-opacity:1;border-color:rgb(129 140 248/var(--tw-border-opacity))}:is(.dark .dark\:hover\:border-dark-tremor-content-emphasis:hover){--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}:is(.dark .dark\:hover\:bg-dark-tremor-background-muted:hover){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-dark-tremor-background-subtle:hover){--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-dark-tremor-brand-emphasis:hover){--tw-bg-opacity:1;background-color:rgb(129 140 248/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-dark-tremor-brand-faint:hover){--tw-bg-opacity:1;background-color:rgb(11 18 41/var(--tw-bg-opacity))}:is(.dark .dark\:hover\:bg-opacity-20:hover){--tw-bg-opacity:0.2}:is(.dark .dark\:hover\:text-dark-tremor-brand-emphasis:hover){--tw-text-opacity:1;color:rgb(129 140 248/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-dark-tremor-content:hover){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-dark-tremor-content-emphasis:hover){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-tremor-content:hover){--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-tremor-content-emphasis:hover){--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}:is(.dark .hover\:dark\:text-dark-tremor-content):hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}:is(.dark .dark\:focus\:border-dark-tremor-brand-subtle:focus){--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity))}:is(.dark .focus\:dark\:border-dark-tremor-brand-subtle):focus{--tw-border-opacity:1;border-color:rgb(55 48 163/var(--tw-border-opacity))}:is(.dark .dark\:focus\:ring-dark-tremor-brand-muted:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity))}:is(.dark .focus\:dark\:ring-dark-tremor-brand-muted):focus{--tw-ring-opacity:1;--tw-ring-color:rgb(30 27 75/var(--tw-ring-opacity))}:is(.dark .group:hover .dark\:group-hover\:text-dark-tremor-content-emphasis){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .aria-selected\:dark\:\!bg-dark-tremor-background-subtle)[aria-selected=true]{--tw-bg-opacity:1!important;background-color:rgb(31 41 55/var(--tw-bg-opacity))!important}:is(.dark .dark\:aria-selected\:bg-dark-tremor-background-emphasis[aria-selected=true]){--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}:is(.dark .dark\:aria-selected\:text-dark-tremor-brand-inverted[aria-selected=true]){--tw-text-opacity:1;color:rgb(30 27 75/var(--tw-text-opacity))}:is(.dark .dark\:aria-selected\:text-dark-tremor-content-inverted[aria-selected=true]){--tw-text-opacity:1;color:rgb(3 7 18/var(--tw-text-opacity))}:is(.dark .dark\:ui-selected\:border-dark-tremor-border[data-headlessui-state~=selected]){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark .dark\:ui-selected\:border-dark-tremor-brand[data-headlessui-state~=selected]){--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}:is(.dark .dark\:ui-selected\:bg-dark-tremor-background[data-headlessui-state~=selected]){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark .dark\:ui-selected\:bg-dark-tremor-background-muted[data-headlessui-state~=selected]){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity))}:is(.dark .dark\:ui-selected\:text-dark-tremor-brand[data-headlessui-state~=selected]){--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}:is(.dark .dark\:ui-selected\:text-dark-tremor-content-emphasis[data-headlessui-state~=selected]){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark .dark\:ui-selected\:text-dark-tremor-content-strong[data-headlessui-state~=selected]){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark .dark\:ui-selected\:shadow-dark-tremor-input[data-headlessui-state~=selected]){--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark :where([data-headlessui-state~=selected]) .dark\:ui-selected\:border-dark-tremor-border){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}:is(.dark :where([data-headlessui-state~=selected]) .dark\:ui-selected\:border-dark-tremor-brand){--tw-border-opacity:1;border-color:rgb(99 102 241/var(--tw-border-opacity))}:is(.dark :where([data-headlessui-state~=selected]) .dark\:ui-selected\:bg-dark-tremor-background){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}:is(.dark :where([data-headlessui-state~=selected]) .dark\:ui-selected\:bg-dark-tremor-background-muted){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity))}:is(.dark :where([data-headlessui-state~=selected]) .dark\:ui-selected\:text-dark-tremor-brand){--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}:is(.dark :where([data-headlessui-state~=selected]) .dark\:ui-selected\:text-dark-tremor-content-emphasis){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}:is(.dark :where([data-headlessui-state~=selected]) .dark\:ui-selected\:text-dark-tremor-content-strong){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark :where([data-headlessui-state~=selected]) .dark\:ui-selected\:shadow-dark-tremor-input){--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}:is(.dark .dark\:ui-active\:bg-dark-tremor-background-muted[data-headlessui-state~=active]){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity))}:is(.dark .dark\:ui-active\:text-dark-tremor-content-strong[data-headlessui-state~=active]){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}:is(.dark :where([data-headlessui-state~=active]) .dark\:ui-active\:bg-dark-tremor-background-muted){--tw-bg-opacity:1;background-color:rgb(19 26 43/var(--tw-bg-opacity))}:is(.dark :where([data-headlessui-state~=active]) .dark\:ui-active\:text-dark-tremor-content-strong){--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}@media (min-width:640px){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-10{grid-column:span 10/span 10}.sm\:col-span-11{grid-column:span 11/span 11}.sm\:col-span-12{grid-column:span 12/span 12}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-7{grid-column:span 7/span 7}.sm\:col-span-8{grid-column:span 8/span 8}.sm\:col-span-9{grid-column:span 9/span 9}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:ml-4{margin-left:1rem}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-screen{height:100vh}.sm\:w-full{width:100%}.sm\:max-w-2xl{max-width:42rem}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.sm\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.sm\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.sm\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.sm\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.sm\:grid-cols-none{grid-template-columns:none}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:p-0{padding:0}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-10{grid-column:span 10/span 10}.md\:col-span-11{grid-column:span 11/span 11}.md\:col-span-12{grid-column:span 12/span 12}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-7{grid-column:span 7/span 7}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-span-9{grid-column:span 9/span 9}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.md\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.md\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.md\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.md\:grid-cols-none{grid-template-columns:none}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-11{grid-column:span 11/span 11}.lg\:col-span-12{grid-column:span 12/span 12}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-span-9{grid-column:span 9/span 9}.lg\:max-w-\[200px\]{max-width:200px}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.lg\:grid-cols-11{grid-template-columns:repeat(11,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:grid-cols-none{grid-template-columns:none}}.\[\&\:\:-webkit-inner-spin-button\]\:appearance-none::-webkit-inner-spin-button,.\[\&\:\:-webkit-outer-spin-button\]\:appearance-none::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none} \ No newline at end of file diff --git a/ui/litellm-dashboard/out/_next/static/media/26a46d62cd723877-s.woff2 b/ui/litellm-dashboard/out/_next/static/media/26a46d62cd723877-s.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3a27e632eb14fffc6fce03483049986ba13f6802 GIT binary patch literal 18820 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
RpV_Wf$Ybx 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
bye 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

r#I0D%mIRPP2^9oTU zq-5k2Xi7};%c*5 zNLU1o5fw}S2rE(e&r;GdvT{ZIsnD{bRX|mwjgRvx<50%oba8ca_we*e-0SV*>qkmP zP64K*qNbsx%V>&$ktvfo7S{gZ!_L9U1>w$Yl?TQP=i?U;6ha7#AVvF{2gD^LrKDwK zQD_Vnho@&?WMXDvC9oy1b8vET^YCWtM}EOCASfg(A}aO|yYkbeq-CDzD&%fG-V#o zprXdo(9+Q}FfuW-u(Gk|^$HF-oc%j7$j!qmmybW6H_H)8#;)#4U>df+O4(SaYU(z6rp=C>K zbiLzCFb}P(xU2gqjLH7Z9-C`)<#EgkN3hnnT_!b?wI`F0%Jx#RTSH^28Q4|$7?T$u z)pq9pC2j4${{NdQ&j*C`KMzaVDG8~gu39Smum7`cMoTc%3L&p!EU@ij@~Pudh@^`v zFJcrFkEx=0SM*opXrQ2?*gE4;^phDX1jgZfT4V7a2g~GMLHOPZWftPuemct@87!Oo zZy=`W2jsy!j!we*}}@O@*TumQ^O6XAArUvaaPDzb=WtE`F+UNzhOWTj9&!!{D~ia81nf=Yqce_p;m29mdy#)E zbxDDc8L>Tuz%ay}l1J)kJ6-qUSc$Kh0>P*h3uWkfUGkZwzGX@l_6%znhF~+$w4$i) z`i=_b>5Ayb!QT!;4FYI@MqccIPg+#eJ5VF>lMn?B%D!PTuSex1rn)zBW!z`k(T@Oe9emS`SFv!WeQ?#SH7twiu+9TkEG^GqHg1t={$)0*j;pE%A>0w3YzL(E1h|gERDSN^YLl!`QJ6( zB9f$05=$UCbI8OyL|(V+vFRNZRezJ(Df0n~6D*$3h}-KU(Gy)Vl4K&~Zu>#b$*>Z^ z*Y(>JeO$|j)$1uAfe~MsU_=JEc<%`S)L){KD7|A>Rr47WcBsnVs6KvygLf_j0rig_MI0>Moj-X7%;}=TjhSpt6#l zU`(k=hoYcC*)Q>{LG;{hQy5(UDtJE#M90L0qhrDWm~a3H2b^%h?19Aze;|;BNFliF z0<65ZDE8u<<%=oml4rE^P5&@0Eo0>kSxk!PdeK!@vLccxEm;5%6dg15VC`_zlG+}3 z+6h4J$xc!xx1j(K3L2C`s+~JaxC)Wqiq3JDh~rVtRZ7l@*k`neseG(KsV%t%)TXZb z==VdSqDFz+rf&Q)(VggmQ6Vr46f_VD8WbHn9B{%Vokfo!@*Z>5uYQcuroNnP_oEr* z2foB1vOdJC(Co+=%aG;o_kM;k4TwHRMN=5tV1-S#iy=2Z3UjwjB1aqh01ZXHL@Bk4 zVxLJP0O)^8>`8e80yR2chjyOI%-^k?#NtHja8OH&rcli&U~zW7JNxgYf4Vi@wm;Mu z`}W8IBEb)BCM==1>^Q31n&)na34JWd0NtqEJ0PLW7aCM4Hj;o0tn>yxaqz2eGwV!h zUBS>03yxxU#z8~42wlwV&>p-%Z`*KW)NT9!YeF!TExNtUHDR_vPd`3R6-pHLY)|lY;4ynM!09al0qbLxu8Po=Q02@-d z=s?~<81JgJH}8)Y8hpTyf3Xo#CH+V>;{(gT&F_5gMr2oLIgM;XluhB7QDMknWgUAS zp*VA<_?4mKIp<`4rfE64L~u4nhiM@dRvX7WaOGYIpVS9n7p1T^-QjdSYA8^Vq##K(e!4CJhEt^T5h+cFV1gX2;%!1*x9RI$RCAC74 z!(zX24hEjj0f^QUZAcV?2E;&Z+0&I*APMH^u@NOnp$)296H_{TOp#PC>u zX}t9?HS%tH+_d4xUConi5|UUOpy%%zsJ*!W)!xhJ`!*gq^=(by+C}i(eTE*huk2qh7Bv{pqsxW2u^-0FpNZW2olg8`l8o00Ie{-{r~^~ literal 0 HcmV?d00001 diff --git a/ui/litellm-dashboard/out/_next/static/media/97e0cb1ae144a2a9-s.woff2 b/ui/litellm-dashboard/out/_next/static/media/97e0cb1ae144a2a9-s.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7fdf0b945543e93603888d7d777f684b15dec9d8 GIT binary patch literal 11220 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 literal 0 HcmV?d00001 diff --git a/ui/litellm-dashboard/out/index.html b/ui/litellm-dashboard/out/index.html index 0a31970dc..77276f04b 100644 --- a/ui/litellm-dashboard/out/index.html +++ b/ui/litellm-dashboard/out/index.html @@ -1 +1 @@ -LiteLLM Dashboard \ No newline at end of file +LiteLLM Dashboard \ No newline at end of file diff --git a/ui/litellm-dashboard/out/index.txt b/ui/litellm-dashboard/out/index.txt index b8edf3eae..7b63d181f 100644 --- a/ui/litellm-dashboard/out/index.txt +++ b/ui/litellm-dashboard/out/index.txt @@ -1,7 +1,7 @@ 2:I[77831,[],""] -3:I[13564,["665","static/chunks/3014691f-b24e8254c7593934.js","936","static/chunks/2f6dbc85-cac2949a76539886.js","505","static/chunks/505-5ff3c318fddfa35c.js","131","static/chunks/131-cb6bfe24e23e121b.js","684","static/chunks/684-16b194c83a169f6d.js","173","static/chunks/173-29fc1521be7dbc62.js","777","static/chunks/777-b62561353f85d8db.js","931","static/chunks/app/page-622ba7e9bad88d9e.js"],""] +3:I[13564,["665","static/chunks/3014691f-b24e8254c7593934.js","936","static/chunks/2f6dbc85-cac2949a76539886.js","505","static/chunks/505-5ff3c318fddfa35c.js","131","static/chunks/131-cb6bfe24e23e121b.js","684","static/chunks/684-16b194c83a169f6d.js","173","static/chunks/173-29fc1521be7dbc62.js","777","static/chunks/777-670843c0aa891bf7.js","931","static/chunks/app/page-c50fa12b799820f9.js"],""] 4:I[5613,[],""] 5:I[31778,[],""] -0:["ulhTxWPrXBmkhG4errSx0",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_12bbc4","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/051d7321f11572d4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] +0:["RjSErA_ooGQ_4unSpZcKT",[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],["",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_86ef86","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/cd10067a0a3408b4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] 6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"LiteLLM Dashboard"}],["$","meta","3",{"name":"description","content":"LiteLLM Proxy Admin UI"}],["$","link","4",{"rel":"icon","href":"/ui/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","meta","5",{"name":"next-size-adjust"}]] 1:null diff --git a/ui/litellm-dashboard/out/model_hub.html b/ui/litellm-dashboard/out/model_hub.html index bee824104..d722f48f8 100644 --- a/ui/litellm-dashboard/out/model_hub.html +++ b/ui/litellm-dashboard/out/model_hub.html @@ -1 +1 @@ -LiteLLM Dashboard \ No newline at end of file +LiteLLM Dashboard \ No newline at end of file diff --git a/ui/litellm-dashboard/out/model_hub.txt b/ui/litellm-dashboard/out/model_hub.txt index cc2bcbea1..0a258f1e5 100644 --- a/ui/litellm-dashboard/out/model_hub.txt +++ b/ui/litellm-dashboard/out/model_hub.txt @@ -1,7 +1,7 @@ 2:I[77831,[],""] -3:I[87494,["505","static/chunks/505-5ff3c318fddfa35c.js","131","static/chunks/131-cb6bfe24e23e121b.js","777","static/chunks/777-b62561353f85d8db.js","418","static/chunks/app/model_hub/page-2079156c00b63953.js"],""] +3:I[87494,["505","static/chunks/505-5ff3c318fddfa35c.js","131","static/chunks/131-cb6bfe24e23e121b.js","777","static/chunks/777-670843c0aa891bf7.js","418","static/chunks/app/model_hub/page-7c3b2aa6eeec689c.js"],""] 4:I[5613,[],""] 5:I[31778,[],""] -0:["ulhTxWPrXBmkhG4errSx0",[[["",{"children":["model_hub",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["model_hub",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","model_hub","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_12bbc4","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/051d7321f11572d4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] +0:["RjSErA_ooGQ_4unSpZcKT",[[["",{"children":["model_hub",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["model_hub",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","model_hub","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_86ef86","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/cd10067a0a3408b4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] 6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"LiteLLM Dashboard"}],["$","meta","3",{"name":"description","content":"LiteLLM Proxy Admin UI"}],["$","link","4",{"rel":"icon","href":"/ui/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","meta","5",{"name":"next-size-adjust"}]] 1:null diff --git a/ui/litellm-dashboard/out/onboarding.html b/ui/litellm-dashboard/out/onboarding.html index 47dc943d1..2c50c5121 100644 --- a/ui/litellm-dashboard/out/onboarding.html +++ b/ui/litellm-dashboard/out/onboarding.html @@ -1 +1 @@ -LiteLLM Dashboard \ No newline at end of file +LiteLLM Dashboard \ No newline at end of file diff --git a/ui/litellm-dashboard/out/onboarding.txt b/ui/litellm-dashboard/out/onboarding.txt index db07128c4..d835d3979 100644 --- a/ui/litellm-dashboard/out/onboarding.txt +++ b/ui/litellm-dashboard/out/onboarding.txt @@ -1,7 +1,7 @@ 2:I[77831,[],""] -3:I[667,["665","static/chunks/3014691f-b24e8254c7593934.js","505","static/chunks/505-5ff3c318fddfa35c.js","684","static/chunks/684-16b194c83a169f6d.js","777","static/chunks/777-b62561353f85d8db.js","461","static/chunks/app/onboarding/page-7fa20f666e619ede.js"],""] +3:I[667,["665","static/chunks/3014691f-b24e8254c7593934.js","505","static/chunks/505-5ff3c318fddfa35c.js","684","static/chunks/684-16b194c83a169f6d.js","777","static/chunks/777-670843c0aa891bf7.js","461","static/chunks/app/onboarding/page-ec449de68ed2157b.js"],""] 4:I[5613,[],""] 5:I[31778,[],""] -0:["ulhTxWPrXBmkhG4errSx0",[[["",{"children":["onboarding",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["onboarding",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","onboarding","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_12bbc4","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/051d7321f11572d4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] +0:["RjSErA_ooGQ_4unSpZcKT",[[["",{"children":["onboarding",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["onboarding",{"children":["__PAGE__",{},["$L1",["$","$L2",null,{"propsForComponent":{"params":{}},"Component":"$3","isStaticGeneration":true}],null]]},["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","onboarding","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}]]},[null,["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_86ef86","children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[],"styles":null}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/ui/_next/static/css/cd10067a0a3408b4.css","precedence":"next","crossOrigin":""}]],"$L6"]]]] 6:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"LiteLLM Dashboard"}],["$","meta","3",{"name":"description","content":"LiteLLM Proxy Admin UI"}],["$","link","4",{"rel":"icon","href":"/ui/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","meta","5",{"name":"next-size-adjust"}]] 1:null diff --git a/ui/litellm-dashboard/src/app/page.tsx b/ui/litellm-dashboard/src/app/page.tsx index 3b713b27e..807507a5b 100644 --- a/ui/litellm-dashboard/src/app/page.tsx +++ b/ui/litellm-dashboard/src/app/page.tsx @@ -149,8 +149,6 @@ const CreateKeyPage = () => { setUserEmail={setUserEmail} setTeams={setTeams} setKeys={setKeys} - setProxySettings={setProxySettings} - proxySettings={proxySettings} /> ) : (

@@ -183,8 +181,6 @@ const CreateKeyPage = () => { setUserEmail={setUserEmail} setTeams={setTeams} setKeys={setKeys} - setProxySettings={setProxySettings} - proxySettings={proxySettings} /> ) : page == "models" ? (