@marimo-team/islands 0.20.5-dev70 → 0.20.5-dev75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/dist/{ConnectedDataExplorerComponent-DzTQ52Zs.js → ConnectedDataExplorerComponent-pQ4sWAoT.js} +3 -3
  2. package/dist/assets/__vite-browser-external-Us1ds95c.js +1 -0
  3. package/dist/assets/{worker-DUYMdbtA.js → worker-D10K3OOz.js} +2 -2
  4. package/dist/{glide-data-editor-DAqhWGKz.js → glide-data-editor-DqxJOnJk.js} +2 -2
  5. package/dist/main.js +46 -25
  6. package/dist/{mermaid-m5QS9ELR.js → mermaid-DkdSmFY8.js} +2 -2
  7. package/dist/{spec-DOGtAWuU.js → spec-CbYkiXG3.js} +1 -1
  8. package/dist/{types-Dzga1074.js → types-0FB-N7AA.js} +1 -1
  9. package/dist/{useAsyncData-BlSPOmJU.js → useAsyncData-D7-oahg5.js} +1 -1
  10. package/dist/{useDeepCompareMemoize-CpGehmfj.js → useDeepCompareMemoize-DLS-bHHT.js} +1 -1
  11. package/dist/{useTheme-BAtPEkUJ.js → useTheme-D0rdoMBF.js} +2 -1
  12. package/dist/{vega-component-0KINBNtd.js → vega-component-D2knjGgv.js} +3 -3
  13. package/package.json +1 -1
  14. package/src/components/editor/connections/storage/as-code.ts +1 -1
  15. package/src/components/storage/storage-inspector.tsx +1 -1
  16. package/src/core/cells/ids.ts +2 -1
  17. package/src/core/config/__tests__/config-schema.test.ts +6 -2
  18. package/src/core/config/config-schema.ts +1 -0
  19. package/src/core/config/feature-flag.tsx +1 -1
  20. package/src/core/dom/ui-element-constants.ts +15 -0
  21. package/src/core/dom/ui-element.ts +3 -2
  22. package/src/core/islands/components/web-components.tsx +2 -1
  23. package/src/plugins/impl/DataTablePlugin.tsx +53 -3
  24. package/src/plugins/impl/FileBrowserPlugin.tsx +4 -1
  25. package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +4 -1
  26. package/dist/assets/__vite-browser-external-WSlCcXn_.js +0 -1
@@ -2,7 +2,7 @@ import { a as __toCommonJS, n as __esmMin, r as __export, s as __toESM, t as __c
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
4
  import { l as createLucideIcon } from "./dist-WIWVvdBh.js";
5
- import { A as useOnMount, F as $896ba0a80a8f4d36$export$85fd5fdf27bacc79, H as ListFilter, K as Calendar, M as Badge, N as createReducerAndAtoms, P as startCase_default, R as Type, U as Hash, V as SquareFunction, t as augmentSpecWithData, z as ToggleLeft } from "./spec-DOGtAWuU.js";
5
+ import { A as useOnMount, F as $896ba0a80a8f4d36$export$85fd5fdf27bacc79, H as ListFilter, K as Calendar, M as Badge, N as createReducerAndAtoms, P as startCase_default, R as Type, U as Hash, V as SquareFunction, t as augmentSpecWithData, z as ToggleLeft } from "./spec-CbYkiXG3.js";
6
6
  import { A as $a916eb452884faea$export$b7a616150fdb9f44, a as SelectGroup, c as SelectSeparator, i as SelectContent, l as SelectTrigger, o as SelectItem, r as Select, s as SelectLabel, t as Label, u as SelectValue } from "./label-BLDcDYdI.js";
7
7
  import { d as Objects, g as Logger, t as Button, y as cn } from "./button-DQpBib29.js";
8
8
  import "./Combination-Dk6JxauT.js";
@@ -10,12 +10,12 @@ import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
10
10
  import "./react-dom-CqtLRVZP.js";
11
11
  import { t as Tooltip } from "./tooltip-SPkubVH3.js";
12
12
  import { t as isString_default } from "./isString-D-vNYDBA.js";
13
- import { b as createStore, g as useAtomValue, m as Provider, n as useTheme, y as atom } from "./useTheme-BAtPEkUJ.js";
13
+ import { b as createStore, g as useAtomValue, m as Provider, n as useTheme, y as atom } from "./useTheme-D0rdoMBF.js";
14
14
  import { a as tooltipHandler, n as vegaLoadData } from "./loader-DsE3MiYo.js";
15
15
  import { t as invariant } from "./invariant-D9QLJ4SZ.js";
16
16
  import { n as ErrorBanner } from "./error-banner-BctofTCP.js";
17
17
  import "./vega-loader.browser-CQ-lnUkI.js";
18
- import { t as useAsyncData } from "./useAsyncData-BlSPOmJU.js";
18
+ import { t as useAsyncData } from "./useAsyncData-D7-oahg5.js";
19
19
  import { n as q, r as contains } from "./react-vega-C6kwcd86.js";
20
20
  import "./defaultLocale-Bklbu-Tp.js";
21
21
  import "./defaultLocale-CfQ4kBaV.js";
@@ -0,0 +1 @@
1
+ import{t as e}from"./worker-D10K3OOz.js";var t=e(((e,t)=>{t.exports={}}));export default t();
@@ -1,6 +1,6 @@
1
1
  var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),l=e=>t=>c(t.default,e),u=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function.")});function d(e){return e}function f(e,t){let n=e.map(e=>`"${e}"`).join(`, `);return Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${n}`)}function p(e={}){let t={};function n(e){t=e}let r={};function i(e){r.unregisterHandler&&r.unregisterHandler(),r=e,r.registerHandler?.(se)}let a;function o(e){if(typeof e==`function`){a=e;return}a=(t,n)=>{let r=e[t];if(r)return r(n);let i=e._;if(!i)throw Error(`The requested method has no handler: ${t}`);return i(t,n)}}let{maxRequestTime:s=1e3}=e;e.transport&&i(e.transport),e.requestHandler&&o(e.requestHandler),e._debugHooks&&n(e._debugHooks);let c=0;function l(){return c<=1e10?++c:c=0}let u=new Map,d=new Map;function p(e,...n){let i=n[0];return new Promise((n,a)=>{if(!r.send)throw f([`send`],`make requests`);let o=l(),c={type:`request`,id:o,method:e,params:i};u.set(o,{resolve:n,reject:a}),s!==1/0&&d.set(o,setTimeout(()=>{d.delete(o),a(Error(`RPC request timed out.`))},s)),t.onSend?.(c),r.send(c)})}let ee=new Proxy(p,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>p(t,e)}),te=ee;function ne(e,...n){let i=n[0];if(!r.send)throw f([`send`],`send messages`);let a={type:`message`,id:e,payload:i};t.onSend?.(a),r.send(a)}let re=new Proxy(ne,{get:(e,t,n)=>t in e?Reflect.get(e,t,n):e=>ne(t,e)}),ie=re,m=new Map,ae=new Set;function h(e,t){if(!r.registerHandler)throw f([`registerHandler`],`register message listeners`);if(e===`*`){ae.add(t);return}m.has(e)||m.set(e,new Set),m.get(e)?.add(t)}function oe(e,t){if(e===`*`){ae.delete(t);return}m.get(e)?.delete(t),m.get(e)?.size===0&&m.delete(e)}async function se(e){if(t.onReceive?.(e),!(`type`in e))throw Error(`Message does not contain a type.`);if(e.type===`request`){if(!r.send||!a)throw f([`send`,`requestHandler`],`handle requests`);let{id:n,method:i,params:o}=e,s;try{s={type:`response`,id:n,success:!0,payload:await a(i,o)}}catch(e){if(!(e instanceof Error))throw e;s={type:`response`,id:n,success:!1,error:e.message}}t.onSend?.(s),r.send(s);return}if(e.type===`response`){let t=d.get(e.id);t!=null&&clearTimeout(t);let{resolve:n,reject:r}=u.get(e.id)??{};e.success?n?.(e.payload):r?.(Error(e.error));return}if(e.type===`message`){for(let t of ae)t(e.id,e.payload);let t=m.get(e.id);if(!t)return;for(let n of t)n(e.payload);return}throw Error(`Unexpected RPC message type: ${e.type}`)}return{setTransport:i,setRequestHandler:o,request:ee,requestProxy:te,send:re,sendProxy:ie,addMessageListener:h,removeMessageListener:oe,proxy:{send:ie,request:te},_setDebugHooks:n}}function ee(e){return p(e)}const te=`[transport-id]`;function ne(e,t){let{transportId:n}=t;return n==null?e:{[te]:n,data:e}}function re(e,t){let{transportId:n,filter:r}=t,i=r?.();if(n!=null&&i!=null)throw Error("Cannot use both `transportId` and `filter` at the same time");let a=e;if(n){if(e[te]!==n)return[!0];a=e.data}return i===!1?[!0]:[!1,a]}function ie(e,t={}){let{transportId:n,filter:r,remotePort:i}=t,a=e,o=i??e,s;return{send(e){o.postMessage(ne(e,{transportId:n}))},registerHandler(e){s=t=>{let i=t.data,[a,o]=re(i,{transportId:n,filter:()=>r?.(t)});a||e(o)},a.addEventListener(`message`,s)},unregisterHandler(){s&&a.removeEventListener(`message`,s)}}}function m(e){return ie(self,e)}var ae=Object.defineProperty,h=(e,t)=>ae(e,`name`,{value:t,configurable:!0}),oe=(e=>typeof u<`u`?u:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof u<`u`?u:e)[t]}):e)(function(e){if(typeof u<`u`)return u.apply(this,arguments);throw Error(`Dynamic require of "`+e+`" is not supported`)});function se(e){return!isNaN(parseFloat(e))&&isFinite(e)}h(se,`_isNumber`);function g(e){return e.charAt(0).toUpperCase()+e.substring(1)}h(g,`_capitalize`);function ce(e){return function(){return this[e]}}h(ce,`_getter`);var _=[`isConstructor`,`isEval`,`isNative`,`isToplevel`],v=[`columnNumber`,`lineNumber`],y=[`fileName`,`functionName`,`source`],le=_.concat(v,y,[`args`],[`evalOrigin`]);function b(e){if(e)for(var t=0;t<le.length;t++)e[le[t]]!==void 0&&this[`set`+g(le[t])](e[le[t]])}for(h(b,`StackFrame`),b.prototype={getArgs:function(){return this.args},setArgs:function(e){if(Object.prototype.toString.call(e)!==`[object Array]`)throw TypeError(`Args must be an Array`);this.args=e},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(e){if(e instanceof b)this.evalOrigin=e;else if(e instanceof Object)this.evalOrigin=new b(e);else throw TypeError(`Eval Origin must be an Object or StackFrame`)},toString:function(){var e=this.getFileName()||``,t=this.getLineNumber()||``,n=this.getColumnNumber()||``,r=this.getFunctionName()||``;return this.getIsEval()?e?`[eval] (`+e+`:`+t+`:`+n+`)`:`[eval]:`+t+`:`+n:r?r+` (`+e+`:`+t+`:`+n+`)`:e+`:`+t+`:`+n}},b.fromString=h(function(e){var t=e.indexOf(`(`),n=e.lastIndexOf(`)`),r=e.substring(0,t),i=e.substring(t+1,n).split(`,`),a=e.substring(n+1);if(a.indexOf(`@`)===0)var o=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(a,``),s=o[1],c=o[2],l=o[3];return new b({functionName:r,args:i||void 0,fileName:s,lineNumber:c||void 0,columnNumber:l||void 0})},`StackFrame$$fromString`),x=0;x<_.length;x++)b.prototype[`get`+g(_[x])]=ce(_[x]),b.prototype[`set`+g(_[x])]=function(e){return function(t){this[e]=!!t}}(_[x]);var x;for(S=0;S<v.length;S++)b.prototype[`get`+g(v[S])]=ce(v[S]),b.prototype[`set`+g(v[S])]=function(e){return function(t){if(!se(t))throw TypeError(e+` must be a Number`);this[e]=Number(t)}}(v[S]);var S;for(C=0;C<y.length;C++)b.prototype[`get`+g(y[C])]=ce(y[C]),b.prototype[`set`+g(y[C])]=function(e){return function(t){this[e]=String(t)}}(y[C]);var C,ue=b;function de(){var e=/^\s*at .*(\S+:\d+|\(native\))/m,t=/^(eval@)?(\[native code])?$/;return{parse:h(function(t){if(t.stack&&t.stack.match(e))return this.parseV8OrIE(t);if(t.stack)return this.parseFFOrSafari(t);throw Error(`Cannot parse given Error object`)},`ErrorStackParser$$parse`),extractLocation:h(function(e){if(e.indexOf(`:`)===-1)return[e];var t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g,``));return[t[1],t[2]||void 0,t[3]||void 0]},`ErrorStackParser$$extractLocation`),parseV8OrIE:h(function(t){return t.stack.split(`
2
2
  `).filter(function(t){return!!t.match(e)},this).map(function(e){e.indexOf(`(eval `)>-1&&(e=e.replace(/eval code/g,`eval`).replace(/(\(eval at [^()]*)|(,.*$)/g,``));var t=e.replace(/^\s+/,``).replace(/\(eval code/g,`(`).replace(/^.*?\s+/,``),n=t.match(/ (\(.+\)$)/);t=n?t.replace(n[0],``):t;var r=this.extractLocation(n?n[1]:t);return new ue({functionName:n&&t||void 0,fileName:[`eval`,`<anonymous>`].indexOf(r[0])>-1?void 0:r[0],lineNumber:r[1],columnNumber:r[2],source:e})},this)},`ErrorStackParser$$parseV8OrIE`),parseFFOrSafari:h(function(e){return e.stack.split(`
3
- `).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new ue({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new ue({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}h(de,`ErrorStackParser`);var fe=new de,w=typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,pe=w&&typeof module<`u`&&typeof module.exports<`u`&&typeof oe<`u`&&typeof __dirname<`u`,me=w&&!pe;globalThis.Bun;var he=!w&&!(typeof Deno<`u`),ge=he&&typeof window==`object`&&typeof document==`object`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof importScripts!=`function`,_e=he&&typeof importScripts==`function`&&typeof self==`object`;typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)==-1&&navigator.userAgent.indexOf(`Safari`);var ve,ye,be,xe,Se;async function Ce(){if(!w||(ve=(await import(`./__vite-browser-external-WSlCcXn_.js`).then(l(1))).default,xe=await import(`./__vite-browser-external-WSlCcXn_.js`).then(l(1)),Se=await import(`./__vite-browser-external-WSlCcXn_.js`).then(l(1)),be=(await import(`./__vite-browser-external-WSlCcXn_.js`).then(l(1))).default,ye=await import(`./__vite-browser-external-WSlCcXn_.js`).then(l(1)),De=ye.sep,typeof oe<`u`))return;let e={fs:xe,crypto:await import(`./__vite-browser-external-WSlCcXn_.js`).then(l(1)),ws:await import(`./__vite-browser-external-WSlCcXn_.js`).then(l(1)),child_process:await import(`./__vite-browser-external-WSlCcXn_.js`).then(l(1))};globalThis.require=function(t){return e[t]}}h(Ce,`initNodeModules`);function we(e,t){return ye.resolve(t||`.`,e)}h(we,`node_resolvePath`);function Te(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}h(Te,`browser_resolvePath`);var Ee=w?we:Te,De;w||(De=`/`);function Oe(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:Se.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}h(Oe,`node_getBinaryResponse`);function ke(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}h(ke,`browser_getBinaryResponse`);var Ae=w?Oe:ke;async function je(e,t){let{response:n,binary:r}=Ae(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}h(je,`loadBinaryFile`);var Me;if(ge)Me=h(async e=>await import(e),`loadScript`);else if(_e)Me=h(async e=>{try{globalThis.importScripts(e)}catch(t){if(t instanceof TypeError)await import(e);else throw t}},`loadScript`);else if(w)Me=Ne;else throw Error(`Cannot determine runtime environment`);async function Ne(e){e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?be.runInThisContext(await(await fetch(e)).text()):await import(ve.pathToFileURL(e).href)}h(Ne,`nodeLoadScript`);async function Pe(e){if(w){await Ce();let t=await Se.readFile(e,{encoding:`utf8`});return JSON.parse(t)}else return await(await fetch(e)).json()}h(Pe,`loadLockFile`);async function Fe(){if(pe)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=fe.parse(e)[0].fileName;if(w&&!t.startsWith(`file://`)&&(t=`file://${t}`),me){let e=await import(`./__vite-browser-external-WSlCcXn_.js`).then(l(1));return(await import(`./__vite-browser-external-WSlCcXn_.js`).then(l(1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(De);if(n===-1)throw Error(`Could not extract indexURL path from pyodide module location`);return t.slice(0,n)}h(Fe,`calculateDirname`);function Ie(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,i={DIR_MODE:16895,FILE_MODE:33279,mount:function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},syncfs:async(e,t,n)=>{try{let r=i.getLocalSet(e),a=await i.getRemoteSet(e),o=t?a:r,s=t?r:a;await i.reconcile(e,o,s),n(null)}catch(e){n(e)}},getLocalSet:e=>{let n=Object.create(null);function i(e){return e!==`.`&&e!==`..`}h(i,`isRealDir`);function a(e){return t=>r.join2(e,t)}h(a,`toAbsolute`);let o=t.readdir(e.mountpoint).filter(i).map(a(e.mountpoint));for(;o.length;){let e=o.pop(),r=t.stat(e);t.isDir(r.mode)&&o.push.apply(o,t.readdir(e).filter(i).map(a(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},getRemoteSet:async e=>{let t=Object.create(null),n=await Le(e.opts.fileSystemHandle);for(let[a,o]of n)a!==`.`&&(t[r.join2(e.mountpoint,a)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?i.FILE_MODE:i.DIR_MODE});return{type:`remote`,entries:t,handles:n}},loadLocalEntry:e=>{let r=t.lookupPath(e).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},storeLocalEntry:(e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},removeLocalEntry:e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},loadRemoteEntry:async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:i.FILE_MODE,timestamp:new Date(t.lastModified)}}else{if(e.kind===`directory`)return{mode:i.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)}},storeRemoteEntry:async(e,n,i)=>{let a=e.get(r.dirname(n)),o=t.isFile(i.mode)?await a.getFileHandle(r.basename(n),{create:!0}):await a.getDirectoryHandle(r.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(i.contents),await e.close()}e.set(n,o)},removeRemoteEntry:async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},reconcile:async(e,n,a)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let r=n.entries[e],i=a.entries[e];(!i||t.isFile(r.mode)&&r.timestamp.getTime()>i.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(a.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:a.handles;for(let t of s){let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(a.type===`local`){let e=l.get(n),r=await i.loadRemoteEntry(e);i.storeLocalEntry(t,r)}else{let e=i.loadLocalEntry(t);await i.storeRemoteEntry(l,n,e)}}for(let t of c)if(a.type===`local`)i.removeLocalEntry(t);else{let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);await i.removeRemoteEntry(l,n)}}};e.FS.filesystems.NATIVEFS_ASYNC=i}h(Ie,`initializeNativeFS`);var Le=h(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}h(n,`collect`),await n(e);let r=new Map;r.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);r.set(t,n)}return r},`getFsHandles`);function Re(e){let t={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Ue(e),quit(e,n){throw t.exited={status:e,toThrow:n},n},print:e.stdout,printErr:e.stderr,thisProgram:e._sysExecutable,arguments:e.args,API:{config:e},locateFile:t=>e.indexURL+t,instantiateWasm:We(e.indexURL)};return t}h(Re,`createSettings`);function ze(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}h(ze,`createHomeDirectory`);function Be(e){return function(t){Object.assign(t.ENV,e)}}h(Be,`setEnvironment`);function Ve(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}h(Ve,`callFsInitHook`);function He(e){let t=je(e);return async e=>{let n=e._py_version_major(),r=e._py_version_minor();e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}h(He,`installStdlib`);function Ue(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[...Ve(e.fsInit),He(t),ze(e.env.HOME),Be(e.env),Ie]}h(Ue,`getFileSystemInitializationFuncs`);function We(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=Ae(e+`pyodide.asm.wasm`);return function(e,r){return async function(){try{let i;i=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=i;r(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}h(We,`getInstantiateWasmFunc`);var Ge=`0.27.7`;async function Ke(e={}){var t,n;await Ce();let r=e.indexURL||await Fe();r=Ee(r),r.endsWith(`/`)||(r+=`/`),e.indexURL=r;let i={fullStdLib:!1,jsglobals:globalThis,stdin:globalThis.prompt?globalThis.prompt:void 0,lockFileURL:r+`pyodide-lock.json`,args:[],env:{},packageCacheDir:r,packages:[],enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`e94377f5ce7dcf67e0417b69a0016733c2cfb6b4622ee8c490a6f17eb58e863b`},a=Object.assign(i,e);(t=a.env).HOME??(t.HOME=`/home/pyodide`),(n=a.env).PYTHONINSPECT??(n.PYTHONINSPECT=`1`);let o=Re(a),s=o.API;if(s.lockFilePromise=Pe(a.lockFileURL),typeof _createPyodideModule!=`function`){let e=`${a.indexURL}pyodide.asm.js`;await Me(e)}let c;if(e._loadSnapshot){let t=await e._loadSnapshot;c=ArrayBuffer.isView(t)?t:new Uint8Array(t),o.noInitialRun=!0,o.INITIAL_MEMORY=c.length}let l=await _createPyodideModule(o);if(o.exited)throw o.exited.toThrow;if(e.pyproxyToStringRepr&&s.setPyProxyToStringMethod(!0),s.version!==Ge&&a.checkAPIVersion)throw Error(`Pyodide version does not match: '${Ge}' <==> '${s.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);l.locateFile=e=>{throw Error(`Didn't expect to load any more file_packager files!`)};let u;c&&(u=s.restoreSnapshot(c));let d=s.finalizeBootstrap(u,e._snapshotDeserializer);return s.sys.path.insert(0,``),d.version.includes(`dev`)||s.setCdnUrl(`https://cdn.jsdelivr.net/pyodide/v${d.version}/full/`),s._pyodide.set_excepthook(),await s.packageIndexReady,s.initializeStreams(a.stdin,a.stdout,a.stderr),d}h(Ke,`loadPyodide`);function qe(e){return e.includes(`dev`),`v${Ge}`}var Je=class{buffer;started=!1;onMessage;constructor(e){this.onMessage=e,this.buffer=[]}push=e=>{this.started?this.onMessage(e):this.buffer.push(e)};start=()=>{this.started=!0,this.buffer.forEach(e=>this.onMessage(e)),this.buffer=[]}};const Ye={NOOP:()=>{},ASYNC_NOOP:async()=>{},THROW:()=>{throw Error(`Should not be called`)},asUpdater:e=>typeof e==`function`?e:()=>e,identity:e=>e},Xe=(e,t)=>{let n=`[${e}]`;return{debug:(...e)=>console.debug(n,...e),log:(...e)=>t.log(n,...e),warn:(...e)=>t.warn(n,...e),error:(...e)=>t.error(n,...e),trace:(...e)=>t.trace(n,...e),get:n=>Xe(`${e}:${n}`,t),disabled:(e=!0)=>e?Qe:t}},Ze={debug:(...e)=>{console.debug(...e)},log:(...e)=>{console.log(...e)},warn:(...e)=>{console.warn(...e)},error:(...e)=>{console.error(...e)},trace:(...e)=>{console.trace(...e)},get:e=>Xe(`marimo:${e}`,Ze),disabled:(e=!0)=>e?Qe:Ze},Qe={debug:()=>Ye.NOOP,log:()=>Ye.NOOP,warn:()=>Ye.NOOP,error:()=>Ye.NOOP,trace:()=>Ye.NOOP,get:()=>Qe,disabled:()=>Qe};function $e(){return typeof window<`u`&&window.Logger||Ze}const T=$e();var et=class{promise;resolve;reject;status=`pending`;value=void 0;constructor(){this.promise=new Promise((e,t)=>{this.reject=e=>{this.status=`rejected`,t(e)},this.resolve=t=>{this.status=`resolved`,tt(t)||(this.value=t),e(t)}})}};function tt(e){return typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`}Object.freeze({status:`aborted`});function E(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var nt=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},rt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};const it={};function D(e){return e&&Object.assign(it,e),it}function at(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function ot(e,t){return typeof t==`bigint`?t.toString():t}function st(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function ct(e){return e==null}function lt(e){let t=e.startsWith(`^`)?1:0,n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function ut(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}const dt=Symbol(`evaluating`);function O(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==dt)return r===void 0&&(r=dt,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function k(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function A(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function ft(e){return JSON.stringify(e)}function pt(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const mt=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function ht(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const gt=st(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function j(e){if(ht(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(ht(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function _t(e){return j(e)?{...e}:Array.isArray(e)?[...e]:e}const vt=new Set([`string`,`number`,`symbol`]);function yt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function M(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function N(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function bt(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}const xt={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function St(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return M(e,A(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return k(this,`shape`,e),e},checks:[]}))}function Ct(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return M(e,A(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return k(this,`shape`,r),r},checks:[]}))}function wt(e,t){if(!j(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return M(e,A(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return k(this,`shape`,n),n}}))}function Tt(e,t){if(!j(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return M(e,A(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return k(this,`shape`,n),n}}))}function Et(e,t){return M(e,A(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return k(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function Dt(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return M(t,A(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return k(this,`shape`,i),i},checks:[]}))}function Ot(e,t,n){return M(t,A(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return k(this,`shape`,i),i}}))}function P(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function F(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function kt(e){return typeof e==`string`?e:e?.message}function I(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=kt(e.inst?._zod.def?.error?.(e))??kt(t?.error?.(e))??kt(n.customError?.(e))??kt(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function At(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function jt(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}const Mt=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,`_zod`,{value:e._zod,enumerable:!1}),Object.defineProperty(e,`issues`,{value:t,enumerable:!1}),e.message=JSON.stringify(t,ot,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},Nt=E(`$ZodError`,Mt),Pt=E(`$ZodError`,Mt,{Parent:Error});function Ft(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function It(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}const Lt=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new nt;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>I(e,a,D())));throw mt(t,i?.callee),t}return o.value},Rt=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>I(e,a,D())));throw mt(t,i?.callee),t}return o.value},zt=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new nt;return a.issues.length?{success:!1,error:new(e??Nt)(a.issues.map(e=>I(e,i,D())))}:{success:!0,data:a.value}},Bt=zt(Pt),Vt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>I(e,i,D())))}:{success:!0,data:a.value}},Ht=Vt(Pt),Ut=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Lt(e)(t,n,i)},Wt=e=>(t,n,r)=>Lt(e)(t,n,r),Gt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Rt(e)(t,n,i)},Kt=e=>async(t,n,r)=>Rt(e)(t,n,r),qt=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return zt(e)(t,n,i)},Jt=e=>(t,n,r)=>zt(e)(t,n,r),Yt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Vt(e)(t,n,i)},Xt=e=>async(t,n,r)=>Vt(e)(t,n,r),Zt=/^[cC][^\s-]{8,}$/,Qt=/^[0-9a-z]+$/,$t=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,en=/^[0-9a-vA-V]{20}$/,tn=/^[A-Za-z0-9]{27}$/,nn=/^[a-zA-Z0-9_-]{21}$/,rn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,an=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,on=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,sn=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function cn(){return RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)}const ln=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,un=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,dn=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,fn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,pn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,mn=/^[A-Za-z0-9_-]*$/,hn=/^\+[1-9]\d{6,14}$/,gn=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,_n=RegExp(`^${gn}$`);function vn(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function yn(e){return RegExp(`^${vn(e)}$`)}function bn(e){let t=vn({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${gn}T(?:${r})$`)}const xn=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Sn=/^-?\d+$/,Cn=/^-?\d+(?:\.\d+)?$/,wn=/^(?:true|false)$/i,Tn=/^[^A-Z]*$/,En=/^[^a-z]*$/,L=E(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Dn={number:`number`,bigint:`bigint`,object:`date`},On=E(`$ZodCheckLessThan`,(e,t)=>{L.init(e,t);let n=Dn[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),kn=E(`$ZodCheckGreaterThan`,(e,t)=>{L.init(e,t);let n=Dn[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),An=E(`$ZodCheckMultipleOf`,(e,t)=>{L.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):ut(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),jn=E(`$ZodCheckNumberFormat`,(e,t)=>{L.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=xt[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Sn)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Mn=E(`$ZodCheckMaxLength`,(e,t)=>{var n;L.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ct(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=At(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Nn=E(`$ZodCheckMinLength`,(e,t)=>{var n;L.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ct(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=At(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Pn=E(`$ZodCheckLengthEquals`,(e,t)=>{var n;L.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ct(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=At(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Fn=E(`$ZodCheckStringFormat`,(e,t)=>{var n,r;L.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),In=E(`$ZodCheckRegex`,(e,t)=>{Fn.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ln=E(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Tn,Fn.init(e,t)}),Rn=E(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=En,Fn.init(e,t)}),zn=E(`$ZodCheckIncludes`,(e,t)=>{L.init(e,t);let n=yt(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Bn=E(`$ZodCheckStartsWith`,(e,t)=>{L.init(e,t);let n=RegExp(`^${yt(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Vn=E(`$ZodCheckEndsWith`,(e,t)=>{L.init(e,t);let n=RegExp(`.*${yt(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Hn=E(`$ZodCheckOverwrite`,(e,t)=>{L.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var Un=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
3
+ `).filter(function(e){return!e.match(t)},this).map(function(e){if(e.indexOf(` > eval`)>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,`:$1`)),e.indexOf(`@`)===-1&&e.indexOf(`:`)===-1)return new ue({functionName:e});var t=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(t),r=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(t,``));return new ue({functionName:r,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})},this)},`ErrorStackParser$$parseFFOrSafari`)}}h(de,`ErrorStackParser`);var fe=new de,w=typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&!process.browser,pe=w&&typeof module<`u`&&typeof module.exports<`u`&&typeof oe<`u`&&typeof __dirname<`u`,me=w&&!pe;globalThis.Bun;var he=!w&&!(typeof Deno<`u`),ge=he&&typeof window==`object`&&typeof document==`object`&&typeof document.createElement==`function`&&`sessionStorage`in window&&typeof importScripts!=`function`,_e=he&&typeof importScripts==`function`&&typeof self==`object`;typeof navigator==`object`&&typeof navigator.userAgent==`string`&&navigator.userAgent.indexOf(`Chrome`)==-1&&navigator.userAgent.indexOf(`Safari`);var ve,ye,be,xe,Se;async function Ce(){if(!w||(ve=(await import(`./__vite-browser-external-Us1ds95c.js`).then(l(1))).default,xe=await import(`./__vite-browser-external-Us1ds95c.js`).then(l(1)),Se=await import(`./__vite-browser-external-Us1ds95c.js`).then(l(1)),be=(await import(`./__vite-browser-external-Us1ds95c.js`).then(l(1))).default,ye=await import(`./__vite-browser-external-Us1ds95c.js`).then(l(1)),De=ye.sep,typeof oe<`u`))return;let e={fs:xe,crypto:await import(`./__vite-browser-external-Us1ds95c.js`).then(l(1)),ws:await import(`./__vite-browser-external-Us1ds95c.js`).then(l(1)),child_process:await import(`./__vite-browser-external-Us1ds95c.js`).then(l(1))};globalThis.require=function(t){return e[t]}}h(Ce,`initNodeModules`);function we(e,t){return ye.resolve(t||`.`,e)}h(we,`node_resolvePath`);function Te(e,t){return t===void 0&&(t=location),new URL(e,t).toString()}h(Te,`browser_resolvePath`);var Ee=w?we:Te,De;w||(De=`/`);function Oe(e,t){return e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?{response:fetch(e)}:{binary:Se.readFile(e).then(e=>new Uint8Array(e.buffer,e.byteOffset,e.byteLength))}}h(Oe,`node_getBinaryResponse`);function ke(e,t){let n=new URL(e,location);return{response:fetch(n,t?{integrity:t}:{})}}h(ke,`browser_getBinaryResponse`);var Ae=w?Oe:ke;async function je(e,t){let{response:n,binary:r}=Ae(e,t);if(r)return r;let i=await n;if(!i.ok)throw Error(`Failed to load '${e}': request failed.`);return new Uint8Array(await i.arrayBuffer())}h(je,`loadBinaryFile`);var Me;if(ge)Me=h(async e=>await import(e),`loadScript`);else if(_e)Me=h(async e=>{try{globalThis.importScripts(e)}catch(t){if(t instanceof TypeError)await import(e);else throw t}},`loadScript`);else if(w)Me=Ne;else throw Error(`Cannot determine runtime environment`);async function Ne(e){e.startsWith(`file://`)&&(e=e.slice(7)),e.includes(`://`)?be.runInThisContext(await(await fetch(e)).text()):await import(ve.pathToFileURL(e).href)}h(Ne,`nodeLoadScript`);async function Pe(e){if(w){await Ce();let t=await Se.readFile(e,{encoding:`utf8`});return JSON.parse(t)}else return await(await fetch(e)).json()}h(Pe,`loadLockFile`);async function Fe(){if(pe)return __dirname;let e;try{throw Error()}catch(t){e=t}let t=fe.parse(e)[0].fileName;if(w&&!t.startsWith(`file://`)&&(t=`file://${t}`),me){let e=await import(`./__vite-browser-external-Us1ds95c.js`).then(l(1));return(await import(`./__vite-browser-external-Us1ds95c.js`).then(l(1))).fileURLToPath(e.dirname(t))}let n=t.lastIndexOf(De);if(n===-1)throw Error(`Could not extract indexURL path from pyodide module location`);return t.slice(0,n)}h(Fe,`calculateDirname`);function Ie(e){let t=e.FS,n=e.FS.filesystems.MEMFS,r=e.PATH,i={DIR_MODE:16895,FILE_MODE:33279,mount:function(e){if(!e.opts.fileSystemHandle)throw Error(`opts.fileSystemHandle is required`);return n.mount.apply(null,arguments)},syncfs:async(e,t,n)=>{try{let r=i.getLocalSet(e),a=await i.getRemoteSet(e),o=t?a:r,s=t?r:a;await i.reconcile(e,o,s),n(null)}catch(e){n(e)}},getLocalSet:e=>{let n=Object.create(null);function i(e){return e!==`.`&&e!==`..`}h(i,`isRealDir`);function a(e){return t=>r.join2(e,t)}h(a,`toAbsolute`);let o=t.readdir(e.mountpoint).filter(i).map(a(e.mountpoint));for(;o.length;){let e=o.pop(),r=t.stat(e);t.isDir(r.mode)&&o.push.apply(o,t.readdir(e).filter(i).map(a(e))),n[e]={timestamp:r.mtime,mode:r.mode}}return{type:`local`,entries:n}},getRemoteSet:async e=>{let t=Object.create(null),n=await Le(e.opts.fileSystemHandle);for(let[a,o]of n)a!==`.`&&(t[r.join2(e.mountpoint,a)]={timestamp:o.kind===`file`?new Date((await o.getFile()).lastModified):new Date,mode:o.kind===`file`?i.FILE_MODE:i.DIR_MODE});return{type:`remote`,entries:t,handles:n}},loadLocalEntry:e=>{let r=t.lookupPath(e).node,i=t.stat(e);if(t.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(t.isFile(i.mode))return r.contents=n.getFileDataAsTypedArray(r),{timestamp:i.mtime,mode:i.mode,contents:r.contents};throw Error(`node type not supported`)},storeLocalEntry:(e,n)=>{if(t.isDir(n.mode))t.mkdirTree(e,n.mode);else if(t.isFile(n.mode))t.writeFile(e,n.contents,{canOwn:!0});else throw Error(`node type not supported`);t.chmod(e,n.mode),t.utime(e,n.timestamp,n.timestamp)},removeLocalEntry:e=>{var n=t.stat(e);t.isDir(n.mode)?t.rmdir(e):t.isFile(n.mode)&&t.unlink(e)},loadRemoteEntry:async e=>{if(e.kind===`file`){let t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:i.FILE_MODE,timestamp:new Date(t.lastModified)}}else{if(e.kind===`directory`)return{mode:i.DIR_MODE,timestamp:new Date};throw Error(`unknown kind: `+e.kind)}},storeRemoteEntry:async(e,n,i)=>{let a=e.get(r.dirname(n)),o=t.isFile(i.mode)?await a.getFileHandle(r.basename(n),{create:!0}):await a.getDirectoryHandle(r.basename(n),{create:!0});if(o.kind===`file`){let e=await o.createWritable();await e.write(i.contents),await e.close()}e.set(n,o)},removeRemoteEntry:async(e,t)=>{await e.get(r.dirname(t)).removeEntry(r.basename(t)),e.delete(t)},reconcile:async(e,n,a)=>{let o=0,s=[];Object.keys(n.entries).forEach(function(e){let r=n.entries[e],i=a.entries[e];(!i||t.isFile(r.mode)&&r.timestamp.getTime()>i.timestamp.getTime())&&(s.push(e),o++)}),s.sort();let c=[];if(Object.keys(a.entries).forEach(function(e){n.entries[e]||(c.push(e),o++)}),c.sort().reverse(),!o)return;let l=n.type===`remote`?n.handles:a.handles;for(let t of s){let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);if(a.type===`local`){let e=l.get(n),r=await i.loadRemoteEntry(e);i.storeLocalEntry(t,r)}else{let e=i.loadLocalEntry(t);await i.storeRemoteEntry(l,n,e)}}for(let t of c)if(a.type===`local`)i.removeLocalEntry(t);else{let n=r.normalize(t.replace(e.mountpoint,`/`)).substring(1);await i.removeRemoteEntry(l,n)}}};e.FS.filesystems.NATIVEFS_ASYNC=i}h(Ie,`initializeNativeFS`);var Le=h(async e=>{let t=[];async function n(e){for await(let r of e.values())t.push(r),r.kind===`directory`&&await n(r)}h(n,`collect`),await n(e);let r=new Map;r.set(`.`,e);for(let n of t){let t=(await e.resolve(n)).join(`/`);r.set(t,n)}return r},`getFsHandles`);function Re(e){let t={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:Ue(e),quit(e,n){throw t.exited={status:e,toThrow:n},n},print:e.stdout,printErr:e.stderr,thisProgram:e._sysExecutable,arguments:e.args,API:{config:e},locateFile:t=>e.indexURL+t,instantiateWasm:We(e.indexURL)};return t}h(Re,`createSettings`);function ze(e){return function(t){try{t.FS.mkdirTree(e)}catch(t){console.error(`Error occurred while making a home directory '${e}':`),console.error(t),console.error(`Using '/' for a home directory instead`),e=`/`}t.FS.chdir(e)}}h(ze,`createHomeDirectory`);function Be(e){return function(t){Object.assign(t.ENV,e)}}h(Be,`setEnvironment`);function Ve(e){return e?[async t=>{t.addRunDependency(`fsInitHook`);try{await e(t.FS,{sitePackages:t.API.sitePackages})}finally{t.removeRunDependency(`fsInitHook`)}}]:[]}h(Ve,`callFsInitHook`);function He(e){let t=je(e);return async e=>{let n=e._py_version_major(),r=e._py_version_minor();e.FS.mkdirTree(`/lib`),e.API.sitePackages=`/lib/python${n}.${r}/site-packages`,e.FS.mkdirTree(e.API.sitePackages),e.addRunDependency(`install-stdlib`);try{let i=await t;e.FS.writeFile(`/lib/python${n}${r}.zip`,i)}catch(e){console.error(`Error occurred while installing the standard library:`),console.error(e)}finally{e.removeRunDependency(`install-stdlib`)}}}h(He,`installStdlib`);function Ue(e){let t;return t=e.stdLibURL==null?e.indexURL+`python_stdlib.zip`:e.stdLibURL,[...Ve(e.fsInit),He(t),ze(e.env.HOME),Be(e.env),Ie]}h(Ue,`getFileSystemInitializationFuncs`);function We(e){if(typeof WasmOffsetConverter<`u`)return;let{binary:t,response:n}=Ae(e+`pyodide.asm.wasm`);return function(e,r){return async function(){try{let i;i=n?await WebAssembly.instantiateStreaming(n,e):await WebAssembly.instantiate(await t,e);let{instance:a,module:o}=i;r(a,o)}catch(e){console.warn(`wasm instantiation failed!`),console.warn(e)}}(),{}}}h(We,`getInstantiateWasmFunc`);var Ge=`0.27.7`;async function Ke(e={}){var t,n;await Ce();let r=e.indexURL||await Fe();r=Ee(r),r.endsWith(`/`)||(r+=`/`),e.indexURL=r;let i={fullStdLib:!1,jsglobals:globalThis,stdin:globalThis.prompt?globalThis.prompt:void 0,lockFileURL:r+`pyodide-lock.json`,args:[],env:{},packageCacheDir:r,packages:[],enableRunUntilComplete:!0,checkAPIVersion:!0,BUILD_ID:`e94377f5ce7dcf67e0417b69a0016733c2cfb6b4622ee8c490a6f17eb58e863b`},a=Object.assign(i,e);(t=a.env).HOME??(t.HOME=`/home/pyodide`),(n=a.env).PYTHONINSPECT??(n.PYTHONINSPECT=`1`);let o=Re(a),s=o.API;if(s.lockFilePromise=Pe(a.lockFileURL),typeof _createPyodideModule!=`function`){let e=`${a.indexURL}pyodide.asm.js`;await Me(e)}let c;if(e._loadSnapshot){let t=await e._loadSnapshot;c=ArrayBuffer.isView(t)?t:new Uint8Array(t),o.noInitialRun=!0,o.INITIAL_MEMORY=c.length}let l=await _createPyodideModule(o);if(o.exited)throw o.exited.toThrow;if(e.pyproxyToStringRepr&&s.setPyProxyToStringMethod(!0),s.version!==Ge&&a.checkAPIVersion)throw Error(`Pyodide version does not match: '${Ge}' <==> '${s.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);l.locateFile=e=>{throw Error(`Didn't expect to load any more file_packager files!`)};let u;c&&(u=s.restoreSnapshot(c));let d=s.finalizeBootstrap(u,e._snapshotDeserializer);return s.sys.path.insert(0,``),d.version.includes(`dev`)||s.setCdnUrl(`https://cdn.jsdelivr.net/pyodide/v${d.version}/full/`),s._pyodide.set_excepthook(),await s.packageIndexReady,s.initializeStreams(a.stdin,a.stdout,a.stderr),d}h(Ke,`loadPyodide`);function qe(e){return e.includes(`dev`),`v${Ge}`}var Je=class{buffer;started=!1;onMessage;constructor(e){this.onMessage=e,this.buffer=[]}push=e=>{this.started?this.onMessage(e):this.buffer.push(e)};start=()=>{this.started=!0,this.buffer.forEach(e=>this.onMessage(e)),this.buffer=[]}};const Ye={NOOP:()=>{},ASYNC_NOOP:async()=>{},THROW:()=>{throw Error(`Should not be called`)},asUpdater:e=>typeof e==`function`?e:()=>e,identity:e=>e},Xe=(e,t)=>{let n=`[${e}]`;return{debug:(...e)=>console.debug(n,...e),log:(...e)=>t.log(n,...e),warn:(...e)=>t.warn(n,...e),error:(...e)=>t.error(n,...e),trace:(...e)=>t.trace(n,...e),get:n=>Xe(`${e}:${n}`,t),disabled:(e=!0)=>e?Qe:t}},Ze={debug:(...e)=>{console.debug(...e)},log:(...e)=>{console.log(...e)},warn:(...e)=>{console.warn(...e)},error:(...e)=>{console.error(...e)},trace:(...e)=>{console.trace(...e)},get:e=>Xe(`marimo:${e}`,Ze),disabled:(e=!0)=>e?Qe:Ze},Qe={debug:()=>Ye.NOOP,log:()=>Ye.NOOP,warn:()=>Ye.NOOP,error:()=>Ye.NOOP,trace:()=>Ye.NOOP,get:()=>Qe,disabled:()=>Qe};function $e(){return typeof window<`u`&&window.Logger||Ze}const T=$e();var et=class{promise;resolve;reject;status=`pending`;value=void 0;constructor(){this.promise=new Promise((e,t)=>{this.reject=e=>{this.status=`rejected`,t(e)},this.resolve=t=>{this.status=`resolved`,tt(t)||(this.value=t),e(t)}})}};function tt(e){return typeof e==`object`&&!!e&&`then`in e&&typeof e.then==`function`}Object.freeze({status:`aborted`});function E(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,`_zod`,{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,`name`,{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,`init`,{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,`name`,{value:e}),o}var nt=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},rt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};const it={};function D(e){return e&&Object.assign(it,e),it}function at(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function ot(e,t){return typeof t==`bigint`?t.toString():t}function st(e){return{get value(){{let t=e();return Object.defineProperty(this,`value`,{value:t}),t}throw Error(`cached value already set`)}}}function ct(e){return e==null}function lt(e){let t=e.startsWith(`^`)?1:0,n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function ut(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}const dt=Symbol(`evaluating`);function O(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==dt)return r===void 0&&(r=dt,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}function k(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function A(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function ft(e){return JSON.stringify(e)}function pt(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const mt=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function ht(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const gt=st(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function j(e){if(ht(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(ht(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function _t(e){return j(e)?{...e}:Array.isArray(e)?[...e]:e}const vt=new Set([`string`,`number`,`symbol`]);function yt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function M(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function N(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function bt(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}const xt={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function St(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return M(e,A(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return k(this,`shape`,e),e},checks:[]}))}function Ct(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return M(e,A(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return k(this,`shape`,r),r},checks:[]}))}function wt(e,t){if(!j(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return M(e,A(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return k(this,`shape`,n),n}}))}function Tt(e,t){if(!j(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return M(e,A(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return k(this,`shape`,n),n}}))}function Et(e,t){return M(e,A(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return k(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function Dt(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return M(t,A(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return k(this,`shape`,i),i},checks:[]}))}function Ot(e,t,n){return M(t,A(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return k(this,`shape`,i),i}}))}function P(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function F(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function kt(e){return typeof e==`string`?e:e?.message}function I(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=kt(e.inst?._zod.def?.error?.(e))??kt(t?.error?.(e))??kt(n.customError?.(e))??kt(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function At(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function jt(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}const Mt=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,`_zod`,{value:e._zod,enumerable:!1}),Object.defineProperty(e,`issues`,{value:t,enumerable:!1}),e.message=JSON.stringify(t,ot,2),Object.defineProperty(e,`toString`,{value:()=>e.message,enumerable:!1})},Nt=E(`$ZodError`,Mt),Pt=E(`$ZodError`,Mt,{Parent:Error});function Ft(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function It(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}const Lt=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new nt;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>I(e,a,D())));throw mt(t,i?.callee),t}return o.value},Rt=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>I(e,a,D())));throw mt(t,i?.callee),t}return o.value},zt=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new nt;return a.issues.length?{success:!1,error:new(e??Nt)(a.issues.map(e=>I(e,i,D())))}:{success:!0,data:a.value}},Bt=zt(Pt),Vt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>I(e,i,D())))}:{success:!0,data:a.value}},Ht=Vt(Pt),Ut=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Lt(e)(t,n,i)},Wt=e=>(t,n,r)=>Lt(e)(t,n,r),Gt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Rt(e)(t,n,i)},Kt=e=>async(t,n,r)=>Rt(e)(t,n,r),qt=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return zt(e)(t,n,i)},Jt=e=>(t,n,r)=>zt(e)(t,n,r),Yt=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return Vt(e)(t,n,i)},Xt=e=>async(t,n,r)=>Vt(e)(t,n,r),Zt=/^[cC][^\s-]{8,}$/,Qt=/^[0-9a-z]+$/,$t=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,en=/^[0-9a-vA-V]{20}$/,tn=/^[A-Za-z0-9]{27}$/,nn=/^[a-zA-Z0-9_-]{21}$/,rn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,an=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,on=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,sn=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function cn(){return RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)}const ln=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,un=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,dn=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,fn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,pn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,mn=/^[A-Za-z0-9_-]*$/,hn=/^\+[1-9]\d{6,14}$/,gn=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,_n=RegExp(`^${gn}$`);function vn(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function yn(e){return RegExp(`^${vn(e)}$`)}function bn(e){let t=vn({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${gn}T(?:${r})$`)}const xn=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Sn=/^-?\d+$/,Cn=/^-?\d+(?:\.\d+)?$/,wn=/^(?:true|false)$/i,Tn=/^[^A-Z]*$/,En=/^[^a-z]*$/,L=E(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Dn={number:`number`,bigint:`bigint`,object:`date`},On=E(`$ZodCheckLessThan`,(e,t)=>{L.init(e,t);let n=Dn[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),kn=E(`$ZodCheckGreaterThan`,(e,t)=>{L.init(e,t);let n=Dn[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),An=E(`$ZodCheckMultipleOf`,(e,t)=>{L.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):ut(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),jn=E(`$ZodCheckNumberFormat`,(e,t)=>{L.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=xt[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=Sn)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Mn=E(`$ZodCheckMaxLength`,(e,t)=>{var n;L.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ct(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=At(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Nn=E(`$ZodCheckMinLength`,(e,t)=>{var n;L.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ct(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=At(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Pn=E(`$ZodCheckLengthEquals`,(e,t)=>{var n;L.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!ct(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=At(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Fn=E(`$ZodCheckStringFormat`,(e,t)=>{var n,r;L.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),In=E(`$ZodCheckRegex`,(e,t)=>{Fn.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Ln=E(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Tn,Fn.init(e,t)}),Rn=E(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=En,Fn.init(e,t)}),zn=E(`$ZodCheckIncludes`,(e,t)=>{L.init(e,t);let n=yt(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Bn=E(`$ZodCheckStartsWith`,(e,t)=>{L.init(e,t);let n=RegExp(`^${yt(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Vn=E(`$ZodCheckEndsWith`,(e,t)=>{L.init(e,t);let n=RegExp(`.*${yt(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Hn=E(`$ZodCheckOverwrite`,(e,t)=>{L.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var Un=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
4
4
  `).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(`
5
5
  `))}};const Wn={major:4,minor:3,patch:6},R=E(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Wn;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=P(e),i;for(let a of t){if(a._zod.def.when){if(!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new nt;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=P(e,t))});else{if(e.issues.length===t)continue;r||=P(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(P(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new nt;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new nt;return o.then(e=>t(e,r,a))}return t(o,r,a)}}O(e,`~standard`,()=>({validate:t=>{try{let n=Bt(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return Ht(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),Gn=E(`$ZodString`,(e,t)=>{R.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??xn(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),z=E(`$ZodStringFormat`,(e,t)=>{Fn.init(e,t),Gn.init(e,t)}),Kn=E(`$ZodGUID`,(e,t)=>{t.pattern??=an,z.init(e,t)}),qn=E(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=on(e)}else t.pattern??=on();z.init(e,t)}),Jn=E(`$ZodEmail`,(e,t)=>{t.pattern??=sn,z.init(e,t)}),Yn=E(`$ZodURL`,(e,t)=>{z.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),Xn=E(`$ZodEmoji`,(e,t)=>{t.pattern??=cn(),z.init(e,t)}),Zn=E(`$ZodNanoID`,(e,t)=>{t.pattern??=nn,z.init(e,t)}),Qn=E(`$ZodCUID`,(e,t)=>{t.pattern??=Zt,z.init(e,t)}),$n=E(`$ZodCUID2`,(e,t)=>{t.pattern??=Qt,z.init(e,t)}),er=E(`$ZodULID`,(e,t)=>{t.pattern??=$t,z.init(e,t)}),tr=E(`$ZodXID`,(e,t)=>{t.pattern??=en,z.init(e,t)}),nr=E(`$ZodKSUID`,(e,t)=>{t.pattern??=tn,z.init(e,t)}),rr=E(`$ZodISODateTime`,(e,t)=>{t.pattern??=bn(t),z.init(e,t)}),ir=E(`$ZodISODate`,(e,t)=>{t.pattern??=_n,z.init(e,t)}),ar=E(`$ZodISOTime`,(e,t)=>{t.pattern??=yn(t),z.init(e,t)}),or=E(`$ZodISODuration`,(e,t)=>{t.pattern??=rn,z.init(e,t)}),sr=E(`$ZodIPv4`,(e,t)=>{t.pattern??=ln,z.init(e,t),e._zod.bag.format=`ipv4`}),cr=E(`$ZodIPv6`,(e,t)=>{t.pattern??=un,z.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),lr=E(`$ZodCIDRv4`,(e,t)=>{t.pattern??=dn,z.init(e,t)}),ur=E(`$ZodCIDRv6`,(e,t)=>{t.pattern??=fn,z.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function dr(e){if(e===``)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const fr=E(`$ZodBase64`,(e,t)=>{t.pattern??=pn,z.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{dr(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function pr(e){if(!mn.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return dr(t.padEnd(Math.ceil(t.length/4)*4,`=`))}const mr=E(`$ZodBase64URL`,(e,t)=>{t.pattern??=mn,z.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{pr(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),hr=E(`$ZodE164`,(e,t)=>{t.pattern??=hn,z.init(e,t)});function gr(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}const _r=E(`$ZodJWT`,(e,t)=>{z.init(e,t),e._zod.check=n=>{gr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),vr=E(`$ZodNumber`,(e,t)=>{R.init(e,t),e._zod.pattern=e._zod.bag.pattern??Cn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),yr=E(`$ZodNumberFormat`,(e,t)=>{jn.init(e,t),vr.init(e,t)}),br=E(`$ZodBoolean`,(e,t)=>{R.init(e,t),e._zod.pattern=wn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),xr=E(`$ZodUnknown`,(e,t)=>{R.init(e,t),e._zod.parse=e=>e}),Sr=E(`$ZodNever`,(e,t)=>{R.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Cr(e,t,n){e.issues.length&&t.issues.push(...F(n,e.issues)),t.value[n]=e.value}const wr=E(`$ZodArray`,(e,t)=>{R.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>Cr(t,n,e))):Cr(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function Tr(e,t,n,r,i){if(e.issues.length){if(i&&!(n in r))return;t.issues.push(...F(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function Er(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=bt(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function Dr(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optout===`optional`;for(let i in t){if(s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Tr(e,n,i,t,u))):Tr(a,n,i,t,u)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}const Or=E(`$ZodObject`,(e,t)=>{if(R.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,`shape`,{get:()=>{let n={...e};return Object.defineProperty(t,`shape`,{value:n}),n}})}let n=st(()=>Er(t));O(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=ht,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optout===`optional`,i=n._zod.run({value:s[e],issues:[]},o);i instanceof Promise?c.push(i.then(n=>Tr(n,t,e,s,r))):Tr(i,t,e,s,r)}return i?Dr(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),kr=E(`$ZodObjectJIT`,(e,t)=>{Or.init(e,t);let n=e._zod.parse,r=st(()=>Er(t)),i=e=>{let t=new Un([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=ft(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=ft(r),s=e[r]?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),s?t.write(`
6
6
  if (${n}.issues.length) {
@@ -38,7 +38,7 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=
38
38
 
39
39
  `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=ht,s=!it.jitless,c=s&&gt.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?Dr([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function Ar(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!P(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>I(e,r,D())))}),t)}const jr=E(`$ZodUnion`,(e,t)=>{R.init(e,t),O(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),O(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),O(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),O(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>lt(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>Ar(t,i,e,a)):Ar(s,i,e,a)}}),Mr=E(`$ZodIntersection`,(e,t)=>{R.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>Pr(e,t,n)):Pr(e,i,a)}});function Nr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(j(e)&&j(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Nr(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Nr(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function Pr(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),P(e))return e;let o=Nr(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}const Fr=E(`$ZodRecord`,(e,t)=>{R.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!j(i))return n.issues.push({expected:`record`,code:`invalid_type`,input:i,inst:e}),n;let a=[],o=t.keyType._zod.values;if(o){n.value={};let s=new Set;for(let e of o)if(typeof e==`string`||typeof e==`number`||typeof e==`symbol`){s.add(typeof e==`number`?e.toString():e);let o=t.valueType._zod.run({value:i[e],issues:[]},r);o instanceof Promise?a.push(o.then(t=>{t.issues.length&&n.issues.push(...F(e,t.issues)),n.value[e]=t.value})):(o.issues.length&&n.issues.push(...F(e,o.issues)),n.value[e]=o.value)}let c;for(let e in i)s.has(e)||(c??=[],c.push(e));c&&c.length>0&&n.issues.push({code:`unrecognized_keys`,input:i,inst:e,keys:c})}else{n.value={};for(let o of Reflect.ownKeys(i)){if(o===`__proto__`)continue;let s=t.keyType._zod.run({value:o,issues:[]},r);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof o==`string`&&Cn.test(o)&&s.issues.length){let e=t.keyType._zod.run({value:Number(o),issues:[]},r);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(s=e)}if(s.issues.length){t.mode===`loose`?n.value[o]=i[o]:n.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>I(e,r,D())),input:o,path:[o],inst:e});continue}let c=t.valueType._zod.run({value:i[o],issues:[]},r);c instanceof Promise?a.push(c.then(e=>{e.issues.length&&n.issues.push(...F(o,e.issues)),n.value[s.value]=e.value})):(c.issues.length&&n.issues.push(...F(o,c.issues)),n.value[s.value]=c.value)}}return a.length?Promise.all(a).then(()=>n):n}}),Ir=E(`$ZodEnum`,(e,t)=>{R.init(e,t);let n=at(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>vt.has(typeof e)).map(e=>typeof e==`string`?yt(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),Lr=E(`$ZodTransform`,(e,t)=>{R.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new rt(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new nt;return n.value=i,n}});function Rr(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const zr=E(`$ZodOptional`,(e,t)=>{R.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,O(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),O(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${lt(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>Rr(t,e.value)):Rr(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),Br=E(`$ZodExactOptional`,(e,t)=>{zr.init(e,t),O(e._zod,`values`,()=>t.innerType._zod.values),O(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Vr=E(`$ZodNullable`,(e,t)=>{R.init(e,t),O(e._zod,`optin`,()=>t.innerType._zod.optin),O(e._zod,`optout`,()=>t.innerType._zod.optout),O(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${lt(e.source)}|null)$`):void 0}),O(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),Hr=E(`$ZodDefault`,(e,t)=>{R.init(e,t),e._zod.optin=`optional`,O(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>Ur(e,t)):Ur(r,t)}});function Ur(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Wr=E(`$ZodPrefault`,(e,t)=>{R.init(e,t),e._zod.optin=`optional`,O(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),Gr=E(`$ZodNonOptional`,(e,t)=>{R.init(e,t),O(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>Kr(t,e)):Kr(i,e)}});function Kr(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}const qr=E(`$ZodCatch`,(e,t)=>{R.init(e,t),O(e._zod,`optin`,()=>t.innerType._zod.optin),O(e._zod,`optout`,()=>t.innerType._zod.optout),O(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>I(e,n,D()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>I(e,n,D()))},input:e.value}),e.issues=[]),e)}}),Jr=E(`$ZodPipe`,(e,t)=>{R.init(e,t),O(e._zod,`values`,()=>t.in._zod.values),O(e._zod,`optin`,()=>t.in._zod.optin),O(e._zod,`optout`,()=>t.out._zod.optout),O(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Yr(e,t.in,n)):Yr(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Yr(e,t.out,n)):Yr(r,t.out,n)}});function Yr(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const Xr=E(`$ZodReadonly`,(e,t)=>{R.init(e,t),O(e._zod,`propValues`,()=>t.innerType._zod.propValues),O(e._zod,`values`,()=>t.innerType._zod.values),O(e._zod,`optin`,()=>t.innerType?._zod?.optin),O(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Zr):Zr(r)}});function Zr(e){return e.value=Object.freeze(e.value),e}const Qr=E(`$ZodCustom`,(e,t)=>{L.init(e,t),R.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>$r(t,n,r,e));$r(i,n,r,e)}});function $r(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(jt(e))}}var ei,ti=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function ni(){return new ti}(ei=globalThis).__zod_globalRegistry??(ei.__zod_globalRegistry=ni());const ri=globalThis.__zod_globalRegistry;function ii(e,t){return new e({type:`string`,...N(t)})}function ai(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...N(t)})}function oi(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...N(t)})}function si(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...N(t)})}function ci(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...N(t)})}function li(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...N(t)})}function ui(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...N(t)})}function di(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...N(t)})}function fi(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...N(t)})}function pi(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...N(t)})}function mi(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...N(t)})}function hi(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...N(t)})}function gi(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...N(t)})}function _i(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...N(t)})}function vi(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...N(t)})}function yi(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...N(t)})}function bi(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...N(t)})}function xi(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...N(t)})}function Si(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...N(t)})}function Ci(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...N(t)})}function wi(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...N(t)})}function Ti(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...N(t)})}function Ei(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...N(t)})}function Di(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...N(t)})}function Oi(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...N(t)})}function ki(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...N(t)})}function Ai(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...N(t)})}function ji(e,t){return new e({type:`number`,checks:[],...N(t)})}function Mi(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...N(t)})}function Ni(e,t){return new e({type:`boolean`,...N(t)})}function Pi(e){return new e({type:`unknown`})}function Fi(e,t){return new e({type:`never`,...N(t)})}function Ii(e,t){return new On({check:`less_than`,...N(t),value:e,inclusive:!1})}function Li(e,t){return new On({check:`less_than`,...N(t),value:e,inclusive:!0})}function Ri(e,t){return new kn({check:`greater_than`,...N(t),value:e,inclusive:!1})}function zi(e,t){return new kn({check:`greater_than`,...N(t),value:e,inclusive:!0})}function Bi(e,t){return new An({check:`multiple_of`,...N(t),value:e})}function Vi(e,t){return new Mn({check:`max_length`,...N(t),maximum:e})}function Hi(e,t){return new Nn({check:`min_length`,...N(t),minimum:e})}function Ui(e,t){return new Pn({check:`length_equals`,...N(t),length:e})}function Wi(e,t){return new In({check:`string_format`,format:`regex`,...N(t),pattern:e})}function Gi(e){return new Ln({check:`string_format`,format:`lowercase`,...N(e)})}function Ki(e){return new Rn({check:`string_format`,format:`uppercase`,...N(e)})}function qi(e,t){return new zn({check:`string_format`,format:`includes`,...N(t),includes:e})}function Ji(e,t){return new Bn({check:`string_format`,format:`starts_with`,...N(t),prefix:e})}function Yi(e,t){return new Vn({check:`string_format`,format:`ends_with`,...N(t),suffix:e})}function B(e){return new Hn({check:`overwrite`,tx:e})}function Xi(e){return B(t=>t.normalize(e))}function Zi(){return B(e=>e.trim())}function Qi(){return B(e=>e.toLowerCase())}function $i(){return B(e=>e.toUpperCase())}function ea(){return B(e=>pt(e))}function ta(e,t,n){return new e({type:`array`,element:t,...N(n)})}function na(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...N(n)})}function ra(e){let t=ia(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(jt(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(jt(r))}},e(n.value,n)));return t}function ia(e,t){let n=new L({check:`custom`,...N(t)});return n._zod.check=e,n}function aa(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??ri,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function V(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,V(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&H(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function oa(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
40
40
 
41
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function sa(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:la(t,`input`,e.processors),output:la(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function H(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return H(r.element,n);if(r.type===`set`)return H(r.valueType,n);if(r.type===`lazy`)return H(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return H(r.innerType,n);if(r.type===`intersection`)return H(r.left,n)||H(r.right,n);if(r.type===`record`||r.type===`map`)return H(r.keyType,n)||H(r.valueType,n);if(r.type===`pipe`)return H(r.in,n)||H(r.out,n);if(r.type===`object`){for(let e in r.shape)if(H(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(H(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(H(e,n))return!0;return!!(r.rest&&H(r.rest,n))}return!1}const ca=(e,t={})=>n=>{let r=aa({...n,processors:t});return V(e,r),oa(r,e),sa(r,e)},la=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=aa({...i??{},target:a,io:t,processors:n});return V(e,o),oa(o,e),sa(o,e)},ua={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},da=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=ua[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},fa=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},pa=(e,t,n,r)=>{n.type=`boolean`},ma=(e,t,n,r)=>{n.not={}},ha=(e,t,n,r)=>{let i=e._zod.def,a=at(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},ga=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},_a=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},va=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=V(a.element,t,{...r,path:[...r.path,`items`]})},ya=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=V(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=V(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},ba=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>V(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},xa=(e,t,n,r)=>{let i=e._zod.def,a=V(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=V(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Sa=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=V(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else (t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=V(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=V(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},Ca=(e,t,n,r)=>{let i=e._zod.def,a=V(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},wa=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ta=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Ea=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Da=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Oa=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;V(a,t,r);let o=t.seen.get(e);o.ref=a},ka=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Aa=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},ja=E(`ZodISODateTime`,(e,t)=>{rr.init(e,t),K.init(e,t)});function Ma(e){return Di(ja,e)}const Na=E(`ZodISODate`,(e,t)=>{ir.init(e,t),K.init(e,t)});function Pa(e){return Oi(Na,e)}const Fa=E(`ZodISOTime`,(e,t)=>{ar.init(e,t),K.init(e,t)});function Ia(e){return ki(Fa,e)}const La=E(`ZodISODuration`,(e,t)=>{or.init(e,t),K.init(e,t)});function Ra(e){return Ai(La,e)}const za=(e,t)=>{Nt.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>It(e,t)},flatten:{value:t=>Ft(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ot,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ot,2)}},isEmpty:{get(){return e.issues.length===0}}})};E(`ZodError`,za);const U=E(`ZodError`,za,{Parent:Error}),Ba=Lt(U),Va=Rt(U),Ha=zt(U),Ua=Vt(U),Wa=Ut(U),Ga=Wt(U),Ka=Gt(U),qa=Kt(U),Ja=qt(U),Ya=Jt(U),Xa=Yt(U),Za=Xt(U),W=E(`ZodType`,(e,t)=>(R.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:la(e,`input`),output:la(e,`output`)}}),e.toJSONSchema=ca(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(A(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>M(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>Ba(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Ha(e,t,n),e.parseAsync=async(t,n)=>Va(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ua(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Wa(e,t,n),e.decode=(t,n)=>Ga(e,t,n),e.encodeAsync=async(t,n)=>Ka(e,t,n),e.decodeAsync=async(t,n)=>qa(e,t,n),e.safeEncode=(t,n)=>Ja(e,t,n),e.safeDecode=(t,n)=>Ya(e,t,n),e.safeEncodeAsync=async(t,n)=>Xa(e,t,n),e.safeDecodeAsync=async(t,n)=>Za(e,t,n),e.refine=(t,n)=>e.check(as(t,n)),e.superRefine=t=>e.check(os(t)),e.overwrite=t=>e.check(B(t)),e.optional=()=>Vo(e),e.exactOptional=()=>Uo(e),e.nullable=()=>Go(e),e.nullish=()=>Vo(Go(e)),e.nonoptional=t=>Zo(e,t),e.array=()=>J(e),e.or=t=>Mo([e,t]),e.and=t=>Po(e,t),e.transform=t=>ts(e,zo(t)),e.default=t=>qo(e,t),e.prefault=t=>Yo(e,t),e.catch=t=>$o(e,t),e.pipe=t=>ts(e,t),e.readonly=()=>rs(e),e.describe=t=>{let n=e.clone();return ri.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return ri.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return ri.get(e);let n=e.clone();return ri.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),Qa=E(`_ZodString`,(e,t)=>{Gn.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>da(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(Wi(...t)),e.includes=(...t)=>e.check(qi(...t)),e.startsWith=(...t)=>e.check(Ji(...t)),e.endsWith=(...t)=>e.check(Yi(...t)),e.min=(...t)=>e.check(Hi(...t)),e.max=(...t)=>e.check(Vi(...t)),e.length=(...t)=>e.check(Ui(...t)),e.nonempty=(...t)=>e.check(Hi(1,...t)),e.lowercase=t=>e.check(Gi(t)),e.uppercase=t=>e.check(Ki(t)),e.trim=()=>e.check(Zi()),e.normalize=(...t)=>e.check(Xi(...t)),e.toLowerCase=()=>e.check(Qi()),e.toUpperCase=()=>e.check($i()),e.slugify=()=>e.check(ea())}),$a=E(`ZodString`,(e,t)=>{Gn.init(e,t),Qa.init(e,t),e.email=t=>e.check(ai(eo,t)),e.url=t=>e.check(di(ro,t)),e.jwt=t=>e.check(Ei(yo,t)),e.emoji=t=>e.check(fi(io,t)),e.guid=t=>e.check(oi(to,t)),e.uuid=t=>e.check(si(no,t)),e.uuidv4=t=>e.check(ci(no,t)),e.uuidv6=t=>e.check(li(no,t)),e.uuidv7=t=>e.check(ui(no,t)),e.nanoid=t=>e.check(pi(ao,t)),e.guid=t=>e.check(oi(to,t)),e.cuid=t=>e.check(mi(oo,t)),e.cuid2=t=>e.check(hi(so,t)),e.ulid=t=>e.check(gi(co,t)),e.base64=t=>e.check(Ci(go,t)),e.base64url=t=>e.check(wi(_o,t)),e.xid=t=>e.check(_i(lo,t)),e.ksuid=t=>e.check(vi(uo,t)),e.ipv4=t=>e.check(yi(fo,t)),e.ipv6=t=>e.check(bi(po,t)),e.cidrv4=t=>e.check(xi(mo,t)),e.cidrv6=t=>e.check(Si(ho,t)),e.e164=t=>e.check(Ti(vo,t)),e.datetime=t=>e.check(Ma(t)),e.date=t=>e.check(Pa(t)),e.time=t=>e.check(Ia(t)),e.duration=t=>e.check(Ra(t))});function G(e){return ii($a,e)}const K=E(`ZodStringFormat`,(e,t)=>{z.init(e,t),Qa.init(e,t)}),eo=E(`ZodEmail`,(e,t)=>{Jn.init(e,t),K.init(e,t)}),to=E(`ZodGUID`,(e,t)=>{Kn.init(e,t),K.init(e,t)}),no=E(`ZodUUID`,(e,t)=>{qn.init(e,t),K.init(e,t)}),ro=E(`ZodURL`,(e,t)=>{Yn.init(e,t),K.init(e,t)}),io=E(`ZodEmoji`,(e,t)=>{Xn.init(e,t),K.init(e,t)}),ao=E(`ZodNanoID`,(e,t)=>{Zn.init(e,t),K.init(e,t)}),oo=E(`ZodCUID`,(e,t)=>{Qn.init(e,t),K.init(e,t)}),so=E(`ZodCUID2`,(e,t)=>{$n.init(e,t),K.init(e,t)}),co=E(`ZodULID`,(e,t)=>{er.init(e,t),K.init(e,t)}),lo=E(`ZodXID`,(e,t)=>{tr.init(e,t),K.init(e,t)}),uo=E(`ZodKSUID`,(e,t)=>{nr.init(e,t),K.init(e,t)}),fo=E(`ZodIPv4`,(e,t)=>{sr.init(e,t),K.init(e,t)}),po=E(`ZodIPv6`,(e,t)=>{cr.init(e,t),K.init(e,t)}),mo=E(`ZodCIDRv4`,(e,t)=>{lr.init(e,t),K.init(e,t)}),ho=E(`ZodCIDRv6`,(e,t)=>{ur.init(e,t),K.init(e,t)}),go=E(`ZodBase64`,(e,t)=>{fr.init(e,t),K.init(e,t)}),_o=E(`ZodBase64URL`,(e,t)=>{mr.init(e,t),K.init(e,t)}),vo=E(`ZodE164`,(e,t)=>{hr.init(e,t),K.init(e,t)}),yo=E(`ZodJWT`,(e,t)=>{_r.init(e,t),K.init(e,t)}),bo=E(`ZodNumber`,(e,t)=>{vr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fa(e,t,n,r),e.gt=(t,n)=>e.check(Ri(t,n)),e.gte=(t,n)=>e.check(zi(t,n)),e.min=(t,n)=>e.check(zi(t,n)),e.lt=(t,n)=>e.check(Ii(t,n)),e.lte=(t,n)=>e.check(Li(t,n)),e.max=(t,n)=>e.check(Li(t,n)),e.int=t=>e.check(Co(t)),e.safe=t=>e.check(Co(t)),e.positive=t=>e.check(Ri(0,t)),e.nonnegative=t=>e.check(zi(0,t)),e.negative=t=>e.check(Ii(0,t)),e.nonpositive=t=>e.check(Li(0,t)),e.multipleOf=(t,n)=>e.check(Bi(t,n)),e.step=(t,n)=>e.check(Bi(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function xo(e){return ji(bo,e)}const So=E(`ZodNumberFormat`,(e,t)=>{yr.init(e,t),bo.init(e,t)});function Co(e){return Mi(So,e)}const wo=E(`ZodBoolean`,(e,t)=>{br.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pa(e,t,n,r)});function q(e){return Ni(wo,e)}const To=E(`ZodUnknown`,(e,t)=>{xr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Eo(){return Pi(To)}const Do=E(`ZodNever`,(e,t)=>{Sr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ma(e,t,n,r)});function Oo(e){return Fi(Do,e)}const ko=E(`ZodArray`,(e,t)=>{wr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>va(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(Hi(t,n)),e.nonempty=t=>e.check(Hi(1,t)),e.max=(t,n)=>e.check(Vi(t,n)),e.length=(t,n)=>e.check(Ui(t,n)),e.unwrap=()=>e.element});function J(e,t){return ta(ko,e,t)}const Ao=E(`ZodObject`,(e,t)=>{kr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ya(e,t,n,r),O(e,`shape`,()=>t.shape),e.keyof=()=>Z(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Eo()}),e.loose=()=>e.clone({...e._zod.def,catchall:Eo()}),e.strict=()=>e.clone({...e._zod.def,catchall:Oo()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>wt(e,t),e.safeExtend=t=>Tt(e,t),e.merge=t=>Et(e,t),e.pick=t=>St(e,t),e.omit=t=>Ct(e,t),e.partial=(...t)=>Dt(Bo,e,t[0]),e.required=(...t)=>Ot(Xo,e,t[0])});function Y(e,t){return new Ao({type:`object`,shape:e??{},...N(t)})}function X(e,t){return new Ao({type:`object`,shape:e,catchall:Eo(),...N(t)})}const jo=E(`ZodUnion`,(e,t)=>{jr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ba(e,t,n,r),e.options=t.options});function Mo(e,t){return new jo({type:`union`,options:e,...N(t)})}const No=E(`ZodIntersection`,(e,t)=>{Mr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xa(e,t,n,r)});function Po(e,t){return new No({type:`intersection`,left:e,right:t})}const Fo=E(`ZodRecord`,(e,t)=>{Fr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sa(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Io(e,t,n){return new Fo({type:`record`,keyType:e,valueType:t,...N(n)})}const Lo=E(`ZodEnum`,(e,t)=>{Ir.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ha(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Lo({...t,checks:[],...N(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Lo({...t,checks:[],...N(r),entries:i})}});function Z(e,t){return new Lo({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...N(t)})}const Ro=E(`ZodTransform`,(e,t)=>{Lr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_a(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new rt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(jt(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(jt(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function zo(e){return new Ro({type:`transform`,transform:e})}const Bo=E(`ZodOptional`,(e,t)=>{zr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Vo(e){return new Bo({type:`optional`,innerType:e})}const Ho=E(`ZodExactOptional`,(e,t)=>{Br.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Uo(e){return new Ho({type:`optional`,innerType:e})}const Wo=E(`ZodNullable`,(e,t)=>{Vr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ca(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Go(e){return new Wo({type:`nullable`,innerType:e})}const Ko=E(`ZodDefault`,(e,t)=>{Hr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ta(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function qo(e,t){return new Ko({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():_t(t)}})}const Jo=E(`ZodPrefault`,(e,t)=>{Wr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ea(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Yo(e,t){return new Jo({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():_t(t)}})}const Xo=E(`ZodNonOptional`,(e,t)=>{Gr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zo(e,t){return new Xo({type:`nonoptional`,innerType:e,...N(t)})}const Qo=E(`ZodCatch`,(e,t)=>{qr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Da(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function $o(e,t){return new Qo({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}const es=E(`ZodPipe`,(e,t)=>{Jr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oa(e,t,n,r),e.in=t.in,e.out=t.out});function ts(e,t){return new es({type:`pipe`,in:e,out:t})}const ns=E(`ZodReadonly`,(e,t)=>{Xr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ka(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function rs(e){return new ns({type:`readonly`,innerType:e})}const is=E(`ZodCustom`,(e,t)=>{Qr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ga(e,t,n,r)});function as(e,t={}){return na(is,e,t)}function os(e){return ra(e)}const ss=Y({detail:G()}),cs=Y({error:G()});function ls(e){if(!e)return`Unknown error`;if(e instanceof Error){let t=ss.safeParse(e.cause);return t.success?t.data.detail:us(e.message)}if(typeof e==`object`){let t=ss.safeParse(e);if(t.success)return t.data.detail;let n=cs.safeParse(e);if(n.success)return n.data.error}try{return JSON.stringify(e)}catch{return String(e)}}function us(e){let t=ds(e);if(!t)return e;let n=ss.safeParse(t);if(n.success)return n.data.detail;let r=cs.safeParse(t);return r.success?r.data.error:e}function ds(e){try{return JSON.parse(e)}catch{return e}}function fs(e,t){if(!e)throw Error(t)}const ps=[`pip`,`uv`,`rye`,`poetry`,`pixi`],ms=[`normal`,`compact`,`medium`,`full`,`columns`],hs=[`auto`,`native`,`polars`,`lazy-polars`,`pandas`],gs=[`html`,`markdown`,`ipynb`],_s=[`manual`,`ask`,`agent`],Q=Y({api_key:G().optional(),base_url:G().optional(),project:G().optional()}).loose(),vs=Y({chat_model:G().nullish(),edit_model:G().nullish(),autocomplete_model:G().nullish(),displayed_models:J(G()).default([]),custom_models:J(G()).default([])}),ys=X({completion:Y({activate_on_typing:q().prefault(!0),signature_hint_on_typing:q().prefault(!1),copilot:Mo([q(),Z([`github`,`codeium`,`custom`])]).prefault(!1).transform(e=>e===!0?`github`:e),codeium_api_key:G().nullish()}).prefault({}),save:X({autosave:Z([`off`,`after_delay`]).prefault(`after_delay`),autosave_delay:xo().nonnegative().transform(e=>Math.max(e,1e3)).prefault(1e3),format_on_save:q().prefault(!1)}).prefault({}),formatting:X({line_length:xo().nonnegative().prefault(79).transform(e=>Math.min(e,1e3))}).prefault({}),keymap:X({preset:Z([`default`,`vim`]).prefault(`default`),overrides:Io(G(),G()).prefault({}),destructive_delete:q().prefault(!0)}).prefault({}),runtime:X({auto_instantiate:q().prefault(!0),on_cell_change:Z([`lazy`,`autorun`]).prefault(`autorun`),auto_reload:Z([`off`,`lazy`,`autorun`]).prefault(`off`),reactive_tests:q().prefault(!0),watcher_on_save:Z([`lazy`,`autorun`]).prefault(`lazy`),default_sql_output:Z(hs).prefault(`auto`),default_auto_download:J(Z(gs)).prefault([])}).prefault({}),display:X({theme:Z([`light`,`dark`,`system`]).prefault(`light`),code_editor_font_size:xo().nonnegative().prefault(14),cell_output:Z([`above`,`below`]).prefault(`below`),dataframes:Z([`rich`,`plain`]).prefault(`rich`),default_table_page_size:xo().prefault(10),default_table_max_columns:xo().prefault(50),default_width:Z(ms).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),locale:G().nullable().optional(),reference_highlighting:q().prefault(!0)}).prefault({}),package_management:X({manager:Z(ps).prefault(`pip`)}).prefault({}),ai:X({rules:G().prefault(``),mode:Z(_s).prefault(`manual`),inline_tooltip:q().prefault(!1),open_ai:Q.optional(),anthropic:Q.optional(),google:Q.optional(),ollama:Q.optional(),openrouter:Q.optional(),wandb:Q.optional(),open_ai_compatible:Q.optional(),azure:Q.optional(),bedrock:X({region_name:G().optional(),profile_name:G().optional(),aws_access_key_id:G().optional(),aws_secret_access_key:G().optional()}).optional(),custom_providers:Io(G(),Q).prefault({}),models:vs.prefault({displayed_models:[],custom_models:[]})}).prefault({}),experimental:X({markdown:q().optional(),rtc:q().optional()}).prefault(()=>({})),server:X({disable_file_downloads:q().optional()}).prefault(()=>({})),diagnostics:X({enabled:q().optional(),sql_linter:q().optional()}).prefault(()=>({})),sharing:X({html:q().optional(),wasm:q().optional()}).optional(),mcp:X({presets:J(Z([`marimo`,`context7`])).optional()}).optional().prefault({})}).partial().prefault(()=>({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})),bs=G(),xs=Z(hs).prefault(`auto`);Y({width:Z(ms).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),app_title:bs.nullish(),css_file:G().nullish(),html_head_file:G().nullish(),auto_download:J(Z(gs)).prefault([]),sql_output:xs}).prefault(()=>({width:`medium`,auto_download:[],sql_output:`auto`}));function Ss(){return ys.parse({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})}const Cs=e=>new TextDecoder().decode(e);function ws(e){return e.FS}const Ts=`notebook.py`,Es=`/marimo`,$={NOTEBOOK_FILENAME:Ts,HOME_DIR:Es,createHomeDir:e=>{let t=ws(e);try{t.mkdirTree(Es)}catch{}t.chdir(Es)},mountFS:e=>{ws(e).mount(e.FS.filesystems.IDBFS,{root:`.`},Es)},populateFilesToMemory:async e=>{await Ds(e,!0)},persistFilesToRemote:async e=>{await Ds(e,!1)},readNotebook:e=>{let t=ws(e),n=`${Es}/${Ts}`;return Cs(t.readFile(n))},initNotebookCode:e=>{let{pyodide:t,filename:n,code:r}=e,i=ws(t),a=e=>{try{return Cs(i.readFile(e))}catch{return null}};if(n&&n!==Ts){let e=a(n);if(e)return{code:e,filename:n}}return i.writeFile(Ts,r),{code:r,filename:Ts}}};function Ds(e,t){return new Promise((n,r)=>{ws(e).syncfs(t,e=>{if(e instanceof Error){r(e);return}n()})})}function Os(e){return`marimo-base`}const ks=new class{spans=[];startSpan(e,t={}){let n={name:e,startTime:Date.now(),attributes:t,end:(e=`ok`)=>this.endSpan(n,e)};return this.spans.push(n),n}endSpan(e,t=`ok`){e.endTime=Date.now(),e.status=t}getSpans(){return this.spans}wrap(e,t,n={}){let r=this.startSpan(t||e.name,n);try{let t=e();return this.endSpan(r),t}catch(e){throw this.endSpan(r,`error`),e}}wrapAsync(e,t,n={}){return(async(...r)=>{let i=this.startSpan(t||e.name,n);try{let t=await e(...r);return this.endSpan(i),t}catch(e){throw this.endSpan(i,`error`),e}})}logSpans(){}};globalThis.t=ks;var As=class{pyodide=null;get requirePyodide(){return fs(this.pyodide,`Pyodide not loaded`),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!Ke)throw Error(`loadPyodide is not defined`);let t=ks.startSpan(`loadPyodide`);try{let n=await Ke({packages:[`micropip`,`msgspec`,Os(e.version),`Markdown`,`pymdown-extensions`,`narwhals`,`packaging`],_makeSnapshot:!1,lockFileURL:`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`});return this.pyodide=n,t.end(`ok`),n}catch(e){throw T.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=ks.startSpan(`mountFilesystem`);return $.createHomeDir(this.requirePyodide),$.mountFS(this.requirePyodide),await $.populateFilesToMemory(this.requirePyodide),t.end(`ok`),$.initNotebookCode({pyodide:this.requirePyodide,code:e.code,filename:e.filename})}async startSession(e){let{code:t,filename:n,onMessage:r,queryParameters:i,userConfig:a}=e;self.messenger={callback:r},self.query_params=i,self.user_config=a;let o=ks.startSpan(`startSession.runPython`),s=n||$.NOTEBOOK_FILENAME,[c,l,u]=this.requirePyodide.runPython(`
41
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function sa(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>0&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,`~standard`,{value:{...t[`~standard`],jsonSchema:{input:la(t,`input`,e.processors),output:la(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function H(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return H(r.element,n);if(r.type===`set`)return H(r.valueType,n);if(r.type===`lazy`)return H(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type===`default`||r.type===`prefault`)return H(r.innerType,n);if(r.type===`intersection`)return H(r.left,n)||H(r.right,n);if(r.type===`record`||r.type===`map`)return H(r.keyType,n)||H(r.valueType,n);if(r.type===`pipe`)return H(r.in,n)||H(r.out,n);if(r.type===`object`){for(let e in r.shape)if(H(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(H(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(H(e,n))return!0;return!!(r.rest&&H(r.rest,n))}return!1}const ca=(e,t={})=>n=>{let r=aa({...n,processors:t});return V(e,r),oa(r,e),sa(r,e)},la=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=aa({...i??{},target:a,io:t,processors:n});return V(e,o),oa(o,e),sa(o,e)},ua={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},da=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=ua[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},fa=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},pa=(e,t,n,r)=>{n.type=`boolean`},ma=(e,t,n,r)=>{n.not={}},ha=(e,t,n,r)=>{let i=e._zod.def,a=at(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},ga=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},_a=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},va=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=V(a.element,t,{...r,path:[...r.path,`items`]})},ya=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=V(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=V(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},ba=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>V(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},xa=(e,t,n,r)=>{let i=e._zod.def,a=V(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=V(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},Sa=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=V(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)i.patternProperties[t.source]=e}else (t.target===`draft-07`||t.target===`draft-2020-12`)&&(i.propertyNames=V(a.keyType,t,{...r,path:[...r.path,`propertyNames`]})),i.additionalProperties=V(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]});let c=o._zod.values;if(c){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e)}},Ca=(e,t,n,r)=>{let i=e._zod.def,a=V(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},wa=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ta=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},Ea=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},Da=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},Oa=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;V(a,t,r);let o=t.seen.get(e);o.ref=a},ka=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Aa=(e,t,n,r)=>{let i=e._zod.def;V(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},ja=E(`ZodISODateTime`,(e,t)=>{rr.init(e,t),K.init(e,t)});function Ma(e){return Di(ja,e)}const Na=E(`ZodISODate`,(e,t)=>{ir.init(e,t),K.init(e,t)});function Pa(e){return Oi(Na,e)}const Fa=E(`ZodISOTime`,(e,t)=>{ar.init(e,t),K.init(e,t)});function Ia(e){return ki(Fa,e)}const La=E(`ZodISODuration`,(e,t)=>{or.init(e,t),K.init(e,t)});function Ra(e){return Ai(La,e)}const za=(e,t)=>{Nt.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>It(e,t)},flatten:{value:t=>Ft(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ot,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ot,2)}},isEmpty:{get(){return e.issues.length===0}}})};E(`ZodError`,za);const U=E(`ZodError`,za,{Parent:Error}),Ba=Lt(U),Va=Rt(U),Ha=zt(U),Ua=Vt(U),Wa=Ut(U),Ga=Wt(U),Ka=Gt(U),qa=Kt(U),Ja=qt(U),Ya=Jt(U),Xa=Yt(U),Za=Xt(U),W=E(`ZodType`,(e,t)=>(R.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:la(e,`input`),output:la(e,`output`)}}),e.toJSONSchema=ca(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,`_def`,{value:t}),e.check=(...n)=>e.clone(A(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>M(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>Ba(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Ha(e,t,n),e.parseAsync=async(t,n)=>Va(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>Ua(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>Wa(e,t,n),e.decode=(t,n)=>Ga(e,t,n),e.encodeAsync=async(t,n)=>Ka(e,t,n),e.decodeAsync=async(t,n)=>qa(e,t,n),e.safeEncode=(t,n)=>Ja(e,t,n),e.safeDecode=(t,n)=>Ya(e,t,n),e.safeEncodeAsync=async(t,n)=>Xa(e,t,n),e.safeDecodeAsync=async(t,n)=>Za(e,t,n),e.refine=(t,n)=>e.check(as(t,n)),e.superRefine=t=>e.check(os(t)),e.overwrite=t=>e.check(B(t)),e.optional=()=>Vo(e),e.exactOptional=()=>Uo(e),e.nullable=()=>Go(e),e.nullish=()=>Vo(Go(e)),e.nonoptional=t=>Zo(e,t),e.array=()=>J(e),e.or=t=>Mo([e,t]),e.and=t=>Po(e,t),e.transform=t=>ts(e,zo(t)),e.default=t=>qo(e,t),e.prefault=t=>Yo(e,t),e.catch=t=>$o(e,t),e.pipe=t=>ts(e,t),e.readonly=()=>rs(e),e.describe=t=>{let n=e.clone();return ri.add(n,{description:t}),n},Object.defineProperty(e,`description`,{get(){return ri.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return ri.get(e);let n=e.clone();return ri.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),Qa=E(`_ZodString`,(e,t)=>{Gn.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>da(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(Wi(...t)),e.includes=(...t)=>e.check(qi(...t)),e.startsWith=(...t)=>e.check(Ji(...t)),e.endsWith=(...t)=>e.check(Yi(...t)),e.min=(...t)=>e.check(Hi(...t)),e.max=(...t)=>e.check(Vi(...t)),e.length=(...t)=>e.check(Ui(...t)),e.nonempty=(...t)=>e.check(Hi(1,...t)),e.lowercase=t=>e.check(Gi(t)),e.uppercase=t=>e.check(Ki(t)),e.trim=()=>e.check(Zi()),e.normalize=(...t)=>e.check(Xi(...t)),e.toLowerCase=()=>e.check(Qi()),e.toUpperCase=()=>e.check($i()),e.slugify=()=>e.check(ea())}),$a=E(`ZodString`,(e,t)=>{Gn.init(e,t),Qa.init(e,t),e.email=t=>e.check(ai(eo,t)),e.url=t=>e.check(di(ro,t)),e.jwt=t=>e.check(Ei(yo,t)),e.emoji=t=>e.check(fi(io,t)),e.guid=t=>e.check(oi(to,t)),e.uuid=t=>e.check(si(no,t)),e.uuidv4=t=>e.check(ci(no,t)),e.uuidv6=t=>e.check(li(no,t)),e.uuidv7=t=>e.check(ui(no,t)),e.nanoid=t=>e.check(pi(ao,t)),e.guid=t=>e.check(oi(to,t)),e.cuid=t=>e.check(mi(oo,t)),e.cuid2=t=>e.check(hi(so,t)),e.ulid=t=>e.check(gi(co,t)),e.base64=t=>e.check(Ci(go,t)),e.base64url=t=>e.check(wi(_o,t)),e.xid=t=>e.check(_i(lo,t)),e.ksuid=t=>e.check(vi(uo,t)),e.ipv4=t=>e.check(yi(fo,t)),e.ipv6=t=>e.check(bi(po,t)),e.cidrv4=t=>e.check(xi(mo,t)),e.cidrv6=t=>e.check(Si(ho,t)),e.e164=t=>e.check(Ti(vo,t)),e.datetime=t=>e.check(Ma(t)),e.date=t=>e.check(Pa(t)),e.time=t=>e.check(Ia(t)),e.duration=t=>e.check(Ra(t))});function G(e){return ii($a,e)}const K=E(`ZodStringFormat`,(e,t)=>{z.init(e,t),Qa.init(e,t)}),eo=E(`ZodEmail`,(e,t)=>{Jn.init(e,t),K.init(e,t)}),to=E(`ZodGUID`,(e,t)=>{Kn.init(e,t),K.init(e,t)}),no=E(`ZodUUID`,(e,t)=>{qn.init(e,t),K.init(e,t)}),ro=E(`ZodURL`,(e,t)=>{Yn.init(e,t),K.init(e,t)}),io=E(`ZodEmoji`,(e,t)=>{Xn.init(e,t),K.init(e,t)}),ao=E(`ZodNanoID`,(e,t)=>{Zn.init(e,t),K.init(e,t)}),oo=E(`ZodCUID`,(e,t)=>{Qn.init(e,t),K.init(e,t)}),so=E(`ZodCUID2`,(e,t)=>{$n.init(e,t),K.init(e,t)}),co=E(`ZodULID`,(e,t)=>{er.init(e,t),K.init(e,t)}),lo=E(`ZodXID`,(e,t)=>{tr.init(e,t),K.init(e,t)}),uo=E(`ZodKSUID`,(e,t)=>{nr.init(e,t),K.init(e,t)}),fo=E(`ZodIPv4`,(e,t)=>{sr.init(e,t),K.init(e,t)}),po=E(`ZodIPv6`,(e,t)=>{cr.init(e,t),K.init(e,t)}),mo=E(`ZodCIDRv4`,(e,t)=>{lr.init(e,t),K.init(e,t)}),ho=E(`ZodCIDRv6`,(e,t)=>{ur.init(e,t),K.init(e,t)}),go=E(`ZodBase64`,(e,t)=>{fr.init(e,t),K.init(e,t)}),_o=E(`ZodBase64URL`,(e,t)=>{mr.init(e,t),K.init(e,t)}),vo=E(`ZodE164`,(e,t)=>{hr.init(e,t),K.init(e,t)}),yo=E(`ZodJWT`,(e,t)=>{_r.init(e,t),K.init(e,t)}),bo=E(`ZodNumber`,(e,t)=>{vr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fa(e,t,n,r),e.gt=(t,n)=>e.check(Ri(t,n)),e.gte=(t,n)=>e.check(zi(t,n)),e.min=(t,n)=>e.check(zi(t,n)),e.lt=(t,n)=>e.check(Ii(t,n)),e.lte=(t,n)=>e.check(Li(t,n)),e.max=(t,n)=>e.check(Li(t,n)),e.int=t=>e.check(Co(t)),e.safe=t=>e.check(Co(t)),e.positive=t=>e.check(Ri(0,t)),e.nonnegative=t=>e.check(zi(0,t)),e.negative=t=>e.check(Ii(0,t)),e.nonpositive=t=>e.check(Li(0,t)),e.multipleOf=(t,n)=>e.check(Bi(t,n)),e.step=(t,n)=>e.check(Bi(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null});function xo(e){return ji(bo,e)}const So=E(`ZodNumberFormat`,(e,t)=>{yr.init(e,t),bo.init(e,t)});function Co(e){return Mi(So,e)}const wo=E(`ZodBoolean`,(e,t)=>{br.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pa(e,t,n,r)});function q(e){return Ni(wo,e)}const To=E(`ZodUnknown`,(e,t)=>{xr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Eo(){return Pi(To)}const Do=E(`ZodNever`,(e,t)=>{Sr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ma(e,t,n,r)});function Oo(e){return Fi(Do,e)}const ko=E(`ZodArray`,(e,t)=>{wr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>va(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(Hi(t,n)),e.nonempty=t=>e.check(Hi(1,t)),e.max=(t,n)=>e.check(Vi(t,n)),e.length=(t,n)=>e.check(Ui(t,n)),e.unwrap=()=>e.element});function J(e,t){return ta(ko,e,t)}const Ao=E(`ZodObject`,(e,t)=>{kr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ya(e,t,n,r),O(e,`shape`,()=>t.shape),e.keyof=()=>Z(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:Eo()}),e.loose=()=>e.clone({...e._zod.def,catchall:Eo()}),e.strict=()=>e.clone({...e._zod.def,catchall:Oo()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>wt(e,t),e.safeExtend=t=>Tt(e,t),e.merge=t=>Et(e,t),e.pick=t=>St(e,t),e.omit=t=>Ct(e,t),e.partial=(...t)=>Dt(Bo,e,t[0]),e.required=(...t)=>Ot(Xo,e,t[0])});function Y(e,t){return new Ao({type:`object`,shape:e??{},...N(t)})}function X(e,t){return new Ao({type:`object`,shape:e,catchall:Eo(),...N(t)})}const jo=E(`ZodUnion`,(e,t)=>{jr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ba(e,t,n,r),e.options=t.options});function Mo(e,t){return new jo({type:`union`,options:e,...N(t)})}const No=E(`ZodIntersection`,(e,t)=>{Mr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xa(e,t,n,r)});function Po(e,t){return new No({type:`intersection`,left:e,right:t})}const Fo=E(`ZodRecord`,(e,t)=>{Fr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sa(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Io(e,t,n){return new Fo({type:`record`,keyType:e,valueType:t,...N(n)})}const Lo=E(`ZodEnum`,(e,t)=>{Ir.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ha(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new Lo({...t,checks:[],...N(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new Lo({...t,checks:[],...N(r),entries:i})}});function Z(e,t){return new Lo({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...N(t)})}const Ro=E(`ZodTransform`,(e,t)=>{Lr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_a(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new rt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(jt(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(jt(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function zo(e){return new Ro({type:`transform`,transform:e})}const Bo=E(`ZodOptional`,(e,t)=>{zr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Vo(e){return new Bo({type:`optional`,innerType:e})}const Ho=E(`ZodExactOptional`,(e,t)=>{Br.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Aa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Uo(e){return new Ho({type:`optional`,innerType:e})}const Wo=E(`ZodNullable`,(e,t)=>{Vr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ca(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Go(e){return new Wo({type:`nullable`,innerType:e})}const Ko=E(`ZodDefault`,(e,t)=>{Hr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ta(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function qo(e,t){return new Ko({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():_t(t)}})}const Jo=E(`ZodPrefault`,(e,t)=>{Wr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ea(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Yo(e,t){return new Jo({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():_t(t)}})}const Xo=E(`ZodNonOptional`,(e,t)=>{Gr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zo(e,t){return new Xo({type:`nonoptional`,innerType:e,...N(t)})}const Qo=E(`ZodCatch`,(e,t)=>{qr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Da(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function $o(e,t){return new Qo({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}const es=E(`ZodPipe`,(e,t)=>{Jr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oa(e,t,n,r),e.in=t.in,e.out=t.out});function ts(e,t){return new es({type:`pipe`,in:e,out:t})}const ns=E(`ZodReadonly`,(e,t)=>{Xr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ka(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function rs(e){return new ns({type:`readonly`,innerType:e})}const is=E(`ZodCustom`,(e,t)=>{Qr.init(e,t),W.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ga(e,t,n,r)});function as(e,t={}){return na(is,e,t)}function os(e){return ra(e)}const ss=Y({detail:G()}),cs=Y({error:G()});function ls(e){if(!e)return`Unknown error`;if(e instanceof Error){let t=ss.safeParse(e.cause);return t.success?t.data.detail:us(e.message)}if(typeof e==`object`){let t=ss.safeParse(e);if(t.success)return t.data.detail;let n=cs.safeParse(e);if(n.success)return n.data.error}try{return JSON.stringify(e)}catch{return String(e)}}function us(e){let t=ds(e);if(!t)return e;let n=ss.safeParse(t);if(n.success)return n.data.detail;let r=cs.safeParse(t);return r.success?r.data.error:e}function ds(e){try{return JSON.parse(e)}catch{return e}}function fs(e,t){if(!e)throw Error(t)}const ps=[`pip`,`uv`,`rye`,`poetry`,`pixi`],ms=[`normal`,`compact`,`medium`,`full`,`columns`],hs=[`auto`,`native`,`polars`,`lazy-polars`,`pandas`],gs=[`html`,`markdown`,`ipynb`],_s=[`manual`,`ask`,`agent`],Q=Y({api_key:G().optional(),base_url:G().optional(),project:G().optional()}).loose(),vs=Y({chat_model:G().nullish(),edit_model:G().nullish(),autocomplete_model:G().nullish(),displayed_models:J(G()).default([]),custom_models:J(G()).default([])}),ys=X({completion:Y({activate_on_typing:q().prefault(!0),signature_hint_on_typing:q().prefault(!1),copilot:Mo([q(),Z([`github`,`codeium`,`custom`])]).prefault(!1).transform(e=>e===!0?`github`:e),codeium_api_key:G().nullish()}).prefault({}),save:X({autosave:Z([`off`,`after_delay`]).prefault(`after_delay`),autosave_delay:xo().nonnegative().transform(e=>Math.max(e,1e3)).prefault(1e3),format_on_save:q().prefault(!1)}).prefault({}),formatting:X({line_length:xo().nonnegative().prefault(79).transform(e=>Math.min(e,1e3))}).prefault({}),keymap:X({preset:Z([`default`,`vim`]).prefault(`default`),overrides:Io(G(),G()).prefault({}),destructive_delete:q().prefault(!0)}).prefault({}),runtime:X({auto_instantiate:q().prefault(!0),on_cell_change:Z([`lazy`,`autorun`]).prefault(`autorun`),auto_reload:Z([`off`,`lazy`,`autorun`]).prefault(`off`),reactive_tests:q().prefault(!0),watcher_on_save:Z([`lazy`,`autorun`]).prefault(`lazy`),default_sql_output:Z(hs).prefault(`auto`),default_auto_download:J(Z(gs)).prefault([])}).prefault({}),display:X({theme:Z([`light`,`dark`,`system`]).prefault(`light`),code_editor_font_size:xo().nonnegative().prefault(14),cell_output:Z([`above`,`below`]).prefault(`below`),dataframes:Z([`rich`,`plain`]).prefault(`rich`),default_table_page_size:xo().prefault(10),default_table_max_columns:xo().prefault(50),default_width:Z(ms).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),locale:G().nullable().optional(),reference_highlighting:q().prefault(!0)}).prefault({}),package_management:X({manager:Z(ps).prefault(`pip`)}).prefault({}),ai:X({rules:G().prefault(``),mode:Z(_s).prefault(`manual`),inline_tooltip:q().prefault(!1),open_ai:Q.optional(),anthropic:Q.optional(),google:Q.optional(),ollama:Q.optional(),openrouter:Q.optional(),wandb:Q.optional(),open_ai_compatible:Q.optional(),azure:Q.optional(),bedrock:X({region_name:G().optional(),profile_name:G().optional(),aws_access_key_id:G().optional(),aws_secret_access_key:G().optional()}).optional(),custom_providers:Io(G(),Q).prefault({}),models:vs.prefault({displayed_models:[],custom_models:[]})}).prefault({}),experimental:X({markdown:q().optional(),rtc:q().optional(),storage_inspector:q().prefault(!0)}).prefault(()=>({})),server:X({disable_file_downloads:q().optional()}).prefault(()=>({})),diagnostics:X({enabled:q().optional(),sql_linter:q().optional()}).prefault(()=>({})),sharing:X({html:q().optional(),wasm:q().optional()}).optional(),mcp:X({presets:J(Z([`marimo`,`context7`])).optional()}).optional().prefault({})}).partial().prefault(()=>({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})),bs=G(),xs=Z(hs).prefault(`auto`);Y({width:Z(ms).prefault(`medium`).transform(e=>e===`normal`?`compact`:e),app_title:bs.nullish(),css_file:G().nullish(),html_head_file:G().nullish(),auto_download:J(Z(gs)).prefault([]),sql_output:xs}).prefault(()=>({width:`medium`,auto_download:[],sql_output:`auto`}));function Ss(){return ys.parse({completion:{},save:{},formatting:{},keymap:{},runtime:{},display:{},diagnostics:{},experimental:{},server:{},ai:{},package_management:{},mcp:{}})}const Cs=e=>new TextDecoder().decode(e);function ws(e){return e.FS}const Ts=`notebook.py`,Es=`/marimo`,$={NOTEBOOK_FILENAME:Ts,HOME_DIR:Es,createHomeDir:e=>{let t=ws(e);try{t.mkdirTree(Es)}catch{}t.chdir(Es)},mountFS:e=>{ws(e).mount(e.FS.filesystems.IDBFS,{root:`.`},Es)},populateFilesToMemory:async e=>{await Ds(e,!0)},persistFilesToRemote:async e=>{await Ds(e,!1)},readNotebook:e=>{let t=ws(e),n=`${Es}/${Ts}`;return Cs(t.readFile(n))},initNotebookCode:e=>{let{pyodide:t,filename:n,code:r}=e,i=ws(t),a=e=>{try{return Cs(i.readFile(e))}catch{return null}};if(n&&n!==Ts){let e=a(n);if(e)return{code:e,filename:n}}return i.writeFile(Ts,r),{code:r,filename:Ts}}};function Ds(e,t){return new Promise((n,r)=>{ws(e).syncfs(t,e=>{if(e instanceof Error){r(e);return}n()})})}function Os(e){return`marimo-base`}const ks=new class{spans=[];startSpan(e,t={}){let n={name:e,startTime:Date.now(),attributes:t,end:(e=`ok`)=>this.endSpan(n,e)};return this.spans.push(n),n}endSpan(e,t=`ok`){e.endTime=Date.now(),e.status=t}getSpans(){return this.spans}wrap(e,t,n={}){let r=this.startSpan(t||e.name,n);try{let t=e();return this.endSpan(r),t}catch(e){throw this.endSpan(r,`error`),e}}wrapAsync(e,t,n={}){return(async(...r)=>{let i=this.startSpan(t||e.name,n);try{let t=await e(...r);return this.endSpan(i),t}catch(e){throw this.endSpan(i,`error`),e}})}logSpans(){}};globalThis.t=ks;var As=class{pyodide=null;get requirePyodide(){return fs(this.pyodide,`Pyodide not loaded`),this.pyodide}async bootstrap(e){return await this.loadPyodideAndPackages(e)}async loadPyodideAndPackages(e){if(!Ke)throw Error(`loadPyodide is not defined`);let t=ks.startSpan(`loadPyodide`);try{let n=await Ke({packages:[`micropip`,`msgspec`,Os(e.version),`Markdown`,`pymdown-extensions`,`narwhals`,`packaging`],_makeSnapshot:!1,lockFileURL:`https://wasm.marimo.app/pyodide-lock.json?v=${e.version}&pyodide=${e.pyodideVersion}`,indexURL:`https://cdn.jsdelivr.net/pyodide/${e.pyodideVersion}/full/`});return this.pyodide=n,t.end(`ok`),n}catch(e){throw T.error(`Failed to load Pyodide`,e),e}}async mountFilesystem(e){let t=ks.startSpan(`mountFilesystem`);return $.createHomeDir(this.requirePyodide),$.mountFS(this.requirePyodide),await $.populateFilesToMemory(this.requirePyodide),t.end(`ok`),$.initNotebookCode({pyodide:this.requirePyodide,code:e.code,filename:e.filename})}async startSession(e){let{code:t,filename:n,onMessage:r,queryParameters:i,userConfig:a}=e;self.messenger={callback:r},self.query_params=i,self.user_config=a;let o=ks.startSpan(`startSession.runPython`),s=n||$.NOTEBOOK_FILENAME,[c,l,u]=this.requirePyodide.runPython(`
42
42
  print("[py] Starting marimo...")
43
43
  import asyncio
44
44
  import js
@@ -6,12 +6,12 @@ import { t as require_react } from "./react-Bs6Z0kvn.js";
6
6
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
7
7
  import { n as Copy, r as toast, t as copyToClipboard } from "./copy-BkBF0Xgk.js";
8
8
  import { O as logNever, i as SelectContent, l as SelectTrigger, o as SelectItem, r as Select, t as Label, u as SelectValue } from "./label-BLDcDYdI.js";
9
- import { H as ErrorBoundary, U as require_prop_types, _ as DropdownMenuSeparator, _n as Plus, _t as capitalize_default, b as DropdownMenuSubTrigger, d as DropdownMenu, f as DropdownMenuContent, g as DropdownMenuPortal, hn as Trash, i as Input, m as DropdownMenuItem, mt as marked, pt as useNonce, t as BulkEdit, v as DropdownMenuSub, vn as Pencil, y as DropdownMenuSubContent } from "./types-Dzga1074.js";
9
+ import { H as ErrorBoundary, U as require_prop_types, _ as DropdownMenuSeparator, _n as Plus, _t as capitalize_default, b as DropdownMenuSubTrigger, d as DropdownMenu, f as DropdownMenuContent, g as DropdownMenuPortal, hn as Trash, i as Input, m as DropdownMenuItem, mt as marked, pt as useNonce, t as BulkEdit, v as DropdownMenuSub, vn as Pencil, y as DropdownMenuSubContent } from "./types-0FB-N7AA.js";
10
10
  import { g as Logger, h as Events, t as Button } from "./button-DQpBib29.js";
11
11
  import "./Combination-Dk6JxauT.js";
12
12
  import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
13
13
  import "./react-dom-CqtLRVZP.js";
14
- import { C as useEvent_default, n as useTheme } from "./useTheme-BAtPEkUJ.js";
14
+ import { C as useEvent_default, n as useTheme } from "./useTheme-D0rdoMBF.js";
15
15
  import { A as require__Map, B as require__baseGetTag, C as require__hasPath, D as require_isArguments, E as require__isIndex, F as require_isFunction, G as assert, H as require__root, I as require_isObject, J as maybe, K as assertNever, L as require__isKey, M as require_eq, N as require__getNative, O as require__castPath, P as require__toSource, R as require_isSymbol, S as resolveCellsThunk, T as require_isLength, U as require__freeGlobal, V as require__Symbol, W as require_isArray, _ as isEditableGridCell, a as mergeAndRealizeTheme, b as isReadWriteCell, c as withAlpha, d as CompactSelection, f as GridCellKind, g as booleanCellIsEditable, h as InnerGridCellKind, i as makeCSSStyle, j as require__ListCache, k as require__MapCache, l as BooleanEmpty, m as GridColumnMenuIcon, n as ThemeContext, o as blend, p as GridColumnIcon, q as deepEqual, r as getDataEditorTheme, s as blendCache, t as ClickOutsideContainer, u as BooleanIndeterminate, v as isInnerOnlyCell, w as require__toKey, x as isSizedGridColumn, y as isObjectEditorCallbackResult, z as require_isObjectLike } from "./click-outside-container-CKfwEZqH.js";
16
16
  import { t as styled_default } from "./dist-COpDrwi-.js";
17
17
  let GlideDataEditor, glide_data_editor_default;
package/dist/main.js CHANGED
@@ -23,11 +23,11 @@ import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
23
23
  import { n as Copy, r as toast, t as copyToClipboard } from "./copy-BkBF0Xgk.js";
24
24
  import { _ as require_cjs$1, c as markdownLineEnding, d as SKIP, f as visitParents, g as s$2, h as h$1, l as longestStreak, m as webNamespaces, o as xn$1, p as convert$1, s as factorySpace, u as ok, __tla as __tla_0 } from "./chunk-5FQGJX7Z-BkzUmppO.js";
25
25
  import { a as Content$3, c as useSize, i as Arrow, l as createLucideIcon, o as Root2$6, r as Anchor, s as createPopperScope, t as Root$5 } from "./dist-WIWVvdBh.js";
26
- import { A as useOnMount, B as Table$1, C as DEFAULT_COLOR_SCHEME, D as SCALE_TYPE_DESCRIPTIONS, E as EMPTY_VALUE$1, F as $896ba0a80a8f4d36$export$85fd5fdf27bacc79, G as ChartColumn, H as ListFilter, I as $fb18d541ea1ad717$export$ad991b66133851cf, K as Calendar, L as $5a387cc49350e6db$export$722debc0e56fea39, M as Badge, N as createReducerAndAtoms, O as TIME_UNIT_DESCRIPTIONS, P as startCase_default, R as Type, S as DEFAULT_AGGREGATION, T as DEFAULT_TIME_UNIT, U as Hash, V as SquareFunction, W as ChartPie, _ as AGGREGATION_TYPE_DESCRIPTIONS, a as AGGREGATION_FNS$1, b as COLOR_SCHEMES, c as COLOR_BY_FIELDS, d as NONE_VALUE, f as SELECTABLE_DATA_TYPES, g as TIME_UNITS, h as STRING_AGGREGATION_FNS, i as convertDataTypeToSelectable, j as useOnUnmount, k as escapeFieldName, l as COMBINED_TIME_UNITS, m as SORT_TYPES, n as createSpecWithoutData, o as BIN_AGGREGATION, p as SINGLE_TIME_UNITS, r as isFieldSet, s as CHART_TYPES, t as augmentSpecWithData, u as ChartType, v as AGGREGATION_TYPE_ICON, w as DEFAULT_MAX_BINS_FACET, x as COUNT_FIELD, y as CHART_TYPE_ICON, z as ToggleLeft } from "./spec-DOGtAWuU.js";
26
+ import { A as useOnMount, B as Table$1, C as DEFAULT_COLOR_SCHEME, D as SCALE_TYPE_DESCRIPTIONS, E as EMPTY_VALUE$1, F as $896ba0a80a8f4d36$export$85fd5fdf27bacc79, G as ChartColumn, H as ListFilter, I as $fb18d541ea1ad717$export$ad991b66133851cf, K as Calendar, L as $5a387cc49350e6db$export$722debc0e56fea39, M as Badge, N as createReducerAndAtoms, O as TIME_UNIT_DESCRIPTIONS, P as startCase_default, R as Type, S as DEFAULT_AGGREGATION, T as DEFAULT_TIME_UNIT, U as Hash, V as SquareFunction, W as ChartPie, _ as AGGREGATION_TYPE_DESCRIPTIONS, a as AGGREGATION_FNS$1, b as COLOR_SCHEMES, c as COLOR_BY_FIELDS, d as NONE_VALUE, f as SELECTABLE_DATA_TYPES, g as TIME_UNITS, h as STRING_AGGREGATION_FNS, i as convertDataTypeToSelectable, j as useOnUnmount, k as escapeFieldName, l as COMBINED_TIME_UNITS, m as SORT_TYPES, n as createSpecWithoutData, o as BIN_AGGREGATION, p as SINGLE_TIME_UNITS, r as isFieldSet, s as CHART_TYPES, t as augmentSpecWithData, u as ChartType, v as AGGREGATION_TYPE_ICON, w as DEFAULT_MAX_BINS_FACET, x as COUNT_FIELD, y as CHART_TYPE_ICON, z as ToggleLeft } from "./spec-CbYkiXG3.js";
27
27
  import { t as Check } from "./check-DpqPQmzz.js";
28
28
  import { A as $a916eb452884faea$export$b7a616150fdb9f44, C as useDirection, D as assertNever, E as usePrevious$1, I as X, M as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7, N as $18f2051aff69b9bf$export$a54013f0d02a8f82, O as logNever, P as $b5e257d569688ac6$export$535bd6ca7f90a273, R as ChevronDown, S as Trigger$5, T as clamp$2, _ as menuItemVariants, a as SelectGroup, b as menuSubTriggerVariants, c as SelectSeparator, d as NativeSelect, f as selectStyles, g as menuControlVariants, h as menuControlCheckVariants, i as SelectContent, j as $488c6ddbf4ef74c2$export$cc77c4ff7e8673c5, l as SelectTrigger, m as menuContentCommon, n as Primitive$1, o as SelectItem, p as MENU_ITEM_DISABLED, r as Select, s as SelectLabel, t as Label, u as SelectValue, v as menuLabelVariants, w as createCollection, x as Icon, y as menuSeparatorVariants } from "./label-BLDcDYdI.js";
29
- import { $ as $d2b4bc8c273e7be6$export$24d547caef80ccd1, $t as $c87311424ea30a05$export$a11b0059900ceec8, A as Portal$2, At as $fca6afa0e843324b$export$87b761675e8eaa10, B as Root$6, Bt as $ae1eeba8b9eafd08$export$5165eccb35aaadb5, C as Arrow2, Ct as $e5be200c675c3b3a$export$aca958c65c314e6c, D as Item2$2, Dt as $f7dceffc5ad7768b$export$4e328f61c538687f, E as Group$1, Et as $319e236875307eab$export$a9b970dcc4ae71a9, F as Sub, Ft as $9ab94262bd0047c7$export$420e68273165f4ec, G as $3985021b0ad6602f$export$f5b8910cec6cf069, Gt as $99facab73266f662$export$5add1d006293d136, H as ErrorBoundary, Ht as $458b0a5536c1a7cf$export$40bfa8c7b0832715, I as SubContent, It as $3ad3f6e1647bc98d$export$80f3e147d781571c, J as $d3e0e05bdfcf66bd$export$c24727297075ec6a, Jt as $df56164dff5785e2$export$4338b53315abf666, K as $a049562f99e7db0e$export$eb2fcfdbd7ba97d4, Kt as $e9faafb641e167db$export$90fc3a17d93f704c, L as SubTrigger, Lt as $507fabe10e71c6fb$export$630ff653c5ada6a9, M as RadioItem, Mt as $6db58dc88e78b024$export$2f817fcdc4b89ae0, N as Root3, Nt as $5b160d28a433310d$export$c17fa47878dc55b6, O as ItemIndicator, Ot as $701a24aa0da5b062$export$ea18c227d4417cc3, P as Separator, Pt as $6179b936705e76d3$export$ae780daf29e6d456, Q as $514c0188e459b4c0$export$9afb8bc826b033ea, Qt as $c87311424ea30a05$export$9ac100e40613ea10, R as createMenuScope, Rt as $f6c31cce2adf654f$export$45712eceda6fad21, S as Anchor2, St as $e5be200c675c3b3a$export$a763b9476acd3eb, T as Content2$3, Tt as $e5be200c675c3b3a$export$fc1a364ae1f3ff10, U as require_prop_types, Ut as $b4b717babfbb907b$export$4c063cf1350e6fed, V as createRovingFocusGroupScope, Vt as $9446cca9a3875146$export$7d15b64cf5a3a4c4, W as $3985021b0ad6602f$export$37fb8590cf2c088c, Wt as $b4b717babfbb907b$export$bebd5a1431fec25d, X as $ee014567cb39d3f0$export$ff05c3ac10437e03, Xt as $c87311424ea30a05$export$6446a186d09e379e, Y as $ee014567cb39d3f0$export$f551688fc98f2e09, Yt as $313b98861ee5dd6c$export$d6875122194c7b44, Z as $514c0188e459b4c0$export$5f1af8db9871e1d6, Zt as $c87311424ea30a05$export$78551043582a6a98, _ as DropdownMenuSeparator, _n as Plus, _t as capitalize_default, a as OnBlurredInput, an as $d4ee10de306f2510$export$b4f377a2b6254582, at as $64fa3d84918910a7$export$29f1550f4b0d4415, b as DropdownMenuSubTrigger, bn as ChevronRight, bt as $e93e671b31057976$export$b8473d3665f3a75a, c as prettyEngineeringNumber, cn as $f4e2df6bd15f8569$export$98658e8c59125e6a, ct as $64fa3d84918910a7$export$c245e6201fed2f75, d as DropdownMenu, dn as $ff5963eb1fccf552$export$e08e3b67e392101e, dt as $64fa3d84918910a7$export$ef03459518577ad4, en as $c87311424ea30a05$export$fedb369cb70207f1, et as $d2b4bc8c273e7be6$export$353f5b6fc5456de1, f as DropdownMenuContent, fn as $bdb11010cef70236$export$b4cc09c592e8fdb8, ft as $64fa3d84918910a7$export$fabf2dc03a41866e, g as DropdownMenuPortal, gn as Search, gt as useDebouncedCallback, h as DropdownMenuLabel, hn as Trash, ht as useDebounceControlledState, i as Input, in as $d4ee10de306f2510$export$4282f70798064fe0, it as $64fa3d84918910a7$export$2881499e37b75b9a, j as RadioGroup$2, jt as $fca6afa0e843324b$export$f12b703ca79dfbb1, k as Label$2, kt as $6c7bd7858deea686$export$cd11ab140839f11d, l as prettyNumber, ln as $431fbd86ca7dc216$export$b204af158042fbac, lt as $64fa3d84918910a7$export$c62b8e45d58ddad9, m as DropdownMenuItem, mn as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c, mt as marked, n as DebouncedInput, nn as $65484d02dcb7eb3e$export$457c3d6518dd4c6f, nt as $01b77f81d0f07f68$export$b04be29aa201d4f5, o as NumberField, on as $d4ee10de306f2510$export$cd4e5573fbe2b576, ot as $64fa3d84918910a7$export$4d86445c2cf5e3, p as DropdownMenuGroup, pn as $bdb11010cef70236$export$f680877a34711e37, pt as useNonce, q as $a049562f99e7db0e$export$f9c6924e160136d1, qt as $8ae05eaa5c114e9c$export$7f54fc3180508a52, r as DebouncedNumberInput, rn as $3ef42575df84b30b$export$9d1611c77c2fe928, rt as $f39a9eba43920ace$export$b5d7cc18bb8d2b59, s as maxFractionalDigits, sn as $d4ee10de306f2510$export$e58f029f0fbfdb29, st as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, t as BulkEdit, tn as $7215afc6de606d6b$export$de79e2c695e052f3, tt as $01b77f81d0f07f68$export$75b6ee27786ba447, u as prettyScientificNumber, un as $431fbd86ca7dc216$export$f21a1ffae260145a, ut as $64fa3d84918910a7$export$df3a06d6289f983e, v as DropdownMenuSub, vn as Pencil, vt as $d2e8511e6f209edf$export$e908e06f4b8e3402, w as CheckboxItem, wt as $e5be200c675c3b3a$export$dad6ae84456c676a, x as DropdownMenuTrigger, xt as $e5be200c675c3b3a$export$75ee7c75d68f5b0e, y as DropdownMenuSubContent, yn as Circle, yt as $2baaea4c71418dea$export$294aa081a6c6f55d, z as Item$2, zt as _class_private_field_init } from "./types-Dzga1074.js";
30
- import { S as CircleQuestionMark, _ as isUrl, a as AlertTitle, b as Deferred, c as constructFrom, d as millisecondsInMinute, f as millisecondsInSecond, g as appendQueryParams, h as getRuntimeManager, i as AlertDescription, l as millisecondsInDay, m as asRemoteURL, n as arrow, o as isValid$1, p as millisecondsInWeek, r as Alert, s as toDate, t as useDeepCompareMemoize, u as millisecondsInHour, v as require_cuid2, x as isWasm, y as waitForConnectionOpen } from "./useDeepCompareMemoize-CpGehmfj.js";
29
+ import { $ as $d2b4bc8c273e7be6$export$24d547caef80ccd1, $t as $c87311424ea30a05$export$a11b0059900ceec8, A as Portal$2, At as $fca6afa0e843324b$export$87b761675e8eaa10, B as Root$6, Bt as $ae1eeba8b9eafd08$export$5165eccb35aaadb5, C as Arrow2, Ct as $e5be200c675c3b3a$export$aca958c65c314e6c, D as Item2$2, Dt as $f7dceffc5ad7768b$export$4e328f61c538687f, E as Group$1, Et as $319e236875307eab$export$a9b970dcc4ae71a9, F as Sub, Ft as $9ab94262bd0047c7$export$420e68273165f4ec, G as $3985021b0ad6602f$export$f5b8910cec6cf069, Gt as $99facab73266f662$export$5add1d006293d136, H as ErrorBoundary, Ht as $458b0a5536c1a7cf$export$40bfa8c7b0832715, I as SubContent, It as $3ad3f6e1647bc98d$export$80f3e147d781571c, J as $d3e0e05bdfcf66bd$export$c24727297075ec6a, Jt as $df56164dff5785e2$export$4338b53315abf666, K as $a049562f99e7db0e$export$eb2fcfdbd7ba97d4, Kt as $e9faafb641e167db$export$90fc3a17d93f704c, L as SubTrigger, Lt as $507fabe10e71c6fb$export$630ff653c5ada6a9, M as RadioItem, Mt as $6db58dc88e78b024$export$2f817fcdc4b89ae0, N as Root3, Nt as $5b160d28a433310d$export$c17fa47878dc55b6, O as ItemIndicator, Ot as $701a24aa0da5b062$export$ea18c227d4417cc3, P as Separator, Pt as $6179b936705e76d3$export$ae780daf29e6d456, Q as $514c0188e459b4c0$export$9afb8bc826b033ea, Qt as $c87311424ea30a05$export$9ac100e40613ea10, R as createMenuScope, Rt as $f6c31cce2adf654f$export$45712eceda6fad21, S as Anchor2, St as $e5be200c675c3b3a$export$a763b9476acd3eb, T as Content2$3, Tt as $e5be200c675c3b3a$export$fc1a364ae1f3ff10, U as require_prop_types, Ut as $b4b717babfbb907b$export$4c063cf1350e6fed, V as createRovingFocusGroupScope, Vt as $9446cca9a3875146$export$7d15b64cf5a3a4c4, W as $3985021b0ad6602f$export$37fb8590cf2c088c, Wt as $b4b717babfbb907b$export$bebd5a1431fec25d, X as $ee014567cb39d3f0$export$ff05c3ac10437e03, Xt as $c87311424ea30a05$export$6446a186d09e379e, Y as $ee014567cb39d3f0$export$f551688fc98f2e09, Yt as $313b98861ee5dd6c$export$d6875122194c7b44, Z as $514c0188e459b4c0$export$5f1af8db9871e1d6, Zt as $c87311424ea30a05$export$78551043582a6a98, _ as DropdownMenuSeparator, _n as Plus, _t as capitalize_default, a as OnBlurredInput, an as $d4ee10de306f2510$export$b4f377a2b6254582, at as $64fa3d84918910a7$export$29f1550f4b0d4415, b as DropdownMenuSubTrigger, bn as ChevronRight, bt as $e93e671b31057976$export$b8473d3665f3a75a, c as prettyEngineeringNumber, cn as $f4e2df6bd15f8569$export$98658e8c59125e6a, ct as $64fa3d84918910a7$export$c245e6201fed2f75, d as DropdownMenu, dn as $ff5963eb1fccf552$export$e08e3b67e392101e, dt as $64fa3d84918910a7$export$ef03459518577ad4, en as $c87311424ea30a05$export$fedb369cb70207f1, et as $d2b4bc8c273e7be6$export$353f5b6fc5456de1, f as DropdownMenuContent, fn as $bdb11010cef70236$export$b4cc09c592e8fdb8, ft as $64fa3d84918910a7$export$fabf2dc03a41866e, g as DropdownMenuPortal, gn as Search, gt as useDebouncedCallback, h as DropdownMenuLabel, hn as Trash, ht as useDebounceControlledState, i as Input, in as $d4ee10de306f2510$export$4282f70798064fe0, it as $64fa3d84918910a7$export$2881499e37b75b9a, j as RadioGroup$2, jt as $fca6afa0e843324b$export$f12b703ca79dfbb1, k as Label$2, kt as $6c7bd7858deea686$export$cd11ab140839f11d, l as prettyNumber, ln as $431fbd86ca7dc216$export$b204af158042fbac, lt as $64fa3d84918910a7$export$c62b8e45d58ddad9, m as DropdownMenuItem, mn as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c, mt as marked, n as DebouncedInput, nn as $65484d02dcb7eb3e$export$457c3d6518dd4c6f, nt as $01b77f81d0f07f68$export$b04be29aa201d4f5, o as NumberField, on as $d4ee10de306f2510$export$cd4e5573fbe2b576, ot as $64fa3d84918910a7$export$4d86445c2cf5e3, p as DropdownMenuGroup, pn as $bdb11010cef70236$export$f680877a34711e37, pt as useNonce, q as $a049562f99e7db0e$export$f9c6924e160136d1, qt as $8ae05eaa5c114e9c$export$7f54fc3180508a52, r as DebouncedNumberInput, rn as $3ef42575df84b30b$export$9d1611c77c2fe928, rt as $f39a9eba43920ace$export$b5d7cc18bb8d2b59, s as maxFractionalDigits, sn as $d4ee10de306f2510$export$e58f029f0fbfdb29, st as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, t as BulkEdit, tn as $7215afc6de606d6b$export$de79e2c695e052f3, tt as $01b77f81d0f07f68$export$75b6ee27786ba447, u as prettyScientificNumber, un as $431fbd86ca7dc216$export$f21a1ffae260145a, ut as $64fa3d84918910a7$export$df3a06d6289f983e, v as DropdownMenuSub, vn as Pencil, vt as $d2e8511e6f209edf$export$e908e06f4b8e3402, w as CheckboxItem, wt as $e5be200c675c3b3a$export$dad6ae84456c676a, x as DropdownMenuTrigger, xt as $e5be200c675c3b3a$export$75ee7c75d68f5b0e, y as DropdownMenuSubContent, yn as Circle, yt as $2baaea4c71418dea$export$294aa081a6c6f55d, z as Item$2, zt as _class_private_field_init } from "./types-0FB-N7AA.js";
30
+ import { S as CircleQuestionMark, _ as isUrl, a as AlertTitle, b as Deferred, c as constructFrom, d as millisecondsInMinute, f as millisecondsInSecond, g as appendQueryParams, h as getRuntimeManager, i as AlertDescription, l as millisecondsInDay, m as asRemoteURL, n as arrow, o as isValid$1, p as millisecondsInWeek, r as Alert, s as toDate, t as useDeepCompareMemoize, u as millisecondsInHour, v as require_cuid2, x as isWasm, y as waitForConnectionOpen } from "./useDeepCompareMemoize-DLS-bHHT.js";
31
31
  import { n as clsx_default } from "./clsx-D2KVTYnW.js";
32
32
  import { _ as Functions, a as cva, c as isPlatformMac, d as Objects, f as useEventListener, g as Logger, h as Events, l as parseShortcut, m as useComposedRefs, n as buttonVariants, o as NOT_SET, p as composeRefs, r as Slot$1, t as Button, v as throwNotImplemented, y as cn } from "./button-DQpBib29.js";
33
33
  import { $ as __awaiter, A as custom, B as record, C as ZodUnion$1, D as any, E as _null, F as nan, G as unknown, H as string, I as never, J as toJSONSchema, K as safeParseAsync, L as number, M as lazy$4, N as literal, O as array, P as looseObject, Q as prettifyError, R as object$1, S as ZodType$1, T as _instanceof, U as tuple, V as strictObject, W as union, X as parseAsync, Y as parse$3, Z as $ZodError, _ as ZodLiteral$1, _t as createContextScope, a as zod_default, at as useControllableState, b as ZodOptional$1, c as string$1, ct as useId$12, d as ZodArray$1, dt as useCallbackRef, et as MAX_HEIGHT_OFFSET, f as ZodBoolean$1, ft as Primitive, g as ZodEnum$1, h as ZodDiscriminatedUnion$1, i as useFocusGuards, it as StyleNamespace, j as discriminatedUnion, k as boolean, l as ZodIssueCode$1, lt as useLayoutEffect2, m as ZodDefault$1, mt as createSlot, n as hideOthers, nt as withSmartCollisionBoundary, o as date, ot as Presence, p as ZodDate$1, pt as dispatchDiscreteCustomEvent, q as ZodError$1, r as FocusScope, rt as isInVscodeExtension, s as number$1, st as Portal, t as Combination_default, tt as withFullScreenAsRoot, u as ZodAny$1, ut as DismissableLayer, v as ZodNumber$1, vt as composeEventHandlers$1, w as _enum, x as ZodString$1, y as ZodObject$1, z as optional } from "./Combination-Dk6JxauT.js";
@@ -40,7 +40,7 @@ import { i as get_default } from "./hasIn-B9AbGLj3.js";
40
40
  import { n as pick_default, t as range_default } from "./range-BKaWvVUE.js";
41
41
  import { i as debounce_default, r as KnownQueryParams, t as CSSClasses } from "./constants-CytQ_3LM.js";
42
42
  import { t as isEmpty_default } from "./isEmpty-C-xMag79.js";
43
- import { C as useEvent_default, S as getBuildingBlocks, _ as useSetAtom, a as getResolvedMarimoConfig, c as AppConfigSchema, d as useJotaiEffect, g as useAtomValue, h as useAtom, i as autoInstantiateAtom, l as createDeepEqualAtom, m as Provider, n as useTheme, o as localeAtom, p as isIslands, r as aiEnabledAtom, s as useResolvedMarimoConfig, t as resolvedThemeAtom, u as store, v as useStore, w as isEqual_default, x as buildStore, y as atom } from "./useTheme-BAtPEkUJ.js";
43
+ import { C as useEvent_default, S as getBuildingBlocks, _ as useSetAtom, a as getResolvedMarimoConfig, c as AppConfigSchema, d as useJotaiEffect, g as useAtomValue, h as useAtom, i as autoInstantiateAtom, l as createDeepEqualAtom, m as Provider, n as useTheme, o as localeAtom, p as isIslands, r as aiEnabledAtom, s as useResolvedMarimoConfig, t as resolvedThemeAtom, u as store, v as useStore, w as isEqual_default, x as buildStore, y as atom } from "./useTheme-D0rdoMBF.js";
44
44
  import { a as tooltipHandler, n as vegaLoadData, r as createBatchedLoader, t as parseCsvData } from "./loader-DsE3MiYo.js";
45
45
  import { $ as ViewPlugin, At as Prec, B as tags$1, Dt as EditorState, E as getIndentUnit, Et as EditorSelection, Ft as StateField, I as syntaxTree, It as Text$2, J as parseMixed, L as unfoldAll, Lt as Transaction, Ot as Facet$1, Pt as StateEffect, Q as GutterMarker, S as foldInside, Tt as Compartment, Y as Decoration, Z as EditorView, b as foldAll, dt as keymap, et as WidgetType, f as StreamLanguage, jt as RangeSet, l as LanguageDescription, mt as placeholder, ot as gutter, u as LanguageSupport, ut as hoverTooltip, vt as showPanel, w as foldNodeProp, xt as Annotation, yt as showTooltip } from "./dist-DOoqn-VL.js";
46
46
  import { t as invariant } from "./invariant-D9QLJ4SZ.js";
@@ -59,7 +59,7 @@ import { t as purify } from "./purify.es-DGenX2XH.js";
59
59
  import { a as Portal$3, c as prettyError, i as Overlay, n as ErrorBanner, o as Root$7, r as Content$4, s as CellNotInitializedError, t as Banner } from "./error-banner-BctofTCP.js";
60
60
  import { n as memoize$1, t as isPropValid } from "./emotion-is-prop-valid.esm-DtW2o230.js";
61
61
  import { n as formats } from "./vega-loader.browser-CQ-lnUkI.js";
62
- import { t as useAsyncData } from "./useAsyncData-BlSPOmJU.js";
62
+ import { t as useAsyncData } from "./useAsyncData-D7-oahg5.js";
63
63
  import "./defaultLocale-Bklbu-Tp.js";
64
64
  import "./defaultLocale-CfQ4kBaV.js";
65
65
  import { c as katex } from "./katex-Bk_FvVSR.js";
@@ -11701,6 +11701,7 @@ ${d.join("\n")}`;
11701
11701
  function sanitizeBigInt(e) {
11702
11702
  return typeof e == "object" && e && "$bigint" in e && typeof e.$bigint == "string" ? BigInt(e.$bigint) : e;
11703
11703
  }
11704
+ const OBJECT_ID_ATTR = "object-id", RANDOM_ID_ATTR = "random-id";
11704
11705
  var lowercase = "abcdefghijklmnopqrstuvwxyz", alphabet = lowercase + lowercase.toUpperCase(), seen = /* @__PURE__ */ new Set();
11705
11706
  const SCRATCH_CELL_ID = "__scratch__", SETUP_CELL_ID = "setup", CellId = {
11706
11707
  create() {
@@ -11740,7 +11741,7 @@ ${d.join("\n")}`;
11740
11741
  }
11741
11742
  const UIElementId = {
11742
11743
  parse(e) {
11743
- return e.getAttribute("object-id");
11744
+ return e.getAttribute(OBJECT_ID_ATTR);
11744
11745
  },
11745
11746
  parseOrThrow(e) {
11746
11747
  let r = UIElementId.parse(e);
@@ -27084,7 +27085,7 @@ ${c.sqlString}
27084
27085
  rtc_v2: false,
27085
27086
  cache_panel: false,
27086
27087
  external_agents: false,
27087
- storage_inspector: false
27088
+ storage_inspector: true
27088
27089
  };
27089
27090
  function getFeatureFlag(e) {
27090
27091
  var _a3, _b5;
@@ -61588,7 +61589,7 @@ ${O}`,
61588
61589
  }
61589
61590
  static get observedAttributes() {
61590
61591
  return [
61591
- "random-id"
61592
+ RANDOM_ID_ATTR
61592
61593
  ];
61593
61594
  }
61594
61595
  attributeChangedCallback(e2, r, c) {
@@ -61969,7 +61970,7 @@ ${O}`,
61969
61970
  }), r[7] = f2, r[8] = _2), _2;
61970
61971
  }
61971
61972
  let w;
61972
- r[9] === e.host ? w = r[10] : (w = (_a3 = e.host.closest("[random-id]")) == null ? void 0 : _a3.getAttribute("random-id"), r[9] = e.host, r[10] = w);
61973
+ r[9] === e.host ? w = r[10] : (w = (_a3 = e.host.closest(`[${RANDOM_ID_ATTR}]`)) == null ? void 0 : _a3.getAttribute(RANDOM_ID_ATTR), r[9] = e.host, r[10] = w);
61973
61974
  let E = w ?? c, O;
61974
61975
  return r[11] !== _ || r[12] !== y.default || r[13] !== E || r[14] !== f ? (O = (0, import_jsx_runtime.jsx)(LoadedSlot, {
61975
61976
  widget: y.default,
@@ -70719,7 +70720,7 @@ Image URL: ${r.imageUrl}`)), contextToXml({
70719
70720
  return Logger.warn("Failed to get version from mount config"), null;
70720
70721
  }
70721
70722
  }
70722
- const marimoVersionAtom = atom(getVersionFromMountConfig() || "0.20.5-dev70"), showCodeInRunModeAtom = atom(true);
70723
+ const marimoVersionAtom = atom(getVersionFromMountConfig() || "0.20.5-dev75"), showCodeInRunModeAtom = atom(true);
70723
70724
  atom(null);
70724
70725
  var import_compiler_runtime$89 = require_compiler_runtime();
70725
70726
  function useKeydownOnElement(e, r) {
@@ -72281,7 +72282,7 @@ Image URL: ${r.imageUrl}`)), contextToXml({
72281
72282
  function getVegaFieldTypes(e) {
72282
72283
  return !e || Object.keys(e).length === 0 ? "auto" : Objects.mapValues(e, (e2) => e2 === "date" || e2 === "time" ? "string" : e2 === "datetime" ? "date" : e2);
72283
72284
  }
72284
- var import_compiler_runtime$82 = require_compiler_runtime(), LazyDataEditor = import_react.lazy(() => import("./glide-data-editor-DAqhWGKz.js").then(async (m2) => {
72285
+ var import_compiler_runtime$82 = require_compiler_runtime(), LazyDataEditor = import_react.lazy(() => import("./glide-data-editor-DqxJOnJk.js").then(async (m2) => {
72285
72286
  await m2.__tla;
72286
72287
  return m2;
72287
72288
  }));
@@ -81049,6 +81050,7 @@ ${c}
81049
81050
  children: (0, import_jsx_runtime.jsx)(LazyDataTableComponent, {
81050
81051
  isLazy: e.data.lazy,
81051
81052
  preload: e.data.preload,
81053
+ host: e.host,
81052
81054
  children: (0, import_jsx_runtime.jsx)(LoadingDataTableComponent, {
81053
81055
  ...e.data,
81054
81056
  ...e.functions,
@@ -81061,24 +81063,43 @@ ${c}
81061
81063
  })
81062
81064
  })
81063
81065
  }));
81066
+ var previewedTables = /* @__PURE__ */ new Map();
81067
+ function wasTablePreviewed(e, r) {
81068
+ return e != null && r != null && previewedTables.get(e) === r;
81069
+ }
81070
+ function markTablePreviewed(e, r) {
81071
+ e != null && r != null && previewedTables.set(e, r);
81072
+ }
81064
81073
  var LazyDataTableComponent = (e) => {
81065
- let r = (0, import_compiler_runtime$58.c)(1), { isLazy: c, children: d, preload: f } = e, [_, v] = (0, import_react.useState)(c && !f);
81066
- if (_) {
81074
+ var _a3;
81075
+ let r = (0, import_compiler_runtime$58.c)(13), { isLazy: c, children: d, preload: f, host: _ } = e, v, y, S, w;
81076
+ if (r[0] !== _ || r[1] !== c || r[2] !== f) {
81077
+ let e2 = _.closest(`[${OBJECT_ID_ATTR}]`);
81078
+ w = e2 ? UIElementId.parse(e2) : null, v = (_a3 = _.closest(`[${RANDOM_ID_ATTR}]`)) == null ? void 0 : _a3.getAttribute(RANDOM_ID_ATTR), y = import_react.useState, S = c && !f && !wasTablePreviewed(w, v), r[0] = _, r[1] = c, r[2] = f, r[3] = v, r[4] = y, r[5] = S, r[6] = w;
81079
+ } else v = r[3], y = r[4], S = r[5], w = r[6];
81080
+ let [E, O] = y(S);
81081
+ if (E) {
81067
81082
  let e2;
81068
- return r[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (e2 = (0, import_jsx_runtime.jsx)("div", {
81083
+ r[7] !== v || r[8] !== w ? (e2 = () => {
81084
+ markTablePreviewed(w, v), O(false);
81085
+ }, r[7] = v, r[8] = w, r[9] = e2) : e2 = r[9];
81086
+ let c2;
81087
+ r[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (c2 = (0, import_jsx_runtime.jsx)(Table2, {
81088
+ className: "mr-2 h-4 w-4"
81089
+ }), r[10] = c2) : c2 = r[10];
81090
+ let d2;
81091
+ return r[11] === e2 ? d2 = r[12] : (d2 = (0, import_jsx_runtime.jsx)("div", {
81069
81092
  className: "flex h-20 items-center justify-center",
81070
81093
  children: (0, import_jsx_runtime.jsxs)(Button, {
81071
81094
  variant: "outline",
81072
81095
  size: "xs",
81073
- onClick: () => v(false),
81096
+ onClick: e2,
81074
81097
  children: [
81075
- (0, import_jsx_runtime.jsx)(Table2, {
81076
- className: "mr-2 h-4 w-4"
81077
- }),
81098
+ c2,
81078
81099
  "Preview data"
81079
81100
  ]
81080
81101
  })
81081
- }), r[0] = e2) : e2 = r[0], e2;
81102
+ }), r[11] = e2, r[12] = d2), d2;
81082
81103
  }
81083
81104
  return d;
81084
81105
  };
@@ -82354,7 +82375,7 @@ ${c}
82354
82375
  fullWidth: y,
82355
82376
  children: G
82356
82377
  }), r[19] = y, r[20] = S, r[21] = c, r[22] = G, r[23] = q) : q = r[23], q;
82357
- }, LazyDataExplorerComponent = import_react.lazy(() => import("./ConnectedDataExplorerComponent-DzTQ52Zs.js"));
82378
+ }, LazyDataExplorerComponent = import_react.lazy(() => import("./ConnectedDataExplorerComponent-pQ4sWAoT.js"));
82358
82379
  const DataExplorerPlugin = createPlugin("marimo-data-explorer").withData(object$1({
82359
82380
  label: string().nullish(),
82360
82381
  data: string()
@@ -84467,7 +84488,7 @@ ${c}
84467
84488
  var PARENT_DIRECTORY = "..";
84468
84489
  const FileBrowser = ({ value: e, setValue: r, initialPath: c, selectionMode: d, multiple: f, label: _, restrictNavigation: v, list_directory: y, host: S }) => {
84469
84490
  var _a3;
84470
- let [E, O] = useInternalStateWithSync(c), [M, I] = (0, import_react.useState)("Select all"), [z, G] = (0, import_react.useState)(false), [q, IY] = (0, import_react.useState)(false), LY = (_a3 = S.closest("[random-id]")) == null ? void 0 : _a3.getAttribute("random-id"), { data: RY, error: zY, isPending: BY } = useAsyncData(() => y({
84491
+ let [E, O] = useInternalStateWithSync(c), [M, I] = (0, import_react.useState)("Select all"), [z, G] = (0, import_react.useState)(false), [q, IY] = (0, import_react.useState)(false), LY = (_a3 = S.closest(`[${RANDOM_ID_ATTR}]`)) == null ? void 0 : _a3.getAttribute(RANDOM_ID_ATTR), { data: RY, error: zY, isPending: BY } = useAsyncData(() => y({
84471
84492
  path: E
84472
84493
  }), [
84473
84494
  E,
@@ -93441,7 +93462,7 @@ ${c}
93441
93462
  return true;
93442
93463
  }
93443
93464
  }
93444
- var LazyVegaComponent = import_react.lazy(() => import("./vega-component-0KINBNtd.js")), VegaPlugin = class {
93465
+ var LazyVegaComponent = import_react.lazy(() => import("./vega-component-D2knjGgv.js")), VegaPlugin = class {
93445
93466
  constructor() {
93446
93467
  __publicField(this, "tagName", "marimo-vega");
93447
93468
  __publicField(this, "validator", object$1({
@@ -93764,7 +93785,7 @@ ${c}
93764
93785
  diagram: e.data.diagram
93765
93786
  });
93766
93787
  }
93767
- }, LazyMermaid = (0, import_react.lazy)(() => import("./mermaid-m5QS9ELR.js").then(async (m2) => {
93788
+ }, LazyMermaid = (0, import_react.lazy)(() => import("./mermaid-DkdSmFY8.js").then(async (m2) => {
93768
93789
  await m2.__tla;
93769
93790
  return m2;
93770
93791
  })), import_compiler_runtime$18 = require_compiler_runtime();
@@ -101391,7 +101412,7 @@ ${c}
101391
101412
  return extractIslandCodeFromEmbed(this);
101392
101413
  }
101393
101414
  connectedCallback() {
101394
- let r = this.querySelectorOrThrow(_l2.outputTagName).innerHTML, c = this.getOptionalEditor(), d = this.code, f = c ? () => `${UI_ELEMENT_REGISTRY.lookupValue(c.props["object-id"])}` : () => d;
101415
+ let r = this.querySelectorOrThrow(_l2.outputTagName).innerHTML, c = this.getOptionalEditor(), d = this.code, f = c ? () => `${UI_ELEMENT_REGISTRY.lookupValue(c.props[OBJECT_ID_ATTR])}` : () => d;
101395
101416
  this.root = import_client.createRoot(this), this.render(r, f, c);
101396
101417
  }
101397
101418
  render(e, r, c) {
@@ -101497,7 +101518,7 @@ ${r}
101497
101518
  return c ? parseIslandEditor(c.dataset.initialValue) : "";
101498
101519
  }
101499
101520
  const islandsInitializedAtom = atom(false), userTriedToInteractWithIslandsAtom = atom(false), shouldShowIslandsWarningIndicatorAtom = atom((e) => e(userTriedToInteractWithIslandsAtom) && e(islandsInitializedAtom) === false);
101500
- var worker_default = "/assets/worker-DUYMdbtA.js", IslandsPyodideBridge = class e {
101521
+ var worker_default = "/assets/worker-D10K3OOz.js", IslandsPyodideBridge = class e {
101501
101522
  constructor() {
101502
101523
  __publicField(this, "initialized", new Deferred());
101503
101524
  __publicField(this, "sendComponentValues", async (e2) => (await this.putControlRequest({
@@ -6,10 +6,10 @@ import "./Combination-Dk6JxauT.js";
6
6
  import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
7
7
  import "./react-dom-CqtLRVZP.js";
8
8
  import { t as isEmpty_default } from "./isEmpty-C-xMag79.js";
9
- import { n as useTheme } from "./useTheme-BAtPEkUJ.js";
9
+ import { n as useTheme } from "./useTheme-D0rdoMBF.js";
10
10
  import { t as purify } from "./purify.es-DGenX2XH.js";
11
11
  import { n as ErrorBanner } from "./error-banner-BctofTCP.js";
12
- import { t as useAsyncData } from "./useAsyncData-BlSPOmJU.js";
12
+ import { t as useAsyncData } from "./useAsyncData-D7-oahg5.js";
13
13
  import { a as decodeEntities, f as isDetailedError, g as utils_default, h as removeDirectives, i as cleanAndMerge, o as encodeEntities } from "./chunk-S3R3BYOJ-BRT9vd1R.js";
14
14
  import { a as setLogLevel, i as log, r as __name, t as select_default } from "./src-CHUphWwL.js";
15
15
  import { t as package_default } from "./chunk-DR5Q36YT-D4q96vNV.js";
@@ -7,7 +7,7 @@ import { a as cva, g as Logger, y as cn } from "./button-DQpBib29.js";
7
7
  import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
8
8
  import { t as toString_default } from "./toString-DbIAWQpF.js";
9
9
  import { t as _arrayReduce_default } from "./_arrayReduce-BfFy684W.js";
10
- import { _ as useSetAtom, y as atom } from "./useTheme-BAtPEkUJ.js";
10
+ import { _ as useSetAtom, y as atom } from "./useTheme-D0rdoMBF.js";
11
11
  var AlignCenterVertical = createLucideIcon("align-center-vertical", [
12
12
  ["path", {
13
13
  d: "M12 2v20",
@@ -15,7 +15,7 @@ import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
15
15
  import { t as require_react_dom } from "./react-dom-CqtLRVZP.js";
16
16
  import { t as toString_default } from "./toString-DbIAWQpF.js";
17
17
  import { i as debounce_default, n as Constants } from "./constants-CytQ_3LM.js";
18
- import { C as useEvent_default } from "./useTheme-BAtPEkUJ.js";
18
+ import { C as useEvent_default } from "./useTheme-D0rdoMBF.js";
19
19
  import { t as memoizeLastValue } from "./once-BqS42WgZ.js";
20
20
  var ChevronRight = createLucideIcon("chevron-right", [["path", {
21
21
  d: "m9 18 6-6-6-6",
@@ -1,7 +1,7 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { C as useEvent_default } from "./useTheme-BAtPEkUJ.js";
4
+ import { C as useEvent_default } from "./useTheme-D0rdoMBF.js";
5
5
  import { t as invariant } from "./invariant-D9QLJ4SZ.js";
6
6
  var import_compiler_runtime = require_compiler_runtime(), import_react = /* @__PURE__ */ __toESM(require_react(), 1), Result = {
7
7
  error(e, s) {
@@ -8,7 +8,7 @@ import { l as createLucideIcon } from "./dist-WIWVvdBh.js";
8
8
  import { a as cva, g as Logger, y as cn } from "./button-DQpBib29.js";
9
9
  import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
10
10
  import { r as KnownQueryParams } from "./constants-CytQ_3LM.js";
11
- import { f as waitFor, p as isIslands, u as store, y as atom } from "./useTheme-BAtPEkUJ.js";
11
+ import { f as waitFor, p as isIslands, u as store, y as atom } from "./useTheme-D0rdoMBF.js";
12
12
  import { i as tableFromIPC } from "./loader-DsE3MiYo.js";
13
13
  var CircleQuestionMark = createLucideIcon("circle-question-mark", [
14
14
  ["circle", {
@@ -594,7 +594,8 @@ const UserConfigSchema = looseObject({
594
594
  }).prefault({}),
595
595
  experimental: looseObject({
596
596
  markdown: boolean().optional(),
597
- rtc: boolean().optional()
597
+ rtc: boolean().optional(),
598
+ storage_inspector: boolean().prefault(true)
598
599
  }).prefault(() => ({})),
599
600
  server: looseObject({ disable_file_downloads: boolean().optional() }).prefault(() => ({})),
600
601
  diagnostics: looseObject({
@@ -1,19 +1,19 @@
1
1
  import { s as __toESM } from "./chunk-BNovOVIE.js";
2
2
  import { t as require_react } from "./react-Bs6Z0kvn.js";
3
3
  import { t as require_compiler_runtime } from "./compiler-runtime-B_OLMU9S.js";
4
- import { S as CircleQuestionMark, a as AlertTitle, m as asRemoteURL, n as arrow, o as isValid, r as Alert, t as useDeepCompareMemoize } from "./useDeepCompareMemoize-CpGehmfj.js";
4
+ import { S as CircleQuestionMark, a as AlertTitle, m as asRemoteURL, n as arrow, o as isValid, r as Alert, t as useDeepCompareMemoize } from "./useDeepCompareMemoize-DLS-bHHT.js";
5
5
  import { d as Objects, g as Logger, h as Events } from "./button-DQpBib29.js";
6
6
  import "./Combination-Dk6JxauT.js";
7
7
  import { t as require_jsx_runtime } from "./jsx-runtime-CTBg5pdT.js";
8
8
  import "./react-dom-CqtLRVZP.js";
9
9
  import { t as Tooltip } from "./tooltip-SPkubVH3.js";
10
10
  import { i as debounce_default } from "./constants-CytQ_3LM.js";
11
- import { C as useEvent_default, n as useTheme } from "./useTheme-BAtPEkUJ.js";
11
+ import { C as useEvent_default, n as useTheme } from "./useTheme-D0rdoMBF.js";
12
12
  import { a as tooltipHandler, n as vegaLoadData } from "./loader-DsE3MiYo.js";
13
13
  import { t as uniq_default } from "./uniq-H2E5nMLq.js";
14
14
  import { n as ErrorBanner } from "./error-banner-BctofTCP.js";
15
15
  import { n as formats } from "./vega-loader.browser-CQ-lnUkI.js";
16
- import { t as useAsyncData } from "./useAsyncData-BlSPOmJU.js";
16
+ import { t as useAsyncData } from "./useAsyncData-D7-oahg5.js";
17
17
  import { t as j } from "./react-vega-C6kwcd86.js";
18
18
  import "./defaultLocale-Bklbu-Tp.js";
19
19
  import "./defaultLocale-CfQ4kBaV.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/islands",
3
- "version": "0.20.5-dev70",
3
+ "version": "0.20.5-dev75",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -8,7 +8,7 @@ import { type StorageConnection, StorageConnectionSchema } from "./schemas";
8
8
  export type StorageLibrary = "obstore" | "fsspec";
9
9
 
10
10
  export const StorageLibraryDisplayNames: Record<StorageLibrary, string> = {
11
- obstore: "Obstore",
11
+ obstore: "obstore",
12
12
  fsspec: "fsspec",
13
13
  };
14
14
 
@@ -555,7 +555,7 @@ export const StorageInspector: React.FC = () => {
555
555
  title="No storage connected"
556
556
  description={
557
557
  <span>
558
- Create an Obstore or fsspec connection in your notebook. See the{" "}
558
+ Create an obstore or fsspec connection in your notebook. See the{" "}
559
559
  <a
560
560
  className="text-link"
561
561
  href="https://docs.marimo.io/guides/working_with_data/remote_storage/#quick-start"
@@ -1,6 +1,7 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
  /* eslint-disable @typescript-eslint/no-redeclare */
3
3
 
4
+ import { OBJECT_ID_ATTR } from "@/core/dom/ui-element-constants";
4
5
  import { invariant } from "@/utils/invariant";
5
6
  import type { TypedString } from "../../utils/typed";
6
7
 
@@ -110,7 +111,7 @@ export function findCellId(element: HTMLElement): CellId | null {
110
111
  export type UIElementId = `${CellId}-${string}`;
111
112
  export const UIElementId = {
112
113
  parse(element: Element): UIElementId | null {
113
- return element.getAttribute("object-id") as UIElementId | null;
114
+ return element.getAttribute(OBJECT_ID_ATTR) as UIElementId | null;
114
115
  },
115
116
  parseOrThrow(element: Element): UIElementId {
116
117
  const id = UIElementId.parse(element);
@@ -70,7 +70,9 @@ test("default UserConfig - empty", () => {
70
70
  "reference_highlighting": true,
71
71
  "theme": "light",
72
72
  },
73
- "experimental": {},
73
+ "experimental": {
74
+ "storage_inspector": true,
75
+ },
74
76
  "formatting": {
75
77
  "line_length": 79,
76
78
  },
@@ -140,7 +142,9 @@ test("default UserConfig - one level", () => {
140
142
  "reference_highlighting": true,
141
143
  "theme": "light",
142
144
  },
143
- "experimental": {},
145
+ "experimental": {
146
+ "storage_inspector": true,
147
+ },
144
148
  "formatting": {
145
149
  "line_length": 79,
146
150
  },
@@ -186,6 +186,7 @@ export const UserConfigSchema = z
186
186
  .looseObject({
187
187
  markdown: z.boolean().optional(),
188
188
  rtc: z.boolean().optional(),
189
+ storage_inspector: z.boolean().prefault(true),
189
190
  // Add new experimental features here
190
191
  })
191
192
  // Pass through so that we don't remove any extra keys that the user has added.
@@ -21,7 +21,7 @@ const defaultValues: ExperimentalFeatures = {
21
21
  rtc_v2: false,
22
22
  cache_panel: false,
23
23
  external_agents: import.meta.env.DEV,
24
- storage_inspector: false,
24
+ storage_inspector: true,
25
25
  };
26
26
 
27
27
  export function getFeatureFlag<T extends keyof ExperimentalFeatures>(
@@ -0,0 +1,15 @@
1
+ /* Copyright 2026 Marimo. All rights reserved. */
2
+
3
+ /**
4
+ * Stable identifier for a UI element, deterministic across re-executions
5
+ * of the same cell (based on cell ID + creation order).
6
+ * Used to synchronize multiple instances and kernel state.
7
+ */
8
+ export const OBJECT_ID_ATTR = "object-id";
9
+
10
+ /**
11
+ * Random token that changes every time a UI element is constructed
12
+ * (i.e., every cell execution). Used to detect stale elements and
13
+ * force re-renders when a cell re-runs.
14
+ */
15
+ export const RANDOM_ID_ATTR = "random-id";
@@ -8,6 +8,7 @@ import {
8
8
  MarimoValueInputEvent,
9
9
  type MarimoValueInputEventType,
10
10
  } from "./events";
11
+ import { RANDOM_ID_ATTR } from "./ui-element-constants";
11
12
  import { UI_ELEMENT_REGISTRY } from "./uiregistry";
12
13
 
13
14
  import "./ui-element.css";
@@ -189,7 +190,7 @@ export function initializeUIElement() {
189
190
  // used like a React key. If the random-id changes, we need to unmount and
190
191
  // remount its child.
191
192
  static get observedAttributes() {
192
- return ["random-id"];
193
+ return [RANDOM_ID_ATTR];
193
194
  }
194
195
 
195
196
  attributeChangedCallback(
@@ -199,7 +200,7 @@ export function initializeUIElement() {
199
200
  ) {
200
201
  if (this.initialized) {
201
202
  const hasChanged = oldValue !== newValue;
202
- if (name === "random-id" && hasChanged) {
203
+ if (name === RANDOM_ID_ATTR && hasChanged) {
203
204
  // deregister/clean-up this instance
204
205
  this.disconnectedCallback();
205
206
  // remove and re-add its child to force it to re-render; note that
@@ -6,6 +6,7 @@ import ReactDOM, { type Root } from "react-dom/client";
6
6
  import { ErrorBoundary } from "@/components/editor/boundary/ErrorBoundary";
7
7
  import { TooltipProvider } from "@/components/ui/tooltip";
8
8
  import { notebookAtom } from "@/core/cells/cells";
9
+ import { OBJECT_ID_ATTR } from "@/core/dom/ui-element-constants";
9
10
  import { UI_ELEMENT_REGISTRY } from "@/core/dom/uiregistry";
10
11
  import { LocaleProvider } from "@/core/i18n/locale-provider";
11
12
  import { renderHTML } from "@/plugins/core/RenderHTML";
@@ -60,7 +61,7 @@ export class MarimoIslandElement extends HTMLElement {
60
61
  const codeCallback: () => string = optionalEditor
61
62
  ? () =>
62
63
  `${UI_ELEMENT_REGISTRY.lookupValue(
63
- optionalEditor.props["object-id"],
64
+ optionalEditor.props[OBJECT_ID_ATTR],
64
65
  )}`
65
66
  : () => code;
66
67
 
@@ -60,7 +60,11 @@ import { ContextAwarePanelItem } from "@/components/editor/chrome/panels/context
60
60
  import { Alert, AlertTitle } from "@/components/ui/alert";
61
61
  import { Button } from "@/components/ui/button";
62
62
  import { DelayMount } from "@/components/utils/delay-mount";
63
- import { type CellId, findCellId } from "@/core/cells/ids";
63
+ import { type CellId, findCellId, UIElementId } from "@/core/cells/ids";
64
+ import {
65
+ OBJECT_ID_ATTR,
66
+ RANDOM_ID_ATTR,
67
+ } from "@/core/dom/ui-element-constants";
64
68
  import { slotsController } from "@/core/slots/slots";
65
69
  import { store } from "@/core/state/jotai";
66
70
  import { isStaticNotebook } from "@/core/static/static-state";
@@ -361,6 +365,7 @@ export const DataTablePlugin = createPlugin<S>("marimo-table")
361
365
  <LazyDataTableComponent
362
366
  isLazy={props.data.lazy}
363
367
  preload={props.data.preload}
368
+ host={props.host}
364
369
  >
365
370
  <LoadingDataTableComponent
366
371
  {...props.data}
@@ -377,21 +382,66 @@ export const DataTablePlugin = createPlugin<S>("marimo-table")
377
382
  );
378
383
  });
379
384
 
385
+ /**
386
+ * Tracks which lazy tables have been previewed across remounts (e.g. tab switches).
387
+ * Keyed by uiElementId (stable across remounts) with randomId as value
388
+ * (changes on cell re-execution, so stale entries are naturally invalidated).
389
+ */
390
+ const previewedTables = new Map<UIElementId, string>();
391
+
392
+ function wasTablePreviewed(
393
+ uiElementId: UIElementId | null | undefined,
394
+ randomId: string | null | undefined,
395
+ ): boolean {
396
+ return (
397
+ uiElementId != null &&
398
+ randomId != null &&
399
+ previewedTables.get(uiElementId) === randomId
400
+ );
401
+ }
402
+
403
+ function markTablePreviewed(
404
+ uiElementId: UIElementId | null | undefined,
405
+ randomId: string | null | undefined,
406
+ ): void {
407
+ if (uiElementId != null && randomId != null) {
408
+ previewedTables.set(uiElementId, randomId);
409
+ }
410
+ }
411
+
380
412
  const LazyDataTableComponent = ({
381
413
  isLazy: initialIsLazy,
382
414
  children,
383
415
  preload,
416
+ host,
384
417
  }: {
385
418
  isLazy: boolean;
386
419
  children: React.ReactNode;
387
420
  preload: boolean;
421
+ host: HTMLElement;
388
422
  }) => {
389
- const [isLazy, setIsLazy] = useState(initialIsLazy && !preload);
423
+ const parentElement = host.closest(`[${OBJECT_ID_ATTR}]`);
424
+ const uiElementId = parentElement ? UIElementId.parse(parentElement) : null;
425
+
426
+ const randomId = host
427
+ .closest(`[${RANDOM_ID_ATTR}]`)
428
+ ?.getAttribute(RANDOM_ID_ATTR);
429
+
430
+ const [isLazy, setIsLazy] = useState(
431
+ initialIsLazy && !preload && !wasTablePreviewed(uiElementId, randomId),
432
+ );
390
433
 
391
434
  if (isLazy) {
392
435
  return (
393
436
  <div className="flex h-20 items-center justify-center">
394
- <Button variant="outline" size="xs" onClick={() => setIsLazy(false)}>
437
+ <Button
438
+ variant="outline"
439
+ size="xs"
440
+ onClick={() => {
441
+ markTablePreviewed(uiElementId, randomId);
442
+ setIsLazy(false);
443
+ }}
444
+ >
395
445
  <Table2Icon className="mr-2 h-4 w-4" />
396
446
  Preview data
397
447
  </Button>
@@ -15,6 +15,7 @@ import { Label } from "@/components/ui/label";
15
15
  import { NativeSelect } from "@/components/ui/native-select";
16
16
  import { Table, TableBody, TableCell, TableRow } from "@/components/ui/table";
17
17
  import { toast } from "@/components/ui/use-toast";
18
+ import { RANDOM_ID_ATTR } from "@/core/dom/ui-element-constants";
18
19
  import { useAsyncData } from "@/hooks/useAsyncData";
19
20
  import { useInternalStateWithSync } from "@/hooks/useInternalStateWithSync";
20
21
  import { cn } from "@/utils/cn";
@@ -150,7 +151,9 @@ export const FileBrowser = ({
150
151
 
151
152
  // HACK: use the random-id of the host element to force a re-render
152
153
  // when the random-id changes, this means the cell was re-rendered
153
- const randomId = host.closest("[random-id]")?.getAttribute("random-id");
154
+ const randomId = host
155
+ .closest(`[${RANDOM_ID_ATTR}]`)
156
+ ?.getAttribute(RANDOM_ID_ATTR);
154
157
 
155
158
  const { data, error, isPending } = useAsyncData(() => {
156
159
  return list_directory({ path: path });
@@ -4,6 +4,7 @@
4
4
  import type { AnyWidget } from "@anywidget/types";
5
5
  import { useEffect, useRef } from "react";
6
6
  import { z } from "zod";
7
+ import { RANDOM_ID_ATTR } from "@/core/dom/ui-element-constants";
7
8
  import { useAsyncData } from "@/hooks/useAsyncData";
8
9
  import type { HTMLElementNotDerivedFromRef } from "@/hooks/useEventListener";
9
10
  import { createPlugin } from "@/plugins/core/builder";
@@ -145,7 +146,9 @@ const AnyWidgetSlot = (props: IPluginProps<ModelIdRef, Data>) => {
145
146
  }
146
147
 
147
148
  // Find the closest parent element with an attribute of `random-id`
148
- const randomId = props.host.closest("[random-id]")?.getAttribute("random-id");
149
+ const randomId = props.host
150
+ .closest(`[${RANDOM_ID_ATTR}]`)
151
+ ?.getAttribute(RANDOM_ID_ATTR);
149
152
  const key = randomId ?? jsUrl;
150
153
 
151
154
  return (
@@ -1 +0,0 @@
1
- import{t as e}from"./worker-DUYMdbtA.js";var t=e(((e,t)=>{t.exports={}}));export default t();