@lunora/studio 1.0.0-alpha.54 → 1.0.0-alpha.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +16 -6
- package/dist/index.js +7 -7
- package/dist/mount.d.ts +1 -1
- package/dist/mount.js +1 -1
- package/dist/packem_chunks/ApiTab.js +1 -1
- package/dist/packem_chunks/AuditPanel.js +2 -2
- package/dist/packem_chunks/ExportImportPanel.js +2 -2
- package/dist/packem_chunks/FileBrowser.js +2 -2
- package/dist/packem_chunks/FunctionRunner.js +1 -1
- package/dist/packem_chunks/FunctionStatsPanel.js +2 -2
- package/dist/packem_chunks/HealthPanel.js +2 -2
- package/dist/packem_chunks/InsightsPanel.js +2 -2
- package/dist/packem_chunks/LogsPanel.js +7 -18
- package/dist/packem_chunks/MailPanel.js +1 -1
- package/dist/packem_chunks/MetricsPanel.js +391 -6
- package/dist/packem_chunks/MigrationsPanel.js +2 -2
- package/dist/packem_chunks/PitrPanel.js +1 -1
- package/dist/packem_chunks/SchemaViewer.js +2 -2
- package/dist/packem_chunks/SecurityAdvisorPanel.js +2 -2
- package/dist/packem_chunks/SettingsPanel.js +2 -2
- package/dist/packem_chunks/SqlEditorPanel.js +1 -1
- package/dist/packem_chunks/TableEditor.js +1 -1
- package/dist/packem_chunks/agents-panel.js +2 -2
- package/dist/packem_chunks/analytics-panel.js +1 -1
- package/dist/packem_chunks/auth-config-panel.js +1 -1
- package/dist/packem_chunks/auth-sessions-panel.js +1 -1
- package/dist/packem_chunks/containers-panel.js +2 -2
- package/dist/packem_chunks/dashboards-panel.js +2 -2
- package/dist/packem_chunks/fanout-panel.js +2 -2
- package/dist/packem_chunks/flags-panel.js +2 -2
- package/dist/packem_chunks/issues-panel.js +321 -82
- package/dist/packem_chunks/kv-browser.js +3 -3
- package/dist/packem_chunks/log-drains-panel.js +1 -1
- package/dist/packem_chunks/organizations-panel.js +1 -1
- package/dist/packem_chunks/payments-panel.js +2 -2
- package/dist/packem_chunks/permissions-panel.js +2 -2
- package/dist/packem_chunks/queues-panel.js +2 -2
- package/dist/packem_chunks/rls-panel.js +2 -2
- package/dist/packem_chunks/schedule-panel.js +2 -2
- package/dist/packem_chunks/storage-rules-panel.js +2 -2
- package/dist/packem_chunks/subscriptions-panel.js +2 -2
- package/dist/packem_chunks/traces-panel.js +734 -0
- package/dist/packem_chunks/users-panel.js +1 -1
- package/dist/packem_chunks/vector-browser.js +1 -1
- package/dist/packem_chunks/workflows-panel.js +2 -2
- package/dist/packem_shared/{ADMIN_FUNCTIONS-DNeyYtUN.js → ADMIN_FUNCTIONS-C1LXrovV.js} +6 -0
- package/dist/packem_shared/{ApiDocsPanel-_aEZxAMX.js → ApiDocsPanel-cYkYKjK3.js} +1 -1
- package/dist/packem_shared/{DataBrowser-C8hejnub.js → DataBrowser-CowupumK.js} +1 -1
- package/dist/packem_shared/{HomePanel-Ye8PaqQL.js → HomePanel-B12QgvIn.js} +3 -3
- package/dist/packem_shared/{ScheduledJobs-dHMgnJbx.js → ScheduledJobs-Cz5Tr-M6.js} +1 -1
- package/dist/packem_shared/{Studio-BNGjxLVo.js → Studio-DV1PhCIl.js} +2 -2
- package/dist/packem_shared/{StudioApp-K9dn1Q9d.js → StudioApp-BF2rK77z.js} +1 -1
- package/dist/packem_shared/{advisor-view-Cx21PS_T.js → advisor-view-1RaDWED7.js} +1 -1
- package/dist/packem_shared/{app.d-__J6S7he.d.ts → app.d-C-kxb-1T.d.ts} +1 -1
- package/dist/packem_shared/{card-DURq3ElK.js → card-F2vH_aj2.js} +1 -1
- package/dist/packem_shared/{home-panel-D62G8108.js → home-panel-DDo_fi19.js} +2 -2
- package/dist/packem_shared/log-fields-jEH83H2G.js +18 -0
- package/dist/packem_shared/{select-UkNYCT3s.js → select-D9OwHEch.js} +1 -1
- package/dist/packem_shared/{studio-Cd21fp4v.js → studio-CuNuEnSJ.js} +551 -524
- package/dist/standalone/{chunk-2MYDFHDZ.js → chunk-25CDYYNE.js} +1 -1
- package/dist/standalone/{chunk-6CNL7BUU.js → chunk-2DCA6LV7.js} +1 -1
- package/dist/standalone/{chunk-EOE5NDMK.js → chunk-2TJVFKD2.js} +1 -1
- package/dist/standalone/{chunk-3HKJ6FSC.js → chunk-2U3KE6IP.js} +1 -1
- package/dist/standalone/{chunk-JFT5OIL2.js → chunk-2XJ3WRKW.js} +1 -1
- package/dist/standalone/{chunk-6PXHT2QI.js → chunk-3BYY75EO.js} +1 -1
- package/dist/standalone/chunk-3HGNPZBN.js +1 -0
- package/dist/standalone/{chunk-PQKG5GKG.js → chunk-4A7VE2UO.js} +1 -1
- package/dist/standalone/{chunk-ASLE5VQE.js → chunk-5SXQWGTH.js} +1 -1
- package/dist/standalone/{chunk-JZ4X6QMK.js → chunk-6LQ3FXP2.js} +1 -1
- package/dist/standalone/{chunk-ZSUTV374.js → chunk-6RW37KKD.js} +1 -1
- package/dist/standalone/{chunk-SCH473C7.js → chunk-6ZGXWDSY.js} +1 -1
- package/dist/standalone/{chunk-NBLGUSJW.js → chunk-AL5UKM6M.js} +1 -1
- package/dist/standalone/{chunk-NP7AR65U.js → chunk-BZ5BHTVF.js} +1 -1
- package/dist/standalone/{chunk-TYMKCYYT.js → chunk-D54HL2MW.js} +1 -1
- package/dist/standalone/chunk-DBCP55V6.js +1 -0
- package/dist/standalone/chunk-DGWFJ3GW.js +1 -0
- package/dist/standalone/{chunk-LVDKJBWU.js → chunk-DOLG4V3A.js} +1 -1
- package/dist/standalone/{chunk-NWVHLLPB.js → chunk-E5Z2TAAR.js} +1 -1
- package/dist/standalone/{chunk-5AXARNJ2.js → chunk-EGANQQLW.js} +1 -1
- package/dist/standalone/{chunk-WM2MP5ZK.js → chunk-G4GGGHEV.js} +1 -1
- package/dist/standalone/{chunk-GRBWXZE4.js → chunk-HNIDN3RX.js} +1 -1
- package/dist/standalone/chunk-ILGPO3PK.js +3 -0
- package/dist/standalone/{chunk-K53QX72G.js → chunk-JWCCDDLY.js} +1 -1
- package/dist/standalone/{chunk-S5NTGHCG.js → chunk-JZLGLG4T.js} +1 -1
- package/dist/standalone/{chunk-H5X5TIWZ.js → chunk-LJ3KEIPO.js} +1 -1
- package/dist/standalone/{chunk-HFSJCS2N.js → chunk-LJE6PGHD.js} +1 -1
- package/dist/standalone/{chunk-IDAIBUKJ.js → chunk-LYAWJGSH.js} +1 -1
- package/dist/standalone/chunk-MHGJUKCZ.js +1 -0
- package/dist/standalone/chunk-N3V74RBP.js +1 -0
- package/dist/standalone/chunk-N7SVJOHN.js +1 -0
- package/dist/standalone/{chunk-NYK3PFSC.js → chunk-OBFYFJYZ.js} +1 -1
- package/dist/standalone/{chunk-4YHXOOK7.js → chunk-OEIBZ5AI.js} +1 -1
- package/dist/standalone/{chunk-ONCMJKJS.js → chunk-OOLK6C5I.js} +1 -1
- package/dist/standalone/{chunk-777XYTDZ.js → chunk-RCSULEDU.js} +1 -1
- package/dist/standalone/{chunk-RHYLU4OZ.js → chunk-RVVADT2N.js} +1 -1
- package/dist/standalone/{chunk-IDK76JPE.js → chunk-S7BCXJWD.js} +1 -1
- package/dist/standalone/{chunk-HI373BLB.js → chunk-SPACAIAR.js} +1 -1
- package/dist/standalone/{chunk-V7RQA6NY.js → chunk-ULOBAURC.js} +1 -1
- package/dist/standalone/{chunk-EXE42KMM.js → chunk-VC2VDAUO.js} +1 -1
- package/dist/standalone/{chunk-B6DIQBOK.js → chunk-VDOUWYIZ.js} +1 -1
- package/dist/standalone/chunk-VJABWVPW.js +1 -0
- package/dist/standalone/{chunk-SXATIQAK.js → chunk-WCLFE2ZB.js} +1 -1
- package/dist/standalone/{chunk-WCB3KG7C.js → chunk-WQC5IIF7.js} +1 -1
- package/dist/standalone/{chunk-WAVZATY2.js → chunk-XFINDIAB.js} +1 -1
- package/dist/standalone/{chunk-MN4QBJWN.js → chunk-XTOCLVRS.js} +1 -1
- package/dist/standalone/{chunk-BR7WLG6X.js → chunk-XZWFP2GI.js} +1 -1
- package/dist/standalone/{chunk-R2SUQVIO.js → chunk-YS7NUMAN.js} +1 -1
- package/dist/standalone/studio.js +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
- package/dist/standalone/chunk-DWDILV2E.js +0 -1
- package/dist/standalone/chunk-G7ZBM54M.js +0 -1
- package/dist/standalone/chunk-JGCZJNMT.js +0 -1
- package/dist/standalone/chunk-NEQV5EQC.js +0 -3
- package/dist/standalone/chunk-REQTQOBK.js +0 -1
- package/dist/standalone/chunk-W3XY7KL4.js +0 -1
- /package/dist/standalone/{chunk-SEU5V7I6.js → chunk-Y572GMZE.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as V}from"./chunk-J6J54MBP.js";import{a as L}from"./chunk-2K47A3P6.js";import{a as W}from"./chunk-D73WYMRU.js";import"./chunk-XNJNSCLM.js";import{b as _}from"./chunk-4F72YCTU.js";import{a as O,b as Q,c as U,d as K,e as R,f as D}from"./chunk-GTM65MVX.js";import{a as E}from"./chunk-
|
|
1
|
+
import{a as V}from"./chunk-J6J54MBP.js";import{a as L}from"./chunk-2K47A3P6.js";import{a as W}from"./chunk-D73WYMRU.js";import"./chunk-XNJNSCLM.js";import{b as _}from"./chunk-4F72YCTU.js";import{a as O,b as Q,c as U,d as K,e as R,f as D}from"./chunk-GTM65MVX.js";import{a as E}from"./chunk-Y572GMZE.js";import{a as j}from"./chunk-FDWXYXOM.js";import"./chunk-4PC7IXNY.js";import"./chunk-2MLA6WFH.js";import"./chunk-VL23Y44O.js";import"./chunk-HV7G6DFP.js";import"./chunk-O3NAGRTR.js";import{b as w}from"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import{a as H}from"./chunk-MHGJUKCZ.js";import"./chunk-S2G7OH5T.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{a as B}from"./chunk-TAD43CG5.js";import{d as A}from"./chunk-5XO36X4C.js";import"./chunk-ZXLEXF4X.js";import{a as C,e as F,f as J,g as X,h as Y}from"./chunk-RRCPZMC2.js";var P=F(X(),1),G=F(J(),1);var t=F(Y(),1);var q=C(r=>`${r.toString()} ms`,"formatMs"),Z=C(r=>r.totalConnections===0&&r.shapePoke.passes===0&&r.whisper.passes===0,"isFanoutIdle"),$=C(r=>{let e=(0,P.c)(8),{label:o,testId:s,value:i}=r,l;e[0]!==o?(l=(0,t.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:o},void 0,!1),e[0]=o,e[1]=l):l=e[1];let d;e[2]!==s||e[3]!==i?(d=(0,t.jsxDEV)("span",{className:"truncate text-2xl font-semibold tabular-nums text-foreground","data-testid":s,children:i},void 0,!1),e[2]=s,e[3]=i,e[4]=d):d=e[4];let v;return e[5]!==l||e[6]!==d?(v=(0,t.jsxDEV)(E,{className:"gap-0 py-0",children:(0,t.jsxDEV)("div",{className:"flex flex-col gap-2.5 p-4",children:[l,d]},void 0,!0)},void 0,!1),e[5]=l,e[6]=d,e[7]=v):v=e[7],v},"StatCard"),z=C(r=>{let e=(0,P.c)(48),{counters:o,includeTiming:s,prefix:i,t:l,title:d}=r,v=`${i}-section`,h;e[0]!==d?(h=(0,t.jsxDEV)("h3",{className:"text-sm font-medium text-foreground",children:d},void 0,!1),e[0]=d,e[1]=h):h=e[1];let k=`${i}-stats`,a;e[2]!==l?(a=l("Passes"),e[2]=l,e[3]=a):a=e[3];let n=`${i}-passes`,g;e[4]!==o.passes||e[5]!==a||e[6]!==n?(g=(0,t.jsxDEV)($,{label:a,testId:n,value:o.passes},void 0,!1),e[4]=o.passes,e[5]=a,e[6]=n,e[7]=g):g=e[7];let N;e[8]!==l?(N=l("Sockets iterated"),e[8]=l,e[9]=N):N=e[9];let I=`${i}-iterated`,c;e[10]!==o.socketsIterated||e[11]!==N||e[12]!==I?(c=(0,t.jsxDEV)($,{label:N,testId:I,value:o.socketsIterated},void 0,!1),e[10]=o.socketsIterated,e[11]=N,e[12]=I,e[13]=c):c=e[13];let f;e[14]!==l?(f=l("Delivered"),e[14]=l,e[15]=f):f=e[15];let y=`${i}-delivered`,u;e[16]!==o.socketsDelivered||e[17]!==f||e[18]!==y?(u=(0,t.jsxDEV)($,{label:f,testId:y,value:o.socketsDelivered},void 0,!1),e[16]=o.socketsDelivered,e[17]=f,e[18]=y,e[19]=u):u=e[19];let m;e[20]!==l?(m=l("Peak width"),e[20]=l,e[21]=m):m=e[21];let b=`${i}-peak`,p;e[22]!==o.peakSocketsIterated||e[23]!==m||e[24]!==b?(p=(0,t.jsxDEV)($,{label:m,testId:b,value:o.peakSocketsIterated},void 0,!1),e[22]=o.peakSocketsIterated,e[23]=m,e[24]=b,e[25]=p):p=e[25];let x;e[26]!==o.totalMs||e[27]!==s||e[28]!==i||e[29]!==l?(x=s&&(0,t.jsxDEV)($,{label:l("Total time"),testId:`${i}-total-ms`,value:q(o.totalMs)},void 0,!1),e[26]=o.totalMs,e[27]=s,e[28]=i,e[29]=l,e[30]=x):x=e[30];let S;e[31]!==o.maxMs||e[32]!==s||e[33]!==i||e[34]!==l?(S=s&&(0,t.jsxDEV)($,{label:l("Max time"),testId:`${i}-max-ms`,value:q(o.maxMs)},void 0,!1),e[31]=o.maxMs,e[32]=s,e[33]=i,e[34]=l,e[35]=S):S=e[35];let T;e[36]!==u||e[37]!==p||e[38]!==x||e[39]!==S||e[40]!==k||e[41]!==g||e[42]!==c?(T=(0,t.jsxDEV)("dl",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3","data-testid":k,children:[g,c,u,p,x,S]},void 0,!0),e[36]=u,e[37]=p,e[38]=x,e[39]=S,e[40]=k,e[41]=g,e[42]=c,e[43]=T):T=e[43];let M;return e[44]!==v||e[45]!==T||e[46]!==h?(M=(0,t.jsxDEV)("section",{className:"flex flex-col gap-2","data-testid":v,children:[h,T]},void 0,!0),e[44]=v,e[45]=T,e[46]=h,e[47]=M):M=e[47],M},"PathCounters"),ue=C(r=>{let e=(0,P.c)(32),{initialShardKey:o}=r,s=A(),[i,l]=(0,G.useState)(o??""),d;e[0]!==i?(d=i.trim(),e[0]=i,e[1]=d):d=e[1];let v=L(d,400),h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h={},e[2]=h):h=e[2];let k;e[3]!==v?(k={keepPreviousData:!0,shardKey:v},e[3]=v,e[4]=k):k=e[4];let{data:a,error:n,errorSource:g,refetch:N}=_(H.getFanoutMetrics,h,k);V(N,!0);let I;e[5]!==a?(I=a!==void 0&&Z(a),e[5]=a,e[6]=I):I=e[6];let c=I,f;e[7]!==i?(f=(0,t.jsxDEV)(j,{onChange:l,testId:"fanout-shard-input",value:i},void 0,!1),e[7]=i,e[8]=f):f=e[8];let y;e[9]!==a||e[10]!==s?(y=a!==void 0&&(0,t.jsxDEV)("div",{className:"ml-auto flex items-center gap-2 text-sm text-muted-foreground","data-testid":"fanout-count",children:[a.promoted&&(0,t.jsxDEV)(w,{"data-testid":"fanout-promoted",variant:a.relayCount>=a.maxRelays?"destructive":"default",children:a.relayCount>=a.maxRelays?s("auto-scaled: {relayCount}/{maxRelays} relays (at ceiling)",{maxRelays:a.maxRelays,relayCount:a.relayCount}):s("auto-scaled: {relayCount}/{maxRelays} relays",{maxRelays:a.maxRelays,relayCount:a.relayCount})},void 0,!1),(0,t.jsxDEV)(w,{variant:"secondary",children:s("{count} connections",{count:a.totalConnections})},void 0,!1),(0,t.jsxDEV)(w,{variant:"secondary",children:s("peak {count} subscribers",{count:a.peakSubscribers})},void 0,!1)]},void 0,!0),e[9]=a,e[10]=s,e[11]=y):y=e[11];let u;e[12]!==f||e[13]!==y?(u=(0,t.jsxDEV)("div",{className:"flex flex-wrap items-center gap-2",children:[f,y]},void 0,!0),e[12]=f,e[13]=y,e[14]=u):u=e[14];let m;e[15]!==n||e[16]!==g?(m=n!==null&&(0,t.jsxDEV)(W,{error:g,testId:"fanout-error"},void 0,!1),e[15]=n,e[16]=g,e[17]=m):m=e[17];let b;e[18]!==n||e[19]!==c||e[20]!==s?(b=n===null&&c&&(0,t.jsxDEV)(B,{description:s("Realtime fan-out cost and per-topic subscriber counts for this shard."),icon:(0,t.jsxDEV)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsxDEV)("path",{d:"M4 12h4l3 7 4-14 3 7h2"},void 0,!1)},void 0,!1),testId:"fanout-empty",title:s("No fan-out activity yet.")},void 0,!1),e[18]=n,e[19]=c,e[20]=s,e[21]=b):b=e[21];let p;e[22]!==n||e[23]!==c||e[24]!==a||e[25]!==s?(p=n===null&&a!==void 0&&!c&&(0,t.jsxDEV)(t.Fragment,{children:[a.topics.length>0&&(0,t.jsxDEV)("section",{className:"flex flex-col gap-2","data-testid":"fanout-topics-section",children:[(0,t.jsxDEV)("h3",{className:"text-sm font-medium text-foreground",children:s("Hot topics")},void 0,!1),(0,t.jsxDEV)(E,{className:"overflow-hidden py-0",children:(0,t.jsxDEV)(O,{"data-testid":"fanout-topics-table",children:[(0,t.jsxDEV)(Q,{children:(0,t.jsxDEV)(K,{children:[(0,t.jsxDEV)(R,{children:s("Topic")},void 0,!1),(0,t.jsxDEV)(R,{children:s("Kind")},void 0,!1),(0,t.jsxDEV)(R,{className:"text-right",children:s("Subscribers")},void 0,!1)]},void 0,!0)},void 0,!1),(0,t.jsxDEV)(U,{children:a.topics.map(ee)},void 0,!1)]},void 0,!0)},void 0,!1)]},void 0,!0),(0,t.jsxDEV)("section",{className:"flex flex-col gap-3","data-testid":"fanout-cost",children:[(0,t.jsxDEV)("h2",{className:"text-sm font-medium text-muted-foreground",children:s("Fan-out cost since this instance woke")},void 0,!1),(0,t.jsxDEV)(z,{counters:a.shapePoke,includeTiming:!0,prefix:"fanout-poke",t:s,title:s("Shape pokes")},void 0,!1),(0,t.jsxDEV)(z,{counters:a.whisper,includeTiming:!1,prefix:"fanout-whisper",t:s,title:s("Whisper broadcasts")},void 0,!1)]},void 0,!0)]},void 0,!0),e[22]=n,e[23]=c,e[24]=a,e[25]=s,e[26]=p):p=e[26];let x;return e[27]!==p||e[28]!==u||e[29]!==m||e[30]!==b?(x=(0,t.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"fanout-panel",children:[u,m,b,p]},void 0,!0),e[27]=p,e[28]=u,e[29]=m,e[30]=b,e[31]=x):x=e[31],x},"FanoutPanel");function ee(r){return(0,t.jsxDEV)(K,{"data-testid":"fanout-topic-row",children:[(0,t.jsxDEV)(D,{className:"font-mono text-xs",children:r.topic},void 0,!1),(0,t.jsxDEV)(D,{children:(0,t.jsxDEV)(w,{variant:"outline",children:r.kind},void 0,!1)},void 0,!1),(0,t.jsxDEV)(D,{className:"text-right font-medium tabular-nums",children:r.subscribers},void 0,!1)]},`${r.kind}:${r.topic}`,!0)}C(ee,"_temp");export{ue as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as f}from"./chunk-
|
|
1
|
+
import{b as f}from"./chunk-HNIDN3RX.js";import"./chunk-D73WYMRU.js";import"./chunk-XNJNSCLM.js";import{b as p}from"./chunk-4F72YCTU.js";import"./chunk-GTM65MVX.js";import"./chunk-Y572GMZE.js";import{a as R}from"./chunk-MHGJUKCZ.js";import"./chunk-S2G7OH5T.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{d as h}from"./chunk-5XO36X4C.js";import"./chunk-ZXLEXF4X.js";import{a as i,e as m,g as S,h as A}from"./chunk-RRCPZMC2.js";var g=m(S(),1);var k=m(A(),1);var _=i((e,s)=>({"admin-token-weak":e("Weak admin token"),"auth-secret-weak":e("Weak auth secret"),"cookies-insecure":e("Session cookies are not Secure"),"cors-wildcard-credentials":e("Wildcard CORS with credentials"),"csrf-disabled":e("CSRF/origin guard is off"),"dev-args-unredacted":e("Request log keeps un-redacted args"),"security-headers-disabled":e("Security headers are off"),"ws-gate-open":e("Live admin subscriptions are ungated")})[s.kind],"findingTitle"),E=i(e=>Array.isArray(e.findings)?e.findings:[],"toFindings"),w=i(e=>({"admin-token-weak":"LUNORA_ADMIN_TOKEN","auth-secret-weak":"AUTH_SECRET","cookies-insecure":"BETTER_AUTH_URL","cors-wildcard-credentials":"LUNORA_ALLOWED_ORIGINS","csrf-disabled":"LUNORA_SECURITY_CSRF","dev-args-unredacted":"request log","security-headers-disabled":"LUNORA_SECURITY_HEADERS","ws-gate-open":"LUNORA_WS_BEARER"})[e.kind],"findingEntity"),T=i((e,s)=>({"admin-token-weak":e("Your admin token is {length} characters \u2014 use at least {min} for a brute-force-resistant secret.",{length:s.detail?.length,min:s.detail?.min}),"auth-secret-weak":e("Your auth secret is {length} characters \u2014 use at least {min} (e.g. `openssl rand -hex 32`) to sign sessions safely.",{length:s.detail?.length,min:s.detail?.min}),"cookies-insecure":e("BETTER_AUTH_URL is a plaintext http:// origin, so session cookies cannot be Secure and ride in cleartext. Serve auth over https:// in production."),"cors-wildcard-credentials":e("LUNORA_ALLOWED_ORIGINS includes a wildcard while credentials are allowed \u2014 browsers reject this and it defeats the allowlist. Name explicit origins instead of *."),"csrf-disabled":e("LUNORA_SECURITY_CSRF is off, so cross-origin state-changing cookie requests are not blocked. Re-enable it in production to keep mutations un-forgeable."),"dev-args-unredacted":e("This worker reports a development environment, so the request log stores raw args and identity. Confirm it isn't a mislabeled production deploy."),"security-headers-disabled":e("LUNORA_SECURITY_HEADERS is off, so HSTS, CSP, nosniff, and frame-options are not applied. Re-enable the baseline headers in production."),"ws-gate-open":e("LUNORA_WS_BEARER is unset, so the WebSocket upgrade gate is open: live admin subscriptions need no credential. Set it to gate them like the HTTP admin RPCs.")})[s.kind],"findingDetail"),v=i(()=>{let e=(0,g.c)(8),s=h(),r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={},e[0]=r):r=e[0];let{data:a,error:d,errorSource:c}=p(R.getSecurityAudit,r),o;if(e[1]!==a||e[2]!==s){let u=a===void 0?null:E(a);o=u===null?null:u.map(t=>({description:T(s,t),entity:w(t),issueType:_(s,t),key:t.kind,level:t.level})),e[1]=a,e[2]=s,e[3]=o}else o=e[3];let l=o,n;return e[4]!==d||e[5]!==c||e[6]!==l?(n=(0,k.jsxDEV)(f,{error:d,errorSource:c,rows:l,testId:"lunora-security-advisor"},void 0,!1),e[4]=d,e[5]=c,e[6]=l,e[7]=n):n=e[7],n},"SecurityAdvisorPanel");export{v as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as R}from"./chunk-IYHPYY4A.js";import{a as w,e as N}from"./chunk-
|
|
1
|
+
import{a as R}from"./chunk-IYHPYY4A.js";import{a as w,e as N}from"./chunk-Y572GMZE.js";import{R as C}from"./chunk-VL23Y44O.js";import"./chunk-HV7G6DFP.js";import{c as k}from"./chunk-UK64ZSUW.js";import"./chunk-O3NAGRTR.js";import"./chunk-CKSHCYGC.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{d as b,h as S,l as T,n as L}from"./chunk-5XO36X4C.js";import{a as f,e as y,f as W,g as j,h as D}from"./chunk-RRCPZMC2.js";var O=y(j(),1),v=y(W(),1);var t=y(D(),1);var I=f(s=>{let e=(0,O.c)(23),{destination:o}=s,h=b(),m;e[0]!==o.snippet?(m=f(()=>{L(o.snippet)},"t1"),e[0]=o.snippet,e[1]=m):m=e[1];let u=m,r;e[2]!==o.title?(r=(0,t.jsxDEV)("h4",{className:"text-sm font-semibold",children:o.title},void 0,!1),e[2]=o.title,e[3]=r):r=e[3];let a;e[4]!==o.description?(a=(0,t.jsxDEV)("p",{className:"text-sm text-muted-foreground",children:o.description},void 0,!1),e[4]=o.description,e[5]=a):a=e[5];let l;e[6]!==r||e[7]!==a?(l=(0,t.jsxDEV)("div",{children:[r,a]},void 0,!0),e[6]=r,e[7]=a,e[8]=l):l=e[8];let g=`drain-copy-${o.id}`,d;e[9]!==h?(d=h("Copy"),e[9]=h,e[10]=d):d=e[10];let i;e[11]!==u||e[12]!==g||e[13]!==d?(i=(0,t.jsxDEV)(k,{"data-testid":g,onClick:u,size:"sm",variant:"outline",children:d},void 0,!1),e[11]=u,e[12]=g,e[13]=d,e[14]=i):i=e[14];let n;e[15]!==l||e[16]!==i?(n=(0,t.jsxDEV)("div",{className:"flex items-start justify-between gap-3",children:[l,i]},void 0,!0),e[15]=l,e[16]=i,e[17]=n):n=e[17];let c;e[18]!==o.snippet?(c=(0,t.jsxDEV)("pre",{className:"mt-2 overflow-x-auto rounded bg-muted p-2 font-mono text-xs",children:o.snippet},void 0,!1),e[18]=o.snippet,e[19]=c):c=e[19];let p;return e[20]!==n||e[21]!==c?(p=(0,t.jsxDEV)(w,{className:"py-0","data-testid":"drain-card",children:(0,t.jsxDEV)(N,{className:"p-3",children:[n,c]},void 0,!0)},void 0,!1),e[20]=n,e[21]=c,e[22]=p):p=e[22],p},"DestinationRow"),F=f(()=>{let s=b(),e=[{description:s("Stream every request log to R2, a SIEM, or a third-party log service."),id:"logpush",snippet:["{",' "logpush": true',"}"].join(`
|
|
2
2
|
`),title:s("Logpush")},{description:s("Send logs programmatically to a Worker for custom capture and forwarding."),id:"tail-worker",snippet:["{",' "tail_consumers": [{ "service": "my-log-forwarder" }]',"}"].join(`
|
|
3
3
|
`),title:s("Tail Workers")},{description:s("Retain and query recent request logs directly in Cloudflare's dashboard."),id:"workers-logs",snippet:["{",' "observability": { "enabled": true }',"}"].join(`
|
|
4
4
|
`),title:s("Workers Logs")}],[o,h]=(0,v.useState)(""),[m,u]=(0,v.useState)(!1),[r,a]=(0,v.useState)(null),l=f(async()=>{let i=o.trim();if(i==="")return;let n="fetch"in globalThis?globalThis.fetch:void 0;if(n===void 0){a({kind:"error",message:s("fetch is unavailable in this environment.")});return}let c={durationMs:12,function:"messages:list",outcome:"ok",shard:"root",source:"lunora",tablesRead:["messages"],tablesWritten:[],ts:new Date().toISOString(),type:"request"};u(!0),a(null);let p=performance.now();try{let x=await n(i,{body:JSON.stringify(c),headers:{"Content-Type":"application/json"},method:"POST"});a({kind:"success",latencyMs:Math.round(performance.now()-p),status:x.status})}catch(x){a({kind:"error",message:S(x)})}finally{u(!1)}},"sendTest"),g=f(()=>{T(l())},"onSendTest"),d=f(i=>{h(i.target.value)},"onWebhookUrlChange");return(0,t.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"log-drains",children:[(0,t.jsxDEV)("div",{className:"flex flex-wrap items-center gap-3",children:(0,t.jsxDEV)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"drain-cf-link",href:R,rel:"noreferrer",target:"_blank",children:s("Open in Cloudflare")},void 0,!1)},void 0,!1),(0,t.jsxDEV)("p",{className:"text-sm text-muted-foreground","data-testid":"drain-readonly-note",children:s("Lunora does not ship logs itself \u2014 forwarding is handled by Cloudflare. Configure a destination below, then test your collector.")},void 0,!1),(0,t.jsxDEV)("section",{className:"flex flex-col gap-3","data-testid":"drain-destinations",children:[(0,t.jsxDEV)("h3",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:s("Cloudflare destinations")},void 0,!1),e.map(i=>(0,t.jsxDEV)(I,{destination:i},i.id,!1))]},void 0,!0),(0,t.jsxDEV)(w,{className:"py-0",children:(0,t.jsxDEV)(N,{className:"p-3",children:(0,t.jsxDEV)("section",{"data-testid":"drain-webhook",children:[(0,t.jsxDEV)("h3",{className:"mb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:s("Webhook test")},void 0,!1),(0,t.jsxDEV)("p",{className:"mb-2 text-sm text-muted-foreground",children:s("POST a sample Lunora request-log envelope to your collector to confirm it is reachable.")},void 0,!1),(0,t.jsxDEV)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsxDEV)(C,{className:"min-w-[20rem] flex-1","data-testid":"drain-webhook-url",onChange:d,placeholder:s("https://example.com/logs"),type:"url",value:o},void 0,!1),(0,t.jsxDEV)(k,{"data-testid":"drain-webhook-test",disabled:m||o.trim()==="",onClick:g,children:s(m?"Sending\u2026":"Send test event")},void 0,!1)]},void 0,!0),r!==null&&(0,t.jsxDEV)("p",{className:r.kind==="success"?"mt-2 text-sm text-muted-foreground":"mt-2 text-sm text-destructive","data-testid":"drain-webhook-result",role:r.kind==="error"?"alert":void 0,children:r.kind==="success"?s("Delivered \u2014 status {status} in {latency}ms",{latency:r.latencyMs,status:r.status}):s("Failed: {message}",{message:r.message})},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1)]},void 0,!0)},"LogDrainsPanel");export{F as LogDrainsPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as A}from"./chunk-4F72YCTU.js";import{a as y,e as I}from"./chunk-
|
|
1
|
+
import{a as A}from"./chunk-4F72YCTU.js";import{a as y,e as I}from"./chunk-Y572GMZE.js";import{b as m}from"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import{f as k}from"./chunk-S2G7OH5T.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{d as C}from"./chunk-5XO36X4C.js";import"./chunk-ZXLEXF4X.js";import{a as u,e as w,g as S,h as P}from"./chunk-RRCPZMC2.js";var N=w(S(),1);var a=w(P(),1);var z=[{key:"accounts",label:"Accounts"},{key:"admin",label:"Admin"},{key:"organization",label:"Organizations"},{key:"passkey",label:"Passkeys"},{key:"twoFactor",label:"Two-factor"}],b=u(e=>{if(e===void 0)return"\u2014";let l=[[86400,"d"],[3600,"h"],[60,"m"]];for(let[t,o]of l)if(e>=t&&e%t===0)return`${String(e/t)}${o}`;return`${String(e)}s`},"formatDuration"),h=u(e=>{let l=(0,N.c)(8),{children:t,heading:o,testId:r}=e,i;l[0]!==o?(i=(0,a.jsxDEV)("header",{className:"border-b border-border px-4 py-3",children:(0,a.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:o},void 0,!1)},void 0,!1),l[0]=o,l[1]=i):i=l[1];let s;l[2]!==t?(s=(0,a.jsxDEV)(I,{className:"p-3",children:t},void 0,!1),l[2]=t,l[3]=s):s=l[3];let c;return l[4]!==i||l[5]!==s||l[6]!==r?(c=(0,a.jsxDEV)(y,{className:"gap-0 py-0","data-testid":r,children:[i,s]},void 0,!0),l[4]=i,l[5]=s,l[6]=r,l[7]=c):c=l[7],c},"ConfigCard"),d=u(e=>{let l=(0,N.c)(7),{label:t,value:o}=e,r;l[0]!==t?(r=(0,a.jsxDEV)("span",{className:"text-sm",children:t},void 0,!1),l[0]=t,l[1]=r):r=l[1];let i;l[2]!==o?(i=(0,a.jsxDEV)("span",{className:"text-sm text-muted-foreground tabular-nums",children:o},void 0,!1),l[2]=o,l[3]=i):i=l[3];let s;return l[4]!==r||l[5]!==i?(s=(0,a.jsxDEV)("div",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs",children:[r,i]},void 0,!0),l[4]=r,l[5]=i,l[6]=s):s=l[6],s},"KeyValue"),O=u(()=>{let e=(0,N.c)(20),l=k(),t=C(),o;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=["lunora-auth-config"],e[0]=o):o=e[0];let r;e[1]!==l?(r=u(()=>l.getAuthConfig(),"t1"),e[1]=l,e[2]=r):r=e[2];let{data:i,error:s}=A(o,r),c;e[3]!==t?(c=u(n=>(0,a.jsxDEV)(m,{variant:n?"success":"outline",children:t(n?"Enabled":"Disabled")},void 0,!1),"t2"),e[3]=t,e[4]=c):c=e[4];let f=c,g;e[5]!==s?(g=s!==null&&(0,a.jsxDEV)("p",{className:"px-4 py-8 text-center text-sm text-destructive","data-testid":"auth-config-error",role:"alert",children:s},void 0,!1),e[5]=s,e[6]=g):g=e[6];let p;e[7]!==i||e[8]!==s||e[9]!==t?(p=s===null&&i===void 0&&(0,a.jsxDEV)("p",{className:"px-4 py-8 text-center text-sm text-muted-foreground","data-testid":"auth-config-loading",children:t("Loading auth configuration\u2026")},void 0,!1),e[7]=i,e[8]=s,e[9]=t,e[10]=p):p=e[10];let v;e[11]!==i||e[12]!==s||e[13]!==f||e[14]!==t?(v=s===null&&i!==void 0&&(0,a.jsxDEV)(a.Fragment,{children:[(0,a.jsxDEV)(h,{heading:t("Enabled capabilities"),testId:"auth-config-capabilities",children:(0,a.jsxDEV)("ul",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:z.map(n=>{let $=i.capabilities[n.key];return(0,a.jsxDEV)("li",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs","data-testid":`auth-config-cap-${n.key}`,children:[(0,a.jsxDEV)("span",{className:"text-sm",children:t(n.label)},void 0,!1),f($)]},n.key,!0)})},void 0,!1)},void 0,!1),(0,a.jsxDEV)(h,{heading:t("Plugins"),testId:"auth-config-plugins",children:i.plugins.length===0?(0,a.jsxDEV)("p",{className:"text-sm text-muted-foreground",children:t("No plugins enabled.")},void 0,!1):(0,a.jsxDEV)("div",{className:"flex flex-wrap gap-2",children:i.plugins.map(L)},void 0,!1)},void 0,!1),(0,a.jsxDEV)(h,{heading:t("Sign-in methods"),testId:"auth-config-signin",children:(0,a.jsxDEV)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxDEV)(d,{label:t("Email & password"),value:f(i.emailAndPassword)},void 0,!1),(0,a.jsxDEV)(d,{label:t("Social providers"),value:i.socialProviders.length===0?t("None"):(0,a.jsxDEV)("span",{className:"flex flex-wrap justify-end gap-1",children:i.socialProviders.map(j)},void 0,!1)},void 0,!1)]},void 0,!0)},void 0,!1),i.organization.enabled&&(0,a.jsxDEV)(h,{heading:t("Organizations"),testId:"auth-config-org",children:(0,a.jsxDEV)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxDEV)(d,{label:t("Teams"),value:f(i.organization.teams)},void 0,!1),(0,a.jsxDEV)(d,{label:t("Custom roles"),value:f(i.organization.roles)},void 0,!1)]},void 0,!0)},void 0,!1),(0,a.jsxDEV)(h,{heading:t("Session policy"),testId:"auth-config-session",children:(0,a.jsxDEV)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxDEV)(d,{label:t("Expires in"),value:b(i.session.expiresIn)},void 0,!1),(0,a.jsxDEV)(d,{label:t("Refresh after"),value:b(i.session.updateAge)},void 0,!1),(0,a.jsxDEV)(d,{label:t("Fresh window"),value:b(i.session.freshAge)},void 0,!1),(0,a.jsxDEV)(d,{label:t("Cookie cache"),value:f(i.session.cookieCache===!0)},void 0,!1)]},void 0,!0)},void 0,!1),(0,a.jsxDEV)(h,{heading:t("Rate limit"),testId:"auth-config-ratelimit",children:(0,a.jsxDEV)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxDEV)(d,{label:t("Status"),value:f(i.rateLimit.enabled)},void 0,!1),i.rateLimit.enabled&&(0,a.jsxDEV)(a.Fragment,{children:[(0,a.jsxDEV)(d,{label:t("Max requests"),value:i.rateLimit.max??"\u2014"},void 0,!1),(0,a.jsxDEV)(d,{label:t("Window"),value:b(i.rateLimit.window)},void 0,!1)]},void 0,!0)]},void 0,!0)},void 0,!1),i.userFields.length>0&&(0,a.jsxDEV)(h,{heading:t("Plugin user fields"),testId:"auth-config-user-fields",children:(0,a.jsxDEV)("ul",{className:"flex flex-col gap-2",children:i.userFields.map(n=>(0,a.jsxDEV)("li",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs","data-testid":`auth-config-user-field-${n.name}`,children:[(0,a.jsxDEV)("span",{className:"flex flex-col",children:[(0,a.jsxDEV)("span",{className:"font-mono text-xs",children:n.name},void 0,!1),n.plugin!==void 0&&(0,a.jsxDEV)("span",{className:"text-[11px] text-muted-foreground",children:n.plugin},void 0,!1)]},void 0,!0),(0,a.jsxDEV)("span",{className:"flex items-center gap-1",children:[(0,a.jsxDEV)(m,{variant:"outline",children:n.type},void 0,!1),n.required&&(0,a.jsxDEV)(m,{variant:"secondary",children:t("required")},void 0,!1),n.unique&&(0,a.jsxDEV)(m,{variant:"secondary",children:t("unique")},void 0,!1)]},void 0,!0)]},n.name,!0))},void 0,!1)},void 0,!1),(0,a.jsxDEV)(y,{className:"gap-0 py-0",children:(0,a.jsxDEV)("p",{className:"px-4 py-3 text-xs text-muted-foreground","data-testid":"auth-config-note",children:t("OAuth providers, email templates, and rate limits are configured at deploy time in the better-auth setup and aren't editable here. See the Mail tab for email output.")},void 0,!1)},void 0,!1)]},void 0,!0),e[11]=i,e[12]=s,e[13]=f,e[14]=t,e[15]=v):v=e[15];let x;return e[16]!==g||e[17]!==p||e[18]!==v?(x=(0,a.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"auth-config",children:[g,p,v]},void 0,!0),e[16]=g,e[17]=p,e[18]=v,e[19]=x):x=e[19],x},"AuthConfigPanel");function L(e){return(0,a.jsxDEV)(m,{"data-testid":`auth-config-plugin-${e}`,variant:"outline",children:e},e,!1)}u(L,"_temp");function j(e){return(0,a.jsxDEV)(m,{"data-testid":`auth-config-provider-${e}`,variant:"outline",children:e},e,!1)}u(j,"_temp2");export{O as AuthConfigPanel};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as pS,b as rp,c as bS,d as hp,e as ES,f as TS,k as AS}from"./chunk-NEQV5EQC.js";import"./chunk-ZPUO7FNI.js";import"./chunk-WVTPZ6CM.js";import"./chunk-SHERR7ZP.js";import"./chunk-5OIBXYZM.js";import"./chunk-L7SK4ZZD.js";import"./chunk-ZIGWVHCS.js";import"./chunk-7TJJXVSE.js";import"./chunk-OXHHSUXO.js";import{a as SS}from"./chunk-2K47A3P6.js";import"./chunk-KEGAWN6Y.js";import"./chunk-4F72YCTU.js";import"./chunk-SEU5V7I6.js";import"./chunk-KZ6INM5M.js";import"./chunk-4QHKBC77.js";import{a as dp}from"./chunk-2MLA6WFH.js";import{R as yS}from"./chunk-VL23Y44O.js";import{a as ET}from"./chunk-HV7G6DFP.js";import{c as gS}from"./chunk-UK64ZSUW.js";import"./chunk-O3NAGRTR.js";import"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import"./chunk-G7ZBM54M.js";import{a as rS,e as hS}from"./chunk-S2G7OH5T.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import"./chunk-TAD43CG5.js";import{a as mS,d as fp,m as vS}from"./chunk-5XO36X4C.js";import{b as sS}from"./chunk-ZXLEXF4X.js";import{a as o,c as gf,e as Wi,f as fS,g as TT,h as dS,j as sp}from"./chunk-RRCPZMC2.js";var DS=gf(Ge=>{"use strict";(function(){function he(){if(ot=!1,F){var z=Ge.unstable_now();Ae=z;var Y=!0;try{e:{me=!1,He&&(He=!1,pt(Ke),Ke=-1),ie=!0;var q=Z;try{t:{for(fe(z),le=G(Q);le!==null&&!(le.expirationTime>z&&A());){var we=le.callback;if(typeof we=="function"){le.callback=null,Z=le.priorityLevel;var Le=we(le.expirationTime<=z);if(z=Ge.unstable_now(),typeof Le=="function"){le.callback=Le,fe(z),Y=!0;break t}le===G(Q)&&j(Q),fe(z)}else j(Q);le=G(Q)}if(le!==null)Y=!0;else{var ba=G(pe);ba!==null&&ne(X,ba.startTime-z),Y=!1}}break e}finally{le=null,Z=q,ie=!1}Y=void 0}}finally{Y?ve():F=!1}}}o(he,"performWorkUntilDeadline");function r(z,Y){var q=z.length;z.push(Y);e:for(;0<q;){var we=q-1>>>1,Le=z[we];if(0<L(Le,Y))z[we]=Y,z[q]=Le,q=we;else break e}}o(r,"push");function G(z){return z.length===0?null:z[0]}o(G,"peek");function j(z){if(z.length===0)return null;var Y=z[0],q=z.pop();if(q!==Y){z[0]=q;e:for(var we=0,Le=z.length,ba=Le>>>1;we<ba;){var iu=2*(we+1)-1,yo=z[iu],Sn=iu+1,it=z[Sn];if(0>L(yo,q))Sn<Le&&0>L(it,yo)?(z[we]=it,z[Sn]=q,we=Sn):(z[we]=yo,z[iu]=q,we=iu);else if(Sn<Le&&0>L(it,q))z[we]=it,z[Sn]=q,we=Sn;else break e}}return Y}o(j,"pop");function L(z,Y){var q=z.sortIndex-Y.sortIndex;return q!==0?q:z.id-Y.id}o(L,"compare");function fe(z){for(var Y=G(pe);Y!==null;){if(Y.callback===null)j(pe);else if(Y.startTime<=z)j(pe),Y.sortIndex=Y.expirationTime,r(Q,Y);else break;Y=G(pe)}}o(fe,"advanceTimers");function X(z){if(He=!1,fe(z),!me)if(G(Q)!==null)me=!0,F||(F=!0,ve());else{var Y=G(pe);Y!==null&&ne(X,Y.startTime-z)}}o(X,"handleTimeout");function A(){return ot?!0:!(Ge.unstable_now()-Ae<U)}o(A,"shouldYieldToHost");function ne(z,Y){Ke=Gt(function(){z(Ge.unstable_now())},Y)}if(o(ne,"requestHostTimeout"),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()),Ge.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var Oe=performance;Ge.unstable_now=function(){return Oe.now()}}else{var Te=Date,ee=Te.now();Ge.unstable_now=function(){return Te.now()-ee}}var Q=[],pe=[],ze=1,le=null,Z=3,ie=!1,me=!1,He=!1,ot=!1,Gt=typeof setTimeout=="function"?setTimeout:null,pt=typeof clearTimeout=="function"?clearTimeout:null,bt=typeof setImmediate<"u"?setImmediate:null,F=!1,Ke=-1,U=5,Ae=-1;if(typeof bt=="function")var ve=o(function(){bt(he)},"schedulePerformWorkUntilDeadline");else if(typeof MessageChannel<"u"){var ce=new MessageChannel,ul=ce.port2;ce.port1.onmessage=he,ve=o(function(){ul.postMessage(null)},"schedulePerformWorkUntilDeadline")}else ve=o(function(){Gt(he,0)},"schedulePerformWorkUntilDeadline");Ge.unstable_IdlePriority=5,Ge.unstable_ImmediatePriority=1,Ge.unstable_LowPriority=4,Ge.unstable_NormalPriority=3,Ge.unstable_Profiling=null,Ge.unstable_UserBlockingPriority=2,Ge.unstable_cancelCallback=function(z){z.callback=null},Ge.unstable_forceFrameRate=function(z){0>z||125<z?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):U=0<z?Math.floor(1e3/z):5},Ge.unstable_getCurrentPriorityLevel=function(){return Z},Ge.unstable_next=function(z){switch(Z){case 1:case 2:case 3:var Y=3;break;default:Y=Z}var q=Z;Z=Y;try{return z()}finally{Z=q}},Ge.unstable_requestPaint=function(){ot=!0},Ge.unstable_runWithPriority=function(z,Y){switch(z){case 1:case 2:case 3:case 4:case 5:break;default:z=3}var q=Z;Z=z;try{return Y()}finally{Z=q}},Ge.unstable_scheduleCallback=function(z,Y,q){var we=Ge.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?we+q:we):q=we,z){case 1:var Le=-1;break;case 2:Le=250;break;case 5:Le=1073741823;break;case 4:Le=1e4;break;default:Le=5e3}return Le=q+Le,z={id:ze++,callback:Y,priorityLevel:z,startTime:q,expirationTime:Le,sortIndex:-1},q>we?(z.sortIndex=q,r(pe,z),G(Q)===null&&z===G(pe)&&(He?(pt(Ke),Ke=-1):He=!0,ne(X,q-we))):(z.sortIndex=Le,r(Q,z),me||ie||(me=!0,F||(F=!0,ve()))),z},Ge.unstable_shouldYield=A,Ge.unstable_wrapCallback=function(z){var Y=Z;return function(){var q=Z;Z=Y;try{return z.apply(this,arguments)}finally{Z=q}}},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()});var OS=gf((BT,RS)=>{"use strict";RS.exports=DS()});var zS=gf(vf=>{"use strict";(function(){function he(e,t){for(e=e.memoizedState;e!==null&&0<t;)e=e.next,t--;return e}o(he,"findHook");function r(e,t,n,l){if(n>=t.length)return l;var a=t[n],u=lt(e)?e.slice():I({},e);return u[a]=r(e[a],t,n+1,l),u}o(r,"copyWithSetImpl");function G(e,t,n){if(t.length!==n.length)console.warn("copyWithRename() expects paths of the same length");else{for(var l=0;l<n.length-1;l++)if(t[l]!==n[l]){console.warn("copyWithRename() expects paths to be the same except for the deepest key");return}return j(e,t,n,0)}}o(G,"copyWithRename");function j(e,t,n,l){var a=t[l],u=lt(e)?e.slice():I({},e);return l+1===t.length?(u[n[l]]=u[a],lt(u)?u.splice(a,1):delete u[a]):u[a]=j(e[a],t,n,l+1),u}o(j,"copyWithRenameImpl");function L(e,t,n){var l=t[n],a=lt(e)?e.slice():I({},e);return n+1===t.length?(lt(a)?a.splice(l,1):delete a[l],a):(a[l]=L(e[l],t,n+1),a)}o(L,"copyWithDeleteImpl");function fe(){return!1}o(fe,"shouldSuspendImpl");function X(){return null}o(X,"shouldErrorImpl");function A(){console.error("Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks")}o(A,"warnInvalidHookAccess");function ne(){console.error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().")}o(ne,"warnInvalidContextAccess");function Oe(){}o(Oe,"noop");function Te(){}o(Te,"warnForMissingKey");function ee(e){var t=[];return e.forEach(function(n){t.push(n)}),t.sort().join(", ")}o(ee,"setToSortedString");function Q(e,t,n,l){return new sb(e,t,n,l)}o(Q,"createFiber");function pe(e,t){e.context===Pl&&(Cd(e.current,2,t,e,null,null),Du())}o(pe,"scheduleRoot");function ze(e,t){if(sn!==null){var n=t.staleFamilies;t=t.updatedFamilies,Jo(),mm(e.current,t,n),Du()}}o(ze,"scheduleRefresh");function le(e){sn=e}o(le,"setRefreshHandler");function Z(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}o(Z,"isValidContainer");function ie(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}o(ie,"getNearestMountedFiber");function me(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}o(me,"getSuspenseInstanceFromFiber");function He(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}o(He,"getActivityInstanceFromFiber");function ot(e){if(ie(e)!==e)throw Error("Unable to find node on an unmounted component.")}o(ot,"assertIsMounted");function Gt(e){var t=e.alternate;if(!t){if(t=ie(e),t===null)throw Error("Unable to find node on an unmounted component.");return t!==e?null:e}for(var n=e,l=t;;){var a=n.return;if(a===null)break;var u=a.alternate;if(u===null){if(l=a.return,l!==null){n=l;continue}break}if(a.child===u.child){for(u=a.child;u;){if(u===n)return ot(a),e;if(u===l)return ot(a),t;u=u.sibling}throw Error("Unable to find node on an unmounted component.")}if(n.return!==l.return)n=a,l=u;else{for(var i=!1,c=a.child;c;){if(c===n){i=!0,n=a,l=u;break}if(c===l){i=!0,l=a,n=u;break}c=c.sibling}if(!i){for(c=u.child;c;){if(c===n){i=!0,n=u,l=a;break}if(c===l){i=!0,l=u,n=a;break}c=c.sibling}if(!i)throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.")}}if(n.alternate!==l)throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.")}if(n.tag!==3)throw Error("Unable to find node on an unmounted component.");return n.stateNode.current===n?e:t}o(Gt,"findCurrentFiberUsingSlowPath");function pt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=pt(e),t!==null)return t;e=e.sibling}return null}o(pt,"findCurrentHostFiberImpl");function bt(e){return e===null||typeof e!="object"?null:(e=Tg&&e[Tg]||e["@@iterator"],typeof e=="function"?e:null)}o(bt,"getIteratorFn");function F(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===_2?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case _u:return"Fragment";case Bd:return"Profiler";case fs:return"StrictMode";case qd:return"Suspense";case jd:return"SuspenseList";case Yd:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case Uu:return"Portal";case Kn:return e.displayName||"Context";case Nd:return(e._context.displayName||"Context")+".Consumer";case ni:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case rs:return t=e.displayName||null,t!==null?t:F(e.type)||"Memo";case kt:t=e._payload,e=e._init;try{return F(e(t))}catch{}}return null}o(F,"getComponentNameFromType");function Ke(e){return typeof e.tag=="number"?U(e):typeof e.name=="string"?e.name:null}o(Ke,"getComponentNameFromOwner");function U(e){var t=e.type;switch(e.tag){case 31:return"Activity";case 24:return"Cache";case 9:return(t._context.displayName||"Context")+".Consumer";case 10:return t.displayName||"Context";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 26:case 27:case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return F(t);case 8:return t===fs?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;break;case 29:if(t=e._debugInfo,t!=null){for(var n=t.length-1;0<=n;n--)if(typeof t[n].name=="string")return t[n].name}if(e.return!==null)return U(e.return)}return null}o(U,"getComponentNameFromFiber");function Ae(e){return{current:e}}o(Ae,"createCursor");function ve(e,t){0>ml?console.error("Unexpected pop."):(t!==Ld[ml]&&console.error("Unexpected Fiber popped."),e.current=Gd[ml],Gd[ml]=null,Ld[ml]=null,ml--)}o(ve,"pop");function ce(e,t,n){ml++,Gd[ml]=e.current,Ld[ml]=n,e.current=t}o(ce,"push");function ul(e){return e===null&&console.error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."),e}o(ul,"requiredContext");function z(e,t){ce($l,t,e),ce(li,e,e),ce(Jl,null,e);var n=t.nodeType;switch(n){case 9:case 11:n=n===9?"#document":"#fragment",t=(t=t.documentElement)&&(t=t.namespaceURI)?Jy(t):Ml;break;default:if(n=t.tagName,t=t.namespaceURI)t=Jy(t),t=$y(t,n);else switch(n){case"svg":t=ro;break;case"math":t=ff;break;default:t=Ml}}n=n.toLowerCase(),n=Gp(null,n),n={context:t,ancestorInfo:n},ve(Jl,e),ce(Jl,n,e)}o(z,"pushHostContainer");function Y(e){ve(Jl,e),ve(li,e),ve($l,e)}o(Y,"popHostContainer");function q(){return ul(Jl.current)}o(q,"getHostContext");function we(e){e.memoizedState!==null&&ce(ds,e,e);var t=ul(Jl.current),n=e.type,l=$y(t.context,n);n=Gp(t.ancestorInfo,n),l={context:l,ancestorInfo:n},t!==l&&(ce(li,e,e),ce(Jl,l,e))}o(we,"pushHostContext");function Le(e){li.current===e&&(ve(Jl,e),ve(li,e)),ds.current===e&&(ve(ds,e),Ki._currentValue=ou)}o(Le,"popHostContext");function ba(){}o(ba,"disabledLog");function iu(){if(ai===0){Ag=console.log,Dg=console.info,Rg=console.warn,Og=console.error,zg=console.group,Cg=console.groupCollapsed,Mg=console.groupEnd;var e={configurable:!0,enumerable:!0,value:ba,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}ai++}o(iu,"disableLogs");function yo(){if(ai--,ai===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:I({},e,{value:Ag}),info:I({},e,{value:Dg}),warn:I({},e,{value:Rg}),error:I({},e,{value:Og}),group:I({},e,{value:zg}),groupCollapsed:I({},e,{value:Cg}),groupEnd:I({},e,{value:Mg})})}0>ai&&console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}o(yo,"reenableLogs");function Sn(e){var t=Error.prepareStackTrace;if(Error.prepareStackTrace=void 0,e=e.stack,Error.prepareStackTrace=t,e.startsWith(`Error: react-stack-top-frame
|
|
1
|
+
import{a as pS,b as rp,c as bS,d as hp,e as ES,f as TS,k as AS}from"./chunk-ILGPO3PK.js";import"./chunk-ZPUO7FNI.js";import"./chunk-WVTPZ6CM.js";import"./chunk-SHERR7ZP.js";import"./chunk-5OIBXYZM.js";import"./chunk-L7SK4ZZD.js";import"./chunk-ZIGWVHCS.js";import"./chunk-7TJJXVSE.js";import"./chunk-OXHHSUXO.js";import{a as SS}from"./chunk-2K47A3P6.js";import"./chunk-KEGAWN6Y.js";import"./chunk-4F72YCTU.js";import"./chunk-Y572GMZE.js";import"./chunk-KZ6INM5M.js";import"./chunk-4QHKBC77.js";import{a as dp}from"./chunk-2MLA6WFH.js";import{R as yS}from"./chunk-VL23Y44O.js";import{a as ET}from"./chunk-HV7G6DFP.js";import{c as gS}from"./chunk-UK64ZSUW.js";import"./chunk-O3NAGRTR.js";import"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import"./chunk-MHGJUKCZ.js";import{a as rS,e as hS}from"./chunk-S2G7OH5T.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import"./chunk-TAD43CG5.js";import{a as mS,d as fp,m as vS}from"./chunk-5XO36X4C.js";import{b as sS}from"./chunk-ZXLEXF4X.js";import{a as o,c as gf,e as Wi,f as fS,g as TT,h as dS,j as sp}from"./chunk-RRCPZMC2.js";var DS=gf(Ge=>{"use strict";(function(){function he(){if(ot=!1,F){var z=Ge.unstable_now();Ae=z;var Y=!0;try{e:{me=!1,He&&(He=!1,pt(Ke),Ke=-1),ie=!0;var q=Z;try{t:{for(fe(z),le=G(Q);le!==null&&!(le.expirationTime>z&&A());){var we=le.callback;if(typeof we=="function"){le.callback=null,Z=le.priorityLevel;var Le=we(le.expirationTime<=z);if(z=Ge.unstable_now(),typeof Le=="function"){le.callback=Le,fe(z),Y=!0;break t}le===G(Q)&&j(Q),fe(z)}else j(Q);le=G(Q)}if(le!==null)Y=!0;else{var ba=G(pe);ba!==null&&ne(X,ba.startTime-z),Y=!1}}break e}finally{le=null,Z=q,ie=!1}Y=void 0}}finally{Y?ve():F=!1}}}o(he,"performWorkUntilDeadline");function r(z,Y){var q=z.length;z.push(Y);e:for(;0<q;){var we=q-1>>>1,Le=z[we];if(0<L(Le,Y))z[we]=Y,z[q]=Le,q=we;else break e}}o(r,"push");function G(z){return z.length===0?null:z[0]}o(G,"peek");function j(z){if(z.length===0)return null;var Y=z[0],q=z.pop();if(q!==Y){z[0]=q;e:for(var we=0,Le=z.length,ba=Le>>>1;we<ba;){var iu=2*(we+1)-1,yo=z[iu],Sn=iu+1,it=z[Sn];if(0>L(yo,q))Sn<Le&&0>L(it,yo)?(z[we]=it,z[Sn]=q,we=Sn):(z[we]=yo,z[iu]=q,we=iu);else if(Sn<Le&&0>L(it,q))z[we]=it,z[Sn]=q,we=Sn;else break e}}return Y}o(j,"pop");function L(z,Y){var q=z.sortIndex-Y.sortIndex;return q!==0?q:z.id-Y.id}o(L,"compare");function fe(z){for(var Y=G(pe);Y!==null;){if(Y.callback===null)j(pe);else if(Y.startTime<=z)j(pe),Y.sortIndex=Y.expirationTime,r(Q,Y);else break;Y=G(pe)}}o(fe,"advanceTimers");function X(z){if(He=!1,fe(z),!me)if(G(Q)!==null)me=!0,F||(F=!0,ve());else{var Y=G(pe);Y!==null&&ne(X,Y.startTime-z)}}o(X,"handleTimeout");function A(){return ot?!0:!(Ge.unstable_now()-Ae<U)}o(A,"shouldYieldToHost");function ne(z,Y){Ke=Gt(function(){z(Ge.unstable_now())},Y)}if(o(ne,"requestHostTimeout"),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error()),Ge.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var Oe=performance;Ge.unstable_now=function(){return Oe.now()}}else{var Te=Date,ee=Te.now();Ge.unstable_now=function(){return Te.now()-ee}}var Q=[],pe=[],ze=1,le=null,Z=3,ie=!1,me=!1,He=!1,ot=!1,Gt=typeof setTimeout=="function"?setTimeout:null,pt=typeof clearTimeout=="function"?clearTimeout:null,bt=typeof setImmediate<"u"?setImmediate:null,F=!1,Ke=-1,U=5,Ae=-1;if(typeof bt=="function")var ve=o(function(){bt(he)},"schedulePerformWorkUntilDeadline");else if(typeof MessageChannel<"u"){var ce=new MessageChannel,ul=ce.port2;ce.port1.onmessage=he,ve=o(function(){ul.postMessage(null)},"schedulePerformWorkUntilDeadline")}else ve=o(function(){Gt(he,0)},"schedulePerformWorkUntilDeadline");Ge.unstable_IdlePriority=5,Ge.unstable_ImmediatePriority=1,Ge.unstable_LowPriority=4,Ge.unstable_NormalPriority=3,Ge.unstable_Profiling=null,Ge.unstable_UserBlockingPriority=2,Ge.unstable_cancelCallback=function(z){z.callback=null},Ge.unstable_forceFrameRate=function(z){0>z||125<z?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):U=0<z?Math.floor(1e3/z):5},Ge.unstable_getCurrentPriorityLevel=function(){return Z},Ge.unstable_next=function(z){switch(Z){case 1:case 2:case 3:var Y=3;break;default:Y=Z}var q=Z;Z=Y;try{return z()}finally{Z=q}},Ge.unstable_requestPaint=function(){ot=!0},Ge.unstable_runWithPriority=function(z,Y){switch(z){case 1:case 2:case 3:case 4:case 5:break;default:z=3}var q=Z;Z=z;try{return Y()}finally{Z=q}},Ge.unstable_scheduleCallback=function(z,Y,q){var we=Ge.unstable_now();switch(typeof q=="object"&&q!==null?(q=q.delay,q=typeof q=="number"&&0<q?we+q:we):q=we,z){case 1:var Le=-1;break;case 2:Le=250;break;case 5:Le=1073741823;break;case 4:Le=1e4;break;default:Le=5e3}return Le=q+Le,z={id:ze++,callback:Y,priorityLevel:z,startTime:q,expirationTime:Le,sortIndex:-1},q>we?(z.sortIndex=q,r(pe,z),G(Q)===null&&z===G(pe)&&(He?(pt(Ke),Ke=-1):He=!0,ne(X,q-we))):(z.sortIndex=Le,r(Q,z),me||ie||(me=!0,F||(F=!0,ve()))),z},Ge.unstable_shouldYield=A,Ge.unstable_wrapCallback=function(z){var Y=Z;return function(){var q=Z;Z=Y;try{return z.apply(this,arguments)}finally{Z=q}}},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()});var OS=gf((BT,RS)=>{"use strict";RS.exports=DS()});var zS=gf(vf=>{"use strict";(function(){function he(e,t){for(e=e.memoizedState;e!==null&&0<t;)e=e.next,t--;return e}o(he,"findHook");function r(e,t,n,l){if(n>=t.length)return l;var a=t[n],u=lt(e)?e.slice():I({},e);return u[a]=r(e[a],t,n+1,l),u}o(r,"copyWithSetImpl");function G(e,t,n){if(t.length!==n.length)console.warn("copyWithRename() expects paths of the same length");else{for(var l=0;l<n.length-1;l++)if(t[l]!==n[l]){console.warn("copyWithRename() expects paths to be the same except for the deepest key");return}return j(e,t,n,0)}}o(G,"copyWithRename");function j(e,t,n,l){var a=t[l],u=lt(e)?e.slice():I({},e);return l+1===t.length?(u[n[l]]=u[a],lt(u)?u.splice(a,1):delete u[a]):u[a]=j(e[a],t,n,l+1),u}o(j,"copyWithRenameImpl");function L(e,t,n){var l=t[n],a=lt(e)?e.slice():I({},e);return n+1===t.length?(lt(a)?a.splice(l,1):delete a[l],a):(a[l]=L(e[l],t,n+1),a)}o(L,"copyWithDeleteImpl");function fe(){return!1}o(fe,"shouldSuspendImpl");function X(){return null}o(X,"shouldErrorImpl");function A(){console.error("Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks")}o(A,"warnInvalidHookAccess");function ne(){console.error("Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().")}o(ne,"warnInvalidContextAccess");function Oe(){}o(Oe,"noop");function Te(){}o(Te,"warnForMissingKey");function ee(e){var t=[];return e.forEach(function(n){t.push(n)}),t.sort().join(", ")}o(ee,"setToSortedString");function Q(e,t,n,l){return new sb(e,t,n,l)}o(Q,"createFiber");function pe(e,t){e.context===Pl&&(Cd(e.current,2,t,e,null,null),Du())}o(pe,"scheduleRoot");function ze(e,t){if(sn!==null){var n=t.staleFamilies;t=t.updatedFamilies,Jo(),mm(e.current,t,n),Du()}}o(ze,"scheduleRefresh");function le(e){sn=e}o(le,"setRefreshHandler");function Z(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}o(Z,"isValidContainer");function ie(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}o(ie,"getNearestMountedFiber");function me(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}o(me,"getSuspenseInstanceFromFiber");function He(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}o(He,"getActivityInstanceFromFiber");function ot(e){if(ie(e)!==e)throw Error("Unable to find node on an unmounted component.")}o(ot,"assertIsMounted");function Gt(e){var t=e.alternate;if(!t){if(t=ie(e),t===null)throw Error("Unable to find node on an unmounted component.");return t!==e?null:e}for(var n=e,l=t;;){var a=n.return;if(a===null)break;var u=a.alternate;if(u===null){if(l=a.return,l!==null){n=l;continue}break}if(a.child===u.child){for(u=a.child;u;){if(u===n)return ot(a),e;if(u===l)return ot(a),t;u=u.sibling}throw Error("Unable to find node on an unmounted component.")}if(n.return!==l.return)n=a,l=u;else{for(var i=!1,c=a.child;c;){if(c===n){i=!0,n=a,l=u;break}if(c===l){i=!0,l=a,n=u;break}c=c.sibling}if(!i){for(c=u.child;c;){if(c===n){i=!0,n=u,l=a;break}if(c===l){i=!0,l=u,n=a;break}c=c.sibling}if(!i)throw Error("Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.")}}if(n.alternate!==l)throw Error("Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.")}if(n.tag!==3)throw Error("Unable to find node on an unmounted component.");return n.stateNode.current===n?e:t}o(Gt,"findCurrentFiberUsingSlowPath");function pt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=pt(e),t!==null)return t;e=e.sibling}return null}o(pt,"findCurrentHostFiberImpl");function bt(e){return e===null||typeof e!="object"?null:(e=Tg&&e[Tg]||e["@@iterator"],typeof e=="function"?e:null)}o(bt,"getIteratorFn");function F(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===_2?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case _u:return"Fragment";case Bd:return"Profiler";case fs:return"StrictMode";case qd:return"Suspense";case jd:return"SuspenseList";case Yd:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case Uu:return"Portal";case Kn:return e.displayName||"Context";case Nd:return(e._context.displayName||"Context")+".Consumer";case ni:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case rs:return t=e.displayName||null,t!==null?t:F(e.type)||"Memo";case kt:t=e._payload,e=e._init;try{return F(e(t))}catch{}}return null}o(F,"getComponentNameFromType");function Ke(e){return typeof e.tag=="number"?U(e):typeof e.name=="string"?e.name:null}o(Ke,"getComponentNameFromOwner");function U(e){var t=e.type;switch(e.tag){case 31:return"Activity";case 24:return"Cache";case 9:return(t._context.displayName||"Context")+".Consumer";case 10:return t.displayName||"Context";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 26:case 27:case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return F(t);case 8:return t===fs?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;break;case 29:if(t=e._debugInfo,t!=null){for(var n=t.length-1;0<=n;n--)if(typeof t[n].name=="string")return t[n].name}if(e.return!==null)return U(e.return)}return null}o(U,"getComponentNameFromFiber");function Ae(e){return{current:e}}o(Ae,"createCursor");function ve(e,t){0>ml?console.error("Unexpected pop."):(t!==Ld[ml]&&console.error("Unexpected Fiber popped."),e.current=Gd[ml],Gd[ml]=null,Ld[ml]=null,ml--)}o(ve,"pop");function ce(e,t,n){ml++,Gd[ml]=e.current,Ld[ml]=n,e.current=t}o(ce,"push");function ul(e){return e===null&&console.error("Expected host context to exist. This error is likely caused by a bug in React. Please file an issue."),e}o(ul,"requiredContext");function z(e,t){ce($l,t,e),ce(li,e,e),ce(Jl,null,e);var n=t.nodeType;switch(n){case 9:case 11:n=n===9?"#document":"#fragment",t=(t=t.documentElement)&&(t=t.namespaceURI)?Jy(t):Ml;break;default:if(n=t.tagName,t=t.namespaceURI)t=Jy(t),t=$y(t,n);else switch(n){case"svg":t=ro;break;case"math":t=ff;break;default:t=Ml}}n=n.toLowerCase(),n=Gp(null,n),n={context:t,ancestorInfo:n},ve(Jl,e),ce(Jl,n,e)}o(z,"pushHostContainer");function Y(e){ve(Jl,e),ve(li,e),ve($l,e)}o(Y,"popHostContainer");function q(){return ul(Jl.current)}o(q,"getHostContext");function we(e){e.memoizedState!==null&&ce(ds,e,e);var t=ul(Jl.current),n=e.type,l=$y(t.context,n);n=Gp(t.ancestorInfo,n),l={context:l,ancestorInfo:n},t!==l&&(ce(li,e,e),ce(Jl,l,e))}o(we,"pushHostContext");function Le(e){li.current===e&&(ve(Jl,e),ve(li,e)),ds.current===e&&(ve(ds,e),Ki._currentValue=ou)}o(Le,"popHostContext");function ba(){}o(ba,"disabledLog");function iu(){if(ai===0){Ag=console.log,Dg=console.info,Rg=console.warn,Og=console.error,zg=console.group,Cg=console.groupCollapsed,Mg=console.groupEnd;var e={configurable:!0,enumerable:!0,value:ba,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}ai++}o(iu,"disableLogs");function yo(){if(ai--,ai===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:I({},e,{value:Ag}),info:I({},e,{value:Dg}),warn:I({},e,{value:Rg}),error:I({},e,{value:Og}),group:I({},e,{value:zg}),groupCollapsed:I({},e,{value:Cg}),groupEnd:I({},e,{value:Mg})})}0>ai&&console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}o(yo,"reenableLogs");function Sn(e){var t=Error.prepareStackTrace;if(Error.prepareStackTrace=void 0,e=e.stack,Error.prepareStackTrace=t,e.startsWith(`Error: react-stack-top-frame
|
|
2
2
|
`)&&(e=e.slice(29)),t=e.indexOf(`
|
|
3
3
|
`),t!==-1&&(e=e.slice(t+1)),t=e.indexOf("react_stack_bottom_frame"),t!==-1&&(t=e.lastIndexOf(`
|
|
4
4
|
`,t)),t!==-1)e=e.slice(0,t);else return"";return e}o(Sn,"formatOwnerStack");function it(e){if(Vd===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Vd=t&&t[1]||"",Ug=-1<n.stack.indexOf(`
|