UNPKG

@electric-sql/pglite

Version:

PGlite is a WASM Postgres build packaged into a TypeScript client library that enables you to run Postgres in the browser, Node.js and Bun, with no need to install any other dependencies. It is only 3.7mb gzipped.

2 lines 592 kB
"use strict";var Ms=Object.create;var xt=Object.defineProperty;var ws=Object.getOwnPropertyDescriptor;var ys=Object.getOwnPropertyNames;var Ss=Object.getPrototypeOf,xs=Object.prototype.hasOwnProperty;var Da=e=>{throw TypeError(e)};var bs=(e,t,r)=>t in e?xt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Me=(e,t)=>()=>(e&&(t=e(e=0)),t);var ot=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ge=(e,t)=>{for(var r in t)xt(e,r,{get:t[r],enumerable:!0})},Na=(e,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ys(t))!xs.call(e,o)&&o!==r&&xt(e,o,{get:()=>t[o],enumerable:!(a=ws(t,o))||a.enumerable});return e};var K=(e,t,r)=>(r=e!=null?Ms(Ss(e)):{},Na(t||!e||!e.__esModule?xt(r,"default",{value:e,enumerable:!0}):r,e)),Fs=e=>Na(xt({},"__esModule",{value:!0}),e);var L=(e,t,r)=>bs(e,typeof t!="symbol"?t+"":t,r),zr=(e,t,r)=>t.has(e)||Da("Cannot "+r);var p=(e,t,r)=>(zr(e,t,"read from private field"),r?r.call(e):t.get(e)),b=(e,t,r)=>t.has(e)?Da("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),M=(e,t,r,a)=>(zr(e,t,"write to private field"),a?a.call(e,r):t.set(e,r),r),v=(e,t,r)=>(zr(e,t,"access private method"),r);var je=(e,t,r,a)=>({set _(o){M(e,t,o,r)},get _(){return p(e,t,a)}});var ks,A,S=Me(()=>{"use strict";ks=()=>typeof document>"u"?new URL(`file:${__filename}`).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href,A=ks()});var Zt=ot((il,ae)=>{"use strict";S();var mo=9007199254740991,go=function(e){return e}();function t_(e){return e===go}function fo(e){return typeof e=="string"||Object.prototype.toString.call(e)=="[object String]"}function r_(e){return Object.prototype.toString.call(e)=="[object Date]"}function wr(e){return e!==null&&typeof e=="object"}function yr(e){return typeof e=="function"}function a_(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=mo}function o_(e){return Object.prototype.toString.call(e)=="[object Array]"}function ho(e){return wr(e)&&!yr(e)&&a_(e.length)}function ga(e){return Object.prototype.toString.call(e)=="[object ArrayBuffer]"}function s_(e,t){return Array.prototype.map.call(e,t)}function n_(e,t){var r=go;return yr(t)&&Array.prototype.every.call(e,function(a,o,s){var n=t(a,o,s);return n&&(r=a),!n}),r}function __(e){return Object.assign.apply(null,arguments)}function vo(e){var t,r,a;if(fo(e)){for(r=e.length,a=new Uint8Array(r),t=0;t<r;t++)a[t]=e.charCodeAt(t)&255;return a}return ga(e)?new Uint8Array(e):wr(e)&&ga(e.buffer)?new Uint8Array(e.buffer):ho(e)?new Uint8Array(e):wr(e)&&yr(e.toString)?vo(e.toString()):new Uint8Array}ae.exports.MAX_SAFE_INTEGER=mo;ae.exports.isUndefined=t_;ae.exports.isString=fo;ae.exports.isObject=wr;ae.exports.isDateTime=r_;ae.exports.isFunction=yr;ae.exports.isArray=o_;ae.exports.isArrayLike=ho;ae.exports.isArrayBuffer=ga;ae.exports.map=s_;ae.exports.find=n_;ae.exports.extend=__;ae.exports.toUint8Array=vo});var Vt=ot((dl,Eo)=>{"use strict";S();var fa="\0";Eo.exports={NULL_CHAR:fa,TMAGIC:"ustar"+fa+"00",OLDGNU_MAGIC:"ustar "+fa,REGTYPE:0,LNKTYPE:1,SYMTYPE:2,CHRTYPE:3,BLKTYPE:4,DIRTYPE:5,FIFOTYPE:6,CONTTYPE:7,TSUID:parseInt("4000",8),TSGID:parseInt("2000",8),TSVTX:parseInt("1000",8),TUREAD:parseInt("0400",8),TUWRITE:parseInt("0200",8),TUEXEC:parseInt("0100",8),TGREAD:parseInt("0040",8),TGWRITE:parseInt("0020",8),TGEXEC:parseInt("0010",8),TOREAD:parseInt("0004",8),TOWRITE:parseInt("0002",8),TOEXEC:parseInt("0001",8),TPERMALL:parseInt("0777",8),TPERMMASK:parseInt("0777",8)}});var Ea=ot((pl,oe)=>{"use strict";S();var Mo=Zt(),X=Vt(),i_=512,ha=X.TPERMALL,wo=0,yo=0,va=[["name",100,0,function(e,t){return Xt(e[t[0]],t[1])},function(e,t,r){return Ye(e.slice(t,t+r[1]))}],["mode",8,100,function(e,t){var r=e[t[0]]||ha;return r=r&X.TPERMMASK,dt(r,t[1],ha)},function(e,t,r){var a=Te(e.slice(t,t+r[1]));return a&=X.TPERMMASK,a}],["uid",8,108,function(e,t){return dt(e[t[0]],t[1],wo)},function(e,t,r){return Te(e.slice(t,t+r[1]))}],["gid",8,116,function(e,t){return dt(e[t[0]],t[1],yo)},function(e,t,r){return Te(e.slice(t,t+r[1]))}],["size",12,124,function(e,t){return dt(e.data.length,t[1])},function(e,t,r){return Te(e.slice(t,t+r[1]))}],["modifyTime",12,136,function(e,t){return Sr(e[t[0]],t[1])},function(e,t,r){return xr(e.slice(t,t+r[1]))}],["checksum",8,148,function(e,t){return" "},function(e,t,r){return Te(e.slice(t,t+r[1]))}],["type",1,156,function(e,t){return""+(parseInt(e[t[0]],10)||0)%8},function(e,t,r){return(parseInt(String.fromCharCode(e[t]),10)||0)%8}],["linkName",100,157,function(e,t){return""},function(e,t,r){return Ye(e.slice(t,t+r[1]))}],["ustar",8,257,function(e,t){return X.TMAGIC},function(e,t,r){return l_(Ye(e.slice(t,t+r[1]),!0))},function(e,t){return e[t[0]]==X.TMAGIC||e[t[0]]==X.OLDGNU_MAGIC}],["owner",32,265,function(e,t){return Xt(e[t[0]],t[1])},function(e,t,r){return Ye(e.slice(t,t+r[1]))}],["group",32,297,function(e,t){return Xt(e[t[0]],t[1])},function(e,t,r){return Ye(e.slice(t,t+r[1]))}],["majorNumber",8,329,function(e,t){return""},function(e,t,r){return Te(e.slice(t,t+r[1]))}],["minorNumber",8,337,function(e,t){return""},function(e,t,r){return Te(e.slice(t,t+r[1]))}],["prefix",131,345,function(e,t){return Xt(e[t[0]],t[1])},function(e,t,r){return Ye(e.slice(t,t+r[1]))}],["accessTime",12,476,function(e,t){return Sr(e[t[0]],t[1])},function(e,t,r){return xr(e.slice(t,t+r[1]))}],["createTime",12,488,function(e,t){return Sr(e[t[0]],t[1])},function(e,t,r){return xr(e.slice(t,t+r[1]))}]],So=function(e){var t=e[e.length-1];return t[2]+t[1]}(va);function l_(e){if(e.length==8){var t=e.split("");if(t[5]==X.NULL_CHAR)return(t[6]==" "||t[6]==X.NULL_CHAR)&&(t[6]="0"),(t[7]==" "||t[7]==X.NULL_CHAR)&&(t[7]="0"),t=t.join(""),t==X.TMAGIC?t:e;if(t[7]==X.NULL_CHAR)return t[5]==X.NULL_CHAR&&(t[5]=" "),t[6]==X.NULL_CHAR&&(t[6]=" "),t==X.OLDGNU_MAGIC?t:e}return e}function Xt(e,t){return t-=1,Mo.isUndefined(e)&&(e=""),e=(""+e).substr(0,t),e+X.NULL_CHAR}function dt(e,t,r){for(r=parseInt(r)||0,t-=1,e=(parseInt(e)||r).toString(8).substr(-t,t);e.length<t;)e="0"+e;return e+X.NULL_CHAR}function Sr(e,t){if(Mo.isDateTime(e))e=Math.floor(1*e/1e3);else if(e=parseInt(e,10),isFinite(e)){if(e<=0)return""}else e=Math.floor(1*new Date/1e3);return dt(e,t,0)}function Ye(e,t){var r=String.fromCharCode.apply(null,e);if(t)return r;var a=r.indexOf(X.NULL_CHAR);return a>=0?r.substr(0,a):r}function Te(e){var t=String.fromCharCode.apply(null,e);return parseInt(t.replace(/^0+$/g,""),8)||0}function xr(e){return e.length==0||e[0]==0?null:new Date(1e3*Te(e))}function d_(e,t,r){var a=parseInt(t,10)||0,o=Math.min(a+So,e.length),s=0,n=0,_=0;r&&va.every(function(m){return m[0]=="checksum"?(n=a+m[2],_=n+m[1],!1):!0});for(var l=32,d=a;d<o;d++){var u=d>=n&&d<_?l:e[d];s=(s+u)%262144}return s}oe.exports.recordSize=i_;oe.exports.defaultFileMode=ha;oe.exports.defaultUid=wo;oe.exports.defaultGid=yo;oe.exports.posixHeader=va;oe.exports.effectiveHeaderSize=So;oe.exports.calculateChecksum=d_;oe.exports.formatTarString=Xt;oe.exports.formatTarNumber=dt;oe.exports.formatTarDateTime=Sr;oe.exports.parseTarString=Ye;oe.exports.parseTarNumber=Te;oe.exports.parseTarDateTime=xr});var ko=ot((ml,Fo)=>{"use strict";S();var u_=Vt(),br=Zt(),De=Ea();function xo(e){return De.recordSize}function bo(e){return Math.ceil(e.data.length/De.recordSize)*De.recordSize}function p_(e){var t=0;return e.forEach(function(r){t+=xo(r)+bo(r)}),t+=De.recordSize*2,new Uint8Array(t)}function c_(e,t,r){r=parseInt(r)||0;var a=r;De.posixHeader.forEach(function(l){for(var d=l[3](t,l),u=d.length,m=0;m<u;m+=1)e[a+m]=d.charCodeAt(m)&255;a+=l[1]});var o=br.find(De.posixHeader,function(l){return l[0]=="checksum"});if(o){var s=De.calculateChecksum(e,r,!0),n=De.formatTarNumber(s,o[1]-2)+u_.NULL_CHAR+" ";a=r+o[2];for(var _=0;_<n.length;_+=1)e[a]=n.charCodeAt(_)&255,a++}return r+xo(t)}function m_(e,t,r){return r=parseInt(r,10)||0,e.set(t.data,r),r+bo(t)}function g_(e){e=br.map(e,function(a){return br.extend({},a,{data:br.toUint8Array(a.data)})});var t=p_(e),r=0;return e.forEach(function(a){r=c_(t,a,r),r=m_(t,a,r)}),t}Fo.exports.tar=g_});var Po=ot((fl,To)=>{"use strict";S();var f_=Vt(),wa=Zt(),we=Ea(),h_={extractData:!0,checkHeader:!0,checkChecksum:!0,checkFileSize:!0},v_={size:!0,checksum:!0,ustar:!0},Ma={unexpectedEndOfFile:"Unexpected end of file.",fileCorrupted:"File is corrupted.",checksumCheckFailed:"Checksum check failed."};function E_(e){return we.recordSize}function M_(e){return Math.ceil(e/we.recordSize)*we.recordSize}function w_(e,t){for(var r=t,a=Math.min(e.length,t+we.recordSize*2),o=r;o<a;o++)if(e[o]!=0)return!1;return!0}function y_(e,t,r){if(e.length-t<we.recordSize){if(r.checkFileSize)throw new Error(Ma.unexpectedEndOfFile);return null}t=parseInt(t)||0;var a={},o=t;if(we.posixHeader.forEach(function(_){a[_[0]]=_[4](e,o,_),o+=_[1]}),a.type!=0&&(a.size=0),r.checkHeader&&we.posixHeader.forEach(function(_){if(wa.isFunction(_[5])&&!_[5](a,_)){var l=new Error(Ma.fileCorrupted);throw l.data={offset:t+_[2],field:_[0]},l}}),r.checkChecksum){var s=we.calculateChecksum(e,t,!0);if(s!=a.checksum){var n=new Error(Ma.checksumCheckFailed);throw n.data={offset:t,header:a,checksum:s},n}}return a}function S_(e,t,r,a){return a.extractData?r.size<=0?new Uint8Array:e.slice(t,t+r.size):null}function x_(e,t){var r={};return we.posixHeader.forEach(function(a){var o=a[0];v_[o]||(r[o]=e[o])}),r.isOldGNUFormat=e.ustar==f_.OLDGNU_MAGIC,t&&(r.data=t),r}function b_(e,t){t=wa.extend({},h_,t);for(var r=[],a=0,o=e.length;o-a>=we.recordSize;){e=wa.toUint8Array(e);var s=y_(e,a,t);if(!s)break;a+=E_(s);var n=S_(e,a,s,t);if(r.push(x_(s,n)),a+=M_(s.size),w_(e,a))break}return r}To.exports.untar=b_});var ya=ot((vl,Ao)=>{"use strict";S();var F_=Zt(),k_=Vt(),T_=ko(),P_=Po();F_.extend(Ao.exports,T_,P_,k_)});async function Sa(e){kr||Yt.has(e.toString())||Yt.set(e.toString(),fetch(e))}async function I_(e,t,r){if(r||Fr.has(t.toString())){let a=r||Fr.get(t.toString());return{instance:await WebAssembly.instantiate(a,e),module:a}}if(kr){let a=await(await import("fs/promises")).readFile(t),{module:o,instance:s}=await WebAssembly.instantiate(a,e);return Fr.set(t.toString(),o),{instance:s,module:o}}else{Yt.has(t.toString())||Sa(t);let a=await Yt.get(t.toString()),{module:o,instance:s}=await WebAssembly.instantiateStreaming(a.clone(),e);return Fr.set(t.toString(),o),{instance:s,module:o}}}async function R_(e){return kr?(await(await import("fs/promises")).readFile(e)).buffer:(Sa(e),(await Yt.get(e.toString())).clone().arrayBuffer())}function N_(e){let t;return e.startsWith('"')&&e.endsWith('"')?t=e.substring(1,e.length-1):t=e.toLowerCase(),t}function Co(e,t){try{let r=e.readdir(t).filter(a=>a!=="."&&a!=="..");for(let a of r){let o=t+"/"+a;try{e.readdir(o),Co(e,o)}catch{e.unlink(o)}}e.rmdir(t)}catch{try{e.unlink(t)}catch{}}}var A_,C_,de,kr,Yt,Fr,D_,Tr=Me(()=>{"use strict";S();A_=Object.defineProperty,C_=(e,t)=>{for(var r in t)A_(e,r,{get:t[r],enumerable:!0})},de={};C_(de,{IN_NODE:()=>kr,getFsBundle:()=>R_,instantiateWasm:()=>I_,rmdirRecursive:()=>Co,startArtifactDownload:()=>Sa,toPostgresName:()=>N_,uuid:()=>D_});kr=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",Yt=new Map;Fr=new Map;D_=()=>{if(globalThis.crypto?.randomUUID)return globalThis.crypto.randomUUID();let e=new Uint8Array(16);if(globalThis.crypto?.getRandomValues)globalThis.crypto.getRandomValues(e);else for(let r=0;r<e.length;r++)e[r]=Math.floor(Math.random()*256);e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=[];return e.forEach(r=>{t.push(r.toString(16).padStart(2,"0"))}),t.slice(0,4).join("")+"-"+t.slice(4,6).join("")+"-"+t.slice(6,8).join("")+"-"+t.slice(8,10).join("")+"-"+t.slice(10).join("")}});async function ba(e,t,r="pgdata",a="auto"){let o=B_(e,t),[s,n]=await U_(o,a),_=r+(n?".tar.gz":".tar"),l=n?"application/x-gzip":"application/x-tar";return typeof File<"u"?new File([s],_,{type:l}):new Blob([s],{type:l})}async function Pr(e,t,r){let a=new Uint8Array(await t.arrayBuffer()),o=typeof File<"u"&&t instanceof File?t.name:void 0;(L_.includes(t.type)||o?.endsWith(".tgz")||o?.endsWith(".tar.gz"))&&(a=await Do(a));let n;try{n=(0,he.untar)(a)}catch(_){if(_ instanceof Error&&_.message.includes("File is corrupted"))a=await Do(a),n=(0,he.untar)(a);else throw _}for(let _ of n){let l=`${r}/${_.name}`,d=l.split("/").slice(0,-1);for(let u=1;u<=d.length;u++){let m=d.slice(0,u).join("/");e.analyzePath(m).exists||e.mkdir(m)}_.type===he.REGTYPE?(e.writeFile(l,_.data),e.utime(l,No(_.modifyTime),No(_.modifyTime))):_.type===he.DIRTYPE&&(e.analyzePath(l).exists||e.mkdir(l))}}function z_(e,t){let r=[],a=o=>{e.readdir(o).forEach(n=>{if(n==="."||n==="..")return;let _=o+"/"+n,l=e.stat(_),d=e.isFile(l.mode)?e.readFile(_,{encoding:"binary"}):new Uint8Array(0);r.push({name:_.substring(t.length),mode:l.mode,size:l.size,type:e.isFile(l.mode)?he.REGTYPE:he.DIRTYPE,modifyTime:l.mtime,data:d}),e.isDir(l.mode)&&a(_)})};return a(t),r}function B_(e,t){let r=z_(e,t);return(0,he.tar)(r)}async function U_(e,t="auto"){if(t==="none")return[e,!1];if(typeof CompressionStream<"u")return[await H_(e),!0];if(typeof process<"u"&&process.versions&&process.versions.node)return[await G_(e),!0];if(t==="auto")return[e,!1];throw new Error("Compression not supported in this environment")}async function H_(e){let t=new CompressionStream("gzip"),r=t.writable.getWriter(),a=t.readable.getReader();r.write(e),r.close();let o=[];for(;;){let{value:_,done:l}=await a.read();if(l)break;_&&o.push(_)}let s=new Uint8Array(o.reduce((_,l)=>_+l.length,0)),n=0;return o.forEach(_=>{s.set(_,n),n+=_.length}),s}async function G_(e){let{promisify:t}=await import("util"),{gzip:r}=await import("zlib");return await t(r)(e)}async function Do(e){if(typeof CompressionStream<"u")return await j_(e);if(typeof process<"u"&&process.versions&&process.versions.node)return await W_(e);throw new Error("Unsupported environment for decompression")}async function j_(e){let t=new DecompressionStream("gzip"),r=t.writable.getWriter(),a=t.readable.getReader();r.write(e),r.close();let o=[];for(;;){let{value:_,done:l}=await a.read();if(l)break;_&&o.push(_)}let s=new Uint8Array(o.reduce((_,l)=>_+l.length,0)),n=0;return o.forEach(_=>{s.set(_,n),n+=_.length}),s}async function W_(e){let{promisify:t}=await import("util"),{gunzip:r}=await import("zlib");return await t(r)(e)}function No(e){return e?typeof e=="number"?e:Math.floor(e.getTime()/1e3):Math.floor(Date.now()/1e3)}var he,L_,Fa=Me(()=>{"use strict";S();he=K(ya(),1);L_=["application/x-gtar","application/x-tar+gzip","application/x-gzip","application/gzip"]});var Z_,Oo,qo=Me(()=>{"use strict";S();Z_=(()=>{var _scriptName=A;return async function(moduleArg={}){var moduleRtn,Module=moduleArg,readyPromiseResolve,readyPromiseReject,readyPromise=new Promise((e,t)=>{readyPromiseResolve=e,readyPromiseReject=t}),ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<"u",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";if(ENVIRONMENT_IS_NODE){let{createRequire:e}=await import("module"),t=A;t.startsWith("data:")&&(t="/");var require=e(t)}var moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(e,t)=>{throw t},scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs"),nodePath=require("path");A.startsWith("data:")||(scriptDirectory=nodePath.dirname(require("url").fileURLToPath(A))+"/"),readBinary=e=>{e=isFileURI(e)?new URL(e):e;var t=fs.readFileSync(e);return t},readAsync=async(e,t=!0)=>{e=isFileURI(e)?new URL(e):e;var r=fs.readFileSync(e,t?void 0:"utf8");return r},!Module.thisProgram&&process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,"/")),arguments_=process.argv.slice(2),quit_=(e,t)=>{throw process.exitCode=e,t}}else(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:typeof document<"u"&&document.currentScript&&(scriptDirectory=document.currentScript.src),_scriptName&&(scriptDirectory=_scriptName),scriptDirectory.startsWith("blob:")?scriptDirectory="":scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1),ENVIRONMENT_IS_WORKER&&(readBinary=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),readAsync=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)});var out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram);var dynamicLibraries=Module.dynamicLibraries||[],wasmBinary=Module.wasmBinary;function intArrayFromBase64(e){if(typeof ENVIRONMENT_IS_NODE<"u"&&ENVIRONMENT_IS_NODE){var t=Buffer.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.length)}for(var r=atob(e),a=new Uint8Array(r.length),o=0;o<r.length;++o)a[o]=r.charCodeAt(o);return a}var wasmMemory,ABORT=!1,EXITSTATUS;function assert(e,t){e||abort(t)}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e),Module.HEAP64=HEAP64=new BigInt64Array(e),Module.HEAPU64=HEAPU64=new BigUint64Array(e)}if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var INITIAL_MEMORY=Module.INITIAL_MEMORY||67108864;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768})}updateMemoryViews();var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],__RELOC_FUNCS__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),!Module.noFSInit&&!FS.initialized&&FS.init(),FS.ignorePermissions=!1,TTY.init(),callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){___funcs_on_exit(),callRuntimeCallbacks(__ATEXIT__),FS.quit(),TTY.shutdown(),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}var runDependencies=0,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies?.(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}function abort(e){Module.onAbort?.(e),e="Aborted("+e+")",err(e),ABORT=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw readyPromiseReject(t),t}var dataURIPrefix="data:application/octet-stream;base64,",isDataURI=e=>e.startsWith(dataURIPrefix),isFileURI=e=>e.startsWith("file://");function findWasmBinary(){if(Module.locateFile){var e="initdb.wasm";return isDataURI(e)?e:locateFile(e)}return new URL("initdb.wasm",A).href}var wasmBinaryFile;function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(e){if(!wasmBinary)try{var t=await readAsync(e);return new Uint8Array(t)}catch{}return getBinarySync(e)}async function instantiateArrayBuffer(e,t){try{var r=await getWasmBinary(e),a=await WebAssembly.instantiate(r,t);return a}catch(o){err(`failed to asynchronously prepare wasm: ${o}`),abort(o)}}async function instantiateAsync(e,t,r){if(!e&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(t)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function")try{var a=fetch(t,{credentials:"same-origin"}),o=await WebAssembly.instantiateStreaming(a,r);return o}catch(s){err(`wasm streaming compile failed: ${s}`),err("falling back to ArrayBuffer instantiation")}return instantiateArrayBuffer(t,r)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}async function createWasm(){function e(o,s){wasmExports=o.exports,wasmExports=relocateExports(wasmExports,1024);var n=getDylinkMetadata(s);return n.neededDynlibs&&(dynamicLibraries=n.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,"main"),LDSO.init(),loadDylibs(),addOnInit(wasmExports.__wasm_call_ctors),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),removeRunDependency("wasm-instantiate"),wasmExports}addRunDependency("wasm-instantiate");function t(o){e(o.instance,o.module)}var r=getWasmImports();if(Module.instantiateWasm)try{return Module.instantiateWasm(r,e)}catch(o){err(`Module.instantiateWasm callback failed with error: ${o}`),readyPromiseReject(o)}wasmBinaryFile??(wasmBinaryFile=findWasmBinary());try{var a=await instantiateAsync(wasmBinary,wasmBinaryFile,r);return t(a),a}catch(o){readyPromiseReject(o);return}}var ASM_CONSTS={};class ExitStatus{constructor(t){L(this,"name","ExitStatus");this.message=`Program terminated with exit(${t})`,this.status=t}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,t){var r=GOT[t];return r||(r=GOT[t]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(t)||(r.required=!0),r}},callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(Module)},UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder:void 0,UTF8ArrayToString=(e,t=0,r=NaN)=>{for(var a=t+r,o=t;e[o]&&!(o>=a);)++o;if(o-t>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(t,o));for(var s="";t<o;){var n=e[t++];if(!(n&128)){s+=String.fromCharCode(n);continue}var _=e[t++]&63;if((n&224)==192){s+=String.fromCharCode((n&31)<<6|_);continue}var l=e[t++]&63;if((n&240)==224?n=(n&15)<<12|_<<6|l:n=(n&7)<<18|_<<12|l<<6|e[t++]&63,n<65536)s+=String.fromCharCode(n);else{var d=n-65536;s+=String.fromCharCode(55296|d>>10,56320|d&1023)}}return s},getDylinkMetadata=e=>{var t=0,r=0;function a(){return e[t++]}function o(){for(var O=0,W=1;;){var G=e[t++];if(O+=(G&127)*W,W*=128,!(G&128))break}return O}function s(){var O=o();return t+=O,UTF8ArrayToString(e,t-O,O)}function n(O,W){if(O)throw new Error(W)}var _="dylink.0";if(e instanceof WebAssembly.Module){var l=WebAssembly.Module.customSections(e,_);l.length===0&&(_="dylink",l=WebAssembly.Module.customSections(e,_)),n(l.length===0,"need dylink section"),e=new Uint8Array(l[0]),r=e.length}else{var d=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer),u=d[0]==1836278016;n(!u,"need to see wasm magic number"),n(e[8]!==0,"need the dylink section to be first"),t=9;var m=o();r=t+m,_=s()}var g={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if(_=="dylink"){g.memorySize=o(),g.memoryAlign=o(),g.tableSize=o(),g.tableAlign=o();for(var c=o(),h=0;h<c;++h){var f=s();g.neededDynlibs.push(f)}}else{n(_!=="dylink.0");for(var w=1,F=2,T=3,E=4,y=256,x=3,P=1;t<r;){var k=a(),H=o();if(k===w)g.memorySize=o(),g.memoryAlign=o(),g.tableSize=o(),g.tableAlign=o();else if(k===F)for(var c=o(),h=0;h<c;++h)f=s(),g.neededDynlibs.push(f);else if(k===T)for(var _e=o();_e--;){var fe=s(),te=o();te&y&&g.tlsExports.add(fe)}else if(k===E)for(var _e=o();_e--;){var Ee=s(),fe=s(),te=o();(te&x)==P&&g.weakImports.add(fe)}else t+=H}}return g},newDSO=(e,t,r)=>{var a={refcount:1/0,name:e,exports:r,global:!0};return LDSO.loadedLibsByName[e]=a,t!=null&&(LDSO.loadedLibsByHandle[t]=a),a},LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=205424,alignMemory=(e,t)=>Math.ceil(e/t)*t,getMemory=e=>{if(runtimeInitialized)return _calloc(e,1);var t=___heap_base,r=t+alignMemory(e,16);return ___heap_base=r,GOT.__heap_base.value=r,t},isInternalSym=e=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(e)||e.startsWith("__em_js__"),uleb128Encode=(e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},sigToWasmTypes=e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},r={parameters:[],results:e[0]=="v"?[]:[t[e[0]]]},a=1;a<e.length;++a)r.parameters.push(t[e[a]]);return r},generateFuncType=(e,t)=>{var r=e.slice(0,1),a=e.slice(1),o={i:127,p:127,j:126,f:125,d:124,e:111};t.push(96),uleb128Encode(a.length,t);for(var s=0;s<a.length;++s)t.push(o[a[s]]);r=="v"?t.push(0):t.push(1,o[r])},convertJsFunctionToWasm=(e,t)=>{if(typeof WebAssembly.Function=="function")return new WebAssembly.Function(sigToWasmTypes(t),e);var r=[1];generateFuncType(t,r);var a=[0,97,115,109,1,0,0,0,1];uleb128Encode(r.length,a),a.push(...r),a.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var o=new WebAssembly.Module(new Uint8Array(a)),s=new WebAssembly.Instance(o,{e:{f:e}}),n=s.exports.f;return n},wasmTableMirror=[],wasmTable=new WebAssembly.Table({initial:144,element:"anyfunc"}),getWasmTableEntry=e=>{var t=wasmTableMirror[e];return t||(e>=wasmTableMirror.length&&(wasmTableMirror.length=e+1),wasmTableMirror[e]=t=wasmTable.get(e)),t},updateTableMap=(e,t)=>{if(functionsInTableMap)for(var r=e;r<e+t;r++){var a=getWasmTableEntry(r);a&&functionsInTableMap.set(a,r)}},functionsInTableMap,getFunctionAddress=e=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),freeTableIndexes=[],getEmptyTableSlot=()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(e){throw e instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":e}return wasmTable.length-1},setWasmTableEntry=(e,t)=>{wasmTable.set(e,t),wasmTableMirror[e]=wasmTable.get(e)},addFunction=(e,t)=>{var r=getFunctionAddress(e);if(r)return r;var a=getEmptyTableSlot();try{setWasmTableEntry(a,e)}catch(s){if(!(s instanceof TypeError))throw s;var o=convertJsFunctionToWasm(e,t);setWasmTableEntry(a,o)}return functionsInTableMap.set(e,a),a},updateGOT=(e,t)=>{for(var r in e)if(!isInternalSym(r)){var a=e[r];GOT[r]||(GOT[r]=new WebAssembly.Global({value:"i32",mutable:!0})),(t||GOT[r].value==0)&&(typeof a=="function"?GOT[r].value=addFunction(a):typeof a=="number"?GOT[r].value=a:err(`unhandled export type for '${r}': ${typeof a}`))}},relocateExports=(e,t,r)=>{var a={};for(var o in e){var s=e[o];typeof s=="object"&&(s=s.value),typeof s=="number"&&(s+=t),a[o]=s}return updateGOT(a,r),a},isSymbolDefined=e=>{var t=wasmImports[e];return!(!t||t.stub)},dynCall=(e,t,r=[])=>{var a=getWasmTableEntry(t)(...r);return a},stackSave=()=>_emscripten_stack_get_current(),stackRestore=e=>__emscripten_stack_restore(e),createInvokeFunction=e=>(t,...r)=>{var a=stackSave();try{return dynCall(e,t,r)}catch(o){if(stackRestore(a),o!==o+0)throw o;if(_setThrew(1,0),e[0]=="j")return 0n}},resolveGlobalSymbol=(e,t=!1)=>{var r;return isSymbolDefined(e)?r=wasmImports[e]:e.startsWith("invoke_")&&(r=wasmImports[e]=createInvokeFunction(e.split("_")[1])),{sym:r,name:e}},UTF8ToString=(e,t)=>e?UTF8ArrayToString(HEAPU8,e,t):"",loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var firstLoad=!handle||!HEAP8[handle+8];if(firstLoad){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8]=1,HEAPU32[handle+12>>2]=memoryBase,HEAP32[handle+16>>2]=metadata.memorySize,HEAPU32[handle+20>>2]=tableBase,HEAP32[handle+24>>2]=metadata.tableSize)}else memoryBase=HEAPU32[handle+12>>2],tableBase=HEAPU32[handle+20>>2];var tableGrowthNeeded=tableBase+metadata.tableSize-wasmTable.length;tableGrowthNeeded>0&&wasmTable.grow(tableGrowthNeeded);var moduleExports;function resolveSymbol(e){var t=resolveGlobalSymbol(e).sym;return!t&&localScope&&(t=localScope[e]),t||(t=moduleExports[e]),t}var proxyHandler={get(e,t){switch(t){case"__memory_base":return memoryBase;case"__table_base":return tableBase}if(t in wasmImports&&!wasmImports[t].stub)return wasmImports[t];if(!(t in e)){var r;e[t]=(...a)=>(r||(r=resolveSymbol(t)),r(...a))}return e[t]}},proxy=new Proxy({},proxyHandler),info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf("$"+arity)!=-1;arity++)args.push("$"+arity);args=args.join(",");var func=`(${args}) => { ${body} };`;ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!="void"){cSig=cSig.split(",");for(var i in cSig){var jsArg=cSig[i].split(" ").pop();jsArgs.push(jsArg.replace("*",""))}}var func=`(${jsArgs}) => ${body};`;moduleExports[name]=eval(func)}for(var name in moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():__ATINIT__.push(init)),moduleExports}if(flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(e=>postInstantiation(e.module,e.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return flags.loadAsync?metadata.neededDynlibs.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},mergeLibSymbols=(e,t)=>{for(var[r,a]of Object.entries(e)){let o=n=>{isSymbolDefined(n)||(wasmImports[n]=a)};o(r);let s="__main_argc_argv";r=="main"&&o(s),r==s&&o("main")}},asyncLoad=async e=>{var t=await readAsync(e);return new Uint8Array(t)},preloadPlugins=Module.preloadPlugins||[],registerWasmPlugin=()=>{var e={promiseChainEnd:Promise.resolve(),canHandle:t=>!Module.noWasmDecoding&&t.endsWith(".so"),handle:(t,r,a,o)=>{e.promiseChainEnd=e.promiseChainEnd.then(()=>loadWebAssemblyModule(t,{loadAsync:!0,nodelete:!0},r,{})).then(s=>{preloadedWasm[r]=s,a(t)},s=>{err(`failed to instantiate wasm: ${r}: ${s}`),o()})}};preloadPlugins.push(e)},preloadedWasm={};function loadDynamicLibrary(e,t={global:!0,nodelete:!0},r,a){var o=LDSO.loadedLibsByName[e];if(o)return t.global?o.global||(o.global=!0,mergeLibSymbols(o.exports,e)):r&&Object.assign(r,o.exports),t.nodelete&&o.refcount!==1/0&&(o.refcount=1/0),o.refcount++,a&&(LDSO.loadedLibsByHandle[a]=o),t.loadAsync?Promise.resolve(!0):!0;o=newDSO(e,a,"loading"),o.refcount=t.nodelete?1/0:1,o.global=t.global;function s(){if(a){var l=HEAPU32[a+28>>2],d=HEAPU32[a+32>>2];if(l&&d){var u=HEAP8.slice(l,l+d);return t.loadAsync?Promise.resolve(u):u}}var m=locateFile(e);if(t.loadAsync)return asyncLoad(m);if(!readBinary)throw new Error(`${m}: file not found, and synchronous loading of external files is not available`);return readBinary(m)}function n(){var l=preloadedWasm[e];return l?t.loadAsync?Promise.resolve(l):l:t.loadAsync?s().then(d=>loadWebAssemblyModule(d,t,e,r,a)):loadWebAssemblyModule(s(),t,e,r,a)}function _(l){o.global?mergeLibSymbols(l,e):r&&Object.assign(r,l),o.exports=l}return t.loadAsync?n().then(l=>(_(l),!0)):(_(n()),!0)}var reportUndefinedSymbols=()=>{for(var[e,t]of Object.entries(GOT))if(t.value==0){var r=resolveGlobalSymbol(e,!0).sym;if(!r&&!t.required)continue;if(typeof r=="function")t.value=addFunction(r,r.sig);else if(typeof r=="number")t.value=r;else throw new Error(`bad export type for '${e}': ${typeof r}`)}},loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs"),dynamicLibraries.reduce((e,t)=>e.then(()=>loadDynamicLibrary(t,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0})),Promise.resolve()).then(()=>{reportUndefinedSymbols(),removeRunDependency("loadDylibs")})},noExitRuntime=Module.noExitRuntime||!1,___call_sighandler=(e,t)=>getWasmTableEntry(e)(t);___call_sighandler.sig="vpi";var ___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},1024),___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},205424),PATH={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return t.exec(e).slice(1)},normalizeArray:(e,t)=>{for(var r=0,a=e.length-1;a>=0;a--){var o=e[a];o==="."?e.splice(a,1):o===".."?(e.splice(a,1),r++):r&&(e.splice(a,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=PATH.isAbs(e),r=e.substr(-1)==="/";return e=PATH.normalizeArray(e.split("/").filter(a=>!!a),!t).join("/"),!e&&!t&&(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=PATH.splitPath(e),r=t[0],a=t[1];return!r&&!a?".":(a&&(a=a.substr(0,a.length-1)),r+a)},basename:e=>{if(e==="/")return"/";e=PATH.normalize(e),e=e.replace(/\/$/,"");var t=e.lastIndexOf("/");return t===-1?e:e.substr(t+1)},join:(...e)=>PATH.normalize(e.join("/")),join2:(e,t)=>PATH.normalize(e+"/"+t)},initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return a=>crypto.getRandomValues(a);if(ENVIRONMENT_IS_NODE)try{var e=require("crypto"),t=e.randomFillSync;if(t)return a=>e.randomFillSync(a);var r=e.randomBytes;return a=>(a.set(r(a.byteLength)),a)}catch{}abort("initRandomDevice")},randomFill=e=>(randomFill=initRandomFill())(e),PATH_FS={resolve:(...e)=>{for(var t="",r=!1,a=e.length-1;a>=-1&&!r;a--){var o=a>=0?e[a]:FS.cwd();if(typeof o!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";t=o+"/"+t,r=PATH.isAbs(o)}return t=PATH.normalizeArray(t.split("/").filter(s=>!!s),!r).join("/"),(r?"/":"")+t||"."},relative:(e,t)=>{e=PATH_FS.resolve(e).substr(1),t=PATH_FS.resolve(t).substr(1);function r(d){for(var u=0;u<d.length&&d[u]==="";u++);for(var m=d.length-1;m>=0&&d[m]==="";m--);return u>m?[]:d.slice(u,m-u+1)}for(var a=r(e.split("/")),o=r(t.split("/")),s=Math.min(a.length,o.length),n=s,_=0;_<s;_++)if(a[_]!==o[_]){n=_;break}for(var l=[],_=n;_<a.length;_++)l.push("..");return l=l.concat(o.slice(n)),l.join("/")}},FS_stdin_getChar_buffer=[],lengthBytesUTF8=e=>{for(var t=0,r=0;r<e.length;++r){var a=e.charCodeAt(r);a<=127?t++:a<=2047?t+=2:a>=55296&&a<=57343?(t+=4,++r):t+=3}return t},stringToUTF8Array=(e,t,r,a)=>{if(!(a>0))return 0;for(var o=r,s=r+a-1,n=0;n<e.length;++n){var _=e.charCodeAt(n);if(_>=55296&&_<=57343){var l=e.charCodeAt(++n);_=65536+((_&1023)<<10)|l&1023}if(_<=127){if(r>=s)break;t[r++]=_}else if(_<=2047){if(r+1>=s)break;t[r++]=192|_>>6,t[r++]=128|_&63}else if(_<=65535){if(r+2>=s)break;t[r++]=224|_>>12,t[r++]=128|_>>6&63,t[r++]=128|_&63}else{if(r+3>=s)break;t[r++]=240|_>>18,t[r++]=128|_>>12&63,t[r++]=128|_>>6&63,t[r++]=128|_&63}}return t[r]=0,r-o};function intArrayFromString(e,t,r){var a=r>0?r:lengthBytesUTF8(e)+1,o=new Array(a),s=stringToUTF8Array(e,o,0,o.length);return t&&(o.length=s),o}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var e=null;if(ENVIRONMENT_IS_NODE){var t=256,r=Buffer.alloc(t),a=0,o=process.stdin.fd;try{a=fs.readSync(o,r,0,t)}catch(s){if(s.toString().includes("EOF"))a=0;else throw s}a>0&&(e=r.slice(0,a).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(e=window.prompt("Input: "),e!==null&&(e+=` `));if(!e)return null;FS_stdin_getChar_buffer=intArrayFromString(e,!0)}return FS_stdin_getChar_buffer.shift()},TTY={ttys:[],init(){},shutdown(){},register(e,t){TTY.ttys[e]={input:[],output:[],ops:t},FS.registerDevice(e,TTY.stream_ops)},stream_ops:{open(e){var t=TTY.ttys[e.node.rdev];if(!t)throw new FS.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,a,o){if(!e.tty||!e.tty.ops.get_char)throw new FS.ErrnoError(60);for(var s=0,n=0;n<a;n++){var _;try{_=e.tty.ops.get_char(e.tty)}catch{throw new FS.ErrnoError(29)}if(_===void 0&&s===0)throw new FS.ErrnoError(6);if(_==null)break;s++,t[r+n]=_}return s&&(e.node.atime=Date.now()),s},write(e,t,r,a,o){if(!e.tty||!e.tty.ops.put_char)throw new FS.ErrnoError(60);try{for(var s=0;s<a;s++)e.tty.ops.put_char(e.tty,t[r+s])}catch{throw new FS.ErrnoError(29)}return a&&(e.node.mtime=e.node.ctime=Date.now()),s}},default_tty_ops:{get_char(e){return FS_stdin_getChar()},put_char(e,t){t===null||t===10?(out(UTF8ArrayToString(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(out(UTF8ArrayToString(e.output)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,t,r){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,t){t===null||t===10?(err(UTF8ArrayToString(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(err(UTF8ArrayToString(e.output)),e.output=[])}}},zeroMemory=(e,t)=>{HEAPU8.fill(0,e,e+t)},mmapAlloc=e=>{e=alignMemory(e,65536);var t=_emscripten_builtin_memalign(65536,e);return t&&zeroMemory(t,e),t},MEMFS={ops_table:null,mount(e){return MEMFS.createNode(null,"/",16895,0)},createNode(e,t,r,a){if(FS.isBlkdev(r)||FS.isFIFO(r))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var o=FS.createNode(e,t,r,a);return FS.isDir(o.mode)?(o.node_ops=MEMFS.ops_table.dir.node,o.stream_ops=MEMFS.ops_table.dir.stream,o.contents={}):FS.isFile(o.mode)?(o.node_ops=MEMFS.ops_table.file.node,o.stream_ops=MEMFS.ops_table.file.stream,o.usedBytes=0,o.contents=null):FS.isLink(o.mode)?(o.node_ops=MEMFS.ops_table.link.node,o.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(o.mode)&&(o.node_ops=MEMFS.ops_table.chrdev.node,o.stream_ops=MEMFS.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),e&&(e.contents[t]=o,e.atime=e.mtime=e.ctime=o.atime),o},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){var a=1024*1024;t=Math.max(t,r*(r<a?2:1.125)>>>0),r!=0&&(t=Math.max(t,256));var o=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(o.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(t==0)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=FS.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,FS.isDir(e.mode)?t.size=4096:FS.isFile(e.mode)?t.size=e.usedBytes:FS.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(let r of["mode","atime","mtime","ctime"])t[r]&&(e[r]=t[r]);t.size!==void 0&&MEMFS.resizeFileStorage(e,t.size)},lookup(e,t){throw MEMFS.doesNotExistError},mknod(e,t,r,a){return MEMFS.createNode(e,t,r,a)},rename(e,t,r){var a;try{a=FS.lookupNode(t,r)}catch{}if(a){if(FS.isDir(e.mode))for(var o in a.contents)throw new FS.ErrnoError(55);FS.hashRemoveNode(a)}delete e.parent.contents[e.name],t.contents[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r=FS.lookupNode(e,t);for(var a in r.contents)throw new FS.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir(e){return[".","..",...Object.keys(e.contents)]},symlink(e,t,r){var a=MEMFS.createNode(e,t,41471,0);return a.link=r,a},readlink(e){if(!FS.isLink(e.mode))throw new FS.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,a,o){var s=e.node.contents;if(o>=e.node.usedBytes)return 0;var n=Math.min(e.node.usedBytes-o,a);if(n>8&&s.subarray)t.set(s.subarray(o,o+n),r);else for(var _=0;_<n;_++)t[r+_]=s[o+_];return n},write(e,t,r,a,o,s){if(t.buffer===HEAP8.buffer&&(s=!1),!a)return 0;var n=e.node;if(n.mtime=n.ctime=Date.now(),t.subarray&&(!n.contents||n.contents.subarray)){if(s)return n.contents=t.subarray(r,r+a),n.usedBytes=a,a;if(n.usedBytes===0&&o===0)return n.contents=t.slice(r,r+a),n.usedBytes=a,a;if(o+a<=n.usedBytes)return n.contents.set(t.subarray(r,r+a),o),a}if(MEMFS.expandFileStorage(n,o+a),n.contents.subarray&&t.subarray)n.contents.set(t.subarray(r,r+a),o);else for(var _=0;_<a;_++)n.contents[o+_]=t[r+_];return n.usedBytes=Math.max(n.usedBytes,o+a),a},llseek(e,t,r){var a=t;if(r===1?a+=e.position:r===2&&FS.isFile(e.node.mode)&&(a+=e.node.usedBytes),a<0)throw new FS.ErrnoError(28);return a},allocate(e,t,r){MEMFS.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,a,o){if(!FS.isFile(e.node.mode))throw new FS.ErrnoError(43);var s,n,_=e.node.contents;if(!(o&2)&&_&&_.buffer===HEAP8.buffer)n=!1,s=_.byteOffset;else{if(n=!0,s=mmapAlloc(t),!s)throw new FS.ErrnoError(48);_&&((r>0||r+t<_.length)&&(_.subarray?_=_.subarray(r,r+t):_=Array.prototype.slice.call(_,r,r+t)),HEAP8.set(_,s))}return{ptr:s,allocated:n}},msync(e,t,r,a,o){return MEMFS.stream_ops.write(e,t,0,a,r,!1),0}}},FS_createDataFile=(e,t,r,a,o,s)=>{FS.createDataFile(e,t,r,a,o,s)},FS_handledByPreloadPlugin=(e,t,r,a)=>{typeof Browser<"u"&&Browser.init();var o=!1;return preloadPlugins.forEach(s=>{o||s.canHandle(t)&&(s.handle(e,t,r,a),o=!0)}),o},FS_createPreloadedFile=(e,t,r,a,o,s,n,_,l,d)=>{var u=t?PATH_FS.resolve(PATH.join2(e,t)):e,m=`cp ${u}`;function g(c){function h(f){d?.(),_||FS_createDataFile(e,t,f,a,o,l),s?.(),removeRunDependency(m)}FS_handledByPreloadPlugin(c,u,h,()=>{n?.(),removeRunDependency(m)})||h(c)}addRunDependency(m),typeof r=="string"?asyncLoad(r).then(g,n):g(r)},FS_modeStringToFlags=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},r=t[e];if(typeof r>"u")throw new Error(`Unknown file open mode: ${e}`);return r},FS_getMode=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},PROXYFS={mount(e){return PROXYFS.createNode(null,"/",e.opts.fs.lstat(e.opts.root).mode,0)},createNode(e,t,r,a){if(!FS.isDir(r)&&!FS.isFile(r)&&!FS.isLink(r))throw new FS.ErrnoError(ERRNO_CODES.EINVAL);var o=FS.createNode(e,t,r);return o.node_ops=PROXYFS.node_ops,o.stream_ops=PROXYFS.stream_ops,o},realPath(e){for(var t=[];e.parent!==e;)t.push(e.name),e=e.parent;return t.push(e.mount.opts.root),t.reverse(),PATH.join(...t)},node_ops:{getattr(e){var t=PROXYFS.realPath(e),r;try{r=e.mount.opts.fs.lstat(t)}catch(a){throw a.code?new FS.ErrnoError(ERRNO_CODES[a.code]):a}return{dev:r.dev,ino:r.ino,mode:r.mode,nlink:r.nlink,uid:r.uid,gid:r.gid,rdev:r.rdev,size:r.size,atime:r.atime,mtime:r.mtime,ctime:r.ctime,blksize:r.blksize,blocks:r.blocks}},setattr(e,t){var r=PROXYFS.realPath(e);try{if(t.mode!==void 0&&(e.mount.opts.fs.chmod(r,t.mode),e.mode=t.mode),t.atime||t.mtime){var a=new Date(t.atime||t.mtime),o=new Date(t.mtime||t.atime);e.mount.opts.fs.utime(r,a,o)}t.size!==void 0&&e.mount.opts.fs.truncate(r,t.size)}catch(s){throw s.code?new FS.ErrnoError(ERRNO_CODES[s.code]):s}},lookup(e,t){try{var r=PATH.join2(PROXYFS.realPath(e),t),a=e.mount.opts.fs.lstat(r).mode,o=PROXYFS.createNode(e,t,a);return o}catch(s){throw s.code?new FS.ErrnoError(ERRNO_CODES[s.code]):s}},mknod(e,t,r,a){var o=PROXYFS.createNode(e,t,r,a),s=PROXYFS.realPath(o);try{FS.isDir(o.mode)?o.mount.opts.fs.mkdir(s,o.mode):o.mount.opts.fs.writeFile(s,"",{mode:o.mode})}catch(n){throw n.code?new FS.ErrnoError(ERRNO_CODES[n.code]):n}return o},rename(e,t,r){var a=PROXYFS.realPath(e),o=PATH.join2(PROXYFS.realPath(t),r);try{e.mount.opts.fs.rename(a,o),e.name=r}catch(s){throw s.code?new FS.ErrnoError(ERRNO_CODES[s.code]):s}},unlink(e,t){var r=PATH.join2(PROXYFS.realPath(e),t);try{e.mount.opts.fs.unlink(r)}catch(a){throw a.code?new FS.ErrnoError(ERRNO_CODES[a.code]):a}},rmdir(e,t){var r=PATH.join2(PROXYFS.realPath(e),t);try{e.mount.opts.fs.rmdir(r)}catch(a){throw a.code?new FS.ErrnoError(ERRNO_CODES[a.code]):a}},readdir(e){var t=PROXYFS.realPath(e);try{return e.mount.opts.fs.readdir(t)}catch(r){throw r.code?new FS.ErrnoError(ERRNO_CODES[r.code]):r}},symlink(e,t,r){var a=PATH.join2(PROXYFS.realPath(e),t);try{e.mount.opts.fs.symlink(r,a)}catch(o){throw o.code?new FS.ErrnoError(ERRNO_CODES[o.code]):o}},readlink(e){var t=PROXYFS.realPath(e);try{return e.mount.opts.fs.readlink(t)}catch(r){throw r.code?new FS.ErrnoError(ERRNO_CODES[r.code]):r}}},stream_ops:{open(e){var t=PROXYFS.realPath(e.node);try{e.nfd=e.node.mount.opts.fs.open(t,e.flags)}catch(r){throw r.code?new FS.ErrnoError(ERRNO_CODES[r.code]):r}},close(e){try{e.node.mount.opts.fs.close(e.nfd)}catch(t){throw t.code?new FS.ErrnoError(ERRNO_CODES[t.code]):t}},read(e,t,r,a,o){try{return e.node.mount.opts.fs.read(e.nfd,t,r,a,o)}catch(s){throw s.code?new FS.ErrnoError(ERRNO_CODES[s.code]):s}},write(e,t,r,a,o){try{return e.node.mount.opts.fs.write(e.nfd,t,r,a,o)}catch(s){throw s.code?new FS.ErrnoError(ERRNO_CODES[s.code]):s}},llseek(e,t,r){var a=t;if(r===1)a+=e.position;else if(r===2&&FS.isFile(e.node.mode))try{var o=e.node.node_ops.getattr(e.node);a+=o.size}catch(s){throw new FS.ErrnoError(ERRNO_CODES[s.code])}if(a<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);return a}}},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){L(this,"name","ErrnoError");this.errno=e}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){L(this,"shared",{})}get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,t,r,a){L(this,"node_ops",{});L(this,"stream_ops",{});L(this,"readMode",365);L(this,"writeMode",146);L(this,"mounted",null);e||(e=this),this.parent=e,this.mount=e.mount,this.id=FS.nextInode++,this.name=t,this.mode=r,this.rdev=a,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.rea