Files
mixly3/boards/default/python_pyodide/deps/0.62.21/python3/pyodide/pyodide.js
2024-09-09 16:38:22 +08:00

1 line
14 KiB
JavaScript

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).loadPyodide={})}(this,(function(e){"use strict";"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var t={exports:{}},r={exports:{}};!function(e){e.exports=function(){function e(e){return e.charAt(0).toUpperCase()+e.substring(1)}function t(e){return function(){return this[e]}}var r=["isConstructor","isEval","isNative","isToplevel"],n=["columnNumber","lineNumber"],o=["fileName","functionName","source"],i=r.concat(n,o,["args"],["evalOrigin"]);function a(t){if(t)for(var r=0;r<i.length;r++)void 0!==t[i[r]]&&this["set"+e(i[r])](t[i[r]])}a.prototype={getArgs:function(){return this.args},setArgs:function(e){if("[object Array]"!==Object.prototype.toString.call(e))throw new TypeError("Args must be an Array");this.args=e},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(e){if(e instanceof a)this.evalOrigin=e;else{if(!(e instanceof Object))throw new TypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=new a(e)}},toString:function(){var e=this.getFileName()||"",t=this.getLineNumber()||"",r=this.getColumnNumber()||"",n=this.getFunctionName()||"";return this.getIsEval()?e?"[eval] ("+e+":"+t+":"+r+")":"[eval]:"+t+":"+r:n?n+" ("+e+":"+t+":"+r+")":e+":"+t+":"+r}},a.fromString=function(e){var t=e.indexOf("("),r=e.lastIndexOf(")"),n=e.substring(0,t),o=e.substring(t+1,r).split(","),i=e.substring(r+1);if(0===i.indexOf("@"))var s=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(i,""),l=s[1],c=s[2],d=s[3];return new a({functionName:n,args:o||void 0,fileName:l,lineNumber:c||void 0,columnNumber:d||void 0})};for(var s=0;s<r.length;s++)a.prototype["get"+e(r[s])]=t(r[s]),a.prototype["set"+e(r[s])]=function(e){return function(t){this[e]=Boolean(t)}}(r[s]);for(var l=0;l<n.length;l++)a.prototype["get"+e(n[l])]=t(n[l]),a.prototype["set"+e(n[l])]=function(e){return function(t){if(r=t,isNaN(parseFloat(r))||!isFinite(r))throw new TypeError(e+" must be a Number");var r;this[e]=Number(t)}}(n[l]);for(var c=0;c<o.length;c++)a.prototype["get"+e(o[c])]=t(o[c]),a.prototype["set"+e(o[c])]=function(e){return function(t){this[e]=String(t)}}(o[c]);return a}()}(r),function(e){var t,n,o,i;e.exports=(t=r.exports,n=/(^|@)\S+:\d+/,o=/^\s*at .*(\S+:\d+|\(native\))/m,i=/^(eval@)?(\[native code])?$/,{parse:function(e){if(void 0!==e.stacktrace||void 0!==e["opera#sourceloc"])return this.parseOpera(e);if(e.stack&&e.stack.match(o))return this.parseV8OrIE(e);if(e.stack)return this.parseFFOrSafari(e);throw new Error("Cannot parse given Error object")},extractLocation:function(e){if(-1===e.indexOf(":"))return[e];var t=/(.+?)(?::(\d+))?(?::(\d+))?$/.exec(e.replace(/[()]/g,""));return[t[1],t[2]||void 0,t[3]||void 0]},parseV8OrIE:function(e){return e.stack.split("\n").filter((function(e){return!!e.match(o)}),this).map((function(e){e.indexOf("(eval ")>-1&&(e=e.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));var r=e.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),n=r.match(/ (\(.+\)$)/);r=n?r.replace(n[0],""):r;var o=this.extractLocation(n?n[1]:r),i=n&&r||void 0,a=["eval","<anonymous>"].indexOf(o[0])>-1?void 0:o[0];return new t({functionName:i,fileName:a,lineNumber:o[1],columnNumber:o[2],source:e})}),this)},parseFFOrSafari:function(e){return e.stack.split("\n").filter((function(e){return!e.match(i)}),this).map((function(e){if(e.indexOf(" > eval")>-1&&(e=e.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),-1===e.indexOf("@")&&-1===e.indexOf(":"))return new t({functionName:e});var r=/((.*".+"[^@]*)?[^@]*)(?:@)/,n=e.match(r),o=n&&n[1]?n[1]:void 0,i=this.extractLocation(e.replace(r,""));return new t({functionName:o,fileName:i[0],lineNumber:i[1],columnNumber:i[2],source:e})}),this)},parseOpera:function(e){return!e.stacktrace||e.message.indexOf("\n")>-1&&e.message.split("\n").length>e.stacktrace.split("\n").length?this.parseOpera9(e):e.stack?this.parseOpera11(e):this.parseOpera10(e)},parseOpera9:function(e){for(var r=/Line (\d+).*script (?:in )?(\S+)/i,n=e.message.split("\n"),o=[],i=2,a=n.length;i<a;i+=2){var s=r.exec(n[i]);s&&o.push(new t({fileName:s[2],lineNumber:s[1],source:n[i]}))}return o},parseOpera10:function(e){for(var r=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,n=e.stacktrace.split("\n"),o=[],i=0,a=n.length;i<a;i+=2){var s=r.exec(n[i]);s&&o.push(new t({functionName:s[3]||void 0,fileName:s[2],lineNumber:s[1],source:n[i]}))}return o},parseOpera11:function(e){return e.stack.split("\n").filter((function(e){return!!e.match(n)&&!e.match(/^Error created at/)}),this).map((function(e){var r,n=e.split("@"),o=this.extractLocation(n.pop()),i=n.shift()||"",a=i.replace(/<anonymous function(: (\w+))?>/,"$2").replace(/\([^)]*\)/g,"")||void 0;i.match(/\(([^)]*)\)/)&&(r=i.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var s=void 0===r||"[arguments not available]"===r?void 0:r.split(",");return new t({functionName:a,args:s,fileName:o[0],lineNumber:o[1],columnNumber:o[2],source:e})}),this)}})}(t);var n=t.exports;let o,i,a,s;if(o=function(e,t){return void 0===t&&(t=location),new URL(e,t).toString()},i="/",a=async function(e,t){const r=new URL(e,location);let n=t?{integrity:t}:{},o=await fetch(r,n);if(!o.ok)throw new Error(`Failed to load '${r}': request failed.`);return new Uint8Array(await o.arrayBuffer())},globalThis.document)s=async e=>await import(e);else{if(!globalThis.importScripts)throw new Error("Cannot determine runtime environment");s=async e=>{try{globalThis.importScripts(e)}catch(t){if(!(t instanceof TypeError))throw t;await import(e)}}}function l(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=function(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){!function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}(n,o,(t=e[r](t)).done,t.value)}))}}}const c=async e=>{const t=[];await async function e(r){var n,o;try{for(var i,a=l(r.values());!(i=await a.next()).done;){const r=i.value;t.push(r),"directory"===r.kind&&await e(r)}}catch(e){n={error:e}}finally{try{i&&!i.done&&(o=a.return)&&await o.call(a)}finally{if(n)throw n.error}}}(e);const r=new Map;r.set(".",e);for(const n of t){const t=(await e.resolve(n)).join("/");r.set(t,n)}return r};async function d(e={}){await async function(){}();let t=e.indexURL||function(){let e;try{throw new Error}catch(t){e=t}let t=n.parse(e)[0].fileName;const r=t.lastIndexOf(i);if(-1===r)throw new Error("Could not extract indexURL path from pyodide module location");return t.slice(0,r)}();t=o(t),t.endsWith("/")||(t+="/"),e.indexURL=t;const r={fullStdLib:!1,jsglobals:globalThis,stdin:globalThis.prompt?globalThis.prompt:void 0,homedir:"/home/pyodide",lockFileURL:t+"repodata.json",args:[],_node_mounts:[]},l=Object.assign(r,e),d=function(){let e={noImageDecoding:!0,noAudioDecoding:!0,noWasmDecoding:!1,preRun:[],quit:(t,r)=>{throw e.exited={status:t,toThrow:r},r}};return e}();d.print=l.stdout,d.printErr=l.stderr,d.arguments=l.args;const u={config:l};d.API=u,function(e,t){let r;r=null!=t.stdLibURL?t.stdLibURL:t.indexURL+"python_stdlib.zip",function(e,t){const r=a(t);e.preRun.push((()=>{const t=e._py_version_major(),n=e._py_version_minor();e.FS.mkdirTree("/lib"),e.FS.mkdirTree(`/lib/python${t}.${n}/site-packages`),e.addRunDependency("install-stdlib"),r.then((r=>{e.FS.writeFile(`/lib/python${t}${n}.zip`,r)})).catch((e=>{console.error("Error occurred while installing the standard library:"),console.error(e)})).finally((()=>{e.removeRunDependency("install-stdlib")}))}))}(e,r),function(e,t){e.preRun.push((function(){try{e.FS.mkdirTree(t)}catch(e){console.error(`Error occurred while making a home directory '${t}':`),console.error(e),console.error("Using '/' for a home directory instead"),t="/"}e.ENV.HOME=t,e.FS.chdir(t)}))}(e,t.homedir),function(e,t){e.preRun.push((()=>{for(const r of t)e.FS.mkdirTree(r),e.FS.mount(e.FS.filesystems.NODEFS,{root:r},r)}))}(e,t._node_mounts),e.preRun.push((()=>function(e){const t=e.FS,r=e.FS.filesystems.MEMFS,n=e.PATH,o={DIR_MODE:16895,FILE_MODE:33279,mount:function(e){if(!e.opts.fileSystemHandle)throw new Error("opts.fileSystemHandle is required");return r.mount.apply(null,arguments)},syncfs:async(e,t,r)=>{try{const n=o.getLocalSet(e),i=await o.getRemoteSet(e),a=t?i:n,s=t?n:i;await o.reconcile(e,a,s),r(null)}catch(e){r(e)}},getLocalSet:e=>{let r=Object.create(null);function o(e){return"."!==e&&".."!==e}function i(e){return t=>n.join2(e,t)}let a=t.readdir(e.mountpoint).filter(o).map(i(e.mountpoint));for(;a.length;){let e=a.pop(),n=t.stat(e);t.isDir(n.mode)&&a.push.apply(a,t.readdir(e).filter(o).map(i(e))),r[e]={timestamp:n.mtime,mode:n.mode}}return{type:"local",entries:r}},getRemoteSet:async e=>{const t=Object.create(null),r=await c(e.opts.fileSystemHandle);for(const[i,a]of r)"."!==i&&(t[n.join2(e.mountpoint,i)]={timestamp:"file"===a.kind?(await a.getFile()).lastModifiedDate:new Date,mode:"file"===a.kind?o.FILE_MODE:o.DIR_MODE});return{type:"remote",entries:t,handles:r}},loadLocalEntry:e=>{const n=t.lookupPath(e).node,o=t.stat(e);if(t.isDir(o.mode))return{timestamp:o.mtime,mode:o.mode};if(t.isFile(o.mode))return n.contents=r.getFileDataAsTypedArray(n),{timestamp:o.mtime,mode:o.mode,contents:n.contents};throw new Error("node type not supported")},storeLocalEntry:(e,r)=>{if(t.isDir(r.mode))t.mkdirTree(e,r.mode);else{if(!t.isFile(r.mode))throw new Error("node type not supported");t.writeFile(e,r.contents,{canOwn:!0})}t.chmod(e,r.mode),t.utime(e,r.timestamp,r.timestamp)},removeLocalEntry:e=>{var r=t.stat(e);t.isDir(r.mode)?t.rmdir(e):t.isFile(r.mode)&&t.unlink(e)},loadRemoteEntry:async e=>{if("file"===e.kind){const t=await e.getFile();return{contents:new Uint8Array(await t.arrayBuffer()),mode:o.FILE_MODE,timestamp:t.lastModifiedDate}}if("directory"===e.kind)return{mode:o.DIR_MODE,timestamp:new Date};throw new Error("unknown kind: "+e.kind)},storeRemoteEntry:async(e,r,o)=>{const i=e.get(n.dirname(r)),a=t.isFile(o.mode)?await i.getFileHandle(n.basename(r),{create:!0}):await i.getDirectoryHandle(n.basename(r),{create:!0});if("file"===a.kind){const e=await a.createWritable();await e.write(o.contents),await e.close()}e.set(r,a)},removeRemoteEntry:async(e,t)=>{const r=e.get(n.dirname(t));await r.removeEntry(n.basename(t)),e.delete(t)},reconcile:async(e,r,i)=>{let a=0;const s=[];Object.keys(r.entries).forEach((function(e){const n=r.entries[e],o=i.entries[e];(!o||t.isFile(n.mode)&&n.timestamp.getTime()>o.timestamp.getTime())&&(s.push(e),a++)})),s.sort();const l=[];if(Object.keys(i.entries).forEach((function(e){r.entries[e]||(l.push(e),a++)})),l.sort().reverse(),!a)return;const c="remote"===r.type?r.handles:i.handles;for(const t of s){const r=n.normalize(t.replace(e.mountpoint,"/")).substring(1);if("local"===i.type){const e=c.get(r),n=await o.loadRemoteEntry(e);o.storeLocalEntry(t,n)}else{const e=o.loadLocalEntry(t);await o.storeRemoteEntry(c,r,e)}}for(const t of l)if("local"===i.type)o.removeLocalEntry(t);else{const r=n.normalize(t.replace(e.mountpoint,"/")).substring(1);await o.removeRemoteEntry(c,r)}}};e.FS.filesystems.NATIVEFS_ASYNC=o}(e)))}(d,l);const p=new Promise((e=>d.postRun=e));if(d.locateFile=e=>l.indexURL+e,"function"!=typeof _createPyodideModule){const e=`${l.indexURL}pyodide.asm.js`;await s(e)}if(await _createPyodideModule(d),await p,d.exited)throw d.exited.toThrow;if("0.23.2"!==u.version)throw new Error(`Pyodide version does not match: '0.23.2' <==> '${u.version}'. If you updated the Pyodide version, make sure you also updated the 'indexURL' parameter passed to loadPyodide.`);d.locateFile=e=>{throw new Error("Didn't expect to load any more file_packager files!")};let[f,m]=u.rawRun("import _pyodide_core");f&&d.API.fatal_loading_error("Failed to import _pyodide_core\n",m);const y=function(e,t){e.runPythonInternal_dict=e._pyodide._base.eval_code("{}"),e.importlib=e.runPythonInternal("import importlib; importlib");let r=e.importlib.import_module;e.sys=r("sys"),e.sys.path.insert(0,t.homedir),e.os=r("os");let n=e.runPythonInternal("import __main__; __main__.__dict__"),o=e.runPythonInternal("import builtins; builtins.__dict__");var i;e.globals=(i=o,new Proxy(n,{get:(e,t)=>"get"===t?t=>{let r=e.get(t);return void 0===r&&(r=i.get(t)),r}:"has"===t?t=>e.has(t)||i.has(t):Reflect.get(e,t)}));let a=e._pyodide._importhook;a.register_js_finder(),a.register_js_module("js",t.jsglobals);let s=e.makePublicAPI();return a.register_js_module("pyodide_js",s),e.pyodide_py=r("pyodide"),e.pyodide_code=r("pyodide.code"),e.pyodide_ffi=r("pyodide.ffi"),e.package_loader=r("pyodide._package_loader"),e.sitepackages=e.package_loader.SITE_PACKAGES.__str__(),e.dsodir=e.package_loader.DSO_DIR.__str__(),e.defaultLdLibraryPath=[e.dsodir,e.sitepackages],e.os.environ.__setitem__("LD_LIBRARY_PATH",e.defaultLdLibraryPath.join(":")),s.pyodide_py=e.pyodide_py,s.globals=e.globals,s}(u,l);if(y.version.includes("dev")||u.setCdnUrl(`https://cdn.jsdelivr.net/pyodide/v${y.version}/full/`),await u.packageIndexReady,u._pyodide._importhook.register_module_not_found_hook(u._import_name_to_package_name,u.repodata_unvendored_stdlibs_and_test),"0.23.2"!==u.repodata_info.version)throw new Error("Lock file version doesn't match Pyodide version");return u.package_loader.init_loaded_packages(),l.fullStdLib&&await y.loadPackage(u.repodata_unvendored_stdlibs),u.initializeStreams(l.stdin,l.stdout,l.stderr),y}globalThis.loadPyodide=d,e.loadPyodide=d,e.version="0.23.2",Object.defineProperty(e,"__esModule",{value:!0})}));