@marimo-team/frontend 0.23.2-dev55 → 0.23.2-dev58

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.
@@ -1 +1 @@
1
- var VA=Object.defineProperty;var qA=(a,A,e)=>A in a?VA(a,A,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[A]=e;var nA=(a,A,e)=>qA(a,typeof A!="symbol"?A+"":A,e);import{s as uA}from"./chunk-LvLJmgfZ.js";import{d as F,i as mA,l as YA,u as C}from"./useEvent-D91BmmQi.js";import{t as WA}from"./react-Bj1aDYRI.js";import{Ar as fA,Di as XA,E as pA,F as JA,Fn as zA,Gt as $A,Ht as Ae,L as ee,Ni as ae,Sn as te,T as Ge,Tr as oe,Ut as se,Wt as re,_n as ne,b as ke,h as kA,it as ie,k as Re,l as le,lt as Ze,ot as xA,rt as ce,z as ge}from"./cells-BA9ZN5Xy.js";import{t as d}from"./compiler-runtime-B3qBwwSJ.js";import{S as he,_ as de,b as Be,c as ue,h as me,i as Ye,m as fe,n as pe,o as Q,r as xe,s as we,t as De,v as ve,y as Ee}from"./state-DI8CQM2I.js";import{_ as D,d as wA,t as ye}from"./useEventListener-BR0C1MaI.js";import{C as Ce,b as be}from"./utils-DIGrmLDO.js";import{r as iA}from"./constants-DMpttj8Q.js";import{S as RA,b as P,c as Me,h as Ne,o as _e,x as p}from"./config-Calf6e81.js";import{n as je,o as Se}from"./switch-CqJGGLBT.js";import{n as Fe}from"./ErrorBoundary-DzYV_VeY.js";import{n as Qe,t as Y}from"./cn-DCUzRj2J.js";import{t as Pe}from"./jsx-runtime-BqBOg78p.js";import{a as Le,n as Oe}from"./fullscreen-BDxedMYP.js";import{_ as Te,f as Ie,g as Ke,h as DA,m as vA,p as EA,v as yA,y as He}from"./alert-dialog-BGBdrcqJ.js";import{ct as CA,ft as Ue,pt as Ve,st as bA}from"./JsonOutput-Cib1YSyW.js";import{h as qe}from"./download-rCRPD7IF.js";import{t as lA}from"./tooltip-Gcwqb_SK.js";import{t as ZA}from"./button-D9nb17Rw.js";import{t as We}from"./createReducer-1ePoj7v6.js";import{i as Xe}from"./strings-md4mFbOQ.js";import{t as Je}from"./requests-DIwGYs0l.js";import{t as J}from"./createLucideIcon-D5guW7EU.js";import{O as ze,a as $e,i as MA,k as NA,n as Aa,o as ea,s as aa}from"./layout-Cp0JtSeH.js";import{o as ta,r as Ga,s as oa}from"./state-Dlj7aAV2.js";import{c as sa}from"./markdown-renderer-3M2UXZOE.js";import{n as ra}from"./spinner-jEqwgi_c.js";import{i as na,n as ka}from"./readonly-python-code-BBLUUIbP.js";import{t as ia}from"./uuid-CCkGk34L.js";import{t as cA}from"./use-toast-PYIpV284.js";import{i as Ra}from"./session-DdhIEena.js";import{t as la}from"./RenderHTML-aOmkRy0R.js";import{r as _A}from"./share-CJEPnWjm.js";import{r as jA}from"./errors-DVkmLSXX.js";import{s as Za}from"./react-icons.esm-B8rtE4cC.js";import{r as SA}from"./events-CWUex2qo.js";import{i as ca}from"./cell-link-owqfXuA4.js";import{t as ga}from"./error-banner-BxlXxssi.js";import{n as ha}from"./useAsyncData-BRNkjHs1.js";import{t as da}from"./requests-DdU2Ap88.js";import{t as Ba}from"./request-registry-yZbbPZkh.js";import{t as ua}from"./ws-BV-4clkP.js";import{n as ma}from"./types-D8yP89N6.js";import{n as Ya}from"./runs-BBFoea9K.js";var fa=J("hourglass",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M5 2h14",key:"pdyrp9"}],["path",{d:"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22",key:"1d314k"}],["path",{d:"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2",key:"1vvvr6"}]]),FA=J("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),pa=J("square-arrow-right",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"m12 16 4-4-4-4",key:"1i9zcv"}]]),xa=J("unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]),wa=d(),n=uA(Pe(),1);const Da=a=>{let A=(0,wa.c)(10),{reason:e,canTakeover:t}=a,o=t===void 0?!1:t,G=va;if(o){let k;A[0]===Symbol.for("react.memo_cache_sentinel")?(k=(0,n.jsx)("div",{className:"flex justify-between",children:(0,n.jsx)("span",{className:"font-bold text-xl flex items-center mb-2",children:"Notebook already connected"})}),A[0]=k):k=A[0];let r;A[1]===e?r=A[2]:(r=(0,n.jsx)("span",{children:e}),A[1]=e,A[2]=r);let i;A[3]===o?i=A[4]:(i=o&&(0,n.jsxs)(ZA,{onClick:G,variant:"outline","data-testid":"takeover-button",className:"shrink-0",children:[(0,n.jsx)(pa,{className:"w-4 h-4 mr-2"}),"Take over session"]}),A[3]=o,A[4]=i);let R;return A[5]!==r||A[6]!==i?(R=(0,n.jsx)("div",{className:"flex justify-center",children:(0,n.jsxs)(ga,{kind:"info",className:"mt-10 flex flex-col rounded p-3 max-w-[800px] mx-4",children:[k,(0,n.jsxs)("div",{className:"flex justify-between items-end text-base gap-20",children:[r,i]})]})}),A[5]=r,A[6]=i,A[7]=R):R=A[7],R}let s;return A[8]===e?s=A[9]:(s=(0,n.jsx)("div",{className:"font-mono text-center text-base text-(--red-11)",children:(0,n.jsx)("p",{children:e})}),A[8]=e,A[9]=s),s};async function va(){try{let a=new URL(window.location.href).searchParams;await je.post(`/kernel/takeover?${a.toString()}`,{}),_A()}catch(a){cA({title:"Failed to take over session",description:jA(a),variant:"danger"})}}var Ea=d(),u=uA(WA(),1);const ya=a=>{let A=(0,Ea.c)(8),{connection:e,className:t,children:o}=a,G;A[0]!==e.canTakeover||A[1]!==e.reason||A[2]!==e.state?(G=e.state===p.CLOSED&&(0,n.jsx)(Da,{reason:e.reason,canTakeover:e.canTakeover}),A[0]=e.canTakeover,A[1]=e.reason,A[2]=e.state,A[3]=G):G=A[3];let s;return A[4]!==o||A[5]!==t||A[6]!==G?(s=(0,n.jsxs)("div",{className:t,children:[o,G]}),A[4]=o,A[5]=t,A[6]=G,A[7]=s):s=A[7],s};var Ca=d();const ba=a=>{let A=(0,Ca.c)(10),{title:e}=a,[t,o]=(0,u.useState)(e),[G,s]=(0,u.useState)(!0),k,r;A[0]!==t||A[1]!==e?(k=()=>{if(e!==t){s(!1);let g=setTimeout(()=>{o(e),s(!0)},300);return()=>clearTimeout(g)}},r=[e,t],A[0]=t,A[1]=e,A[2]=k,A[3]=r):(k=A[2],r=A[3]),(0,u.useEffect)(k,r);let i;A[4]===Symbol.for("react.memo_cache_sentinel")?(i=(0,n.jsx)(ra,{className:"size-20 animate-spin text-primary","data-testid":"large-spinner",strokeWidth:1}),A[4]=i):i=A[4];let R=G?"opacity-100":"opacity-0",l;A[5]===R?l=A[6]:(l=Y("mt-2 text-muted-foreground font-semibold text-lg transition-opacity duration-300",R),A[5]=R,A[6]=l);let c;return A[7]!==t||A[8]!==l?(c=(0,n.jsxs)("div",{className:"flex flex-col h-full flex-1 items-center justify-center p-4",children:[i,(0,n.jsx)("div",{className:l,children:t})]}),A[7]=t,A[8]=l,A[9]=c):c=A[9],c};var gA=d();const Ma=a=>{let A=(0,gA.c)(2),{children:e}=a;if(!RA())return e;let t;return A[0]===e?t=A[1]:(t=(0,n.jsx)(Na,{children:e}),A[0]=e,A[1]=t),t};var Na=a=>{let A=(0,gA.c)(3),{children:e}=a,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],A[0]=t):t=A[0];let{isPending:o,error:G}=ha(ja,t),s=C(de);if(o){let k;return A[1]===Symbol.for("react.memo_cache_sentinel")?(k=(0,n.jsx)(QA,{}),A[1]=k):k=A[1],k}if(!s&&ie()==="read"&&_a()){let k;return A[2]===Symbol.for("react.memo_cache_sentinel")?(k=(0,n.jsx)(QA,{}),A[2]=k):k=A[2],k}if(G)throw G;return e};function _a(){return Ra(iA.showCode,"false")||!mA.get(Se)}const QA=a=>{let A=(0,gA.c)(2),e=C(ve),t;return A[0]===e?t=A[1]:(t=(0,n.jsx)(ba,{title:e}),A[0]=e,A[1]=t),t};async function ja(){return await fe.INSTANCE.initialized.promise,!0}var Sa={idle:"./favicon.ico",success:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAAXXQAAFd3AwBWeAQAVngEAFd4AwBXeAQAVnkEAFh3AwBXdwQAVXcGAFd4BQBXeAQAWHgEAFd6AwBXeAMAVnkEAFZ5AwBXdwQAV3cFAFd4BABYeAQAV3gEAFh4BABXeAQA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGRkXFhYVGRkZGRkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGRcYGBgYFxkZGRkZGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZFxgYGBgYGBcZGRkZGRkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkXGBgYGBgYGBgXGRkZGRkZGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRUYGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRYYGBgYFxcYGBgYGBcZGRkZGRkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRYYGBgXGRkXGBgYGBgXGRkZGRkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRUWFhcZGRkZFxgYGBgYFxkZGRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGRkZGRkZGRcYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGRkZGRkZGRkXGBgYGBYZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGRkZGRkZGRkZFxgYGBYZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGRkZGRkZGRkZGRUWFhUZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA",running:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAA0YsAAMWEAwDHgwIAx4QBAMeEAgDGhAIAyIUBAMaFAwDGhAIAxoIAAMaFAgDHhAIAx4QCAMiFAwDHhAIAx4YAAMaFAgDHhQEAxoMCAMeEAgDHgwQAx4QDAMeDAgDHhAIA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRgWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBYVGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBYVGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBYVGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBUWGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBYVGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRUWGBgYGBgYFxkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFxkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFhkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkXGBgYGBgYFRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBkXGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBcZGRkZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBcZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBcZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRYWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA",error:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAALi7oACcn2wAlJdsAJibcACYm3AAmJtsAJyfdACUl3QAmJtsAKCjdACUl3AAmJtwAJyfcACYm3AAoKNcAJibcACcn3AAmJt0AJibcACUl3AAmJtwAKCjbACcn3AAmJtsAJibcAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAABxkZGRAaGhoaGhoaGhYXFxYaGhoaGhoaGhgXFxYaGhoaGhoaGhAZGRkHAAAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAADGRkZDRoaGhoaGhoaGhgZGRkZGRgaGhgZGRkZGRYaGhoaGhoaGhoNGRkZAwAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAADGRkZDRoaGhoaGhoaGhYZGRkZGRgaGhgZGRkZGRgaGhoaGhoaGhoNGRkZAwAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAAABxkZGRAaGhoaGhoaGhYXFxgaGhoaGhoaGhYXFxYaGhoaGhoaGhAZGRkHAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA"};async function L(a){return Sa[a]}function Fa(a){if(document.visibilityState==="visible")return;let A=async()=>{a===0?new Notification("Execution completed",{body:"Your notebook run completed successfully.",icon:await L("success")}):new Notification("Execution failed",{body:`Your notebook run encountered ${a} error(s).`,icon:await L("error")})};!("Notification"in window)||Notification.permission==="denied"||(Notification.permission==="granted"?A():Notification.permission==="default"&&Notification.requestPermission().then(e=>{e==="granted"&&A()}))}const Qa=a=>{let{isRunning:A}=a,e=Re(),t=document.querySelector("link[rel~='icon']");t||(t=document.createElement("link"),t.rel="icon",document.getElementsByTagName("head")[0].append(t)),(0,u.useEffect)(()=>{!A&&t.href.includes("favicon")||(async()=>{let G;if(G=A?"running":e.length===0?"success":"error",t.href=await L(G),!document.hasFocus())return;let s=setTimeout(async()=>{t.href=await L("idle")},3e3);return()=>clearTimeout(s)})()},[A,e,t]);let o=ze(A)??A;return(0,u.useEffect)(()=>{o&&!A&&Fa(e.length)},[e,o,A]),ye(window,"focus",async G=>{A||(t.href=await L("idle"))}),null};function Pa(){let{cellRuntime:a}=mA.get(ke),A=wA.entries(a).find(([e,t])=>t.status==="running");A&&ca(A[0],"focus")}var O=d();const La=a=>{let A=(0,O.c)(22),{connection:e,isRunning:t}=a,{mode:o}=C(Ze),G=e.state===p.CLOSED,s=e.state===p.OPEN,k;A[0]!==e.canTakeover||A[1]!==G?(k=G&&!e.canTakeover&&(0,n.jsx)(Ka,{}),A[0]=e.canTakeover,A[1]=G,A[2]=k):k=A[2];let r=o==="read"?"fixed":"absolute",i;A[3]===r?i=A[4]:(i=Y("z-50 top-4 left-4",r),A[3]=r,A[4]=i);let R;A[5]!==s||A[6]!==t?(R=s&&t&&(0,n.jsx)(Ia,{}),A[5]=s,A[6]=t,A[7]=R):R=A[7];let l;A[8]!==e.canTakeover||A[9]!==G?(l=G&&!e.canTakeover&&(0,n.jsx)(Oa,{}),A[8]=e.canTakeover,A[9]=G,A[10]=l):l=A[10];let c;A[11]!==e.canTakeover||A[12]!==G?(c=G&&e.canTakeover&&(0,n.jsx)(Ta,{}),A[11]=e.canTakeover,A[12]=G,A[13]=c):c=A[13];let g;A[14]!==i||A[15]!==R||A[16]!==l||A[17]!==c?(g=(0,n.jsxs)("div",{className:i,children:[R,l,c]}),A[14]=i,A[15]=R,A[16]=l,A[17]=c,A[18]=g):g=A[18];let B;return A[19]!==k||A[20]!==g?(B=(0,n.jsxs)(n.Fragment,{children:[k,g]}),A[19]=k,A[20]=g,A[21]=B):B=A[21],B};var hA="print:hidden pointer-events-auto hover:cursor-pointer",Oa=()=>{let a=(0,O.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,n.jsx)(lA,{content:"App disconnected",children:(0,n.jsx)("div",{className:hA,children:(0,n.jsx)(xa,{className:"w-[25px] h-[25px] text-(--red-11)"})})}),a[0]=A):A=a[0],A},Ta=()=>{let a=(0,O.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,n.jsx)(lA,{content:"Notebook locked",children:(0,n.jsx)("div",{className:hA,children:(0,n.jsx)(na,{className:"w-[25px] h-[25px] text-(--blue-11)"})})}),a[0]=A):A=a[0],A},Ia=()=>{let a=(0,O.c)(6),A=C(Ge),e=A?"Scratchpad is running":"Jump to running cell",t=A?void 0:Pa,o;a[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,n.jsx)(fa,{className:"running-app-icon",size:30,strokeWidth:1}),a[0]=o):o=a[0];let G;a[1]===t?G=a[2]:(G=(0,n.jsx)("div",{className:hA,"data-testid":"loading-indicator",onClick:t,children:o}),a[1]=t,a[2]=G);let s;return a[3]!==G||a[4]!==e?(s=(0,n.jsx)(lA,{content:e,side:"right",children:G}),a[3]=G,a[4]=e,a[5]=s):s=a[5],s},Ka=()=>{let a=(0,O.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"noise"}),(0,n.jsx)("div",{className:"disconnected-gradient"})]}),a[0]=A):A=a[0],A},b=d(),Ha=Te,Ua=He,Va=Oe(Ke),PA=u.forwardRef((a,A)=>{let e=(0,b.c)(9),t,o;e[0]===a?(t=e[1],o=e[2]):({className:t,...o}=a,e[0]=a,e[1]=t,e[2]=o);let G;e[3]===t?G=e[4]:(G=Y("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),e[3]=t,e[4]=G);let s;return e[5]!==o||e[6]!==A||e[7]!==G?(s=(0,n.jsx)(DA,{className:G,...o,ref:A}),e[5]=o,e[6]=A,e[7]=G,e[8]=s):s=e[8],s});PA.displayName=DA.displayName;var qa=Qe("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),LA=u.forwardRef((a,A)=>{let e=(0,b.c)(15),t,o,G,s;e[0]===a?(t=e[1],o=e[2],G=e[3],s=e[4]):({side:s,className:o,children:t,...G}=a,e[0]=a,e[1]=t,e[2]=o,e[3]=G,e[4]=s);let k=s===void 0?"right":s,r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=(0,n.jsx)(PA,{}),e[5]=r):r=e[5];let i;e[6]!==o||e[7]!==k?(i=Y(qa({side:k}),o),e[6]=o,e[7]=k,e[8]=i):i=e[8];let R;e[9]===Symbol.for("react.memo_cache_sentinel")?(R=(0,n.jsxs)(Ie,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,n.jsx)(Za,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}),e[9]=R):R=e[9];let l;return e[10]!==t||e[11]!==G||e[12]!==A||e[13]!==i?(l=(0,n.jsx)(Va,{children:(0,n.jsxs)(Le,{children:[r,(0,n.jsxs)(EA,{ref:A,className:i,...G,children:[t,R]})]})}),e[10]=t,e[11]=G,e[12]=A,e[13]=i,e[14]=l):l=e[14],l});LA.displayName=EA.displayName;var Wa=a=>{let A=(0,b.c)(8),e,t;A[0]===a?(e=A[1],t=A[2]):({className:e,...t}=a,A[0]=a,A[1]=e,A[2]=t);let o;A[3]===e?o=A[4]:(o=Y("flex flex-col space-y-2 text-center sm:text-left",e),A[3]=e,A[4]=o);let G;return A[5]!==t||A[6]!==o?(G=(0,n.jsx)("div",{className:o,...t}),A[5]=t,A[6]=o,A[7]=G):G=A[7],G};Wa.displayName="SheetHeader";var Xa=a=>{let A=(0,b.c)(8),e,t;A[0]===a?(e=A[1],t=A[2]):({className:e,...t}=a,A[0]=a,A[1]=e,A[2]=t);let o;A[3]===e?o=A[4]:(o=Y("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),A[3]=e,A[4]=o);let G;return A[5]!==t||A[6]!==o?(G=(0,n.jsx)("div",{className:o,...t}),A[5]=t,A[6]=o,A[7]=G):G=A[7],G};Xa.displayName="SheetFooter";var Ja=u.forwardRef((a,A)=>{let e=(0,b.c)(9),t,o;e[0]===a?(t=e[1],o=e[2]):({className:t,...o}=a,e[0]=a,e[1]=t,e[2]=o);let G;e[3]===t?G=e[4]:(G=Y("text-lg font-semibold text-foreground",t),e[3]=t,e[4]=G);let s;return e[5]!==o||e[6]!==A||e[7]!==G?(s=(0,n.jsx)(yA,{ref:A,className:G,...o}),e[5]=o,e[6]=A,e[7]=G,e[8]=s):s=e[8],s});Ja.displayName=yA.displayName;var za=u.forwardRef((a,A)=>{let e=(0,b.c)(9),t,o;e[0]===a?(t=e[1],o=e[2]):({className:t,...o}=a,e[0]=a,e[1]=t,e[2]=o);let G;e[3]===t?G=e[4]:(G=Y("text-sm text-muted-foreground",t),e[3]=t,e[4]=G);let s;return e[5]!==o||e[6]!==A||e[7]!==G?(s=(0,n.jsx)(vA,{ref:A,className:G,...o}),e[5]=o,e[6]=A,e[7]=G,e[8]=s):s=e[8],s});za.displayName=vA.displayName;var $a=d();const dA=(0,u.memo)(()=>{let a=(0,$a.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,n.jsx)(Ue,{name:CA.SIDEBAR}),a[0]=A):A=a[0],A});dA.displayName="SidebarSlot";var At=d();const et=a=>{let A=(0,At.c)(6),{openWidth:e}=a,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,n.jsx)(Ua,{className:"lg:hidden",asChild:!0,children:(0,n.jsx)(ZA,{variant:"ghost",className:"bg-background",children:(0,n.jsx)(FA,{className:"w-5 h-5"})})}),A[0]=t):t=A[0];let o;A[1]===e?o=A[2]:(o={maxWidth:e},A[1]=e,A[2]=o);let G;A[3]===Symbol.for("react.memo_cache_sentinel")?(G=(0,n.jsx)(dA,{}),A[3]=G):G=A[3];let s;return A[4]===o?s=A[5]:(s=(0,n.jsxs)(Ha,{children:[t,(0,n.jsx)(LA,{className:"w-full px-3 h-full flex flex-col overflow-y-auto",style:o,side:"left",children:G})]}),A[4]=o,A[5]=s),s};var at=d();const tt=a=>{let A=(0,at.c)(7),{isOpen:e,toggle:t}=a,o=e?"rotate-0":"rotate-180",G;A[0]===o?G=A[1]:(G=Y("h-5 w-5 transition-transform ease-in-out duration-700",o),A[0]=o,A[1]=G);let s;A[2]===G?s=A[3]:(s=(0,n.jsx)(qe,{className:G}),A[2]=G,A[3]=s);let k;return A[4]!==s||A[5]!==t?(k=(0,n.jsx)("div",{className:"invisible lg:visible absolute top-[12px] right-[16px] z-20",children:(0,n.jsx)(ZA,{onClick:t,className:"w-10 h-8",variant:"ghost",size:"icon",children:s})}),A[4]=s,A[5]=t,A[6]=k):k=A[6],k};var Gt=d();const ot=a=>{let A=(0,Gt.c)(11),{isOpen:e,toggle:t,width:o}=a,G=e?o:De,s;A[0]===G?s=A[1]:(s={width:G},A[0]=G,A[1]=s);let k;A[2]===Symbol.for("react.memo_cache_sentinel")?(k=Y("app-sidebar auto-collapse-nav","top-0 left-0 z-20 h-full hidden lg:block relative transition-[width] ease-in-out duration-300"),A[2]=k):k=A[2];let r;A[3]!==e||A[4]!==t?(r=(0,n.jsx)(tt,{isOpen:e,toggle:t}),A[3]=e,A[4]=t,A[5]=r):r=A[5];let i;A[6]===Symbol.for("react.memo_cache_sentinel")?(i=(0,n.jsx)("div",{className:"relative h-full flex flex-col px-3 pb-16 pt-14 overflow-y-auto shadow-sm border-l",children:(0,n.jsx)(dA,{})}),A[6]=i):i=A[6];let R;return A[7]!==e||A[8]!==s||A[9]!==r?(R=(0,n.jsxs)("aside",{"data-expanded":e,style:s,className:k,children:[r,i]}),A[7]=e,A[8]=s,A[9]=r,A[10]=R):R=A[10],R};var st=d();const rt=a=>{let A=(0,st.c)(15),{children:e}=a,[t,o]=YA(xe),{isOpen:G,width:s}=t;if(Ve(CA.SIDEBAR).length===0)return e;let k;A[0]===s?k=A[1]:(k=pe(s),A[0]=s,A[1]=k);let r=k,i;A[2]!==o||A[3]!==G?(i=()=>o({type:"toggle",isOpen:!G}),A[2]=o,A[3]=G,A[4]=i):i=A[4];let R;A[5]!==G||A[6]!==r||A[7]!==i?(R=(0,n.jsx)(ot,{isOpen:G,width:r,toggle:i}),A[5]=G,A[6]=r,A[7]=i,A[8]=R):R=A[8];let l;A[9]===r?l=A[10]:(l=(0,n.jsx)("div",{className:"absolute top-3 left-4 flex items-center z-50",children:(0,n.jsx)(et,{openWidth:r})}),A[9]=r,A[10]=l);let c;return A[11]!==e||A[12]!==R||A[13]!==l?(c=(0,n.jsxs)("div",{className:"inset-0 absolute flex",children:[R,l,e]}),A[11]=e,A[12]=R,A[13]=l,A[14]=c):c=A[14],c};var nt=d();const kt=a=>{let A=(0,nt.c)(17),{width:e,connection:t,isRunning:o,children:G}=a,s=t.state,k;A[0]===o?k=A[1]:(k=(0,n.jsx)(Qa,{isRunning:o}),A[0]=o,A[1]=k);let r;A[2]!==t||A[3]!==o?(r=(0,n.jsx)(La,{connection:t,isRunning:o}),A[2]=t,A[3]=o,A[4]=r):r=A[4];let i;A[5]!==s||A[6]!==e?(i=Y("mathjax_ignore",Me(s)&&"disconnected","bg-background w-full h-full text-textColor","flex flex-col overflow-y-auto",e==="full"&&"config-width-full",e==="columns"?"overflow-x-auto":"overflow-x-hidden","print:height-fit"),A[5]=s,A[6]=e,A[7]=i):i=A[7];let R;A[8]!==G||A[9]!==s||A[10]!==i||A[11]!==e?(R=(0,n.jsx)(Ma,{children:(0,n.jsx)(rt,{children:(0,n.jsx)("div",{id:"App","data-config-width":e,"data-connection-state":s,className:i,children:G})})}),A[8]=G,A[9]=s,A[10]=i,A[11]=e,A[12]=R):R=A[12];let l;return A[13]!==k||A[14]!==r||A[15]!==R?(l=(0,n.jsxs)(n.Fragment,{children:[k,r,R]}),A[13]=k,A[14]=r,A[15]=R,A[16]=l):l=A[16],l};function it(a){return a.kind==="missing"}function OA(a){return a.kind==="installing"}var{valueAtom:Rt,useActions:lt}=We(()=>({packageAlert:null,startupLogsAlert:null,packageLogs:{}}),{addPackageAlert:(a,A)=>{var o;let e={...a.packageLogs};if(OA(A)&&A.logs&&A.log_status)for(let[G,s]of Object.entries(A.logs))switch(A.log_status){case"start":e[G]=s;break;case"append":e[G]=(e[G]||"")+s;break;case"done":e[G]=(e[G]||"")+s;break}let t=((o=a.packageAlert)==null?void 0:o.id)||ia();return{...a,packageAlert:{id:t,...A},packageLogs:e}},clearPackageAlert:(a,A)=>a.packageAlert!==null&&a.packageAlert.id===A?{...a,packageAlert:null,packageLogs:{}}:a,addStartupLog:(a,A)=>{var t;let e=((t=a.startupLogsAlert)==null?void 0:t.content)||"";return{...a,startupLogsAlert:{...a.startupLogsAlert,content:e+A.content,status:A.status}}},clearStartupLogsAlert:a=>({...a,startupLogsAlert:null})});const Zt=()=>C(Rt);function TA(){return lt()}var IA=d();const KA=(0,u.memo)(a=>{let A=(0,IA.c)(11),{appConfig:e,mode:t,children:o}=a,{selectedLayout:G,layoutData:s}=$e(),k=C(xA);if(t==="edit"&&!k)return o;let r;if(A[0]!==t||A[1]!==G){r=G;let c=new URLSearchParams(window.location.search);if(t==="read"&&c.has(iA.viewAs)){let g=c.get(iA.viewAs);ma.includes(g)&&(r=g)}A[0]=t,A[1]=G,A[2]=r}else r=A[2];let i;A[3]===r?i=A[4]:(i=ea.find(c=>c.type===r),A[3]=r,A[4]=i);let R=i;if(!R)return o;let l;return A[5]!==e||A[6]!==r||A[7]!==s||A[8]!==t||A[9]!==R?(l=(0,n.jsx)(ct,{appConfig:e,mode:t,plugin:R,layoutData:s,finalLayout:r}),A[5]=e,A[6]=r,A[7]=s,A[8]=t,A[9]=R,A[10]=l):l=A[10],l});KA.displayName="CellsRenderer";const ct=a=>{let A=(0,IA.c)(18),{appConfig:e,mode:t,plugin:o,layoutData:G,finalLayout:s}=a,k=JA(),{setCurrentLayoutData:r}=MA(),i,R,l,c,g;if(A[0]!==e||A[1]!==s||A[2]!==G||A[3]!==t||A[4]!==k||A[5]!==o){let x=le(k);i=o.Component,R=e,l=t,c=x,g=G[s]||o.getInitialLayout(x),A[0]=e,A[1]=s,A[2]=G,A[3]=t,A[4]=k,A[5]=o,A[6]=i,A[7]=R,A[8]=l,A[9]=c,A[10]=g}else i=A[6],R=A[7],l=A[8],c=A[9],g=A[10];let B;return A[11]!==i||A[12]!==r||A[13]!==R||A[14]!==l||A[15]!==c||A[16]!==g?(B=(0,n.jsx)(i,{appConfig:R,mode:l,cells:c,layout:g,setLayout:r}),A[11]=i,A[12]=r,A[13]=R,A[14]=l,A[15]=c,A[16]=g,A[17]=B):B=A[17],B};var gt=class HA{constructor(A){nA(this,"hasStarted",!1);nA(this,"handleReadyEvent",A=>{let e=A.detail.objectId;if(!this.uiElementRegistry.has(e))return;let t=this.uiElementRegistry.lookupValue(e);t!==void 0&&this.sendComponentValues({objectIds:[e],values:[t]}).catch(o=>{D.warn(o)})});this.uiElementRegistry=A}static get INSTANCE(){let A="_marimo_private_RuntimeState";return window[A]||(window[A]=new HA(Q)),window[A]}get sendComponentValues(){if(!this._sendComponentValues)throw Error("sendComponentValues is not set");return this._sendComponentValues}start(A){if(this.hasStarted){D.warn("RuntimeState already started");return}this._sendComponentValues=A,document.addEventListener(SA.TYPE,this.handleReadyEvent),this.hasStarted=!0}stop(){if(!this.hasStarted){D.warn("RuntimeState already stopped");return}document.removeEventListener(SA.TYPE,this.handleReadyEvent),this.hasStarted=!1}},ht=d();function dt(a){if(a.static)return Ee.empty();if(RA())return me();let A=a.url;return new ua(A,void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4})}function Bt(a){let A=(0,ht.c)(15),{onOpen:e,onMessage:t,onClose:o,onError:G,waitToConnect:s}=a,k;A[0]!==o||A[1]!==G||A[2]!==t||A[3]!==e||A[4]!==a?(k=()=>{let l=dt(a);return l.addEventListener("open",e),l.addEventListener("close",o),l.addEventListener("error",G),l.addEventListener("message",t),l},A[0]=o,A[1]=G,A[2]=t,A[3]=e,A[4]=a,A[5]=k):k=A[5];let[r]=(0,u.useState)(k),i;A[6]!==o||A[7]!==G||A[8]!==t||A[9]!==e||A[10]!==r||A[11]!==s?(i=()=>(r.readyState===WebSocket.CLOSED&&s().then(()=>r.reconnect()).catch(l=>{D.error("Healthy connection never made",l),r.close()}),()=>{D.warn("useConnectionTransport is unmounting. This likely means there is a bug."),r.close(),r.removeEventListener("open",e),r.removeEventListener("close",o),r.removeEventListener("error",G),r.removeEventListener("message",t)}),A[6]=o,A[7]=G,A[8]=t,A[9]=e,A[10]=r,A[11]=s,A[12]=i):i=A[12];let R;return A[13]===r?R=A[14]:(R=[r],A[13]=r,A[14]=R),(0,u.useEffect)(i,R),r}function ut(a){let{codes:A,names:e,configs:t,cell_ids:o,last_executed_code:G,last_execution_time:s}=a,k=G||{},r=s||{};return A.map((i,R)=>{let l=o[R],c=k[l];return ee({id:l,code:i,edited:c?c!==i:!1,name:e[R],lastCodeRun:k[l]??null,lastExecutionTime:r[l]??null,config:t[R]})})}function mt(a,A,e){let t=Aa(),{layout:o}=a;if(o){let G=o.type,s=aa({type:G,data:o.data,cells:A});t.selectedLayout=G,t.layoutData[G]=s,e({layoutView:G,data:s})}return t}function Yt(){let a=[],A=[];return Q.entries.forEach((e,t)=>{a.push(t),A.push(e.value)}),{objectIds:a,values:A}}function ft(a,A){let{existingCells:e,autoInstantiate:t,setCells:o,setLayoutData:G,setAppConfig:s,setCapabilities:k,setKernelState:r,onError:i}=A,{resumed:R,ui_values:l,app_config:c,capabilities:g,auto_instantiated:B}=a,x=e&&e.length>0,y=x&&!R?e:ut(a);o(y,mt(a,y,G));let v=Ce.safeParse(c);if(v.success?s(v.data):D.error("Failed to parse app config",v.error),k(g),B)return;if(R){for(let[m,j]of wA.entries(l||{})){let S=m;Q.set(S,j)}return}let{objectIds:M,values:N}=Yt(),_=x?Object.fromEntries(e.map(m=>[m.id,m.code])):void 0;Je().sendInstantiate({objectIds:M,values:N,autoRun:t,codes:_}).then(()=>{r({isInstantiated:!0,error:null})}).catch(m=>{r({isInstantiated:!1,error:m}),i(Error("Failed to instantiate",{cause:m}))})}function pt(a){let A=a.cell_id;Q.removeElementsByCell(A),NA.INSTANCE.removeForCellId(A)}function xt(a,A){A(a),NA.INSTANCE.track(a)}const z={append:a=>{let A=new URL(window.location.href);A.searchParams.append(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},set:a=>{let A=new URL(window.location.href);Array.isArray(a.value)?(A.searchParams.delete(a.key),a.value.forEach(e=>A.searchParams.append(a.key,e))):A.searchParams.set(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},delete:a=>{let A=new URL(window.location.href);a.value==null?A.searchParams.delete(a.key):A.searchParams.delete(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},clear:()=>{let a=new URL(window.location.href);a.search="",window.history.pushState({},"",`${a.pathname}${a.search}`)}};var wt=d();function Dt(){return Object.values(kA().cellData).filter(a=>a.id!==XA)}function vt(a){let A=(0,wt.c)(41),e=(0,u.useRef)(!0),{autoInstantiate:t,sessionId:o,setCells:G}=a,{showBoundary:s}=Fe(),{handleCellMessage:k}=pA(),r;A[0]===Symbol.for("react.memo_cache_sentinel")?(r={skipMiddleware:!0},A[0]=r):r=A[0];let i=pA(r),R;A[1]===i?R=A[2]:(R=h=>{ce(h.changes,i,_t)},A[1]=i,A[2]=R);let l=R,{addCellNotification:c}=Ya(),g=F(ka),B=be(),{setVariables:x,setMetadata:y}=zA(),{addColumnPreview:v}=fA(),{addDatasets:M,filterDatasetsFromVariables:N}=fA(),{addDataSourceConnection:_,filterDataSourcesFromVariables:m}=oe(),{setLayoutData:j}=MA(),[S,w]=YA(Ne),{addBanner:$}=he(),{addPackageAlert:T,addStartupLog:AA}=TA(),eA=F(xA),aA=F(te),E=_e(),tA=F(da),GA=F(Be),{setNamespaces:oA,filterFromVariables:sA}=Ga(),I;A[3]!==$||A[4]!==c||A[5]!==v||A[6]!==_||A[7]!==M||A[8]!==T||A[9]!==AA||A[10]!==t||A[11]!==m||A[12]!==N||A[13]!==sA||A[14]!==k||A[15]!==l||A[16]!==B||A[17]!==tA||A[18]!==aA||A[19]!==G||A[20]!==GA||A[21]!==g||A[22]!==eA||A[23]!==j||A[24]!==y||A[25]!==oA||A[26]!==x||A[27]!==s?(I=h=>{let Z=ae(h.data);switch(Z.data.op){case"reload":_A();return;case"kernel-ready":{let f=Dt();ft(Z.data,{autoInstantiate:t,setCells:G,setLayoutData:j,setAppConfig:B,setCapabilities:aA,setKernelState:g,onError:s,existingCells:f}),eA(Z.data.kiosk);return}case"completed-run":return;case"interrupted":return;case"kernel-startup-error":GA(Z.data.error);return;case"send-ui-element-message":{let f=Z.data.ui_element;if(f){let UA=sa(Z.data);Q.broadcastMessage(f,Z.data.message,UA)}return}case"model-lifecycle":ue(we,Z.data);return;case"remove-ui-elements":pt(Z.data);return;case"completion-result":ne.resolve(Z.data.completion_id,Z.data);return;case"function-call-result":Ye.resolve(Z.data.function_call_id,Z.data);return;case"cell-op":{xt(Z.data,k);let f=kA().cellData[Z.data.cell_id];if(!f)return;c({cellNotification:Z.data,code:f.code});return}case"variables":x(Z.data.variables.map(Nt)),N(Z.data.variables.map(Mt)),m(Z.data.variables.map(bt)),sA(Z.data.variables.map(Ct));return;case"variable-values":y(Z.data.variables.map(yt));return;case"alert":cA({title:Z.data.title,description:la({html:Z.data.description}),variant:Z.data.variant});return;case"banner":$(Z.data);return;case"missing-package-alert":T({...Z.data,kind:"missing"});return;case"installing-package-alert":T({...Z.data,kind:"installing"});return;case"startup-logs":AA({content:Z.data.content,status:Z.data.status});return;case"query-params-append":z.append(Z.data);return;case"query-params-set":z.set(Z.data);return;case"query-params-delete":z.delete(Z.data);return;case"query-params-clear":z.clear();return;case"datasets":M(Z.data);return;case"data-column-preview":v(Z.data);return;case"sql-table-preview":se.resolve(Z.data.request_id,Z.data);return;case"sql-table-list-preview":re.resolve(Z.data.request_id,Z.data);return;case"sql-schema-list-preview":Ae.resolve(Z.data.request_id,Z.data);return;case"validate-sql-result":$A.resolve(Z.data.request_id,Z.data);return;case"secret-keys-result":Ba.resolve(Z.data.request_id,Z.data);return;case"cache-info":tA(Z.data);return;case"cache-cleared":return;case"data-source-connections":_({connections:Z.data.connections.map(Et)});return;case"storage-namespaces":oA(Z.data);return;case"storage-entries":oa.resolve(Z.data.request_id,Z.data);return;case"storage-download-ready":ta.resolve(Z.data.request_id,Z.data);return;case"reconnected":return;case"focus-cell":ge(Z.data.cell_id);return;case"notebook-document-transaction":l(Z.data.transaction);return;default:Xe(Z.data)}},A[3]=$,A[4]=c,A[5]=v,A[6]=_,A[7]=M,A[8]=T,A[9]=AA,A[10]=t,A[11]=m,A[12]=N,A[13]=sA,A[14]=k,A[15]=l,A[16]=B,A[17]=tA,A[18]=aA,A[19]=G,A[20]=GA,A[21]=g,A[22]=eA,A[23]=j,A[24]=y,A[25]=oA,A[26]=x,A[27]=s,A[28]=I):I=A[28];let rA=I,BA=(h,Z)=>{e.current&&(e.current=!1,W.reconnect(h,Z))},K;A[29]===Symbol.for("react.memo_cache_sentinel")?(K=bA(),A[29]=K):K=A[29];let H;A[30]!==E||A[31]!==o?(H=()=>E.getWsURL(o).toString(),A[30]=E,A[31]=o,A[32]=H):H=A[32];let U;A[33]===w?U=A[34]:(U=async()=>{e.current=!0,w({state:p.OPEN})},A[33]=w,A[34]=U);let V;A[35]===E?V=A[36]:(V=async()=>{bA()||RA()||E.isSameOrigin||await E.waitForHealthy()},A[35]=E,A[36]=V);let q;A[37]===rA?q=A[38]:(q=h=>{try{rA(h)}catch(Z){let f=Z;D.error("Failed to handle message",h.data,f),cA({title:"Failed to handle message",description:jA(f),variant:"danger"})}},A[37]=rA,A[38]=q);let W=Bt({static:K,url:H,onOpen:U,waitToConnect:V,onMessage:q,onClose:h=>{switch(D.warn("WebSocket closed",h.code,h.reason),h.reason){case"MARIMO_ALREADY_CONNECTED":w({state:p.CLOSED,code:P.ALREADY_RUNNING,reason:"another browser tab is already connected to the kernel",canTakeover:!0}),W.close();return;case"MARIMO_WRONG_KERNEL_ID":case"MARIMO_NO_FILE_KEY":case"MARIMO_NO_SESSION_ID":case"MARIMO_NO_SESSION":case"MARIMO_SHUTDOWN":w({state:p.CLOSED,code:P.KERNEL_DISCONNECTED,reason:"kernel not found"}),W.close();return;case"MARIMO_MALFORMED_QUERY":w({state:p.CLOSED,code:P.MALFORMED_QUERY,reason:"the kernel did not recognize a request; please file a bug with marimo"});return;default:if(h.reason==="MARIMO_KERNEL_STARTUP_ERROR"){w({state:p.CLOSED,code:P.KERNEL_STARTUP_ERROR,reason:"Failed to start kernel sandbox"}),W.close();return}w({state:p.CONNECTING}),BA(h.code,h.reason)}},onError:h=>{D.warn("WebSocket error",h),w({state:p.CLOSED,code:P.KERNEL_DISCONNECTED,reason:"kernel not found"}),BA()}}),X;return A[39]===S?X=A[40]:(X={connection:S},A[39]=S,A[40]=X),X}function Et(a){return{...a,name:a.name}}function yt(a){return{name:a.name,dataType:a.datatype,value:a.value}}function Ct(a){return a.name}function bt(a){return a.name}function Mt(a){return a.name}function Nt(a){return{name:a.name,declaredBy:a.declared_by,usedBy:a.used_by}}function _t(){return kA().cellIds.inOrderIds}var jt=d();const St=a=>{let A=(0,jt.c)(2),{children:e}=a,t;return A[0]===e?t=A[1]:(t=(0,n.jsx)("div",{className:"flex flex-col flex-1 overflow-hidden absolute inset-0 print:relative",children:e}),A[0]=e,A[1]=t),t};export{OA as a,Zt as c,FA as d,KA as i,kt as l,vt as n,it as o,gt as r,TA as s,St as t,ya as u};
1
+ var VA=Object.defineProperty;var qA=(a,A,e)=>A in a?VA(a,A,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[A]=e;var nA=(a,A,e)=>qA(a,typeof A!="symbol"?A+"":A,e);import{s as uA}from"./chunk-LvLJmgfZ.js";import{d as F,i as mA,l as YA,u as C}from"./useEvent-D91BmmQi.js";import{t as WA}from"./react-Bj1aDYRI.js";import{Ar as fA,Di as XA,E as pA,F as JA,Fn as zA,Gt as $A,Ht as Ae,L as ee,Ni as ae,Sn as te,T as Ge,Tr as oe,Ut as se,Wt as re,_n as ne,b as ke,h as kA,it as ie,k as Re,l as le,lt as Ze,ot as xA,rt as ce,z as ge}from"./cells-BA9ZN5Xy.js";import{t as d}from"./compiler-runtime-B3qBwwSJ.js";import{S as he,_ as de,b as Be,c as ue,h as me,i as Ye,m as fe,n as pe,o as Q,r as xe,s as we,t as De,v as ve,y as Ee}from"./state-DwYUxIVe.js";import{_ as D,d as wA,t as ye}from"./useEventListener-BR0C1MaI.js";import{C as Ce,b as be}from"./utils-DIGrmLDO.js";import{r as iA}from"./constants-DMpttj8Q.js";import{S as RA,b as P,c as Me,h as Ne,o as _e,x as p}from"./config-Calf6e81.js";import{n as je,o as Se}from"./switch-CqJGGLBT.js";import{n as Fe}from"./ErrorBoundary-DzYV_VeY.js";import{n as Qe,t as Y}from"./cn-DCUzRj2J.js";import{t as Pe}from"./jsx-runtime-BqBOg78p.js";import{a as Le,n as Oe}from"./fullscreen-BDxedMYP.js";import{_ as Te,f as Ie,g as Ke,h as DA,m as vA,p as EA,v as yA,y as He}from"./alert-dialog-BGBdrcqJ.js";import{ct as CA,ft as Ue,pt as Ve,st as bA}from"./JsonOutput-Cib1YSyW.js";import{h as qe}from"./download-rCRPD7IF.js";import{t as lA}from"./tooltip-Gcwqb_SK.js";import{t as ZA}from"./button-D9nb17Rw.js";import{t as We}from"./createReducer-1ePoj7v6.js";import{i as Xe}from"./strings-md4mFbOQ.js";import{t as Je}from"./requests-DIwGYs0l.js";import{t as J}from"./createLucideIcon-D5guW7EU.js";import{O as ze,a as $e,i as MA,k as NA,n as Aa,o as ea,s as aa}from"./layout-Cp0JtSeH.js";import{o as ta,r as Ga,s as oa}from"./state-Dlj7aAV2.js";import{c as sa}from"./markdown-renderer-3M2UXZOE.js";import{n as ra}from"./spinner-jEqwgi_c.js";import{i as na,n as ka}from"./readonly-python-code-BBLUUIbP.js";import{t as ia}from"./uuid-CCkGk34L.js";import{t as cA}from"./use-toast-PYIpV284.js";import{i as Ra}from"./session-DdhIEena.js";import{t as la}from"./RenderHTML-aOmkRy0R.js";import{r as _A}from"./share-CJEPnWjm.js";import{r as jA}from"./errors-DVkmLSXX.js";import{s as Za}from"./react-icons.esm-B8rtE4cC.js";import{r as SA}from"./events-CWUex2qo.js";import{i as ca}from"./cell-link-owqfXuA4.js";import{t as ga}from"./error-banner-BxlXxssi.js";import{n as ha}from"./useAsyncData-BRNkjHs1.js";import{t as da}from"./requests-DdU2Ap88.js";import{t as Ba}from"./request-registry-yZbbPZkh.js";import{t as ua}from"./ws-BV-4clkP.js";import{n as ma}from"./types-D8yP89N6.js";import{n as Ya}from"./runs-BBFoea9K.js";var fa=J("hourglass",[["path",{d:"M5 22h14",key:"ehvnwv"}],["path",{d:"M5 2h14",key:"pdyrp9"}],["path",{d:"M17 22v-4.172a2 2 0 0 0-.586-1.414L12 12l-4.414 4.414A2 2 0 0 0 7 17.828V22",key:"1d314k"}],["path",{d:"M7 2v4.172a2 2 0 0 0 .586 1.414L12 12l4.414-4.414A2 2 0 0 0 17 6.172V2",key:"1vvvr6"}]]),FA=J("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]),pa=J("square-arrow-right",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"m12 16 4-4-4-4",key:"1i9zcv"}]]),xa=J("unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]),wa=d(),n=uA(Pe(),1);const Da=a=>{let A=(0,wa.c)(10),{reason:e,canTakeover:t}=a,o=t===void 0?!1:t,G=va;if(o){let k;A[0]===Symbol.for("react.memo_cache_sentinel")?(k=(0,n.jsx)("div",{className:"flex justify-between",children:(0,n.jsx)("span",{className:"font-bold text-xl flex items-center mb-2",children:"Notebook already connected"})}),A[0]=k):k=A[0];let r;A[1]===e?r=A[2]:(r=(0,n.jsx)("span",{children:e}),A[1]=e,A[2]=r);let i;A[3]===o?i=A[4]:(i=o&&(0,n.jsxs)(ZA,{onClick:G,variant:"outline","data-testid":"takeover-button",className:"shrink-0",children:[(0,n.jsx)(pa,{className:"w-4 h-4 mr-2"}),"Take over session"]}),A[3]=o,A[4]=i);let R;return A[5]!==r||A[6]!==i?(R=(0,n.jsx)("div",{className:"flex justify-center",children:(0,n.jsxs)(ga,{kind:"info",className:"mt-10 flex flex-col rounded p-3 max-w-[800px] mx-4",children:[k,(0,n.jsxs)("div",{className:"flex justify-between items-end text-base gap-20",children:[r,i]})]})}),A[5]=r,A[6]=i,A[7]=R):R=A[7],R}let s;return A[8]===e?s=A[9]:(s=(0,n.jsx)("div",{className:"font-mono text-center text-base text-(--red-11)",children:(0,n.jsx)("p",{children:e})}),A[8]=e,A[9]=s),s};async function va(){try{let a=new URL(window.location.href).searchParams;await je.post(`/kernel/takeover?${a.toString()}`,{}),_A()}catch(a){cA({title:"Failed to take over session",description:jA(a),variant:"danger"})}}var Ea=d(),u=uA(WA(),1);const ya=a=>{let A=(0,Ea.c)(8),{connection:e,className:t,children:o}=a,G;A[0]!==e.canTakeover||A[1]!==e.reason||A[2]!==e.state?(G=e.state===p.CLOSED&&(0,n.jsx)(Da,{reason:e.reason,canTakeover:e.canTakeover}),A[0]=e.canTakeover,A[1]=e.reason,A[2]=e.state,A[3]=G):G=A[3];let s;return A[4]!==o||A[5]!==t||A[6]!==G?(s=(0,n.jsxs)("div",{className:t,children:[o,G]}),A[4]=o,A[5]=t,A[6]=G,A[7]=s):s=A[7],s};var Ca=d();const ba=a=>{let A=(0,Ca.c)(10),{title:e}=a,[t,o]=(0,u.useState)(e),[G,s]=(0,u.useState)(!0),k,r;A[0]!==t||A[1]!==e?(k=()=>{if(e!==t){s(!1);let g=setTimeout(()=>{o(e),s(!0)},300);return()=>clearTimeout(g)}},r=[e,t],A[0]=t,A[1]=e,A[2]=k,A[3]=r):(k=A[2],r=A[3]),(0,u.useEffect)(k,r);let i;A[4]===Symbol.for("react.memo_cache_sentinel")?(i=(0,n.jsx)(ra,{className:"size-20 animate-spin text-primary","data-testid":"large-spinner",strokeWidth:1}),A[4]=i):i=A[4];let R=G?"opacity-100":"opacity-0",l;A[5]===R?l=A[6]:(l=Y("mt-2 text-muted-foreground font-semibold text-lg transition-opacity duration-300",R),A[5]=R,A[6]=l);let c;return A[7]!==t||A[8]!==l?(c=(0,n.jsxs)("div",{className:"flex flex-col h-full flex-1 items-center justify-center p-4",children:[i,(0,n.jsx)("div",{className:l,children:t})]}),A[7]=t,A[8]=l,A[9]=c):c=A[9],c};var gA=d();const Ma=a=>{let A=(0,gA.c)(2),{children:e}=a;if(!RA())return e;let t;return A[0]===e?t=A[1]:(t=(0,n.jsx)(Na,{children:e}),A[0]=e,A[1]=t),t};var Na=a=>{let A=(0,gA.c)(3),{children:e}=a,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=[],A[0]=t):t=A[0];let{isPending:o,error:G}=ha(ja,t),s=C(de);if(o){let k;return A[1]===Symbol.for("react.memo_cache_sentinel")?(k=(0,n.jsx)(QA,{}),A[1]=k):k=A[1],k}if(!s&&ie()==="read"&&_a()){let k;return A[2]===Symbol.for("react.memo_cache_sentinel")?(k=(0,n.jsx)(QA,{}),A[2]=k):k=A[2],k}if(G)throw G;return e};function _a(){return Ra(iA.showCode,"false")||!mA.get(Se)}const QA=a=>{let A=(0,gA.c)(2),e=C(ve),t;return A[0]===e?t=A[1]:(t=(0,n.jsx)(ba,{title:e}),A[0]=e,A[1]=t),t};async function ja(){return await fe.INSTANCE.initialized.promise,!0}var Sa={idle:"./favicon.ico",success:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAAXXQAAFd3AwBWeAQAVngEAFd4AwBXeAQAVnkEAFh3AwBXdwQAVXcGAFd4BQBXeAQAWHgEAFd6AwBXeAMAVnkEAFZ5AwBXdwQAV3cFAFd4BABYeAQAV3gEAFh4BABXeAQA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGRkXFhYVGRkZGRkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGRcYGBgYFxkZGRkZGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZFxgYGBgYGBcZGRkZGRkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkXGBgYGBgYGBgXGRkZGRkZGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRUYGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRYYGBgYFxcYGBgYGBcZGRkZGRkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRYYGBgXGRkXGBgYGBgXGRkZGRkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRUWFhcZGRkZFxgYGBgYFxkZGRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGRkZGRkZGRcYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGRkZGRkZGRkXGBgYGBYZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGRkZGRkZGRkZFxgYGBYZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGRkZGRkZGRkZGRUWFhUZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA",running:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAA0YsAAMWEAwDHgwIAx4QBAMeEAgDGhAIAyIUBAMaFAwDGhAIAxoIAAMaFAgDHhAIAx4QCAMiFAwDHhAIAx4YAAMaFAgDHhQEAxoMCAMeEAgDHgwQAx4QDAMeDAgDHhAIA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRgWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBYVGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBYVGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBYVGRkZGRkZGRkZGRkNGBgYAwAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBUWGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBYVGRkZGRkZGRkKGBgYBQAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRUWGBgYGBgYFxkZGRkZGRkZGBgYBgAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFxkZGRkZGRkZGBgYGAAAAAAYGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkZFxgYGBgYFhkZGRkZGRkZGBgYGAAAAAAGGBgYGRkZGRkZGRkZGRkZGBgYGBkZGRkXGBgYGBgYFRkZGRkZGRkZGBgYBgAAAAAFGBgYChkZGRkZGRkZGRkZGBgYGBkZFxgYGBgYGBcZGRkZGRkZGRkKGBgYBQAAAAAEGBgYDhkZGRkZGRkZGRkZGBgYGBkXGBgYGBgYFxkZGRkZGRkZGRkOGBgYBAAAAAADGBgYDRkZGRkZGRkZGRkZGBgYGBgYGBgYGBcZGRkZGRkZGRkZGRkNGBgYAwAAAAACGBgYDBkZGRkZGRkZGRkZGBgYGBgYGBgYFxkZGRkZGRkZGRkZGRkMGBgYAgAAAAABGBgYGBAZGRkZGRkZGRkZGBgYGBgYGBcZGRkZGRkZGRkZGRkZGRAYGBgYAQAAAAAABxgYGA8ZGRkZGRkZGRkZGBgYGBgYFxkZGRkZGRkZGRkZGRkZGQ8YGBgHAAAAAAAAAhgYGBgKGRkZGRkZGRkZFhgYGBcZGRkZGRkZGRkZGRkZGRkZChgYGBgCAAAAAAAAAAkYGBgSGRkZGRkZGRkZFRYWFxkZGRkZGRkZGRkZGRkZGRkZEhgYGAkAAAAAAAAAAAgYGBgYExkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkTGBgYGAgAAAAAAAAAAAAEGBgYGBAZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRAYGBgYBAAAAAAAAAAAAAAKGBgYGBQKGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZChQYGBgYCgAAAAAAAAAAAAAACxgYGBgUEBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkQFBgYGBgLAAAAAAAAAAAAAAAAAAMYGBgYGBMZGRkZGRkZGRkZGRkZGRkZGRkZGRMYGBgYGAMAAAAAAAAAAAAAAAAAAAARGBgYGBgSChkZGRkZGRkZGRkZGRkZGRkKEhgYGBgYEQAAAAAAAAAAAAAAAAAAAAAAAxgYGBgYGA8QGRkZGRkZGRkZGRkZEA8YGBgYGBgDAAAAAAAAAAAAAAAAAAAAAAAAAAsYGBgYGBgYDA0OChkZGRkKDg0MGBgYGBgYGAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGBgYGBgYGBgYGBgYGBgYGBgYCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcYGBgYGBgYGBgYGBgYGAcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYYGAYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA",error:"data:image/x-icon;base64,AAABAAEAMDAAAAEACACoDgAAFgAAACgAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAAAAAAAALi7oACcn2wAlJdsAJibcACYm3AAmJtsAJyfdACUl3QAmJtsAKCjdACUl3AAmJtwAJyfcACYm3AAoKNcAJibcACcn3AAmJt0AJibcACUl3AAmJtwAKCjbACcn3AAmJtsAJibcAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAABxkZGRAaGhoaGhoaGhYXFxYaGhoaGhoaGhgXFxYaGhoaGhoaGhAZGRkHAAAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAADGRkZDRoaGhoaGhoaGhgZGRkZGRgaGhgZGRkZGRYaGhoaGhoaGhoNGRkZAwAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAZGRkZGhoaGhoaGhoaGhoaGhoYGRkZGRkZGBoaGhoaGhoaGhoaGhoaGRkZGQAAAAAGGRkZGhoaGhoaGhoaGhoaGhgZGRkZGRkZGRgaGhoaGhoaGhoaGhoaGRkZBgAAAAAFGRkZDxoaGhoaGhoaGhoaGBkZGRkZGRkZGRkYGhoaGhoaGhoaGhoPGRkZBQAAAAAEGRkZDhoaGhoaGhoaGhoYGRkZGRkYGBkZGRkZGBoaGhoaGhoaGhoOGRkZBAAAAAADGRkZDRoaGhoaGhoaGhYZGRkZGRgaGhgZGRkZGRgaGhoaGhoaGhoNGRkZAwAAAAACGRkZDBoaGhoaGhoaGhcZGRkZGBoaGhoYGRkZGRcaGhoaGhoaGhoMGRkZAgAAAAABGRkZGREaGhoaGhoaGhcZGRkYGhoaGhoaGBkZGRcaGhoaGhoaGhEZGRkZAQAAAAAABxkZGRAaGhoaGhoaGhYXFxgaGhoaGhoaGhYXFxYaGhoaGhoaGhAZGRkHAAAAAAAAAhkZGRkPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxkZGRkCAAAAAAAAAAkZGRkTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaExkZGQkAAAAAAAAAAAgZGRkZFBoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoUGRkZGQgAAAAAAAAAAAAEGRkZGREaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhEZGRkZBAAAAAAAAAAAAAAKGRkZGRUPGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaDxUZGRkZCgAAAAAAAAAAAAAACxkZGRkVERoaGhoaGhoaGhoaGhoaGhoaGhoaGhoRFRkZGRkLAAAAAAAAAAAAAAAAAAMZGRkZGRQaGhoaGhoaGhoaGhoaGhoaGhoaGhQZGRkZGQMAAAAAAAAAAAAAAAAAAAASGRkZGRkTDxoaGhoaGhoaGhoaGhoaGhoPExkZGRkZEgAAAAAAAAAAAAAAAAAAAAAAAxkZGRkZGRARGhoaGhoaGhoaGhoaERAZGRkZGRkDAAAAAAAAAAAAAAAAAAAAAAAAAAsZGRkZGRkZDA0ODxoaGhoPDg0MGRkZGRkZGQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAKBBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgJGRkZGRkZGRkZGRkZGRkZGRkZCQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcZGRkZGRkZGRkZGRkZGQcCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMEBQYZGQYFBAMCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////AAD///////8AAP//gAH//wAA//4AAH//AAD/+AAAH/8AAP/gAAAH/wAA/8AAAAP/AAD/gAAAAf8AAP8AAAAA/wAA/gAAAAB/AAD8AAAAAD8AAPgAAAAAHwAA+AAAAAAfAADwAAAAAA8AAPAAAAAADwAA4AAAAAAHAADgAAAAAAcAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADgAAAAAAcAAOAAAAAABwAA8AAAAAAPAADwAAAAAA8AAPgAAAAAHwAA+AAAAAAfAAD8AAAAAD8AAP4AAAAAfwAA/wAAAAD/AAD/gAAAAf8AAP/AAAAD/wAA/+AAAAf/AAD/+AAAH/8AAP/+AAB//wAA//+AAf//AAD///////8AAP///////wAA"};async function L(a){return Sa[a]}function Fa(a){if(document.visibilityState==="visible")return;let A=async()=>{a===0?new Notification("Execution completed",{body:"Your notebook run completed successfully.",icon:await L("success")}):new Notification("Execution failed",{body:`Your notebook run encountered ${a} error(s).`,icon:await L("error")})};!("Notification"in window)||Notification.permission==="denied"||(Notification.permission==="granted"?A():Notification.permission==="default"&&Notification.requestPermission().then(e=>{e==="granted"&&A()}))}const Qa=a=>{let{isRunning:A}=a,e=Re(),t=document.querySelector("link[rel~='icon']");t||(t=document.createElement("link"),t.rel="icon",document.getElementsByTagName("head")[0].append(t)),(0,u.useEffect)(()=>{!A&&t.href.includes("favicon")||(async()=>{let G;if(G=A?"running":e.length===0?"success":"error",t.href=await L(G),!document.hasFocus())return;let s=setTimeout(async()=>{t.href=await L("idle")},3e3);return()=>clearTimeout(s)})()},[A,e,t]);let o=ze(A)??A;return(0,u.useEffect)(()=>{o&&!A&&Fa(e.length)},[e,o,A]),ye(window,"focus",async G=>{A||(t.href=await L("idle"))}),null};function Pa(){let{cellRuntime:a}=mA.get(ke),A=wA.entries(a).find(([e,t])=>t.status==="running");A&&ca(A[0],"focus")}var O=d();const La=a=>{let A=(0,O.c)(22),{connection:e,isRunning:t}=a,{mode:o}=C(Ze),G=e.state===p.CLOSED,s=e.state===p.OPEN,k;A[0]!==e.canTakeover||A[1]!==G?(k=G&&!e.canTakeover&&(0,n.jsx)(Ka,{}),A[0]=e.canTakeover,A[1]=G,A[2]=k):k=A[2];let r=o==="read"?"fixed":"absolute",i;A[3]===r?i=A[4]:(i=Y("z-50 top-4 left-4",r),A[3]=r,A[4]=i);let R;A[5]!==s||A[6]!==t?(R=s&&t&&(0,n.jsx)(Ia,{}),A[5]=s,A[6]=t,A[7]=R):R=A[7];let l;A[8]!==e.canTakeover||A[9]!==G?(l=G&&!e.canTakeover&&(0,n.jsx)(Oa,{}),A[8]=e.canTakeover,A[9]=G,A[10]=l):l=A[10];let c;A[11]!==e.canTakeover||A[12]!==G?(c=G&&e.canTakeover&&(0,n.jsx)(Ta,{}),A[11]=e.canTakeover,A[12]=G,A[13]=c):c=A[13];let g;A[14]!==i||A[15]!==R||A[16]!==l||A[17]!==c?(g=(0,n.jsxs)("div",{className:i,children:[R,l,c]}),A[14]=i,A[15]=R,A[16]=l,A[17]=c,A[18]=g):g=A[18];let B;return A[19]!==k||A[20]!==g?(B=(0,n.jsxs)(n.Fragment,{children:[k,g]}),A[19]=k,A[20]=g,A[21]=B):B=A[21],B};var hA="print:hidden pointer-events-auto hover:cursor-pointer",Oa=()=>{let a=(0,O.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,n.jsx)(lA,{content:"App disconnected",children:(0,n.jsx)("div",{className:hA,children:(0,n.jsx)(xa,{className:"w-[25px] h-[25px] text-(--red-11)"})})}),a[0]=A):A=a[0],A},Ta=()=>{let a=(0,O.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,n.jsx)(lA,{content:"Notebook locked",children:(0,n.jsx)("div",{className:hA,children:(0,n.jsx)(na,{className:"w-[25px] h-[25px] text-(--blue-11)"})})}),a[0]=A):A=a[0],A},Ia=()=>{let a=(0,O.c)(6),A=C(Ge),e=A?"Scratchpad is running":"Jump to running cell",t=A?void 0:Pa,o;a[0]===Symbol.for("react.memo_cache_sentinel")?(o=(0,n.jsx)(fa,{className:"running-app-icon",size:30,strokeWidth:1}),a[0]=o):o=a[0];let G;a[1]===t?G=a[2]:(G=(0,n.jsx)("div",{className:hA,"data-testid":"loading-indicator",onClick:t,children:o}),a[1]=t,a[2]=G);let s;return a[3]!==G||a[4]!==e?(s=(0,n.jsx)(lA,{content:e,side:"right",children:G}),a[3]=G,a[4]=e,a[5]=s):s=a[5],s},Ka=()=>{let a=(0,O.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"noise"}),(0,n.jsx)("div",{className:"disconnected-gradient"})]}),a[0]=A):A=a[0],A},b=d(),Ha=Te,Ua=He,Va=Oe(Ke),PA=u.forwardRef((a,A)=>{let e=(0,b.c)(9),t,o;e[0]===a?(t=e[1],o=e[2]):({className:t,...o}=a,e[0]=a,e[1]=t,e[2]=o);let G;e[3]===t?G=e[4]:(G=Y("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),e[3]=t,e[4]=G);let s;return e[5]!==o||e[6]!==A||e[7]!==G?(s=(0,n.jsx)(DA,{className:G,...o,ref:A}),e[5]=o,e[6]=A,e[7]=G,e[8]=s):s=e[8],s});PA.displayName=DA.displayName;var qa=Qe("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),LA=u.forwardRef((a,A)=>{let e=(0,b.c)(15),t,o,G,s;e[0]===a?(t=e[1],o=e[2],G=e[3],s=e[4]):({side:s,className:o,children:t,...G}=a,e[0]=a,e[1]=t,e[2]=o,e[3]=G,e[4]=s);let k=s===void 0?"right":s,r;e[5]===Symbol.for("react.memo_cache_sentinel")?(r=(0,n.jsx)(PA,{}),e[5]=r):r=e[5];let i;e[6]!==o||e[7]!==k?(i=Y(qa({side:k}),o),e[6]=o,e[7]=k,e[8]=i):i=e[8];let R;e[9]===Symbol.for("react.memo_cache_sentinel")?(R=(0,n.jsxs)(Ie,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary",children:[(0,n.jsx)(Za,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]}),e[9]=R):R=e[9];let l;return e[10]!==t||e[11]!==G||e[12]!==A||e[13]!==i?(l=(0,n.jsx)(Va,{children:(0,n.jsxs)(Le,{children:[r,(0,n.jsxs)(EA,{ref:A,className:i,...G,children:[t,R]})]})}),e[10]=t,e[11]=G,e[12]=A,e[13]=i,e[14]=l):l=e[14],l});LA.displayName=EA.displayName;var Wa=a=>{let A=(0,b.c)(8),e,t;A[0]===a?(e=A[1],t=A[2]):({className:e,...t}=a,A[0]=a,A[1]=e,A[2]=t);let o;A[3]===e?o=A[4]:(o=Y("flex flex-col space-y-2 text-center sm:text-left",e),A[3]=e,A[4]=o);let G;return A[5]!==t||A[6]!==o?(G=(0,n.jsx)("div",{className:o,...t}),A[5]=t,A[6]=o,A[7]=G):G=A[7],G};Wa.displayName="SheetHeader";var Xa=a=>{let A=(0,b.c)(8),e,t;A[0]===a?(e=A[1],t=A[2]):({className:e,...t}=a,A[0]=a,A[1]=e,A[2]=t);let o;A[3]===e?o=A[4]:(o=Y("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),A[3]=e,A[4]=o);let G;return A[5]!==t||A[6]!==o?(G=(0,n.jsx)("div",{className:o,...t}),A[5]=t,A[6]=o,A[7]=G):G=A[7],G};Xa.displayName="SheetFooter";var Ja=u.forwardRef((a,A)=>{let e=(0,b.c)(9),t,o;e[0]===a?(t=e[1],o=e[2]):({className:t,...o}=a,e[0]=a,e[1]=t,e[2]=o);let G;e[3]===t?G=e[4]:(G=Y("text-lg font-semibold text-foreground",t),e[3]=t,e[4]=G);let s;return e[5]!==o||e[6]!==A||e[7]!==G?(s=(0,n.jsx)(yA,{ref:A,className:G,...o}),e[5]=o,e[6]=A,e[7]=G,e[8]=s):s=e[8],s});Ja.displayName=yA.displayName;var za=u.forwardRef((a,A)=>{let e=(0,b.c)(9),t,o;e[0]===a?(t=e[1],o=e[2]):({className:t,...o}=a,e[0]=a,e[1]=t,e[2]=o);let G;e[3]===t?G=e[4]:(G=Y("text-sm text-muted-foreground",t),e[3]=t,e[4]=G);let s;return e[5]!==o||e[6]!==A||e[7]!==G?(s=(0,n.jsx)(vA,{ref:A,className:G,...o}),e[5]=o,e[6]=A,e[7]=G,e[8]=s):s=e[8],s});za.displayName=vA.displayName;var $a=d();const dA=(0,u.memo)(()=>{let a=(0,$a.c)(1),A;return a[0]===Symbol.for("react.memo_cache_sentinel")?(A=(0,n.jsx)(Ue,{name:CA.SIDEBAR}),a[0]=A):A=a[0],A});dA.displayName="SidebarSlot";var At=d();const et=a=>{let A=(0,At.c)(6),{openWidth:e}=a,t;A[0]===Symbol.for("react.memo_cache_sentinel")?(t=(0,n.jsx)(Ua,{className:"lg:hidden",asChild:!0,children:(0,n.jsx)(ZA,{variant:"ghost",className:"bg-background",children:(0,n.jsx)(FA,{className:"w-5 h-5"})})}),A[0]=t):t=A[0];let o;A[1]===e?o=A[2]:(o={maxWidth:e},A[1]=e,A[2]=o);let G;A[3]===Symbol.for("react.memo_cache_sentinel")?(G=(0,n.jsx)(dA,{}),A[3]=G):G=A[3];let s;return A[4]===o?s=A[5]:(s=(0,n.jsxs)(Ha,{children:[t,(0,n.jsx)(LA,{className:"w-full px-3 h-full flex flex-col overflow-y-auto",style:o,side:"left",children:G})]}),A[4]=o,A[5]=s),s};var at=d();const tt=a=>{let A=(0,at.c)(7),{isOpen:e,toggle:t}=a,o=e?"rotate-0":"rotate-180",G;A[0]===o?G=A[1]:(G=Y("h-5 w-5 transition-transform ease-in-out duration-700",o),A[0]=o,A[1]=G);let s;A[2]===G?s=A[3]:(s=(0,n.jsx)(qe,{className:G}),A[2]=G,A[3]=s);let k;return A[4]!==s||A[5]!==t?(k=(0,n.jsx)("div",{className:"invisible lg:visible absolute top-[12px] right-[16px] z-20",children:(0,n.jsx)(ZA,{onClick:t,className:"w-10 h-8",variant:"ghost",size:"icon",children:s})}),A[4]=s,A[5]=t,A[6]=k):k=A[6],k};var Gt=d();const ot=a=>{let A=(0,Gt.c)(11),{isOpen:e,toggle:t,width:o}=a,G=e?o:De,s;A[0]===G?s=A[1]:(s={width:G},A[0]=G,A[1]=s);let k;A[2]===Symbol.for("react.memo_cache_sentinel")?(k=Y("app-sidebar auto-collapse-nav","top-0 left-0 z-20 h-full hidden lg:block relative transition-[width] ease-in-out duration-300"),A[2]=k):k=A[2];let r;A[3]!==e||A[4]!==t?(r=(0,n.jsx)(tt,{isOpen:e,toggle:t}),A[3]=e,A[4]=t,A[5]=r):r=A[5];let i;A[6]===Symbol.for("react.memo_cache_sentinel")?(i=(0,n.jsx)("div",{className:"relative h-full flex flex-col px-3 pb-16 pt-14 overflow-y-auto shadow-sm border-l",children:(0,n.jsx)(dA,{})}),A[6]=i):i=A[6];let R;return A[7]!==e||A[8]!==s||A[9]!==r?(R=(0,n.jsxs)("aside",{"data-expanded":e,style:s,className:k,children:[r,i]}),A[7]=e,A[8]=s,A[9]=r,A[10]=R):R=A[10],R};var st=d();const rt=a=>{let A=(0,st.c)(15),{children:e}=a,[t,o]=YA(xe),{isOpen:G,width:s}=t;if(Ve(CA.SIDEBAR).length===0)return e;let k;A[0]===s?k=A[1]:(k=pe(s),A[0]=s,A[1]=k);let r=k,i;A[2]!==o||A[3]!==G?(i=()=>o({type:"toggle",isOpen:!G}),A[2]=o,A[3]=G,A[4]=i):i=A[4];let R;A[5]!==G||A[6]!==r||A[7]!==i?(R=(0,n.jsx)(ot,{isOpen:G,width:r,toggle:i}),A[5]=G,A[6]=r,A[7]=i,A[8]=R):R=A[8];let l;A[9]===r?l=A[10]:(l=(0,n.jsx)("div",{className:"absolute top-3 left-4 flex items-center z-50",children:(0,n.jsx)(et,{openWidth:r})}),A[9]=r,A[10]=l);let c;return A[11]!==e||A[12]!==R||A[13]!==l?(c=(0,n.jsxs)("div",{className:"inset-0 absolute flex",children:[R,l,e]}),A[11]=e,A[12]=R,A[13]=l,A[14]=c):c=A[14],c};var nt=d();const kt=a=>{let A=(0,nt.c)(17),{width:e,connection:t,isRunning:o,children:G}=a,s=t.state,k;A[0]===o?k=A[1]:(k=(0,n.jsx)(Qa,{isRunning:o}),A[0]=o,A[1]=k);let r;A[2]!==t||A[3]!==o?(r=(0,n.jsx)(La,{connection:t,isRunning:o}),A[2]=t,A[3]=o,A[4]=r):r=A[4];let i;A[5]!==s||A[6]!==e?(i=Y("mathjax_ignore",Me(s)&&"disconnected","bg-background w-full h-full text-textColor","flex flex-col overflow-y-auto",e==="full"&&"config-width-full",e==="columns"?"overflow-x-auto":"overflow-x-hidden","print:height-fit"),A[5]=s,A[6]=e,A[7]=i):i=A[7];let R;A[8]!==G||A[9]!==s||A[10]!==i||A[11]!==e?(R=(0,n.jsx)(Ma,{children:(0,n.jsx)(rt,{children:(0,n.jsx)("div",{id:"App","data-config-width":e,"data-connection-state":s,className:i,children:G})})}),A[8]=G,A[9]=s,A[10]=i,A[11]=e,A[12]=R):R=A[12];let l;return A[13]!==k||A[14]!==r||A[15]!==R?(l=(0,n.jsxs)(n.Fragment,{children:[k,r,R]}),A[13]=k,A[14]=r,A[15]=R,A[16]=l):l=A[16],l};function it(a){return a.kind==="missing"}function OA(a){return a.kind==="installing"}var{valueAtom:Rt,useActions:lt}=We(()=>({packageAlert:null,startupLogsAlert:null,packageLogs:{}}),{addPackageAlert:(a,A)=>{var o;let e={...a.packageLogs};if(OA(A)&&A.logs&&A.log_status)for(let[G,s]of Object.entries(A.logs))switch(A.log_status){case"start":e[G]=s;break;case"append":e[G]=(e[G]||"")+s;break;case"done":e[G]=(e[G]||"")+s;break}let t=((o=a.packageAlert)==null?void 0:o.id)||ia();return{...a,packageAlert:{id:t,...A},packageLogs:e}},clearPackageAlert:(a,A)=>a.packageAlert!==null&&a.packageAlert.id===A?{...a,packageAlert:null,packageLogs:{}}:a,addStartupLog:(a,A)=>{var t;let e=((t=a.startupLogsAlert)==null?void 0:t.content)||"";return{...a,startupLogsAlert:{...a.startupLogsAlert,content:e+A.content,status:A.status}}},clearStartupLogsAlert:a=>({...a,startupLogsAlert:null})});const Zt=()=>C(Rt);function TA(){return lt()}var IA=d();const KA=(0,u.memo)(a=>{let A=(0,IA.c)(11),{appConfig:e,mode:t,children:o}=a,{selectedLayout:G,layoutData:s}=$e(),k=C(xA);if(t==="edit"&&!k)return o;let r;if(A[0]!==t||A[1]!==G){r=G;let c=new URLSearchParams(window.location.search);if(t==="read"&&c.has(iA.viewAs)){let g=c.get(iA.viewAs);ma.includes(g)&&(r=g)}A[0]=t,A[1]=G,A[2]=r}else r=A[2];let i;A[3]===r?i=A[4]:(i=ea.find(c=>c.type===r),A[3]=r,A[4]=i);let R=i;if(!R)return o;let l;return A[5]!==e||A[6]!==r||A[7]!==s||A[8]!==t||A[9]!==R?(l=(0,n.jsx)(ct,{appConfig:e,mode:t,plugin:R,layoutData:s,finalLayout:r}),A[5]=e,A[6]=r,A[7]=s,A[8]=t,A[9]=R,A[10]=l):l=A[10],l});KA.displayName="CellsRenderer";const ct=a=>{let A=(0,IA.c)(18),{appConfig:e,mode:t,plugin:o,layoutData:G,finalLayout:s}=a,k=JA(),{setCurrentLayoutData:r}=MA(),i,R,l,c,g;if(A[0]!==e||A[1]!==s||A[2]!==G||A[3]!==t||A[4]!==k||A[5]!==o){let x=le(k);i=o.Component,R=e,l=t,c=x,g=G[s]||o.getInitialLayout(x),A[0]=e,A[1]=s,A[2]=G,A[3]=t,A[4]=k,A[5]=o,A[6]=i,A[7]=R,A[8]=l,A[9]=c,A[10]=g}else i=A[6],R=A[7],l=A[8],c=A[9],g=A[10];let B;return A[11]!==i||A[12]!==r||A[13]!==R||A[14]!==l||A[15]!==c||A[16]!==g?(B=(0,n.jsx)(i,{appConfig:R,mode:l,cells:c,layout:g,setLayout:r}),A[11]=i,A[12]=r,A[13]=R,A[14]=l,A[15]=c,A[16]=g,A[17]=B):B=A[17],B};var gt=class HA{constructor(A){nA(this,"hasStarted",!1);nA(this,"handleReadyEvent",A=>{let e=A.detail.objectId;if(!this.uiElementRegistry.has(e))return;let t=this.uiElementRegistry.lookupValue(e);t!==void 0&&this.sendComponentValues({objectIds:[e],values:[t]}).catch(o=>{D.warn(o)})});this.uiElementRegistry=A}static get INSTANCE(){let A="_marimo_private_RuntimeState";return window[A]||(window[A]=new HA(Q)),window[A]}get sendComponentValues(){if(!this._sendComponentValues)throw Error("sendComponentValues is not set");return this._sendComponentValues}start(A){if(this.hasStarted){D.warn("RuntimeState already started");return}this._sendComponentValues=A,document.addEventListener(SA.TYPE,this.handleReadyEvent),this.hasStarted=!0}stop(){if(!this.hasStarted){D.warn("RuntimeState already stopped");return}document.removeEventListener(SA.TYPE,this.handleReadyEvent),this.hasStarted=!1}},ht=d();function dt(a){if(a.static)return Ee.empty();if(RA())return me();let A=a.url;return new ua(A,void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4})}function Bt(a){let A=(0,ht.c)(15),{onOpen:e,onMessage:t,onClose:o,onError:G,waitToConnect:s}=a,k;A[0]!==o||A[1]!==G||A[2]!==t||A[3]!==e||A[4]!==a?(k=()=>{let l=dt(a);return l.addEventListener("open",e),l.addEventListener("close",o),l.addEventListener("error",G),l.addEventListener("message",t),l},A[0]=o,A[1]=G,A[2]=t,A[3]=e,A[4]=a,A[5]=k):k=A[5];let[r]=(0,u.useState)(k),i;A[6]!==o||A[7]!==G||A[8]!==t||A[9]!==e||A[10]!==r||A[11]!==s?(i=()=>(r.readyState===WebSocket.CLOSED&&s().then(()=>r.reconnect()).catch(l=>{D.error("Healthy connection never made",l),r.close()}),()=>{D.warn("useConnectionTransport is unmounting. This likely means there is a bug."),r.close(),r.removeEventListener("open",e),r.removeEventListener("close",o),r.removeEventListener("error",G),r.removeEventListener("message",t)}),A[6]=o,A[7]=G,A[8]=t,A[9]=e,A[10]=r,A[11]=s,A[12]=i):i=A[12];let R;return A[13]===r?R=A[14]:(R=[r],A[13]=r,A[14]=R),(0,u.useEffect)(i,R),r}function ut(a){let{codes:A,names:e,configs:t,cell_ids:o,last_executed_code:G,last_execution_time:s}=a,k=G||{},r=s||{};return A.map((i,R)=>{let l=o[R],c=k[l];return ee({id:l,code:i,edited:c?c!==i:!1,name:e[R],lastCodeRun:k[l]??null,lastExecutionTime:r[l]??null,config:t[R]})})}function mt(a,A,e){let t=Aa(),{layout:o}=a;if(o){let G=o.type,s=aa({type:G,data:o.data,cells:A});t.selectedLayout=G,t.layoutData[G]=s,e({layoutView:G,data:s})}return t}function Yt(){let a=[],A=[];return Q.entries.forEach((e,t)=>{a.push(t),A.push(e.value)}),{objectIds:a,values:A}}function ft(a,A){let{existingCells:e,autoInstantiate:t,setCells:o,setLayoutData:G,setAppConfig:s,setCapabilities:k,setKernelState:r,onError:i}=A,{resumed:R,ui_values:l,app_config:c,capabilities:g,auto_instantiated:B}=a,x=e&&e.length>0,y=x&&!R?e:ut(a);o(y,mt(a,y,G));let v=Ce.safeParse(c);if(v.success?s(v.data):D.error("Failed to parse app config",v.error),k(g),B)return;if(R){for(let[m,j]of wA.entries(l||{})){let S=m;Q.set(S,j)}return}let{objectIds:M,values:N}=Yt(),_=x?Object.fromEntries(e.map(m=>[m.id,m.code])):void 0;Je().sendInstantiate({objectIds:M,values:N,autoRun:t,codes:_}).then(()=>{r({isInstantiated:!0,error:null})}).catch(m=>{r({isInstantiated:!1,error:m}),i(Error("Failed to instantiate",{cause:m}))})}function pt(a){let A=a.cell_id;Q.removeElementsByCell(A),NA.INSTANCE.removeForCellId(A)}function xt(a,A){A(a),NA.INSTANCE.track(a)}const z={append:a=>{let A=new URL(window.location.href);A.searchParams.append(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},set:a=>{let A=new URL(window.location.href);Array.isArray(a.value)?(A.searchParams.delete(a.key),a.value.forEach(e=>A.searchParams.append(a.key,e))):A.searchParams.set(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},delete:a=>{let A=new URL(window.location.href);a.value==null?A.searchParams.delete(a.key):A.searchParams.delete(a.key,a.value),window.history.pushState({},"",`${A.pathname}${A.search}`)},clear:()=>{let a=new URL(window.location.href);a.search="",window.history.pushState({},"",`${a.pathname}${a.search}`)}};var wt=d();function Dt(){return Object.values(kA().cellData).filter(a=>a.id!==XA)}function vt(a){let A=(0,wt.c)(41),e=(0,u.useRef)(!0),{autoInstantiate:t,sessionId:o,setCells:G}=a,{showBoundary:s}=Fe(),{handleCellMessage:k}=pA(),r;A[0]===Symbol.for("react.memo_cache_sentinel")?(r={skipMiddleware:!0},A[0]=r):r=A[0];let i=pA(r),R;A[1]===i?R=A[2]:(R=h=>{ce(h.changes,i,_t)},A[1]=i,A[2]=R);let l=R,{addCellNotification:c}=Ya(),g=F(ka),B=be(),{setVariables:x,setMetadata:y}=zA(),{addColumnPreview:v}=fA(),{addDatasets:M,filterDatasetsFromVariables:N}=fA(),{addDataSourceConnection:_,filterDataSourcesFromVariables:m}=oe(),{setLayoutData:j}=MA(),[S,w]=YA(Ne),{addBanner:$}=he(),{addPackageAlert:T,addStartupLog:AA}=TA(),eA=F(xA),aA=F(te),E=_e(),tA=F(da),GA=F(Be),{setNamespaces:oA,filterFromVariables:sA}=Ga(),I;A[3]!==$||A[4]!==c||A[5]!==v||A[6]!==_||A[7]!==M||A[8]!==T||A[9]!==AA||A[10]!==t||A[11]!==m||A[12]!==N||A[13]!==sA||A[14]!==k||A[15]!==l||A[16]!==B||A[17]!==tA||A[18]!==aA||A[19]!==G||A[20]!==GA||A[21]!==g||A[22]!==eA||A[23]!==j||A[24]!==y||A[25]!==oA||A[26]!==x||A[27]!==s?(I=h=>{let Z=ae(h.data);switch(Z.data.op){case"reload":_A();return;case"kernel-ready":{let f=Dt();ft(Z.data,{autoInstantiate:t,setCells:G,setLayoutData:j,setAppConfig:B,setCapabilities:aA,setKernelState:g,onError:s,existingCells:f}),eA(Z.data.kiosk);return}case"completed-run":return;case"interrupted":return;case"kernel-startup-error":GA(Z.data.error);return;case"send-ui-element-message":{let f=Z.data.ui_element;if(f){let UA=sa(Z.data);Q.broadcastMessage(f,Z.data.message,UA)}return}case"model-lifecycle":ue(we,Z.data);return;case"remove-ui-elements":pt(Z.data);return;case"completion-result":ne.resolve(Z.data.completion_id,Z.data);return;case"function-call-result":Ye.resolve(Z.data.function_call_id,Z.data);return;case"cell-op":{xt(Z.data,k);let f=kA().cellData[Z.data.cell_id];if(!f)return;c({cellNotification:Z.data,code:f.code});return}case"variables":x(Z.data.variables.map(Nt)),N(Z.data.variables.map(Mt)),m(Z.data.variables.map(bt)),sA(Z.data.variables.map(Ct));return;case"variable-values":y(Z.data.variables.map(yt));return;case"alert":cA({title:Z.data.title,description:la({html:Z.data.description}),variant:Z.data.variant});return;case"banner":$(Z.data);return;case"missing-package-alert":T({...Z.data,kind:"missing"});return;case"installing-package-alert":T({...Z.data,kind:"installing"});return;case"startup-logs":AA({content:Z.data.content,status:Z.data.status});return;case"query-params-append":z.append(Z.data);return;case"query-params-set":z.set(Z.data);return;case"query-params-delete":z.delete(Z.data);return;case"query-params-clear":z.clear();return;case"datasets":M(Z.data);return;case"data-column-preview":v(Z.data);return;case"sql-table-preview":se.resolve(Z.data.request_id,Z.data);return;case"sql-table-list-preview":re.resolve(Z.data.request_id,Z.data);return;case"sql-schema-list-preview":Ae.resolve(Z.data.request_id,Z.data);return;case"validate-sql-result":$A.resolve(Z.data.request_id,Z.data);return;case"secret-keys-result":Ba.resolve(Z.data.request_id,Z.data);return;case"cache-info":tA(Z.data);return;case"cache-cleared":return;case"data-source-connections":_({connections:Z.data.connections.map(Et)});return;case"storage-namespaces":oA(Z.data);return;case"storage-entries":oa.resolve(Z.data.request_id,Z.data);return;case"storage-download-ready":ta.resolve(Z.data.request_id,Z.data);return;case"reconnected":return;case"focus-cell":ge(Z.data.cell_id);return;case"notebook-document-transaction":l(Z.data.transaction);return;default:Xe(Z.data)}},A[3]=$,A[4]=c,A[5]=v,A[6]=_,A[7]=M,A[8]=T,A[9]=AA,A[10]=t,A[11]=m,A[12]=N,A[13]=sA,A[14]=k,A[15]=l,A[16]=B,A[17]=tA,A[18]=aA,A[19]=G,A[20]=GA,A[21]=g,A[22]=eA,A[23]=j,A[24]=y,A[25]=oA,A[26]=x,A[27]=s,A[28]=I):I=A[28];let rA=I,BA=(h,Z)=>{e.current&&(e.current=!1,W.reconnect(h,Z))},K;A[29]===Symbol.for("react.memo_cache_sentinel")?(K=bA(),A[29]=K):K=A[29];let H;A[30]!==E||A[31]!==o?(H=()=>E.getWsURL(o).toString(),A[30]=E,A[31]=o,A[32]=H):H=A[32];let U;A[33]===w?U=A[34]:(U=async()=>{e.current=!0,w({state:p.OPEN})},A[33]=w,A[34]=U);let V;A[35]===E?V=A[36]:(V=async()=>{bA()||RA()||E.isSameOrigin||await E.waitForHealthy()},A[35]=E,A[36]=V);let q;A[37]===rA?q=A[38]:(q=h=>{try{rA(h)}catch(Z){let f=Z;D.error("Failed to handle message",h.data,f),cA({title:"Failed to handle message",description:jA(f),variant:"danger"})}},A[37]=rA,A[38]=q);let W=Bt({static:K,url:H,onOpen:U,waitToConnect:V,onMessage:q,onClose:h=>{switch(D.warn("WebSocket closed",h.code,h.reason),h.reason){case"MARIMO_ALREADY_CONNECTED":w({state:p.CLOSED,code:P.ALREADY_RUNNING,reason:"another browser tab is already connected to the kernel",canTakeover:!0}),W.close();return;case"MARIMO_WRONG_KERNEL_ID":case"MARIMO_NO_FILE_KEY":case"MARIMO_NO_SESSION_ID":case"MARIMO_NO_SESSION":case"MARIMO_SHUTDOWN":w({state:p.CLOSED,code:P.KERNEL_DISCONNECTED,reason:"kernel not found"}),W.close();return;case"MARIMO_MALFORMED_QUERY":w({state:p.CLOSED,code:P.MALFORMED_QUERY,reason:"the kernel did not recognize a request; please file a bug with marimo"});return;default:if(h.reason==="MARIMO_KERNEL_STARTUP_ERROR"){w({state:p.CLOSED,code:P.KERNEL_STARTUP_ERROR,reason:"Failed to start kernel sandbox"}),W.close();return}w({state:p.CONNECTING}),BA(h.code,h.reason)}},onError:h=>{D.warn("WebSocket error",h),w({state:p.CLOSED,code:P.KERNEL_DISCONNECTED,reason:"kernel not found"}),BA()}}),X;return A[39]===S?X=A[40]:(X={connection:S},A[39]=S,A[40]=X),X}function Et(a){return{...a,name:a.name}}function yt(a){return{name:a.name,dataType:a.datatype,value:a.value}}function Ct(a){return a.name}function bt(a){return a.name}function Mt(a){return a.name}function Nt(a){return{name:a.name,declaredBy:a.declared_by,usedBy:a.used_by}}function _t(){return kA().cellIds.inOrderIds}var jt=d();const St=a=>{let A=(0,jt.c)(2),{children:e}=a,t;return A[0]===e?t=A[1]:(t=(0,n.jsx)("div",{className:"flex flex-col flex-1 overflow-hidden absolute inset-0 print:relative",children:e}),A[0]=e,A[1]=t),t};export{OA as a,Zt as c,FA as d,KA as i,kt as l,vt as n,it as o,gt as r,TA as s,St as t,ya as u};
@@ -1 +1 @@
1
- import{s as R}from"./chunk-LvLJmgfZ.js";import{u as T}from"./useEvent-D91BmmQi.js";import{t as L}from"./react-Bj1aDYRI.js";import{E as $,fi as D,x as V}from"./cells-BA9ZN5Xy.js";import"./react-dom-CSu739Rf.js";import{t as I}from"./compiler-runtime-B3qBwwSJ.js";import{n as P}from"./constants-DMpttj8Q.js";import{S as W,d as F}from"./config-Calf6e81.js";import{t as M}from"./cn-DCUzRj2J.js";import{t as q}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import"./popover-UExmgBsf.js";import{P as G,st as B,v as H,vt as J}from"./JsonOutput-Cib1YSyW.js";import{r as K}from"./download-rCRPD7IF.js";import{n as Q,t as E}from"./button-D9nb17Rw.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as X}from"./requests-DIwGYs0l.js";import"./layout-Cp0JtSeH.js";import{c as Y}from"./state-Dlj7aAV2.js";import"./markdown-renderer-3M2UXZOE.js";import{t as Z}from"./copy-BwrPA9zQ.js";import{i as ee,l as te,n as re,r as O,t as se,u as oe}from"./panels-WQi_QnnZ.js";import{t as ae}from"./spinner-jEqwgi_c.js";import"./dist-BwejP-9J.js";import"./dist-G3xLh7ZX.js";import"./dist-idZNafp8.js";import"./dist-DfWgLTCQ.js";import"./dist-Dg3CCt0r.js";import{t as ie}from"./use-toast-PYIpV284.js";import{t as le}from"./session-DdhIEena.js";import"./purify.es-Cg0r2qW-.js";import"./dates-CtmdgiVR.js";import{n as me}from"./copy-BnK_ki61.js";import{a as ne,c as ce,l as de,n as pe,r as he,t as fe}from"./dialog-CqE8CV1Y.js";import{t as xe}from"./share-CJEPnWjm.js";import"./utils-DVodi8oQ.js";import"./vega-loader.browser-CRZ52CKf.js";import"./defaultLocale-D_rSvXvJ.js";import"./defaultLocale-C92Rrpmf.js";import{a as be}from"./cell-link-owqfXuA4.js";import"./chunk-5FQGJX7Z-wbiBygI_.js";import"./html-to-image-BOWUS6J2.js";import{n as je,t as ue}from"./react-resizable-panels.browser.esm-xQHRvEag.js";import"./esm-CcSYdGmP.js";import"./name-cell-input-CUkoykAD.js";import{n as ge,t as ye}from"./marimo-icons-Ce24dQVN.js";import"./ws-BV-4clkP.js";import"./dist-Bgd1ZX49.js";import"./dist-DDWNnRcK.js";import"./dist-Ct7BBGwl.js";import"./dist-a6hqEAyw.js";import"./dist-C5pbZROJ.js";import"./dist-D8llshvP.js";import"./dist-BvpmHCI2.js";import"./dist-B804XDz9.js";import"./dist-BiQrY0m-.js";import"./esm-jhgLTcf6.js";var ke=I(),_e=R(L(),1),t=R(q(),1);const Ne=o=>{let e=(0,ke.c)(25),{appConfig:s}=o,{setCells:r}=$(),{sendComponentValues:h}=X(),m;e[0]===h?m=e[1]:(m=()=>(O.INSTANCE.start(h),ve),e[0]=h,e[1]=m);let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[2]=l):l=e[2],(0,_e.useEffect)(m,l);let n;e[3]===Symbol.for("react.memo_cache_sentinel")?(n=le(),e[3]=n):n=e[3];let j;e[4]===r?j=e[5]:(j={autoInstantiate:!0,setCells:r,sessionId:n},e[4]=r,e[5]=j);let{connection:a}=re(j),k=T(V),u;e[6]===a.state?u=e[7]:(u=F(a.state),e[6]=a.state,e[7]=u);let b=u,g;e[8]!==s||e[9]!==b?(g=()=>b?(0,t.jsxs)(G,{milliseconds:2e3,fallback:null,children:[(0,t.jsx)(ae,{className:"mx-auto"}),(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-2",children:"Connecting..."})]}):(0,t.jsx)(ee,{appConfig:s,mode:"read"}),e[8]=s,e[9]=b,e[10]=g):g=e[10];let _=g,c;e:{if(typeof window>"u"){c=null;break e}let x,i;if(e[11]===Symbol.for("react.memo_cache_sentinel")){if(i=new URL(window.location.href),!i.searchParams.has("file")){c=null;break e}i.searchParams.delete("file"),x=i.searchParams.toString(),e[11]=x,e[12]=i,e[13]=c}else x=e[11],i=e[12],c=e[13];let w=x;c=w?`${i.pathname}?${w}`:i.pathname}let v=c,N=s.width,f;e[14]===Symbol.for("react.memo_cache_sentinel")?(f=v&&(0,t.jsx)("div",{className:"flex items-center px-6 pt-4 sm:-mt-8",children:(0,t.jsxs)("a",{href:v,"aria-label":"Back to gallery",className:M(Q({variant:"text",size:"sm"}),"gap-2 px-0 text-muted-foreground hover:text-foreground"),children:[(0,t.jsx)(Y,{className:"size-4","aria-hidden":!0}),(0,t.jsx)("span",{children:"Back"})]})}),e[14]=f):f=e[14];let d;e[15]===a?d=e[16]:(d=(0,t.jsx)(oe,{connection:a,className:"sm:pt-8",children:f}),e[15]=a,e[16]=d);let p;e[17]===_?p=e[18]:(p=_(),e[17]=_,e[18]=p);let y;return e[19]!==s.width||e[20]!==a||e[21]!==k||e[22]!==d||e[23]!==p?(y=(0,t.jsxs)(te,{connection:a,isRunning:k,width:N,children:[d,p]}),e[19]=s.width,e[20]=a,e[21]=k,e[22]=d,e[23]=p,e[24]=y):y=e[24],y};function ve(){O.INSTANCE.stop()}var U=I();const we=()=>{let o=(0,U.c)(3),e=T(D);if(!B()||!e)return null;let s;o[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsxs)("span",{children:["Static"," ",(0,t.jsx)("a",{href:P.githubPage,target:"_blank",className:"text-(--sky-11) font-medium underline",children:"marimo"})," ","notebook - Run or edit for full interactivity"]}),o[0]=s):s=o[0];let r;return o[1]===e?r=o[2]:(r=(0,t.jsxs)("div",{className:"px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 print:hidden text-sm","data-testid":"static-notebook-banner",children:[s,(0,t.jsx)("span",{className:"shrink-0",children:(0,t.jsx)(Se,{code:e})})]}),o[1]=e,o[2]=r),r};var Se=o=>{let e=(0,U.c)(39),{code:s}=o,r=be()||"notebook.py",h=r.lastIndexOf("/");h!==-1&&(r=r.slice(h+1));let m=window.location.href,l;e[0]===s?l=e[1]:(l=xe({code:s,baseUrl:`${P.molab}/new`}),e[0]=s,e[1]=l);let n=l,j;e[2]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsx)(de,{asChild:!0,children:(0,t.jsx)(E,{"data-testid":"static-notebook-dialog-trigger",variant:"outline",size:"xs",children:"Run or Edit"})}),e[2]=j):j=e[2];let a;e[3]===r?a=e[4]:(a=(0,t.jsx)(ce,{children:r}),e[3]=r,e[4]=a);let k;e[5]===Symbol.for("react.memo_cache_sentinel")?(k=(0,t.jsxs)("p",{children:["This is a static"," ",(0,t.jsx)("a",{href:P.githubPage,target:"_blank",className:"text-(--sky-11) hover:underline font-medium",children:"marimo"})," ","notebook. To run interactively:"]}),e[5]=k):k=e[5];let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=(0,t.jsx)("br",{}),e[6]=u):u=e[6];let b;e[7]===r?b=e[8]:(b=(0,t.jsx)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) leading-relaxed",children:["pip install marimo",u,"marimo edit ",r]})}),e[7]=r,e[8]=b);let g;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=!m.endsWith(".html")&&(0,t.jsxs)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:[(0,t.jsx)("div",{className:"text-sm text-(--sky-12) mb-1",children:"Or run directly from URL:"}),(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) break-all",children:["marimo edit ",window.location.href]})]}),e[9]=g):g=e[9];let _;e[10]===Symbol.for("react.memo_cache_sentinel")?(_=(0,t.jsx)(ge,{size:12,strokeWidth:1.5,className:"mr-1.5 mt-px text-(--grass-11)"}),e[10]=_):_=e[10];let c;e[11]===n?c=e[12]:(c=(0,t.jsx)(E,{asChild:!0,variant:"outline",size:"xs",className:"shrink-0",children:(0,t.jsxs)("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:[_,"Open in molab"]})}),e[11]=n,e[12]=c);let v;e[13]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsxs)("p",{className:"text-sm text-(--sky-12)",children:["Run this notebook in"," ",(0,t.jsx)("span",{className:"font-semibold",children:"molab"}),", marimo's cloud-hosted notebook platform."]}),e[13]=v):v=e[13];let N;e[14]===c?N=e[15]:(N=(0,t.jsxs)("div",{className:"pt-3 border-t flex gap-2 items-center",children:[c,v]}),e[14]=c,e[15]=N);let f;e[16]!==N||e[17]!==b?(f=(0,t.jsxs)(he,{className:"pt-3 text-left space-y-3",children:[k,b,g,N]}),e[16]=N,e[17]=b,e[18]=f):f=e[18];let d;e[19]!==f||e[20]!==a?(d=(0,t.jsxs)(ne,{children:[a,f]}),e[19]=f,e[20]=a,e[21]=d):d=e[21];let p;e[22]===s?p=e[23]:(p=async()=>{await me(s),ie({title:"Copied to clipboard"})},e[22]=s,e[23]=p);let y;e[24]===Symbol.for("react.memo_cache_sentinel")?(y=(0,t.jsx)(Z,{className:"w-3 h-3 mr-2"}),e[24]=y):y=e[24];let x;e[25]===p?x=e[26]:(x=(0,t.jsxs)(E,{"data-testid":"copy-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:p,children:[y,"Copy code"]}),e[25]=p,e[26]=x);let i;e[27]!==s||e[28]!==r?(i=()=>{K(new Blob([s],{type:"text/plain"}),r)},e[27]=s,e[28]=r,e[29]=i):i=e[29];let w;e[30]===Symbol.for("react.memo_cache_sentinel")?(w=(0,t.jsx)(J,{className:"w-3 h-3 mr-2"}),e[30]=w):w=e[30];let S;e[31]===i?S=e[32]:(S=(0,t.jsxs)(E,{"data-testid":"download-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:i,children:[w,"Download"]}),e[31]=i,e[32]=S);let C;e[33]!==x||e[34]!==S?(C=(0,t.jsxs)("div",{className:"flex gap-3 pt-2",children:[x,S]}),e[33]=x,e[34]=S,e[35]=C):C=e[35];let z;return e[36]!==d||e[37]!==C?(z=(0,t.jsxs)(fe,{children:[j,(0,t.jsxs)(pe,{children:[d,C]})]}),e[36]=d,e[37]=C,e[38]=z):z=e[38],z},A=I(),Ce=W()||B(),ze=o=>{let e=(0,A.c)(9),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(we,{}),e[0]=s):s=e[0];let r;e[1]===o.appConfig?r=e[2]:(r=(0,t.jsx)(Ne,{appConfig:o.appConfig}),e[1]=o.appConfig,e[2]=r);let h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h=Ce&&(0,t.jsx)(Pe,{}),e[3]=h):h=e[3];let m;e[4]===r?m=e[5]:(m=(0,t.jsxs)(ue,{children:[s,r,h]}),e[4]=r,e[5]=m);let l;e[6]===Symbol.for("react.memo_cache_sentinel")?(l=(0,t.jsx)(H,{}),e[6]=l):l=e[6];let n;return e[7]===m?n=e[8]:(n=(0,t.jsx)(se,{children:(0,t.jsxs)(je,{direction:"horizontal",autoSaveId:"marimo:chrome:v1:run1",children:[m,l]})}),e[7]=m,e[8]=n),n},Pe=()=>{let o=(0,A.c)(1),e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsx)("div",{className:"fixed bottom-0 right-0 z-50","data-testid":"watermark",children:(0,t.jsxs)("a",{href:P.githubPage,target:"_blank",className:"text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2",children:[(0,t.jsx)("span",{children:"made with marimo"}),(0,t.jsx)(ye,{className:"h-4 w-auto"})]})}),o[0]=e):e=o[0],e},Ee=ze;export{Ee as default};
1
+ import{s as R}from"./chunk-LvLJmgfZ.js";import{u as T}from"./useEvent-D91BmmQi.js";import{t as L}from"./react-Bj1aDYRI.js";import{E as $,fi as D,x as V}from"./cells-BA9ZN5Xy.js";import"./react-dom-CSu739Rf.js";import{t as I}from"./compiler-runtime-B3qBwwSJ.js";import{n as P}from"./constants-DMpttj8Q.js";import{S as W,d as F}from"./config-Calf6e81.js";import{t as M}from"./cn-DCUzRj2J.js";import{t as q}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import"./popover-UExmgBsf.js";import{P as G,st as B,v as H,vt as J}from"./JsonOutput-Cib1YSyW.js";import{r as K}from"./download-rCRPD7IF.js";import{n as Q,t as E}from"./button-D9nb17Rw.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as X}from"./requests-DIwGYs0l.js";import"./layout-Cp0JtSeH.js";import{c as Y}from"./state-Dlj7aAV2.js";import"./markdown-renderer-3M2UXZOE.js";import{t as Z}from"./copy-BwrPA9zQ.js";import{i as ee,l as te,n as re,r as O,t as se,u as oe}from"./panels-rhd1T559.js";import{t as ae}from"./spinner-jEqwgi_c.js";import"./dist-BwejP-9J.js";import"./dist-G3xLh7ZX.js";import"./dist-idZNafp8.js";import"./dist-DfWgLTCQ.js";import"./dist-Dg3CCt0r.js";import{t as ie}from"./use-toast-PYIpV284.js";import{t as le}from"./session-DdhIEena.js";import"./purify.es-Cg0r2qW-.js";import"./dates-CtmdgiVR.js";import{n as me}from"./copy-BnK_ki61.js";import{a as ne,c as ce,l as de,n as pe,r as he,t as fe}from"./dialog-CqE8CV1Y.js";import{t as xe}from"./share-CJEPnWjm.js";import"./utils-DVodi8oQ.js";import"./vega-loader.browser-CRZ52CKf.js";import"./defaultLocale-D_rSvXvJ.js";import"./defaultLocale-C92Rrpmf.js";import{a as be}from"./cell-link-owqfXuA4.js";import"./chunk-5FQGJX7Z-wbiBygI_.js";import"./html-to-image-BOWUS6J2.js";import{n as je,t as ue}from"./react-resizable-panels.browser.esm-xQHRvEag.js";import"./esm-CcSYdGmP.js";import"./name-cell-input-CUkoykAD.js";import{n as ge,t as ye}from"./marimo-icons-Ce24dQVN.js";import"./ws-BV-4clkP.js";import"./dist-Bgd1ZX49.js";import"./dist-DDWNnRcK.js";import"./dist-Ct7BBGwl.js";import"./dist-a6hqEAyw.js";import"./dist-C5pbZROJ.js";import"./dist-D8llshvP.js";import"./dist-BvpmHCI2.js";import"./dist-B804XDz9.js";import"./dist-BiQrY0m-.js";import"./esm-jhgLTcf6.js";var ke=I(),_e=R(L(),1),t=R(q(),1);const Ne=o=>{let e=(0,ke.c)(25),{appConfig:s}=o,{setCells:r}=$(),{sendComponentValues:h}=X(),m;e[0]===h?m=e[1]:(m=()=>(O.INSTANCE.start(h),ve),e[0]=h,e[1]=m);let l;e[2]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[2]=l):l=e[2],(0,_e.useEffect)(m,l);let n;e[3]===Symbol.for("react.memo_cache_sentinel")?(n=le(),e[3]=n):n=e[3];let j;e[4]===r?j=e[5]:(j={autoInstantiate:!0,setCells:r,sessionId:n},e[4]=r,e[5]=j);let{connection:a}=re(j),k=T(V),u;e[6]===a.state?u=e[7]:(u=F(a.state),e[6]=a.state,e[7]=u);let b=u,g;e[8]!==s||e[9]!==b?(g=()=>b?(0,t.jsxs)(G,{milliseconds:2e3,fallback:null,children:[(0,t.jsx)(ae,{className:"mx-auto"}),(0,t.jsx)("p",{className:"text-center text-sm text-muted-foreground mt-2",children:"Connecting..."})]}):(0,t.jsx)(ee,{appConfig:s,mode:"read"}),e[8]=s,e[9]=b,e[10]=g):g=e[10];let _=g,c;e:{if(typeof window>"u"){c=null;break e}let x,i;if(e[11]===Symbol.for("react.memo_cache_sentinel")){if(i=new URL(window.location.href),!i.searchParams.has("file")){c=null;break e}i.searchParams.delete("file"),x=i.searchParams.toString(),e[11]=x,e[12]=i,e[13]=c}else x=e[11],i=e[12],c=e[13];let w=x;c=w?`${i.pathname}?${w}`:i.pathname}let v=c,N=s.width,f;e[14]===Symbol.for("react.memo_cache_sentinel")?(f=v&&(0,t.jsx)("div",{className:"flex items-center px-6 pt-4 sm:-mt-8",children:(0,t.jsxs)("a",{href:v,"aria-label":"Back to gallery",className:M(Q({variant:"text",size:"sm"}),"gap-2 px-0 text-muted-foreground hover:text-foreground"),children:[(0,t.jsx)(Y,{className:"size-4","aria-hidden":!0}),(0,t.jsx)("span",{children:"Back"})]})}),e[14]=f):f=e[14];let d;e[15]===a?d=e[16]:(d=(0,t.jsx)(oe,{connection:a,className:"sm:pt-8",children:f}),e[15]=a,e[16]=d);let p;e[17]===_?p=e[18]:(p=_(),e[17]=_,e[18]=p);let y;return e[19]!==s.width||e[20]!==a||e[21]!==k||e[22]!==d||e[23]!==p?(y=(0,t.jsxs)(te,{connection:a,isRunning:k,width:N,children:[d,p]}),e[19]=s.width,e[20]=a,e[21]=k,e[22]=d,e[23]=p,e[24]=y):y=e[24],y};function ve(){O.INSTANCE.stop()}var U=I();const we=()=>{let o=(0,U.c)(3),e=T(D);if(!B()||!e)return null;let s;o[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsxs)("span",{children:["Static"," ",(0,t.jsx)("a",{href:P.githubPage,target:"_blank",className:"text-(--sky-11) font-medium underline",children:"marimo"})," ","notebook - Run or edit for full interactivity"]}),o[0]=s):s=o[0];let r;return o[1]===e?r=o[2]:(r=(0,t.jsxs)("div",{className:"px-4 py-2 bg-(--sky-2) border-b border-(--sky-7) text-(--sky-11) flex justify-between items-center gap-4 print:hidden text-sm","data-testid":"static-notebook-banner",children:[s,(0,t.jsx)("span",{className:"shrink-0",children:(0,t.jsx)(Se,{code:e})})]}),o[1]=e,o[2]=r),r};var Se=o=>{let e=(0,U.c)(39),{code:s}=o,r=be()||"notebook.py",h=r.lastIndexOf("/");h!==-1&&(r=r.slice(h+1));let m=window.location.href,l;e[0]===s?l=e[1]:(l=xe({code:s,baseUrl:`${P.molab}/new`}),e[0]=s,e[1]=l);let n=l,j;e[2]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsx)(de,{asChild:!0,children:(0,t.jsx)(E,{"data-testid":"static-notebook-dialog-trigger",variant:"outline",size:"xs",children:"Run or Edit"})}),e[2]=j):j=e[2];let a;e[3]===r?a=e[4]:(a=(0,t.jsx)(ce,{children:r}),e[3]=r,e[4]=a);let k;e[5]===Symbol.for("react.memo_cache_sentinel")?(k=(0,t.jsxs)("p",{children:["This is a static"," ",(0,t.jsx)("a",{href:P.githubPage,target:"_blank",className:"text-(--sky-11) hover:underline font-medium",children:"marimo"})," ","notebook. To run interactively:"]}),e[5]=k):k=e[5];let u;e[6]===Symbol.for("react.memo_cache_sentinel")?(u=(0,t.jsx)("br",{}),e[6]=u):u=e[6];let b;e[7]===r?b=e[8]:(b=(0,t.jsx)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) leading-relaxed",children:["pip install marimo",u,"marimo edit ",r]})}),e[7]=r,e[8]=b);let g;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=!m.endsWith(".html")&&(0,t.jsxs)("div",{className:"rounded-lg p-3 border bg-(--sky-2) border-(--sky-7)",children:[(0,t.jsx)("div",{className:"text-sm text-(--sky-12) mb-1",children:"Or run directly from URL:"}),(0,t.jsxs)("div",{className:"font-mono text-(--sky-11) break-all",children:["marimo edit ",window.location.href]})]}),e[9]=g):g=e[9];let _;e[10]===Symbol.for("react.memo_cache_sentinel")?(_=(0,t.jsx)(ge,{size:12,strokeWidth:1.5,className:"mr-1.5 mt-px text-(--grass-11)"}),e[10]=_):_=e[10];let c;e[11]===n?c=e[12]:(c=(0,t.jsx)(E,{asChild:!0,variant:"outline",size:"xs",className:"shrink-0",children:(0,t.jsxs)("a",{href:n,target:"_blank",rel:"noopener noreferrer",children:[_,"Open in molab"]})}),e[11]=n,e[12]=c);let v;e[13]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsxs)("p",{className:"text-sm text-(--sky-12)",children:["Run this notebook in"," ",(0,t.jsx)("span",{className:"font-semibold",children:"molab"}),", marimo's cloud-hosted notebook platform."]}),e[13]=v):v=e[13];let N;e[14]===c?N=e[15]:(N=(0,t.jsxs)("div",{className:"pt-3 border-t flex gap-2 items-center",children:[c,v]}),e[14]=c,e[15]=N);let f;e[16]!==N||e[17]!==b?(f=(0,t.jsxs)(he,{className:"pt-3 text-left space-y-3",children:[k,b,g,N]}),e[16]=N,e[17]=b,e[18]=f):f=e[18];let d;e[19]!==f||e[20]!==a?(d=(0,t.jsxs)(ne,{children:[a,f]}),e[19]=f,e[20]=a,e[21]=d):d=e[21];let p;e[22]===s?p=e[23]:(p=async()=>{await me(s),ie({title:"Copied to clipboard"})},e[22]=s,e[23]=p);let y;e[24]===Symbol.for("react.memo_cache_sentinel")?(y=(0,t.jsx)(Z,{className:"w-3 h-3 mr-2"}),e[24]=y):y=e[24];let x;e[25]===p?x=e[26]:(x=(0,t.jsxs)(E,{"data-testid":"copy-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:p,children:[y,"Copy code"]}),e[25]=p,e[26]=x);let i;e[27]!==s||e[28]!==r?(i=()=>{K(new Blob([s],{type:"text/plain"}),r)},e[27]=s,e[28]=r,e[29]=i):i=e[29];let w;e[30]===Symbol.for("react.memo_cache_sentinel")?(w=(0,t.jsx)(J,{className:"w-3 h-3 mr-2"}),e[30]=w):w=e[30];let S;e[31]===i?S=e[32]:(S=(0,t.jsxs)(E,{"data-testid":"download-static-notebook-dialog-button",variant:"outline",size:"sm",onClick:i,children:[w,"Download"]}),e[31]=i,e[32]=S);let C;e[33]!==x||e[34]!==S?(C=(0,t.jsxs)("div",{className:"flex gap-3 pt-2",children:[x,S]}),e[33]=x,e[34]=S,e[35]=C):C=e[35];let z;return e[36]!==d||e[37]!==C?(z=(0,t.jsxs)(fe,{children:[j,(0,t.jsxs)(pe,{children:[d,C]})]}),e[36]=d,e[37]=C,e[38]=z):z=e[38],z},A=I(),Ce=W()||B(),ze=o=>{let e=(0,A.c)(9),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(we,{}),e[0]=s):s=e[0];let r;e[1]===o.appConfig?r=e[2]:(r=(0,t.jsx)(Ne,{appConfig:o.appConfig}),e[1]=o.appConfig,e[2]=r);let h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h=Ce&&(0,t.jsx)(Pe,{}),e[3]=h):h=e[3];let m;e[4]===r?m=e[5]:(m=(0,t.jsxs)(ue,{children:[s,r,h]}),e[4]=r,e[5]=m);let l;e[6]===Symbol.for("react.memo_cache_sentinel")?(l=(0,t.jsx)(H,{}),e[6]=l):l=e[6];let n;return e[7]===m?n=e[8]:(n=(0,t.jsx)(se,{children:(0,t.jsxs)(je,{direction:"horizontal",autoSaveId:"marimo:chrome:v1:run1",children:[m,l]})}),e[7]=m,e[8]=n),n},Pe=()=>{let o=(0,A.c)(1),e;return o[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,t.jsx)("div",{className:"fixed bottom-0 right-0 z-50","data-testid":"watermark",children:(0,t.jsxs)("a",{href:P.githubPage,target:"_blank",className:"text-sm text-(--grass-11) font-bold tracking-wide transition-colors bg-(--grass-4) hover:bg-(--grass-5) border-t border-l border-(--grass-8) px-3 py-1 rounded-tl-md flex items-center gap-2",children:[(0,t.jsx)("span",{children:"made with marimo"}),(0,t.jsx)(ye,{className:"h-4 w-auto"})]})}),o[0]=e):e=o[0],e},Ee=ze;export{Ee as default};
@@ -0,0 +1,3 @@
1
+ var $t=Object.defineProperty;var Oe=f=>{throw TypeError(f)};var zt=(f,h,y)=>h in f?$t(f,h,{enumerable:!0,configurable:!0,writable:!0,value:y}):f[h]=y;var n=(f,h,y)=>zt(f,typeof h!="symbol"?h+"":h,y),ue=(f,h,y)=>h.has(f)||Oe("Cannot "+y);var o=(f,h,y)=>(ue(f,h,"read from private field"),y?y.call(f):h.get(f)),_=(f,h,y)=>h.has(f)?Oe("Cannot add the same private member more than once"):h instanceof WeakSet?h.add(f):h.set(f,y),C=(f,h,y,Q)=>(ue(f,h,"write to private field"),Q?Q.call(f,y):h.set(f,y),y),A=(f,h,y)=>(ue(f,h,"access private method"),y);import{i as z,p as de,u as Vt}from"./useEvent-D91BmmQi.js";import{Ci as G,Si as Qt,_i as Yt,b as Gt,fi as Jt,it as He,jn as Kt,li as Xt,mi as Zt,x as er,__tla as tr}from"./cells-BA9ZN5Xy.js";import{t as rr}from"./get-C-qh_et5.js";import{t as sr}from"./debounce-DhnxH9Rh.js";import{t as nr}from"./_baseSet-CxV9N1bc.js";import{_ as p,y as g}from"./useEventListener-BR0C1MaI.js";import{t as ar}from"./invariant-BUdrueMv.js";import{S as ir}from"./utils-DIGrmLDO.js";import{S as or,n as lr}from"./config-Calf6e81.js";import{n as ur}from"./switch-CqJGGLBT.js";import{n as $e}from"./globals-DY_dRKpv.js";import{ot as ce,st as ze,__tla as dr}from"./JsonOutput-Cib1YSyW.js";import{t as cr}from"./createReducer-1ePoj7v6.js";import{r as pr}from"./strings-md4mFbOQ.js";import{t as pe}from"./requests-DIwGYs0l.js";import{a as Ve,l as fr,r as Qe,__tla as hr}from"./markdown-renderer-3M2UXZOE.js";import{t as mr}from"./DeferredRequestRegistry-C2V-hXrK.js";import{t as gr}from"./preload-helper-BFv3hW2s.js";import{t as Ye}from"./Deferred-Bk0r4KDZ.js";import{t as Ge}from"./uuid-CCkGk34L.js";import{t as yr}from"./use-toast-PYIpV284.js";import{t as wr}from"./useRunCells-cIxqHRwZ.js";import{n as br,r as vr,t as _r}from"./share-CJEPnWjm.js";import{t as Cr}from"./blob-CpeNXBj-.js";import{i as Je,r as Rr,t as xr}from"./events-CWUex2qo.js";let J,Ke,Xe,fe,Ze,et,he,tt,V,rt,st,me,ge,nt,at,it,ot,ne,lt,ut,ye,dt,we,qr=Promise.all([(()=>{try{return tr}catch{}})(),(()=>{try{return dr}catch{}})(),(()=>{try{return hr}catch{}})()]).then(async()=>{var U,ee,pt,Le,M,j,S,Ne,P,Ae,F,Y,D,ae,Ue,je,te,I,L,O,R,W,N,ft,ht,mt,re;function f(t,e,r){return t==null?t:nr(t,e,r)}J=f,Ze=de(null);var{valueAtom:h,useActions:y}=cr(()=>({banners:[]}),{addBanner:(t,e)=>({...t,banners:[...t.banners,{...e,id:Ge()}]}),removeBanner:(t,e)=>({...t,banners:t.banners.filter(r=>r.id!==e)}),clearBanners:t=>({...t,banners:[]})});dt=()=>Vt(h),Ke=function(){return y()};let Q,ve,_e;Q=class{constructor(){n(this,"subscriptions",new Map)}addSubscription(t,e){var r;this.subscriptions.has(t)||this.subscriptions.set(t,new Set),(r=this.subscriptions.get(t))==null||r.add(e)}removeSubscription(t,e){var r;(r=this.subscriptions.get(t))==null||r.delete(e)}notify(t,e){for(let r of this.subscriptions.get(t)??[])r(e)}},we=class be{constructor(e){n(this,"subscriptions",new Q);this.producer=e}static withProducerCallback(e){return new be(e)}static empty(){return new be}startProducer(){this.producer&&this.producer(e=>{this.subscriptions.notify("message",e)})}connect(){return new Promise(e=>setTimeout(e,0)).then(()=>{this.subscriptions.notify("open",new Event("open"))})}get readyState(){return WebSocket.OPEN}reconnect(e,r){this.close(),this.connect()}close(){this.subscriptions.notify("close",new Event("close"))}send(e){return this.subscriptions.notify("message",new MessageEvent("message",{data:e})),Promise.resolve()}addEventListener(e,r){this.subscriptions.addSubscription(e,r),e==="open"&&r(new Event("open")),e==="message"&&this.startProducer()}removeEventListener(e,r){this.subscriptions.removeSubscription(e,r)}},ve=1e10,_e=1e3;function K(t,e){let r=t.map(s=>`"${s}"`).join(", ");return Error(`This RPC instance cannot ${e} because the transport did not provide one or more of these methods: ${r}`)}function yt(t={}){let e={};function r(l){e=l}let s={};function a(l){var c;s.unregisterHandler&&s.unregisterHandler(),s=l,(c=s.registerHandler)==null||c.call(s,Ht)}let i;function u(l){if(typeof l=="function"){i=l;return}i=(c,w)=>{let m=l[c];if(m)return m(w);let b=l._;if(!b)throw Error(`The requested method has no handler: ${c}`);return b(c,w)}}let{maxRequestTime:d=_e}=t;t.transport&&a(t.transport),t.requestHandler&&u(t.requestHandler),t._debugHooks&&r(t._debugHooks);let v=0;function x(){return v<=ve?++v:v=0}let q=new Map,E=new Map;function H(l,...c){let w=c[0];return new Promise((m,b)=>{var $;if(!s.send)throw K(["send"],"make requests");let k=x(),B={type:"request",id:k,method:l,params:w};q.set(k,{resolve:m,reject:b}),d!==1/0&&E.set(k,setTimeout(()=>{E.delete(k),b(Error("RPC request timed out."))},d)),($=e.onSend)==null||$.call(e,B),s.send(B)})}let se=new Proxy(H,{get:(l,c,w)=>c in l?Reflect.get(l,c,w):m=>H(c,m)}),We=se;function Te(l,...c){var b;let w=c[0];if(!s.send)throw K(["send"],"send messages");let m={type:"message",id:l,payload:w};(b=e.onSend)==null||b.call(e,m),s.send(m)}let Be=new Proxy(Te,{get:(l,c,w)=>c in l?Reflect.get(l,c,w):m=>Te(c,m)}),De=Be,T=new Map,le=new Set;function Dt(l,c){var w;if(!s.registerHandler)throw K(["registerHandler"],"register message listeners");if(l==="*"){le.add(c);return}T.has(l)||T.set(l,new Set),(w=T.get(l))==null||w.add(c)}function Ot(l,c){var w,m;if(l==="*"){le.delete(c);return}(w=T.get(l))==null||w.delete(c),((m=T.get(l))==null?void 0:m.size)===0&&T.delete(l)}async function Ht(l){var c,w;if((c=e.onReceive)==null||c.call(e,l),!("type"in l))throw Error("Message does not contain a type.");if(l.type==="request"){if(!s.send||!i)throw K(["send","requestHandler"],"handle requests");let{id:m,method:b,params:k}=l,B;try{B={type:"response",id:m,success:!0,payload:await i(b,k)}}catch($){if(!($ instanceof Error))throw $;B={type:"response",id:m,success:!1,error:$.message}}(w=e.onSend)==null||w.call(e,B),s.send(B);return}if(l.type==="response"){let m=E.get(l.id);m!=null&&clearTimeout(m);let{resolve:b,reject:k}=q.get(l.id)??{};l.success?b==null||b(l.payload):k==null||k(Error(l.error));return}if(l.type==="message"){for(let b of le)b(l.id,l.payload);let m=T.get(l.id);if(!m)return;for(let b of m)b(l.payload);return}throw Error(`Unexpected RPC message type: ${l.type}`)}return{setTransport:a,setRequestHandler:u,request:se,requestProxy:We,send:Be,sendProxy:De,addMessageListener:Dt,removeMessageListener:Ot,proxy:{send:De,request:We},_setDebugHooks:r}}function wt(t){return yt(t)}var Ce="[transport-id]";function bt(t,e){let{transportId:r}=e;return r==null?t:{[Ce]:r,data:t}}function vt(t,e){let{transportId:r,filter:s}=e,a=s==null?void 0:s();if(r!=null&&a!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let i=t;if(r){if(t[Ce]!==r)return[!0];i=t.data}return a===!1?[!0]:[!1,i]}function _t(t,e={}){let{transportId:r,filter:s,remotePort:a}=e,i=t,u=a??t,d;return{send(v){u.postMessage(bt(v,{transportId:r}))},registerHandler(v){d=x=>{let q=x.data,[E,H]=vt(q,{transportId:r,filter:()=>s==null?void 0:s(x)});E||v(H)},i.addEventListener("message",d)},unregisterHandler(){d&&i.removeEventListener("message",d)}}}function Ct(t,e){return _t(t,e)}function Re(t){return wt({transport:Ct(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{p.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{p.debug("[rpc] Worker -> Parent",e)}}})}ye=de("Initializing..."),Xe=de(t=>{let e=t(Gt),r=Object.values(e.cellRuntime);return r.some(s=>!fr(s.output))?!0:r.every(s=>s.status==="idle")});var xe=br(),qe="marimo:file",Ee=new Xt(null);const Rt={saveFile(t){Ee.set(qe,t)},readFile(){return Ee.get(qe)}};var xt={saveFile(t){G.setCodeForHash((0,xe.compressToEncodedURIComponent)(t))},readFile(){let t=G.getCodeFromHash()||G.getCodeFromSearchParam();return t?(0,xe.decompressFromEncodedURIComponent)(t):null}};const qt={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var Et={saveFile(t){},readFile(){if(window.location.hostname!=="marimo.app")return null;let t=new URL("files/wasm-intro.py",document.baseURI);return fetch(t.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}};const St={saveFile(t){},readFile(){return z.get(Jt)??null}};var kt={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
2
+ `)}},Se=class{constructor(t){this.stores=t}insert(t,e){this.stores.splice(t,0,e)}saveFile(t){this.stores.forEach(e=>e.saveFile(t))}readFile(){for(let t of this.stores){let e=t.readFile();if(e)return e}return null}};let X;V=new Se([St,qt,xt]),X=new Se([Rt,Et,kt]),ge=class ct{constructor(){n(this,"initialized",new Ye);n(this,"sendRename",async({filename:e})=>(e===null||(G.setFilename(e),await this.rpc.proxy.request.bridge({functionName:"rename_file",payload:e})),null));n(this,"sendSave",async e=>{if(!this.saveRpc)return p.warn("Save RPC not initialized"),null;await this.saveRpc.saveNotebook(e);let r=await this.readCode();return r.contents&&(V.saveFile(r.contents),X.saveFile(r.contents)),this.rpc.proxy.request.saveNotebook(e).catch(s=>{p.error(s)}),null});n(this,"sendCopy",async()=>{g()});n(this,"sendStdin",async e=>(await this.rpc.proxy.request.bridge({functionName:"put_input",payload:e.text}),null));n(this,"sendPdb",async()=>{g()});n(this,"sendRun",async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
3
+ `)),await this.putControlRequest({type:"execute-cells",...e}),null));n(this,"sendRunScratchpad",async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:"execute-scratchpad",...e}),null));n(this,"sendInterrupt",async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null));n(this,"sendShutdown",async()=>(window.close(),null));n(this,"sendFormat",async e=>await this.rpc.proxy.request.bridge({functionName:"format",payload:e}));n(this,"sendDeleteCell",async e=>(await this.putControlRequest({type:"delete-cell",...e}),null));n(this,"sendInstallMissingPackages",async e=>(this.putControlRequest({type:"install-packages",...e}),null));n(this,"sendCodeCompletionRequest",async e=>(z.get(er)||await this.rpc.proxy.request.bridge({functionName:"code_complete",payload:e}),null));n(this,"saveUserConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_user_config",payload:e}),ur.post("/kernel/save_user_config",e,{baseUrl:"/"}).catch(r=>(p.error(r),null))));n(this,"saveAppConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_app_config",payload:e}),null));n(this,"saveCellConfig",async e=>(await this.putControlRequest({type:"update-cell-config",...e}),null));n(this,"sendRestart",async()=>{let e=await this.readCode();return e.contents&&(V.saveFile(e.contents),X.saveFile(e.contents)),vr(),null});n(this,"readCode",async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(p.warn("Save RPC not initialized"),{contents:""}));n(this,"readSnippets",async()=>await this.rpc.proxy.request.bridge({functionName:"read_snippets",payload:void 0}));n(this,"openFile",async({path:e})=>{let r=_r({code:null,baseUrl:window.location.origin});return window.open(r,"_blank"),null});n(this,"sendListFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"list_files",payload:e}));n(this,"sendSearchFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"search_files",payload:e}));n(this,"sendComponentValues",async e=>(await this.putControlRequest({type:"update-ui-element",...e,token:Ge()}),null));n(this,"sendInstantiate",async e=>null);n(this,"sendFunctionRequest",async e=>(await this.putControlRequest({type:"invoke-function",...e}),null));n(this,"sendCreateFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"create_file_or_directory",payload:e}));n(this,"sendDeleteFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"delete_file_or_directory",payload:e}));n(this,"sendCopyFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"copy_file_or_directory",payload:e}));n(this,"sendRenameFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"move_file_or_directory",payload:e}));n(this,"sendUpdateFile",async e=>await this.rpc.proxy.request.bridge({functionName:"update_file",payload:e}));n(this,"sendFileDetails",async e=>await this.rpc.proxy.request.bridge({functionName:"file_details",payload:e}));n(this,"exportAsHTML",async e=>await this.rpc.proxy.request.bridge({functionName:"export_html",payload:e}));n(this,"exportAsMarkdown",async e=>await this.rpc.proxy.request.bridge({functionName:"export_markdown",payload:e}));n(this,"previewDatasetColumn",async e=>(await this.putControlRequest({type:"preview-dataset-column",...e}),null));n(this,"previewSQLTable",async e=>(await this.putControlRequest({type:"preview-sql-table",...e}),null));n(this,"previewSQLTableList",async e=>(await this.putControlRequest({type:"list-sql-tables",...e}),null));n(this,"previewSQLSchemaList",async e=>(await this.putControlRequest({type:"list-sql-schemas",...e}),null));n(this,"previewDataSourceConnection",async e=>(await this.putControlRequest({type:"list-data-source-connection",...e}),null));n(this,"validateSQL",async e=>(await this.putControlRequest({type:"validate-sql",...e}),null));n(this,"sendModelValue",async e=>(await this.putControlRequest({type:"model",...e}),null));n(this,"sendDocumentTransaction",()=>Promise.resolve(null));n(this,"addPackage",async e=>this.rpc.proxy.request.addPackage(e));n(this,"removePackage",async e=>this.rpc.proxy.request.removePackage(e));n(this,"getPackageList",async()=>await this.rpc.proxy.request.listPackages());n(this,"getDependencyTree",async()=>({tree:{dependencies:[],name:"",tags:[],version:null}}));n(this,"listSecretKeys",async e=>(await this.putControlRequest({type:"list-secret-keys",...e}),null));n(this,"getUsageStats",g);n(this,"openTutorial",g);n(this,"getRecentFiles",g);n(this,"getWorkspaceFiles",g);n(this,"getRunningNotebooks",g);n(this,"shutdownSession",g);n(this,"exportAsIPYNB",g);n(this,"exportAsPDF",g);n(this,"autoExportAsHTML",g);n(this,"autoExportAsMarkdown",g);n(this,"autoExportAsIPYNB",g);n(this,"updateCellOutputs",g);n(this,"writeSecret",g);n(this,"invokeAiTool",g);n(this,"clearCache",g);n(this,"getCacheInfo",g);n(this,"listStorageEntries",g);n(this,"downloadStorage",g);or()&&(this.rpc=Re(new Worker(new URL(""+new URL("worker-ztl1wuLb.js",import.meta.url).href,""+import.meta.url),{type:"module",name:$e()})),this.rpc.addMessageListener("ready",()=>{this.startSession()}),this.rpc.addMessageListener("initialized",()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),this.initialized.resolve()}),this.rpc.addMessageListener("initializingMessage",({message:e})=>{z.set(ye,e)}),this.rpc.addMessageListener("initializedError",({error:e})=>{this.initialized.status==="resolved"&&(p.error(e),yr({title:"Error initializing",description:e,variant:"danger"})),this.initialized.reject(Error(e))}),this.rpc.addMessageListener("kernelMessage",({message:e})=>{var r;(r=this.messageConsumer)==null||r.call(this,new MessageEvent("message",{data:e}))}))}static get INSTANCE(){let e="_marimo_private_PyodideBridge";return window[e]||(window[e]=new ct),window[e]}getSaveWorker(){return He()==="read"?(p.debug("Using partially disabled SaveWorker in read-mode"),{readFile:g,readNotebook:async()=>await V.readFile()??"",saveNotebook:g}):Re(new Worker(new URL(""+new URL("save-worker-CtJsIYIM.js",import.meta.url).href,""+import.meta.url),{type:"module",name:$e()})).proxy.request}async startSession(){let e=await V.readFile(),r=await X.readFile(),s=z.get(Zt)??G.getFilename(),a=z.get(ir),i={},u=new URLSearchParams(window.location.search);for(let d of u.keys()){let v=u.getAll(d);i[d]=v.length===1?v[0]:v}await this.rpc.proxy.request.startSession({queryParameters:i,code:e||r||"",filename:s,userConfig:{...a,runtime:{...a.runtime,auto_instantiate:He()==="read"?!0:a.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):p.warn("Not running in a secure context; interrupts are not available.")}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:"put_control_request",payload:e})}},rt=function(){return we.withProducerCallback(t=>{ge.INSTANCE.attachMessageConsumer(t)})},tt=function(t=ce()){let e=window.fetch;return window.fetch=async(r,s)=>{let a=r instanceof Request?r.url:r.toString();if(a.startsWith("data:"))return e(r,s);try{let i=Z(a,t);if(i){let u=await(await e(i)).arrayBuffer();return new Response(u,{headers:{"Content-Type":Mt(a)}})}return e(r,s)}catch(i){return p.error("Error parsing URL",i),e(r,s)}},()=>{window.fetch=e}};function Mt(t){return t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".txt")?"text/plain":"application/octet-stream"}it=function(t,e=ce()){let r=t.http.bind(t),s=t.load.bind(t);return t.http=async a=>{let i=Z(a,e);if(i)return await window.fetch(i).then(u=>u.text());try{return await r(a)}catch(u){if(a.startsWith("data:"))return await window.fetch(a).then(d=>d.text());throw u}},t.load=async a=>{let i=Z(a,e);if(i)return await window.fetch(i).then(u=>u.text());try{return await s(a)}catch(u){if(a.startsWith("data:"))return await window.fetch(a).then(d=>d.text());throw u}},()=>{t.http=r,t.load=s}};function ke(t){return t.startsWith(".")?t.slice(1):t}function Ft(t,e=ce()){let r=Z(t,e);if(!r)return t;let s=Cr(r);return URL.createObjectURL(s)}function Z(t,e){let r=document.baseURI;r.startsWith("blob:")&&(r=r.replace("blob:",""));let s=new URL(t,r).pathname,a=Me(t),i=Me(s);return e[t]||e[ke(t)]||e[s]||e[ke(s)]||a&&e[a]||i&&e[i]}function Me(t){let e=t.indexOf("/@file/");return e===-1?null:t.slice(e)}function ie(t,e=[]){let r=[];if(t instanceof DataView)r.push(e);else if(Array.isArray(t))for(let[s,a]of t.entries())r.push(...ie(a,[...e,s]));else if(typeof t=="object"&&t)for(let[s,a]of Object.entries(t))r.push(...ie(a,[...e,s]));return r}function Pt(t){let e=ie(t);if(e.length===0)return{state:t,buffers:[],bufferPaths:[]};let r=structuredClone(t),s=[],a=[];for(let i of e){let u=rr(t,i);if(u instanceof DataView){let d=Ve(u);s.push(d),a.push(i),J(r,i,d)}}return{state:r,buffers:s,bufferPaths:a}}function Fe(t){let{state:e,bufferPaths:r,buffers:s}=t;if(!r||r.length===0)return e;s&&ar(s.length===r.length,"Buffers and buffer paths not the same length");let a=e;for(let[i,u]of r.entries()){let d=s==null?void 0:s[i];if(d==null){p.warn("[anywidget] Could not find buffer at path",u);continue}typeof d=="string"?J(a,u,Qe(d)):J(a,u,d)}return a}he=function(t){return typeof t!="string"||t.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(t)||It(t)&&z.get(wr))};function It(t){return t.startsWith("data:text/javascript;base64,")||t.startsWith("data:application/javascript;base64,")||t.startsWith("data:text/css;base64,")}const Pe={invoke:async()=>{let t="anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues";throw p.warn(t),Error(t)}};function Lt(t){if(typeof AbortSignal.any=="function")return AbortSignal.any(t);let e=new AbortController;for(let r of t){if(r.aborted)return e.abort(r.reason),e.signal;r.addEventListener("abort",()=>e.abort(r.reason),{once:!0})}return e.signal}var Nt=(Le=class{constructor(){_(this,ee);_(this,U,new Map)}getModule(t,e){let r=o(this,U).get(e);if(r)return r;let s=A(this,ee,pt).call(this,t).catch(a=>{throw o(this,U).delete(e),a});return o(this,U).set(e,s),s}invalidate(t){p.debug(`[WidgetDefRegistry] Invalidating module cache for hash=${t}`),o(this,U).delete(t)}},U=new WeakMap,ee=new WeakSet,pt=async function(t){if(!he(t))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(t)}`);let e=lr(t).toString();return ze()&&(e=Ft(e)),gr(()=>import(e).then(async r=>(await r.__tla,r)),[],import.meta.url)},Le),At=(Ne=class{constructor(){_(this,M);_(this,j);_(this,S)}async bind(t,e){var i,u;if(o(this,S)&&o(this,j)===t)return o(this,S);o(this,S)&&o(this,j)!==t&&(p.debug("[WidgetBinding] Hot-reload detected, aborting previous binding"),(i=o(this,M))==null||i.abort(),C(this,M,void 0),C(this,S,void 0)),C(this,j,t),C(this,M,new AbortController);let r=o(this,M).signal,s=typeof t=="function"?await t():t,a=await((u=s.initialize)==null?void 0:u.call(s,{model:e,experimental:Pe}));return a&&r.addEventListener("abort",a),C(this,S,async(d,v)=>{var q;let x=await((q=s.render)==null?void 0:q.call(s,{model:e,el:d,experimental:Pe}));x&&Lt([v,r]).addEventListener("abort",()=>{let E=v.aborted?"view unmount":"binding destroyed";p.debug(`[WidgetBinding] Render cleanup triggered (reason: ${E})`),x()})}),o(this,S)}destroy(){var t;p.debug("[WidgetBinding] Destroying binding, aborting initialize lifecycle"),(t=o(this,M))==null||t.abort(),C(this,M,void 0),C(this,j,void 0),C(this,S,void 0)}},M=new WeakMap,j=new WeakMap,S=new WeakMap,Ne),Ut=(Ae=class{constructor(){_(this,P,new Map)}getOrCreate(t){let e=o(this,P).get(t);return e||(e=new At,o(this,P).set(t,e)),e}destroy(t){let e=o(this,P).get(t);e&&(p.debug(`[BindingManager] Destroying binding for model=${t}`),e.destroy(),o(this,P).delete(t))}has(t){return o(this,P).has(t)}},P=new WeakMap,Ae);ut=new Nt,me=new Ut;var jt=(Ue=class{constructor(t=1e4){_(this,D);_(this,F,new Map);_(this,Y);C(this,Y,t)}get(t){let e=A(this,D,ae).call(this,t);return e.deferred.status==="pending"&&setTimeout(()=>{e.deferred.status==="pending"&&(e.deferred.reject(Error(`Model not found for key: ${t}`)),o(this,F).delete(t))},o(this,Y)),e.deferred.promise}create(t,e){let r=A(this,D,ae).call(this,t);r.deferred.resolve(e(r.controller.signal))}set(t,e){A(this,D,ae).call(this,t).deferred.resolve(e)}getSync(t){let e=o(this,F).get(t);if(e&&e.deferred.status==="resolved")return e.deferred.value}delete(t){var e;p.debug(`[ModelManager] Deleting model=${t}, aborting lifecycle signal`),(e=o(this,F).get(t))==null||e.controller.abort(),o(this,F).delete(t)}},F=new WeakMap,Y=new WeakMap,D=new WeakSet,ae=function(t){let e=o(this,F).get(t);return e||(e={deferred:new Ye,controller:new AbortController},o(this,F).set(t,e)),e},Ue),Ie=Symbol("marimo");function oe(t){return t[Ie]}ne=new jt;var Wt=(je=Ie,W=class{constructor(e,r,s){_(this,N);_(this,te,"change");_(this,I);_(this,L);_(this,O);_(this,R,{});n(this,je,{updateAndEmitDiffs:e=>A(this,N,ht).call(this,e),emitCustomMessage:(e,r)=>A(this,N,mt).call(this,e,r)});n(this,"widget_manager",{async get_model(e){let r=await W._modelManager.get(e);if(!r)throw Error(`Model not found with id: ${e}. This is likely because the model was not registered.`);return r}});_(this,re,sr(()=>{let e=o(this,R)[o(this,te)];if(e)for(let r of e)try{r()}catch(s){p.error("Error emitting event",s)}},0));C(this,L,e),C(this,O,r),C(this,I,new Map),s&&s.addEventListener("abort",()=>{p.debug("[Model] Signal aborted, clearing all listeners"),C(this,R,{})})}off(e,r){var s;if(!e){C(this,R,{});return}if(!r){o(this,R)[e]=new Set;return}(s=o(this,R)[e])==null||s.delete(r)}send(e,r,s){let a=(s??[]).map(i=>i instanceof ArrayBuffer?new DataView(i):new DataView(i.buffer,i.byteOffset,i.byteLength));return o(this,O).sendCustomMessage(e,a).then(()=>r==null?void 0:r())}get(e){return o(this,L)[e]}set(e,r){C(this,L,{...o(this,L),[e]:r}),o(this,I).set(e,r),A(this,N,ft).call(this,`change:${e}`,r),o(this,re).call(this)}save_changes(){if(o(this,I).size===0)return;let e=Object.fromEntries(o(this,I).entries());o(this,I).clear(),o(this,O).sendUpdate(e)}on(e,r){o(this,R)[e]||(o(this,R)[e]=new Set),o(this,R)[e].add(r)}},te=new WeakMap,I=new WeakMap,L=new WeakMap,O=new WeakMap,R=new WeakMap,N=new WeakSet,ft=function(e,r){if(!o(this,R)[e])return;let s=o(this,R)[e];for(let a of s)try{a(r)}catch(i){p.error("Error emitting event",i)}},ht=function(e){e!=null&&Object.keys(e).forEach(r=>{let s=r;o(this,L)[s]!==e[s]&&this.set(s,e[s])})},mt=function(e,r=[]){let s=o(this,R)["msg:custom"];if(s)for(let a of s)try{a(e.content,r)}catch(i){p.error("Error emitting event",i)}},re=new WeakMap,n(W,"_modelManager",ne),W);et=async function(t,e){let r=e.model_id,s=e.message,a=("buffers"in s?s.buffers:[]).map(Qe);switch(s.method){case"open":{let{state:i,buffer_paths:u=[]}=s,d=Fe({state:i,bufferPaths:u,buffers:a}),v=t.getSync(r);if(v){oe(v).updateAndEmitDiffs(d);return}t.create(r,x=>new Wt(d,ze()?{sendUpdate:async()=>{},sendCustomMessage:async()=>{}}:{async sendUpdate(q){if(x.aborted){p.debug(`[Model] sendUpdate suppressed for model=${r} (signal aborted)`);return}let{state:E,buffers:H,bufferPaths:se}=Pt(q);await pe().sendModelValue({modelId:r,message:{method:"update",state:E,bufferPaths:se},buffers:H})},async sendCustomMessage(q,E){if(x.aborted){p.debug(`[Model] sendCustomMessage suppressed for model=${r} (signal aborted)`);return}await pe().sendModelValue({modelId:r,message:{method:"custom",content:q},buffers:E.map(Ve)})}},x));return}case"custom":oe(await t.get(r)).emitCustomMessage({method:"custom",content:s.content},a);return;case"close":me.destroy(r),t.delete(r);return;case"update":{let{state:i,buffer_paths:u=[]}=s,d=Fe({state:i,bufferPaths:u,buffers:a});oe(await t.get(r)).updateAndEmitDiffs(d);return}default:pr(s)}},Kt(ne,"MODEL_MANAGER");function Tt(t){return typeof t!="object"||!t?!1:"type"in t&&t.type==="marimo-ui-value-update"}fe=class gt{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new gt),window[e]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,r){this.entries.has(e)&&p.debug("UIElementRegistry overwriting entry for objectId.",e),this.entries.set(e,{objectId:e,value:r,elements:new Set})}registerInstance(e,r){let s=this.entries.get(e);s===void 0?this.entries.set(e,{objectId:e,value:Qt(r,this),elements:new Set([r])}):s.elements.add(r)}removeInstance(e,r){let s=this.entries.get(e);s!=null&&s.elements.has(r)&&s.elements.delete(r)}removeElementsByCell(e){[...this.entries.keys()].filter(r=>r.startsWith(`${e}-`)).forEach(r=>{this.entries.delete(r)})}lookupValue(e){let r=this.entries.get(e);return r===void 0?void 0:r.value}broadcastMessage(e,r,s){let a=this.entries.get(e);if(a===void 0){p.warn("UIElementRegistry missing entry",e);return}if(Tt(r)){a.value=r.value,a.elements.forEach(i=>{i.dispatchEvent(Je.create({bubbles:!1,composed:!0,detail:{value:r.value,element:i}}))});return}a.elements.forEach(i=>{i.dispatchEvent(xr.create({bubbles:!1,composed:!0,detail:{objectId:e,message:r,buffers:s}}))})}broadcastValueUpdate(e,r,s){let a=this.entries.get(r);a===void 0?p.warn("UIElementRegistry missing entry",r):(a.value=s,a.elements.forEach(i=>{i!==e&&i.dispatchEvent(Je.create({bubbles:!1,composed:!0,detail:{value:s,element:i}}))}),document.dispatchEvent(Rr.create({bubbles:!0,composed:!0,detail:{objectId:r}})))}},at=fe.INSTANCE,st=new mr("function-call-result",async(t,e)=>{await pe().sendFunctionRequest({functionCallId:t,...e})}),lt="68px";var Bt="288px";nt=t=>t?/^\d+$/.test(t)?`${t}px`:t:Bt,ot=Yt({isOpen:!0},(t,e)=>{if(!e)return t;switch(e.type){case"toggle":return{...t,isOpen:e.isOpen??t.isOpen};case"setWidth":return{...t,width:e.width};default:return t}})});export{J as C,Ke as S,Xe as _,qr as __tla,fe as a,Ze as b,et as c,he as d,tt as f,V as g,rt as h,st as i,me as l,ge as m,nt as n,at as o,it as p,ot as r,ne as s,lt as t,ut as u,ye as v,dt as x,we as y};
package/dist/index.html CHANGED
@@ -66,7 +66,7 @@
66
66
  <marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
67
67
  <!-- /TODO -->
68
68
  <title>{{ title }}</title>
69
- <script type="module" crossorigin src="./assets/index-DWhe-Tk9.js"></script>
69
+ <script type="module" crossorigin src="./assets/index-D6-su6XF.js"></script>
70
70
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-BFv3hW2s.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/chunk-LvLJmgfZ.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/react-Bj1aDYRI.js">
@@ -218,7 +218,7 @@
218
218
  <link rel="modulepreload" crossorigin href="./assets/memoize-Tp7rARFe.js">
219
219
  <link rel="modulepreload" crossorigin href="./assets/get-C-qh_et5.js">
220
220
  <link rel="modulepreload" crossorigin href="./assets/_baseSet-CxV9N1bc.js">
221
- <link rel="modulepreload" crossorigin href="./assets/state-DI8CQM2I.js">
221
+ <link rel="modulepreload" crossorigin href="./assets/state-DwYUxIVe.js">
222
222
  <link rel="modulepreload" crossorigin href="./assets/label-DTR8T0AE.js">
223
223
  <link rel="modulepreload" crossorigin href="./assets/textarea-D2liylO5.js">
224
224
  <link rel="modulepreload" crossorigin href="./assets/refresh-ccw-BuMhEaS9.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.23.2-dev55",
3
+ "version": "0.23.2-dev58",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -0,0 +1,113 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
4
+
5
+ const { mockNotebookReadFile, rpcListeners } = vi.hoisted(() => ({
6
+ mockNotebookReadFile: vi.fn(),
7
+ rpcListeners: {} as Record<string, () => void>,
8
+ }));
9
+
10
+ // Mock browser globals before any imports
11
+ vi.stubGlobal("crossOriginIsolated", false);
12
+ vi.stubGlobal(
13
+ "Worker",
14
+ vi.fn(() => ({
15
+ addEventListener: vi.fn(),
16
+ postMessage: vi.fn(),
17
+ terminate: vi.fn(),
18
+ })),
19
+ );
20
+
21
+ class MockURL extends URL {
22
+ static override createObjectURL = vi.fn(() => "blob:mock-url");
23
+ static override revokeObjectURL = vi.fn();
24
+ }
25
+ vi.stubGlobal("URL", MockURL);
26
+
27
+ vi.mock("@/core/wasm/rpc", () => ({
28
+ getWorkerRPC: () => ({
29
+ proxy: {
30
+ request: {
31
+ bridge: vi.fn(),
32
+ startSession: vi.fn(),
33
+ readFile: vi.fn(),
34
+ readNotebook: vi.fn(),
35
+ saveNotebook: vi.fn(),
36
+ },
37
+ send: { consumerReady: vi.fn() },
38
+ },
39
+ addMessageListener: (event: string, cb: () => void) => {
40
+ rpcListeners[event] = cb;
41
+ },
42
+ }),
43
+ }));
44
+
45
+ vi.mock("@/core/meta/globals", () => ({
46
+ getMarimoVersion: () => "0.0.0-test",
47
+ }));
48
+
49
+ vi.mock("@/core/wasm/utils", () => ({
50
+ isWasm: () => true,
51
+ }));
52
+
53
+ vi.mock("@/core/wasm/store", () => ({
54
+ fallbackFileStore: { readFile: vi.fn(), saveFile: vi.fn() },
55
+ notebookFileStore: { readFile: mockNotebookReadFile, saveFile: vi.fn() },
56
+ }));
57
+
58
+ // Import after all mocks are set up
59
+ import { store } from "@/core/state/jotai";
60
+ import { initialModeAtom } from "@/core/mode";
61
+ import { PyodideBridge } from "../bridge";
62
+
63
+ // Access INSTANCE once at module level so the constructor runs (and
64
+ // addMessageListener populates rpcListeners) before any test executes.
65
+ void PyodideBridge.INSTANCE;
66
+
67
+ describe("PyodideBridge.readCode", () => {
68
+ beforeEach(() => {
69
+ vi.clearAllMocks();
70
+ });
71
+
72
+ afterEach(() => {
73
+ store.set(initialModeAtom, undefined);
74
+ });
75
+
76
+ it("reads from notebookFileStore in read mode", async () => {
77
+ store.set(initialModeAtom, "read");
78
+ // Trigger getSaveWorker — it reads the current mode and returns a stub
79
+ // whose readNotebook delegates to notebookFileStore.
80
+ rpcListeners.initialized();
81
+ mockNotebookReadFile.mockResolvedValue(
82
+ "import numpy as np\nprint(np.__version__)",
83
+ );
84
+
85
+ const result = await PyodideBridge.INSTANCE.readCode();
86
+
87
+ expect(result).toEqual({
88
+ contents: "import numpy as np\nprint(np.__version__)",
89
+ });
90
+ expect(mockNotebookReadFile).toHaveBeenCalledTimes(1);
91
+ });
92
+
93
+ it("returns empty string when notebookFileStore has no code in read mode", async () => {
94
+ store.set(initialModeAtom, "read");
95
+ rpcListeners.initialized();
96
+ mockNotebookReadFile.mockResolvedValue(null);
97
+
98
+ const result = await PyodideBridge.INSTANCE.readCode();
99
+
100
+ expect(result).toEqual({ contents: "" });
101
+ });
102
+
103
+ it("does not call notebookFileStore in edit mode", async () => {
104
+ store.set(initialModeAtom, "edit");
105
+ // getSaveWorker in edit mode creates a real worker (mocked); readNotebook
106
+ // goes to the RPC proxy, not notebookFileStore.
107
+ rpcListeners.initialized();
108
+
109
+ await PyodideBridge.INSTANCE.readCode();
110
+
111
+ expect(mockNotebookReadFile).not.toHaveBeenCalled();
112
+ });
113
+ });
@@ -67,10 +67,10 @@ export class PyodideBridge implements RunRequests, EditRequests {
67
67
 
68
68
  private getSaveWorker(): SaveWorker {
69
69
  if (getInitialAppMode() === "read") {
70
- Logger.debug("Skipping SaveWorker in read-mode");
70
+ Logger.debug("Using partially disabled SaveWorker in read-mode");
71
71
  return {
72
72
  readFile: throwNotImplemented,
73
- readNotebook: throwNotImplemented,
73
+ readNotebook: async () => (await notebookFileStore.readFile()) ?? "",
74
74
  saveNotebook: throwNotImplemented,
75
75
  };
76
76
  }
@@ -1,3 +0,0 @@
1
- var $t=Object.defineProperty;var Oe=f=>{throw TypeError(f)};var zt=(f,h,y)=>h in f?$t(f,h,{enumerable:!0,configurable:!0,writable:!0,value:y}):f[h]=y;var n=(f,h,y)=>zt(f,typeof h!="symbol"?h+"":h,y),ue=(f,h,y)=>h.has(f)||Oe("Cannot "+y);var o=(f,h,y)=>(ue(f,h,"read from private field"),y?y.call(f):h.get(f)),_=(f,h,y)=>h.has(f)?Oe("Cannot add the same private member more than once"):h instanceof WeakSet?h.add(f):h.set(f,y),C=(f,h,y,V)=>(ue(f,h,"write to private field"),V?V.call(f,y):h.set(f,y),y),A=(f,h,y)=>(ue(f,h,"access private method"),y);import{i as z,p as de,u as Vt}from"./useEvent-D91BmmQi.js";import{Ci as Y,Si as Qt,_i as Yt,b as Gt,fi as Jt,it as He,jn as Kt,li as Xt,mi as Zt,x as er,__tla as tr}from"./cells-BA9ZN5Xy.js";import{t as rr}from"./get-C-qh_et5.js";import{t as sr}from"./debounce-DhnxH9Rh.js";import{t as nr}from"./_baseSet-CxV9N1bc.js";import{_ as p,y as g}from"./useEventListener-BR0C1MaI.js";import{t as ar}from"./invariant-BUdrueMv.js";import{S as ir}from"./utils-DIGrmLDO.js";import{S as or,n as lr}from"./config-Calf6e81.js";import{n as ur}from"./switch-CqJGGLBT.js";import{n as $e}from"./globals-DY_dRKpv.js";import{ot as ce,st as ze,__tla as dr}from"./JsonOutput-Cib1YSyW.js";import{t as cr}from"./createReducer-1ePoj7v6.js";import{r as pr}from"./strings-md4mFbOQ.js";import{t as pe}from"./requests-DIwGYs0l.js";import{a as Ve,l as fr,r as Qe,__tla as hr}from"./markdown-renderer-3M2UXZOE.js";import{t as mr}from"./DeferredRequestRegistry-C2V-hXrK.js";import{t as gr}from"./preload-helper-BFv3hW2s.js";import{t as Ye}from"./Deferred-Bk0r4KDZ.js";import{t as Ge}from"./uuid-CCkGk34L.js";import{t as yr}from"./use-toast-PYIpV284.js";import{t as wr}from"./useRunCells-cIxqHRwZ.js";import{n as br,r as vr,t as _r}from"./share-CJEPnWjm.js";import{t as Cr}from"./blob-CpeNXBj-.js";import{i as Je,r as Rr,t as xr}from"./events-CWUex2qo.js";let G,Ke,Xe,fe,Ze,et,he,tt,J,rt,st,me,ge,nt,at,it,ot,ne,lt,ut,ye,dt,we,qr=Promise.all([(()=>{try{return tr}catch{}})(),(()=>{try{return dr}catch{}})(),(()=>{try{return hr}catch{}})()]).then(async()=>{var U,ee,pt,Le,M,j,E,Ne,P,Ae,F,Q,D,ae,Ue,je,te,I,L,O,R,W,N,ft,ht,mt,re;function f(t,e,r){return t==null?t:nr(t,e,r)}G=f,Ze=de(null);var{valueAtom:h,useActions:y}=cr(()=>({banners:[]}),{addBanner:(t,e)=>({...t,banners:[...t.banners,{...e,id:Ge()}]}),removeBanner:(t,e)=>({...t,banners:t.banners.filter(r=>r.id!==e)}),clearBanners:t=>({...t,banners:[]})});dt=()=>Vt(h),Ke=function(){return y()};let V,ve,_e;V=class{constructor(){n(this,"subscriptions",new Map)}addSubscription(t,e){var r;this.subscriptions.has(t)||this.subscriptions.set(t,new Set),(r=this.subscriptions.get(t))==null||r.add(e)}removeSubscription(t,e){var r;(r=this.subscriptions.get(t))==null||r.delete(e)}notify(t,e){for(let r of this.subscriptions.get(t)??[])r(e)}},we=class be{constructor(e){n(this,"subscriptions",new V);this.producer=e}static withProducerCallback(e){return new be(e)}static empty(){return new be}startProducer(){this.producer&&this.producer(e=>{this.subscriptions.notify("message",e)})}connect(){return new Promise(e=>setTimeout(e,0)).then(()=>{this.subscriptions.notify("open",new Event("open"))})}get readyState(){return WebSocket.OPEN}reconnect(e,r){this.close(),this.connect()}close(){this.subscriptions.notify("close",new Event("close"))}send(e){return this.subscriptions.notify("message",new MessageEvent("message",{data:e})),Promise.resolve()}addEventListener(e,r){this.subscriptions.addSubscription(e,r),e==="open"&&r(new Event("open")),e==="message"&&this.startProducer()}removeEventListener(e,r){this.subscriptions.removeSubscription(e,r)}},ve=1e10,_e=1e3;function K(t,e){let r=t.map(s=>`"${s}"`).join(", ");return Error(`This RPC instance cannot ${e} because the transport did not provide one or more of these methods: ${r}`)}function yt(t={}){let e={};function r(l){e=l}let s={};function a(l){var c;s.unregisterHandler&&s.unregisterHandler(),s=l,(c=s.registerHandler)==null||c.call(s,Ht)}let i;function u(l){if(typeof l=="function"){i=l;return}i=(c,w)=>{let m=l[c];if(m)return m(w);let b=l._;if(!b)throw Error(`The requested method has no handler: ${c}`);return b(c,w)}}let{maxRequestTime:d=_e}=t;t.transport&&a(t.transport),t.requestHandler&&u(t.requestHandler),t._debugHooks&&r(t._debugHooks);let v=0;function x(){return v<=ve?++v:v=0}let q=new Map,S=new Map;function H(l,...c){let w=c[0];return new Promise((m,b)=>{var $;if(!s.send)throw K(["send"],"make requests");let k=x(),B={type:"request",id:k,method:l,params:w};q.set(k,{resolve:m,reject:b}),d!==1/0&&S.set(k,setTimeout(()=>{S.delete(k),b(Error("RPC request timed out."))},d)),($=e.onSend)==null||$.call(e,B),s.send(B)})}let se=new Proxy(H,{get:(l,c,w)=>c in l?Reflect.get(l,c,w):m=>H(c,m)}),We=se;function Te(l,...c){var b;let w=c[0];if(!s.send)throw K(["send"],"send messages");let m={type:"message",id:l,payload:w};(b=e.onSend)==null||b.call(e,m),s.send(m)}let Be=new Proxy(Te,{get:(l,c,w)=>c in l?Reflect.get(l,c,w):m=>Te(c,m)}),De=Be,T=new Map,le=new Set;function Dt(l,c){var w;if(!s.registerHandler)throw K(["registerHandler"],"register message listeners");if(l==="*"){le.add(c);return}T.has(l)||T.set(l,new Set),(w=T.get(l))==null||w.add(c)}function Ot(l,c){var w,m;if(l==="*"){le.delete(c);return}(w=T.get(l))==null||w.delete(c),((m=T.get(l))==null?void 0:m.size)===0&&T.delete(l)}async function Ht(l){var c,w;if((c=e.onReceive)==null||c.call(e,l),!("type"in l))throw Error("Message does not contain a type.");if(l.type==="request"){if(!s.send||!i)throw K(["send","requestHandler"],"handle requests");let{id:m,method:b,params:k}=l,B;try{B={type:"response",id:m,success:!0,payload:await i(b,k)}}catch($){if(!($ instanceof Error))throw $;B={type:"response",id:m,success:!1,error:$.message}}(w=e.onSend)==null||w.call(e,B),s.send(B);return}if(l.type==="response"){let m=S.get(l.id);m!=null&&clearTimeout(m);let{resolve:b,reject:k}=q.get(l.id)??{};l.success?b==null||b(l.payload):k==null||k(Error(l.error));return}if(l.type==="message"){for(let b of le)b(l.id,l.payload);let m=T.get(l.id);if(!m)return;for(let b of m)b(l.payload);return}throw Error(`Unexpected RPC message type: ${l.type}`)}return{setTransport:a,setRequestHandler:u,request:se,requestProxy:We,send:Be,sendProxy:De,addMessageListener:Dt,removeMessageListener:Ot,proxy:{send:De,request:We},_setDebugHooks:r}}function wt(t){return yt(t)}var Ce="[transport-id]";function bt(t,e){let{transportId:r}=e;return r==null?t:{[Ce]:r,data:t}}function vt(t,e){let{transportId:r,filter:s}=e,a=s==null?void 0:s();if(r!=null&&a!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let i=t;if(r){if(t[Ce]!==r)return[!0];i=t.data}return a===!1?[!0]:[!1,i]}function _t(t,e={}){let{transportId:r,filter:s,remotePort:a}=e,i=t,u=a??t,d;return{send(v){u.postMessage(bt(v,{transportId:r}))},registerHandler(v){d=x=>{let q=x.data,[S,H]=vt(q,{transportId:r,filter:()=>s==null?void 0:s(x)});S||v(H)},i.addEventListener("message",d)},unregisterHandler(){d&&i.removeEventListener("message",d)}}}function Ct(t,e){return _t(t,e)}function Re(t){return wt({transport:Ct(t,{transportId:"marimo-transport"}),maxRequestTime:2e4,_debugHooks:{onSend:e=>{p.debug("[rpc] Parent -> Worker",e)},onReceive:e=>{p.debug("[rpc] Worker -> Parent",e)}}})}ye=de("Initializing..."),Xe=de(t=>{let e=t(Gt),r=Object.values(e.cellRuntime);return r.some(s=>!fr(s.output))?!0:r.every(s=>s.status==="idle")});var xe=br(),qe="marimo:file",Se=new Xt(null);const Rt={saveFile(t){Se.set(qe,t)},readFile(){return Se.get(qe)}};var xt={saveFile(t){Y.setCodeForHash((0,xe.compressToEncodedURIComponent)(t))},readFile(){let t=Y.getCodeFromHash()||Y.getCodeFromSearchParam();return t?(0,xe.decompressFromEncodedURIComponent)(t):null}};const qt={saveFile(t){},readFile(){let t=document.querySelector("marimo-code");return t?decodeURIComponent(t.textContent||"").trim():null}};var St={saveFile(t){},readFile(){if(window.location.hostname!=="marimo.app")return null;let t=new URL("files/wasm-intro.py",document.baseURI);return fetch(t.toString()).then(e=>e.ok?e.text():null).catch(()=>null)}};const Et={saveFile(t){},readFile(){return z.get(Jt)??null}};var kt={saveFile(t){},readFile(){return["import marimo","app = marimo.App()","","@app.cell","def __():"," return","",'if __name__ == "__main__":'," app.run()"].join(`
2
- `)}},Ee=class{constructor(t){this.stores=t}insert(t,e){this.stores.splice(t,0,e)}saveFile(t){this.stores.forEach(e=>e.saveFile(t))}readFile(){for(let t of this.stores){let e=t.readFile();if(e)return e}return null}};let X;J=new Ee([Et,qt,xt]),X=new Ee([Rt,St,kt]),ge=class ct{constructor(){n(this,"initialized",new Ye);n(this,"sendRename",async({filename:e})=>(e===null||(Y.setFilename(e),await this.rpc.proxy.request.bridge({functionName:"rename_file",payload:e})),null));n(this,"sendSave",async e=>{if(!this.saveRpc)return p.warn("Save RPC not initialized"),null;await this.saveRpc.saveNotebook(e);let r=await this.readCode();return r.contents&&(J.saveFile(r.contents),X.saveFile(r.contents)),this.rpc.proxy.request.saveNotebook(e).catch(s=>{p.error(s)}),null});n(this,"sendCopy",async()=>{g()});n(this,"sendStdin",async e=>(await this.rpc.proxy.request.bridge({functionName:"put_input",payload:e.text}),null));n(this,"sendPdb",async()=>{g()});n(this,"sendRun",async e=>(await this.rpc.proxy.request.loadPackages(e.codes.join(`
3
- `)),await this.putControlRequest({type:"execute-cells",...e}),null));n(this,"sendRunScratchpad",async e=>(await this.rpc.proxy.request.loadPackages(e.code),await this.putControlRequest({type:"execute-scratchpad",...e}),null));n(this,"sendInterrupt",async()=>(this.interruptBuffer!==void 0&&(this.interruptBuffer[0]=2),null));n(this,"sendShutdown",async()=>(window.close(),null));n(this,"sendFormat",async e=>await this.rpc.proxy.request.bridge({functionName:"format",payload:e}));n(this,"sendDeleteCell",async e=>(await this.putControlRequest({type:"delete-cell",...e}),null));n(this,"sendInstallMissingPackages",async e=>(this.putControlRequest({type:"install-packages",...e}),null));n(this,"sendCodeCompletionRequest",async e=>(z.get(er)||await this.rpc.proxy.request.bridge({functionName:"code_complete",payload:e}),null));n(this,"saveUserConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_user_config",payload:e}),ur.post("/kernel/save_user_config",e,{baseUrl:"/"}).catch(r=>(p.error(r),null))));n(this,"saveAppConfig",async e=>(await this.rpc.proxy.request.bridge({functionName:"save_app_config",payload:e}),null));n(this,"saveCellConfig",async e=>(await this.putControlRequest({type:"update-cell-config",...e}),null));n(this,"sendRestart",async()=>{let e=await this.readCode();return e.contents&&(J.saveFile(e.contents),X.saveFile(e.contents)),vr(),null});n(this,"readCode",async()=>this.saveRpc?{contents:await this.saveRpc.readNotebook()}:(p.warn("Save RPC not initialized"),{contents:""}));n(this,"readSnippets",async()=>await this.rpc.proxy.request.bridge({functionName:"read_snippets",payload:void 0}));n(this,"openFile",async({path:e})=>{let r=_r({code:null,baseUrl:window.location.origin});return window.open(r,"_blank"),null});n(this,"sendListFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"list_files",payload:e}));n(this,"sendSearchFiles",async e=>await this.rpc.proxy.request.bridge({functionName:"search_files",payload:e}));n(this,"sendComponentValues",async e=>(await this.putControlRequest({type:"update-ui-element",...e,token:Ge()}),null));n(this,"sendInstantiate",async e=>null);n(this,"sendFunctionRequest",async e=>(await this.putControlRequest({type:"invoke-function",...e}),null));n(this,"sendCreateFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"create_file_or_directory",payload:e}));n(this,"sendDeleteFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"delete_file_or_directory",payload:e}));n(this,"sendCopyFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"copy_file_or_directory",payload:e}));n(this,"sendRenameFileOrFolder",async e=>await this.rpc.proxy.request.bridge({functionName:"move_file_or_directory",payload:e}));n(this,"sendUpdateFile",async e=>await this.rpc.proxy.request.bridge({functionName:"update_file",payload:e}));n(this,"sendFileDetails",async e=>await this.rpc.proxy.request.bridge({functionName:"file_details",payload:e}));n(this,"exportAsHTML",async e=>await this.rpc.proxy.request.bridge({functionName:"export_html",payload:e}));n(this,"exportAsMarkdown",async e=>await this.rpc.proxy.request.bridge({functionName:"export_markdown",payload:e}));n(this,"previewDatasetColumn",async e=>(await this.putControlRequest({type:"preview-dataset-column",...e}),null));n(this,"previewSQLTable",async e=>(await this.putControlRequest({type:"preview-sql-table",...e}),null));n(this,"previewSQLTableList",async e=>(await this.putControlRequest({type:"list-sql-tables",...e}),null));n(this,"previewSQLSchemaList",async e=>(await this.putControlRequest({type:"list-sql-schemas",...e}),null));n(this,"previewDataSourceConnection",async e=>(await this.putControlRequest({type:"list-data-source-connection",...e}),null));n(this,"validateSQL",async e=>(await this.putControlRequest({type:"validate-sql",...e}),null));n(this,"sendModelValue",async e=>(await this.putControlRequest({type:"model",...e}),null));n(this,"sendDocumentTransaction",()=>Promise.resolve(null));n(this,"addPackage",async e=>this.rpc.proxy.request.addPackage(e));n(this,"removePackage",async e=>this.rpc.proxy.request.removePackage(e));n(this,"getPackageList",async()=>await this.rpc.proxy.request.listPackages());n(this,"getDependencyTree",async()=>({tree:{dependencies:[],name:"",tags:[],version:null}}));n(this,"listSecretKeys",async e=>(await this.putControlRequest({type:"list-secret-keys",...e}),null));n(this,"getUsageStats",g);n(this,"openTutorial",g);n(this,"getRecentFiles",g);n(this,"getWorkspaceFiles",g);n(this,"getRunningNotebooks",g);n(this,"shutdownSession",g);n(this,"exportAsIPYNB",g);n(this,"exportAsPDF",g);n(this,"autoExportAsHTML",g);n(this,"autoExportAsMarkdown",g);n(this,"autoExportAsIPYNB",g);n(this,"updateCellOutputs",g);n(this,"writeSecret",g);n(this,"invokeAiTool",g);n(this,"clearCache",g);n(this,"getCacheInfo",g);n(this,"listStorageEntries",g);n(this,"downloadStorage",g);or()&&(this.rpc=Re(new Worker(new URL(""+new URL("worker-ztl1wuLb.js",import.meta.url).href,""+import.meta.url),{type:"module",name:$e()})),this.rpc.addMessageListener("ready",()=>{this.startSession()}),this.rpc.addMessageListener("initialized",()=>{this.saveRpc=this.getSaveWorker(),this.setInterruptBuffer(),this.initialized.resolve()}),this.rpc.addMessageListener("initializingMessage",({message:e})=>{z.set(ye,e)}),this.rpc.addMessageListener("initializedError",({error:e})=>{this.initialized.status==="resolved"&&(p.error(e),yr({title:"Error initializing",description:e,variant:"danger"})),this.initialized.reject(Error(e))}),this.rpc.addMessageListener("kernelMessage",({message:e})=>{var r;(r=this.messageConsumer)==null||r.call(this,new MessageEvent("message",{data:e}))}))}static get INSTANCE(){let e="_marimo_private_PyodideBridge";return window[e]||(window[e]=new ct),window[e]}getSaveWorker(){return He()==="read"?(p.debug("Skipping SaveWorker in read-mode"),{readFile:g,readNotebook:g,saveNotebook:g}):Re(new Worker(new URL(""+new URL("save-worker-CtJsIYIM.js",import.meta.url).href,""+import.meta.url),{type:"module",name:$e()})).proxy.request}async startSession(){let e=await J.readFile(),r=await X.readFile(),s=z.get(Zt)??Y.getFilename(),a=z.get(ir),i={},u=new URLSearchParams(window.location.search);for(let d of u.keys()){let v=u.getAll(d);i[d]=v.length===1?v[0]:v}await this.rpc.proxy.request.startSession({queryParameters:i,code:e||r||"",filename:s,userConfig:{...a,runtime:{...a.runtime,auto_instantiate:He()==="read"?!0:a.runtime.auto_instantiate}}})}setInterruptBuffer(){crossOriginIsolated?(this.interruptBuffer=new Uint8Array(new SharedArrayBuffer(1)),this.rpc.proxy.request.setInterruptBuffer(this.interruptBuffer)):p.warn("Not running in a secure context; interrupts are not available.")}attachMessageConsumer(e){this.messageConsumer=e,this.rpc.proxy.send.consumerReady({})}async putControlRequest(e){await this.rpc.proxy.request.bridge({functionName:"put_control_request",payload:e})}},rt=function(){return we.withProducerCallback(t=>{ge.INSTANCE.attachMessageConsumer(t)})},tt=function(t=ce()){let e=window.fetch;return window.fetch=async(r,s)=>{let a=r instanceof Request?r.url:r.toString();if(a.startsWith("data:"))return e(r,s);try{let i=Z(a,t);if(i){let u=await(await e(i)).arrayBuffer();return new Response(u,{headers:{"Content-Type":Mt(a)}})}return e(r,s)}catch(i){return p.error("Error parsing URL",i),e(r,s)}},()=>{window.fetch=e}};function Mt(t){return t.endsWith(".csv")?"text/csv":t.endsWith(".json")?"application/json":t.endsWith(".txt")?"text/plain":"application/octet-stream"}it=function(t,e=ce()){let r=t.http.bind(t),s=t.load.bind(t);return t.http=async a=>{let i=Z(a,e);if(i)return await window.fetch(i).then(u=>u.text());try{return await r(a)}catch(u){if(a.startsWith("data:"))return await window.fetch(a).then(d=>d.text());throw u}},t.load=async a=>{let i=Z(a,e);if(i)return await window.fetch(i).then(u=>u.text());try{return await s(a)}catch(u){if(a.startsWith("data:"))return await window.fetch(a).then(d=>d.text());throw u}},()=>{t.http=r,t.load=s}};function ke(t){return t.startsWith(".")?t.slice(1):t}function Ft(t,e=ce()){let r=Z(t,e);if(!r)return t;let s=Cr(r);return URL.createObjectURL(s)}function Z(t,e){let r=document.baseURI;r.startsWith("blob:")&&(r=r.replace("blob:",""));let s=new URL(t,r).pathname,a=Me(t),i=Me(s);return e[t]||e[ke(t)]||e[s]||e[ke(s)]||a&&e[a]||i&&e[i]}function Me(t){let e=t.indexOf("/@file/");return e===-1?null:t.slice(e)}function ie(t,e=[]){let r=[];if(t instanceof DataView)r.push(e);else if(Array.isArray(t))for(let[s,a]of t.entries())r.push(...ie(a,[...e,s]));else if(typeof t=="object"&&t)for(let[s,a]of Object.entries(t))r.push(...ie(a,[...e,s]));return r}function Pt(t){let e=ie(t);if(e.length===0)return{state:t,buffers:[],bufferPaths:[]};let r=structuredClone(t),s=[],a=[];for(let i of e){let u=rr(t,i);if(u instanceof DataView){let d=Ve(u);s.push(d),a.push(i),G(r,i,d)}}return{state:r,buffers:s,bufferPaths:a}}function Fe(t){let{state:e,bufferPaths:r,buffers:s}=t;if(!r||r.length===0)return e;s&&ar(s.length===r.length,"Buffers and buffer paths not the same length");let a=e;for(let[i,u]of r.entries()){let d=s==null?void 0:s[i];if(d==null){p.warn("[anywidget] Could not find buffer at path",u);continue}typeof d=="string"?G(a,u,Qe(d)):G(a,u,d)}return a}he=function(t){return typeof t!="string"||t.length===0?!1:!!(/^(\.?\/)?@file\/[^?#]+$/.test(t)||It(t)&&z.get(wr))};function It(t){return t.startsWith("data:text/javascript;base64,")||t.startsWith("data:application/javascript;base64,")||t.startsWith("data:text/css;base64,")}const Pe={invoke:async()=>{let t="anywidget.invoke not supported in marimo. Please file an issue at https://github.com/marimo-team/marimo/issues";throw p.warn(t),Error(t)}};function Lt(t){if(typeof AbortSignal.any=="function")return AbortSignal.any(t);let e=new AbortController;for(let r of t){if(r.aborted)return e.abort(r.reason),e.signal;r.addEventListener("abort",()=>e.abort(r.reason),{once:!0})}return e.signal}var Nt=(Le=class{constructor(){_(this,ee);_(this,U,new Map)}getModule(t,e){let r=o(this,U).get(e);if(r)return r;let s=A(this,ee,pt).call(this,t).catch(a=>{throw o(this,U).delete(e),a});return o(this,U).set(e,s),s}invalidate(t){p.debug(`[WidgetDefRegistry] Invalidating module cache for hash=${t}`),o(this,U).delete(t)}},U=new WeakMap,ee=new WeakSet,pt=async function(t){if(!he(t))throw Error(`Refusing to load anywidget module from untrusted URL: ${String(t)}`);let e=lr(t).toString();return ze()&&(e=Ft(e)),gr(()=>import(e).then(async r=>(await r.__tla,r)),[],import.meta.url)},Le),At=(Ne=class{constructor(){_(this,M);_(this,j);_(this,E)}async bind(t,e){var i,u;if(o(this,E)&&o(this,j)===t)return o(this,E);o(this,E)&&o(this,j)!==t&&(p.debug("[WidgetBinding] Hot-reload detected, aborting previous binding"),(i=o(this,M))==null||i.abort(),C(this,M,void 0),C(this,E,void 0)),C(this,j,t),C(this,M,new AbortController);let r=o(this,M).signal,s=typeof t=="function"?await t():t,a=await((u=s.initialize)==null?void 0:u.call(s,{model:e,experimental:Pe}));return a&&r.addEventListener("abort",a),C(this,E,async(d,v)=>{var q;let x=await((q=s.render)==null?void 0:q.call(s,{model:e,el:d,experimental:Pe}));x&&Lt([v,r]).addEventListener("abort",()=>{let S=v.aborted?"view unmount":"binding destroyed";p.debug(`[WidgetBinding] Render cleanup triggered (reason: ${S})`),x()})}),o(this,E)}destroy(){var t;p.debug("[WidgetBinding] Destroying binding, aborting initialize lifecycle"),(t=o(this,M))==null||t.abort(),C(this,M,void 0),C(this,j,void 0),C(this,E,void 0)}},M=new WeakMap,j=new WeakMap,E=new WeakMap,Ne),Ut=(Ae=class{constructor(){_(this,P,new Map)}getOrCreate(t){let e=o(this,P).get(t);return e||(e=new At,o(this,P).set(t,e)),e}destroy(t){let e=o(this,P).get(t);e&&(p.debug(`[BindingManager] Destroying binding for model=${t}`),e.destroy(),o(this,P).delete(t))}has(t){return o(this,P).has(t)}},P=new WeakMap,Ae);ut=new Nt,me=new Ut;var jt=(Ue=class{constructor(t=1e4){_(this,D);_(this,F,new Map);_(this,Q);C(this,Q,t)}get(t){let e=A(this,D,ae).call(this,t);return e.deferred.status==="pending"&&setTimeout(()=>{e.deferred.status==="pending"&&(e.deferred.reject(Error(`Model not found for key: ${t}`)),o(this,F).delete(t))},o(this,Q)),e.deferred.promise}create(t,e){let r=A(this,D,ae).call(this,t);r.deferred.resolve(e(r.controller.signal))}set(t,e){A(this,D,ae).call(this,t).deferred.resolve(e)}getSync(t){let e=o(this,F).get(t);if(e&&e.deferred.status==="resolved")return e.deferred.value}delete(t){var e;p.debug(`[ModelManager] Deleting model=${t}, aborting lifecycle signal`),(e=o(this,F).get(t))==null||e.controller.abort(),o(this,F).delete(t)}},F=new WeakMap,Q=new WeakMap,D=new WeakSet,ae=function(t){let e=o(this,F).get(t);return e||(e={deferred:new Ye,controller:new AbortController},o(this,F).set(t,e)),e},Ue),Ie=Symbol("marimo");function oe(t){return t[Ie]}ne=new jt;var Wt=(je=Ie,W=class{constructor(e,r,s){_(this,N);_(this,te,"change");_(this,I);_(this,L);_(this,O);_(this,R,{});n(this,je,{updateAndEmitDiffs:e=>A(this,N,ht).call(this,e),emitCustomMessage:(e,r)=>A(this,N,mt).call(this,e,r)});n(this,"widget_manager",{async get_model(e){let r=await W._modelManager.get(e);if(!r)throw Error(`Model not found with id: ${e}. This is likely because the model was not registered.`);return r}});_(this,re,sr(()=>{let e=o(this,R)[o(this,te)];if(e)for(let r of e)try{r()}catch(s){p.error("Error emitting event",s)}},0));C(this,L,e),C(this,O,r),C(this,I,new Map),s&&s.addEventListener("abort",()=>{p.debug("[Model] Signal aborted, clearing all listeners"),C(this,R,{})})}off(e,r){var s;if(!e){C(this,R,{});return}if(!r){o(this,R)[e]=new Set;return}(s=o(this,R)[e])==null||s.delete(r)}send(e,r,s){let a=(s??[]).map(i=>i instanceof ArrayBuffer?new DataView(i):new DataView(i.buffer,i.byteOffset,i.byteLength));return o(this,O).sendCustomMessage(e,a).then(()=>r==null?void 0:r())}get(e){return o(this,L)[e]}set(e,r){C(this,L,{...o(this,L),[e]:r}),o(this,I).set(e,r),A(this,N,ft).call(this,`change:${e}`,r),o(this,re).call(this)}save_changes(){if(o(this,I).size===0)return;let e=Object.fromEntries(o(this,I).entries());o(this,I).clear(),o(this,O).sendUpdate(e)}on(e,r){o(this,R)[e]||(o(this,R)[e]=new Set),o(this,R)[e].add(r)}},te=new WeakMap,I=new WeakMap,L=new WeakMap,O=new WeakMap,R=new WeakMap,N=new WeakSet,ft=function(e,r){if(!o(this,R)[e])return;let s=o(this,R)[e];for(let a of s)try{a(r)}catch(i){p.error("Error emitting event",i)}},ht=function(e){e!=null&&Object.keys(e).forEach(r=>{let s=r;o(this,L)[s]!==e[s]&&this.set(s,e[s])})},mt=function(e,r=[]){let s=o(this,R)["msg:custom"];if(s)for(let a of s)try{a(e.content,r)}catch(i){p.error("Error emitting event",i)}},re=new WeakMap,n(W,"_modelManager",ne),W);et=async function(t,e){let r=e.model_id,s=e.message,a=("buffers"in s?s.buffers:[]).map(Qe);switch(s.method){case"open":{let{state:i,buffer_paths:u=[]}=s,d=Fe({state:i,bufferPaths:u,buffers:a}),v=t.getSync(r);if(v){oe(v).updateAndEmitDiffs(d);return}t.create(r,x=>new Wt(d,ze()?{sendUpdate:async()=>{},sendCustomMessage:async()=>{}}:{async sendUpdate(q){if(x.aborted){p.debug(`[Model] sendUpdate suppressed for model=${r} (signal aborted)`);return}let{state:S,buffers:H,bufferPaths:se}=Pt(q);await pe().sendModelValue({modelId:r,message:{method:"update",state:S,bufferPaths:se},buffers:H})},async sendCustomMessage(q,S){if(x.aborted){p.debug(`[Model] sendCustomMessage suppressed for model=${r} (signal aborted)`);return}await pe().sendModelValue({modelId:r,message:{method:"custom",content:q},buffers:S.map(Ve)})}},x));return}case"custom":oe(await t.get(r)).emitCustomMessage({method:"custom",content:s.content},a);return;case"close":me.destroy(r),t.delete(r);return;case"update":{let{state:i,buffer_paths:u=[]}=s,d=Fe({state:i,bufferPaths:u,buffers:a});oe(await t.get(r)).updateAndEmitDiffs(d);return}default:pr(s)}},Kt(ne,"MODEL_MANAGER");function Tt(t){return typeof t!="object"||!t?!1:"type"in t&&t.type==="marimo-ui-value-update"}fe=class gt{static get INSTANCE(){let e="_marimo_private_UIElementRegistry";return window[e]||(window[e]=new gt),window[e]}constructor(){this.entries=new Map}has(e){return this.entries.has(e)}set(e,r){this.entries.has(e)&&p.debug("UIElementRegistry overwriting entry for objectId.",e),this.entries.set(e,{objectId:e,value:r,elements:new Set})}registerInstance(e,r){let s=this.entries.get(e);s===void 0?this.entries.set(e,{objectId:e,value:Qt(r,this),elements:new Set([r])}):s.elements.add(r)}removeInstance(e,r){let s=this.entries.get(e);s!=null&&s.elements.has(r)&&s.elements.delete(r)}removeElementsByCell(e){[...this.entries.keys()].filter(r=>r.startsWith(`${e}-`)).forEach(r=>{this.entries.delete(r)})}lookupValue(e){let r=this.entries.get(e);return r===void 0?void 0:r.value}broadcastMessage(e,r,s){let a=this.entries.get(e);if(a===void 0){p.warn("UIElementRegistry missing entry",e);return}if(Tt(r)){a.value=r.value,a.elements.forEach(i=>{i.dispatchEvent(Je.create({bubbles:!1,composed:!0,detail:{value:r.value,element:i}}))});return}a.elements.forEach(i=>{i.dispatchEvent(xr.create({bubbles:!1,composed:!0,detail:{objectId:e,message:r,buffers:s}}))})}broadcastValueUpdate(e,r,s){let a=this.entries.get(r);a===void 0?p.warn("UIElementRegistry missing entry",r):(a.value=s,a.elements.forEach(i=>{i!==e&&i.dispatchEvent(Je.create({bubbles:!1,composed:!0,detail:{value:s,element:i}}))}),document.dispatchEvent(Rr.create({bubbles:!0,composed:!0,detail:{objectId:r}})))}},at=fe.INSTANCE,st=new mr("function-call-result",async(t,e)=>{await pe().sendFunctionRequest({functionCallId:t,...e})}),lt="68px";var Bt="288px";nt=t=>t?/^\d+$/.test(t)?`${t}px`:t:Bt,ot=Yt({isOpen:!0},(t,e)=>{if(!e)return t;switch(e.type){case"toggle":return{...t,isOpen:e.isOpen??t.isOpen};case"setWidth":return{...t,width:e.width};default:return t}})});export{G as C,Ke as S,Xe as _,qr as __tla,fe as a,Ze as b,et as c,he as d,tt as f,J as g,rt as h,st as i,me as l,ge as m,nt as n,at as o,it as p,ot as r,ne as s,lt as t,ut as u,ye as v,dt as x,we as y};