diff --git a/README.md b/README.md index 9c68ede..e4c073a 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,8 @@ A checkout is reviewed here, by the same reviewer a pull request goes through. I `/mcp` is proxied through to the core, so a coding agent on this machine reaches the same index and can ask for the same review. +The Graphs page also shows directory components and the source evidence for their dependencies. Export a JSON snapshot, or keep a baseline for comparison during the session. These readings use the current index and make no model calls. Incomplete snapshots cannot establish additions or removals. The same operations are available through `/api/architecture` and `/api/architecture/compare` for the CLI. + Loopback is the default because the agent reads a working tree. The machine it runs on is the only audience it has. ## Running it diff --git a/internal/api/architecture.go b/internal/api/architecture.go new file mode 100644 index 0000000..5bdb1c1 --- /dev/null +++ b/internal/api/architecture.go @@ -0,0 +1,64 @@ +package api + +import ( + "context" + "encoding/json" + "net/http" + "strconv" +) + +type architectureReader interface { + Architecture(context.Context, string, int, bool) (json.RawMessage, error) + CompareArchitecture(context.Context, json.RawMessage) (json.RawMessage, error) +} + +func (s *Server) architecture(w http.ResponseWriter, r *http.Request) { + reader, ok := s.reader.(architectureReader) + if !ok { + write(w, http.StatusNotImplemented, problem{Error: "This core does not support architecture readings"}) + return + } + repository := r.URL.Query().Get("repository") + depth := 1 + var err error + if given := r.URL.Query().Get("depth"); given != "" { + depth, err = strconv.Atoi(given) + } + if repository == "" || err != nil || depth < 1 || depth > 4 { + write(w, http.StatusBadRequest, problem{Error: "Name a repository and a depth between 1 and 4"}) + return + } + includeTests := false + if given := r.URL.Query().Get("include_tests"); given != "" { + includeTests, err = strconv.ParseBool(given) + if err != nil { + write(w, http.StatusBadRequest, problem{Error: "include_tests must be true or false"}) + return + } + } + result, err := reader.Architecture(r.Context(), repository, depth, includeTests) + if err != nil { + fail(w, err) + return + } + write(w, http.StatusOK, result) +} + +func (s *Server) compareArchitecture(w http.ResponseWriter, r *http.Request) { + reader, ok := s.reader.(architectureReader) + if !ok { + write(w, http.StatusNotImplemented, problem{Error: "This core does not support architecture comparisons"}) + return + } + r.Body = http.MaxBytesReader(w, r.Body, 8<<20) + var baseline json.RawMessage + if !readBody(w, r, &baseline) { + return + } + result, err := reader.CompareArchitecture(r.Context(), baseline) + if err != nil { + fail(w, err) + return + } + write(w, http.StatusOK, result) +} diff --git a/internal/api/architecture_test.go b/internal/api/architecture_test.go new file mode 100644 index 0000000..6975602 --- /dev/null +++ b/internal/api/architecture_test.go @@ -0,0 +1,92 @@ +package api + +import ( + "bytes" + "encoding/json" + "io" + "net/http" + "net/http/httptest" + "os" + "testing" + "time" + + "github.com/sourceant/agent/internal/core" +) + +func TestArchitectureThroughAgent(t *testing.T) { + snapshot, err := os.ReadFile("../core/testdata/architecture.json") + if err != nil { + t.Fatal(err) + } + comparison, err := os.ReadFile("../core/testdata/architecture-comparison.json") + if err != nil { + t.Fatal(err) + } + calls := 0 + upstream := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + calls++ + result := snapshot + switch r.URL.Path { + case "/api/code/architecture": + if r.URL.Query().Get("repository") != "acme/billing" || r.URL.Query().Get("depth") != "2" { + t.Errorf("wrong query: %s", r.URL.RawQuery) + } + case "/api/code/architecture/compare": + if r.Method != http.MethodPost { + t.Errorf("wrong method: %s", r.Method) + } + body, _ := io.ReadAll(r.Body) + var actual, expected any + _ = json.Unmarshal(body, &actual) + _ = json.Unmarshal(snapshot, &expected) + a, _ := json.Marshal(actual) + b, _ := json.Marshal(expected) + if !bytes.Equal(a, b) { + t.Error("the baseline changed in transit") + } + result = comparison + default: + t.Errorf("unexpected upstream route: %s", r.URL.Path) + } + _ = json.NewEncoder(w).Encode(map[string]any{"status": "success", "data": json.RawMessage(result)}) + })) + defer upstream.Close() + handler := New(core.New(upstream.URL, time.Second), nil, "test", upstream.URL).Handler() + for _, query := range []string{"", "?repository=acme/billing&depth=0", "?repository=acme/billing&include_tests=wrong"} { + response := httptest.NewRecorder() + handler.ServeHTTP(response, httptest.NewRequest(http.MethodGet, "/api/architecture"+query, nil)) + if response.Code != http.StatusBadRequest { + t.Fatalf("invalid request returned %d", response.Code) + } + } + if calls != 0 { + t.Fatal("invalid requests reached the core") + } + response := httptest.NewRecorder() + handler.ServeHTTP(response, httptest.NewRequest(http.MethodGet, "/api/architecture?repository=acme/billing&depth=2", nil)) + if response.Code != http.StatusOK || !bytes.Contains(response.Body.Bytes(), []byte("payments")) { + t.Fatalf("reading: %d %s", response.Code, response.Body.String()) + } + response = httptest.NewRecorder() + handler.ServeHTTP(response, httptest.NewRequest(http.MethodPost, "/api/architecture/compare", bytes.NewReader(snapshot))) + if response.Code != http.StatusOK { + t.Fatalf("comparison: %d %s", response.Code, response.Body.String()) + } + if calls != 2 { + t.Fatalf("got %d upstream requests, want 2", calls) + } +} + +func TestArchitecturePreservesCoreDenial(t *testing.T) { + upstream := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + w.WriteHeader(http.StatusForbidden) + _, _ = w.Write([]byte(`{"detail":"local access only"}`)) + })) + defer upstream.Close() + handler := New(core.New(upstream.URL, time.Second), nil, "test", upstream.URL).Handler() + response := httptest.NewRecorder() + handler.ServeHTTP(response, httptest.NewRequest(http.MethodGet, "/api/architecture?repository=acme/billing", nil)) + if response.Code != http.StatusForbidden { + t.Fatalf("got %d", response.Code) + } +} diff --git a/internal/api/server.go b/internal/api/server.go index 32e74d0..786d413 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -117,6 +117,8 @@ func (s *Server) Handler() http.Handler { mux.HandleFunc("DELETE /api/repositories", s.dropRepository) mux.HandleFunc("POST /api/index", s.index) mux.HandleFunc("GET /api/graph", s.graph) + mux.HandleFunc("GET /api/architecture", s.architecture) + mux.HandleFunc("POST /api/architecture/compare", s.compareArchitecture) mux.HandleFunc("GET /api/attention", s.attention) mux.HandleFunc("GET /api/knowledge", s.knowledge) mux.HandleFunc("PUT /api/knowledge", s.recordKnowledge) @@ -183,10 +185,20 @@ func (s *Server) graph(w http.ResponseWriter, r *http.Request) { if err != nil { limit = 0 } + depth := 2 + if value := r.URL.Query().Get("depth"); value != "" { + depth, err = strconv.Atoi(value) + if err != nil || depth < 1 || depth > 5 { + write(w, http.StatusBadRequest, problem{Error: "depth must be between 1 and 5"}) + return + } + } graph, err := s.reader.Graph(r.Context(), repository, core.GraphOptions{ PathPrefix: r.URL.Query().Get("path_prefix"), IncludeTests: r.URL.Query().Get("include_tests") == "true", NodeLimit: limit, + Focus: r.URL.Query().Get("focus"), + Depth: depth, Query: r.URL.Query().Get("q"), }) if err != nil { diff --git a/internal/api/server_test.go b/internal/api/server_test.go index 05171e9..44b38e9 100644 --- a/internal/api/server_test.go +++ b/internal/api/server_test.go @@ -236,7 +236,7 @@ func TestGraphPassesOnWhatNarrowsADrawing(t *testing.T) { reader := &stubReader{} server := New(reader, stubSupervisor{}, "dev", "") - call(t, server, "/api/graph?repository=acme/billing&path_prefix=app/&include_tests=true&node_limit=200&q=charge") + call(t, server, "/api/graph?repository=acme/billing&path_prefix=app/&include_tests=true&node_limit=200&focus=file%3Aapp%2Fcharge.py&depth=3&q=charge") if reader.askedFor != "acme/billing" { t.Errorf("asked for %q, want acme/billing", reader.askedFor) @@ -245,6 +245,8 @@ func TestGraphPassesOnWhatNarrowsADrawing(t *testing.T) { PathPrefix: "app/", IncludeTests: true, NodeLimit: 200, + Focus: "file:app/charge.py", + Depth: 3, Query: "charge", } if reader.askedOptions != want { diff --git a/internal/core/architecture.go b/internal/core/architecture.go new file mode 100644 index 0000000..df84535 --- /dev/null +++ b/internal/core/architecture.go @@ -0,0 +1,19 @@ +package core + +import ( + "context" + "encoding/json" + "net/http" + "net/url" + "strconv" +) + +func (c *Client) Architecture(ctx context.Context, repository string, depth int, includeTests bool) (json.RawMessage, error) { + return get[json.RawMessage](ctx, c, "/api/code/architecture", url.Values{ + "repository": {repository}, "depth": {strconv.Itoa(depth)}, "include_tests": {strconv.FormatBool(includeTests)}, + }) +} + +func (c *Client) CompareArchitecture(ctx context.Context, baseline json.RawMessage) (json.RawMessage, error) { + return send[json.RawMessage](ctx, c, http.MethodPost, "/api/code/architecture/compare", nil, baseline) +} diff --git a/internal/core/client.go b/internal/core/client.go index 180f2aa..5ac2c36 100644 --- a/internal/core/client.go +++ b/internal/core/client.go @@ -169,6 +169,8 @@ type GraphOptions struct { PathPrefix string IncludeTests bool NodeLimit int + Focus string + Depth int // Query narrows to nodes whose name, id or path holds this, which the core // does: a graph is thousands of nodes and a screen that filters what it was // sent has already been sent all of them. @@ -178,6 +180,15 @@ type GraphOptions struct { // Graph reads one repository's whole scope. func (c *Client) Graph(ctx context.Context, repository string, opts GraphOptions) (Graph, error) { query := url.Values{"repository": {repository}} + if opts.Focus != "" { + query.Set("focus", opts.Focus) + } + if opts.Depth > 0 { + query.Set("depth", strconv.Itoa(opts.Depth)) + } + if opts.Query != "" { + query.Set("q", opts.Query) + } if opts.PathPrefix != "" { query.Set("path_prefix", opts.PathPrefix) } diff --git a/internal/core/client_test.go b/internal/core/client_test.go index d5204d4..a5b1aa3 100644 --- a/internal/core/client_test.go +++ b/internal/core/client_test.go @@ -153,6 +153,9 @@ func TestGraphPassesOnWhatNarrowsADrawing(t *testing.T) { PathPrefix: "src/config/", IncludeTests: true, NodeLimit: 120, + Focus: "file:app/charge.py", + Depth: 3, + Query: "charge", }) if err != nil { t.Fatalf("reading graph: %v", err) @@ -163,6 +166,9 @@ func TestGraphPassesOnWhatNarrowsADrawing(t *testing.T) { "path_prefix=src%2Fconfig%2F", "include_tests=true", "node_limit=120", + "focus=file%3Aapp%2Fcharge.py", + "depth=3", + "q=charge", } { if !strings.Contains(asked, want) { t.Errorf("query %q is missing %q", asked, want) diff --git a/internal/core/testdata/architecture-comparison.json b/internal/core/testdata/architecture-comparison.json new file mode 100644 index 0000000..022c825 --- /dev/null +++ b/internal/core/testdata/architecture-comparison.json @@ -0,0 +1,7 @@ +{ + "repository": "acme/billing", + "before": "e3df98abd8989fdf8054f071ed13e5e151e596ddd25cdf4138bc59b5824d6a98", + "after": "e3df98abd8989fdf8054f071ed13e5e151e596ddd25cdf4138bc59b5824d6a98", + "components": [], + "relationships": [] +} diff --git a/internal/core/testdata/architecture.json b/internal/core/testdata/architecture.json new file mode 100644 index 0000000..0b6afb2 --- /dev/null +++ b/internal/core/testdata/architecture.json @@ -0,0 +1,66 @@ +{ + "schema_version": 1, + "repository": "acme/billing", + "grouping": { + "kind": "directory", + "depth": 1, + "include_tests": false + }, + "components": [ + { + "id": "part:9aec5ea70b9fc283cd2bc80f", + "name": "identity", + "path": "identity", + "files": 1, + "nodes": 2, + "sample_files": [ + "identity/user.py" + ], + "incoming": 1, + "outgoing": 0, + "fingerprint": "cc4018e22750c491eb0a6804b9b6ed5119b7ce90165a6d2656911f2057c48d11" + }, + { + "id": "part:0b121dabb6f66a3d527c7f07", + "name": "payments", + "path": "payments", + "files": 1, + "nodes": 2, + "sample_files": [ + "payments/charge.py" + ], + "incoming": 0, + "outgoing": 1, + "fingerprint": "e54ea556564b8e0f9b62d70c70dcd1e56a2d74dc57e15a8127be1dec1040b5b4" + } + ], + "relationships": [ + { + "source": "part:0b121dabb6f66a3d527c7f07", + "target": "part:9aec5ea70b9fc283cd2bc80f", + "type": "imports", + "count": 1, + "evidence": [ + { + "origin": "inferred", + "source": { + "path": "payments/charge.py", + "symbol": "file:payments/charge.py" + }, + "target": { + "path": "identity/user.py", + "symbol": "file:identity/user.py" + } + } + ] + } + ], + "coverage": { + "nodes": 4, + "files": 2, + "unplaced_nodes": 0, + "unresolved_edges": 0, + "truncated": false + }, + "fingerprint": "e3df98abd8989fdf8054f071ed13e5e151e596ddd25cdf4138bc59b5824d6a98" +} diff --git a/internal/ui/assets/assets/Architecture-B0TQHlBO.js b/internal/ui/assets/assets/Architecture-B0TQHlBO.js new file mode 100644 index 0000000..73b0a66 --- /dev/null +++ b/internal/ui/assets/assets/Architecture-B0TQHlBO.js @@ -0,0 +1,2 @@ +import{w as M,o as n,c as l,a as s,b as u,d as C,e as i,F as d,r as _,t as o,u as c,_ as T,f as k,g as R,h as f,i as O,n as q,j as p,k as E,l as V}from"./index-DMIx-wI-.js";const z={class:"space-y-4","aria-label":"Code components"},G={class:"flex flex-wrap items-center gap-2"},H={class:"flex items-center gap-2 text-sm"},K=["value"],P={key:1,role:"status",class:"text-sm text-muted-foreground"},Q={key:1,class:"rounded-lg border bg-card p-5"},W={class:"text-sm text-muted-foreground"},X={class:"grid gap-4 lg:grid-cols-2"},Y={class:"max-h-[32rem] overflow-auto rounded-lg border bg-card"},Z={class:"w-full text-left text-sm"},ee={class:"px-3 py-2"},te=["aria-pressed","onClick"],se={class:"px-3 py-2 tabular-nums"},oe={class:"px-3 py-2 tabular-nums"},ne={class:"max-h-[32rem] space-y-3 overflow-auto rounded-lg border bg-card p-4"},ae={class:"font-medium"},le={key:0,class:"text-sm text-muted-foreground"},re={class:"text-xs text-muted-foreground"},ue={class:"mt-2 space-y-1"},ie={key:3,class:"rounded-lg border bg-card p-4","aria-live":"polite"},de={class:"mt-1 text-sm text-muted-foreground"},ce={class:"mt-2 space-y-1 text-sm"},pe={class:"mt-2 space-y-1 text-sm"},ve={__name:"Architecture",props:{repository:{type:String,required:!0}},setup(D){const L=D,w=p(1),a=p(null),g=p(!1),h=p(""),m=p(""),$=p(null),v=p(null),x=p(!1),N=p(100);let y=0;const j=V(()=>{var r;return Object.fromEntries((((r=a.value)==null?void 0:r.components)??[]).map(e=>[e.id,e.name]))}),F=V(()=>{var r;return(((r=a.value)==null?void 0:r.components)??[]).slice(0,N.value)}),S=V(()=>{var r;return(((r=a.value)==null?void 0:r.relationships)??[]).filter(e=>e.source===m.value||e.target===m.value)}),U=V(()=>a.value&&(a.value.coverage.truncated||a.value.coverage.unplaced_nodes||a.value.coverage.unresolved_edges));async function B(){var e;const r=++y;g.value=!0,h.value="",v.value=null;try{const t=await E.architecture(L.repository,w.value);if(r!==y)return;a.value=t,t.components.some(b=>b.id===m.value)||(m.value=((e=t.components[0])==null?void 0:e.id)??"")}catch(t){r===y&&(a.value=null,h.value=t.message)}finally{r===y&&(g.value=!1)}}async function A(){const r=y;x.value=!0,h.value="";try{const e=await E.compareArchitecture($.value);r===y&&(v.value=e)}catch(e){r===y&&(h.value=e.message)}finally{x.value=!1}}function I(){const r=new Blob([JSON.stringify(a.value,null,2)+` +`],{type:"application/json"}),e=URL.createObjectURL(r),t=document.createElement("a");t.href=e,t.download="architecture.json",t.click(),URL.revokeObjectURL(e)}return M(()=>[L.repository,w.value],()=>{$.value=null,N.value=100,a.value=null,B()},{immediate:!0}),(r,e)=>(n(),l("section",z,[s("div",G,[s("label",H,[e[3]||(e[3]=u(" Directory depth ",-1)),C(c(T),{modelValue:w.value,"onUpdate:modelValue":e[0]||(e[0]=t=>w.value=t),modelModifiers:{number:!0},"aria-label":"Directory depth"},{default:i(()=>[(n(),l(d,null,_(4,t=>s("option",{key:t,value:t},o(t),9,K)),64))]),_:1},8,["modelValue"])]),C(c(k),{variant:"ghost",disabled:g.value||x.value,onClick:B},{default:i(()=>[...e[4]||(e[4]=[u("Read current index",-1)])]),_:1},8,["disabled"]),a.value?(n(),l(d,{key:0},[C(c(k),{variant:"ghost",disabled:g.value,onClick:I},{default:i(()=>[...e[5]||(e[5]=[u("Export JSON",-1)])]),_:1},8,["disabled"]),C(c(k),{variant:"ghost",disabled:g.value||U.value||x.value,onClick:e[1]||(e[1]=t=>{$.value=a.value,v.value=null})},{default:i(()=>[...e[6]||(e[6]=[u("Use as baseline",-1)])]),_:1},8,["disabled"]),$.value?(n(),R(c(k),{key:0,disabled:g.value||x.value,onClick:A},{default:i(()=>[u(o(x.value?"Comparing…":"Compare with baseline"),1)]),_:1},8,["disabled"])):f("",!0)],64)):f("",!0)]),e[15]||(e[15]=s("p",{class:"text-sm text-muted-foreground"},"Components are grouped by directory in the current index. Connections come from code relationships, not a model.",-1)),h.value?(n(),R(c(O),{key:0,tone:"danger"},{default:i(()=>[u(o(h.value),1)]),_:1})):f("",!0),g.value?(n(),l("p",P,"Reading indexed components…")):a.value?(n(),l(d,{key:2},[U.value?(n(),R(c(O),{key:0,tone:"warning"},{default:i(()=>[...e[7]||(e[7]=[u("This reading is incomplete. Missing connections do not prove independence, and this snapshot cannot be used for comparison.",-1)])]),_:1})):f("",!0),a.value.components.length?(n(),l(d,{key:2},[s("p",W,o(a.value.coverage.files)+" indexed files · "+o(a.value.components.length)+" components · "+o(a.value.relationships.length)+" dependencies",1),s("div",X,[s("div",Y,[s("table",Z,[e[11]||(e[11]=s("caption",{class:"sr-only"},"Components in the current index",-1)),e[12]||(e[12]=s("thead",null,[s("tr",{class:"border-b text-muted-foreground"},[s("th",{class:"px-3 py-2"},"Component"),s("th",{class:"px-3 py-2"},"Files"),s("th",{class:"px-3 py-2"},"In / out")])],-1)),s("tbody",null,[(n(!0),l(d,null,_(F.value,t=>(n(),l("tr",{key:t.id,class:q(["border-b last:border-0",m.value===t.id?"bg-primary/10":""])},[s("td",ee,[s("button",{type:"button",class:"text-left font-mono underline decoration-transparent hover:decoration-current","aria-pressed":m.value===t.id,onClick:b=>m.value=t.id},o(t.name),9,te)]),s("td",se,o(t.files),1),s("td",oe,o(t.incoming)+" / "+o(t.outgoing),1)],2))),128))])]),N.valueN.value+=100)},{default:i(()=>[...e[13]||(e[13]=[u("Show 100 more components",-1)])]),_:1})):f("",!0)]),s("div",ne,[s("h3",ae,"Connections for "+o(j.value[m.value]),1),S.value.length?f("",!0):(n(),l("p",le,"No connections to other components were found in this index reading.")),(n(!0),l(d,null,_(S.value,t=>(n(),l("div",{key:`${t.source}:${t.target}:${t.type}`,class:"border-t pt-3 text-sm"},[s("p",null,o(j.value[t.source])+" → "+o(j.value[t.target]),1),s("p",re,o(t.type)+" · "+o(t.count)+" references",1),s("ul",ue,[(n(!0),l(d,null,_(t.evidence,(b,J)=>(n(),l("li",{key:J,class:"break-all font-mono text-xs text-muted-foreground"},o(b.source.path)+" → "+o(b.target.path)+" ("+o(b.origin)+")",1))),128))])]))),128))])])],64)):(n(),l("div",Q,[e[9]||(e[9]=s("p",null,"No components have been indexed yet.",-1)),e[10]||(e[10]=s("p",{class:"mt-1 text-sm text-muted-foreground"},"Index this repository from Repositories, then read it again.",-1)),C(c(k),{as:"a",href:"/repositories",variant:"ghost",class:"mt-3"},{default:i(()=>[...e[8]||(e[8]=[u("Repositories",-1)])]),_:1})])),v.value?(n(),l("div",ie,[e[14]||(e[14]=s("h3",{class:"font-medium"},"Changes since the baseline",-1)),s("p",de,o(v.value.components.length)+" changed components · "+o(v.value.relationships.length)+" changed dependencies",1),s("ul",ce,[(n(!0),l(d,null,_(v.value.components,t=>(n(),l("li",{key:t.id},o(t.name)+": "+o(t.status),1))),128))]),s("ul",pe,[(n(!0),l(d,null,_(v.value.relationships,t=>(n(),l("li",{key:`${t.source}:${t.target}:${t.type}`},o(t.source_name)+" → "+o(t.target_name)+": "+o(t.type)+" "+o(t.status),1))),128))])])):f("",!0)],64)):f("",!0)]))}};export{ve as default}; diff --git a/internal/ui/assets/assets/index-D2AaWofz.js b/internal/ui/assets/assets/index-DMIx-wI-.js similarity index 72% rename from internal/ui/assets/assets/index-D2AaWofz.js rename to internal/ui/assets/assets/index-DMIx-wI-.js index 34f8774..da1536d 100644 --- a/internal/ui/assets/assets/index-D2AaWofz.js +++ b/internal/ui/assets/assets/index-DMIx-wI-.js @@ -1,110 +1,110 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/force-graph-HZtkkbK0.js","assets/radial-aO03NmL0.js","assets/Paired-DNTqsPj0.js","assets/index-DHVCIEzJ.js","assets/3d-force-graph-B8lgMx4q.js","assets/three.module-D-PgY1-x.js"])))=>i.map(i=>d[i]); -var U0=Object.defineProperty;var J0=(e,t,n)=>t in e?U0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var T1=(e,t,n)=>J0(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))l(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&l(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function l(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();/** +var z0=Object.defineProperty;var j0=(e,t,n)=>t in e?z0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var V1=(e,t,n)=>j0(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))l(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&l(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function l(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();/** * @vue/shared v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function O5(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const N1={},p3=[],ee=()=>{},hn=()=>!1,st=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ot=e=>e.startsWith("onUpdate:"),s2=Object.assign,G5=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},z0=Object.prototype.hasOwnProperty,L1=(e,t)=>z0.call(e,t),C1=Array.isArray,$e=e=>p4(e)==="[object Map]",b3=e=>p4(e)==="[object Set]",v6=e=>p4(e)==="[object Date]",F1=e=>typeof e=="function",z1=e=>typeof e=="string",L2=e=>typeof e=="symbol",V1=e=>e!==null&&typeof e=="object",An=e=>(V1(e)||F1(e))&&F1(e.then)&&F1(e.catch),pn=Object.prototype.toString,p4=e=>pn.call(e),j0=e=>p4(e).slice(8,-1),mn=e=>p4(e)==="[object Object]",W5=e=>z1(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,V3=O5(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),at=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},X0=/-\w/g,y2=at(e=>e.replace(X0,t=>t.slice(1).toUpperCase())),q0=/\B([A-Z])/g,xe=at(e=>e.replace(q0,"-$1").toLowerCase()),rt=at(e=>e.charAt(0).toUpperCase()+e.slice(1)),St=at(e=>e?`on${rt(e)}`:""),d2=(e,t)=>!Object.is(e,t),S4=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:l,value:n})},L5=e=>{const t=parseFloat(e);return isNaN(t)?e:t},el=e=>{const t=z1(e)?Number(e):NaN;return isNaN(t)?e:t};let y6;const it=()=>y6||(y6=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function M2(e){if(C1(e)){const t={};for(let n=0;n{if(n){const l=n.split(nl);l.length>1&&(t[l[0].trim()]=l[1].trim())}}),t}function o1(e){let t="";if(z1(e))t=e;else if(C1(e))for(let n=0;nE3(n,t))}const bn=e=>!!(e&&e.__v_isRef===!0),F=e=>z1(e)?e:e==null?"":C1(e)||V1(e)&&(e.toString===pn||!F1(e.toString))?bn(e)?F(e.value):JSON.stringify(e,kn,2):String(e),kn=(e,t)=>bn(t)?kn(e,t.value):$e(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[l,s],o)=>(n[Rt(l,o)+" =>"]=s,n),{})}:b3(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Rt(n))}:L2(t)?Rt(t):V1(t)&&!C1(t)&&!mn(t)?String(t):t,Rt=(e,t="")=>{var n;return L2(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function G5(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const N1={},m3=[],ee=()=>{},mn=()=>!1,rt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),it=e=>e.startsWith("onUpdate:"),s2=Object.assign,W5=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},X0=Object.prototype.hasOwnProperty,L1=(e,t)=>X0.call(e,t),C1=Array.isArray,$e=e=>m4(e)==="[object Map]",k3=e=>m4(e)==="[object Set]",b6=e=>m4(e)==="[object Date]",F1=e=>typeof e=="function",z1=e=>typeof e=="string",L2=e=>typeof e=="symbol",T1=e=>e!==null&&typeof e=="object",gn=e=>(T1(e)||F1(e))&&F1(e.then)&&F1(e.catch),vn=Object.prototype.toString,m4=e=>vn.call(e),q0=e=>m4(e).slice(8,-1),yn=e=>m4(e)==="[object Object]",L5=e=>z1(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,P3=G5(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ct=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},el=/-\w/g,y2=ct(e=>e.replace(el,t=>t.slice(1).toUpperCase())),tl=/\B([A-Z])/g,xe=ct(e=>e.replace(tl,"-$1").toLowerCase()),ut=ct(e=>e.charAt(0).toUpperCase()+e.slice(1)),Rt=ct(e=>e?`on${ut(e)}`:""),d2=(e,t)=>!Object.is(e,t),N4=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:l,value:n})},T5=e=>{const t=parseFloat(e);return isNaN(t)?e:t},nl=e=>{const t=z1(e)?Number(e):NaN;return isNaN(t)?e:t};let k6;const dt=()=>k6||(k6=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function E2(e){if(C1(e)){const t={};for(let n=0;n{if(n){const l=n.split(sl);l.length>1&&(t[l[0].trim()]=l[1].trim())}}),t}function o1(e){let t="";if(z1(e))t=e;else if(C1(e))for(let n=0;nZ3(n,t))}const wn=e=>!!(e&&e.__v_isRef===!0),F=e=>z1(e)?e:e==null?"":C1(e)||T1(e)&&(e.toString===vn||!F1(e.toString))?wn(e)?F(e.value):JSON.stringify(e,Cn,2):String(e),Cn=(e,t)=>wn(t)?Cn(e,t.value):$e(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[l,s],o)=>(n[$t(l,o)+" =>"]=s,n),{})}:k3(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>$t(n))}:L2(t)?$t(t):T1(t)&&!C1(t)&&!yn(t)?String(t):t,$t=(e,t="")=>{var n;return L2(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let u2;class il{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&u2&&(u2.active?(this.parent=u2,this.index=(u2.scopes||(u2.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const l=this.scopes.slice();for(t=0,n=l.length;t0&&--this._on===0){if(u2===this)u2=this.prevScope;else{let t=u2;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,l;for(n=0,l=this.effects.length;n0)return;if(P3){let t=P3;for(P3=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;T3;){let t=T3;for(T3=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(l){e||(e=l)}t=n}}if(e)throw e}function _n(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function In(e){let t,n=e.depsTail,l=n;for(;l;){const s=l.prevDep;l.version===-1?(l===n&&(n=s),P5(l),ul(l)):t=l,l.dep.activeLink=l.prevActiveLink,l.prevActiveLink=void 0,l=s}e.deps=t,e.depsTail=n}function u5(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Mn(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Mn(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===z3)||(e.globalVersion=z3,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!u5(e))))return;e.flags|=2;const t=e.dep,n=U1,l=G2;U1=e,G2=!0;try{_n(e);const s=e.fn(e._value);(t.version===0||d2(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{U1=n,G2=l,In(e),e.flags&=-3}}function P5(e,t=!1){const{dep:n,prevSub:l,nextSub:s}=e;if(l&&(l.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=l,e.nextSub=void 0),n.subs===e&&(n.subs=l,!l&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)P5(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ul(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let G2=!0;const En=[];function ve(){En.push(G2),G2=!1}function ye(){const e=En.pop();G2=e===void 0?!0:e}function k6(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=U1;U1=void 0;try{t()}finally{U1=n}}}let z3=0;class dl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ct{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!U1||!G2||U1===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==U1)n=this.activeLink=new dl(U1,this),U1.deps?(n.prevDep=U1.depsTail,U1.depsTail.nextDep=n,U1.depsTail=n):U1.deps=U1.depsTail=n,Dn(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const l=n.nextDep;l.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=l),n.prevDep=U1.depsTail,n.nextDep=void 0,U1.depsTail.nextDep=n,U1.depsTail=n,U1.deps===n&&(U1.deps=l)}return n}trigger(t){this.version++,z3++,this.notify(t)}notify(t){V5();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{T5()}}}function Dn(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let l=t.deps;l;l=l.nextDep)Dn(l)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const d5=new WeakMap,n3=Symbol(""),f5=Symbol(""),j3=Symbol("");function p2(e,t,n){if(G2&&U1){let l=d5.get(e);l||d5.set(e,l=new Map);let s=l.get(n);s||(l.set(n,s=new ct),s.map=l,s.key=n),s.track()}}function Ae(e,t,n,l,s,o){const a=d5.get(e);if(!a){z3++;return}const r=i=>{i&&i.trigger()};if(V5(),t==="clear")a.forEach(r);else{const i=C1(e),c=i&&W5(n);if(i&&n==="length"){const u=Number(l);a.forEach((d,A)=>{(A==="length"||A===j3||!L2(A)&&A>=u)&&r(d)})}else switch((n!==void 0||a.has(void 0))&&r(a.get(n)),c&&r(a.get(j3)),t){case"add":i?c&&r(a.get("length")):(r(a.get(n3)),$e(e)&&r(a.get(f5)));break;case"delete":i||(r(a.get(n3)),$e(e)&&r(a.get(f5)));break;case"set":$e(e)&&r(a.get(n3));break}}T5()}function c3(e){const t=K1(e);return t===e?t:(p2(t,"iterate",j3),R2(e)?t:t.map(V2))}function ut(e){return p2(e=K1(e),"iterate",j3),e}function z2(e,t){return be(e)?k3(l3(e)?V2(t):t):V2(t)}const fl={__proto__:null,[Symbol.iterator](){return Nt(this,Symbol.iterator,e=>z2(this,e))},concat(...e){return c3(this).concat(...e.map(t=>C1(t)?c3(t):t))},entries(){return Nt(this,"entries",e=>(e[1]=z2(this,e[1]),e))},every(e,t){return re(this,"every",e,t,void 0,arguments)},filter(e,t){return re(this,"filter",e,t,n=>n.map(l=>z2(this,l)),arguments)},find(e,t){return re(this,"find",e,t,n=>z2(this,n),arguments)},findIndex(e,t){return re(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return re(this,"findLast",e,t,n=>z2(this,n),arguments)},findLastIndex(e,t){return re(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return re(this,"forEach",e,t,void 0,arguments)},includes(...e){return Kt(this,"includes",e)},indexOf(...e){return Kt(this,"indexOf",e)},join(e){return c3(this).join(e)},lastIndexOf(...e){return Kt(this,"lastIndexOf",e)},map(e,t){return re(this,"map",e,t,void 0,arguments)},pop(){return S3(this,"pop")},push(...e){return S3(this,"push",e)},reduce(e,...t){return x6(this,"reduce",e,t)},reduceRight(e,...t){return x6(this,"reduceRight",e,t)},shift(){return S3(this,"shift")},some(e,t){return re(this,"some",e,t,void 0,arguments)},splice(...e){return S3(this,"splice",e)},toReversed(){return c3(this).toReversed()},toSorted(e){return c3(this).toSorted(e)},toSpliced(...e){return c3(this).toSpliced(...e)},unshift(...e){return S3(this,"unshift",e)},values(){return Nt(this,"values",e=>z2(this,e))}};function Nt(e,t,n){const l=ut(e),s=l[t]();return l!==e&&!R2(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const hl=Array.prototype;function re(e,t,n,l,s,o){const a=ut(e),r=a!==e&&!R2(e),i=a[t];if(i!==hl[t]){const d=i.apply(e,o);return r?V2(d):d}let c=n;a!==e&&(r?c=function(d,A){return n.call(this,z2(e,d),A,e)}:n.length>2&&(c=function(d,A){return n.call(this,d,A,e)}));const u=i.call(a,c,l);return r&&s?s(u):u}function x6(e,t,n,l){const s=ut(e),o=s!==e&&!R2(e);let a=n,r=!1;s!==e&&(o?(r=l.length===0,a=function(c,u,d){return r&&(r=!1,c=z2(e,c)),n.call(this,c,z2(e,u),d,e)}):n.length>3&&(a=function(c,u,d){return n.call(this,c,u,d,e)}));const i=s[t](a,...l);return r?z2(e,i):i}function Kt(e,t,n){const l=K1(e);p2(l,"iterate",j3);const s=l[t](...n);return(s===-1||s===!1)&&U5(n[0])?(n[0]=K1(n[0]),l[t](...n)):s}function S3(e,t,n=[]){ve(),V5();const l=K1(e)[t].apply(e,n);return T5(),ye(),l}const Al=O5("__proto__,__v_isRef,__isVue"),Zn=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(L2));function pl(e){L2(e)||(e=String(e));const t=K1(this);return p2(t,"has",e),t.hasOwnProperty(e)}class Fn{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,l){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return l===(s?o?_l:$n:o?Rn:Sn).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(l)?t:void 0;const a=C1(t);if(!s){let i;if(a&&(i=fl[n]))return i;if(n==="hasOwnProperty")return pl}const r=Reflect.get(t,n,i2(t)?t:l);if((L2(n)?Zn.has(n):Al(n))||(s||p2(t,"get",n),o))return r;if(i2(r)){const i=a&&W5(n)?r:r.value;return s&&V1(i)?A5(i):i}return V1(r)?s?A5(r):dt(r):r}}class Bn extends Fn{constructor(t=!1){super(!1,t)}set(t,n,l,s){let o=t[n];const a=C1(t)&&W5(n);if(!this._isShallow){const c=be(o);if(!R2(l)&&!be(l)&&(o=K1(o),l=K1(l)),!a&&i2(o)&&!i2(l))return c||(o.value=l),!0}const r=a?Number(n)e,b4=e=>Reflect.getPrototypeOf(e);function bl(e,t,n){return function(...l){const s=this.__v_raw,o=K1(s),a=$e(o),r=e==="entries"||e===Symbol.iterator&&a,i=e==="keys"&&a,c=s[e](...l),u=n?h5:t?k3:V2;return!t&&p2(o,"iterate",i?f5:n3),s2(Object.create(c),{next(){const{value:d,done:A}=c.next();return A?{value:d,done:A}:{value:r?[u(d[0]),u(d[1])]:u(d),done:A}}})}}function k4(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function kl(e,t){const n={get(s){const o=this.__v_raw,a=K1(o),r=K1(s);e||(d2(s,r)&&p2(a,"get",s),p2(a,"get",r));const{has:i}=b4(a),c=t?h5:e?k3:V2;if(i.call(a,s))return c(o.get(s));if(i.call(a,r))return c(o.get(r));o!==a&&o.get(s)},get size(){const s=this.__v_raw;return!e&&p2(K1(s),"iterate",n3),s.size},has(s){const o=this.__v_raw,a=K1(o),r=K1(s);return e||(d2(s,r)&&p2(a,"has",s),p2(a,"has",r)),s===r?o.has(s):o.has(s)||o.has(r)},forEach(s,o){const a=this,r=a.__v_raw,i=K1(r),c=t?h5:e?k3:V2;return!e&&p2(i,"iterate",n3),r.forEach((u,d)=>s.call(o,c(u),c(d),a))}};return s2(n,e?{add:k4("add"),set:k4("set"),delete:k4("delete"),clear:k4("clear")}:{add(s){const o=K1(this),a=b4(o),r=K1(s),i=!t&&!R2(s)&&!be(s)?r:s;return a.has.call(o,i)||d2(s,i)&&a.has.call(o,s)||d2(r,i)&&a.has.call(o,r)||(o.add(i),Ae(o,"add",i,i)),this},set(s,o){!t&&!R2(o)&&!be(o)&&(o=K1(o));const a=K1(this),{has:r,get:i}=b4(a);let c=r.call(a,s);c||(s=K1(s),c=r.call(a,s));const u=i.call(a,s);return a.set(s,o),c?d2(o,u)&&Ae(a,"set",s,o):Ae(a,"add",s,o),this},delete(s){const o=K1(this),{has:a,get:r}=b4(o);let i=a.call(o,s);i||(s=K1(s),i=a.call(o,s)),r&&r.call(o,s);const c=o.delete(s);return i&&Ae(o,"delete",s,void 0),c},clear(){const s=K1(this),o=s.size!==0,a=s.clear();return o&&Ae(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=bl(s,e,t)}),n}function H5(e,t){const n=kl(e,t);return(l,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?l:Reflect.get(L1(n,s)&&s in l?n:l,s,o)}const xl={get:H5(!1,!1)},wl={get:H5(!1,!0)},Cl={get:H5(!0,!1)};const Sn=new WeakMap,Rn=new WeakMap,$n=new WeakMap,_l=new WeakMap;function Il(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dt(e){return be(e)?e:Y5(e,!1,gl,xl,Sn)}function Nn(e){return Y5(e,!1,yl,wl,Rn)}function A5(e){return Y5(e,!0,vl,Cl,$n)}function Y5(e,t,n,l,s){if(!V1(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=s.get(e);if(o)return o;const a=Il(j0(e));if(a===0)return e;const r=new Proxy(e,a===2?l:n);return s.set(e,r),r}function l3(e){return be(e)?l3(e.__v_raw):!!(e&&e.__v_isReactive)}function be(e){return!!(e&&e.__v_isReadonly)}function R2(e){return!!(e&&e.__v_isShallow)}function U5(e){return e?!!e.__v_raw:!1}function K1(e){const t=e&&e.__v_raw;return t?K1(t):e}function Ml(e){return!L1(e,"__v_skip")&&Object.isExtensible(e)&&gn(e,"__v_skip",!0),e}const V2=e=>V1(e)?dt(e):e,k3=e=>V1(e)?A5(e):e;function i2(e){return e?e.__v_isRef===!0:!1}function P(e){return Kn(e,!1)}function El(e){return Kn(e,!0)}function Kn(e,t){return i2(e)?e:new Dl(e,t)}class Dl{constructor(t,n){this.dep=new ct,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:K1(t),this._value=n?t:V2(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,l=this.__v_isShallow||R2(t)||be(t);t=l?t:K1(t),d2(t,n)&&(this._rawValue=t,this._value=l?t:V2(t),this.dep.trigger())}}function f(e){return i2(e)?e.value:e}const Zl={get:(e,t,n)=>t==="__v_raw"?e:f(Reflect.get(e,t,n)),set:(e,t,n,l)=>{const s=e[t];return i2(s)&&!i2(n)?(s.value=n,!0):Reflect.set(e,t,n,l)}};function Qn(e){return l3(e)?e:new Proxy(e,Zl)}class Fl{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new ct,{get:l,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=l,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Bl(e){return new Fl(e)}class Sl{constructor(t,n,l){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ct(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=z3-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=l}notify(){if(this.flags|=16,!(this.flags&8)&&U1!==this)return Cn(this,!0),!0}get value(){const t=this.dep.track();return Mn(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Rl(e,t,n=!1){let l,s;return F1(e)?l=e:(l=e.get,s=e.set),new Sl(l,s,n)}const x4={},Q4=new WeakMap;let ze;function $l(e,t=!1,n=ze){if(n){let l=Q4.get(n);l||Q4.set(n,l=[]),l.push(e)}}function Nl(e,t,n=N1){const{immediate:l,deep:s,once:o,scheduler:a,augmentJob:r,call:i}=n,c=I=>s?I:R2(I)||s===!1||s===0?pe(I,1):pe(I);let u,d,A,m,p=!1,g=!1;if(i2(e)?(d=()=>e.value,p=R2(e)):l3(e)?(d=()=>c(e),p=!0):C1(e)?(g=!0,p=e.some(I=>l3(I)||R2(I)),d=()=>e.map(I=>{if(i2(I))return I.value;if(l3(I))return c(I);if(F1(I))return i?i(I,2):I()})):F1(e)?t?d=i?()=>i(e,2):e:d=()=>{if(A){ve();try{A()}finally{ye()}}const I=ze;ze=u;try{return i?i(e,3,[m]):e(m)}finally{ze=I}}:d=ee,t&&s){const I=d,w=s===!0?1/0:s;d=()=>pe(I(),w)}const x=cl(),$=()=>{u.stop(),x&&x.active&&G5(x.effects,u)};if(o&&t){const I=t;t=(...w)=>{const S=I(...w);return $(),S}}let k=g?new Array(e.length).fill(x4):x4;const K=I=>{if(!(!(u.flags&1)||!u.dirty&&!I))if(t){const w=u.run();if(I||s||p||(g?w.some((S,B)=>d2(S,k[B])):d2(w,k))){A&&A();const S=ze;ze=u;try{const B=[w,k===x4?void 0:g&&k[0]===x4?[]:k,m];k=w,i?i(t,3,B):t(...B)}finally{ze=S}}}else u.run()};return r&&r(K),u=new xn(d),u.scheduler=a?()=>a(K,!1):K,m=I=>$l(I,!1,u),A=u.onStop=()=>{const I=Q4.get(u);if(I){if(i)i(I,4);else for(const w of I)w();Q4.delete(u)}},t?l?K(!0):k=u.run():a?a(K.bind(null,!0),!0):u.run(),$.pause=u.pause.bind(u),$.resume=u.resume.bind(u),$.stop=$,$}function pe(e,t=1/0,n){if(t<=0||!V1(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,i2(e))pe(e.value,t,n);else if(C1(e))for(let l=0;l{pe(l,t,n)});else if(mn(e)){for(const l in e)pe(e[l],t,n);for(const l of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,l)&&pe(e[l],t,n)}return e}/** +**/let u2;class ul{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&u2&&(u2.active?(this.parent=u2,this.index=(u2.scopes||(u2.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const l=this.scopes.slice();for(t=0,n=l.length;t0&&--this._on===0){if(u2===this)u2=this.prevScope;else{let t=u2;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,l;for(n=0,l=this.effects.length;n0)return;if(U3){let t=U3;for(U3=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;H3;){let t=H3;for(H3=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(l){e||(e=l)}t=n}}if(e)throw e}function En(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Dn(e){let t,n=e.depsTail,l=n;for(;l;){const s=l.prevDep;l.version===-1?(l===n&&(n=s),H5(l),fl(l)):t=l,l.dep.activeLink=l.prevActiveLink,l.prevActiveLink=void 0,l=s}e.deps=t,e.depsTail=n}function d5(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Zn(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Zn(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===X3)||(e.globalVersion=X3,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!d5(e))))return;e.flags|=2;const t=e.dep,n=Y1,l=G2;Y1=e,G2=!0;try{En(e);const s=e.fn(e._value);(t.version===0||d2(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Y1=n,G2=l,Dn(e),e.flags&=-3}}function H5(e,t=!1){const{dep:n,prevSub:l,nextSub:s}=e;if(l&&(l.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=l,e.nextSub=void 0),n.subs===e&&(n.subs=l,!l&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)H5(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function fl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let G2=!0;const Fn=[];function ve(){Fn.push(G2),G2=!1}function ye(){const e=Fn.pop();G2=e===void 0?!0:e}function w6(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Y1;Y1=void 0;try{t()}finally{Y1=n}}}let X3=0;class hl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ft{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Y1||!G2||Y1===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Y1)n=this.activeLink=new hl(Y1,this),Y1.deps?(n.prevDep=Y1.depsTail,Y1.depsTail.nextDep=n,Y1.depsTail=n):Y1.deps=Y1.depsTail=n,Bn(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const l=n.nextDep;l.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=l),n.prevDep=Y1.depsTail,n.nextDep=void 0,Y1.depsTail.nextDep=n,Y1.depsTail=n,Y1.deps===n&&(Y1.deps=l)}return n}trigger(t){this.version++,X3++,this.notify(t)}notify(t){V5();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{P5()}}}function Bn(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let l=t.deps;l;l=l.nextDep)Bn(l)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const f5=new WeakMap,l3=Symbol(""),h5=Symbol(""),q3=Symbol("");function m2(e,t,n){if(G2&&Y1){let l=f5.get(e);l||f5.set(e,l=new Map);let s=l.get(n);s||(l.set(n,s=new ft),s.map=l,s.key=n),s.track()}}function Ae(e,t,n,l,s,o){const a=f5.get(e);if(!a){X3++;return}const r=i=>{i&&i.trigger()};if(V5(),t==="clear")a.forEach(r);else{const i=C1(e),c=i&&L5(n);if(i&&n==="length"){const u=Number(l);a.forEach((d,A)=>{(A==="length"||A===q3||!L2(A)&&A>=u)&&r(d)})}else switch((n!==void 0||a.has(void 0))&&r(a.get(n)),c&&r(a.get(q3)),t){case"add":i?c&&r(a.get("length")):(r(a.get(l3)),$e(e)&&r(a.get(h5)));break;case"delete":i||(r(a.get(l3)),$e(e)&&r(a.get(h5)));break;case"set":$e(e)&&r(a.get(l3));break}}P5()}function u3(e){const t=Q1(e);return t===e?t:(m2(t,"iterate",q3),R2(e)?t:t.map(T2))}function ht(e){return m2(e=Q1(e),"iterate",q3),e}function z2(e,t){return be(e)?x3(s3(e)?T2(t):t):T2(t)}const Al={__proto__:null,[Symbol.iterator](){return Kt(this,Symbol.iterator,e=>z2(this,e))},concat(...e){return u3(this).concat(...e.map(t=>C1(t)?u3(t):t))},entries(){return Kt(this,"entries",e=>(e[1]=z2(this,e[1]),e))},every(e,t){return re(this,"every",e,t,void 0,arguments)},filter(e,t){return re(this,"filter",e,t,n=>n.map(l=>z2(this,l)),arguments)},find(e,t){return re(this,"find",e,t,n=>z2(this,n),arguments)},findIndex(e,t){return re(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return re(this,"findLast",e,t,n=>z2(this,n),arguments)},findLastIndex(e,t){return re(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return re(this,"forEach",e,t,void 0,arguments)},includes(...e){return Qt(this,"includes",e)},indexOf(...e){return Qt(this,"indexOf",e)},join(e){return u3(this).join(e)},lastIndexOf(...e){return Qt(this,"lastIndexOf",e)},map(e,t){return re(this,"map",e,t,void 0,arguments)},pop(){return R3(this,"pop")},push(...e){return R3(this,"push",e)},reduce(e,...t){return C6(this,"reduce",e,t)},reduceRight(e,...t){return C6(this,"reduceRight",e,t)},shift(){return R3(this,"shift")},some(e,t){return re(this,"some",e,t,void 0,arguments)},splice(...e){return R3(this,"splice",e)},toReversed(){return u3(this).toReversed()},toSorted(e){return u3(this).toSorted(e)},toSpliced(...e){return u3(this).toSpliced(...e)},unshift(...e){return R3(this,"unshift",e)},values(){return Kt(this,"values",e=>z2(this,e))}};function Kt(e,t,n){const l=ht(e),s=l[t]();return l!==e&&!R2(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const pl=Array.prototype;function re(e,t,n,l,s,o){const a=ht(e),r=a!==e&&!R2(e),i=a[t];if(i!==pl[t]){const d=i.apply(e,o);return r?T2(d):d}let c=n;a!==e&&(r?c=function(d,A){return n.call(this,z2(e,d),A,e)}:n.length>2&&(c=function(d,A){return n.call(this,d,A,e)}));const u=i.call(a,c,l);return r&&s?s(u):u}function C6(e,t,n,l){const s=ht(e),o=s!==e&&!R2(e);let a=n,r=!1;s!==e&&(o?(r=l.length===0,a=function(c,u,d){return r&&(r=!1,c=z2(e,c)),n.call(this,c,z2(e,u),d,e)}):n.length>3&&(a=function(c,u,d){return n.call(this,c,u,d,e)}));const i=s[t](a,...l);return r?z2(e,i):i}function Qt(e,t,n){const l=Q1(e);m2(l,"iterate",q3);const s=l[t](...n);return(s===-1||s===!1)&&J5(n[0])?(n[0]=Q1(n[0]),l[t](...n)):s}function R3(e,t,n=[]){ve(),V5();const l=Q1(e)[t].apply(e,n);return P5(),ye(),l}const ml=G5("__proto__,__v_isRef,__isVue"),Sn=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(L2));function gl(e){L2(e)||(e=String(e));const t=Q1(this);return m2(t,"has",e),t.hasOwnProperty(e)}class Rn{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,l){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return l===(s?o?Ml:Qn:o?Kn:Nn).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(l)?t:void 0;const a=C1(t);if(!s){let i;if(a&&(i=Al[n]))return i;if(n==="hasOwnProperty")return gl}const r=Reflect.get(t,n,i2(t)?t:l);if((L2(n)?Sn.has(n):ml(n))||(s||m2(t,"get",n),o))return r;if(i2(r)){const i=a&&L5(n)?r:r.value;return s&&T1(i)?p5(i):i}return T1(r)?s?p5(r):At(r):r}}class $n extends Rn{constructor(t=!1){super(!1,t)}set(t,n,l,s){let o=t[n];const a=C1(t)&&L5(n);if(!this._isShallow){const c=be(o);if(!R2(l)&&!be(l)&&(o=Q1(o),l=Q1(l)),!a&&i2(o)&&!i2(l))return c||(o.value=l),!0}const r=a?Number(n)e,w4=e=>Reflect.getPrototypeOf(e);function xl(e,t,n){return function(...l){const s=this.__v_raw,o=Q1(s),a=$e(o),r=e==="entries"||e===Symbol.iterator&&a,i=e==="keys"&&a,c=s[e](...l),u=n?A5:t?x3:T2;return!t&&m2(o,"iterate",i?h5:l3),s2(Object.create(c),{next(){const{value:d,done:A}=c.next();return A?{value:d,done:A}:{value:r?[u(d[0]),u(d[1])]:u(d),done:A}}})}}function C4(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function wl(e,t){const n={get(s){const o=this.__v_raw,a=Q1(o),r=Q1(s);e||(d2(s,r)&&m2(a,"get",s),m2(a,"get",r));const{has:i}=w4(a),c=t?A5:e?x3:T2;if(i.call(a,s))return c(o.get(s));if(i.call(a,r))return c(o.get(r));o!==a&&o.get(s)},get size(){const s=this.__v_raw;return!e&&m2(Q1(s),"iterate",l3),s.size},has(s){const o=this.__v_raw,a=Q1(o),r=Q1(s);return e||(d2(s,r)&&m2(a,"has",s),m2(a,"has",r)),s===r?o.has(s):o.has(s)||o.has(r)},forEach(s,o){const a=this,r=a.__v_raw,i=Q1(r),c=t?A5:e?x3:T2;return!e&&m2(i,"iterate",l3),r.forEach((u,d)=>s.call(o,c(u),c(d),a))}};return s2(n,e?{add:C4("add"),set:C4("set"),delete:C4("delete"),clear:C4("clear")}:{add(s){const o=Q1(this),a=w4(o),r=Q1(s),i=!t&&!R2(s)&&!be(s)?r:s;return a.has.call(o,i)||d2(s,i)&&a.has.call(o,s)||d2(r,i)&&a.has.call(o,r)||(o.add(i),Ae(o,"add",i,i)),this},set(s,o){!t&&!R2(o)&&!be(o)&&(o=Q1(o));const a=Q1(this),{has:r,get:i}=w4(a);let c=r.call(a,s);c||(s=Q1(s),c=r.call(a,s));const u=i.call(a,s);return a.set(s,o),c?d2(o,u)&&Ae(a,"set",s,o):Ae(a,"add",s,o),this},delete(s){const o=Q1(this),{has:a,get:r}=w4(o);let i=a.call(o,s);i||(s=Q1(s),i=a.call(o,s)),r&&r.call(o,s);const c=o.delete(s);return i&&Ae(o,"delete",s,void 0),c},clear(){const s=Q1(this),o=s.size!==0,a=s.clear();return o&&Ae(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=xl(s,e,t)}),n}function U5(e,t){const n=wl(e,t);return(l,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?l:Reflect.get(L1(n,s)&&s in l?n:l,s,o)}const Cl={get:U5(!1,!1)},_l={get:U5(!1,!0)},Il={get:U5(!0,!1)};const Nn=new WeakMap,Kn=new WeakMap,Qn=new WeakMap,Ml=new WeakMap;function El(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function At(e){return be(e)?e:Y5(e,!1,yl,Cl,Nn)}function On(e){return Y5(e,!1,kl,_l,Kn)}function p5(e){return Y5(e,!0,bl,Il,Qn)}function Y5(e,t,n,l,s){if(!T1(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=s.get(e);if(o)return o;const a=El(q0(e));if(a===0)return e;const r=new Proxy(e,a===2?l:n);return s.set(e,r),r}function s3(e){return be(e)?s3(e.__v_raw):!!(e&&e.__v_isReactive)}function be(e){return!!(e&&e.__v_isReadonly)}function R2(e){return!!(e&&e.__v_isShallow)}function J5(e){return e?!!e.__v_raw:!1}function Q1(e){const t=e&&e.__v_raw;return t?Q1(t):e}function Dl(e){return!L1(e,"__v_skip")&&Object.isExtensible(e)&&bn(e,"__v_skip",!0),e}const T2=e=>T1(e)?At(e):e,x3=e=>T1(e)?p5(e):e;function i2(e){return e?e.__v_isRef===!0:!1}function V(e){return Gn(e,!1)}function Zl(e){return Gn(e,!0)}function Gn(e,t){return i2(e)?e:new Fl(e,t)}class Fl{constructor(t,n){this.dep=new ft,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Q1(t),this._value=n?t:T2(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,l=this.__v_isShallow||R2(t)||be(t);t=l?t:Q1(t),d2(t,n)&&(this._rawValue=t,this._value=l?t:T2(t),this.dep.trigger())}}function f(e){return i2(e)?e.value:e}const Bl={get:(e,t,n)=>t==="__v_raw"?e:f(Reflect.get(e,t,n)),set:(e,t,n,l)=>{const s=e[t];return i2(s)&&!i2(n)?(s.value=n,!0):Reflect.set(e,t,n,l)}};function Wn(e){return s3(e)?e:new Proxy(e,Bl)}class Sl{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new ft,{get:l,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=l,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Rl(e){return new Sl(e)}class $l{constructor(t,n,l){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ft(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=X3-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=l}notify(){if(this.flags|=16,!(this.flags&8)&&Y1!==this)return Mn(this,!0),!0}get value(){const t=this.dep.track();return Zn(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Nl(e,t,n=!1){let l,s;return F1(e)?l=e:(l=e.get,s=e.set),new $l(l,s,n)}const _4={},W4=new WeakMap;let je;function Kl(e,t=!1,n=je){if(n){let l=W4.get(n);l||W4.set(n,l=[]),l.push(e)}}function Ql(e,t,n=N1){const{immediate:l,deep:s,once:o,scheduler:a,augmentJob:r,call:i}=n,c=C=>s?C:R2(C)||s===!1||s===0?pe(C,1):pe(C);let u,d,A,m,p=!1,g=!1;if(i2(e)?(d=()=>e.value,p=R2(e)):s3(e)?(d=()=>c(e),p=!0):C1(e)?(g=!0,p=e.some(C=>s3(C)||R2(C)),d=()=>e.map(C=>{if(i2(C))return C.value;if(s3(C))return c(C);if(F1(C))return i?i(C,2):C()})):F1(e)?t?d=i?()=>i(e,2):e:d=()=>{if(A){ve();try{A()}finally{ye()}}const C=je;je=u;try{return i?i(e,3,[m]):e(m)}finally{je=C}}:d=ee,t&&s){const C=d,b=s===!0?1/0:s;d=()=>pe(C(),b)}const x=dl(),$=()=>{u.stop(),x&&x.active&&W5(x.effects,u)};if(o&&t){const C=t;t=(...b)=>{const B=C(...b);return $(),B}}let k=g?new Array(e.length).fill(_4):_4;const N=C=>{if(!(!(u.flags&1)||!u.dirty&&!C))if(t){const b=u.run();if(C||s||p||(g?b.some((B,S)=>d2(B,k[S])):d2(b,k))){A&&A();const B=je;je=u;try{const S=[b,k===_4?void 0:g&&k[0]===_4?[]:k,m];k=b,i?i(t,3,S):t(...S)}finally{je=B}}}else u.run()};return r&&r(N),u=new _n(d),u.scheduler=a?()=>a(N,!1):N,m=C=>Kl(C,!1,u),A=u.onStop=()=>{const C=W4.get(u);if(C){if(i)i(C,4);else for(const b of C)b();W4.delete(u)}},t?l?N(!0):k=u.run():a?a(N.bind(null,!0),!0):u.run(),$.pause=u.pause.bind(u),$.resume=u.resume.bind(u),$.stop=$,$}function pe(e,t=1/0,n){if(t<=0||!T1(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,i2(e))pe(e.value,t,n);else if(C1(e))for(let l=0;l{pe(l,t,n)});else if(yn(e)){for(const l in e)pe(e[l],t,n);for(const l of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,l)&&pe(e[l],t,n)}return e}/** * @vue/runtime-core v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function m4(e,t,n,l){try{return l?e(...l):e()}catch(s){ft(s,t,n)}}function $2(e,t,n,l){if(F1(e)){const s=m4(e,t,n,l);return s&&An(s)&&s.catch(o=>{ft(o,t,n)}),s}if(C1(e)){const s=[];for(let o=0;o>>1,s=C2[l],o=q3(s);o=q3(n)?C2.push(e):C2.splice(Ql(t),0,e),e.flags|=1,Gn()}}function Gn(){O4||(O4=On.then(Ln))}function Ol(e){if(!C1(e))Ze&&e.id===-1?Ze.splice(f3+1,0,e):e.flags&1||(m3.push(e),e.flags|=1);else for(let t=0;tq3(n)-q3(l));if(m3.length=0,Ze){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Ln(e){try{for(J2=0;J2{l._d&&H4(-1);const o=G4(t),a=ge.length;let r;try{r=e(...s)}finally{for(let i=ge.length;i>a;i--)e6();G4(o),l._d&&H4(1)}return r};return l._n=!0,l._c=!0,l._d=!0,l}function te(e,t){if(f2===null)return e;const n=yt(f2),l=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&F1(t)?t.call(l&&l.proxy):t}}const Gl=Symbol.for("v-scx"),Wl=()=>W2(Gl);function Ll(e,t){return z5(e,null,{flush:"sync"})}function P1(e,t,n){return z5(e,t,n)}function z5(e,t,n=N1){const{immediate:l,deep:s,flush:o,once:a}=n,r=s2({},n),i=t&&l||!t&&o!=="post";let c;if(s4){if(o==="sync"){const m=Wl();c=m.__watcherHandles||(m.__watcherHandles=[])}else if(!i){const m=()=>{};return m.stop=ee,m.resume=ee,m.pause=ee,m}}const u=g2;r.call=(m,p,g)=>$2(m,u,p,g);let d=!1;o==="post"?r.scheduler=m=>{k2(m,u&&u.suspense)}:o!=="sync"&&(d=!0,r.scheduler=(m,p)=>{p?m():J5(m)}),r.augmentJob=m=>{t&&(m.flags|=4),d&&(m.flags|=2,u&&(m.id=u.uid,m.i=u))};const A=Nl(e,t,r);return s4&&(c?c.push(A):i&&A()),A}function Vl(e,t,n){const l=this.proxy,s=z1(e)?e.includes(".")?Tn(l,e):()=>l[e]:e.bind(l,l);let o;F1(t)?o=t:(o=t.handler,n=t);const a=g4(this),r=z5(s,o.bind(l),n);return a(),r}function Tn(e,t){const n=t.split(".");return()=>{let l=e;for(let s=0;se.__isTeleport,je=e=>e&&(e.disabled||e.disabled===""),Tl=e=>e&&(e.defer||e.defer===""),C6=e=>typeof SVGElement<"u"&&e instanceof SVGElement,_6=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,p5=(e,t)=>{const n=e&&e.to;return z1(n)?t?t(n):null:n},Pl={name:"Teleport",__isTeleport:!0,process(e,t,n,l,s,o,a,r,i,c){const{mc:u,pc:d,pbc:A,o:{insert:m,querySelector:p,createText:g,createComment:x,parentNode:$}}=c,k=je(t.props);let{dynamicChildren:K}=t;const I=(B,_,D)=>{B.shapeFlag&16&&u(B.children,_,D,s,o,a,r,i)},w=(B=t)=>{const _=je(B.props),D=B.target=p5(B.props,p),C=m5(D,B,g,m);D&&(a!=="svg"&&C6(D)?a="svg":a!=="mathml"&&_6(D)&&(a="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(D),_||(I(B,D,C),G3(B,!1)))},S=B=>{const _=()=>{if(De.get(B)===_){if(De.delete(B),je(B.props)){const D=$(B.el)||n;I(B,D,B.anchor),G3(B,!0)}w(B)}};De.set(B,_),k2(_,o)};if(e==null){const B=t.el=g(""),_=t.anchor=g("");if(m(B,n,l),m(_,n,l),Tl(t.props)||o&&o.pendingBranch){S(t);return}k&&(I(t,n,_),G3(t,!0)),w()}else{t.el=e.el;const B=t.anchor=e.anchor,_=De.get(e);if(_){_.flags|=8,De.delete(e),S(t);return}t.targetStart=e.targetStart;const D=t.target=e.target,C=t.targetAnchor=e.targetAnchor,N=je(e.props),G=N?n:D,j=N?B:C;if(a==="svg"||C6(D)?a="svg":(a==="mathml"||_6(D))&&(a="mathml"),K?(A(e.dynamicChildren,K,G,s,o,a,r),q5(e,t,!0)):i||d(e,t,G,j,s,o,a,r,!1),k)N?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):w4(t,n,B,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const f1=p5(t.props,p);f1&&(t.target=f1,w4(t,f1,null,c,0))}else N&&w4(t,D,C,c,1);G3(t,k)}},remove(e,t,n,{um:l,o:{remove:s}},o){const{shapeFlag:a,children:r,anchor:i,targetStart:c,targetAnchor:u,target:d,props:A}=e,m=je(A),p=o||!m,g=De.get(e);if(g&&(g.flags|=8,De.delete(e)),d&&(s(c),s(u)),o&&s(i),!g&&(m||d)&&a&16)for(let x=0;x{e.isMounted=!0}),mt(()=>{e.isUnmounting=!0}),e}const Z2=[Function,Array],Hn={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Z2,onEnter:Z2,onAfterEnter:Z2,onEnterCancelled:Z2,onBeforeLeave:Z2,onLeave:Z2,onAfterLeave:Z2,onLeaveCancelled:Z2,onBeforeAppear:Z2,onAppear:Z2,onAfterAppear:Z2,onAppearCancelled:Z2},Yn=e=>{const t=e.subTree;return t.component?Yn(t.component):t},Jl={name:"BaseTransition",props:Hn,setup(e,{slots:t}){const n=t6(),l=Ul();return()=>{const s=t.default&&zn(t.default(),!0),o=s&&s.length?Un(s):n.subTree?O():void 0;if(!o)return;const a=K1(e),{mode:r}=a;if(l.isLeaving)return Qt(o);const i=W4(o);if(!i)return Qt(o);let c=g5(i,a,l,n,d=>c=d);i.type!==m2&&e4(i,c);let u=n.subTree&&W4(n.subTree);if(u&&u.type!==m2&&!Xe(u,i)&&Yn(n).type!==m2){let d=g5(u,a,l,n);if(e4(u,d),r==="out-in"&&i.type!==m2)return l.isLeaving=!0,d.afterLeave=()=>{l.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,u=void 0},Qt(o);r==="in-out"&&i.type!==m2?d.delayLeave=(A,m,p)=>{const g=Jn(l,u);g[String(u.key)]=u,A[S2]=()=>{m(),A[S2]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{p(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return o}}};function Un(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==m2){t=n;break}}return t}const zl=Jl;function Jn(e,t){const{leavingVNodes:n}=e;let l=n.get(t.type);return l||(l=Object.create(null),n.set(t.type,l)),l}function g5(e,t,n,l,s){const{appear:o,mode:a,persisted:r=!1,onBeforeEnter:i,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:A,onLeave:m,onAfterLeave:p,onLeaveCancelled:g,onBeforeAppear:x,onAppear:$,onAfterAppear:k,onAppearCancelled:K}=t,I=String(e.key),w=Jn(n,e),S=(D,C)=>{D&&$2(D,l,9,C)},B=(D,C)=>{const N=C[1];S(D,C),C1(D)?D.every(G=>G.length<=1)&&N():D.length<=1&&N()},_={mode:a,persisted:r,beforeEnter(D){let C=i;if(!n.isMounted)if(o)C=x||i;else return;D[S2]&&D[S2](!0);const N=w[I];N&&Xe(e,N)&&N.el[S2]&&N.el[S2](),S(C,[D])},enter(D){if(w[I]===e)return;let C=c,N=u,G=d;if(!n.isMounted)if(o)C=$||c,N=k||u,G=K||d;else return;let j=!1;D[R3]=u1=>{j||(j=!0,u1?S(G,[D]):S(N,[D]),_.delayedLeave&&_.delayedLeave(),D[R3]=void 0)};const f1=D[R3].bind(null,!1);C?B(C,[D,f1]):f1()},leave(D,C){const N=String(e.key);if(D[R3]&&D[R3](!0),n.isUnmounting)return C();S(A,[D]);let G=!1;D[S2]=f1=>{G||(G=!0,C(),f1?S(g,[D]):S(p,[D]),D[S2]=void 0,w[N]===e&&delete w[N])};const j=D[S2].bind(null,!1);w[N]=e,m?B(m,[D,j]):j()},clone(D){const C=g5(D,t,n,l,s);return s&&s(C),C}};return _}function Qt(e){if(At(e))return e=Ne(e),e.children=null,e}function W4(e){if(!At(e))return ht(e.type)&&e.children?Un(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&F1(n.default))return n.default()}}function e4(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;e4(ht(n.type)&&W4(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function zn(e,t=!1,n){let l=[],s=0;for(let o=0;o1)for(let o=0;oH3(g,t&&(C1(t)?t[x]:t),n,l,s));return}if(g3(l)&&!s){l.shapeFlag&512&&l.type.__asyncResolved&&l.component.subTree.component&&H3(e,t,n,l.component.subTree);return}const o=l.shapeFlag&4?yt(l.component):l.el,a=s?null:o,{i:r,r:i}=e,c=t&&t.r,u=r.refs===N1?r.refs={}:r.refs,d=r.setupState,A=K1(d),m=d===N1?hn:g=>I6(u,g)?!1:L1(A,g),p=(g,x)=>!(x&&I6(u,x));if(c!=null&&c!==i){if(M6(t),z1(c))u[c]=null,m(c)&&(d[c]=null);else if(i2(c)){const g=t;p(c,g.k)&&(c.value=null),g.k&&(u[g.k]=null)}}if(F1(i))m4(i,r,12,[a,u]);else{const g=z1(i),x=i2(i);if(g||x){const $=()=>{if(e.f){const k=g?m(i)?d[i]:u[i]:p()||!e.k?i.value:u[e.k];if(s)C1(k)&&G5(k,o);else if(C1(k))k.includes(o)||k.push(o);else if(g)u[i]=[o],m(i)&&(d[i]=u[i]);else{const K=[o];p(i,e.k)&&(i.value=K),e.k&&(u[e.k]=K)}}else g?(u[i]=a,m(i)&&(d[i]=a)):x&&(p(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const k=()=>{$(),L4.delete(e)};k.id=-1,L4.set(e,k),k2(k,n)}else M6(e),$()}}}function M6(e){const t=L4.get(e);t&&(t.flags|=8,L4.delete(e))}it().requestIdleCallback;it().cancelIdleCallback;const g3=e=>!!e.type.__asyncLoader,At=e=>e.type.__isKeepAlive;function jl(e,t){Xn(e,"a",t)}function Xl(e,t){Xn(e,"da",t)}function Xn(e,t,n=g2){const l=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(pt(t,l,n),n){let s=n.parent;for(;s&&s.parent;)At(s.parent.vnode)&&ql(l,t,n,s),s=s.parent}}function ql(e,t,n,l){const s=pt(t,e,l,!0);a3(()=>{G5(l[t],s)},n)}function pt(e,t,n=g2,l=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...a)=>{ve();const r=g4(n),i=$2(t,n,e,a);return r(),ye(),i});return l?s.unshift(o):s.push(o),o}}const we=e=>(t,n=g2)=>{(!s4||e==="sp")&&pt(e,(...l)=>t(...l),n)},es=we("bm"),o2=we("m"),ts=we("bu"),ns=we("u"),mt=we("bum"),a3=we("um"),ls=we("sp"),ss=we("rtg"),os=we("rtc");function as(e,t=g2){pt("ec",e,t)}const qn="components";function V4(e,t){return t8(qn,e,!0,t)||e}const e8=Symbol.for("v-ndc");function h2(e){return z1(e)?t8(qn,e,!1)||e:e||e8}function t8(e,t,n=!0,l=!1){const s=f2||g2;if(s){const o=s.type;{const r=Ts(o,!1);if(r&&(r===t||r===y2(t)||r===rt(y2(t))))return o}const a=E6(s[e]||o[e],t)||E6(s.appContext[e],t);return!a&&l?o:a}}function E6(e,t){return e&&(e[t]||e[y2(t)]||e[rt(y2(t))])}function _1(e,t,n,l){let s;const o=n,a=C1(e);if(a||z1(e)){const r=a&&l3(e);let i=!1,c=!1;r&&(i=!R2(e),c=be(e),e=ut(e)),s=new Array(e.length);for(let u=0,d=e.length;ut(r,i,void 0,o));else{const r=Object.keys(e);s=new Array(r.length);for(let i=0,c=r.length;i{const o=l.fn(...s);return o&&(o.key=l.key),o}:l.fn)}return e}function O1(e,t,n,l,s,o){if(n==null&&(n={}),f2.ce||f2.parent&&g3(f2.parent)&&f2.parent.ce){const c=n,u=Object.keys(c).length>0;return t!=="default"&&(c.name=t),h(),Q(e1,null,[E("slot",c,l&&l())],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const r=ge.length;h();let i;try{const c=a&&n8(a(n)),u=n.key||o||c&&c.key;i=Q(e1,{key:(u&&!L2(u)?u:`_${t}`)+(!c&&l?"_fb":"")},c||(l?l():[]),c&&e._===1?64:-2)}catch(c){for(let u=ge.length;u>r;u--)e6();throw c}finally{a&&a._c&&(a._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function n8(e){return e.some(t=>n4(t)?!(t.type===m2||t.type===e1&&!n8(t.children)):!0)?e:null}const y5=e=>e?x8(e)?yt(e):y5(e.parent):null,Y3=s2(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>y5(e.parent),$root:e=>y5(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>s8(e),$forceUpdate:e=>e.f||(e.f=()=>{J5(e.update)}),$nextTick:e=>e.n||(e.n=X3.bind(e.proxy)),$watch:e=>Vl.bind(e)}),Ot=(e,t)=>e!==N1&&!e.__isScriptSetup&&L1(e,t),rs={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:l,data:s,props:o,accessCache:a,type:r,appContext:i}=e;if(t[0]!=="$"){const A=a[t];if(A!==void 0)switch(A){case 1:return l[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Ot(l,t))return a[t]=1,l[t];if(s!==N1&&L1(s,t))return a[t]=2,s[t];if(L1(o,t))return a[t]=3,o[t];if(n!==N1&&L1(n,t))return a[t]=4,n[t];b5&&(a[t]=0)}}const c=Y3[t];let u,d;if(c)return t==="$attrs"&&p2(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==N1&&L1(n,t))return a[t]=4,n[t];if(d=i.config.globalProperties,L1(d,t))return d[t]},set({_:e},t,n){const{data:l,setupState:s,ctx:o}=e;return Ot(s,t)?(s[t]=n,!0):l!==N1&&L1(l,t)?(l[t]=n,!0):L1(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:l,appContext:s,props:o,type:a}},r){let i;return!!(n[r]||e!==N1&&r[0]!=="$"&&L1(e,r)||Ot(t,r)||L1(o,r)||L1(l,r)||L1(Y3,r)||L1(s.config.globalProperties,r)||(i=a.__cssModules)&&i[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:L1(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function T4(e){return C1(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function D6(e,t){return!e||!t?e||t:C1(e)&&C1(t)?e.concat(t):s2({},T4(e),T4(t))}let b5=!0;function is(e){const t=s8(e),n=e.proxy,l=e.ctx;b5=!1,t.beforeCreate&&Z6(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:a,watch:r,provide:i,inject:c,created:u,beforeMount:d,mounted:A,beforeUpdate:m,updated:p,activated:g,deactivated:x,beforeDestroy:$,beforeUnmount:k,destroyed:K,unmounted:I,render:w,renderTracked:S,renderTriggered:B,errorCaptured:_,serverPrefetch:D,expose:C,inheritAttrs:N,components:G,directives:j,filters:f1}=t;if(c&&cs(c,l,null),a)for(const M1 in a){const i1=a[M1];F1(i1)&&(l[M1]=i1.bind(n))}if(s){const M1=s.call(n,n);V1(M1)&&(e.data=dt(M1))}if(b5=!0,o)for(const M1 in o){const i1=o[M1],v1=F1(i1)?i1.bind(n,n):F1(i1.get)?i1.get.bind(n,n):ee,r1=!F1(i1)&&F1(i1.set)?i1.set.bind(n):ee,H1=z({get:v1,set:r1});Object.defineProperty(l,M1,{enumerable:!0,configurable:!0,get:()=>H1.value,set:b1=>H1.value=b1})}if(r)for(const M1 in r)l8(r[M1],l,n,M1);if(i){const M1=F1(i)?i.call(n):i;Reflect.ownKeys(M1).forEach(i1=>{R4(i1,M1[i1])})}u&&Z6(u,e,"c");function A1(M1,i1){C1(i1)?i1.forEach(v1=>M1(v1.bind(n))):i1&&M1(i1.bind(n))}if(A1(es,d),A1(o2,A),A1(ts,m),A1(ns,p),A1(jl,g),A1(Xl,x),A1(as,_),A1(os,S),A1(ss,B),A1(mt,k),A1(a3,I),A1(ls,D),C1(C))if(C.length){const M1=e.exposed||(e.exposed={});C.forEach(i1=>{Object.defineProperty(M1,i1,{get:()=>n[i1],set:v1=>n[i1]=v1,enumerable:!0})})}else e.exposed||(e.exposed={});w&&e.render===ee&&(e.render=w),N!=null&&(e.inheritAttrs=N),G&&(e.components=G),j&&(e.directives=j),D&&jn(e)}function cs(e,t,n=ee){C1(e)&&(e=k5(e));for(const l in e){const s=e[l];let o;V1(s)?"default"in s?o=W2(s.from||l,s.default,!0):o=W2(s.from||l):o=W2(s),i2(o)?Object.defineProperty(t,l,{enumerable:!0,configurable:!0,get:()=>o.value,set:a=>o.value=a}):t[l]=o}}function Z6(e,t,n){$2(C1(e)?e.map(l=>l.bind(t.proxy)):e.bind(t.proxy),t,n)}function l8(e,t,n,l){let s=l.includes(".")?Tn(n,l):()=>n[l];if(z1(e)){const o=t[e];F1(o)&&P1(s,o)}else if(F1(e))P1(s,e.bind(n));else if(V1(e))if(C1(e))e.forEach(o=>l8(o,t,n,l));else{const o=F1(e.handler)?e.handler.bind(n):t[e.handler];F1(o)&&P1(s,o,e)}}function s8(e){const t=e.type,{mixins:n,extends:l}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,r=o.get(t);let i;return r?i=r:!s.length&&!n&&!l?i=t:(i={},s.length&&s.forEach(c=>P4(i,c,a,!0)),P4(i,t,a)),V1(t)&&o.set(t,i),i}function P4(e,t,n,l=!1){const{mixins:s,extends:o}=t;o&&P4(e,o,n,!0),s&&s.forEach(a=>P4(e,a,n,!0));for(const a in t)if(!(l&&a==="expose")){const r=us[a]||n&&n[a];e[a]=r?r(e[a],t[a]):t[a]}return e}const us={data:F6,props:B6,emits:B6,methods:W3,computed:W3,beforeCreate:b2,created:b2,beforeMount:b2,mounted:b2,beforeUpdate:b2,updated:b2,beforeDestroy:b2,beforeUnmount:b2,destroyed:b2,unmounted:b2,activated:b2,deactivated:b2,errorCaptured:b2,serverPrefetch:b2,components:W3,directives:W3,watch:fs,provide:F6,inject:ds};function F6(e,t){return t?e?function(){return s2(F1(e)?e.call(this,this):e,F1(t)?t.call(this,this):t)}:t:e}function ds(e,t){return W3(k5(e),k5(t))}function k5(e){if(C1(e)){const t={};for(let n=0;n{let u,d=N1,A;return Ll(()=>{const m=e[s];d2(u,m)&&(u=m,c())}),{get(){return i(),n.get?n.get(u):u},set(m){const p=n.set?n.set(m):m;if(!d2(p,u)&&!(d!==N1&&d2(m,d)))return;const g=l.vnode.props,x=!!(g&&(t in g||s in g||o in g)&&(`onUpdate:${t}`in g||`onUpdate:${s}`in g||`onUpdate:${o}`in g));x||(u=m,c()),l.emit(`update:${t}`,p),d2(m,d)&&(d2(m,p)&&!d2(p,A)||x&&d!==N1&&!d2(p,u))&&c(),d=m,A=p}}});return r[Symbol.iterator]=()=>{let i=0;return{next(){return i<2?{value:i++?a||N1:r,done:!1}:{done:!0}}}},r}const a8=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${y2(t)}Modifiers`]||e[`${xe(t)}Modifiers`];function ms(e,t,...n){if(e.isUnmounted)return;const l=e.vnode.props||N1;let s=n;const o=t.startsWith("update:"),a=o&&a8(l,t.slice(7));a&&(a.trim&&(s=n.map(u=>z1(u)?u.trim():u)),a.number&&(s=s.map(L5)));let r,i=l[r=St(t)]||l[r=St(y2(t))];!i&&o&&(i=l[r=St(xe(t))]),i&&$2(i,e,6,s);const c=l[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,$2(c,e,6,s)}}const gs=new WeakMap;function r8(e,t,n=!1){const l=n?gs:t.emitsCache,s=l.get(e);if(s!==void 0)return s;const o=e.emits;let a={},r=!1;if(!F1(e)){const i=c=>{const u=r8(c,t,!0);u&&(r=!0,s2(a,u))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!o&&!r?(V1(e)&&l.set(e,null),null):(C1(o)?o.forEach(i=>a[i]=null):s2(a,o),V1(e)&&l.set(e,a),a)}function gt(e,t){return!e||!st(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),L1(e,t[0].toLowerCase()+t.slice(1))||L1(e,xe(t))||L1(e,t))}function S6(e){const{type:t,vnode:n,proxy:l,withProxy:s,propsOptions:[o],slots:a,attrs:r,emit:i,render:c,renderCache:u,props:d,data:A,setupState:m,ctx:p,inheritAttrs:g}=e,x=G4(e);let $,k;try{if(n.shapeFlag&4){const I=s||l,w=I;$=j2(c.call(w,I,u,d,m,A,p)),k=r}else{const I=t;$=j2(I.length>1?I(d,{attrs:r,slots:a,emit:i}):I(d,null)),k=t.props?r:vs(r)}}catch(I){ge.length=0,ft(I,e,1),$=E(m2)}let K=$;if(k&&g!==!1){const I=Object.keys(k),{shapeFlag:w}=K;I.length&&w&7&&(o&&I.some(ot)&&(k=ys(k,o)),K=Ne(K,k,!1,!0))}if(n.dirs&&(K=Ne(K,null,!1,!0),K.dirs=K.dirs?K.dirs.concat(n.dirs):n.dirs),n.transition){const I=ht(K.type)&&W4(K)||K;e4(I,n.transition)}return $=K,G4(x),$}const vs=e=>{let t;for(const n in e)(n==="class"||n==="style"||st(n))&&((t||(t={}))[n]=e[n]);return t},ys=(e,t)=>{const n={};for(const l in e)(!ot(l)||!(l.slice(9)in t))&&(n[l]=e[l]);return n};function bs(e,t,n){const{props:l,children:s,component:o}=e,{props:a,children:r,patchFlag:i}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return l?R6(l,a,c):!!a;if(i&8){const u=t.dynamicProps;for(let d=0;dObject.create(c8),d8=e=>Object.getPrototypeOf(e)===c8;function xs(e,t,n,l=!1){const s={},o=u8();e.propsDefaults=Object.create(null),f8(e,t,s,o);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);n?e.props=l?s:Nn(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function ws(e,t,n,l){const{props:s,attrs:o,vnode:{patchFlag:a}}=e,r=K1(s),[i]=e.propsOptions;let c=!1;if((l||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let d=0;d{i=!0;const[A,m]=h8(d,t,!0);s2(a,A),m&&r.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!i)return V1(e)&&l.set(e,p3),p3;if(C1(o))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",X5=e=>C1(e)?e.map(j2):[j2(e)],_s=(e,t,n)=>{if(t._n)return t;const l=M((...s)=>X5(t(...s)),n);return l._c=!1,l},A8=(e,t,n)=>{const l=e._ctx;for(const s in e){if(j5(s))continue;const o=e[s];if(F1(o))t[s]=_s(s,o,l);else if(o!=null){const a=X5(o);t[s]=()=>a}}},p8=(e,t)=>{const n=X5(t);e.slots.default=()=>n},m8=(e,t,n)=>{for(const l in t)(n||!j5(l))&&(e[l]=t[l])},Is=(e,t,n)=>{const l=e.slots=u8();if(e.vnode.shapeFlag&32){const s=t._;s?(m8(l,t,n),n&&gn(l,"_",s,!0)):A8(t,l)}else t&&p8(e,t)},Ms=(e,t,n)=>{const{vnode:l,slots:s}=e;let o=!0,a=N1;if(l.shapeFlag&32){const r=t._;r?n&&r===1?o=!1:m8(s,t,n):(o=!t.$stable,A8(t,s)),a=t}else t&&(p8(e,t),a={default:1});if(o)for(const r in s)!j5(r)&&a[r]==null&&delete s[r]},k2=Bs;function Es(e){return Ds(e)}function Ds(e,t){const n=it();n.__VUE__=!0;const{insert:l,remove:s,patchProp:o,createElement:a,createText:r,createComment:i,setText:c,setElementText:u,parentNode:d,nextSibling:A,setScopeId:m=ee,insertStaticContent:p}=e,g=(b,Z,R,U=null,J=null,Y=null,a1=void 0,n1=null,l1=!!Z.dynamicChildren)=>{if(b===Z)return;b&&!Xe(b,Z)&&(U=L(b),b1(b,J,Y,!0),b=null),Z.patchFlag===-2&&(l1=!1,Z.dynamicChildren=null);const{type:q,ref:k1,shapeFlag:c1}=Z;switch(q){case vt:x(b,Z,R,U);break;case m2:$(b,Z,R,U);break;case $4:b==null&&k(Z,R,U,a1);break;case e1:G(b,Z,R,U,J,Y,a1,n1,l1);break;default:c1&1?w(b,Z,R,U,J,Y,a1,n1,l1):c1&6?j(b,Z,R,U,J,Y,a1,n1,l1):(c1&64||c1&128)&&q.process(b,Z,R,U,J,Y,a1,n1,l1,p1)}k1!=null&&J?H3(k1,b&&b.ref,Y,Z||b,!Z):k1==null&&b&&b.ref!=null&&H3(b.ref,null,Y,b,!0)},x=(b,Z,R,U)=>{if(b==null)l(Z.el=r(Z.children),R,U);else{const J=Z.el=b.el;Z.children!==b.children&&c(J,Z.children)}},$=(b,Z,R,U)=>{b==null?l(Z.el=i(Z.children||""),R,U):Z.el=b.el},k=(b,Z,R,U)=>{[b.el,b.anchor]=p(b.children,Z,R,U,b.el,b.anchor)},K=({el:b,anchor:Z},R,U)=>{let J;for(;b&&b!==Z;)J=A(b),l(b,R,U),b=J;l(Z,R,U)},I=({el:b,anchor:Z})=>{let R;for(;b&&b!==Z;)R=A(b),s(b),b=R;s(Z)},w=(b,Z,R,U,J,Y,a1,n1,l1)=>{if(Z.type==="svg"?a1="svg":Z.type==="math"&&(a1="mathml"),b==null)S(Z,R,U,J,Y,a1,n1,l1);else{const q=b.el&&b.el._isVueCE?b.el:null;try{q&&q._beginPatch(),D(b,Z,J,Y,a1,n1,l1)}finally{q&&q._endPatch()}}},S=(b,Z,R,U,J,Y,a1,n1)=>{let l1,q;const{props:k1,shapeFlag:c1,transition:y1,dirs:I1}=b;if(l1=b.el=a(b.type,Y,k1&&k1.is,k1),c1&8?u(l1,b.children):c1&16&&_(b.children,l1,null,U,J,Gt(b,Y),a1,n1),I1&&We(b,null,U,"created"),B(l1,b,b.scopeId,a1,U),k1){for(const H in k1)H!=="value"&&!V3(H)&&o(l1,H,null,k1[H],Y,U);"value"in k1&&o(l1,"value",null,k1.value,Y),(q=k1.onVnodeBeforeMount)&&Y2(q,U,b)}I1&&We(b,null,U,"beforeMount");const T=Zs(J,y1);T&&y1.beforeEnter(l1),l(l1,Z,R),((q=k1&&k1.onVnodeMounted)||T||I1)&&k2(()=>{try{q&&Y2(q,U,b),T&&y1.enter(l1),I1&&We(b,null,U,"mounted")}finally{}},J)},B=(b,Z,R,U,J)=>{if(R&&m(b,R),U)for(let Y=0;Y{for(let q=l1;q{const n1=Z.el=b.el;let{patchFlag:l1,dynamicChildren:q,dirs:k1}=Z;l1|=b.patchFlag&16;const c1=b.props||N1,y1=Z.props||N1;let I1;if(R&&Le(R,!1),(I1=y1.onVnodeBeforeUpdate)&&Y2(I1,R,Z,b),k1&&We(Z,b,R,"beforeUpdate"),R&&Le(R,!0),q&&(!b.dynamicChildren||b.dynamicChildren.length!==q.length)&&(l1=0,a1=!1,q=null),(c1.innerHTML&&y1.innerHTML==null||c1.textContent&&y1.textContent==null)&&u(n1,""),q?C(b.dynamicChildren,q,n1,R,U,Gt(Z,J),Y):a1||i1(b,Z,n1,null,R,U,Gt(Z,J),Y,!1),l1>0){if(l1&16)N(n1,c1,y1,R,J);else if(l1&2&&c1.class!==y1.class&&o(n1,"class",null,y1.class,J),l1&4&&o(n1,"style",c1.style,y1.style,J),l1&8){const T=Z.dynamicProps;for(let H=0;H{I1&&Y2(I1,R,Z,b),k1&&We(Z,b,R,"updated")},U)},C=(b,Z,R,U,J,Y,a1)=>{for(let n1=0;n1{if(Z!==R){if(Z!==N1)for(const Y in Z)!V3(Y)&&!(Y in R)&&o(b,Y,Z[Y],null,J,U);for(const Y in R){if(V3(Y))continue;const a1=R[Y],n1=Z[Y];a1!==n1&&Y!=="value"&&o(b,Y,n1,a1,J,U)}"value"in R&&o(b,"value",Z.value,R.value,J)}},G=(b,Z,R,U,J,Y,a1,n1,l1)=>{const q=Z.el=b?b.el:r(""),k1=Z.anchor=b?b.anchor:r("");let{patchFlag:c1,dynamicChildren:y1,slotScopeIds:I1}=Z;I1&&(n1=n1?n1.concat(I1):I1),b==null?(l(q,R,U),l(k1,R,U),_(Z.children||[],R,k1,J,Y,a1,n1,l1)):c1>0&&c1&64&&y1&&b.dynamicChildren&&b.dynamicChildren.length===y1.length?(C(b.dynamicChildren,y1,R,J,Y,a1,n1),(Z.key!=null||J&&Z===J.subTree)&&q5(b,Z,!0)):i1(b,Z,R,k1,J,Y,a1,n1,l1)},j=(b,Z,R,U,J,Y,a1,n1,l1)=>{Z.slotScopeIds=n1,b==null?Z.shapeFlag&512?J.ctx.activate(Z,R,U,a1,l1):f1(Z,R,U,J,Y,a1,l1):u1(b,Z,l1)},f1=(b,Z,R,U,J,Y,a1)=>{const n1=b.component=Os(b,U,J);if(At(b)&&(n1.ctx.renderer=p1),Gs(n1,!1,a1),n1.asyncDep){if(J&&J.registerDep(n1,A1,a1),!b.el){const l1=n1.subTree=E(m2);$(null,l1,Z,R),b.placeholder=l1.el}}else A1(n1,b,Z,R,J,Y,a1)},u1=(b,Z,R)=>{const U=Z.component=b.component;if(bs(b,Z,R))if(U.asyncDep&&!U.asyncResolved){M1(U,Z,R);return}else U.next=Z,U.update();else Z.el=b.el,U.vnode=Z},A1=(b,Z,R,U,J,Y,a1)=>{const n1=()=>{if(b.isMounted){let{next:c1,bu:y1,u:I1,parent:T,vnode:H}=b;{const _2=g8(b);if(_2){c1&&(c1.el=H.el,M1(b,c1,a1)),_2.asyncDep.then(()=>{k2(()=>{b.isUnmounted||q()},J)});return}}let Z1=c1,R1;Le(b,!1),c1?(c1.el=H.el,M1(b,c1,a1)):c1=H,y1&&S4(y1),(R1=c1.props&&c1.props.onVnodeBeforeUpdate)&&Y2(R1,T,c1,H),Le(b,!0);const t1=S6(b),e2=b.subTree;b.subTree=t1,g(e2,t1,d(e2.el),L(e2),b,J,Y),c1.el=t1.el,Z1===null&&ks(b,t1.el),I1&&k2(I1,J),(R1=c1.props&&c1.props.onVnodeUpdated)&&k2(()=>Y2(R1,T,c1,H),J)}else{let c1;const{el:y1,props:I1}=Z,{bm:T,m:H,parent:Z1,root:R1,type:t1}=b,e2=g3(Z);Le(b,!1),T&&S4(T),!e2&&(c1=I1&&I1.onVnodeBeforeMount)&&Y2(c1,Z1,Z),Le(b,!0);{R1.ce&&R1.ce._hasShadowRoot()&&R1.ce._injectChildStyle(t1,b.parent?b.parent.type:void 0);const _2=b.subTree=S6(b);g(null,_2,R,U,b,J,Y),Z.el=_2.el}if(H&&k2(H,J),!e2&&(c1=I1&&I1.onVnodeMounted)){const _2=Z;k2(()=>Y2(c1,Z1,_2),J)}(Z.shapeFlag&256||Z1&&g3(Z1.vnode)&&Z1.vnode.shapeFlag&256)&&b.a&&k2(b.a,J),b.isMounted=!0,Z=R=U=null}};b.scope.on();const l1=b.effect=new xn(n1);b.scope.off();const q=b.update=l1.run.bind(l1),k1=b.job=l1.runIfDirty.bind(l1);k1.i=b,k1.id=b.uid,l1.scheduler=()=>J5(k1),Le(b,!0),q()},M1=(b,Z,R)=>{Z.component=b;const U=b.vnode.props;b.vnode=Z,b.next=null,ws(b,Z.props,U,R),Ms(b,Z.children,R),ve(),w6(b),ye()},i1=(b,Z,R,U,J,Y,a1,n1,l1=!1)=>{const q=b&&b.children,k1=b?b.shapeFlag:0,c1=Z.children,{patchFlag:y1,shapeFlag:I1}=Z;if(y1>0){if(y1&128){r1(q,c1,R,U,J,Y,a1,n1,l1);return}else if(y1&256){v1(q,c1,R,U,J,Y,a1,n1,l1);return}}I1&8?(k1&16&&m1(q,J,Y),c1!==q&&u(R,c1)):k1&16?I1&16?r1(q,c1,R,U,J,Y,a1,n1,l1):m1(q,J,Y,!0):(k1&8&&u(R,""),I1&16&&_(c1,R,U,J,Y,a1,n1,l1))},v1=(b,Z,R,U,J,Y,a1,n1,l1)=>{b=b||p3,Z=Z||p3;const q=b.length,k1=Z.length,c1=Math.min(q,k1);let y1;for(y1=0;y1k1?m1(b,J,Y,!0,!1,c1):_(Z,R,U,J,Y,a1,n1,l1,c1)},r1=(b,Z,R,U,J,Y,a1,n1,l1)=>{let q=0;const k1=Z.length;let c1=b.length-1,y1=k1-1;for(;q<=c1&&q<=y1;){const I1=b[q],T=Z[q]=l1?he(Z[q]):j2(Z[q]);if(Xe(I1,T))g(I1,T,R,null,J,Y,a1,n1,l1);else break;q++}for(;q<=c1&&q<=y1;){const I1=b[c1],T=Z[y1]=l1?he(Z[y1]):j2(Z[y1]);if(Xe(I1,T))g(I1,T,R,null,J,Y,a1,n1,l1);else break;c1--,y1--}if(q>c1){if(q<=y1){const I1=y1+1,T=I1y1)for(;q<=c1;)b1(b[q],J,Y,!0),q++;else{const I1=q,T=q,H=new Map;for(q=T;q<=y1;q++){const A2=Z[q]=l1?he(Z[q]):j2(Z[q]);A2.key!=null&&H.set(A2.key,q)}let Z1,R1=0;const t1=y1-T+1;let e2=!1,_2=0;const _e=new Array(t1);for(q=0;q=t1){b1(A2,J,Y,!0);continue}let I2;if(A2.key!=null)I2=H.get(A2.key);else for(Z1=T;Z1<=y1;Z1++)if(_e[Z1-T]===0&&Xe(A2,Z[Z1])){I2=Z1;break}I2===void 0?b1(A2,J,Y,!0):(_e[I2-T]=q+1,I2>=_2?_2=I2:e2=!0,g(A2,Z[I2],R,null,J,Y,a1,n1,l1),R1++)}const F3=e2?Fs(_e):p3;for(Z1=F3.length-1,q=t1-1;q>=0;q--){const A2=T+q,I2=Z[A2],B3=Z[A2+1],$1=A2+1{const{el:Y,type:a1,transition:n1,children:l1,shapeFlag:q}=b;if(q&6){H1(b.component.subTree,Z,R,U);return}if(q&128){b.suspense.move(Z,R,U);return}if(q&64){a1.move(b,Z,R,p1);return}if(a1===e1){l(Y,Z,R);for(let c1=0;c1n1.enter(Y),J));else{const{leave:c1,delayLeave:y1,afterLeave:I1}=n1,T=()=>{b.ctx.isUnmounted?s(Y):l(Y,Z,R)},H=()=>{const Z1=Y._isLeaving||!!Y[S2];Y._isLeaving&&Y[S2](!0),n1.persisted&&!Z1?T():c1(Y,()=>{T(),I1&&I1()})};y1?y1(Y,T,H):H()}else l(Y,Z,R)},b1=(b,Z,R,U=!1,J=!1)=>{const{type:Y,props:a1,ref:n1,children:l1,dynamicChildren:q,shapeFlag:k1,patchFlag:c1,dirs:y1,cacheIndex:I1,memo:T}=b;if(c1===-2&&(J=!1),n1!=null&&(ve(),H3(n1,null,R,b,!0),ye()),I1!=null&&(Z.renderCache[I1]=void 0),k1&256){Z.ctx.deactivate(b);return}const H=k1&1&&y1,Z1=!g3(b);let R1;if(Z1&&(R1=a1&&a1.onVnodeBeforeUnmount)&&Y2(R1,Z,b),k1&6)s1(b.component,R,U);else{if(k1&128){b.suspense.unmount(R,U);return}H&&We(b,null,Z,"beforeUnmount"),k1&64?b.type.remove(b,Z,R,p1,U):q&&!q.hasOnce&&(Y!==e1||c1>0&&c1&64)?m1(q,Z,R,!1,!0):(Y===e1&&c1&384||!J&&k1&16)&&m1(l1,Z,R),U&&q1(b)}const t1=T!=null&&I1==null;(Z1&&(R1=a1&&a1.onVnodeUnmounted)||H||t1)&&k2(()=>{R1&&Y2(R1,Z,b),H&&We(b,null,Z,"unmounted"),t1&&(b.el=null)},R)},q1=b=>{const{type:Z,el:R,anchor:U,transition:J}=b;if(Z===e1){j1(R,U);return}if(Z===$4){I(b);return}const Y=()=>{s(R),J&&!J.persisted&&J.afterLeave&&J.afterLeave()};if(b.shapeFlag&1&&J&&!J.persisted){const{leave:a1,delayLeave:n1}=J,l1=()=>a1(R,Y);n1?n1(b.el,Y,l1):l1()}else Y()},j1=(b,Z)=>{let R;for(;b!==Z;)R=A(b),s(b),b=R;s(Z)},s1=(b,Z,R)=>{const{bum:U,scope:J,job:Y,subTree:a1,um:n1,m:l1,a:q}=b;N6(l1),N6(q),U&&S4(U),J.stop(),Y&&(Y.flags|=8,b1(a1,b,Z,R)),n1&&k2(n1,Z),k2(()=>{b.isUnmounted=!0},Z)},m1=(b,Z,R,U=!1,J=!1,Y=0)=>{for(let a1=Y;a1{if(b.shapeFlag&6)return L(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const Z=A(b.anchor||b.el),R=Z&&Z[Pn];return R?A(R):Z};let X=!1;const W=(b,Z,R)=>{let U;b==null?Z._vnode&&(b1(Z._vnode,null,null,!0),U=Z._vnode.component):g(Z._vnode||null,b,Z,null,null,null,R),Z._vnode=b,X||(X=!0,w6(U),Wn(),X=!1)},p1={p:g,um:b1,m:H1,r:q1,mt:f1,mc:_,pc:i1,pbc:C,n:L,o:e};return{render:W,hydrate:void 0,createApp:As(W)}}function Gt({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Le({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Zs(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function q5(e,t,n=!1){const l=e.children,s=t.children;if(C1(l)&&C1(s))for(let o=0;o>1,e[n[r]]0&&(t[l]=n[o-1]),n[o]=l)}}for(o=n.length,a=n[o-1];o-- >0;)n[o]=a,a=t[a];return n}function g8(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:g8(t)}function N6(e){if(e)for(let t=0;te.__isSuspense;function Bs(e,t){t&&t.pendingBranch?C1(e)?t.effects.push(...e):t.effects.push(e):Ol(e)}const e1=Symbol.for("v-fgt"),vt=Symbol.for("v-txt"),m2=Symbol.for("v-cmt"),$4=Symbol.for("v-stc"),ge=[];let E2=null;function h(e=!1){ge.push(E2=e?null:[])}function e6(){ge.pop(),E2=ge[ge.length-1]||null}let t4=1;function H4(e,t=!1){t4+=e,e<0&&E2&&t&&(E2.hasOnce=!0)}function b8(e){return e.dynamicChildren=t4>0?E2||p3:null,e6(),t4>0&&E2&&E2.push(e),e}function y(e,t,n,l,s,o){return b8(v(e,t,n,l,s,o,!0))}function Q(e,t,n,l,s){return b8(E(e,t,n,l,s,!0))}function n4(e){return e?e.__v_isVNode===!0:!1}function Xe(e,t){return e.type===t.type&&e.key===t.key}const k8=({key:e})=>e??null,N4=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?z1(e)||i2(e)||F1(e)?{i:f2,r:e,k:t,f:!!n}:e:null);function v(e,t=null,n=null,l=0,s=null,o=e===e1?0:1,a=!1,r=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&k8(t),ref:t&&N4(t),scopeId:Vn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:l,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:f2};return r?(Y4(i,n),o&128&&e.normalize(i)):n&&(i.shapeFlag|=z1(n)?8:16),t4>0&&!a&&E2&&(i.patchFlag>0||o&6)&&i.patchFlag!==32&&E2.push(i),i}const E=Ss;function Ss(e,t=null,n=null,l=0,s=null,o=!1){if((!e||e===e8)&&(e=m2),n4(e)){const r=Ne(e,t,!0);return n&&Y4(r,n),t4>0&&!o&&E2&&(r.shapeFlag&6?E2[E2.indexOf(e)]=r:E2.push(r)),r.patchFlag=-2,r}if(Ps(e)&&(e=e.__vccOpts),t){t=Rs(t);let{class:r,style:i}=t;r&&!z1(r)&&(t.class=o1(r)),V1(i)&&(U5(i)&&!C1(i)&&(i=s2({},i)),t.style=M2(i))}const a=z1(e)?1:y8(e)?128:ht(e)?64:V1(e)?4:F1(e)?2:0;return v(e,t,n,l,s,a,o,!0)}function Rs(e){return e?U5(e)||d8(e)?s2({},e):e:null}function Ne(e,t,n=!1,l=!1){const{props:s,ref:o,patchFlag:a,children:r,transition:i}=e,c=t?Ns(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&k8(c),ref:t&&t.ref?n&&o?C1(o)?o.concat(N4(t)):[o,N4(t)]:N4(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==e1?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ne(e.ssContent),ssFallback:e.ssFallback&&Ne(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&l&&e4(u,i.clone(u)),u}function V(e=" ",t=0){return E(vt,null,e,t)}function $s(e,t){const n=E($4,null,e);return n.staticCount=t,n}function O(e="",t=!1){return t?(h(),Q(m2,null,e)):E(m2,null,e)}function j2(e){return e==null||typeof e=="boolean"?E(m2):C1(e)?E(e1,null,e.slice()):n4(e)?he(e):E(vt,null,String(e))}function he(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ne(e)}function Y4(e,t){let n=0;const{shapeFlag:l}=e;if(t==null)t=null;else if(C1(t))n=16;else if(typeof t=="object")if(l&65){const s=t.default;s&&(s._c&&(s._d=!1),Y4(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!d8(t)?t._ctx=f2:s===3&&f2&&(f2.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(F1(t)){if(l&65){Y4(e,{default:t});return}t={default:t,_ctx:f2},n=32}else t=String(t),l&64?(n=16,t=[V(t)]):n=8;e.children=t,e.shapeFlag|=n}function Ns(...e){const t={};for(let n=0;ng2||f2;let U4,l4;{const e=it(),t=(n,l)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(l),o=>{s.length>1?s.forEach(a=>a(o)):s[0](o)}};U4=t("__VUE_INSTANCE_SETTERS__",n=>g2=n),l4=t("__VUE_SSR_SETTERS__",n=>s4=n)}const g4=e=>{const t=g2;return U4(e),e.scope.on(),()=>{e.scope.off(),U4(t)}},K6=()=>{g2&&g2.scope.off(),U4(null)};function x8(e){return e.vnode.shapeFlag&4}let s4=!1;function Gs(e,t=!1,n=!1){t&&l4(t);const{props:l,children:s}=e.vnode,o=x8(e);xs(e,l,o,t),Is(e,s,n||t);const a=o?Ws(e,t):void 0;return t&&l4(!1),a}function Ws(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,rs);const{setup:l}=n;if(l){ve();const s=e.setupContext=l.length>1?Vs(e):null,o=g4(e),a=m4(l,e,0,[e.props,s]),r=An(a);if(ye(),o(),(r||e.sp)&&!g3(e)&&jn(e),r){if(a.then(K6,K6),t)return a.then(i=>{l4(!0);try{Q6(e,i,t)}finally{l4(!1)}}).catch(i=>{ft(i,e,0)});e.asyncDep=a}else Q6(e,a)}else w8(e)}function Q6(e,t,n){F1(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:V1(t)&&(e.setupState=Qn(t)),w8(e)}function w8(e,t,n){const l=e.type;e.render||(e.render=l.render||ee);{const s=g4(e);ve();try{is(e)}finally{ye(),s()}}}const Ls={get(e,t){return p2(e,"get",""),e[t]}};function Vs(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ls),slots:e.slots,emit:e.emit,expose:t}}function yt(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qn(Ml(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Y3)return Y3[n](e)},has(t,n){return n in t||n in Y3}})):e.proxy}function Ts(e,t=!0){return F1(e)?e.displayName||e.name:e.name||t&&e.__name}function Ps(e){return F1(e)&&"__vccOpts"in e}const z=(e,t)=>Rl(e,t,s4);function x3(e,t,n){try{H4(-1);const l=arguments.length;return l===2?V1(t)&&!C1(t)?n4(t)?E(e,null,[t]):E(e,t):E(e,null,t):(l>3?n=Array.prototype.slice.call(arguments,2):l===3&&n4(n)&&(n=[n]),E(e,t,n))}finally{H4(1)}}const Hs="3.5.42";/** +**/function g4(e,t,n,l){try{return l?e(...l):e()}catch(s){v4(s,t,n)}}function $2(e,t,n,l){if(F1(e)){const s=g4(e,t,n,l);return s&&gn(s)&&s.catch(o=>{v4(o,t,n)}),s}if(C1(e)){const s=[];for(let o=0;o>>1,s=C2[l],o=t4(s);o=t4(n)?C2.push(e):C2.splice(Gl(t),0,e),e.flags|=1,Tn()}}function Tn(){L4||(L4=Ln.then(Pn))}function Wl(e){if(!C1(e))Ze&&e.id===-1?Ze.splice(h3+1,0,e):e.flags&1||(g3.push(e),e.flags|=1);else for(let t=0;tt4(n)-t4(l));if(g3.length=0,Ze){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Pn(e){try{for(J2=0;J2{l._d&&J4(-1);const o=T4(t),a=ge.length;let r;try{r=e(...s)}finally{for(let i=ge.length;i>a;i--)n6();T4(o),l._d&&J4(1)}return r};return l._n=!0,l._c=!0,l._d=!0,l}function te(e,t){if(h2===null)return e;const n=bt(h2),l=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&F1(t)?t.call(l&&l.proxy):t}}const Ll=Symbol.for("v-scx"),Tl=()=>W2(Ll);function Vl(e,t){return j5(e,null,{flush:"sync"})}function H1(e,t,n){return j5(e,t,n)}function j5(e,t,n=N1){const{immediate:l,deep:s,flush:o,once:a}=n,r=s2({},n),i=t&&l||!t&&o!=="post";let c;if(w3){if(o==="sync"){const m=Tl();c=m.__watcherHandles||(m.__watcherHandles=[])}else if(!i){const m=()=>{};return m.stop=ee,m.resume=ee,m.pause=ee,m}}const u=f2;r.call=(m,p,g)=>$2(m,u,p,g);let d=!1;o==="post"?r.scheduler=m=>{k2(m,u&&u.suspense)}:o!=="sync"&&(d=!0,r.scheduler=(m,p)=>{p?m():z5(m)}),r.augmentJob=m=>{t&&(m.flags|=4),d&&(m.flags|=2,u&&(m.id=u.uid,m.i=u))};const A=Ql(e,t,r);return w3&&(c?c.push(A):i&&A()),A}function Pl(e,t,n){const l=this.proxy,s=z1(e)?e.includes(".")?Un(l,e):()=>l[e]:e.bind(l,l);let o;F1(t)?o=t:(o=t.handler,n=t);const a=b4(this),r=j5(s,o.bind(l),n);return a(),r}function Un(e,t){const n=t.split(".");return()=>{let l=e;for(let s=0;se.__isTeleport,Xe=e=>e&&(e.disabled||e.disabled===""),Hl=e=>e&&(e.defer||e.defer===""),I6=e=>typeof SVGElement<"u"&&e instanceof SVGElement,M6=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,m5=(e,t)=>{const n=e&&e.to;return z1(n)?t?t(n):null:n},Ul={name:"Teleport",__isTeleport:!0,process(e,t,n,l,s,o,a,r,i,c){const{mc:u,pc:d,pbc:A,o:{insert:m,querySelector:p,createText:g,createComment:x,parentNode:$}}=c,k=Xe(t.props);let{dynamicChildren:N}=t;const C=(S,I,D)=>{S.shapeFlag&16&&u(S.children,I,D,s,o,a,r,i)},b=(S=t)=>{const I=Xe(S.props),D=S.target=m5(S.props,p),_=g5(D,S,g,m);D&&(a!=="svg"&&I6(D)?a="svg":a!=="mathml"&&M6(D)&&(a="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(D),I||(C(S,D,_),W3(S,!1)))},B=S=>{const I=()=>{if(De.get(S)===I){if(De.delete(S),Xe(S.props)){const D=$(S.el)||n;C(S,D,S.anchor),W3(S,!0)}b(S)}};De.set(S,I),k2(I,o)};if(e==null){const S=t.el=g(""),I=t.anchor=g("");if(m(S,n,l),m(I,n,l),Hl(t.props)||o&&o.pendingBranch){B(t);return}k&&(C(t,n,I),W3(t,!0)),b()}else{t.el=e.el;const S=t.anchor=e.anchor,I=De.get(e);if(I){I.flags|=8,De.delete(e),B(t);return}t.targetStart=e.targetStart;const D=t.target=e.target,_=t.targetAnchor=e.targetAnchor,K=Xe(e.props),G=K?n:D,j=K?S:_;if(a==="svg"||I6(D)?a="svg":(a==="mathml"||M6(D))&&(a="mathml"),N?(A(e.dynamicChildren,N,G,s,o,a,r),t6(e,t,!0)):i||d(e,t,G,j,s,o,a,r,!1),k)K?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):I4(t,n,S,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const f1=m5(t.props,p);f1&&(t.target=f1,I4(t,f1,null,c,0))}else K&&I4(t,D,_,c,1);W3(t,k)}},remove(e,t,n,{um:l,o:{remove:s}},o){const{shapeFlag:a,children:r,anchor:i,targetStart:c,targetAnchor:u,target:d,props:A}=e,m=Xe(A),p=o||!m,g=De.get(e);if(g&&(g.flags|=8,De.delete(e)),d&&(s(c),s(u)),o&&s(i),!g&&(m||d)&&a&16)for(let x=0;x{e.isMounted=!0}),gt(()=>{e.isUnmounting=!0}),e}const F2=[Function,Array],Jn={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:F2,onEnter:F2,onAfterEnter:F2,onEnterCancelled:F2,onBeforeLeave:F2,onLeave:F2,onAfterLeave:F2,onLeaveCancelled:F2,onBeforeAppear:F2,onAppear:F2,onAfterAppear:F2,onAppearCancelled:F2},zn=e=>{const t=e.subTree;return t.component?zn(t.component):t},jl={name:"BaseTransition",props:Jn,setup(e,{slots:t}){const n=l6(),l=zl();return()=>{const s=t.default&&qn(t.default(),!0),o=s&&s.length?jn(s):n.subTree?O():void 0;if(!o)return;const a=Q1(e),{mode:r}=a;if(l.isLeaving)return Ot(o);const i=V4(o);if(!i)return Ot(o);let c=v5(i,a,l,n,d=>c=d);i.type!==g2&&n4(i,c);let u=n.subTree&&V4(n.subTree);if(u&&u.type!==g2&&!qe(u,i)&&zn(n).type!==g2){let d=v5(u,a,l,n);if(n4(u,d),r==="out-in"&&i.type!==g2)return l.isLeaving=!0,d.afterLeave=()=>{l.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,u=void 0},Ot(o);r==="in-out"&&i.type!==g2?d.delayLeave=(A,m,p)=>{const g=Xn(l,u);g[String(u.key)]=u,A[S2]=()=>{m(),A[S2]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{p(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return o}}};function jn(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==g2){t=n;break}}return t}const Xl=jl;function Xn(e,t){const{leavingVNodes:n}=e;let l=n.get(t.type);return l||(l=Object.create(null),n.set(t.type,l)),l}function v5(e,t,n,l,s){const{appear:o,mode:a,persisted:r=!1,onBeforeEnter:i,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:A,onLeave:m,onAfterLeave:p,onLeaveCancelled:g,onBeforeAppear:x,onAppear:$,onAfterAppear:k,onAppearCancelled:N}=t,C=String(e.key),b=Xn(n,e),B=(D,_)=>{D&&$2(D,l,9,_)},S=(D,_)=>{const K=_[1];B(D,_),C1(D)?D.every(G=>G.length<=1)&&K():D.length<=1&&K()},I={mode:a,persisted:r,beforeEnter(D){let _=i;if(!n.isMounted)if(o)_=x||i;else return;D[S2]&&D[S2](!0);const K=b[C];K&&qe(e,K)&&K.el[S2]&&K.el[S2](),B(_,[D])},enter(D){if(b[C]===e)return;let _=c,K=u,G=d;if(!n.isMounted)if(o)_=$||c,K=k||u,G=N||d;else return;let j=!1;D[$3]=u1=>{j||(j=!0,u1?B(G,[D]):B(K,[D]),I.delayedLeave&&I.delayedLeave(),D[$3]=void 0)};const f1=D[$3].bind(null,!1);_?S(_,[D,f1]):f1()},leave(D,_){const K=String(e.key);if(D[$3]&&D[$3](!0),n.isUnmounting)return _();B(A,[D]);let G=!1;D[S2]=f1=>{G||(G=!0,_(),f1?B(g,[D]):B(p,[D]),D[S2]=void 0,b[K]===e&&delete b[K])};const j=D[S2].bind(null,!1);b[K]=e,m?S(m,[D,j]):j()},clone(D){const _=v5(D,t,n,l,s);return s&&s(_),_}};return I}function Ot(e){if(y4(e))return e=Ne(e),e.children=null,e}function V4(e){if(!y4(e))return pt(e.type)&&e.children?jn(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&F1(n.default))return n.default()}}function n4(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;n4(pt(n.type)&&V4(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function qn(e,t=!1,n){let l=[],s=0;for(let o=0;o1)for(let o=0;oY3(g,t&&(C1(t)?t[x]:t),n,l,s));return}if(v3(l)&&!s){l.shapeFlag&512&&l.type.__asyncResolved&&l.component.subTree.component&&Y3(e,t,n,l.component.subTree);return}const o=l.shapeFlag&4?bt(l.component):l.el,a=s?null:o,{i:r,r:i}=e,c=t&&t.r,u=r.refs===N1?r.refs={}:r.refs,d=r.setupState,A=Q1(d),m=d===N1?mn:g=>E6(u,g)?!1:L1(A,g),p=(g,x)=>!(x&&E6(u,x));if(c!=null&&c!==i){if(D6(t),z1(c))u[c]=null,m(c)&&(d[c]=null);else if(i2(c)){const g=t;p(c,g.k)&&(c.value=null),g.k&&(u[g.k]=null)}}if(F1(i))g4(i,r,12,[a,u]);else{const g=z1(i),x=i2(i);if(g||x){const $=()=>{if(e.f){const k=g?m(i)?d[i]:u[i]:p()||!e.k?i.value:u[e.k];if(s)C1(k)&&W5(k,o);else if(C1(k))k.includes(o)||k.push(o);else if(g)u[i]=[o],m(i)&&(d[i]=u[i]);else{const N=[o];p(i,e.k)&&(i.value=N),e.k&&(u[e.k]=N)}}else g?(u[i]=a,m(i)&&(d[i]=a)):x&&(p(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const k=()=>{$(),P4.delete(e)};k.id=-1,P4.set(e,k),k2(k,n)}else D6(e),$()}}}function D6(e){const t=P4.get(e);t&&(t.flags|=8,P4.delete(e))}const Z6=e=>e.nodeType===8;dt().requestIdleCallback;dt().cancelIdleCallback;function ql(e,t){if(Z6(e)&&e.data==="["){let n=1,l=e.nextSibling;for(;l;){if(l.nodeType===1){if(t(l)===!1)break}else if(Z6(l))if(l.data==="]"){if(--n===0)break}else l.data==="["&&n++;l=l.nextSibling}}else t(e)}const v3=e=>!!e.type.__asyncLoader;function es(e){F1(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:l,delay:s=200,hydrate:o,timeout:a,suspensible:r=!0,onError:i}=e;let c=null,u,d=0;const A=()=>(d++,c=null,m()),m=()=>{let p;return c||(p=c=t().catch(g=>{if(g=g instanceof Error?g:new Error(String(g)),i)return new Promise((x,$)=>{i(g,()=>x(A()),()=>$(g),d+1)});throw g}).then(g=>p!==c&&c?c:(g&&(g.__esModule||g[Symbol.toStringTag]==="Module")&&(g=g.default),u=g,g)))};return K1({name:"AsyncComponentWrapper",__asyncLoader:m,__asyncHydrate(p,g,x){const $=p.isConnected;let k=!1;(g.bu||(g.bu=[])).push(()=>k=!0);const N=()=>{k||!p.parentNode||$&&!p.isConnected||x()},C=o?()=>{const b=o(N,B=>ql(p,B));b&&(g.bum||(g.bum=[])).push(b)}:N;u?C():m().then(()=>!g.isUnmounted&&C())},get __asyncResolved(){return u},setup(){const p=f2;if(X5(p),u)return()=>M4(u,p);const g=b=>{c=null,v4(b,p,13,!l)};if(r&&p.suspense||w3)return m().then(b=>()=>M4(b,p)).catch(b=>(g(b),()=>l?M(l,{error:b}):null));const x=V(!1),$=V(),k=V(!!s);let N,C;return Oe(()=>{N!=null&&clearTimeout(N),C!=null&&clearTimeout(C)}),s&&(C=setTimeout(()=>{p.isUnmounted||(k.value=!1)},s)),a!=null&&(N=setTimeout(()=>{if(!p.isUnmounted&&!x.value&&!$.value){const b=new Error(`Async component timed out after ${a}ms.`);g(b),$.value=b}},a)),m().then(()=>{p.isUnmounted||(x.value=!0,p.parent&&y4(p.parent.vnode)&&p.parent.update())}).catch(b=>{if(p.isUnmounted){c=null;return}g(b),$.value=b}),()=>{if(x.value&&u)return M4(u,p);if($.value&&l)return M(l,{error:$.value});if(n&&!k.value)return M4(n,p)}}})}function M4(e,t){const{ref:n,props:l,children:s,ce:o}=t.vnode,a=M(e,l,s);return a.ref=n,a.ce=o,delete t.vnode.ce,a}const y4=e=>e.type.__isKeepAlive;function ts(e,t){e8(e,"a",t)}function ns(e,t){e8(e,"da",t)}function e8(e,t,n=f2){const l=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(mt(t,l,n),n){let s=n.parent;for(;s&&s.parent;)y4(s.parent.vnode)&&ls(l,t,n,s),s=s.parent}}function ls(e,t,n,l){const s=mt(t,e,l,!0);Oe(()=>{W5(l[t],s)},n)}function mt(e,t,n=f2,l=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...a)=>{ve();const r=b4(n),i=$2(t,n,e,a);return r(),ye(),i});return l?s.unshift(o):s.push(o),o}}const we=e=>(t,n=f2)=>{(!w3||e==="sp")&&mt(e,(...l)=>t(...l),n)},ss=we("bm"),o2=we("m"),os=we("bu"),as=we("u"),gt=we("bum"),Oe=we("um"),rs=we("sp"),is=we("rtg"),cs=we("rtc");function us(e,t=f2){mt("ec",e,t)}const t8="components";function H4(e,t){return l8(t8,e,!0,t)||e}const n8=Symbol.for("v-ndc");function A2(e){return z1(e)?l8(t8,e,!1)||e:e||n8}function l8(e,t,n=!0,l=!1){const s=h2||f2;if(s){const o=s.type;{const r=Ys(o,!1);if(r&&(r===t||r===y2(t)||r===ut(y2(t))))return o}const a=F6(s[e]||o[e],t)||F6(s.appContext[e],t);return!a&&l?o:a}}function F6(e,t){return e&&(e[t]||e[y2(t)]||e[ut(y2(t))])}function _1(e,t,n,l){let s;const o=n,a=C1(e);if(a||z1(e)){const r=a&&s3(e);let i=!1,c=!1;r&&(i=!R2(e),c=be(e),e=ht(e)),s=new Array(e.length);for(let u=0,d=e.length;ut(r,i,void 0,o));else{const r=Object.keys(e);s=new Array(r.length);for(let i=0,c=r.length;i{const o=l.fn(...s);return o&&(o.key=l.key),o}:l.fn)}return e}function G1(e,t,n,l,s,o){if(n==null&&(n={}),h2.ce||h2.parent&&v3(h2.parent)&&h2.parent.ce){const c=n,u=Object.keys(c).length>0;return t!=="default"&&(c.name=t),h(),Q(e1,null,[M("slot",c,l&&l())],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const r=ge.length;h();let i;try{const c=a&&s8(a(n)),u=n.key||o||c&&c.key;i=Q(e1,{key:(u&&!L2(u)?u:`_${t}`)+(!c&&l?"_fb":"")},c||(l?l():[]),c&&e._===1?64:-2)}catch(c){for(let u=ge.length;u>r;u--)n6();throw c}finally{a&&a._c&&(a._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function s8(e){return e.some(t=>s4(t)?!(t.type===g2||t.type===e1&&!s8(t.children)):!0)?e:null}const b5=e=>e?C8(e)?bt(e):b5(e.parent):null,J3=s2(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>b5(e.parent),$root:e=>b5(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>a8(e),$forceUpdate:e=>e.f||(e.f=()=>{z5(e.update)}),$nextTick:e=>e.n||(e.n=e4.bind(e.proxy)),$watch:e=>Pl.bind(e)}),Gt=(e,t)=>e!==N1&&!e.__isScriptSetup&&L1(e,t),ds={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:l,data:s,props:o,accessCache:a,type:r,appContext:i}=e;if(t[0]!=="$"){const A=a[t];if(A!==void 0)switch(A){case 1:return l[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Gt(l,t))return a[t]=1,l[t];if(s!==N1&&L1(s,t))return a[t]=2,s[t];if(L1(o,t))return a[t]=3,o[t];if(n!==N1&&L1(n,t))return a[t]=4,n[t];k5&&(a[t]=0)}}const c=J3[t];let u,d;if(c)return t==="$attrs"&&m2(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==N1&&L1(n,t))return a[t]=4,n[t];if(d=i.config.globalProperties,L1(d,t))return d[t]},set({_:e},t,n){const{data:l,setupState:s,ctx:o}=e;return Gt(s,t)?(s[t]=n,!0):l!==N1&&L1(l,t)?(l[t]=n,!0):L1(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:l,appContext:s,props:o,type:a}},r){let i;return!!(n[r]||e!==N1&&r[0]!=="$"&&L1(e,r)||Gt(t,r)||L1(o,r)||L1(l,r)||L1(J3,r)||L1(s.config.globalProperties,r)||(i=a.__cssModules)&&i[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:L1(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function U4(e){return C1(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function B6(e,t){return!e||!t?e||t:C1(e)&&C1(t)?e.concat(t):s2({},U4(e),U4(t))}let k5=!0;function fs(e){const t=a8(e),n=e.proxy,l=e.ctx;k5=!1,t.beforeCreate&&S6(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:a,watch:r,provide:i,inject:c,created:u,beforeMount:d,mounted:A,beforeUpdate:m,updated:p,activated:g,deactivated:x,beforeDestroy:$,beforeUnmount:k,destroyed:N,unmounted:C,render:b,renderTracked:B,renderTriggered:S,errorCaptured:I,serverPrefetch:D,expose:_,inheritAttrs:K,components:G,directives:j,filters:f1}=t;if(c&&hs(c,l,null),a)for(const M1 in a){const i1=a[M1];F1(i1)&&(l[M1]=i1.bind(n))}if(s){const M1=s.call(n,n);T1(M1)&&(e.data=At(M1))}if(k5=!0,o)for(const M1 in o){const i1=o[M1],v1=F1(i1)?i1.bind(n,n):F1(i1.get)?i1.get.bind(n,n):ee,r1=!F1(i1)&&F1(i1.set)?i1.set.bind(n):ee,U1=z({get:v1,set:r1});Object.defineProperty(l,M1,{enumerable:!0,configurable:!0,get:()=>U1.value,set:b1=>U1.value=b1})}if(r)for(const M1 in r)o8(r[M1],l,n,M1);if(i){const M1=F1(i)?i.call(n):i;Reflect.ownKeys(M1).forEach(i1=>{K4(i1,M1[i1])})}u&&S6(u,e,"c");function A1(M1,i1){C1(i1)?i1.forEach(v1=>M1(v1.bind(n))):i1&&M1(i1.bind(n))}if(A1(ss,d),A1(o2,A),A1(os,m),A1(as,p),A1(ts,g),A1(ns,x),A1(us,I),A1(cs,B),A1(is,S),A1(gt,k),A1(Oe,C),A1(rs,D),C1(_))if(_.length){const M1=e.exposed||(e.exposed={});_.forEach(i1=>{Object.defineProperty(M1,i1,{get:()=>n[i1],set:v1=>n[i1]=v1,enumerable:!0})})}else e.exposed||(e.exposed={});b&&e.render===ee&&(e.render=b),K!=null&&(e.inheritAttrs=K),G&&(e.components=G),j&&(e.directives=j),D&&X5(e)}function hs(e,t,n=ee){C1(e)&&(e=x5(e));for(const l in e){const s=e[l];let o;T1(s)?"default"in s?o=W2(s.from||l,s.default,!0):o=W2(s.from||l):o=W2(s),i2(o)?Object.defineProperty(t,l,{enumerable:!0,configurable:!0,get:()=>o.value,set:a=>o.value=a}):t[l]=o}}function S6(e,t,n){$2(C1(e)?e.map(l=>l.bind(t.proxy)):e.bind(t.proxy),t,n)}function o8(e,t,n,l){let s=l.includes(".")?Un(n,l):()=>n[l];if(z1(e)){const o=t[e];F1(o)&&H1(s,o)}else if(F1(e))H1(s,e.bind(n));else if(T1(e))if(C1(e))e.forEach(o=>o8(o,t,n,l));else{const o=F1(e.handler)?e.handler.bind(n):t[e.handler];F1(o)&&H1(s,o,e)}}function a8(e){const t=e.type,{mixins:n,extends:l}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,r=o.get(t);let i;return r?i=r:!s.length&&!n&&!l?i=t:(i={},s.length&&s.forEach(c=>Y4(i,c,a,!0)),Y4(i,t,a)),T1(t)&&o.set(t,i),i}function Y4(e,t,n,l=!1){const{mixins:s,extends:o}=t;o&&Y4(e,o,n,!0),s&&s.forEach(a=>Y4(e,a,n,!0));for(const a in t)if(!(l&&a==="expose")){const r=As[a]||n&&n[a];e[a]=r?r(e[a],t[a]):t[a]}return e}const As={data:R6,props:$6,emits:$6,methods:L3,computed:L3,beforeCreate:b2,created:b2,beforeMount:b2,mounted:b2,beforeUpdate:b2,updated:b2,beforeDestroy:b2,beforeUnmount:b2,destroyed:b2,unmounted:b2,activated:b2,deactivated:b2,errorCaptured:b2,serverPrefetch:b2,components:L3,directives:L3,watch:ms,provide:R6,inject:ps};function R6(e,t){return t?e?function(){return s2(F1(e)?e.call(this,this):e,F1(t)?t.call(this,this):t)}:t:e}function ps(e,t){return L3(x5(e),x5(t))}function x5(e){if(C1(e)){const t={};for(let n=0;n{let u,d=N1,A;return Vl(()=>{const m=e[s];d2(u,m)&&(u=m,c())}),{get(){return i(),n.get?n.get(u):u},set(m){const p=n.set?n.set(m):m;if(!d2(p,u)&&!(d!==N1&&d2(m,d)))return;const g=l.vnode.props,x=!!(g&&(t in g||s in g||o in g)&&(`onUpdate:${t}`in g||`onUpdate:${s}`in g||`onUpdate:${o}`in g));x||(u=m,c()),l.emit(`update:${t}`,p),d2(m,d)&&(d2(m,p)&&!d2(p,A)||x&&d!==N1&&!d2(p,u))&&c(),d=m,A=p}}});return r[Symbol.iterator]=()=>{let i=0;return{next(){return i<2?{value:i++?a||N1:r,done:!1}:{done:!0}}}},r}const i8=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${y2(t)}Modifiers`]||e[`${xe(t)}Modifiers`];function bs(e,t,...n){if(e.isUnmounted)return;const l=e.vnode.props||N1;let s=n;const o=t.startsWith("update:"),a=o&&i8(l,t.slice(7));a&&(a.trim&&(s=n.map(u=>z1(u)?u.trim():u)),a.number&&(s=s.map(T5)));let r,i=l[r=Rt(t)]||l[r=Rt(y2(t))];!i&&o&&(i=l[r=Rt(xe(t))]),i&&$2(i,e,6,s);const c=l[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,$2(c,e,6,s)}}const ks=new WeakMap;function c8(e,t,n=!1){const l=n?ks:t.emitsCache,s=l.get(e);if(s!==void 0)return s;const o=e.emits;let a={},r=!1;if(!F1(e)){const i=c=>{const u=c8(c,t,!0);u&&(r=!0,s2(a,u))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!o&&!r?(T1(e)&&l.set(e,null),null):(C1(o)?o.forEach(i=>a[i]=null):s2(a,o),T1(e)&&l.set(e,a),a)}function vt(e,t){return!e||!rt(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),L1(e,t[0].toLowerCase()+t.slice(1))||L1(e,xe(t))||L1(e,t))}function N6(e){const{type:t,vnode:n,proxy:l,withProxy:s,propsOptions:[o],slots:a,attrs:r,emit:i,render:c,renderCache:u,props:d,data:A,setupState:m,ctx:p,inheritAttrs:g}=e,x=T4(e);let $,k;try{if(n.shapeFlag&4){const C=s||l,b=C;$=j2(c.call(b,C,u,d,m,A,p)),k=r}else{const C=t;$=j2(C.length>1?C(d,{attrs:r,slots:a,emit:i}):C(d,null)),k=t.props?r:xs(r)}}catch(C){ge.length=0,v4(C,e,1),$=M(g2)}let N=$;if(k&&g!==!1){const C=Object.keys(k),{shapeFlag:b}=N;C.length&&b&7&&(o&&C.some(it)&&(k=ws(k,o)),N=Ne(N,k,!1,!0))}if(n.dirs&&(N=Ne(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition){const C=pt(N.type)&&V4(N)||N;n4(C,n.transition)}return $=N,T4(x),$}const xs=e=>{let t;for(const n in e)(n==="class"||n==="style"||rt(n))&&((t||(t={}))[n]=e[n]);return t},ws=(e,t)=>{const n={};for(const l in e)(!it(l)||!(l.slice(9)in t))&&(n[l]=e[l]);return n};function Cs(e,t,n){const{props:l,children:s,component:o}=e,{props:a,children:r,patchFlag:i}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return l?K6(l,a,c):!!a;if(i&8){const u=t.dynamicProps;for(let d=0;dObject.create(d8),h8=e=>Object.getPrototypeOf(e)===d8;function Is(e,t,n,l=!1){const s={},o=f8();e.propsDefaults=Object.create(null),A8(e,t,s,o);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);n?e.props=l?s:On(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Ms(e,t,n,l){const{props:s,attrs:o,vnode:{patchFlag:a}}=e,r=Q1(s),[i]=e.propsOptions;let c=!1;if((l||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let d=0;d{i=!0;const[A,m]=p8(d,t,!0);s2(a,A),m&&r.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!i)return T1(e)&&l.set(e,m3),m3;if(C1(o))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",e6=e=>C1(e)?e.map(j2):[j2(e)],Ds=(e,t,n)=>{if(t._n)return t;const l=E((...s)=>e6(t(...s)),n);return l._c=!1,l},m8=(e,t,n)=>{const l=e._ctx;for(const s in e){if(q5(s))continue;const o=e[s];if(F1(o))t[s]=Ds(s,o,l);else if(o!=null){const a=e6(o);t[s]=()=>a}}},g8=(e,t)=>{const n=e6(t);e.slots.default=()=>n},v8=(e,t,n)=>{for(const l in t)(n||!q5(l))&&(e[l]=t[l])},Zs=(e,t,n)=>{const l=e.slots=f8();if(e.vnode.shapeFlag&32){const s=t._;s?(v8(l,t,n),n&&bn(l,"_",s,!0)):m8(t,l)}else t&&g8(e,t)},Fs=(e,t,n)=>{const{vnode:l,slots:s}=e;let o=!0,a=N1;if(l.shapeFlag&32){const r=t._;r?n&&r===1?o=!1:v8(s,t,n):(o=!t.$stable,m8(t,s)),a=t}else t&&(g8(e,t),a={default:1});if(o)for(const r in s)!q5(r)&&a[r]==null&&delete s[r]},k2=Ns;function Bs(e){return Ss(e)}function Ss(e,t){const n=dt();n.__VUE__=!0;const{insert:l,remove:s,patchProp:o,createElement:a,createText:r,createComment:i,setText:c,setElementText:u,parentNode:d,nextSibling:A,setScopeId:m=ee,insertStaticContent:p}=e,g=(w,Z,R,Y=null,J=null,U=null,a1=void 0,n1=null,l1=!!Z.dynamicChildren)=>{if(w===Z)return;w&&!qe(w,Z)&&(Y=L(w),b1(w,J,U,!0),w=null),Z.patchFlag===-2&&(l1=!1,Z.dynamicChildren=null);const{type:q,ref:k1,shapeFlag:c1}=Z;switch(q){case yt:x(w,Z,R,Y);break;case g2:$(w,Z,R,Y);break;case Q4:w==null&&k(Z,R,Y,a1);break;case e1:G(w,Z,R,Y,J,U,a1,n1,l1);break;default:c1&1?b(w,Z,R,Y,J,U,a1,n1,l1):c1&6?j(w,Z,R,Y,J,U,a1,n1,l1):(c1&64||c1&128)&&q.process(w,Z,R,Y,J,U,a1,n1,l1,p1)}k1!=null&&J?Y3(k1,w&&w.ref,U,Z||w,!Z):k1==null&&w&&w.ref!=null&&Y3(w.ref,null,U,w,!0)},x=(w,Z,R,Y)=>{if(w==null)l(Z.el=r(Z.children),R,Y);else{const J=Z.el=w.el;Z.children!==w.children&&c(J,Z.children)}},$=(w,Z,R,Y)=>{w==null?l(Z.el=i(Z.children||""),R,Y):Z.el=w.el},k=(w,Z,R,Y)=>{[w.el,w.anchor]=p(w.children,Z,R,Y,w.el,w.anchor)},N=({el:w,anchor:Z},R,Y)=>{let J;for(;w&&w!==Z;)J=A(w),l(w,R,Y),w=J;l(Z,R,Y)},C=({el:w,anchor:Z})=>{let R;for(;w&&w!==Z;)R=A(w),s(w),w=R;s(Z)},b=(w,Z,R,Y,J,U,a1,n1,l1)=>{if(Z.type==="svg"?a1="svg":Z.type==="math"&&(a1="mathml"),w==null)B(Z,R,Y,J,U,a1,n1,l1);else{const q=w.el&&w.el._isVueCE?w.el:null;try{q&&q._beginPatch(),D(w,Z,J,U,a1,n1,l1)}finally{q&&q._endPatch()}}},B=(w,Z,R,Y,J,U,a1,n1)=>{let l1,q;const{props:k1,shapeFlag:c1,transition:y1,dirs:I1}=w;if(l1=w.el=a(w.type,U,k1&&k1.is,k1),c1&8?u(l1,w.children):c1&16&&I(w.children,l1,null,Y,J,Wt(w,U),a1,n1),I1&&Le(w,null,Y,"created"),S(l1,w,w.scopeId,a1,Y),k1){for(const H in k1)H!=="value"&&!P3(H)&&o(l1,H,null,k1[H],U,Y);"value"in k1&&o(l1,"value",null,k1.value,U),(q=k1.onVnodeBeforeMount)&&U2(q,Y,w)}I1&&Le(w,null,Y,"beforeMount");const P=Rs(J,y1);P&&y1.beforeEnter(l1),l(l1,Z,R),((q=k1&&k1.onVnodeMounted)||P||I1)&&k2(()=>{try{q&&U2(q,Y,w),P&&y1.enter(l1),I1&&Le(w,null,Y,"mounted")}finally{}},J)},S=(w,Z,R,Y,J)=>{if(R&&m(w,R),Y)for(let U=0;U{for(let q=l1;q{const n1=Z.el=w.el;let{patchFlag:l1,dynamicChildren:q,dirs:k1}=Z;l1|=w.patchFlag&16;const c1=w.props||N1,y1=Z.props||N1;let I1;if(R&&Te(R,!1),(I1=y1.onVnodeBeforeUpdate)&&U2(I1,R,Z,w),k1&&Le(Z,w,R,"beforeUpdate"),R&&Te(R,!0),q&&(!w.dynamicChildren||w.dynamicChildren.length!==q.length)&&(l1=0,a1=!1,q=null),(c1.innerHTML&&y1.innerHTML==null||c1.textContent&&y1.textContent==null)&&u(n1,""),q?_(w.dynamicChildren,q,n1,R,Y,Wt(Z,J),U):a1||i1(w,Z,n1,null,R,Y,Wt(Z,J),U,!1),l1>0){if(l1&16)K(n1,c1,y1,R,J);else if(l1&2&&c1.class!==y1.class&&o(n1,"class",null,y1.class,J),l1&4&&o(n1,"style",c1.style,y1.style,J),l1&8){const P=Z.dynamicProps;for(let H=0;H{I1&&U2(I1,R,Z,w),k1&&Le(Z,w,R,"updated")},Y)},_=(w,Z,R,Y,J,U,a1)=>{for(let n1=0;n1{if(Z!==R){if(Z!==N1)for(const U in Z)!P3(U)&&!(U in R)&&o(w,U,Z[U],null,J,Y);for(const U in R){if(P3(U))continue;const a1=R[U],n1=Z[U];a1!==n1&&U!=="value"&&o(w,U,n1,a1,J,Y)}"value"in R&&o(w,"value",Z.value,R.value,J)}},G=(w,Z,R,Y,J,U,a1,n1,l1)=>{const q=Z.el=w?w.el:r(""),k1=Z.anchor=w?w.anchor:r("");let{patchFlag:c1,dynamicChildren:y1,slotScopeIds:I1}=Z;I1&&(n1=n1?n1.concat(I1):I1),w==null?(l(q,R,Y),l(k1,R,Y),I(Z.children||[],R,k1,J,U,a1,n1,l1)):c1>0&&c1&64&&y1&&w.dynamicChildren&&w.dynamicChildren.length===y1.length?(_(w.dynamicChildren,y1,R,J,U,a1,n1),(Z.key!=null||J&&Z===J.subTree)&&t6(w,Z,!0)):i1(w,Z,R,k1,J,U,a1,n1,l1)},j=(w,Z,R,Y,J,U,a1,n1,l1)=>{Z.slotScopeIds=n1,w==null?Z.shapeFlag&512?J.ctx.activate(Z,R,Y,a1,l1):f1(Z,R,Y,J,U,a1,l1):u1(w,Z,l1)},f1=(w,Z,R,Y,J,U,a1)=>{const n1=w.component=Ts(w,Y,J);if(y4(w)&&(n1.ctx.renderer=p1),Vs(n1,!1,a1),n1.asyncDep){if(J&&J.registerDep(n1,A1,a1),!w.el){const l1=n1.subTree=M(g2);$(null,l1,Z,R),w.placeholder=l1.el}}else A1(n1,w,Z,R,J,U,a1)},u1=(w,Z,R)=>{const Y=Z.component=w.component;if(Cs(w,Z,R))if(Y.asyncDep&&!Y.asyncResolved){M1(Y,Z,R);return}else Y.next=Z,Y.update();else Z.el=w.el,Y.vnode=Z},A1=(w,Z,R,Y,J,U,a1)=>{const n1=()=>{if(w.isMounted){let{next:c1,bu:y1,u:I1,parent:P,vnode:H}=w;{const _2=y8(w);if(_2){c1&&(c1.el=H.el,M1(w,c1,a1)),_2.asyncDep.then(()=>{k2(()=>{w.isUnmounted||q()},J)});return}}let Z1=c1,R1;Te(w,!1),c1?(c1.el=H.el,M1(w,c1,a1)):c1=H,y1&&N4(y1),(R1=c1.props&&c1.props.onVnodeBeforeUpdate)&&U2(R1,P,c1,H),Te(w,!0);const t1=N6(w),e2=w.subTree;w.subTree=t1,g(e2,t1,d(e2.el),L(e2),w,J,U),c1.el=t1.el,Z1===null&&_s(w,t1.el),I1&&k2(I1,J),(R1=c1.props&&c1.props.onVnodeUpdated)&&k2(()=>U2(R1,P,c1,H),J)}else{let c1;const{el:y1,props:I1}=Z,{bm:P,m:H,parent:Z1,root:R1,type:t1}=w,e2=v3(Z);Te(w,!1),P&&N4(P),!e2&&(c1=I1&&I1.onVnodeBeforeMount)&&U2(c1,Z1,Z),Te(w,!0);{R1.ce&&R1.ce._hasShadowRoot()&&R1.ce._injectChildStyle(t1,w.parent?w.parent.type:void 0);const _2=w.subTree=N6(w);g(null,_2,R,Y,w,J,U),Z.el=_2.el}if(H&&k2(H,J),!e2&&(c1=I1&&I1.onVnodeMounted)){const _2=Z;k2(()=>U2(c1,Z1,_2),J)}(Z.shapeFlag&256||Z1&&v3(Z1.vnode)&&Z1.vnode.shapeFlag&256)&&w.a&&k2(w.a,J),w.isMounted=!0,Z=R=Y=null}};w.scope.on();const l1=w.effect=new _n(n1);w.scope.off();const q=w.update=l1.run.bind(l1),k1=w.job=l1.runIfDirty.bind(l1);k1.i=w,k1.id=w.uid,l1.scheduler=()=>z5(k1),Te(w,!0),q()},M1=(w,Z,R)=>{Z.component=w;const Y=w.vnode.props;w.vnode=Z,w.next=null,Ms(w,Z.props,Y,R),Fs(w,Z.children,R),ve(),_6(w),ye()},i1=(w,Z,R,Y,J,U,a1,n1,l1=!1)=>{const q=w&&w.children,k1=w?w.shapeFlag:0,c1=Z.children,{patchFlag:y1,shapeFlag:I1}=Z;if(y1>0){if(y1&128){r1(q,c1,R,Y,J,U,a1,n1,l1);return}else if(y1&256){v1(q,c1,R,Y,J,U,a1,n1,l1);return}}I1&8?(k1&16&&m1(q,J,U),c1!==q&&u(R,c1)):k1&16?I1&16?r1(q,c1,R,Y,J,U,a1,n1,l1):m1(q,J,U,!0):(k1&8&&u(R,""),I1&16&&I(c1,R,Y,J,U,a1,n1,l1))},v1=(w,Z,R,Y,J,U,a1,n1,l1)=>{w=w||m3,Z=Z||m3;const q=w.length,k1=Z.length,c1=Math.min(q,k1);let y1;for(y1=0;y1k1?m1(w,J,U,!0,!1,c1):I(Z,R,Y,J,U,a1,n1,l1,c1)},r1=(w,Z,R,Y,J,U,a1,n1,l1)=>{let q=0;const k1=Z.length;let c1=w.length-1,y1=k1-1;for(;q<=c1&&q<=y1;){const I1=w[q],P=Z[q]=l1?he(Z[q]):j2(Z[q]);if(qe(I1,P))g(I1,P,R,null,J,U,a1,n1,l1);else break;q++}for(;q<=c1&&q<=y1;){const I1=w[c1],P=Z[y1]=l1?he(Z[y1]):j2(Z[y1]);if(qe(I1,P))g(I1,P,R,null,J,U,a1,n1,l1);else break;c1--,y1--}if(q>c1){if(q<=y1){const I1=y1+1,P=I1y1)for(;q<=c1;)b1(w[q],J,U,!0),q++;else{const I1=q,P=q,H=new Map;for(q=P;q<=y1;q++){const p2=Z[q]=l1?he(Z[q]):j2(Z[q]);p2.key!=null&&H.set(p2.key,q)}let Z1,R1=0;const t1=y1-P+1;let e2=!1,_2=0;const _e=new Array(t1);for(q=0;q=t1){b1(p2,J,U,!0);continue}let I2;if(p2.key!=null)I2=H.get(p2.key);else for(Z1=P;Z1<=y1;Z1++)if(_e[Z1-P]===0&&qe(p2,Z[Z1])){I2=Z1;break}I2===void 0?b1(p2,J,U,!0):(_e[I2-P]=q+1,I2>=_2?_2=I2:e2=!0,g(p2,Z[I2],R,null,J,U,a1,n1,l1),R1++)}const B3=e2?$s(_e):m3;for(Z1=B3.length-1,q=t1-1;q>=0;q--){const p2=P+q,I2=Z[p2],S3=Z[p2+1],$1=p2+1{const{el:U,type:a1,transition:n1,children:l1,shapeFlag:q}=w;if(q&6){U1(w.component.subTree,Z,R,Y);return}if(q&128){w.suspense.move(Z,R,Y);return}if(q&64){a1.move(w,Z,R,p1);return}if(a1===e1){l(U,Z,R);for(let c1=0;c1n1.enter(U),J));else{const{leave:c1,delayLeave:y1,afterLeave:I1}=n1,P=()=>{w.ctx.isUnmounted?s(U):l(U,Z,R)},H=()=>{const Z1=U._isLeaving||!!U[S2];U._isLeaving&&U[S2](!0),n1.persisted&&!Z1?P():c1(U,()=>{P(),I1&&I1()})};y1?y1(U,P,H):H()}else l(U,Z,R)},b1=(w,Z,R,Y=!1,J=!1)=>{const{type:U,props:a1,ref:n1,children:l1,dynamicChildren:q,shapeFlag:k1,patchFlag:c1,dirs:y1,cacheIndex:I1,memo:P}=w;if(c1===-2&&(J=!1),n1!=null&&(ve(),Y3(n1,null,R,w,!0),ye()),I1!=null&&(Z.renderCache[I1]=void 0),k1&256){Z.ctx.deactivate(w);return}const H=k1&1&&y1,Z1=!v3(w);let R1;if(Z1&&(R1=a1&&a1.onVnodeBeforeUnmount)&&U2(R1,Z,w),k1&6)s1(w.component,R,Y);else{if(k1&128){w.suspense.unmount(R,Y);return}H&&Le(w,null,Z,"beforeUnmount"),k1&64?w.type.remove(w,Z,R,p1,Y):q&&!q.hasOnce&&(U!==e1||c1>0&&c1&64)?m1(q,Z,R,!1,!0):(U===e1&&c1&384||!J&&k1&16)&&m1(l1,Z,R),Y&&q1(w)}const t1=P!=null&&I1==null;(Z1&&(R1=a1&&a1.onVnodeUnmounted)||H||t1)&&k2(()=>{R1&&U2(R1,Z,w),H&&Le(w,null,Z,"unmounted"),t1&&(w.el=null)},R)},q1=w=>{const{type:Z,el:R,anchor:Y,transition:J}=w;if(Z===e1){j1(R,Y);return}if(Z===Q4){C(w);return}const U=()=>{s(R),J&&!J.persisted&&J.afterLeave&&J.afterLeave()};if(w.shapeFlag&1&&J&&!J.persisted){const{leave:a1,delayLeave:n1}=J,l1=()=>a1(R,U);n1?n1(w.el,U,l1):l1()}else U()},j1=(w,Z)=>{let R;for(;w!==Z;)R=A(w),s(w),w=R;s(Z)},s1=(w,Z,R)=>{const{bum:Y,scope:J,job:U,subTree:a1,um:n1,m:l1,a:q}=w;O6(l1),O6(q),Y&&N4(Y),J.stop(),U&&(U.flags|=8,b1(a1,w,Z,R)),n1&&k2(n1,Z),k2(()=>{w.isUnmounted=!0},Z)},m1=(w,Z,R,Y=!1,J=!1,U=0)=>{for(let a1=U;a1{if(w.shapeFlag&6)return L(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const Z=A(w.anchor||w.el),R=Z&&Z[Yn];return R?A(R):Z};let X=!1;const W=(w,Z,R)=>{let Y;w==null?Z._vnode&&(b1(Z._vnode,null,null,!0),Y=Z._vnode.component):g(Z._vnode||null,w,Z,null,null,null,R),Z._vnode=w,X||(X=!0,_6(Y),Vn(),X=!1)},p1={p:g,um:b1,m:U1,r:q1,mt:f1,mc:I,pc:i1,pbc:_,n:L,o:e};return{render:W,hydrate:void 0,createApp:vs(W)}}function Wt({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Te({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Rs(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function t6(e,t,n=!1){const l=e.children,s=t.children;if(C1(l)&&C1(s))for(let o=0;o>1,e[n[r]]0&&(t[l]=n[o-1]),n[o]=l)}}for(o=n.length,a=n[o-1];o-- >0;)n[o]=a,a=t[a];return n}function y8(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:y8(t)}function O6(e){if(e)for(let t=0;te.__isSuspense;function Ns(e,t){t&&t.pendingBranch?C1(e)?t.effects.push(...e):t.effects.push(e):Wl(e)}const e1=Symbol.for("v-fgt"),yt=Symbol.for("v-txt"),g2=Symbol.for("v-cmt"),Q4=Symbol.for("v-stc"),ge=[];let D2=null;function h(e=!1){ge.push(D2=e?null:[])}function n6(){ge.pop(),D2=ge[ge.length-1]||null}let l4=1;function J4(e,t=!1){l4+=e,e<0&&D2&&t&&(D2.hasOnce=!0)}function x8(e){return e.dynamicChildren=l4>0?D2||m3:null,n6(),l4>0&&D2&&D2.push(e),e}function y(e,t,n,l,s,o){return x8(v(e,t,n,l,s,o,!0))}function Q(e,t,n,l,s){return x8(M(e,t,n,l,s,!0))}function s4(e){return e?e.__v_isVNode===!0:!1}function qe(e,t){return e.type===t.type&&e.key===t.key}const w8=({key:e})=>e??null,O4=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?z1(e)||i2(e)||F1(e)?{i:h2,r:e,k:t,f:!!n}:e:null);function v(e,t=null,n=null,l=0,s=null,o=e===e1?0:1,a=!1,r=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&w8(t),ref:t&&O4(t),scopeId:Hn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:l,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:h2};return r?(z4(i,n),o&128&&e.normalize(i)):n&&(i.shapeFlag|=z1(n)?8:16),l4>0&&!a&&D2&&(i.patchFlag>0||o&6)&&i.patchFlag!==32&&D2.push(i),i}const M=Ks;function Ks(e,t=null,n=null,l=0,s=null,o=!1){if((!e||e===n8)&&(e=g2),s4(e)){const r=Ne(e,t,!0);return n&&z4(r,n),l4>0&&!o&&D2&&(r.shapeFlag&6?D2[D2.indexOf(e)]=r:D2.push(r)),r.patchFlag=-2,r}if(Js(e)&&(e=e.__vccOpts),t){t=Qs(t);let{class:r,style:i}=t;r&&!z1(r)&&(t.class=o1(r)),T1(i)&&(J5(i)&&!C1(i)&&(i=s2({},i)),t.style=E2(i))}const a=z1(e)?1:k8(e)?128:pt(e)?64:T1(e)?4:F1(e)?2:0;return v(e,t,n,l,s,a,o,!0)}function Qs(e){return e?J5(e)||h8(e)?s2({},e):e:null}function Ne(e,t,n=!1,l=!1){const{props:s,ref:o,patchFlag:a,children:r,transition:i}=e,c=t?Gs(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&w8(c),ref:t&&t.ref?n&&o?C1(o)?o.concat(O4(t)):[o,O4(t)]:O4(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==e1?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ne(e.ssContent),ssFallback:e.ssFallback&&Ne(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&l&&n4(u,i.clone(u)),u}function T(e=" ",t=0){return M(yt,null,e,t)}function Os(e,t){const n=M(Q4,null,e);return n.staticCount=t,n}function O(e="",t=!1){return t?(h(),Q(g2,null,e)):M(g2,null,e)}function j2(e){return e==null||typeof e=="boolean"?M(g2):C1(e)?M(e1,null,e.slice()):s4(e)?he(e):M(yt,null,String(e))}function he(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ne(e)}function z4(e,t){let n=0;const{shapeFlag:l}=e;if(t==null)t=null;else if(C1(t))n=16;else if(typeof t=="object")if(l&65){const s=t.default;s&&(s._c&&(s._d=!1),z4(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!h8(t)?t._ctx=h2:s===3&&h2&&(h2.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(F1(t)){if(l&65){z4(e,{default:t});return}t={default:t,_ctx:h2},n=32}else t=String(t),l&64?(n=16,t=[T(t)]):n=8;e.children=t,e.shapeFlag|=n}function Gs(...e){const t={};for(let n=0;nf2||h2;let j4,o4;{const e=dt(),t=(n,l)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(l),o=>{s.length>1?s.forEach(a=>a(o)):s[0](o)}};j4=t("__VUE_INSTANCE_SETTERS__",n=>f2=n),o4=t("__VUE_SSR_SETTERS__",n=>w3=n)}const b4=e=>{const t=f2;return j4(e),e.scope.on(),()=>{e.scope.off(),j4(t)}},G6=()=>{f2&&f2.scope.off(),j4(null)};function C8(e){return e.vnode.shapeFlag&4}let w3=!1;function Vs(e,t=!1,n=!1){t&&o4(t);const{props:l,children:s}=e.vnode,o=C8(e);Is(e,l,o,t),Zs(e,s,n||t);const a=o?Ps(e,t):void 0;return t&&o4(!1),a}function Ps(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ds);const{setup:l}=n;if(l){ve();const s=e.setupContext=l.length>1?Us(e):null,o=b4(e),a=g4(l,e,0,[e.props,s]),r=gn(a);if(ye(),o(),(r||e.sp)&&!v3(e)&&X5(e),r){if(a.then(G6,G6),t)return a.then(i=>{o4(!0);try{W6(e,i,t)}finally{o4(!1)}}).catch(i=>{v4(i,e,0)});e.asyncDep=a}else W6(e,a)}else _8(e)}function W6(e,t,n){F1(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:T1(t)&&(e.setupState=Wn(t)),_8(e)}function _8(e,t,n){const l=e.type;e.render||(e.render=l.render||ee);{const s=b4(e);ve();try{fs(e)}finally{ye(),s()}}}const Hs={get(e,t){return m2(e,"get",""),e[t]}};function Us(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Hs),slots:e.slots,emit:e.emit,expose:t}}function bt(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Wn(Dl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in J3)return J3[n](e)},has(t,n){return n in t||n in J3}})):e.proxy}function Ys(e,t=!0){return F1(e)?e.displayName||e.name:e.name||t&&e.__name}function Js(e){return F1(e)&&"__vccOpts"in e}const z=(e,t)=>Nl(e,t,w3);function C3(e,t,n){try{J4(-1);const l=arguments.length;return l===2?T1(t)&&!C1(t)?s4(t)?M(e,null,[t]):M(e,t):M(e,null,t):(l>3?n=Array.prototype.slice.call(arguments,2):l===3&&s4(n)&&(n=[n]),M(e,t,n))}finally{J4(1)}}const zs="3.5.42";/** * @vue/runtime-dom v3.5.42 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let w5;const O6=typeof window<"u"&&window.trustedTypes;if(O6)try{w5=O6.createPolicy("vue",{createHTML:e=>e})}catch{}const C8=w5?e=>w5.createHTML(e):e=>e,Ys="http://www.w3.org/2000/svg",Us="http://www.w3.org/1998/Math/MathML",fe=typeof document<"u"?document:null,G6=fe&&fe.createElement("template"),Js={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,l)=>{const s=t==="svg"?fe.createElementNS(Ys,e):t==="mathml"?fe.createElementNS(Us,e):n?fe.createElement(e,{is:n}):fe.createElement(e);return e==="select"&&l&&l.multiple!=null&&s.setAttribute("multiple",l.multiple),s},createText:e=>fe.createTextNode(e),createComment:e=>fe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>fe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,l,s,o){const a=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{G6.innerHTML=C8(l==="svg"?`${e}`:l==="mathml"?`${e}`:e);const r=G6.content;if(l==="svg"||l==="mathml"){const i=r.firstChild;for(;i.firstChild;)r.appendChild(i.firstChild);r.removeChild(i)}t.insertBefore(r,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ie="transition",$3="animation",o4=Symbol("_vtc"),_8={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},zs=s2({},Hn,_8),js=e=>(e.displayName="Transition",e.props=zs,e),I8=js((e,{slots:t})=>x3(zl,Xs(e),t)),Ve=(e,t=[])=>{C1(e)?e.forEach(n=>n(...t)):e&&e(...t)},W6=e=>e?C1(e)?e.some(t=>t.length>1):e.length>1:!1;function Xs(e){const t={};for(const G in e)G in _8||(t[G]=e[G]);if(e.css===!1)return t;const{name:n="v",type:l,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:r=`${n}-enter-to`,appearFromClass:i=o,appearActiveClass:c=a,appearToClass:u=r,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:A=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,p=qs(s),g=p&&p[0],x=p&&p[1],{onBeforeEnter:$,onEnter:k,onEnterCancelled:K,onLeave:I,onLeaveCancelled:w,onBeforeAppear:S=$,onAppear:B=k,onAppearCancelled:_=K}=t,D=(G,j,f1,u1)=>{G._enterCancelled=u1,Te(G,j?u:r),Te(G,j?c:a),f1&&f1()},C=(G,j)=>{G._isLeaving=!1,Te(G,d),Te(G,m),Te(G,A),j&&j()},N=G=>(j,f1)=>{const u1=G?B:k,A1=()=>D(j,G,f1);Ve(u1,[j,A1]),L6(()=>{Te(j,G?i:o),ie(j,G?u:r),W6(u1)||V6(j,l,g,A1)})};return s2(t,{onBeforeEnter(G){Ve($,[G]),ie(G,o),ie(G,a)},onBeforeAppear(G){Ve(S,[G]),ie(G,i),ie(G,c)},onEnter:N(!1),onAppear:N(!0),onLeave(G,j){G._isLeaving=!0;const f1=()=>C(G,j);ie(G,d),G._enterCancelled?(ie(G,A),H6(G)):(H6(G),ie(G,A)),L6(()=>{G._isLeaving&&(Te(G,d),ie(G,m),W6(I)||V6(G,l,x,f1))}),Ve(I,[G,f1])},onEnterCancelled(G){D(G,!1,void 0,!0),Ve(K,[G])},onAppearCancelled(G){D(G,!0,void 0,!0),Ve(_,[G])},onLeaveCancelled(G){C(G),Ve(w,[G])}})}function qs(e){if(e==null)return null;if(V1(e))return[Wt(e.enter),Wt(e.leave)];{const t=Wt(e);return[t,t]}}function Wt(e){return el(e)}function ie(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[o4]||(e[o4]=new Set)).add(t)}function Te(e,t){t.split(/\s+/).forEach(l=>l&&e.classList.remove(l));const n=e[o4];n&&(n.delete(t),n.size||(e[o4]=void 0))}function L6(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let eo=0;function V6(e,t,n,l){const s=e._endId=++eo,o=()=>{s===e._endId&&l()};if(n!=null)return setTimeout(o,n);const{type:a,timeout:r,propCount:i}=to(e,t);if(!a)return l();const c=a+"end";let u=0;const d=()=>{e.removeEventListener(c,A),o()},A=m=>{m.target===e&&++u>=i&&d()};setTimeout(()=>{u(n[p]||"").split(", "),s=l(`${Ie}Delay`),o=l(`${Ie}Duration`),a=T6(s,o),r=l(`${$3}Delay`),i=l(`${$3}Duration`),c=T6(r,i);let u=null,d=0,A=0;t===Ie?a>0&&(u=Ie,d=a,A=o.length):t===$3?c>0&&(u=$3,d=c,A=i.length):(d=Math.max(a,c),u=d>0?a>c?Ie:$3:null,A=u?u===Ie?o.length:i.length:0);const m=u===Ie&&/\b(?:transform|all)(?:,|$)/.test(l(`${Ie}Property`).toString());return{type:u,timeout:d,propCount:A,hasTransform:m}}function T6(e,t){for(;e.lengthP6(n)+P6(e[l])))}function P6(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function H6(e){return(e?e.ownerDocument:document).body.offsetHeight}function no(e,t,n){const l=e[o4];l&&(t=(t?[t,...l]:[...l]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const J4=Symbol("_vod"),M8=Symbol("_vsh"),n6={name:"show",beforeMount(e,{value:t},{transition:n}){e[J4]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):N3(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:l}){!t!=!n&&(l?t?(l.beforeEnter(e),N3(e,!0),l.enter(e)):l.leave(e,()=>{N3(e,!1)}):N3(e,t))},beforeUnmount(e,{value:t}){N3(e,t)}};function N3(e,t){e.style.display=t?e[J4]:"none",e[M8]=!t}const lo=Symbol(""),so=/(?:^|;)\s*display\s*:/;function oo(e,t,n){const l=e.style,s=z1(n);let o=!1;if(n&&!s){if(t)if(z1(t))for(const a of t.split(";")){const r=a.slice(0,a.indexOf(":")).trim();n[r]==null&&L3(l,r,"")}else for(const a in t)n[a]==null&&L3(l,a,"");for(const a in n){a==="display"&&(o=!0);const r=n[a];r!=null?ro(e,a,!z1(t)&&t?t[a]:void 0,r)||L3(l,a,r):L3(l,a,"")}}else if(s){if(t!==n){const a=l[lo];a&&(n+=";"+a),l.cssText=n,o=so.test(n)}}else t&&e.removeAttribute("style");J4 in e&&(e[J4]=o?l.display:"",e[M8]&&(l.display="none"))}const C4=/\s*!important$/;function L3(e,t,n){if(C1(n))n.forEach(l=>L3(e,t,l));else if(n==null&&(n=""),t.startsWith("--"))C4.test(n)?e.setProperty(t,n.replace(C4,""),"important"):e.setProperty(t,n);else{const l=ao(e,t);C4.test(n)?e.setProperty(xe(l),n.replace(C4,""),"important"):e[l]=n}}const Y6=["Webkit","Moz","ms"],Lt={};function ao(e,t){const n=Lt[t];if(n)return n;let l=y2(t);if(l!=="filter"&&l in e)return Lt[t]=l;l=rt(l);for(let s=0;sVt||(Ao.then(()=>Vt=0),Vt=Date.now());function mo(e,t){const n=l=>{if(!l._vts)l._vts=Date.now();else if(l._vts<=n.attached)return;const s=n.value;if(C1(s)){const o=l.stopImmediatePropagation;l.stopImmediatePropagation=()=>{o.call(l),l._stopped=!0};const a=s.slice(),r=[l];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,go=(e,t,n,l,s,o)=>{const a=s==="svg";t==="class"?no(e,l,a):t==="style"?oo(e,n,l):st(t)?ot(t)||co(e,t,n,l,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):vo(e,t,l,a))?(z6(e,t,l),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&J6(e,t,l,a,o,t!=="value")):e._isVueCE&&(yo(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!z1(l)))?z6(e,y2(t),l,o,t):(t==="true-value"?e._trueValue=l:t==="false-value"&&(e._falseValue=l),J6(e,t,l,a))};function vo(e,t,n,l){if(l)return!!(t==="innerHTML"||t==="textContent"||t in e&&X6(t)&&F1(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return X6(t)&&z1(n)?!1:t in e}function yo(e,t){const n=e._def.props;if(!n)return!1;const l=y2(t);return Array.isArray(n)?n.some(s=>y2(s)===l):Object.keys(n).some(s=>y2(s)===l)}const z4=e=>{const t=e.props["onUpdate:modelValue"]||!1;return C1(t)?n=>S4(t,n):t};function bo(e){e.target.composing=!0}function q6(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const e3=Symbol("_assign"),_4=Symbol("_initialValue");function Tt(e,t,n){return t&&(e=e.trim()),n&&(e=L5(e)),e}const C5={created(e,{modifiers:{lazy:t,trim:n,number:l}},s){e.parentNode&&(e.type==="text"?e[_4]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[_4]=e.defaultValue.replace(/\r\n?/g,` -`))),e[e3]=z4(s);const o=l||s.props&&s.props.type==="number";qe(e,t?"change":"input",a=>{a.target.composing||e[e3](Tt(e.value,n,o))}),(n||o)&&qe(e,"change",()=>{e.value=Tt(e.value,n,o)}),t||(qe(e,"compositionstart",bo),qe(e,"compositionend",q6),qe(e,"change",q6))},mounted(e,{value:t,modifiers:{trim:n,number:l}}){const s=t??"",o=e[_4];delete e[_4],o!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==o?e[e3](Tt(e.value,n,l)):e.value=s},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:l,trim:s,number:o}},a){if(e[e3]=z4(a),e.composing)return;const r=(o||e.type==="number")&&!/^0\d/.test(e.value)?L5(e.value):e.value,i=t??"";if(r===i)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(l&&t===n||s&&e.value.trim()===i)||(e.value=i)}},bt={deep:!0,created(e,t,n){e[e3]=z4(n),qe(e,"change",()=>{const l=e._modelValue,s=ko(e),o=e.checked,a=e[e3];if(C1(l)){const r=yn(l,s),i=r!==-1;if(o&&!i)a(l.concat(s));else if(!o&&i){const c=[...l];c.splice(r,1),a(c)}}else if(b3(l)){const r=new Set(l);o?r.add(s):r.delete(s),a(r)}else a(E8(e,o))})},mounted:e7,beforeUpdate(e,t,n){e[e3]=z4(n),e7(e,t,n)}};function e7(e,{value:t,oldValue:n},l){e._modelValue=t;let s;if(C1(t))s=yn(t,l.props.value)>-1;else if(b3(t))s=t.has(l.props.value);else{if(t===n)return;s=E3(t,E8(e,!0))}e.checked!==s&&(e.checked=s)}function ko(e){return"_value"in e?e._value:e.value}function E8(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const xo=["ctrl","shift","alt","meta"],wo={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>xo.some(n=>e[`${n}Key`]&&!t.includes(n))},K2=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),l=t.join(".");return n[l]||(n[l]=((s,...o)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),l=t.join(".");return n[l]||(n[l]=(s=>{if(!("key"in s))return;const o=xe(s.key);if(t.some(a=>a===o||Co[a]===o))return e(s)}))},_o=s2({patchProp:go},Js);let t7;function Io(){return t7||(t7=Es(_o))}const Mo=((...e)=>{const t=Io().createApp(...e),{mount:n}=t;return t.mount=l=>{const s=Do(l);if(!s)return;const o=t._component;!F1(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=n(s,!1,Eo(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t});function Eo(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Do(e){return z1(e)?document.querySelector(e):e}/*! +**/let C5;const L6=typeof window<"u"&&window.trustedTypes;if(L6)try{C5=L6.createPolicy("vue",{createHTML:e=>e})}catch{}const I8=C5?e=>C5.createHTML(e):e=>e,js="http://www.w3.org/2000/svg",Xs="http://www.w3.org/1998/Math/MathML",fe=typeof document<"u"?document:null,T6=fe&&fe.createElement("template"),qs={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,l)=>{const s=t==="svg"?fe.createElementNS(js,e):t==="mathml"?fe.createElementNS(Xs,e):n?fe.createElement(e,{is:n}):fe.createElement(e);return e==="select"&&l&&l.multiple!=null&&s.setAttribute("multiple",l.multiple),s},createText:e=>fe.createTextNode(e),createComment:e=>fe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>fe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,l,s,o){const a=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{T6.innerHTML=I8(l==="svg"?`${e}`:l==="mathml"?`${e}`:e);const r=T6.content;if(l==="svg"||l==="mathml"){const i=r.firstChild;for(;i.firstChild;)r.appendChild(i.firstChild);r.removeChild(i)}t.insertBefore(r,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ie="transition",N3="animation",a4=Symbol("_vtc"),M8={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},eo=s2({},Jn,M8),to=e=>(e.displayName="Transition",e.props=eo,e),E8=to((e,{slots:t})=>C3(Xl,no(e),t)),Ve=(e,t=[])=>{C1(e)?e.forEach(n=>n(...t)):e&&e(...t)},V6=e=>e?C1(e)?e.some(t=>t.length>1):e.length>1:!1;function no(e){const t={};for(const G in e)G in M8||(t[G]=e[G]);if(e.css===!1)return t;const{name:n="v",type:l,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:r=`${n}-enter-to`,appearFromClass:i=o,appearActiveClass:c=a,appearToClass:u=r,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:A=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,p=lo(s),g=p&&p[0],x=p&&p[1],{onBeforeEnter:$,onEnter:k,onEnterCancelled:N,onLeave:C,onLeaveCancelled:b,onBeforeAppear:B=$,onAppear:S=k,onAppearCancelled:I=N}=t,D=(G,j,f1,u1)=>{G._enterCancelled=u1,Pe(G,j?u:r),Pe(G,j?c:a),f1&&f1()},_=(G,j)=>{G._isLeaving=!1,Pe(G,d),Pe(G,m),Pe(G,A),j&&j()},K=G=>(j,f1)=>{const u1=G?S:k,A1=()=>D(j,G,f1);Ve(u1,[j,A1]),P6(()=>{Pe(j,G?i:o),ie(j,G?u:r),V6(u1)||H6(j,l,g,A1)})};return s2(t,{onBeforeEnter(G){Ve($,[G]),ie(G,o),ie(G,a)},onBeforeAppear(G){Ve(B,[G]),ie(G,i),ie(G,c)},onEnter:K(!1),onAppear:K(!0),onLeave(G,j){G._isLeaving=!0;const f1=()=>_(G,j);ie(G,d),G._enterCancelled?(ie(G,A),J6(G)):(J6(G),ie(G,A)),P6(()=>{G._isLeaving&&(Pe(G,d),ie(G,m),V6(C)||H6(G,l,x,f1))}),Ve(C,[G,f1])},onEnterCancelled(G){D(G,!1,void 0,!0),Ve(N,[G])},onAppearCancelled(G){D(G,!0,void 0,!0),Ve(I,[G])},onLeaveCancelled(G){_(G),Ve(b,[G])}})}function lo(e){if(e==null)return null;if(T1(e))return[Lt(e.enter),Lt(e.leave)];{const t=Lt(e);return[t,t]}}function Lt(e){return nl(e)}function ie(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[a4]||(e[a4]=new Set)).add(t)}function Pe(e,t){t.split(/\s+/).forEach(l=>l&&e.classList.remove(l));const n=e[a4];n&&(n.delete(t),n.size||(e[a4]=void 0))}function P6(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let so=0;function H6(e,t,n,l){const s=e._endId=++so,o=()=>{s===e._endId&&l()};if(n!=null)return setTimeout(o,n);const{type:a,timeout:r,propCount:i}=oo(e,t);if(!a)return l();const c=a+"end";let u=0;const d=()=>{e.removeEventListener(c,A),o()},A=m=>{m.target===e&&++u>=i&&d()};setTimeout(()=>{u(n[p]||"").split(", "),s=l(`${Ie}Delay`),o=l(`${Ie}Duration`),a=U6(s,o),r=l(`${N3}Delay`),i=l(`${N3}Duration`),c=U6(r,i);let u=null,d=0,A=0;t===Ie?a>0&&(u=Ie,d=a,A=o.length):t===N3?c>0&&(u=N3,d=c,A=i.length):(d=Math.max(a,c),u=d>0?a>c?Ie:N3:null,A=u?u===Ie?o.length:i.length:0);const m=u===Ie&&/\b(?:transform|all)(?:,|$)/.test(l(`${Ie}Property`).toString());return{type:u,timeout:d,propCount:A,hasTransform:m}}function U6(e,t){for(;e.lengthY6(n)+Y6(e[l])))}function Y6(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function J6(e){return(e?e.ownerDocument:document).body.offsetHeight}function ao(e,t,n){const l=e[a4];l&&(t=(t?[t,...l]:[...l]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const X4=Symbol("_vod"),D8=Symbol("_vsh"),s6={name:"show",beforeMount(e,{value:t},{transition:n}){e[X4]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):K3(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:l}){!t!=!n&&(l?t?(l.beforeEnter(e),K3(e,!0),l.enter(e)):l.leave(e,()=>{K3(e,!1)}):K3(e,t))},beforeUnmount(e,{value:t}){K3(e,t)}};function K3(e,t){e.style.display=t?e[X4]:"none",e[D8]=!t}const ro=Symbol(""),io=/(?:^|;)\s*display\s*:/;function co(e,t,n){const l=e.style,s=z1(n);let o=!1;if(n&&!s){if(t)if(z1(t))for(const a of t.split(";")){const r=a.slice(0,a.indexOf(":")).trim();n[r]==null&&T3(l,r,"")}else for(const a in t)n[a]==null&&T3(l,a,"");for(const a in n){a==="display"&&(o=!0);const r=n[a];r!=null?fo(e,a,!z1(t)&&t?t[a]:void 0,r)||T3(l,a,r):T3(l,a,"")}}else if(s){if(t!==n){const a=l[ro];a&&(n+=";"+a),l.cssText=n,o=io.test(n)}}else t&&e.removeAttribute("style");X4 in e&&(e[X4]=o?l.display:"",e[D8]&&(l.display="none"))}const E4=/\s*!important$/;function T3(e,t,n){if(C1(n))n.forEach(l=>T3(e,t,l));else if(n==null&&(n=""),t.startsWith("--"))E4.test(n)?e.setProperty(t,n.replace(E4,""),"important"):e.setProperty(t,n);else{const l=uo(e,t);E4.test(n)?e.setProperty(xe(l),n.replace(E4,""),"important"):e[l]=n}}const z6=["Webkit","Moz","ms"],Tt={};function uo(e,t){const n=Tt[t];if(n)return n;let l=y2(t);if(l!=="filter"&&l in e)return Tt[t]=l;l=ut(l);for(let s=0;sVt||(vo.then(()=>Vt=0),Vt=Date.now());function bo(e,t){const n=l=>{if(!l._vts)l._vts=Date.now();else if(l._vts<=n.attached)return;const s=n.value;if(C1(s)){const o=l.stopImmediatePropagation;l.stopImmediatePropagation=()=>{o.call(l),l._stopped=!0};const a=s.slice(),r=[l];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ko=(e,t,n,l,s,o)=>{const a=s==="svg";t==="class"?ao(e,l,a):t==="style"?co(e,n,l):rt(t)?it(t)||Ao(e,t,n,l,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xo(e,t,l,a))?(q6(e,t,l),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&X6(e,t,l,a,o,t!=="value")):e._isVueCE&&(wo(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!z1(l)))?q6(e,y2(t),l,o,t):(t==="true-value"?e._trueValue=l:t==="false-value"&&(e._falseValue=l),X6(e,t,l,a))};function xo(e,t,n,l){if(l)return!!(t==="innerHTML"||t==="textContent"||t in e&&t7(t)&&F1(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return t7(t)&&z1(n)?!1:t in e}function wo(e,t){const n=e._def.props;if(!n)return!1;const l=y2(t);return Array.isArray(n)?n.some(s=>y2(s)===l):Object.keys(n).some(s=>y2(s)===l)}const q4=e=>{const t=e.props["onUpdate:modelValue"]||!1;return C1(t)?n=>N4(t,n):t};function Co(e){e.target.composing=!0}function n7(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const t3=Symbol("_assign"),D4=Symbol("_initialValue");function Pt(e,t,n){return t&&(e=e.trim()),n&&(e=T5(e)),e}const _5={created(e,{modifiers:{lazy:t,trim:n,number:l}},s){e.parentNode&&(e.type==="text"?e[D4]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[D4]=e.defaultValue.replace(/\r\n?/g,` +`))),e[t3]=q4(s);const o=l||s.props&&s.props.type==="number";e3(e,t?"change":"input",a=>{a.target.composing||e[t3](Pt(e.value,n,o))}),(n||o)&&e3(e,"change",()=>{e.value=Pt(e.value,n,o)}),t||(e3(e,"compositionstart",Co),e3(e,"compositionend",n7),e3(e,"change",n7))},mounted(e,{value:t,modifiers:{trim:n,number:l}}){const s=t??"",o=e[D4];delete e[D4],o!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==o?e[t3](Pt(e.value,n,l)):e.value=s},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:l,trim:s,number:o}},a){if(e[t3]=q4(a),e.composing)return;const r=(o||e.type==="number")&&!/^0\d/.test(e.value)?T5(e.value):e.value,i=t??"";if(r===i)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(l&&t===n||s&&e.value.trim()===i)||(e.value=i)}},kt={deep:!0,created(e,t,n){e[t3]=q4(n),e3(e,"change",()=>{const l=e._modelValue,s=_o(e),o=e.checked,a=e[t3];if(C1(l)){const r=xn(l,s),i=r!==-1;if(o&&!i)a(l.concat(s));else if(!o&&i){const c=[...l];c.splice(r,1),a(c)}}else if(k3(l)){const r=new Set(l);o?r.add(s):r.delete(s),a(r)}else a(Z8(e,o))})},mounted:l7,beforeUpdate(e,t,n){e[t3]=q4(n),l7(e,t,n)}};function l7(e,{value:t,oldValue:n},l){e._modelValue=t;let s;if(C1(t))s=xn(t,l.props.value)>-1;else if(k3(t))s=t.has(l.props.value);else{if(t===n)return;s=Z3(t,Z8(e,!0))}e.checked!==s&&(e.checked=s)}function _o(e){return"_value"in e?e._value:e.value}function Z8(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Io=["ctrl","shift","alt","meta"],Mo={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Io.some(n=>e[`${n}Key`]&&!t.includes(n))},K2=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),l=t.join(".");return n[l]||(n[l]=((s,...o)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),l=t.join(".");return n[l]||(n[l]=(s=>{if(!("key"in s))return;const o=xe(s.key);if(t.some(a=>a===o||Eo[a]===o))return e(s)}))},Do=s2({patchProp:ko},qs);let s7;function Zo(){return s7||(s7=Bs(Do))}const Fo=((...e)=>{const t=Zo().createApp(...e),{mount:n}=t;return t.mount=l=>{const s=So(l);if(!s)return;const o=t._component;!F1(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=n(s,!1,Bo(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t});function Bo(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function So(e){return z1(e)?document.querySelector(e):e}/*! * vue-router v4.6.4 * (c) 2025 Eduardo San Martin Morote * @license MIT - */const h3=typeof document<"u";function D8(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Zo(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&D8(e.default)}const W1=Object.assign;function Pt(e,t){const n={};for(const l in t){const s=t[l];n[l]=T2(s)?s.map(e):e(s)}return n}const U3=()=>{},T2=Array.isArray;function n7(e,t){const n={};for(const l in e)n[l]=l in t?t[l]:e[l];return n}const Z8=/#/g,Fo=/&/g,Bo=/\//g,So=/=/g,Ro=/\?/g,F8=/\+/g,$o=/%5B/g,No=/%5D/g,B8=/%5E/g,Ko=/%60/g,S8=/%7B/g,Qo=/%7C/g,R8=/%7D/g,Oo=/%20/g;function l6(e){return e==null?"":encodeURI(""+e).replace(Qo,"|").replace($o,"[").replace(No,"]")}function Go(e){return l6(e).replace(S8,"{").replace(R8,"}").replace(B8,"^")}function _5(e){return l6(e).replace(F8,"%2B").replace(Oo,"+").replace(Z8,"%23").replace(Fo,"%26").replace(Ko,"`").replace(S8,"{").replace(R8,"}").replace(B8,"^")}function Wo(e){return _5(e).replace(So,"%3D")}function Lo(e){return l6(e).replace(Z8,"%23").replace(Ro,"%3F")}function Vo(e){return Lo(e).replace(Bo,"%2F")}function a4(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const To=/\/$/,Po=e=>e.replace(To,"");function Ht(e,t,n="/"){let l,s={},o="",a="";const r=t.indexOf("#");let i=t.indexOf("?");return i=r>=0&&i>r?-1:i,i>=0&&(l=t.slice(0,i),o=t.slice(i,r>0?r:t.length),s=e(o.slice(1))),r>=0&&(l=l||t.slice(0,r),a=t.slice(r,t.length)),l=Jo(l??t,n),{fullPath:l+o+a,path:l,query:s,hash:a4(a)}}function Ho(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function l7(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Yo(e,t,n){const l=t.matched.length-1,s=n.matched.length-1;return l>-1&&l===s&&w3(t.matched[l],n.matched[s])&&$8(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function w3(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function $8(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Uo(e[n],t[n]))return!1;return!0}function Uo(e,t){return T2(e)?s7(e,t):T2(t)?s7(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function s7(e,t){return T2(t)?e.length===t.length&&e.every((n,l)=>n===t[l]):e.length===1&&e[0]===t}function Jo(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),l=e.split("/"),s=l[l.length-1];(s===".."||s===".")&&l.push("");let o=n.length-1,a,r;for(a=0;a1&&o--;else break;return n.slice(0,o).join("/")+"/"+l.slice(a).join("/")}const Me={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let I5=(function(e){return e.pop="pop",e.push="push",e})({}),Yt=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function zo(e){if(!e)if(h3){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Po(e)}const jo=/^[^#]+#/;function Xo(e,t){return e.replace(jo,"#")+t}function qo(e,t){const n=document.documentElement.getBoundingClientRect(),l=e.getBoundingClientRect();return{behavior:t.behavior,left:l.left-n.left-(t.left||0),top:l.top-n.top-(t.top||0)}}const kt=()=>({left:window.scrollX,top:window.scrollY});function ea(e){let t;if("el"in e){const n=e.el,l=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?l?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=qo(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function o7(e,t){return(history.state?history.state.position-t:-1)+e}const M5=new Map;function ta(e,t){M5.set(e,t)}function na(e){const t=M5.get(e);return M5.delete(e),t}function la(e){return typeof e=="string"||e&&typeof e=="object"}function N8(e){return typeof e=="string"||typeof e=="symbol"}let t2=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const K8=Symbol("");t2.MATCHER_NOT_FOUND+"",t2.NAVIGATION_GUARD_REDIRECT+"",t2.NAVIGATION_ABORTED+"",t2.NAVIGATION_CANCELLED+"",t2.NAVIGATION_DUPLICATED+"";function C3(e,t){return W1(new Error,{type:e,[K8]:!0},t)}function ce(e,t){return e instanceof Error&&K8 in e&&(t==null||!!(e.type&t))}const sa=["params","query","hash"];function oa(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of sa)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function aa(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let l=0;ls&&_5(s)):[l&&_5(l)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function ra(e){const t={};for(const n in e){const l=e[n];l!==void 0&&(t[n]=T2(l)?l.map(s=>s==null?null:""+s):l==null?l:""+l)}return t}const ia=Symbol(""),r7=Symbol(""),xt=Symbol(""),s6=Symbol(""),E5=Symbol("");function K3(){let e=[];function t(l){return e.push(l),()=>{const s=e.indexOf(l);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Fe(e,t,n,l,s,o=a=>a()){const a=l&&(l.enterCallbacks[s]=l.enterCallbacks[s]||[]);return()=>new Promise((r,i)=>{const c=A=>{A===!1?i(C3(t2.NAVIGATION_ABORTED,{from:n,to:t})):A instanceof Error?i(A):la(A)?i(C3(t2.NAVIGATION_GUARD_REDIRECT,{from:t,to:A})):(a&&l.enterCallbacks[s]===a&&typeof A=="function"&&a.push(A),r())},u=o(()=>e.call(l&&l.instances[s],t,n,c));let d=Promise.resolve(u);e.length<3&&(d=d.then(c)),d.catch(A=>i(A))})}function Ut(e,t,n,l,s=o=>o()){const o=[];for(const a of e)for(const r in a.components){let i=a.components[r];if(!(t!=="beforeRouteEnter"&&!a.instances[r]))if(D8(i)){const c=(i.__vccOpts||i)[t];c&&o.push(Fe(c,n,l,a,r,s))}else{let c=i();o.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${r}" at "${a.path}"`);const d=Zo(u)?u.default:u;a.mods[r]=u,a.components[r]=d;const A=(d.__vccOpts||d)[t];return A&&Fe(A,n,l,a,r,s)()}))}}return o}function ca(e,t){const n=[],l=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let a=0;aw3(c,r))?l.push(r):n.push(r));const i=e.matched[a];i&&(t.matched.find(c=>w3(c,i))||s.push(i))}return[n,l,s]}/*! + */const A3=typeof document<"u";function F8(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ro(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&F8(e.default)}const W1=Object.assign;function Ht(e,t){const n={};for(const l in t){const s=t[l];n[l]=V2(s)?s.map(e):e(s)}return n}const z3=()=>{},V2=Array.isArray;function o7(e,t){const n={};for(const l in e)n[l]=l in t?t[l]:e[l];return n}const B8=/#/g,$o=/&/g,No=/\//g,Ko=/=/g,Qo=/\?/g,S8=/\+/g,Oo=/%5B/g,Go=/%5D/g,R8=/%5E/g,Wo=/%60/g,$8=/%7B/g,Lo=/%7C/g,N8=/%7D/g,To=/%20/g;function o6(e){return e==null?"":encodeURI(""+e).replace(Lo,"|").replace(Oo,"[").replace(Go,"]")}function Vo(e){return o6(e).replace($8,"{").replace(N8,"}").replace(R8,"^")}function I5(e){return o6(e).replace(S8,"%2B").replace(To,"+").replace(B8,"%23").replace($o,"%26").replace(Wo,"`").replace($8,"{").replace(N8,"}").replace(R8,"^")}function Po(e){return I5(e).replace(Ko,"%3D")}function Ho(e){return o6(e).replace(B8,"%23").replace(Qo,"%3F")}function Uo(e){return Ho(e).replace(No,"%2F")}function r4(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Yo=/\/$/,Jo=e=>e.replace(Yo,"");function Ut(e,t,n="/"){let l,s={},o="",a="";const r=t.indexOf("#");let i=t.indexOf("?");return i=r>=0&&i>r?-1:i,i>=0&&(l=t.slice(0,i),o=t.slice(i,r>0?r:t.length),s=e(o.slice(1))),r>=0&&(l=l||t.slice(0,r),a=t.slice(r,t.length)),l=qo(l??t,n),{fullPath:l+o+a,path:l,query:s,hash:r4(a)}}function zo(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function a7(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function jo(e,t,n){const l=t.matched.length-1,s=n.matched.length-1;return l>-1&&l===s&&_3(t.matched[l],n.matched[s])&&K8(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function _3(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function K8(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Xo(e[n],t[n]))return!1;return!0}function Xo(e,t){return V2(e)?r7(e,t):V2(t)?r7(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function r7(e,t){return V2(t)?e.length===t.length&&e.every((n,l)=>n===t[l]):e.length===1&&e[0]===t}function qo(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),l=e.split("/"),s=l[l.length-1];(s===".."||s===".")&&l.push("");let o=n.length-1,a,r;for(a=0;a1&&o--;else break;return n.slice(0,o).join("/")+"/"+l.slice(a).join("/")}const Me={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let M5=(function(e){return e.pop="pop",e.push="push",e})({}),Yt=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function ea(e){if(!e)if(A3){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Jo(e)}const ta=/^[^#]+#/;function na(e,t){return e.replace(ta,"#")+t}function la(e,t){const n=document.documentElement.getBoundingClientRect(),l=e.getBoundingClientRect();return{behavior:t.behavior,left:l.left-n.left-(t.left||0),top:l.top-n.top-(t.top||0)}}const xt=()=>({left:window.scrollX,top:window.scrollY});function sa(e){let t;if("el"in e){const n=e.el,l=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?l?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=la(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function i7(e,t){return(history.state?history.state.position-t:-1)+e}const E5=new Map;function oa(e,t){E5.set(e,t)}function aa(e){const t=E5.get(e);return E5.delete(e),t}function ra(e){return typeof e=="string"||e&&typeof e=="object"}function Q8(e){return typeof e=="string"||typeof e=="symbol"}let t2=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const O8=Symbol("");t2.MATCHER_NOT_FOUND+"",t2.NAVIGATION_GUARD_REDIRECT+"",t2.NAVIGATION_ABORTED+"",t2.NAVIGATION_CANCELLED+"",t2.NAVIGATION_DUPLICATED+"";function I3(e,t){return W1(new Error,{type:e,[O8]:!0},t)}function ce(e,t){return e instanceof Error&&O8 in e&&(t==null||!!(e.type&t))}const ia=["params","query","hash"];function ca(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of ia)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function ua(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let l=0;ls&&I5(s)):[l&&I5(l)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function da(e){const t={};for(const n in e){const l=e[n];l!==void 0&&(t[n]=V2(l)?l.map(s=>s==null?null:""+s):l==null?l:""+l)}return t}const fa=Symbol(""),u7=Symbol(""),wt=Symbol(""),a6=Symbol(""),D5=Symbol("");function Q3(){let e=[];function t(l){return e.push(l),()=>{const s=e.indexOf(l);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Fe(e,t,n,l,s,o=a=>a()){const a=l&&(l.enterCallbacks[s]=l.enterCallbacks[s]||[]);return()=>new Promise((r,i)=>{const c=A=>{A===!1?i(I3(t2.NAVIGATION_ABORTED,{from:n,to:t})):A instanceof Error?i(A):ra(A)?i(I3(t2.NAVIGATION_GUARD_REDIRECT,{from:t,to:A})):(a&&l.enterCallbacks[s]===a&&typeof A=="function"&&a.push(A),r())},u=o(()=>e.call(l&&l.instances[s],t,n,c));let d=Promise.resolve(u);e.length<3&&(d=d.then(c)),d.catch(A=>i(A))})}function Jt(e,t,n,l,s=o=>o()){const o=[];for(const a of e)for(const r in a.components){let i=a.components[r];if(!(t!=="beforeRouteEnter"&&!a.instances[r]))if(F8(i)){const c=(i.__vccOpts||i)[t];c&&o.push(Fe(c,n,l,a,r,s))}else{let c=i();o.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${r}" at "${a.path}"`);const d=Ro(u)?u.default:u;a.mods[r]=u,a.components[r]=d;const A=(d.__vccOpts||d)[t];return A&&Fe(A,n,l,a,r,s)()}))}}return o}function ha(e,t){const n=[],l=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let a=0;a_3(c,r))?l.push(r):n.push(r));const i=e.matched[a];i&&(t.matched.find(c=>_3(c,i))||s.push(i))}return[n,l,s]}/*! * vue-router v4.6.4 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let ua=()=>location.protocol+"//"+location.host;function Q8(e,t){const{pathname:n,search:l,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,r=s.slice(a);return r[0]!=="/"&&(r="/"+r),l7(r,"")}return l7(n,e)+l+s}function da(e,t,n,l){let s=[],o=[],a=null;const r=({state:A})=>{const m=Q8(e,location),p=n.value,g=t.value;let x=0;if(A){if(n.value=m,t.value=A,a&&a===p){a=null;return}x=g?A.position-g.position:0}else l(m);s.forEach($=>{$(n.value,p,{delta:x,type:I5.pop,direction:x?x>0?Yt.forward:Yt.back:Yt.unknown})})};function i(){a=n.value}function c(A){s.push(A);const m=()=>{const p=s.indexOf(A);p>-1&&s.splice(p,1)};return o.push(m),m}function u(){if(document.visibilityState==="hidden"){const{history:A}=window;if(!A.state)return;A.replaceState(W1({},A.state,{scroll:kt()}),"")}}function d(){for(const A of o)A();o=[],window.removeEventListener("popstate",r),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",r),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:i,listen:c,destroy:d}}function i7(e,t,n,l=!1,s=!1){return{back:e,current:t,forward:n,replaced:l,position:window.history.length,scroll:s?kt():null}}function fa(e){const{history:t,location:n}=window,l={value:Q8(e,n)},s={value:t.state};s.value||o(l.value,{back:null,current:l.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(i,c,u){const d=e.indexOf("#"),A=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+i:ua()+e+i;try{t[u?"replaceState":"pushState"](c,"",A),s.value=c}catch(m){console.error(m),n[u?"replace":"assign"](A)}}function a(i,c){o(i,W1({},t.state,i7(s.value.back,i,s.value.forward,!0),c,{position:s.value.position}),!0),l.value=i}function r(i,c){const u=W1({},s.value,t.state,{forward:i,scroll:kt()});o(u.current,u,!0),o(i,W1({},i7(l.value,i,null),{position:u.position+1},c),!1),l.value=i}return{location:l,state:s,push:r,replace:a}}function ha(e){e=zo(e);const t=fa(e),n=da(e,t.state,t.location,t.replace);function l(o,a=!0){a||n.pauseListeners(),history.go(o)}const s=W1({location:"",base:e,go:l,createHref:Xo.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let t3=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var r2=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(r2||{});const Aa={type:t3.Static,value:""},pa=/[a-zA-Z0-9_]/;function ma(e){if(!e)return[[]];if(e==="/")return[[Aa]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=r2.Static,l=n;const s=[];let o;function a(){o&&s.push(o),o=[]}let r=0,i,c="",u="";function d(){c&&(n===r2.Static?o.push({type:t3.Static,value:c}):n===r2.Param||n===r2.ParamRegExp||n===r2.ParamRegExpEnd?(o.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:t3.Param,value:c,regexp:u,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function A(){c+=i}for(;rt.length?t.length===1&&t[0]===w2.Static+w2.Segment?1:-1:0}function O8(e,t){let n=0;const l=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const ka={strict:!1,end:!0,sensitive:!1};function xa(e,t,n){const l=ya(ma(e.path),n),s=W1(l,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function wa(e,t){const n=[],l=new Map;t=n7(ka,t);function s(d){return l.get(d)}function o(d,A,m){const p=!m,g=f7(d);g.aliasOf=m&&m.record;const x=n7(t,d),$=[g];if("alias"in d){const I=typeof d.alias=="string"?[d.alias]:d.alias;for(const w of I)$.push(f7(W1({},g,{components:m?m.record.components:g.components,path:w,aliasOf:m?m.record:g})))}let k,K;for(const I of $){const{path:w}=I;if(A&&w[0]!=="/"){const S=A.record.path,B=S[S.length-1]==="/"?"":"/";I.path=A.record.path+(w&&B+w)}if(k=xa(I,A,x),m?m.alias.push(k):(K=K||k,K!==k&&K.alias.push(k),p&&d.name&&!h7(k)&&a(d.name)),G8(k)&&i(k),g.children){const S=g.children;for(let B=0;B{a(K)}:U3}function a(d){if(N8(d)){const A=l.get(d);A&&(l.delete(d),n.splice(n.indexOf(A),1),A.children.forEach(a),A.alias.forEach(a))}else{const A=n.indexOf(d);A>-1&&(n.splice(A,1),d.record.name&&l.delete(d.record.name),d.children.forEach(a),d.alias.forEach(a))}}function r(){return n}function i(d){const A=Ia(d,n);n.splice(A,0,d),d.record.name&&!h7(d)&&l.set(d.record.name,d)}function c(d,A){let m,p={},g,x;if("name"in d&&d.name){if(m=l.get(d.name),!m)throw C3(t2.MATCHER_NOT_FOUND,{location:d});x=m.record.name,p=W1(d7(A.params,m.keys.filter(K=>!K.optional).concat(m.parent?m.parent.keys.filter(K=>K.optional):[]).map(K=>K.name)),d.params&&d7(d.params,m.keys.map(K=>K.name))),g=m.stringify(p)}else if(d.path!=null)g=d.path,m=n.find(K=>K.re.test(g)),m&&(p=m.parse(g),x=m.record.name);else{if(m=A.name?l.get(A.name):n.find(K=>K.re.test(A.path)),!m)throw C3(t2.MATCHER_NOT_FOUND,{location:d,currentLocation:A});x=m.record.name,p=W1({},A.params,d.params),g=m.stringify(p)}const $=[];let k=m;for(;k;)$.unshift(k.record),k=k.parent;return{name:x,path:g,params:p,matched:$,meta:_a($)}}e.forEach(d=>o(d));function u(){n.length=0,l.clear()}return{addRoute:o,resolve:c,removeRoute:a,clearRoutes:u,getRoutes:r,getRecordMatcher:s}}function d7(e,t){const n={};for(const l of t)l in e&&(n[l]=e[l]);return n}function f7(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ca(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ca(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const l in e.components)t[l]=typeof n=="object"?n[l]:n;return t}function h7(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function _a(e){return e.reduce((t,n)=>W1(t,n.meta),{})}function Ia(e,t){let n=0,l=t.length;for(;n!==l;){const o=n+l>>1;O8(e,t[o])<0?l=o:n=o+1}const s=Ma(e);return s&&(l=t.lastIndexOf(s,l-1)),l}function Ma(e){let t=e;for(;t=t.parent;)if(G8(t)&&O8(e,t)===0)return t}function G8({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function A7(e){const t=W2(xt),n=W2(s6),l=z(()=>{const i=f(e.to);return t.resolve(i)}),s=z(()=>{const{matched:i}=l.value,{length:c}=i,u=i[c-1],d=n.matched;if(!u||!d.length)return-1;const A=d.findIndex(w3.bind(null,u));if(A>-1)return A;const m=p7(i[c-2]);return c>1&&p7(u)===m&&d[d.length-1].path!==m?d.findIndex(w3.bind(null,i[c-2])):A}),o=z(()=>s.value>-1&&Ba(n.params,l.value.params)),a=z(()=>s.value>-1&&s.value===n.matched.length-1&&$8(n.params,l.value.params));function r(i={}){if(Fa(i)){const c=t[f(e.replace)?"replace":"push"](f(e.to)).catch(U3);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:l,href:z(()=>l.value.href),isActive:o,isExactActive:a,navigate:r}}function Ea(e){return e.length===1?e[0]:e}const Da=G1({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:A7,setup(e,{slots:t}){const n=dt(A7(e)),{options:l}=W2(xt),s=z(()=>({[m7(e.activeClass,l.linkActiveClass,"router-link-active")]:n.isActive,[m7(e.exactActiveClass,l.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Ea(t.default(n));return e.custom?o:x3("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),Za=Da;function Fa(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Ba(e,t){for(const n in t){const l=t[n],s=e[n];if(typeof l=="string"){if(l!==s)return!1}else if(!T2(s)||s.length!==l.length||l.some((o,a)=>o.valueOf()!==s[a].valueOf()))return!1}return!0}function p7(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const m7=(e,t,n)=>e??t??n,Sa=G1({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const l=W2(E5),s=z(()=>e.route||l.value),o=W2(r7,0),a=z(()=>{let c=f(o);const{matched:u}=s.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),r=z(()=>s.value.matched[a.value]);R4(r7,z(()=>a.value+1)),R4(ia,r),R4(E5,s);const i=P();return P1(()=>[i.value,r.value,e.name],([c,u,d],[A,m,p])=>{u&&(u.instances[d]=c,m&&m!==u&&c&&c===A&&(u.leaveGuards.size||(u.leaveGuards=m.leaveGuards),u.updateGuards.size||(u.updateGuards=m.updateGuards))),c&&u&&(!m||!w3(u,m)||!A)&&(u.enterCallbacks[d]||[]).forEach(g=>g(c))},{flush:"post"}),()=>{const c=s.value,u=e.name,d=r.value,A=d&&d.components[u];if(!A)return g7(n.default,{Component:A,route:c});const m=d.props[u],p=m?m===!0?c.params:typeof m=="function"?m(c):m:null,x=x3(A,W1({},p,t,{onVnodeUnmounted:$=>{$.component.isUnmounted&&(d.instances[u]=null)},ref:i}));return g7(n.default,{Component:x,route:c})||x}}});function g7(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Ra=Sa;function $a(e){const t=wa(e.routes,e),n=e.parseQuery||aa,l=e.stringifyQuery||a7,s=e.history,o=K3(),a=K3(),r=K3(),i=El(Me);let c=Me;h3&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Pt.bind(null,L=>""+L),d=Pt.bind(null,Vo),A=Pt.bind(null,a4);function m(L,X){let W,p1;return N8(L)?(W=t.getRecordMatcher(L),p1=X):p1=L,t.addRoute(p1,W)}function p(L){const X=t.getRecordMatcher(L);X&&t.removeRoute(X)}function g(){return t.getRoutes().map(L=>L.record)}function x(L){return!!t.getRecordMatcher(L)}function $(L,X){if(X=W1({},X||i.value),typeof L=="string"){const R=Ht(n,L,X.path),U=t.resolve({path:R.path},X),J=s.createHref(R.fullPath);return W1(R,U,{params:A(U.params),hash:a4(R.hash),redirectedFrom:void 0,href:J})}let W;if(L.path!=null)W=W1({},L,{path:Ht(n,L.path,X.path).path});else{const R=W1({},L.params);for(const U in R)R[U]==null&&delete R[U];W=W1({},L,{params:d(R)}),X.params=d(X.params)}const p1=t.resolve(W,X),D1=L.hash||"";p1.params=u(A(p1.params));const b=Ho(l,W1({},L,{hash:Go(D1),path:p1.path})),Z=s.createHref(b);return W1({fullPath:b,hash:D1,query:l===a7?ra(L.query):L.query||{}},p1,{redirectedFrom:void 0,href:Z})}function k(L){return typeof L=="string"?Ht(n,L,i.value.path):W1({},L)}function K(L,X){if(c!==L)return C3(t2.NAVIGATION_CANCELLED,{from:X,to:L})}function I(L){return B(L)}function w(L){return I(W1(k(L),{replace:!0}))}function S(L,X){const W=L.matched[L.matched.length-1];if(W&&W.redirect){const{redirect:p1}=W;let D1=typeof p1=="function"?p1(L,X):p1;return typeof D1=="string"&&(D1=D1.includes("?")||D1.includes("#")?D1=k(D1):{path:D1},D1.params={}),W1({query:L.query,hash:L.hash,params:D1.path!=null?{}:L.params},D1)}}function B(L,X){const W=c=$(L),p1=i.value,D1=L.state,b=L.force,Z=L.replace===!0,R=S(W,p1);if(R)return B(W1(k(R),{state:typeof R=="object"?W1({},D1,R.state):D1,force:b,replace:Z}),X||W);const U=W;U.redirectedFrom=X;let J;return!b&&Yo(l,p1,W)&&(J=C3(t2.NAVIGATION_DUPLICATED,{to:U,from:p1}),H1(p1,p1,!0,!1)),(J?Promise.resolve(J):C(U,p1)).catch(Y=>ce(Y)?ce(Y,t2.NAVIGATION_GUARD_REDIRECT)?Y:r1(Y):i1(Y,U,p1)).then(Y=>{if(Y){if(ce(Y,t2.NAVIGATION_GUARD_REDIRECT))return B(W1({replace:Z},k(Y.to),{state:typeof Y.to=="object"?W1({},D1,Y.to.state):D1,force:b}),X||U)}else Y=G(U,p1,!0,Z,D1);return N(U,p1,Y),Y})}function _(L,X){const W=K(L,X);return W?Promise.reject(W):Promise.resolve()}function D(L){const X=j1.values().next().value;return X&&typeof X.runWithContext=="function"?X.runWithContext(L):L()}function C(L,X){let W;const[p1,D1,b]=ca(L,X);W=Ut(p1.reverse(),"beforeRouteLeave",L,X);for(const R of p1)R.leaveGuards.forEach(U=>{W.push(Fe(U,L,X))});const Z=_.bind(null,L,X);return W.push(Z),m1(W).then(()=>{W=[];for(const R of o.list())W.push(Fe(R,L,X));return W.push(Z),m1(W)}).then(()=>{W=Ut(D1,"beforeRouteUpdate",L,X);for(const R of D1)R.updateGuards.forEach(U=>{W.push(Fe(U,L,X))});return W.push(Z),m1(W)}).then(()=>{W=[];for(const R of b)if(R.beforeEnter)if(T2(R.beforeEnter))for(const U of R.beforeEnter)W.push(Fe(U,L,X));else W.push(Fe(R.beforeEnter,L,X));return W.push(Z),m1(W)}).then(()=>(L.matched.forEach(R=>R.enterCallbacks={}),W=Ut(b,"beforeRouteEnter",L,X,D),W.push(Z),m1(W))).then(()=>{W=[];for(const R of a.list())W.push(Fe(R,L,X));return W.push(Z),m1(W)}).catch(R=>ce(R,t2.NAVIGATION_CANCELLED)?R:Promise.reject(R))}function N(L,X,W){r.list().forEach(p1=>D(()=>p1(L,X,W)))}function G(L,X,W,p1,D1){const b=K(L,X);if(b)return b;const Z=X===Me,R=h3?history.state:{};W&&(p1||Z?s.replace(L.fullPath,W1({scroll:Z&&R&&R.scroll},D1)):s.push(L.fullPath,D1)),i.value=L,H1(L,X,W,Z),r1()}let j;function f1(){j||(j=s.listen((L,X,W)=>{if(!s1.listening)return;const p1=$(L),D1=S(p1,s1.currentRoute.value);if(D1){B(W1(D1,{replace:!0,force:!0}),p1).catch(U3);return}c=p1;const b=i.value;h3&&ta(o7(b.fullPath,W.delta),kt()),C(p1,b).catch(Z=>ce(Z,t2.NAVIGATION_ABORTED|t2.NAVIGATION_CANCELLED)?Z:ce(Z,t2.NAVIGATION_GUARD_REDIRECT)?(B(W1(k(Z.to),{force:!0}),p1).then(R=>{ce(R,t2.NAVIGATION_ABORTED|t2.NAVIGATION_DUPLICATED)&&!W.delta&&W.type===I5.pop&&s.go(-1,!1)}).catch(U3),Promise.reject()):(W.delta&&s.go(-W.delta,!1),i1(Z,p1,b))).then(Z=>{Z=Z||G(p1,b,!1),Z&&(W.delta&&!ce(Z,t2.NAVIGATION_CANCELLED)?s.go(-W.delta,!1):W.type===I5.pop&&ce(Z,t2.NAVIGATION_ABORTED|t2.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),N(p1,b,Z)}).catch(U3)}))}let u1=K3(),A1=K3(),M1;function i1(L,X,W){r1(L);const p1=A1.list();return p1.length?p1.forEach(D1=>D1(L,X,W)):console.error(L),Promise.reject(L)}function v1(){return M1&&i.value!==Me?Promise.resolve():new Promise((L,X)=>{u1.add([L,X])})}function r1(L){return M1||(M1=!L,f1(),u1.list().forEach(([X,W])=>L?W(L):X()),u1.reset()),L}function H1(L,X,W,p1){const{scrollBehavior:D1}=e;if(!h3||!D1)return Promise.resolve();const b=!W&&na(o7(L.fullPath,0))||(p1||!W)&&history.state&&history.state.scroll||null;return X3().then(()=>D1(L,X,b)).then(Z=>Z&&ea(Z)).catch(Z=>i1(Z,L,X))}const b1=L=>s.go(L);let q1;const j1=new Set,s1={currentRoute:i,listening:!0,addRoute:m,removeRoute:p,clearRoutes:t.clearRoutes,hasRoute:x,getRoutes:g,resolve:$,options:e,push:I,replace:w,go:b1,back:()=>b1(-1),forward:()=>b1(1),beforeEach:o.add,beforeResolve:a.add,afterEach:r.add,onError:A1.add,isReady:v1,install(L){L.component("RouterLink",Za),L.component("RouterView",Ra),L.config.globalProperties.$router=s1,Object.defineProperty(L.config.globalProperties,"$route",{enumerable:!0,get:()=>f(i)}),h3&&!q1&&i.value===Me&&(q1=!0,I(s.location).catch(p1=>{}));const X={};for(const p1 in Me)Object.defineProperty(X,p1,{get:()=>i.value[p1],enumerable:!0});L.provide(xt,s1),L.provide(s6,Nn(X)),L.provide(E5,i);const W=L.unmount;j1.add(L),L.unmount=function(){j1.delete(L),j1.size<1&&(c=Me,j&&j(),j=null,i.value=Me,q1=!1,M1=!1),W()}}};function m1(L){return L.reduce((X,W)=>X.then(()=>D(W)),Promise.resolve())}return s1}function Ce(){return W2(xt)}function Oe(e){return W2(s6)}function W8(e){var t,n,l="";if(typeof e=="string"||typeof e=="number")l+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t{const n=new Array(e.length+t.length);for(let l=0;l({classGroupId:e,validator:t}),V8=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),j4="-",v7=[],Qa="arbitrary..",Oa=e=>{const t=Wa(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:l}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return Ga(a);const r=a.split(j4),i=r[0]===""&&r.length>1?1:0;return T8(r,i,t)},getConflictingClassGroupIds:(a,r)=>{if(r){const i=l[a],c=n[a];return i?c?Na(c,i):i:c||v7}return n[a]||v7}}},T8=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const s=e[t],o=n.nextPart.get(s);if(o){const c=T8(e,t+1,o);if(c)return c}const a=n.validators;if(a===null)return;const r=t===0?e.join(j4):e.slice(t).join(j4),i=a.length;for(let c=0;ce.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),l=t.slice(0,n);return l?Qa+l:void 0})(),Wa=e=>{const{theme:t,classGroups:n}=e;return La(n,t)},La=(e,t)=>{const n=V8();for(const l in e){const s=e[l];o6(s,n,l,t)}return n},o6=(e,t,n,l)=>{const s=e.length;for(let o=0;o{if(typeof e=="string"){Ta(e,t,n);return}if(typeof e=="function"){Pa(e,t,n,l);return}Ha(e,t,n,l)},Ta=(e,t,n)=>{const l=e===""?t:P8(t,e);l.classGroupId=n},Pa=(e,t,n,l)=>{if(Ya(e)){o6(e(l),t,n,l);return}t.validators===null&&(t.validators=[]),t.validators.push(Ka(n,e))},Ha=(e,t,n,l)=>{const s=Object.entries(e),o=s.length;for(let a=0;a{let n=e;const l=t.split(j4),s=l.length;for(let o=0;o"isThemeGetter"in e&&e.isThemeGetter===!0,Ua=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),l=Object.create(null);const s=(o,a)=>{n[o]=a,t++,t>e&&(t=0,l=n,n=Object.create(null))};return{get(o){let a=n[o];if(a!==void 0)return a;if((a=l[o])!==void 0)return s(o,a),a},set(o,a){o in n?n[o]=a:s(o,a)}}},D5="!",y7=":",Ja=[],b7=(e,t,n,l,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:l,isExternal:s}),za=e=>{const{prefix:t,experimentalParseClassName:n}=e;let l=s=>{const o=[];let a=0,r=0,i=0,c;const u=s.length;for(let g=0;gi?c-i:void 0;return b7(o,m,A,p)};if(t){const s=t+y7,o=l;l=a=>a.startsWith(s)?o(a.slice(s.length)):b7(Ja,!1,a,void 0,!0)}if(n){const s=l;l=o=>n({className:o,parseClassName:s})}return l},ja=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,l)=>{t.set(n,1e6+l)}),n=>{const l=[];let s=[];for(let o=0;o0&&(s.sort(),l.push(...s),s=[]),l.push(a)):s.push(a)}return s.length>0&&(s.sort(),l.push(...s)),l}},Xa=e=>({cache:Ua(e.cacheSize),parseClassName:za(e),sortModifiers:ja(e),postfixLookupClassGroupIds:qa(e),...Oa(e)}),qa=e=>{const t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let l=0;l{const{parseClassName:n,getClassGroupId:l,getConflictingClassGroupIds:s,sortModifiers:o,postfixLookupClassGroupIds:a}=t,r=[],i=e.trim().split(er);let c="";for(let u=i.length-1;u>=0;u-=1){const d=i[u],{isExternal:A,modifiers:m,hasImportantModifier:p,baseClassName:g,maybePostfixModifierPosition:x}=n(d);if(A){c=d+(c.length>0?" "+c:c);continue}let $=!!x,k;if($){const B=g.substring(0,x);k=l(B);const _=k&&a[k]?l(g):void 0;_&&_!==k&&(k=_,$=!1)}else k=l(g);if(!k){if(!$){c=d+(c.length>0?" "+c:c);continue}if(k=l(g),!k){c=d+(c.length>0?" "+c:c);continue}$=!1}const K=m.length===0?"":m.length===1?m[0]:o(m).join(":"),I=p?K+D5:K,w=I+k;if(r.indexOf(w)>-1)continue;r.push(w);const S=s(k,$);for(let B=0;B0?" "+c:c)}return c},nr=(...e)=>{let t=0,n,l,s="";for(;t{if(typeof e=="string")return e;let t,n="";for(let l=0;l{let n,l,s,o;const a=i=>{const c=t.reduce((u,d)=>d(u),e());return n=Xa(c),l=n.cache.get,s=n.cache.set,o=r,r(i)},r=i=>{const c=l(i);if(c)return c;const u=tr(i,n);return s(i,u),u};return o=a,(...i)=>o(nr(...i))},sr=[],a2=e=>{const t=n=>n[e]||sr;return t.isThemeGetter=!0,t},Y8=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,U8=/^\((?:(\w[\w-]*):)?(.+)\)$/i,or=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ar=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,rr=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ir=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,cr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ur=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ee=e=>or.test(e),S1=e=>!!e&&!Number.isNaN(Number(e)),U2=e=>!!e&&Number.isInteger(Number(e)),Jt=e=>e.endsWith("%")&&S1(e.slice(0,-1)),ue=e=>ar.test(e),J8=()=>!0,dr=e=>rr.test(e)&&!ir.test(e),a6=()=>!1,fr=e=>cr.test(e),hr=e=>ur.test(e),Ar=e=>!d1(e)&&!h1(e),pr=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),mr=e=>Ge(e,X8,a6),d1=e=>Y8.test(e),Pe=e=>Ge(e,q8,dr),k7=e=>Ge(e,Cr,S1),gr=e=>Ge(e,t0,J8),vr=e=>Ge(e,e0,a6),x7=e=>Ge(e,z8,a6),yr=e=>Ge(e,j8,hr),I4=e=>Ge(e,n0,fr),h1=e=>U8.test(e),Q3=e=>r3(e,q8),br=e=>r3(e,e0),w7=e=>r3(e,z8),kr=e=>r3(e,X8),xr=e=>r3(e,j8),M4=e=>r3(e,n0,!0),wr=e=>r3(e,t0,!0),Ge=(e,t,n)=>{const l=Y8.exec(e);return l?l[1]?t(l[1]):n(l[2]):!1},r3=(e,t,n=!1)=>{const l=U8.exec(e);return l?l[1]?t(l[1]):n:!1},z8=e=>e==="position"||e==="percentage",j8=e=>e==="image"||e==="url",X8=e=>e==="length"||e==="size"||e==="bg-size",q8=e=>e==="length",Cr=e=>e==="number",e0=e=>e==="family-name",t0=e=>e==="number"||e==="weight",n0=e=>e==="shadow",_r=()=>{const e=a2("color"),t=a2("font"),n=a2("text"),l=a2("font-weight"),s=a2("tracking"),o=a2("leading"),a=a2("breakpoint"),r=a2("container"),i=a2("spacing"),c=a2("radius"),u=a2("shadow"),d=a2("inset-shadow"),A=a2("text-shadow"),m=a2("drop-shadow"),p=a2("blur"),g=a2("perspective"),x=a2("aspect"),$=a2("ease"),k=a2("animate"),K=()=>["auto","avoid","all","avoid-page","page","left","right","column"],I=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],w=()=>[...I(),h1,d1],S=()=>["auto","hidden","clip","visible","scroll"],B=()=>["auto","contain","none"],_=()=>[h1,d1,i],D=()=>[Ee,"full","auto",..._()],C=()=>[U2,"none","subgrid",h1,d1],N=()=>["auto",{span:["full",U2,h1,d1]},U2,h1,d1],G=()=>[U2,"auto",h1,d1],j=()=>["auto","min","max","fr",h1,d1],f1=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],u1=()=>["start","end","center","stretch","center-safe","end-safe"],A1=()=>["auto",..._()],M1=()=>[Ee,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",..._()],i1=()=>[Ee,"screen","full","dvw","lvw","svw","min","max","fit",..._()],v1=()=>[Ee,"screen","full","lh","dvh","lvh","svh","min","max","fit",..._()],r1=()=>[e,h1,d1],H1=()=>[...I(),w7,x7,{position:[h1,d1]}],b1=()=>["no-repeat",{repeat:["","x","y","space","round"]}],q1=()=>["auto","cover","contain",kr,mr,{size:[h1,d1]}],j1=()=>[Jt,Q3,Pe],s1=()=>["","none","full",c,h1,d1],m1=()=>["",S1,Q3,Pe],L=()=>["solid","dashed","dotted","double"],X=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],W=()=>[S1,Jt,w7,x7],p1=()=>["","none",p,h1,d1],D1=()=>["none",S1,h1,d1],b=()=>["none",S1,h1,d1],Z=()=>[S1,h1,d1],R=()=>[Ee,"full",..._()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ue],breakpoint:[ue],color:[J8],container:[ue],"drop-shadow":[ue],ease:["in","out","in-out"],font:[Ar],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ue],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ue],shadow:[ue],spacing:["px",S1],text:[ue],"text-shadow":[ue],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ee,d1,h1,x]}],container:["container"],"container-type":[{"@container":["","normal","size",h1,d1]}],"container-named":[pr],columns:[{columns:[S1,d1,h1,r]}],"break-after":[{"break-after":K()}],"break-before":[{"break-before":K()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:w()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:B()}],"overscroll-x":[{"overscroll-x":B()}],"overscroll-y":[{"overscroll-y":B()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:D()}],"inset-x":[{"inset-x":D()}],"inset-y":[{"inset-y":D()}],start:[{"inset-s":D(),start:D()}],end:[{"inset-e":D(),end:D()}],"inset-bs":[{"inset-bs":D()}],"inset-be":[{"inset-be":D()}],top:[{top:D()}],right:[{right:D()}],bottom:[{bottom:D()}],left:[{left:D()}],visibility:["visible","invisible","collapse"],z:[{z:[U2,"auto",h1,d1]}],basis:[{basis:[Ee,"full","auto",r,..._()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[S1,Ee,"auto","initial","none",d1]}],grow:[{grow:["",S1,h1,d1]}],shrink:[{shrink:["",S1,h1,d1]}],order:[{order:[U2,"first","last","none",h1,d1]}],"grid-cols":[{"grid-cols":C()}],"col-start-end":[{col:N()}],"col-start":[{"col-start":G()}],"col-end":[{"col-end":G()}],"grid-rows":[{"grid-rows":C()}],"row-start-end":[{row:N()}],"row-start":[{"row-start":G()}],"row-end":[{"row-end":G()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":j()}],"auto-rows":[{"auto-rows":j()}],gap:[{gap:_()}],"gap-x":[{"gap-x":_()}],"gap-y":[{"gap-y":_()}],"justify-content":[{justify:[...f1(),"normal"]}],"justify-items":[{"justify-items":[...u1(),"normal"]}],"justify-self":[{"justify-self":["auto",...u1()]}],"align-content":[{content:["normal",...f1()]}],"align-items":[{items:[...u1(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...u1(),{baseline:["","last"]}]}],"place-content":[{"place-content":f1()}],"place-items":[{"place-items":[...u1(),"baseline"]}],"place-self":[{"place-self":["auto",...u1()]}],p:[{p:_()}],px:[{px:_()}],py:[{py:_()}],ps:[{ps:_()}],pe:[{pe:_()}],pbs:[{pbs:_()}],pbe:[{pbe:_()}],pt:[{pt:_()}],pr:[{pr:_()}],pb:[{pb:_()}],pl:[{pl:_()}],m:[{m:A1()}],mx:[{mx:A1()}],my:[{my:A1()}],ms:[{ms:A1()}],me:[{me:A1()}],mbs:[{mbs:A1()}],mbe:[{mbe:A1()}],mt:[{mt:A1()}],mr:[{mr:A1()}],mb:[{mb:A1()}],ml:[{ml:A1()}],"space-x":[{"space-x":_()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":_()}],"space-y-reverse":["space-y-reverse"],size:[{size:M1()}],"inline-size":[{inline:["auto",...i1()]}],"min-inline-size":[{"min-inline":["auto",...i1()]}],"max-inline-size":[{"max-inline":["none",...i1()]}],"block-size":[{block:["auto",...v1()]}],"min-block-size":[{"min-block":["auto",...v1()]}],"max-block-size":[{"max-block":["none",...v1()]}],w:[{w:[r,"screen",...M1()]}],"min-w":[{"min-w":[r,"screen","none",...M1()]}],"max-w":[{"max-w":[r,"screen","none","prose",{screen:[a]},...M1()]}],h:[{h:["screen","lh",...M1()]}],"min-h":[{"min-h":["screen","lh","none",...M1()]}],"max-h":[{"max-h":["screen","lh",...M1()]}],"font-size":[{text:["base",n,Q3,Pe]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,wr,gr]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Jt,d1]}],"font-family":[{font:[br,vr,t]}],"font-features":[{"font-features":[d1]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,h1,d1]}],"line-clamp":[{"line-clamp":[S1,"none",h1,k7]}],leading:[{leading:[o,..._()]}],"list-image":[{"list-image":["none",h1,d1]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",h1,d1]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:r1()}],"text-color":[{text:r1()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...L(),"wavy"]}],"text-decoration-thickness":[{decoration:[S1,"from-font","auto",h1,Pe]}],"text-decoration-color":[{decoration:r1()}],"underline-offset":[{"underline-offset":[S1,"auto",h1,d1]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:_()}],"tab-size":[{tab:[U2,h1,d1]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",h1,d1]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",h1,d1]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:H1()}],"bg-repeat":[{bg:b1()}],"bg-size":[{bg:q1()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},U2,h1,d1],radial:["",h1,d1],conic:[U2,h1,d1]},xr,yr]}],"bg-color":[{bg:r1()}],"gradient-from-pos":[{from:j1()}],"gradient-via-pos":[{via:j1()}],"gradient-to-pos":[{to:j1()}],"gradient-from":[{from:r1()}],"gradient-via":[{via:r1()}],"gradient-to":[{to:r1()}],rounded:[{rounded:s1()}],"rounded-s":[{"rounded-s":s1()}],"rounded-e":[{"rounded-e":s1()}],"rounded-t":[{"rounded-t":s1()}],"rounded-r":[{"rounded-r":s1()}],"rounded-b":[{"rounded-b":s1()}],"rounded-l":[{"rounded-l":s1()}],"rounded-ss":[{"rounded-ss":s1()}],"rounded-se":[{"rounded-se":s1()}],"rounded-ee":[{"rounded-ee":s1()}],"rounded-es":[{"rounded-es":s1()}],"rounded-tl":[{"rounded-tl":s1()}],"rounded-tr":[{"rounded-tr":s1()}],"rounded-br":[{"rounded-br":s1()}],"rounded-bl":[{"rounded-bl":s1()}],"border-w":[{border:m1()}],"border-w-x":[{"border-x":m1()}],"border-w-y":[{"border-y":m1()}],"border-w-s":[{"border-s":m1()}],"border-w-e":[{"border-e":m1()}],"border-w-bs":[{"border-bs":m1()}],"border-w-be":[{"border-be":m1()}],"border-w-t":[{"border-t":m1()}],"border-w-r":[{"border-r":m1()}],"border-w-b":[{"border-b":m1()}],"border-w-l":[{"border-l":m1()}],"divide-x":[{"divide-x":m1()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":m1()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...L(),"hidden","none"]}],"divide-style":[{divide:[...L(),"hidden","none"]}],"border-color":[{border:r1()}],"border-color-x":[{"border-x":r1()}],"border-color-y":[{"border-y":r1()}],"border-color-s":[{"border-s":r1()}],"border-color-e":[{"border-e":r1()}],"border-color-bs":[{"border-bs":r1()}],"border-color-be":[{"border-be":r1()}],"border-color-t":[{"border-t":r1()}],"border-color-r":[{"border-r":r1()}],"border-color-b":[{"border-b":r1()}],"border-color-l":[{"border-l":r1()}],"divide-color":[{divide:r1()}],"outline-style":[{outline:[...L(),"none","hidden"]}],"outline-offset":[{"outline-offset":[S1,h1,d1]}],"outline-w":[{outline:["",S1,Q3,Pe]}],"outline-color":[{outline:r1()}],shadow:[{shadow:["","none",u,M4,I4]}],"shadow-color":[{shadow:r1()}],"inset-shadow":[{"inset-shadow":["none",d,M4,I4]}],"inset-shadow-color":[{"inset-shadow":r1()}],"ring-w":[{ring:m1()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:r1()}],"ring-offset-w":[{"ring-offset":[S1,Pe]}],"ring-offset-color":[{"ring-offset":r1()}],"inset-ring-w":[{"inset-ring":m1()}],"inset-ring-color":[{"inset-ring":r1()}],"text-shadow":[{"text-shadow":["none",A,M4,I4]}],"text-shadow-color":[{"text-shadow":r1()}],opacity:[{opacity:[S1,h1,d1]}],"mix-blend":[{"mix-blend":[...X(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":X()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[S1]}],"mask-image-linear-from-pos":[{"mask-linear-from":W()}],"mask-image-linear-to-pos":[{"mask-linear-to":W()}],"mask-image-linear-from-color":[{"mask-linear-from":r1()}],"mask-image-linear-to-color":[{"mask-linear-to":r1()}],"mask-image-t-from-pos":[{"mask-t-from":W()}],"mask-image-t-to-pos":[{"mask-t-to":W()}],"mask-image-t-from-color":[{"mask-t-from":r1()}],"mask-image-t-to-color":[{"mask-t-to":r1()}],"mask-image-r-from-pos":[{"mask-r-from":W()}],"mask-image-r-to-pos":[{"mask-r-to":W()}],"mask-image-r-from-color":[{"mask-r-from":r1()}],"mask-image-r-to-color":[{"mask-r-to":r1()}],"mask-image-b-from-pos":[{"mask-b-from":W()}],"mask-image-b-to-pos":[{"mask-b-to":W()}],"mask-image-b-from-color":[{"mask-b-from":r1()}],"mask-image-b-to-color":[{"mask-b-to":r1()}],"mask-image-l-from-pos":[{"mask-l-from":W()}],"mask-image-l-to-pos":[{"mask-l-to":W()}],"mask-image-l-from-color":[{"mask-l-from":r1()}],"mask-image-l-to-color":[{"mask-l-to":r1()}],"mask-image-x-from-pos":[{"mask-x-from":W()}],"mask-image-x-to-pos":[{"mask-x-to":W()}],"mask-image-x-from-color":[{"mask-x-from":r1()}],"mask-image-x-to-color":[{"mask-x-to":r1()}],"mask-image-y-from-pos":[{"mask-y-from":W()}],"mask-image-y-to-pos":[{"mask-y-to":W()}],"mask-image-y-from-color":[{"mask-y-from":r1()}],"mask-image-y-to-color":[{"mask-y-to":r1()}],"mask-image-radial":[{"mask-radial":[h1,d1]}],"mask-image-radial-from-pos":[{"mask-radial-from":W()}],"mask-image-radial-to-pos":[{"mask-radial-to":W()}],"mask-image-radial-from-color":[{"mask-radial-from":r1()}],"mask-image-radial-to-color":[{"mask-radial-to":r1()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":I()}],"mask-image-conic-pos":[{"mask-conic":[S1]}],"mask-image-conic-from-pos":[{"mask-conic-from":W()}],"mask-image-conic-to-pos":[{"mask-conic-to":W()}],"mask-image-conic-from-color":[{"mask-conic-from":r1()}],"mask-image-conic-to-color":[{"mask-conic-to":r1()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:H1()}],"mask-repeat":[{mask:b1()}],"mask-size":[{mask:q1()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",h1,d1]}],filter:[{filter:["","none",h1,d1]}],blur:[{blur:p1()}],brightness:[{brightness:[S1,h1,d1]}],contrast:[{contrast:[S1,h1,d1]}],"drop-shadow":[{"drop-shadow":["","none",m,M4,I4]}],"drop-shadow-color":[{"drop-shadow":r1()}],grayscale:[{grayscale:["",S1,h1,d1]}],"hue-rotate":[{"hue-rotate":[S1,h1,d1]}],invert:[{invert:["",S1,h1,d1]}],saturate:[{saturate:[S1,h1,d1]}],sepia:[{sepia:["",S1,h1,d1]}],"backdrop-filter":[{"backdrop-filter":["","none",h1,d1]}],"backdrop-blur":[{"backdrop-blur":p1()}],"backdrop-brightness":[{"backdrop-brightness":[S1,h1,d1]}],"backdrop-contrast":[{"backdrop-contrast":[S1,h1,d1]}],"backdrop-grayscale":[{"backdrop-grayscale":["",S1,h1,d1]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[S1,h1,d1]}],"backdrop-invert":[{"backdrop-invert":["",S1,h1,d1]}],"backdrop-opacity":[{"backdrop-opacity":[S1,h1,d1]}],"backdrop-saturate":[{"backdrop-saturate":[S1,h1,d1]}],"backdrop-sepia":[{"backdrop-sepia":["",S1,h1,d1]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":_()}],"border-spacing-x":[{"border-spacing-x":_()}],"border-spacing-y":[{"border-spacing-y":_()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",h1,d1]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[S1,"initial",h1,d1]}],ease:[{ease:["linear","initial",$,h1,d1]}],delay:[{delay:[S1,h1,d1]}],animate:[{animate:["none",k,h1,d1]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,h1,d1]}],"perspective-origin":[{"perspective-origin":w()}],rotate:[{rotate:D1()}],"rotate-x":[{"rotate-x":D1()}],"rotate-y":[{"rotate-y":D1()}],"rotate-z":[{"rotate-z":D1()}],scale:[{scale:b()}],"scale-x":[{"scale-x":b()}],"scale-y":[{"scale-y":b()}],"scale-z":[{"scale-z":b()}],"scale-3d":["scale-3d"],skew:[{skew:Z()}],"skew-x":[{"skew-x":Z()}],"skew-y":[{"skew-y":Z()}],transform:[{transform:[h1,d1,"","none","gpu","cpu"]}],"transform-origin":[{origin:w()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:R()}],"translate-x":[{"translate-x":R()}],"translate-y":[{"translate-y":R()}],"translate-z":[{"translate-z":R()}],"translate-none":["translate-none"],zoom:[{zoom:[U2,h1,d1]}],accent:[{accent:r1()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:r1()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",h1,d1]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":r1()}],"scrollbar-track-color":[{"scrollbar-track":r1()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":_()}],"scroll-mx":[{"scroll-mx":_()}],"scroll-my":[{"scroll-my":_()}],"scroll-ms":[{"scroll-ms":_()}],"scroll-me":[{"scroll-me":_()}],"scroll-mbs":[{"scroll-mbs":_()}],"scroll-mbe":[{"scroll-mbe":_()}],"scroll-mt":[{"scroll-mt":_()}],"scroll-mr":[{"scroll-mr":_()}],"scroll-mb":[{"scroll-mb":_()}],"scroll-ml":[{"scroll-ml":_()}],"scroll-p":[{"scroll-p":_()}],"scroll-px":[{"scroll-px":_()}],"scroll-py":[{"scroll-py":_()}],"scroll-ps":[{"scroll-ps":_()}],"scroll-pe":[{"scroll-pe":_()}],"scroll-pbs":[{"scroll-pbs":_()}],"scroll-pbe":[{"scroll-pbe":_()}],"scroll-pt":[{"scroll-pt":_()}],"scroll-pr":[{"scroll-pr":_()}],"scroll-pb":[{"scroll-pb":_()}],"scroll-pl":[{"scroll-pl":_()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",h1,d1]}],fill:[{fill:["none",...r1()]}],"stroke-w":[{stroke:[S1,Q3,Pe,k7]}],stroke:[{stroke:["none",...r1()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},Ir=lr(_r);function E1(...e){return Ir(L8(e))}const Mr=["src","alt"],Er={key:1,class:"flex h-full w-full items-center justify-center bg-muted font-medium text-muted-foreground"},Dr=G1({__name:"Avatar",props:{src:{},alt:{},fallback:{default:"?"},size:{default:"md"},class:{}},setup(e){const t=e,n={sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base"},l=P(!1),s=z(()=>!t.src||l.value);return(o,a)=>(h(),y("div",{class:o1(f(E1)("relative flex shrink-0 overflow-hidden rounded-full",n[e.size],t.class))},[s.value?(h(),y("div",Er,F(e.fallback),1)):(h(),y("img",{key:0,src:e.src??void 0,alt:e.alt,class:"aspect-square h-full w-full object-cover",onError:a[0]||(a[0]=r=>l.value=!0)},null,40,Mr))],2))}}),C7=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,_7=L8,wt=(e,t)=>n=>{var l;if((t==null?void 0:t.variants)==null)return _7(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:s,defaultVariants:o}=t,a=Object.keys(s).map(c=>{const u=n==null?void 0:n[c],d=o==null?void 0:o[c];if(u===null)return null;const A=C7(u)||C7(d);return s[c][A]}),r=n&&Object.entries(n).reduce((c,u)=>{let[d,A]=u;return A===void 0||(c[d]=A),c},{}),i=t==null||(l=t.compoundVariants)===null||l===void 0?void 0:l.reduce((c,u)=>{let{class:d,className:A,...m}=u;return Object.entries(m).every(p=>{let[g,x]=p;return Array.isArray(x)?x.includes({...o,...r}[g]):{...o,...r}[g]===x})?[...c,d,A]:c},[]);return _7(e,a,i,n==null?void 0:n.class,n==null?void 0:n.className)},n2=G1({__name:"Badge",props:{variant:{default:"default"},class:{}},setup(e){const t=wt("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground shadow",outline:"text-foreground",success:"border-transparent bg-success/20 text-success",warning:"border-transparent bg-warning/20 text-warning",glow:"border-primary/30 bg-primary/10 text-primary"}},defaultVariants:{variant:"default"}}),n=e;return(l,s)=>(h(),y("div",{class:o1(f(E1)(f(t)({variant:e.variant}),n.class))},[O1(l.$slots,"default")],2))}}),x1=G1({__name:"Button",props:{variant:{default:"default"},size:{default:"default"},as:{default:"button"},class:{},disabled:{type:Boolean}},setup(e){const t=wt("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline",glow:"bg-primary text-primary-foreground shadow-lg hover:bg-primary/90 glow-sm hover:glow"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-8",xl:"h-12 rounded-lg px-10 text-base",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),n=e;return(l,s)=>(h(),Q(h2(e.as),{class:o1(f(E1)(f(t)({variant:e.variant,size:e.size}),n.class)),disabled:e.disabled},{default:M(()=>[O1(l.$slots,"default")]),_:3},8,["class","disabled"]))}}),Q1=G1({__name:"Card",props:{class:{},hover:{type:Boolean,default:!1},glow:{type:Boolean,default:!1}},setup(e){const t=e;return(n,l)=>(h(),y("div",{class:o1(f(E1)("rounded-lg border bg-card text-card-foreground shadow-sm",e.hover&&"transition-all duration-200 hover:border-primary/50 hover:-translate-y-1",e.glow&&"glow-sm",t.class))},[O1(n.$slots,"default")],2))}}),Zr="modulepreload",Fr=function(e){return"/"+e},I7={},E4=function(t,n,l){let s=Promise.resolve();if(n&&n.length>0){let a=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),i=(r==null?void 0:r.nonce)||(r==null?void 0:r.getAttribute("nonce"));s=a(n.map(c=>{if(c=Fr(c),c in I7)return;I7[c]=!0;const u=c.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${d}`))return;const A=document.createElement("link");if(A.rel=u?"stylesheet":Zr,u||(A.as="script"),A.crossOrigin="",A.href=c,i&&A.setAttribute("nonce",i),document.head.appendChild(A),u)return new Promise((m,p)=>{A.addEventListener("load",m),A.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(a){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=a,window.dispatchEvent(r),!r.defaultPrevented)throw a}return s.then(a=>{for(const r of a||[])r.status==="rejected"&&o(r.reason);return t().catch(o)})},M7={intent:"bg-fuchsia-600/10 text-fuchsia-600 border-fuchsia-600/20",decision:"bg-blue-600/10 text-blue-600 border-blue-600/20",constraint:"bg-amber-600/10 text-amber-600 border-amber-600/20",workaround:"bg-red-600/10 text-red-600 border-red-600/20",convention:"bg-violet-600/10 text-violet-600 border-violet-600/20",pattern:"bg-emerald-600/10 text-emerald-600 border-emerald-600/20",discussion:"bg-cyan-600/10 text-cyan-600 border-cyan-600/20",review:"bg-pink-600/10 text-pink-600 border-pink-600/20",plan:"bg-lime-600/10 text-lime-600 border-lime-600/20"},Br={intent:"bg-fuchsia-600",decision:"bg-blue-600",constraint:"bg-amber-600",workaround:"bg-red-600",convention:"bg-violet-600",pattern:"bg-emerald-600",discussion:"bg-cyan-600",review:"bg-pink-600",plan:"bg-lime-600"},zt={system:"#7c3aed",part:"#d97706",contract:"#0891b2",intent:"#c026d3",decision:"#2563eb",constraint:"#d97706",workaround:"#dc2626",convention:"#7c3aed",pattern:"#059669",discussion:"#0891b2",review:"#db2777",plan:"#65a30d"},Sr=["Intent","Decision","Constraint","Workaround","Convention","Pattern","Discussion","Review","Plan"],Rr={Intent:"What this exists to do, who for, and what it deliberately is not",Decision:"A deliberate choice made about architecture, tooling, or approach",Constraint:"A hard limitation imposed by external factors or requirements",Workaround:"A temporary fix for a known issue or limitation",Convention:"An established principle or standard the team follows",Pattern:"An observed model, recurring choice, or emergent practice",Discussion:"Key points from a team discussion or debate",Review:"Insights surfaced during code review",Plan:"A future intention or roadmap item"};function l0(){const e="bg-muted text-muted-foreground border-border";function t(o){return M7[(o??"").toLowerCase()]??e}function n(o){return Br[(o??"").toLowerCase()]??"bg-muted-foreground"}function l(o){return zt[(o??"").toLowerCase()]??"#a1a1aa"}const s=Object.keys(zt).map(o=>({kind:o,label:o.charAt(0).toUpperCase()+o.slice(1),color:zt[o]}));return{tone:t,fill:n,ink:l,legend:s,kinds:Object.keys(M7),kindOptions:Sr,kindDescriptions:Rr}}const D4="#6b7280",$r=G1({__name:"CodeGraph",props:{height:{default:"460px"},repo:{default:""},mode:{default:"2d"},data:{default:null},hidden:{default:()=>[]}},emits:["select"],setup(e,{expose:t,emit:n}){const l=n,s=e,o=D=>[typeof D.source=="object"?D.source:null,typeof D.target=="object"?D.target:null],a=D=>{const[C,N]=o(D);return C&&N&&C.community===N.community&&C.community!==null?C:null},r=P(null);let i=null,c=null,u=null;const d=new Map,{ink:A}=l0(),m=["#4E79A7","#F28E2B","#E15759","#76B7B2","#59A14F","#EDC948","#B07AA1","#FF9DA7","#9C755F","#BAB0AC"];function p(D){if(typeof D.community=="number")return m[D.community%m.length];const C=(D.kind||"").toLowerCase();return C==="code"?"#E20C18":C==="file"||["class","function","method","module","route","variable","symbol"].includes(C)?D4:A(C)}function g(D){return D&&D.length>28?`${D.slice(0,27)}…`:D}const x=z(()=>!!s.data&&s.data.nodes.length>0);t({hasGraph:x});const $=z(()=>new Set(s.hidden));function k(){const D=s.data??{nodes:[],links:[]},C=D.nodes.filter(u1=>typeof u1.community!="number"||!$.value.has(u1.community)),N=new Set(C.map(u1=>u1.id)),G=Math.max(1,...C.map(u1=>u1.degree??0)),j=C.map(u1=>{const A1=d.get(u1.id);return{...u1,...A1??{},color:p(u1),radius:Math.min(3+2.4*Math.sqrt(u1.degree??0),11),named:(u1.degree??0)>=Math.max(4,G*.5)}}),f1=D.links.filter(u1=>N.has(String(u1.source))&&N.has(String(u1.target))).map(u1=>({...u1}));return{nodes:j,links:f1}}function K(D){return Math.max(.06,Math.min(.5,Math.sqrt(400/Math.max(1,D))))}function I(D,C){const N=parseInt(D.slice(1),16),G=Math.max(0,Math.min(1,C)).toFixed(3);return`rgba(${N>>16&255}, ${N>>8&255}, ${N&255}, ${G})`}const w=D=>D==="tree"?"td":D==="radial"?"radialout":D==="layered"?"zout":null;function S(){if(i)for(const D of i.graphData().nodes)Number.isFinite(D.x)&&d.set(D.id,{x:D.x,y:D.y,z:D.z??0})}function B(){var D;S(),i&&((D=i._destructor)==null||D.call(i),i=null),r.value&&(r.value.innerHTML="")}async function _(D){var f1,u1;if(!r.value)return;const C=D==="2d"?"2d":"3d";if(i&&c===C){C==="3d"&&i.dagMode(w(D)),S(),i.graphData(k());return}if(B(),c=C,C==="2d"){const A1=(await E4(async()=>{const{default:s1}=await import("./force-graph-HZtkkbK0.js");return{default:s1}},__vite__mapDeps([0,1,2]))).default,{forceCollide:M1,forceManyBody:i1,forceX:v1,forceY:r1}=await E4(async()=>{const{forceCollide:s1,forceManyBody:m1,forceX:L,forceY:X}=await import("./index-DHVCIEzJ.js");return{forceCollide:s1,forceManyBody:m1,forceX:L,forceY:X}},__vite__mapDeps([3,1])),H1=k(),b1=K(H1.links.length);let q1=null;i=new A1(r.value),i.backgroundColor("rgba(0,0,0,0)").graphData(H1).nodeRelSize(4).nodeColor(s1=>s1.color).nodeLabel(s1=>s1.path?`${s1.name} — ${s1.path}`:s1.name).nodeCanvasObject((s1,m1,L)=>{const X=!q1||q1===s1.id;if(m1.globalAlpha=X?1:.25,m1.beginPath(),m1.arc(s1.x,s1.y,s1.radius,0,2*Math.PI),m1.fillStyle=s1.color,m1.fill(),!s1.named&&q1!==s1.id){m1.globalAlpha=1;return}const W=Math.max(11/L,1.5);m1.font=`${W}px ui-sans-serif, system-ui, sans-serif`,m1.fillStyle=s1.color,m1.textAlign="left",m1.textBaseline="middle",m1.fillText(g(s1.name),s1.x+s1.radius+2/L,s1.y),m1.globalAlpha=1}).nodePointerAreaPaint((s1,m1,L)=>{L.fillStyle=m1,L.beginPath(),L.arc(s1.x,s1.y,s1.radius+2,0,2*Math.PI),L.fill()}).linkColor(s1=>{const m1=a(s1);return I(m1?m1.color:D4,b1*(m1?1.6:1))}).linkWidth(.6).linkDirectionalArrowLength(2.5).linkDirectionalArrowRelPos(1).linkLabel(s1=>s1.type??"").onNodeHover(s1=>{var m1;q1=s1?s1.id:null,r.value&&(r.value.style.cursor=s1?"pointer":""),(m1=i==null?void 0:i.refresh)==null||m1.call(i)}).width(r.value.clientWidth).height(r.value.clientHeight).onNodeClick(s1=>l("select",String(s1.id))),i.d3AlphaDecay(.02).d3VelocityDecay(.35).cooldownTicks(220),i.d3Force("charge",i1().strength(-140).distanceMax(420)),i.d3Force("center",null),i.d3Force("x",v1(0).strength(.03)),i.d3Force("y",r1(0).strength(.03)),i.d3Force("collide",M1(s1=>s1.radius+2).iterations(2)),(f1=i.d3Force("link"))==null||f1.distance(s1=>a(s1)?26:70).strength(s1=>a(s1)?.7:.08);let j1=!1;i.onEngineTick(()=>{!j1&&i.d3Force("link")&&(j1=!0,setTimeout(()=>i==null?void 0:i.zoomToFit(600,60),700))}),i.onEngineStop(()=>{S(),i==null||i.zoomToFit(600,60)});return}const N=(await E4(async()=>{const{default:A1}=await import("./3d-force-graph-B8lgMx4q.js");return{default:A1}},__vite__mapDeps([4,5,2,1]))).default,G=await E4(()=>import("./three.module-D-PgY1-x.js").then(A1=>A1.df),[]),j=k();i=new N(r.value),i.backgroundColor("rgba(0,0,0,0)").showNavInfo(!1).onDagError(()=>{}).dagLevelDistance(46).dagMode(w(D)).graphData(j).nodeLabel(A1=>A1.path?`${A1.name} — ${A1.path}`:A1.name).nodeThreeObject(A1=>{const M1=new G.SphereGeometry(A1.radius,12,10),i1=new G.MeshLambertMaterial({color:A1.color,transparent:!0,opacity:.92});return new G.Mesh(M1,i1)}).linkColor(()=>D4).linkOpacity(K(j.links.length)).linkWidth(.5).linkDirectionalArrowLength(2).linkDirectionalArrowRelPos(1).linkLabel(A1=>A1.type??"").width(r.value.clientWidth).height(r.value.clientHeight).onNodeClick(A1=>l("select",String(A1.id))),(u1=i.d3Force("charge"))==null||u1.strength(-140).distanceMax(420),i.onEngineStop(()=>{S(),i==null||i.zoomToFit(600,60)})}return o2(async()=>{await _(s.mode),u=new ResizeObserver(()=>{i&&r.value&&i.width(r.value.clientWidth).height(r.value.clientHeight)}),r.value&&u.observe(r.value)}),P1(()=>s.mode,D=>_(D)),P1(()=>s.repo,()=>{d.clear(),_(s.mode)}),P1(()=>s.data,()=>_(s.mode)),P1(()=>s.hidden,()=>_(s.mode),{deep:!0}),mt(()=>{u&&(u.disconnect(),u=null),B()}),(D,C)=>(h(),y("div",{ref_key:"el",ref:r,style:M2({height:s.height}),class:"w-full"},null,4))}});/** + */let Aa=()=>location.protocol+"//"+location.host;function G8(e,t){const{pathname:n,search:l,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,r=s.slice(a);return r[0]!=="/"&&(r="/"+r),a7(r,"")}return a7(n,e)+l+s}function pa(e,t,n,l){let s=[],o=[],a=null;const r=({state:A})=>{const m=G8(e,location),p=n.value,g=t.value;let x=0;if(A){if(n.value=m,t.value=A,a&&a===p){a=null;return}x=g?A.position-g.position:0}else l(m);s.forEach($=>{$(n.value,p,{delta:x,type:M5.pop,direction:x?x>0?Yt.forward:Yt.back:Yt.unknown})})};function i(){a=n.value}function c(A){s.push(A);const m=()=>{const p=s.indexOf(A);p>-1&&s.splice(p,1)};return o.push(m),m}function u(){if(document.visibilityState==="hidden"){const{history:A}=window;if(!A.state)return;A.replaceState(W1({},A.state,{scroll:xt()}),"")}}function d(){for(const A of o)A();o=[],window.removeEventListener("popstate",r),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",r),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:i,listen:c,destroy:d}}function d7(e,t,n,l=!1,s=!1){return{back:e,current:t,forward:n,replaced:l,position:window.history.length,scroll:s?xt():null}}function ma(e){const{history:t,location:n}=window,l={value:G8(e,n)},s={value:t.state};s.value||o(l.value,{back:null,current:l.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(i,c,u){const d=e.indexOf("#"),A=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+i:Aa()+e+i;try{t[u?"replaceState":"pushState"](c,"",A),s.value=c}catch(m){console.error(m),n[u?"replace":"assign"](A)}}function a(i,c){o(i,W1({},t.state,d7(s.value.back,i,s.value.forward,!0),c,{position:s.value.position}),!0),l.value=i}function r(i,c){const u=W1({},s.value,t.state,{forward:i,scroll:xt()});o(u.current,u,!0),o(i,W1({},d7(l.value,i,null),{position:u.position+1},c),!1),l.value=i}return{location:l,state:s,push:r,replace:a}}function ga(e){e=ea(e);const t=ma(e),n=pa(e,t.state,t.location,t.replace);function l(o,a=!0){a||n.pauseListeners(),history.go(o)}const s=W1({location:"",base:e,go:l,createHref:na.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let n3=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var r2=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(r2||{});const va={type:n3.Static,value:""},ya=/[a-zA-Z0-9_]/;function ba(e){if(!e)return[[]];if(e==="/")return[[va]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=r2.Static,l=n;const s=[];let o;function a(){o&&s.push(o),o=[]}let r=0,i,c="",u="";function d(){c&&(n===r2.Static?o.push({type:n3.Static,value:c}):n===r2.Param||n===r2.ParamRegExp||n===r2.ParamRegExpEnd?(o.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:n3.Param,value:c,regexp:u,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function A(){c+=i}for(;rt.length?t.length===1&&t[0]===w2.Static+w2.Segment?1:-1:0}function W8(e,t){let n=0;const l=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const _a={strict:!1,end:!0,sensitive:!1};function Ia(e,t,n){const l=wa(ba(e.path),n),s=W1(l,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function Ma(e,t){const n=[],l=new Map;t=o7(_a,t);function s(d){return l.get(d)}function o(d,A,m){const p=!m,g=p7(d);g.aliasOf=m&&m.record;const x=o7(t,d),$=[g];if("alias"in d){const C=typeof d.alias=="string"?[d.alias]:d.alias;for(const b of C)$.push(p7(W1({},g,{components:m?m.record.components:g.components,path:b,aliasOf:m?m.record:g})))}let k,N;for(const C of $){const{path:b}=C;if(A&&b[0]!=="/"){const B=A.record.path,S=B[B.length-1]==="/"?"":"/";C.path=A.record.path+(b&&S+b)}if(k=Ia(C,A,x),m?m.alias.push(k):(N=N||k,N!==k&&N.alias.push(k),p&&d.name&&!m7(k)&&a(d.name)),L8(k)&&i(k),g.children){const B=g.children;for(let S=0;S{a(N)}:z3}function a(d){if(Q8(d)){const A=l.get(d);A&&(l.delete(d),n.splice(n.indexOf(A),1),A.children.forEach(a),A.alias.forEach(a))}else{const A=n.indexOf(d);A>-1&&(n.splice(A,1),d.record.name&&l.delete(d.record.name),d.children.forEach(a),d.alias.forEach(a))}}function r(){return n}function i(d){const A=Za(d,n);n.splice(A,0,d),d.record.name&&!m7(d)&&l.set(d.record.name,d)}function c(d,A){let m,p={},g,x;if("name"in d&&d.name){if(m=l.get(d.name),!m)throw I3(t2.MATCHER_NOT_FOUND,{location:d});x=m.record.name,p=W1(A7(A.params,m.keys.filter(N=>!N.optional).concat(m.parent?m.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),d.params&&A7(d.params,m.keys.map(N=>N.name))),g=m.stringify(p)}else if(d.path!=null)g=d.path,m=n.find(N=>N.re.test(g)),m&&(p=m.parse(g),x=m.record.name);else{if(m=A.name?l.get(A.name):n.find(N=>N.re.test(A.path)),!m)throw I3(t2.MATCHER_NOT_FOUND,{location:d,currentLocation:A});x=m.record.name,p=W1({},A.params,d.params),g=m.stringify(p)}const $=[];let k=m;for(;k;)$.unshift(k.record),k=k.parent;return{name:x,path:g,params:p,matched:$,meta:Da($)}}e.forEach(d=>o(d));function u(){n.length=0,l.clear()}return{addRoute:o,resolve:c,removeRoute:a,clearRoutes:u,getRoutes:r,getRecordMatcher:s}}function A7(e,t){const n={};for(const l of t)l in e&&(n[l]=e[l]);return n}function p7(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ea(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ea(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const l in e.components)t[l]=typeof n=="object"?n[l]:n;return t}function m7(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Da(e){return e.reduce((t,n)=>W1(t,n.meta),{})}function Za(e,t){let n=0,l=t.length;for(;n!==l;){const o=n+l>>1;W8(e,t[o])<0?l=o:n=o+1}const s=Fa(e);return s&&(l=t.lastIndexOf(s,l-1)),l}function Fa(e){let t=e;for(;t=t.parent;)if(L8(t)&&W8(e,t)===0)return t}function L8({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function g7(e){const t=W2(wt),n=W2(a6),l=z(()=>{const i=f(e.to);return t.resolve(i)}),s=z(()=>{const{matched:i}=l.value,{length:c}=i,u=i[c-1],d=n.matched;if(!u||!d.length)return-1;const A=d.findIndex(_3.bind(null,u));if(A>-1)return A;const m=v7(i[c-2]);return c>1&&v7(u)===m&&d[d.length-1].path!==m?d.findIndex(_3.bind(null,i[c-2])):A}),o=z(()=>s.value>-1&&Na(n.params,l.value.params)),a=z(()=>s.value>-1&&s.value===n.matched.length-1&&K8(n.params,l.value.params));function r(i={}){if($a(i)){const c=t[f(e.replace)?"replace":"push"](f(e.to)).catch(z3);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:l,href:z(()=>l.value.href),isActive:o,isExactActive:a,navigate:r}}function Ba(e){return e.length===1?e[0]:e}const Sa=K1({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:g7,setup(e,{slots:t}){const n=At(g7(e)),{options:l}=W2(wt),s=z(()=>({[y7(e.activeClass,l.linkActiveClass,"router-link-active")]:n.isActive,[y7(e.exactActiveClass,l.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Ba(t.default(n));return e.custom?o:C3("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),Ra=Sa;function $a(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Na(e,t){for(const n in t){const l=t[n],s=e[n];if(typeof l=="string"){if(l!==s)return!1}else if(!V2(s)||s.length!==l.length||l.some((o,a)=>o.valueOf()!==s[a].valueOf()))return!1}return!0}function v7(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const y7=(e,t,n)=>e??t??n,Ka=K1({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const l=W2(D5),s=z(()=>e.route||l.value),o=W2(u7,0),a=z(()=>{let c=f(o);const{matched:u}=s.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),r=z(()=>s.value.matched[a.value]);K4(u7,z(()=>a.value+1)),K4(fa,r),K4(D5,s);const i=V();return H1(()=>[i.value,r.value,e.name],([c,u,d],[A,m,p])=>{u&&(u.instances[d]=c,m&&m!==u&&c&&c===A&&(u.leaveGuards.size||(u.leaveGuards=m.leaveGuards),u.updateGuards.size||(u.updateGuards=m.updateGuards))),c&&u&&(!m||!_3(u,m)||!A)&&(u.enterCallbacks[d]||[]).forEach(g=>g(c))},{flush:"post"}),()=>{const c=s.value,u=e.name,d=r.value,A=d&&d.components[u];if(!A)return b7(n.default,{Component:A,route:c});const m=d.props[u],p=m?m===!0?c.params:typeof m=="function"?m(c):m:null,x=C3(A,W1({},p,t,{onVnodeUnmounted:$=>{$.component.isUnmounted&&(d.instances[u]=null)},ref:i}));return b7(n.default,{Component:x,route:c})||x}}});function b7(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Qa=Ka;function Oa(e){const t=Ma(e.routes,e),n=e.parseQuery||ua,l=e.stringifyQuery||c7,s=e.history,o=Q3(),a=Q3(),r=Q3(),i=Zl(Me);let c=Me;A3&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Ht.bind(null,L=>""+L),d=Ht.bind(null,Uo),A=Ht.bind(null,r4);function m(L,X){let W,p1;return Q8(L)?(W=t.getRecordMatcher(L),p1=X):p1=L,t.addRoute(p1,W)}function p(L){const X=t.getRecordMatcher(L);X&&t.removeRoute(X)}function g(){return t.getRoutes().map(L=>L.record)}function x(L){return!!t.getRecordMatcher(L)}function $(L,X){if(X=W1({},X||i.value),typeof L=="string"){const R=Ut(n,L,X.path),Y=t.resolve({path:R.path},X),J=s.createHref(R.fullPath);return W1(R,Y,{params:A(Y.params),hash:r4(R.hash),redirectedFrom:void 0,href:J})}let W;if(L.path!=null)W=W1({},L,{path:Ut(n,L.path,X.path).path});else{const R=W1({},L.params);for(const Y in R)R[Y]==null&&delete R[Y];W=W1({},L,{params:d(R)}),X.params=d(X.params)}const p1=t.resolve(W,X),D1=L.hash||"";p1.params=u(A(p1.params));const w=zo(l,W1({},L,{hash:Vo(D1),path:p1.path})),Z=s.createHref(w);return W1({fullPath:w,hash:D1,query:l===c7?da(L.query):L.query||{}},p1,{redirectedFrom:void 0,href:Z})}function k(L){return typeof L=="string"?Ut(n,L,i.value.path):W1({},L)}function N(L,X){if(c!==L)return I3(t2.NAVIGATION_CANCELLED,{from:X,to:L})}function C(L){return S(L)}function b(L){return C(W1(k(L),{replace:!0}))}function B(L,X){const W=L.matched[L.matched.length-1];if(W&&W.redirect){const{redirect:p1}=W;let D1=typeof p1=="function"?p1(L,X):p1;return typeof D1=="string"&&(D1=D1.includes("?")||D1.includes("#")?D1=k(D1):{path:D1},D1.params={}),W1({query:L.query,hash:L.hash,params:D1.path!=null?{}:L.params},D1)}}function S(L,X){const W=c=$(L),p1=i.value,D1=L.state,w=L.force,Z=L.replace===!0,R=B(W,p1);if(R)return S(W1(k(R),{state:typeof R=="object"?W1({},D1,R.state):D1,force:w,replace:Z}),X||W);const Y=W;Y.redirectedFrom=X;let J;return!w&&jo(l,p1,W)&&(J=I3(t2.NAVIGATION_DUPLICATED,{to:Y,from:p1}),U1(p1,p1,!0,!1)),(J?Promise.resolve(J):_(Y,p1)).catch(U=>ce(U)?ce(U,t2.NAVIGATION_GUARD_REDIRECT)?U:r1(U):i1(U,Y,p1)).then(U=>{if(U){if(ce(U,t2.NAVIGATION_GUARD_REDIRECT))return S(W1({replace:Z},k(U.to),{state:typeof U.to=="object"?W1({},D1,U.to.state):D1,force:w}),X||Y)}else U=G(Y,p1,!0,Z,D1);return K(Y,p1,U),U})}function I(L,X){const W=N(L,X);return W?Promise.reject(W):Promise.resolve()}function D(L){const X=j1.values().next().value;return X&&typeof X.runWithContext=="function"?X.runWithContext(L):L()}function _(L,X){let W;const[p1,D1,w]=ha(L,X);W=Jt(p1.reverse(),"beforeRouteLeave",L,X);for(const R of p1)R.leaveGuards.forEach(Y=>{W.push(Fe(Y,L,X))});const Z=I.bind(null,L,X);return W.push(Z),m1(W).then(()=>{W=[];for(const R of o.list())W.push(Fe(R,L,X));return W.push(Z),m1(W)}).then(()=>{W=Jt(D1,"beforeRouteUpdate",L,X);for(const R of D1)R.updateGuards.forEach(Y=>{W.push(Fe(Y,L,X))});return W.push(Z),m1(W)}).then(()=>{W=[];for(const R of w)if(R.beforeEnter)if(V2(R.beforeEnter))for(const Y of R.beforeEnter)W.push(Fe(Y,L,X));else W.push(Fe(R.beforeEnter,L,X));return W.push(Z),m1(W)}).then(()=>(L.matched.forEach(R=>R.enterCallbacks={}),W=Jt(w,"beforeRouteEnter",L,X,D),W.push(Z),m1(W))).then(()=>{W=[];for(const R of a.list())W.push(Fe(R,L,X));return W.push(Z),m1(W)}).catch(R=>ce(R,t2.NAVIGATION_CANCELLED)?R:Promise.reject(R))}function K(L,X,W){r.list().forEach(p1=>D(()=>p1(L,X,W)))}function G(L,X,W,p1,D1){const w=N(L,X);if(w)return w;const Z=X===Me,R=A3?history.state:{};W&&(p1||Z?s.replace(L.fullPath,W1({scroll:Z&&R&&R.scroll},D1)):s.push(L.fullPath,D1)),i.value=L,U1(L,X,W,Z),r1()}let j;function f1(){j||(j=s.listen((L,X,W)=>{if(!s1.listening)return;const p1=$(L),D1=B(p1,s1.currentRoute.value);if(D1){S(W1(D1,{replace:!0,force:!0}),p1).catch(z3);return}c=p1;const w=i.value;A3&&oa(i7(w.fullPath,W.delta),xt()),_(p1,w).catch(Z=>ce(Z,t2.NAVIGATION_ABORTED|t2.NAVIGATION_CANCELLED)?Z:ce(Z,t2.NAVIGATION_GUARD_REDIRECT)?(S(W1(k(Z.to),{force:!0}),p1).then(R=>{ce(R,t2.NAVIGATION_ABORTED|t2.NAVIGATION_DUPLICATED)&&!W.delta&&W.type===M5.pop&&s.go(-1,!1)}).catch(z3),Promise.reject()):(W.delta&&s.go(-W.delta,!1),i1(Z,p1,w))).then(Z=>{Z=Z||G(p1,w,!1),Z&&(W.delta&&!ce(Z,t2.NAVIGATION_CANCELLED)?s.go(-W.delta,!1):W.type===M5.pop&&ce(Z,t2.NAVIGATION_ABORTED|t2.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),K(p1,w,Z)}).catch(z3)}))}let u1=Q3(),A1=Q3(),M1;function i1(L,X,W){r1(L);const p1=A1.list();return p1.length?p1.forEach(D1=>D1(L,X,W)):console.error(L),Promise.reject(L)}function v1(){return M1&&i.value!==Me?Promise.resolve():new Promise((L,X)=>{u1.add([L,X])})}function r1(L){return M1||(M1=!L,f1(),u1.list().forEach(([X,W])=>L?W(L):X()),u1.reset()),L}function U1(L,X,W,p1){const{scrollBehavior:D1}=e;if(!A3||!D1)return Promise.resolve();const w=!W&&aa(i7(L.fullPath,0))||(p1||!W)&&history.state&&history.state.scroll||null;return e4().then(()=>D1(L,X,w)).then(Z=>Z&&sa(Z)).catch(Z=>i1(Z,L,X))}const b1=L=>s.go(L);let q1;const j1=new Set,s1={currentRoute:i,listening:!0,addRoute:m,removeRoute:p,clearRoutes:t.clearRoutes,hasRoute:x,getRoutes:g,resolve:$,options:e,push:C,replace:b,go:b1,back:()=>b1(-1),forward:()=>b1(1),beforeEach:o.add,beforeResolve:a.add,afterEach:r.add,onError:A1.add,isReady:v1,install(L){L.component("RouterLink",Ra),L.component("RouterView",Qa),L.config.globalProperties.$router=s1,Object.defineProperty(L.config.globalProperties,"$route",{enumerable:!0,get:()=>f(i)}),A3&&!q1&&i.value===Me&&(q1=!0,C(s.location).catch(p1=>{}));const X={};for(const p1 in Me)Object.defineProperty(X,p1,{get:()=>i.value[p1],enumerable:!0});L.provide(wt,s1),L.provide(a6,On(X)),L.provide(D5,i);const W=L.unmount;j1.add(L),L.unmount=function(){j1.delete(L),j1.size<1&&(c=Me,j&&j(),j=null,i.value=Me,q1=!1,M1=!1),W()}}};function m1(L){return L.reduce((X,W)=>X.then(()=>D(W)),Promise.resolve())}return s1}function Ce(){return W2(wt)}function Ge(e){return W2(a6)}function T8(e){var t,n,l="";if(typeof e=="string"||typeof e=="number")l+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t{const n=new Array(e.length+t.length);for(let l=0;l({classGroupId:e,validator:t}),P8=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),et="-",k7=[],La="arbitrary..",Ta=e=>{const t=Pa(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:l}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return Va(a);const r=a.split(et),i=r[0]===""&&r.length>1?1:0;return H8(r,i,t)},getConflictingClassGroupIds:(a,r)=>{if(r){const i=l[a],c=n[a];return i?c?Ga(c,i):i:c||k7}return n[a]||k7}}},H8=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const s=e[t],o=n.nextPart.get(s);if(o){const c=H8(e,t+1,o);if(c)return c}const a=n.validators;if(a===null)return;const r=t===0?e.join(et):e.slice(t).join(et),i=a.length;for(let c=0;ce.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),l=t.slice(0,n);return l?La+l:void 0})(),Pa=e=>{const{theme:t,classGroups:n}=e;return Ha(n,t)},Ha=(e,t)=>{const n=P8();for(const l in e){const s=e[l];r6(s,n,l,t)}return n},r6=(e,t,n,l)=>{const s=e.length;for(let o=0;o{if(typeof e=="string"){Ya(e,t,n);return}if(typeof e=="function"){Ja(e,t,n,l);return}za(e,t,n,l)},Ya=(e,t,n)=>{const l=e===""?t:U8(t,e);l.classGroupId=n},Ja=(e,t,n,l)=>{if(ja(e)){r6(e(l),t,n,l);return}t.validators===null&&(t.validators=[]),t.validators.push(Wa(n,e))},za=(e,t,n,l)=>{const s=Object.entries(e),o=s.length;for(let a=0;a{let n=e;const l=t.split(et),s=l.length;for(let o=0;o"isThemeGetter"in e&&e.isThemeGetter===!0,Xa=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),l=Object.create(null);const s=(o,a)=>{n[o]=a,t++,t>e&&(t=0,l=n,n=Object.create(null))};return{get(o){let a=n[o];if(a!==void 0)return a;if((a=l[o])!==void 0)return s(o,a),a},set(o,a){o in n?n[o]=a:s(o,a)}}},Z5="!",x7=":",qa=[],w7=(e,t,n,l,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:l,isExternal:s}),er=e=>{const{prefix:t,experimentalParseClassName:n}=e;let l=s=>{const o=[];let a=0,r=0,i=0,c;const u=s.length;for(let g=0;gi?c-i:void 0;return w7(o,m,A,p)};if(t){const s=t+x7,o=l;l=a=>a.startsWith(s)?o(a.slice(s.length)):w7(qa,!1,a,void 0,!0)}if(n){const s=l;l=o=>n({className:o,parseClassName:s})}return l},tr=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,l)=>{t.set(n,1e6+l)}),n=>{const l=[];let s=[];for(let o=0;o0&&(s.sort(),l.push(...s),s=[]),l.push(a)):s.push(a)}return s.length>0&&(s.sort(),l.push(...s)),l}},nr=e=>({cache:Xa(e.cacheSize),parseClassName:er(e),sortModifiers:tr(e),postfixLookupClassGroupIds:lr(e),...Ta(e)}),lr=e=>{const t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let l=0;l{const{parseClassName:n,getClassGroupId:l,getConflictingClassGroupIds:s,sortModifiers:o,postfixLookupClassGroupIds:a}=t,r=[],i=e.trim().split(sr);let c="";for(let u=i.length-1;u>=0;u-=1){const d=i[u],{isExternal:A,modifiers:m,hasImportantModifier:p,baseClassName:g,maybePostfixModifierPosition:x}=n(d);if(A){c=d+(c.length>0?" "+c:c);continue}let $=!!x,k;if($){const S=g.substring(0,x);k=l(S);const I=k&&a[k]?l(g):void 0;I&&I!==k&&(k=I,$=!1)}else k=l(g);if(!k){if(!$){c=d+(c.length>0?" "+c:c);continue}if(k=l(g),!k){c=d+(c.length>0?" "+c:c);continue}$=!1}const N=m.length===0?"":m.length===1?m[0]:o(m).join(":"),C=p?N+Z5:N,b=C+k;if(r.indexOf(b)>-1)continue;r.push(b);const B=s(k,$);for(let S=0;S0?" "+c:c)}return c},ar=(...e)=>{let t=0,n,l,s="";for(;t{if(typeof e=="string")return e;let t,n="";for(let l=0;l{let n,l,s,o;const a=i=>{const c=t.reduce((u,d)=>d(u),e());return n=nr(c),l=n.cache.get,s=n.cache.set,o=r,r(i)},r=i=>{const c=l(i);if(c)return c;const u=or(i,n);return s(i,u),u};return o=a,(...i)=>o(ar(...i))},ir=[],a2=e=>{const t=n=>n[e]||ir;return t.isThemeGetter=!0,t},J8=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,z8=/^\((?:(\w[\w-]*):)?(.+)\)$/i,cr=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ur=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,dr=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,fr=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,hr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Ar=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ee=e=>cr.test(e),S1=e=>!!e&&!Number.isNaN(Number(e)),Y2=e=>!!e&&Number.isInteger(Number(e)),zt=e=>e.endsWith("%")&&S1(e.slice(0,-1)),ue=e=>ur.test(e),j8=()=>!0,pr=e=>dr.test(e)&&!fr.test(e),i6=()=>!1,mr=e=>hr.test(e),gr=e=>Ar.test(e),vr=e=>!d1(e)&&!h1(e),yr=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),br=e=>We(e,e0,i6),d1=e=>J8.test(e),He=e=>We(e,t0,pr),C7=e=>We(e,Er,S1),kr=e=>We(e,l0,j8),xr=e=>We(e,n0,i6),_7=e=>We(e,X8,i6),wr=e=>We(e,q8,gr),Z4=e=>We(e,s0,mr),h1=e=>z8.test(e),O3=e=>r3(e,t0),Cr=e=>r3(e,n0),I7=e=>r3(e,X8),_r=e=>r3(e,e0),Ir=e=>r3(e,q8),F4=e=>r3(e,s0,!0),Mr=e=>r3(e,l0,!0),We=(e,t,n)=>{const l=J8.exec(e);return l?l[1]?t(l[1]):n(l[2]):!1},r3=(e,t,n=!1)=>{const l=z8.exec(e);return l?l[1]?t(l[1]):n:!1},X8=e=>e==="position"||e==="percentage",q8=e=>e==="image"||e==="url",e0=e=>e==="length"||e==="size"||e==="bg-size",t0=e=>e==="length",Er=e=>e==="number",n0=e=>e==="family-name",l0=e=>e==="number"||e==="weight",s0=e=>e==="shadow",Dr=()=>{const e=a2("color"),t=a2("font"),n=a2("text"),l=a2("font-weight"),s=a2("tracking"),o=a2("leading"),a=a2("breakpoint"),r=a2("container"),i=a2("spacing"),c=a2("radius"),u=a2("shadow"),d=a2("inset-shadow"),A=a2("text-shadow"),m=a2("drop-shadow"),p=a2("blur"),g=a2("perspective"),x=a2("aspect"),$=a2("ease"),k=a2("animate"),N=()=>["auto","avoid","all","avoid-page","page","left","right","column"],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],b=()=>[...C(),h1,d1],B=()=>["auto","hidden","clip","visible","scroll"],S=()=>["auto","contain","none"],I=()=>[h1,d1,i],D=()=>[Ee,"full","auto",...I()],_=()=>[Y2,"none","subgrid",h1,d1],K=()=>["auto",{span:["full",Y2,h1,d1]},Y2,h1,d1],G=()=>[Y2,"auto",h1,d1],j=()=>["auto","min","max","fr",h1,d1],f1=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],u1=()=>["start","end","center","stretch","center-safe","end-safe"],A1=()=>["auto",...I()],M1=()=>[Ee,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...I()],i1=()=>[Ee,"screen","full","dvw","lvw","svw","min","max","fit",...I()],v1=()=>[Ee,"screen","full","lh","dvh","lvh","svh","min","max","fit",...I()],r1=()=>[e,h1,d1],U1=()=>[...C(),I7,_7,{position:[h1,d1]}],b1=()=>["no-repeat",{repeat:["","x","y","space","round"]}],q1=()=>["auto","cover","contain",_r,br,{size:[h1,d1]}],j1=()=>[zt,O3,He],s1=()=>["","none","full",c,h1,d1],m1=()=>["",S1,O3,He],L=()=>["solid","dashed","dotted","double"],X=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],W=()=>[S1,zt,I7,_7],p1=()=>["","none",p,h1,d1],D1=()=>["none",S1,h1,d1],w=()=>["none",S1,h1,d1],Z=()=>[S1,h1,d1],R=()=>[Ee,"full",...I()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ue],breakpoint:[ue],color:[j8],container:[ue],"drop-shadow":[ue],ease:["in","out","in-out"],font:[vr],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ue],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ue],shadow:[ue],spacing:["px",S1],text:[ue],"text-shadow":[ue],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ee,d1,h1,x]}],container:["container"],"container-type":[{"@container":["","normal","size",h1,d1]}],"container-named":[yr],columns:[{columns:[S1,d1,h1,r]}],"break-after":[{"break-after":N()}],"break-before":[{"break-before":N()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:b()}],overflow:[{overflow:B()}],"overflow-x":[{"overflow-x":B()}],"overflow-y":[{"overflow-y":B()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:D()}],"inset-x":[{"inset-x":D()}],"inset-y":[{"inset-y":D()}],start:[{"inset-s":D(),start:D()}],end:[{"inset-e":D(),end:D()}],"inset-bs":[{"inset-bs":D()}],"inset-be":[{"inset-be":D()}],top:[{top:D()}],right:[{right:D()}],bottom:[{bottom:D()}],left:[{left:D()}],visibility:["visible","invisible","collapse"],z:[{z:[Y2,"auto",h1,d1]}],basis:[{basis:[Ee,"full","auto",r,...I()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[S1,Ee,"auto","initial","none",d1]}],grow:[{grow:["",S1,h1,d1]}],shrink:[{shrink:["",S1,h1,d1]}],order:[{order:[Y2,"first","last","none",h1,d1]}],"grid-cols":[{"grid-cols":_()}],"col-start-end":[{col:K()}],"col-start":[{"col-start":G()}],"col-end":[{"col-end":G()}],"grid-rows":[{"grid-rows":_()}],"row-start-end":[{row:K()}],"row-start":[{"row-start":G()}],"row-end":[{"row-end":G()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":j()}],"auto-rows":[{"auto-rows":j()}],gap:[{gap:I()}],"gap-x":[{"gap-x":I()}],"gap-y":[{"gap-y":I()}],"justify-content":[{justify:[...f1(),"normal"]}],"justify-items":[{"justify-items":[...u1(),"normal"]}],"justify-self":[{"justify-self":["auto",...u1()]}],"align-content":[{content:["normal",...f1()]}],"align-items":[{items:[...u1(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...u1(),{baseline:["","last"]}]}],"place-content":[{"place-content":f1()}],"place-items":[{"place-items":[...u1(),"baseline"]}],"place-self":[{"place-self":["auto",...u1()]}],p:[{p:I()}],px:[{px:I()}],py:[{py:I()}],ps:[{ps:I()}],pe:[{pe:I()}],pbs:[{pbs:I()}],pbe:[{pbe:I()}],pt:[{pt:I()}],pr:[{pr:I()}],pb:[{pb:I()}],pl:[{pl:I()}],m:[{m:A1()}],mx:[{mx:A1()}],my:[{my:A1()}],ms:[{ms:A1()}],me:[{me:A1()}],mbs:[{mbs:A1()}],mbe:[{mbe:A1()}],mt:[{mt:A1()}],mr:[{mr:A1()}],mb:[{mb:A1()}],ml:[{ml:A1()}],"space-x":[{"space-x":I()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":I()}],"space-y-reverse":["space-y-reverse"],size:[{size:M1()}],"inline-size":[{inline:["auto",...i1()]}],"min-inline-size":[{"min-inline":["auto",...i1()]}],"max-inline-size":[{"max-inline":["none",...i1()]}],"block-size":[{block:["auto",...v1()]}],"min-block-size":[{"min-block":["auto",...v1()]}],"max-block-size":[{"max-block":["none",...v1()]}],w:[{w:[r,"screen",...M1()]}],"min-w":[{"min-w":[r,"screen","none",...M1()]}],"max-w":[{"max-w":[r,"screen","none","prose",{screen:[a]},...M1()]}],h:[{h:["screen","lh",...M1()]}],"min-h":[{"min-h":["screen","lh","none",...M1()]}],"max-h":[{"max-h":["screen","lh",...M1()]}],"font-size":[{text:["base",n,O3,He]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,Mr,kr]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",zt,d1]}],"font-family":[{font:[Cr,xr,t]}],"font-features":[{"font-features":[d1]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,h1,d1]}],"line-clamp":[{"line-clamp":[S1,"none",h1,C7]}],leading:[{leading:[o,...I()]}],"list-image":[{"list-image":["none",h1,d1]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",h1,d1]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:r1()}],"text-color":[{text:r1()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...L(),"wavy"]}],"text-decoration-thickness":[{decoration:[S1,"from-font","auto",h1,He]}],"text-decoration-color":[{decoration:r1()}],"underline-offset":[{"underline-offset":[S1,"auto",h1,d1]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:I()}],"tab-size":[{tab:[Y2,h1,d1]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",h1,d1]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",h1,d1]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:U1()}],"bg-repeat":[{bg:b1()}],"bg-size":[{bg:q1()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Y2,h1,d1],radial:["",h1,d1],conic:[Y2,h1,d1]},Ir,wr]}],"bg-color":[{bg:r1()}],"gradient-from-pos":[{from:j1()}],"gradient-via-pos":[{via:j1()}],"gradient-to-pos":[{to:j1()}],"gradient-from":[{from:r1()}],"gradient-via":[{via:r1()}],"gradient-to":[{to:r1()}],rounded:[{rounded:s1()}],"rounded-s":[{"rounded-s":s1()}],"rounded-e":[{"rounded-e":s1()}],"rounded-t":[{"rounded-t":s1()}],"rounded-r":[{"rounded-r":s1()}],"rounded-b":[{"rounded-b":s1()}],"rounded-l":[{"rounded-l":s1()}],"rounded-ss":[{"rounded-ss":s1()}],"rounded-se":[{"rounded-se":s1()}],"rounded-ee":[{"rounded-ee":s1()}],"rounded-es":[{"rounded-es":s1()}],"rounded-tl":[{"rounded-tl":s1()}],"rounded-tr":[{"rounded-tr":s1()}],"rounded-br":[{"rounded-br":s1()}],"rounded-bl":[{"rounded-bl":s1()}],"border-w":[{border:m1()}],"border-w-x":[{"border-x":m1()}],"border-w-y":[{"border-y":m1()}],"border-w-s":[{"border-s":m1()}],"border-w-e":[{"border-e":m1()}],"border-w-bs":[{"border-bs":m1()}],"border-w-be":[{"border-be":m1()}],"border-w-t":[{"border-t":m1()}],"border-w-r":[{"border-r":m1()}],"border-w-b":[{"border-b":m1()}],"border-w-l":[{"border-l":m1()}],"divide-x":[{"divide-x":m1()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":m1()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...L(),"hidden","none"]}],"divide-style":[{divide:[...L(),"hidden","none"]}],"border-color":[{border:r1()}],"border-color-x":[{"border-x":r1()}],"border-color-y":[{"border-y":r1()}],"border-color-s":[{"border-s":r1()}],"border-color-e":[{"border-e":r1()}],"border-color-bs":[{"border-bs":r1()}],"border-color-be":[{"border-be":r1()}],"border-color-t":[{"border-t":r1()}],"border-color-r":[{"border-r":r1()}],"border-color-b":[{"border-b":r1()}],"border-color-l":[{"border-l":r1()}],"divide-color":[{divide:r1()}],"outline-style":[{outline:[...L(),"none","hidden"]}],"outline-offset":[{"outline-offset":[S1,h1,d1]}],"outline-w":[{outline:["",S1,O3,He]}],"outline-color":[{outline:r1()}],shadow:[{shadow:["","none",u,F4,Z4]}],"shadow-color":[{shadow:r1()}],"inset-shadow":[{"inset-shadow":["none",d,F4,Z4]}],"inset-shadow-color":[{"inset-shadow":r1()}],"ring-w":[{ring:m1()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:r1()}],"ring-offset-w":[{"ring-offset":[S1,He]}],"ring-offset-color":[{"ring-offset":r1()}],"inset-ring-w":[{"inset-ring":m1()}],"inset-ring-color":[{"inset-ring":r1()}],"text-shadow":[{"text-shadow":["none",A,F4,Z4]}],"text-shadow-color":[{"text-shadow":r1()}],opacity:[{opacity:[S1,h1,d1]}],"mix-blend":[{"mix-blend":[...X(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":X()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[S1]}],"mask-image-linear-from-pos":[{"mask-linear-from":W()}],"mask-image-linear-to-pos":[{"mask-linear-to":W()}],"mask-image-linear-from-color":[{"mask-linear-from":r1()}],"mask-image-linear-to-color":[{"mask-linear-to":r1()}],"mask-image-t-from-pos":[{"mask-t-from":W()}],"mask-image-t-to-pos":[{"mask-t-to":W()}],"mask-image-t-from-color":[{"mask-t-from":r1()}],"mask-image-t-to-color":[{"mask-t-to":r1()}],"mask-image-r-from-pos":[{"mask-r-from":W()}],"mask-image-r-to-pos":[{"mask-r-to":W()}],"mask-image-r-from-color":[{"mask-r-from":r1()}],"mask-image-r-to-color":[{"mask-r-to":r1()}],"mask-image-b-from-pos":[{"mask-b-from":W()}],"mask-image-b-to-pos":[{"mask-b-to":W()}],"mask-image-b-from-color":[{"mask-b-from":r1()}],"mask-image-b-to-color":[{"mask-b-to":r1()}],"mask-image-l-from-pos":[{"mask-l-from":W()}],"mask-image-l-to-pos":[{"mask-l-to":W()}],"mask-image-l-from-color":[{"mask-l-from":r1()}],"mask-image-l-to-color":[{"mask-l-to":r1()}],"mask-image-x-from-pos":[{"mask-x-from":W()}],"mask-image-x-to-pos":[{"mask-x-to":W()}],"mask-image-x-from-color":[{"mask-x-from":r1()}],"mask-image-x-to-color":[{"mask-x-to":r1()}],"mask-image-y-from-pos":[{"mask-y-from":W()}],"mask-image-y-to-pos":[{"mask-y-to":W()}],"mask-image-y-from-color":[{"mask-y-from":r1()}],"mask-image-y-to-color":[{"mask-y-to":r1()}],"mask-image-radial":[{"mask-radial":[h1,d1]}],"mask-image-radial-from-pos":[{"mask-radial-from":W()}],"mask-image-radial-to-pos":[{"mask-radial-to":W()}],"mask-image-radial-from-color":[{"mask-radial-from":r1()}],"mask-image-radial-to-color":[{"mask-radial-to":r1()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":C()}],"mask-image-conic-pos":[{"mask-conic":[S1]}],"mask-image-conic-from-pos":[{"mask-conic-from":W()}],"mask-image-conic-to-pos":[{"mask-conic-to":W()}],"mask-image-conic-from-color":[{"mask-conic-from":r1()}],"mask-image-conic-to-color":[{"mask-conic-to":r1()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:U1()}],"mask-repeat":[{mask:b1()}],"mask-size":[{mask:q1()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",h1,d1]}],filter:[{filter:["","none",h1,d1]}],blur:[{blur:p1()}],brightness:[{brightness:[S1,h1,d1]}],contrast:[{contrast:[S1,h1,d1]}],"drop-shadow":[{"drop-shadow":["","none",m,F4,Z4]}],"drop-shadow-color":[{"drop-shadow":r1()}],grayscale:[{grayscale:["",S1,h1,d1]}],"hue-rotate":[{"hue-rotate":[S1,h1,d1]}],invert:[{invert:["",S1,h1,d1]}],saturate:[{saturate:[S1,h1,d1]}],sepia:[{sepia:["",S1,h1,d1]}],"backdrop-filter":[{"backdrop-filter":["","none",h1,d1]}],"backdrop-blur":[{"backdrop-blur":p1()}],"backdrop-brightness":[{"backdrop-brightness":[S1,h1,d1]}],"backdrop-contrast":[{"backdrop-contrast":[S1,h1,d1]}],"backdrop-grayscale":[{"backdrop-grayscale":["",S1,h1,d1]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[S1,h1,d1]}],"backdrop-invert":[{"backdrop-invert":["",S1,h1,d1]}],"backdrop-opacity":[{"backdrop-opacity":[S1,h1,d1]}],"backdrop-saturate":[{"backdrop-saturate":[S1,h1,d1]}],"backdrop-sepia":[{"backdrop-sepia":["",S1,h1,d1]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":I()}],"border-spacing-x":[{"border-spacing-x":I()}],"border-spacing-y":[{"border-spacing-y":I()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",h1,d1]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[S1,"initial",h1,d1]}],ease:[{ease:["linear","initial",$,h1,d1]}],delay:[{delay:[S1,h1,d1]}],animate:[{animate:["none",k,h1,d1]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,h1,d1]}],"perspective-origin":[{"perspective-origin":b()}],rotate:[{rotate:D1()}],"rotate-x":[{"rotate-x":D1()}],"rotate-y":[{"rotate-y":D1()}],"rotate-z":[{"rotate-z":D1()}],scale:[{scale:w()}],"scale-x":[{"scale-x":w()}],"scale-y":[{"scale-y":w()}],"scale-z":[{"scale-z":w()}],"scale-3d":["scale-3d"],skew:[{skew:Z()}],"skew-x":[{"skew-x":Z()}],"skew-y":[{"skew-y":Z()}],transform:[{transform:[h1,d1,"","none","gpu","cpu"]}],"transform-origin":[{origin:b()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:R()}],"translate-x":[{"translate-x":R()}],"translate-y":[{"translate-y":R()}],"translate-z":[{"translate-z":R()}],"translate-none":["translate-none"],zoom:[{zoom:[Y2,h1,d1]}],accent:[{accent:r1()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:r1()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",h1,d1]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":r1()}],"scrollbar-track-color":[{"scrollbar-track":r1()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":I()}],"scroll-mx":[{"scroll-mx":I()}],"scroll-my":[{"scroll-my":I()}],"scroll-ms":[{"scroll-ms":I()}],"scroll-me":[{"scroll-me":I()}],"scroll-mbs":[{"scroll-mbs":I()}],"scroll-mbe":[{"scroll-mbe":I()}],"scroll-mt":[{"scroll-mt":I()}],"scroll-mr":[{"scroll-mr":I()}],"scroll-mb":[{"scroll-mb":I()}],"scroll-ml":[{"scroll-ml":I()}],"scroll-p":[{"scroll-p":I()}],"scroll-px":[{"scroll-px":I()}],"scroll-py":[{"scroll-py":I()}],"scroll-ps":[{"scroll-ps":I()}],"scroll-pe":[{"scroll-pe":I()}],"scroll-pbs":[{"scroll-pbs":I()}],"scroll-pbe":[{"scroll-pbe":I()}],"scroll-pt":[{"scroll-pt":I()}],"scroll-pr":[{"scroll-pr":I()}],"scroll-pb":[{"scroll-pb":I()}],"scroll-pl":[{"scroll-pl":I()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",h1,d1]}],fill:[{fill:["none",...r1()]}],"stroke-w":[{stroke:[S1,O3,He,C7]}],stroke:[{stroke:["none",...r1()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},Zr=rr(Dr);function E1(...e){return Zr(V8(e))}const Fr=["src","alt"],Br={key:1,class:"flex h-full w-full items-center justify-center bg-muted font-medium text-muted-foreground"},Sr=K1({__name:"Avatar",props:{src:{},alt:{},fallback:{default:"?"},size:{default:"md"},class:{}},setup(e){const t=e,n={sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base"},l=V(!1),s=z(()=>!t.src||l.value);return(o,a)=>(h(),y("div",{class:o1(f(E1)("relative flex shrink-0 overflow-hidden rounded-full",n[e.size],t.class))},[s.value?(h(),y("div",Br,F(e.fallback),1)):(h(),y("img",{key:0,src:e.src??void 0,alt:e.alt,class:"aspect-square h-full w-full object-cover",onError:a[0]||(a[0]=r=>l.value=!0)},null,40,Fr))],2))}}),M7=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,E7=V8,Ct=(e,t)=>n=>{var l;if((t==null?void 0:t.variants)==null)return E7(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:s,defaultVariants:o}=t,a=Object.keys(s).map(c=>{const u=n==null?void 0:n[c],d=o==null?void 0:o[c];if(u===null)return null;const A=M7(u)||M7(d);return s[c][A]}),r=n&&Object.entries(n).reduce((c,u)=>{let[d,A]=u;return A===void 0||(c[d]=A),c},{}),i=t==null||(l=t.compoundVariants)===null||l===void 0?void 0:l.reduce((c,u)=>{let{class:d,className:A,...m}=u;return Object.entries(m).every(p=>{let[g,x]=p;return Array.isArray(x)?x.includes({...o,...r}[g]):{...o,...r}[g]===x})?[...c,d,A]:c},[]);return E7(e,a,i,n==null?void 0:n.class,n==null?void 0:n.className)},n2=K1({__name:"Badge",props:{variant:{default:"default"},class:{}},setup(e){const t=Ct("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground shadow",outline:"text-foreground",success:"border-transparent bg-success/20 text-success",warning:"border-transparent bg-warning/20 text-warning",glow:"border-primary/30 bg-primary/10 text-primary"}},defaultVariants:{variant:"default"}}),n=e;return(l,s)=>(h(),y("div",{class:o1(f(E1)(f(t)({variant:e.variant}),n.class))},[G1(l.$slots,"default")],2))}}),x1=K1({__name:"Button",props:{variant:{default:"default"},size:{default:"default"},as:{default:"button"},class:{},disabled:{type:Boolean}},setup(e){const t=Ct("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline",glow:"bg-primary text-primary-foreground shadow-lg hover:bg-primary/90 glow-sm hover:glow"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-8",xl:"h-12 rounded-lg px-10 text-base",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),n=e;return(l,s)=>(h(),Q(A2(e.as),{class:o1(f(E1)(f(t)({variant:e.variant,size:e.size}),n.class)),disabled:e.disabled},{default:E(()=>[G1(l.$slots,"default")]),_:3},8,["class","disabled"]))}}),O1=K1({__name:"Card",props:{class:{},hover:{type:Boolean,default:!1},glow:{type:Boolean,default:!1}},setup(e){const t=e;return(n,l)=>(h(),y("div",{class:o1(f(E1)("rounded-lg border bg-card text-card-foreground shadow-sm",e.hover&&"transition-all duration-200 hover:border-primary/50 hover:-translate-y-1",e.glow&&"glow-sm",t.class))},[G1(n.$slots,"default")],2))}}),Rr="modulepreload",$r=function(e){return"/"+e},D7={},V3=function(t,n,l){let s=Promise.resolve();if(n&&n.length>0){let a=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),i=(r==null?void 0:r.nonce)||(r==null?void 0:r.getAttribute("nonce"));s=a(n.map(c=>{if(c=$r(c),c in D7)return;D7[c]=!0;const u=c.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${d}`))return;const A=document.createElement("link");if(A.rel=u?"stylesheet":Rr,u||(A.as="script"),A.crossOrigin="",A.href=c,i&&A.setAttribute("nonce",i),document.head.appendChild(A),u)return new Promise((m,p)=>{A.addEventListener("load",m),A.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(a){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=a,window.dispatchEvent(r),!r.defaultPrevented)throw a}return s.then(a=>{for(const r of a||[])r.status==="rejected"&&o(r.reason);return t().catch(o)})},Z7={intent:"bg-fuchsia-600/10 text-fuchsia-600 border-fuchsia-600/20",decision:"bg-blue-600/10 text-blue-600 border-blue-600/20",constraint:"bg-amber-600/10 text-amber-600 border-amber-600/20",workaround:"bg-red-600/10 text-red-600 border-red-600/20",convention:"bg-violet-600/10 text-violet-600 border-violet-600/20",pattern:"bg-emerald-600/10 text-emerald-600 border-emerald-600/20",discussion:"bg-cyan-600/10 text-cyan-600 border-cyan-600/20",review:"bg-pink-600/10 text-pink-600 border-pink-600/20",plan:"bg-lime-600/10 text-lime-600 border-lime-600/20"},Nr={intent:"bg-fuchsia-600",decision:"bg-blue-600",constraint:"bg-amber-600",workaround:"bg-red-600",convention:"bg-violet-600",pattern:"bg-emerald-600",discussion:"bg-cyan-600",review:"bg-pink-600",plan:"bg-lime-600"},jt={system:"#7c3aed",part:"#d97706",contract:"#0891b2",intent:"#c026d3",decision:"#2563eb",constraint:"#d97706",workaround:"#dc2626",convention:"#7c3aed",pattern:"#059669",discussion:"#0891b2",review:"#db2777",plan:"#65a30d"},Kr=["Intent","Decision","Constraint","Workaround","Convention","Pattern","Discussion","Review","Plan"],Qr={Intent:"What this exists to do, who for, and what it deliberately is not",Decision:"A deliberate choice made about architecture, tooling, or approach",Constraint:"A hard limitation imposed by external factors or requirements",Workaround:"A temporary fix for a known issue or limitation",Convention:"An established principle or standard the team follows",Pattern:"An observed model, recurring choice, or emergent practice",Discussion:"Key points from a team discussion or debate",Review:"Insights surfaced during code review",Plan:"A future intention or roadmap item"};function o0(){const e="bg-muted text-muted-foreground border-border";function t(o){return Z7[(o??"").toLowerCase()]??e}function n(o){return Nr[(o??"").toLowerCase()]??"bg-muted-foreground"}function l(o){return jt[(o??"").toLowerCase()]??"#a1a1aa"}const s=Object.keys(jt).map(o=>({kind:o,label:o.charAt(0).toUpperCase()+o.slice(1),color:jt[o]}));return{tone:t,fill:n,ink:l,legend:s,kinds:Object.keys(Z7),kindOptions:Kr,kindDescriptions:Qr}}const B4="#6b7280",Or=K1({__name:"CodeGraph",props:{height:{default:"460px"},repo:{default:""},mode:{default:"2d"},data:{default:null},hidden:{default:()=>[]}},emits:["select"],setup(e,{expose:t,emit:n}){const l=n,s=e,o=D=>[typeof D.source=="object"?D.source:null,typeof D.target=="object"?D.target:null],a=D=>{const[_,K]=o(D);return _&&K&&_.community===K.community&&_.community!==null?_:null},r=V(null);let i=null,c=null,u=null;const d=new Map,{ink:A}=o0(),m=["#4E79A7","#F28E2B","#E15759","#76B7B2","#59A14F","#EDC948","#B07AA1","#FF9DA7","#9C755F","#BAB0AC"];function p(D){if(typeof D.community=="number")return m[D.community%m.length];const _=(D.kind||"").toLowerCase();return _==="code"?"#E20C18":_==="file"||["class","function","method","module","route","variable","symbol"].includes(_)?B4:A(_)}function g(D){return D&&D.length>28?`${D.slice(0,27)}…`:D}const x=z(()=>!!s.data&&s.data.nodes.length>0);t({hasGraph:x});const $=z(()=>new Set(s.hidden));function k(){const D=s.data??{nodes:[],links:[]},_=D.nodes.filter(u1=>typeof u1.community!="number"||!$.value.has(u1.community)),K=new Set(_.map(u1=>u1.id)),G=Math.max(1,..._.map(u1=>u1.degree??0)),j=_.map(u1=>{const A1=d.get(u1.id);return{...u1,...A1??{},color:p(u1),radius:Math.min(3+2.4*Math.sqrt(u1.degree??0),11),named:(u1.degree??0)>=Math.max(4,G*.5)}}),f1=D.links.filter(u1=>K.has(String(u1.source))&&K.has(String(u1.target))).map(u1=>({...u1}));return{nodes:j,links:f1}}function N(D){return Math.max(.06,Math.min(.5,Math.sqrt(400/Math.max(1,D))))}function C(D,_){const K=parseInt(D.slice(1),16),G=Math.max(0,Math.min(1,_)).toFixed(3);return`rgba(${K>>16&255}, ${K>>8&255}, ${K&255}, ${G})`}const b=D=>D==="tree"?"td":D==="radial"?"radialout":D==="layered"?"zout":null;function B(){if(i)for(const D of i.graphData().nodes)Number.isFinite(D.x)&&d.set(D.id,{x:D.x,y:D.y,z:D.z??0})}function S(){var D;B(),i&&((D=i._destructor)==null||D.call(i),i=null),r.value&&(r.value.innerHTML="")}async function I(D){var f1,u1;if(!r.value)return;const _=D==="2d"?"2d":"3d";if(i&&c===_){_==="3d"&&i.dagMode(b(D)),B(),i.graphData(k());return}if(S(),c=_,_==="2d"){const A1=(await V3(async()=>{const{default:s1}=await import("./force-graph-HZtkkbK0.js");return{default:s1}},__vite__mapDeps([0,1,2]))).default,{forceCollide:M1,forceManyBody:i1,forceX:v1,forceY:r1}=await V3(async()=>{const{forceCollide:s1,forceManyBody:m1,forceX:L,forceY:X}=await import("./index-DHVCIEzJ.js");return{forceCollide:s1,forceManyBody:m1,forceX:L,forceY:X}},__vite__mapDeps([3,1])),U1=k(),b1=N(U1.links.length);let q1=null;i=new A1(r.value),i.backgroundColor("rgba(0,0,0,0)").graphData(U1).nodeRelSize(4).nodeColor(s1=>s1.color).nodeLabel(s1=>s1.path?`${s1.name} — ${s1.path}`:s1.name).nodeCanvasObject((s1,m1,L)=>{const X=!q1||q1===s1.id;if(m1.globalAlpha=X?1:.25,m1.beginPath(),m1.arc(s1.x,s1.y,s1.radius,0,2*Math.PI),m1.fillStyle=s1.color,m1.fill(),!s1.named&&q1!==s1.id){m1.globalAlpha=1;return}const W=Math.max(11/L,1.5);m1.font=`${W}px ui-sans-serif, system-ui, sans-serif`,m1.fillStyle=s1.color,m1.textAlign="left",m1.textBaseline="middle",m1.fillText(g(s1.name),s1.x+s1.radius+2/L,s1.y),m1.globalAlpha=1}).nodePointerAreaPaint((s1,m1,L)=>{L.fillStyle=m1,L.beginPath(),L.arc(s1.x,s1.y,s1.radius+2,0,2*Math.PI),L.fill()}).linkColor(s1=>{const m1=a(s1);return C(m1?m1.color:B4,b1*(m1?1.6:1))}).linkWidth(.6).linkDirectionalArrowLength(2.5).linkDirectionalArrowRelPos(1).linkLabel(s1=>s1.type??"").onNodeHover(s1=>{var m1;q1=s1?s1.id:null,r.value&&(r.value.style.cursor=s1?"pointer":""),(m1=i==null?void 0:i.refresh)==null||m1.call(i)}).width(r.value.clientWidth).height(r.value.clientHeight).onNodeClick(s1=>l("select",String(s1.id))),i.d3AlphaDecay(.02).d3VelocityDecay(.35).cooldownTicks(220),i.d3Force("charge",i1().strength(-140).distanceMax(420)),i.d3Force("center",null),i.d3Force("x",v1(0).strength(.03)),i.d3Force("y",r1(0).strength(.03)),i.d3Force("collide",M1(s1=>s1.radius+2).iterations(2)),(f1=i.d3Force("link"))==null||f1.distance(s1=>a(s1)?26:70).strength(s1=>a(s1)?.7:.08);let j1=!1;i.onEngineTick(()=>{!j1&&i.d3Force("link")&&(j1=!0,setTimeout(()=>i==null?void 0:i.zoomToFit(600,60),700))}),i.onEngineStop(()=>{B(),i==null||i.zoomToFit(600,60)});return}const K=(await V3(async()=>{const{default:A1}=await import("./3d-force-graph-B8lgMx4q.js");return{default:A1}},__vite__mapDeps([4,5,2,1]))).default,G=await V3(()=>import("./three.module-D-PgY1-x.js").then(A1=>A1.df),[]),j=k();i=new K(r.value),i.backgroundColor("rgba(0,0,0,0)").showNavInfo(!1).onDagError(()=>{}).dagLevelDistance(46).dagMode(b(D)).graphData(j).nodeLabel(A1=>A1.path?`${A1.name} — ${A1.path}`:A1.name).nodeThreeObject(A1=>{const M1=new G.SphereGeometry(A1.radius,12,10),i1=new G.MeshLambertMaterial({color:A1.color,transparent:!0,opacity:.92});return new G.Mesh(M1,i1)}).linkColor(()=>B4).linkOpacity(N(j.links.length)).linkWidth(.5).linkDirectionalArrowLength(2).linkDirectionalArrowRelPos(1).linkLabel(A1=>A1.type??"").width(r.value.clientWidth).height(r.value.clientHeight).onNodeClick(A1=>l("select",String(A1.id))),(u1=i.d3Force("charge"))==null||u1.strength(-140).distanceMax(420),i.onEngineStop(()=>{B(),i==null||i.zoomToFit(600,60)})}return o2(async()=>{await I(s.mode),u=new ResizeObserver(()=>{i&&r.value&&i.width(r.value.clientWidth).height(r.value.clientHeight)}),r.value&&u.observe(r.value)}),H1(()=>s.mode,D=>I(D)),H1(()=>s.repo,()=>{d.clear(),I(s.mode)}),H1(()=>s.data,()=>I(s.mode)),H1(()=>s.hidden,()=>I(s.mode),{deep:!0}),gt(()=>{u&&(u.disconnect(),u=null),S()}),(D,_)=>(h(),y("div",{ref_key:"el",ref:r,style:E2({height:s.height}),class:"w-full"},null,4))}});/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Nr=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};/** + */const Gr=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const E7=e=>e==="";/** + */const F7=e=>e==="";/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Kr=(...e)=>e.filter((t,n,l)=>!!t&&t.trim()!==""&&l.indexOf(t)===n).join(" ").trim();/** + */const Wr=(...e)=>e.filter((t,n,l)=>!!t&&t.trim()!==""&&l.indexOf(t)===n).join(" ").trim();/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const D7=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/** + */const B7=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Qr=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,l)=>l?l.toUpperCase():n.toLowerCase());/** + */const Lr=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,l)=>l?l.toUpperCase():n.toLowerCase());/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Or=e=>{const t=Qr(e);return t.charAt(0).toUpperCase()+t.slice(1)};/** + */const Tr=e=>{const t=Lr(e);return t.charAt(0).toUpperCase()+t.slice(1)};/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */var O3={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/** + */var G3={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Gr=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":l,strokeWidth:s,"stroke-width":o,size:a=O3.width,color:r=O3.stroke,...i},{slots:c})=>x3("svg",{...O3,...i,width:a,height:a,stroke:r,"stroke-width":E7(n)||E7(l)||n===!0||l===!0?Number(s||o||O3["stroke-width"])*24/Number(a):s||o||O3["stroke-width"],class:Kr("lucide",i.class,...e?[`lucide-${D7(Or(e))}-icon`,`lucide-${D7(e)}`]:["lucide-icon"]),...!c.default&&!Nr(i)&&{"aria-hidden":"true"}},[...t.map(u=>x3(...u)),...c.default?[c.default()]:[]]);/** + */const Vr=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":l,strokeWidth:s,"stroke-width":o,size:a=G3.width,color:r=G3.stroke,...i},{slots:c})=>C3("svg",{...G3,...i,width:a,height:a,stroke:r,"stroke-width":F7(n)||F7(l)||n===!0||l===!0?Number(s||o||G3["stroke-width"])*24/Number(a):s||o||G3["stroke-width"],class:Wr("lucide",i.class,...e?[`lucide-${B7(Tr(e))}-icon`,`lucide-${B7(e)}`]:["lucide-icon"]),...!c.default&&!Gr(i)&&{"aria-hidden":"true"}},[...t.map(u=>C3(...u)),...c.default?[c.default()]:[]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const B1=(e,t)=>(n,{slots:l,attrs:s})=>x3(Gr,{...s,...n,iconNode:t,name:e},l);/** + */const B1=(e,t)=>(n,{slots:l,attrs:s})=>C3(Vr,{...s,...n,iconNode:t,name:e},l);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ct=B1("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** + */const _t=B1("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const s0=B1("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** + */const a0=B1("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Wr=B1("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/** + */const Pr=B1("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const r6=B1("book-open-check",[["path",{d:"M12 21V7",key:"gj6g52"}],["path",{d:"m16 12 2 2 4-4",key:"mdajum"}],["path",{d:"M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3",key:"8arnkb"}]]);/** + */const c6=B1("book-open-check",[["path",{d:"M12 21V7",key:"gj6g52"}],["path",{d:"m16 12 2 2 4-4",key:"mdajum"}],["path",{d:"M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3",key:"8arnkb"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const K4=B1("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** + */const G4=B1("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const _t=B1("boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** + */const It=B1("boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Lr=B1("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);/** + */const Hr=B1("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. @@ -114,77 +114,77 @@ var U0=Object.defineProperty;var J0=(e,t,n)=>t in e?U0(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const It=B1("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + */const Mt=B1("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Vr=B1("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + */const Ur=B1("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const o0=B1("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + */const r0=B1("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Z5=B1("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** + */const F5=B1("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const i6=B1("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const u6=B1("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const X4=B1("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** + */const tt=B1("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Tr=B1("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]);/** + */const Yr=B1("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Mt=B1("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);/** + */const Et=B1("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Z7=B1("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** + */const S7=B1("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const c6=B1("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/** + */const d6=B1("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Pr=B1("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** + */const Jr=B1("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Hr=B1("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** + */const zr=B1("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const a0=B1("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/** + */const i0=B1("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const q4=B1("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/** + */const nt=B1("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const r0=B1("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);/** + */const c0=B1("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. @@ -194,27 +194,27 @@ var U0=Object.defineProperty;var J0=(e,t,n)=>t in e?U0(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Yr=B1("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);/** + */const jr=B1("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Ur=B1("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);/** + */const Xr=B1("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const i0=B1("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);/** + */const u0=B1("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Et=B1("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** + */const Dt=B1("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const F5=B1("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** + */const B5=B1("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. @@ -224,17 +224,17 @@ var U0=Object.defineProperty;var J0=(e,t,n)=>t in e?U0(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const u6=B1("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** + */const f6=B1("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Jr=B1("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/** + */const qr=B1("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const _3=B1("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/** + */const M3=B1("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. @@ -244,44 +244,44 @@ var U0=Object.defineProperty;var J0=(e,t,n)=>t in e?U0(e,t,{enumerable:!0,config * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const B5=B1("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + */const S5=B1("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const s3=B1("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + */const o3=B1("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const S5=B1("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);/** + */const R5=B1("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const c0=B1("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** + */const d0=B1("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const v4=B1("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);/** + */const k4=B1("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const et=B1("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + */const lt=B1("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const u0=B1("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);/** + */const f0=B1("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);/** * @license lucide-vue-next v0.563.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const i3=B1("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),zr=["aria-label","aria-expanded"],jr={key:0,class:"absolute right-1 top-1 h-1.5 w-1.5 rounded-full bg-primary"},Xr={key:1,class:"rounded-lg border bg-card shadow-lg"},qr={class:"flex items-center gap-2 px-3"},ei=["value","aria-expanded","aria-activedescendant","aria-label","placeholder"],ti={class:"absolute left-0 right-0 top-full mt-1 overflow-hidden rounded-lg border bg-card shadow-lg"},ni={key:0,class:"border-b px-3 py-2 text-xs text-muted-foreground"},li=["aria-label"],si={key:0,role:"presentation",class:"px-3 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},oi=["id","aria-selected"],ai=["onMouseenter","onClick"],ri={class:"min-w-0 flex-1"},ii={class:"block truncate"},ci={key:0,class:"block truncate text-xs text-muted-foreground"},ui={key:1,role:"status",class:"px-3 py-5 text-sm text-muted-foreground"},di=G1({__name:"GlobalSearch",props:{modelValue:{default:""},groups:{default:()=>[]},open:{type:Boolean,default:!1},context:{},placeholder:{default:"Search"},loading:{type:Boolean,default:!1},emptyLabel:{default:"No matches. Try another name or phrase."},label:{default:"Search"},class:{}},emits:["update:modelValue","update:open","select"],setup(e,{emit:t}){const n=e,l=t,s=P(0),o=P(),a=P(),r=P(),i=z(()=>n.groups.flatMap(p=>p.items.map(g=>({item:g,group:p.id}))));P1(()=>n.modelValue,()=>{s.value=0}),P1(i,()=>{s.value=Math.min(s.value,Math.max(0,i.value.length-1))}),P1(()=>n.open,async p=>{var g,x;p?(await X3(),(g=a.value)==null||g.focus()):(await X3(),(x=r.value)==null||x.focus())});function c(p){i.value.length&&(s.value=(s.value+p+i.value.length)%i.value.length)}function u(p=s.value){const g=i.value[p];g&&(l("select",g.item,g.group),l("update:open",!1))}function d(p,g){return i.value.findIndex(x=>x.group===p.id&&x.item.id===g.id)}function A(p){(p.metaKey||p.ctrlKey)&&p.key.toLowerCase()==="k"&&(p.preventDefault(),l("update:open",!n.open))}function m(p){n.open&&o.value&&!p.composedPath().includes(o.value)&&l("update:open",!1)}return o2(()=>{document.addEventListener("keydown",A),document.addEventListener("click",m,!0)}),a3(()=>{document.removeEventListener("keydown",A),document.removeEventListener("click",m,!0)}),(p,g)=>(h(),y("div",{ref_key:"root",ref:o,class:o1(f(E1)("z-50",e.open?"absolute left-1/2 top-1/2 w-[calc(100%-1rem)] max-w-xl -translate-x-1/2 -translate-y-1/2":"shrink-0",n.class))},[e.open?(h(),y("div",Xr,[v("div",qr,[e.loading?(h(),Q(f(v2),{key:0,class:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"})):(h(),Q(f(ke),{key:1,class:"h-4 w-4 shrink-0 text-muted-foreground"})),v("input",{ref_key:"field",ref:a,value:e.modelValue,role:"combobox","aria-autocomplete":"list","aria-controls":"global-search-results","aria-expanded":e.open,"aria-activedescendant":i.value.length?`global-search-${s.value}`:void 0,"aria-label":e.label,placeholder:e.placeholder,class:"h-10 min-w-0 flex-1 bg-transparent text-sm outline-none",onInput:g[1]||(g[1]=x=>p.$emit("update:modelValue",x.target.value)),onKeydown:[g[2]||(g[2]=A3(K2(x=>c(1),["prevent"]),["down"])),g[3]||(g[3]=A3(K2(x=>c(-1),["prevent"]),["up"])),g[4]||(g[4]=A3(K2(x=>u(),["prevent"]),["enter"])),g[5]||(g[5]=A3(K2(x=>p.$emit("update:open",!1),["stop","prevent"]),["esc"]))]},null,40,ei),v("button",{type:"button","aria-label":"Close search",class:"rounded p-1 text-muted-foreground hover:bg-muted",onClick:g[6]||(g[6]=x=>p.$emit("update:open",!1))},[E(f(i3),{class:"h-4 w-4"})])]),v("div",ti,[e.context?(h(),y("p",ni,F(e.context),1)):O("",!0),v("ul",{id:"global-search-results",role:"listbox","aria-label":e.label,class:"max-h-[60vh] overflow-y-auto py-1"},[(h(!0),y(e1,null,_1(e.groups,x=>(h(),y(e1,{key:x.id},[x.items.length?(h(),y("li",si,F(x.label),1)):O("",!0),(h(!0),y(e1,null,_1(x.items,$=>(h(),y("li",{id:`global-search-${d(x,$)}`,key:`${x.id}:${$.id}`,role:"option","aria-selected":d(x,$)===s.value},[v("button",{type:"button",tabindex:"-1",class:o1(["flex w-full items-center gap-3 px-3 py-2 text-left text-sm",d(x,$)===s.value?"bg-muted":"hover:bg-muted/50"]),onMouseenter:k=>s.value=d(x,$),onMousedown:g[7]||(g[7]=K2(()=>{},["prevent"])),onClick:k=>u(d(x,$))},[v("span",ri,[v("span",ii,F($.label),1),$.detail?(h(),y("span",ci,F($.detail),1)):O("",!0)]),E(f(Wr),{class:"h-3 w-3 shrink-0 text-muted-foreground"})],42,ai)],8,oi))),128))],64))),128))],8,li),!i.value.length&&!e.loading?(h(),y("p",ui,F(e.emptyLabel),1)):O("",!0)])])):(h(),y("button",{key:0,ref_key:"trigger",ref:r,type:"button",class:"relative rounded-full p-2 text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-primary/40","aria-label":e.label,title:"Search (Ctrl / ⌘ K)","aria-haspopup":"listbox","aria-expanded":e.open,onClick:g[0]||(g[0]=K2(x=>p.$emit("update:open",!0),["stop"]))},[E(f(ke),{class:"h-4 w-4"}),e.modelValue?(h(),y("span",jr)):O("",!0)],8,zr))],2))}}),fi=["for"],hi={key:1,class:"mt-1 text-xs text-destructive"},Ai={key:2,class:"mt-1 text-xs text-muted-foreground"},Q2=G1({__name:"Field",props:{label:{},hint:{},error:{},for:{},class:{}},setup(e){const t=e;return(n,l)=>(h(),y("div",{class:o1(f(E1)("w-full",t.class))},[e.label?(h(),y("label",{key:0,for:t.for,class:"mb-1.5 flex items-center gap-2 text-xs font-medium uppercase tracking-wider text-muted-foreground"},[V(F(e.label)+" ",1),O1(n.$slots,"label")],8,fi)):O("",!0),O1(n.$slots,"default"),e.error?(h(),y("p",hi,F(e.error),1)):e.hint?(h(),y("p",Ai,F(e.hint),1)):O("",!0)],2))}}),d6=wt(["w-full rounded-md border bg-muted/50 text-foreground outline-none transition-colors","placeholder:text-muted-foreground focus:border-primary/50","disabled:cursor-not-allowed disabled:opacity-50"].join(" "),{variants:{size:{sm:"h-8 px-3 text-xs",default:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"},invalid:{true:"border-destructive/60 focus:border-destructive",false:""}},defaultVariants:{size:"default",invalid:!1}}),pi=wt(["w-full resize-y rounded-md border bg-muted/50 text-foreground outline-none transition-colors","placeholder:text-muted-foreground focus:border-primary/50","disabled:cursor-not-allowed disabled:opacity-50"].join(" "),{variants:{size:{sm:"px-3 py-1.5 text-xs",default:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-base"},invalid:{true:"border-destructive/60 focus:border-destructive",false:""}},defaultVariants:{size:"default",invalid:!1}}),mi=["value"],P2=G1({__name:"Input",props:{modelValue:{},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),y("input",{value:e.modelValue,class:o1(f(E1)(f(d6)({size:e.size,invalid:e.invalid}),t.class)),onInput:l[0]||(l[0]=s=>n.$emit("update:modelValue",s.target.value))},null,42,mi))}}),gi={class:"flex items-start gap-4"},vi={class:"min-w-0 flex-1"},yi={class:"mb-1 flex flex-wrap items-center gap-2"},bi={class:"break-all font-semibold"},ki={key:0,class:"break-all font-mono text-sm text-muted-foreground"},xi={key:1,class:"mt-2 flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-muted-foreground"},wi={key:1,class:"flex shrink-0 items-center gap-1"},tt=G1({__name:"ItemCard",props:{title:{},subtitle:{},pillar:{default:"graph"},hover:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={memory:"bg-pillar-memory/15 text-pillar-memory",graph:"bg-pillar-graph/15 text-pillar-graph",review:"bg-pillar-review/15 text-pillar-review",tokens:"bg-pillar-tokens/15 text-pillar-tokens",brand:"bg-primary/15 text-primary"};return(l,s)=>(h(),Q(Q1,{hover:e.hover,class:o1(f(E1)("p-5",t.class))},{default:M(()=>[v("div",gi,[l.$slots.icon?(h(),y("div",{key:0,class:o1(f(E1)("flex h-11 w-11 shrink-0 items-center justify-center rounded-lg",n[e.pillar]))},[O1(l.$slots,"icon")],2)):O("",!0),v("div",vi,[v("div",yi,[v("h3",bi,F(e.title),1),O1(l.$slots,"badges")]),e.subtitle?(h(),y("p",ki,F(e.subtitle),1)):O("",!0),O1(l.$slots,"default"),l.$slots.meta?(h(),y("div",xi,[O1(l.$slots,"meta")])):O("",!0)]),l.$slots.actions?(h(),y("div",wi,[O1(l.$slots,"actions")])):O("",!0)])]),_:3},8,["hover","class"]))}}),Ci={class:"flex min-w-0 items-center gap-3"},_i={class:"min-w-0"},Ii={class:"flex flex-wrap items-center gap-2"},Mi={class:"text-xl font-semibold"},Ei={key:1,class:"mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-1.5 text-sm text-muted-foreground"},Di={key:0,class:"flex flex-wrap items-center gap-2"},se=G1({__name:"PageHead",props:{title:{},sub:{},pillar:{default:"graph"},tone:{},mono:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={memory:"bg-pillar-memory/15 text-pillar-memory",graph:"bg-pillar-graph/15 text-pillar-graph",review:"bg-pillar-review/15 text-pillar-review",tokens:"bg-pillar-tokens/15 text-pillar-tokens",brand:"bg-primary/15 text-primary"},l={neutral:"bg-muted text-muted-foreground",info:"bg-primary/15 text-primary",success:"bg-success/15 text-success",warning:"bg-warning/15 text-warning",danger:"bg-destructive/15 text-destructive"},s=z(()=>t.tone?l[t.tone]:n[t.pillar]);return(o,a)=>(h(),y("div",{class:o1(f(E1)("mb-6 flex flex-wrap items-start justify-between gap-4",t.class))},[v("div",Ci,[O1(o.$slots,"back"),o.$slots.icon?(h(),y("div",{key:0,class:o1(f(E1)("flex h-11 w-11 shrink-0 items-center justify-center rounded-lg",s.value))},[O1(o.$slots,"icon")],2)):O("",!0),v("div",_i,[v("div",Ii,[v("h1",Mi,F(e.title),1),O1(o.$slots,"badges")]),e.sub?(h(),y("p",{key:0,class:o1(f(E1)("text-sm text-muted-foreground",e.mono&&"break-all font-mono"))},F(e.sub),3)):O("",!0),o.$slots.meta?(h(),y("div",Ei,[O1(o.$slots,"meta")])):O("",!0)])]),o.$slots.actions?(h(),y("div",Di,[O1(o.$slots,"actions")])):O("",!0)],2))}}),Zi=["value"],ne=G1({__name:"Select",props:{modelValue:{},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),y("select",{value:e.modelValue,class:o1(f(E1)(f(d6)({size:e.size,invalid:e.invalid}),"w-auto",t.class)),onChange:l[0]||(l[0]=s=>n.$emit("update:modelValue",s.target.value))},[O1(n.$slots,"default")],42,Zi))}}),Fi=["aria-expanded","disabled"],Bi={key:0,class:"absolute z-50 mt-1 w-full overflow-hidden rounded-md border bg-card shadow-lg"},Si={class:"relative border-b"},Ri=["placeholder"],$i={class:"max-h-64 overflow-y-auto p-1"},Ni={class:"min-w-0 flex-1 truncate text-muted-foreground"},Ki={key:0,class:"px-2 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wider text-muted-foreground"},Qi=["onClick","onMousemove"],Oi={class:"min-w-0 flex-1 truncate"},Gi={key:0,class:"shrink-0 text-[11px] text-muted-foreground"},Wi={key:1,class:"px-2 py-6 text-center text-sm text-muted-foreground"},Li=G1({__name:"SearchableSelect",props:{modelValue:{default:""},options:{},placeholder:{default:"Choose one"},searchPlaceholder:{default:"Search"},emptyLabel:{},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,l=t,s=P(!1),o=P(""),a=P(0),r=P(null),i=P(null),c=z(()=>n.options.find(k=>k.value===n.modelValue)),u=z(()=>{const k=o.value.trim().toLowerCase();return k?n.options.filter(K=>K.label.toLowerCase().includes(k)||K.value.toLowerCase().includes(k)||(K.group??"").toLowerCase().includes(k)||(K.hint??"").toLowerCase().includes(k)):n.options}),d=z(()=>n.emptyLabel?[null,...u.value]:[...u.value]);function A(k,K){const I=u.value[K-1];return k.group&&k.group!==(I==null?void 0:I.group)?k.group:""}function m(k){l("update:modelValue",k),p()}function p(){s.value=!1,o.value=""}async function g(){var k;n.disabled||(s.value=!0,a.value=Math.max(0,d.value.findIndex(K=>(K==null?void 0:K.value)===n.modelValue)),await X3(),(k=i.value)==null||k.focus())}function x(k){if(!s.value){(k.key==="Enter"||k.key==="ArrowDown"||k.key===" ")&&(k.preventDefault(),g());return}if(k.key==="Escape"){p();return}if(k.key==="ArrowDown"&&(k.preventDefault(),a.value=Math.min(a.value+1,d.value.length-1)),k.key==="ArrowUp"&&(k.preventDefault(),a.value=Math.max(a.value-1,0)),k.key==="Enter"){k.preventDefault();const K=d.value[a.value];K!==void 0&&m((K==null?void 0:K.value)??"")}}P1(o,()=>{a.value=0});function $(k){s.value&&r.value&&!r.value.contains(k.target)&&p()}return o2(()=>document.addEventListener("mousedown",$)),mt(()=>document.removeEventListener("mousedown",$)),(k,K)=>{var I;return h(),y("div",{ref_key:"root",ref:r,class:"relative"},[v("button",{type:"button",role:"combobox","aria-expanded":s.value,disabled:e.disabled,class:o1(f(E1)(f(d6)({size:e.size,invalid:e.invalid}),"flex items-center gap-2 text-left",n.class)),onClick:K[0]||(K[0]=w=>s.value?p():g()),onKeydown:x},[v("span",{class:o1(["min-w-0 flex-1 truncate",c.value?"":"text-muted-foreground"])},F(((I=c.value)==null?void 0:I.label)??(e.modelValue||e.placeholder)),3),E(f(It),{class:"h-4 w-4 shrink-0 text-muted-foreground"})],42,Fi),s.value?(h(),y("div",Bi,[v("div",Si,[E(f(ke),{class:"absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),te(v("input",{ref_key:"field",ref:i,"onUpdate:modelValue":K[1]||(K[1]=w=>o.value=w),class:"w-full bg-transparent py-2 pl-8 pr-2 text-sm outline-none placeholder:text-muted-foreground",placeholder:e.searchPlaceholder,onKeydown:x},null,40,Ri),[[C5,o.value]])]),v("div",$i,[e.emptyLabel?(h(),y("button",{key:0,type:"button",class:o1(["flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm",a.value===0?"bg-muted":"hover:bg-muted/60"]),onClick:K[2]||(K[2]=w=>m("")),onMousemove:K[3]||(K[3]=w=>a.value=0)},[E(f(Ke),{class:o1(["h-3.5 w-3.5 shrink-0",e.modelValue?"opacity-0":""])},null,8,["class"]),v("span",Ni,F(e.emptyLabel),1)],34)):O("",!0),(h(!0),y(e1,null,_1(u.value,(w,S)=>(h(),y(e1,{key:w.value},[A(w,S)?(h(),y("p",Ki,F(w.group),1)):O("",!0),v("button",{type:"button",class:o1(["flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm",a.value===(e.emptyLabel?S+1:S)?"bg-muted":"hover:bg-muted/60"]),onClick:B=>m(w.value),onMousemove:B=>a.value=e.emptyLabel?S+1:S},[E(f(Ke),{class:o1(["h-3.5 w-3.5 shrink-0",w.value===e.modelValue?"":"opacity-0"])},null,8,["class"]),v("span",Oi,F(w.label),1),w.hint?(h(),y("span",Gi,F(w.hint),1)):O("",!0)],42,Qi)],64))),128)),u.value.length?O("",!0):(h(),y("p",Wi," Nothing matches. "))])])):O("",!0)],512)}}}),Vi={class:"w-full border-collapse text-sm"},Ti={key:0,class:"sr-only"},Pi={class:"border-b bg-muted/30"},f6=G1({__name:"Table",props:{columns:{},rows:{},rowKey:{type:[String,Function],default:"id"},label:{},dense:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n=(l,s)=>typeof t.rowKey=="function"?t.rowKey(l,s):String(l[t.rowKey]??s);return(l,s)=>(h(),y("div",{class:o1(f(E1)("w-full overflow-x-auto rounded-lg border",t.class))},[v("table",Vi,[e.label?(h(),y("caption",Ti,F(e.label),1)):O("",!0),v("thead",null,[v("tr",Pi,[(h(!0),y(e1,null,_1(e.columns,o=>(h(),y("th",{key:o.id,scope:"col",style:M2(o.width?{width:o.width}:void 0),class:o1(f(E1)("px-2.5 py-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground",o.align==="right"?"text-right":"text-left",o.narrow&&"hidden sm:table-cell"))},F(o.label),7))),128))])]),v("tbody",null,[(h(!0),y(e1,null,_1(e.rows,(o,a)=>(h(),y("tr",{key:n(o,a),class:"border-b last:border-0 transition-colors hover:bg-muted/40"},[(h(!0),y(e1,null,_1(e.columns,r=>(h(),y("td",{key:r.id,class:o1(f(E1)("px-2.5 align-middle",e.dense?"py-1":"py-1.5",r.align==="right"?"text-right":"text-left",r.narrow&&"hidden sm:table-cell"))},[O1(l.$slots,r.id,{row:o,index:a},()=>[V(F(o[r.id]),1)])],2))),128))]))),128))])])],2))}}),Hi=["aria-label"],Yi=["aria-pressed","disabled","title","onClick"],Ui={key:1,class:"opacity-60"},D3=G1({__name:"Tabs",props:{modelValue:{},tabs:{},label:{},size:{default:"default"},class:{}},emits:["update:modelValue"],setup(e){const t=e,n={sm:"gap-1 px-1.5 py-0.5 text-[10px]",default:"gap-1.5 px-2.5 py-1 text-xs",lg:"gap-2 px-3 py-1 text-sm"};return(l,s)=>(h(),y("div",{role:"group","aria-label":e.label,class:o1(f(E1)("inline-flex rounded-md border bg-card p-0.5",t.class))},[(h(!0),y(e1,null,_1(e.tabs,o=>(h(),y("button",{key:o.id,type:"button","aria-pressed":e.modelValue===o.id,disabled:o.disabled,title:o.title,class:o1(f(E1)("inline-flex shrink-0 items-center rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-40",n[e.size],e.modelValue===o.id?"bg-primary/15 text-primary":"text-muted-foreground hover:text-foreground")),onClick:a=>l.$emit("update:modelValue",o.id)},[o.icon?(h(),Q(h2(o.icon),{key:0,class:o1(e.size==="sm"?"h-3 w-3":"h-3.5 w-3.5")},null,8,["class"])):O("",!0),V(" "+F(o.label)+" ",1),o.count?(h(),y("span",Ui,F(o.count),1)):O("",!0)],10,Yi))),128))],10,Hi))}}),Ji=["value","rows"],R5=G1({__name:"Textarea",props:{modelValue:{},rows:{default:3},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),y("textarea",{value:e.modelValue,rows:e.rows,class:o1(f(E1)(f(pi)({size:e.size,invalid:e.invalid}),t.class)),onInput:l[0]||(l[0]=s=>n.$emit("update:modelValue",s.target.value))},null,42,Ji))}}),zi={key:0,class:"space-y-1.5"},ji={class:"flex gap-2"},d0=G1({__name:"ListInput",props:{modelValue:{default:()=>[]},placeholder:{},noun:{default:"entry"},mono:{type:Boolean,default:!1},size:{default:"default"},class:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,l=t,s=P("");function o(){const r=s.value.trim();if(!r||n.modelValue.includes(r)){s.value="";return}l("update:modelValue",[...n.modelValue,r]),s.value=""}function a(r){l("update:modelValue",n.modelValue.filter(i=>i!==r))}return(r,i)=>(h(),y("div",{class:o1(f(E1)("space-y-2",n.class))},[e.modelValue.length?(h(),y("ul",zi,[(h(!0),y(e1,null,_1(e.modelValue,c=>(h(),y("li",{key:c,class:"flex items-center gap-2 rounded-md border bg-muted/40 py-1 pl-3 pr-1 text-sm"},[v("span",{class:o1(f(E1)("min-w-0 flex-1 break-all",e.mono&&"font-mono text-xs"))},F(c),3),E(x1,{variant:"ghost",size:"icon",class:"h-6 w-6 shrink-0","aria-label":`Remove ${c}`,onClick:u=>a(c)},{default:M(()=>[E(f(i3),{class:"h-3.5 w-3.5"})]),_:1},8,["aria-label","onClick"])]))),128))])):O("",!0),v("div",ji,[E(P2,{modelValue:s.value,"onUpdate:modelValue":i[0]||(i[0]=c=>s.value=c),size:e.size,placeholder:e.placeholder,class:o1(e.mono?"font-mono":void 0),"aria-label":`Add ${e.noun}`,onKeydown:A3(K2(o,["prevent"]),["enter"])},null,8,["modelValue","size","placeholder","class","aria-label","onKeydown"]),E(x1,{size:e.size,variant:"outline",class:"shrink-0",disabled:!s.value.trim(),onClick:o},{default:M(()=>[E(f(le),{class:"mr-1.5 h-3.5 w-3.5"}),i[1]||(i[1]=V(" Add ",-1))]),_:1},8,["size","disabled"])])],2))}}),Xi={class:"min-w-0 truncate"},qi=["aria-label"],F7=G1({__name:"Chip",props:{tone:{default:"default"},removable:{type:Boolean,default:!1},label:{},class:{}},emits:["remove"],setup(e){const t=e,n={default:"border-primary/30 bg-primary/10 text-foreground",success:"border-success/40 bg-success/10 text-foreground",warning:"border-warning/40 bg-warning/10 text-foreground",danger:"border-destructive/40 bg-destructive/10 text-foreground",muted:"border-border bg-muted/60 text-muted-foreground"};return(l,s)=>(h(),y("span",{class:o1(f(E1)("inline-flex max-w-full items-center gap-1 rounded-full border py-0.5 pl-2.5 text-xs",e.removable?"pr-1":"pr-2.5",n[e.tone],t.class))},[O1(l.$slots,"mark"),v("span",Xi,[O1(l.$slots,"default")]),e.removable?(h(),y("button",{key:0,type:"button",class:"shrink-0 rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-background/60 hover:text-foreground","aria-label":e.label?`Remove ${e.label}`:"Remove",onClick:s[0]||(s[0]=o=>l.$emit("remove"))},[E(f(i3),{class:"h-3 w-3"})],8,qi)):O("",!0)],2))}}),ec=["title"],tc={class:"relative flex h-2 w-2 shrink-0"},nc={key:1,class:"sr-only"},J3=G1({__name:"DotIndicator",props:{tone:{default:"neutral"},title:{},label:{},pulse:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={neutral:"bg-muted-foreground",info:"bg-primary",success:"bg-success",warning:"bg-warning",danger:"bg-destructive"},l={neutral:"text-muted-foreground",info:"text-primary",success:"text-success",warning:"text-warning",danger:"text-destructive"};return(s,o)=>(h(),y("span",{class:o1(f(E1)("inline-flex items-center gap-1.5 align-middle",t.class)),title:e.title},[v("span",tc,[e.pulse?(h(),y("span",{key:0,class:o1(f(E1)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-60",n[e.tone]))},null,2)):O("",!0),v("span",{class:o1(f(E1)("relative inline-flex h-2 w-2 rounded-full",n[e.tone]))},null,2)]),e.label?(h(),y("span",{key:0,class:o1(f(E1)("text-xs font-medium",l[e.tone]))},F(e.label),3)):(h(),y("span",nc,F(e.title),1))],10,ec))}}),B7={};function lc(e){let t=B7[e];if(t)return t;t=B7[e]=[];for(let n=0;n<128;n++){const l=String.fromCharCode(n);t.push(l)}for(let n=0;n=55296&&u<=57343?s+="���":s+=String.fromCharCode(u),o+=6;continue}}if((r&248)===240&&o+91114111?s+="����":(d-=65536,s+=String.fromCharCode(55296+(d>>10),56320+(d&1023))),o+=9;continue}}s+="�"}return s})}I3.defaultChars=";/?:@&=+$,#";I3.componentChars="";const S7={};function sc(e){let t=S7[e];if(t)return t;t=S7[e]=[];for(let n=0;n<128;n++){const l=String.fromCharCode(n);/^[0-9a-z]$/i.test(l)?t.push(l):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n"u"&&(n=!0);const l=sc(t);let s="";for(let o=0,a=e.length;o=55296&&r<=57343){if(r>=55296&&r<=56319&&o+1=56320&&i<=57343){s+=encodeURIComponent(e[o]+e[o+1]),o++;continue}}s+="%EF%BF%BD";continue}s+=encodeURIComponent(e[o])}return s}me.defaultChars=";/?:@&=+$,-_.!~*'()#";me.componentChars="-_.!~*'()";function $5(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function nt(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const oc=/^([a-z0-9.+-]+:)/i,ac=/:[0-9]*$/,rc=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,ic=["<",">",'"',"`"," ","\r",` -`," "],cc=["{","}","|","\\","^","`"].concat(ic),uc=["'"].concat(cc),R7=["%","/","?",";","#"].concat(uc),$7=["/","?","#"],dc=255,N7=/^[+a-z0-9A-Z_-]{0,63}$/,fc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,K7={javascript:!0,"javascript:":!0},Q7={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function N5(e,t){if(e&&e instanceof nt)return e;const n=new nt;return n.parse(e,t),n}nt.prototype.parse=function(e,t){let n,l,s,o=e;if(o=o.trim(),!t&&e.split("#").length===1){const c=rc.exec(o);if(c)return this.pathname=c[1],c[2]&&(this.search=c[2]),this}let a=oc.exec(o);if(a&&(a=a[0],n=a.toLowerCase(),this.protocol=a,o=o.substr(a.length)),(t||a||o.match(/^\/\/[^@\/]+@[^@\/]+/))&&(s=o.substr(0,2)==="//",s&&!(a&&K7[a])&&(o=o.substr(2),this.slashes=!0)),!K7[a]&&(s||a&&!Q7[a])){let c=-1;for(let p=0;p<$7.length;p++)l=o.indexOf($7[p]),l!==-1&&(c===-1||l127?k+="x":k+=$[K];if(!k.match(N7)){const K=p.slice(0,g),I=p.slice(g+1),w=$.match(fc);w&&(K.push(w[1]),I.unshift(w[2])),I.length&&(o=I.join(".")+o),this.hostname=K.join(".");break}}}}this.hostname.length>dc&&(this.hostname=""),m&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const r=o.indexOf("#");r!==-1&&(this.hash=o.substr(r),o=o.slice(0,r));const i=o.indexOf("?");return i!==-1&&(this.search=o.substr(i),o=o.slice(0,i)),o&&(this.pathname=o),Q7[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};nt.prototype.parseHost=function(e){let t=ac.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const hc=Object.freeze(Object.defineProperty({__proto__:null,decode:I3,encode:me,format:$5,parse:N5},Symbol.toStringTag,{value:"Module"})),f0=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,h0=/[\0-\x1F\x7F-\x9F]/,Ac=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,h6=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,A0=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C1\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2429\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E5\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD803[\uDD8E\uDD8F\uDED1-\uDED8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDC00-\uDCEF\uDCFA-\uDCFC\uDD00-\uDEB3\uDEBA-\uDED0\uDEE0-\uDEF0\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED8\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0-\uDCBB\uDCC0\uDCC1\uDCD0-\uDCD8\uDD00-\uDE57\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF-\uDEF8\uDF00-\uDF92\uDF94-\uDFEF\uDFFA]/,p0=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,pc=Object.freeze(Object.defineProperty({__proto__:null,Any:f0,Cc:h0,Cf:Ac,P:h6,S:A0,Z:p0},Symbol.toStringTag,{value:"Module"})),mc=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function gc(e){return e>=55296&&e<=57343||e>1114111?65533:mc.get(e)??e}function vc(e){const t=atob(e),n=t.length&-2,l=new Uint16Array(n/2);for(let s=0,o=0;s=X1.ZERO&&e<=X1.NINE}function bc(e){return e>=X1.UPPER_A&&e<=X1.UPPER_F||e>=X1.LOWER_A&&e<=X1.LOWER_F}function kc(e){return e>=X1.UPPER_A&&e<=X1.UPPER_Z||e>=X1.LOWER_A&&e<=X1.LOWER_Z||K5(e)}function xc(e){return e===X1.EQUALS||kc(e)}var c2;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(c2||(c2={}));var Se;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Se||(Se={}));class wc{constructor(t,n,l){T1(this,"decodeTree");T1(this,"emitCodePoint");T1(this,"errors");T1(this,"state",c2.EntityStart);T1(this,"consumed",1);T1(this,"result",0);T1(this,"treeIndex",0);T1(this,"excess",1);T1(this,"decodeMode",Se.Strict);T1(this,"runConsumed",0);this.decodeTree=t,this.emitCodePoint=n,this.errors=l}startEntity(t){this.decodeMode=t,this.state=c2.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,n){switch(this.state){case c2.EntityStart:return t.charCodeAt(n)===X1.NUM?(this.state=c2.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=c2.NamedEntity,this.stateNamedEntity(t,n));case c2.NumericStart:return this.stateNumericStart(t,n);case c2.NumericDecimal:return this.stateNumericDecimal(t,n);case c2.NumericHex:return this.stateNumericHex(t,n);case c2.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|O7)===X1.LOWER_X?(this.state=c2.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=c2.NumericDecimal,this.stateNumericDecimal(t,n))}stateNumericHex(t,n){for(;n>14;for(;n>7;if(this.runConsumed===0){const i=s&x2.JUMP_TABLE;if(t.charCodeAt(n)!==i)return this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}for(;this.runConsumed=t.length)return-1;const i=this.runConsumed-1,c=l[this.treeIndex+1+(i>>1)],u=i%2===0?c&255:c>>8&255;if(t.charCodeAt(n)!==u)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(r>>1),s=l[this.treeIndex],o=(s&x2.VALUE_LENGTH)>>14}if(n>=t.length)break;const a=t.charCodeAt(n);if(a===X1.SEMI&&o!==0&&(s&x2.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.treeIndex=_c(l,s,this.treeIndex+Math.max(1,o),a),this.treeIndex<0)return this.result===0||this.decodeMode===Se.Attribute&&(o===0||xc(a))?0:this.emitNotTerminatedNamedEntity();if(s=l[this.treeIndex],o=(s&x2.VALUE_LENGTH)>>14,o!==0){if(a===X1.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);this.decodeMode!==Se.Strict&&(s&x2.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}n++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var s;const{result:t,decodeTree:n}=this,l=(n[t]&x2.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,l,this.consumed),(s=this.errors)==null||s.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,l){const{decodeTree:s}=this;return this.emitCodePoint(n===1?s[t]&~(x2.VALUE_LENGTH|x2.FLAG13):s[t+1],l),n===3&&this.emitCodePoint(s[t+2],l),l}end(){var t;switch(this.state){case c2.NamedEntity:return this.result!==0&&(this.decodeMode!==Se.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case c2.NumericDecimal:return this.emitNumericEntity(0,2);case c2.NumericHex:return this.emitNumericEntity(0,3);case c2.NumericStart:return(t=this.errors)==null||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case c2.EntityStart:return 0}}}function Cc(e){let t="";const n=new wc(e,l=>t+=String.fromCodePoint(l));return function(s,o){let a=0,r=0;for(;(r=s.indexOf("&",r))>=0;){t+=s.slice(a,r),n.startEntity(o);const c=n.write(s,r+1);if(c<0){a=r+n.end();break}a=r+c,r=c===0?a+1:a}const i=t+s.slice(a);return t="",i}}function _c(e,t,n,l){const s=(t&x2.BRANCH_LENGTH)>>7,o=t&x2.JUMP_TABLE;if(s===0)return o!==0&&l===o?n:-1;if(o){const c=l-o;return c<0||c>=s?-1:e[n+c]-1}const a=s+1>>1;let r=0,i=s-1;for(;r<=i;){const c=r+i>>>1,u=c>>1,A=e[n+u]>>(c&1)*8&255;if(Al)i=c-1;else return e[n+a+c]}return-1}const Ic=Cc(yc);function m0(e){return Ic(e,Se.Strict)}var Mc=class{constructor(e={}){T1(this,"src_Any",f0.source);T1(this,"src_Cc",h0.source);T1(this,"src_Z",p0.source);T1(this,"src_P",h6.source);T1(this,"src_ZPCc",[this.src_Z,this.src_P,this.src_Cc].join("|"));T1(this,"src_ZCc",[this.src_Z,this.src_Cc].join("|"));T1(this,"cache",{});T1(this,"opts",{maxLength:1e4,urlAuth:!1,schema_names:[]});this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,t,n=4){const l=this.escapeRE(e),s=this.escapeRE(t),o=`(?:(?!${this.src_ZCc}|${l}|${s}).)`;let a=`${l}${o}{0,1000}${s}`;for(let r=2;r<=n;r++)a=`${l}(?:${o}|${a}){0,1000}${s}`;return a}get_text_separators(){var e;return(e=this.cache).text_separators??(e.text_separators=/[><\uff5c]/)}get_pseudo_letter(){var e;return(e=this.cache).src_pseudo_letter??(e.src_pseudo_letter=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`))}get_ipv4_addr(){var e;return(e=this.cache).src_ip4??(e.src_ip4=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"))}get_ipv6_addr(){var n;const e="[0-9A-Fa-f]{1,4}",t=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return(n=this.cache).src_ip6_addr??(n.src_ip6_addr=new RegExp(`(?:(?:${e}:){6}${t}|::(?:${e}:){5}${t}|(?:${e})?::(?:${e}:){4}${t}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${t}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${t}|(?:(?:${e}:){0,3}${e})?::${e}:${t}|(?:(?:${e}:){0,4}${e})?::${t}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`))}get_ipv6_url_host(){var e;return(e=this.cache).src_ip6_host??(e.src_ip6_host=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`))}get_ipv6_mail_host(){var e;return(e=this.cache).src_ipv6_mail_host??(e.src_ipv6_mail_host=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`))}get_auth(){var e;return(e=this.cache).src_auth??(e.src_auth=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`))}get_port(){var e;return(e=this.cache).src_port??(e.src_port=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?"))}get_host_terminator(){var e;return(e=this.cache).src_host_terminator??(e.src_host_terminator=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`))}get_path_terminator(){var e;return(e=this.cache).src_path_terminator??(e.src_path_terminator=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`))}get_path(){var e;return(e=this.cache).src_path??(e.src_path=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`))}get_mail_name(){var e;return(e=this.cache).src_mail_name??(e.src_mail_name=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}"))}get_xn(){var e;return(e=this.cache).src_xn??(e.src_xn=new RegExp("xn--[a-z0-9\\-]{1,59}"))}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){var e;return(e=this.cache).src_domain_root??(e.src_domain_root=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`))}get_domain(){var e;return(e=this.cache).src_domain??(e.src_domain=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`))}get_url_host_port(){var e;return(e=this.cache).url_host_port??(e.url_host_port=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source))}get_fuzzy_url_host_port(){var e;return(e=this.cache).fuzzy_url_host_port??(e.fuzzy_url_host_port=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source))}get_mail_host(){var e;return(e=this.cache).src_mail_host??(e.src_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source))}get_fuzzy_mail_host(){var e;return(e=this.cache).src_fuzzy_mail_host??(e.src_fuzzy_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source))}get_path_extra(){var e;return(e=this.cache).src_path_extra??(e.src_path_extra=new RegExp(""))}get_fuzzy_mail_host_search(){var e;return(e=this.cache).mail_fuzzy_host_search??(e.mail_fuzzy_host_search=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig"))}get_fuzzy_link_search(){var e;return(e=this.cache).link_fuzzy_search??(e.link_fuzzy_search=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig"))}get_http_validator(){var e;return(e=this.cache).http_validator??(e.http_validator=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy"))}get_relative_proto_validator(){var e;return(e=this.cache).relative_proto_validator??(e.relative_proto_validator=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy"))}get_mail_name_validator(){var e;return(e=this.cache).mail_name_validator??(e.mail_name_validator=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`))}get_mailto_validator(){var e;return(e=this.cache).mailto_validator??(e.mailto_validator=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy"))}get_schema_names(){var e;return(e=this.cache).schema_names??(e.schema_names=new RegExp((this.opts.schema_names||[]).map(t=>this.escapeRE(t)).join("|")))}get_schema_search(){var e;return(e=this.cache).schema_search??(e.schema_search=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig"))}get_schema_at_start(){var e;return(e=this.cache).schema_at_start??(e.schema_at_start=new RegExp(`^${this.get_schema_search().source}`,"i"))}},jt={validate:(e,t,n)=>{const l=n.re.get_http_validator();l.lastIndex=t;const s=l.exec(e);return s?s[0].length:0},normalize:(e,t)=>t.normalize(e)},Ec={"http:":jt,"https:":jt,"ftp:":jt,"//":{validate:function(e,t,n){const l=n.re.get_relative_proto_validator();l.lastIndex=t;const s=l.exec(e);return s?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:s[0].length:0},normalize:(e,t)=>t.normalize(e)},"mailto:":{validate:function(e,t,n){const l=n.re.get_mailto_validator();l.lastIndex=t;const s=l.exec(e);return s?s[0].length:0},normalize:(e,t)=>t.normalize(e)}},Dc="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",Zc="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function Fc(){const e=Zc.split("|");return Dc.split("|").forEach(t=>{const n=t.indexOf(":"),l=t.slice(0,n);for(const s of t.slice(n+1))e.push(l+s)}),e}var Bc={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:Fc(),urlAuth:!1,maxLength:1e4},G7=class{constructor(e,t,n,l){T1(this,"schema");T1(this,"index");T1(this,"lastIndex");T1(this,"raw");T1(this,"text");T1(this,"url");const s=e.slice(n,l);this.schema=t.toLowerCase(),this.index=n,this.lastIndex=l,this.raw=s,this.text=s,this.url=s}},Sc=class{constructor(e={}){T1(this,"__opts__");T1(this,"__schemas__");T1(this,"re");const{rebuilder:t,...n}=e;this.__opts__={...Bc,...n},this.__schemas__={...Ec},this.re=t||new Mc,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,t=null){if(!t)delete this.__schemas__[e];else{const n={normalize:(l,s)=>s.normalize(l),...t};this.__schemas__[e]=n}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let t,n;for(n=this.re.get_schema_search(),n.lastIndex=0;(t=n.exec(e))!==null;)if(this.testSchemaAt(e,t[2],n.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(n=this.re.get_fuzzy_link_search(),n.lastIndex=0,n.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const l=this.re.get_fuzzy_mail_host_search(),s=this.re.get_mail_name_validator();for(l.lastIndex=0;(t=l.exec(e))!==null;){const o=e.slice(Math.max(0,t.index-65),t.index);if(s.test(o))return!0}}return!1}testSchemaAt(e,t,n){return this.__schemas__[t.toLowerCase()]?this.__schemas__[t.toLowerCase()].validate(e.slice(0,n+this.__opts__.maxLength),n,this):0}match(e){const t=[],n=this.re.get_schema_search();let l,s,o,a,r,i,c=!1,u=!1,d=!1,A=0;if(!e.length)return null;for(n.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(l=this.re.get_fuzzy_link_search(),l.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(s=this.re.get_fuzzy_mail_host_search(),s.lastIndex=0,o=this.re.get_mail_name_validator());;){const m=Math.max(A-1,0);if(s&&o&&!d&&(!r||r.index=A)break;s.lastIndex=A)break;l.lastIndexp.lastIndex))&&(p=a);let g;if(!c)for(;;){if(!i){n.lastIndexp.index)break;const k=i;i=void 0;const K=this.testSchemaAt(e,k.schema,k.lastIndex);if(K){g={schema:k.schema,index:k.index,lastIndex:k.lastIndex+K};break}}let x=g;if((!x||r&&(r.indexx.lastIndex))&&(x=r),(!x||a&&(a.indexx.lastIndex))&&(x=a),!x)break;x===r?r=void 0:x===a&&(a=void 0);const $=new G7(e,x.schema,x.index,x.lastIndex);$.schema?this.__schemas__[$.schema].normalize($,this):this.normalize($),t.push($),A=x.lastIndex}return t.length?t:null}matchAtStart(e){if(!e.length)return null;const t=this.re.get_schema_at_start().exec(e);if(!t)return null;const n=this.testSchemaAt(e,t[2],t[0].length);if(!n)return null;const l=new G7(e,t[2],t.index+t[1].length,t.index+t[0].length+n);return this.__schemas__[l.schema].normalize(l,this),l}tlds(e,t=!1){return e=Array.isArray(e)?e:[e],t?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const y3=2147483647,X2=36,A6=1,r4=26,Rc=38,$c=700,g0=72,v0=128,y0="-",Nc=/^xn--/,Kc=/[^\0-\x7F]/,Qc=/[\x2E\u3002\uFF0E\uFF61]/g,Oc={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Xt=X2-A6,q2=Math.floor,qt=String.fromCharCode;function Be(e){throw new RangeError(Oc[e])}function Gc(e,t){const n=[];let l=e.length;for(;l--;)n[l]=t(e[l]);return n}function b0(e,t){const n=e.split("@");let l="";n.length>1&&(l=n[0]+"@",e=n[1]),e=e.replace(Qc,".");const s=e.split("."),o=Gc(s,t).join(".");return l+o}function k0(e){const t=[];let n=0;const l=e.length;for(;n=55296&&s<=56319&&nString.fromCodePoint(...e),Lc=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:X2},W7=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},x0=function(e,t,n){let l=0;for(e=n?q2(e/$c):e>>1,e+=q2(e/t);e>Xt*r4>>1;l+=X2)e=q2(e/Xt);return q2(l+(Xt+1)*e/(e+Rc))},w0=function(e){const t=[],n=e.length;let l=0,s=v0,o=g0,a=e.lastIndexOf(y0);a<0&&(a=0);for(let r=0;r=128&&Be("not-basic"),t.push(e.charCodeAt(r));for(let r=a>0?a+1:0;r=n&&Be("invalid-input");const A=Lc(e.charCodeAt(r++));A>=X2&&Be("invalid-input"),A>q2((y3-l)/u)&&Be("overflow"),l+=A*u;const m=d<=o?A6:d>=o+r4?r4:d-o;if(Aq2(y3/p)&&Be("overflow"),u*=p}const c=t.length+1;o=x0(l-i,c,i==0),q2(l/c)>y3-s&&Be("overflow"),s+=q2(l/c),l%=c,t.splice(l++,0,s)}return String.fromCodePoint(...t)},C0=function(e){const t=[];e=k0(e);const n=e.length;let l=v0,s=0,o=g0;for(const i of e)i<128&&t.push(qt(i));const a=t.length;let r=a;for(a&&t.push(y0);r=l&&uq2((y3-s)/c)&&Be("overflow"),s+=(i-l)*c,l=i;for(const u of e)if(uy3&&Be("overflow"),u===l){let d=s;for(let A=X2;;A+=X2){const m=A<=o?A6:A>=o+r4?r4:A-o;if(d{let n={};for(var l in e)V7(n,l,{get:e[l],enumerable:!0});return V7(n,Symbol.toStringTag,{value:"Module"}),n},Pc=_0({arrayReplaceAt:()=>Hc,asciiTrim:()=>Zt,callable:()=>I0,escapeHtml:()=>Qe,escapeRE:()=>n9,fromCodePoint:()=>i4,isMdAsciiPunct:()=>d4,isPunctChar:()=>E0,isPunctCharCode:()=>u4,isSpace:()=>J1,isValidEntityCode:()=>p6,isWhiteSpace:()=>c4,lib:()=>l9,normalizeReference:()=>Dt,unescapeAll:()=>M3,unescapeMd:()=>zc});function I0(e){const t=function(...n){return Reflect.construct(e,n,new.target&&new.target!==t?new.target:e)};return Object.defineProperty(t,"name",{value:e.name}),Object.setPrototypeOf(t,e),t.prototype=e.prototype,t}function Hc(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function p6(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function i4(e){if(e>65535){e-=65536;const t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var M0=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,Yc=new RegExp(`${M0.source}|${/&([a-z#][a-z0-9]{1,31});/gi.source}`,"gi"),Uc=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function Jc(e,t){if(t.charCodeAt(0)===35&&Uc.test(t)){const l=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return p6(l)?i4(l):e}const n=m0(e);return n!==e?n:e}function zc(e){return e.indexOf("\\")<0?e:e.replace(M0,"$1")}function M3(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(Yc,function(t,n,l){return n||Jc(t,l)})}var jc=/[&<>"]/,Xc=/[&<>"]/g,qc={"&":"&","<":"<",">":">",'"':"""};function e9(e){return qc[e]}function Qe(e){return jc.test(e)?e.replace(Xc,e9):e}var t9=/[.?*+^$[\]\\(){}|-]/g;function n9(e){return e.replace(t9,"\\$&")}function J1(e){switch(e){case 9:case 32:return!0}return!1}function c4(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function E0(e){return h6.test(e)||A0.test(e)}function u4(e){return E0(i4(e))}function d4(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Dt(e){return e=e.trim().replace(/\s+/g," "),e.toLowerCase().toUpperCase()}function T7(e){return e===32||e===9||e===10||e===13}function Zt(e){let t=0;for(;t=t&&T7(e.charCodeAt(n));n--);return e.slice(t,n+1)}var l9={mdurl:hc,ucmicro:pc};function s9(e,t,n){let l,s,o,a;const r=e.posMax,i=e.pos;for(e.pos=t+1,l=1;e.pos32))return o;if(l===41){if(a===0)break;a--}s++}return t===s||a!==0||(o.str=M3(e.slice(t,s)),o.pos=s,o.ok=!0),o}function a9(e,t,n,l){let s,o=t;const a={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(l)a.str=l.str,a.marker=l.marker;else{if(o>=n)return a;let r=e.charCodeAt(o);if(r!==34&&r!==39&&r!==40)return a;t++,o++,r===40&&(r=41),a.marker=r}for(;oo9,parseLinkLabel:()=>s9,parseLinkTitle:()=>a9});function f4(e){"@babel/helpers - typeof";return f4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f4(e)}function i9(e,t){if(f4(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var l=n.call(e,t);if(f4(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function c9(e){var t=i9(e,"string");return f4(t)=="symbol"?t:t+""}function g1(e,t,n){return(t=c9(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var o3=class{constructor(e,t,n){g1(this,"map",null),g1(this,"level",0),g1(this,"children",null),g1(this,"content",""),g1(this,"markup",""),g1(this,"info",""),g1(this,"block",!1),g1(this,"hidden",!1),this.type=e,this.tag=t,this.attrs=null,this.nesting=n,this.meta=null}attrIndex(e){if(!this.attrs)return-1;const t=this.attrs;for(let n=0,l=t.length;n=0&&(n=this.attrs[t][1]),n}attrJoin(e,t){const n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=`${this.attrs[n][1]} ${t}`}},h4=class{constructor(){g1(this,"__rules__",[]),g1(this,"__cache__",null)}__find__(e){for(let t=0;t{t.enabled&&t.alt.forEach(n=>{n&&e.add(n)})}),this.__cache__=Object.create(null),this.__cache__[""]=[],this.__rules__.forEach(t=>{t.enabled&&this.__cache__[""].push(t.fn)}),e.forEach(t=>{this.__cache__[t]=[],this.__rules__.forEach(n=>{n.enabled&&n.alt.indexOf(t)>=0&&this.__cache__[t].push(n.fn)})})}at(e,t,n={}){const l=this.__find__(e);if(l===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__[l].fn=t,this.__rules__[l].alt=n.alt||[],this.__cache__=null}before(e,t,n,l={}){const s=this.__find__(e);if(s===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(s,0,{name:t,enabled:!0,fn:n,alt:l.alt||[]}),this.__cache__=null}after(e,t,n,l={}){const s=this.__find__(e);if(s===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(s+1,0,{name:t,enabled:!0,fn:n,alt:l.alt||[]}),this.__cache__=null}push(e,t,n={}){this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null}enable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(l=>{const s=this.__find__(l);if(s<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${l}`)}this.__rules__[s].enabled=!0,n.push(l)}),this.__cache__=null,n}enableOnly(e,t=!1){Array.isArray(e)||(e=[e]),this.__rules__.forEach(n=>{n.enabled=!1}),this.enable(e,t)}disable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(l=>{const s=this.__find__(l);if(s<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${l}`)}this.__rules__[s].enabled=!1,n.push(l)}),this.__cache__=null,n}getRules(e){return this.__cache__||this.__compile__(),this.__cache__[e]||[]}},oe={};oe.code_inline=function(e,t,n,l,s){const o=e[t];return`${Qe(o.content)}`};oe.code_block=function(e,t,n,l,s){const o=e[t];return`${Qe(e[t].content)} -`};oe.fence=function(e,t,n,l,s){const o=e[t],a=o.info?M3(o.info).trim():"";let r="",i="";if(a){const u=a.split(/(\s+)/g);r=u[0],i=u.slice(2).join("")}let c;if(n.highlight?c=n.highlight(o.content,r,i)||Qe(o.content):c=Qe(o.content),c.indexOf("[]},open:{type:Boolean,default:!1},context:{},placeholder:{default:"Search"},loading:{type:Boolean,default:!1},emptyLabel:{default:"No matches. Try another name or phrase."},label:{default:"Search"},class:{}},emits:["update:modelValue","update:open","select"],setup(e,{emit:t}){const n=e,l=t,s=V(0),o=V(),a=V(),r=V(),i=z(()=>n.groups.flatMap(p=>p.items.map(g=>({item:g,group:p.id}))));H1(()=>n.modelValue,()=>{s.value=0}),H1(i,()=>{s.value=Math.min(s.value,Math.max(0,i.value.length-1))}),H1(()=>n.open,async p=>{var g,x;p?(await e4(),(g=a.value)==null||g.focus()):(await e4(),(x=r.value)==null||x.focus())});function c(p){i.value.length&&(s.value=(s.value+p+i.value.length)%i.value.length)}function u(p=s.value){const g=i.value[p];g&&(l("select",g.item,g.group),l("update:open",!1))}function d(p,g){return i.value.findIndex(x=>x.group===p.id&&x.item.id===g.id)}function A(p){(p.metaKey||p.ctrlKey)&&p.key.toLowerCase()==="k"&&(p.preventDefault(),l("update:open",!n.open))}function m(p){n.open&&o.value&&!p.composedPath().includes(o.value)&&l("update:open",!1)}return o2(()=>{document.addEventListener("keydown",A),document.addEventListener("click",m,!0)}),Oe(()=>{document.removeEventListener("keydown",A),document.removeEventListener("click",m,!0)}),(p,g)=>(h(),y("div",{ref_key:"root",ref:o,class:o1(f(E1)("z-50",e.open?"absolute left-1/2 top-1/2 w-[calc(100%-1rem)] max-w-xl -translate-x-1/2 -translate-y-1/2":"shrink-0",n.class))},[e.open?(h(),y("div",ni,[v("div",li,[e.loading?(h(),Q(f(v2),{key:0,class:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"})):(h(),Q(f(ke),{key:1,class:"h-4 w-4 shrink-0 text-muted-foreground"})),v("input",{ref_key:"field",ref:a,value:e.modelValue,role:"combobox","aria-autocomplete":"list","aria-controls":"global-search-results","aria-expanded":e.open,"aria-activedescendant":i.value.length?`global-search-${s.value}`:void 0,"aria-label":e.label,placeholder:e.placeholder,class:"h-10 min-w-0 flex-1 bg-transparent text-sm outline-none",onInput:g[1]||(g[1]=x=>p.$emit("update:modelValue",x.target.value)),onKeydown:[g[2]||(g[2]=p3(K2(x=>c(1),["prevent"]),["down"])),g[3]||(g[3]=p3(K2(x=>c(-1),["prevent"]),["up"])),g[4]||(g[4]=p3(K2(x=>u(),["prevent"]),["enter"])),g[5]||(g[5]=p3(K2(x=>p.$emit("update:open",!1),["stop","prevent"]),["esc"]))]},null,40,si),v("button",{type:"button","aria-label":"Close search",class:"rounded p-1 text-muted-foreground hover:bg-muted",onClick:g[6]||(g[6]=x=>p.$emit("update:open",!1))},[M(f(i3),{class:"h-4 w-4"})])]),v("div",oi,[e.context?(h(),y("p",ai,F(e.context),1)):O("",!0),v("ul",{id:"global-search-results",role:"listbox","aria-label":e.label,class:"max-h-[60vh] overflow-y-auto py-1"},[(h(!0),y(e1,null,_1(e.groups,x=>(h(),y(e1,{key:x.id},[x.items.length?(h(),y("li",ii,F(x.label),1)):O("",!0),(h(!0),y(e1,null,_1(x.items,$=>(h(),y("li",{id:`global-search-${d(x,$)}`,key:`${x.id}:${$.id}`,role:"option","aria-selected":d(x,$)===s.value},[v("button",{type:"button",tabindex:"-1",class:o1(["flex w-full items-center gap-3 px-3 py-2 text-left text-sm",d(x,$)===s.value?"bg-muted":"hover:bg-muted/50"]),onMouseenter:k=>s.value=d(x,$),onMousedown:g[7]||(g[7]=K2(()=>{},["prevent"])),onClick:k=>u(d(x,$))},[v("span",di,[v("span",fi,F($.label),1),$.detail?(h(),y("span",hi,F($.detail),1)):O("",!0)]),M(f(Pr),{class:"h-3 w-3 shrink-0 text-muted-foreground"})],42,ui)],8,ci))),128))],64))),128))],8,ri),!i.value.length&&!e.loading?(h(),y("p",Ai,F(e.emptyLabel),1)):O("",!0)])])):(h(),y("button",{key:0,ref_key:"trigger",ref:r,type:"button",class:"relative rounded-full p-2 text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-primary/40","aria-label":e.label,title:"Search (Ctrl / ⌘ K)","aria-haspopup":"listbox","aria-expanded":e.open,onClick:g[0]||(g[0]=K2(x=>p.$emit("update:open",!0),["stop"]))},[M(f(ke),{class:"h-4 w-4"}),e.modelValue?(h(),y("span",ti)):O("",!0)],8,ei))],2))}}),mi=["for"],gi={key:1,class:"mt-1 text-xs text-destructive"},vi={key:2,class:"mt-1 text-xs text-muted-foreground"},Q2=K1({__name:"Field",props:{label:{},hint:{},error:{},for:{},class:{}},setup(e){const t=e;return(n,l)=>(h(),y("div",{class:o1(f(E1)("w-full",t.class))},[e.label?(h(),y("label",{key:0,for:t.for,class:"mb-1.5 flex items-center gap-2 text-xs font-medium uppercase tracking-wider text-muted-foreground"},[T(F(e.label)+" ",1),G1(n.$slots,"label")],8,mi)):O("",!0),G1(n.$slots,"default"),e.error?(h(),y("p",gi,F(e.error),1)):e.hint?(h(),y("p",vi,F(e.hint),1)):O("",!0)],2))}}),h6=Ct(["w-full rounded-md border bg-muted/50 text-foreground outline-none transition-colors","placeholder:text-muted-foreground focus:border-primary/50","disabled:cursor-not-allowed disabled:opacity-50"].join(" "),{variants:{size:{sm:"h-8 px-3 text-xs",default:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"},invalid:{true:"border-destructive/60 focus:border-destructive",false:""}},defaultVariants:{size:"default",invalid:!1}}),yi=Ct(["w-full resize-y rounded-md border bg-muted/50 text-foreground outline-none transition-colors","placeholder:text-muted-foreground focus:border-primary/50","disabled:cursor-not-allowed disabled:opacity-50"].join(" "),{variants:{size:{sm:"px-3 py-1.5 text-xs",default:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-base"},invalid:{true:"border-destructive/60 focus:border-destructive",false:""}},defaultVariants:{size:"default",invalid:!1}}),bi=["value"],P2=K1({__name:"Input",props:{modelValue:{},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),y("input",{value:e.modelValue,class:o1(f(E1)(f(h6)({size:e.size,invalid:e.invalid}),t.class)),onInput:l[0]||(l[0]=s=>n.$emit("update:modelValue",s.target.value))},null,42,bi))}}),ki={class:"flex items-start gap-4"},xi={class:"min-w-0 flex-1"},wi={class:"mb-1 flex flex-wrap items-center gap-2"},Ci={class:"break-all font-semibold"},_i={key:0,class:"break-all font-mono text-sm text-muted-foreground"},Ii={key:1,class:"mt-2 flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-muted-foreground"},Mi={key:1,class:"flex shrink-0 items-center gap-1"},st=K1({__name:"ItemCard",props:{title:{},subtitle:{},pillar:{default:"graph"},hover:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={memory:"bg-pillar-memory/15 text-pillar-memory",graph:"bg-pillar-graph/15 text-pillar-graph",review:"bg-pillar-review/15 text-pillar-review",tokens:"bg-pillar-tokens/15 text-pillar-tokens",brand:"bg-primary/15 text-primary"};return(l,s)=>(h(),Q(O1,{hover:e.hover,class:o1(f(E1)("p-5",t.class))},{default:E(()=>[v("div",ki,[l.$slots.icon?(h(),y("div",{key:0,class:o1(f(E1)("flex h-11 w-11 shrink-0 items-center justify-center rounded-lg",n[e.pillar]))},[G1(l.$slots,"icon")],2)):O("",!0),v("div",xi,[v("div",wi,[v("h3",Ci,F(e.title),1),G1(l.$slots,"badges")]),e.subtitle?(h(),y("p",_i,F(e.subtitle),1)):O("",!0),G1(l.$slots,"default"),l.$slots.meta?(h(),y("div",Ii,[G1(l.$slots,"meta")])):O("",!0)]),l.$slots.actions?(h(),y("div",Mi,[G1(l.$slots,"actions")])):O("",!0)])]),_:3},8,["hover","class"]))}}),Ei={class:"flex min-w-0 items-center gap-3"},Di={class:"min-w-0"},Zi={class:"flex flex-wrap items-center gap-2"},Fi={class:"text-xl font-semibold"},Bi={key:1,class:"mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-1.5 text-sm text-muted-foreground"},Si={key:0,class:"flex flex-wrap items-center gap-2"},se=K1({__name:"PageHead",props:{title:{},sub:{},pillar:{default:"graph"},tone:{},mono:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={memory:"bg-pillar-memory/15 text-pillar-memory",graph:"bg-pillar-graph/15 text-pillar-graph",review:"bg-pillar-review/15 text-pillar-review",tokens:"bg-pillar-tokens/15 text-pillar-tokens",brand:"bg-primary/15 text-primary"},l={neutral:"bg-muted text-muted-foreground",info:"bg-primary/15 text-primary",success:"bg-success/15 text-success",warning:"bg-warning/15 text-warning",danger:"bg-destructive/15 text-destructive"},s=z(()=>t.tone?l[t.tone]:n[t.pillar]);return(o,a)=>(h(),y("div",{class:o1(f(E1)("mb-6 flex flex-wrap items-start justify-between gap-4",t.class))},[v("div",Ei,[G1(o.$slots,"back"),o.$slots.icon?(h(),y("div",{key:0,class:o1(f(E1)("flex h-11 w-11 shrink-0 items-center justify-center rounded-lg",s.value))},[G1(o.$slots,"icon")],2)):O("",!0),v("div",Di,[v("div",Zi,[v("h1",Fi,F(e.title),1),G1(o.$slots,"badges")]),e.sub?(h(),y("p",{key:0,class:o1(f(E1)("text-sm text-muted-foreground",e.mono&&"break-all font-mono"))},F(e.sub),3)):O("",!0),o.$slots.meta?(h(),y("div",Bi,[G1(o.$slots,"meta")])):O("",!0)])]),o.$slots.actions?(h(),y("div",Si,[G1(o.$slots,"actions")])):O("",!0)],2))}}),Ri=["value"],ne=K1({__name:"Select",props:{modelValue:{},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),y("select",{value:e.modelValue,class:o1(f(E1)(f(h6)({size:e.size,invalid:e.invalid}),"w-auto",t.class)),onChange:l[0]||(l[0]=s=>n.$emit("update:modelValue",s.target.value))},[G1(n.$slots,"default")],42,Ri))}}),$i=["aria-expanded","disabled"],Ni={key:0,class:"absolute z-50 mt-1 w-full overflow-hidden rounded-md border bg-card shadow-lg"},Ki={class:"relative border-b"},Qi=["placeholder"],Oi={class:"max-h-64 overflow-y-auto p-1"},Gi={class:"min-w-0 flex-1 truncate text-muted-foreground"},Wi={key:0,class:"px-2 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wider text-muted-foreground"},Li=["onClick","onMousemove"],Ti={class:"min-w-0 flex-1 truncate"},Vi={key:0,class:"shrink-0 text-[11px] text-muted-foreground"},Pi={key:1,class:"px-2 py-6 text-center text-sm text-muted-foreground"},Hi=K1({__name:"SearchableSelect",props:{modelValue:{default:""},options:{},placeholder:{default:"Choose one"},searchPlaceholder:{default:"Search"},emptyLabel:{},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,l=t,s=V(!1),o=V(""),a=V(0),r=V(null),i=V(null),c=z(()=>n.options.find(k=>k.value===n.modelValue)),u=z(()=>{const k=o.value.trim().toLowerCase();return k?n.options.filter(N=>N.label.toLowerCase().includes(k)||N.value.toLowerCase().includes(k)||(N.group??"").toLowerCase().includes(k)||(N.hint??"").toLowerCase().includes(k)):n.options}),d=z(()=>n.emptyLabel?[null,...u.value]:[...u.value]);function A(k,N){const C=u.value[N-1];return k.group&&k.group!==(C==null?void 0:C.group)?k.group:""}function m(k){l("update:modelValue",k),p()}function p(){s.value=!1,o.value=""}async function g(){var k;n.disabled||(s.value=!0,a.value=Math.max(0,d.value.findIndex(N=>(N==null?void 0:N.value)===n.modelValue)),await e4(),(k=i.value)==null||k.focus())}function x(k){if(!s.value){(k.key==="Enter"||k.key==="ArrowDown"||k.key===" ")&&(k.preventDefault(),g());return}if(k.key==="Escape"){p();return}if(k.key==="ArrowDown"&&(k.preventDefault(),a.value=Math.min(a.value+1,d.value.length-1)),k.key==="ArrowUp"&&(k.preventDefault(),a.value=Math.max(a.value-1,0)),k.key==="Enter"){k.preventDefault();const N=d.value[a.value];N!==void 0&&m((N==null?void 0:N.value)??"")}}H1(o,()=>{a.value=0});function $(k){s.value&&r.value&&!r.value.contains(k.target)&&p()}return o2(()=>document.addEventListener("mousedown",$)),gt(()=>document.removeEventListener("mousedown",$)),(k,N)=>{var C;return h(),y("div",{ref_key:"root",ref:r,class:"relative"},[v("button",{type:"button",role:"combobox","aria-expanded":s.value,disabled:e.disabled,class:o1(f(E1)(f(h6)({size:e.size,invalid:e.invalid}),"flex items-center gap-2 text-left",n.class)),onClick:N[0]||(N[0]=b=>s.value?p():g()),onKeydown:x},[v("span",{class:o1(["min-w-0 flex-1 truncate",c.value?"":"text-muted-foreground"])},F(((C=c.value)==null?void 0:C.label)??(e.modelValue||e.placeholder)),3),M(f(Mt),{class:"h-4 w-4 shrink-0 text-muted-foreground"})],42,$i),s.value?(h(),y("div",Ni,[v("div",Ki,[M(f(ke),{class:"absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),te(v("input",{ref_key:"field",ref:i,"onUpdate:modelValue":N[1]||(N[1]=b=>o.value=b),class:"w-full bg-transparent py-2 pl-8 pr-2 text-sm outline-none placeholder:text-muted-foreground",placeholder:e.searchPlaceholder,onKeydown:x},null,40,Qi),[[_5,o.value]])]),v("div",Oi,[e.emptyLabel?(h(),y("button",{key:0,type:"button",class:o1(["flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm",a.value===0?"bg-muted":"hover:bg-muted/60"]),onClick:N[2]||(N[2]=b=>m("")),onMousemove:N[3]||(N[3]=b=>a.value=0)},[M(f(Ke),{class:o1(["h-3.5 w-3.5 shrink-0",e.modelValue?"opacity-0":""])},null,8,["class"]),v("span",Gi,F(e.emptyLabel),1)],34)):O("",!0),(h(!0),y(e1,null,_1(u.value,(b,B)=>(h(),y(e1,{key:b.value},[A(b,B)?(h(),y("p",Wi,F(b.group),1)):O("",!0),v("button",{type:"button",class:o1(["flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm",a.value===(e.emptyLabel?B+1:B)?"bg-muted":"hover:bg-muted/60"]),onClick:S=>m(b.value),onMousemove:S=>a.value=e.emptyLabel?B+1:B},[M(f(Ke),{class:o1(["h-3.5 w-3.5 shrink-0",b.value===e.modelValue?"":"opacity-0"])},null,8,["class"]),v("span",Ti,F(b.label),1),b.hint?(h(),y("span",Vi,F(b.hint),1)):O("",!0)],42,Li)],64))),128)),u.value.length?O("",!0):(h(),y("p",Pi," Nothing matches. "))])])):O("",!0)],512)}}}),Ui={class:"w-full border-collapse text-sm"},Yi={key:0,class:"sr-only"},Ji={class:"border-b bg-muted/30"},A6=K1({__name:"Table",props:{columns:{},rows:{},rowKey:{type:[String,Function],default:"id"},label:{},dense:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n=(l,s)=>typeof t.rowKey=="function"?t.rowKey(l,s):String(l[t.rowKey]??s);return(l,s)=>(h(),y("div",{class:o1(f(E1)("w-full overflow-x-auto rounded-lg border",t.class))},[v("table",Ui,[e.label?(h(),y("caption",Yi,F(e.label),1)):O("",!0),v("thead",null,[v("tr",Ji,[(h(!0),y(e1,null,_1(e.columns,o=>(h(),y("th",{key:o.id,scope:"col",style:E2(o.width?{width:o.width}:void 0),class:o1(f(E1)("px-2.5 py-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground",o.align==="right"?"text-right":"text-left",o.narrow&&"hidden sm:table-cell"))},F(o.label),7))),128))])]),v("tbody",null,[(h(!0),y(e1,null,_1(e.rows,(o,a)=>(h(),y("tr",{key:n(o,a),class:"border-b last:border-0 transition-colors hover:bg-muted/40"},[(h(!0),y(e1,null,_1(e.columns,r=>(h(),y("td",{key:r.id,class:o1(f(E1)("px-2.5 align-middle",e.dense?"py-1":"py-1.5",r.align==="right"?"text-right":"text-left",r.narrow&&"hidden sm:table-cell"))},[G1(l.$slots,r.id,{row:o,index:a},()=>[T(F(o[r.id]),1)])],2))),128))]))),128))])])],2))}}),zi=["aria-label"],ji=["aria-pressed","disabled","title","onClick"],Xi={key:1,class:"opacity-60"},c3=K1({__name:"Tabs",props:{modelValue:{},tabs:{},label:{},size:{default:"default"},class:{}},emits:["update:modelValue"],setup(e){const t=e,n={sm:"gap-1 px-1.5 py-0.5 text-[10px]",default:"gap-1.5 px-2.5 py-1 text-xs",lg:"gap-2 px-3 py-1 text-sm"};return(l,s)=>(h(),y("div",{role:"group","aria-label":e.label,class:o1(f(E1)("inline-flex rounded-md border bg-card p-0.5",t.class))},[(h(!0),y(e1,null,_1(e.tabs,o=>(h(),y("button",{key:o.id,type:"button","aria-pressed":e.modelValue===o.id,disabled:o.disabled,title:o.title,class:o1(f(E1)("inline-flex shrink-0 items-center rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-40",n[e.size],e.modelValue===o.id?"bg-primary/15 text-primary":"text-muted-foreground hover:text-foreground")),onClick:a=>l.$emit("update:modelValue",o.id)},[o.icon?(h(),Q(A2(o.icon),{key:0,class:o1(e.size==="sm"?"h-3 w-3":"h-3.5 w-3.5")},null,8,["class"])):O("",!0),T(" "+F(o.label)+" ",1),o.count?(h(),y("span",Xi,F(o.count),1)):O("",!0)],10,ji))),128))],10,zi))}}),qi=["value","rows"],$5=K1({__name:"Textarea",props:{modelValue:{},rows:{default:3},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),y("textarea",{value:e.modelValue,rows:e.rows,class:o1(f(E1)(f(yi)({size:e.size,invalid:e.invalid}),t.class)),onInput:l[0]||(l[0]=s=>n.$emit("update:modelValue",s.target.value))},null,42,qi))}}),ec={key:0,class:"space-y-1.5"},tc={class:"flex gap-2"},h0=K1({__name:"ListInput",props:{modelValue:{default:()=>[]},placeholder:{},noun:{default:"entry"},mono:{type:Boolean,default:!1},size:{default:"default"},class:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,l=t,s=V("");function o(){const r=s.value.trim();if(!r||n.modelValue.includes(r)){s.value="";return}l("update:modelValue",[...n.modelValue,r]),s.value=""}function a(r){l("update:modelValue",n.modelValue.filter(i=>i!==r))}return(r,i)=>(h(),y("div",{class:o1(f(E1)("space-y-2",n.class))},[e.modelValue.length?(h(),y("ul",ec,[(h(!0),y(e1,null,_1(e.modelValue,c=>(h(),y("li",{key:c,class:"flex items-center gap-2 rounded-md border bg-muted/40 py-1 pl-3 pr-1 text-sm"},[v("span",{class:o1(f(E1)("min-w-0 flex-1 break-all",e.mono&&"font-mono text-xs"))},F(c),3),M(x1,{variant:"ghost",size:"icon",class:"h-6 w-6 shrink-0","aria-label":`Remove ${c}`,onClick:u=>a(c)},{default:E(()=>[M(f(i3),{class:"h-3.5 w-3.5"})]),_:1},8,["aria-label","onClick"])]))),128))])):O("",!0),v("div",tc,[M(P2,{modelValue:s.value,"onUpdate:modelValue":i[0]||(i[0]=c=>s.value=c),size:e.size,placeholder:e.placeholder,class:o1(e.mono?"font-mono":void 0),"aria-label":`Add ${e.noun}`,onKeydown:p3(K2(o,["prevent"]),["enter"])},null,8,["modelValue","size","placeholder","class","aria-label","onKeydown"]),M(x1,{size:e.size,variant:"outline",class:"shrink-0",disabled:!s.value.trim(),onClick:o},{default:E(()=>[M(f(le),{class:"mr-1.5 h-3.5 w-3.5"}),i[1]||(i[1]=T(" Add ",-1))]),_:1},8,["size","disabled"])])],2))}}),nc={class:"min-w-0 truncate"},lc=["aria-label"],R7=K1({__name:"Chip",props:{tone:{default:"default"},removable:{type:Boolean,default:!1},label:{},class:{}},emits:["remove"],setup(e){const t=e,n={default:"border-primary/30 bg-primary/10 text-foreground",success:"border-success/40 bg-success/10 text-foreground",warning:"border-warning/40 bg-warning/10 text-foreground",danger:"border-destructive/40 bg-destructive/10 text-foreground",muted:"border-border bg-muted/60 text-muted-foreground"};return(l,s)=>(h(),y("span",{class:o1(f(E1)("inline-flex max-w-full items-center gap-1 rounded-full border py-0.5 pl-2.5 text-xs",e.removable?"pr-1":"pr-2.5",n[e.tone],t.class))},[G1(l.$slots,"mark"),v("span",nc,[G1(l.$slots,"default")]),e.removable?(h(),y("button",{key:0,type:"button",class:"shrink-0 rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-background/60 hover:text-foreground","aria-label":e.label?`Remove ${e.label}`:"Remove",onClick:s[0]||(s[0]=o=>l.$emit("remove"))},[M(f(i3),{class:"h-3 w-3"})],8,lc)):O("",!0)],2))}}),sc=["title"],oc={class:"relative flex h-2 w-2 shrink-0"},ac={key:1,class:"sr-only"},j3=K1({__name:"DotIndicator",props:{tone:{default:"neutral"},title:{},label:{},pulse:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={neutral:"bg-muted-foreground",info:"bg-primary",success:"bg-success",warning:"bg-warning",danger:"bg-destructive"},l={neutral:"text-muted-foreground",info:"text-primary",success:"text-success",warning:"text-warning",danger:"text-destructive"};return(s,o)=>(h(),y("span",{class:o1(f(E1)("inline-flex items-center gap-1.5 align-middle",t.class)),title:e.title},[v("span",oc,[e.pulse?(h(),y("span",{key:0,class:o1(f(E1)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-60",n[e.tone]))},null,2)):O("",!0),v("span",{class:o1(f(E1)("relative inline-flex h-2 w-2 rounded-full",n[e.tone]))},null,2)]),e.label?(h(),y("span",{key:0,class:o1(f(E1)("text-xs font-medium",l[e.tone]))},F(e.label),3)):(h(),y("span",ac,F(e.title),1))],10,sc))}}),$7={};function rc(e){let t=$7[e];if(t)return t;t=$7[e]=[];for(let n=0;n<128;n++){const l=String.fromCharCode(n);t.push(l)}for(let n=0;n=55296&&u<=57343?s+="���":s+=String.fromCharCode(u),o+=6;continue}}if((r&248)===240&&o+91114111?s+="����":(d-=65536,s+=String.fromCharCode(55296+(d>>10),56320+(d&1023))),o+=9;continue}}s+="�"}return s})}E3.defaultChars=";/?:@&=+$,#";E3.componentChars="";const N7={};function ic(e){let t=N7[e];if(t)return t;t=N7[e]=[];for(let n=0;n<128;n++){const l=String.fromCharCode(n);/^[0-9a-z]$/i.test(l)?t.push(l):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n"u"&&(n=!0);const l=ic(t);let s="";for(let o=0,a=e.length;o=55296&&r<=57343){if(r>=55296&&r<=56319&&o+1=56320&&i<=57343){s+=encodeURIComponent(e[o]+e[o+1]),o++;continue}}s+="%EF%BF%BD";continue}s+=encodeURIComponent(e[o])}return s}me.defaultChars=";/?:@&=+$,-_.!~*'()#";me.componentChars="-_.!~*'()";function N5(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function ot(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const cc=/^([a-z0-9.+-]+:)/i,uc=/:[0-9]*$/,dc=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,fc=["<",">",'"',"`"," ","\r",` +`," "],hc=["{","}","|","\\","^","`"].concat(fc),Ac=["'"].concat(hc),K7=["%","/","?",";","#"].concat(Ac),Q7=["/","?","#"],pc=255,O7=/^[+a-z0-9A-Z_-]{0,63}$/,mc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,G7={javascript:!0,"javascript:":!0},W7={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function K5(e,t){if(e&&e instanceof ot)return e;const n=new ot;return n.parse(e,t),n}ot.prototype.parse=function(e,t){let n,l,s,o=e;if(o=o.trim(),!t&&e.split("#").length===1){const c=dc.exec(o);if(c)return this.pathname=c[1],c[2]&&(this.search=c[2]),this}let a=cc.exec(o);if(a&&(a=a[0],n=a.toLowerCase(),this.protocol=a,o=o.substr(a.length)),(t||a||o.match(/^\/\/[^@\/]+@[^@\/]+/))&&(s=o.substr(0,2)==="//",s&&!(a&&G7[a])&&(o=o.substr(2),this.slashes=!0)),!G7[a]&&(s||a&&!W7[a])){let c=-1;for(let p=0;p127?k+="x":k+=$[N];if(!k.match(O7)){const N=p.slice(0,g),C=p.slice(g+1),b=$.match(mc);b&&(N.push(b[1]),C.unshift(b[2])),C.length&&(o=C.join(".")+o),this.hostname=N.join(".");break}}}}this.hostname.length>pc&&(this.hostname=""),m&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const r=o.indexOf("#");r!==-1&&(this.hash=o.substr(r),o=o.slice(0,r));const i=o.indexOf("?");return i!==-1&&(this.search=o.substr(i),o=o.slice(0,i)),o&&(this.pathname=o),W7[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};ot.prototype.parseHost=function(e){let t=uc.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const gc=Object.freeze(Object.defineProperty({__proto__:null,decode:E3,encode:me,format:N5,parse:K5},Symbol.toStringTag,{value:"Module"})),A0=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,p0=/[\0-\x1F\x7F-\x9F]/,vc=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,p6=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,m0=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C1\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2429\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E5\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD803[\uDD8E\uDD8F\uDED1-\uDED8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDC00-\uDCEF\uDCFA-\uDCFC\uDD00-\uDEB3\uDEBA-\uDED0\uDEE0-\uDEF0\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED8\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0-\uDCBB\uDCC0\uDCC1\uDCD0-\uDCD8\uDD00-\uDE57\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF-\uDEF8\uDF00-\uDF92\uDF94-\uDFEF\uDFFA]/,g0=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,yc=Object.freeze(Object.defineProperty({__proto__:null,Any:A0,Cc:p0,Cf:vc,P:p6,S:m0,Z:g0},Symbol.toStringTag,{value:"Module"})),bc=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function kc(e){return e>=55296&&e<=57343||e>1114111?65533:bc.get(e)??e}function xc(e){const t=atob(e),n=t.length&-2,l=new Uint16Array(n/2);for(let s=0,o=0;s=X1.ZERO&&e<=X1.NINE}function Cc(e){return e>=X1.UPPER_A&&e<=X1.UPPER_F||e>=X1.LOWER_A&&e<=X1.LOWER_F}function _c(e){return e>=X1.UPPER_A&&e<=X1.UPPER_Z||e>=X1.LOWER_A&&e<=X1.LOWER_Z||Q5(e)}function Ic(e){return e===X1.EQUALS||_c(e)}var c2;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(c2||(c2={}));var Se;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Se||(Se={}));class Mc{constructor(t,n,l){V1(this,"decodeTree");V1(this,"emitCodePoint");V1(this,"errors");V1(this,"state",c2.EntityStart);V1(this,"consumed",1);V1(this,"result",0);V1(this,"treeIndex",0);V1(this,"excess",1);V1(this,"decodeMode",Se.Strict);V1(this,"runConsumed",0);this.decodeTree=t,this.emitCodePoint=n,this.errors=l}startEntity(t){this.decodeMode=t,this.state=c2.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,n){switch(this.state){case c2.EntityStart:return t.charCodeAt(n)===X1.NUM?(this.state=c2.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=c2.NamedEntity,this.stateNamedEntity(t,n));case c2.NumericStart:return this.stateNumericStart(t,n);case c2.NumericDecimal:return this.stateNumericDecimal(t,n);case c2.NumericHex:return this.stateNumericHex(t,n);case c2.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|L7)===X1.LOWER_X?(this.state=c2.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=c2.NumericDecimal,this.stateNumericDecimal(t,n))}stateNumericHex(t,n){for(;n>14;for(;n>7;if(this.runConsumed===0){const i=s&x2.JUMP_TABLE;if(t.charCodeAt(n)!==i)return this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}for(;this.runConsumed=t.length)return-1;const i=this.runConsumed-1,c=l[this.treeIndex+1+(i>>1)],u=i%2===0?c&255:c>>8&255;if(t.charCodeAt(n)!==u)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(r>>1),s=l[this.treeIndex],o=(s&x2.VALUE_LENGTH)>>14}if(n>=t.length)break;const a=t.charCodeAt(n);if(a===X1.SEMI&&o!==0&&(s&x2.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.treeIndex=Dc(l,s,this.treeIndex+Math.max(1,o),a),this.treeIndex<0)return this.result===0||this.decodeMode===Se.Attribute&&(o===0||Ic(a))?0:this.emitNotTerminatedNamedEntity();if(s=l[this.treeIndex],o=(s&x2.VALUE_LENGTH)>>14,o!==0){if(a===X1.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);this.decodeMode!==Se.Strict&&(s&x2.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}n++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var s;const{result:t,decodeTree:n}=this,l=(n[t]&x2.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,l,this.consumed),(s=this.errors)==null||s.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,l){const{decodeTree:s}=this;return this.emitCodePoint(n===1?s[t]&~(x2.VALUE_LENGTH|x2.FLAG13):s[t+1],l),n===3&&this.emitCodePoint(s[t+2],l),l}end(){var t;switch(this.state){case c2.NamedEntity:return this.result!==0&&(this.decodeMode!==Se.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case c2.NumericDecimal:return this.emitNumericEntity(0,2);case c2.NumericHex:return this.emitNumericEntity(0,3);case c2.NumericStart:return(t=this.errors)==null||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case c2.EntityStart:return 0}}}function Ec(e){let t="";const n=new Mc(e,l=>t+=String.fromCodePoint(l));return function(s,o){let a=0,r=0;for(;(r=s.indexOf("&",r))>=0;){t+=s.slice(a,r),n.startEntity(o);const c=n.write(s,r+1);if(c<0){a=r+n.end();break}a=r+c,r=c===0?a+1:a}const i=t+s.slice(a);return t="",i}}function Dc(e,t,n,l){const s=(t&x2.BRANCH_LENGTH)>>7,o=t&x2.JUMP_TABLE;if(s===0)return o!==0&&l===o?n:-1;if(o){const c=l-o;return c<0||c>=s?-1:e[n+c]-1}const a=s+1>>1;let r=0,i=s-1;for(;r<=i;){const c=r+i>>>1,u=c>>1,A=e[n+u]>>(c&1)*8&255;if(Al)i=c-1;else return e[n+a+c]}return-1}const Zc=Ec(wc);function v0(e){return Zc(e,Se.Strict)}var Fc=class{constructor(e={}){V1(this,"src_Any",A0.source);V1(this,"src_Cc",p0.source);V1(this,"src_Z",g0.source);V1(this,"src_P",p6.source);V1(this,"src_ZPCc",[this.src_Z,this.src_P,this.src_Cc].join("|"));V1(this,"src_ZCc",[this.src_Z,this.src_Cc].join("|"));V1(this,"cache",{});V1(this,"opts",{maxLength:1e4,urlAuth:!1,schema_names:[]});this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,t,n=4){const l=this.escapeRE(e),s=this.escapeRE(t),o=`(?:(?!${this.src_ZCc}|${l}|${s}).)`;let a=`${l}${o}{0,1000}${s}`;for(let r=2;r<=n;r++)a=`${l}(?:${o}|${a}){0,1000}${s}`;return a}get_text_separators(){var e;return(e=this.cache).text_separators??(e.text_separators=/[><\uff5c]/)}get_pseudo_letter(){var e;return(e=this.cache).src_pseudo_letter??(e.src_pseudo_letter=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`))}get_ipv4_addr(){var e;return(e=this.cache).src_ip4??(e.src_ip4=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"))}get_ipv6_addr(){var n;const e="[0-9A-Fa-f]{1,4}",t=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return(n=this.cache).src_ip6_addr??(n.src_ip6_addr=new RegExp(`(?:(?:${e}:){6}${t}|::(?:${e}:){5}${t}|(?:${e})?::(?:${e}:){4}${t}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${t}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${t}|(?:(?:${e}:){0,3}${e})?::${e}:${t}|(?:(?:${e}:){0,4}${e})?::${t}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`))}get_ipv6_url_host(){var e;return(e=this.cache).src_ip6_host??(e.src_ip6_host=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`))}get_ipv6_mail_host(){var e;return(e=this.cache).src_ipv6_mail_host??(e.src_ipv6_mail_host=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`))}get_auth(){var e;return(e=this.cache).src_auth??(e.src_auth=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`))}get_port(){var e;return(e=this.cache).src_port??(e.src_port=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?"))}get_host_terminator(){var e;return(e=this.cache).src_host_terminator??(e.src_host_terminator=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`))}get_path_terminator(){var e;return(e=this.cache).src_path_terminator??(e.src_path_terminator=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`))}get_path(){var e;return(e=this.cache).src_path??(e.src_path=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`))}get_mail_name(){var e;return(e=this.cache).src_mail_name??(e.src_mail_name=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}"))}get_xn(){var e;return(e=this.cache).src_xn??(e.src_xn=new RegExp("xn--[a-z0-9\\-]{1,59}"))}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){var e;return(e=this.cache).src_domain_root??(e.src_domain_root=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`))}get_domain(){var e;return(e=this.cache).src_domain??(e.src_domain=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`))}get_url_host_port(){var e;return(e=this.cache).url_host_port??(e.url_host_port=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source))}get_fuzzy_url_host_port(){var e;return(e=this.cache).fuzzy_url_host_port??(e.fuzzy_url_host_port=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source))}get_mail_host(){var e;return(e=this.cache).src_mail_host??(e.src_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source))}get_fuzzy_mail_host(){var e;return(e=this.cache).src_fuzzy_mail_host??(e.src_fuzzy_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source))}get_path_extra(){var e;return(e=this.cache).src_path_extra??(e.src_path_extra=new RegExp(""))}get_fuzzy_mail_host_search(){var e;return(e=this.cache).mail_fuzzy_host_search??(e.mail_fuzzy_host_search=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig"))}get_fuzzy_link_search(){var e;return(e=this.cache).link_fuzzy_search??(e.link_fuzzy_search=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig"))}get_http_validator(){var e;return(e=this.cache).http_validator??(e.http_validator=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy"))}get_relative_proto_validator(){var e;return(e=this.cache).relative_proto_validator??(e.relative_proto_validator=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy"))}get_mail_name_validator(){var e;return(e=this.cache).mail_name_validator??(e.mail_name_validator=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`))}get_mailto_validator(){var e;return(e=this.cache).mailto_validator??(e.mailto_validator=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy"))}get_schema_names(){var e;return(e=this.cache).schema_names??(e.schema_names=new RegExp((this.opts.schema_names||[]).map(t=>this.escapeRE(t)).join("|")))}get_schema_search(){var e;return(e=this.cache).schema_search??(e.schema_search=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig"))}get_schema_at_start(){var e;return(e=this.cache).schema_at_start??(e.schema_at_start=new RegExp(`^${this.get_schema_search().source}`,"i"))}},Xt={validate:(e,t,n)=>{const l=n.re.get_http_validator();l.lastIndex=t;const s=l.exec(e);return s?s[0].length:0},normalize:(e,t)=>t.normalize(e)},Bc={"http:":Xt,"https:":Xt,"ftp:":Xt,"//":{validate:function(e,t,n){const l=n.re.get_relative_proto_validator();l.lastIndex=t;const s=l.exec(e);return s?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:s[0].length:0},normalize:(e,t)=>t.normalize(e)},"mailto:":{validate:function(e,t,n){const l=n.re.get_mailto_validator();l.lastIndex=t;const s=l.exec(e);return s?s[0].length:0},normalize:(e,t)=>t.normalize(e)}},Sc="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",Rc="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function $c(){const e=Rc.split("|");return Sc.split("|").forEach(t=>{const n=t.indexOf(":"),l=t.slice(0,n);for(const s of t.slice(n+1))e.push(l+s)}),e}var Nc={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:$c(),urlAuth:!1,maxLength:1e4},T7=class{constructor(e,t,n,l){V1(this,"schema");V1(this,"index");V1(this,"lastIndex");V1(this,"raw");V1(this,"text");V1(this,"url");const s=e.slice(n,l);this.schema=t.toLowerCase(),this.index=n,this.lastIndex=l,this.raw=s,this.text=s,this.url=s}},Kc=class{constructor(e={}){V1(this,"__opts__");V1(this,"__schemas__");V1(this,"re");const{rebuilder:t,...n}=e;this.__opts__={...Nc,...n},this.__schemas__={...Bc},this.re=t||new Fc,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,t=null){if(!t)delete this.__schemas__[e];else{const n={normalize:(l,s)=>s.normalize(l),...t};this.__schemas__[e]=n}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let t,n;for(n=this.re.get_schema_search(),n.lastIndex=0;(t=n.exec(e))!==null;)if(this.testSchemaAt(e,t[2],n.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(n=this.re.get_fuzzy_link_search(),n.lastIndex=0,n.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const l=this.re.get_fuzzy_mail_host_search(),s=this.re.get_mail_name_validator();for(l.lastIndex=0;(t=l.exec(e))!==null;){const o=e.slice(Math.max(0,t.index-65),t.index);if(s.test(o))return!0}}return!1}testSchemaAt(e,t,n){return this.__schemas__[t.toLowerCase()]?this.__schemas__[t.toLowerCase()].validate(e.slice(0,n+this.__opts__.maxLength),n,this):0}match(e){const t=[],n=this.re.get_schema_search();let l,s,o,a,r,i,c=!1,u=!1,d=!1,A=0;if(!e.length)return null;for(n.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(l=this.re.get_fuzzy_link_search(),l.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(s=this.re.get_fuzzy_mail_host_search(),s.lastIndex=0,o=this.re.get_mail_name_validator());;){const m=Math.max(A-1,0);if(s&&o&&!d&&(!r||r.index=A)break;s.lastIndex=A)break;l.lastIndexp.lastIndex))&&(p=a);let g;if(!c)for(;;){if(!i){n.lastIndexp.index)break;const k=i;i=void 0;const N=this.testSchemaAt(e,k.schema,k.lastIndex);if(N){g={schema:k.schema,index:k.index,lastIndex:k.lastIndex+N};break}}let x=g;if((!x||r&&(r.indexx.lastIndex))&&(x=r),(!x||a&&(a.indexx.lastIndex))&&(x=a),!x)break;x===r?r=void 0:x===a&&(a=void 0);const $=new T7(e,x.schema,x.index,x.lastIndex);$.schema?this.__schemas__[$.schema].normalize($,this):this.normalize($),t.push($),A=x.lastIndex}return t.length?t:null}matchAtStart(e){if(!e.length)return null;const t=this.re.get_schema_at_start().exec(e);if(!t)return null;const n=this.testSchemaAt(e,t[2],t[0].length);if(!n)return null;const l=new T7(e,t[2],t.index+t[1].length,t.index+t[0].length+n);return this.__schemas__[l.schema].normalize(l,this),l}tlds(e,t=!1){return e=Array.isArray(e)?e:[e],t?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const b3=2147483647,X2=36,m6=1,i4=26,Qc=38,Oc=700,y0=72,b0=128,k0="-",Gc=/^xn--/,Wc=/[^\0-\x7F]/,Lc=/[\x2E\u3002\uFF0E\uFF61]/g,Tc={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},qt=X2-m6,q2=Math.floor,e5=String.fromCharCode;function Be(e){throw new RangeError(Tc[e])}function Vc(e,t){const n=[];let l=e.length;for(;l--;)n[l]=t(e[l]);return n}function x0(e,t){const n=e.split("@");let l="";n.length>1&&(l=n[0]+"@",e=n[1]),e=e.replace(Lc,".");const s=e.split("."),o=Vc(s,t).join(".");return l+o}function w0(e){const t=[];let n=0;const l=e.length;for(;n=55296&&s<=56319&&nString.fromCodePoint(...e),Hc=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:X2},V7=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},C0=function(e,t,n){let l=0;for(e=n?q2(e/Oc):e>>1,e+=q2(e/t);e>qt*i4>>1;l+=X2)e=q2(e/qt);return q2(l+(qt+1)*e/(e+Qc))},_0=function(e){const t=[],n=e.length;let l=0,s=b0,o=y0,a=e.lastIndexOf(k0);a<0&&(a=0);for(let r=0;r=128&&Be("not-basic"),t.push(e.charCodeAt(r));for(let r=a>0?a+1:0;r=n&&Be("invalid-input");const A=Hc(e.charCodeAt(r++));A>=X2&&Be("invalid-input"),A>q2((b3-l)/u)&&Be("overflow"),l+=A*u;const m=d<=o?m6:d>=o+i4?i4:d-o;if(Aq2(b3/p)&&Be("overflow"),u*=p}const c=t.length+1;o=C0(l-i,c,i==0),q2(l/c)>b3-s&&Be("overflow"),s+=q2(l/c),l%=c,t.splice(l++,0,s)}return String.fromCodePoint(...t)},I0=function(e){const t=[];e=w0(e);const n=e.length;let l=b0,s=0,o=y0;for(const i of e)i<128&&t.push(e5(i));const a=t.length;let r=a;for(a&&t.push(k0);r=l&&uq2((b3-s)/c)&&Be("overflow"),s+=(i-l)*c,l=i;for(const u of e)if(ub3&&Be("overflow"),u===l){let d=s;for(let A=X2;;A+=X2){const m=A<=o?m6:A>=o+i4?i4:A-o;if(d{let n={};for(var l in e)H7(n,l,{get:e[l],enumerable:!0});return H7(n,Symbol.toStringTag,{value:"Module"}),n},Jc=M0({arrayReplaceAt:()=>zc,asciiTrim:()=>Ft,callable:()=>E0,escapeHtml:()=>Qe,escapeRE:()=>a9,fromCodePoint:()=>c4,isMdAsciiPunct:()=>f4,isPunctChar:()=>Z0,isPunctCharCode:()=>d4,isSpace:()=>J1,isValidEntityCode:()=>g6,isWhiteSpace:()=>u4,lib:()=>r9,normalizeReference:()=>Zt,unescapeAll:()=>D3,unescapeMd:()=>e9});function E0(e){const t=function(...n){return Reflect.construct(e,n,new.target&&new.target!==t?new.target:e)};return Object.defineProperty(t,"name",{value:e.name}),Object.setPrototypeOf(t,e),t.prototype=e.prototype,t}function zc(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function g6(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function c4(e){if(e>65535){e-=65536;const t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var D0=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,jc=new RegExp(`${D0.source}|${/&([a-z#][a-z0-9]{1,31});/gi.source}`,"gi"),Xc=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function qc(e,t){if(t.charCodeAt(0)===35&&Xc.test(t)){const l=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return g6(l)?c4(l):e}const n=v0(e);return n!==e?n:e}function e9(e){return e.indexOf("\\")<0?e:e.replace(D0,"$1")}function D3(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(jc,function(t,n,l){return n||qc(t,l)})}var t9=/[&<>"]/,n9=/[&<>"]/g,l9={"&":"&","<":"<",">":">",'"':"""};function s9(e){return l9[e]}function Qe(e){return t9.test(e)?e.replace(n9,s9):e}var o9=/[.?*+^$[\]\\(){}|-]/g;function a9(e){return e.replace(o9,"\\$&")}function J1(e){switch(e){case 9:case 32:return!0}return!1}function u4(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function Z0(e){return p6.test(e)||m0.test(e)}function d4(e){return Z0(c4(e))}function f4(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Zt(e){return e=e.trim().replace(/\s+/g," "),e.toLowerCase().toUpperCase()}function U7(e){return e===32||e===9||e===10||e===13}function Ft(e){let t=0;for(;t=t&&U7(e.charCodeAt(n));n--);return e.slice(t,n+1)}var r9={mdurl:gc,ucmicro:yc};function i9(e,t,n){let l,s,o,a;const r=e.posMax,i=e.pos;for(e.pos=t+1,l=1;e.pos32))return o;if(l===41){if(a===0)break;a--}s++}return t===s||a!==0||(o.str=D3(e.slice(t,s)),o.pos=s,o.ok=!0),o}function u9(e,t,n,l){let s,o=t;const a={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(l)a.str=l.str,a.marker=l.marker;else{if(o>=n)return a;let r=e.charCodeAt(o);if(r!==34&&r!==39&&r!==40)return a;t++,o++,r===40&&(r=41),a.marker=r}for(;oc9,parseLinkLabel:()=>i9,parseLinkTitle:()=>u9});function h4(e){"@babel/helpers - typeof";return h4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h4(e)}function f9(e,t){if(h4(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var l=n.call(e,t);if(h4(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function h9(e){var t=f9(e,"string");return h4(t)=="symbol"?t:t+""}function g1(e,t,n){return(t=h9(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var a3=class{constructor(e,t,n){g1(this,"map",null),g1(this,"level",0),g1(this,"children",null),g1(this,"content",""),g1(this,"markup",""),g1(this,"info",""),g1(this,"block",!1),g1(this,"hidden",!1),this.type=e,this.tag=t,this.attrs=null,this.nesting=n,this.meta=null}attrIndex(e){if(!this.attrs)return-1;const t=this.attrs;for(let n=0,l=t.length;n=0&&(n=this.attrs[t][1]),n}attrJoin(e,t){const n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=`${this.attrs[n][1]} ${t}`}},A4=class{constructor(){g1(this,"__rules__",[]),g1(this,"__cache__",null)}__find__(e){for(let t=0;t{t.enabled&&t.alt.forEach(n=>{n&&e.add(n)})}),this.__cache__=Object.create(null),this.__cache__[""]=[],this.__rules__.forEach(t=>{t.enabled&&this.__cache__[""].push(t.fn)}),e.forEach(t=>{this.__cache__[t]=[],this.__rules__.forEach(n=>{n.enabled&&n.alt.indexOf(t)>=0&&this.__cache__[t].push(n.fn)})})}at(e,t,n={}){const l=this.__find__(e);if(l===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__[l].fn=t,this.__rules__[l].alt=n.alt||[],this.__cache__=null}before(e,t,n,l={}){const s=this.__find__(e);if(s===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(s,0,{name:t,enabled:!0,fn:n,alt:l.alt||[]}),this.__cache__=null}after(e,t,n,l={}){const s=this.__find__(e);if(s===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(s+1,0,{name:t,enabled:!0,fn:n,alt:l.alt||[]}),this.__cache__=null}push(e,t,n={}){this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null}enable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(l=>{const s=this.__find__(l);if(s<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${l}`)}this.__rules__[s].enabled=!0,n.push(l)}),this.__cache__=null,n}enableOnly(e,t=!1){Array.isArray(e)||(e=[e]),this.__rules__.forEach(n=>{n.enabled=!1}),this.enable(e,t)}disable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(l=>{const s=this.__find__(l);if(s<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${l}`)}this.__rules__[s].enabled=!1,n.push(l)}),this.__cache__=null,n}getRules(e){return this.__cache__||this.__compile__(),this.__cache__[e]||[]}},oe={};oe.code_inline=function(e,t,n,l,s){const o=e[t];return`${Qe(o.content)}`};oe.code_block=function(e,t,n,l,s){const o=e[t];return`${Qe(e[t].content)} +`};oe.fence=function(e,t,n,l,s){const o=e[t],a=o.info?D3(o.info).trim():"";let r="",i="";if(a){const u=a.split(/(\s+)/g);r=u[0],i=u.slice(2).join("")}let c;if(n.highlight?c=n.highlight(o.content,r,i)||Qe(o.content):c=Qe(o.content),c.indexOf("${c} `}return`
${c}
`};oe.image=function(e,t,n,l,s){const o=e[t];return o.attrs[o.attrIndex("alt")][1]=s.renderInlineAsText(o.children,n,l),s.renderToken(e,t,n)};oe.hardbreak=function(e,t,n){return n.xhtmlOut?`
@@ -289,25 +289,25 @@ var U0=Object.defineProperty;var J0=(e,t,n)=>t in e?U0(e,t,{enumerable:!0,config `};oe.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`
`:`
`:` -`};oe.text=function(e,t){return Qe(e[t].content)};oe.html_block=function(e,t){return e[t].content};oe.html_inline=function(e,t){return e[t].content};var D0=class{constructor(){g1(this,"rules",Object.assign({},oe))}renderAttrs(e){let t,n,l;if(!e.attrs)return"";for(l="",t=0,n=e.attrs.length;t=0&&e[o].hidden&&e[o].nesting===0;)o--;l.block&&l.nesting!==-1&&o>=0&&e[o].hidden&&e[o].nesting===-1&&(s+=` +`};oe.text=function(e,t){return Qe(e[t].content)};oe.html_block=function(e,t){return e[t].content};oe.html_inline=function(e,t){return e[t].content};var F0=class{constructor(){g1(this,"rules",Object.assign({},oe))}renderAttrs(e){let t,n,l;if(!e.attrs)return"";for(l="",t=0,n=e.attrs.length;t=0&&e[o].hidden&&e[o].nesting===0;)o--;l.block&&l.nesting!==-1&&o>=0&&e[o].hidden&&e[o].nesting===-1&&(s+=` `),s+=(l.nesting===-1?" `:">",s}renderInline(e,t,n){let l="";const s=this.rules;for(let o=0,a=e.length;o\s]/i.test(e)}function g9(e){return/^<\/a\s*>/i.test(e)}function v9(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,l=t.length;n=0;r--){const i=s[r];if(i.type==="link_close"){for(r--;s[r].level!==i.level&&s[r].type!=="link_open";)r--;continue}if(i.type==="html_inline"&&(m9(i.content)&&a>0&&a--,g9(i.content)&&a++),!(a>0)&&i.type==="text"&&e.md.linkify.test(i.content)){const c=i.content;let u=e.md.linkify.match(c);const d=[];let A=i.level,m=0;u.length>0&&u[0].index===0&&r>0&&s[r-1].type==="text_special"&&(u=u.slice(1));for(let p=0;pm){const S=new e.Token("text","",0);S.content=c.slice(m,k),S.level=A,d.push(S)}const K=new e.Token("link_open","a",1);K.attrs=[["href",x]],K.level=A++,K.markup="linkify",K.info="auto",d.push(K);const I=new e.Token("text","",0);I.content=$,I.level=A,d.push(I);const w=new e.Token("link_close","a",-1);w.level=--A,w.markup="linkify",w.info="auto",d.push(w),m=u[p].lastIndex}if(m0){let r=s.length;for(const d of o)r+=d.nodes.length-1;const i=new Array(r);let c=0,u=0;o.reverse();for(let d=0;d=0;n--){const l=e[n];l.type==="text"&&!t&&(l.content=l.content.replace(b9,x9)),l.type==="link_open"&&l.info==="auto"&&t--,l.type==="link_close"&&l.info==="auto"&&t++}}function C9(e){let t=0;for(let n=e.length-1;n>=0;n--){const l=e[n];l.type==="text"&&!t&&F0.test(l.content)&&(l.content=l.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),l.type==="link_open"&&l.info==="auto"&&t--,l.type==="link_close"&&l.info==="auto"&&t++}}function _9(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(y9.test(e.tokens[t].content)&&w9(e.tokens[t].children),F0.test(e.tokens[t].content)&&C9(e.tokens[t].children))}var I9=/['"]/,P7=/['"]/g,H7="’";function Z4(e,t,n,l){e[t]||(e[t]=[]),e[t].push({pos:n,ch:l})}function M9(e,t){let n="",l=0;t.sort((s,o)=>s.pos-o.pos);for(let s=0;s=0&&!(l[n].level<=r);n--);if(l.length=n+1,a.type!=="text")continue;const i=a.content;let c=0;const u=i.length;e:for(;c=0)g=i.charCodeAt(d.index-1);else for(n=o-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){g=e[n].content.charCodeAt(e[n].content.length-1);break}let x=32;if(c=48&&g<=57&&(m=A=!1),A&&m&&(A=$,m=k),!A&&!m){p&&Z4(s,o,d.index,H7);continue}if(m)for(n=l.length-1;n>=0;n--){let w=l[n];if(l[n].level=0;t--)e.tokens[t].type!=="inline"||!I9.test(e.tokens[t].content)||E9(e.tokens[t].children,e)}function Z9(e){let t,n;const l=e.length;for(t=0;t0&&this.level++,this.tokens.push(l),l}isEmpty(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]}skipEmptyLines(e){for(let t=this.lineMax;et;)if(!J1(this.src.charCodeAt(--e)))return e+1;return e}skipChars(e,t){for(let n=this.src.length;en;)if(t!==this.src.charCodeAt(--e))return e+1;return e}getLines(e,t,n,l){if(e>=t)return"";const s=new Array(t-e);for(let o=0,a=e;an?s[o]=new Array(r-n+1).join(" ")+this.src.slice(c,u):s[o]=this.src.slice(c,u)}return s.join("")}},B9=65536;function t5(e,t){const n=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];return e.src.slice(n,l)}function Y7(e){const t=[],n=e.length;let l=0,s=e.charCodeAt(l),o=!1,a=0,r="";for(;ln)return!1;let s=t+1;if(e.sCount[s]=4)return!1;let o=e.bMarks[s]+e.tShift[s];if(o>=e.eMarks[s])return!1;const a=e.src.charCodeAt(o++);if(a!==124&&a!==45&&a!==58||o>=e.eMarks[s])return!1;const r=e.src.charCodeAt(o++);if(r!==124&&r!==45&&r!==58&&!J1(r)||a===45&&J1(r))return!1;for(;o=4)return!1;c=Y7(i),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop();const d=c.length;if(d===0||d!==u.length)return!1;if(l)return!0;const A=e.parentType;e.parentType="table";const m=e.md.block.ruler.getRules("blockquote"),p=e.push("table_open","table",1),g=[t,0];p.map=g;const x=e.push("thead_open","thead",1);x.map=[t,t+1];const $=e.push("tr_open","tr",1);$.map=[t,t+1];for(let I=0;I=4||(c=Y7(i),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop(),K+=d-c.length,K>B9))break;if(s===t+2){const S=e.push("tbody_open","tbody",1);S.map=k=[t+2,0]}const w=e.push("tr_open","tr",1);w.map=[s,s+1];for(let S=0;S=4){l++,s=l;continue}break}e.line=s;const o=e.push("code_block","code",0);return o.content=e.getLines(t,s,4+e.blkIndent,!1)+` -`,o.map=[t,e.line],!0}function $9(e,t,n,l){let s=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||s+3>o)return!1;const a=e.src.charCodeAt(s);if(a!==126&&a!==96)return!1;let r=s;s=e.skipChars(s,a);let i=s-r;if(i<3)return!1;const c=e.src.slice(r,s),u=e.src.slice(s,o);if(a===96&&u.indexOf(String.fromCharCode(a))>=0)return!1;if(l)return!0;let d=t,A=!1;for(;d++,!(d>=n||(s=r=e.bMarks[d]+e.tShift[d],o=e.eMarks[d],s=4)&&(s=e.skipChars(s,a),!(s-r=4||e.src.charCodeAt(s)!==62)return!1;if(l)return!0;const r=[],i=[],c=[],u=[],d=e.md.block.ruler.getRules("blockquote"),A=e.parentType;e.parentType="blockquote";let m=!1,p;for(p=t;p=o)break;if(e.src.charCodeAt(s++)===62&&!K){let w=e.sCount[p]+1,S,B;e.src.charCodeAt(s)===32?(s++,w++,B=!1,S=!0):e.src.charCodeAt(s)===9?(S=!0,(e.bsCount[p]+w)%4===3?(s++,w++,B=!1):B=!0):S=!1;let _=w;for(r.push(e.bMarks[p]),e.bMarks[p]=s;s=o,i.push(e.bsCount[p]),e.bsCount[p]=e.sCount[p]+1+(S?1:0),c.push(e.sCount[p]),e.sCount[p]=_-w,u.push(e.tShift[p]),e.tShift[p]=s-e.bMarks[p];continue}if(m)break;let I=!1;for(let w=0,S=d.length;w";const $=[t,0];x.map=$,e.md.block.tokenize(e,t,p);const k=e.push("blockquote_close","blockquote",-1);k.markup=">",e.lineMax=a,e.parentType=A,$[1]=e.line;for(let K=0;K=4)return!1;let o=e.bMarks[t]+e.tShift[t];const a=e.src.charCodeAt(o++);if(a!==42&&a!==45&&a!==95)return!1;let r=1;for(;o=l)return-1;let o=e.src.charCodeAt(s++);if(o<48||o>57)return-1;for(;;){if(s>=l)return-1;if(o=e.src.charCodeAt(s++),o>=48&&o<=57){if(s-n>=10)return-1;continue}if(o===41||o===46)break;return-1}return s=4||e.listIndent>=0&&e.sCount[i]-e.listIndent>=4&&e.sCount[i]=e.blkIndent&&(u=!0);let d,A,m;if((m=J7(e,i))>=0){if(d=!0,a=e.bMarks[i]+e.tShift[i],A=Number(e.src.slice(a,m-1)),u&&A!==1)return!1}else if((m=U7(e,i))>=0)d=!1;else return!1;if(u&&e.skipSpaces(m)>=e.eMarks[i])return!1;if(l)return!0;const p=e.src.charCodeAt(m-1),g=e.tokens.length;d?(r=e.push("ordered_list_open","ol",1),A!==1&&(r.attrs=[["start",A]])):r=e.push("bullet_list_open","ul",1);const x=[i,0];r.map=x,r.markup=String.fromCharCode(p);let $=!1;const k=e.md.block.ruler.getRules("list"),K=e.parentType;for(e.parentType="list";i=s?B=1:B=w-I,B>4&&(B=1);const _=I+B;r=e.push("list_item_open","li",1),r.markup=String.fromCharCode(p);const D=[i,0];r.map=D,d&&(r.info=e.src.slice(a,m-1));const C=e.tight,N=e.tShift[i],G=e.sCount[i],j=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=_,e.tight=!0,e.tShift[i]=S-e.bMarks[i],e.sCount[i]=w,S>=s&&e.isEmpty(i+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,i,n),(!e.tight||$)&&(c=!1),$=e.line-i>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=j,e.tShift[i]=N,e.sCount[i]=G,e.tight=C,r=e.push("list_item_close","li",-1),r.markup=String.fromCharCode(p),i=e.line,D[1]=i,i>=n||e.sCount[i]=4)break;let f1=!1;for(let u1=0,A1=k.length;u1=4||e.src.charCodeAt(s)!==91)return!1;function r(I){const w=e.lineMax;if(I>=w||e.isEmpty(I))return null;let S=!1;if(e.sCount[I]-e.blkIndent>3&&(S=!0),e.sCount[I]<0&&(S=!0),!S){const D=e.md.block.ruler.getRules("reference"),C=e.parentType;e.parentType="reference";let N=!1;for(let G=0,j=D.length;G"u"&&(e.env.references={}),typeof e.env.references[$]>"u"&&(e.env.references[$]={title:x,href:d});const k=e.push("reference_definition","",0);k.map=[t,a],k.hidden=!0;const K=Object.create(null);return K.label=$,k.meta=K,e.line=a,!0}var W9=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],R0=`<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`,$0="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",L9=new RegExp(`^(?:${R0}|${$0}||<[?][\\s\\S]*?[?]>|]*>|)`),V9=new RegExp(`^(?:${R0}|${$0})`),He=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp(`^|$))`,"i"),/^$/,!0],[new RegExp(`${V9.source}\\s*$`),/^$/,!1]];function T9(e,t,n,l){let s=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(s)!==60)return!1;let a=e.src.slice(s,o),r=0;for(;r=4)return!1;let a=e.src.charCodeAt(s);if(a!==35||s>=o)return!1;let r=1;for(a=e.src.charCodeAt(++s);a===35&&s6||ss&&J1(e.src.charCodeAt(i-1))&&(o=i),e.line=t+1;const c=e.push("heading_open",`h${r}`,1);c.markup="########".slice(0,r),c.map=[t,e.line];const u=e.push("inline","",0);u.content=Zt(e.src.slice(s,o)),u.map=[t,e.line],u.children=[];const d=e.push("heading_close",`h${r}`,-1);return d.markup="########".slice(0,r),!0}function H9(e,t,n){const l=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const s=e.parentType;e.parentType="paragraph";let o=0,a,r=t+1;for(;r3)continue;if(e.sCount[r]>=e.blkIndent){let m=e.bMarks[r]+e.tShift[r];const p=e.eMarks[r];if(m=p))){o=a===61?1:2;break}}if(e.sCount[r]<0)continue;let A=!1;for(let m=0,p=l.length;m3||e.sCount[o]<0)continue;let c=!1;for(let u=0,d=l.length;u=n||e.sCount[a]=o){e.line=n;break}const i=e.line;let c=!1;for(let u=0;u=e.line)throw new Error("block rule didn't increment state.line");break}if(!c)throw new Error("none of the block rules matched");e.tight=!r,e.isEmpty(e.line-1)&&(r=!0),a=e.line,a0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],s={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(l),this.tokens_meta.push(s),l}scanDelims(e,t){const n=this.posMax,l=this.src.charCodeAt(e);let s;if(e===0)s=32;else if(e===1)s=this.src.charCodeAt(0),(s&63488)===55296&&(s=65533);else if(s=this.src.charCodeAt(e-1),(s&64512)===56320){const p=this.src.charCodeAt(e-2);s=(p&64512)===55296?65536+(p-55296<<10)+(s-56320):65533}else(s&64512)===55296&&(s=65533);let o=e;for(;o=65&&e<=90||e>=97&&e<=122}function j9(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===45||e===46}function X9(e,t){if(!e.md.options.linkify||e.linkLevel>0)return!1;const n=e.pos,l=e.posMax;if(n+3>l||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const s=n-Math.min(10,e.pending.length,n);let o=n;for(;o>s&&j9(e.src.charCodeAt(o-1));)o--;if(o===n||!z9(e.src.charCodeAt(o)))return!1;const a=n-o,r=e.md.linkify.matchAtStart(e.src.slice(o));if(!r)return!1;let i=r.url;if(i.length<=a)return!1;let c=i.length;for(;c>0&&i.charCodeAt(c-1)===42;)c--;c!==i.length&&(i=i.slice(0,c));const u=e.md.normalizeLink(i);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-a);const d=e.push("link_open","a",1);d.attrs=[["href",u]],d.markup="linkify",d.info="auto";const A=e.push("text","",0);A.content=e.md.normalizeLinkText(i);const m=e.push("link_close","a",-1);m.markup="linkify",m.info="auto"}return e.pos+=i.length-a,!0}function q9(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const l=e.pending.length-1,s=e.posMax;if(!t)if(l>=0&&e.pending.charCodeAt(l)===32)if(l>=1&&e.pending.charCodeAt(l-1)===32){let o=l-1;for(;o>=1&&e.pending.charCodeAt(o-1)===32;)o--;e.pending=e.pending.slice(0,o),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){m6[e.charCodeAt(0)]=1});function eu(e,t){let n=e.pos;const l=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=l))return!1;let s=e.src.charCodeAt(n);if(s===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&s<=56319&&n+1=56320&&r<=57343&&(o+=e.src[n+1],n++)}const a="\\"+o;if(!t){const r=e.push("text_special","",0);s<256&&m6[s]!==0?r.content=o:r.content=a,r.markup=a,r.info="escape"}return e.pos=n+1,!0}function tu(e){const t={};let n=0;for(;(n=e.indexOf("`",n))!==-1;){const l=n;for(;e.charCodeAt(++n)===96;);t[n-l]=l}return t}function nu(e,t){var n;const l=e.pos;if(e.src.charCodeAt(l)!==96)return!1;const s=e.posMax;let o=l+1;for(;o=o){let i=o,c;for(;(c=e.src.indexOf("`",i))!==-1&&cs)break;if(i-c===r){if(!t){const u=e.push("code_inline","code",0);u.markup=a;let d=e.src.slice(o,c).replace(/\n/g," ");d.startsWith(" ")&&d.endsWith(" ")&&/[^ ]/.test(d)&&(d=d.slice(1,-1)),u.content=d}return e.pos=i,!0}}}return t||(e.pending+=a),e.pos=o,!0}function lu(e,t){const n=e.pos,l=e.src.charCodeAt(n);if(t||l!==126)return!1;const s=e.scanDelims(e.pos,!0);let o=s.length;const a=String.fromCharCode(l);if(o<2)return!1;let r;o%2&&(r=e.push("text","",0),r.content=a,o--);for(let i=0;i=0;l--){const s=t[l];if(s.marker!==95&&s.marker!==42||s.end===-1)continue;const o=t[s.end],a=l>0&&t[l-1].end===s.end+1&&t[l-1].marker===s.marker&&t[l-1].token===s.token-1&&t[s.end+1].token===o.token+1,r=String.fromCharCode(s.marker),i=e.tokens[s.token];i.type=a?"strong_open":"em_open",i.tag=a?"strong":"em",i.nesting=1,i.markup=a?r+r:r,i.content="";const c=e.tokens[o.token];c.type=a?"strong_close":"em_close",c.tag=a?"strong":"em",c.nesting=-1,c.markup=a?r+r:r,c.content="",a&&(e.tokens[t[l-1].token].content="",e.tokens[t[s.end+1].token].content="",l--)}}function au(e){const t=e.tokens_meta,n=e.tokens_meta.length;j7(e,e.delimiters);for(let s=0;s=d)return!1;if(i=p,s=e.md.helpers.parseLinkDestination(e.src,p,e.posMax),s.ok){for(a=e.md.normalizeLink(s.str),e.md.validateLink(a)?p=s.pos:a="",i=p;p=d||e.src.charCodeAt(p)!==41)&&(c=!0),p++}if(c){if(typeof e.env.references>"u")return!1;if(p=0?l=e.src.slice(i,p++):p=m+1):p=m+1,l||(l=e.src.slice(A,m)),l=Dt(l),o=e.env.references[l],!o)return e.pos=u,!1;a=o.href,r=o.title}if(!t){e.pos=A,e.posMax=m;const g=e.push("link_open","a",1),x=[["href",a]];if(g.attrs=x,r&&x.push(["title",r]),l){const $=Object.create(null);$.label=l,g.meta=$}e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=p,e.posMax=d,!0}function iu(e,t){let n,l,s,o,a,r,i,c,u="";const d=e.pos,A=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const m=e.pos+2,p=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(p<0)return!1;if(o=p+1,o=A)return!1;for(c=o,r=e.md.helpers.parseLinkDestination(e.src,o,e.posMax),r.ok&&(u=e.md.normalizeLink(r.str),e.md.validateLink(u)?o=r.pos:u=""),c=o;o=A||e.src.charCodeAt(o)!==41)return e.pos=d,!1;o++}else{if(typeof e.env.references>"u")return!1;if(o=0?s=e.src.slice(c,o++):o=p+1):o=p+1,s||(s=e.src.slice(m,p)),s=Dt(s),a=e.env.references[s],!a)return e.pos=d,!1;u=a.href,i=a.title}if(!t){l=e.src.slice(m,p);const g=[];e.md.inline.parse(l,e.md,e.env,g);const x=e.push("image","img",0),$=[["src",u],["alt",""]];if(x.attrs=$,x.children=g,x.content=l,i&&$.push(["title",i]),s){const k=Object.create(null);k.label=s,x.meta=k}}return e.pos=o,e.posMax=A,!0}var cu=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,uu=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function du(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const l=e.pos,s=e.posMax;for(;;){if(++n>=s)return!1;const a=e.src.charCodeAt(n);if(a===60)return!1;if(a===62)break}const o=e.src.slice(l+1,n);if(uu.test(o)){const a=e.md.normalizeLink(o);if(!e.md.validateLink(a))return!1;if(!t){const r=e.push("link_open","a",1);r.attrs=[["href",a]],r.markup="autolink",r.info="auto";const i=e.push("text","",0);i.content=e.md.normalizeLinkText(o);const c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=o.length+2,!0}if(cu.test(o)){const a=e.md.normalizeLink(`mailto:${o}`);if(!e.md.validateLink(a))return!1;if(!t){const r=e.push("link_open","a",1);r.attrs=[["href",a]],r.markup="autolink",r.info="auto";const i=e.push("text","",0);i.content=e.md.normalizeLinkText(o);const c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=o.length+2,!0}return!1}function fu(e){return/^\s]/i.test(e)}function hu(e){return/^<\/a\s*>/i.test(e)}function Au(e){const t=e|32;return t>=97&&t<=122}function pu(e,t){if(!e.md.options.html)return!1;const n=e.posMax,l=e.pos;if(e.src.charCodeAt(l)!==60||l+2>=n)return!1;const s=e.src.charCodeAt(l+1);if(s!==33&&s!==63&&s!==47&&!Au(s))return!1;const o=e.src.slice(l).match(L9);if(!o)return!1;if(!t){const a=e.push("html_inline","",0);a.content=o[0],fu(a.content)&&e.linkLevel++,hu(a.content)&&e.linkLevel--}return e.pos+=o[0].length,!0}var mu=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,gu=/^&([a-z][a-z0-9]{1,31});/i;function vu(e,t){const n=e.pos,l=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=l)return!1;if(e.src.charCodeAt(n+1)===35){const s=e.src.slice(n).match(mu);if(s){if(!t){const o=s[1][0].toLowerCase()==="x"?parseInt(s[1].slice(1),16):parseInt(s[1],10),a=e.push("text_special","",0);a.content=p6(o)?i4(o):i4(65533),a.markup=s[0],a.info="entity"}return e.pos+=s[0].length,!0}}else{const s=e.src.slice(n).match(gu);if(s){const o=m0(s[0]);if(o!==s[0]){if(!t){const a=e.push("text_special","",0);a.content=o,a.markup=s[0],a.info="entity"}return e.pos+=s[0].length,!0}}}return!1}function X7(e){const t={},n=e.length;if(!n)return;let l=0,s=-2;const o=[];for(let a=0;ai;c-=o[c]+1){const d=e[c];if(d.marker===r.marker&&d.open&&d.end<0){let A=!1;if((d.close||r.open)&&(d.length+r.length)%3===0&&(d.length%3!==0||r.length%3!==0)&&(A=!0),!A){const m=c>0&&!e[c-1].open?o[c-1]+1:0;o[a]=a-c+m,o[c]=m,r.open=!1,d.end=a,d.close=!1,u=-1,s=-2;break}}}u!==-1&&(t[r.marker][(r.open?3:0)+(r.length||0)%3]=u)}}function yu(e){const t=e.tokens_meta,n=e.tokens_meta.length;X7(e.delimiters);for(let s=0;s0&&l++,s[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;a||e.pos++,o[t]=e.pos}tokenize(e){const t=this.ruler.getRules(""),n=t.length,l=e.posMax,s=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(a){if(e.pos>=l)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()}parse(e,t,n,l){const s=new this.State(e,t,n,l);this.tokenize(s);const o=this.ruler2.getRules(""),a=o.length;for(let r=0;r=0))try{t.hostname=L7.toASCII(t.hostname)}catch{}return t.auth&&(t.auth=me(t.auth)),t.hostname&&(t.hostname=me(t.hostname)),t.pathname&&(t.pathname=me(t.pathname)),t.search&&(t.search=me(t.search)),t.hash&&(t.hash=me(t.hash)),$5(t)}normalizeLinkText(e){const t=N5(e,!0);if(t.hostname&&(!t.protocol||q7.indexOf(t.protocol)>=0))try{t.hostname=L7.toUnicode(t.hostname)}catch{}return I3($5(t),I3.defaultChars+"%")}constructor(...e){g1(this,"inline",new G0),g1(this,"block",new N0),g1(this,"core",new B0),g1(this,"renderer",new D0),g1(this,"linkify",new Sc),g1(this,"utils",Pc),g1(this,"helpers",Object.assign({},r9));const[t,n]=e;typeof t=="string"?(this.configure(t),n&&this.set(n)):(this.configure("default"),this.set(t||{}))}set(e){return Object.assign(this.options,e),this}configure(e){let t;if(typeof e=="string"){const s=e;if(t=ku[s],!t)throw new Error(`Wrong 'markdown-it' preset "${s}", check name`)}else t=e;if(!t)throw new Error("Wrong `markdown-it` preset, can't be empty");t.options&&(this.options={...t.options});const n=t.components;if(n){var l;["core","block","inline"].forEach(o=>{var a;const r=(a=n[o])===null||a===void 0?void 0:a.rules;r&&this[o].ruler.enableOnly(r)});const s=(l=n.inline)===null||l===void 0?void 0:l.rules2;s&&this.inline.ruler2.enableOnly(s)}return this}enable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(s=>{n=n.concat(this[s].ruler.enable(e,!0))}),n=n.concat(this.inline.ruler2.enable(e,!0));const l=e.filter(s=>n.indexOf(s)<0);if(l.length&&!t)throw new Error(`MarkdownIt. Failed to enable unknown rule(s): ${l}`);return this}disable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(s=>{n=n.concat(this[s].ruler.disable(e,!0))}),n=n.concat(this.inline.ruler2.disable(e,!0));const l=e.filter(s=>n.indexOf(s)<0);if(l.length&&!t)throw new Error(`MarkdownIt. Failed to disable unknown rule(s): ${l}`);return this}use(e,...t){return e.apply(e,[this,...t]),this}parse(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens}render(e,t={}){return this.renderer.render(this.parse(e,t),this.options,t)}parseInline(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens}renderInline(e,t={}){return this.renderer.render(this.parseInline(e,t),this.options,t)}};g1(ae,"Token",o3);g1(ae,"Ruler",h4);g1(ae,"Renderer",D0);g1(ae,"ParserCore",B0);g1(ae,"StateCore",Z0);g1(ae,"ParserBlock",N0);g1(ae,"StateBlock",S0);g1(ae,"ParserInline",G0);g1(ae,"StateInline",K0);var Cu=I0(ae);const _u=["innerHTML"],B2=G1({__name:"Markdown",props:{source:{},class:{}},setup(e){const t=e,n=new Cu({html:!1,linkify:!0,breaks:!1}),l=z(()=>n.render(t.source??"")),s=["prose prose-sm max-w-none","prose-headings:text-foreground prose-headings:font-semibold","prose-p:text-muted-foreground prose-li:text-muted-foreground","prose-strong:text-foreground prose-em:text-foreground","prose-a:text-primary prose-a:no-underline hover:prose-a:underline","prose-code:text-foreground prose-code:before:content-none prose-code:after:content-none","prose-code:rounded prose-code:bg-muted/60 prose-code:px-1 prose-code:py-0.5","prose-pre:bg-muted/50 prose-pre:text-foreground prose-pre:border","prose-blockquote:border-border prose-blockquote:text-muted-foreground","prose-hr:border-border prose-th:text-foreground prose-td:text-muted-foreground"].join(" ");return(o,a)=>(h(),y("div",{class:o1(f(E1)(f(s),t.class)),innerHTML:l.value},null,10,_u))}}),Iu={key:0,class:"space-y-2 border-b bg-muted/30 p-3"},Mu={class:"px-3 py-2"},Eu={key:0,class:"overflow-x-auto border-t bg-destructive/10 px-3 py-2 font-mono text-xs"},Du={key:1,class:"overflow-x-auto border-t bg-success/10 px-3 py-2 font-mono text-xs"},Zu={key:1,class:"p-4 text-sm text-muted-foreground"},Fu={key:2,class:"overflow-x-auto"},Bu={class:"w-full border-collapse font-mono text-xs leading-relaxed"},Su={class:"w-12 select-none border-r px-2 text-right align-top text-muted-foreground"},Ru={class:"w-12 select-none border-r px-2 text-right align-top text-muted-foreground"},$u={class:"w-4 select-none pl-2 align-top text-muted-foreground"},Nu={class:"whitespace-pre-wrap break-all py-0.5 pr-3 align-top"},Ku={colspan:"4",class:"px-3 py-2"},Qu={class:"px-3 py-2"},Ou={key:0,class:"overflow-x-auto border-t bg-destructive/10 px-3 py-2 font-mono text-xs"},Gu={key:1,class:"overflow-x-auto border-t bg-success/10 px-3 py-2 font-mono text-xs"},Wu=G1({__name:"Diff",props:{patch:{default:""},notes:{default:()=>[]},class:{}},setup(e){const t=e,n={neutral:"bg-card",info:"border-primary/30 bg-primary/5",success:"border-success/40 bg-success/5",warning:"border-warning/40 bg-warning/5",danger:"border-destructive/40 bg-destructive/5"};function l(u){return u.severity==="blocking"?n.danger:n[u.tone??"neutral"]??n.neutral}const s=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/,o=z(()=>{const u=[];let d=0,A=0,m=!1;for(const p of(t.patch??"").split(` -`)){const g=s.exec(p);if(g){d=Number(g[1]),A=Number(g[2]),m=!0,u.push({kind:"hunk",text:p,before:null,after:null});continue}m&&(p.startsWith("+")?u.push({kind:"added",text:p.slice(1),before:null,after:A++}):p.startsWith("-")?u.push({kind:"removed",text:p.slice(1),before:d++,after:null}):p.startsWith("\\")?u.push({kind:"meta",text:p,before:null,after:null}):u.push({kind:"kept",text:p.slice(1),before:d++,after:A++}))}return u}),a={added:"bg-success/10",removed:"bg-destructive/10",hunk:"bg-muted/60 text-muted-foreground",meta:"text-muted-foreground",kept:""},r={added:"+",removed:"-",kept:" ",hunk:"",meta:""},i=z(()=>{const u=new Map;for(const d of t.notes??[])d.line&&u.set(d.line,[...u.get(d.line)??[],d]);return u}),c=z(()=>(t.notes??[]).filter(u=>!u.line));return(u,d)=>(h(),y("div",{class:o1(f(E1)("overflow-hidden rounded-md border",t.class))},[c.value.length?(h(),y("div",Iu,[(h(!0),y(e1,null,_1(c.value,(A,m)=>(h(),y("div",{key:m,class:o1(["rounded border text-sm",l(A)])},[v("div",Mu,[A.from?(h(),Q(J3,{key:0,tone:A.severity==="blocking"?"danger":A.tone??"neutral",title:String(A.from),label:String(A.from).toLowerCase(),class:"mr-2"},null,8,["tone","title","label"])):O("",!0),E(B2,{source:A.detail,class:"inline [&>p]:inline"},null,8,["source"])]),A.replacing?(h(),y("pre",Eu,F(A.replacing),1)):O("",!0),A.code?(h(),y("pre",Du,F(A.code),1)):O("",!0)],2))),128))])):O("",!0),o.value.length?(h(),y("div",Fu,[v("table",Bu,[v("tbody",null,[(h(!0),y(e1,null,_1(o.value,(A,m)=>(h(),y(e1,{key:m},[v("tr",{class:o1(a[A.kind])},[v("td",Su,F(A.before??""),1),v("td",Ru,F(A.after??""),1),v("td",$u,F(r[A.kind]),1),v("td",Nu,F(A.text),1)],2),(h(!0),y(e1,null,_1(i.value.get(A.after??-1)??[],(p,g)=>(h(),y("tr",{key:`${m}-${g}`},[v("td",Ku,[v("div",{class:o1(["rounded border font-sans text-sm",l(p)])},[v("div",Qu,[p.from?(h(),Q(J3,{key:0,tone:p.severity==="blocking"?"danger":p.tone??"neutral",title:String(p.from),label:String(p.from).toLowerCase(),class:"mr-2"},null,8,["tone","title","label"])):O("",!0),E(B2,{source:p.detail,class:"inline [&>p]:inline"},null,8,["source"])]),p.replacing?(h(),y("pre",Ou,F(p.replacing),1)):O("",!0),p.code?(h(),y("pre",Gu,F(p.code),1)):O("",!0)],2)])]))),128))],64))),128))])])])):(h(),y("div",Zu," Nothing to show for this one. It may be a file git stores whole rather than as lines. "))],2))}}),Lu={class:"flex items-center gap-2.5"},Vu=G1({__name:"Logo",props:{size:{default:"md"},showText:{type:Boolean,default:!0}},setup(e){const t={sm:"h-7 w-7 min-h-7 min-w-7",md:"h-8 w-8 min-h-8 min-w-8",lg:"h-10 w-10 min-h-10 min-w-10"},n={sm:"text-base",md:"text-lg",lg:"text-xl"};return(l,s)=>(h(),y("div",Lu,[v("div",{class:o1([t[e.size],"relative flex-shrink-0"])},[...s[0]||(s[0]=[$s('',1)])],2),e.showText?(h(),y("span",{key:0,class:o1([n[e.size],"font-semibold tracking-tight"])},[...s[1]||(s[1]=[v("span",{class:"text-brand"},"Source",-1),v("span",{class:"text-brand"},"Ant",-1),v("span",{class:"text-muted-foreground font-normal ml-1"},"Memory",-1)])],2)):O("",!0)]))}}),Tu={key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4"},g6=G1({__name:"Modal",props:{open:{type:Boolean},class:{},maxWidth:{default:"lg"}},emits:["close"],setup(e,{emit:t}){const n=e,l=t,s={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl"};function o(a){a.key==="Escape"&&l("close")}return o2(()=>window.addEventListener("keydown",o)),a3(()=>window.removeEventListener("keydown",o)),(a,r)=>(h(),Q(Yl,{to:"body"},[E(I8,{"enter-active-class":"transition duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition duration-150","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:M(()=>[e.open?(h(),y("div",Tu,[v("div",{class:"absolute inset-0 bg-background/80 backdrop-blur-sm",onClick:r[0]||(r[0]=i=>l("close"))}),E(Q1,{class:o1(f(E1)("relative w-full max-h-[85vh] overflow-auto p-6 animate-fade-up",s[e.maxWidth],n.class))},{default:M(()=>[v("button",{class:"absolute top-4 right-4 p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",onClick:r[1]||(r[1]=i=>l("close"))},[E(f(i3),{class:"h-4 w-4"})]),O1(a.$slots,"default")]),_:3},8,["class"])])):O("",!0)]),_:3})]))}}),Pu=["role"],Hu={class:"min-w-0 flex-1"},l2=G1({__name:"Notice",props:{tone:{default:"info"},icon:{type:Boolean,default:!0},class:{}},setup(e){const t=e,n={info:"border-border bg-muted/50 text-foreground",success:"border-success/40 bg-success/10 text-foreground",warning:"border-warning/40 bg-warning/10 text-foreground",danger:"border-destructive/40 bg-destructive/10 text-foreground"},l={info:Hr,success:i6,warning:et,danger:Z5},s={info:"text-muted-foreground",success:"text-success",warning:"text-warning",danger:"text-destructive"},o=z(()=>l[t.tone]);return(a,r)=>(h(),y("div",{class:o1(f(E1)("flex gap-3 rounded-md border px-4 py-3 text-sm",n[e.tone],t.class)),role:e.tone==="danger"?"alert":"status"},[e.icon?(h(),Q(h2(o.value),{key:0,class:o1(f(E1)("mt-0.5 h-4 w-4 shrink-0",s[e.tone]))},null,8,["class"])):O("",!0),v("div",Hu,[O1(a.$slots,"default")]),O1(a.$slots,"actions")],10,Pu))}}),Yu={class:"relative flex h-2 w-2 shrink-0"},Uu={key:0,class:"text-muted-foreground tabular-nums"},W0=G1({__name:"Status",props:{tone:{default:"neutral"},label:{},count:{default:null},busy:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={neutral:"bg-muted-foreground",info:"bg-primary",success:"bg-success",warning:"bg-warning",danger:"bg-destructive"},l={neutral:"text-muted-foreground",info:"text-foreground",success:"text-foreground",warning:"text-foreground",danger:"text-foreground"},s=z(()=>t.count===null||t.count===void 0?null:t.count);return(o,a)=>(h(),y("span",{class:o1(f(E1)("inline-flex items-center gap-2 text-sm font-medium",l[e.tone],t.class)),role:"status"},[v("span",Yu,[e.busy?(h(),y("span",{key:0,class:o1(f(E1)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-60",n[e.tone]))},null,2)):O("",!0),v("span",{class:o1(f(E1)("relative inline-flex h-2 w-2 rounded-full",n[e.tone]))},null,2)]),v("span",null,F(e.label),1),s.value!==null?(h(),y("span",Uu,F(s.value),1)):O("",!0)],2))}}),Ju={key:0,class:"mb-3 flex justify-center text-muted-foreground"},zu={key:1,class:"mx-auto mt-1 max-w-lg text-sm text-muted-foreground"},ju={key:2,class:"mt-4 flex flex-wrap items-center justify-center gap-2"},Re=G1({__name:"Empty",props:{title:{},compact:{type:Boolean,default:!1},class:{}},setup(e){const t=e;return(n,l)=>(h(),Q(Q1,{class:o1(f(E1)("px-6 text-center",t.compact?"py-8":"py-16",t.class))},{default:M(()=>[n.$slots.icon?(h(),y("div",Ju,[O1(n.$slots,"icon")])):O("",!0),v("h2",{class:o1(f(E1)("font-semibold",t.compact?"text-base":"text-lg"))},F(e.title),3),n.$slots.default?(h(),y("p",zu,[O1(n.$slots,"default")])):O("",!0),n.$slots.actions?(h(),y("div",ju,[O1(n.$slots,"actions")])):O("",!0)]),_:3},8,["class"]))}}),Xu={class:"relative flex items-center justify-center"},qu={class:"animate-fade-in space-y-1.5"},L0=G1({__name:"Loading",props:{label:{default:"Working"},source:{},note:{},size:{default:"md"},fill:{type:Boolean,default:!0},class:{}},setup(e){const t=e,n={sm:"h-10 w-10",md:"h-14 w-14",lg:"h-16 w-16"},l={sm:"h-14 w-14",md:"h-20 w-20",lg:"h-24 w-24"},s={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"},o={sm:"text-xs",md:"text-sm",lg:"text-base"},a={sm:"text-[11px]",md:"text-xs",lg:"text-sm"},r=z(()=>t.size==="sm"?"py-8":"py-16"),i=z(()=>t.source?`${t.label} from ${t.source}`:t.label);return(c,u)=>(h(),y("div",{class:o1(f(E1)("flex flex-col items-center justify-center gap-5 px-6 text-center",e.fill?"min-h-0 flex-1":r.value,t.class)),role:"status","aria-live":"polite"},[v("div",Xu,[v("span",{class:o1(f(E1)("absolute animate-pulse rounded-full bg-primary/25 blur-2xl",l[e.size])),"aria-hidden":"true"},null,2),v("span",{class:o1(f(E1)("rounded-full border-2 border-border/70",n[e.size])),"aria-hidden":"true"},null,2),v("span",{class:o1(f(E1)("absolute animate-spin rounded-full border-2 border-transparent border-t-primary border-r-primary/50",n[e.size])),"aria-hidden":"true"},null,2),v("span",{class:o1(f(E1)("absolute animate-pulse rounded-full bg-primary",s[e.size])),"aria-hidden":"true"},null,2)]),v("div",qu,[v("p",{class:o1(f(E1)("font-medium text-foreground",o[e.size]))},F(i.value),3),e.note||c.$slots.default?(h(),y("p",{key:0,class:o1(f(E1)("mx-auto max-w-md text-muted-foreground",a[e.size]))},[O1(c.$slots,"default",{},()=>[V(F(e.note),1)])],2)):O("",!0)])],2))}}),ed={key:0,class:"shrink-0"},td={class:"truncate"},nd=G1({__name:"Origin",props:{name:{},mono:{type:Boolean,default:!0},class:{}},setup(e){const t=e;return(n,l)=>(h(),y("span",{class:o1(f(E1)("inline-flex max-w-full items-center gap-1 rounded border border-border/60 bg-muted/40 px-1.5 py-0.5 text-[11px] text-muted-foreground",t.mono&&"font-mono",t.class))},[n.$slots.icon?(h(),y("span",ed,[O1(n.$slots,"icon")])):O("",!0),v("span",td,F(e.name),1)],2))}}),ld={class:"font-semibold"},sd={class:"mt-3"},Ye=G1({__name:"Section",props:{title:{},tone:{default:"neutral"},count:{default:null},collapsible:{type:Boolean,default:!1},closed:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n=P(!t.closed),l={neutral:"text-muted-foreground",info:"text-primary",success:"text-success",warning:"text-warning",danger:"text-destructive"},s={neutral:"bg-muted text-muted-foreground",info:"bg-primary/10 text-primary",success:"bg-success/10 text-success",warning:"bg-warning/10 text-warning",danger:"bg-destructive/10 text-destructive"},o=z(()=>t.collapsible?n.value:!0);return(a,r)=>(h(),y("section",{class:o1(f(E1)("py-4 first:pt-0 last:pb-0",t.class))},[(h(),Q(h2(e.collapsible?"button":"div"),{type:e.collapsible?"button":void 0,"aria-expanded":e.collapsible?String(n.value):void 0,class:o1(f(E1)("flex w-full items-center gap-2 text-left",e.collapsible&&"cursor-pointer")),onClick:r[0]||(r[0]=i=>e.collapsible&&(n.value=!n.value))},{default:M(()=>[a.$slots.icon?(h(),y("span",{key:0,class:o1(f(E1)("shrink-0",l[e.tone]))},[O1(a.$slots,"icon")],2)):O("",!0),v("h2",ld,F(e.title),1),e.count!==null?(h(),y("span",{key:1,class:o1(f(E1)("rounded-full px-2 py-0.5 text-xs font-medium tabular-nums",s[e.tone]))},F(e.count),3)):O("",!0),e.collapsible?(h(),Q(f(It),{key:2,class:o1(f(E1)("ml-auto h-4 w-4 shrink-0 text-muted-foreground transition-transform",n.value&&"rotate-180"))},null,8,["class"])):O("",!0)]),_:3},8,["type","aria-expanded","class"])),te(v("div",sd,[O1(a.$slots,"default")],512),[[n6,o.value]])],2))}});function O2(e){return e.replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,""").replace(//g,">")}function od(e){var t,n,l,s,o,a,r;const i=(t=e.meta)===null||t===void 0?void 0:t.title,c=(n=e.meta)===null||n===void 0?void 0:n.creator,u=(l=e.meta)===null||l===void 0?void 0:l.source,d=(o=(s=e.meta)===null||s===void 0?void 0:s.license)===null||o===void 0?void 0:o.url,A=ad(e);return!i&&!c&&!u&&!d&&!A?"":''+(i?`${O2(i)}`:"")+(c?`${O2(c)}`:"")+(u?`${O2((r=(a=e.meta)===null||a===void 0?void 0:a.source)!==null&&r!==void 0?r:"")}`:"")+(d?`${O2(d)}`:"")+(A?`${O2(A)}`:"")+""}function ad(e){var t,n,l,s,o,a,r,i,c,u,d,A,m,p,g;let x=!((t=e.meta)===null||t===void 0)&&t.title?`„${(n=e.meta)===null||n===void 0?void 0:n.title}”`:"Design",$=`„${(s=(l=e.meta)===null||l===void 0?void 0:l.creator)!==null&&s!==void 0?s:"Unknown"}”`;!((o=e.meta)===null||o===void 0)&&o.source&&(x+=` (${e.meta.source})`);let k="";return((r=(a=e.meta)===null||a===void 0?void 0:a.license)===null||r===void 0?void 0:r.name)!=="MIT"&&((i=e.meta)===null||i===void 0?void 0:i.creator)!=="DiceBear"&&(!((c=e.meta)===null||c===void 0)&&c.title)&&(k+="Remix of "),k+=`${x} by ${$}`,!((d=(u=e.meta)===null||u===void 0?void 0:u.license)===null||d===void 0)&&d.name&&(k+=`, licensed under „${(m=(A=e.meta)===null||A===void 0?void 0:A.license)===null||m===void 0?void 0:m.name}”`,!((g=(p=e.meta)===null||p===void 0?void 0:p.license)===null||g===void 0)&&g.url&&(k+=` (${e.meta.license.url})`)),k}const en=-2147483648,rd=2147483647,id=1024;function V0(e){return e^=e<<13,e^=e>>17,e^=e<<5,e}function cd(e){let t=0;for(let n=0;nt=V0(t),l=(s,o)=>Math.floor((n()-en)/(rd-en)*(o+1-s)+s);return{seed:e,next:n,bool(s=50){return l(1,100)<=s},integer(s,o){return l(s,o)},pick(s,o){var a;return s.length===0?(n(),o):(a=s[l(0,s.length-1)])!==null&&a!==void 0?a:o},shuffle(s){const o=lt(n().toString()),a=[...s];for(let r=a.length-1;r>0;r--){const i=o.integer(0,r);[a[r],a[i]]=[a[i],a[r]]}return a},string(s,o="abcdefghijklmnopqrstuvwxyz1234567890"){const a=lt(n().toString());let r="";for(let i=0;i`;switch(l){case"solid":return c+e.body;case"gradientLinear":return``+e.body}}function dd(e,t){let{width:n,height:l,x:s,y:o}=Z3(e),a=t?(t-100)/100:0,r=(n/2+s)*a*-1,i=(l/2+o)*a*-1;return`${e.body}`}function fd(e,t,n){let l=Z3(e),s=(l.width+l.x*2)*((t??0)/100),o=(l.height+l.y*2)*((n??0)/100);return`${e.body}`}function hd(e,t){let{width:n,height:l,x:s,y:o}=Z3(e);return`${e.body}`}function Ad(e){let{width:t,x:n}=Z3(e);return`${e.body}`}function pd(e,t){let{width:n,height:l,x:s,y:o}=Z3(e),a=t?n*t/100:0,r=t?l*t/100:0;return`${e.body}`}function md(e){const t={xmlns:"http://www.w3.org/2000/svg",...e.attributes};return Object.keys(t).map(n=>`${O2(n)}="${O2(t[n])}"`).join(" ")}function gd(e){const t=lt(Math.random().toString()),n={};return e.body.replace(/(id="|url\(#)([a-z0-9-_]+)([")])/gi,(l,s,o,a)=>(n[o]=n[o]||t.string(8),`${s}${n[o]}${a}`))}const vd={properties:{seed:{type:"string"},flip:{type:"boolean",default:!1},rotate:{type:"integer",minimum:0,maximum:360,default:0},scale:{type:"integer",minimum:0,maximum:200,default:100},radius:{type:"integer",minimum:0,maximum:50,default:0},size:{type:"integer",minimum:1},backgroundColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"}},backgroundType:{type:"array",items:{type:"string",enum:["solid","gradientLinear"]},default:["solid"]},backgroundRotation:{type:"array",items:{type:"integer",minimum:-360,maximum:360},default:[0,360]},translateX:{type:"integer",minimum:-100,maximum:100,default:0},translateY:{type:"integer",minimum:-100,maximum:100,default:0},clip:{type:"boolean",default:!0},randomizeIds:{type:"boolean",default:!1}}};function tn(e){var t;let n={},l=(t=e.properties)!==null&&t!==void 0?t:{};return Object.keys(l).forEach(s=>{let o=l[s];typeof o=="object"&&o.default!==void 0&&(Array.isArray(o.default)?n[s]=[...o.default]:typeof o.default=="object"?n[s]={...o.default}:n[s]=o.default)}),n}function yd(e,t){var n;let l={...tn(vd),...tn((n=e.schema)!==null&&n!==void 0?n:{}),...t};return JSON.parse(JSON.stringify(l))}function nn(e){return e==="transparent"?e:`#${e}`}function bd(e,t,n){var l;let s=e.shuffle(t);s.length<=1||t.length==2&&n=="gradientLinear"?(s=t,e.next()):s=e.shuffle(t),s.length===0&&(s=["transparent"]);const o=s[0],a=(l=s[1])!==null&&l!==void 0?l:s[0];return{primary:nn(o),secondary:nn(a)}}function kd(e,t={}){var n,l,s,o,a;t=yd(e,t);const r=lt(t.seed),i=e.create({prng:r,options:t}),c=r.pick((n=t.backgroundType)!==null&&n!==void 0?n:[],"solid"),{primary:u,secondary:d}=bd(r,(l=t.backgroundColor)!==null&&l!==void 0?l:[],c),A=r.integer(!((s=t.backgroundRotation)===null||s===void 0)&&s.length?Math.min(...t.backgroundRotation):0,!((o=t.backgroundRotation)===null||o===void 0)&&o.length?Math.max(...t.backgroundRotation):0);t.size&&(i.attributes.width=t.size.toString(),i.attributes.height=t.size.toString()),t.scale!==void 0&&t.scale!==100&&(i.body=dd(i,t.scale)),t.flip&&(i.body=Ad(i)),t.rotate&&(i.body=hd(i,t.rotate)),(t.translateX||t.translateY)&&(i.body=fd(i,t.translateX,t.translateY)),u!=="transparent"&&d!=="transparent"&&(i.body=ud(i,u,d,c,A)),(t.radius||t.clip)&&(i.body=pd(i,(a=t.radius)!==null&&a!==void 0?a:0)),t.randomizeIds&&(i.body=gd(i));const m=md(i),p=od(e),g=`${p}${i.body}`;return{toString:()=>g,toJson:()=>{var x;return{svg:g,extra:{primaryBackgroundColor:u,secondaryBackgroundColor:d,backgroundType:c,backgroundRotation:A,...(x=i.extra)===null||x===void 0?void 0:x.call(i)}}},toDataUri:()=>`data:image/svg+xml;utf8,${encodeURIComponent(g)}`}}const xd={variant01:(e,t)=>''},wd={variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant09:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant08:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant07:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant06:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant05:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant04:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant03:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant02:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant01:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`}},Cd={variant63:(e,t)=>'',variant62:(e,t)=>'',variant61:(e,t)=>'',variant60:(e,t)=>'',variant59:(e,t)=>'',variant58:(e,t)=>'',variant57:(e,t)=>'',variant56:(e,t)=>'',variant55:(e,t)=>'',variant54:(e,t)=>'',variant53:(e,t)=>'',variant52:(e,t)=>'',variant51:(e,t)=>'',variant50:(e,t)=>'',variant49:(e,t)=>'',variant48:(e,t)=>'',variant47:(e,t)=>'',variant46:(e,t)=>'',variant45:(e,t)=>'',variant44:(e,t)=>'',variant43:(e,t)=>'',variant42:(e,t)=>'',variant41:(e,t)=>'',variant40:(e,t)=>'',variant39:(e,t)=>'',variant38:(e,t)=>'',variant37:(e,t)=>'',variant36:(e,t)=>'',variant35:(e,t)=>'',variant34:(e,t)=>'',variant33:(e,t)=>'',variant32:(e,t)=>'',variant31:(e,t)=>'',variant30:(e,t)=>'',variant29:(e,t)=>'',variant28:(e,t)=>'',variant27:(e,t)=>'',variant26:(e,t)=>'',variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>'',hat:(e,t)=>''},_d={variant30:(e,t)=>'',variant29:(e,t)=>'',variant28:(e,t)=>'',variant27:(e,t)=>'',variant26:(e,t)=>'',variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Id={variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Md={variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Ed={variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Dd={variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Zd={variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Fd={wavePointLongArms:(e,t)=>'',waveOkLongArms:(e,t)=>'',waveLongArms:(e,t)=>'',waveLongArm:(e,t)=>'',pointLongArm:(e,t)=>'',okLongArm:(e,t)=>'',point:(e,t)=>'',ok:(e,t)=>'',hand:(e,t)=>'',handPhone:(e,t)=>''},Bd={electric:(e,t)=>'',saturn:(e,t)=>'',galaxy:(e,t)=>''},Sd=Object.freeze(Object.defineProperty({__proto__:null,base:xd,beard:Id,body:wd,bodyIcon:Bd,brows:Zd,eyes:Ed,gesture:Fd,glasses:Dd,hair:Cd,lips:_d,nose:Md},Symbol.toStringTag,{value:"Module"}));function N2({prng:e,group:t,values:n=[]}){const l=Sd,s=e.pick(n);if(s&&l[t][s])return{name:s,value:l[t][s]}}function Rd({prng:e,options:t}){const n=N2({prng:e,group:"base",values:t.base}),l=N2({prng:e,group:"body",values:t.body}),s=N2({prng:e,group:"hair",values:t.hair}),o=N2({prng:e,group:"lips",values:t.lips}),a=N2({prng:e,group:"beard",values:t.beard}),r=N2({prng:e,group:"nose",values:t.nose}),i=N2({prng:e,group:"eyes",values:t.eyes}),c=N2({prng:e,group:"glasses",values:t.glasses}),u=N2({prng:e,group:"brows",values:t.brows}),d=N2({prng:e,group:"gesture",values:t.gesture}),A=N2({prng:e,group:"bodyIcon",values:t.bodyIcon});return{base:n,body:l,hair:s,lips:o,beard:e.bool(t.beardProbability)?a:void 0,nose:r,eyes:i,glasses:e.bool(t.glassesProbability)?c:void 0,brows:u,gesture:e.bool(t.gestureProbability)?d:void 0,bodyIcon:e.bool(t.bodyIconProbability)?A:void 0}}function $d({prng:e,options:t}){return{}}const Nd={$schema:"http://json-schema.org/draft-07/schema#",properties:{base:{type:"array",items:{type:"string",enum:["variant01"]},default:["variant01"]},beard:{type:"array",items:{type:"string",enum:["variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},beardProbability:{type:"integer",minimum:0,maximum:100,default:10},body:{type:"array",items:{type:"string",enum:["variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},bodyIcon:{type:"array",items:{type:"string",enum:["electric","saturn","galaxy"]},default:["electric","saturn","galaxy"]},bodyIconProbability:{type:"integer",minimum:0,maximum:100,default:75},brows:{type:"array",items:{type:"string",enum:["variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},eyes:{type:"array",items:{type:"string",enum:["variant05","variant04","variant03","variant02","variant01"]},default:["variant05","variant04","variant03","variant02","variant01"]},gesture:{type:"array",items:{type:"string",enum:["wavePointLongArms","waveOkLongArms","waveLongArms","waveLongArm","pointLongArm","okLongArm","point","ok","hand","handPhone"]},default:["wavePointLongArms","waveOkLongArms","waveLongArms","waveLongArm","pointLongArm","okLongArm","point","ok","hand","handPhone"]},gestureProbability:{type:"integer",minimum:0,maximum:100,default:10},glasses:{type:"array",items:{type:"string",enum:["variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},glassesProbability:{type:"integer",minimum:0,maximum:100,default:20},hair:{type:"array",items:{type:"string",enum:["variant63","variant62","variant61","variant60","variant59","variant58","variant57","variant56","variant55","variant54","variant53","variant52","variant51","variant50","variant49","variant48","variant47","variant46","variant45","variant44","variant43","variant42","variant41","variant40","variant39","variant38","variant37","variant36","variant35","variant34","variant33","variant32","variant31","variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01","hat"]},default:["variant63","variant62","variant61","variant60","variant59","variant58","variant57","variant56","variant55","variant54","variant53","variant52","variant51","variant50","variant49","variant48","variant47","variant46","variant45","variant44","variant43","variant42","variant41","variant40","variant39","variant38","variant37","variant36","variant35","variant34","variant33","variant32","variant31","variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01","hat"]},lips:{type:"array",items:{type:"string",enum:["variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},nose:{type:"array",items:{type:"string",enum:["variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]}}},Kd={title:"Notionists",creator:"Zoish",source:"https://heyzoish.gumroad.com/l/notionists",homepage:"https://bio.link/heyzoish",license:{name:"CC0 1.0",url:"https://creativecommons.org/publicdomain/zero/1.0/"}},Qd=({prng:e,options:t})=>{var n,l,s,o,a,r,i,c,u,d,A,m,p,g,x,$,k,K,I,w;const S=Rd({prng:e,options:t}),B=$d({prng:e,options:t});return{attributes:{viewBox:"0 0 1744 1744",fill:"none","shape-rendering":"auto"},body:`${(l=(n=S.base)===null||n===void 0?void 0:n.value(S,B))!==null&&l!==void 0?l:""}${(o=(s=S.body)===null||s===void 0?void 0:s.value(S,B))!==null&&o!==void 0?o:""}${(r=(a=S.hair)===null||a===void 0?void 0:a.value(S,B))!==null&&r!==void 0?r:""}${(c=(i=S.lips)===null||i===void 0?void 0:i.value(S,B))!==null&&c!==void 0?c:""}${(d=(u=S.beard)===null||u===void 0?void 0:u.value(S,B))!==null&&d!==void 0?d:""}${(m=(A=S.nose)===null||A===void 0?void 0:A.value(S,B))!==null&&m!==void 0?m:""}${(g=(p=S.eyes)===null||p===void 0?void 0:p.value(S,B))!==null&&g!==void 0?g:""}${($=(x=S.glasses)===null||x===void 0?void 0:x.value(S,B))!==null&&$!==void 0?$:""}${(K=(k=S.brows)===null||k===void 0?void 0:k.value(S,B))!==null&&K!==void 0?K:""}${(w=(I=S.gesture)===null||I===void 0?void 0:I.value(S,B))!==null&&w!==void 0?w:""}`,extra:()=>({...Object.entries(S).reduce((_,[D,C])=>(_[D]=C==null?void 0:C.name,_),{}),...Object.entries(B).reduce((_,[D,C])=>(_[`${D}Color`]=C,_),{})})}},Od=Object.freeze(Object.defineProperty({__proto__:null,create:Qd,meta:Kd,schema:Nd},Symbol.toStringTag,{value:"Module"})),Q5=P(!0);function ln(e){Q5.value=e,document.documentElement.classList.toggle("dark",e),document.documentElement.classList.toggle("light",!e);try{localStorage.setItem("sourceant-theme",e?"dark":"light")}catch{}}function T0(){return{isDark:Q5,toggleTheme:()=>ln(!Q5.value),restoreTheme:()=>{let e=null;try{e=localStorage.getItem("sourceant-theme")}catch{e=null}ln(e!=="light")}}}async function Y1(e,t={}){const n=await fetch(e,{...t,headers:t.body?{"Content-Type":"application/json"}:void 0}),l=await n.text(),s=l?JSON.parse(l):null;if(!n.ok)throw new Error((s==null?void 0:s.error)||`the agent answered ${n.status}`);return s}const F2=e=>new URLSearchParams(Object.entries(e).filter(([,t])=>t!==""&&t!==!1)),w1={status:()=>Y1("/health"),repositories:()=>Y1("/api/repositories"),addRepository:(e,t)=>Y1("/api/repositories",{method:"POST",body:JSON.stringify({path:e,name:t})}),dropRepository:e=>Y1(`/api/repositories?${F2({path:e})}`,{method:"DELETE"}),index:(e="",{everything:t=!1,update:n=!1}={})=>Y1("/api/index",{method:"POST",body:JSON.stringify({repository:e,everything:t,update:n})}),attention:e=>Y1(`/api/attention?${F2({repository:e})}`),graph:(e,{includeTests:t=!1,pathPrefix:n="",q:l="",nodeLimit:s=0}={})=>Y1(`/api/graph?${F2({repository:e,include_tests:t,path_prefix:n,q:l,node_limit:s||""})}`),nodes:(e,{labels:t=[],limit:n=1}={})=>Y1(`/api/nodes?${F2({repository:e,limit:n})}${t.map(l=>`&labels=${encodeURIComponent(l)}`).join("")}`),knowledge:e=>Y1(`/api/knowledge?${F2({repository:e,limit:100})}`),recordKnowledge:e=>Y1("/api/knowledge",{method:"PUT",body:JSON.stringify(e)}),forgetKnowledge:(e,t)=>Y1(`/api/knowledge?${F2({repository:e,id:t})}`,{method:"DELETE"}),browse:(e="",t="")=>Y1(`/api/browse?${F2({path:e,q:t})}`),initialize:(e,{dryRun:t=!1,useModel:n=!1}={})=>Y1("/api/knowledge/initialize",{method:"POST",body:JSON.stringify({repository:e,dry_run:t,use_model:n})}),skills:(e="")=>Y1(`/api/skills?${F2({repository:e})}`),uses:()=>Y1("/api/skills/uses"),skill:(e,t="")=>Y1(`/api/skills/${e}?${F2({repository:t})}`),recordSkill:e=>Y1("/api/skills",{method:"PUT",body:JSON.stringify({scope:"repository",paths:[],applications:{},type:"",...e})}),forgetSkill:(e,t,n)=>Y1(`/api/skills?${F2({repository:e,scope:t,id:n})}`,{method:"DELETE"}),startReview:(e,{against:t="",title:n="",description:l="",skills:s=[],useModel:o=!0}={})=>Y1("/api/reviews",{method:"POST",body:JSON.stringify({repository:e,against:t,title:n,description:l,skills:s,use_model:o})}),reviewed:e=>Y1(`/api/reviews/${e}`),reviews:(e="")=>Y1(`/api/reviews?${F2({repository:e})}`),settings:()=>Y1("/api/settings"),models:()=>Y1("/api/models"),checkModel:(e="",t="",n="")=>Y1("/api/models/check",{method:"POST",body:JSON.stringify({model:e,api_key:t,base_url:n})}),setSetting:(e,t)=>Y1("/api/settings",{method:"PUT",body:JSON.stringify({key:e,value:t})}),resetSetting:e=>Y1(`/api/settings?${F2({key:e})}`,{method:"DELETE"})},Ue=P([]),u3=P(""),s5=P(""),o5=P(!1),Ft="";function H2({all:e=!1}={}){const t=z(()=>e&&!u3.value&&Ue.value.length>1),n=z(()=>{var s;return u3.value||((s=Ue.value[0])==null?void 0:s.name)||""});async function l(){var s;o5.value=!0;try{Ue.value=await w1.repositories(),s5.value=""}catch(o){Ue.value=[],s5.value=`${o.message}. Is sourceant-agent running?`}finally{o5.value=!1}u3.value!==Ft&&(Ue.value.some(o=>o.name===u3.value)||(u3.value=((s=Ue.value[0])==null?void 0:s.name)??""))}return{repositories:Ue,chosen:u3,one:n,error:s5,loading:o5,mixed:t,fetchRepositories:l}}const B4=5,sn=2,Gd={__name:"Finder",props:{pages:{type:Array,required:!0}},setup(e){const t=e,n=Ce(),{repositories:l,chosen:s,fetchRepositories:o}=H2(),a=P(!1),r=P(""),i=P(!1),c=P([]),u=P([]),d=P([]);let A="",m=null;const p=z(()=>r.value.trim().toLowerCase()),g=I=>String(I??"").toLowerCase().includes(p.value),x=z(()=>p.value.lengthg(w.name)||g(w.description)).slice(0,B4).map(w=>({id:w.id,label:w.name,detail:w.description}))},{id:"knowledge",label:"Knowledge",items:u.value.filter(w=>g(w.id)||g(w.summary)).slice(0,B4).map(w=>({id:w.id,label:w.id,detail:w.summary}))},{id:"code",label:"Code",items:d.value.slice(0,B4).map(w=>({id:w.id,label:w.name||w.id,detail:w.path}))},{id:"repositories",label:"Repositories",items:l.value.filter(w=>g(w.name)||g(w.path)).slice(0,B4).map(w=>({id:w.name,label:w.name,detail:w.path}))},{id:"pages",label:"Go to",items:t.pages.filter(w=>g(w.name)).map(w=>({id:w.href,label:w.name}))}].filter(w=>w.items.length));async function $(){if(A===s.value)return;A=s.value;const[I,w]=await Promise.all([w1.skills(s.value).catch(()=>({skills:[]})),s.value?w1.knowledge(s.value).catch(()=>({items:[]})):{items:[]}]);c.value=I.skills??[],u.value=w.items??[]}async function k(){if(clearTimeout(m),p.value.length{i.value=!0;try{const I=await w1.graph(s.value,{q:r.value.trim(),nodeLimit:5e3});d.value=I.nodes??[]}catch{d.value=[]}i.value=!1},250)}P1(a,async I=>{I&&(l.value.length||await o(),await $())}),P1(r,k);function K(I,w){const S=r.value.trim();r.value="",w==="pages"?n.push(I.id):w==="repositories"?n.push(`/repositories/${I.id}`):w==="skills"?n.push(`/skills/${I.id}`):w==="knowledge"?n.push({path:"/knowledge",query:{find:S}}):w==="code"&&n.push({path:"/graph",query:{repository:s.value,q:S}})}return(I,w)=>(h(),Q(f(di),{modelValue:r.value,"onUpdate:modelValue":w[0]||(w[0]=S=>r.value=S),open:a.value,"onUpdate:open":w[1]||(w[1]=S=>a.value=S),groups:x.value,loading:i.value,context:f(s)?`This machine · ${f(s)}`:"This machine",placeholder:"Find a skill, a decision, a file…",label:"Find anything on this machine","empty-label":r.value.trim().length<2?"Type at least two letters.":"Nothing here matches that.",onSelect:K},null,8,["modelValue","open","groups","loading","context","empty-label"]))}},Wd=["value"],Ld={key:2,class:"flex items-center gap-2 text-sm"},Vd=["id"],Td={class:"text-muted-foreground"},on={__name:"SettingField",props:D6({setting:{type:Object,required:!0},options:{type:Array,default:()=>[]}},{modelValue:{required:!0},modelModifiers:{}}),emits:D6(["reset"],["update:modelValue"]),setup(e){const t=ps(e,"modelValue");function n(l){return l.secret?l.is_set:String(l.value??"")!==String(l.default??"")}return(l,s)=>(h(),Q(f(Q2),{label:e.setting.label,for:e.setting.key,hint:e.setting.description},{label:M(()=>[e.setting.secret&&e.setting.is_set?(h(),Q(f(n2),{key:0,variant:"success"},{default:M(()=>[...s[6]||(s[6]=[V("set",-1)])]),_:1})):O("",!0),n(e.setting)?(h(),y("button",{key:1,type:"button",class:"inline-flex items-center gap-1 text-[11px] font-normal normal-case tracking-normal text-muted-foreground hover:text-foreground",onClick:s[0]||(s[0]=o=>l.$emit("reset",e.setting))},[E(f(Jr),{class:"h-3 w-3"}),s[7]||(s[7]=V(" put back ",-1))])):O("",!0)]),default:M(()=>{var o;return[e.options.length?(h(),Q(f(Li),{key:0,modelValue:t.value,"onUpdate:modelValue":s[1]||(s[1]=a=>t.value=a),options:e.options,"empty-label":"Nothing chosen",placeholder:"Choose one","search-placeholder":"Search"},null,8,["modelValue","options"])):(o=e.setting.choices)!=null&&o.length?(h(),Q(f(ne),{key:1,id:e.setting.key,modelValue:t.value,"onUpdate:modelValue":s[2]||(s[2]=a=>t.value=a),class:"w-full"},{default:M(()=>[(h(!0),y(e1,null,_1(e.setting.choices,a=>(h(),y("option",{key:a,value:a},F(a),9,Wd))),128))]),_:1},8,["id","modelValue"])):e.setting.type==="bool"?(h(),y("label",Ld,[te(v("input",{id:e.setting.key,"onUpdate:modelValue":s[3]||(s[3]=a=>t.value=a),type:"checkbox",class:"h-3.5 w-3.5 rounded border"},null,8,Vd),[[bt,t.value]]),v("span",Td,F(t.value?"On":"Off"),1)])):e.setting.listed||e.setting.type==="json"?(h(),Q(f(d0),{key:3,modelValue:t.value,"onUpdate:modelValue":s[4]||(s[4]=a=>t.value=a),mono:"",noun:e.setting.type==="json"?"a path":"a folder",placeholder:e.setting.type==="json"?"node_modules":"/home/you/work/knowledgebase/skills"},null,8,["modelValue","noun","placeholder"])):(h(),Q(f(P2),{key:4,id:e.setting.key,modelValue:t.value,"onUpdate:modelValue":s[5]||(s[5]=a=>t.value=a),type:e.setting.secret?"password":e.setting.type==="int"||e.setting.type==="float"?"number":"text",autocomplete:e.setting.secret?"off":void 0,placeholder:e.setting.secret&&e.setting.is_set?"Leave empty to keep what is set":String(e.setting.default??"")},null,8,["id","modelValue","type","autocomplete","placeholder"]))]}),_:1},8,["label","for","hint"]))}},Pd={class:"space-y-4"},Hd={key:0,class:"flex items-center gap-2 py-6 text-sm text-muted-foreground"},Yd={key:0,class:"space-y-4 border-t pt-4"},Ud={key:1,class:"py-6 text-sm text-muted-foreground"},Jd={key:3,class:"flex items-center gap-3"},zd={key:0,class:"text-xs text-success"},a5="model.name",P0={__name:"SettingsPanel",props:{group:{type:String,required:!0}},emits:["saved"],setup(e,{emit:t}){const n=e,l=t,s=P([]),o=P({}),a=P(!1),r=P(!0),i=P(""),c=P(!1),u=z(()=>s.value.filter(_=>_.group===n.group)),d=P([]),A=z(()=>u.value.filter(_=>!_.advanced)),m=z(()=>u.value.filter(_=>_.advanced)),p=P(!1);function g(_){return _.secret?"":_.listed?String(_.value??"").split(` -`).map(D=>D.trim()).filter(Boolean):_.value??""}const x=(_,D)=>_.listed?(D??[]).join(` -`):D,$=(_,D)=>String(x(_,D)??"")===String(_.value??""),k=z(()=>u.value.some(_=>{const D=o.value[_.key];return _.secret?!!D:!$(_,D)})),K=z(()=>{var C;const _=d.value.flatMap(N=>N.models.map(G=>({value:G,label:G,group:N.provider}))),D=String(((C=s.value.find(N=>N.key===a5))==null?void 0:C.value)??"");return D&&!_.some(N=>N.value===D)?[{value:D,label:D,group:"In force"},..._]:_}),I=_=>_.key===a5?K.value:[];async function w(){r.value=!0;try{s.value=await w1.settings(),o.value=Object.fromEntries(u.value.map(_=>[_.key,g(_)])),u.value.some(_=>_.key===a5)&&!d.value.length&&(d.value=await w1.models().catch(()=>[])),i.value=""}catch(_){i.value=_.message}finally{r.value=!1}}async function S(){a.value=!0,c.value=!1,i.value="";try{for(const _ of u.value){const D=o.value[_.key];_.secret&&!D||!_.secret&&$(_,D)||await w1.setSetting(_.key,x(_,D))}await w(),c.value=!0,l("saved")}catch(_){i.value=_.message}finally{a.value=!1}}async function B(_){i.value="";try{await w1.resetSetting(_.key),await w()}catch(D){i.value=D.message}}return P1(()=>n.group,w),o2(w),(_,D)=>(h(),y("div",Pd,[r.value?(h(),y("p",Hd,[E(f(v2),{class:"h-4 w-4 animate-spin"}),D[1]||(D[1]=V(" Reading what this machine can be told. ",-1))])):(h(),y(e1,{key:1},[(h(!0),y(e1,null,_1(A.value,C=>(h(),Q(on,{key:C.key,modelValue:o.value[C.key],"onUpdate:modelValue":N=>o.value[C.key]=N,setting:C,options:I(C),onReset:B},null,8,["modelValue","onUpdate:modelValue","setting","options"]))),128)),m.value.length?(h(),y("div",Yd,[v("button",{type:"button",class:"flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground",onClick:D[0]||(D[0]=C=>p.value=!p.value)},[p.value?(h(),Q(f(It),{key:0,class:"h-3.5 w-3.5"})):(h(),Q(f(o0),{key:1,class:"h-3.5 w-3.5"})),V(" Tuning ("+F(m.value.length)+") ",1)]),(h(!0),y(e1,null,_1(m.value,C=>te((h(),Q(on,{key:C.key,modelValue:o.value[C.key],"onUpdate:modelValue":N=>o.value[C.key]=N,setting:C,onReset:B},null,8,["modelValue","onUpdate:modelValue","setting"])),[[n6,p.value]])),128))])):O("",!0),u.value.length?O("",!0):(h(),y("p",Ud," Nothing in this group is configurable here. ")),i.value?(h(),Q(f(l2),{key:2,tone:"danger"},{default:M(()=>[V(F(i.value),1)]),_:1})):O("",!0),u.value.length?(h(),y("div",Jd,[E(f(x1),{disabled:a.value||!k.value,onClick:S},{default:M(()=>[a.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(Ke),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),D[2]||(D[2]=V(" Save ",-1))]),_:1},8,["disabled"]),c.value&&!k.value?(h(),y("span",zd,"Saved.")):O("",!0),O1(_.$slots,"after")])):O("",!0)],64))]))}},jd={class:"relative mb-3"},Xd={class:"mb-2 text-xs font-mono text-muted-foreground break-all"},qd={class:"h-64 overflow-y-auto rounded-md border bg-muted/30"},ef=["onClick"],tf={class:"min-w-0 flex-1 truncate text-left"},nf={key:0,class:"block truncate font-mono text-xs text-muted-foreground"},lf={key:1,class:"px-3 py-6 text-center text-sm text-muted-foreground"},sf={key:2,class:"px-3 py-6 text-center text-sm text-muted-foreground"},of={class:"mt-2 text-xs text-muted-foreground"},af={class:"font-mono"},rf={key:1,role:"status",class:"mt-3 text-sm text-muted-foreground"},cf={class:"flex items-center gap-2 pt-5"},H0={__name:"FolderPicker",props:{open:Boolean},emits:["close","added"],setup(e,{emit:t}){const n=e,l=t,s=P(null),o=P(""),a=P(!1),r=P(""),i=P(""),c=P(!1),u=P(!1);async function d(g){try{s.value=await w1.browse(g),u.value=!1,i.value="",r.value=""}catch(x){r.value=x.message}}let A;async function m(){const g=i.value.trim();if(!g)return d("");clearTimeout(A),A=setTimeout(async()=>{c.value=!0;try{s.value=await w1.browse("",g),u.value=!0,r.value=""}catch(x){r.value=x.message}finally{c.value=!1}},250)}P1(()=>n.open,g=>{g&&(o.value="",i.value="",u.value=!1,r.value="",a.value=!1,d(""))});async function p(){if(s.value){a.value=!0,r.value="";try{await w1.addRepository(s.value.path,o.value.trim()),l("added"),l("close")}catch(g){r.value=g.message}finally{a.value=!1}}}return(g,x)=>(h(),Q(f(g6),{open:e.open,"max-width":"lg",onClose:x[5]||(x[5]=$=>l("close"))},{default:M(()=>{var $,k,K,I,w;return[x[10]||(x[10]=v("h2",{class:"text-lg font-semibold mb-3"},"Add folder or repository",-1)),v("div",jd,[E(f(ke),{class:"pointer-events-none absolute left-3 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),E(f(P2),{modelValue:i.value,"onUpdate:modelValue":x[0]||(x[0]=S=>i.value=S),class:"pl-9 pr-9",placeholder:"Search for a folder by name",onInput:m,onKeydown:A3(K2(m,["prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),i.value?(h(),y("button",{key:0,type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground","aria-label":"Clear the search",onClick:x[1]||(x[1]=S=>d(""))},[E(f(i3),{class:"h-3.5 w-3.5"})])):O("",!0)]),v("p",Xd,F(u.value?`Matches under ${($=s.value)==null?void 0:$.path}`:(k=s.value)==null?void 0:k.path),1),v("div",qd,[(K=s.value)!=null&&K.parent&&!u.value?(h(),y("button",{key:0,class:"flex w-full items-center gap-2 px-3 py-2 text-sm hover:bg-accent",onClick:x[2]||(x[2]=S=>d(s.value.parent))},[E(f(Vr),{class:"h-3.5 w-3.5"}),x[6]||(x[6]=v("span",{class:"text-muted-foreground"},"Up one",-1))])):O("",!0),(h(!0),y(e1,null,_1(((I=s.value)==null?void 0:I.entries)??[],S=>(h(),y("button",{key:S.path,class:"flex w-full items-center gap-2 px-3 py-2 text-sm hover:bg-accent",onClick:B=>d(S.path)},[E(f(c6),{class:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),v("span",tf,[V(F(S.name)+" ",1),u.value?(h(),y("span",nf,F(S.path),1)):O("",!0)]),S.repository?(h(),Q(f(n2),{key:0,variant:"glow",class:"ml-auto shrink-0"},{default:M(()=>[...x[7]||(x[7]=[V("git",-1)])]),_:1})):O("",!0)],8,ef))),128)),c.value?(h(),y("p",lf," Looking… ")):s.value&&s.value.entries.length===0?(h(),y("p",sf,F(u.value?"Nothing under your home folder matches that.":"Nothing inside."),1)):O("",!0)]),E(f(Q2),{label:"Name it (optional)",for:"repo-name",class:"mt-4"},{default:M(()=>[E(f(P2),{id:"repo-name",modelValue:o.value,"onUpdate:modelValue":x[3]||(x[3]=S=>o.value=S),placeholder:"Taken from the git remote, or the folder name"},null,8,["modelValue"])]),_:1}),v("p",of,[x[8]||(x[8]=V(" Adding ",-1)),v("code",af,F((w=s.value)==null?void 0:w.path),1)]),r.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mt-3"},{default:M(()=>[V(F(r.value),1)]),_:1})):O("",!0),a.value?(h(),y("p",rf," Reading this repository. Large repositories can take several minutes. ")):O("",!0),v("div",cf,[E(f(x1),{disabled:a.value||!s.value,onClick:p},{default:M(()=>[a.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(le),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),V(" "+F(a.value?"Reading…":"Add and index"),1)]),_:1},8,["disabled"]),E(f(x1),{variant:"outline",onClick:x[4]||(x[4]=S=>l("close"))},{default:M(()=>[...x[9]||(x[9]=[V("Cancel",-1)])]),_:1})])]}),_:1},8,["open"]))}},uf={class:"flex items-center gap-2"},an="sourceant-onboarded",df={__name:"Onboarding",setup(e){const{repositories:t,fetchRepositories:n}=H2(),l=P(!1),s=P("folder"),o=P(!1),a=z(()=>t.value.length>0);function r(){try{localStorage.setItem(an,"yes")}catch{}l.value=!1}return o2(async()=>{let i=null;try{i=localStorage.getItem(an)}catch{i=null}i||(await n(),s.value=t.value.length?"model":"folder",l.value=!0)}),(i,c)=>(h(),Q(f(g6),{open:l.value,"max-width":"xl",onClose:r},{default:M(()=>[s.value==="folder"?(h(),y(e1,{key:0},[c[4]||(c[4]=v("h2",{class:"text-lg font-semibold mb-1"},"Point it at some code",-1)),c[5]||(c[5]=v("p",{class:"text-sm text-muted-foreground mb-5"}," SourceAnt reads a folder on this machine into a graph, and keeps what you record about it beside the code it belongs to. Nothing leaves this machine. ",-1)),v("div",uf,[E(f(x1),{onClick:c[0]||(c[0]=u=>o.value=!0)},{default:M(()=>[E(f(le),{class:"mr-1.5 h-3.5 w-3.5"}),c[3]||(c[3]=V(" Add folder or repository ",-1))]),_:1}),E(f(x1),{variant:"outline",onClick:c[1]||(c[1]=u=>s.value="model")},{default:M(()=>[a.value?(h(),y(e1,{key:0},[V("Next")],64)):(h(),y(e1,{key:1},[V("Skip for now")],64)),E(f(s0),{class:"ml-1.5 h-3.5 w-3.5"})]),_:1})]),E(H0,{open:o.value,onClose:c[2]||(c[2]=u=>o.value=!1),onAdded:f(n)},null,8,["open","onAdded"])],64)):(h(),y(e1,{key:1},[c[7]||(c[7]=v("h2",{class:"text-lg font-semibold mb-1"},"Add a model and API key",-1)),c[8]||(c[8]=v("p",{class:"text-sm text-muted-foreground mb-5"}," Reading your code and reading what it already states about itself need no model at all. Proposing what nobody wrote down does. Your key stays on this machine and goes to that provider and nowhere else. ",-1)),E(P0,{group:"Model",onSaved:r}),E(f(x1),{variant:"ghost",class:"mt-4",onClick:r},{default:M(()=>[...c[6]||(c[6]=[V("Skip for now",-1)])]),_:1})],64))]),_:1},8,["open"]))}},ff={class:"flex h-screen flex-col bg-background"},hf={class:"z-40 h-12 shrink-0 border-b bg-card/80 backdrop-blur-sm"},Af={class:"flex items-center h-full min-w-0 px-3 gap-1 sm:px-4"},pf={class:"hidden lg:flex items-center gap-0.5 min-w-0"},mf={class:"hidden xl:inline"},gf={class:"relative shrink-0","data-dropdown":"user"},vf={key:0,class:"absolute top-full right-0 mt-1 w-52 bg-card border rounded-lg shadow-lg py-1 z-50"},yf=["aria-label"],bf={key:0,class:"lg:hidden shrink-0 border-b bg-card px-4 py-2 space-y-0.5"},kf={class:"min-h-0 flex-1 overflow-y-auto"},xf={class:"container mx-auto flex h-full flex-col px-4 pb-4 pt-3 lg:px-6 lg:pb-6 lg:pt-4"},wf={__name:"App",setup(e){const{isDark:t,toggleTheme:n,restoreTheme:l}=T0(),s=Oe(),o=P(!1),a=P(!1),r=[{name:"Overview",href:"/",icon:a0},{name:"Reviews",href:"/reviews",icon:s3},{name:"Skills",href:"/skills",icon:r6},{name:"Knowledge",href:"/knowledge",icon:K4},{name:"Graphs",href:"/graph",icon:Et},{name:"Repositories",href:"/repositories",icon:_t},{name:"Settings",href:"/settings",icon:B5}],i=z(()=>kd(Od,{seed:location.hostname||"sourceant",radius:50}).toDataUri());function c(u){u.target.closest('[data-dropdown="user"]')||(a.value=!1)}return o2(()=>{l(),document.addEventListener("click",c)}),a3(()=>document.removeEventListener("click",c)),(u,d)=>{const A=V4("RouterLink"),m=V4("RouterView");return h(),y("div",ff,[v("header",hf,[v("div",Af,[E(A,{to:"/",class:"shrink-0 mr-1 sm:mr-3"},{default:M(()=>[E(f(Vu),{size:"sm","show-text":!1})]),_:1}),d[7]||(d[7]=v("span",{class:"hidden lg:block h-4 w-px bg-border mx-1 shrink-0"},null,-1)),v("nav",pf,[(h(),y(e1,null,_1(r,p=>E(A,{key:p.href,to:p.href,title:p.name,class:o1(["flex shrink-0 items-center gap-1.5 px-2 py-1 rounded-md text-sm transition-colors 2xl:px-2.5",f(s).path===p.href?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-muted hover:text-foreground"])},{default:M(()=>[(h(),Q(h2(p.icon),{class:"h-3.5 w-3.5 shrink-0"})),v("span",mf,F(p.name),1)]),_:2},1032,["to","title","class"])),64))]),d[8]||(d[8]=v("div",{class:"flex-1 min-w-0"},null,-1)),E(Gd,{pages:r}),v("div",gf,[v("button",{class:"flex items-center gap-1.5 p-1 rounded-md hover:bg-muted transition-colors","aria-label":"Account",onClick:d[0]||(d[0]=K2(p=>a.value=!a.value,["stop"]))},[E(f(Dr),{src:i.value,size:"sm",class:"h-6 w-6"},null,8,["src"])]),E(I8,{"enter-active-class":"transition duration-100 ease-out","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition duration-75 ease-in","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:M(()=>[a.value?(h(),y("div",vf,[d[6]||(d[6]=v("div",{class:"px-3 py-2 border-b"},[v("p",{class:"text-sm font-medium truncate"},"This machine"),v("p",{class:"text-xs text-muted-foreground truncate"},"Nothing here has been shared.")],-1)),E(A,{to:"/settings",class:"flex items-center gap-2 px-3 py-1.5 text-sm hover:bg-muted transition-colors",onClick:d[1]||(d[1]=p=>a.value=!1)},{default:M(()=>[E(f(B5),{class:"h-3.5 w-3.5 text-muted-foreground"}),d[5]||(d[5]=V(" Settings ",-1))]),_:1}),v("button",{class:"flex items-center gap-2 w-full px-3 py-1.5 text-sm hover:bg-muted transition-colors",onClick:d[2]||(d[2]=(...p)=>f(n)&&f(n)(...p))},[(h(),Q(h2(f(t)?f(c0):f(i0)),{class:"h-3.5 w-3.5 text-muted-foreground"})),v("span",null,F(f(t)?"Light mode":"Dark mode"),1)])])):O("",!0)]),_:1})]),v("button",{class:"lg:hidden shrink-0 p-1 rounded-md hover:bg-muted transition-colors","aria-label":o.value?"Close menu":"Open menu",onClick:d[3]||(d[3]=p=>o.value=!o.value)},[o.value?(h(),Q(f(i3),{key:1,class:"h-5 w-5"})):(h(),Q(f(Yr),{key:0,class:"h-5 w-5"}))],8,yf)])]),o.value?(h(),y("div",bf,[(h(),y(e1,null,_1(r,p=>E(A,{key:p.href,to:p.href,class:o1(["flex items-center gap-2 px-3 py-2 rounded-md text-sm transition-colors",f(s).path===p.href?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-muted hover:text-foreground"]),onClick:d[4]||(d[4]=g=>o.value=!1)},{default:M(()=>[(h(),Q(h2(p.icon),{class:"h-4 w-4"})),V(" "+F(p.name),1)]),_:2},1032,["to","class"])),64))])):O("",!0),v("main",kf,[v("div",xf,[E(m)])]),E(df)])}}},y4={__name:"EmptyMachine",setup(e){return(t,n)=>(h(),Q(f(Q1),{class:"text-center py-16 px-6"},{default:M(()=>[n[1]||(n[1]=v("h2",{class:"text-lg font-semibold mb-1"},"Nothing indexed yet",-1)),n[2]||(n[2]=v("p",{class:"text-muted-foreground text-sm mb-4 max-w-lg mx-auto"}," Point SourceAnt at a folder on this machine and it reads the code into a graph you can look at and record against. ",-1)),E(f(x1),{as:"a",href:"/repositories",variant:"glow"},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),n[0]||(n[0]=V(" Add a repository ",-1))]),_:1})]),_:1}))}};function A4(e){if(!e)return"";const t=new Date(e),n=Math.round((Date.now()-t.getTime())/6e4);if(n<1)return"just now";if(n<60)return`${n} minute${n===1?"":"s"} ago`;const l=Math.round(n/60);return l<24?`${l} hour${l===1?"":"s"} ago`:t.toLocaleDateString()}const Cf={class:"min-w-0 flex-1"},_f={class:"font-semibold"},If={class:"text-sm text-muted-foreground"},Mf={class:"mb-3 grid gap-3 sm:grid-cols-2 lg:grid-cols-4"},Ef={class:"mt-1 text-2xl font-semibold tabular-nums"},Df={class:"mt-0.5 text-xs text-muted-foreground"},Zf={class:"mt-1 text-2xl font-semibold tabular-nums"},Ff={class:"mt-1 text-2xl font-semibold tabular-nums"},Bf={class:"mt-0.5 text-xs text-muted-foreground"},Sf={class:"mt-1 text-2xl font-semibold tabular-nums"},Rf={class:"mb-3 grid gap-3 lg:grid-cols-2"},$f={class:"mb-3 flex items-center justify-between gap-3"},Nf={class:"flex items-center gap-2 text-sm font-semibold"},Kf={key:1,class:"divide-y"},Qf=["onClick"],Of={class:"min-w-0 flex-1 truncate"},Gf={class:"shrink-0 text-xs text-muted-foreground"},Wf={class:"mb-3 flex items-center justify-between gap-3"},Lf={class:"flex items-center gap-2 text-sm font-semibold"},Vf={key:0,class:"mt-0.5 text-xs text-muted-foreground"},Tf={key:1,class:"divide-y"},Pf={class:"min-w-0 flex-1 truncate font-mono text-xs"},Hf={class:"shrink-0 text-xs text-muted-foreground"},Yf=["onClick"],Uf={class:"tabular-nums"},Jf={class:"tabular-nums"},zf={class:"text-muted-foreground"},jf={class:"flex flex-wrap gap-2"},rn=5,Xf={__name:"Overview",setup(e){const t=Ce(),{repositories:n,error:l,fetchRepositories:s}=H2(),o=P([]),a=P([]),r=P({files:[],since:""}),i=P([]),c=P(!0),u=[{id:"repository",label:"Repository"},{id:"files",label:"Files",align:"right"},{id:"knowledge",label:"Knowledge",align:"right",narrow:!0},{id:"read",label:"Last read",narrow:!0}],d=z(()=>({files:o.value.reduce((I,w)=>I+w.files,0),knowledge:o.value.reduce((I,w)=>I+w.knowledge,0),proposed:o.value.reduce((I,w)=>I+w.proposed,0),skills:o.value.reduce((I,w)=>I+w.skills,0)})),A=z(()=>n.value.filter(I=>!I.indexed_at)),m=z(()=>n.value.filter(I=>I.reading)),p=z(()=>a.value.filter(I=>I.status==="failed")),g=z(()=>{var S,B;const I=(S=i.value.find(_=>_.key==="model.name"))==null?void 0:S.value,w=(B=i.value.find(_=>_.key==="model.api_key"))==null?void 0:B.is_set;return I&&w?String(I):""}),x=z(()=>g.value?A.value.length?{tone:"warning",icon:u6,title:`${A.value.length} folder${A.value.length===1?"":"s"} never read`,detail:"Nothing can be answered about a folder that has not been read.",label:"Repositories",to:"/repositories"}:d.value.proposed?{tone:"info",icon:q4,title:`${d.value.proposed} proposal${d.value.proposed===1?"":"s"} waiting`,detail:"Nothing proposed is used until somebody agrees to it.",label:"Knowledge",to:"/knowledge"}:p.value.length?{tone:"warning",icon:et,title:`${p.value.length} review${p.value.length===1?"":"s"} failed`,detail:p.value[0].error||"Ask for it again.",label:"Reviews",to:"/reviews"}:null:{tone:"warning",icon:et,title:"No model configured",detail:"Reviews read a change but cannot judge it.",label:"Choose a model",to:"/settings?group=Model"}),$={warning:"border-warning/40 bg-warning/5",info:"border-primary/30 bg-primary/5",success:"border-success/40 bg-success/5"},k=z(()=>o.value.map(I=>({id:I.repository.name,repository:I.repository,files:I.files,knowledge:I.knowledge})));function K(I){return I.reading?"Reading…":I.indexed_at?A4(I.indexed_at):"Never"}return o2(async()=>{await s();const[I,w]=await Promise.all([w1.reviews().catch(()=>[]),w1.settings().catch(()=>[])]);a.value=I.slice(0,rn),i.value=w,o.value=await Promise.all(n.value.map(async B=>{const[_,D,C]=await Promise.all([w1.nodes(B.name,{labels:["File"]}).catch(()=>({total:0})),w1.knowledge(B.name).catch(()=>({items:[],total:0})),w1.skills(B.name).catch(()=>({total:0}))]);return{repository:B,files:_.total,knowledge:D.total,proposed:(D.items??[]).filter(N=>N.status==="proposed").length,skills:C.total}}));const S=n.value[0];S&&(r.value=await w1.attention(S.name).catch(()=>({files:[],since:""}))),c.value=!1}),(I,w)=>(h(),y("div",null,[E(f(se),{pillar:"memory",title:"Overview",sub:"What SourceAnt has on this machine."},{icon:M(()=>[E(f(a0),{class:"h-6 w-6"})]),_:1}),f(l)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(l)),1)]),_:1})):O("",!0),!f(l)&&f(n).length===0?(h(),Q(y4,{key:1})):f(n).length?(h(),y(e1,{key:2},[x.value?(h(),Q(f(Q1),{key:0,class:o1(["mb-3 flex flex-wrap items-center gap-4 p-5",$[x.value.tone]])},{default:M(()=>[(h(),Q(h2(x.value.icon),{class:"h-5 w-5 shrink-0"})),v("div",Cf,[v("p",_f,F(x.value.title),1),v("p",If,F(x.value.detail),1)]),E(f(x1),{size:"sm",variant:"outline",onClick:w[0]||(w[0]=S=>f(t).push(x.value.to))},{default:M(()=>[V(F(x.value.label)+" ",1),E(f(s0),{class:"ml-1.5 h-3.5 w-3.5"})]),_:1})]),_:1},8,["class"])):O("",!0),v("div",Mf,[E(f(Q1),{class:"p-4"},{default:M(()=>[w[4]||(w[4]=v("p",{class:"text-xs text-muted-foreground"},"Repositories",-1)),v("p",Ef,F(f(n).length),1),v("p",Df,[m.value.length?(h(),y(e1,{key:0},[V(F(m.value.length)+" reading now",1)],64)):A.value.length?(h(),y(e1,{key:1},[V(F(A.value.length)+" never read",1)],64)):(h(),y(e1,{key:2},[V("all read")],64))])]),_:1}),E(f(Q1),{class:"p-4"},{default:M(()=>[w[5]||(w[5]=v("p",{class:"text-xs text-muted-foreground"},"Files",-1)),v("p",Zf,[c.value?(h(),Q(f(v2),{key:0,class:"h-5 w-5 animate-spin"})):(h(),y(e1,{key:1},[V(F(d.value.files.toLocaleString()),1)],64))]),w[6]||(w[6]=v("p",{class:"mt-0.5 text-xs text-muted-foreground"},"indexed",-1))]),_:1}),E(f(Q1),{class:"p-4"},{default:M(()=>[w[7]||(w[7]=v("p",{class:"text-xs text-muted-foreground"},"Knowledge",-1)),v("p",Ff,F(d.value.knowledge.toLocaleString()),1),v("p",Bf,F(d.value.proposed?`${d.value.proposed} waiting for you`:"nothing waiting"),1)]),_:1}),E(f(Q1),{class:"p-4"},{default:M(()=>[w[8]||(w[8]=v("p",{class:"text-xs text-muted-foreground"},"Skills",-1)),v("p",Sf,F(d.value.skills.toLocaleString()),1),w[9]||(w[9]=v("p",{class:"mt-0.5 text-xs text-muted-foreground"},"read against your work",-1))]),_:1})]),v("div",Rf,[E(f(Q1),{class:"p-5"},{default:M(()=>[v("div",$f,[v("h2",Nf,[E(f(s3),{class:"h-4 w-4"}),w[10]||(w[10]=V(" Recent reviews ",-1))]),E(f(x1),{variant:"ghost",size:"sm",onClick:w[1]||(w[1]=S=>f(t).push("/reviews"))},{default:M(()=>[...w[11]||(w[11]=[V("All",-1)])]),_:1})]),a.value.length?(h(),y("ul",Kf,[(h(!0),y(e1,null,_1(a.value,S=>(h(),y("li",{key:S.id},[v("button",{type:"button",class:"flex w-full items-baseline gap-2 py-2 text-left text-sm hover:text-primary",onClick:B=>f(t).push(`/reviews/${S.id}`)},[E(f(n2),{variant:S.status==="done"?"success":S.status==="failed"?"destructive":"secondary"},{default:M(()=>[V(F(S.status),1)]),_:2},1032,["variant"]),v("span",Of,F(S.title||S.repository),1),v("span",Gf,F(f(A4)(S.started)),1)],8,Qf)]))),128))])):(h(),Q(f(Re),{key:0,title:"No reviews yet",compact:""},{default:M(()=>[...w[12]||(w[12]=[V(" A review reads what a checkout has that its default branch does not. ",-1)])]),_:1}))]),_:1}),E(f(Q1),{class:"p-5"},{default:M(()=>[v("div",Wf,[v("div",null,[v("h2",Lf,[E(f(Mt),{class:"h-4 w-4"}),w[13]||(w[13]=V(" Changed most, depended on most ",-1))]),r.value.since?(h(),y("p",Vf," Last "+F(r.value.since)+". ",1)):O("",!0)])]),r.value.files.length?(h(),y("ul",Tf,[(h(!0),y(e1,null,_1(r.value.files.slice(0,rn),S=>(h(),y("li",{key:S.path,class:"flex items-baseline gap-2 py-2 text-sm"},[v("span",Pf,F(S.path),1),v("span",Hf,F(S.changes)+" changes · "+F(S.dependants)+" dependants ",1)]))),128))])):(h(),Q(f(Re),{key:0,title:"None",compact:""},{default:M(()=>[...w[14]||(w[14]=[V(" A file appears here when it is both changing and depended on. ",-1)])]),_:1}))]),_:1})]),E(f(f6),{columns:u,rows:k.value,"row-key":"id",label:"Repositories",class:"mb-3"},{repository:M(({row:S})=>[v("button",{type:"button",class:"block max-w-md truncate text-left font-medium hover:text-primary",onClick:B=>f(t).push(`/repositories/${S.repository.name}`)},F(S.repository.name),9,Yf)]),files:M(({row:S})=>[v("span",Uf,F(S.files.toLocaleString()),1)]),knowledge:M(({row:S})=>[v("span",Jf,F(S.knowledge.toLocaleString()),1)]),read:M(({row:S})=>[v("span",zf,F(K(S.repository)),1)]),_:1},8,["rows"]),v("div",jf,[E(f(x1),{variant:"outline",size:"sm",onClick:w[2]||(w[2]=S=>f(t).push("/reviews"))},{default:M(()=>[E(f(s3),{class:"mr-1.5 h-3.5 w-3.5"}),w[15]||(w[15]=V(" Review a checkout ",-1))]),_:1}),E(f(x1),{variant:"outline",size:"sm",onClick:w[3]||(w[3]=S=>f(t).push("/skills"))},{default:M(()=>[E(f(r6),{class:"mr-1.5 h-3.5 w-3.5"}),w[16]||(w[16]=V(" Skills ",-1))]),_:1})])],64)):O("",!0)]))}};function qf(){const e=P(null),t=P(!1),n=P(null);async function l(s,o,a={}){t.value=!0,n.value=null;try{e.value=await w1.graph(`${s}/${o}`,a),n.value=null}catch(r){e.value=null,n.value=r}finally{t.value=!1}}return{graph:e,loading:t,fetchCodeGraph:l,failureFor:()=>n.value}}function eh(){const e=P(null);async function t(){return e.value={nodes:[],links:[]},e.value}return{fetchGraph:t,failureFor:()=>null}}const th={key:0},nh={class:"inline-flex w-full rounded-md border bg-muted/40 p-0.5"},lh=["onClick"],sh={class:"mt-1.5 text-[11px] text-muted-foreground"},oh={key:1},ah={class:"relative"},rh={key:2},ih={class:"space-y-0.5"},ch=["onClick"],uh={class:"flex-1 truncate text-foreground"},dh={class:"tabular-nums text-muted-foreground"},fh={key:3},hh={class:"flex flex-wrap gap-1.5"},Ah=["onClick"],ph={key:4},mh={class:"flex cursor-pointer items-center gap-2 text-[11px] text-muted-foreground"},gh={key:5},vh={key:6},yh={class:"mb-1.5 flex items-center justify-between"},bh=["disabled"],kh={key:0,class:"mt-1 text-[11px] text-muted-foreground"},xh={key:1,class:"mt-1.5 space-y-1.5"},wh={class:"flex items-start gap-1.5 text-[11px]"},Ch={class:"min-w-0 break-words"},_h={class:"font-medium"},Ih={class:"min-w-0"},Mh={class:"min-w-0"},Eh={class:"overflow-hidden rounded-lg border bg-card"},Dh={class:"text-xs text-muted-foreground"},Zh={class:"space-y-1"},Fh={class:"mx-auto max-w-sm text-xs text-muted-foreground"},Bh={key:0,class:"mt-2 text-xs text-warning"},Sh={key:1,class:"mt-2 text-xs text-muted-foreground"},Rh={key:2,class:"mt-2 text-xs text-muted-foreground"},Y0=G1({__name:"GraphWorkbench",props:{repository:{},sources:{default:()=>["knowledge","code"]},controls:{default:()=>["filter","kinds","parts","layouts","depth","retired"]},height:{default:"640px"},find:{}},emits:["select"],setup(e,{expose:t,emit:n}){const l=e,s=n,{fetchGraph:o,failureFor:a}=eh(),{legend:r}=l0(),{graph:i,loading:c,fetchCodeGraph:u,failureFor:d}=qf(),A=P(l.sources[0]??"knowledge"),m=P(null),p=P(!1),g=z(()=>A.value==="code"?i.value:m.value),x=z(()=>A.value==="code"?c.value:p.value),$=z(()=>A.value==="code"?d("code-graph"):a("graph")),k=z(()=>l.repository.split("/").pop()??l.repository),K=z(()=>!!g.value&&g.value.nodes.length>0);function I(X){return l.controls.includes(X)}const w=P(""),S=P(2),B=P([]),_=P(l.find??""),D=P("2d"),C=P([]),N=P(!1),G=z(()=>!!w.value),j=z(()=>{var W;const X=(W=g.value)==null?void 0:W.nodes.find(p1=>p1.id===w.value);return(X==null?void 0:X.name)??w.value.replace(/^(file|symbol):/,"")}),f1=z(()=>{var X;return((X=g.value)==null?void 0:X.communities)??[]}),u1=P(50),A1=z(()=>f1.value.slice(0,u1.value));P1(f1,()=>{u1.value=50});const M1=[{id:"2d",label:"2D"},{id:"3d",label:"3D"},{id:"tree",label:"Tree"},{id:"radial",label:"Radial"},{id:"layered",label:"Layered"},{id:"web",label:"Force"}],i1={knowledge:"Knowledge",code:"Code"},v1=["#4E79A7","#F28E2B","#E15759","#76B7B2","#59A14F","#EDC948","#B07AA1","#FF9DA7","#9C755F","#BAB0AC"];async function r1(){const[X,W]=l.repository.split("/");if(!X||!W){m.value=null;return}if(A.value==="code"){await u(X,W,{focus:w.value||void 0,depth:G.value?S.value:void 0,q:_.value.trim()||void 0});return}p.value=!0;try{m.value=await o(X,W,{focus:w.value||void 0,depth:G.value?S.value:void 0,kind:B.value,q:_.value.trim()||void 0,status:N.value?"all":void 0})}finally{p.value=!1}}let H1=null;function b1(){H1&&clearTimeout(H1),H1=setTimeout(r1,250)}P1([S,B,_,N],b1,{deep:!0}),P1(w,r1),P1(A,()=>{w.value="",C.value=[],r1()}),P1(()=>l.repository,()=>{w.value="",C.value=[],r1()},{immediate:!0});function q1(X){s("select",X),I("depth")&&(w.value=w.value===X?"":X)}function j1(){w.value=""}function s1(X){B.value=B.value.includes(X)?B.value.filter(W=>W!==X):[...B.value,X]}function m1(X){C.value=C.value.includes(X)?C.value.filter(W=>W!==X):[...C.value,X]}const L=z(()=>l.sources.length>1||I("filter")||I("kinds")||I("parts")||I("layouts")||I("depth")||I("retired"));return t({reload:r1}),(X,W)=>{var p1,D1,b,Z;return h(),y("div",{class:o1(["grid gap-4 lg:items-start",L.value?"lg:grid-cols-[16rem_1fr]":""])},[L.value?(h(),y("aside",{key:0,class:"space-y-4 overflow-y-auto rounded-lg border bg-card p-3",style:M2({height:e.height})},[e.sources.length>1?(h(),y("div",th,[W[6]||(W[6]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Draw",-1)),v("div",nh,[(h(!0),y(e1,null,_1(e.sources,R=>(h(),y("button",{key:R,type:"button",class:o1(["flex-1 rounded px-2 py-1 text-xs font-medium transition-colors",A.value===R?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"]),onClick:U=>A.value=R},F(i1[R]),11,lh))),128))]),v("p",sh,F(A.value==="code"?"What is defined and what calls what, read from the code.":"What your team decided, and the files it covers."),1)])):O("",!0),I("filter")?(h(),y("div",oh,[W[7]||(W[7]=v("label",{class:"mb-1.5 block text-[11px] font-medium uppercase tracking-wide text-muted-foreground"}," Only what mentions ",-1)),v("div",ah,[E(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),te(v("input",{"onUpdate:modelValue":W[0]||(W[0]=R=>_.value=R),type:"search",placeholder:"a word",class:"w-full rounded-md border bg-background py-1.5 pl-8 pr-2 text-sm"},null,512),[[C5,_.value]])])])):O("",!0),I("parts")&&A.value==="code"&&f1.value.length?(h(),y("div",rh,[W[8]||(W[8]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Parts",-1)),v("ul",ih,[(h(!0),y(e1,null,_1(A1.value,R=>(h(),y("li",{key:R.id},[v("button",{type:"button",class:o1(["flex w-full items-center gap-2 rounded-md px-1 py-1 text-left text-[11px] transition-colors hover:bg-muted",C.value.includes(R.id)?"opacity-40":""]),onClick:U=>m1(R.id)},[v("span",{class:"h-2.5 w-2.5 shrink-0 rounded-full",style:M2({backgroundColor:v1[R.id%v1.length]})},null,4),v("span",uh,F(R.name),1),v("span",dh,F(R.size),1)],10,ch)]))),128))]),u1.valueu1.value+=50)},{default:M(()=>[V("Show more parts ("+F(u1.value)+" of "+F(f1.value.length)+")",1)]),_:1})):O("",!0),W[9]||(W[9]=v("p",{class:"mt-1.5 text-[11px] text-muted-foreground"}," Grouped by what calls what. Click one to hide it. ",-1))])):O("",!0),I("kinds")&&A.value==="knowledge"?(h(),y("div",fh,[W[10]||(W[10]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Kinds",-1)),v("div",hh,[(h(!0),y(e1,null,_1(f(r),R=>(h(),y("button",{key:R.label,type:"button",class:o1(["inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-[11px] transition-colors",B.value.includes(R.label.toLowerCase())?"border-primary/40 bg-primary/10 text-primary":"text-muted-foreground hover:text-foreground"]),onClick:U=>s1(R.label.toLowerCase())},[v("span",{class:"h-2 w-2 rounded-sm",style:M2({backgroundColor:R.color})},null,4),V(" "+F(R.label),1)],10,Ah))),128)),B.value.length?(h(),y("button",{key:0,type:"button",class:"text-[11px] text-muted-foreground underline-offset-2 hover:underline",onClick:W[2]||(W[2]=R=>B.value=[])},"Any")):O("",!0)])])):O("",!0),I("retired")&&A.value==="knowledge"?(h(),y("div",ph,[v("label",mh,[te(v("input",{"onUpdate:modelValue":W[3]||(W[3]=R=>N.value=R),type:"checkbox",class:"h-3 w-3 rounded border"},null,512),[[bt,N.value]]),W[11]||(W[11]=V(" Include retired records ",-1))])])):O("",!0),I("layouts")?(h(),y("div",gh,[W[12]||(W[12]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Shape",-1)),E(f(D3),{modelValue:D.value,"onUpdate:modelValue":W[4]||(W[4]=R=>D.value=R),tabs:M1,label:"Shape",class:"grid w-full grid-cols-2"},null,8,["modelValue"])])):O("",!0),I("depth")?(h(),y("div",vh,[v("div",yh,[v("span",{class:o1(["text-[11px] font-medium uppercase tracking-wide",G.value?"text-muted-foreground":"text-muted-foreground/50"])}," Steps out ",2),v("span",{class:o1(["font-mono text-xs",G.value?"":"opacity-50"])},F(S.value),3)]),te(v("input",{"onUpdate:modelValue":W[5]||(W[5]=R=>S.value=R),type:"range",min:"1",max:"5",disabled:!G.value,class:"w-full"},null,8,bh),[[C5,S.value,void 0,{number:!0}]]),G.value?(h(),y("div",xh,[v("p",wh,[E(f(Tr),{class:"mt-0.5 h-3 w-3 shrink-0 text-primary"}),v("span",Ch,[W[13]||(W[13]=V("From ",-1)),v("span",_h,F(j.value),1)])]),v("button",{type:"button",class:"inline-flex w-full items-center justify-center gap-1 rounded-md border px-2 py-1 text-[11px] hover:bg-muted",onClick:j1},[E(f(i3),{class:"h-3 w-3"}),W[14]||(W[14]=V(" Draw everything ",-1))])])):(h(),y("p",kh," Click anything on the graph to walk out from it. "))])):O("",!0)],4)):O("",!0),v("div",Ih,[v("div",{class:o1(["grid gap-4",X.$slots.inspector?"lg:grid-cols-[1fr_20rem]":""])},[v("div",Mh,[v("div",Eh,[x.value?(h(),y("div",{key:0,class:"flex",style:M2({height:e.height})},[E(f(L0),{label:A.value==="code"?"Reading the code":"Reading the knowledge graph",note:"Large repositories can take longer to load.",size:"sm"},null,8,["label"])],4)):$.value?(h(),y("div",{key:1,role:"alert",class:"flex flex-col items-center justify-center gap-3 px-6 text-center",style:M2({height:e.height})},[W[16]||(W[16]=v("p",{class:"text-sm font-medium"},"Could not load this graph",-1)),v("p",Dh,F($.value.message),1),E(f(x1),{variant:"outline",size:"sm",onClick:r1},{default:M(()=>[...W[15]||(W[15]=[V("Try again",-1)])]),_:1})],4)):K.value?(h(),Q(f($r),{key:3,repo:k.value,mode:D.value,data:g.value,hidden:C.value,height:e.height,onSelect:q1},null,8,["repo","mode","data","hidden","height"])):(h(),y("div",{key:2,class:"flex flex-col items-center justify-center gap-3 px-6 text-center",style:M2({height:e.height})},[E(f(Et),{class:"h-7 w-7 text-muted-foreground"}),v("div",Zh,[W[17]||(W[17]=v("p",{class:"text-sm font-medium"},"Nothing to draw",-1)),v("p",Fh,F(A.value==="code"?"This repository has not been read yet, so there is no code map for it.":"Initialize this repository and approve what it proposes, and its decisions appear here."),1)])],4))]),(p1=g.value)!=null&&p1.truncated?(h(),y("p",Bh," More than fits in one drawing, so this is the most connected part of it. Narrow it"+F(L.value?" on the left":"")+", or click something to walk out from it. ",1)):O("",!0),K.value?(h(),y("p",Sh,F((D1=g.value)==null?void 0:D1.nodes.length)+" symbols, "+F((b=g.value)==null?void 0:b.links.length)+" connections. ",1)):O("",!0),K.value&&!((Z=g.value)!=null&&Z.links.length)?(h(),y("p",Rh," No connections were found between these files. ")):O("",!0)]),X.$slots.inspector?(h(),y("div",{key:0,class:"overflow-y-auto rounded-lg border bg-card",style:M2({height:e.height})},[O1(X.$slots,"inspector")],4)):O("",!0)],2)])],2)}}}),$h={class:"flex h-full min-h-0 flex-col"},Nh=["value"],Kh={__name:"Graph",setup(e){const t=Oe(),{repositories:n,chosen:l,one:s,error:o,fetchRepositories:a}=H2();return o2(async()=>{await a();const r=String(t.query.repository??"");r&&n.value.some(i=>i.name===r)&&(l.value=r)}),(r,i)=>(h(),y("div",$h,[E(f(se),{title:"Graphs",sub:"Your code, and how it holds together."},{icon:M(()=>[E(f(Et),{class:"h-6 w-6"})]),actions:M(()=>[f(n).length>1?(h(),Q(f(ne),{key:0,"model-value":f(s),size:"sm","aria-label":"Repository","onUpdate:modelValue":i[0]||(i[0]=c=>l.value=c)},{default:M(()=>[(h(!0),y(e1,null,_1(f(n),c=>(h(),y("option",{key:c.name,value:c.name},F(c.name),9,Nh))),128))]),_:1},8,["model-value"])):O("",!0)]),_:1}),f(o)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(o)),1)]),_:1})):O("",!0),f(n).length===0?(h(),Q(y4,{key:1})):(h(),Q(Y0,{key:f(s),repository:f(s),find:String(f(t).query.q??""),sources:["code"],controls:["filter","kinds","parts","layouts","depth"],height:"calc(100vh - 15rem)"},null,8,["repository","find"]))]))}},Qh=["value"],Oh=["value"],Gh={key:3,class:"relative"},Wh=["value"],Lh={key:4,class:"grid gap-3"},Vh={class:"text-sm text-muted-foreground"},Th={key:0,class:"mt-2 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs"},Ph={class:"break-all font-mono"},Hh={class:"text-lg font-semibold mb-4"},Yh={class:"space-y-4"},Uh={class:"flex items-center gap-2 pt-2"},Jh={__name:"Knowledge",setup(e){const t=["decision","convention","constraint","pattern","workaround","requirement"],{repositories:n,chosen:l,error:s,mixed:o,fetchRepositories:a}=H2({all:!0});async function r(C){C&&(l.value=C)}const i=Oe(),c=P([]),u=P(String(i.query.find??"")),d=z(()=>{const C=u.value.trim().toLowerCase();return C?c.value.filter(N=>`${N.id} ${N.summary??""} ${N.kind??""}`.toLowerCase().includes(C)):c.value}),A=P(null),m=P({id:"",kind:"decision",summary:"",why:""}),p=P(""),g=P(!1),x=P(!1),$=P(!1),k=P(null),K=P(!1);async function I(){try{const C=await w1.settings(),N=C.find(j=>j.key==="model.name"),G=C.find(j=>j.key==="model.api_key");K.value=!!(N!=null&&N.value)&&!!(G!=null&&G.is_set)}catch{K.value=!1}}async function w(C=!1){const N=C?$:x;N.value=!0,k.value=null;try{const G=await w1.initialize(l.value,{useModel:C});k.value=G.recorded,s.value="",await S()}catch(G){s.value=G.message}finally{N.value=!1}}async function S(){if(l.value)try{const C=await w1.knowledge(l.value);c.value=C.items,s.value=""}catch(C){c.value=[],s.value=C.message}}function B(C){var N;A.value=C??{fresh:!0},m.value=C?{id:C.id,kind:C.kind,summary:C.summary,why:((N=C.properties)==null?void 0:N.why)??""}:{id:"",kind:"decision",summary:"",why:""},p.value=""}async function _(){var C,N,G;if(!m.value.id.trim()||!m.value.summary.trim()){p.value="A name and what is true are both needed.";return}g.value=!0;try{await w1.recordKnowledge({repository:l.value,id:m.value.id.trim(),kind:m.value.kind,status:((C=A.value)==null?void 0:C.status)??"accepted",summary:m.value.summary.trim(),properties:m.value.why.trim()?{...((N=A.value)==null?void 0:N.properties)??{},why:m.value.why.trim()}:((G=A.value)==null?void 0:G.properties)??{}}),A.value=null,await S()}catch(j){p.value=j.message}finally{g.value=!1}}async function D(C){if(confirm(`Forget ${C.id}?`)){try{await w1.forgetKnowledge(l.value,C.id)}catch(N){s.value=N.message}await S()}}return P1(l,S),o2(async()=>{await a(),await Promise.all([S(),I()])}),(C,N)=>{const G=V4("X");return h(),y("div",null,[E(f(se),{pillar:"memory",title:"Knowledge",sub:"The decisions, conventions and constraints behind this code."},{icon:M(()=>[E(f(q4),{class:"h-6 w-6"})]),actions:M(()=>[f(n).length>1?(h(),Q(f(ne),{key:0,modelValue:f(l),"onUpdate:modelValue":N[0]||(N[0]=j=>i2(l)?l.value=j:null),size:"sm","aria-label":"Repository"},{default:M(()=>[v("option",{value:f(Ft)},"All repositories",8,Qh),(h(!0),y(e1,null,_1(f(n),j=>(h(),y("option",{key:j.name,value:j.name},F(j.name),9,Oh))),128))]),_:1},8,["modelValue"])):O("",!0),f(n).length&&f(l)?(h(),Q(f(x1),{key:1,size:"sm",variant:"outline",disabled:x.value,onClick:w},{default:M(()=>[x.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(S5),{key:1,class:"mr-2 h-4 w-4"})),V(" "+F(x.value?"Finding…":"Find in what the repo states"),1)]),_:1},8,["disabled"])):O("",!0),f(n).length&&K.value&&f(l)?(h(),Q(f(x1),{key:2,size:"sm",variant:"outline",disabled:$.value,onClick:N[1]||(N[1]=j=>w(!0))},{default:M(()=>[$.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(u0),{key:1,class:"mr-2 h-4 w-4"})),V(" "+F($.value?"Finding…":"Find more with a model"),1)]),_:1},8,["disabled"])):O("",!0),c.value.length>5?(h(),y("div",Gh,[E(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),E(f(P2),{modelValue:u.value,"onUpdate:modelValue":N[2]||(N[2]=j=>u.value=j),size:"sm",placeholder:"Find something recorded",class:"w-56 pl-8","aria-label":"Find something recorded"},null,8,["modelValue"])])):O("",!0),f(n).length&&f(l)?(h(),Q(f(x1),{key:4,size:"sm",variant:"glow",onClick:N[3]||(N[3]=j=>B(null))},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),N[11]||(N[11]=V(" Record something ",-1))]),_:1})):f(n).length?(h(),Q(f(ne),{key:5,"model-value":"",size:"sm","aria-label":"Choose a repository","onUpdate:modelValue":r},{default:M(()=>[N[12]||(N[12]=v("option",{value:""},"Choose a repository…",-1)),(h(!0),y(e1,null,_1(f(n),j=>(h(),y("option",{key:j.name,value:j.name},F(j.name),9,Wh))),128))]),_:1})):O("",!0)]),_:1}),f(s)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(s)),1)]),_:1})):O("",!0),k.value!==null?(h(),Q(f(l2),{key:1,tone:"info",class:"mb-4"},{default:M(()=>[k.value?(h(),y(e1,{key:0},[V(" Read "+F(k.value)+" thing"+F(k.value===1?"":"s")+" this repository already states. Nobody has agreed to any of it, so it is all proposed. ",1)],64)):(h(),y(e1,{key:1},[V(" This repository does not state anything in the places projects usually write these down: a decision record, or a conventions section in a contributing guide. ")],64))]),_:1})):O("",!0),f(n).length===0?(h(),Q(y4,{key:2})):c.value.length===0?(h(),Q(f(Re),{key:3,title:"Nothing recorded yet"},{actions:M(()=>[E(f(x1),{variant:"glow",onClick:N[4]||(N[4]=j=>B(null))},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),N[13]||(N[13]=V(" Record something ",-1))]),_:1}),E(f(x1),{variant:"outline",disabled:x.value,onClick:w},{default:M(()=>[x.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(S5),{key:1,class:"mr-2 h-4 w-4"})),N[14]||(N[14]=V(" Read what the repo states ",-1))]),_:1},8,["disabled"])]),default:M(()=>[N[15]||(N[15]=V(" Why a thing is the way it is outlives the code that does it. Write one down and every agent reading this repository over MCP gets it too. ",-1))]),_:1})):(h(),y("div",Lh,[(h(!0),y(e1,null,_1(d.value,j=>(h(),Q(f(tt),{key:`${j.repository??""}${j.id}`,title:j.id,pillar:"memory"},{icon:M(()=>[E(f(q4),{class:"h-5 w-5"})]),badges:M(()=>[E(f(n2),{variant:"secondary"},{default:M(()=>[V(F(j.kind),1)]),_:2},1024),j.status?(h(),Q(f(n2),{key:0,variant:"outline"},{default:M(()=>[V(F(j.status),1)]),_:2},1024)):O("",!0),f(o)&&j.repository?(h(),Q(f(nd),{key:1,name:j.repository},{icon:M(()=>[E(f(_t),{class:"h-3 w-3"})]),_:1},8,["name"])):O("",!0)]),actions:M(()=>[j.status===C.PROPOSED?(h(),y(e1,{key:0},[E(f(x1),{variant:"outline",size:"sm",disabled:C.deciding===j.id,"aria-label":`Accept ${j.id}`,onClick:f1=>C.decide(j,C.ACCEPTED)},{default:M(()=>[C.deciding===j.id?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(Ke),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),N[17]||(N[17]=V(" Accept ",-1))]),_:2},1032,["disabled","aria-label","onClick"]),E(f(x1),{variant:"ghost",size:"icon","aria-label":`Throw out ${j.id}`,onClick:f1=>C.decide(j,null)},{default:M(()=>[E(G,{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])],64)):(h(),y(e1,{key:1},[E(f(x1),{variant:"ghost",size:"icon","aria-label":"Edit",onClick:f1=>B(j)},{default:M(()=>[E(f(F5),{class:"h-4 w-4"})]),_:1},8,["onClick"]),E(f(x1),{variant:"ghost",size:"icon","aria-label":"Remove",onClick:f1=>D(j)},{default:M(()=>[E(f(v4),{class:"h-4 w-4"})]),_:1},8,["onClick"])],64))]),default:M(()=>{var f1;return[v("p",Vh,F(j.summary),1),(f1=j.properties)!=null&&f1.why?(h(),y("dl",Th,[N[16]||(N[16]=v("dt",{class:"text-muted-foreground"},"why",-1)),v("dd",Ph,F(j.properties.why),1)])):O("",!0)]}),_:2},1032,["title"]))),128))])),E(f(g6),{open:!!A.value,"max-width":"xl",onClose:N[10]||(N[10]=j=>A.value=null)},{default:M(()=>{var j;return[v("h2",Hh,F((j=A.value)!=null&&j.fresh?"Record something":"Edit"),1),v("div",Yh,[E(f(Q2),{label:"Name",hint:"What this will be called, and how it is found again."},{default:M(()=>{var f1;return[E(f(P2),{modelValue:m.value.id,"onUpdate:modelValue":N[5]||(N[5]=u1=>m.value.id=u1),readonly:!((f1=A.value)!=null&&f1.fresh),placeholder:"retry-limit"},null,8,["modelValue","readonly"])]}),_:1}),E(f(Q2),{label:"Kind"},{default:M(()=>[E(f(ne),{modelValue:m.value.kind,"onUpdate:modelValue":N[6]||(N[6]=f1=>m.value.kind=f1),class:"w-full"},{default:M(()=>[(h(),y(e1,null,_1(t,f1=>v("option",{key:f1},F(f1),1)),64))]),_:1},8,["modelValue"])]),_:1}),E(f(Q2),{label:"What is true"},{default:M(()=>[E(f(R5),{modelValue:m.value.summary,"onUpdate:modelValue":N[7]||(N[7]=f1=>m.value.summary=f1),placeholder:"Charges retry three times, then stop."},null,8,["modelValue"])]),_:1}),E(f(Q2),{label:"Why",hint:"What stops somebody undoing it next year."},{default:M(()=>[E(f(R5),{modelValue:m.value.why,"onUpdate:modelValue":N[8]||(N[8]=f1=>m.value.why=f1),placeholder:"The provider rate limits after four."},null,8,["modelValue"])]),_:1}),p.value?(h(),Q(f(l2),{key:0,tone:"danger"},{default:M(()=>[V(F(p.value),1)]),_:1})):O("",!0),v("div",Uh,[E(f(x1),{disabled:g.value,onClick:_},{default:M(()=>[E(f(Ke),{class:"mr-1.5 h-3.5 w-3.5"}),N[18]||(N[18]=V(" Save ",-1))]),_:1},8,["disabled"]),E(f(x1),{variant:"outline",onClick:N[9]||(N[9]=f1=>A.value=null)},{default:M(()=>[...N[19]||(N[19]=[V("Cancel",-1)])]),_:1})])])]}),_:1},8,["open"])])}}},zh={key:0,class:"relative"},jh={key:2,class:"space-y-6"},Xh={key:0,class:"text-xs font-semibold uppercase tracking-wide text-muted-foreground"},qh={class:"flex items-center gap-1.5"},eA={class:"flex items-center gap-1.5"},tA={class:"flex items-center gap-1.5"},nA={key:1,class:"text-primary"},lA={__name:"Repositories",setup(e){const t=Ce(),{repositories:n,error:l,fetchRepositories:s}=H2(),o=P({}),a=P(""),r=P(!1),i=P(""),c=P({}),u=z(()=>n.value.some(B=>B.reading)),d=z(()=>{const B=i.value.trim().toLowerCase();return B?n.value.filter(_=>_.name.toLowerCase().includes(B)||_.path.toLowerCase().includes(B)):n.value}),A=z(()=>{const B=new Map;for(const _ of d.value){const D=_.name.includes("/")?_.name.split("/")[0]:"Elsewhere";B.has(D)||B.set(D,[]),B.get(D).push(_)}return[...B.entries()].map(([_,D])=>({owner:_,items:D})).sort((_,D)=>_.owner.localeCompare(D.owner))}),m=z(()=>A.value.length>1),p=B=>m.value&&B.name.includes("/")?B.name.slice(B.name.indexOf("/")+1):B.name;let g=null;async function x(){for(const B of n.value){const _=await w1.graph(B.name).catch(()=>null);o.value={...o.value,[B.name]:_?{files:_.nodes.filter(D=>D.kind==="file").length,links:_.links.length}:null}}}async function $(){await s(),await x(),k()}function k(){clearTimeout(g),u.value&&(g=setTimeout(async()=>{await s(),u.value||await x(),k()},2e3))}async function K(B){a.value=B;try{const[_]=await w1.index(B);c.value={...c.value,[B]:_},l.value=""}catch(_){l.value=_.message}a.value="",await $()}function I(B){return B?B.indexed?`Read ${B.indexed.toLocaleString()} files just now.`:"Nothing had changed.":""}function w(B){return B.reading?"Reading…":B.indexed_at?`Read ${A4(B.indexed_at)}`:"Not read yet"}async function S(B){if(confirm(`Stop covering ${B.path}? +`}return l}render(e,t,n){let l="";const s=this.rules;for(let o=0,a=e.length;o\s]/i.test(e)}function k9(e){return/^<\/a\s*>/i.test(e)}function x9(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,l=t.length;n=0;r--){const i=s[r];if(i.type==="link_close"){for(r--;s[r].level!==i.level&&s[r].type!=="link_open";)r--;continue}if(i.type==="html_inline"&&(b9(i.content)&&a>0&&a--,k9(i.content)&&a++),!(a>0)&&i.type==="text"&&e.md.linkify.test(i.content)){const c=i.content;let u=e.md.linkify.match(c);const d=[];let A=i.level,m=0;u.length>0&&u[0].index===0&&r>0&&s[r-1].type==="text_special"&&(u=u.slice(1));for(let p=0;pm){const B=new e.Token("text","",0);B.content=c.slice(m,k),B.level=A,d.push(B)}const N=new e.Token("link_open","a",1);N.attrs=[["href",x]],N.level=A++,N.markup="linkify",N.info="auto",d.push(N);const C=new e.Token("text","",0);C.content=$,C.level=A,d.push(C);const b=new e.Token("link_close","a",-1);b.level=--A,b.markup="linkify",b.info="auto",d.push(b),m=u[p].lastIndex}if(m0){let r=s.length;for(const d of o)r+=d.nodes.length-1;const i=new Array(r);let c=0,u=0;o.reverse();for(let d=0;d=0;n--){const l=e[n];l.type==="text"&&!t&&(l.content=l.content.replace(C9,I9)),l.type==="link_open"&&l.info==="auto"&&t--,l.type==="link_close"&&l.info==="auto"&&t++}}function E9(e){let t=0;for(let n=e.length-1;n>=0;n--){const l=e[n];l.type==="text"&&!t&&S0.test(l.content)&&(l.content=l.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),l.type==="link_open"&&l.info==="auto"&&t--,l.type==="link_close"&&l.info==="auto"&&t++}}function D9(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(w9.test(e.tokens[t].content)&&M9(e.tokens[t].children),S0.test(e.tokens[t].content)&&E9(e.tokens[t].children))}var Z9=/['"]/,Y7=/['"]/g,J7="’";function S4(e,t,n,l){e[t]||(e[t]=[]),e[t].push({pos:n,ch:l})}function F9(e,t){let n="",l=0;t.sort((s,o)=>s.pos-o.pos);for(let s=0;s=0&&!(l[n].level<=r);n--);if(l.length=n+1,a.type!=="text")continue;const i=a.content;let c=0;const u=i.length;e:for(;c=0)g=i.charCodeAt(d.index-1);else for(n=o-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){g=e[n].content.charCodeAt(e[n].content.length-1);break}let x=32;if(c=48&&g<=57&&(m=A=!1),A&&m&&(A=$,m=k),!A&&!m){p&&S4(s,o,d.index,J7);continue}if(m)for(n=l.length-1;n>=0;n--){let b=l[n];if(l[n].level=0;t--)e.tokens[t].type!=="inline"||!Z9.test(e.tokens[t].content)||B9(e.tokens[t].children,e)}function R9(e){let t,n;const l=e.length;for(t=0;t0&&this.level++,this.tokens.push(l),l}isEmpty(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]}skipEmptyLines(e){for(let t=this.lineMax;et;)if(!J1(this.src.charCodeAt(--e)))return e+1;return e}skipChars(e,t){for(let n=this.src.length;en;)if(t!==this.src.charCodeAt(--e))return e+1;return e}getLines(e,t,n,l){if(e>=t)return"";const s=new Array(t-e);for(let o=0,a=e;an?s[o]=new Array(r-n+1).join(" ")+this.src.slice(c,u):s[o]=this.src.slice(c,u)}return s.join("")}},N9=65536;function n5(e,t){const n=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];return e.src.slice(n,l)}function z7(e){const t=[],n=e.length;let l=0,s=e.charCodeAt(l),o=!1,a=0,r="";for(;ln)return!1;let s=t+1;if(e.sCount[s]=4)return!1;let o=e.bMarks[s]+e.tShift[s];if(o>=e.eMarks[s])return!1;const a=e.src.charCodeAt(o++);if(a!==124&&a!==45&&a!==58||o>=e.eMarks[s])return!1;const r=e.src.charCodeAt(o++);if(r!==124&&r!==45&&r!==58&&!J1(r)||a===45&&J1(r))return!1;for(;o=4)return!1;c=z7(i),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop();const d=c.length;if(d===0||d!==u.length)return!1;if(l)return!0;const A=e.parentType;e.parentType="table";const m=e.md.block.ruler.getRules("blockquote"),p=e.push("table_open","table",1),g=[t,0];p.map=g;const x=e.push("thead_open","thead",1);x.map=[t,t+1];const $=e.push("tr_open","tr",1);$.map=[t,t+1];for(let C=0;C=4||(c=z7(i),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop(),N+=d-c.length,N>N9))break;if(s===t+2){const B=e.push("tbody_open","tbody",1);B.map=k=[t+2,0]}const b=e.push("tr_open","tr",1);b.map=[s,s+1];for(let B=0;B=4){l++,s=l;continue}break}e.line=s;const o=e.push("code_block","code",0);return o.content=e.getLines(t,s,4+e.blkIndent,!1)+` +`,o.map=[t,e.line],!0}function O9(e,t,n,l){let s=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||s+3>o)return!1;const a=e.src.charCodeAt(s);if(a!==126&&a!==96)return!1;let r=s;s=e.skipChars(s,a);let i=s-r;if(i<3)return!1;const c=e.src.slice(r,s),u=e.src.slice(s,o);if(a===96&&u.indexOf(String.fromCharCode(a))>=0)return!1;if(l)return!0;let d=t,A=!1;for(;d++,!(d>=n||(s=r=e.bMarks[d]+e.tShift[d],o=e.eMarks[d],s=4)&&(s=e.skipChars(s,a),!(s-r=4||e.src.charCodeAt(s)!==62)return!1;if(l)return!0;const r=[],i=[],c=[],u=[],d=e.md.block.ruler.getRules("blockquote"),A=e.parentType;e.parentType="blockquote";let m=!1,p;for(p=t;p=o)break;if(e.src.charCodeAt(s++)===62&&!N){let b=e.sCount[p]+1,B,S;e.src.charCodeAt(s)===32?(s++,b++,S=!1,B=!0):e.src.charCodeAt(s)===9?(B=!0,(e.bsCount[p]+b)%4===3?(s++,b++,S=!1):S=!0):B=!1;let I=b;for(r.push(e.bMarks[p]),e.bMarks[p]=s;s=o,i.push(e.bsCount[p]),e.bsCount[p]=e.sCount[p]+1+(B?1:0),c.push(e.sCount[p]),e.sCount[p]=I-b,u.push(e.tShift[p]),e.tShift[p]=s-e.bMarks[p];continue}if(m)break;let C=!1;for(let b=0,B=d.length;b";const $=[t,0];x.map=$,e.md.block.tokenize(e,t,p);const k=e.push("blockquote_close","blockquote",-1);k.markup=">",e.lineMax=a,e.parentType=A,$[1]=e.line;for(let N=0;N=4)return!1;let o=e.bMarks[t]+e.tShift[t];const a=e.src.charCodeAt(o++);if(a!==42&&a!==45&&a!==95)return!1;let r=1;for(;o=l)return-1;let o=e.src.charCodeAt(s++);if(o<48||o>57)return-1;for(;;){if(s>=l)return-1;if(o=e.src.charCodeAt(s++),o>=48&&o<=57){if(s-n>=10)return-1;continue}if(o===41||o===46)break;return-1}return s=4||e.listIndent>=0&&e.sCount[i]-e.listIndent>=4&&e.sCount[i]=e.blkIndent&&(u=!0);let d,A,m;if((m=X7(e,i))>=0){if(d=!0,a=e.bMarks[i]+e.tShift[i],A=Number(e.src.slice(a,m-1)),u&&A!==1)return!1}else if((m=j7(e,i))>=0)d=!1;else return!1;if(u&&e.skipSpaces(m)>=e.eMarks[i])return!1;if(l)return!0;const p=e.src.charCodeAt(m-1),g=e.tokens.length;d?(r=e.push("ordered_list_open","ol",1),A!==1&&(r.attrs=[["start",A]])):r=e.push("bullet_list_open","ul",1);const x=[i,0];r.map=x,r.markup=String.fromCharCode(p);let $=!1;const k=e.md.block.ruler.getRules("list"),N=e.parentType;for(e.parentType="list";i=s?S=1:S=b-C,S>4&&(S=1);const I=C+S;r=e.push("list_item_open","li",1),r.markup=String.fromCharCode(p);const D=[i,0];r.map=D,d&&(r.info=e.src.slice(a,m-1));const _=e.tight,K=e.tShift[i],G=e.sCount[i],j=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=I,e.tight=!0,e.tShift[i]=B-e.bMarks[i],e.sCount[i]=b,B>=s&&e.isEmpty(i+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,i,n),(!e.tight||$)&&(c=!1),$=e.line-i>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=j,e.tShift[i]=K,e.sCount[i]=G,e.tight=_,r=e.push("list_item_close","li",-1),r.markup=String.fromCharCode(p),i=e.line,D[1]=i,i>=n||e.sCount[i]=4)break;let f1=!1;for(let u1=0,A1=k.length;u1=4||e.src.charCodeAt(s)!==91)return!1;function r(C){const b=e.lineMax;if(C>=b||e.isEmpty(C))return null;let B=!1;if(e.sCount[C]-e.blkIndent>3&&(B=!0),e.sCount[C]<0&&(B=!0),!B){const D=e.md.block.ruler.getRules("reference"),_=e.parentType;e.parentType="reference";let K=!1;for(let G=0,j=D.length;G"u"&&(e.env.references={}),typeof e.env.references[$]>"u"&&(e.env.references[$]={title:x,href:d});const k=e.push("reference_definition","",0);k.map=[t,a],k.hidden=!0;const N=Object.create(null);return N.label=$,k.meta=N,e.line=a,!0}var P9=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],N0=`<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`,K0="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",H9=new RegExp(`^(?:${N0}|${K0}||<[?][\\s\\S]*?[?]>|]*>|)`),U9=new RegExp(`^(?:${N0}|${K0})`),Ue=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp(`^|$))`,"i"),/^$/,!0],[new RegExp(`${U9.source}\\s*$`),/^$/,!1]];function Y9(e,t,n,l){let s=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(s)!==60)return!1;let a=e.src.slice(s,o),r=0;for(;r=4)return!1;let a=e.src.charCodeAt(s);if(a!==35||s>=o)return!1;let r=1;for(a=e.src.charCodeAt(++s);a===35&&s6||ss&&J1(e.src.charCodeAt(i-1))&&(o=i),e.line=t+1;const c=e.push("heading_open",`h${r}`,1);c.markup="########".slice(0,r),c.map=[t,e.line];const u=e.push("inline","",0);u.content=Ft(e.src.slice(s,o)),u.map=[t,e.line],u.children=[];const d=e.push("heading_close",`h${r}`,-1);return d.markup="########".slice(0,r),!0}function z9(e,t,n){const l=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const s=e.parentType;e.parentType="paragraph";let o=0,a,r=t+1;for(;r3)continue;if(e.sCount[r]>=e.blkIndent){let m=e.bMarks[r]+e.tShift[r];const p=e.eMarks[r];if(m=p))){o=a===61?1:2;break}}if(e.sCount[r]<0)continue;let A=!1;for(let m=0,p=l.length;m3||e.sCount[o]<0)continue;let c=!1;for(let u=0,d=l.length;u=n||e.sCount[a]=o){e.line=n;break}const i=e.line;let c=!1;for(let u=0;u=e.line)throw new Error("block rule didn't increment state.line");break}if(!c)throw new Error("none of the block rules matched");e.tight=!r,e.isEmpty(e.line-1)&&(r=!0),a=e.line,a0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],s={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(l),this.tokens_meta.push(s),l}scanDelims(e,t){const n=this.posMax,l=this.src.charCodeAt(e);let s;if(e===0)s=32;else if(e===1)s=this.src.charCodeAt(0),(s&63488)===55296&&(s=65533);else if(s=this.src.charCodeAt(e-1),(s&64512)===56320){const p=this.src.charCodeAt(e-2);s=(p&64512)===55296?65536+(p-55296<<10)+(s-56320):65533}else(s&64512)===55296&&(s=65533);let o=e;for(;o=65&&e<=90||e>=97&&e<=122}function tu(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===45||e===46}function nu(e,t){if(!e.md.options.linkify||e.linkLevel>0)return!1;const n=e.pos,l=e.posMax;if(n+3>l||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const s=n-Math.min(10,e.pending.length,n);let o=n;for(;o>s&&tu(e.src.charCodeAt(o-1));)o--;if(o===n||!eu(e.src.charCodeAt(o)))return!1;const a=n-o,r=e.md.linkify.matchAtStart(e.src.slice(o));if(!r)return!1;let i=r.url;if(i.length<=a)return!1;let c=i.length;for(;c>0&&i.charCodeAt(c-1)===42;)c--;c!==i.length&&(i=i.slice(0,c));const u=e.md.normalizeLink(i);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-a);const d=e.push("link_open","a",1);d.attrs=[["href",u]],d.markup="linkify",d.info="auto";const A=e.push("text","",0);A.content=e.md.normalizeLinkText(i);const m=e.push("link_close","a",-1);m.markup="linkify",m.info="auto"}return e.pos+=i.length-a,!0}function lu(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const l=e.pending.length-1,s=e.posMax;if(!t)if(l>=0&&e.pending.charCodeAt(l)===32)if(l>=1&&e.pending.charCodeAt(l-1)===32){let o=l-1;for(;o>=1&&e.pending.charCodeAt(o-1)===32;)o--;e.pending=e.pending.slice(0,o),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){v6[e.charCodeAt(0)]=1});function su(e,t){let n=e.pos;const l=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=l))return!1;let s=e.src.charCodeAt(n);if(s===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&s<=56319&&n+1=56320&&r<=57343&&(o+=e.src[n+1],n++)}const a="\\"+o;if(!t){const r=e.push("text_special","",0);s<256&&v6[s]!==0?r.content=o:r.content=a,r.markup=a,r.info="escape"}return e.pos=n+1,!0}function ou(e){const t={};let n=0;for(;(n=e.indexOf("`",n))!==-1;){const l=n;for(;e.charCodeAt(++n)===96;);t[n-l]=l}return t}function au(e,t){var n;const l=e.pos;if(e.src.charCodeAt(l)!==96)return!1;const s=e.posMax;let o=l+1;for(;o=o){let i=o,c;for(;(c=e.src.indexOf("`",i))!==-1&&cs)break;if(i-c===r){if(!t){const u=e.push("code_inline","code",0);u.markup=a;let d=e.src.slice(o,c).replace(/\n/g," ");d.startsWith(" ")&&d.endsWith(" ")&&/[^ ]/.test(d)&&(d=d.slice(1,-1)),u.content=d}return e.pos=i,!0}}}return t||(e.pending+=a),e.pos=o,!0}function ru(e,t){const n=e.pos,l=e.src.charCodeAt(n);if(t||l!==126)return!1;const s=e.scanDelims(e.pos,!0);let o=s.length;const a=String.fromCharCode(l);if(o<2)return!1;let r;o%2&&(r=e.push("text","",0),r.content=a,o--);for(let i=0;i=0;l--){const s=t[l];if(s.marker!==95&&s.marker!==42||s.end===-1)continue;const o=t[s.end],a=l>0&&t[l-1].end===s.end+1&&t[l-1].marker===s.marker&&t[l-1].token===s.token-1&&t[s.end+1].token===o.token+1,r=String.fromCharCode(s.marker),i=e.tokens[s.token];i.type=a?"strong_open":"em_open",i.tag=a?"strong":"em",i.nesting=1,i.markup=a?r+r:r,i.content="";const c=e.tokens[o.token];c.type=a?"strong_close":"em_close",c.tag=a?"strong":"em",c.nesting=-1,c.markup=a?r+r:r,c.content="",a&&(e.tokens[t[l-1].token].content="",e.tokens[t[s.end+1].token].content="",l--)}}function uu(e){const t=e.tokens_meta,n=e.tokens_meta.length;en(e,e.delimiters);for(let s=0;s=d)return!1;if(i=p,s=e.md.helpers.parseLinkDestination(e.src,p,e.posMax),s.ok){for(a=e.md.normalizeLink(s.str),e.md.validateLink(a)?p=s.pos:a="",i=p;p=d||e.src.charCodeAt(p)!==41)&&(c=!0),p++}if(c){if(typeof e.env.references>"u")return!1;if(p=0?l=e.src.slice(i,p++):p=m+1):p=m+1,l||(l=e.src.slice(A,m)),l=Zt(l),o=e.env.references[l],!o)return e.pos=u,!1;a=o.href,r=o.title}if(!t){e.pos=A,e.posMax=m;const g=e.push("link_open","a",1),x=[["href",a]];if(g.attrs=x,r&&x.push(["title",r]),l){const $=Object.create(null);$.label=l,g.meta=$}e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=p,e.posMax=d,!0}function fu(e,t){let n,l,s,o,a,r,i,c,u="";const d=e.pos,A=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const m=e.pos+2,p=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(p<0)return!1;if(o=p+1,o=A)return!1;for(c=o,r=e.md.helpers.parseLinkDestination(e.src,o,e.posMax),r.ok&&(u=e.md.normalizeLink(r.str),e.md.validateLink(u)?o=r.pos:u=""),c=o;o=A||e.src.charCodeAt(o)!==41)return e.pos=d,!1;o++}else{if(typeof e.env.references>"u")return!1;if(o=0?s=e.src.slice(c,o++):o=p+1):o=p+1,s||(s=e.src.slice(m,p)),s=Zt(s),a=e.env.references[s],!a)return e.pos=d,!1;u=a.href,i=a.title}if(!t){l=e.src.slice(m,p);const g=[];e.md.inline.parse(l,e.md,e.env,g);const x=e.push("image","img",0),$=[["src",u],["alt",""]];if(x.attrs=$,x.children=g,x.content=l,i&&$.push(["title",i]),s){const k=Object.create(null);k.label=s,x.meta=k}}return e.pos=o,e.posMax=A,!0}var hu=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,Au=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function pu(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const l=e.pos,s=e.posMax;for(;;){if(++n>=s)return!1;const a=e.src.charCodeAt(n);if(a===60)return!1;if(a===62)break}const o=e.src.slice(l+1,n);if(Au.test(o)){const a=e.md.normalizeLink(o);if(!e.md.validateLink(a))return!1;if(!t){const r=e.push("link_open","a",1);r.attrs=[["href",a]],r.markup="autolink",r.info="auto";const i=e.push("text","",0);i.content=e.md.normalizeLinkText(o);const c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=o.length+2,!0}if(hu.test(o)){const a=e.md.normalizeLink(`mailto:${o}`);if(!e.md.validateLink(a))return!1;if(!t){const r=e.push("link_open","a",1);r.attrs=[["href",a]],r.markup="autolink",r.info="auto";const i=e.push("text","",0);i.content=e.md.normalizeLinkText(o);const c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=o.length+2,!0}return!1}function mu(e){return/^\s]/i.test(e)}function gu(e){return/^<\/a\s*>/i.test(e)}function vu(e){const t=e|32;return t>=97&&t<=122}function yu(e,t){if(!e.md.options.html)return!1;const n=e.posMax,l=e.pos;if(e.src.charCodeAt(l)!==60||l+2>=n)return!1;const s=e.src.charCodeAt(l+1);if(s!==33&&s!==63&&s!==47&&!vu(s))return!1;const o=e.src.slice(l).match(H9);if(!o)return!1;if(!t){const a=e.push("html_inline","",0);a.content=o[0],mu(a.content)&&e.linkLevel++,gu(a.content)&&e.linkLevel--}return e.pos+=o[0].length,!0}var bu=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,ku=/^&([a-z][a-z0-9]{1,31});/i;function xu(e,t){const n=e.pos,l=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=l)return!1;if(e.src.charCodeAt(n+1)===35){const s=e.src.slice(n).match(bu);if(s){if(!t){const o=s[1][0].toLowerCase()==="x"?parseInt(s[1].slice(1),16):parseInt(s[1],10),a=e.push("text_special","",0);a.content=g6(o)?c4(o):c4(65533),a.markup=s[0],a.info="entity"}return e.pos+=s[0].length,!0}}else{const s=e.src.slice(n).match(ku);if(s){const o=v0(s[0]);if(o!==s[0]){if(!t){const a=e.push("text_special","",0);a.content=o,a.markup=s[0],a.info="entity"}return e.pos+=s[0].length,!0}}}return!1}function tn(e){const t={},n=e.length;if(!n)return;let l=0,s=-2;const o=[];for(let a=0;ai;c-=o[c]+1){const d=e[c];if(d.marker===r.marker&&d.open&&d.end<0){let A=!1;if((d.close||r.open)&&(d.length+r.length)%3===0&&(d.length%3!==0||r.length%3!==0)&&(A=!0),!A){const m=c>0&&!e[c-1].open?o[c-1]+1:0;o[a]=a-c+m,o[c]=m,r.open=!1,d.end=a,d.close=!1,u=-1,s=-2;break}}}u!==-1&&(t[r.marker][(r.open?3:0)+(r.length||0)%3]=u)}}function wu(e){const t=e.tokens_meta,n=e.tokens_meta.length;tn(e.delimiters);for(let s=0;s0&&l++,s[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;a||e.pos++,o[t]=e.pos}tokenize(e){const t=this.ruler.getRules(""),n=t.length,l=e.posMax,s=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(a){if(e.pos>=l)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()}parse(e,t,n,l){const s=new this.State(e,t,n,l);this.tokenize(s);const o=this.ruler2.getRules(""),a=o.length;for(let r=0;r=0))try{t.hostname=P7.toASCII(t.hostname)}catch{}return t.auth&&(t.auth=me(t.auth)),t.hostname&&(t.hostname=me(t.hostname)),t.pathname&&(t.pathname=me(t.pathname)),t.search&&(t.search=me(t.search)),t.hash&&(t.hash=me(t.hash)),N5(t)}normalizeLinkText(e){const t=K5(e,!0);if(t.hostname&&(!t.protocol||nn.indexOf(t.protocol)>=0))try{t.hostname=P7.toUnicode(t.hostname)}catch{}return E3(N5(t),E3.defaultChars+"%")}constructor(...e){g1(this,"inline",new L0),g1(this,"block",new Q0),g1(this,"core",new R0),g1(this,"renderer",new F0),g1(this,"linkify",new Kc),g1(this,"utils",Jc),g1(this,"helpers",Object.assign({},d9));const[t,n]=e;typeof t=="string"?(this.configure(t),n&&this.set(n)):(this.configure("default"),this.set(t||{}))}set(e){return Object.assign(this.options,e),this}configure(e){let t;if(typeof e=="string"){const s=e;if(t=_u[s],!t)throw new Error(`Wrong 'markdown-it' preset "${s}", check name`)}else t=e;if(!t)throw new Error("Wrong `markdown-it` preset, can't be empty");t.options&&(this.options={...t.options});const n=t.components;if(n){var l;["core","block","inline"].forEach(o=>{var a;const r=(a=n[o])===null||a===void 0?void 0:a.rules;r&&this[o].ruler.enableOnly(r)});const s=(l=n.inline)===null||l===void 0?void 0:l.rules2;s&&this.inline.ruler2.enableOnly(s)}return this}enable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(s=>{n=n.concat(this[s].ruler.enable(e,!0))}),n=n.concat(this.inline.ruler2.enable(e,!0));const l=e.filter(s=>n.indexOf(s)<0);if(l.length&&!t)throw new Error(`MarkdownIt. Failed to enable unknown rule(s): ${l}`);return this}disable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(s=>{n=n.concat(this[s].ruler.disable(e,!0))}),n=n.concat(this.inline.ruler2.disable(e,!0));const l=e.filter(s=>n.indexOf(s)<0);if(l.length&&!t)throw new Error(`MarkdownIt. Failed to disable unknown rule(s): ${l}`);return this}use(e,...t){return e.apply(e,[this,...t]),this}parse(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens}render(e,t={}){return this.renderer.render(this.parse(e,t),this.options,t)}parseInline(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens}renderInline(e,t={}){return this.renderer.render(this.parseInline(e,t),this.options,t)}};g1(ae,"Token",a3);g1(ae,"Ruler",A4);g1(ae,"Renderer",F0);g1(ae,"ParserCore",R0);g1(ae,"StateCore",B0);g1(ae,"ParserBlock",Q0);g1(ae,"StateBlock",$0);g1(ae,"ParserInline",L0);g1(ae,"StateInline",O0);var Eu=E0(ae);const Du=["innerHTML"],B2=K1({__name:"Markdown",props:{source:{},class:{}},setup(e){const t=e,n=new Eu({html:!1,linkify:!0,breaks:!1}),l=z(()=>n.render(t.source??"")),s=["prose prose-sm max-w-none","prose-headings:text-foreground prose-headings:font-semibold","prose-p:text-muted-foreground prose-li:text-muted-foreground","prose-strong:text-foreground prose-em:text-foreground","prose-a:text-primary prose-a:no-underline hover:prose-a:underline","prose-code:text-foreground prose-code:before:content-none prose-code:after:content-none","prose-code:rounded prose-code:bg-muted/60 prose-code:px-1 prose-code:py-0.5","prose-pre:bg-muted/50 prose-pre:text-foreground prose-pre:border","prose-blockquote:border-border prose-blockquote:text-muted-foreground","prose-hr:border-border prose-th:text-foreground prose-td:text-muted-foreground"].join(" ");return(o,a)=>(h(),y("div",{class:o1(f(E1)(f(s),t.class)),innerHTML:l.value},null,10,Du))}}),Zu={key:0,class:"space-y-2 border-b bg-muted/30 p-3"},Fu={class:"px-3 py-2"},Bu={key:0,class:"overflow-x-auto border-t bg-destructive/10 px-3 py-2 font-mono text-xs"},Su={key:1,class:"overflow-x-auto border-t bg-success/10 px-3 py-2 font-mono text-xs"},Ru={key:1,class:"p-4 text-sm text-muted-foreground"},$u={key:2,class:"overflow-x-auto"},Nu={class:"w-full border-collapse font-mono text-xs leading-relaxed"},Ku={class:"w-12 select-none border-r px-2 text-right align-top text-muted-foreground"},Qu={class:"w-12 select-none border-r px-2 text-right align-top text-muted-foreground"},Ou={class:"w-4 select-none pl-2 align-top text-muted-foreground"},Gu={class:"whitespace-pre-wrap break-all py-0.5 pr-3 align-top"},Wu={colspan:"4",class:"px-3 py-2"},Lu={class:"px-3 py-2"},Tu={key:0,class:"overflow-x-auto border-t bg-destructive/10 px-3 py-2 font-mono text-xs"},Vu={key:1,class:"overflow-x-auto border-t bg-success/10 px-3 py-2 font-mono text-xs"},Pu=K1({__name:"Diff",props:{patch:{default:""},notes:{default:()=>[]},class:{}},setup(e){const t=e,n={neutral:"bg-card",info:"border-primary/30 bg-primary/5",success:"border-success/40 bg-success/5",warning:"border-warning/40 bg-warning/5",danger:"border-destructive/40 bg-destructive/5"};function l(u){return u.severity==="blocking"?n.danger:n[u.tone??"neutral"]??n.neutral}const s=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/,o=z(()=>{const u=[];let d=0,A=0,m=!1;for(const p of(t.patch??"").split(` +`)){const g=s.exec(p);if(g){d=Number(g[1]),A=Number(g[2]),m=!0,u.push({kind:"hunk",text:p,before:null,after:null});continue}m&&(p.startsWith("+")?u.push({kind:"added",text:p.slice(1),before:null,after:A++}):p.startsWith("-")?u.push({kind:"removed",text:p.slice(1),before:d++,after:null}):p.startsWith("\\")?u.push({kind:"meta",text:p,before:null,after:null}):u.push({kind:"kept",text:p.slice(1),before:d++,after:A++}))}return u}),a={added:"bg-success/10",removed:"bg-destructive/10",hunk:"bg-muted/60 text-muted-foreground",meta:"text-muted-foreground",kept:""},r={added:"+",removed:"-",kept:" ",hunk:"",meta:""},i=z(()=>{const u=new Map;for(const d of t.notes??[])d.line&&u.set(d.line,[...u.get(d.line)??[],d]);return u}),c=z(()=>(t.notes??[]).filter(u=>!u.line));return(u,d)=>(h(),y("div",{class:o1(f(E1)("overflow-hidden rounded-md border",t.class))},[c.value.length?(h(),y("div",Zu,[(h(!0),y(e1,null,_1(c.value,(A,m)=>(h(),y("div",{key:m,class:o1(["rounded border text-sm",l(A)])},[v("div",Fu,[A.from?(h(),Q(j3,{key:0,tone:A.severity==="blocking"?"danger":A.tone??"neutral",title:String(A.from),label:String(A.from).toLowerCase(),class:"mr-2"},null,8,["tone","title","label"])):O("",!0),M(B2,{source:A.detail,class:"inline [&>p]:inline"},null,8,["source"])]),A.replacing?(h(),y("pre",Bu,F(A.replacing),1)):O("",!0),A.code?(h(),y("pre",Su,F(A.code),1)):O("",!0)],2))),128))])):O("",!0),o.value.length?(h(),y("div",$u,[v("table",Nu,[v("tbody",null,[(h(!0),y(e1,null,_1(o.value,(A,m)=>(h(),y(e1,{key:m},[v("tr",{class:o1(a[A.kind])},[v("td",Ku,F(A.before??""),1),v("td",Qu,F(A.after??""),1),v("td",Ou,F(r[A.kind]),1),v("td",Gu,F(A.text),1)],2),(h(!0),y(e1,null,_1(i.value.get(A.after??-1)??[],(p,g)=>(h(),y("tr",{key:`${m}-${g}`},[v("td",Wu,[v("div",{class:o1(["rounded border font-sans text-sm",l(p)])},[v("div",Lu,[p.from?(h(),Q(j3,{key:0,tone:p.severity==="blocking"?"danger":p.tone??"neutral",title:String(p.from),label:String(p.from).toLowerCase(),class:"mr-2"},null,8,["tone","title","label"])):O("",!0),M(B2,{source:p.detail,class:"inline [&>p]:inline"},null,8,["source"])]),p.replacing?(h(),y("pre",Tu,F(p.replacing),1)):O("",!0),p.code?(h(),y("pre",Vu,F(p.code),1)):O("",!0)],2)])]))),128))],64))),128))])])])):(h(),y("div",Ru," Nothing to show for this one. It may be a file git stores whole rather than as lines. "))],2))}}),Hu={class:"flex items-center gap-2.5"},Uu=K1({__name:"Logo",props:{size:{default:"md"},showText:{type:Boolean,default:!0}},setup(e){const t={sm:"h-7 w-7 min-h-7 min-w-7",md:"h-8 w-8 min-h-8 min-w-8",lg:"h-10 w-10 min-h-10 min-w-10"},n={sm:"text-base",md:"text-lg",lg:"text-xl"};return(l,s)=>(h(),y("div",Hu,[v("div",{class:o1([t[e.size],"relative flex-shrink-0"])},[...s[0]||(s[0]=[Os('',1)])],2),e.showText?(h(),y("span",{key:0,class:o1([n[e.size],"font-semibold tracking-tight"])},[...s[1]||(s[1]=[v("span",{class:"text-brand"},"Source",-1),v("span",{class:"text-brand"},"Ant",-1),v("span",{class:"text-muted-foreground font-normal ml-1"},"Memory",-1)])],2)):O("",!0)]))}}),Yu={key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4"},y6=K1({__name:"Modal",props:{open:{type:Boolean},class:{},maxWidth:{default:"lg"}},emits:["close"],setup(e,{emit:t}){const n=e,l=t,s={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl"};function o(a){a.key==="Escape"&&l("close")}return o2(()=>window.addEventListener("keydown",o)),Oe(()=>window.removeEventListener("keydown",o)),(a,r)=>(h(),Q(Jl,{to:"body"},[M(E8,{"enter-active-class":"transition duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition duration-150","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:E(()=>[e.open?(h(),y("div",Yu,[v("div",{class:"absolute inset-0 bg-background/80 backdrop-blur-sm",onClick:r[0]||(r[0]=i=>l("close"))}),M(O1,{class:o1(f(E1)("relative w-full max-h-[85vh] overflow-auto p-6 animate-fade-up",s[e.maxWidth],n.class))},{default:E(()=>[v("button",{class:"absolute top-4 right-4 p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",onClick:r[1]||(r[1]=i=>l("close"))},[M(f(i3),{class:"h-4 w-4"})]),G1(a.$slots,"default")]),_:3},8,["class"])])):O("",!0)]),_:3})]))}}),Ju=["role"],zu={class:"min-w-0 flex-1"},l2=K1({__name:"Notice",props:{tone:{default:"info"},icon:{type:Boolean,default:!0},class:{}},setup(e){const t=e,n={info:"border-border bg-muted/50 text-foreground",success:"border-success/40 bg-success/10 text-foreground",warning:"border-warning/40 bg-warning/10 text-foreground",danger:"border-destructive/40 bg-destructive/10 text-foreground"},l={info:zr,success:u6,warning:lt,danger:F5},s={info:"text-muted-foreground",success:"text-success",warning:"text-warning",danger:"text-destructive"},o=z(()=>l[t.tone]);return(a,r)=>(h(),y("div",{class:o1(f(E1)("flex gap-3 rounded-md border px-4 py-3 text-sm",n[e.tone],t.class)),role:e.tone==="danger"?"alert":"status"},[e.icon?(h(),Q(A2(o.value),{key:0,class:o1(f(E1)("mt-0.5 h-4 w-4 shrink-0",s[e.tone]))},null,8,["class"])):O("",!0),v("div",zu,[G1(a.$slots,"default")]),G1(a.$slots,"actions")],10,Ju))}}),ju={class:"relative flex h-2 w-2 shrink-0"},Xu={key:0,class:"text-muted-foreground tabular-nums"},T0=K1({__name:"Status",props:{tone:{default:"neutral"},label:{},count:{default:null},busy:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={neutral:"bg-muted-foreground",info:"bg-primary",success:"bg-success",warning:"bg-warning",danger:"bg-destructive"},l={neutral:"text-muted-foreground",info:"text-foreground",success:"text-foreground",warning:"text-foreground",danger:"text-foreground"},s=z(()=>t.count===null||t.count===void 0?null:t.count);return(o,a)=>(h(),y("span",{class:o1(f(E1)("inline-flex items-center gap-2 text-sm font-medium",l[e.tone],t.class)),role:"status"},[v("span",ju,[e.busy?(h(),y("span",{key:0,class:o1(f(E1)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-60",n[e.tone]))},null,2)):O("",!0),v("span",{class:o1(f(E1)("relative inline-flex h-2 w-2 rounded-full",n[e.tone]))},null,2)]),v("span",null,F(e.label),1),s.value!==null?(h(),y("span",Xu,F(s.value),1)):O("",!0)],2))}}),qu={key:0,class:"mb-3 flex justify-center text-muted-foreground"},ed={key:1,class:"mx-auto mt-1 max-w-lg text-sm text-muted-foreground"},td={key:2,class:"mt-4 flex flex-wrap items-center justify-center gap-2"},Re=K1({__name:"Empty",props:{title:{},compact:{type:Boolean,default:!1},class:{}},setup(e){const t=e;return(n,l)=>(h(),Q(O1,{class:o1(f(E1)("px-6 text-center",t.compact?"py-8":"py-16",t.class))},{default:E(()=>[n.$slots.icon?(h(),y("div",qu,[G1(n.$slots,"icon")])):O("",!0),v("h2",{class:o1(f(E1)("font-semibold",t.compact?"text-base":"text-lg"))},F(e.title),3),n.$slots.default?(h(),y("p",ed,[G1(n.$slots,"default")])):O("",!0),n.$slots.actions?(h(),y("div",td,[G1(n.$slots,"actions")])):O("",!0)]),_:3},8,["class"]))}}),nd={class:"relative flex items-center justify-center"},ld={class:"animate-fade-in space-y-1.5"},V0=K1({__name:"Loading",props:{label:{default:"Working"},source:{},note:{},size:{default:"md"},fill:{type:Boolean,default:!0},class:{}},setup(e){const t=e,n={sm:"h-10 w-10",md:"h-14 w-14",lg:"h-16 w-16"},l={sm:"h-14 w-14",md:"h-20 w-20",lg:"h-24 w-24"},s={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"},o={sm:"text-xs",md:"text-sm",lg:"text-base"},a={sm:"text-[11px]",md:"text-xs",lg:"text-sm"},r=z(()=>t.size==="sm"?"py-8":"py-16"),i=z(()=>t.source?`${t.label} from ${t.source}`:t.label);return(c,u)=>(h(),y("div",{class:o1(f(E1)("flex flex-col items-center justify-center gap-5 px-6 text-center",e.fill?"min-h-0 flex-1":r.value,t.class)),role:"status","aria-live":"polite"},[v("div",nd,[v("span",{class:o1(f(E1)("absolute animate-pulse rounded-full bg-primary/25 blur-2xl",l[e.size])),"aria-hidden":"true"},null,2),v("span",{class:o1(f(E1)("rounded-full border-2 border-border/70",n[e.size])),"aria-hidden":"true"},null,2),v("span",{class:o1(f(E1)("absolute animate-spin rounded-full border-2 border-transparent border-t-primary border-r-primary/50",n[e.size])),"aria-hidden":"true"},null,2),v("span",{class:o1(f(E1)("absolute animate-pulse rounded-full bg-primary",s[e.size])),"aria-hidden":"true"},null,2)]),v("div",ld,[v("p",{class:o1(f(E1)("font-medium text-foreground",o[e.size]))},F(i.value),3),e.note||c.$slots.default?(h(),y("p",{key:0,class:o1(f(E1)("mx-auto max-w-md text-muted-foreground",a[e.size]))},[G1(c.$slots,"default",{},()=>[T(F(e.note),1)])],2)):O("",!0)])],2))}}),sd={key:0,class:"shrink-0"},od={class:"truncate"},ad=K1({__name:"Origin",props:{name:{},mono:{type:Boolean,default:!0},class:{}},setup(e){const t=e;return(n,l)=>(h(),y("span",{class:o1(f(E1)("inline-flex max-w-full items-center gap-1 rounded border border-border/60 bg-muted/40 px-1.5 py-0.5 text-[11px] text-muted-foreground",t.mono&&"font-mono",t.class))},[n.$slots.icon?(h(),y("span",sd,[G1(n.$slots,"icon")])):O("",!0),v("span",od,F(e.name),1)],2))}}),rd={class:"font-semibold"},id={class:"mt-3"},Ye=K1({__name:"Section",props:{title:{},tone:{default:"neutral"},count:{default:null},collapsible:{type:Boolean,default:!1},closed:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n=V(!t.closed),l={neutral:"text-muted-foreground",info:"text-primary",success:"text-success",warning:"text-warning",danger:"text-destructive"},s={neutral:"bg-muted text-muted-foreground",info:"bg-primary/10 text-primary",success:"bg-success/10 text-success",warning:"bg-warning/10 text-warning",danger:"bg-destructive/10 text-destructive"},o=z(()=>t.collapsible?n.value:!0);return(a,r)=>(h(),y("section",{class:o1(f(E1)("py-4 first:pt-0 last:pb-0",t.class))},[(h(),Q(A2(e.collapsible?"button":"div"),{type:e.collapsible?"button":void 0,"aria-expanded":e.collapsible?String(n.value):void 0,class:o1(f(E1)("flex w-full items-center gap-2 text-left",e.collapsible&&"cursor-pointer")),onClick:r[0]||(r[0]=i=>e.collapsible&&(n.value=!n.value))},{default:E(()=>[a.$slots.icon?(h(),y("span",{key:0,class:o1(f(E1)("shrink-0",l[e.tone]))},[G1(a.$slots,"icon")],2)):O("",!0),v("h2",rd,F(e.title),1),e.count!==null?(h(),y("span",{key:1,class:o1(f(E1)("rounded-full px-2 py-0.5 text-xs font-medium tabular-nums",s[e.tone]))},F(e.count),3)):O("",!0),e.collapsible?(h(),Q(f(Mt),{key:2,class:o1(f(E1)("ml-auto h-4 w-4 shrink-0 text-muted-foreground transition-transform",n.value&&"rotate-180"))},null,8,["class"])):O("",!0)]),_:3},8,["type","aria-expanded","class"])),te(v("div",id,[G1(a.$slots,"default")],512),[[s6,o.value]])],2))}});function O2(e){return e.replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,""").replace(//g,">")}function cd(e){var t,n,l,s,o,a,r;const i=(t=e.meta)===null||t===void 0?void 0:t.title,c=(n=e.meta)===null||n===void 0?void 0:n.creator,u=(l=e.meta)===null||l===void 0?void 0:l.source,d=(o=(s=e.meta)===null||s===void 0?void 0:s.license)===null||o===void 0?void 0:o.url,A=ud(e);return!i&&!c&&!u&&!d&&!A?"":''+(i?`${O2(i)}`:"")+(c?`${O2(c)}`:"")+(u?`${O2((r=(a=e.meta)===null||a===void 0?void 0:a.source)!==null&&r!==void 0?r:"")}`:"")+(d?`${O2(d)}`:"")+(A?`${O2(A)}`:"")+""}function ud(e){var t,n,l,s,o,a,r,i,c,u,d,A,m,p,g;let x=!((t=e.meta)===null||t===void 0)&&t.title?`„${(n=e.meta)===null||n===void 0?void 0:n.title}”`:"Design",$=`„${(s=(l=e.meta)===null||l===void 0?void 0:l.creator)!==null&&s!==void 0?s:"Unknown"}”`;!((o=e.meta)===null||o===void 0)&&o.source&&(x+=` (${e.meta.source})`);let k="";return((r=(a=e.meta)===null||a===void 0?void 0:a.license)===null||r===void 0?void 0:r.name)!=="MIT"&&((i=e.meta)===null||i===void 0?void 0:i.creator)!=="DiceBear"&&(!((c=e.meta)===null||c===void 0)&&c.title)&&(k+="Remix of "),k+=`${x} by ${$}`,!((d=(u=e.meta)===null||u===void 0?void 0:u.license)===null||d===void 0)&&d.name&&(k+=`, licensed under „${(m=(A=e.meta)===null||A===void 0?void 0:A.license)===null||m===void 0?void 0:m.name}”`,!((g=(p=e.meta)===null||p===void 0?void 0:p.license)===null||g===void 0)&&g.url&&(k+=` (${e.meta.license.url})`)),k}const ln=-2147483648,dd=2147483647,fd=1024;function P0(e){return e^=e<<13,e^=e>>17,e^=e<<5,e}function hd(e){let t=0;for(let n=0;nt=P0(t),l=(s,o)=>Math.floor((n()-ln)/(dd-ln)*(o+1-s)+s);return{seed:e,next:n,bool(s=50){return l(1,100)<=s},integer(s,o){return l(s,o)},pick(s,o){var a;return s.length===0?(n(),o):(a=s[l(0,s.length-1)])!==null&&a!==void 0?a:o},shuffle(s){const o=at(n().toString()),a=[...s];for(let r=a.length-1;r>0;r--){const i=o.integer(0,r);[a[r],a[i]]=[a[i],a[r]]}return a},string(s,o="abcdefghijklmnopqrstuvwxyz1234567890"){const a=at(n().toString());let r="";for(let i=0;i`;switch(l){case"solid":return c+e.body;case"gradientLinear":return``+e.body}}function pd(e,t){let{width:n,height:l,x:s,y:o}=F3(e),a=t?(t-100)/100:0,r=(n/2+s)*a*-1,i=(l/2+o)*a*-1;return`${e.body}`}function md(e,t,n){let l=F3(e),s=(l.width+l.x*2)*((t??0)/100),o=(l.height+l.y*2)*((n??0)/100);return`${e.body}`}function gd(e,t){let{width:n,height:l,x:s,y:o}=F3(e);return`${e.body}`}function vd(e){let{width:t,x:n}=F3(e);return`${e.body}`}function yd(e,t){let{width:n,height:l,x:s,y:o}=F3(e),a=t?n*t/100:0,r=t?l*t/100:0;return`${e.body}`}function bd(e){const t={xmlns:"http://www.w3.org/2000/svg",...e.attributes};return Object.keys(t).map(n=>`${O2(n)}="${O2(t[n])}"`).join(" ")}function kd(e){const t=at(Math.random().toString()),n={};return e.body.replace(/(id="|url\(#)([a-z0-9-_]+)([")])/gi,(l,s,o,a)=>(n[o]=n[o]||t.string(8),`${s}${n[o]}${a}`))}const xd={properties:{seed:{type:"string"},flip:{type:"boolean",default:!1},rotate:{type:"integer",minimum:0,maximum:360,default:0},scale:{type:"integer",minimum:0,maximum:200,default:100},radius:{type:"integer",minimum:0,maximum:50,default:0},size:{type:"integer",minimum:1},backgroundColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"}},backgroundType:{type:"array",items:{type:"string",enum:["solid","gradientLinear"]},default:["solid"]},backgroundRotation:{type:"array",items:{type:"integer",minimum:-360,maximum:360},default:[0,360]},translateX:{type:"integer",minimum:-100,maximum:100,default:0},translateY:{type:"integer",minimum:-100,maximum:100,default:0},clip:{type:"boolean",default:!0},randomizeIds:{type:"boolean",default:!1}}};function sn(e){var t;let n={},l=(t=e.properties)!==null&&t!==void 0?t:{};return Object.keys(l).forEach(s=>{let o=l[s];typeof o=="object"&&o.default!==void 0&&(Array.isArray(o.default)?n[s]=[...o.default]:typeof o.default=="object"?n[s]={...o.default}:n[s]=o.default)}),n}function wd(e,t){var n;let l={...sn(xd),...sn((n=e.schema)!==null&&n!==void 0?n:{}),...t};return JSON.parse(JSON.stringify(l))}function on(e){return e==="transparent"?e:`#${e}`}function Cd(e,t,n){var l;let s=e.shuffle(t);s.length<=1||t.length==2&&n=="gradientLinear"?(s=t,e.next()):s=e.shuffle(t),s.length===0&&(s=["transparent"]);const o=s[0],a=(l=s[1])!==null&&l!==void 0?l:s[0];return{primary:on(o),secondary:on(a)}}function _d(e,t={}){var n,l,s,o,a;t=wd(e,t);const r=at(t.seed),i=e.create({prng:r,options:t}),c=r.pick((n=t.backgroundType)!==null&&n!==void 0?n:[],"solid"),{primary:u,secondary:d}=Cd(r,(l=t.backgroundColor)!==null&&l!==void 0?l:[],c),A=r.integer(!((s=t.backgroundRotation)===null||s===void 0)&&s.length?Math.min(...t.backgroundRotation):0,!((o=t.backgroundRotation)===null||o===void 0)&&o.length?Math.max(...t.backgroundRotation):0);t.size&&(i.attributes.width=t.size.toString(),i.attributes.height=t.size.toString()),t.scale!==void 0&&t.scale!==100&&(i.body=pd(i,t.scale)),t.flip&&(i.body=vd(i)),t.rotate&&(i.body=gd(i,t.rotate)),(t.translateX||t.translateY)&&(i.body=md(i,t.translateX,t.translateY)),u!=="transparent"&&d!=="transparent"&&(i.body=Ad(i,u,d,c,A)),(t.radius||t.clip)&&(i.body=yd(i,(a=t.radius)!==null&&a!==void 0?a:0)),t.randomizeIds&&(i.body=kd(i));const m=bd(i),p=cd(e),g=`${p}${i.body}`;return{toString:()=>g,toJson:()=>{var x;return{svg:g,extra:{primaryBackgroundColor:u,secondaryBackgroundColor:d,backgroundType:c,backgroundRotation:A,...(x=i.extra)===null||x===void 0?void 0:x.call(i)}}},toDataUri:()=>`data:image/svg+xml;utf8,${encodeURIComponent(g)}`}}const Id={variant01:(e,t)=>''},Md={variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant09:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant08:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant07:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant06:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant05:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant04:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant03:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant02:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant01:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`}},Ed={variant63:(e,t)=>'',variant62:(e,t)=>'',variant61:(e,t)=>'',variant60:(e,t)=>'',variant59:(e,t)=>'',variant58:(e,t)=>'',variant57:(e,t)=>'',variant56:(e,t)=>'',variant55:(e,t)=>'',variant54:(e,t)=>'',variant53:(e,t)=>'',variant52:(e,t)=>'',variant51:(e,t)=>'',variant50:(e,t)=>'',variant49:(e,t)=>'',variant48:(e,t)=>'',variant47:(e,t)=>'',variant46:(e,t)=>'',variant45:(e,t)=>'',variant44:(e,t)=>'',variant43:(e,t)=>'',variant42:(e,t)=>'',variant41:(e,t)=>'',variant40:(e,t)=>'',variant39:(e,t)=>'',variant38:(e,t)=>'',variant37:(e,t)=>'',variant36:(e,t)=>'',variant35:(e,t)=>'',variant34:(e,t)=>'',variant33:(e,t)=>'',variant32:(e,t)=>'',variant31:(e,t)=>'',variant30:(e,t)=>'',variant29:(e,t)=>'',variant28:(e,t)=>'',variant27:(e,t)=>'',variant26:(e,t)=>'',variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>'',hat:(e,t)=>''},Dd={variant30:(e,t)=>'',variant29:(e,t)=>'',variant28:(e,t)=>'',variant27:(e,t)=>'',variant26:(e,t)=>'',variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Zd={variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Fd={variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Bd={variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Sd={variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Rd={variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},$d={wavePointLongArms:(e,t)=>'',waveOkLongArms:(e,t)=>'',waveLongArms:(e,t)=>'',waveLongArm:(e,t)=>'',pointLongArm:(e,t)=>'',okLongArm:(e,t)=>'',point:(e,t)=>'',ok:(e,t)=>'',hand:(e,t)=>'',handPhone:(e,t)=>''},Nd={electric:(e,t)=>'',saturn:(e,t)=>'',galaxy:(e,t)=>''},Kd=Object.freeze(Object.defineProperty({__proto__:null,base:Id,beard:Zd,body:Md,bodyIcon:Nd,brows:Rd,eyes:Bd,gesture:$d,glasses:Sd,hair:Ed,lips:Dd,nose:Fd},Symbol.toStringTag,{value:"Module"}));function N2({prng:e,group:t,values:n=[]}){const l=Kd,s=e.pick(n);if(s&&l[t][s])return{name:s,value:l[t][s]}}function Qd({prng:e,options:t}){const n=N2({prng:e,group:"base",values:t.base}),l=N2({prng:e,group:"body",values:t.body}),s=N2({prng:e,group:"hair",values:t.hair}),o=N2({prng:e,group:"lips",values:t.lips}),a=N2({prng:e,group:"beard",values:t.beard}),r=N2({prng:e,group:"nose",values:t.nose}),i=N2({prng:e,group:"eyes",values:t.eyes}),c=N2({prng:e,group:"glasses",values:t.glasses}),u=N2({prng:e,group:"brows",values:t.brows}),d=N2({prng:e,group:"gesture",values:t.gesture}),A=N2({prng:e,group:"bodyIcon",values:t.bodyIcon});return{base:n,body:l,hair:s,lips:o,beard:e.bool(t.beardProbability)?a:void 0,nose:r,eyes:i,glasses:e.bool(t.glassesProbability)?c:void 0,brows:u,gesture:e.bool(t.gestureProbability)?d:void 0,bodyIcon:e.bool(t.bodyIconProbability)?A:void 0}}function Od({prng:e,options:t}){return{}}const Gd={$schema:"http://json-schema.org/draft-07/schema#",properties:{base:{type:"array",items:{type:"string",enum:["variant01"]},default:["variant01"]},beard:{type:"array",items:{type:"string",enum:["variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},beardProbability:{type:"integer",minimum:0,maximum:100,default:10},body:{type:"array",items:{type:"string",enum:["variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},bodyIcon:{type:"array",items:{type:"string",enum:["electric","saturn","galaxy"]},default:["electric","saturn","galaxy"]},bodyIconProbability:{type:"integer",minimum:0,maximum:100,default:75},brows:{type:"array",items:{type:"string",enum:["variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},eyes:{type:"array",items:{type:"string",enum:["variant05","variant04","variant03","variant02","variant01"]},default:["variant05","variant04","variant03","variant02","variant01"]},gesture:{type:"array",items:{type:"string",enum:["wavePointLongArms","waveOkLongArms","waveLongArms","waveLongArm","pointLongArm","okLongArm","point","ok","hand","handPhone"]},default:["wavePointLongArms","waveOkLongArms","waveLongArms","waveLongArm","pointLongArm","okLongArm","point","ok","hand","handPhone"]},gestureProbability:{type:"integer",minimum:0,maximum:100,default:10},glasses:{type:"array",items:{type:"string",enum:["variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},glassesProbability:{type:"integer",minimum:0,maximum:100,default:20},hair:{type:"array",items:{type:"string",enum:["variant63","variant62","variant61","variant60","variant59","variant58","variant57","variant56","variant55","variant54","variant53","variant52","variant51","variant50","variant49","variant48","variant47","variant46","variant45","variant44","variant43","variant42","variant41","variant40","variant39","variant38","variant37","variant36","variant35","variant34","variant33","variant32","variant31","variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01","hat"]},default:["variant63","variant62","variant61","variant60","variant59","variant58","variant57","variant56","variant55","variant54","variant53","variant52","variant51","variant50","variant49","variant48","variant47","variant46","variant45","variant44","variant43","variant42","variant41","variant40","variant39","variant38","variant37","variant36","variant35","variant34","variant33","variant32","variant31","variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01","hat"]},lips:{type:"array",items:{type:"string",enum:["variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},nose:{type:"array",items:{type:"string",enum:["variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]}}},Wd={title:"Notionists",creator:"Zoish",source:"https://heyzoish.gumroad.com/l/notionists",homepage:"https://bio.link/heyzoish",license:{name:"CC0 1.0",url:"https://creativecommons.org/publicdomain/zero/1.0/"}},Ld=({prng:e,options:t})=>{var n,l,s,o,a,r,i,c,u,d,A,m,p,g,x,$,k,N,C,b;const B=Qd({prng:e,options:t}),S=Od({prng:e,options:t});return{attributes:{viewBox:"0 0 1744 1744",fill:"none","shape-rendering":"auto"},body:`${(l=(n=B.base)===null||n===void 0?void 0:n.value(B,S))!==null&&l!==void 0?l:""}${(o=(s=B.body)===null||s===void 0?void 0:s.value(B,S))!==null&&o!==void 0?o:""}${(r=(a=B.hair)===null||a===void 0?void 0:a.value(B,S))!==null&&r!==void 0?r:""}${(c=(i=B.lips)===null||i===void 0?void 0:i.value(B,S))!==null&&c!==void 0?c:""}${(d=(u=B.beard)===null||u===void 0?void 0:u.value(B,S))!==null&&d!==void 0?d:""}${(m=(A=B.nose)===null||A===void 0?void 0:A.value(B,S))!==null&&m!==void 0?m:""}${(g=(p=B.eyes)===null||p===void 0?void 0:p.value(B,S))!==null&&g!==void 0?g:""}${($=(x=B.glasses)===null||x===void 0?void 0:x.value(B,S))!==null&&$!==void 0?$:""}${(N=(k=B.brows)===null||k===void 0?void 0:k.value(B,S))!==null&&N!==void 0?N:""}${(b=(C=B.gesture)===null||C===void 0?void 0:C.value(B,S))!==null&&b!==void 0?b:""}`,extra:()=>({...Object.entries(B).reduce((I,[D,_])=>(I[D]=_==null?void 0:_.name,I),{}),...Object.entries(S).reduce((I,[D,_])=>(I[`${D}Color`]=_,I),{})})}},Td=Object.freeze(Object.defineProperty({__proto__:null,create:Ld,meta:Wd,schema:Gd},Symbol.toStringTag,{value:"Module"})),O5=V(!0);function an(e){O5.value=e,document.documentElement.classList.toggle("dark",e),document.documentElement.classList.toggle("light",!e);try{localStorage.setItem("sourceant-theme",e?"dark":"light")}catch{}}function H0(){return{isDark:O5,toggleTheme:()=>an(!O5.value),restoreTheme:()=>{let e=null;try{e=localStorage.getItem("sourceant-theme")}catch{e=null}an(e!=="light")}}}async function P1(e,t={}){const n=await fetch(e,{...t,headers:t.body?{"Content-Type":"application/json"}:void 0}),l=await n.text(),s=l?JSON.parse(l):null;if(!n.ok)throw new Error((s==null?void 0:s.error)||`the agent answered ${n.status}`);return s}const M2=e=>new URLSearchParams(Object.entries(e).filter(([,t])=>t!==""&&t!==!1)),w1={status:()=>P1("/health"),architecture:(e,t=1)=>P1(`/api/architecture?${M2({repository:e,depth:t})}`),compareArchitecture:e=>P1("/api/architecture/compare",{method:"POST",body:JSON.stringify(e)}),repositories:()=>P1("/api/repositories"),addRepository:(e,t)=>P1("/api/repositories",{method:"POST",body:JSON.stringify({path:e,name:t})}),dropRepository:e=>P1(`/api/repositories?${M2({path:e})}`,{method:"DELETE"}),index:(e="",{everything:t=!1,update:n=!1}={})=>P1("/api/index",{method:"POST",body:JSON.stringify({repository:e,everything:t,update:n})}),attention:e=>P1(`/api/attention?${M2({repository:e})}`),graph:(e,{includeTests:t=!1,pathPrefix:n="",focus:l="",depth:s,q:o="",nodeLimit:a=0}={})=>P1(`/api/graph?${M2({repository:e,include_tests:t,path_prefix:n,focus:l,depth:s,q:o,node_limit:a||""})}`),nodes:(e,{labels:t=[],limit:n=1}={})=>P1(`/api/nodes?${M2({repository:e,limit:n})}${t.map(l=>`&labels=${encodeURIComponent(l)}`).join("")}`),knowledge:e=>P1(`/api/knowledge?${M2({repository:e,limit:100})}`),recordKnowledge:e=>P1("/api/knowledge",{method:"PUT",body:JSON.stringify(e)}),forgetKnowledge:(e,t)=>P1(`/api/knowledge?${M2({repository:e,id:t})}`,{method:"DELETE"}),browse:(e="",t="")=>P1(`/api/browse?${M2({path:e,q:t})}`),initialize:(e,{dryRun:t=!1,useModel:n=!1}={})=>P1("/api/knowledge/initialize",{method:"POST",body:JSON.stringify({repository:e,dry_run:t,use_model:n})}),skills:(e="")=>P1(`/api/skills?${M2({repository:e})}`),uses:()=>P1("/api/skills/uses"),skill:(e,t="")=>P1(`/api/skills/${e}?${M2({repository:t})}`),recordSkill:e=>P1("/api/skills",{method:"PUT",body:JSON.stringify({scope:"repository",paths:[],applications:{},type:"",...e})}),forgetSkill:(e,t,n)=>P1(`/api/skills?${M2({repository:e,scope:t,id:n})}`,{method:"DELETE"}),startReview:(e,{against:t="",title:n="",description:l="",skills:s=[],useModel:o=!0}={})=>P1("/api/reviews",{method:"POST",body:JSON.stringify({repository:e,against:t,title:n,description:l,skills:s,use_model:o})}),reviewed:e=>P1(`/api/reviews/${e}`),reviews:(e="")=>P1(`/api/reviews?${M2({repository:e})}`),settings:()=>P1("/api/settings"),models:()=>P1("/api/models"),checkModel:(e="",t="",n="")=>P1("/api/models/check",{method:"POST",body:JSON.stringify({model:e,api_key:t,base_url:n})}),setSetting:(e,t)=>P1("/api/settings",{method:"PUT",body:JSON.stringify({key:e,value:t})}),resetSetting:e=>P1(`/api/settings?${M2({key:e})}`,{method:"DELETE"})},Je=V([]),d3=V(""),o5=V(""),a5=V(!1),Bt="";function H2({all:e=!1}={}){const t=z(()=>e&&!d3.value&&Je.value.length>1),n=z(()=>{var s;return d3.value||((s=Je.value[0])==null?void 0:s.name)||""});async function l(){var s;a5.value=!0;try{Je.value=await w1.repositories(),o5.value=""}catch(o){Je.value=[],o5.value=`${o.message}. Is sourceant-agent running?`}finally{a5.value=!1}d3.value!==Bt&&(Je.value.some(o=>o.name===d3.value)||(d3.value=((s=Je.value[0])==null?void 0:s.name)??""))}return{repositories:Je,chosen:d3,one:n,error:o5,loading:a5,mixed:t,fetchRepositories:l}}const $4=5,rn=2,Vd={__name:"Finder",props:{pages:{type:Array,required:!0}},setup(e){const t=e,n=Ce(),{repositories:l,chosen:s,fetchRepositories:o}=H2(),a=V(!1),r=V(""),i=V(!1),c=V([]),u=V([]),d=V([]);let A="",m=null;const p=z(()=>r.value.trim().toLowerCase()),g=C=>String(C??"").toLowerCase().includes(p.value),x=z(()=>p.value.lengthg(b.name)||g(b.description)).slice(0,$4).map(b=>({id:b.id,label:b.name,detail:b.description}))},{id:"knowledge",label:"Knowledge",items:u.value.filter(b=>g(b.id)||g(b.summary)).slice(0,$4).map(b=>({id:b.id,label:b.id,detail:b.summary}))},{id:"code",label:"Code",items:d.value.slice(0,$4).map(b=>({id:b.id,label:b.name||b.id,detail:b.path}))},{id:"repositories",label:"Repositories",items:l.value.filter(b=>g(b.name)||g(b.path)).slice(0,$4).map(b=>({id:b.name,label:b.name,detail:b.path}))},{id:"pages",label:"Go to",items:t.pages.filter(b=>g(b.name)).map(b=>({id:b.href,label:b.name}))}].filter(b=>b.items.length));async function $(){if(A===s.value)return;A=s.value;const[C,b]=await Promise.all([w1.skills(s.value).catch(()=>({skills:[]})),s.value?w1.knowledge(s.value).catch(()=>({items:[]})):{items:[]}]);c.value=C.skills??[],u.value=b.items??[]}async function k(){if(clearTimeout(m),p.value.length{i.value=!0;try{const C=await w1.graph(s.value,{q:r.value.trim(),nodeLimit:5e3});d.value=C.nodes??[]}catch{d.value=[]}i.value=!1},250)}H1(a,async C=>{C&&(l.value.length||await o(),await $())}),H1(r,k);function N(C,b){const B=r.value.trim();r.value="",b==="pages"?n.push(C.id):b==="repositories"?n.push(`/repositories/${C.id}`):b==="skills"?n.push(`/skills/${C.id}`):b==="knowledge"?n.push({path:"/knowledge",query:{find:B}}):b==="code"&&n.push({path:"/graph",query:{repository:s.value,q:B}})}return(C,b)=>(h(),Q(f(pi),{modelValue:r.value,"onUpdate:modelValue":b[0]||(b[0]=B=>r.value=B),open:a.value,"onUpdate:open":b[1]||(b[1]=B=>a.value=B),groups:x.value,loading:i.value,context:f(s)?`This machine · ${f(s)}`:"This machine",placeholder:"Find a skill, a decision, a file…",label:"Find anything on this machine","empty-label":r.value.trim().length<2?"Type at least two letters.":"Nothing here matches that.",onSelect:N},null,8,["modelValue","open","groups","loading","context","empty-label"]))}},Pd=["value"],Hd={key:2,class:"flex items-center gap-2 text-sm"},Ud=["id"],Yd={class:"text-muted-foreground"},cn={__name:"SettingField",props:B6({setting:{type:Object,required:!0},options:{type:Array,default:()=>[]}},{modelValue:{required:!0},modelModifiers:{}}),emits:B6(["reset"],["update:modelValue"]),setup(e){const t=ys(e,"modelValue");function n(l){return l.secret?l.is_set:String(l.value??"")!==String(l.default??"")}return(l,s)=>(h(),Q(f(Q2),{label:e.setting.label,for:e.setting.key,hint:e.setting.description},{label:E(()=>[e.setting.secret&&e.setting.is_set?(h(),Q(f(n2),{key:0,variant:"success"},{default:E(()=>[...s[6]||(s[6]=[T("set",-1)])]),_:1})):O("",!0),n(e.setting)?(h(),y("button",{key:1,type:"button",class:"inline-flex items-center gap-1 text-[11px] font-normal normal-case tracking-normal text-muted-foreground hover:text-foreground",onClick:s[0]||(s[0]=o=>l.$emit("reset",e.setting))},[M(f(qr),{class:"h-3 w-3"}),s[7]||(s[7]=T(" put back ",-1))])):O("",!0)]),default:E(()=>{var o;return[e.options.length?(h(),Q(f(Hi),{key:0,modelValue:t.value,"onUpdate:modelValue":s[1]||(s[1]=a=>t.value=a),options:e.options,"empty-label":"Nothing chosen",placeholder:"Choose one","search-placeholder":"Search"},null,8,["modelValue","options"])):(o=e.setting.choices)!=null&&o.length?(h(),Q(f(ne),{key:1,id:e.setting.key,modelValue:t.value,"onUpdate:modelValue":s[2]||(s[2]=a=>t.value=a),class:"w-full"},{default:E(()=>[(h(!0),y(e1,null,_1(e.setting.choices,a=>(h(),y("option",{key:a,value:a},F(a),9,Pd))),128))]),_:1},8,["id","modelValue"])):e.setting.type==="bool"?(h(),y("label",Hd,[te(v("input",{id:e.setting.key,"onUpdate:modelValue":s[3]||(s[3]=a=>t.value=a),type:"checkbox",class:"h-3.5 w-3.5 rounded border"},null,8,Ud),[[kt,t.value]]),v("span",Yd,F(t.value?"On":"Off"),1)])):e.setting.listed||e.setting.type==="json"?(h(),Q(f(h0),{key:3,modelValue:t.value,"onUpdate:modelValue":s[4]||(s[4]=a=>t.value=a),mono:"",noun:e.setting.type==="json"?"a path":"a folder",placeholder:e.setting.type==="json"?"node_modules":"/home/you/work/knowledgebase/skills"},null,8,["modelValue","noun","placeholder"])):(h(),Q(f(P2),{key:4,id:e.setting.key,modelValue:t.value,"onUpdate:modelValue":s[5]||(s[5]=a=>t.value=a),type:e.setting.secret?"password":e.setting.type==="int"||e.setting.type==="float"?"number":"text",autocomplete:e.setting.secret?"off":void 0,placeholder:e.setting.secret&&e.setting.is_set?"Leave empty to keep what is set":String(e.setting.default??"")},null,8,["id","modelValue","type","autocomplete","placeholder"]))]}),_:1},8,["label","for","hint"]))}},Jd={class:"space-y-4"},zd={key:0,class:"flex items-center gap-2 py-6 text-sm text-muted-foreground"},jd={key:0,class:"space-y-4 border-t pt-4"},Xd={key:1,class:"py-6 text-sm text-muted-foreground"},qd={key:3,class:"flex items-center gap-3"},ef={key:0,class:"text-xs text-success"},r5="model.name",U0={__name:"SettingsPanel",props:{group:{type:String,required:!0}},emits:["saved"],setup(e,{emit:t}){const n=e,l=t,s=V([]),o=V({}),a=V(!1),r=V(!0),i=V(""),c=V(!1),u=z(()=>s.value.filter(I=>I.group===n.group)),d=V([]),A=z(()=>u.value.filter(I=>!I.advanced)),m=z(()=>u.value.filter(I=>I.advanced)),p=V(!1);function g(I){return I.secret?"":I.listed?String(I.value??"").split(` +`).map(D=>D.trim()).filter(Boolean):I.value??""}const x=(I,D)=>I.listed?(D??[]).join(` +`):D,$=(I,D)=>String(x(I,D)??"")===String(I.value??""),k=z(()=>u.value.some(I=>{const D=o.value[I.key];return I.secret?!!D:!$(I,D)})),N=z(()=>{var _;const I=d.value.flatMap(K=>K.models.map(G=>({value:G,label:G,group:K.provider}))),D=String(((_=s.value.find(K=>K.key===r5))==null?void 0:_.value)??"");return D&&!I.some(K=>K.value===D)?[{value:D,label:D,group:"In force"},...I]:I}),C=I=>I.key===r5?N.value:[];async function b(){r.value=!0;try{s.value=await w1.settings(),o.value=Object.fromEntries(u.value.map(I=>[I.key,g(I)])),u.value.some(I=>I.key===r5)&&!d.value.length&&(d.value=await w1.models().catch(()=>[])),i.value=""}catch(I){i.value=I.message}finally{r.value=!1}}async function B(){a.value=!0,c.value=!1,i.value="";try{for(const I of u.value){const D=o.value[I.key];I.secret&&!D||!I.secret&&$(I,D)||await w1.setSetting(I.key,x(I,D))}await b(),c.value=!0,l("saved")}catch(I){i.value=I.message}finally{a.value=!1}}async function S(I){i.value="";try{await w1.resetSetting(I.key),await b()}catch(D){i.value=D.message}}return H1(()=>n.group,b),o2(b),(I,D)=>(h(),y("div",Jd,[r.value?(h(),y("p",zd,[M(f(v2),{class:"h-4 w-4 animate-spin"}),D[1]||(D[1]=T(" Reading what this machine can be told. ",-1))])):(h(),y(e1,{key:1},[(h(!0),y(e1,null,_1(A.value,_=>(h(),Q(cn,{key:_.key,modelValue:o.value[_.key],"onUpdate:modelValue":K=>o.value[_.key]=K,setting:_,options:C(_),onReset:S},null,8,["modelValue","onUpdate:modelValue","setting","options"]))),128)),m.value.length?(h(),y("div",jd,[v("button",{type:"button",class:"flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground",onClick:D[0]||(D[0]=_=>p.value=!p.value)},[p.value?(h(),Q(f(Mt),{key:0,class:"h-3.5 w-3.5"})):(h(),Q(f(r0),{key:1,class:"h-3.5 w-3.5"})),T(" Tuning ("+F(m.value.length)+") ",1)]),(h(!0),y(e1,null,_1(m.value,_=>te((h(),Q(cn,{key:_.key,modelValue:o.value[_.key],"onUpdate:modelValue":K=>o.value[_.key]=K,setting:_,onReset:S},null,8,["modelValue","onUpdate:modelValue","setting"])),[[s6,p.value]])),128))])):O("",!0),u.value.length?O("",!0):(h(),y("p",Xd," Nothing in this group is configurable here. ")),i.value?(h(),Q(f(l2),{key:2,tone:"danger"},{default:E(()=>[T(F(i.value),1)]),_:1})):O("",!0),u.value.length?(h(),y("div",qd,[M(f(x1),{disabled:a.value||!k.value,onClick:B},{default:E(()=>[a.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(Ke),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),D[2]||(D[2]=T(" Save ",-1))]),_:1},8,["disabled"]),c.value&&!k.value?(h(),y("span",ef,"Saved.")):O("",!0),G1(I.$slots,"after")])):O("",!0)],64))]))}},tf={class:"relative mb-3"},nf={class:"mb-2 text-xs font-mono text-muted-foreground break-all"},lf={class:"h-64 overflow-y-auto rounded-md border bg-muted/30"},sf=["onClick"],of={class:"min-w-0 flex-1 truncate text-left"},af={key:0,class:"block truncate font-mono text-xs text-muted-foreground"},rf={key:1,class:"px-3 py-6 text-center text-sm text-muted-foreground"},cf={key:2,class:"px-3 py-6 text-center text-sm text-muted-foreground"},uf={class:"mt-2 text-xs text-muted-foreground"},df={class:"font-mono"},ff={key:1,role:"status",class:"mt-3 text-sm text-muted-foreground"},hf={class:"flex items-center gap-2 pt-5"},Y0={__name:"FolderPicker",props:{open:Boolean},emits:["close","added"],setup(e,{emit:t}){const n=e,l=t,s=V(null),o=V(""),a=V(!1),r=V(""),i=V(""),c=V(!1),u=V(!1);async function d(g){try{s.value=await w1.browse(g),u.value=!1,i.value="",r.value=""}catch(x){r.value=x.message}}let A;async function m(){const g=i.value.trim();if(!g)return d("");clearTimeout(A),A=setTimeout(async()=>{c.value=!0;try{s.value=await w1.browse("",g),u.value=!0,r.value=""}catch(x){r.value=x.message}finally{c.value=!1}},250)}H1(()=>n.open,g=>{g&&(o.value="",i.value="",u.value=!1,r.value="",a.value=!1,d(""))});async function p(){if(s.value){a.value=!0,r.value="";try{await w1.addRepository(s.value.path,o.value.trim()),l("added"),l("close")}catch(g){r.value=g.message}finally{a.value=!1}}}return(g,x)=>(h(),Q(f(y6),{open:e.open,"max-width":"lg",onClose:x[5]||(x[5]=$=>l("close"))},{default:E(()=>{var $,k,N,C,b;return[x[10]||(x[10]=v("h2",{class:"text-lg font-semibold mb-3"},"Add folder or repository",-1)),v("div",tf,[M(f(ke),{class:"pointer-events-none absolute left-3 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),M(f(P2),{modelValue:i.value,"onUpdate:modelValue":x[0]||(x[0]=B=>i.value=B),class:"pl-9 pr-9",placeholder:"Search for a folder by name",onInput:m,onKeydown:p3(K2(m,["prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),i.value?(h(),y("button",{key:0,type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground","aria-label":"Clear the search",onClick:x[1]||(x[1]=B=>d(""))},[M(f(i3),{class:"h-3.5 w-3.5"})])):O("",!0)]),v("p",nf,F(u.value?`Matches under ${($=s.value)==null?void 0:$.path}`:(k=s.value)==null?void 0:k.path),1),v("div",lf,[(N=s.value)!=null&&N.parent&&!u.value?(h(),y("button",{key:0,class:"flex w-full items-center gap-2 px-3 py-2 text-sm hover:bg-accent",onClick:x[2]||(x[2]=B=>d(s.value.parent))},[M(f(Ur),{class:"h-3.5 w-3.5"}),x[6]||(x[6]=v("span",{class:"text-muted-foreground"},"Up one",-1))])):O("",!0),(h(!0),y(e1,null,_1(((C=s.value)==null?void 0:C.entries)??[],B=>(h(),y("button",{key:B.path,class:"flex w-full items-center gap-2 px-3 py-2 text-sm hover:bg-accent",onClick:S=>d(B.path)},[M(f(d6),{class:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),v("span",of,[T(F(B.name)+" ",1),u.value?(h(),y("span",af,F(B.path),1)):O("",!0)]),B.repository?(h(),Q(f(n2),{key:0,variant:"glow",class:"ml-auto shrink-0"},{default:E(()=>[...x[7]||(x[7]=[T("git",-1)])]),_:1})):O("",!0)],8,sf))),128)),c.value?(h(),y("p",rf," Looking… ")):s.value&&s.value.entries.length===0?(h(),y("p",cf,F(u.value?"Nothing under your home folder matches that.":"Nothing inside."),1)):O("",!0)]),M(f(Q2),{label:"Name it (optional)",for:"repo-name",class:"mt-4"},{default:E(()=>[M(f(P2),{id:"repo-name",modelValue:o.value,"onUpdate:modelValue":x[3]||(x[3]=B=>o.value=B),placeholder:"Taken from the git remote, or the folder name"},null,8,["modelValue"])]),_:1}),v("p",uf,[x[8]||(x[8]=T(" Adding ",-1)),v("code",df,F((b=s.value)==null?void 0:b.path),1)]),r.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mt-3"},{default:E(()=>[T(F(r.value),1)]),_:1})):O("",!0),a.value?(h(),y("p",ff," Reading this repository. Large repositories can take several minutes. ")):O("",!0),v("div",hf,[M(f(x1),{disabled:a.value||!s.value,onClick:p},{default:E(()=>[a.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(le),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),T(" "+F(a.value?"Reading…":"Add and index"),1)]),_:1},8,["disabled"]),M(f(x1),{variant:"outline",onClick:x[4]||(x[4]=B=>l("close"))},{default:E(()=>[...x[9]||(x[9]=[T("Cancel",-1)])]),_:1})])]}),_:1},8,["open"]))}},Af={class:"flex items-center gap-2"},un="sourceant-onboarded",pf={__name:"Onboarding",setup(e){const{repositories:t,fetchRepositories:n}=H2(),l=V(!1),s=V("folder"),o=V(!1),a=z(()=>t.value.length>0);function r(){try{localStorage.setItem(un,"yes")}catch{}l.value=!1}return o2(async()=>{let i=null;try{i=localStorage.getItem(un)}catch{i=null}i||(await n(),s.value=t.value.length?"model":"folder",l.value=!0)}),(i,c)=>(h(),Q(f(y6),{open:l.value,"max-width":"xl",onClose:r},{default:E(()=>[s.value==="folder"?(h(),y(e1,{key:0},[c[4]||(c[4]=v("h2",{class:"text-lg font-semibold mb-1"},"Point it at some code",-1)),c[5]||(c[5]=v("p",{class:"text-sm text-muted-foreground mb-5"}," SourceAnt reads a folder on this machine into a graph, and keeps what you record about it beside the code it belongs to. Nothing leaves this machine. ",-1)),v("div",Af,[M(f(x1),{onClick:c[0]||(c[0]=u=>o.value=!0)},{default:E(()=>[M(f(le),{class:"mr-1.5 h-3.5 w-3.5"}),c[3]||(c[3]=T(" Add folder or repository ",-1))]),_:1}),M(f(x1),{variant:"outline",onClick:c[1]||(c[1]=u=>s.value="model")},{default:E(()=>[a.value?(h(),y(e1,{key:0},[T("Next")],64)):(h(),y(e1,{key:1},[T("Skip for now")],64)),M(f(a0),{class:"ml-1.5 h-3.5 w-3.5"})]),_:1})]),M(Y0,{open:o.value,onClose:c[2]||(c[2]=u=>o.value=!1),onAdded:f(n)},null,8,["open","onAdded"])],64)):(h(),y(e1,{key:1},[c[7]||(c[7]=v("h2",{class:"text-lg font-semibold mb-1"},"Add a model and API key",-1)),c[8]||(c[8]=v("p",{class:"text-sm text-muted-foreground mb-5"}," Reading your code and reading what it already states about itself need no model at all. Proposing what nobody wrote down does. Your key stays on this machine and goes to that provider and nowhere else. ",-1)),M(U0,{group:"Model",onSaved:r}),M(f(x1),{variant:"ghost",class:"mt-4",onClick:r},{default:E(()=>[...c[6]||(c[6]=[T("Skip for now",-1)])]),_:1})],64))]),_:1},8,["open"]))}},mf={class:"flex h-screen flex-col bg-background"},gf={class:"z-40 h-12 shrink-0 border-b bg-card/80 backdrop-blur-sm"},vf={class:"flex items-center h-full min-w-0 px-3 gap-1 sm:px-4"},yf={class:"hidden lg:flex items-center gap-0.5 min-w-0"},bf={class:"hidden xl:inline"},kf={class:"relative shrink-0","data-dropdown":"user"},xf={key:0,class:"absolute top-full right-0 mt-1 w-52 bg-card border rounded-lg shadow-lg py-1 z-50"},wf=["aria-label"],Cf={key:0,class:"lg:hidden shrink-0 border-b bg-card px-4 py-2 space-y-0.5"},_f={class:"min-h-0 flex-1 overflow-y-auto"},If={class:"container mx-auto flex h-full flex-col px-4 pb-4 pt-3 lg:px-6 lg:pb-6 lg:pt-4"},Mf={__name:"App",setup(e){const{isDark:t,toggleTheme:n,restoreTheme:l}=H0(),s=Ge(),o=V(!1),a=V(!1),r=[{name:"Overview",href:"/",icon:i0},{name:"Reviews",href:"/reviews",icon:o3},{name:"Skills",href:"/skills",icon:c6},{name:"Knowledge",href:"/knowledge",icon:G4},{name:"Graphs",href:"/graph",icon:Dt},{name:"Repositories",href:"/repositories",icon:It},{name:"Settings",href:"/settings",icon:S5}],i=z(()=>_d(Td,{seed:location.hostname||"sourceant",radius:50}).toDataUri());function c(u){u.target.closest('[data-dropdown="user"]')||(a.value=!1)}return o2(()=>{l(),document.addEventListener("click",c)}),Oe(()=>document.removeEventListener("click",c)),(u,d)=>{const A=H4("RouterLink"),m=H4("RouterView");return h(),y("div",mf,[v("header",gf,[v("div",vf,[M(A,{to:"/",class:"shrink-0 mr-1 sm:mr-3"},{default:E(()=>[M(f(Uu),{size:"sm","show-text":!1})]),_:1}),d[7]||(d[7]=v("span",{class:"hidden lg:block h-4 w-px bg-border mx-1 shrink-0"},null,-1)),v("nav",yf,[(h(),y(e1,null,_1(r,p=>M(A,{key:p.href,to:p.href,title:p.name,class:o1(["flex shrink-0 items-center gap-1.5 px-2 py-1 rounded-md text-sm transition-colors 2xl:px-2.5",f(s).path===p.href?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-muted hover:text-foreground"])},{default:E(()=>[(h(),Q(A2(p.icon),{class:"h-3.5 w-3.5 shrink-0"})),v("span",bf,F(p.name),1)]),_:2},1032,["to","title","class"])),64))]),d[8]||(d[8]=v("div",{class:"flex-1 min-w-0"},null,-1)),M(Vd,{pages:r}),v("div",kf,[v("button",{class:"flex items-center gap-1.5 p-1 rounded-md hover:bg-muted transition-colors","aria-label":"Account",onClick:d[0]||(d[0]=K2(p=>a.value=!a.value,["stop"]))},[M(f(Sr),{src:i.value,size:"sm",class:"h-6 w-6"},null,8,["src"])]),M(E8,{"enter-active-class":"transition duration-100 ease-out","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition duration-75 ease-in","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:E(()=>[a.value?(h(),y("div",xf,[d[6]||(d[6]=v("div",{class:"px-3 py-2 border-b"},[v("p",{class:"text-sm font-medium truncate"},"This machine"),v("p",{class:"text-xs text-muted-foreground truncate"},"Nothing here has been shared.")],-1)),M(A,{to:"/settings",class:"flex items-center gap-2 px-3 py-1.5 text-sm hover:bg-muted transition-colors",onClick:d[1]||(d[1]=p=>a.value=!1)},{default:E(()=>[M(f(S5),{class:"h-3.5 w-3.5 text-muted-foreground"}),d[5]||(d[5]=T(" Settings ",-1))]),_:1}),v("button",{class:"flex items-center gap-2 w-full px-3 py-1.5 text-sm hover:bg-muted transition-colors",onClick:d[2]||(d[2]=(...p)=>f(n)&&f(n)(...p))},[(h(),Q(A2(f(t)?f(d0):f(u0)),{class:"h-3.5 w-3.5 text-muted-foreground"})),v("span",null,F(f(t)?"Light mode":"Dark mode"),1)])])):O("",!0)]),_:1})]),v("button",{class:"lg:hidden shrink-0 p-1 rounded-md hover:bg-muted transition-colors","aria-label":o.value?"Close menu":"Open menu",onClick:d[3]||(d[3]=p=>o.value=!o.value)},[o.value?(h(),Q(f(i3),{key:1,class:"h-5 w-5"})):(h(),Q(f(jr),{key:0,class:"h-5 w-5"}))],8,wf)])]),o.value?(h(),y("div",Cf,[(h(),y(e1,null,_1(r,p=>M(A,{key:p.href,to:p.href,class:o1(["flex items-center gap-2 px-3 py-2 rounded-md text-sm transition-colors",f(s).path===p.href?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-muted hover:text-foreground"]),onClick:d[4]||(d[4]=g=>o.value=!1)},{default:E(()=>[(h(),Q(A2(p.icon),{class:"h-4 w-4"})),T(" "+F(p.name),1)]),_:2},1032,["to","class"])),64))])):O("",!0),v("main",_f,[v("div",If,[M(m)])]),M(pf)])}}},x4={__name:"EmptyMachine",setup(e){return(t,n)=>(h(),Q(f(O1),{class:"text-center py-16 px-6"},{default:E(()=>[n[1]||(n[1]=v("h2",{class:"text-lg font-semibold mb-1"},"Nothing indexed yet",-1)),n[2]||(n[2]=v("p",{class:"text-muted-foreground text-sm mb-4 max-w-lg mx-auto"}," Point SourceAnt at a folder on this machine and it reads the code into a graph you can look at and record against. ",-1)),M(f(x1),{as:"a",href:"/repositories",variant:"glow"},{default:E(()=>[M(f(le),{class:"mr-2 h-4 w-4"}),n[0]||(n[0]=T(" Add a repository ",-1))]),_:1})]),_:1}))}};function p4(e){if(!e)return"";const t=new Date(e),n=Math.round((Date.now()-t.getTime())/6e4);if(n<1)return"just now";if(n<60)return`${n} minute${n===1?"":"s"} ago`;const l=Math.round(n/60);return l<24?`${l} hour${l===1?"":"s"} ago`:t.toLocaleDateString()}const Ef={class:"min-w-0 flex-1"},Df={class:"font-semibold"},Zf={class:"text-sm text-muted-foreground"},Ff={class:"mb-3 grid gap-3 sm:grid-cols-2 lg:grid-cols-4"},Bf={class:"mt-1 text-2xl font-semibold tabular-nums"},Sf={class:"mt-0.5 text-xs text-muted-foreground"},Rf={class:"mt-1 text-2xl font-semibold tabular-nums"},$f={class:"mt-1 text-2xl font-semibold tabular-nums"},Nf={class:"mt-0.5 text-xs text-muted-foreground"},Kf={class:"mt-1 text-2xl font-semibold tabular-nums"},Qf={class:"mb-3 grid gap-3 lg:grid-cols-2"},Of={class:"mb-3 flex items-center justify-between gap-3"},Gf={class:"flex items-center gap-2 text-sm font-semibold"},Wf={key:1,class:"divide-y"},Lf=["onClick"],Tf={class:"min-w-0 flex-1 truncate"},Vf={class:"shrink-0 text-xs text-muted-foreground"},Pf={class:"mb-3 flex items-center justify-between gap-3"},Hf={class:"flex items-center gap-2 text-sm font-semibold"},Uf={key:0,class:"mt-0.5 text-xs text-muted-foreground"},Yf={key:1,class:"divide-y"},Jf={class:"min-w-0 flex-1 truncate font-mono text-xs"},zf={class:"shrink-0 text-xs text-muted-foreground"},jf=["onClick"],Xf={class:"tabular-nums"},qf={class:"tabular-nums"},eh={class:"text-muted-foreground"},th={class:"flex flex-wrap gap-2"},dn=5,nh={__name:"Overview",setup(e){const t=Ce(),{repositories:n,error:l,fetchRepositories:s}=H2(),o=V([]),a=V([]),r=V({files:[],since:""}),i=V([]),c=V(!0),u=[{id:"repository",label:"Repository"},{id:"files",label:"Files",align:"right"},{id:"knowledge",label:"Knowledge",align:"right",narrow:!0},{id:"read",label:"Last read",narrow:!0}],d=z(()=>({files:o.value.reduce((C,b)=>C+b.files,0),knowledge:o.value.reduce((C,b)=>C+b.knowledge,0),proposed:o.value.reduce((C,b)=>C+b.proposed,0),skills:o.value.reduce((C,b)=>C+b.skills,0)})),A=z(()=>n.value.filter(C=>!C.indexed_at)),m=z(()=>n.value.filter(C=>C.reading)),p=z(()=>a.value.filter(C=>C.status==="failed")),g=z(()=>{var B,S;const C=(B=i.value.find(I=>I.key==="model.name"))==null?void 0:B.value,b=(S=i.value.find(I=>I.key==="model.api_key"))==null?void 0:S.is_set;return C&&b?String(C):""}),x=z(()=>g.value?A.value.length?{tone:"warning",icon:f6,title:`${A.value.length} folder${A.value.length===1?"":"s"} never read`,detail:"Nothing can be answered about a folder that has not been read.",label:"Repositories",to:"/repositories"}:d.value.proposed?{tone:"info",icon:nt,title:`${d.value.proposed} proposal${d.value.proposed===1?"":"s"} waiting`,detail:"Nothing proposed is used until somebody agrees to it.",label:"Knowledge",to:"/knowledge"}:p.value.length?{tone:"warning",icon:lt,title:`${p.value.length} review${p.value.length===1?"":"s"} failed`,detail:p.value[0].error||"Ask for it again.",label:"Reviews",to:"/reviews"}:null:{tone:"warning",icon:lt,title:"No model configured",detail:"Reviews read a change but cannot judge it.",label:"Choose a model",to:"/settings?group=Model"}),$={warning:"border-warning/40 bg-warning/5",info:"border-primary/30 bg-primary/5",success:"border-success/40 bg-success/5"},k=z(()=>o.value.map(C=>({id:C.repository.name,repository:C.repository,files:C.files,knowledge:C.knowledge})));function N(C){return C.reading?"Reading…":C.indexed_at?p4(C.indexed_at):"Never"}return o2(async()=>{await s();const[C,b]=await Promise.all([w1.reviews().catch(()=>[]),w1.settings().catch(()=>[])]);a.value=C.slice(0,dn),i.value=b,o.value=await Promise.all(n.value.map(async S=>{const[I,D,_]=await Promise.all([w1.nodes(S.name,{labels:["File"]}).catch(()=>({total:0})),w1.knowledge(S.name).catch(()=>({items:[],total:0})),w1.skills(S.name).catch(()=>({total:0}))]);return{repository:S,files:I.total,knowledge:D.total,proposed:(D.items??[]).filter(K=>K.status==="proposed").length,skills:_.total}}));const B=n.value[0];B&&(r.value=await w1.attention(B.name).catch(()=>({files:[],since:""}))),c.value=!1}),(C,b)=>(h(),y("div",null,[M(f(se),{pillar:"memory",title:"Overview",sub:"What SourceAnt has on this machine."},{icon:E(()=>[M(f(i0),{class:"h-6 w-6"})]),_:1}),f(l)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:E(()=>[T(F(f(l)),1)]),_:1})):O("",!0),!f(l)&&f(n).length===0?(h(),Q(x4,{key:1})):f(n).length?(h(),y(e1,{key:2},[x.value?(h(),Q(f(O1),{key:0,class:o1(["mb-3 flex flex-wrap items-center gap-4 p-5",$[x.value.tone]])},{default:E(()=>[(h(),Q(A2(x.value.icon),{class:"h-5 w-5 shrink-0"})),v("div",Ef,[v("p",Df,F(x.value.title),1),v("p",Zf,F(x.value.detail),1)]),M(f(x1),{size:"sm",variant:"outline",onClick:b[0]||(b[0]=B=>f(t).push(x.value.to))},{default:E(()=>[T(F(x.value.label)+" ",1),M(f(a0),{class:"ml-1.5 h-3.5 w-3.5"})]),_:1})]),_:1},8,["class"])):O("",!0),v("div",Ff,[M(f(O1),{class:"p-4"},{default:E(()=>[b[4]||(b[4]=v("p",{class:"text-xs text-muted-foreground"},"Repositories",-1)),v("p",Bf,F(f(n).length),1),v("p",Sf,[m.value.length?(h(),y(e1,{key:0},[T(F(m.value.length)+" reading now",1)],64)):A.value.length?(h(),y(e1,{key:1},[T(F(A.value.length)+" never read",1)],64)):(h(),y(e1,{key:2},[T("all read")],64))])]),_:1}),M(f(O1),{class:"p-4"},{default:E(()=>[b[5]||(b[5]=v("p",{class:"text-xs text-muted-foreground"},"Files",-1)),v("p",Rf,[c.value?(h(),Q(f(v2),{key:0,class:"h-5 w-5 animate-spin"})):(h(),y(e1,{key:1},[T(F(d.value.files.toLocaleString()),1)],64))]),b[6]||(b[6]=v("p",{class:"mt-0.5 text-xs text-muted-foreground"},"indexed",-1))]),_:1}),M(f(O1),{class:"p-4"},{default:E(()=>[b[7]||(b[7]=v("p",{class:"text-xs text-muted-foreground"},"Knowledge",-1)),v("p",$f,F(d.value.knowledge.toLocaleString()),1),v("p",Nf,F(d.value.proposed?`${d.value.proposed} waiting for you`:"nothing waiting"),1)]),_:1}),M(f(O1),{class:"p-4"},{default:E(()=>[b[8]||(b[8]=v("p",{class:"text-xs text-muted-foreground"},"Skills",-1)),v("p",Kf,F(d.value.skills.toLocaleString()),1),b[9]||(b[9]=v("p",{class:"mt-0.5 text-xs text-muted-foreground"},"read against your work",-1))]),_:1})]),v("div",Qf,[M(f(O1),{class:"p-5"},{default:E(()=>[v("div",Of,[v("h2",Gf,[M(f(o3),{class:"h-4 w-4"}),b[10]||(b[10]=T(" Recent reviews ",-1))]),M(f(x1),{variant:"ghost",size:"sm",onClick:b[1]||(b[1]=B=>f(t).push("/reviews"))},{default:E(()=>[...b[11]||(b[11]=[T("All",-1)])]),_:1})]),a.value.length?(h(),y("ul",Wf,[(h(!0),y(e1,null,_1(a.value,B=>(h(),y("li",{key:B.id},[v("button",{type:"button",class:"flex w-full items-baseline gap-2 py-2 text-left text-sm hover:text-primary",onClick:S=>f(t).push(`/reviews/${B.id}`)},[M(f(n2),{variant:B.status==="done"?"success":B.status==="failed"?"destructive":"secondary"},{default:E(()=>[T(F(B.status),1)]),_:2},1032,["variant"]),v("span",Tf,F(B.title||B.repository),1),v("span",Vf,F(f(p4)(B.started)),1)],8,Lf)]))),128))])):(h(),Q(f(Re),{key:0,title:"No reviews yet",compact:""},{default:E(()=>[...b[12]||(b[12]=[T(" A review reads what a checkout has that its default branch does not. ",-1)])]),_:1}))]),_:1}),M(f(O1),{class:"p-5"},{default:E(()=>[v("div",Pf,[v("div",null,[v("h2",Hf,[M(f(Et),{class:"h-4 w-4"}),b[13]||(b[13]=T(" Changed most, depended on most ",-1))]),r.value.since?(h(),y("p",Uf," Last "+F(r.value.since)+". ",1)):O("",!0)])]),r.value.files.length?(h(),y("ul",Yf,[(h(!0),y(e1,null,_1(r.value.files.slice(0,dn),B=>(h(),y("li",{key:B.path,class:"flex items-baseline gap-2 py-2 text-sm"},[v("span",Jf,F(B.path),1),v("span",zf,F(B.changes)+" changes · "+F(B.dependants)+" dependants ",1)]))),128))])):(h(),Q(f(Re),{key:0,title:"None",compact:""},{default:E(()=>[...b[14]||(b[14]=[T(" A file appears here when it is both changing and depended on. ",-1)])]),_:1}))]),_:1})]),M(f(A6),{columns:u,rows:k.value,"row-key":"id",label:"Repositories",class:"mb-3"},{repository:E(({row:B})=>[v("button",{type:"button",class:"block max-w-md truncate text-left font-medium hover:text-primary",onClick:S=>f(t).push(`/repositories/${B.repository.name}`)},F(B.repository.name),9,jf)]),files:E(({row:B})=>[v("span",Xf,F(B.files.toLocaleString()),1)]),knowledge:E(({row:B})=>[v("span",qf,F(B.knowledge.toLocaleString()),1)]),read:E(({row:B})=>[v("span",eh,F(N(B.repository)),1)]),_:1},8,["rows"]),v("div",th,[M(f(x1),{variant:"outline",size:"sm",onClick:b[2]||(b[2]=B=>f(t).push("/reviews"))},{default:E(()=>[M(f(o3),{class:"mr-1.5 h-3.5 w-3.5"}),b[15]||(b[15]=T(" Review a checkout ",-1))]),_:1}),M(f(x1),{variant:"outline",size:"sm",onClick:b[3]||(b[3]=B=>f(t).push("/skills"))},{default:E(()=>[M(f(c6),{class:"mr-1.5 h-3.5 w-3.5"}),b[16]||(b[16]=T(" Skills ",-1))]),_:1})])],64)):O("",!0)]))}};function lh(){const e=V(null),t=V(!1),n=V(null);async function l(s,o,a={}){t.value=!0,n.value=null;try{e.value=await w1.graph(`${s}/${o}`,a),n.value=null}catch(r){e.value=null,n.value=r}finally{t.value=!1}}return{graph:e,loading:t,fetchCodeGraph:l,failureFor:()=>n.value}}function sh(){const e=V(null);async function t(){return e.value={nodes:[],links:[]},e.value}return{fetchGraph:t,failureFor:()=>null}}const oh={key:0},ah={class:"inline-flex w-full rounded-md border bg-muted/40 p-0.5"},rh=["onClick"],ih={class:"mt-1.5 text-[11px] text-muted-foreground"},ch={key:1},uh={class:"relative"},dh={key:2},fh={class:"space-y-0.5"},hh=["onClick"],Ah={class:"flex-1 truncate text-foreground"},ph={class:"tabular-nums text-muted-foreground"},mh={key:3},gh={class:"flex flex-wrap gap-1.5"},vh=["onClick"],yh={key:4},bh={class:"flex cursor-pointer items-center gap-2 text-[11px] text-muted-foreground"},kh={key:5},xh={key:6},wh={class:"mb-1.5 flex items-center justify-between"},Ch=["disabled"],_h={key:0,class:"mt-1 text-[11px] text-muted-foreground"},Ih={key:1,class:"mt-1.5 space-y-1.5"},Mh={class:"flex items-start gap-1.5 text-[11px]"},Eh={class:"min-w-0 break-words"},Dh={class:"font-medium"},Zh={class:"min-w-0"},Fh={class:"min-w-0"},Bh={class:"overflow-hidden rounded-lg border bg-card"},Sh={class:"text-xs text-muted-foreground"},Rh={class:"space-y-1"},$h={class:"mx-auto max-w-sm text-xs text-muted-foreground"},Nh={key:0,class:"mt-2 text-xs text-warning"},Kh={key:1,class:"mt-2 text-xs text-muted-foreground"},Qh={key:2,class:"mt-2 text-xs text-muted-foreground"},J0=K1({__name:"GraphWorkbench",props:{repository:{},sources:{default:()=>["knowledge","code"]},controls:{default:()=>["filter","kinds","parts","layouts","depth","retired"]},height:{default:"640px"},find:{}},emits:["select"],setup(e,{expose:t,emit:n}){const l=e,s=n,{fetchGraph:o,failureFor:a}=sh(),{legend:r}=o0(),{graph:i,loading:c,fetchCodeGraph:u,failureFor:d}=lh(),A=V(l.sources[0]??"knowledge"),m=V(null),p=V(!1),g=z(()=>A.value==="code"?i.value:m.value),x=z(()=>A.value==="code"?c.value:p.value),$=z(()=>A.value==="code"?d("code-graph"):a("graph")),k=z(()=>l.repository.split("/").pop()??l.repository),N=z(()=>!!g.value&&g.value.nodes.length>0);function C(X){return l.controls.includes(X)}const b=V(""),B=V(2),S=V([]),I=V(l.find??""),D=V("2d"),_=V([]),K=V(!1),G=z(()=>!!b.value),j=z(()=>{var W;const X=(W=g.value)==null?void 0:W.nodes.find(p1=>p1.id===b.value);return(X==null?void 0:X.name)??b.value.replace(/^(file|symbol):/,"")}),f1=z(()=>{var X;return((X=g.value)==null?void 0:X.communities)??[]}),u1=V(50),A1=z(()=>f1.value.slice(0,u1.value));H1(f1,()=>{u1.value=50});const M1=[{id:"2d",label:"2D"},{id:"3d",label:"3D"},{id:"tree",label:"Tree"},{id:"radial",label:"Radial"},{id:"layered",label:"Layered"},{id:"web",label:"Force"}],i1={knowledge:"Knowledge",code:"Code"},v1=["#4E79A7","#F28E2B","#E15759","#76B7B2","#59A14F","#EDC948","#B07AA1","#FF9DA7","#9C755F","#BAB0AC"];async function r1(){const[X,W]=l.repository.split("/");if(!X||!W){m.value=null;return}if(A.value==="code"){await u(X,W,{focus:b.value||void 0,depth:G.value?B.value:void 0,q:I.value.trim()||void 0});return}p.value=!0;try{m.value=await o(X,W,{focus:b.value||void 0,depth:G.value?B.value:void 0,kind:S.value,q:I.value.trim()||void 0,status:K.value?"all":void 0})}finally{p.value=!1}}let U1=null;function b1(){U1&&clearTimeout(U1),U1=setTimeout(r1,250)}H1([B,S,I,K],b1,{deep:!0}),H1(b,r1),H1(A,()=>{b.value="",_.value=[],r1()}),H1(()=>l.repository,()=>{b.value="",_.value=[],r1()},{immediate:!0});function q1(X){s("select",X),C("depth")&&(b.value=b.value===X?"":X)}function j1(){b.value=""}function s1(X){S.value=S.value.includes(X)?S.value.filter(W=>W!==X):[...S.value,X]}function m1(X){_.value=_.value.includes(X)?_.value.filter(W=>W!==X):[..._.value,X]}const L=z(()=>l.sources.length>1||C("filter")||C("kinds")||C("parts")||C("layouts")||C("depth")||C("retired"));return t({reload:r1}),(X,W)=>{var p1,D1,w,Z;return h(),y("div",{class:o1(["grid gap-4 lg:items-start",L.value?"lg:grid-cols-[16rem_1fr]":""])},[L.value?(h(),y("aside",{key:0,class:"space-y-4 overflow-y-auto rounded-lg border bg-card p-3",style:E2({height:e.height})},[e.sources.length>1?(h(),y("div",oh,[W[6]||(W[6]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Draw",-1)),v("div",ah,[(h(!0),y(e1,null,_1(e.sources,R=>(h(),y("button",{key:R,type:"button",class:o1(["flex-1 rounded px-2 py-1 text-xs font-medium transition-colors",A.value===R?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"]),onClick:Y=>A.value=R},F(i1[R]),11,rh))),128))]),v("p",ih,F(A.value==="code"?"What is defined and what calls what, read from the code.":"What your team decided, and the files it covers."),1)])):O("",!0),C("filter")?(h(),y("div",ch,[W[7]||(W[7]=v("label",{class:"mb-1.5 block text-[11px] font-medium uppercase tracking-wide text-muted-foreground"}," Only what mentions ",-1)),v("div",uh,[M(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),te(v("input",{"onUpdate:modelValue":W[0]||(W[0]=R=>I.value=R),type:"search",placeholder:"a word",class:"w-full rounded-md border bg-background py-1.5 pl-8 pr-2 text-sm"},null,512),[[_5,I.value]])])])):O("",!0),C("parts")&&A.value==="code"&&f1.value.length?(h(),y("div",dh,[W[8]||(W[8]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Parts",-1)),v("ul",fh,[(h(!0),y(e1,null,_1(A1.value,R=>(h(),y("li",{key:R.id},[v("button",{type:"button",class:o1(["flex w-full items-center gap-2 rounded-md px-1 py-1 text-left text-[11px] transition-colors hover:bg-muted",_.value.includes(R.id)?"opacity-40":""]),onClick:Y=>m1(R.id)},[v("span",{class:"h-2.5 w-2.5 shrink-0 rounded-full",style:E2({backgroundColor:v1[R.id%v1.length]})},null,4),v("span",Ah,F(R.name),1),v("span",ph,F(R.size),1)],10,hh)]))),128))]),u1.valueu1.value+=50)},{default:E(()=>[T("Show more parts ("+F(u1.value)+" of "+F(f1.value.length)+")",1)]),_:1})):O("",!0),W[9]||(W[9]=v("p",{class:"mt-1.5 text-[11px] text-muted-foreground"}," Grouped by what calls what. Click one to hide it. ",-1))])):O("",!0),C("kinds")&&A.value==="knowledge"?(h(),y("div",mh,[W[10]||(W[10]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Kinds",-1)),v("div",gh,[(h(!0),y(e1,null,_1(f(r),R=>(h(),y("button",{key:R.label,type:"button",class:o1(["inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-[11px] transition-colors",S.value.includes(R.label.toLowerCase())?"border-primary/40 bg-primary/10 text-primary":"text-muted-foreground hover:text-foreground"]),onClick:Y=>s1(R.label.toLowerCase())},[v("span",{class:"h-2 w-2 rounded-sm",style:E2({backgroundColor:R.color})},null,4),T(" "+F(R.label),1)],10,vh))),128)),S.value.length?(h(),y("button",{key:0,type:"button",class:"text-[11px] text-muted-foreground underline-offset-2 hover:underline",onClick:W[2]||(W[2]=R=>S.value=[])},"Any")):O("",!0)])])):O("",!0),C("retired")&&A.value==="knowledge"?(h(),y("div",yh,[v("label",bh,[te(v("input",{"onUpdate:modelValue":W[3]||(W[3]=R=>K.value=R),type:"checkbox",class:"h-3 w-3 rounded border"},null,512),[[kt,K.value]]),W[11]||(W[11]=T(" Include retired records ",-1))])])):O("",!0),C("layouts")?(h(),y("div",kh,[W[12]||(W[12]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Shape",-1)),M(f(c3),{modelValue:D.value,"onUpdate:modelValue":W[4]||(W[4]=R=>D.value=R),tabs:M1,label:"Shape",class:"grid w-full grid-cols-2"},null,8,["modelValue"])])):O("",!0),C("depth")?(h(),y("div",xh,[v("div",wh,[v("span",{class:o1(["text-[11px] font-medium uppercase tracking-wide",G.value?"text-muted-foreground":"text-muted-foreground/50"])}," Steps out ",2),v("span",{class:o1(["font-mono text-xs",G.value?"":"opacity-50"])},F(B.value),3)]),te(v("input",{"onUpdate:modelValue":W[5]||(W[5]=R=>B.value=R),type:"range",min:"1",max:"5",disabled:!G.value,class:"w-full"},null,8,Ch),[[_5,B.value,void 0,{number:!0}]]),G.value?(h(),y("div",Ih,[v("p",Mh,[M(f(Yr),{class:"mt-0.5 h-3 w-3 shrink-0 text-primary"}),v("span",Eh,[W[13]||(W[13]=T("From ",-1)),v("span",Dh,F(j.value),1)])]),v("button",{type:"button",class:"inline-flex w-full items-center justify-center gap-1 rounded-md border px-2 py-1 text-[11px] hover:bg-muted",onClick:j1},[M(f(i3),{class:"h-3 w-3"}),W[14]||(W[14]=T(" Draw everything ",-1))])])):(h(),y("p",_h," Click anything on the graph to walk out from it. "))])):O("",!0)],4)):O("",!0),v("div",Zh,[v("div",{class:o1(["grid gap-4",X.$slots.inspector?"lg:grid-cols-[1fr_20rem]":""])},[v("div",Fh,[v("div",Bh,[x.value?(h(),y("div",{key:0,class:"flex",style:E2({height:e.height})},[M(f(V0),{label:A.value==="code"?"Reading the code":"Reading the knowledge graph",note:"Large repositories can take longer to load.",size:"sm"},null,8,["label"])],4)):$.value?(h(),y("div",{key:1,role:"alert",class:"flex flex-col items-center justify-center gap-3 px-6 text-center",style:E2({height:e.height})},[W[16]||(W[16]=v("p",{class:"text-sm font-medium"},"Could not load this graph",-1)),v("p",Sh,F($.value.message),1),M(f(x1),{variant:"outline",size:"sm",onClick:r1},{default:E(()=>[...W[15]||(W[15]=[T("Try again",-1)])]),_:1})],4)):N.value?(h(),Q(f(Or),{key:3,repo:k.value,mode:D.value,data:g.value,hidden:_.value,height:e.height,onSelect:q1},null,8,["repo","mode","data","hidden","height"])):(h(),y("div",{key:2,class:"flex flex-col items-center justify-center gap-3 px-6 text-center",style:E2({height:e.height})},[M(f(Dt),{class:"h-7 w-7 text-muted-foreground"}),v("div",Rh,[W[17]||(W[17]=v("p",{class:"text-sm font-medium"},"Nothing to draw",-1)),v("p",$h,F(A.value==="code"?"This repository has not been read yet, so there is no code map for it.":"Initialize this repository and approve what it proposes, and its decisions appear here."),1)])],4))]),(p1=g.value)!=null&&p1.truncated?(h(),y("p",Nh," More than fits in one drawing, so this is the most connected part of it. Narrow it"+F(L.value?" on the left":"")+", or click something to walk out from it. ",1)):O("",!0),N.value?(h(),y("p",Kh,F((D1=g.value)==null?void 0:D1.nodes.length)+" symbols, "+F((w=g.value)==null?void 0:w.links.length)+" connections. ",1)):O("",!0),N.value&&!((Z=g.value)!=null&&Z.links.length)?(h(),y("p",Qh," No connections were found between these files. ")):O("",!0)]),X.$slots.inspector?(h(),y("div",{key:0,class:"overflow-y-auto rounded-lg border bg-card",style:E2({height:e.height})},[G1(X.$slots,"inspector")],4)):O("",!0)],2)])],2)}}}),Oh={class:"flex h-full min-h-0 flex-col"},Gh=["value"],Wh={__name:"Graph",setup(e){const t=Ge(),{repositories:n,chosen:l,one:s,error:o,fetchRepositories:a}=H2(),r=es(()=>V3(()=>import("./Architecture-B0TQHlBO.js"),[])),i=V(t.query.q?"graph":"components");return o2(async()=>{await a();const c=String(t.query.repository??"");c&&n.value.some(u=>u.name===c)&&(l.value=c)}),(c,u)=>(h(),y("div",Oh,[M(f(se),{title:"Graphs",sub:"Your code, and how it holds together."},{icon:E(()=>[M(f(Dt),{class:"h-6 w-6"})]),actions:E(()=>[f(n).length>1?(h(),Q(f(ne),{key:0,"model-value":f(s),size:"sm","aria-label":"Repository","onUpdate:modelValue":u[0]||(u[0]=d=>l.value=d)},{default:E(()=>[(h(!0),y(e1,null,_1(f(n),d=>(h(),y("option",{key:d.name,value:d.name},F(d.name),9,Gh))),128))]),_:1},8,["model-value"])):O("",!0)]),_:1}),f(o)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:E(()=>[T(F(f(o)),1)]),_:1})):O("",!0),f(n).length===0?(h(),Q(x4,{key:1})):O("",!0),f(n).length?(h(),Q(f(c3),{key:2,modelValue:i.value,"onUpdate:modelValue":u[1]||(u[1]=d=>i.value=d),tabs:[{id:"components",label:"Components"},{id:"graph",label:"Code graph"}],label:"Graph view",class:"mb-4 self-start"},null,8,["modelValue"])):O("",!0),f(n).length&&i.value==="components"?(h(),Q(f(r),{key:3,repository:f(s)},null,8,["repository"])):f(n).length?(h(),Q(J0,{key:f(s),repository:f(s),find:String(f(t).query.q??""),sources:["code"],controls:["filter","kinds","parts","layouts","depth"],height:"calc(100vh - 15rem)"},null,8,["repository","find"])):O("",!0)]))}},Lh=["value"],Th=["value"],Vh={key:3,class:"relative"},Ph=["value"],Hh={key:4,class:"grid gap-3"},Uh={class:"text-sm text-muted-foreground"},Yh={key:0,class:"mt-2 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs"},Jh={class:"break-all font-mono"},zh={class:"text-lg font-semibold mb-4"},jh={class:"space-y-4"},Xh={class:"flex items-center gap-2 pt-2"},qh={__name:"Knowledge",setup(e){const t=["decision","convention","constraint","pattern","workaround","requirement"],{repositories:n,chosen:l,error:s,mixed:o,fetchRepositories:a}=H2({all:!0});async function r(_){_&&(l.value=_)}const i=Ge(),c=V([]),u=V(String(i.query.find??"")),d=z(()=>{const _=u.value.trim().toLowerCase();return _?c.value.filter(K=>`${K.id} ${K.summary??""} ${K.kind??""}`.toLowerCase().includes(_)):c.value}),A=V(null),m=V({id:"",kind:"decision",summary:"",why:""}),p=V(""),g=V(!1),x=V(!1),$=V(!1),k=V(null),N=V(!1);async function C(){try{const _=await w1.settings(),K=_.find(j=>j.key==="model.name"),G=_.find(j=>j.key==="model.api_key");N.value=!!(K!=null&&K.value)&&!!(G!=null&&G.is_set)}catch{N.value=!1}}async function b(_=!1){const K=_?$:x;K.value=!0,k.value=null;try{const G=await w1.initialize(l.value,{useModel:_});k.value=G.recorded,s.value="",await B()}catch(G){s.value=G.message}finally{K.value=!1}}async function B(){if(l.value)try{const _=await w1.knowledge(l.value);c.value=_.items,s.value=""}catch(_){c.value=[],s.value=_.message}}function S(_){var K;A.value=_??{fresh:!0},m.value=_?{id:_.id,kind:_.kind,summary:_.summary,why:((K=_.properties)==null?void 0:K.why)??""}:{id:"",kind:"decision",summary:"",why:""},p.value=""}async function I(){var _,K,G;if(!m.value.id.trim()||!m.value.summary.trim()){p.value="A name and what is true are both needed.";return}g.value=!0;try{await w1.recordKnowledge({repository:l.value,id:m.value.id.trim(),kind:m.value.kind,status:((_=A.value)==null?void 0:_.status)??"accepted",summary:m.value.summary.trim(),properties:m.value.why.trim()?{...((K=A.value)==null?void 0:K.properties)??{},why:m.value.why.trim()}:((G=A.value)==null?void 0:G.properties)??{}}),A.value=null,await B()}catch(j){p.value=j.message}finally{g.value=!1}}async function D(_){if(confirm(`Forget ${_.id}?`)){try{await w1.forgetKnowledge(l.value,_.id)}catch(K){s.value=K.message}await B()}}return H1(l,B),o2(async()=>{await a(),await Promise.all([B(),C()])}),(_,K)=>{const G=H4("X");return h(),y("div",null,[M(f(se),{pillar:"memory",title:"Knowledge",sub:"The decisions, conventions and constraints behind this code."},{icon:E(()=>[M(f(nt),{class:"h-6 w-6"})]),actions:E(()=>[f(n).length>1?(h(),Q(f(ne),{key:0,modelValue:f(l),"onUpdate:modelValue":K[0]||(K[0]=j=>i2(l)?l.value=j:null),size:"sm","aria-label":"Repository"},{default:E(()=>[v("option",{value:f(Bt)},"All repositories",8,Lh),(h(!0),y(e1,null,_1(f(n),j=>(h(),y("option",{key:j.name,value:j.name},F(j.name),9,Th))),128))]),_:1},8,["modelValue"])):O("",!0),f(n).length&&f(l)?(h(),Q(f(x1),{key:1,size:"sm",variant:"outline",disabled:x.value,onClick:b},{default:E(()=>[x.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(R5),{key:1,class:"mr-2 h-4 w-4"})),T(" "+F(x.value?"Finding…":"Find in what the repo states"),1)]),_:1},8,["disabled"])):O("",!0),f(n).length&&N.value&&f(l)?(h(),Q(f(x1),{key:2,size:"sm",variant:"outline",disabled:$.value,onClick:K[1]||(K[1]=j=>b(!0))},{default:E(()=>[$.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(f0),{key:1,class:"mr-2 h-4 w-4"})),T(" "+F($.value?"Finding…":"Find more with a model"),1)]),_:1},8,["disabled"])):O("",!0),c.value.length>5?(h(),y("div",Vh,[M(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),M(f(P2),{modelValue:u.value,"onUpdate:modelValue":K[2]||(K[2]=j=>u.value=j),size:"sm",placeholder:"Find something recorded",class:"w-56 pl-8","aria-label":"Find something recorded"},null,8,["modelValue"])])):O("",!0),f(n).length&&f(l)?(h(),Q(f(x1),{key:4,size:"sm",variant:"glow",onClick:K[3]||(K[3]=j=>S(null))},{default:E(()=>[M(f(le),{class:"mr-2 h-4 w-4"}),K[11]||(K[11]=T(" Record something ",-1))]),_:1})):f(n).length?(h(),Q(f(ne),{key:5,"model-value":"",size:"sm","aria-label":"Choose a repository","onUpdate:modelValue":r},{default:E(()=>[K[12]||(K[12]=v("option",{value:""},"Choose a repository…",-1)),(h(!0),y(e1,null,_1(f(n),j=>(h(),y("option",{key:j.name,value:j.name},F(j.name),9,Ph))),128))]),_:1})):O("",!0)]),_:1}),f(s)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:E(()=>[T(F(f(s)),1)]),_:1})):O("",!0),k.value!==null?(h(),Q(f(l2),{key:1,tone:"info",class:"mb-4"},{default:E(()=>[k.value?(h(),y(e1,{key:0},[T(" Read "+F(k.value)+" thing"+F(k.value===1?"":"s")+" this repository already states. Nobody has agreed to any of it, so it is all proposed. ",1)],64)):(h(),y(e1,{key:1},[T(" This repository does not state anything in the places projects usually write these down: a decision record, or a conventions section in a contributing guide. ")],64))]),_:1})):O("",!0),f(n).length===0?(h(),Q(x4,{key:2})):c.value.length===0?(h(),Q(f(Re),{key:3,title:"Nothing recorded yet"},{actions:E(()=>[M(f(x1),{variant:"glow",onClick:K[4]||(K[4]=j=>S(null))},{default:E(()=>[M(f(le),{class:"mr-2 h-4 w-4"}),K[13]||(K[13]=T(" Record something ",-1))]),_:1}),M(f(x1),{variant:"outline",disabled:x.value,onClick:b},{default:E(()=>[x.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(R5),{key:1,class:"mr-2 h-4 w-4"})),K[14]||(K[14]=T(" Read what the repo states ",-1))]),_:1},8,["disabled"])]),default:E(()=>[K[15]||(K[15]=T(" Why a thing is the way it is outlives the code that does it. Write one down and every agent reading this repository over MCP gets it too. ",-1))]),_:1})):(h(),y("div",Hh,[(h(!0),y(e1,null,_1(d.value,j=>(h(),Q(f(st),{key:`${j.repository??""}${j.id}`,title:j.id,pillar:"memory"},{icon:E(()=>[M(f(nt),{class:"h-5 w-5"})]),badges:E(()=>[M(f(n2),{variant:"secondary"},{default:E(()=>[T(F(j.kind),1)]),_:2},1024),j.status?(h(),Q(f(n2),{key:0,variant:"outline"},{default:E(()=>[T(F(j.status),1)]),_:2},1024)):O("",!0),f(o)&&j.repository?(h(),Q(f(ad),{key:1,name:j.repository},{icon:E(()=>[M(f(It),{class:"h-3 w-3"})]),_:1},8,["name"])):O("",!0)]),actions:E(()=>[j.status===_.PROPOSED?(h(),y(e1,{key:0},[M(f(x1),{variant:"outline",size:"sm",disabled:_.deciding===j.id,"aria-label":`Accept ${j.id}`,onClick:f1=>_.decide(j,_.ACCEPTED)},{default:E(()=>[_.deciding===j.id?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(Ke),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),K[17]||(K[17]=T(" Accept ",-1))]),_:2},1032,["disabled","aria-label","onClick"]),M(f(x1),{variant:"ghost",size:"icon","aria-label":`Throw out ${j.id}`,onClick:f1=>_.decide(j,null)},{default:E(()=>[M(G,{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])],64)):(h(),y(e1,{key:1},[M(f(x1),{variant:"ghost",size:"icon","aria-label":"Edit",onClick:f1=>S(j)},{default:E(()=>[M(f(B5),{class:"h-4 w-4"})]),_:1},8,["onClick"]),M(f(x1),{variant:"ghost",size:"icon","aria-label":"Remove",onClick:f1=>D(j)},{default:E(()=>[M(f(k4),{class:"h-4 w-4"})]),_:1},8,["onClick"])],64))]),default:E(()=>{var f1;return[v("p",Uh,F(j.summary),1),(f1=j.properties)!=null&&f1.why?(h(),y("dl",Yh,[K[16]||(K[16]=v("dt",{class:"text-muted-foreground"},"why",-1)),v("dd",Jh,F(j.properties.why),1)])):O("",!0)]}),_:2},1032,["title"]))),128))])),M(f(y6),{open:!!A.value,"max-width":"xl",onClose:K[10]||(K[10]=j=>A.value=null)},{default:E(()=>{var j;return[v("h2",zh,F((j=A.value)!=null&&j.fresh?"Record something":"Edit"),1),v("div",jh,[M(f(Q2),{label:"Name",hint:"What this will be called, and how it is found again."},{default:E(()=>{var f1;return[M(f(P2),{modelValue:m.value.id,"onUpdate:modelValue":K[5]||(K[5]=u1=>m.value.id=u1),readonly:!((f1=A.value)!=null&&f1.fresh),placeholder:"retry-limit"},null,8,["modelValue","readonly"])]}),_:1}),M(f(Q2),{label:"Kind"},{default:E(()=>[M(f(ne),{modelValue:m.value.kind,"onUpdate:modelValue":K[6]||(K[6]=f1=>m.value.kind=f1),class:"w-full"},{default:E(()=>[(h(),y(e1,null,_1(t,f1=>v("option",{key:f1},F(f1),1)),64))]),_:1},8,["modelValue"])]),_:1}),M(f(Q2),{label:"What is true"},{default:E(()=>[M(f($5),{modelValue:m.value.summary,"onUpdate:modelValue":K[7]||(K[7]=f1=>m.value.summary=f1),placeholder:"Charges retry three times, then stop."},null,8,["modelValue"])]),_:1}),M(f(Q2),{label:"Why",hint:"What stops somebody undoing it next year."},{default:E(()=>[M(f($5),{modelValue:m.value.why,"onUpdate:modelValue":K[8]||(K[8]=f1=>m.value.why=f1),placeholder:"The provider rate limits after four."},null,8,["modelValue"])]),_:1}),p.value?(h(),Q(f(l2),{key:0,tone:"danger"},{default:E(()=>[T(F(p.value),1)]),_:1})):O("",!0),v("div",Xh,[M(f(x1),{disabled:g.value,onClick:I},{default:E(()=>[M(f(Ke),{class:"mr-1.5 h-3.5 w-3.5"}),K[18]||(K[18]=T(" Save ",-1))]),_:1},8,["disabled"]),M(f(x1),{variant:"outline",onClick:K[9]||(K[9]=f1=>A.value=null)},{default:E(()=>[...K[19]||(K[19]=[T("Cancel",-1)])]),_:1})])])]}),_:1},8,["open"])])}}},eA={key:0,class:"relative"},tA={key:2,class:"space-y-6"},nA={key:0,class:"text-xs font-semibold uppercase tracking-wide text-muted-foreground"},lA={class:"flex items-center gap-1.5"},sA={class:"flex items-center gap-1.5"},oA={class:"flex items-center gap-1.5"},aA={key:1,class:"text-primary"},rA={__name:"Repositories",setup(e){const t=Ce(),{repositories:n,error:l,fetchRepositories:s}=H2(),o=V({}),a=V(""),r=V(!1),i=V(""),c=V({}),u=z(()=>n.value.some(S=>S.reading)),d=z(()=>{const S=i.value.trim().toLowerCase();return S?n.value.filter(I=>I.name.toLowerCase().includes(S)||I.path.toLowerCase().includes(S)):n.value}),A=z(()=>{const S=new Map;for(const I of d.value){const D=I.name.includes("/")?I.name.split("/")[0]:"Elsewhere";S.has(D)||S.set(D,[]),S.get(D).push(I)}return[...S.entries()].map(([I,D])=>({owner:I,items:D})).sort((I,D)=>I.owner.localeCompare(D.owner))}),m=z(()=>A.value.length>1),p=S=>m.value&&S.name.includes("/")?S.name.slice(S.name.indexOf("/")+1):S.name;let g=null;async function x(){for(const S of n.value){const I=await w1.graph(S.name).catch(()=>null);o.value={...o.value,[S.name]:I?{files:I.nodes.filter(D=>D.kind==="file").length,links:I.links.length}:null}}}async function $(){await s(),await x(),k()}function k(){clearTimeout(g),u.value&&(g=setTimeout(async()=>{await s(),u.value||await x(),k()},2e3))}async function N(S){a.value=S;try{const[I]=await w1.index(S);c.value={...c.value,[S]:I},l.value=""}catch(I){l.value=I.message}a.value="",await $()}function C(S){return S?S.indexed?`Read ${S.indexed.toLocaleString()} files just now.`:"Nothing had changed.":""}function b(S){return S.reading?"Reading…":S.indexed_at?`Read ${p4(S.indexed_at)}`:"Not read yet"}async function B(S){if(confirm(`Stop covering ${S.path}? -What was already indexed is left alone.`)){try{await w1.dropRepository(B.path)}catch(_){l.value=_.message}await $()}}return o2($),a3(()=>clearTimeout(g)),(B,_)=>(h(),y("div",null,[E(f(se),{title:"Repositories",sub:"The folders SourceAnt reads on this machine."},{icon:M(()=>[E(f(_t),{class:"h-6 w-6"})]),actions:M(()=>[f(n).length>3?(h(),y("div",zh,[E(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),E(f(P2),{modelValue:i.value,"onUpdate:modelValue":_[0]||(_[0]=D=>i.value=D),size:"sm",placeholder:"Find a folder",class:"w-48 pl-8","aria-label":"Find a folder"},null,8,["modelValue"])])):O("",!0),E(f(x1),{variant:"glow",onClick:_[1]||(_[1]=D=>r.value=!0)},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),_[4]||(_[4]=V(" Add folder or repository ",-1))]),_:1})]),_:1}),f(l)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(l)),1)]),_:1})):O("",!0),f(n).length===0?(h(),Q(f(Re),{key:1,title:"No folders yet"},{actions:M(()=>[E(f(x1),{variant:"glow",onClick:_[2]||(_[2]=D=>r.value=!0)},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),_[5]||(_[5]=V(" Add folder or repository ",-1))]),_:1})]),default:M(()=>[_[6]||(_[6]=V(" Point SourceAnt at a repository and it reads the files into a graph. ",-1))]),_:1})):(h(),y("div",jh,[(h(!0),y(e1,null,_1(A.value,D=>(h(),y("div",{key:D.owner,class:"space-y-3"},[m.value?(h(),y("h2",Xh,F(D.owner)+" ("+F(D.items.length)+") ",1)):O("",!0),(h(!0),y(e1,null,_1(D.items,C=>(h(),Q(f(tt),{key:C.path,title:p(C),subtitle:C.path,hover:"",class:"cursor-pointer",onClick:N=>f(t).push(`/repositories/${C.name}`)},{icon:M(()=>[E(f(c6),{class:"h-5 w-5"})]),meta:M(()=>[o.value[C.name]?(h(),y(e1,{key:0},[v("span",qh,[E(f(Mt),{class:"h-3.5 w-3.5"}),V(F(o.value[C.name].files.toLocaleString())+" files ",1)]),v("span",eA,[E(f(r0),{class:"h-3.5 w-3.5"}),V(F(o.value[C.name].links.toLocaleString())+" links ",1)])],64)):O("",!0),v("span",tA,[C.reading?(h(),Q(f(v2),{key:0,class:"h-3.5 w-3.5 animate-spin"})):O("",!0),V(" "+F(w(C)),1)]),c.value[C.name]?(h(),y("span",nA,F(I(c.value[C.name])),1)):O("",!0)]),actions:M(()=>[E(f(x1),{variant:"outline",size:"sm",disabled:a.value===C.name||C.reading,onClick:K2(N=>K(C.name),["stop"])},{default:M(()=>[a.value===C.name?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(u6),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),V(" "+F(a.value===C.name?"Reading…":"Re-index"),1)]),_:2},1032,["disabled","onClick"]),E(f(x1),{variant:"ghost",size:"icon","aria-label":`Remove ${C.name}`,onClick:K2(N=>S(C),["stop"])},{default:M(()=>[E(f(v4),{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])]),_:2},1032,["title","subtitle","onClick"]))),128))]))),128))])),E(H0,{open:r.value,onClose:_[3]||(_[3]=D=>r.value=!1),onAdded:$},null,8,["open"])]))}};function Bt(){const e=Ce();return t=>e.push(t)}const sA={class:"flex h-full min-h-0 flex-col"},oA={key:1,class:"space-y-3"},aA={class:"flex flex-wrap gap-x-8 gap-y-3"},rA={class:"flex items-center gap-1.5 text-xs uppercase tracking-wider text-muted-foreground"},iA={class:"mt-0.5 text-lg font-semibold"},cA={key:0,class:"mt-4 text-sm text-primary"},uA={key:1,class:"mt-4 text-sm text-muted-foreground"},dA={class:"mt-4 flex flex-wrap gap-2"},fA={class:"mb-4 mt-0.5 text-sm text-muted-foreground"},hA={class:"space-y-2"},AA=["title"],pA={class:"hidden h-1.5 w-24 shrink-0 overflow-hidden rounded-full bg-muted sm:block"},mA={class:"w-28 shrink-0 text-right text-xs tabular-nums text-muted-foreground"},gA={class:"w-24 shrink-0 text-right text-xs tabular-nums text-muted-foreground"},vA={key:2,class:"space-y-3"},yA={class:"text-sm text-muted-foreground"},bA={key:3,class:"space-y-3"},kA={class:"text-sm text-muted-foreground"},xA={__name:"Repository",setup(e){const t=Oe(),n=Ce(),l=Bt(),{repositories:s,chosen:o,fetchRepositories:a}=H2(),r=z(()=>String(t.params.name??"")),i=z(()=>s.value.find(B=>B.name===r.value)),c=P("overview"),u=P(null),d=P([]),A=P([]),m=P({files:[],since:""}),p=P(!1),g=P(null),x=P(""),$=z(()=>{var B,_,D;return[{label:"Files",value:((B=u.value)==null?void 0:B.files)??0,icon:Mt},{label:"Connections",value:((_=u.value)==null?void 0:_.links)??0,icon:r0},{label:"Parts",value:((D=u.value)==null?void 0:D.parts)??0,icon:Et},{label:"Recorded",value:d.value.length,icon:K4},{label:"Rules",value:A.value.length,icon:_3}]}),k=z(()=>{var B;return((B=m.value.files[0])==null?void 0:B.changes)||1}),K=z(()=>[{id:"overview",label:"Overview"},{id:"knowledge",label:`Knowledge${d.value.length?` ${d.value.length}`:""}`},{id:"skills",label:`Skills${A.value.length?` ${A.value.length}`:""}`},{id:"graph",label:"Graph"}]);async function I(){if(!r.value)return;o.value=r.value;const[B,_,D,C]=await Promise.all([w1.graph(r.value).catch(()=>null),w1.knowledge(r.value).catch(()=>({items:[]})),w1.skills(r.value).catch(()=>({skills:[]})),w1.attention(r.value).catch(()=>({files:[],since:""}))]);u.value=B?{files:B.nodes.filter(N=>N.kind==="file").length,links:B.links.length,parts:(B.communities??[]).length}:null,d.value=_.items??[],A.value=D.skills??[],m.value=C}async function w(){p.value=!0;try{const[B]=await w1.index(r.value);g.value=B,x.value=""}catch(B){x.value=B.message}p.value=!1,await I()}async function S(){if(confirm(`Stop covering ${i.value.path}? +What was already indexed is left alone.`)){try{await w1.dropRepository(S.path)}catch(I){l.value=I.message}await $()}}return o2($),Oe(()=>clearTimeout(g)),(S,I)=>(h(),y("div",null,[M(f(se),{title:"Repositories",sub:"The folders SourceAnt reads on this machine."},{icon:E(()=>[M(f(It),{class:"h-6 w-6"})]),actions:E(()=>[f(n).length>3?(h(),y("div",eA,[M(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),M(f(P2),{modelValue:i.value,"onUpdate:modelValue":I[0]||(I[0]=D=>i.value=D),size:"sm",placeholder:"Find a folder",class:"w-48 pl-8","aria-label":"Find a folder"},null,8,["modelValue"])])):O("",!0),M(f(x1),{variant:"glow",onClick:I[1]||(I[1]=D=>r.value=!0)},{default:E(()=>[M(f(le),{class:"mr-2 h-4 w-4"}),I[4]||(I[4]=T(" Add folder or repository ",-1))]),_:1})]),_:1}),f(l)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:E(()=>[T(F(f(l)),1)]),_:1})):O("",!0),f(n).length===0?(h(),Q(f(Re),{key:1,title:"No folders yet"},{actions:E(()=>[M(f(x1),{variant:"glow",onClick:I[2]||(I[2]=D=>r.value=!0)},{default:E(()=>[M(f(le),{class:"mr-2 h-4 w-4"}),I[5]||(I[5]=T(" Add folder or repository ",-1))]),_:1})]),default:E(()=>[I[6]||(I[6]=T(" Point SourceAnt at a repository and it reads the files into a graph. ",-1))]),_:1})):(h(),y("div",tA,[(h(!0),y(e1,null,_1(A.value,D=>(h(),y("div",{key:D.owner,class:"space-y-3"},[m.value?(h(),y("h2",nA,F(D.owner)+" ("+F(D.items.length)+") ",1)):O("",!0),(h(!0),y(e1,null,_1(D.items,_=>(h(),Q(f(st),{key:_.path,title:p(_),subtitle:_.path,hover:"",class:"cursor-pointer",onClick:K=>f(t).push(`/repositories/${_.name}`)},{icon:E(()=>[M(f(d6),{class:"h-5 w-5"})]),meta:E(()=>[o.value[_.name]?(h(),y(e1,{key:0},[v("span",lA,[M(f(Et),{class:"h-3.5 w-3.5"}),T(F(o.value[_.name].files.toLocaleString())+" files ",1)]),v("span",sA,[M(f(c0),{class:"h-3.5 w-3.5"}),T(F(o.value[_.name].links.toLocaleString())+" links ",1)])],64)):O("",!0),v("span",oA,[_.reading?(h(),Q(f(v2),{key:0,class:"h-3.5 w-3.5 animate-spin"})):O("",!0),T(" "+F(b(_)),1)]),c.value[_.name]?(h(),y("span",aA,F(C(c.value[_.name])),1)):O("",!0)]),actions:E(()=>[M(f(x1),{variant:"outline",size:"sm",disabled:a.value===_.name||_.reading,onClick:K2(K=>N(_.name),["stop"])},{default:E(()=>[a.value===_.name?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(f6),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),T(" "+F(a.value===_.name?"Reading…":"Re-index"),1)]),_:2},1032,["disabled","onClick"]),M(f(x1),{variant:"ghost",size:"icon","aria-label":`Remove ${_.name}`,onClick:K2(K=>B(_),["stop"])},{default:E(()=>[M(f(k4),{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])]),_:2},1032,["title","subtitle","onClick"]))),128))]))),128))])),M(Y0,{open:r.value,onClose:I[3]||(I[3]=D=>r.value=!1),onAdded:$},null,8,["open"])]))}};function St(){const e=Ce();return t=>e.push(t)}const iA={class:"flex h-full min-h-0 flex-col"},cA={key:1,class:"space-y-3"},uA={class:"flex flex-wrap gap-x-8 gap-y-3"},dA={class:"flex items-center gap-1.5 text-xs uppercase tracking-wider text-muted-foreground"},fA={class:"mt-0.5 text-lg font-semibold"},hA={key:0,class:"mt-4 text-sm text-primary"},AA={key:1,class:"mt-4 text-sm text-muted-foreground"},pA={class:"mt-4 flex flex-wrap gap-2"},mA={class:"mb-4 mt-0.5 text-sm text-muted-foreground"},gA={class:"space-y-2"},vA=["title"],yA={class:"hidden h-1.5 w-24 shrink-0 overflow-hidden rounded-full bg-muted sm:block"},bA={class:"w-28 shrink-0 text-right text-xs tabular-nums text-muted-foreground"},kA={class:"w-24 shrink-0 text-right text-xs tabular-nums text-muted-foreground"},xA={key:2,class:"space-y-3"},wA={class:"text-sm text-muted-foreground"},CA={key:3,class:"space-y-3"},_A={class:"text-sm text-muted-foreground"},IA={__name:"Repository",setup(e){const t=Ge(),n=Ce(),l=St(),{repositories:s,chosen:o,fetchRepositories:a}=H2(),r=z(()=>String(t.params.name??"")),i=z(()=>s.value.find(S=>S.name===r.value)),c=V("overview"),u=V(null),d=V([]),A=V([]),m=V({files:[],since:""}),p=V(!1),g=V(null),x=V(""),$=z(()=>{var S,I,D;return[{label:"Files",value:((S=u.value)==null?void 0:S.files)??0,icon:Et},{label:"Connections",value:((I=u.value)==null?void 0:I.links)??0,icon:c0},{label:"Parts",value:((D=u.value)==null?void 0:D.parts)??0,icon:Dt},{label:"Recorded",value:d.value.length,icon:G4},{label:"Rules",value:A.value.length,icon:M3}]}),k=z(()=>{var S;return((S=m.value.files[0])==null?void 0:S.changes)||1}),N=z(()=>[{id:"overview",label:"Overview"},{id:"knowledge",label:`Knowledge${d.value.length?` ${d.value.length}`:""}`},{id:"skills",label:`Skills${A.value.length?` ${A.value.length}`:""}`},{id:"graph",label:"Graph"}]);async function C(){if(!r.value)return;o.value=r.value;const[S,I,D,_]=await Promise.all([w1.graph(r.value).catch(()=>null),w1.knowledge(r.value).catch(()=>({items:[]})),w1.skills(r.value).catch(()=>({skills:[]})),w1.attention(r.value).catch(()=>({files:[],since:""}))]);u.value=S?{files:S.nodes.filter(K=>K.kind==="file").length,links:S.links.length,parts:(S.communities??[]).length}:null,d.value=I.items??[],A.value=D.skills??[],m.value=_}async function b(){p.value=!0;try{const[S]=await w1.index(r.value);g.value=S,x.value=""}catch(S){x.value=S.message}p.value=!1,await C()}async function B(){if(confirm(`Stop covering ${i.value.path}? -What was already indexed is left alone.`))try{await w1.dropRepository(i.value.path),await a(),n.push("/repositories")}catch(B){x.value=B.message}}return P1(r,I),o2(async()=>{await a(),await I()}),(B,_)=>{var D;return h(),y("div",sA,[E(f(se),{title:r.value,sub:(D=i.value)==null?void 0:D.path,mono:""},{back:M(()=>[E(f(x1),{variant:"ghost",size:"icon","aria-label":"Back to repositories",onClick:_[0]||(_[0]=C=>f(l)("/repositories"))},{default:M(()=>[E(f(Ct),{class:"h-4 w-4"})]),_:1})]),icon:M(()=>[E(f(c6),{class:"h-5 w-5"})]),badges:M(()=>{var C;return[E(f(n2),{variant:(C=u.value)!=null&&C.files?"success":"warning"},{default:M(()=>{var N;return[V(F((N=u.value)!=null&&N.files?"Indexed":"Not indexed"),1)]}),_:1},8,["variant"])]}),actions:M(()=>[E(f(x1),{variant:"outline",disabled:p.value,onClick:w},{default:M(()=>[p.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(u6),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),V(" "+F(p.value?"Reading…":"Re-index"),1)]),_:1},8,["disabled"]),E(f(x1),{variant:"ghost",size:"icon","aria-label":"Stop covering this folder",onClick:S},{default:M(()=>[E(f(v4),{class:"h-4 w-4"})]),_:1})]),_:1},8,["title","sub"]),x.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(x.value),1)]),_:1})):O("",!0),E(f(D3),{modelValue:c.value,"onUpdate:modelValue":_[1]||(_[1]=C=>c.value=C),tabs:K.value,label:"What to look at",class:"mb-4 w-fit"},null,8,["modelValue","tabs"]),c.value==="overview"?(h(),y("div",oA,[E(f(Q1),{class:"p-5"},{default:M(()=>[v("dl",aA,[(h(!0),y(e1,null,_1($.value,C=>(h(),y("div",{key:C.label},[v("dt",rA,[(h(),Q(h2(C.icon),{class:"h-3.5 w-3.5"})),V(F(C.label),1)]),v("dd",iA,F(C.value.toLocaleString()),1)]))),128))]),g.value?(h(),y("p",cA,[g.value.indexed?(h(),y(e1,{key:0},[V("Read "+F(g.value.indexed.toLocaleString())+" files just now.",1)],64)):(h(),y(e1,{key:1},[V("Nothing had changed.")],64))])):u.value===null?(h(),y("p",uA," Not read yet. Re-index to read it. ")):O("",!0),v("div",dA,[E(f(x1),{variant:"outline",size:"sm",onClick:_[2]||(_[2]=C=>f(n).push("/reviews"))},{default:M(()=>[E(f(s3),{class:"mr-1.5 h-3.5 w-3.5"}),_[6]||(_[6]=V(" Review what has changed ",-1))]),_:1}),E(f(x1),{variant:"outline",size:"sm",onClick:_[3]||(_[3]=C=>f(n).push("/knowledge"))},{default:M(()=>[E(f(K4),{class:"mr-1.5 h-3.5 w-3.5"}),_[7]||(_[7]=V(" Record something ",-1))]),_:1})])]),_:1}),m.value.files.length?(h(),Q(f(Q1),{key:0,class:"p-5"},{default:M(()=>[_[8]||(_[8]=v("h2",{class:"font-semibold"},"Where to look first",-1)),v("p",fA," Files that have been changing in the last "+F(m.value.since)+" and that the rest of the code leans on. Either on its own says little: something everything imports and nobody touches is settled, and something nothing imports that changes daily is a scratch pad. Where they meet is where a change is most likely to catch somebody out, and is the shortest list worth reading first. ",1),v("ul",hA,[(h(!0),y(e1,null,_1(m.value.files,C=>(h(),y("li",{key:C.path,class:"flex items-center gap-3"},[v("span",{class:"min-w-0 flex-1 truncate font-mono text-sm",title:C.path},F(C.path),9,AA),v("span",pA,[v("span",{class:"block h-full rounded-full bg-pillar-graph",style:M2({width:`${Math.max(4,C.changes/k.value*100)}%`})},null,4)]),v("span",mA,F(C.changes)+" change"+F(C.changes===1?"":"s"),1),v("span",gA,F(C.dependants)+" depend"+F(C.dependants===1?"s":""),1)]))),128))])]),_:1})):O("",!0)])):c.value==="knowledge"?(h(),y("div",vA,[(h(!0),y(e1,null,_1(d.value,C=>(h(),Q(f(tt),{key:C.id,title:C.id,pillar:"memory"},{icon:M(()=>[E(f(K4),{class:"h-5 w-5"})]),badges:M(()=>[E(f(n2),{variant:"secondary"},{default:M(()=>[V(F(C.kind),1)]),_:2},1024),C.status?(h(),Q(f(n2),{key:0,variant:"outline"},{default:M(()=>[V(F(C.status),1)]),_:2},1024)):O("",!0)]),default:M(()=>[v("p",yA,F(C.summary),1)]),_:2},1032,["title"]))),128)),d.value.length?O("",!0):(h(),Q(f(Q1),{key:0,class:"p-10 text-center"},{default:M(()=>[_[10]||(_[10]=v("p",{class:"font-medium"},"Nothing recorded about this repository yet.",-1)),E(f(x1),{class:"mt-3",variant:"outline",onClick:_[4]||(_[4]=C=>f(n).push("/knowledge"))},{default:M(()=>[..._[9]||(_[9]=[V("Record something",-1)])]),_:1})]),_:1}))])):c.value==="skills"?(h(),y("div",bA,[(h(!0),y(e1,null,_1(A.value,C=>(h(),Q(f(tt),{key:C.id,title:C.name,subtitle:C.path,pillar:"review"},{icon:M(()=>[E(f(_3),{class:"h-5 w-5"})]),badges:M(()=>[E(f(n2),{variant:C.origin==="repository"?"success":"outline"},{default:M(()=>[V(F(C.origin==="repository"?"this repository":C.origin),1)]),_:2},1032,["variant"])]),default:M(()=>[v("p",kA,F(C.description),1)]),_:2},1032,["title","subtitle"]))),128)),A.value.length?O("",!0):(h(),Q(f(Q1),{key:0,class:"p-10 text-center"},{default:M(()=>[_[12]||(_[12]=v("p",{class:"font-medium"},"Nothing written down for this repository yet.",-1)),E(f(x1),{class:"mt-3",variant:"outline",onClick:_[5]||(_[5]=C=>f(n).push("/skills/new"))},{default:M(()=>[..._[11]||(_[11]=[V("Add skill",-1)])]),_:1})]),_:1}))])):(h(),Q(Y0,{key:r.value,repository:r.value,sources:["code"],controls:["filter","kinds","parts","layouts","depth"],height:"calc(100vh - 19rem)"},null,8,["repository"]))])}}},wA={class:"flex h-full min-h-0 flex-col"},CA={key:0},_A=["value"],IA=["value"],MA=["value"],EA={class:"mb-2 flex items-center justify-between gap-3"},DA={key:0,class:"relative"},ZA=["onClick"],FA={key:0,class:"block max-w-md truncate text-xs text-destructive"},BA={class:"font-mono text-xs text-muted-foreground"},SA={class:"text-muted-foreground"},RA={class:"tabular-nums text-muted-foreground"},$A={class:"mb-3 flex flex-wrap items-center gap-x-3 gap-y-2"},NA={class:"ml-auto flex flex-wrap items-center gap-1.5"},KA=["value"],QA={key:1,class:"min-h-0 flex-1 overflow-y-auto"},OA={class:"min-w-0 flex-1 truncate font-medium"},GA={class:"shrink-0 font-mono text-xs text-muted-foreground"},WA={class:"shrink-0 text-xs text-muted-foreground"},LA={class:"shrink-0 text-xs text-muted-foreground"},VA={key:0,class:"mt-2 whitespace-pre-wrap pl-5 text-sm text-muted-foreground"},TA={key:2,class:"min-h-0 flex-1 overflow-y-auto"},PA={class:"divide-y"},HA={class:"flex cursor-pointer items-center gap-2 text-sm"},YA={class:"font-medium"},UA={class:"min-w-0 flex-1 truncate text-muted-foreground"},JA={class:"flex cursor-pointer items-center gap-2 text-sm"},zA={class:"font-medium"},jA={class:"min-w-0 flex-1 truncate text-muted-foreground"},XA={class:"space-y-2"},qA={class:"space-y-2"},ep={class:"space-y-2"},tp={class:"space-y-1.5 text-sm"},np=["onClick"],lp={class:"font-mono text-xs"},sp={key:3,class:"grid min-h-0 flex-1 gap-3 lg:grid-cols-[18rem_1fr]"},op={class:"min-h-0 flex-1 overflow-y-auto py-1"},ap=["onClick"],rp=["title"],ip={class:"shrink-0 text-[10px] uppercase text-muted-foreground"},cp={class:"min-h-0 overflow-y-auto"},up={class:"mb-2 flex flex-wrap items-center gap-2"},dp={class:"break-all font-mono text-sm"},fp=1500,cn={__name:"Reviews",setup(e){const t=Oe(),n=Ce(),l=Bt(),{repositories:s,chosen:o,error:a,fetchRepositories:r}=H2({all:!0}),i=P(!1),c=P(!1),u=P(null),d=P(null),A=P(!1),m=P(""),p=P([]),g=P(""),x=P([]),$=P([]),k=P(""),K=[{id:"status",label:"Status",width:"6rem"},{id:"review",label:"Review"},{id:"repository",label:"Repository",narrow:!0},{id:"started",label:"Started",narrow:!0},{id:"took",label:"Took",align:"right",narrow:!0}];function I(T){if(!T.finished||!T.started)return"";const H=Math.round((new Date(T.finished)-new Date(T.started))/1e3);return H<1?"instant":H<60?`${H}s`:`${Math.round(H/60)}m`}const w=z(()=>{const T=k.value.trim().toLowerCase();return T?$.value.filter(H=>`${H.title??""} ${H.repository??""} ${H.status??""}`.toLowerCase().includes(T)):$.value}),S=P("overview"),B=z(()=>{var T;return((T=u.value)==null?void 0:T.changed)??[]}),_=z(()=>String(t.params.id??"")),D=z(()=>x.value.filter(T=>!p.value.includes(T.id))),C=z(()=>Object.fromEntries(x.value.map(T=>[T.id,T]))),N=T=>{var H;return((H=C.value[T])==null?void 0:H.name)??T},G=T=>{var H;return(H=A1.value.find(Z1=>Z1.skill===T))==null?void 0:H.passed};function j(T){p.value=p.value.filter(H=>H!==T)}function f1(T){T&&!p.value.includes(T)&&(p.value=[...p.value,T]),g.value=""}const u1=z(()=>{var T;return((T=u.value)==null?void 0:T.where)??null}),A1=z(()=>{var T;return((T=u.value)==null?void 0:T.verdicts)??[]}),M1=z(()=>A1.value.flatMap(T=>T.findings.map(H=>({...H,skill:T.skill})))),i1=z(()=>M1.value.filter(T=>T.severity==="blocking")),v1=z(()=>M1.value.filter(T=>T.severity!=="blocking")),r1=z(()=>{const T={};for(const H of M1.value)H.path&&(T[H.path]=(T[H.path]??0)+(H.severity==="blocking"?10:1));for(const H of m1.value)T[H.path]=(T[H.path]??0)+1;return T}),H1=z(()=>[...B.value].sort((T,H)=>(r1.value[H.path]??0)-(r1.value[T.path]??0))),b1=z(()=>B.value.find(T=>T.path===m.value)??H1.value[0]??null),q1=z(()=>M1.value.filter(T=>!T.path)),j1=z(()=>{var T;return((T=u.value)==null?void 0:T.review)??null}),s1=z(()=>{var T;return((T=j1.value)==null?void 0:T.summary)??null}),m1=z(()=>{var T;return((T=j1.value)==null?void 0:T.suggestions)??[]}),L=z(()=>A1.value.filter(T=>!T.passed)),X=z(()=>{var T;return((T=u.value)==null?void 0:T.commits)??[]}),W=z(()=>{var T,H;return!!((T=s1.value)!=null&&T.overview)||L.value.length>0||q1.value.length>0||m1.value.length>0||Object.keys(((H=j1.value)==null?void 0:H.notes)??{}).length>0}),p1=z(()=>{const T=[{id:"overview",label:"Overview"},{id:"details",label:`Files${B.value.length?` ${B.value.length}`:""}`}];return T.push({id:"commits",label:`Commits${X.value.length?` ${X.value.length}`:""}`}),T}),D1={APPROVE:{label:"Approved",tone:"success"},REQUEST_CHANGES:{label:"Changes requested",tone:"danger"},COMMENT:{label:"Commented",tone:"warning"}},b=z(()=>{var H;if(i1.value.length)return{label:"Changes requested",tone:"danger",count:i1.value.length};const T=(H=j1.value)==null?void 0:H.verdict;return T&&D1[T]?{...D1[T],count:m1.value.length||null}:!A1.value.length&&!j1.value?{label:"Not reviewed",tone:"neutral",count:null}:{label:"Commented",tone:"warning",count:v1.value.length||null}}),Z={success:i6,danger:Z5,warning:Ur,neutral:s3},R=z(()=>u.value?Z[b.value.tone]:s3),U={BUG:"danger",SECURITY:"danger",PERFORMANCE:"warning",REFACTOR:"info",STYLE:"neutral",CLARITY:"neutral",TEST:"info",DOCUMENTATION:"neutral"},J=T=>U[String(T||"").toUpperCase()]??"info",Y=T=>[...M1.value.filter(H=>H.path===T).map(H=>({...H,from:H.skill,tone:H.severity==="blocking"?"danger":"warning"})),...m1.value.filter(H=>H.path===T).map(H=>({line:H.start_line,severity:"suggestion",detail:H.comment,code:H.suggested_code,replacing:H.existing_code,from:H.category||"review",tone:J(H.category)}))];async function a1(T){T&&(o.value=T,await Promise.all([q(),n1()]))}async function n1(){try{$.value=await w1.reviews(o.value)}catch{$.value=[]}}async function l1(){try{const T=await w1.settings(),H=T.find(R1=>R1.key==="model.name"),Z1=T.find(R1=>R1.key==="model.api_key");A.value=!!(H!=null&&H.value)&&!!(Z1!=null&&Z1.is_set)}catch{A.value=!1}}async function q(){try{x.value=(await w1.skills(o.value)).skills}catch{x.value=[]}}let k1=null;function c1(){k1&&clearTimeout(k1),k1=null}async function y1(T){c1();const H=T?c:i;H.value=!0,a.value="";try{const Z1=await w1.startReview(o.value,{useModel:T,skills:[...p.value]});n.replace(`/reviews/${Z1.id}`),await I1(Z1.id,T)}catch(Z1){a.value=Z1.message,H.value=!1}}async function I1(T,H=!0){const Z1=H?c:i;let R1;try{R1=await w1.reviewed(T)}catch(t1){a.value=t1.message,Z1.value=!1;return}if(d.value=R1,R1.status==="running"){Z1.value=!0,k1=setTimeout(()=>I1(T,H),fp);return}if(Z1.value=!1,R1.status==="failed"){a.value=R1.error;return}u.value=R1.review,m.value="",S.value="overview",p.value=(R1.review.skills??[]).map(t1=>t1.id)}return P1(o,()=>{c1(),q(),n1()}),P1(_,T=>{if(c1(),!T){u.value=null,d.value=null,n1();return}I1(T)}),a3(c1),o2(async()=>{await r(),await Promise.all([l1(),q(),n1()]),_.value&&await I1(_.value)}),(T,H)=>{var R1;const Z1=V4("RouterLink");return h(),y("div",wA,[E(f(se),{pillar:"review",title:u1.value?`${u1.value.branch||"no branch"} → ${u1.value.against}`:"Reviews",sub:u1.value?u1.value.path:"Your work read here, before anybody else is asked to read it.",mono:!!u1.value,tone:u.value?b.value.tone:void 0},v5({icon:M(()=>[(h(),Q(h2(R.value),{class:"h-6 w-6"}))]),actions:M(()=>[f(s).length>1?(h(),Q(f(ne),{key:0,modelValue:f(o),"onUpdate:modelValue":H[1]||(H[1]=t1=>i2(o)?o.value=t1:null),size:"sm","aria-label":"Repository"},{default:M(()=>[v("option",{value:f(Ft)},"All repositories",8,_A),(h(!0),y(e1,null,_1(f(s),t1=>(h(),y("option",{key:t1.name,value:t1.name},F(t1.name),9,IA))),128))]),_:1},8,["modelValue"])):O("",!0),f(s).length&&f(o)?(h(),Q(f(x1),{key:1,size:"sm",variant:"outline",disabled:i.value,onClick:H[2]||(H[2]=t1=>y1(!1))},{default:M(()=>[i.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(Mt),{key:1,class:"mr-2 h-4 w-4"})),V(" "+F(i.value?"Reading…":"Read what changed"),1)]),_:1},8,["disabled"])):O("",!0),f(s).length&&A.value&&f(o)?(h(),Q(f(x1),{key:2,size:"sm",variant:"glow",disabled:c.value,onClick:H[3]||(H[3]=t1=>y1(!0))},{default:M(()=>[c.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(u0),{key:1,class:"mr-2 h-4 w-4"})),V(" "+F(c.value?"Reviewing…":"Review it"),1)]),_:1},8,["disabled"])):f(s).length&&A.value?(h(),Q(f(ne),{key:3,"model-value":"",size:"sm","aria-label":"Choose a repository to review","onUpdate:modelValue":a1},{default:M(()=>[H[6]||(H[6]=v("option",{value:""},"Choose a repository…",-1)),(h(!0),y(e1,null,_1(f(s),t1=>(h(),y("option",{key:t1.name,value:t1.name},F(t1.name),9,MA))),128))]),_:1})):O("",!0)]),_:2},[_.value?{name:"back",fn:M(()=>[E(f(x1),{variant:"ghost",size:"icon","aria-label":"Back to reviews",onClick:H[0]||(H[0]=t1=>f(l)("/reviews"))},{default:M(()=>[E(f(Ct),{class:"h-4 w-4"})]),_:1})]),key:"0"}:void 0,u.value?{name:"meta",fn:M(()=>[E(f(W0),{label:b.value.label,tone:b.value.tone,count:b.value.count},null,8,["label","tone","count"]),u1.value?(h(),y("span",CA,F(u1.value.commits)+" commit"+F(u1.value.commits===1?"":"s")+" ahead",1)):O("",!0),v("span",null,F(B.value.length)+" file"+F(B.value.length===1?"":"s"),1)]),key:"1"}:void 0]),1032,["title","sub","mono","tone"]),f(a)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(a)),1)]),_:1})):O("",!0),f(s).length===0?(h(),Q(y4,{key:1})):(h(),y(e1,{key:2},[!A.value&&f(o)?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-4"},{default:M(()=>[H[8]||(H[8]=V(" No model is configured, so nothing here can be judged. Reading what changed needs nothing. ",-1)),E(Z1,{to:"/settings?group=Model",class:"font-medium underline"},{default:M(()=>[...H[7]||(H[7]=[V(" Choose a model ",-1)])]),_:1}),H[9]||(H[9]=V(" to have the work read against your skills. ",-1))]),_:1})):O("",!0),u.value?(h(),y(e1,{key:2},[v("div",$A,[E(f(D3),{modelValue:S.value,"onUpdate:modelValue":H[5]||(H[5]=t1=>S.value=t1),tabs:p1.value,label:"What to look at",class:"w-fit"},null,8,["modelValue","tabs"]),v("div",NA,[H[14]||(H[14]=v("span",{class:"text-xs uppercase tracking-wider text-muted-foreground"}," Skills applied ",-1)),(h(!0),y(e1,null,_1(p.value,t1=>(h(),Q(f(F7),{key:t1,label:N(t1),tone:G(t1)===void 0?"default":G(t1)?"success":"danger",removable:"",onRemove:e2=>j(t1)},{default:M(()=>[V(F(N(t1)),1)]),_:2},1032,["label","tone","onRemove"]))),128)),p.value.length?O("",!0):(h(),Q(f(F7),{key:0,tone:"muted"},{default:M(()=>[...H[12]||(H[12]=[V("Whatever applies",-1)])]),_:1})),D.value.length?(h(),Q(f(ne),{key:1,"model-value":g.value,size:"sm","aria-label":"Add a skill","onUpdate:modelValue":f1},{default:M(()=>[H[13]||(H[13]=v("option",{value:""},"Add…",-1)),(h(!0),y(e1,null,_1(D.value,t1=>(h(),y("option",{key:t1.id,value:t1.id},F(t1.name),9,KA))),128))]),_:1},8,["model-value"])):O("",!0)])]),u.value.note&&!j1.value?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-3"},{default:M(()=>[V(F(u.value.note),1)]),_:1})):O("",!0),S.value==="commits"?(h(),y("div",QA,[X.value.length?(h(),Q(f(Q1),{key:1,class:"divide-y px-4 py-1"},{default:M(()=>[(h(!0),y(e1,null,_1(X.value,t1=>(h(),y("div",{key:t1.sha,class:"py-2.5"},[(h(),Q(h2(t1.body?"details":"div"),{class:o1(t1.body&&"group")},{default:M(()=>[(h(),Q(h2(t1.body?"summary":"div"),{class:o1(["flex items-baseline gap-2 text-sm",t1.body&&"cursor-pointer list-none"])},{default:M(()=>[E(f(Pr),{class:"h-3.5 w-3.5 shrink-0 self-center text-muted-foreground"}),v("span",OA,F(t1.subject),1),v("span",GA,F(t1.sha.slice(0,8)),1),v("span",WA,F(t1.author),1),v("span",LA,F(f(A4)(t1.at)),1)]),_:2},1032,["class"])),t1.body?(h(),y("p",VA,F(t1.body),1)):O("",!0)]),_:2},1032,["class"]))]))),128))]),_:1})):(h(),Q(f(Re),{key:0,title:"Nothing committed on this branch",compact:""},{default:M(()=>[...H[15]||(H[15]=[V(" Everything here is uncommitted work, which is in the diff rather than in a commit. ",-1)])]),_:1}))])):S.value==="overview"?(h(),y("div",TA,[B.value.length?W.value?(h(),Q(f(Q1),{key:2,class:"divide-y px-5 py-1"},{default:M(()=>{var t1,e2,_2,_e,F3,A2,I2,B3;return[(t1=s1.value)!=null&&t1.overview?(h(),Q(f(Ye),{key:0,title:"What this change does",tone:"info"},{icon:M(()=>[E(f(Z7),{class:"h-4 w-4"})]),default:M(()=>[E(f(B2),{source:s1.value.overview},null,8,["source"])]),_:1})):O("",!0),L.value.length||q1.value.length?(h(),Q(f(Ye),{key:1,title:"Skill checks",tone:"warning",count:L.value.length+q1.value.length,collapsible:"",closed:""},{icon:M(()=>[E(f(et),{class:"h-4 w-4"})]),default:M(()=>[v("ul",PA,[(h(!0),y(e1,null,_1(L.value,$1=>(h(),y("li",{key:$1.skill,class:"py-2 first:pt-0"},[v("details",null,[v("summary",HA,[E(f(J3),{tone:"danger",title:`${$1.skill} is not met`},null,8,["title"]),v("span",YA,F($1.skill),1),v("span",UA,F(($1.note||"").split(` -`)[0]),1)]),$1.note?(h(),Q(f(B2),{key:0,source:$1.note,class:"mt-2 pl-5 text-sm text-muted-foreground"},null,8,["source"])):O("",!0)])]))),128)),(h(!0),y(e1,null,_1(q1.value,($1,D2)=>(h(),y("li",{key:`o${D2}`,class:"py-2 first:pt-0"},[v("details",null,[v("summary",JA,[E(f(J3),{tone:$1.severity==="blocking"?"danger":"warning",title:$1.skill||"A skill"},null,8,["tone","title"]),v("span",zA,F($1.skill),1),v("span",jA,F(($1.detail||"").split(` -`)[0]),1)]),E(f(B2),{source:$1.detail,class:"mt-2 pl-5 text-sm text-muted-foreground"},null,8,["source"])])]))),128))])]),_:1},8,["count"])):O("",!0),(_2=(e2=s1.value)==null?void 0:e2.critical_issues)!=null&&_2.length?(h(),Q(f(Ye),{key:2,title:"Worth stopping for",tone:"danger",count:s1.value.critical_issues.length,collapsible:""},{icon:M(()=>[E(f(Z5),{class:"h-4 w-4"})]),default:M(()=>[v("ul",XA,[(h(!0),y(e1,null,_1(s1.value.critical_issues,($1,D2)=>(h(),y("li",{key:D2},[E(f(B2),{source:$1},null,8,["source"])]))),128))])]),_:1},8,["count"])):O("",!0),(F3=(_e=s1.value)==null?void 0:_e.key_improvements)!=null&&F3.length?(h(),Q(f(Ye),{key:3,title:"Recommended changes",tone:"warning",count:s1.value.key_improvements.length,collapsible:""},{icon:M(()=>[E(f(q4),{class:"h-4 w-4"})]),default:M(()=>[v("ul",qA,[(h(!0),y(e1,null,_1(s1.value.key_improvements,($1,D2)=>(h(),y("li",{key:D2},[E(f(B2),{source:$1},null,8,["source"])]))),128))])]),_:1},8,["count"])):O("",!0),(I2=(A2=s1.value)==null?void 0:A2.minor_suggestions)!=null&&I2.length?(h(),Q(f(Ye),{key:4,title:"Nice to have",count:s1.value.minor_suggestions.length,collapsible:"",closed:""},{icon:M(()=>[E(f(S5),{class:"h-4 w-4"})]),default:M(()=>[v("ul",ep,[(h(!0),y(e1,null,_1(s1.value.minor_suggestions,($1,D2)=>(h(),y("li",{key:D2},[E(f(B2),{source:$1},null,8,["source"])]))),128))])]),_:1},8,["count"])):O("",!0),m1.value.length?(h(),Q(f(Ye),{key:5,title:"Suggestions",tone:"info",count:m1.value.length,collapsible:""},{icon:M(()=>[E(f(Lr),{class:"h-4 w-4"})]),default:M(()=>[H[16]||(H[16]=v("p",{class:"mb-3 text-sm text-muted-foreground"}," Each one is drawn against the line it is about, under Files. ",-1)),v("ul",tp,[(h(!0),y(e1,null,_1(m1.value,($1,D2)=>(h(),y("li",{key:D2,class:"flex gap-2"},[$1.category?(h(),Q(f(J3),{key:0,tone:J($1.category),title:$1.category,label:$1.category.toLowerCase(),class:"mt-0.5 shrink-0"},null,8,["tone","title","label"])):O("",!0),v("button",{type:"button",class:"min-w-0 text-left hover:underline",onClick:hm=>{m.value=$1.path,S.value="details"}},[v("span",lp,F($1.path)+":"+F($1.start_line),1),E(f(B2),{source:$1.comment,class:"text-muted-foreground"},null,8,["source"])],8,np)]))),128))])]),_:1},8,["count"])):O("",!0),(h(!0),y(e1,null,_1(((B3=j1.value)==null?void 0:B3.notes)??{},($1,D2)=>(h(),Q(f(Ye),{key:D2,title:String(D2).replace(/_/g," "),collapsible:"",closed:"",class:"capitalize"},{icon:M(()=>[E(f(Z7),{class:"h-4 w-4"})]),default:M(()=>[E(f(B2),{source:$1,class:"normal-case"},null,8,["source"])]),_:2},1032,["title"]))),128))]}),_:1})):(h(),Q(f(Re),{key:1,title:"Read, not judged",compact:""},{default:M(()=>[V(F(u.value.note||"No model was asked, so nothing was judged."),1)]),_:1})):(h(),Q(f(Re),{key:0,title:"No changes",compact:""},{default:M(()=>{var t1,e2;return[V(F(((t1=u1.value)==null?void 0:t1.branch)||"This checkout")+" matches "+F(((e2=u1.value)==null?void 0:e2.against)||"its base")+". Nothing to read. ",1)]}),_:1}))])):(h(),y("div",sp,[E(f(Q1),{class:"flex min-h-0 flex-col overflow-hidden"},{default:M(()=>[H[17]||(H[17]=v("div",{class:"border-b px-3 py-2 text-xs uppercase tracking-wider text-muted-foreground"}," Changed ",-1)),v("ul",op,[(h(!0),y(e1,null,_1(H1.value,t1=>{var e2;return h(),y("li",{key:t1.path},[v("button",{type:"button",class:o1(["flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",((e2=b1.value)==null?void 0:e2.path)===t1.path?"bg-primary/10 text-primary":"hover:bg-muted"]),onClick:_2=>m.value=t1.path},[v("span",{class:"min-w-0 flex-1 truncate font-mono text-xs",title:t1.path},F(t1.path),9,rp),Y(t1.path).length?(h(),Q(f(n2),{key:0,variant:r1.value[t1.path]>=10?"destructive":"secondary"},{default:M(()=>[V(F(Y(t1.path).length),1)]),_:2},1032,["variant"])):O("",!0),v("span",ip,F(t1.change.slice(0,3)),1)],10,ap)])}),128))])]),_:1}),v("div",cp,[b1.value?(h(),y(e1,{key:0},[v("div",up,[v("span",dp,F(b1.value.path),1),E(f(n2),{variant:"secondary"},{default:M(()=>[V(F(b1.value.change),1)]),_:1})]),E(f(Wu),{patch:b1.value.patch,notes:Y(b1.value.path)},null,8,["patch","notes"])],64)):(h(),Q(f(Q1),{key:1,class:"p-10 text-center text-sm text-muted-foreground"},{default:M(()=>[...H[18]||(H[18]=[V(" Nothing has changed in this checkout. ",-1)])]),_:1}))])]))],64)):(h(),y(e1,{key:1},[((R1=d.value)==null?void 0:R1.status)==="running"?(h(),Q(f(L0),{key:0,label:"Reading it",note:"This keeps going whether or not anybody is watching, and the link to it keeps working."})):(h(),y(e1,{key:1},[$.value.length?O("",!0):(h(),Q(f(Re),{key:0,title:"Nothing read here yet"},v5({icon:M(()=>[E(f(s3),{class:"h-8 w-8"})]),default:M(()=>[H[10]||(H[10]=V(" Everything comes off the checkout, so work you have not pushed, or not committed, still gets a review. ",-1))]),_:2},[f(o)?void 0:{name:"actions",fn:M(()=>[(h(!0),y(e1,null,_1(f(s),t1=>(h(),Q(f(x1),{key:t1.name,size:"sm",variant:"outline",onClick:e2=>a1(t1.name)},{default:M(()=>[E(f(_t),{class:"mr-2 h-4 w-4"}),V(" "+F(t1.name),1)]),_:2},1032,["onClick"]))),128))]),key:"0"}]),1024)),$.value.length?(h(),y(e1,{key:1},[v("div",EA,[H[11]||(H[11]=v("p",{class:"text-xs uppercase tracking-wider text-muted-foreground"},"Earlier",-1)),$.value.length>5?(h(),y("div",DA,[E(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),E(f(P2),{modelValue:k.value,"onUpdate:modelValue":H[4]||(H[4]=t1=>k.value=t1),size:"sm",placeholder:"Find a review",class:"w-48 pl-8","aria-label":"Find a review"},null,8,["modelValue"])])):O("",!0)]),E(f(f6),{columns:K,rows:w.value,"row-key":"id",label:"Earlier reviews"},{status:M(({row:t1})=>[E(f(n2),{variant:t1.status==="done"?"success":t1.status==="failed"?"destructive":"secondary"},{default:M(()=>[V(F(t1.status),1)]),_:2},1032,["variant"])]),review:M(({row:t1})=>[v("button",{type:"button",class:"block max-w-md truncate text-left font-medium hover:text-primary",onClick:e2=>f(n).push(`/reviews/${t1.id}`)},F(t1.title||"Unnamed"),9,ZA),t1.error?(h(),y("span",FA,F(t1.error),1)):O("",!0)]),repository:M(({row:t1})=>[v("span",BA,F(t1.repository),1)]),started:M(({row:t1})=>[v("span",SA,F(f(A4)(t1.started)),1)]),took:M(({row:t1})=>[v("span",RA,F(I(t1)),1)]),_:1},8,["rows"])],64)):O("",!0)],64))],64))],64))])}}},hp={key:1,class:"py-10 text-center text-sm text-muted-foreground"},Ap={class:"text-sm"},pp={class:"mt-4 grid gap-4 border-t pt-4 text-sm sm:grid-cols-3"},mp={class:"flex flex-wrap gap-1"},gp={key:0,class:"flex flex-wrap gap-1 font-mono text-xs"},vp={key:1,class:"text-muted-foreground"},yp="repository",r5="global",bp={__name:"Skill",setup(e){const t=[yp,r5],n=Oe(),l=Ce(),s=Bt(),{chosen:o,fetchRepositories:a}=H2(),r=z(()=>String(n.params.id??"")),i=P(null),c=P([]),u=P(!0),d=P(""),A=z(()=>!!i.value&&!t.includes(i.value.origin)),m=z(()=>i.value?A.value?i.value.origin:i.value.origin===r5?"everywhere":o.value:""),p=$=>{var k,K;return((K=(k=i.value)==null?void 0:k.applications)==null?void 0:K[$])!==!1};async function g(){u.value=!0,d.value="",c.value.length||(c.value=await w1.uses().catch(()=>[]));try{i.value=await w1.skill(r.value,o.value)}catch($){d.value=$.message,i.value=null}finally{u.value=!1}}async function x(){if(confirm(`Forget ${i.value.name}? +What was already indexed is left alone.`))try{await w1.dropRepository(i.value.path),await a(),n.push("/repositories")}catch(S){x.value=S.message}}return H1(r,C),o2(async()=>{await a(),await C()}),(S,I)=>{var D;return h(),y("div",iA,[M(f(se),{title:r.value,sub:(D=i.value)==null?void 0:D.path,mono:""},{back:E(()=>[M(f(x1),{variant:"ghost",size:"icon","aria-label":"Back to repositories",onClick:I[0]||(I[0]=_=>f(l)("/repositories"))},{default:E(()=>[M(f(_t),{class:"h-4 w-4"})]),_:1})]),icon:E(()=>[M(f(d6),{class:"h-5 w-5"})]),badges:E(()=>{var _;return[M(f(n2),{variant:(_=u.value)!=null&&_.files?"success":"warning"},{default:E(()=>{var K;return[T(F((K=u.value)!=null&&K.files?"Indexed":"Not indexed"),1)]}),_:1},8,["variant"])]}),actions:E(()=>[M(f(x1),{variant:"outline",disabled:p.value,onClick:b},{default:E(()=>[p.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(f6),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),T(" "+F(p.value?"Reading…":"Re-index"),1)]),_:1},8,["disabled"]),M(f(x1),{variant:"ghost",size:"icon","aria-label":"Stop covering this folder",onClick:B},{default:E(()=>[M(f(k4),{class:"h-4 w-4"})]),_:1})]),_:1},8,["title","sub"]),x.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:E(()=>[T(F(x.value),1)]),_:1})):O("",!0),M(f(c3),{modelValue:c.value,"onUpdate:modelValue":I[1]||(I[1]=_=>c.value=_),tabs:N.value,label:"What to look at",class:"mb-4 w-fit"},null,8,["modelValue","tabs"]),c.value==="overview"?(h(),y("div",cA,[M(f(O1),{class:"p-5"},{default:E(()=>[v("dl",uA,[(h(!0),y(e1,null,_1($.value,_=>(h(),y("div",{key:_.label},[v("dt",dA,[(h(),Q(A2(_.icon),{class:"h-3.5 w-3.5"})),T(F(_.label),1)]),v("dd",fA,F(_.value.toLocaleString()),1)]))),128))]),g.value?(h(),y("p",hA,[g.value.indexed?(h(),y(e1,{key:0},[T("Read "+F(g.value.indexed.toLocaleString())+" files just now.",1)],64)):(h(),y(e1,{key:1},[T("Nothing had changed.")],64))])):u.value===null?(h(),y("p",AA," Not read yet. Re-index to read it. ")):O("",!0),v("div",pA,[M(f(x1),{variant:"outline",size:"sm",onClick:I[2]||(I[2]=_=>f(n).push("/reviews"))},{default:E(()=>[M(f(o3),{class:"mr-1.5 h-3.5 w-3.5"}),I[6]||(I[6]=T(" Review what has changed ",-1))]),_:1}),M(f(x1),{variant:"outline",size:"sm",onClick:I[3]||(I[3]=_=>f(n).push("/knowledge"))},{default:E(()=>[M(f(G4),{class:"mr-1.5 h-3.5 w-3.5"}),I[7]||(I[7]=T(" Record something ",-1))]),_:1})])]),_:1}),m.value.files.length?(h(),Q(f(O1),{key:0,class:"p-5"},{default:E(()=>[I[8]||(I[8]=v("h2",{class:"font-semibold"},"Where to look first",-1)),v("p",mA," Files that have been changing in the last "+F(m.value.since)+" and that the rest of the code leans on. Either on its own says little: something everything imports and nobody touches is settled, and something nothing imports that changes daily is a scratch pad. Where they meet is where a change is most likely to catch somebody out, and is the shortest list worth reading first. ",1),v("ul",gA,[(h(!0),y(e1,null,_1(m.value.files,_=>(h(),y("li",{key:_.path,class:"flex items-center gap-3"},[v("span",{class:"min-w-0 flex-1 truncate font-mono text-sm",title:_.path},F(_.path),9,vA),v("span",yA,[v("span",{class:"block h-full rounded-full bg-pillar-graph",style:E2({width:`${Math.max(4,_.changes/k.value*100)}%`})},null,4)]),v("span",bA,F(_.changes)+" change"+F(_.changes===1?"":"s"),1),v("span",kA,F(_.dependants)+" depend"+F(_.dependants===1?"s":""),1)]))),128))])]),_:1})):O("",!0)])):c.value==="knowledge"?(h(),y("div",xA,[(h(!0),y(e1,null,_1(d.value,_=>(h(),Q(f(st),{key:_.id,title:_.id,pillar:"memory"},{icon:E(()=>[M(f(G4),{class:"h-5 w-5"})]),badges:E(()=>[M(f(n2),{variant:"secondary"},{default:E(()=>[T(F(_.kind),1)]),_:2},1024),_.status?(h(),Q(f(n2),{key:0,variant:"outline"},{default:E(()=>[T(F(_.status),1)]),_:2},1024)):O("",!0)]),default:E(()=>[v("p",wA,F(_.summary),1)]),_:2},1032,["title"]))),128)),d.value.length?O("",!0):(h(),Q(f(O1),{key:0,class:"p-10 text-center"},{default:E(()=>[I[10]||(I[10]=v("p",{class:"font-medium"},"Nothing recorded about this repository yet.",-1)),M(f(x1),{class:"mt-3",variant:"outline",onClick:I[4]||(I[4]=_=>f(n).push("/knowledge"))},{default:E(()=>[...I[9]||(I[9]=[T("Record something",-1)])]),_:1})]),_:1}))])):c.value==="skills"?(h(),y("div",CA,[(h(!0),y(e1,null,_1(A.value,_=>(h(),Q(f(st),{key:_.id,title:_.name,subtitle:_.path,pillar:"review"},{icon:E(()=>[M(f(M3),{class:"h-5 w-5"})]),badges:E(()=>[M(f(n2),{variant:_.origin==="repository"?"success":"outline"},{default:E(()=>[T(F(_.origin==="repository"?"this repository":_.origin),1)]),_:2},1032,["variant"])]),default:E(()=>[v("p",_A,F(_.description),1)]),_:2},1032,["title","subtitle"]))),128)),A.value.length?O("",!0):(h(),Q(f(O1),{key:0,class:"p-10 text-center"},{default:E(()=>[I[12]||(I[12]=v("p",{class:"font-medium"},"Nothing written down for this repository yet.",-1)),M(f(x1),{class:"mt-3",variant:"outline",onClick:I[5]||(I[5]=_=>f(n).push("/skills/new"))},{default:E(()=>[...I[11]||(I[11]=[T("Add skill",-1)])]),_:1})]),_:1}))])):(h(),Q(J0,{key:r.value,repository:r.value,sources:["code"],controls:["filter","kinds","parts","layouts","depth"],height:"calc(100vh - 19rem)"},null,8,["repository"]))])}}},MA={class:"flex h-full min-h-0 flex-col"},EA={key:0},DA=["value"],ZA=["value"],FA=["value"],BA={class:"mb-2 flex items-center justify-between gap-3"},SA={key:0,class:"relative"},RA=["onClick"],$A={key:0,class:"block max-w-md truncate text-xs text-destructive"},NA={class:"font-mono text-xs text-muted-foreground"},KA={class:"text-muted-foreground"},QA={class:"tabular-nums text-muted-foreground"},OA={class:"mb-3 flex flex-wrap items-center gap-x-3 gap-y-2"},GA={class:"ml-auto flex flex-wrap items-center gap-1.5"},WA=["value"],LA={key:1,class:"min-h-0 flex-1 overflow-y-auto"},TA={class:"min-w-0 flex-1 truncate font-medium"},VA={class:"shrink-0 font-mono text-xs text-muted-foreground"},PA={class:"shrink-0 text-xs text-muted-foreground"},HA={class:"shrink-0 text-xs text-muted-foreground"},UA={key:0,class:"mt-2 whitespace-pre-wrap pl-5 text-sm text-muted-foreground"},YA={key:2,class:"min-h-0 flex-1 overflow-y-auto"},JA={class:"divide-y"},zA={class:"flex cursor-pointer items-center gap-2 text-sm"},jA={class:"font-medium"},XA={class:"min-w-0 flex-1 truncate text-muted-foreground"},qA={class:"flex cursor-pointer items-center gap-2 text-sm"},ep={class:"font-medium"},tp={class:"min-w-0 flex-1 truncate text-muted-foreground"},np={class:"space-y-2"},lp={class:"space-y-2"},sp={class:"space-y-2"},op={class:"space-y-1.5 text-sm"},ap=["onClick"],rp={class:"font-mono text-xs"},ip={key:3,class:"grid min-h-0 flex-1 gap-3 lg:grid-cols-[18rem_1fr]"},cp={class:"min-h-0 flex-1 overflow-y-auto py-1"},up=["onClick"],dp=["title"],fp={class:"shrink-0 text-[10px] uppercase text-muted-foreground"},hp={class:"min-h-0 overflow-y-auto"},Ap={class:"mb-2 flex flex-wrap items-center gap-2"},pp={class:"break-all font-mono text-sm"},mp=1500,fn={__name:"Reviews",setup(e){const t=Ge(),n=Ce(),l=St(),{repositories:s,chosen:o,error:a,fetchRepositories:r}=H2({all:!0}),i=V(!1),c=V(!1),u=V(null),d=V(null),A=V(!1),m=V(""),p=V([]),g=V(""),x=V([]),$=V([]),k=V(""),N=[{id:"status",label:"Status",width:"6rem"},{id:"review",label:"Review"},{id:"repository",label:"Repository",narrow:!0},{id:"started",label:"Started",narrow:!0},{id:"took",label:"Took",align:"right",narrow:!0}];function C(P){if(!P.finished||!P.started)return"";const H=Math.round((new Date(P.finished)-new Date(P.started))/1e3);return H<1?"instant":H<60?`${H}s`:`${Math.round(H/60)}m`}const b=z(()=>{const P=k.value.trim().toLowerCase();return P?$.value.filter(H=>`${H.title??""} ${H.repository??""} ${H.status??""}`.toLowerCase().includes(P)):$.value}),B=V("overview"),S=z(()=>{var P;return((P=u.value)==null?void 0:P.changed)??[]}),I=z(()=>String(t.params.id??"")),D=z(()=>x.value.filter(P=>!p.value.includes(P.id))),_=z(()=>Object.fromEntries(x.value.map(P=>[P.id,P]))),K=P=>{var H;return((H=_.value[P])==null?void 0:H.name)??P},G=P=>{var H;return(H=A1.value.find(Z1=>Z1.skill===P))==null?void 0:H.passed};function j(P){p.value=p.value.filter(H=>H!==P)}function f1(P){P&&!p.value.includes(P)&&(p.value=[...p.value,P]),g.value=""}const u1=z(()=>{var P;return((P=u.value)==null?void 0:P.where)??null}),A1=z(()=>{var P;return((P=u.value)==null?void 0:P.verdicts)??[]}),M1=z(()=>A1.value.flatMap(P=>P.findings.map(H=>({...H,skill:P.skill})))),i1=z(()=>M1.value.filter(P=>P.severity==="blocking")),v1=z(()=>M1.value.filter(P=>P.severity!=="blocking")),r1=z(()=>{const P={};for(const H of M1.value)H.path&&(P[H.path]=(P[H.path]??0)+(H.severity==="blocking"?10:1));for(const H of m1.value)P[H.path]=(P[H.path]??0)+1;return P}),U1=z(()=>[...S.value].sort((P,H)=>(r1.value[H.path]??0)-(r1.value[P.path]??0))),b1=z(()=>S.value.find(P=>P.path===m.value)??U1.value[0]??null),q1=z(()=>M1.value.filter(P=>!P.path)),j1=z(()=>{var P;return((P=u.value)==null?void 0:P.review)??null}),s1=z(()=>{var P;return((P=j1.value)==null?void 0:P.summary)??null}),m1=z(()=>{var P;return((P=j1.value)==null?void 0:P.suggestions)??[]}),L=z(()=>A1.value.filter(P=>!P.passed)),X=z(()=>{var P;return((P=u.value)==null?void 0:P.commits)??[]}),W=z(()=>{var P,H;return!!((P=s1.value)!=null&&P.overview)||L.value.length>0||q1.value.length>0||m1.value.length>0||Object.keys(((H=j1.value)==null?void 0:H.notes)??{}).length>0}),p1=z(()=>{const P=[{id:"overview",label:"Overview"},{id:"details",label:`Files${S.value.length?` ${S.value.length}`:""}`}];return P.push({id:"commits",label:`Commits${X.value.length?` ${X.value.length}`:""}`}),P}),D1={APPROVE:{label:"Approved",tone:"success"},REQUEST_CHANGES:{label:"Changes requested",tone:"danger"},COMMENT:{label:"Commented",tone:"warning"}},w=z(()=>{var H;if(i1.value.length)return{label:"Changes requested",tone:"danger",count:i1.value.length};const P=(H=j1.value)==null?void 0:H.verdict;return P&&D1[P]?{...D1[P],count:m1.value.length||null}:!A1.value.length&&!j1.value?{label:"Not reviewed",tone:"neutral",count:null}:{label:"Commented",tone:"warning",count:v1.value.length||null}}),Z={success:u6,danger:F5,warning:Xr,neutral:o3},R=z(()=>u.value?Z[w.value.tone]:o3),Y={BUG:"danger",SECURITY:"danger",PERFORMANCE:"warning",REFACTOR:"info",STYLE:"neutral",CLARITY:"neutral",TEST:"info",DOCUMENTATION:"neutral"},J=P=>Y[String(P||"").toUpperCase()]??"info",U=P=>[...M1.value.filter(H=>H.path===P).map(H=>({...H,from:H.skill,tone:H.severity==="blocking"?"danger":"warning"})),...m1.value.filter(H=>H.path===P).map(H=>({line:H.start_line,severity:"suggestion",detail:H.comment,code:H.suggested_code,replacing:H.existing_code,from:H.category||"review",tone:J(H.category)}))];async function a1(P){P&&(o.value=P,await Promise.all([q(),n1()]))}async function n1(){try{$.value=await w1.reviews(o.value)}catch{$.value=[]}}async function l1(){try{const P=await w1.settings(),H=P.find(R1=>R1.key==="model.name"),Z1=P.find(R1=>R1.key==="model.api_key");A.value=!!(H!=null&&H.value)&&!!(Z1!=null&&Z1.is_set)}catch{A.value=!1}}async function q(){try{x.value=(await w1.skills(o.value)).skills}catch{x.value=[]}}let k1=null;function c1(){k1&&clearTimeout(k1),k1=null}async function y1(P){c1();const H=P?c:i;H.value=!0,a.value="";try{const Z1=await w1.startReview(o.value,{useModel:P,skills:[...p.value]});n.replace(`/reviews/${Z1.id}`),await I1(Z1.id,P)}catch(Z1){a.value=Z1.message,H.value=!1}}async function I1(P,H=!0){const Z1=H?c:i;let R1;try{R1=await w1.reviewed(P)}catch(t1){a.value=t1.message,Z1.value=!1;return}if(d.value=R1,R1.status==="running"){Z1.value=!0,k1=setTimeout(()=>I1(P,H),mp);return}if(Z1.value=!1,R1.status==="failed"){a.value=R1.error;return}u.value=R1.review,m.value="",B.value="overview",p.value=(R1.review.skills??[]).map(t1=>t1.id)}return H1(o,()=>{c1(),q(),n1()}),H1(I,P=>{if(c1(),!P){u.value=null,d.value=null,n1();return}I1(P)}),Oe(c1),o2(async()=>{await r(),await Promise.all([l1(),q(),n1()]),I.value&&await I1(I.value)}),(P,H)=>{var R1;const Z1=H4("RouterLink");return h(),y("div",MA,[M(f(se),{pillar:"review",title:u1.value?`${u1.value.branch||"no branch"} → ${u1.value.against}`:"Reviews",sub:u1.value?u1.value.path:"Your work read here, before anybody else is asked to read it.",mono:!!u1.value,tone:u.value?w.value.tone:void 0},y5({icon:E(()=>[(h(),Q(A2(R.value),{class:"h-6 w-6"}))]),actions:E(()=>[f(s).length>1?(h(),Q(f(ne),{key:0,modelValue:f(o),"onUpdate:modelValue":H[1]||(H[1]=t1=>i2(o)?o.value=t1:null),size:"sm","aria-label":"Repository"},{default:E(()=>[v("option",{value:f(Bt)},"All repositories",8,DA),(h(!0),y(e1,null,_1(f(s),t1=>(h(),y("option",{key:t1.name,value:t1.name},F(t1.name),9,ZA))),128))]),_:1},8,["modelValue"])):O("",!0),f(s).length&&f(o)?(h(),Q(f(x1),{key:1,size:"sm",variant:"outline",disabled:i.value,onClick:H[2]||(H[2]=t1=>y1(!1))},{default:E(()=>[i.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(Et),{key:1,class:"mr-2 h-4 w-4"})),T(" "+F(i.value?"Reading…":"Read what changed"),1)]),_:1},8,["disabled"])):O("",!0),f(s).length&&A.value&&f(o)?(h(),Q(f(x1),{key:2,size:"sm",variant:"glow",disabled:c.value,onClick:H[3]||(H[3]=t1=>y1(!0))},{default:E(()=>[c.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(f0),{key:1,class:"mr-2 h-4 w-4"})),T(" "+F(c.value?"Reviewing…":"Review it"),1)]),_:1},8,["disabled"])):f(s).length&&A.value?(h(),Q(f(ne),{key:3,"model-value":"",size:"sm","aria-label":"Choose a repository to review","onUpdate:modelValue":a1},{default:E(()=>[H[6]||(H[6]=v("option",{value:""},"Choose a repository…",-1)),(h(!0),y(e1,null,_1(f(s),t1=>(h(),y("option",{key:t1.name,value:t1.name},F(t1.name),9,FA))),128))]),_:1})):O("",!0)]),_:2},[I.value?{name:"back",fn:E(()=>[M(f(x1),{variant:"ghost",size:"icon","aria-label":"Back to reviews",onClick:H[0]||(H[0]=t1=>f(l)("/reviews"))},{default:E(()=>[M(f(_t),{class:"h-4 w-4"})]),_:1})]),key:"0"}:void 0,u.value?{name:"meta",fn:E(()=>[M(f(T0),{label:w.value.label,tone:w.value.tone,count:w.value.count},null,8,["label","tone","count"]),u1.value?(h(),y("span",EA,F(u1.value.commits)+" commit"+F(u1.value.commits===1?"":"s")+" ahead",1)):O("",!0),v("span",null,F(S.value.length)+" file"+F(S.value.length===1?"":"s"),1)]),key:"1"}:void 0]),1032,["title","sub","mono","tone"]),f(a)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:E(()=>[T(F(f(a)),1)]),_:1})):O("",!0),f(s).length===0?(h(),Q(x4,{key:1})):(h(),y(e1,{key:2},[!A.value&&f(o)?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-4"},{default:E(()=>[H[8]||(H[8]=T(" No model is configured, so nothing here can be judged. Reading what changed needs nothing. ",-1)),M(Z1,{to:"/settings?group=Model",class:"font-medium underline"},{default:E(()=>[...H[7]||(H[7]=[T(" Choose a model ",-1)])]),_:1}),H[9]||(H[9]=T(" to have the work read against your skills. ",-1))]),_:1})):O("",!0),u.value?(h(),y(e1,{key:2},[v("div",OA,[M(f(c3),{modelValue:B.value,"onUpdate:modelValue":H[5]||(H[5]=t1=>B.value=t1),tabs:p1.value,label:"What to look at",class:"w-fit"},null,8,["modelValue","tabs"]),v("div",GA,[H[14]||(H[14]=v("span",{class:"text-xs uppercase tracking-wider text-muted-foreground"}," Skills applied ",-1)),(h(!0),y(e1,null,_1(p.value,t1=>(h(),Q(f(R7),{key:t1,label:K(t1),tone:G(t1)===void 0?"default":G(t1)?"success":"danger",removable:"",onRemove:e2=>j(t1)},{default:E(()=>[T(F(K(t1)),1)]),_:2},1032,["label","tone","onRemove"]))),128)),p.value.length?O("",!0):(h(),Q(f(R7),{key:0,tone:"muted"},{default:E(()=>[...H[12]||(H[12]=[T("Whatever applies",-1)])]),_:1})),D.value.length?(h(),Q(f(ne),{key:1,"model-value":g.value,size:"sm","aria-label":"Add a skill","onUpdate:modelValue":f1},{default:E(()=>[H[13]||(H[13]=v("option",{value:""},"Add…",-1)),(h(!0),y(e1,null,_1(D.value,t1=>(h(),y("option",{key:t1.id,value:t1.id},F(t1.name),9,WA))),128))]),_:1},8,["model-value"])):O("",!0)])]),u.value.note&&!j1.value?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-3"},{default:E(()=>[T(F(u.value.note),1)]),_:1})):O("",!0),B.value==="commits"?(h(),y("div",LA,[X.value.length?(h(),Q(f(O1),{key:1,class:"divide-y px-4 py-1"},{default:E(()=>[(h(!0),y(e1,null,_1(X.value,t1=>(h(),y("div",{key:t1.sha,class:"py-2.5"},[(h(),Q(A2(t1.body?"details":"div"),{class:o1(t1.body&&"group")},{default:E(()=>[(h(),Q(A2(t1.body?"summary":"div"),{class:o1(["flex items-baseline gap-2 text-sm",t1.body&&"cursor-pointer list-none"])},{default:E(()=>[M(f(Jr),{class:"h-3.5 w-3.5 shrink-0 self-center text-muted-foreground"}),v("span",TA,F(t1.subject),1),v("span",VA,F(t1.sha.slice(0,8)),1),v("span",PA,F(t1.author),1),v("span",HA,F(f(p4)(t1.at)),1)]),_:2},1032,["class"])),t1.body?(h(),y("p",UA,F(t1.body),1)):O("",!0)]),_:2},1032,["class"]))]))),128))]),_:1})):(h(),Q(f(Re),{key:0,title:"Nothing committed on this branch",compact:""},{default:E(()=>[...H[15]||(H[15]=[T(" Everything here is uncommitted work, which is in the diff rather than in a commit. ",-1)])]),_:1}))])):B.value==="overview"?(h(),y("div",YA,[S.value.length?W.value?(h(),Q(f(O1),{key:2,class:"divide-y px-5 py-1"},{default:E(()=>{var t1,e2,_2,_e,B3,p2,I2,S3;return[(t1=s1.value)!=null&&t1.overview?(h(),Q(f(Ye),{key:0,title:"What this change does",tone:"info"},{icon:E(()=>[M(f(S7),{class:"h-4 w-4"})]),default:E(()=>[M(f(B2),{source:s1.value.overview},null,8,["source"])]),_:1})):O("",!0),L.value.length||q1.value.length?(h(),Q(f(Ye),{key:1,title:"Skill checks",tone:"warning",count:L.value.length+q1.value.length,collapsible:"",closed:""},{icon:E(()=>[M(f(lt),{class:"h-4 w-4"})]),default:E(()=>[v("ul",JA,[(h(!0),y(e1,null,_1(L.value,$1=>(h(),y("li",{key:$1.skill,class:"py-2 first:pt-0"},[v("details",null,[v("summary",zA,[M(f(j3),{tone:"danger",title:`${$1.skill} is not met`},null,8,["title"]),v("span",jA,F($1.skill),1),v("span",XA,F(($1.note||"").split(` +`)[0]),1)]),$1.note?(h(),Q(f(B2),{key:0,source:$1.note,class:"mt-2 pl-5 text-sm text-muted-foreground"},null,8,["source"])):O("",!0)])]))),128)),(h(!0),y(e1,null,_1(q1.value,($1,Z2)=>(h(),y("li",{key:`o${Z2}`,class:"py-2 first:pt-0"},[v("details",null,[v("summary",qA,[M(f(j3),{tone:$1.severity==="blocking"?"danger":"warning",title:$1.skill||"A skill"},null,8,["tone","title"]),v("span",ep,F($1.skill),1),v("span",tp,F(($1.detail||"").split(` +`)[0]),1)]),M(f(B2),{source:$1.detail,class:"mt-2 pl-5 text-sm text-muted-foreground"},null,8,["source"])])]))),128))])]),_:1},8,["count"])):O("",!0),(_2=(e2=s1.value)==null?void 0:e2.critical_issues)!=null&&_2.length?(h(),Q(f(Ye),{key:2,title:"Worth stopping for",tone:"danger",count:s1.value.critical_issues.length,collapsible:""},{icon:E(()=>[M(f(F5),{class:"h-4 w-4"})]),default:E(()=>[v("ul",np,[(h(!0),y(e1,null,_1(s1.value.critical_issues,($1,Z2)=>(h(),y("li",{key:Z2},[M(f(B2),{source:$1},null,8,["source"])]))),128))])]),_:1},8,["count"])):O("",!0),(B3=(_e=s1.value)==null?void 0:_e.key_improvements)!=null&&B3.length?(h(),Q(f(Ye),{key:3,title:"Recommended changes",tone:"warning",count:s1.value.key_improvements.length,collapsible:""},{icon:E(()=>[M(f(nt),{class:"h-4 w-4"})]),default:E(()=>[v("ul",lp,[(h(!0),y(e1,null,_1(s1.value.key_improvements,($1,Z2)=>(h(),y("li",{key:Z2},[M(f(B2),{source:$1},null,8,["source"])]))),128))])]),_:1},8,["count"])):O("",!0),(I2=(p2=s1.value)==null?void 0:p2.minor_suggestions)!=null&&I2.length?(h(),Q(f(Ye),{key:4,title:"Nice to have",count:s1.value.minor_suggestions.length,collapsible:"",closed:""},{icon:E(()=>[M(f(R5),{class:"h-4 w-4"})]),default:E(()=>[v("ul",sp,[(h(!0),y(e1,null,_1(s1.value.minor_suggestions,($1,Z2)=>(h(),y("li",{key:Z2},[M(f(B2),{source:$1},null,8,["source"])]))),128))])]),_:1},8,["count"])):O("",!0),m1.value.length?(h(),Q(f(Ye),{key:5,title:"Suggestions",tone:"info",count:m1.value.length,collapsible:""},{icon:E(()=>[M(f(Hr),{class:"h-4 w-4"})]),default:E(()=>[H[16]||(H[16]=v("p",{class:"mb-3 text-sm text-muted-foreground"}," Each one is drawn against the line it is about, under Files. ",-1)),v("ul",op,[(h(!0),y(e1,null,_1(m1.value,($1,Z2)=>(h(),y("li",{key:Z2,class:"flex gap-2"},[$1.category?(h(),Q(f(j3),{key:0,tone:J($1.category),title:$1.category,label:$1.category.toLowerCase(),class:"mt-0.5 shrink-0"},null,8,["tone","title","label"])):O("",!0),v("button",{type:"button",class:"min-w-0 text-left hover:underline",onClick:gm=>{m.value=$1.path,B.value="details"}},[v("span",rp,F($1.path)+":"+F($1.start_line),1),M(f(B2),{source:$1.comment,class:"text-muted-foreground"},null,8,["source"])],8,ap)]))),128))])]),_:1},8,["count"])):O("",!0),(h(!0),y(e1,null,_1(((S3=j1.value)==null?void 0:S3.notes)??{},($1,Z2)=>(h(),Q(f(Ye),{key:Z2,title:String(Z2).replace(/_/g," "),collapsible:"",closed:"",class:"capitalize"},{icon:E(()=>[M(f(S7),{class:"h-4 w-4"})]),default:E(()=>[M(f(B2),{source:$1,class:"normal-case"},null,8,["source"])]),_:2},1032,["title"]))),128))]}),_:1})):(h(),Q(f(Re),{key:1,title:"Read, not judged",compact:""},{default:E(()=>[T(F(u.value.note||"No model was asked, so nothing was judged."),1)]),_:1})):(h(),Q(f(Re),{key:0,title:"No changes",compact:""},{default:E(()=>{var t1,e2;return[T(F(((t1=u1.value)==null?void 0:t1.branch)||"This checkout")+" matches "+F(((e2=u1.value)==null?void 0:e2.against)||"its base")+". Nothing to read. ",1)]}),_:1}))])):(h(),y("div",ip,[M(f(O1),{class:"flex min-h-0 flex-col overflow-hidden"},{default:E(()=>[H[17]||(H[17]=v("div",{class:"border-b px-3 py-2 text-xs uppercase tracking-wider text-muted-foreground"}," Changed ",-1)),v("ul",cp,[(h(!0),y(e1,null,_1(U1.value,t1=>{var e2;return h(),y("li",{key:t1.path},[v("button",{type:"button",class:o1(["flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",((e2=b1.value)==null?void 0:e2.path)===t1.path?"bg-primary/10 text-primary":"hover:bg-muted"]),onClick:_2=>m.value=t1.path},[v("span",{class:"min-w-0 flex-1 truncate font-mono text-xs",title:t1.path},F(t1.path),9,dp),U(t1.path).length?(h(),Q(f(n2),{key:0,variant:r1.value[t1.path]>=10?"destructive":"secondary"},{default:E(()=>[T(F(U(t1.path).length),1)]),_:2},1032,["variant"])):O("",!0),v("span",fp,F(t1.change.slice(0,3)),1)],10,up)])}),128))])]),_:1}),v("div",hp,[b1.value?(h(),y(e1,{key:0},[v("div",Ap,[v("span",pp,F(b1.value.path),1),M(f(n2),{variant:"secondary"},{default:E(()=>[T(F(b1.value.change),1)]),_:1})]),M(f(Pu),{patch:b1.value.patch,notes:U(b1.value.path)},null,8,["patch","notes"])],64)):(h(),Q(f(O1),{key:1,class:"p-10 text-center text-sm text-muted-foreground"},{default:E(()=>[...H[18]||(H[18]=[T(" Nothing has changed in this checkout. ",-1)])]),_:1}))])]))],64)):(h(),y(e1,{key:1},[((R1=d.value)==null?void 0:R1.status)==="running"?(h(),Q(f(V0),{key:0,label:"Reading it",note:"This keeps going whether or not anybody is watching, and the link to it keeps working."})):(h(),y(e1,{key:1},[$.value.length?O("",!0):(h(),Q(f(Re),{key:0,title:"Nothing read here yet"},y5({icon:E(()=>[M(f(o3),{class:"h-8 w-8"})]),default:E(()=>[H[10]||(H[10]=T(" Everything comes off the checkout, so work you have not pushed, or not committed, still gets a review. ",-1))]),_:2},[f(o)?void 0:{name:"actions",fn:E(()=>[(h(!0),y(e1,null,_1(f(s),t1=>(h(),Q(f(x1),{key:t1.name,size:"sm",variant:"outline",onClick:e2=>a1(t1.name)},{default:E(()=>[M(f(It),{class:"mr-2 h-4 w-4"}),T(" "+F(t1.name),1)]),_:2},1032,["onClick"]))),128))]),key:"0"}]),1024)),$.value.length?(h(),y(e1,{key:1},[v("div",BA,[H[11]||(H[11]=v("p",{class:"text-xs uppercase tracking-wider text-muted-foreground"},"Earlier",-1)),$.value.length>5?(h(),y("div",SA,[M(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),M(f(P2),{modelValue:k.value,"onUpdate:modelValue":H[4]||(H[4]=t1=>k.value=t1),size:"sm",placeholder:"Find a review",class:"w-48 pl-8","aria-label":"Find a review"},null,8,["modelValue"])])):O("",!0)]),M(f(A6),{columns:N,rows:b.value,"row-key":"id",label:"Earlier reviews"},{status:E(({row:t1})=>[M(f(n2),{variant:t1.status==="done"?"success":t1.status==="failed"?"destructive":"secondary"},{default:E(()=>[T(F(t1.status),1)]),_:2},1032,["variant"])]),review:E(({row:t1})=>[v("button",{type:"button",class:"block max-w-md truncate text-left font-medium hover:text-primary",onClick:e2=>f(n).push(`/reviews/${t1.id}`)},F(t1.title||"Unnamed"),9,RA),t1.error?(h(),y("span",$A,F(t1.error),1)):O("",!0)]),repository:E(({row:t1})=>[v("span",NA,F(t1.repository),1)]),started:E(({row:t1})=>[v("span",KA,F(f(p4)(t1.started)),1)]),took:E(({row:t1})=>[v("span",QA,F(C(t1)),1)]),_:1},8,["rows"])],64)):O("",!0)],64))],64))],64))])}}},gp={key:1,class:"py-10 text-center text-sm text-muted-foreground"},vp={class:"text-sm"},yp={class:"mt-4 grid gap-4 border-t pt-4 text-sm sm:grid-cols-3"},bp={class:"flex flex-wrap gap-1"},kp={key:0,class:"flex flex-wrap gap-1 font-mono text-xs"},xp={key:1,class:"text-muted-foreground"},wp="repository",i5="global",Cp={__name:"Skill",setup(e){const t=[wp,i5],n=Ge(),l=Ce(),s=St(),{chosen:o,fetchRepositories:a}=H2(),r=z(()=>String(n.params.id??"")),i=V(null),c=V([]),u=V(!0),d=V(""),A=z(()=>!!i.value&&!t.includes(i.value.origin)),m=z(()=>i.value?A.value?i.value.origin:i.value.origin===i5?"everywhere":o.value:""),p=$=>{var k,N;return((N=(k=i.value)==null?void 0:k.applications)==null?void 0:N[$])!==!1};async function g(){u.value=!0,d.value="",c.value.length||(c.value=await w1.uses().catch(()=>[]));try{i.value=await w1.skill(r.value,o.value)}catch($){d.value=$.message,i.value=null}finally{u.value=!1}}async function x(){if(confirm(`Forget ${i.value.name}? -It stops being read for ${m.value}.`))try{await w1.forgetSkill(i.value.origin===r5?"":o.value,i.value.origin,r.value),l.push("/skills")}catch($){d.value=$.message}}return P1(r,g),o2(async()=>{await a(),await g()}),($,k)=>{var K,I,w;return h(),y("div",null,[E(f(se),{pillar:"review",title:((K=i.value)==null?void 0:K.name)||r.value,sub:(I=i.value)==null?void 0:I.path,mono:!!((w=i.value)!=null&&w.path)},v5({back:M(()=>[E(f(x1),{variant:"ghost",size:"icon","aria-label":"Back to skills",onClick:k[0]||(k[0]=S=>f(s)("/skills"))},{default:M(()=>[E(f(Ct),{class:"h-4 w-4"})]),_:1})]),icon:M(()=>[E(f(_3),{class:"h-5 w-5"})]),badges:M(()=>[i.value?(h(),Q(f(n2),{key:0,variant:A.value?"outline":"success"},{default:M(()=>[V(F(m.value),1)]),_:1},8,["variant"])):O("",!0),i.value&&!i.value.automatic?(h(),Q(f(n2),{key:1,variant:"outline"},{default:M(()=>[...k[3]||(k[3]=[V("manual",-1)])]),_:1})):O("",!0)]),_:2},[i.value?{name:"actions",fn:M(()=>[A.value?O("",!0):(h(),Q(f(x1),{key:0,variant:"ghost",size:"icon","aria-label":"Forget this skill",onClick:x},{default:M(()=>[E(f(v4),{class:"h-4 w-4"})]),_:1})),E(f(x1),{size:"sm",onClick:k[1]||(k[1]=S=>f(l).push(`/skills/${r.value}/edit`))},{default:M(()=>[(h(),Q(h2(A.value?f(X4):f(F5)),{class:"mr-1.5 h-3.5 w-3.5"})),V(" "+F(A.value?"Copy":"Edit"),1)]),_:1})]),key:"0"}:void 0]),1032,["title","sub","mono"]),d.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(d.value),1)]),_:1})):O("",!0),u.value?(h(),y("p",hp,"Loading.")):i.value?(h(),y(e1,{key:2},[A.value?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-4"},{default:M(()=>[...k[4]||(k[4]=[V(" Read-only file. Copy keeps your own, which is then the one used. ",-1)])]),_:1})):O("",!0),E(f(Q1),{class:"mb-3 p-5"},{default:M(()=>{var S;return[v("p",Ap,F(i.value.description),1),v("dl",pp,[v("div",null,[k[5]||(k[5]=v("dt",{class:"mb-1.5 text-xs uppercase tracking-wide text-muted-foreground"},"Skill uses",-1)),v("dd",mp,[(h(!0),y(e1,null,_1(c.value,B=>(h(),y("span",{key:B.id,class:o1(["rounded-full border px-2 py-0.5 text-[11px]",p(B.id)?"border-primary/30 bg-primary/10 text-foreground":"border-border text-muted-foreground line-through"])},F(B.label),3))),128))])]),v("div",null,[k[6]||(k[6]=v("dt",{class:"mb-1.5 text-xs uppercase tracking-wide text-muted-foreground"},"Files",-1)),(S=i.value.paths)!=null&&S.length?(h(),y("dd",gp,[(h(!0),y(e1,null,_1(i.value.paths,B=>(h(),y("span",{key:B,class:"rounded bg-muted px-1.5 py-0.5"},F(B),1))),128))])):(h(),y("dd",vp,"Any"))]),v("div",null,[k[7]||(k[7]=v("dt",{class:"mb-1.5 text-xs uppercase tracking-wide text-muted-foreground"},"Selection",-1)),v("dd",null,F(i.value.automatic?"Automatic":"Only when named"),1)])])]}),_:1}),i.value.body?(h(),Q(f(Q1),{key:1,class:"p-5"},{default:M(()=>[E(f(B2),{source:i.value.body},null,8,["source"])]),_:1})):(h(),Q(f(Q1),{key:2,class:"p-10 text-center"},{default:M(()=>[E(f(_3),{class:"mx-auto mb-3 h-8 w-8 text-muted-foreground"}),k[9]||(k[9]=v("p",{class:"font-medium"},"Nothing written down.",-1)),k[10]||(k[10]=v("p",{class:"mx-auto mt-1 max-w-md text-sm text-muted-foreground"}," The body is what a person reads and what a model is given when your work is checked against this skill. ",-1)),A.value?O("",!0):(h(),Q(f(x1),{key:0,class:"mt-4",size:"sm",onClick:k[2]||(k[2]=S=>f(l).push(`/skills/${r.value}/edit`))},{default:M(()=>[E(f(F5),{class:"mr-1.5 h-3.5 w-3.5"}),k[8]||(k[8]=V(" Write it ",-1))]),_:1}))]),_:1}))],64)):O("",!0)])}}},kp={class:"flex h-full min-h-0 flex-col"},xp={key:2,class:"py-10 text-center text-sm text-muted-foreground"},wp={class:"grid gap-4 lg:grid-cols-3"},Cp={class:"mt-4 border-t pt-3"},_p={class:"truncate"},Ip={class:"mt-4 grid gap-4 lg:grid-cols-3"},Mp=["value"],Ep={class:"flex flex-wrap gap-1.5"},Dp=["aria-pressed","onClick"],Zp={class:"mt-3 flex items-center gap-2 text-sm"},Fp={class:"mb-2 flex items-center justify-between gap-3"},Bp={class:"text-xs text-muted-foreground"},Sp={key:1,class:"text-sm text-muted-foreground"},Rp="new",i5="repository",de="global",un={__name:"SkillForm",setup(e){const t=[i5,de],n=Oe(),l=Ce(),s=Bt(),{repositories:o,chosen:a,fetchRepositories:r}=H2(),i=z(()=>String(n.params.id??"")),c=z(()=>!i.value||i.value===Rp),u=P(null),d=P({name:"",description:"",body:"",paths:[],applications:{},automatic:!0,type:""}),A=P(de),m=P("write"),p=P(!1),g=P(!1),x=P(""),$=P(!0),k=P([]),K=[{id:"write",label:"Write"},{id:"preview",label:"Preview"}],I=i1=>i1.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64),w=z(()=>c.value?I(d.value.name):i.value),S=i1=>{var v1;return((v1=d.value.applications)==null?void 0:v1[i1])!==!1};function B(i1){const v1={...d.value.applications};S(i1)?v1[i1]=!1:delete v1[i1],d.value.applications=v1}const _=z(()=>A.value===de),D=z(()=>[{id:de,label:"Everywhere"},...o.value.map(i1=>({id:i1.name,label:i1.name}))]),C=z(()=>{const i1=k.value.filter(v1=>!S(v1.id)).map(v1=>v1.label);return[_.value?"Everywhere":A.value,i1.length?`not for ${i1.join(", ").toLowerCase()}`:"all uses",d.value.automatic?"automatic":"only when named",d.value.paths.length?`${d.value.paths.length} file pattern${d.value.paths.length===1?"":"s"}`:""].filter(Boolean).join(" · ")}),N=z(()=>!!u.value&&!t.includes(u.value.origin)),G=z(()=>N.value),j=z(()=>!!w.value&&!!d.value.description.trim()),f1=z(()=>c.value?!!(d.value.name||d.value.description||d.value.body):u.value?d.value.name!==u.value.name||d.value.description!==u.value.description||d.value.body!==(u.value.body??"")||d.value.paths.join(` +It stops being read for ${m.value}.`))try{await w1.forgetSkill(i.value.origin===i5?"":o.value,i.value.origin,r.value),l.push("/skills")}catch($){d.value=$.message}}return H1(r,g),o2(async()=>{await a(),await g()}),($,k)=>{var N,C,b;return h(),y("div",null,[M(f(se),{pillar:"review",title:((N=i.value)==null?void 0:N.name)||r.value,sub:(C=i.value)==null?void 0:C.path,mono:!!((b=i.value)!=null&&b.path)},y5({back:E(()=>[M(f(x1),{variant:"ghost",size:"icon","aria-label":"Back to skills",onClick:k[0]||(k[0]=B=>f(s)("/skills"))},{default:E(()=>[M(f(_t),{class:"h-4 w-4"})]),_:1})]),icon:E(()=>[M(f(M3),{class:"h-5 w-5"})]),badges:E(()=>[i.value?(h(),Q(f(n2),{key:0,variant:A.value?"outline":"success"},{default:E(()=>[T(F(m.value),1)]),_:1},8,["variant"])):O("",!0),i.value&&!i.value.automatic?(h(),Q(f(n2),{key:1,variant:"outline"},{default:E(()=>[...k[3]||(k[3]=[T("manual",-1)])]),_:1})):O("",!0)]),_:2},[i.value?{name:"actions",fn:E(()=>[A.value?O("",!0):(h(),Q(f(x1),{key:0,variant:"ghost",size:"icon","aria-label":"Forget this skill",onClick:x},{default:E(()=>[M(f(k4),{class:"h-4 w-4"})]),_:1})),M(f(x1),{size:"sm",onClick:k[1]||(k[1]=B=>f(l).push(`/skills/${r.value}/edit`))},{default:E(()=>[(h(),Q(A2(A.value?f(tt):f(B5)),{class:"mr-1.5 h-3.5 w-3.5"})),T(" "+F(A.value?"Copy":"Edit"),1)]),_:1})]),key:"0"}:void 0]),1032,["title","sub","mono"]),d.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:E(()=>[T(F(d.value),1)]),_:1})):O("",!0),u.value?(h(),y("p",gp,"Loading.")):i.value?(h(),y(e1,{key:2},[A.value?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-4"},{default:E(()=>[...k[4]||(k[4]=[T(" Read-only file. Copy keeps your own, which is then the one used. ",-1)])]),_:1})):O("",!0),M(f(O1),{class:"mb-3 p-5"},{default:E(()=>{var B;return[v("p",vp,F(i.value.description),1),v("dl",yp,[v("div",null,[k[5]||(k[5]=v("dt",{class:"mb-1.5 text-xs uppercase tracking-wide text-muted-foreground"},"Skill uses",-1)),v("dd",bp,[(h(!0),y(e1,null,_1(c.value,S=>(h(),y("span",{key:S.id,class:o1(["rounded-full border px-2 py-0.5 text-[11px]",p(S.id)?"border-primary/30 bg-primary/10 text-foreground":"border-border text-muted-foreground line-through"])},F(S.label),3))),128))])]),v("div",null,[k[6]||(k[6]=v("dt",{class:"mb-1.5 text-xs uppercase tracking-wide text-muted-foreground"},"Files",-1)),(B=i.value.paths)!=null&&B.length?(h(),y("dd",kp,[(h(!0),y(e1,null,_1(i.value.paths,S=>(h(),y("span",{key:S,class:"rounded bg-muted px-1.5 py-0.5"},F(S),1))),128))])):(h(),y("dd",xp,"Any"))]),v("div",null,[k[7]||(k[7]=v("dt",{class:"mb-1.5 text-xs uppercase tracking-wide text-muted-foreground"},"Selection",-1)),v("dd",null,F(i.value.automatic?"Automatic":"Only when named"),1)])])]}),_:1}),i.value.body?(h(),Q(f(O1),{key:1,class:"p-5"},{default:E(()=>[M(f(B2),{source:i.value.body},null,8,["source"])]),_:1})):(h(),Q(f(O1),{key:2,class:"p-10 text-center"},{default:E(()=>[M(f(M3),{class:"mx-auto mb-3 h-8 w-8 text-muted-foreground"}),k[9]||(k[9]=v("p",{class:"font-medium"},"Nothing written down.",-1)),k[10]||(k[10]=v("p",{class:"mx-auto mt-1 max-w-md text-sm text-muted-foreground"}," The body is what a person reads and what a model is given when your work is checked against this skill. ",-1)),A.value?O("",!0):(h(),Q(f(x1),{key:0,class:"mt-4",size:"sm",onClick:k[2]||(k[2]=B=>f(l).push(`/skills/${r.value}/edit`))},{default:E(()=>[M(f(B5),{class:"mr-1.5 h-3.5 w-3.5"}),k[8]||(k[8]=T(" Write it ",-1))]),_:1}))]),_:1}))],64)):O("",!0)])}}},_p={class:"flex h-full min-h-0 flex-col"},Ip={key:2,class:"py-10 text-center text-sm text-muted-foreground"},Mp={class:"grid gap-4 lg:grid-cols-3"},Ep={class:"mt-4 border-t pt-3"},Dp={class:"truncate"},Zp={class:"mt-4 grid gap-4 lg:grid-cols-3"},Fp=["value"],Bp={class:"flex flex-wrap gap-1.5"},Sp=["aria-pressed","onClick"],Rp={class:"mt-3 flex items-center gap-2 text-sm"},$p={class:"mb-2 flex items-center justify-between gap-3"},Np={class:"text-xs text-muted-foreground"},Kp={key:1,class:"text-sm text-muted-foreground"},Qp="new",c5="repository",de="global",hn={__name:"SkillForm",setup(e){const t=[c5,de],n=Ge(),l=Ce(),s=St(),{repositories:o,chosen:a,fetchRepositories:r}=H2(),i=z(()=>String(n.params.id??"")),c=z(()=>!i.value||i.value===Qp),u=V(null),d=V({name:"",description:"",body:"",paths:[],applications:{},automatic:!0,type:""}),A=V(de),m=V("write"),p=V(!1),g=V(!1),x=V(""),$=V(!0),k=V([]),N=[{id:"write",label:"Write"},{id:"preview",label:"Preview"}],C=i1=>i1.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64),b=z(()=>c.value?C(d.value.name):i.value),B=i1=>{var v1;return((v1=d.value.applications)==null?void 0:v1[i1])!==!1};function S(i1){const v1={...d.value.applications};B(i1)?v1[i1]=!1:delete v1[i1],d.value.applications=v1}const I=z(()=>A.value===de),D=z(()=>[{id:de,label:"Everywhere"},...o.value.map(i1=>({id:i1.name,label:i1.name}))]),_=z(()=>{const i1=k.value.filter(v1=>!B(v1.id)).map(v1=>v1.label);return[I.value?"Everywhere":A.value,i1.length?`not for ${i1.join(", ").toLowerCase()}`:"all uses",d.value.automatic?"automatic":"only when named",d.value.paths.length?`${d.value.paths.length} file pattern${d.value.paths.length===1?"":"s"}`:""].filter(Boolean).join(" · ")}),K=z(()=>!!u.value&&!t.includes(u.value.origin)),G=z(()=>K.value),j=z(()=>!!b.value&&!!d.value.description.trim()),f1=z(()=>c.value?!!(d.value.name||d.value.description||d.value.body):u.value?d.value.name!==u.value.name||d.value.description!==u.value.description||d.value.body!==(u.value.body??"")||d.value.paths.join(` `)!==(u.value.paths??[]).join(` `)||d.value.automatic!==(u.value.automatic??!0)||JSON.stringify(d.value.applications)!==JSON.stringify(u.value.applications??{}):!1),u1=z(()=>d.value.body?d.value.body.split(` -`).length:0);async function A1(){if($.value=!0,x.value="",k.value.length||(k.value=await w1.uses().catch(()=>[])),c.value){u.value=null,d.value={name:"",description:"",body:"",paths:[],applications:{},automatic:!0,type:""},A.value=n.query.for||a.value||de,$.value=!1;return}try{const i1=await w1.skill(i.value,a.value);u.value=i1,A.value=i1.origin===i5?a.value:i1.origin===de?de:a.value||de,d.value={name:i1.name,description:i1.description,body:i1.body??"",paths:[...i1.paths??[]],applications:{...i1.applications??{}},automatic:i1.automatic??!0,type:i1.type??""}}catch(i1){x.value=i1.message}finally{$.value=!1}}async function M1(){g.value=!0,x.value="";try{const i1=await w1.recordSkill({scope:_.value?de:i5,repository:_.value?"":A.value,id:w.value,name:d.value.name||w.value,description:d.value.description,body:d.value.body,paths:d.value.paths,applications:d.value.applications,automatic:d.value.automatic,type:d.value.type});l.replace(`/skills/${i1.id}`)}catch(i1){x.value=i1.message}finally{g.value=!1}}return P1(i,A1),o2(async()=>{await r(),await A1()}),(i1,v1)=>{var r1,H1;return h(),y("div",kp,[E(f(se),{pillar:"review",title:c.value?"Add skill":d.value.name||i.value,sub:(r1=u.value)==null?void 0:r1.path,mono:!!((H1=u.value)!=null&&H1.path)},{back:M(()=>[E(f(x1),{variant:"ghost",size:"icon","aria-label":"Back",onClick:v1[0]||(v1[0]=b1=>f(s)(u.value?`/skills/${i.value}`:"/skills"))},{default:M(()=>[E(f(Ct),{class:"h-4 w-4"})]),_:1})]),icon:M(()=>[E(f(_3),{class:"h-5 w-5"})]),badges:M(()=>[w.value?(h(),Q(f(n2),{key:0,variant:"outline",class:"font-mono"},{default:M(()=>[V(F(w.value),1)]),_:1})):O("",!0)]),actions:M(()=>[E(f(x1),{variant:"outline",size:"sm",onClick:v1[1]||(v1[1]=b1=>f(s)(u.value?`/skills/${i.value}`:"/skills"))},{default:M(()=>[...v1[10]||(v1[10]=[V(" Cancel ",-1)])]),_:1}),E(f(x1),{size:"sm",disabled:g.value||!f1.value||!j.value,onClick:M1},{default:M(()=>[g.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(h2(G.value?f(X4):f(Ke)),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),V(" "+F(G.value?"Copy":c.value?"Add":"Save"),1)]),_:1},8,["disabled"])]),_:1},8,["title","sub","mono"]),G.value?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-4"},{default:M(()=>[...v1[11]||(v1[11]=[V(" Read-only file. Copy keeps your own, which is then the one used. ",-1)])]),_:1})):O("",!0),x.value?(h(),Q(f(l2),{key:1,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(x.value),1)]),_:1})):O("",!0),$.value?(h(),y("p",xp,"Loading.")):(h(),y(e1,{key:3},[E(f(Q1),{class:"mb-3 p-5"},{default:M(()=>[v("div",wp,[E(f(Q2),{label:"Name",for:"skill-name"},{default:M(()=>[E(f(P2),{id:"skill-name",modelValue:d.value.name,"onUpdate:modelValue":v1[2]||(v1[2]=b1=>d.value.name=b1),placeholder:"Retry limit"},null,8,["modelValue"])]),_:1}),E(f(Q2),{class:"lg:col-span-2",label:"Description",for:"skill-description",hint:"Matched against a change during automatic selection."},{default:M(()=>[E(f(P2),{id:"skill-description",modelValue:d.value.description,"onUpdate:modelValue":v1[3]||(v1[3]=b1=>d.value.description=b1),placeholder:"Use when a change touches how a charge is retried."},null,8,["modelValue"])]),_:1})]),v("div",Cp,[v("button",{type:"button",class:"flex w-full items-center gap-1.5 text-left text-sm text-muted-foreground hover:text-foreground",onClick:v1[4]||(v1[4]=b1=>p.value=!p.value)},[p.value?(h(),Q(f(It),{key:0,class:"h-3.5 w-3.5 shrink-0"})):(h(),Q(f(o0),{key:1,class:"h-3.5 w-3.5 shrink-0"})),v("span",_p,F(C.value),1)]),te(v("div",Ip,[E(f(Q2),{label:"Scope",for:"skill-belongs"},{default:M(()=>[E(f(ne),{id:"skill-belongs",modelValue:A.value,"onUpdate:modelValue":v1[5]||(v1[5]=b1=>A.value=b1),disabled:!!u.value&&!N.value,class:"w-full"},{default:M(()=>[(h(!0),y(e1,null,_1(D.value,b1=>(h(),y("option",{key:b1.id,value:b1.id},F(b1.label),9,Mp))),128))]),_:1},8,["modelValue","disabled"])]),_:1}),E(f(Q2),{class:"lg:col-span-2",label:"Skill uses"},{default:M(()=>[v("div",Ep,[(h(!0),y(e1,null,_1(k.value,b1=>(h(),y("button",{key:b1.id,type:"button","aria-pressed":S(b1.id),class:o1(["rounded-full border px-2.5 py-0.5 text-xs transition-colors hover:border-primary/50",S(b1.id)?"border-primary/30 bg-primary/10 text-foreground":"border-border text-muted-foreground line-through"]),onClick:q1=>B(b1.id)},F(b1.label),11,Dp))),128))]),v("label",Zp,[te(v("input",{"onUpdate:modelValue":v1[6]||(v1[6]=b1=>d.value.automatic=b1),type:"checkbox",class:"h-3.5 w-3.5 rounded border"},null,512),[[bt,d.value.automatic]]),v1[12]||(v1[12]=V(" Allow automatic selection ",-1))]),v1[13]||(v1[13]=v("p",{class:"mt-1 text-xs text-muted-foreground"}," Off: read only when something names it. ",-1))]),_:1}),E(f(Q2),{class:"lg:col-span-3",label:"Files",for:"skill-paths",hint:"Globs, one a line. Limits selection to these."},{default:M(()=>[E(f(d0),{modelValue:d.value.paths,"onUpdate:modelValue":v1[7]||(v1[7]=b1=>d.value.paths=b1),mono:"",size:"sm",noun:"a pattern",placeholder:"db/migrations/**"},null,8,["modelValue"])]),_:1})],512),[[n6,p.value]])])]),_:1}),v("div",Fp,[E(f(D3),{modelValue:m.value,"onUpdate:modelValue":v1[8]||(v1[8]=b1=>m.value=b1),tabs:K,label:"Write or preview"},null,8,["modelValue"]),v("p",Bp,F(u1.value)+" line"+F(u1.value===1?"":"s")+" · markdown",1)]),m.value==="write"?(h(),Q(f(R5),{key:0,modelValue:d.value.body,"onUpdate:modelValue":v1[9]||(v1[9]=b1=>d.value.body=b1),class:"min-h-[24rem] flex-1 resize-none font-mono leading-relaxed",placeholder:"Never edit a migration that has already run. Add a new one instead.","aria-label":"The skill"},null,8,["modelValue"])):(h(),Q(f(Q1),{key:1,class:"min-h-[24rem] flex-1 overflow-auto p-5"},{default:M(()=>[d.value.body?(h(),Q(f(B2),{key:0,source:d.value.body},null,8,["source"])):(h(),y("p",Sp,"Nothing written yet."))]),_:1}))],64))])}}},$p=["value"],Np=["value"],Kp={class:"relative"},Qp={class:"mb-2 flex flex-wrap items-center justify-between gap-3"},Op={class:"flex items-center gap-2 text-sm text-muted-foreground"},Gp=["onClick"],Wp={class:"block font-medium"},Lp={class:"block truncate text-xs text-muted-foreground"},Vp={class:"flex flex-wrap gap-1"},Tp=["aria-pressed","title","onClick"],Je="repository",d3="global",dn="skills.uses",Pp={__name:"Skills",setup(e){const t=[Je,d3],n=[{id:"skill",label:"Skill"},{id:"uses",label:"Skill uses",width:"22rem"},{id:"source",label:"Source",narrow:!0},{id:"actions",label:"",align:"right",width:"3rem"}],l=Ce(),{repositories:s,chosen:o,error:a,fetchRepositories:r}=H2({all:!0}),i=P([]),c=P(""),u=P("all"),d=P({}),A=P([]),m=P(!1),p=[{id:"all",label:"All"},{id:Je,label:"This repository"},{id:d3,label:"Everywhere"},{id:"agents",label:"Your coding agents"}],g=z(()=>{const D=c.value.trim().toLowerCase();return i.value.filter(C=>u.value===Je&&C.origin!==Je||u.value===d3&&C.origin!==d3||u.value==="agents"&&t.includes(C.origin)||m.value&&!K(C)?!1:D?C.name.toLowerCase().includes(D)||C.description.toLowerCase().includes(D):!0)}),x=D=>t.includes(D.origin),$=D=>D.origin===d3?"everywhere":D.origin===Je?o.value:D.origin;function k(D,C){var G,j;const N=(G=d.value[D.id])==null?void 0:G[C];return typeof N=="boolean"?N:((j=D.applications)==null?void 0:j[C])!==!1}const K=D=>k(D,"review");async function I(D,C){const N=!k(D,C);try{x(D)?await w(D,C,N):await S(D,C,N),a.value=""}catch(G){a.value=G.message}await B()}async function w(D,C,N){const G=await w1.skill(D.id,D.origin===Je?o.value:""),j={...G.applications??{}};N?delete j[C]:j[C]=!1,await w1.recordSkill({scope:D.origin,repository:D.origin===Je?o.value:"",id:G.id,name:G.name,description:G.description,body:G.body??"",paths:G.paths??[],type:G.type??"",automatic:G.automatic??!0,applications:j}),await S(D,C,null)}async function S(D,C,N){const G={...d.value,[D.id]:{...d.value[D.id]}};N===null?delete G[D.id][C]:G[D.id][C]=N,Object.keys(G[D.id]).length||delete G[D.id],await w1.setSetting(dn,G),d.value=G}async function B(){var D;try{const[C,N,G]=await Promise.all([w1.skills(o.value),w1.settings(),A.value.length?A.value:w1.uses()]);i.value=C.skills;const j=(D=N.find(f1=>f1.key===dn))==null?void 0:D.value;d.value=j&&typeof j=="object"?j:{},A.value=G,a.value=""}catch(C){i.value=[],a.value=C.message}}async function _(D){if(confirm(`Forget ${D.name}? +`).length:0);async function A1(){if($.value=!0,x.value="",k.value.length||(k.value=await w1.uses().catch(()=>[])),c.value){u.value=null,d.value={name:"",description:"",body:"",paths:[],applications:{},automatic:!0,type:""},A.value=n.query.for||a.value||de,$.value=!1;return}try{const i1=await w1.skill(i.value,a.value);u.value=i1,A.value=i1.origin===c5?a.value:i1.origin===de?de:a.value||de,d.value={name:i1.name,description:i1.description,body:i1.body??"",paths:[...i1.paths??[]],applications:{...i1.applications??{}},automatic:i1.automatic??!0,type:i1.type??""}}catch(i1){x.value=i1.message}finally{$.value=!1}}async function M1(){g.value=!0,x.value="";try{const i1=await w1.recordSkill({scope:I.value?de:c5,repository:I.value?"":A.value,id:b.value,name:d.value.name||b.value,description:d.value.description,body:d.value.body,paths:d.value.paths,applications:d.value.applications,automatic:d.value.automatic,type:d.value.type});l.replace(`/skills/${i1.id}`)}catch(i1){x.value=i1.message}finally{g.value=!1}}return H1(i,A1),o2(async()=>{await r(),await A1()}),(i1,v1)=>{var r1,U1;return h(),y("div",_p,[M(f(se),{pillar:"review",title:c.value?"Add skill":d.value.name||i.value,sub:(r1=u.value)==null?void 0:r1.path,mono:!!((U1=u.value)!=null&&U1.path)},{back:E(()=>[M(f(x1),{variant:"ghost",size:"icon","aria-label":"Back",onClick:v1[0]||(v1[0]=b1=>f(s)(u.value?`/skills/${i.value}`:"/skills"))},{default:E(()=>[M(f(_t),{class:"h-4 w-4"})]),_:1})]),icon:E(()=>[M(f(M3),{class:"h-5 w-5"})]),badges:E(()=>[b.value?(h(),Q(f(n2),{key:0,variant:"outline",class:"font-mono"},{default:E(()=>[T(F(b.value),1)]),_:1})):O("",!0)]),actions:E(()=>[M(f(x1),{variant:"outline",size:"sm",onClick:v1[1]||(v1[1]=b1=>f(s)(u.value?`/skills/${i.value}`:"/skills"))},{default:E(()=>[...v1[10]||(v1[10]=[T(" Cancel ",-1)])]),_:1}),M(f(x1),{size:"sm",disabled:g.value||!f1.value||!j.value,onClick:M1},{default:E(()=>[g.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(A2(G.value?f(tt):f(Ke)),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),T(" "+F(G.value?"Copy":c.value?"Add":"Save"),1)]),_:1},8,["disabled"])]),_:1},8,["title","sub","mono"]),G.value?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-4"},{default:E(()=>[...v1[11]||(v1[11]=[T(" Read-only file. Copy keeps your own, which is then the one used. ",-1)])]),_:1})):O("",!0),x.value?(h(),Q(f(l2),{key:1,tone:"danger",class:"mb-4"},{default:E(()=>[T(F(x.value),1)]),_:1})):O("",!0),$.value?(h(),y("p",Ip,"Loading.")):(h(),y(e1,{key:3},[M(f(O1),{class:"mb-3 p-5"},{default:E(()=>[v("div",Mp,[M(f(Q2),{label:"Name",for:"skill-name"},{default:E(()=>[M(f(P2),{id:"skill-name",modelValue:d.value.name,"onUpdate:modelValue":v1[2]||(v1[2]=b1=>d.value.name=b1),placeholder:"Retry limit"},null,8,["modelValue"])]),_:1}),M(f(Q2),{class:"lg:col-span-2",label:"Description",for:"skill-description",hint:"Matched against a change during automatic selection."},{default:E(()=>[M(f(P2),{id:"skill-description",modelValue:d.value.description,"onUpdate:modelValue":v1[3]||(v1[3]=b1=>d.value.description=b1),placeholder:"Use when a change touches how a charge is retried."},null,8,["modelValue"])]),_:1})]),v("div",Ep,[v("button",{type:"button",class:"flex w-full items-center gap-1.5 text-left text-sm text-muted-foreground hover:text-foreground",onClick:v1[4]||(v1[4]=b1=>p.value=!p.value)},[p.value?(h(),Q(f(Mt),{key:0,class:"h-3.5 w-3.5 shrink-0"})):(h(),Q(f(r0),{key:1,class:"h-3.5 w-3.5 shrink-0"})),v("span",Dp,F(_.value),1)]),te(v("div",Zp,[M(f(Q2),{label:"Scope",for:"skill-belongs"},{default:E(()=>[M(f(ne),{id:"skill-belongs",modelValue:A.value,"onUpdate:modelValue":v1[5]||(v1[5]=b1=>A.value=b1),disabled:!!u.value&&!K.value,class:"w-full"},{default:E(()=>[(h(!0),y(e1,null,_1(D.value,b1=>(h(),y("option",{key:b1.id,value:b1.id},F(b1.label),9,Fp))),128))]),_:1},8,["modelValue","disabled"])]),_:1}),M(f(Q2),{class:"lg:col-span-2",label:"Skill uses"},{default:E(()=>[v("div",Bp,[(h(!0),y(e1,null,_1(k.value,b1=>(h(),y("button",{key:b1.id,type:"button","aria-pressed":B(b1.id),class:o1(["rounded-full border px-2.5 py-0.5 text-xs transition-colors hover:border-primary/50",B(b1.id)?"border-primary/30 bg-primary/10 text-foreground":"border-border text-muted-foreground line-through"]),onClick:q1=>S(b1.id)},F(b1.label),11,Sp))),128))]),v("label",Rp,[te(v("input",{"onUpdate:modelValue":v1[6]||(v1[6]=b1=>d.value.automatic=b1),type:"checkbox",class:"h-3.5 w-3.5 rounded border"},null,512),[[kt,d.value.automatic]]),v1[12]||(v1[12]=T(" Allow automatic selection ",-1))]),v1[13]||(v1[13]=v("p",{class:"mt-1 text-xs text-muted-foreground"}," Off: read only when something names it. ",-1))]),_:1}),M(f(Q2),{class:"lg:col-span-3",label:"Files",for:"skill-paths",hint:"Globs, one a line. Limits selection to these."},{default:E(()=>[M(f(h0),{modelValue:d.value.paths,"onUpdate:modelValue":v1[7]||(v1[7]=b1=>d.value.paths=b1),mono:"",size:"sm",noun:"a pattern",placeholder:"db/migrations/**"},null,8,["modelValue"])]),_:1})],512),[[s6,p.value]])])]),_:1}),v("div",$p,[M(f(c3),{modelValue:m.value,"onUpdate:modelValue":v1[8]||(v1[8]=b1=>m.value=b1),tabs:N,label:"Write or preview"},null,8,["modelValue"]),v("p",Np,F(u1.value)+" line"+F(u1.value===1?"":"s")+" · markdown",1)]),m.value==="write"?(h(),Q(f($5),{key:0,modelValue:d.value.body,"onUpdate:modelValue":v1[9]||(v1[9]=b1=>d.value.body=b1),class:"min-h-[24rem] flex-1 resize-none font-mono leading-relaxed",placeholder:"Never edit a migration that has already run. Add a new one instead.","aria-label":"The skill"},null,8,["modelValue"])):(h(),Q(f(O1),{key:1,class:"min-h-[24rem] flex-1 overflow-auto p-5"},{default:E(()=>[d.value.body?(h(),Q(f(B2),{key:0,source:d.value.body},null,8,["source"])):(h(),y("p",Kp,"Nothing written yet."))]),_:1}))],64))])}}},Op=["value"],Gp=["value"],Wp={class:"relative"},Lp={class:"mb-2 flex flex-wrap items-center justify-between gap-3"},Tp={class:"flex items-center gap-2 text-sm text-muted-foreground"},Vp=["onClick"],Pp={class:"block font-medium"},Hp={class:"block truncate text-xs text-muted-foreground"},Up={class:"flex flex-wrap gap-1"},Yp=["aria-pressed","title","onClick"],ze="repository",f3="global",An="skills.uses",Jp={__name:"Skills",setup(e){const t=[ze,f3],n=[{id:"skill",label:"Skill"},{id:"uses",label:"Skill uses",width:"22rem"},{id:"source",label:"Source",narrow:!0},{id:"actions",label:"",align:"right",width:"3rem"}],l=Ce(),{repositories:s,chosen:o,error:a,fetchRepositories:r}=H2({all:!0}),i=V([]),c=V(""),u=V("all"),d=V({}),A=V([]),m=V(!1),p=[{id:"all",label:"All"},{id:ze,label:"This repository"},{id:f3,label:"Everywhere"},{id:"agents",label:"Your coding agents"}],g=z(()=>{const D=c.value.trim().toLowerCase();return i.value.filter(_=>u.value===ze&&_.origin!==ze||u.value===f3&&_.origin!==f3||u.value==="agents"&&t.includes(_.origin)||m.value&&!N(_)?!1:D?_.name.toLowerCase().includes(D)||_.description.toLowerCase().includes(D):!0)}),x=D=>t.includes(D.origin),$=D=>D.origin===f3?"everywhere":D.origin===ze?o.value:D.origin;function k(D,_){var G,j;const K=(G=d.value[D.id])==null?void 0:G[_];return typeof K=="boolean"?K:((j=D.applications)==null?void 0:j[_])!==!1}const N=D=>k(D,"review");async function C(D,_){const K=!k(D,_);try{x(D)?await b(D,_,K):await B(D,_,K),a.value=""}catch(G){a.value=G.message}await S()}async function b(D,_,K){const G=await w1.skill(D.id,D.origin===ze?o.value:""),j={...G.applications??{}};K?delete j[_]:j[_]=!1,await w1.recordSkill({scope:D.origin,repository:D.origin===ze?o.value:"",id:G.id,name:G.name,description:G.description,body:G.body??"",paths:G.paths??[],type:G.type??"",automatic:G.automatic??!0,applications:j}),await B(D,_,null)}async function B(D,_,K){const G={...d.value,[D.id]:{...d.value[D.id]}};K===null?delete G[D.id][_]:G[D.id][_]=K,Object.keys(G[D.id]).length||delete G[D.id],await w1.setSetting(An,G),d.value=G}async function S(){var D;try{const[_,K,G]=await Promise.all([w1.skills(o.value),w1.settings(),A.value.length?A.value:w1.uses()]);i.value=_.skills;const j=(D=K.find(f1=>f1.key===An))==null?void 0:D.value;d.value=j&&typeof j=="object"?j:{},A.value=G,a.value=""}catch(_){i.value=[],a.value=_.message}}async function I(D){if(confirm(`Forget ${D.name}? -The file is removed from ${$(D)}.`))try{await w1.forgetSkill(D.origin===d3?"":o.value,D.origin,D.id),await B()}catch(C){a.value=C.message}}return P1(o,B),o2(async()=>{await r(),await B()}),(D,C)=>(h(),y("div",null,[E(f(se),{pillar:"review",title:"Skills",sub:"What your work is read against: this repository's, this machine's, and your own."},{icon:M(()=>[E(f(r6),{class:"h-6 w-6"})]),actions:M(()=>[f(s).length>1?(h(),Q(f(ne),{key:0,modelValue:f(o),"onUpdate:modelValue":C[0]||(C[0]=N=>i2(o)?o.value=N:null),size:"sm","aria-label":"Repository"},{default:M(()=>[v("option",{value:f(Ft)},"All repositories",8,$p),(h(!0),y(e1,null,_1(f(s),N=>(h(),y("option",{key:N.name,value:N.name},F(N.name),9,Np))),128))]),_:1},8,["modelValue"])):O("",!0),v("div",Kp,[E(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),E(f(P2),{modelValue:c.value,"onUpdate:modelValue":C[1]||(C[1]=N=>c.value=N),size:"sm",placeholder:"Find a skill",class:"w-48 pl-8","aria-label":"Find a skill"},null,8,["modelValue"])]),f(s).length?(h(),Q(f(x1),{key:1,size:"sm",variant:"glow",onClick:C[2]||(C[2]=N=>f(l).push({path:"/skills/new",query:{for:f(o)}}))},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),C[6]||(C[6]=V(" Add skill ",-1))]),_:1})):O("",!0)]),_:1}),f(a)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(a)),1)]),_:1})):O("",!0),f(s).length===0?(h(),Q(y4,{key:1})):(h(),y(e1,{key:2},[v("div",Qp,[E(f(D3),{modelValue:u.value,"onUpdate:modelValue":C[3]||(C[3]=N=>u.value=N),tabs:p,label:"Where they are kept"},null,8,["modelValue"]),v("label",Op,[te(v("input",{"onUpdate:modelValue":C[4]||(C[4]=N=>m.value=N),type:"checkbox",class:"h-3.5 w-3.5 rounded border"},null,512),[[bt,m.value]]),C[7]||(C[7]=V(" Used by code review ",-1))])]),C[12]||(C[12]=v("p",{class:"mb-4 text-xs text-muted-foreground"}," Used for everything unless turned off. A review reads five at most. ",-1)),g.value.length?(h(),Q(f(f6),{key:0,columns:n,rows:g.value,"row-key":"id",label:"Skills"},{skill:M(({row:N})=>[v("button",{type:"button",class:"block max-w-xl text-left",onClick:G=>f(l).push(`/skills/${N.id}`)},[v("span",Wp,[V(F(N.name)+" ",1),N.automatic?O("",!0):(h(),Q(f(n2),{key:0,variant:"outline",class:"ml-1.5"},{default:M(()=>[...C[8]||(C[8]=[V("manual",-1)])]),_:1}))]),v("span",Lp,F(N.description),1)],8,Gp)]),uses:M(({row:N})=>[v("div",Vp,[(h(!0),y(e1,null,_1(A.value,G=>(h(),y("button",{key:G.id,type:"button","aria-pressed":k(N,G.id),title:`${G.label}: ${k(N,G.id)?"on":"off"}`,class:o1(["rounded-full border px-2 py-0.5 text-[11px] transition-colors hover:border-primary/50",k(N,G.id)?"border-primary/30 bg-primary/10 text-foreground":"border-border text-muted-foreground line-through"]),onClick:j=>I(N,G.id)},F(G.label),11,Tp))),128))])]),source:M(({row:N})=>[E(f(n2),{variant:x(N)?"success":"outline"},{default:M(()=>[V(F($(N)),1)]),_:2},1032,["variant"])]),actions:M(({row:N})=>[x(N)?(h(),Q(f(x1),{key:0,variant:"ghost",size:"icon","aria-label":`Forget ${N.name}`,onClick:G=>_(N)},{default:M(()=>[E(f(v4),{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])):O("",!0)]),_:1},8,["rows"])):(h(),Q(f(Q1),{key:1,class:"p-10 text-center"},{default:M(()=>[E(f(_3),{class:"mx-auto mb-3 h-8 w-8 text-muted-foreground"}),C[10]||(C[10]=v("p",{class:"font-medium"},"No skills here.",-1)),C[11]||(C[11]=v("p",{class:"mx-auto mt-1 max-w-lg text-sm text-muted-foreground"}," Claude's and Codex's own folders are read, as is anything your team committed. What you write here is kept beside the index, not in a checkout. ",-1)),E(f(x1),{class:"mt-4",variant:"glow",onClick:C[5]||(C[5]=N=>f(l).push({path:"/skills/new",query:{for:f(o)}}))},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),C[9]||(C[9]=V(" Add skill ",-1))]),_:1})]),_:1}))],64))]))}},Hp={class:"space-y-4"},Yp={class:"mb-3 flex flex-wrap items-center justify-between gap-2"},Up={class:"font-mono text-sm text-muted-foreground"},Jp={class:"mb-2 flex flex-wrap items-center justify-between gap-2"},zp={class:"overflow-x-auto rounded-md bg-muted/50 p-3 text-xs"},jp={class:"mb-2 flex flex-wrap items-center justify-between gap-2"},Xp={class:"overflow-x-auto rounded-md bg-muted/50 p-3 text-xs"},qp={__name:"McpPanel",setup(e){const t=P(""),n=P(null),l=P(""),s=z(()=>window.location.origin),o=z(()=>JSON.stringify({mcpServers:{sourceant:{command:"sourceant",args:["mcp"],env:{SOURCEANT_UI_URL:s.value}}}},null,2)),a=z(()=>JSON.stringify({mcpServers:{sourceant:{type:"http",url:`${s.value}/mcp`}}},null,2));async function r(i,c){await navigator.clipboard.writeText(c),l.value=i,setTimeout(()=>l.value="",1500)}return o2(async()=>{t.value=`${s.value}/mcp`;try{const i=await fetch(t.value,{method:"GET"});n.value=i.status!==404}catch{n.value=!1}}),(i,c)=>(h(),y("div",Hp,[E(f(Q1),{class:"p-5"},{default:M(()=>[v("div",Yp,[c[2]||(c[2]=v("h2",{class:"font-semibold"},"Endpoint",-1)),E(f(W0),{label:n.value===null?"Checking":n.value?"Serving":"Not mounted",tone:n.value===null?"neutral":n.value?"success":"warning",busy:n.value===null},null,8,["label","tone","busy"])]),v("p",Up,F(t.value),1),n.value===!1?(h(),Q(f(l2),{key:0,tone:"info",class:"mt-3"},{default:M(()=>[...c[3]||(c[3]=[V(" Nothing is mounted there. The HTTP endpoint is served when this machine is running in local mode; over stdio it needs no endpoint at all. ",-1)])]),_:1})):O("",!0)]),_:1}),E(f(Q1),{class:"p-5"},{default:M(()=>[v("div",Jp,[c[4]||(c[4]=v("h2",{class:"font-semibold"},"Over stdio",-1)),E(f(x1),{size:"sm",variant:"outline",onClick:c[0]||(c[0]=u=>r("stdio",o.value))},{default:M(()=>[(h(),Q(h2(l.value==="stdio"?f(Ke):f(X4)),{class:"mr-2 h-3.5 w-3.5"})),V(" "+F(l.value==="stdio"?"Copied":"Copy"),1)]),_:1})]),c[5]||(c[5]=v("p",{class:"mb-3 text-sm text-muted-foreground"}," One process per client, started by the client. A review asked for this way is handed to this agent, so it finishes even after the client goes away. ",-1)),v("pre",zp,[v("code",null,F(o.value),1)])]),_:1}),E(f(Q1),{class:"p-5"},{default:M(()=>[v("div",jp,[c[6]||(c[6]=v("h2",{class:"font-semibold"},"Over HTTP",-1)),E(f(x1),{size:"sm",variant:"outline",onClick:c[1]||(c[1]=u=>r("http",a.value))},{default:M(()=>[(h(),Q(h2(l.value==="http"?f(Ke):f(X4)),{class:"mr-2 h-3.5 w-3.5"})),V(" "+F(l.value==="http"?"Copied":"Copy"),1)]),_:1})]),c[7]||(c[7]=v("p",{class:"mb-3 text-sm text-muted-foreground"}," One server, several clients. Reachable from this machine only. ",-1)),v("pre",Xp,[v("code",null,F(a.value),1)])]),_:1})]))}},em={key:0,class:"grid gap-x-4 gap-y-2 text-sm sm:grid-cols-[auto_1fr]"},tm={class:"font-mono"},nm={class:"break-all font-mono"},lm={class:"font-mono"},sm={key:0,class:"ml-2 text-xs text-muted-foreground"},om={class:"break-all font-mono"},am={class:"font-mono"},rm={class:"font-mono"},im={class:"mb-1 font-semibold"},cm={key:0,class:"mb-4 text-sm text-muted-foreground"},um={key:1,class:"mt-4 flex items-center gap-2 text-sm text-muted-foreground"},c5="overview",fn="mcp",dm={__name:"Settings",setup(e){const t=Oe(),{isDark:n,toggleTheme:l}=T0(),s=P(null),o=P([]),a=P([]),r=P(""),i=P(c5),c=P(null),u=P(!1),d=z(()=>[{id:c5,label:"Overview"},...a.value.map(p=>({id:p,label:p})),{id:fn,label:"MCP"}]),A=z(()=>{var g;return((g=s.value)==null?void 0:g.model)||"None chosen"});async function m(){if(c.value=null,i.value==="Model"){u.value=!0;try{c.value=await w1.checkModel()}catch{c.value=null}u.value=!1}}return o2(async()=>{var p,g;try{const[x,$,k]=await Promise.all([w1.status(),w1.settings(),w1.repositories().catch(()=>[])]);s.value={...x,model:((p=$.find(I=>I.key==="model.name"))==null?void 0:p.value)??"",keySet:!!((g=$.find(I=>I.key==="model.api_key"))!=null&&g.is_set)},o.value=k,a.value=[...new Set($.map(I=>I.group).filter(Boolean))].sort();const K=String(t.query.group??"");a.value.includes(K)&&(i.value=K)}catch(x){r.value=x.message}}),(p,g)=>(h(),y("div",null,[E(f(se),{pillar:"tokens",title:"Settings",sub:"What is running, and how this looks."},{icon:M(()=>[E(f(B5),{class:"h-6 w-6"})]),actions:M(()=>[E(f(D3),{modelValue:i.value,"onUpdate:modelValue":g[0]||(g[0]=x=>i.value=x),tabs:d.value,label:"Settings"},null,8,["modelValue","tabs"])]),_:1}),r.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(r.value),1)]),_:1})):O("",!0),i.value===c5?(h(),y(e1,{key:1},[E(f(Q1),{class:"mb-3 p-5"},{default:M(()=>[g[9]||(g[9]=v("h2",{class:"mb-3 font-semibold"},"This machine",-1)),s.value?(h(),y("dl",em,[g[4]||(g[4]=v("dt",{class:"text-muted-foreground"},"Agent",-1)),v("dd",tm,F(s.value.version),1),g[5]||(g[5]=v("dt",{class:"text-muted-foreground"},"Indexer",-1)),v("dd",nm,[V(F(s.value.core_url)+" ",1),E(f(n2),{variant:s.value.core_up?"success":"destructive",class:"ml-2"},{default:M(()=>[V(F(s.value.core_up?"answering":"not answering"),1)]),_:1},8,["variant"])]),g[6]||(g[6]=v("dt",{class:"text-muted-foreground"},"Starts",-1)),v("dd",lm,[V(F(s.value.core_starts)+" ",1),s.value.core_starts>1?(h(),y("span",sm," a number that keeps climbing is an indexer that keeps dying ")):O("",!0)]),s.value.last_exit?(h(),y(e1,{key:0},[g[1]||(g[1]=v("dt",{class:"text-muted-foreground"},"Last exit",-1)),v("dd",om,F(s.value.last_exit),1)],64)):O("",!0),g[7]||(g[7]=v("dt",{class:"text-muted-foreground"},"Folders read",-1)),v("dd",am,F(o.value.length),1),g[8]||(g[8]=v("dt",{class:"text-muted-foreground"},"Model",-1)),v("dd",rm,[V(F(A.value)+" ",1),s.value.model&&s.value.keySet?(h(),Q(f(n2),{key:0,variant:"success",class:"ml-2"},{default:M(()=>[...g[2]||(g[2]=[V("key set",-1)])]),_:1})):s.value.model?(h(),Q(f(n2),{key:1,variant:"warning",class:"ml-2"},{default:M(()=>[...g[3]||(g[3]=[V("no key",-1)])]),_:1})):O("",!0)])])):O("",!0),g[10]||(g[10]=v("p",{class:"mt-4 text-xs text-muted-foreground"},[V(" Where the indexer comes from is chosen at install time and kept in "),v("code",{class:"font-mono"},"~/.sourceant/config.json"),V(". Nothing on this page has left this machine. ")],-1))]),_:1}),E(f(Q1),{class:"p-5"},{default:M(()=>[g[11]||(g[11]=v("h2",{class:"mb-1 font-semibold"},"Appearance",-1)),g[12]||(g[12]=v("p",{class:"mb-4 text-sm text-muted-foreground"}," Kept in this browser, so it follows the screen rather than the machine. ",-1)),E(f(x1),{variant:"outline",onClick:f(l)},{default:M(()=>[(h(),Q(h2(f(n)?f(c0):f(i0)),{class:"mr-2 h-4 w-4"})),V(" "+F(f(n)?"Light mode":"Dark mode"),1)]),_:1},8,["onClick"])]),_:1})],64)):i.value===fn?(h(),Q(qp,{key:2})):(h(),Q(f(Q1),{key:3,class:"p-5"},{default:M(()=>[v("h2",im,F(i.value),1),i.value==="Model"?(h(),y("p",cm," Reading a repository needs none of this. Anything that proposes or judges rather than reads does, and it stays off until you say which model to ask. ")):O("",!0),(h(),Q(P0,{key:i.value,group:i.value,onSaved:m},null,8,["group"])),u.value?(h(),y("p",um,[E(f(v2),{class:"h-3.5 w-3.5 animate-spin"}),g[13]||(g[13]=V(" Asking the provider whether that key can use that model. ",-1))])):c.value?(h(),Q(f(l2),{key:2,tone:c.value.usable?"success":"danger",class:"mt-4"},{default:M(()=>[c.value.usable?(h(),y(e1,{key:0},[E(f(i6),{class:"mr-1.5 inline h-3.5 w-3.5"}),g[14]||(g[14]=V(" That key can use that model. ",-1))],64)):(h(),y(e1,{key:1},[V(F(c.value.reason),1)],64))]),_:1},8,["tone"])):O("",!0)]),_:1}))]))}},fm=$a({history:ha(),routes:[{path:"/",component:Xf},{path:"/graph",component:Kh},{path:"/knowledge",component:Jh},{path:"/reviews",component:cn},{path:"/reviews/:id",component:cn},{path:"/skills",component:Pp},{path:"/skills/new",component:un},{path:"/skills/:id(.*)/edit",component:un},{path:"/skills/:id(.*)",component:bp},{path:"/repositories",component:lA},{path:"/repositories/:name(.*)",component:xA},{path:"/settings",component:dm},{path:"/:rest(.*)*",redirect:"/"}]});Mo(wf).use(fm).mount("#app"); +The file is removed from ${$(D)}.`))try{await w1.forgetSkill(D.origin===f3?"":o.value,D.origin,D.id),await S()}catch(_){a.value=_.message}}return H1(o,S),o2(async()=>{await r(),await S()}),(D,_)=>(h(),y("div",null,[M(f(se),{pillar:"review",title:"Skills",sub:"What your work is read against: this repository's, this machine's, and your own."},{icon:E(()=>[M(f(c6),{class:"h-6 w-6"})]),actions:E(()=>[f(s).length>1?(h(),Q(f(ne),{key:0,modelValue:f(o),"onUpdate:modelValue":_[0]||(_[0]=K=>i2(o)?o.value=K:null),size:"sm","aria-label":"Repository"},{default:E(()=>[v("option",{value:f(Bt)},"All repositories",8,Op),(h(!0),y(e1,null,_1(f(s),K=>(h(),y("option",{key:K.name,value:K.name},F(K.name),9,Gp))),128))]),_:1},8,["modelValue"])):O("",!0),v("div",Wp,[M(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),M(f(P2),{modelValue:c.value,"onUpdate:modelValue":_[1]||(_[1]=K=>c.value=K),size:"sm",placeholder:"Find a skill",class:"w-48 pl-8","aria-label":"Find a skill"},null,8,["modelValue"])]),f(s).length?(h(),Q(f(x1),{key:1,size:"sm",variant:"glow",onClick:_[2]||(_[2]=K=>f(l).push({path:"/skills/new",query:{for:f(o)}}))},{default:E(()=>[M(f(le),{class:"mr-2 h-4 w-4"}),_[6]||(_[6]=T(" Add skill ",-1))]),_:1})):O("",!0)]),_:1}),f(a)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:E(()=>[T(F(f(a)),1)]),_:1})):O("",!0),f(s).length===0?(h(),Q(x4,{key:1})):(h(),y(e1,{key:2},[v("div",Lp,[M(f(c3),{modelValue:u.value,"onUpdate:modelValue":_[3]||(_[3]=K=>u.value=K),tabs:p,label:"Where they are kept"},null,8,["modelValue"]),v("label",Tp,[te(v("input",{"onUpdate:modelValue":_[4]||(_[4]=K=>m.value=K),type:"checkbox",class:"h-3.5 w-3.5 rounded border"},null,512),[[kt,m.value]]),_[7]||(_[7]=T(" Used by code review ",-1))])]),_[12]||(_[12]=v("p",{class:"mb-4 text-xs text-muted-foreground"}," Used for everything unless turned off. A review reads five at most. ",-1)),g.value.length?(h(),Q(f(A6),{key:0,columns:n,rows:g.value,"row-key":"id",label:"Skills"},{skill:E(({row:K})=>[v("button",{type:"button",class:"block max-w-xl text-left",onClick:G=>f(l).push(`/skills/${K.id}`)},[v("span",Pp,[T(F(K.name)+" ",1),K.automatic?O("",!0):(h(),Q(f(n2),{key:0,variant:"outline",class:"ml-1.5"},{default:E(()=>[..._[8]||(_[8]=[T("manual",-1)])]),_:1}))]),v("span",Hp,F(K.description),1)],8,Vp)]),uses:E(({row:K})=>[v("div",Up,[(h(!0),y(e1,null,_1(A.value,G=>(h(),y("button",{key:G.id,type:"button","aria-pressed":k(K,G.id),title:`${G.label}: ${k(K,G.id)?"on":"off"}`,class:o1(["rounded-full border px-2 py-0.5 text-[11px] transition-colors hover:border-primary/50",k(K,G.id)?"border-primary/30 bg-primary/10 text-foreground":"border-border text-muted-foreground line-through"]),onClick:j=>C(K,G.id)},F(G.label),11,Yp))),128))])]),source:E(({row:K})=>[M(f(n2),{variant:x(K)?"success":"outline"},{default:E(()=>[T(F($(K)),1)]),_:2},1032,["variant"])]),actions:E(({row:K})=>[x(K)?(h(),Q(f(x1),{key:0,variant:"ghost",size:"icon","aria-label":`Forget ${K.name}`,onClick:G=>I(K)},{default:E(()=>[M(f(k4),{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])):O("",!0)]),_:1},8,["rows"])):(h(),Q(f(O1),{key:1,class:"p-10 text-center"},{default:E(()=>[M(f(M3),{class:"mx-auto mb-3 h-8 w-8 text-muted-foreground"}),_[10]||(_[10]=v("p",{class:"font-medium"},"No skills here.",-1)),_[11]||(_[11]=v("p",{class:"mx-auto mt-1 max-w-lg text-sm text-muted-foreground"}," Claude's and Codex's own folders are read, as is anything your team committed. What you write here is kept beside the index, not in a checkout. ",-1)),M(f(x1),{class:"mt-4",variant:"glow",onClick:_[5]||(_[5]=K=>f(l).push({path:"/skills/new",query:{for:f(o)}}))},{default:E(()=>[M(f(le),{class:"mr-2 h-4 w-4"}),_[9]||(_[9]=T(" Add skill ",-1))]),_:1})]),_:1}))],64))]))}},zp={class:"space-y-4"},jp={class:"mb-3 flex flex-wrap items-center justify-between gap-2"},Xp={class:"font-mono text-sm text-muted-foreground"},qp={class:"mb-2 flex flex-wrap items-center justify-between gap-2"},em={class:"overflow-x-auto rounded-md bg-muted/50 p-3 text-xs"},tm={class:"mb-2 flex flex-wrap items-center justify-between gap-2"},nm={class:"overflow-x-auto rounded-md bg-muted/50 p-3 text-xs"},lm={__name:"McpPanel",setup(e){const t=V(""),n=V(null),l=V(""),s=z(()=>window.location.origin),o=z(()=>JSON.stringify({mcpServers:{sourceant:{command:"sourceant",args:["mcp"],env:{SOURCEANT_UI_URL:s.value}}}},null,2)),a=z(()=>JSON.stringify({mcpServers:{sourceant:{type:"http",url:`${s.value}/mcp`}}},null,2));async function r(i,c){await navigator.clipboard.writeText(c),l.value=i,setTimeout(()=>l.value="",1500)}return o2(async()=>{t.value=`${s.value}/mcp`;try{const i=await fetch(t.value,{method:"GET"});n.value=i.status!==404}catch{n.value=!1}}),(i,c)=>(h(),y("div",zp,[M(f(O1),{class:"p-5"},{default:E(()=>[v("div",jp,[c[2]||(c[2]=v("h2",{class:"font-semibold"},"Endpoint",-1)),M(f(T0),{label:n.value===null?"Checking":n.value?"Serving":"Not mounted",tone:n.value===null?"neutral":n.value?"success":"warning",busy:n.value===null},null,8,["label","tone","busy"])]),v("p",Xp,F(t.value),1),n.value===!1?(h(),Q(f(l2),{key:0,tone:"info",class:"mt-3"},{default:E(()=>[...c[3]||(c[3]=[T(" Nothing is mounted there. The HTTP endpoint is served when this machine is running in local mode; over stdio it needs no endpoint at all. ",-1)])]),_:1})):O("",!0)]),_:1}),M(f(O1),{class:"p-5"},{default:E(()=>[v("div",qp,[c[4]||(c[4]=v("h2",{class:"font-semibold"},"Over stdio",-1)),M(f(x1),{size:"sm",variant:"outline",onClick:c[0]||(c[0]=u=>r("stdio",o.value))},{default:E(()=>[(h(),Q(A2(l.value==="stdio"?f(Ke):f(tt)),{class:"mr-2 h-3.5 w-3.5"})),T(" "+F(l.value==="stdio"?"Copied":"Copy"),1)]),_:1})]),c[5]||(c[5]=v("p",{class:"mb-3 text-sm text-muted-foreground"}," One process per client, started by the client. A review asked for this way is handed to this agent, so it finishes even after the client goes away. ",-1)),v("pre",em,[v("code",null,F(o.value),1)])]),_:1}),M(f(O1),{class:"p-5"},{default:E(()=>[v("div",tm,[c[6]||(c[6]=v("h2",{class:"font-semibold"},"Over HTTP",-1)),M(f(x1),{size:"sm",variant:"outline",onClick:c[1]||(c[1]=u=>r("http",a.value))},{default:E(()=>[(h(),Q(A2(l.value==="http"?f(Ke):f(tt)),{class:"mr-2 h-3.5 w-3.5"})),T(" "+F(l.value==="http"?"Copied":"Copy"),1)]),_:1})]),c[7]||(c[7]=v("p",{class:"mb-3 text-sm text-muted-foreground"}," One server, several clients. Reachable from this machine only. ",-1)),v("pre",nm,[v("code",null,F(a.value),1)])]),_:1})]))}},sm={key:0,class:"grid gap-x-4 gap-y-2 text-sm sm:grid-cols-[auto_1fr]"},om={class:"font-mono"},am={class:"break-all font-mono"},rm={class:"font-mono"},im={key:0,class:"ml-2 text-xs text-muted-foreground"},cm={class:"break-all font-mono"},um={class:"font-mono"},dm={class:"font-mono"},fm={class:"mb-1 font-semibold"},hm={key:0,class:"mb-4 text-sm text-muted-foreground"},Am={key:1,class:"mt-4 flex items-center gap-2 text-sm text-muted-foreground"},u5="overview",pn="mcp",pm={__name:"Settings",setup(e){const t=Ge(),{isDark:n,toggleTheme:l}=H0(),s=V(null),o=V([]),a=V([]),r=V(""),i=V(u5),c=V(null),u=V(!1),d=z(()=>[{id:u5,label:"Overview"},...a.value.map(p=>({id:p,label:p})),{id:pn,label:"MCP"}]),A=z(()=>{var g;return((g=s.value)==null?void 0:g.model)||"None chosen"});async function m(){if(c.value=null,i.value==="Model"){u.value=!0;try{c.value=await w1.checkModel()}catch{c.value=null}u.value=!1}}return o2(async()=>{var p,g;try{const[x,$,k]=await Promise.all([w1.status(),w1.settings(),w1.repositories().catch(()=>[])]);s.value={...x,model:((p=$.find(C=>C.key==="model.name"))==null?void 0:p.value)??"",keySet:!!((g=$.find(C=>C.key==="model.api_key"))!=null&&g.is_set)},o.value=k,a.value=[...new Set($.map(C=>C.group).filter(Boolean))].sort();const N=String(t.query.group??"");a.value.includes(N)&&(i.value=N)}catch(x){r.value=x.message}}),(p,g)=>(h(),y("div",null,[M(f(se),{pillar:"tokens",title:"Settings",sub:"What is running, and how this looks."},{icon:E(()=>[M(f(S5),{class:"h-6 w-6"})]),actions:E(()=>[M(f(c3),{modelValue:i.value,"onUpdate:modelValue":g[0]||(g[0]=x=>i.value=x),tabs:d.value,label:"Settings"},null,8,["modelValue","tabs"])]),_:1}),r.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:E(()=>[T(F(r.value),1)]),_:1})):O("",!0),i.value===u5?(h(),y(e1,{key:1},[M(f(O1),{class:"mb-3 p-5"},{default:E(()=>[g[9]||(g[9]=v("h2",{class:"mb-3 font-semibold"},"This machine",-1)),s.value?(h(),y("dl",sm,[g[4]||(g[4]=v("dt",{class:"text-muted-foreground"},"Agent",-1)),v("dd",om,F(s.value.version),1),g[5]||(g[5]=v("dt",{class:"text-muted-foreground"},"Indexer",-1)),v("dd",am,[T(F(s.value.core_url)+" ",1),M(f(n2),{variant:s.value.core_up?"success":"destructive",class:"ml-2"},{default:E(()=>[T(F(s.value.core_up?"answering":"not answering"),1)]),_:1},8,["variant"])]),g[6]||(g[6]=v("dt",{class:"text-muted-foreground"},"Starts",-1)),v("dd",rm,[T(F(s.value.core_starts)+" ",1),s.value.core_starts>1?(h(),y("span",im," a number that keeps climbing is an indexer that keeps dying ")):O("",!0)]),s.value.last_exit?(h(),y(e1,{key:0},[g[1]||(g[1]=v("dt",{class:"text-muted-foreground"},"Last exit",-1)),v("dd",cm,F(s.value.last_exit),1)],64)):O("",!0),g[7]||(g[7]=v("dt",{class:"text-muted-foreground"},"Folders read",-1)),v("dd",um,F(o.value.length),1),g[8]||(g[8]=v("dt",{class:"text-muted-foreground"},"Model",-1)),v("dd",dm,[T(F(A.value)+" ",1),s.value.model&&s.value.keySet?(h(),Q(f(n2),{key:0,variant:"success",class:"ml-2"},{default:E(()=>[...g[2]||(g[2]=[T("key set",-1)])]),_:1})):s.value.model?(h(),Q(f(n2),{key:1,variant:"warning",class:"ml-2"},{default:E(()=>[...g[3]||(g[3]=[T("no key",-1)])]),_:1})):O("",!0)])])):O("",!0),g[10]||(g[10]=v("p",{class:"mt-4 text-xs text-muted-foreground"},[T(" Where the indexer comes from is chosen at install time and kept in "),v("code",{class:"font-mono"},"~/.sourceant/config.json"),T(". Nothing on this page has left this machine. ")],-1))]),_:1}),M(f(O1),{class:"p-5"},{default:E(()=>[g[11]||(g[11]=v("h2",{class:"mb-1 font-semibold"},"Appearance",-1)),g[12]||(g[12]=v("p",{class:"mb-4 text-sm text-muted-foreground"}," Kept in this browser, so it follows the screen rather than the machine. ",-1)),M(f(x1),{variant:"outline",onClick:f(l)},{default:E(()=>[(h(),Q(A2(f(n)?f(d0):f(u0)),{class:"mr-2 h-4 w-4"})),T(" "+F(f(n)?"Light mode":"Dark mode"),1)]),_:1},8,["onClick"])]),_:1})],64)):i.value===pn?(h(),Q(lm,{key:2})):(h(),Q(f(O1),{key:3,class:"p-5"},{default:E(()=>[v("h2",fm,F(i.value),1),i.value==="Model"?(h(),y("p",hm," Reading a repository needs none of this. Anything that proposes or judges rather than reads does, and it stays off until you say which model to ask. ")):O("",!0),(h(),Q(U0,{key:i.value,group:i.value,onSaved:m},null,8,["group"])),u.value?(h(),y("p",Am,[M(f(v2),{class:"h-3.5 w-3.5 animate-spin"}),g[13]||(g[13]=T(" Asking the provider whether that key can use that model. ",-1))])):c.value?(h(),Q(f(l2),{key:2,tone:c.value.usable?"success":"danger",class:"mt-4"},{default:E(()=>[c.value.usable?(h(),y(e1,{key:0},[M(f(u6),{class:"mr-1.5 inline h-3.5 w-3.5"}),g[14]||(g[14]=T(" That key can use that model. ",-1))],64)):(h(),y(e1,{key:1},[T(F(c.value.reason),1)],64))]),_:1},8,["tone"])):O("",!0)]),_:1}))]))}},mm=Oa({history:ga(),routes:[{path:"/",component:nh},{path:"/graph",component:Wh},{path:"/knowledge",component:qh},{path:"/reviews",component:fn},{path:"/reviews/:id",component:fn},{path:"/skills",component:Jp},{path:"/skills/new",component:hn},{path:"/skills/:id(.*)/edit",component:hn},{path:"/skills/:id(.*)",component:Cp},{path:"/repositories",component:rA},{path:"/repositories/:name(.*)",component:IA},{path:"/settings",component:pm},{path:"/:rest(.*)*",redirect:"/"}]});Fo(Mf).use(mm).mount("#app");export{e1 as F,ne as _,v as a,T as b,y as c,M as d,E as e,x1 as f,Q as g,O as h,l2 as i,V as j,w1 as k,z as l,o1 as n,h as o,_1 as r,F as t,f as u,H1 as w}; diff --git a/internal/ui/assets/assets/index-fisHDyED.css b/internal/ui/assets/assets/index-fisHDyED.css deleted file mode 100644 index 70ae6b1..0000000 --- a/internal/ui/assets/assets/index-fisHDyED.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root,.dark{color-scheme:dark;--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 9% 7%;--card-foreground: 0 0% 98%;--popover: 240 9% 7%;--popover-foreground: 0 0% 98%;--primary: 357 89% 47%;--primary-foreground: 0 0% 100%;--secondary: 240 4% 16%;--secondary-foreground: 0 0% 98%;--muted: 240 5% 14%;--muted-foreground: 240 5% 64.9%;--accent: 240 4% 16%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 50.6%;--destructive-foreground: 0 0% 98%;--success: 142 71% 45%;--success-foreground: 0 0% 98%;--warning: 38 92% 50%;--warning-foreground: 0 0% 98%;--border: 240 6% 16%;--input: 240 6% 16%;--ring: 357 89% 47%;--radius: .25rem;--brand: 357 89% 47%;--pillar-memory: 217 91% 60%;--pillar-graph: 262 83% 66%;--pillar-review: 142 71% 45%;--pillar-tokens: 38 92% 50%;--severity-critical: 0 72% 51%;--severity-high: 25 90% 48%;--severity-moderate: 38 92% 50%;--severity-low: 217 91% 60%;--figure-1: 217 91% 55%;--figure-2: 330 81% 50%;--figure-3: 32 95% 44%;--figure-4: 160 94% 30%;--figure-5: 262 83% 58%;--figure-6: 192 91% 36%}.\!dark{color-scheme:dark!important;--background: 240 10% 3.9% !important;--foreground: 0 0% 98% !important;--card: 240 9% 7% !important;--card-foreground: 0 0% 98% !important;--popover: 240 9% 7% !important;--popover-foreground: 0 0% 98% !important;--primary: 357 89% 47% !important;--primary-foreground: 0 0% 100% !important;--secondary: 240 4% 16% !important;--secondary-foreground: 0 0% 98% !important;--muted: 240 5% 14% !important;--muted-foreground: 240 5% 64.9% !important;--accent: 240 4% 16% !important;--accent-foreground: 0 0% 98% !important;--destructive: 0 62.8% 50.6% !important;--destructive-foreground: 0 0% 98% !important;--success: 142 71% 45% !important;--success-foreground: 0 0% 98% !important;--warning: 38 92% 50% !important;--warning-foreground: 0 0% 98% !important;--border: 240 6% 16% !important;--input: 240 6% 16% !important;--ring: 357 89% 47% !important;--radius: .25rem !important;--brand: 357 89% 47% !important;--pillar-memory: 217 91% 60% !important;--pillar-graph: 262 83% 66% !important;--pillar-review: 142 71% 45% !important;--pillar-tokens: 38 92% 50% !important;--severity-critical: 0 72% 51% !important;--severity-high: 25 90% 48% !important;--severity-moderate: 38 92% 50% !important;--severity-low: 217 91% 60% !important;--figure-1: 217 91% 55% !important;--figure-2: 330 81% 50% !important;--figure-3: 32 95% 44% !important;--figure-4: 160 94% 30% !important;--figure-5: 262 83% 58% !important;--figure-6: 192 91% 36% !important}.light{color-scheme:light;--background: 240 20% 98%;--foreground: 240 10% 10%;--card: 0 0% 100%;--card-foreground: 240 10% 10%;--popover: 0 0% 100%;--popover-foreground: 240 10% 10%;--primary: 357 89% 47%;--primary-foreground: 0 0% 100%;--secondary: 240 10% 94%;--secondary-foreground: 240 10% 20%;--muted: 240 10% 94%;--muted-foreground: 240 5% 45%;--accent: 357 60% 96%;--accent-foreground: 357 70% 40%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--success: 142 70% 35%;--success-foreground: 0 0% 100%;--warning: 38 92% 45%;--warning-foreground: 0 0% 100%;--border: 240 10% 90%;--input: 240 10% 90%;--ring: 357 89% 47%;--brand: 357 89% 47%;--pillar-memory: 217 91% 55%;--pillar-graph: 262 83% 58%;--pillar-review: 142 71% 40%;--pillar-tokens: 38 92% 45%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));font-family:Inter,system-ui,sans-serif;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.container{max-width:1400px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.light .gradient-text{--tw-gradient-from: #9333ea var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7c3aed var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.light .glass{border-bottom-width:1px;border-color:hsl(var(--border) / .5);background-color:hsl(var(--background) / .9);--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.glow{box-shadow:0 0 60px -15px hsl(var(--primary) / .3)}.light .glow{box-shadow:0 0 60px -15px hsl(var(--primary) / .15)}.glow-sm{box-shadow:0 0 30px -10px hsl(var(--primary) / .2)}.light .glow-sm{box-shadow:0 0 30px -10px hsl(var(--primary) / .1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:.625rem}.left-3{left:.75rem}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-full{top:100%}.z-40{z-index:40}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-64{max-height:16rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.min-h-\[24rem\]{min-height:24rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[calc\(100\%-1rem\)\]{width:calc(100% - 1rem)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-10{min-width:2.5rem}.min-w-7{min-width:1.75rem}.min-w-8{min-width:2rem}.max-w-2xl{max-width:42rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-2{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .3s ease-out}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fade-up .4s ease-out}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}0%,to{opacity:1}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shimmer{to{transform:translate(100%)}}.animate-shimmer{animation:shimmer 2s infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * 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-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * 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))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * 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))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-600\/20{border-color:#d9770633}.border-blue-600\/20{border-color:#2563eb33}.border-border{border-color:hsl(var(--border))}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-border\/70{border-color:hsl(var(--border) / .7)}.border-cyan-600\/20{border-color:#0891b233}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-destructive\/40{border-color:hsl(var(--destructive) / .4)}.border-destructive\/60{border-color:hsl(var(--destructive) / .6)}.border-emerald-600\/20{border-color:#05966933}.border-fuchsia-600\/20{border-color:#c026d333}.border-input{border-color:hsl(var(--input))}.border-lime-600\/20{border-color:#65a30d33}.border-pink-600\/20{border-color:#db277733}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-red-600\/20{border-color:#dc262633}.border-success\/40{border-color:hsl(var(--success) / .4)}.border-transparent{border-color:transparent}.border-violet-600\/20{border-color:#7c3aed33}.border-warning\/40{border-color:hsl(var(--warning) / .4)}.border-r-primary\/50{border-right-color:hsl(var(--primary) / .5)}.border-t-primary{border-top-color:hsl(var(--primary))}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-amber-600\/10{background-color:#d977061a}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-600\/10{background-color:#2563eb1a}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity, 1))}.bg-cyan-600\/10{background-color:#0891b21a}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-emerald-600\/10{background-color:#0596691a}.bg-fuchsia-600{--tw-bg-opacity: 1;background-color:rgb(192 38 211 / var(--tw-bg-opacity, 1))}.bg-fuchsia-600\/10{background-color:#c026d31a}.bg-lime-600{--tw-bg-opacity: 1;background-color:rgb(101 163 13 / var(--tw-bg-opacity, 1))}.bg-lime-600\/10{background-color:#65a30d1a}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground{background-color:hsl(var(--muted-foreground))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-pillar-graph{--tw-bg-opacity: 1;background-color:hsl(var(--pillar-graph) / var(--tw-bg-opacity, 1))}.bg-pillar-graph\/15{background-color:hsl(var(--pillar-graph) / .15)}.bg-pillar-memory\/15{background-color:hsl(var(--pillar-memory) / .15)}.bg-pillar-review\/15{background-color:hsl(var(--pillar-review) / .15)}.bg-pillar-tokens\/15{background-color:hsl(var(--pillar-tokens) / .15)}.bg-pink-600{--tw-bg-opacity: 1;background-color:rgb(219 39 119 / var(--tw-bg-opacity, 1))}.bg-pink-600\/10{background-color:#db27771a}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/25{background-color:hsl(var(--primary) / .25)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-600\/10{background-color:#dc26261a}.bg-secondary{background-color:hsl(var(--secondary))}.bg-success{background-color:hsl(var(--success))}.bg-success\/10{background-color:hsl(var(--success) / .1)}.bg-success\/15{background-color:hsl(var(--success) / .15)}.bg-success\/20{background-color:hsl(var(--success) / .2)}.bg-success\/5{background-color:hsl(var(--success) / .05)}.bg-transparent{background-color:transparent}.bg-violet-600{--tw-bg-opacity: 1;background-color:rgb(124 58 237 / var(--tw-bg-opacity, 1))}.bg-violet-600\/10{background-color:#7c3aed1a}.bg-warning{background-color:hsl(var(--warning))}.bg-warning\/10{background-color:hsl(var(--warning) / .1)}.bg-warning\/15{background-color:hsl(var(--warning) / .15)}.bg-warning\/20{background-color:hsl(var(--warning) / .2)}.bg-warning\/5{background-color:hsl(var(--warning) / .05)}.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: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-foreground\/\[0\.06\]{--tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--foreground) / .06) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.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}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.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-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.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-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-9{padding-right:2.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.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}.font-mono{font-family:JetBrains Mono,monospace}.font-sans{font-family:Inter,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.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-relaxed{line-height:1.625}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-brand{color:hsl(var(--brand))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-fuchsia-600{--tw-text-opacity: 1;color:rgb(192 38 211 / var(--tw-text-opacity, 1))}.text-lime-600{--tw-text-opacity: 1;color:rgb(101 163 13 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-pillar-graph{--tw-text-opacity: 1;color:hsl(var(--pillar-graph) / var(--tw-text-opacity, 1))}.text-pillar-memory{--tw-text-opacity: 1;color:hsl(var(--pillar-memory) / var(--tw-text-opacity, 1))}.text-pillar-review{--tw-text-opacity: 1;color:hsl(var(--pillar-review) / var(--tw-text-opacity, 1))}.text-pillar-tokens{--tw-text-opacity: 1;color:hsl(var(--pillar-tokens) / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-success{color:hsl(var(--success))}.text-violet-600{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-warning{color:hsl(var(--warning))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(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)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(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)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur-2xl{--tw-blur: blur(40px);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)}.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)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,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}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:glow:hover{box-shadow:0 0 60px -15px hsl(var(--primary) / .3)}.light .hover\:glow:hover{box-shadow:0 0 60px -15px hsl(var(--primary) / .15)}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.first\:pt-0:first-child{padding-top:0}.last\:border-0:last-child{border-width:0px}.last\:pb-0:last-child{padding-bottom:0}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-background\/60:hover{background-color:hsl(var(--background) / .6)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/60:hover{background-color:hsl(var(--muted) / .6)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-destructive:focus{border-color:hsl(var(--destructive))}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--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);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--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)}.focus-visible\:ring-primary\/40:focus-visible{--tw-ring-color: hsl(var(--primary) / .4)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.prose-headings\:font-semibold :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-weight:600}.prose-headings\:text-foreground :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-p\:text-muted-foreground :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-a\:text-primary :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--primary))}.prose-a\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:none}.hover\:prose-a\:underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:underline}.prose-blockquote\:border-border :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){border-color:hsl(var(--border))}.prose-blockquote\:text-muted-foreground :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-strong\:text-foreground :is(:where(strong):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-em\:text-foreground :is(:where(em):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-code\:rounded :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){border-radius:.25rem}.prose-code\:bg-muted\/60 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){background-color:hsl(var(--muted) / .6)}.prose-code\:px-1 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){padding-left:.25rem;padding-right:.25rem}.prose-code\:py-0\.5 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){padding-top:.125rem;padding-bottom:.125rem}.prose-code\:text-foreground :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-code\:before\:content-none :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):before{--tw-content: none;content:var(--tw-content)}.prose-code\:after\:content-none :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):after{--tw-content: none;content:var(--tw-content)}.prose-pre\:border :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){border-width:1px}.prose-pre\:bg-muted\/50 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){background-color:hsl(var(--muted) / .5)}.prose-pre\:text-foreground :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-li\:text-muted-foreground :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-th\:text-foreground :is(:where(th):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-td\:text-muted-foreground :is(:where(td):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-hr\:border-border :is(:where(hr):not(:where([class~=not-prose],[class~=not-prose] *))){border-color:hsl(var(--border))}@media(min-width:640px){.sm\:mr-3{margin-right:.75rem}.sm\:block{display:block}.sm\:table-cell{display:table-cell}.sm\:w-\[32\%\]{width:32%}.sm\:w-\[40\%\]{width:40%}.sm\:w-\[55\%\]{width:55%}.sm\:min-w-\[22rem\]{min-width:22rem}.sm\:min-w-\[26rem\]{min-width:26rem}.sm\:min-w-\[32rem\]{min-width:32rem}.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-\[auto_1fr\]{grid-template-columns:auto 1fr}.sm\:px-4{padding-left:1rem;padding-right:1rem}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.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-\[16rem_1fr\]{grid-template-columns:16rem 1fr}.lg\:grid-cols-\[18rem_1fr\]{grid-template-columns:18rem 1fr}.lg\:grid-cols-\[1fr_20rem\]{grid-template-columns:1fr 20rem}.lg\:items-start{align-items:flex-start}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:pb-6{padding-bottom:1.5rem}.lg\:pt-4{padding-top:1rem}}@media(min-width:1280px){.xl\:inline{display:inline}}@media(min-width:1536px){.\32xl\:px-2\.5{padding-left:.625rem;padding-right:.625rem}}.\[\&\>p\]\:inline>p{display:inline} diff --git a/internal/ui/assets/assets/index-hNrI5of5.css b/internal/ui/assets/assets/index-hNrI5of5.css new file mode 100644 index 0000000..fa517a8 --- /dev/null +++ b/internal/ui/assets/assets/index-hNrI5of5.css @@ -0,0 +1 @@ +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root,.dark{color-scheme:dark;--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 9% 7%;--card-foreground: 0 0% 98%;--popover: 240 9% 7%;--popover-foreground: 0 0% 98%;--primary: 357 89% 47%;--primary-foreground: 0 0% 100%;--secondary: 240 4% 16%;--secondary-foreground: 0 0% 98%;--muted: 240 5% 14%;--muted-foreground: 240 5% 64.9%;--accent: 240 4% 16%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 50.6%;--destructive-foreground: 0 0% 98%;--success: 142 71% 45%;--success-foreground: 0 0% 98%;--warning: 38 92% 50%;--warning-foreground: 0 0% 98%;--border: 240 6% 16%;--input: 240 6% 16%;--ring: 357 89% 47%;--radius: .25rem;--brand: 357 89% 47%;--pillar-memory: 217 91% 60%;--pillar-graph: 262 83% 66%;--pillar-review: 142 71% 45%;--pillar-tokens: 38 92% 50%;--severity-critical: 0 72% 51%;--severity-high: 25 90% 48%;--severity-moderate: 38 92% 50%;--severity-low: 217 91% 60%;--figure-1: 217 91% 55%;--figure-2: 330 81% 50%;--figure-3: 32 95% 44%;--figure-4: 160 94% 30%;--figure-5: 262 83% 58%;--figure-6: 192 91% 36%}.\!dark{color-scheme:dark!important;--background: 240 10% 3.9% !important;--foreground: 0 0% 98% !important;--card: 240 9% 7% !important;--card-foreground: 0 0% 98% !important;--popover: 240 9% 7% !important;--popover-foreground: 0 0% 98% !important;--primary: 357 89% 47% !important;--primary-foreground: 0 0% 100% !important;--secondary: 240 4% 16% !important;--secondary-foreground: 0 0% 98% !important;--muted: 240 5% 14% !important;--muted-foreground: 240 5% 64.9% !important;--accent: 240 4% 16% !important;--accent-foreground: 0 0% 98% !important;--destructive: 0 62.8% 50.6% !important;--destructive-foreground: 0 0% 98% !important;--success: 142 71% 45% !important;--success-foreground: 0 0% 98% !important;--warning: 38 92% 50% !important;--warning-foreground: 0 0% 98% !important;--border: 240 6% 16% !important;--input: 240 6% 16% !important;--ring: 357 89% 47% !important;--radius: .25rem !important;--brand: 357 89% 47% !important;--pillar-memory: 217 91% 60% !important;--pillar-graph: 262 83% 66% !important;--pillar-review: 142 71% 45% !important;--pillar-tokens: 38 92% 50% !important;--severity-critical: 0 72% 51% !important;--severity-high: 25 90% 48% !important;--severity-moderate: 38 92% 50% !important;--severity-low: 217 91% 60% !important;--figure-1: 217 91% 55% !important;--figure-2: 330 81% 50% !important;--figure-3: 32 95% 44% !important;--figure-4: 160 94% 30% !important;--figure-5: 262 83% 58% !important;--figure-6: 192 91% 36% !important}.light{color-scheme:light;--background: 240 20% 98%;--foreground: 240 10% 10%;--card: 0 0% 100%;--card-foreground: 240 10% 10%;--popover: 0 0% 100%;--popover-foreground: 240 10% 10%;--primary: 357 89% 47%;--primary-foreground: 0 0% 100%;--secondary: 240 10% 94%;--secondary-foreground: 240 10% 20%;--muted: 240 10% 94%;--muted-foreground: 240 5% 45%;--accent: 357 60% 96%;--accent-foreground: 357 70% 40%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--success: 142 70% 35%;--success-foreground: 0 0% 100%;--warning: 38 92% 45%;--warning-foreground: 0 0% 100%;--border: 240 10% 90%;--input: 240 10% 90%;--ring: 357 89% 47%;--brand: 357 89% 47%;--pillar-memory: 217 91% 55%;--pillar-graph: 262 83% 58%;--pillar-review: 142 71% 40%;--pillar-tokens: 38 92% 45%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));font-family:Inter,system-ui,sans-serif;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.container{max-width:1400px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.light .gradient-text{--tw-gradient-from: #9333ea var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7c3aed var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.light .glass{border-bottom-width:1px;border-color:hsl(var(--border) / .5);background-color:hsl(var(--background) / .9);--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.glow{box-shadow:0 0 60px -15px hsl(var(--primary) / .3)}.light .glow{box-shadow:0 0 60px -15px hsl(var(--primary) / .15)}.glow-sm{box-shadow:0 0 30px -10px hsl(var(--primary) / .2)}.light .glow-sm{box-shadow:0 0 30px -10px hsl(var(--primary) / .1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:.625rem}.left-3{left:.75rem}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-full{top:100%}.z-40{z-index:40}.z-50{z-index:50}.m-3{margin:.75rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-64{max-height:16rem}.max-h-\[32rem\]{max-height:32rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.min-h-\[24rem\]{min-height:24rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[calc\(100\%-1rem\)\]{width:calc(100% - 1rem)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-10{min-width:2.5rem}.min-w-7{min-width:1.75rem}.min-w-8{min-width:2rem}.max-w-2xl{max-width:42rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-2{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .3s ease-out}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fade-up .4s ease-out}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}0%,to{opacity:1}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shimmer{to{transform:translate(100%)}}.animate-shimmer{animation:shimmer 2s infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * 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-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * 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))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * 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))}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-600\/20{border-color:#d9770633}.border-blue-600\/20{border-color:#2563eb33}.border-border{border-color:hsl(var(--border))}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-border\/70{border-color:hsl(var(--border) / .7)}.border-cyan-600\/20{border-color:#0891b233}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-destructive\/40{border-color:hsl(var(--destructive) / .4)}.border-destructive\/60{border-color:hsl(var(--destructive) / .6)}.border-emerald-600\/20{border-color:#05966933}.border-fuchsia-600\/20{border-color:#c026d333}.border-input{border-color:hsl(var(--input))}.border-lime-600\/20{border-color:#65a30d33}.border-pink-600\/20{border-color:#db277733}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-red-600\/20{border-color:#dc262633}.border-success\/40{border-color:hsl(var(--success) / .4)}.border-transparent{border-color:transparent}.border-violet-600\/20{border-color:#7c3aed33}.border-warning\/40{border-color:hsl(var(--warning) / .4)}.border-r-primary\/50{border-right-color:hsl(var(--primary) / .5)}.border-t-primary{border-top-color:hsl(var(--primary))}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-amber-600\/10{background-color:#d977061a}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-600\/10{background-color:#2563eb1a}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity, 1))}.bg-cyan-600\/10{background-color:#0891b21a}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-emerald-600\/10{background-color:#0596691a}.bg-fuchsia-600{--tw-bg-opacity: 1;background-color:rgb(192 38 211 / var(--tw-bg-opacity, 1))}.bg-fuchsia-600\/10{background-color:#c026d31a}.bg-lime-600{--tw-bg-opacity: 1;background-color:rgb(101 163 13 / var(--tw-bg-opacity, 1))}.bg-lime-600\/10{background-color:#65a30d1a}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground{background-color:hsl(var(--muted-foreground))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-pillar-graph{--tw-bg-opacity: 1;background-color:hsl(var(--pillar-graph) / var(--tw-bg-opacity, 1))}.bg-pillar-graph\/15{background-color:hsl(var(--pillar-graph) / .15)}.bg-pillar-memory\/15{background-color:hsl(var(--pillar-memory) / .15)}.bg-pillar-review\/15{background-color:hsl(var(--pillar-review) / .15)}.bg-pillar-tokens\/15{background-color:hsl(var(--pillar-tokens) / .15)}.bg-pink-600{--tw-bg-opacity: 1;background-color:rgb(219 39 119 / var(--tw-bg-opacity, 1))}.bg-pink-600\/10{background-color:#db27771a}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/25{background-color:hsl(var(--primary) / .25)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-600\/10{background-color:#dc26261a}.bg-secondary{background-color:hsl(var(--secondary))}.bg-success{background-color:hsl(var(--success))}.bg-success\/10{background-color:hsl(var(--success) / .1)}.bg-success\/15{background-color:hsl(var(--success) / .15)}.bg-success\/20{background-color:hsl(var(--success) / .2)}.bg-success\/5{background-color:hsl(var(--success) / .05)}.bg-transparent{background-color:transparent}.bg-violet-600{--tw-bg-opacity: 1;background-color:rgb(124 58 237 / var(--tw-bg-opacity, 1))}.bg-violet-600\/10{background-color:#7c3aed1a}.bg-warning{background-color:hsl(var(--warning))}.bg-warning\/10{background-color:hsl(var(--warning) / .1)}.bg-warning\/15{background-color:hsl(var(--warning) / .15)}.bg-warning\/20{background-color:hsl(var(--warning) / .2)}.bg-warning\/5{background-color:hsl(var(--warning) / .05)}.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: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-foreground\/\[0\.06\]{--tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--foreground) / .06) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.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}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.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-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.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-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-9{padding-right:2.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.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}.font-mono{font-family:JetBrains Mono,monospace}.font-sans{font-family:Inter,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.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-relaxed{line-height:1.625}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-brand{color:hsl(var(--brand))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-fuchsia-600{--tw-text-opacity: 1;color:rgb(192 38 211 / var(--tw-text-opacity, 1))}.text-lime-600{--tw-text-opacity: 1;color:rgb(101 163 13 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-pillar-graph{--tw-text-opacity: 1;color:hsl(var(--pillar-graph) / var(--tw-text-opacity, 1))}.text-pillar-memory{--tw-text-opacity: 1;color:hsl(var(--pillar-memory) / var(--tw-text-opacity, 1))}.text-pillar-review{--tw-text-opacity: 1;color:hsl(var(--pillar-review) / var(--tw-text-opacity, 1))}.text-pillar-tokens{--tw-text-opacity: 1;color:hsl(var(--pillar-tokens) / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-success{color:hsl(var(--success))}.text-violet-600{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-warning{color:hsl(var(--warning))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-transparent{text-decoration-color:transparent}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(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)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(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)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur-2xl{--tw-blur: blur(40px);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)}.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)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,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}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:glow:hover{box-shadow:0 0 60px -15px hsl(var(--primary) / .3)}.light .hover\:glow:hover{box-shadow:0 0 60px -15px hsl(var(--primary) / .15)}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.first\:pt-0:first-child{padding-top:0}.last\:border-0:last-child{border-width:0px}.last\:pb-0:last-child{padding-bottom:0}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-background\/60:hover{background-color:hsl(var(--background) / .6)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/60:hover{background-color:hsl(var(--muted) / .6)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-current:hover{text-decoration-color:currentColor}.focus\:border-destructive:focus{border-color:hsl(var(--destructive))}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.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);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--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);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--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)}.focus-visible\:ring-primary\/40:focus-visible{--tw-ring-color: hsl(var(--primary) / .4)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.prose-headings\:font-semibold :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-weight:600}.prose-headings\:text-foreground :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-p\:text-muted-foreground :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-a\:text-primary :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--primary))}.prose-a\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:none}.hover\:prose-a\:underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:underline}.prose-blockquote\:border-border :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){border-color:hsl(var(--border))}.prose-blockquote\:text-muted-foreground :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-strong\:text-foreground :is(:where(strong):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-em\:text-foreground :is(:where(em):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-code\:rounded :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){border-radius:.25rem}.prose-code\:bg-muted\/60 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){background-color:hsl(var(--muted) / .6)}.prose-code\:px-1 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){padding-left:.25rem;padding-right:.25rem}.prose-code\:py-0\.5 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){padding-top:.125rem;padding-bottom:.125rem}.prose-code\:text-foreground :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-code\:before\:content-none :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):before{--tw-content: none;content:var(--tw-content)}.prose-code\:after\:content-none :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):after{--tw-content: none;content:var(--tw-content)}.prose-pre\:border :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){border-width:1px}.prose-pre\:bg-muted\/50 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){background-color:hsl(var(--muted) / .5)}.prose-pre\:text-foreground :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-li\:text-muted-foreground :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-th\:text-foreground :is(:where(th):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-td\:text-muted-foreground :is(:where(td):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-hr\:border-border :is(:where(hr):not(:where([class~=not-prose],[class~=not-prose] *))){border-color:hsl(var(--border))}@media(min-width:640px){.sm\:mr-3{margin-right:.75rem}.sm\:block{display:block}.sm\:table-cell{display:table-cell}.sm\:w-\[32\%\]{width:32%}.sm\:w-\[40\%\]{width:40%}.sm\:w-\[55\%\]{width:55%}.sm\:min-w-\[22rem\]{min-width:22rem}.sm\:min-w-\[26rem\]{min-width:26rem}.sm\:min-w-\[32rem\]{min-width:32rem}.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-\[auto_1fr\]{grid-template-columns:auto 1fr}.sm\:px-4{padding-left:1rem;padding-right:1rem}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.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-\[16rem_1fr\]{grid-template-columns:16rem 1fr}.lg\:grid-cols-\[18rem_1fr\]{grid-template-columns:18rem 1fr}.lg\:grid-cols-\[1fr_20rem\]{grid-template-columns:1fr 20rem}.lg\:items-start{align-items:flex-start}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:pb-6{padding-bottom:1.5rem}.lg\:pt-4{padding-top:1rem}}@media(min-width:1280px){.xl\:inline{display:inline}}@media(min-width:1536px){.\32xl\:px-2\.5{padding-left:.625rem;padding-right:.625rem}}.\[\&\>p\]\:inline>p{display:inline} diff --git a/internal/ui/assets/index.html b/internal/ui/assets/index.html index 981f32d..72e602b 100644 --- a/internal/ui/assets/index.html +++ b/internal/ui/assets/index.html @@ -5,8 +5,8 @@ SourceAnt - - + +
diff --git a/ui/src/api.js b/ui/src/api.js index 5a8e7a2..1755ad0 100644 --- a/ui/src/api.js +++ b/ui/src/api.js @@ -17,6 +17,8 @@ const query = (values) => export const api = { status: () => call('/health'), + architecture: (repository, depth = 1) => call(`/api/architecture?${query({ repository, depth })}`), + compareArchitecture: (baseline) => call('/api/architecture/compare', { method: 'POST', body: JSON.stringify(baseline) }), repositories: () => call('/api/repositories'), addRepository: (path, name) => @@ -38,11 +40,13 @@ export const api = { attention: (repository) => call(`/api/attention?${query({ repository })}`), /* q narrows to what holds it, which the core does rather than the screen. */ - graph: (repository, { includeTests = false, pathPrefix = '', q = '', nodeLimit = 0 } = {}) => + graph: (repository, { includeTests = false, pathPrefix = '', focus = '', depth, q = '', nodeLimit = 0 } = {}) => call(`/api/graph?${query({ repository, include_tests: includeTests, path_prefix: pathPrefix, + focus, + depth, q, node_limit: nodeLimit || '', })}`), diff --git a/ui/src/components/Architecture.vue b/ui/src/components/Architecture.vue new file mode 100644 index 0000000..ded5566 --- /dev/null +++ b/ui/src/components/Architecture.vue @@ -0,0 +1,139 @@ + + + diff --git a/ui/src/pages/Graph.vue b/ui/src/pages/Graph.vue index 5ff081f..48cd16d 100644 --- a/ui/src/pages/Graph.vue +++ b/ui/src/pages/Graph.vue @@ -1,14 +1,17 @@