varoe=Object.create;vark=Object.defineProperty;varae=Object.getOwnPropertyDescriptor;varse=Object.getOwnPropertyNames;varce=Object.getPrototypeOf,le=Object.prototype.hasOwnProperty;varf=(t,e)=>k(t,"name",{value:e,configurable:!0}),E=(t=>typeofrequire<"u"?require:typeofProxy<"u"?newProxy(t,{get:(e,c)=>(typeofrequire<"u"?require:e)[c]}):t)(function(t){if(typeofrequire<"u")returnrequire.apply(this,arguments);thrownewError('Dynamic require of "'+t+'" is not supported')});varT=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);varde=(t,e,c,o)=>{if(e&&typeofe=="object"||typeofe=="function")for(letaofse(e))!le.call(t,a)&&a!==c&&k(t,a,{get:()=>e[a],enumerable:!(o=ae(e,a))||o.enumerable});returnt};varfe=(t,e,c)=>(c=t!=null?oe(ce(t)):{},de(e||!t||!t.__esModule?k(c,"default",{value:t,enumerable:!0}):c,t));var$=T((R,U)=>{(function(t,e){"use strict";typeofdefine=="function"&&define.amd?define("stackframe",[],e):typeofR=="object"?U.exports=e():t.StackFrame=e()})(R,function(){"use strict";functiont(d){return!isNaN(parseFloat(d))&&isFinite(d)}f(t,"_isNumber");functione(d){returnd.charAt(0).toUpperCase()+d.substring(1)}f(e,"_capitalize");functionc(d){returnfunction(){returnthis[d]}}f(c,"_getter");varo=["isConstructor","isEval","isNative","isToplevel"],a=["columnNumber","lineNumber"],r=["fileName","functionName","source"],n=["args"],u=["evalOrigin"],i=o.concat(a,r,n,u);functions(d){if(d)for(vary=0;y<i.length;y++)d[i[y]]!==void0&&this["set"+e(i[y])](d[i[y]])}f(s,"StackFrame"),s.prototype={getArgs:function(){returnthis.args},setArgs:function(d){if(Object.prototype.toString.call(d)!=="[object Array]")thrownewTypeError("Args must be an Array");this.args=d},getEvalOrigin:function(){returnthis.evalOrigin},setEvalOrigin:function(d){if(dinstanceofs)this.evalOrigin=d;elseif(dinstanceofObject)this.evalOrigin=news(d);elsethrownewTypeError("Eval Origin must be an Object or StackFrame")},toString:function(){vard=this.getFileName()||"",y=this.getLineNumber()||"",h=this.getColumnNumber()||"",v=this.getFunctionName()||"";returnthis.getIsEval()?d?"[eval] ("+d+":"+y+":"+h+")":"[eval]:"+y+":"+h:v?v+" ("+d+":"+y+":"+h+")":d+":"+y+":"+h}},s.fromString=f(function(y){varh=y.indexOf("("),v=y.lastIndexOf(")"),ee=y.substring(0,h),te=y.substring(h+1,v).split(","),I=y.substring(v+1);if(I.indexOf("@")===0)varN=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(I,""),re=N[1],ne=N[2],ie=N[3];returnnews({functionName:ee,args:te||void0,fileName:re,lineNumber:ne||void0,columnNumber:ie||void0})},"StackFrame$$fromString");for(varl=0;l<o.length;l++)s.prototype["get"+e(o[l])]=c(o[l]),s.prototype["set"+e(o[l])]=function(d){returnfunction(y){this[d]=!!y}}(o[l]);for(varm=0;m<a.length;m++)s.prototype["get"+e(a[m])]=c(a[m]),s.prototype["set"+e(a[m])]=function(d){returnfunction(y){if(!t(y))thrownewTypeError(d+" must be a Number");this[d]=Number(y)}}(a[m]);for(varp=0;p<r.length;p++)s.prototype["get"+e(r[p])]=c(r[p]),s.prototype["set"+e(r[p])]=function(d){returnfunction(y){this[d]=String(y)}}(r[p]);returns})});varC=T((x,M)=>{(function(t,e){"use strict";typeofdefine=="function"&&define.amd?define("error-stack-parser",["stackframe"],e):typeofx=="object"?M.exports=e($()):t.ErrorStackParser=e(t.StackFrame)})(x,f(function(e){"use strict";varc=/(^|@)\S+:\d+/,o=/^\s*at .*(\S+:\d+|\(native\))/m,a=/^(eval@)?(\[native code])?$/;return{parse:f(function(n){if(typeofn.stacktrace<"u"||typeofn["opera#sourceloc"]<"u")returnthis.parseOpera(n);if(n.stack&&n.stack.match(o))returnthis.parseV8OrIE(n);if(n.stack)returnthis.parseFFOrSafari(n);thrownewError("Cannot parse given Error object")},"ErrorStackParser$$parse"),extractLocation:f(function(n){if(n.indexOf(":")===-1)return[n];varu=/(.+?)(?::(\d+))?(?::(\d+))?$/,i=u.exec(n.replace(/[()]/g,""));return[i[1],i[2]||void0,i[3]||void0]},"ErrorStackParser$$extractLocation"),parseV8OrIE:f(function(n){varu=n.stack.split(``).filter(function(i){return!!i.match(o)},this);returnu.map(function(i){i.indexOf("(eval ")>-1&&(i=i.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));vars=i.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),l=s.match(/ (\(.+\)$)/);s=l?s.replace(l[0],""):s;varm=this.extractLocation(l?l[1]:s),p=l&&s||void0,d=["eval","<anonymous>"].indexOf(m[0])>-1?void0:m[0];returnnewe({functionName:p,fileName:d,lineNumber:m[1],columnNumber:m[2],source:i})},this)},"ErrorStackParser$$parseV8OrIE"),parseFFOrSafari:f(function(n){varu=n.stack.split(``).filter(function(i){return!i.match(a)},this);returnu.map(function(i){if(i.indexOf(" > eval")>-1&&(i=i.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),i.indexOf("@")===-1&&i.indexOf(":")===-1)returnnewe({functionName:i});vars=/((.*".+"[^@]*)?[^@]*)(?:@)/,l=i.match(s),m=l&&l[1]?l[1]:void0,p=this.extractLocation(i.replace(s,""));returnnewe({functionName:m,fileName:p[0],lineNumber:p[1],columnNumber:p[2],source:i})},this)},"ErrorStackParser$$parseFFOrSafari"),parseOpera:f(function(n){return!n.stacktrace||n.message.indexOf(``)>-1&&n.message.split(``).length>n.stacktrace.split(``).length?this.parseOpera9(n):n.stack?this.parseOpera11(n):this.parseOpera10(n)},"ErrorStackParser$$parseOpera"),parseOpera9:f(function(n){for(varu=/Line (\d+).*script (?:in )?(\S+)/i,i=n.message.split(``),s=[],l=2,m=i.length;l<m;l+=2){varp=u.exec(i[l]);p&&s.push(newe({fileName:p[2],lineNumber:p[1],source:i[l]}))}returns},"ErrorStackParser$$parseOpera9"),parseOpera10:f(function(n){for(varu=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,i=n.stacktrace.split(``),s=[],l=0,m=i.length;l<m;l+=2){varp=u.exec(i[l]);p&&s.push(newe({functionName:p[3]||void0,fileName:p[2],lineNumber:p[1],source:i[l]}))}returns},"ErrorStackParser$$parseOpera10"),parseOpera11:f(function(n){varu=n.stack.split(``).filter(function(i){return!!i.match(c)&&!i.match(/^Error created at/)},this);returnu.map(function(i){vars=i.split("@"),l=this.extractLocation(s.pop()),m=s.shift()||"",p=m.replace(/<anonymous function(: (\w+))?>/,"$2").replace(/\([^)]*\)/g,"")||void0,d;m.match(/\(([^)]*)\)/)&&(d=m.replace(/^[^(]+\(([^)]*)\)$/,"$1"));vary=d===void0||d==="[arguments not available]"?void0:d.split(",");returnnewe({functionName:p,args:y,fileName:l[0],lineNumber:l[1],columnNumber:l[2],source:i})},this)},"ErrorStackParser$$parseOpera11")}},"ErrorStackParser"))});varz=fe(C());varg=typeofprocess=="object"&&typeofprocess.versions=="object"&&typeofprocess.versions.node=="string"&&typeofprocess.browser>"u",F=g&&typeofmodule<"u"&&typeofmodule.exports<"u"&&typeofE<"u"&&typeof__dirname<"u",j=g&&!F,ue=typeofDeno<"u",B=!g&&!ue,W=B&&typeofwindow<"u"&&typeofdocument<"u"&&typeofdocument.createElement<"u"&&typeofsessionStorage<"u",H=B&&typeofimportScripts<"u"&&typeofself<"u";varq,_,P,V,L,pe=`"fetch" is not defined, maybe you're using node < 18? From Pyodide >= 0.25.0, node >= 18 is required. Older versions of Node.js may work, but it is not guaranteed or supported. Falling back to "node-fetch".`;asyncfunctionD(){if(!g||(q=(awaitimport("url")).default,L=awaitimport("fs/promises"),globalThis.fetch?_=fetch:(console.warn(pe),_=(awaitimport("node-fetch")).default),V=(awaitimport("vm")).default,P=awaitimport("path"),A=P.sep,typeofE<"u"))return;lett=awaitimport("fs"),e=awaitimport("crypto"),c=awaitimport("ws"),o=awaitimport("child_process"),a={fs:t,crypto:e,ws:c,child_process:o};globalThis.require=function(r){returna[r]}}f(D,"initNodeModules");functionme(t,e){returnP.resolve(e||".",t)}f(me,"node_resolvePath");functionye(t,e){returne===void0&&(e=location),newURL(t,e).toString()}f(ye,"browser_resolvePath");varS;g?S=me:S=ye;varA;g||(A="/");functionge(t,e){returnt.startsWith("file://")&&(t=t.slice(7)),t.includes("://")?{response:_(t)}:{binary:L.readFile(t).then(c=>newUint8Array(c.buffer,c.byteOffset,c.byteLength))}}f(ge,"node_getBinaryResponse");functionhe(t,e){letc=newURL(t,location);return{response:fetch(c,e?{integrity:e}:{})}}f(he,"browser_getBinaryResponse");varb;g?b=ge:b=he;asyncfunctionG(t,e){let{response:c,binary:o}=b(t,e);if(o)returno;leta=awaitc;if(!a.ok)thrownewError(`Failed to load '${t}': request failed.`);returnnewUint8Array(awaita.arrayBuffer())}f(G,"loadBinaryFile");varw;if(W)w=f(asynct=>awaitimport(t),"loadScript");elseif(H)w=f(asynct=>{try{globalThis.importScripts(t)}catch(e){if(einstanceofTypeError)awaitimport(t);elsethrowe}},"loadScript");elseif(g)w=ve;elsethrownewError("Cannot determine runtime environment");asyncfunctionve(t){t.startsWith("file://")&&(t=t.slice(7)),t.includes("://")?V.runInThisContext(await(await_(t)).text()):awaitimport(q.pathToFileURL(t).href)}f(ve,"nodeLoadScript");asyncfunctionK(t){if(g){awaitD();lete=awaitL.readFile(t);returnJSON.parse(e)}elsereturnawait(awaitfetch(t)).json()}f(K,"loadLockFile");asyncfunctionX(){if(F)return__dirname;lett;try{thrownewError}catch(o){t=o}lete=z.default.parse(t)[0].fileName;if(j){leto=awaitimport("path");return(awaitimport("url")).fileURLToPath(o.dirname(e))}letc=e.lastIndexOf(A);if(c===-1)thrownewError("Could not extract indexURL path from pyodide module location");returne.slice(0,c)}f(X,"calculateDirname");functionJ(t){lete=t.FS,c=t.FS.filesystems.MEMFS,o=t.PATH,a={DIR_MODE:16895,FILE_MODE:33279,mount:function(r){if(!r.opts.fileSystemHandle)thrownewError("opts.fileSystemHandle is required");returnc.mount.apply(null,arguments)},syncfs:async(r,n,u)=>{try{leti=a.getLocalSet(r),s=awaita.getRemoteSet(r),l=n?s:i,m=n?i:s;awaita.reconcile(r,l,m),u(null)}catch(i){u(i)}},getLocalSet:r=>{letn=Object.create(null);functionu(l){returnl!=="."&&l!==".."}f(u,"isRealDir");functioni(l){returnm=>o.join2(l,m)}f(i,"toAbsolute");lets=e.readdir(r.mountpoint).filter(u).map(i(r.mountpoint));for(;s.length;){letl=s.pop(),m=e.stat(l);e.isDir(m.mode)&&s.push.apply(s,e.readdir(l).filter(u).map(i(l))),n[l]={timestamp:m.mtime,mode:m.mode}}return{type:"local",entries:n}},getRemoteSet:asyncr=>{letn=Object.create(null),u=awaitwe(r.opts.fileSystemHandle);for(let[i,s]ofu)i!=="."&&(n[o.join2(r.mountpoint,i)]={timestamp:s.kind==="file"?(awaits.getFile()).lastModifiedDate:newDate,mode:s.kind==="file"?a.FILE_MODE:a.DIR_MODE});return{type:"remote",entries:n,handles:u}},loadLocalEntry:r=>{letu=e.lookupPath(r).node,i=e.stat(r);if(e.isDir(i.mode))return{timestamp:i.mtime,mode:i.mode};if(e.isFile(i.mode))returnu.contents=c.getFileDataAsTypedArray(u),{timestamp:i.mtime,mode:i.mode,contents:u.contents};thrownewError("node type not supported")},storeLocalEntry:(r,n)=>{if(e.isDir(n.mode))e.mkdirTree(r,n.mode);elseif(e.isFile(n.mode))e.writeFile(r,n.contents,{canOwn:!0});elsethrownewError("node type not supported");e.chmod(r,n.mode),e.utime(r,n.timestamp,n.timestamp)},removeLocalEntry:r=>{varn=e.stat(r);e.isDir(n.mode)?e.rmdir(r):e.isFile(n.mode)&&e.unlink(r)},loadRemoteEntry:asyncr=>{if(r.kind==="file"){letn=awaitr.getFile();return{contents:newUint8Array(awaitn.arrayBuffer()),mode:a.FILE_MODE,timestamp:n.lastModifiedDate}}else{if(r.kind==="directory")return{mode:a.DIR_MODE,timestamp:newDate};thrownewError("unknown kind: "+r.kind)}},storeRemoteEntry:async(r,n,u)=>{leti=r.get(o.dirname(n)),s=e.isFile(u.mode)?awaiti.getFileHandle(o.basename(n),{create:!0}):awaiti.getDirectoryHandle(o.basename(n),{create:!0});if(s.kind==="file"){letl=awaits.createWritable();awaitl.write(u.contents),awaitl.close()}r.set(n,s)},removeRemoteEntry:async(r,n)=>{awaitr.get(o.dirname(n)).removeEntry(o.basename(n)),r.delete(n)},reconcile:async(r,n,u)=>{leti=0,s=[];Object.keys(n.entries).forEach(function(p){letd=n.entries[p],y=u.entries[p];(!y||e.isFile(d.mode)&&d.timestamp.getTime()>y.timestamp.getTime())&&(s.push(p),i++)}),s.sort();letl=[];if(Object.keys(u.entries).forEach(function(p){n.entries[p]||(l.push(p),i++)}),l.sort().reverse(),!i)return;letm=n.type==="remote"?n.handles:u.handles;for(letpofs){letd=o.normalize(p.replace(r.mountpoint,"/")).substring(1);if(u.type==="local"){lety=m.get(d),h=awaita.loadRemoteEntry(y);a.storeLocalEntry(p,h)}else{lety=a.loadLocalEntry(p);awaita.storeRemoteEntry(m,d,y)}}for(letpofl)if(u.type==="local")a.removeLocalEntry(p);else{letd=o.normalize(p.replace(r.mountpoint,"/")).substring(1);awaita.removeRemoteEntry(m,d)}}};t.FS.filesystems.NATIVEFS_ASYNC=a}f(J,"initializeNativeFS");varwe=f(asynct=>{lete=[];asyncfunctionc(a){forawait(letrofa.values())e.push(r),r.kind==="directory"&&awaitc(r)}f(c,"collect"),awaitc(t);leto=newMap;o.set(".",t);for(letaofe){letr=(awaitt.resolve(a)).join("/");o.set(r,a)}returno},"getFsHandles");functionY(){lett={};returnt.noImageDecoding=!0,t.noAudioDecoding=!0,t.noWasmDecoding=!1,t.preRun=[],t.quit=(e,c)=>{throwt.exited={status:e,toThrow:c},c},t}f(Y,"createModule");functionbe(t,e){t.preRun.push(function(){letc="/";try{t.FS.mkdirTree(e)}catch(o){console.error(`Error occurred while making a home directory '${e}':`),console.error(o),console.error(`Using '${c}' for a home directory instead`),e=c}t.FS.chdir(e)})}f(be,"createHomeDirectory");functionEe(t,e){t.preRun.push(function(){Object.assign(t.ENV,e)})}f(Ee,"setEnvironment");function_e(t,e){t.preRun.push(()=>{for(letcofe)t.FS.mkdirTree(c),t.FS.mount(t.FS.filesystems.NODEFS,{root:c},c)})}f(_e,"mountLocalDirectories");functionSe(t,e){letc=G(e);t.preRun.push(()=>{leto=t._py_version_major(),a=t._py_version_minor();t.FS.mkdirTree("/lib"),t.FS.mkdirTree(`/lib/python${o}.${a}/site-packages`),t.addRunDependency("install-stdlib"),c.then(r=>{t.FS.writeFile(`/lib/python${o}${a}.zip`,r)}).catch(r=>{console.error("Error occurred while installing the standard library:"),console.error(r)}).finally(()=>{t.removeRunDependency("install-stdlib")})})}f(Se,"installStdlib");functionQ(t,e){letc;e.stdLibURL!=null?c=e.stdLibURL:c=e.indexURL+"python_stdlib.zip",Se(t,c),be(t,e.env.HOME),Ee(t,e.env),_e(t,e._node_mounts),t.preRun.push(()=>J(t))}f(Q,"initializeFileSystem");functionZ(t,e){let{binary:c,response:o}=b(e+"pyodide.asm.wasm");t.instantiateWasm=function(a,r){returnasyncfunction(){try{letn;o?n=awaitWebAssembly.instantiateStreaming(o,a):n=awaitWebAssembly.instantiate(awaitc,a);let{instance:u,module:i}=n;typeofWasmOffsetConverter<"u"&&(wasmOffsetConverter=newWasmOffsetConverter(wasmBinary,i)),r(u,i)}catch(n){console.warn("wasm instantiation failed!"),console.warn(n)}}(),{}}}f(Z,"preloadWasm");varO="0.25.1";asyncfunctionWe(t={}){awaitD();lete=t.indexURL||awaitX();e=S(e),e.endsWith("/")||(e+="/"),t.indexURL=e;letc={fullStdLib:!1,jsglobals:globalThis,stdin:globalThis.prompt?globalThis.prompt:void0,lockFileURL:e+"pyodide-lock.json",args:[],_node_mounts:[],env:{},packageCacheDir:e,packages:[]},o=Object.assign(c,t);o.env.HOME||(o.env.HOME="/home/pyodide");leta=Y();a.print=o.stdout,a.printErr=o.stderr,a.arguments=o.args;letr={config:o};a.API=r,r.lockFilePromise=K(o.lockFileURL),Z(a,e),Q(a,o);letn=newPromise(s=>a.postRun=s);if(a.locateFile=s=>o.indexURL+s,typeof_createPyodideModule!="function"){lets=`${o.indexURL}pyodide.asm.js`;awaitw(s)}if(await_createPyodideModule(a),awaitn,a.exited)throwa.exited.toThrow;if(t.pyproxyToStringRepr&&r.setPyProxyToStringMethod(!0),r.version!==O)thrownewError(`Pyodide version does not match: '${O}' <==> '${r.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);a.locateFile=s=>{thrownewError("Didn't expect to load any more file_packager files!")};letu=r.finalizeBootstrap();if(u.version.includes("dev")||r.setCdnUrl(`https://cdn.jsdelivr.net/pyodide/v${u.version}/full/`),awaitr.packageIndexReady,r._pyodide._importhook.register_module_not_found_hook(r._import_name_to_package_name,r.lockfile_unvendored_stdlibs_and_test),r.lockfile_info.version!==O)thrownewError("Lock file version doesn't match Pyodide version");returnr.package_loader.init_loaded_packages(),o.fullStdLib&&awaitu.loadPackage(r.lockfile_unvendored_stdlibs),r.initializeStreams(o.stdin,o.stdout,o.stderr),u}f(We,"loadPyodide");export{WeasloadPyodide,Oasversion};//# sourceMappingURL=pyodide.mjs.map