browser-sqlite 1.0.0-rc.3 → 1.0.0-rc.4
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.
- package/NOTICE +56 -0
- package/README.md +435 -63
- package/dist/LICENSE +21 -0
- package/dist/NOTICE +56 -0
- package/dist/api.d.ts +376 -0
- package/dist/bulk.d.ts +42 -0
- package/dist/capabilities.d.ts +23 -0
- package/dist/client.d.ts +198 -0
- package/dist/credits.d.ts +31 -0
- package/dist/{esm/src/debug.d.ts → debug.d.ts} +21 -10
- package/dist/delete.d.ts +42 -0
- package/dist/epochs.d.ts +55 -0
- package/dist/errors.d.ts +37 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/locks.d.ts +54 -0
- package/dist/logger.d.ts +24 -0
- package/dist/pool.d.ts +98 -0
- package/dist/queries.d.ts +36 -0
- package/dist/scheduler.d.ts +131 -0
- package/dist/supervisor.d.ts +17 -0
- package/dist/transaction.d.ts +38 -0
- package/dist/types.d.ts +348 -0
- package/dist/utils.d.ts +116 -0
- package/dist/worker/cloneable.d.ts +25 -0
- package/dist/worker/statement-cache.d.ts +22 -0
- package/dist/worker/wa-sqlite-async.wasm +0 -0
- package/dist/worker/wa-sqlite-jspi.wasm +0 -0
- package/dist/worker/wa-sqlite.wasm +0 -0
- package/dist/worker/worker.js +11 -0
- package/dist/worker/worker.js.map +1 -0
- package/package.json +36 -20
- package/dist/esm/index.js +0 -424
- package/dist/esm/rslib.config.d.ts +0 -2
- package/dist/esm/rstest.config.d.ts +0 -2
- package/dist/esm/src/client.d.ts +0 -332
- package/dist/esm/src/index.d.ts +0 -1
- package/dist/esm/src/orchestrator.d.ts +0 -87
- package/dist/esm/src/types.d.ts +0 -83
- package/dist/esm/src/utils.d.ts +0 -6
- /package/dist/{esm/src → worker}/worker.d.ts +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* browser-sqlite worker bundle — MIT
|
|
3
|
+
*
|
|
4
|
+
* Bundles wa-sqlite (https://github.com/rhashimoto/wa-sqlite)
|
|
5
|
+
* Copyright (c) 2023 Roy T. Hashimoto — MIT License
|
|
6
|
+
* Loads WebAssembly builds of SQLite (https://sqlite.org) — public domain
|
|
7
|
+
*
|
|
8
|
+
* Full third-party notices: see NOTICE, distributed alongside this file.
|
|
9
|
+
*/
|
|
10
|
+
let e,t,r,s,n,i,a,o,l;var _,c,u,d,h={};h.d=(e,t,r)=>{var s=(t,r)=>{for(var s in t)h.o(t,s)&&!h.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,[r]:t[s]})};s(t,"get"),s(r,"value")},h.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),h.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var f={};h.r(f),h.d(f,{default:()=>ew});var p={};h.r(p),h.d(p,{default:()=>eg});var m={};h.r(m),h.d(m,{default:()=>ev});var b={};h.r(b),h.d(b,{AccessHandlePoolVFS:()=>ee});var g={};h.r(g),h.d(g,{IDBBatchAtomicVFS:()=>J,IDBContext:()=>Q});var w={};h.r(w),h.d(w,{IDBMirrorVFS:()=>V});var v={};h.r(v),h.d(v,{MemoryAsyncVFS:()=>z});var y={};h.r(y),h.d(y,{MemoryVFS:()=>D});var q={};h.r(q),h.d(q,{OPFSAdaptiveVFS:()=>em});var k={};h.r(k),h.d(k,{OPFSAnyContextVFS:()=>U});var E={};h.r(E),h.d(E,{OPFSCoopSyncVFS:()=>ei});var x={};h.r(x),h.d(x,{OPFSWriteAheadVFS:()=>ed});class S{name;mxPathname=64;_module;constructor(e,t){this.name=e,this._module=t}close(){}isReady(){return!0}hasAsyncMethod(e){return!1}xOpen(e,t,r,s,n){return 14}xDelete(e,t,r){return 0}xAccess(e,t,r,s){return 0}xFullPathname(e,t,r,s){return 0}xGetLastError(e,t,r){return 0}xClose(e){return 0}xRead(e,t,r,s,n){return 0}xWrite(e,t,r,s,n){return 0}xTruncate(e,t,r){return 0}xSync(e,t){return 0}xFileSize(e,t){return 0}xLock(e,t){return 0}xUnlock(e,t){return 0}xCheckReservedLock(e,t){return 0}xFileControl(e,t,r){return 12}xSectorSize(e){return 512}xDeviceCharacteristics(e){return 0}}[256,2048,512,4096,1024,8192,16384,524288].reduce((e,t)=>e|t);let F=Object.getPrototypeOf(async function(){}).constructor;class A extends S{constructor(e,t){super(e,t)}hasAsyncMethod(e){return this[`j${e.slice(1)}`]instanceof F}getFilename(e){throw Error("unimplemented")}jOpen(e,t,r,s){return 14}jDelete(e,t){return 0}jAccess(e,t,r){return 0}jFullPathname(e,t){let{read:r,written:s}=new TextEncoder().encodeInto(e,t);return r<e.length||s>=t.length?10:(t[s]=0,0)}jGetLastError(e){return 0}jClose(e){return 0}jRead(e,t,r){return t.fill(0),522}jWrite(e,t,r){return 778}jTruncate(e,t){return 0}jSync(e,t){return 0}jFileSize(e,t){return 0}jLock(e,t){return 0}jUnlock(e,t){return 0}jCheckReservedLock(e,t){return t.setInt32(0,0,!0),0}jFileControl(e,t,r){return 12}jSectorSize(e){return super.xSectorSize(e)}jDeviceCharacteristics(e){return 0}xOpen(e,t,r,s,n){let i=this.#e(t,s),a=this.#t("Int32",n);return this.log?.("jOpen",i,r,"0x"+s.toString(16)),this.jOpen(i,r,s,a)}xDelete(e,t,r){let s=this._module.UTF8ToString(t);return this.log?.("jDelete",s,r),this.jDelete(s,r)}xAccess(e,t,r,s){let n=this._module.UTF8ToString(t),i=this.#t("Int32",s);return this.log?.("jAccess",n,r),this.jAccess(n,r,i)}xFullPathname(e,t,r,s){let n=this._module.UTF8ToString(t),i=this._module.HEAPU8.subarray(s,s+r);return this.log?.("jFullPathname",n,r),this.jFullPathname(n,i)}xGetLastError(e,t,r){let s=this._module.HEAPU8.subarray(r,r+t);return this.log?.("jGetLastError",t),this.jGetLastError(s)}xClose(e){return this.log?.("jClose",e),this.jClose(e)}xRead(e,t,r,s,n){let i=this.#r(t,r),a=T(s,n);return this.log?.("jRead",e,r,a),this.jRead(e,i,a)}xWrite(e,t,r,s,n){let i=this.#r(t,r),a=T(s,n);return this.log?.("jWrite",e,i,a),this.jWrite(e,i,a)}xTruncate(e,t,r){let s=T(t,r);return this.log?.("jTruncate",e,s),this.jTruncate(e,s)}xSync(e,t){return this.log?.("jSync",e,t),this.jSync(e,t)}xFileSize(e,t){let r=this.#t("BigInt64",t);return this.log?.("jFileSize",e),this.jFileSize(e,r)}xLock(e,t){return this.log?.("jLock",e,t),this.jLock(e,t)}xUnlock(e,t){return this.log?.("jUnlock",e,t),this.jUnlock(e,t)}xCheckReservedLock(e,t){let r=this.#t("Int32",t);return this.log?.("jCheckReservedLock",e),this.jCheckReservedLock(e,r)}xFileControl(e,t,r){let s=new DataView(this._module.HEAPU8.buffer,this._module.HEAPU8.byteOffset+r);return this.log?.("jFileControl",e,t,s),this.jFileControl(e,t,s)}xSectorSize(e){return this.log?.("jSectorSize",e),this.jSectorSize(e)}xDeviceCharacteristics(e){return this.log?.("jDeviceCharacteristics",e),this.jDeviceCharacteristics(e)}#t(e,t){return new I(this._module,t,e)}#r(e,t){return new P(this._module,e,t)}#e(e,t){if(64&t){let t=e,r=1,s=[];for(;r;){let e=this._module.HEAPU8[t++];if(e)s.push(e);else switch(!this._module.HEAPU8[t]&&(r=null),r){case 1:s.push(63),r=2;break;case 2:s.push(61),r=3;break;case 3:s.push(38),r=2}}return new TextDecoder().decode(new Uint8Array(s))}return e?this._module.UTF8ToString(e):null}}function T(e,t){return 0x100000000*t+e+0x100000000*(e<0)}class P{#s;#n=new Uint8Array;get #i(){return 0===this.#n.buffer.byteLength&&(this.#n=this.#s.HEAPU8.subarray(this.byteOffset,this.byteOffset+this.byteLength)),this.#n}constructor(e,t,r){this.#s=e,this.byteOffset=t,this.length=this.byteLength=r}get buffer(){return this.#i.buffer}at(e){return this.#i.at(e)}copyWithin(e,t,r){this.#i.copyWithin(e,t,r)}entries(){return this.#i.entries()}every(e){return this.#i.every(e)}fill(e,t,r){this.#i.fill(e,t,r)}filter(e){return this.#i.filter(e)}find(e){return this.#i.find(e)}findIndex(e){return this.#i.findIndex(e)}findLast(e){return this.#i.findLast(e)}findLastIndex(e){return this.#i.findLastIndex(e)}forEach(e){this.#i.forEach(e)}includes(e,t){return this.#i.includes(e,t)}indexOf(e,t){return this.#i.indexOf(e,t)}join(e){return this.#i.join(e)}keys(){return this.#i.keys()}lastIndexOf(e,t){return this.#i.lastIndexOf(e,t)}map(e){return this.#i.map(e)}reduce(e,t){return this.#i.reduce(e,t)}reduceRight(e,t){return this.#i.reduceRight(e,t)}reverse(){this.#i.reverse()}set(e,t){this.#i.set(e,t)}slice(e,t){return this.#i.slice(e,t)}some(e){return this.#i.some(e)}sort(e){this.#i.sort(e)}subarray(e,t){return this.#i.subarray(e,t)}toLocaleString(e,t){return this.#i.toLocaleString(e,t)}toReversed(){return this.#i.toReversed()}toSorted(e){return this.#i.toSorted(e)}toString(){return this.#i.toString()}values(){return this.#i.values()}with(e,t){return this.#i.with(e,t)}[Symbol.iterator](){return this.#i[Symbol.iterator]()}}class I{#s;#a;#o=new DataView(new ArrayBuffer(0));get #l(){return 0===this.#o.buffer.byteLength&&(this.#o=new DataView(this.#s.HEAPU8.buffer,this.#s.HEAPU8.byteOffset+this.byteOffset)),this.#o}constructor(e,t,r){this.#s=e,this.byteOffset=t,this.#a=r}get buffer(){return this.#l.buffer}get byteLength(){return"Int32"===this.#a?4:8}getInt32(e,t){if("Int32"!==this.#a)throw Error("invalid type");if(!t)throw Error("must be little endian");return this.#l.getInt32(e,t)}setInt32(e,t,r){if("Int32"!==this.#a)throw Error("invalid type");if(!r)throw Error("must be little endian");this.#l.setInt32(e,t,r)}getBigInt64(e,t){if("BigInt64"!==this.#a)throw Error("invalid type");if(!t)throw Error("must be little endian");return this.#l.getBigInt64(e,t)}setBigInt64(e,t,r){if("BigInt64"!==this.#a)throw Error("invalid type");if(!r)throw Error("must be little endian");this.#l.setBigInt64(e,t,r)}}class D extends A{mapNameToFile=new Map;mapIdToFile=new Map;static async create(e,t){let r=new D(e,t);return await r.isReady(),r}constructor(e,t){super(e,t)}close(){for(let e of this.mapIdToFile.keys())this.jClose(e)}jOpen(e,t,r,s){let n=new URL(e||Math.random().toString(36).slice(2),"file://").pathname,i=this.mapNameToFile.get(n);if(!i)if(!(4&r))return 14;else i={pathname:n,flags:r,size:0,data:new ArrayBuffer(0)},this.mapNameToFile.set(n,i);return this.mapIdToFile.set(t,i),s.setInt32(0,r,!0),0}jClose(e){let t=this.mapIdToFile.get(e);return this.mapIdToFile.delete(e),8&t.flags&&this.mapNameToFile.delete(t.pathname),0}jRead(e,t,r){let s=this.mapIdToFile.get(e),n=Math.min(r,s.size),i=Math.min(r+t.byteLength,s.size)-n;return(i&&t.set(new Uint8Array(s.data,n,i)),i<t.byteLength)?(t.fill(0,i),522):0}jWrite(e,t,r){let s=this.mapIdToFile.get(e);if(r+t.byteLength>s.data.byteLength){let e=new ArrayBuffer(Math.max(r+t.byteLength,2*s.data.byteLength));new Uint8Array(e).set(new Uint8Array(s.data,0,s.size)),s.data=e}return new Uint8Array(s.data,r,t.byteLength).set(t.subarray()),s.size=Math.max(s.size,r+t.byteLength),0}jTruncate(e,t){let r=this.mapIdToFile.get(e);return r.size=Math.min(r.size,t),0}jFileSize(e,t){let r=this.mapIdToFile.get(e);return t.setBigInt64(0,BigInt(r.size),!0),0}jDelete(e,t){let r=new URL(e,"file://").pathname;return this.mapNameToFile.delete(r),0}jAccess(e,t,r){let s=new URL(e,"file://").pathname,n=this.mapNameToFile.get(s);return r.setInt32(0,+!!n,!0),0}}class z extends D{static async create(e,t){let r=new D(e,t);return await r.isReady(),r}constructor(e,t){super(e,t)}async close(){for(let e of this.mapIdToFile.keys())await this.xClose(e)}async jOpen(e,t,r,s){return super.jOpen(e,t,r,s)}async jClose(e){return super.jClose(e)}async jRead(e,t,r){return super.jRead(e,t,r)}async jWrite(e,t,r){return super.jWrite(e,t,r)}async xTruncate(e,t){return super.jTruncate(e,t)}async jFileSize(e,t){return super.jFileSize(e,t)}async jDelete(e,t){return super.jDelete(e,t)}async jAccess(e,t,r){return super.jAccess(e,t,r)}}let L={mode:"shared"},M={ifAvailable:!0,mode:"shared"},j={ifAvailable:!0,mode:"exclusive"},C=["exclusive","shared","shared+hint"],R=e=>class extends e{#_={lockPolicy:"exclusive",lockTimeout:1/0};#c=new Map;constructor(e,t,r){if(super(e,t,r),Object.assign(this.#_,r),-1===C.indexOf(this.#_.lockPolicy))throw Error(`WebLocksMixin: invalid lock mode: ${r.lockPolicy}`)}async jLock(e,t){try{let r=this.#u(e);if(t<=r.type)return 0;switch(this.#_.lockPolicy){case"exclusive":return await this.#d(r,t);case"shared":case"shared+hint":return await this.#h(r,t)}}catch(e){return console.error("WebLocksMixin: lock error",e),3850}}async jUnlock(e,t){try{let r=this.#u(e);if(!(t<r.type))return 0;switch(this.#_.lockPolicy){case"exclusive":return await this.#f(r,t);case"shared":case"shared+hint":return await this.#p(r,t)}}catch(e){return console.error("WebLocksMixin: unlock error",e),2058}}async jCheckReservedLock(e,t){try{let r=this.#u(e);switch(this.#_.lockPolicy){case"exclusive":return this.#m(r,t);case"shared":case"shared+hint":return await this.#b(r,t)}}catch(e){return console.error("WebLocksMixin: check reserved lock error",e),3594}return t.setInt32(0,0,!0),0}jFileControl(e,t,r){return t===R.WRITE_HINT_OP_CODE&&"shared+hint"===this.#_.lockPolicy&&(this.#u(e).writeHint=!0),12}#u(e){let t=this.#c.get(e);return t||(t={baseName:this.getFilename(e),type:0,writeHint:!1},this.#c.set(e,t)),t}async #d(e,t){if(!e.access){if(!await this.#g(e,"access"))return 5;console.assert(!!e.access)}return e.type=t,0}#f(e,t){return 0===t&&(e.access?.(),console.assert(!e.access)),e.type=t,0}#m(e,t){return t.setInt32(0,0,!0),0}async #h(e,t){switch(e.type){case 0:if(1===t){if(e.writeHint&&!await this.#g(e,"hint"))return 5;if(!await this.#g(e,"gate",L))return e.hint?.(),5;await this.#g(e,"access",L),e.gate(),console.assert(!e.gate),console.assert(!!e.access),console.assert(!e.reserved)}else throw Error("unsupported lock transition");break;case 1:switch(t){case 2:if("shared+hint"===this.#_.lockPolicy&&!e.hint&&!await this.#g(e,"hint",j))return 5;if(!await this.#g(e,"reserved",j))return e.hint?.(),5;e.access(),console.assert(!e.gate),console.assert(!e.access),console.assert(!!e.reserved);break;case 4:if(!await this.#g(e,"gate"))return 5;if(e.access(),!await this.#g(e,"access"))return e.gate(),5;console.assert(!!e.gate),console.assert(!!e.access),console.assert(!e.reserved);break;default:throw Error("unsupported lock transition")}break;case 2:if(4===t){if(!await this.#g(e,"gate"))return 5;if(!await this.#g(e,"access"))return e.gate(),5;console.assert(!!e.gate),console.assert(!!e.access),console.assert(!!e.reserved)}else throw Error("unsupported lock transition")}return e.type=t,0}async #p(e,t){if(0===t)e.access?.(),e.gate?.(),e.reserved?.(),e.hint?.(),e.writeHint=!1,console.assert(!e.access),console.assert(!e.gate),console.assert(!e.reserved),console.assert(!e.hint);else switch(e.type){case 4:e.access(),await this.#g(e,"access",L),e.gate(),e.reserved?.(),e.hint?.(),console.assert(!!e.access),console.assert(!e.gate),console.assert(!e.reserved);break;case 2:await this.#g(e,"access",L),e.reserved(),e.hint?.(),console.assert(!!e.access),console.assert(!e.gate),console.assert(!e.reserved)}return e.type=t,0}async #b(e,t){return await this.#g(e,"reserved",M)?(e.reserved(),t.setInt32(0,0,!0)):t.setInt32(0,1,!0),0}#g(e,t,r={}){return console.assert(!e[t]),new Promise(s=>{if(!r.ifAvailable&&this.#_.lockTimeout<1/0){let e=new AbortController;r=Object.assign({},r,{signal:e.signal}),setTimeout(()=>{e.abort(),s?.(!1)},this.#_.lockTimeout)}let n=`lock##${e.baseName}##${t}`;navigator.locks.request(n,r,r=>{if(r)return new Promise(r=>{e[t]=()=>{r(),e[t]=null},s(!0),s=null});e[t]=null,s(!1),s=null}).catch(e=>{if("AbortError"!==e.name)throw e})})}};async function H(e,t){let[r,s,n]=e.match(/[/]?(.*)[/](.*)$/),i=await navigator.storage.getDirectory();for(let e of s.split("/"))e&&(i=await i.getDirectoryHandle(e,{create:t}));return[i,n]}R.WRITE_HINT_OP_CODE=-9999;class O{pathname;flags;fileHandle;blob;writable;constructor(e,t){this.pathname=e,this.flags=t}}class U extends R(A){mapIdToFile=new Map;lastError=null;log=null;static async create(e,t,r){let s=new U(e,t,r);return await s.isReady(),s}constructor(e,t,r={}){super(e,t,r)}getFilename(e){let t=this.mapIdToFile.get(e).pathname;return`OPFS:${t}`}async jOpen(e,t,r,s){try{let n=new URL(e||Math.random().toString(36).slice(2),"file://").pathname,i=new O(n,r);this.mapIdToFile.set(t,i);let a=!!(4&r),[o,l]=await H(n,a);return i.fileHandle=await o.getFileHandle(l,{create:a}),s.setInt32(0,r,!0),0}catch(e){return this.lastError=e,14}}async jDelete(e,t){try{let r=new URL(e,"file://").pathname,[s,n]=await H(r,!1),i=s.removeEntry(n,{recursive:!1});return t&&await i,0}catch(e){return 2570}}async jAccess(e,t,r){try{let t=new URL(e,"file://").pathname,[s,n]=await H(t,!1);return await s.getFileHandle(n,{create:!1}),r.setInt32(0,1,!0),0}catch(e){if("NotFoundError"===e.name)return r.setInt32(0,0,!0),0;return this.lastError=e,3338}}async jClose(e){try{let t=this.mapIdToFile.get(e);if(this.mapIdToFile.delete(e),await t.writable?.close(),t?.flags&8){let[e,r]=await H(t.pathname,!1);await e.removeEntry(r,{recursive:!1})}return 0}catch(e){return 2570}}async jRead(e,t,r){try{let s=this.mapIdToFile.get(e);s.writable&&(await s.writable.close(),s.writable=null,s.blob=null),s.blob||(s.blob=await s.fileHandle.getFile());let n=await s.blob.slice(r,r+t.byteLength).arrayBuffer().then(e=>(t.set(new Uint8Array(e)),e.byteLength));if(n<t.byteLength)return t.fill(0,n),522;return 0}catch(e){return this.lastError=e,266}}async jWrite(e,t,r){try{let s=this.mapIdToFile.get(e);return s.writable||(s.writable=await s.fileHandle.createWritable({keepExistingData:!0})),await s.writable.seek(r),await s.writable.write(t.slice()),s.blob=null,0}catch(e){return this.lastError=e,778}}async jTruncate(e,t){try{let r=this.mapIdToFile.get(e);return r.writable||(r.writable=await r.fileHandle.createWritable({keepExistingData:!0})),await r.writable.truncate(t),r.blob=null,0}catch(e){return this.lastError=e,1546}}async jSync(e,t){try{let t=this.mapIdToFile.get(e);return await t.writable?.close(),t.writable=null,t.blob=null,0}catch(e){return this.lastError=e,1034}}async jFileSize(e,t){try{let r=this.mapIdToFile.get(e);return r.writable&&(await r.writable.close(),r.writable=null,r.blob=null),r.blob||(r.blob=await r.fileHandle.getFile()),t.setBigInt64(0,BigInt(r.blob.size),!0),0}catch(e){return this.lastError=e,1802}}async jLock(e,t){return 1===t&&(this.mapIdToFile.get(e).blob=null),super.jLock(e,t)}jGetLastError(e){if(this.lastError){console.error(this.lastError);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.lastError.message,t);e[r]=0}return 0}}let N={mode:"shared"},B={ifAvailable:!0,mode:"shared"},$={ifAvailable:!0,mode:"exclusive"};Math.random().toString(36).slice(2);class W{path;flags;blockSize;blocks;viewTx;viewReleaser;broadcastChannel;broadcastReceived;lockState;locks;abortController;txActive;txWriteHint;txOverwrite;synchronous;constructor(e,t){this.path=e,this.flags=t,this.blockSize=0,this.blocks=new Map,256&t&&(this.viewTx=null,this.viewReleaser=null,this.broadcastChannel=new BroadcastChannel("mirror:"+e),this.broadcastReceived=[],this.lockState=0,this.locks={},this.txActive=null,this.txWriteHint=!1,this.txOverwrite=!1,this.synchronous="full")}}class V extends A{#w=new Map;#v=new Map;#y=null;#q;log=null;#k;static async create(e,t,r){let s=new V(e,t,r);return await s.isReady(),s}constructor(e,t,r={}){super(e,t),this.#k=this.#E(e)}async #E(e){this.#q=await new Promise((t,r)=>{let s=indexedDB.open(e,1);s.onupgradeneeded=e=>{let t=s.result;0===e.oldVersion&&(t.createObjectStore("blocks",{keyPath:["path","offset"]}),t.createObjectStore("tx",{keyPath:["path","txId"]}))},s.onsuccess=()=>t(s.result),s.onerror=()=>r(s.error)})}close(){return this.#q.close()}async isReady(){return await super.isReady(),this.#k}async jOpen(e,t,r,s){try{let n,i=new URL(e||Math.random().toString(36).slice(2),"file://").pathname;if(256&r){n=new W(i,r);let e=this.#q.transaction(["blocks","tx"],"readwrite"),t=e.objectStore("blocks");if(await G(t.count([i,0]))===0)if(4&r)await G(t.put({path:i,offset:0,data:new Uint8Array(0)}));else throw Error("File not found");await new Promise((e,r)=>{let s=IDBKeyRange.bound([i,0],[i,1/0]),a=t.openCursor(s);a.onsuccess=()=>{let t=a.result;if(t){let{offset:e,data:r}=t.value;n.blocks.set(e,r),t.continue()}else e()},a.onerror=()=>r(a.error)}),n.blockSize=n.blocks.get(0)?.byteLength??0;let s=e.objectStore("tx");n.viewTx=await new Promise((e,t)=>{let r=IDBKeyRange.bound([i,0],[i,1/0]),n=s.openCursor(r,"prev");n.onsuccess=()=>{let t=n.result;t?e(t.value):e({txId:0})},n.onerror=()=>t(n.error)}),await this.#x(n,n.viewTx),n.broadcastChannel.addEventListener("message",e=>{n.broadcastReceived.push(e.data),0===n.lockState&&this.#S(n)})}else if(!(n=this.#v.get(i)))if(4&r)(n=new W(i,r)).blocks.set(0,new Uint8Array(0));else throw Error("File not found");return s.setInt32(0,r,!0),this.#w.set(t,n),this.#v.set(i,n),0}catch(e){return this.#y=e,14}}async jDelete(e,t){try{let r=new URL(e,"file://").pathname,s=await this.#F(r);return t&&await s,0}catch(e){return 2570}}async jAccess(e,t,r){try{let t=new URL(e,"file://").pathname,s=this.#v.has(t);return r.setInt32(0,+!!s,!0),0}catch(e){return this.#y=e,3338}}async jClose(e){try{let t=this.#w.get(e);return this.#w.delete(e),t?.flags&256&&(t.broadcastChannel.close(),t.viewReleaser?.()),t?.flags&8&&this.#F(t.path),0}catch(e){return 4106}}jRead(e,t,r){try{let s=this.#w.get(e),n=0,i=0;for(;i<t.byteLength;){let e=r+i,a=Math.floor(e/s.blockSize),o=e%s.blockSize,l=s.txActive?.blocks.get(a*s.blockSize)??s.blocks.get(a*s.blockSize);if(!l)break;let _=Math.min(l.byteLength-o,t.byteLength-i);t.set(l.subarray(o,o+_),i),i+=_,n+=_}if(n<t.byteLength)return t.fill(0,n),522;return 0}catch(e){return this.#y=e,266}}jWrite(e,t,r){try{let s=this.#w.get(e);if(256&s.flags){this.#A(s);for(let e=s.txActive.fileSize;e<r;e+=t.byteLength)s.txActive.blocks.set(e,new Uint8Array(t.byteLength));s.txActive.blocks.set(r,t.slice()),s.txActive.fileSize=Math.max(s.txActive.fileSize,r+t.byteLength),s.blockSize=t.byteLength}else{let e=s.blocks.get(0);if(r+t.byteLength>e.byteLength){let n=Math.max(r+t.byteLength,2*e.byteLength),i=new Uint8Array(n);i.set(e),s.blocks.set(0,i),e=i}e.set(t,r),s.blockSize=Math.max(s.blockSize,r+t.byteLength)}return 0}catch(e){return this.lastError=e,778}}jTruncate(e,t){try{let r=this.#w.get(e);if(256&r.flags)this.#A(r),r.txActive.fileSize=t;else if(t<r.blockSize){let e=r.blocks.get(0);r.blocks.set(0,e.subarray(0,t)),r.blockSize=t}return 0}catch(e){return console.error(e),this.lastError=e,1546}}jFileSize(e,t){let r=this.#w.get(e),s=r.txActive?.fileSize??r.blockSize*r.blocks.size;return t.setBigInt64(0,BigInt(s),!0),0}async jLock(e,t){let r=this.#w.get(e);if(t<=r.lockState)return 0;switch(t){case 1:if(r.txWriteHint&&!await this.#T(r,"hint"))return 5;break;case 2:if(!r.locks.hint&&!await this.#T(r,"hint",$))return 5;if(!await this.#T(r,"reserved",$))return r.locks.hint(),5;let s=this.#q.transaction(["blocks","tx"]),n=IDBKeyRange.bound([r.path,r.viewTx.txId],[r.path,1/0]),i=await G(s.objectStore("tx").getAll(n));if(i.length&&i.at(-1).txId>r.viewTx.txId){let e=s.objectStore("blocks");for(let t of i)for(let s of Array.from(t.blocks.keys())){let n=await G(e.get([r.path,s]));t.blocks.set(s,n.data)}return r.broadcastReceived.push(...i),r.locks.reserved(),5}console.assert(i[0]?.txId===r.viewTx.txId||!r.viewTx.txId);break;case 4:await this.#T(r,"write")}return r.lockState=t,0}jUnlock(e,t){let r=this.#w.get(e);if(t>=r.lockState)return 0;switch(t){case 1:r.locks.write?.(),r.locks.reserved?.(),r.locks.hint?.();break;case 0:this.#S(r),r.locks.write?.(),r.locks.reserved?.(),r.locks.hint?.()}return r.lockState=t,0}async jCheckReservedLock(e,t){try{let r=this.#w.get(e);return console.assert(256&r.flags),await this.#T(r,"reserved",B)?(t.setInt32(0,0,!0),r.locks.reserved()):t.setInt32(0,1,!0),0}catch(e){return console.error(e),this.lastError=e,3850}}async jFileControl(e,t,r){try{let s=this.#w.get(e);switch(t){case 14:let n=X(r,4),i=X(r,8);switch(this.log?.("xFileControl",s.path,"PRAGMA",n,i),n.toLowerCase()){case"page_size":if(i&&s.blockSize&&Number(i)!==s.blockSize)return 1;break;case"synchronous":if(i)switch(i.toLowerCase()){case"full":case"2":case"extra":case"3":s.synchronous="full";break;case"normal":case"1":s.synchronous="normal";break;default:return console.warn(`unsupported synchronous mode: ${i}`),1}}break;case 31:return this.log?.("xFileControl","BEGIN_ATOMIC_WRITE",s.path),0;case 32:return this.log?.("xFileControl","COMMIT_ATOMIC_WRITE",s.path),0;case 33:return this.#P(s),0;case 21:this.log?.("xFileControl","SYNC",s.path),s.txActive&&!s.txOverwrite&&await this.#I(s);break;case 11:s.txOverwrite=!0;break;case 22:this.log?.("xFileControl","COMMIT_PHASETWO",s.path),s.txActive&&await this.#I(s),s.txOverwrite=!1}}catch(e){return this.#y=e,10}return 12}jDeviceCharacteristics(e){return 18432}jGetLastError(e){if(this.#y){console.error(this.#y);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.#y.message,t);e[r]=0}return 0}#D(e,t){for(let[r,s]of t.blocks)e.blocks.set(r,s),0===e.blockSize&&(e.blockSize=s.byteLength);let r=t.fileSize+e.blockSize;for(;e.blocks.delete(r);)r+=e.blockSize;e.viewTx=t}async #I(e){this.#D(e,e.txActive),this.#x(e,e.txActive);let t=await this.#z(e),r=this.#q.transaction(["blocks","tx"],"readwrite"),s=r.objectStore("blocks");for(let[t,r]of e.txActive.blocks)s.put({path:e.path,offset:t,data:r});let n=IDBKeyRange.bound([e.path,-1/0],[e.path,t],!1,!0);r.objectStore("tx").delete(n);let i=Object.assign({},e.txActive);i.blocks=new Map(Array.from(e.txActive.blocks,([e])=>[e,null])),r.objectStore("tx").put(i);let a=new Promise((t,s)=>{let n=e.txActive;r.oncomplete=()=>{e.broadcastChannel.postMessage(n),t()},r.onabort=()=>s(r.error),r.commit()});"full"===e.synchronous&&await a,e.txActive=null,e.txWriteHint=!1}#P(e){e.txActive=null,e.txWriteHint=!1}#A(e){e.txActive||(e.txActive={path:e.path,txId:e.viewTx.txId+1,blocks:new Map,fileSize:e.blockSize*e.blocks.size})}async #F(e){this.#v.delete(e);let t=this.#q.transaction(["blocks"],"readwrite").objectStore("blocks").delete(IDBKeyRange.bound([e,0],[e,1/0]));await new Promise((e,r)=>{let s=t.transaction;s.oncomplete=e,s.onerror=()=>r(s.error)})}async #z(e){let t=/^(.*)@@\[(\d+)\]$/,r=e.viewTx.txId;for(let{name:s}of(await navigator.locks.query()).held){let n=t.exec(s);n&&n[1]===e.path&&(r=Math.min(r,Number(n[2])))}return r}#T(e,t,r={}){return new Promise(s=>{let n=`${e.path}@@${t}`;navigator.locks.request(n,r,r=>{if(r)return new Promise(r=>{e.locks[t]=()=>{r(),e.locks[t]=null},s(!0)});e.locks[t]=null,s(!1)}).catch(e=>{if("AbortError"!==e.name)throw e})})}#S(e){e.broadcastReceived.sort((e,t)=>e.txId-t.txId);let t=0,r=e.viewTx;for(let s of e.broadcastReceived){if(s.txId<=r.txId);else if(s.txId===r.txId+1)this.log?.(`accept tx ${s.txId}`),this.#D(e,s),r=s;else{console.warn(`missing tx ${r.txId+1} (got ${s.txId})`);break}t++}e.broadcastReceived.splice(0,t),r.txId>e.viewTx.txId&&this.#x(e,r)}async #x(e,t){e.viewTx=t;let r=`${e.path}@@[${t.txId}]`,s=await new Promise(e=>{navigator.locks.request(r,N,t=>new Promise(t=>{e(t)}))});e.viewReleaser?.(),e.viewReleaser=s}}function G(e){return new Promise((t,r)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>r(e.error)})}function X(e,t){let r=e.getUint32(t,!0);if(r){let t=new Uint8Array(e.buffer,r);return new TextDecoder().decode(t.subarray(0,t.indexOf(0)))}return null}let K=new Set(["TransactionInactiveError","InvalidStateError"]);class Y{path;flags;metadata;fileSize=0;needsMetadataSync=!1;rollback=null;changedPages=new Set;synchronous="full";txOptions={durability:"strict"};constructor(e,t,r){this.path=e,this.flags=t,this.metadata=r}}class J extends R(A){mapIdToFile=new Map;lastError=null;log=null;#k;#q;static async create(e,t,r){let s=new J(e,t,r);return await s.isReady(),s}constructor(e,t,r={}){super(e,t,r),this.#k=this.#E(r.idbName??e)}async #E(e){this.#q=await Q.create(e)}close(){this.#q.close()}async isReady(){await super.isReady(),await this.#k}getFilename(e){let t=this.mapIdToFile.get(e).path;return`IDB(${this.name}):${t}`}async jOpen(e,t,r,s){try{let n=new URL(e||Math.random().toString(36).slice(2),"file://").pathname,i=await this.#q.q(({metadata:e})=>e.get(n));if(!i&&4&r&&(i={name:n,fileSize:0,version:0},await this.#q.q(({metadata:e})=>e.put(i),"rw")),!i)throw Error(`File ${n} not found`);let a=new Y(n,r,i);return this.mapIdToFile.set(t,a),s.setInt32(0,r,!0),0}catch(e){return this.lastError=e,14}}async jDelete(e,t){try{let r=new URL(e,"file://").pathname;return this.#q.q(({metadata:e,blocks:t})=>{let s=IDBKeyRange.bound([r,-1/0],[r,1/0]);t.delete(s),e.delete(r)},"rw"),t&&await this.#q.sync(!1),0}catch(e){return this.lastError=e,2570}}async jAccess(e,t,r){try{let t=new URL(e,"file://").pathname,s=await this.#q.q(({metadata:e})=>e.get(t));return r.setInt32(0,+!!s,!0),0}catch(e){return this.lastError=e,3338}}async jClose(e){try{let t=this.mapIdToFile.get(e);return this.mapIdToFile.delete(e),8&t.flags&&await this.#q.q(({metadata:e,blocks:r})=>{e.delete(t.path),r.delete(IDBKeyRange.bound([t.path,0],[t.path,1/0]))},"rw"),t.needsMetadataSync&&this.#q.q(({metadata:e})=>e.put(t.metadata),"rw"),await this.#q.sync("full"===t.synchronous),0}catch(e){return this.lastError=e,4106}}async jRead(e,t,r){try{let s=this.mapIdToFile.get(e),n=0;for(;n<t.byteLength;){let e=r+n,i=await this.#q.q(({blocks:t})=>{let r=IDBKeyRange.bound([s.path,-e],[s.path,1/0]);return t.get(r)});if(!i||i.data.byteLength-i.offset<=e)return t.fill(0,n),522;let a=t.subarray(n),o=e+i.offset,l=Math.min(Math.max(i.data.byteLength-o,0),a.byteLength);a.set(i.data.subarray(o,o+l)),n+=l}return 0}catch(e){return this.lastError=e,266}}jWrite(e,t,r){try{let s=this.mapIdToFile.get(e);if(256&s.flags&&!s.rollback){let e=Object.assign({pendingVersion:s.metadata.version-1},s.metadata);this.#q.q(({metadata:t})=>t.put(e),"rw",s.txOptions),s.rollback=Object.assign({},s.metadata),s.metadata.version--}256&s.flags&&s.changedPages.add(r);let n=t.slice(),i=s.metadata.version;if(!(r<s.metadata.fileSize)||256&s.flags||512&s.flags){let e={path:s.path,offset:-r,version:i,data:t.slice()};this.#q.q(({blocks:t})=>{t.put(e),s.changedPages.add(r)},"rw",s.txOptions)}else this.#q.q(async({blocks:e})=>{let t=IDBKeyRange.bound([s.path,-r],[s.path,1/0]),i=await e.get(t);i.data.subarray(r+i.offset).set(n),e.put(i)},"rw",s.txOptions);return s.metadata.fileSize<r+t.length&&(s.metadata.fileSize=r+t.length,s.needsMetadataSync=!0),0}catch(e){return this.lastError=e,778}}jTruncate(e,t){try{let r=this.mapIdToFile.get(e);return t<r.metadata.fileSize&&(this.#q.q(({blocks:e})=>{let s=IDBKeyRange.bound([r.path,-1/0],[r.path,-t,1/0]);e.delete(s)},"rw",r.txOptions),r.metadata.fileSize=t,r.needsMetadataSync=!0),0}catch(e){return this.lastError=e,1546}}async jSync(e,t){try{let t=this.mapIdToFile.get(e);return t.needsMetadataSync&&(this.#q.q(({metadata:e})=>e.put(t.metadata),"rw",t.txOptions),t.needsMetadataSync=!1),256&t.flags?"full"===t.synchronous&&await this.#q.sync(!0):await this.#q.sync("full"===t.synchronous),0}catch(e){return this.lastError=e,1034}}jFileSize(e,t){try{let r=this.mapIdToFile.get(e);return t.setBigInt64(0,BigInt(r.metadata.fileSize),!0),0}catch(e){return this.lastError=e,1802}}async jLock(e,t){let r=this.mapIdToFile.get(e),s=await super.jLock(e,t);return 1===t&&(r.metadata=await this.#q.q(async({metadata:e,blocks:t})=>{let s=await e.get(r.path);return s.pendingVersion&&(console.warn(`removing failed transaction ${s.pendingVersion}`),await new Promise((e,r)=>{let n=IDBKeyRange.bound([s.name,-1/0],[s.name,1/0]),i=t.openCursor(n);i.onsuccess=()=>{let t=i.result;t?(t.value.version<s.version&&t.delete(),t.continue()):e()},i.onerror=()=>r(i.error)}),delete s.pendingVersion,e.put(s)),s},"rw",r.txOptions)),s}async jUnlock(e,t){if(0===t){let t=this.mapIdToFile.get(e);await this.#q.sync("full"===t.synchronous)}return super.jUnlock(e,t)}jFileControl(e,t,r){try{let s=this.mapIdToFile.get(e);switch(t){case 14:let n=Z(r,4),i=Z(r,8);switch(this.log?.("xFileControl",s.path,"PRAGMA",n,i),n.toLowerCase()){case"page_size":if(256&s.flags&&i&&s.metadata.fileSize)return 1;break;case"synchronous":if(i)switch(i.toLowerCase()){case"0":case"off":s.synchronous="off",s.txOptions={durability:"relaxed"};break;case"1":case"normal":s.synchronous="normal",s.txOptions={durability:"relaxed"};break;case"2":case"3":case"full":case"extra":s.synchronous="full",s.txOptions={durability:"strict"}}break;case"write_hint":return super.jFileControl(e,R.WRITE_HINT_OP_CODE,null)}break;case 21:if(this.log?.("xFileControl",s.path,"SYNC"),s.rollback){let e=Object.assign({},s.metadata),t=s.rollback.fileSize;this.#q.q(({metadata:r,blocks:n})=>{for(let i of(r.put(e),s.changedPages))if(i<t){let t=IDBKeyRange.bound([s.path,-i,e.version],[s.path,-i,1/0],!0);n.delete(t)}s.changedPages.clear()},"rw",s.txOptions),s.needsMetadataSync=!1,s.rollback=null}break;case 31:return this.log?.("xFileControl",s.path,"BEGIN_ATOMIC_WRITE"),0;case 32:return this.log?.("xFileControl",s.path,"COMMIT_ATOMIC_WRITE"),0;case 33:this.log?.("xFileControl",s.path,"ROLLBACK_ATOMIC_WRITE"),s.metadata=s.rollback;let a=Object.assign({},s.metadata);return this.#q.q(({metadata:e,blocks:t})=>{for(let r of(e.put(a),s.changedPages))t.delete([s.path,-r,a.version-1]);s.changedPages.clear()},"rw",s.txOptions),s.needsMetadataSync=!1,s.rollback=null,0}}catch(e){return this.lastError=e,10}return super.jFileControl(e,t,r)}jDeviceCharacteristics(e){return 18432}jGetLastError(e){if(this.lastError){console.error(this.lastError);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.lastError.message,t);e[r]=0}return 0}}function Z(e,t){let r=e.getUint32(t,!0);if(r){let t=new Uint8Array(e.buffer,r);return new TextDecoder().decode(t.subarray(0,t.indexOf(0)))}return null}class Q{#L;#M=null;#j=Promise.resolve();#C=null;#R=new WeakSet;log=null;static async create(e){return new Q(await new Promise((t,r)=>{let s=indexedDB.open(e,6);s.onupgradeneeded=async e=>{let t=s.result;switch(e.oldVersion&&console.log(`Upgrading IndexedDB from version ${e.oldVersion}`),e.oldVersion){case 0:t.createObjectStore("blocks",{keyPath:["path","offset","version"]}).createIndex("version",["path","version"]);case 5:let r=s.transaction;r.objectStore("blocks").deleteIndex("version");let n=t.createObjectStore("metadata",{keyPath:"name"});await new Promise((e,t)=>{let s={},i=r.objectStore("blocks").openCursor();i.onsuccess=()=>{let t=i.result;if(t){let e=t.value;"number"!=typeof e.offset||e.path===s.path&&e.offset===s.offset?t.delete():0===e.offset&&(n.put({name:e.path,fileSize:e.fileSize,version:e.version}),delete e.fileSize,t.update(e)),s=e,t.continue()}else e()},i.onerror=()=>t(i.error)})}},s.onsuccess=()=>t(s.result),s.onerror=()=>r(s.error)}))}constructor(e){this.#L=e}close(){this.#L.close()}q(e,t="ro",r={}){let s="ro"===t?"readonly":"readwrite",n=Object.assign({durability:"default"},r);return this.#M=(this.#M||Promise.resolve()).then(()=>this.#H(e,s,n)),this.#M}async #H(e,t,r){let s;this.#C&&this.#R.has(this.#C.transaction)&&this.#C.transaction.mode>=t&&this.#C.transaction.durability===r.durability&&(s=this.#C.transaction,"pending"===this.#C.readyState&&await new Promise(e=>{this.#C.addEventListener("success",e,{once:!0}),this.#C.addEventListener("error",e,{once:!0})}));for(let n=0;n<2;++n){s||(await this.#j,s=this.#L.transaction(this.#L.objectStoreNames,t,r),this.log?.("IDBTransaction open",t),this.#R.add(s),this.#j=new Promise((e,t)=>{s.addEventListener("complete",()=>{this.log?.("IDBTransaction complete"),this.#R.delete(s),e()}),s.addEventListener("abort",()=>{this.#R.delete(s),t(Error("transaction aborted"))})}));try{let t=[...s.objectStoreNames].map(e=>[e,this.proxyStoreOrIndex(s.objectStore(e))]);return await e(Object.fromEntries(t))}catch(e){if(!n&&K.has(e.name)){this.log?.(`${e.name}, retrying`),s=null;continue}throw e}}}proxyStoreOrIndex(e){return new Proxy(e,{get:(e,t,r)=>{let s=Reflect.get(e,t,r);return"function"==typeof s?(...r)=>{var n;let i=Reflect.apply(s,e,r);return i instanceof IDBRequest&&!t.endsWith("Cursor")?(this.#C=i,i.addEventListener("error",()=>{console.error(i.error),i.transaction.abort()},{once:!0}),n=i,new Promise((e,t)=>{n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})):i}:s}})}async sync(e){this.#M&&(await this.#M,e&&await this.#j,this.reset())}reset(){this.#M=null,this.#j=Promise.resolve(),this.#C=null}}class ee extends A{log=null;#O;#U;#N=new Map;#B=new Map;#$=new Set;#w=new Map;static async create(e,t){let r=new ee(e,t);return await r.isReady(),r}constructor(e,t){super(e,t),this.#O=e}jOpen(e,t,r,s){try{let n=e?this.#W(e):Math.random().toString(36),i=this.#B.get(n);if(!i&&4&r)if(this.getSize()<this.getCapacity())[i]=this.#$.keys(),this.#V(i,n,r);else throw Error("cannot create file");if(!i)throw Error("file not found");let a={path:n,flags:r,accessHandle:i};return this.#w.set(t,a),s.setInt32(0,r,!0),0}catch(e){return console.error(e.message),14}}jClose(e){let t=this.#w.get(e);return t&&(t.accessHandle.flush(),this.#w.delete(e),8&t.flags&&this.#G(t.path)),0}jRead(e,t,r){let s=this.#w.get(e).accessHandle.read(t.subarray(),{at:4096+r});return s<t.byteLength?(t.fill(0,s,t.byteLength),522):0}jWrite(e,t,r){return 10*(this.#w.get(e).accessHandle.write(t.subarray(),{at:4096+r})!==t.byteLength)}jTruncate(e,t){return this.#w.get(e).accessHandle.truncate(4096+t),0}jSync(e,t){return this.#w.get(e).accessHandle.flush(),0}jFileSize(e,t){let r=this.#w.get(e).accessHandle.getSize()-4096;return t.setBigInt64(0,BigInt(r),!0),0}jSectorSize(e){return 4096}jDeviceCharacteristics(e){return 2048}jAccess(e,t,r){let s=this.#W(e);return r.setInt32(0,+!!this.#B.has(s),!0),0}jDelete(e,t){let r=this.#W(e);return this.#G(r),0}async close(){await this.#X()}async isReady(){if(!this.#U){let e=await navigator.storage.getDirectory();for(let t of this.#O.split("/"))t&&(e=await e.getDirectoryHandle(t,{create:!0}));this.#U=e,await this.#K(),0===this.getCapacity()&&await this.addCapacity(6)}return!0}getSize(){return this.#B.size}getCapacity(){return this.#N.size}async addCapacity(e){for(let t=0;t<e;++t){let e=Math.random().toString(36).replace("0.",""),t=await this.#U.getFileHandle(e,{create:!0}),r=await t.createSyncAccessHandle();this.#N.set(r,e),this.#V(r,"",0)}return e}async removeCapacity(e){let t=0;for(let r of Array.from(this.#$)){if(t==e||this.getSize()===this.getCapacity())break;let s=this.#N.get(r);await r.close(),await this.#U.removeEntry(s),this.#N.delete(r),this.#$.delete(r),++t}return t}async #K(){let e=[];for await(let[t,r]of this.#U)"file"===r.kind&&e.push([t,r]);await Promise.all(e.map(async([e,t])=>{let r=await t.createSyncAccessHandle();this.#N.set(r,e);let s=this.#Y(r);s?this.#B.set(s,r):this.#$.add(r)}))}#X(){for(let e of this.#N.keys())e.close();this.#N.clear(),this.#B.clear(),this.#$.clear()}#Y(e){let t=new Uint8Array(516);e.read(t,{at:0});let r=new DataView(t.buffer,t.byteOffset).getUint32(512);if(t[0]&&(8&r||(542976&r)==0))return console.warn(`Remove file with unexpected flags ${r.toString(16)}`),this.#V(e,"",0),"";let s=new Uint32Array(2);e.read(s,{at:516});let n=this.#J(t);if(!s.every((e,t)=>e===n[t]))return console.warn("Disassociating file with bad digest."),this.#V(e,"",0),"";{let r=t.findIndex(e=>0===e);return 0===r&&e.truncate(4096),new TextDecoder().decode(t.subarray(0,r))}}#V(e,t,r){let s=new Uint8Array(516);if(new TextEncoder().encodeInto(t,s).written>=512)throw Error("path too long");new DataView(s.buffer,s.byteOffset).setUint32(512,r);let n=this.#J(s);e.write(s,{at:0}),e.write(n,{at:516}),e.flush(),t?(this.#B.set(t,e),this.#$.delete(e)):(e.truncate(4096),this.#$.add(e))}#J(e){if(!e[0])return new Uint32Array([0xfecc5f80,0xaccec037]);let t=0xdeadbeef,r=0x41c6ce57;for(let s of e)t=Math.imul(t^s,0x9e3779b1),r=Math.imul(r^s,0x5f356495);return t=Math.imul(t^t>>>16,0x85ebca6b)^Math.imul(r^r>>>13,0xc2b2ae35),r=Math.imul(r^r>>>16,0x85ebca6b)^Math.imul(t^t>>>13,0xc2b2ae35),new Uint32Array([t>>>0,r>>>0])}#W(e){return("string"==typeof e?new URL(e,"file://localhost/"):e).pathname}#G(e){let t=this.#B.get(e);t&&(this.#B.delete(e),this.#V(t,"",0))}}let et=["","-journal","-wal"],er=new FinalizationRegistry(e=>e());class es{path;flags;accessHandle;persistentFile;constructor(e,t){this.path=e,this.flags=t}}class en{fileHandle;accessHandle=null;isLockBusy=!1;isFileLocked=!1;isRequestInProgress=!1;handleLockReleaser=null;handleRequestChannel;isHandleRequested=!1;constructor(e){this.fileHandle=e}}class ei extends A{mapIdToFile=new Map;lastError=null;log=null;persistentFiles=new Map;boundAccessHandles=new Map;unboundAccessHandles=new Set;accessiblePaths=new Set;releaser=null;static async create(e,t){let r=new ei(e,t);return await Promise.all([r.isReady(),r.#E(10)]),r}constructor(e,t){super(e,t)}async #E(e){let t=await navigator.storage.getDirectory();for await(let e of t.values())"directory"===e.kind&&e.name.startsWith(".ahp-")&&await navigator.locks.request(e.name,{ifAvailable:!0},async r=>{r?(this.log?.(`Deleting temporary directory ${e.name}`),await t.removeEntry(e.name,{recursive:!0})):this.log?.(`Temporary directory ${e.name} is in use`)});let r=`.ahp-${Math.random().toString(36).slice(2)}`;this.releaser=await new Promise(e=>{navigator.locks.request(r,()=>new Promise(t=>{e(t)}))}),er.register(this,this.releaser);let s=await t.getDirectoryHandle(r,{create:!0});for(let t=0;t<e;t++){let e=await s.getFileHandle(`${t}.tmp`,{create:!0}),r=await e.createSyncAccessHandle();this.unboundAccessHandles.add(r)}}jOpen(e,t,r,s){try{let n=new URL(e||Math.random().toString(36).slice(2),"file://").pathname;if(256&r){let e=this.persistentFiles.get(n);if(e?.isRequestInProgress)return 5;if(e){if(!e.fileHandle)return this.persistentFiles.delete(n),14;else if(!e.accessHandle)return this._module.retryOps.push((async()=>{let e=new es(n,r);e.persistentFile=this.persistentFiles.get(n),await this.#Z(e)})()),5}else{this.log?.(`creating persistent file for ${n}`);let e=!!(4&r);return this._module.retryOps.push((async()=>{try{let t=await navigator.storage.getDirectory(),s=n.split("/").filter(e=>e),i=s.pop();for(let r of s)t=await t.getDirectoryHandle(r,{create:e});for(let r of et){let s=await t.getFileHandle(i+r,{create:e});await this.#Q(s)}let a=new es(n,r);a.persistentFile=this.persistentFiles.get(n),await this.#Z(a)}catch(t){let e=new en(null);this.persistentFiles.set(n,e),console.error(t)}})()),5}}if(!this.accessiblePaths.has(n)&&!(4&r))throw Error(`File ${n} not found`);let i=new es(n,r);return this.mapIdToFile.set(t,i),this.persistentFiles.has(n)?i.persistentFile=this.persistentFiles.get(n):this.boundAccessHandles.has(n)?i.accessHandle=this.boundAccessHandles.get(n):this.unboundAccessHandles.size&&(i.accessHandle=this.unboundAccessHandles.values().next().value,i.accessHandle.truncate(0),this.unboundAccessHandles.delete(i.accessHandle),this.boundAccessHandles.set(n,i.accessHandle)),this.accessiblePaths.add(n),s.setInt32(0,r,!0),0}catch(e){return this.lastError=e,14}}jDelete(e,t){try{let t=new URL(e,"file://").pathname;return this.persistentFiles.has(t)?this.persistentFiles.get(t).accessHandle.truncate(0):this.boundAccessHandles.get(t)?.truncate(0),this.accessiblePaths.delete(t),0}catch(e){return this.lastError=e,2570}}jAccess(e,t,r){try{let t=new URL(e,"file://").pathname;return r.setInt32(0,+!!this.accessiblePaths.has(t),!0),0}catch(e){return this.lastError=e,3338}}jClose(e){try{let t=this.mapIdToFile.get(e);return this.mapIdToFile.delete(e),t?.flags&256?t.persistentFile?.handleLockReleaser&&this.#ee(t):t?.flags&8&&(t.accessHandle.truncate(0),this.accessiblePaths.delete(t.path),this.persistentFiles.has(t.path)||(this.boundAccessHandles.delete(t.path),this.unboundAccessHandles.add(t.accessHandle))),0}catch(e){return this.lastError=e,4106}}jRead(e,t,r){try{let s=this.mapIdToFile.get(e),n=(s.accessHandle||s.persistentFile.accessHandle).read(t.subarray(),{at:r});if(256&s.flags&&!s.persistentFile.isFileLocked&&this.#ee(s),n<t.byteLength)return t.fill(0,n),522;return 0}catch(e){return this.lastError=e,266}}jWrite(e,t,r){try{let s=this.mapIdToFile.get(e);if((s.accessHandle||s.persistentFile.accessHandle).write(t.subarray(),{at:r})!==t.byteLength)throw Error("short write");return 0}catch(e){return this.lastError=e,778}}jTruncate(e,t){try{let r=this.mapIdToFile.get(e);return(r.accessHandle||r.persistentFile.accessHandle).truncate(t),0}catch(e){return this.lastError=e,1546}}jSync(e,t){try{let t=this.mapIdToFile.get(e);return(t.accessHandle||t.persistentFile.accessHandle).flush(),0}catch(e){return this.lastError=e,1034}}jFileSize(e,t){try{let r=this.mapIdToFile.get(e),s=(r.accessHandle||r.persistentFile.accessHandle).getSize();return t.setBigInt64(0,BigInt(s),!0),0}catch(e){return this.lastError=e,1802}}jLock(e,t){let r=this.mapIdToFile.get(e);return r.persistentFile.isRequestInProgress?(r.persistentFile.isLockBusy=!0,5):(r.persistentFile.isFileLocked=!0,r.persistentFile.handleLockReleaser)?(r.persistentFile.isLockBusy=!1,0):(r.persistentFile.handleRequestChannel.onmessage=()=>{this.log?.(`received notification for ${r.path}`),r.persistentFile.isFileLocked?r.persistentFile.isHandleRequested=!0:this.#ee(r),r.persistentFile.handleRequestChannel.onmessage=null},this.#Z(r),this.log?.("returning SQLITE_BUSY"),r.persistentFile.isLockBusy=!0,5)}jUnlock(e,t){let r=this.mapIdToFile.get(e);return 0!==t||r.persistentFile.isLockBusy||(r.persistentFile.isHandleRequested&&(this.#ee(r),r.persistentFile.isHandleRequested=!1),r.persistentFile.isFileLocked=!1),0}jFileControl(e,t,r){try{let s=this.mapIdToFile.get(e);if(14===t){let e=ea(r,4),t=ea(r,8);if(this.log?.("xFileControl",s.path,"PRAGMA",e,t),"journal_mode"===e.toLowerCase()&&t&&!["off","memory","delete","wal"].includes(t.toLowerCase()))throw Error('journal_mode must be "off", "memory", "delete", or "wal"')}}catch(e){return this.lastError=e,10}return 12}jGetLastError(e){if(this.lastError){console.error(this.lastError);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.lastError.message,t);e[r]=0}return 0}async #Q(e){let t=new en(e),r=await navigator.storage.getDirectory(),s=await r.resolve(e),n=`/${s.join("/")}`;return t.handleRequestChannel=new BroadcastChannel(`ahp:${n}`),this.persistentFiles.set(n,t),(await e.getFile()).size&&this.accessiblePaths.add(n),t}#Z(e){return(console.assert(!e.persistentFile.handleLockReleaser),e.persistentFile.isRequestInProgress)?Promise.resolve():(e.persistentFile.isRequestInProgress=!0,this._module.retryOps.push((async()=>{e.persistentFile.handleLockReleaser=await this.#et(e.persistentFile);try{this.log?.(`creating access handles for ${e.path}`),await Promise.all(et.map(async t=>{let r=this.persistentFiles.get(e.path+t);r&&(r.accessHandle=await r.fileHandle.createSyncAccessHandle())}))}catch(t){throw this.log?.(`failed to create access handles for ${e.path}`,t),this.#ee(e),t}finally{e.persistentFile.isRequestInProgress=!1}})()),this._module.retryOps.at(-1))}#ee(e){et.forEach(t=>{let r=this.persistentFiles.get(e.path+t);r&&(r.accessHandle?.close(),r.accessHandle=null)}),this.log?.(`access handles closed for ${e.path}`),e.persistentFile.handleLockReleaser?.(),e.persistentFile.handleLockReleaser=null,this.log?.(`lock released for ${e.path}`)}#et(e){return new Promise(t=>{let r=e.handleRequestChannel.name,s=()=>{this.log?.(`notifying for ${r}`),e.handleRequestChannel.postMessage(null)},n=setInterval(s,1e3);setTimeout(s),this.log?.(`lock requested: ${r}`),navigator.locks.request(r,e=>(this.log?.(`lock acquired: ${r}`,e),clearInterval(n),new Promise(t)))})}}function ea(e,t){let r=e.getUint32(t,!0);if(r){let t=new Uint8Array(e.buffer,r);return new TextDecoder().decode(t.subarray(0,t.indexOf(0)))}return null}class eo{#er;#es=null;#en=Promise.resolve(null);#ei=!1;constructor(e){this.#er=e}get name(){return this.#er}get mode(){return this.#es}close(){this.release()}async acquire(e,t=-1){if(this.#ei)throw Error("Lock is already being acquired");this.#ei=!0;try{if(this.#es)throw Error(`Lock ${this.#er} is already acquired`);return this.#en=new Promise((r,s)=>{let n={mode:e,ifAvailable:0===t};t>0&&(n.signal=AbortSignal.timeout(t)),navigator.locks.request(this.#er,n,t=>null===t?r(null):(this.#es=e,new Promise(e=>{r(e)}))).catch(e=>s(e))}),this.#en.then(e=>!!e)}finally{this.#ei=!1}}release(){this.#en.then(e=>e?.(),()=>{}),this.#es=null}}class el extends eo{#ea;#eo=!1;#el=!1;constructor(e){super(e),this.#ea=new BroadcastChannel(e),this.#ea.onmessage=e=>{this.#eo?this.#el=!0:this.release()}}close(){super.close(),this.#ea.onmessage=null,this.#ea.close()}async acquire(e,t=-1){this.#eo=!0;try{if(e===this.mode)return!0;if(this.mode)super.release();else if(await super.acquire(e,0))return!0;let r=super.acquire(e,t);return this.#ea.postMessage({}),await r}catch(e){throw this.release(),e}}acquireIfHeld(e){return e===this.mode&&(this.#eo=!0,!0)}release(){super.release(),this.#eo=!1,this.#el=!1}releaseLazy(){this.#eo=!1,this.#el&&this.release()}}class e_{log=null;options={autoCheckpoint:1,backstopInterval:3e4,journalSizeLimit:1e3};#e_;#ec;#eu;#ed;#eh;#ef;#ep=0;#em=null;#eb=0;#eg;#ew=null;#ev=null;#ey=new Map;#eq=new Map;#ek=new Map;#eE=0;#ex=[0,0];#eS;#eF;#eA=0;#eT=new AbortController;constructor(e,t,r,s={}){this.#e_=e,this.#ec=t,this.#eu=r,this.options=Object.assign(this.options,s),this.#eg=(async()=>{let{fileHeader:t}=await navigator.locks.request(`${this.#e_}#ckpt`,async()=>(await this.#eP(),this.#eS=new BroadcastChannel(`${e}#wa`),this.#eS.onmessage=e=>{this.#eI(e)},{fileHeader:this.#eu.map(e=>this.#eD(e)).filter(e=>e).sort((e,t)=>e.nextTxId-t.nextTxId)[0]??this.#ez(Math.floor(0xffffffff*Math.random()))}));for(let e of(this.#eh=t,this.#ed=this.#eu[1&t.salt1],this.#ef=32,this.#ep=t.nextTxId-1,this.#eL()))this.#eM(e);this.#eP(),this.#eA=performance.now(),this.#ej()})()}ready(){return this.#eg}close(){this.#eT.abort(),this.#eS.onmessage=null,clearTimeout(this.#eF),this.#ev?.release(),this.#eS.close()}isolateForRead(){if(null!==this.#ew)throw Error("Already in isolated state");this.#ew="read",clearTimeout(this.#eF),this.#eF=null}isolateForWrite(){if(null!==this.#ew)throw Error("Already in isolated state");this.#ew="write",clearTimeout(this.#eF),this.#eF=null,this.#eC({readToCurrent:!0})}rejoin(){"read"===this.#ew&&this.#eC({autoCheckpoint:!0}),this.#ew=null,this.#ej()}read(e){let t=this.#em?.pages.get(e)??this.#ey.get(e);return t?t.pageData?(this.log?.(`%cread page at ${e} from WAL ${1&t.waSalt1}:${t.waOffset} (cached)`,"background-color: gold;"),t.pageData):(this.log?.(`%cread page at ${e} from WAL ${1&t.waSalt1}:${t.waOffset}`,"background-color: gold;"),this.#eR(t)):null}write(e,t,r){if("write"!==this.#ew)throw Error("Not in write isolated state");if(this.#em||(this.#eH(),r.dstPageSize!==t.byteLength&&(this.#em.newPageSize=r.dstPageSize)),this.#em.newPageSize){let r=32+this.#em.newPageSize;if(t.byteLength>this.#em.newPageSize)for(let r=0;r<t.byteLength;r+=this.#em.newPageSize){let s=t.slice(r,r+this.#em.newPageSize),n=this.#eO(e+r,s);this.log?.(`%cwrite page at ${e+r} to WAL ${1&this.#eh.salt1}:${n}`,"background-color: lightskyblue;")}else{let s=e%this.#em.newPageSize,n=this.#ef+(e-s)/this.#em.newPageSize*r+32+s;this.#ed.write(t.subarray(),{at:n}),this.log?.(`%cwrite page at ${e} to WAL ${1&this.#eh.salt1}:${n}`,"background-color: lightskyblue;")}}else{let r=this.#eO(e,t.slice());this.log?.(`%cwrite page at ${e} to WAL ${1&this.#eh.salt1}:${r}`,"background-color: lightskyblue;")}}truncate(e){if(this.#em)for(let t of this.#em.pages.keys())t>=e&&this.#em.pages.delete(t)}getFileSize(){return this.#em?.dbFileSize??this.#eb}commit(){let e=this.#em;if(e.newPageSize&&0===e.pages.size){let t=1;for(let r=0;r<t;r++){let s=new Uint8Array(e.newPageSize),n=this.#ef+r*(32+e.newPageSize)+32;this.#ed.read(s,{at:n}),0===r&&(t=new DataView(s.buffer).getUint32(28)),this.#eO(r*e.newPageSize,s)}}let t=this.#em.pages.get(0)?.pageData;if(!t)return void this.rollback();{let e=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint32(28);this.#em.dbFileSize=e*t.byteLength}if(this.#I(),this.#eM(e),this.#eP(),this.#eS.postMessage({type:"tx",tx:e}),this.#eU()){let e=this.#ex[0]+this.#ex[1];e>=(this.options.journalSizeLimit>0?this.options.journalSizeLimit:1e3)&&(this.log?.(`%cchange WAL file at ${e} pages`,"background-color: lightskyblue;"),this.#eN())}this.#eB(),this.#eA=performance.now()}rollback(){this.#e$()}sync(e){"strict"===e.durability&&this.#eW()}async checkpoint(e={isPassive:!0}){let t={ifAvailable:e.isPassive};await navigator.locks.request(`${this.#e_}#ckpt`,t,async t=>{if(!t||this.#eT.signal.aborted)return;let r=this.#eV()-1;if(e.isPassive){if(!this.#eq.has(r)||(await this.#eG()).reduce((e,t)=>Math.min(e,t.maxTxId),this.#ep)<r)return}else await this.#eX(e=>e.maxTxId>=this.#ep),r=this.#ep;this.log?.(`%ccheckpoint through txId ${r}`,"background-color: lightgreen;"),this.#eK(),e.isPassive||this.#eW();let s=new Set,n=this.#ec.getSize();for(let e=this.#eq.get(r);e;e=this.#eq.get(e.id-1)){for(let[t,i]of(e.id===r&&n!==e.dbFileSize&&(n=e.dbFileSize,this.#ec.truncate(n)),e.pages))if(t<n&&!s.has(t)){let r=i.pageData??this.#eR(i);if(this.#ec.write(r,{at:t})!==r.byteLength)throw Error("Checkpoint write failed");s.add(t),this.log?.(`%ccheckpoint wrote txId ${e.id} page at ${t} to database`,"background-color: lightgreen;")}if(e.newPageSize)break}this.log?.("%ccheckpoint flush database file","background-color: lightgreen;"),this.#ec.flush(),this.#eS.postMessage({type:"ckpt",ckptId:r}),this.#eY(r),this.log?.("%ccheckpoint waiting for connection updates","background-color: lightgreen;"),await this.#eX(e=>e.minTxId>r),this.#eJ(),this.log?.("%ccheckpoint complete","background-color: lightgreen;")})}getWriteAheadSize(){return this.#eE}isTransactionPending(){return!!this.#em}setBackstopInterval(e){this.options.backstopInterval=e,e>0&&this.#ew&&this.#ej()}#eM(e){this.#eq.set(e.id,e);let t=1&e.pages.get(0).waSalt1;for(let[r,s]of(this.#ex[t]+=e.pages.size,this.#ex[1-t]=0,this.#eE+=e.pages.size,e.pages))this.#ey.set(r,s);this.#eb=e.dbFileSize}#eC(e={}){let t=!1;for(;this.#ek.size;){let e,r=this.#ep+1;this.#ek.has(r)?(e=this.#ek.get(r),this.#ek.delete(e.id),this.#eZ(e)):e=this.#eQ(),this.#eM(e),t=!0}if(e.readToCurrent)for(let e of this.#eL())this.#eM(e),t=!0;t&&(this.#eP(),e.autoCheckpoint&&this.#eB()),(e.readToCurrent||t)&&(this.#eA=performance.now())}#eB(){this.options.autoCheckpoint>0&&this.checkpoint({isPassive:!0})}#eY(e){this.log?.(`%capply checkpoint through txId ${e}`,"background-color: lightgreen;");for(let t=this.#eq.get(e);t;t=this.#eq.get(t.id-1)){for(let[e,r]of t.pages.entries())this.#ey.get(e)===r&&(this.log?.(`%cremove txId ${t.id} page at offset ${e}`,"background-color: lightgreen;"),this.#ey.delete(e));this.#eq.delete(t.id),this.#eE-=t.pages.size}this.#eP()}#eI(e){if("tx"===e.data.type){let t=e.data.tx;t.id>this.#ep&&(this.#ek.set(t.id,t),null===this.#ew&&this.#eC({autoCheckpoint:!0}))}else if("ckpt"===e.data.type){let t=e.data.ckptId;this.#eY(t)}}#ej(){if(this.options.backstopInterval<=0)return;if(this.#ew)throw Error("Backstop was invoked in an isolated state");if(performance.now()>=this.#eA+this.options.backstopInterval){let e=this.#ep;this.#eC({readToCurrent:!0}),this.#ep>e&&this.log?.(`%cbackstop txId ${e} -> ${this.#ep}`,"background-color: lightyellow;"),this.#eA=performance.now()}let e=this.#eA+this.options.backstopInterval-performance.now();clearTimeout(this.#eF),this.#eF=self.setTimeout(()=>{this.#ej()},e)}async #eP(){let e=this.#ev,t=this.#e0();if(e?.name!==t&&(this.#ev=new eo(t),await this.#ev.acquire("shared").then(()=>{e?.release()}),this.log)){let{minTxId:e,maxTxId:r}=this.#e3(t);this.log?.(`%ctxId to ${e}:${r}`,"background-color: pink;")}}async #eG(){let{held:e}=await navigator.locks.query();return e.map(e=>this.#e3(e.name)).filter(e=>null!==e)}#e0(){let e=this.#ep,t=this.#eq.keys().next().value??e+1;return`${this.#e_}-txId<${t.toString(36)}:${e.toString(36)}>`}#e3(e){let t=e.match(/^(.*)-txId<([0-9a-z]+):([0-9a-z]+)>$/);return t?.[1]===this.#e_?{name:t[1],minTxId:parseInt(t[2],36),maxTxId:parseInt(t[3],36),encoded:e}:null}async #eX(e){let t=[];do t.length>0&&await Promise.all(t.map(e=>navigator.locks.request(e,async()=>{}))),t=(await this.#eG()).filter(t=>!e(t)).map(e=>e.encoded);while(t.length>0)}#eR(e){let t=this.#eu[1&e.waSalt1],r=new Uint8Array(e.pageSize),s=t.read(r,{at:e.waOffset});if(s!==e.pageSize)throw Error(`Short WAL read: expected ${e.pageSize} bytes, got ${s}`);return r}*#eL(){for(;;){let e=this.#eQ();if(!e)break;yield e}}#eQ(){let e={id:0,pages:new Map,dbFileSize:0,waSalt1:0,waOffsetEnd:0},t=this.#ef;for(;;){let r=this.#e1(t);if(!r)return null;if(0===r.frameType)e.pages.set(r.pageOffset,{pageSize:r.pageData.byteLength,waOffset:t+32,waSalt1:this.#eh.salt1});else if(1===r.frameType)return this.#ep+=1,this.#ef=t+r.byteLength,e.id=this.#ep,e.dbFileSize=r.dbFileSize,e.waSalt1=this.#eh.salt1,e.newPageSize=1&r.flags?e.pages.get(0).pageSize:null,e.waOffsetEnd=this.#ef,e;else if(2===r.frameType){this.#e2(r.fileHeader),t=this.#ef;continue}t+=r.byteLength}}#eZ(e){if(e.waSalt1!==this.#eh.salt1&&!this.#e2(null))throw Error("invalid WAL file");this.#ep=e.id,this.#ef=e.waOffsetEnd}#eH(e={}){return this.#em={id:this.#ep+1,pages:new Map,dbFileSize:this.#eb,waSalt1:this.#eh.salt1,waOffsetEnd:this.#ef},this.#em}#eO(e,t){let r=new DataView(new ArrayBuffer(32));r.setUint8(0,0),r.setUint16(2,65536===t.byteLength?1:t.byteLength),r.setBigUint64(8,BigInt(e)),r.setUint32(16,this.#eh.salt1),r.setUint32(20,this.#eh.salt2);let s=new ec;s.update(new Uint8Array(r.buffer,0,24)),s.update(t),r.setUint32(24,s.s0),r.setUint32(28,s.s1);let n=this.#ed.write(r,{at:this.#em.waOffsetEnd})+this.#ed.write(t,{at:this.#em.waOffsetEnd+32});if(n!==r.byteLength+t.byteLength)throw Error("write failed");let i={pageSize:t.byteLength,waOffset:this.#em.waOffsetEnd+32,waSalt1:this.#eh.salt1,pageData:0===e?t:void 0};return this.#em.pages.set(e,i),this.#em.waOffsetEnd+=n,i.waOffset}#I(){let e=new DataView(new ArrayBuffer(32));e.setUint8(0,1),e.setUint8(1,+!!this.#em.newPageSize),e.setBigUint64(8,BigInt(this.#em.dbFileSize)),e.setUint32(16,this.#eh.salt1),e.setUint32(20,this.#eh.salt2);let t=new ec;t.update(new Uint8Array(e.buffer,0,24)),e.setUint32(24,t.s0),e.setUint32(28,t.s1);let r=this.#ed.write(e,{at:this.#em.waOffsetEnd});if(r!==e.byteLength)throw Error("write failed");this.#em.waOffsetEnd+=r;let s=this.#em;return this.#em=null,this.#ef=s.waOffsetEnd,this.#ep=s.id,s}#e$(){this.#em=null,this.#ed.truncate(this.#ef)}#eN(){let e=new DataView(new ArrayBuffer(32));e.setUint8(0,2),e.setUint32(16,this.#eh.salt1),e.setUint32(20,this.#eh.salt2);let t=new ec;if(t.update(new Uint8Array(e.buffer,0,24)),e.setUint32(24,t.s0),e.setUint32(28,t.s1),this.#ed.write(e,{at:this.#ef})!==e.byteLength)throw Error("write failed");this.#eh=this.#ez(),this.#ed=this.#e6(),this.#ef=32}#eV(){return this.#eh.nextTxId}#eW(){this.#ed.flush()}#eK(){this.#e6().flush()}#eU(){if(this.#eq.has(this.#eh.nextTxId-1))return!1;let e=this.#e6();return 32>e.getSize()||null===this.#eD(e)}#eJ(){this.#e6().truncate(0)}#e2(e){let t=this.#e6();return e||(e=this.#eD(t),e?.salt1===this.#eh.salt1+1>>>0)?(this.#ed=t,this.#eh=e,this.#ef=32,e):null}#e6(){return this.#ed!==this.#eu[0]?this.#eu[0]:this.#eu[1]}#eD(e){let t=new DataView(new ArrayBuffer(32));if(e.read(t,{at:0})!==t.byteLength||0x377f0684!==t.getUint32(0))return null;let r=new ec;return(r.update(new Uint8Array(t.buffer,0,24)),r.matches(t.getUint32(24),t.getUint32(28)))?{nextTxId:Number(t.getBigUint64(8)),salt1:t.getUint32(16),salt2:t.getUint32(20)}:null}#e1(e){let t,r,s=new DataView(new ArrayBuffer(32));if(this.#ed.read(s,{at:e})!==s.byteLength)return null;let n=s.getUint32(16),i=s.getUint32(20);if(n!==this.#eh.salt1||i!==this.#eh.salt2)return null;let a=1===(r=s.getUint16(2))?65536:r;if(a&&(t=new Uint8Array(a),this.#ed.read(t,{at:e+32})!==a))return null;let o=new ec;if(o.update(new Uint8Array(s.buffer,0,24)),t&&o.update(t),!o.matches(s.getUint32(24),s.getUint32(28)))return null;let l=s.getUint8(0);if(0===l)return{frameType:l,byteLength:32+a,pageOffset:Number(s.getBigUint64(8)),pageData:t};if(1===l)return{frameType:l,byteLength:32,flags:s.getUint8(1),dbFileSize:Number(s.getBigUint64(8))};if(2===l){let e=this.#eD(this.#e6());return e?.salt1!==this.#eh.salt1+1>>>0?null:{frameType:l,byteLength:32,fileHeader:e}}throw Error(`Invalid frame type: ${l}`)}#ez(e=this.#eh.salt1){let t=this.#ep+1,r=e+1>>>0,s=Math.floor(0xffffffff*Math.random())>>>0,n=new DataView(new ArrayBuffer(32));n.setUint32(0,0x377f0684),n.setBigUint64(8,BigInt(t)),n.setUint32(16,r),n.setUint32(20,s);let i=new ec;if(i.update(new Uint8Array(n.buffer,0,24)),n.setUint32(24,i.s0),n.setUint32(28,i.s1),this.#eu[1&r].write(n,{at:0})!==n.byteLength)throw Error("write failed");return{nextTxId:t,salt1:r,salt2:s}}}class ec{s0=0;s1=0;update(e){if(e.byteLength%8!=0)throw Error("Data must be a multiple of 8 bytes");let t=ArrayBuffer.isView(e)?new Uint32Array(e.buffer,e.byteOffset,e.byteLength/4):new Uint32Array(e);for(let e=0;e<t.length;e+=2)this.s0=this.s0+t[e]+this.s1>>>0,this.s1=this.s1+t[e+1]+this.s0>>>0}matches(e,t){return this.s0===e&&this.s1===t}}let eu=new FinalizationRegistry(e=>e());class ed extends A{lastError=null;log=null;mapIdToFile=new Map;mapPathToFile=new Map;boundTempFiles=new Map;unboundTempFiles=new Set;options={nTmpFiles:6};_ready;static async create(e,t,r){let s=new ed(e,t);return Object.assign(s.options,r),await s.isReady(),s}constructor(e,t){super(e,t),this._ready=(async()=>{let e=await navigator.storage.getDirectory();for await(let t of(e=await e.getDirectoryHandle(".wa-sqlite",{create:!0})).keys())t.startsWith(".session-")&&await navigator.locks.request(t,{ifAvailable:!0},async r=>{if(r)try{await e.removeEntry(t,{recursive:!0})}catch(e){}});let t=`.session-${Math.random().toString(16).slice(2)}`;await new Promise(e=>{navigator.locks.request(t,()=>(e(),new Promise(e=>{eu.register(this,e)})))}),e=await e.getDirectoryHandle(t,{create:!0});for(let t=0;t<this.options.nTmpFiles;t++){let r=await e.getFileHandle(t.toString(),{create:!0}),s=await r.createSyncAccessHandle();eu.register(this,()=>s.close()),this.unboundTempFiles.add(s)}})()}isReady(){return Promise.all([super.isReady(),this._ready]).then(()=>!0)}jOpen(e,t,r,s){try{null===e&&(e=Math.random().toString(16).slice(2));let n=this.mapPathToFile.get(e)??{zName:e,flags:r,retryResult:null};if(this.mapPathToFile.set(e,n),256&r){if(null===n.retryResult)return this._module.retryOps.push(this.#e4(e,r,t,s)),5;if(n.retryResult instanceof Error){let e=n.retryResult;throw n.retryResult=null,e}n.accessHandle=n.retryResult.accessHandle,n.waHandles=n.retryResult.waHandles,n.writeAhead=n.retryResult.writeAhead,n.retryResult=null,n.lockState=0,n.lockingMode="normal",n.readLock=new el(`${e}#read`),n.writeLock=new el(`${e}#write`),n.useLazyLock="readwrite",n.timeout=-1,n.synchronous=1,n.writeHint=null,n.pageSize=null,n.overwrite=!1}else if(540672&r)throw Error("WAL and super-journal files are not supported");else if(n.accessHandle);else{if(!(4&r))throw Error("file not found");n.accessHandle=this.#e5(e)}return this.mapIdToFile.set(t,n),s.setInt32(0,r,!0),0}catch(t){return console.error(t.stack),this.lastError=t,this.mapPathToFile.delete(e),14}}jDelete(e,t){try{if(this.boundTempFiles.has(e)){let t=this.mapPathToFile.get(e);this.#e8(t)}else throw Error(`unexpected file deletion: ${e}`);return 0}catch(e){return console.error(e.stack),this.lastError=e,2570}}jAccess(e,t,r){try{let t=this.mapPathToFile.get(e);return r.setInt32(0,+!!t,!0),0}catch(e){return console.error(e.stack),this.lastError=e,3338}}jClose(e){try{let t=this.mapIdToFile.get(e);return t?.flags&256?(t.writeAhead.close(),t.accessHandle.close(),t.waHandles.forEach(e=>e.close()),this.mapPathToFile.delete(t?.zName),t.readLock.close(),t.writeLock.close()):t?.flags&8&&this.#e8(t),this.mapIdToFile.delete(e),0}catch(e){return console.error(e.stack),this.lastError=e,4106}}jRead(e,t,r){try{let s=this.mapIdToFile.get(e),n=null;if(256&s.flags){let e=r<100?r:0,i=s.writeAhead.read(r-e);if(i){let r=i.subarray(e,e+t.byteLength);t.set(r),n=r.byteLength}}if(null===n&&(n=s.accessHandle.read(t.subarray(),{at:r})),n<t.byteLength)return t.fill(0,n),522;return 0}catch(e){return console.error(e.stack),this.lastError=e,266}}jWrite(e,t,r){try{let s=this.mapIdToFile.get(e);if(256&s.flags){let e=s.overwrite&&s.pageSize!==t.byteLength;return s.writeAhead.write(r,t,{dstPageSize:e?s.pageSize:null}),0}return s.accessHandle.write(t.subarray(),{at:r}),0}catch(e){return console.error(e.stack),this.lastError=e,778}}jTruncate(e,t){try{let r=this.mapIdToFile.get(e);if(256&r.flags)return r.writeAhead.truncate(t),0;return r.accessHandle.truncate(t),0}catch(e){return console.error(e.stack),this.lastError=e,1546}}jSync(e,t){try{let t=this.mapIdToFile.get(e);if(256&t.flags){let e=t.synchronous>1?"strict":"relaxed";t.writeAhead.sync({durability:e})}return 0}catch(e){return console.error(e.stack),this.lastError=e,1034}}jFileSize(e,t){try{let r,s=this.mapIdToFile.get(e);return r=256&s.flags&&s.writeAhead.getFileSize()||s.accessHandle.getSize(),t.setBigInt64(0,BigInt(r),!0),0}catch(e){return console.error(e.stack),this.lastError=e,1802}}jLock(e,t){try{let r=this.mapIdToFile.get(e);if(0===r.lockState&&1===t){if(null===r.retryResult){if("exclusive"===r.lockingMode)return r.retryResult={},this._module.retryOps.push(this.#e7(r)),5;if(r.writeHint)if(!r.writeLock.acquireIfHeld("exclusive"))return r.retryResult={},this._module.retryOps.push(this.#e7(r)),5;else r.writeAhead.isolateForWrite();else{if(!r.readLock.acquireIfHeld("shared"))return r.retryResult={},this._module.retryOps.push(this.#e9(r)),5;r.writeAhead.isolateForRead()}}else if(r.retryResult instanceof Error){let e=r.retryResult;throw r.retryResult=null,e}r.retryResult=null}else if(t>=2&&!r.writeLock.mode)throw Error("Write transaction cannot use BEGIN DEFERRED");return r.lockState=t,0}catch(e){if("TimeoutError"===e.name)return 5;return console.error(e.stack),this.lastError=e,3850}}jUnlock(e,t){try{let r=this.mapIdToFile.get(e);if(!r.retryResult&&0===t){switch(r.writeAhead.rejoin(),r.useLazyLock){case"none":r.writeLock.release(),r.readLock.release();break;case"read":r.writeLock.release(),r.readLock.releaseLazy();break;case"write":r.writeLock.releaseLazy(),r.readLock.release();break;case"readwrite":r.writeLock.releaseLazy(),r.readLock.releaseLazy()}r.writeHint=null}r.lockState=t}catch(e){return console.error(e.stack),this.lastError=e,2058}}jCheckReservedLock(e,t){return console.assert(!1,"unexpected"),t.setInt32(0,0,!0),0}jFileControl(e,t,r){try{let s=this.mapIdToFile.get(e);switch(t){case 14:let n=this._module.UTF8ToString(r.getUint32(4,!0)),i=r.getUint32(8,!0),a=i?this._module.UTF8ToString(i):null;switch(this.log?.(`PRAGMA ${n} ${a}`),n.toLowerCase()){case"experimental_pragma_20251114":switch(a){case"1":s.writeHint="reserved";break;case"2":s.writeHint="exclusive";break;default:throw Error(`unexpected write hint value: ${a}`)}break;case"backstop_interval":if(null!==a){let e=parseInt(a);s.writeAhead.setBackstopInterval(e)}else{let e=s.writeAhead.options.backstopInterval.toString(),t=this._module._sqlite3_malloc64(e.length+1);this._module.stringToUTF8(e,t,e.length+1),r.setUint32(0,t,!0)}return 0;case"busy_timeout":if(null!==a)s.timeout=parseInt(a);else{let e=s.timeout.toString(),t=this._module._sqlite3_malloc64(e.length+1);this._module.stringToUTF8(e,t,e.length+1),r.setUint32(0,t,!0)}return 0;case"journal_size_limit":if(null!==a){let e=parseInt(a);s.writeAhead.options.journalSizeLimit=e}break;case"locking_mode":switch(a?.toLowerCase()){case"normal":s.lockingMode="normal";break;case"exclusive":s.lockingMode="exclusive"}break;case"page_size":if(null!==a){let e=parseInt(a);(1===e||e>=512&&e<=32768&&(e&e-1)==0)&&(s.pageSize=1===e?65536:e)}break;case"synchronous":if(null!==a)switch(a.toLowerCase()){case"off":case"0":s.synchronous=0;break;case"normal":case"1":s.synchronous=1;break;case"full":case"2":s.synchronous=2;break;case"extra":case"3":s.synchronous=3;break;default:throw Error(`unexpected synchronous value: ${a}`)}break;case"vfs_trace":return null!==a&&(this.log=0!==parseInt(a)?console.debug:null,s.writeAhead.log=this.log),0;case"wal_autocheckpoint":null!==a&&(s.writeAhead.options.autoCheckpoint=parseInt(a));break;case"wal_checkpoint":let o=(a??"passive").toLowerCase();switch(o){case"passive":this._module.pendingOps.push(this.#te(s,o));break;case"full":case"restart":case"truncate":if(s.writeAhead.isTransactionPending())throw Error("invalid while a transaction is in progress");this._module.pendingOps.push(this.#te(s,o));break;case"noop":break;default:throw Error(`unexpected wal_checkpoint mode: ${a}`)}{let e=s.writeAhead.getWriteAheadSize().toString(),t=this._module._sqlite3_malloc64(e.length+1);this._module.stringToUTF8(e,t,e.length+1),r.setUint32(0,t,!0)}return 0;case"lazy_lock":if(null!==a){let e=a.toLowerCase();switch(e){case"read":case"write":case"readwrite":case"none":s.useLazyLock=e;break;default:throw Error(`unexpected value for lazy_lock: ${a}`)}}{let e=s.useLazyLock,t=this._module._sqlite3_malloc64(e.length+1);this._module.stringToUTF8(e,t,e.length+1),r.setUint32(0,t,!0)}return 0}break;case 31:case 32:if(256&s.flags)return 0;break;case 33:if(256&s.flags)return s.writeAhead.rollback(),0;break;case 21:256&s.flags&&s.writeAhead.commit();break;case 11:s.overwrite=!0}}catch(e){return console.error(e.stack),this.lastError=e,10}return 12}jDeviceCharacteristics(e){return 18432}jGetLastError(e){if(this.lastError){console.error(this.lastError);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.lastError.message,t);e[r]=0}return 0}#e5(e){if(0===this.unboundTempFiles.size)throw Error("no temporary files available");let t=this.unboundTempFiles.values().next().value;return this.unboundTempFiles.delete(t),this.boundTempFiles.set(e,t),t}#e8(e){e.accessHandle.truncate(0),this.mapPathToFile.delete(e.zName),this.unboundTempFiles.add(e.accessHandle),this.boundTempFiles.delete(e.zName)}#tt(e,t){return`${e}-wa${t}`}async #te(e,t){let r=[];try{"passive"!==t&&0===e.lockState&&(await e.writeLock.acquire("exclusive"),r.push(()=>e.writeLock.release()),e.writeAhead.isolateForWrite(),r.push(()=>e.writeAhead.rejoin())),await e.writeAhead.checkpoint({isPassive:"passive"===t})}catch(e){throw"AbortError"===e.name&&(e.code=5),e}finally{for(;r.length;)r.pop()()}}async #e9(e){let t=[];try{await e.readLock.acquire("shared",e.timeout),t.push(()=>e.readLock.release()),e.writeAhead.isolateForRead(),e.retryResult={}}catch(r){for(;t.length;)t.pop()();e.retryResult=r}}async #e7(e){let t=[];try{"exclusive"===e.lockingMode&&(await e.readLock.acquire("exclusive",e.timeout),t.push(()=>e.readLock.release())),await e.writeLock.acquire("exclusive",e.timeout),t.push(()=>e.writeLock.release()),e.writeAhead.isolateForWrite(),e.retryResult={}}catch(r){for(;t.length;)t.pop()();e.retryResult=r}}async #e4(e,t,r,s){let n=[],i=this.mapPathToFile.get(e);try{let{accessHandle:r,waHandles:s}=await navigator.locks.request(`${e}#open`,async r=>{let s=e.split("/").filter(e=>e),i=s.pop(),a=await navigator.storage.getDirectory(),o=!!(4&t);for(let e of s)a=await a.getDirectoryHandle(e,{create:o});let l=o&&await async function(){try{return await a.getFileHandle(i),!1}catch(e){if("NotFoundError"===e.name)return!0;throw e}}();async function _(e,t){let r=await a.getFileHandle(e,t),s=await r.createSyncAccessHandle({mode:"readwrite-unsafe"});return n.push(()=>{s.close(),l&&a.removeEntry(e)}),s}let c=await _(i,{create:o}),u=await Promise.all([0,1].map(async e=>{let t=this.#tt(i,e),r=await _(t,{create:!0});return l&&r.truncate(0),r}));return{accessHandle:c,waHandles:u}}),a=new e_(e,r,s);await a.ready(),i.retryResult={accessHandle:r,waHandles:s,writeAhead:a}}catch(e){for(;n.length;)n.pop()();i.retryResult=e}}}let eh=globalThis.FileSystemSyncAccessHandle.prototype.hasOwnProperty("mode");async function ef(e,t){let[r,s,n]=e.match(/[/]?(.*)[/](.*)$/),i=await navigator.storage.getDirectory();for(let e of s.split("/"))e&&(i=await i.getDirectoryHandle(e,{create:t}));return[i,n]}class ep{pathname;flags;fileHandle;accessHandle;handleRequestChannel;handleLockReleaser=null;isHandleRequested=!1;isFileLocked=!1;openLockReleaser=null;constructor(e,t){this.pathname=e,this.flags=t}}class em extends R(A){mapIdToFile=new Map;lastError=null;log=null;static async create(e,t,r){let s=new em(e,t,r);return await s.isReady(),s}constructor(e,t,r={}){super(e,t,r)}getFilename(e){let t=this.mapIdToFile.get(e).pathname;return`OPFS:${t}`}async jOpen(e,t,r,s){try{let i=new URL(e||Math.random().toString(36).slice(2),"file://").pathname,a=new ep(i,r);this.mapIdToFile.set(t,a);let o=!!(4&r),[l,_]=await ef(i,o);if(a.fileHandle=await l.getFileHandle(_,{create:o}),256&r&&!eh){function n(){a.handleRequestChannel.postMessage(null)}a.handleRequestChannel=new BroadcastChannel(this.getFilename(t));let e=setInterval(n,1e3);setTimeout(n),a.openLockReleaser=await new Promise((r,s)=>{navigator.locks.request(this.getFilename(t),t=>(clearInterval(e),t)?new Promise(e=>{r(e)}):s())}),this.log?.("access handle acquired for open")}return a.accessHandle=await a.fileHandle.createSyncAccessHandle({mode:"readwrite-unsafe"}),s.setInt32(0,r,!0),0}catch(e){return this.lastError=e,14}}async jDelete(e,t){try{let r=new URL(e,"file://").pathname,[s,n]=await ef(r,!1),i=s.removeEntry(n,{recursive:!1});return t&&await i,0}catch(e){return 2570}}async jAccess(e,t,r){try{let t=new URL(e,"file://").pathname,[s,n]=await ef(t,!1);return await s.getFileHandle(n,{create:!1}),r.setInt32(0,1,!0),0}catch(e){if("NotFoundError"===e.name)return r.setInt32(0,0,!0),0;return this.lastError=e,3338}}async jClose(e){try{let t=this.mapIdToFile.get(e);if(this.mapIdToFile.delete(e),await t?.accessHandle?.close(),t?.flags&8){let[e,r]=await ef(t.pathname,!1);await e.removeEntry(r,{recursive:!1})}return 0}catch(e){return 2570}}jRead(e,t,r){try{let s=this.mapIdToFile.get(e),n=s.accessHandle.read(t.subarray(),{at:r});if(s.openLockReleaser&&(s.accessHandle.close(),s.accessHandle=null,s.openLockReleaser(),s.openLockReleaser=null,this.log?.("access handle released for open")),n<t.byteLength)return t.fill(0,n),522;return 0}catch(e){return this.lastError=e,266}}jWrite(e,t,r){try{return this.mapIdToFile.get(e).accessHandle.write(t.subarray(),{at:r}),0}catch(e){return this.lastError=e,778}}jTruncate(e,t){try{return this.mapIdToFile.get(e).accessHandle.truncate(t),0}catch(e){return this.lastError=e,1546}}jSync(e,t){try{return this.mapIdToFile.get(e).accessHandle.flush(),0}catch(e){return this.lastError=e,1034}}jFileSize(e,t){try{let r=this.mapIdToFile.get(e).accessHandle.getSize();return t.setBigInt64(0,BigInt(r),!0),0}catch(e){return this.lastError=e,1802}}async jLock(e,t){if(eh)return super.jLock(e,t);let r=this.mapIdToFile.get(e);return!r.isFileLocked&&(r.isFileLocked=!0,r.handleLockReleaser||(r.handleRequestChannel.onmessage=e=>{r.isFileLocked?(r.isHandleRequested=!0,this.log?.("access handle requested")):(r.accessHandle.close(),r.accessHandle=null,r.handleLockReleaser(),r.handleLockReleaser=null,this.log?.("access handle requested and released")),r.handleRequestChannel.onmessage=null},r.handleLockReleaser=await new Promise((t,s)=>{function n(){r.handleRequestChannel.postMessage(null)}let i=setInterval(n,1e3);setTimeout(n),navigator.locks.request(this.getFilename(e),e=>(clearInterval(i),e)?new Promise(e=>{t(e)}):s())}),r.accessHandle=await r.fileHandle.createSyncAccessHandle(),this.log?.("access handle acquired"))),0}async jUnlock(e,t){if(eh)return super.jUnlock(e,t);if(0===t){let t=this.mapIdToFile.get(e);t.isHandleRequested&&(t.handleLockReleaser&&(t.accessHandle.close(),t.accessHandle=null,t.handleLockReleaser(),t.handleLockReleaser=null,this.log?.("access handle released")),t.isHandleRequested=!1),t.isFileLocked=!1}return 0}jFileControl(e,t,r){try{let s=this.mapIdToFile.get(e);if(14===t){let t=eb(r,4),n=eb(r,8);switch(this.log?.("xFileControl",s.pathname,"PRAGMA",t,n),t.toLowerCase()){case"journal_mode":if(n&&!eh&&!["off","memory","delete","wal"].includes(n.toLowerCase()))throw Error('journal_mode must be "off", "memory", "delete", or "wal"');break;case"write_hint":return super.jFileControl(e,R.WRITE_HINT_OP_CODE,null)}}}catch(e){return this.lastError=e,10}return super.jFileControl(e,t,r)}jGetLastError(e){if(this.lastError){console.error(this.lastError);let t=e.subarray(0,e.byteLength-1),{written:r}=new TextEncoder().encodeInto(this.lastError.message,t);e[r]=0}return 0}}function eb(e,t){let r=e.getUint32(t,!0);if(r){let t=new Uint8Array(e.buffer,r);return new TextDecoder().decode(t.subarray(0,t.indexOf(0)))}return null}let eg=(_=import.meta.url,function(e={}){let t,r,s,n,i,a,o,l,c,u,d,h,f;var p,m,b,g,w,v,y,q,k,E,x,S,F,A,T,P,I,D,z,L,M,j,C=new Promise((e,t)=>{p=e,m=t}),R="object"==typeof window,H="function"==typeof importScripts;"object"==typeof process&&"object"==typeof process.versions&&process.versions.node;var O=Object.assign({},e),U="./this.program",N=(e,t)=>{throw t},B="";(R||H)&&(H?B=self.location.href:"u">typeof document&&document.currentScript&&(B=document.currentScript.src),_&&(B=_),B=B.startsWith("blob:")?"":B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1),b=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},H&&(w=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),g=(e,t,r)=>{fetch(e,{credentials:"same-origin"}).then(e=>e.ok?e.arrayBuffer():Promise.reject(Error(e.status+" : "+e.url))).then(t,r)});var $=e.print||console.log.bind(console),W=e.printErr||console.error.bind(console);Object.assign(e,O),O=null,e.arguments&&e.arguments,e.thisProgram&&(U=e.thisProgram),e.quit&&(N=e.quit),e.wasmBinary&&(v=e.wasmBinary);var V=!1;function G(){var t=y.buffer;e.HEAP8=k=new Int8Array(t),e.HEAP16=x=new Int16Array(t),e.HEAPU8=E=new Uint8Array(t),e.HEAPU16=S=new Uint16Array(t),e.HEAP32=F=new Int32Array(t),e.HEAPU32=A=new Uint32Array(t),e.HEAPF32=T=new Float32Array(t),e.HEAPF64=P=new Float64Array(t)}var X=[],K=[],Y=[],J=[],Z=0,Q=null,ee=null;function et(t){Z++,e.monitorRunDependencies?.(Z)}function er(t){if(Z--,e.monitorRunDependencies?.(Z),0==Z&&(null!==Q&&(clearInterval(Q),Q=null),ee)){var r=ee;ee=null,r()}}function es(t){e.onAbort?.(t),W(t="Aborted("+t+")"),V=!0,q=1,t+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(t);throw m(r),r}function en(e){if(e==I&&v)return new Uint8Array(v);if(w)return w(e);throw"both async and sync fetching of the wasm failed"}function ei(e,t,r){return(!v?new Promise((t,r)=>{g(e,e=>t(new Uint8Array(e)),s=>{try{t(en(e))}catch(e){r(e)}})}):Promise.resolve().then(()=>en(e))).then(e=>WebAssembly.instantiate(e,t)).then(r,e=>{W(`failed to asynchronously prepare wasm: ${e}`),es(e)})}function ea(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var eo=t=>{for(;t.length>0;)t.shift()(e)};function el(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return k[e];case"i16":return x[e>>1];case"i32":return F[e>>2];case"i64":es("to do getValue(i64) use WASM_BIGINT");case"float":return T[e>>2];case"double":return P[e>>3];case"*":return A[e>>2];default:es(`invalid type for getValue: ${t}`)}}var e_=e.noExitRuntime||!0;function ec(e,t,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":case"i8":k[e]=t;break;case"i16":x[e>>1]=t;break;case"i32":F[e>>2]=t;break;case"i64":es("to do setValue(i64) use WASM_BIGINT");case"float":T[e>>2]=t;break;case"double":P[e>>3]=t;break;case"*":A[e>>2]=t;break;default:es(`invalid type for setValue: ${r}`)}}var eu=()=>tc(),ed="u">typeof TextDecoder?new TextDecoder("utf8"):void 0,eh=(e,t,r)=>{for(var s=t+r,n=t;e[n]&&!(n>=s);)++n;if(n-t>16&&e.buffer&&ed)return ed.decode(e.subarray(t,n));for(var i="";t<n;){var a=e[t++];if(!(128&a)){i+=String.fromCharCode(a);continue}var o=63&e[t++];if((224&a)==192){i+=String.fromCharCode((31&a)<<6|o);continue}var l=63&e[t++];if((a=(240&a)==224?(15&a)<<12|o<<6|l:(7&a)<<18|o<<12|l<<6|63&e[t++])<65536)i+=String.fromCharCode(a);else{var _=a-65536;i+=String.fromCharCode(55296|_>>10,56320|1023&_)}}return i},ef=(e,t)=>e?eh(E,e,t):"",ep={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,s=e.length-1;s>=0;s--){var n=e[s];"."===n?e.splice(s,1):".."===n?(e.splice(s,1),r++):r&&(e.splice(s,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ep.isAbs(e),r="/"===e.substr(-1);return(e=ep.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ep.splitPath(e),r=t[0],s=t[1];return r||s?(s&&(s=s.substr(0,s.length-1)),r+s):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ep.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===t?e:e.substr(t+1)},join:(...e)=>ep.normalize(e.join("/")),join2:(e,t)=>ep.normalize(e+"/"+t)},em=e=>(em=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);es("initRandomDevice")})())(e),eb={resolve:(...e)=>{for(var t="",r=!1,s=e.length-1;s>=-1&&!r;s--){var n=s>=0?e[s]:eF.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";t=n+"/"+t,r=ep.isAbs(n)}return t=ep.normalizeArray(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=eb.resolve(e).substr(1),t=eb.resolve(t).substr(1);for(var s=r(e.split("/")),n=r(t.split("/")),i=Math.min(s.length,n.length),a=i,o=0;o<i;o++)if(s[o]!==n[o]){a=o;break}for(var l=[],o=a;o<s.length;o++)l.push("..");return(l=l.concat(n.slice(a))).join("/")}},eg=[],ew=e=>{for(var t=0,r=0;r<e.length;++r){var s=e.charCodeAt(r);s<=127?t++:s<=2047?t+=2:s>=55296&&s<=57343?(t+=4,++r):t+=3}return t},ev=(e,t,r,s)=>{if(!(s>0))return 0;for(var n=r,i=r+s-1,a=0;a<e.length;++a){var o=e.charCodeAt(a);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=i)break;t[r++]=o}else if(o<=2047){if(r+1>=i)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=i)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=i)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-n};function ey(e,t,r){var s=Array(r>0?r:ew(e)+1),n=ev(e,s,0,s.length);return t&&(s.length=n),s}var eq={ttys:[],init(){},shutdown(){},register(e,t){eq.ttys[e]={input:[],output:[],ops:t},eF.registerDevice(e,eq.stream_ops)},stream_ops:{open(e){var t=eq.ttys[e.node.rdev];if(!t)throw new eF.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,s,n){if(!e.tty||!e.tty.ops.get_char)throw new eF.ErrnoError(60);for(var i,a=0,o=0;o<s;o++){try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new eF.ErrnoError(29)}if(void 0===i&&0===a)throw new eF.ErrnoError(6);if(null==i)break;a++,t[r+o]=i}return a&&(e.node.timestamp=Date.now()),a},write(e,t,r,s,n){if(!e.tty||!e.tty.ops.put_char)throw new eF.ErrnoError(60);try{for(var i=0;i<s;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new eF.ErrnoError(29)}return s&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:e=>(()=>{if(!eg.length){var e=null;if("u">typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;eg=ey(e,!0)}return eg.shift()})(),put_char(e,t){null===t||10===t?($(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&($(eh(e.output,0)),e.output=[])},ioctl_tcgets:e=>({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)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(W(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(W(eh(e.output,0)),e.output=[])}}},ek=e=>{var t,r=ta(65536,e=65536*Math.ceil(e/65536));return r?(t=e,E.fill(0,r,r+t),r):0},eE={ops_table:null,mount:e=>eE.createNode(null,"/",16895,0),createNode(e,t,r,s){if(eF.isBlkdev(r)||eF.isFIFO(r))throw new eF.ErrnoError(63);eE.ops_table||={dir:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,lookup:eE.node_ops.lookup,mknod:eE.node_ops.mknod,rename:eE.node_ops.rename,unlink:eE.node_ops.unlink,rmdir:eE.node_ops.rmdir,readdir:eE.node_ops.readdir,symlink:eE.node_ops.symlink},stream:{llseek:eE.stream_ops.llseek}},file:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:{llseek:eE.stream_ops.llseek,read:eE.stream_ops.read,write:eE.stream_ops.write,allocate:eE.stream_ops.allocate,mmap:eE.stream_ops.mmap,msync:eE.stream_ops.msync}},link:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,readlink:eE.node_ops.readlink},stream:{}},chrdev:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:eF.chrdev_stream_ops}};var n=eF.createNode(e,t,r,s);return eF.isDir(n.mode)?(n.node_ops=eE.ops_table.dir.node,n.stream_ops=eE.ops_table.dir.stream,n.contents={}):eF.isFile(n.mode)?(n.node_ops=eE.ops_table.file.node,n.stream_ops=eE.ops_table.file.stream,n.usedBytes=0,n.contents=null):eF.isLink(n.mode)?(n.node_ops=eE.ops_table.link.node,n.stream_ops=eE.ops_table.link.stream):eF.isChrdev(n.mode)&&(n.node_ops=eE.ops_table.chrdev.node,n.stream_ops=eE.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>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)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var s=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(s.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)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=eF.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,eF.isDir(e.mode)?t.size=4096:eF.isFile(e.mode)?t.size=e.usedBytes:eF.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&eE.resizeFileStorage(e,t.size)},lookup(e,t){throw eF.genericErrors[44]},mknod:(e,t,r,s)=>eE.createNode(e,t,r,s),rename(e,t,r){if(eF.isDir(e.mode)){var s;try{s=eF.lookupNode(t,r)}catch(e){}if(s)for(var n in s.contents)throw new eF.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=eF.lookupNode(e,t);for(var s in r.contents)throw new eF.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r of Object.keys(e.contents))t.push(r);return t},symlink(e,t,r){var s=eE.createNode(e,t,41471,0);return s.link=r,s},readlink(e){if(!eF.isLink(e.mode))throw new eF.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,s,n){var i=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,s);if(a>8&&i.subarray)t.set(i.subarray(n,n+a),r);else for(var o=0;o<a;o++)t[r+o]=i[n+o];return a},write(e,t,r,s,n,i){if(t.buffer===k.buffer&&(i=!1),!s)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(i)return a.contents=t.subarray(r,r+s),a.usedBytes=s,s;else if(0===a.usedBytes&&0===n)return a.contents=t.slice(r,r+s),a.usedBytes=s,s;else if(n+s<=a.usedBytes)return a.contents.set(t.subarray(r,r+s),n),s}if(eE.expandFileStorage(a,n+s),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+s),n);else for(var o=0;o<s;o++)a.contents[n+o]=t[r+o];return a.usedBytes=Math.max(a.usedBytes,n+s),s},llseek(e,t,r){var s=t;if(1===r?s+=e.position:2===r&&eF.isFile(e.node.mode)&&(s+=e.node.usedBytes),s<0)throw new eF.ErrnoError(28);return s},allocate(e,t,r){eE.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,s,n){if(!eF.isFile(e.node.mode))throw new eF.ErrnoError(43);var i,a,o=e.node.contents;if(2&n||o.buffer!==k.buffer){if((r>0||r+t<o.length)&&(o=o.subarray?o.subarray(r,r+t):Array.prototype.slice.call(o,r,r+t)),a=!0,!(i=ek(t)))throw new eF.ErrnoError(48);k.set(o,i)}else a=!1,i=o.byteOffset;return{ptr:i,allocated:a}},msync:(e,t,r,s,n)=>(eE.stream_ops.write(e,t,0,s,r,!1),0)}},ex=e.preloadPlugins||[],eS=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},eF={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return(2097155&this.flags)!=1}get isWrite(){return(2097155&this.flags)!=0}get isAppend(){return 1024&this.flags}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,s){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eF.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=s,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return eF.isDir(this.mode)}get isDevice(){return eF.isChrdev(this.mode)}},lookupPath(e,t={}){if(!(e=eb.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new eF.ErrnoError(32);for(var r=e.split("/").filter(e=>!!e),s=eF.root,n="/",i=0;i<r.length;i++){var a=i===r.length-1;if(a&&t.parent)break;if(s=eF.lookupNode(s,r[i]),n=ep.join2(n,r[i]),eF.isMountpoint(s)&&(!a||a&&t.follow_mount)&&(s=s.mounted.root),!a||t.follow)for(var o=0;eF.isLink(s.mode);){var l=eF.readlink(n);if(n=eb.resolve(ep.dirname(n),l),s=eF.lookupPath(n,{recurse_count:t.recurse_count+1}).node,o++>40)throw new eF.ErrnoError(32)}}return{path:n,node:s}},getPath(e){for(var t;;){if(eF.isRoot(e)){var r=e.mount.mountpoint;if(!t)return r;return"/"!==r[r.length-1]?`${r}/${t}`:r+t}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,s=0;s<t.length;s++)r=(r<<5)-r+t.charCodeAt(s)|0;return(e+r>>>0)%eF.nameTable.length},hashAddNode(e){var t=eF.hashName(e.parent.id,e.name);e.name_next=eF.nameTable[t],eF.nameTable[t]=e},hashRemoveNode(e){var t=eF.hashName(e.parent.id,e.name);if(eF.nameTable[t]===e)eF.nameTable[t]=e.name_next;else for(var r=eF.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=eF.mayLookup(e);if(r)throw new eF.ErrnoError(r);for(var s=eF.hashName(e.id,t),n=eF.nameTable[s];n;n=n.name_next){var i=n.name;if(n.parent.id===e.id&&i===t)return n}return eF.lookup(e,t)},createNode(e,t,r,s){var n=new eF.FSNode(e,t,r,s);return eF.hashAddNode(n),n},destroyNode(e){eF.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>eF.ignorePermissions?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0,mayLookup(e){if(!eF.isDir(e.mode))return 54;var t=eF.nodePermissions(e,"x");return t||2*!e.node_ops.lookup},mayCreate(e,t){try{return eF.lookupNode(e,t),20}catch(e){}return eF.nodePermissions(e,"wx")},mayDelete(e,t,r){try{s=eF.lookupNode(e,t)}catch(e){return e.errno}var s,n=eF.nodePermissions(e,"wx");if(n)return n;if(r){if(!eF.isDir(s.mode))return 54;if(eF.isRoot(s)||eF.getPath(s)===eF.cwd())return 10}else if(eF.isDir(s.mode))return 31;return 0},mayOpen:(e,t)=>e?eF.isLink(e.mode)?32:eF.isDir(e.mode)&&("r"!==eF.flagsToPermissionString(t)||512&t)?31:eF.nodePermissions(e,eF.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=eF.MAX_OPEN_FDS;e++)if(!eF.streams[e])return e;throw new eF.ErrnoError(33)},getStreamChecked(e){var t=eF.getStream(e);if(!t)throw new eF.ErrnoError(8);return t},getStream:e=>eF.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new eF.FSStream,e),-1==t&&(t=eF.nextfd()),e.fd=t,eF.streams[t]=e,e),closeStream(e){eF.streams[e]=null},dupStream(e,t=-1){var r=eF.createStream(e,t);return r.stream_ops?.dup?.(r),r},chrdev_stream_ops:{open(e){var t=eF.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new eF.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){eF.devices[e]={stream_ops:t}},getDevice:e=>eF.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var s=r.pop();t.push(s),r.push(...s.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),eF.syncFSRequests++,eF.syncFSRequests>1&&W(`warning: ${eF.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=eF.getMounts(eF.root.mount),s=0;function n(e){return eF.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,n(e));++s>=r.length&&n(null)}r.forEach(t=>{if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)})},mount(e,t,r){var s,n="/"===r,i=!r;if(n&&eF.root)throw new eF.ErrnoError(10);if(!n&&!i){var a=eF.lookupPath(r,{follow_mount:!1});if(r=a.path,s=a.node,eF.isMountpoint(s))throw new eF.ErrnoError(10);if(!eF.isDir(s.mode))throw new eF.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,n?eF.root=l:s&&(s.mounted=o,s.mount&&s.mount.mounts.push(o)),l},unmount(e){var t=eF.lookupPath(e,{follow_mount:!1});if(!eF.isMountpoint(t.node))throw new eF.ErrnoError(28);var r=t.node,s=r.mounted,n=eF.getMounts(s);Object.keys(eF.nameTable).forEach(e=>{for(var t=eF.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&eF.destroyNode(t),t=r}}),r.mounted=null;var i=r.mount.mounts.indexOf(s);r.mount.mounts.splice(i,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var s=eF.lookupPath(e,{parent:!0}).node,n=ep.basename(e);if(!n||"."===n||".."===n)throw new eF.ErrnoError(28);var i=eF.mayCreate(s,n);if(i)throw new eF.ErrnoError(i);if(!s.node_ops.mknod)throw new eF.ErrnoError(63);return s.node_ops.mknod(s,n,t,r)},create:(e,t)=>(t=(void 0!==t?t:438)&4095|32768,eF.mknod(e,t,0)),mkdir:(e,t)=>(t=(void 0!==t?t:511)&1023|16384,eF.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),s="",n=0;n<r.length;++n)if(r[n]){s+="/"+r[n];try{eF.mkdir(s,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,eF.mknod(e,t,r)),symlink(e,t){if(!eb.resolve(e))throw new eF.ErrnoError(44);var r=eF.lookupPath(t,{parent:!0}).node;if(!r)throw new eF.ErrnoError(44);var s=ep.basename(t),n=eF.mayCreate(r,s);if(n)throw new eF.ErrnoError(n);if(!r.node_ops.symlink)throw new eF.ErrnoError(63);return r.node_ops.symlink(r,s,e)},rename(e,t){var r,s,n,i=ep.dirname(e),a=ep.dirname(t),o=ep.basename(e),l=ep.basename(t);if(r=eF.lookupPath(e,{parent:!0}).node,s=eF.lookupPath(t,{parent:!0}).node,!r||!s)throw new eF.ErrnoError(44);if(r.mount!==s.mount)throw new eF.ErrnoError(75);var _=eF.lookupNode(r,o),c=eb.relative(e,a);if("."!==c.charAt(0))throw new eF.ErrnoError(28);if("."!==(c=eb.relative(t,i)).charAt(0))throw new eF.ErrnoError(55);try{n=eF.lookupNode(s,l)}catch(e){}if(_!==n){var u=eF.isDir(_.mode),d=eF.mayDelete(r,o,u);if(d||(d=n?eF.mayDelete(s,l,u):eF.mayCreate(s,l)))throw new eF.ErrnoError(d);if(!r.node_ops.rename)throw new eF.ErrnoError(63);if(eF.isMountpoint(_)||n&&eF.isMountpoint(n))throw new eF.ErrnoError(10);if(s!==r&&(d=eF.nodePermissions(r,"w")))throw new eF.ErrnoError(d);eF.hashRemoveNode(_);try{r.node_ops.rename(_,s,l),_.parent=s}catch(e){throw e}finally{eF.hashAddNode(_)}}},rmdir(e){var t=eF.lookupPath(e,{parent:!0}).node,r=ep.basename(e),s=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!0);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.rmdir)throw new eF.ErrnoError(63);if(eF.isMountpoint(s))throw new eF.ErrnoError(10);t.node_ops.rmdir(t,r),eF.destroyNode(s)},readdir(e){var t=eF.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new eF.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=eF.lookupPath(e,{parent:!0}).node;if(!t)throw new eF.ErrnoError(44);var r=ep.basename(e),s=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!1);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.unlink)throw new eF.ErrnoError(63);if(eF.isMountpoint(s))throw new eF.ErrnoError(10);t.node_ops.unlink(t,r),eF.destroyNode(s)},readlink(e){var t=eF.lookupPath(e).node;if(!t)throw new eF.ErrnoError(44);if(!t.node_ops.readlink)throw new eF.ErrnoError(28);return eb.resolve(eF.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=eF.lookupPath(e,{follow:!t}).node;if(!r)throw new eF.ErrnoError(44);if(!r.node_ops.getattr)throw new eF.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>eF.stat(e,!0),chmod(e,t,r){var s;if(!(s="string"==typeof e?eF.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);s.node_ops.setattr(s,{mode:4095&t|-4096&s.mode,timestamp:Date.now()})},lchmod(e,t){eF.chmod(e,t,!0)},fchmod(e,t){var r=eF.getStreamChecked(e);eF.chmod(r.node,t)},chown(e,t,r,s){var n;if(!(n="string"==typeof e?eF.lookupPath(e,{follow:!s}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){eF.chown(e,t,r,!0)},fchown(e,t,r){var s=eF.getStreamChecked(e);eF.chown(s.node,t,r)},truncate(e,t){if(t<0)throw new eF.ErrnoError(28);if("string"==typeof e){var r;r=eF.lookupPath(e,{follow:!0}).node}else r=e;if(!r.node_ops.setattr)throw new eF.ErrnoError(63);if(eF.isDir(r.mode))throw new eF.ErrnoError(31);if(!eF.isFile(r.mode))throw new eF.ErrnoError(28);var s=eF.nodePermissions(r,"w");if(s)throw new eF.ErrnoError(s);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=eF.getStreamChecked(e);if((2097155&r.flags)==0)throw new eF.ErrnoError(28);eF.truncate(r.node,t)},utime(e,t,r){var s=eF.lookupPath(e,{follow:!0}).node;s.node_ops.setattr(s,{timestamp:Math.max(t,r)})},open(t,r,s){if(""===t)throw new eF.ErrnoError(44);if(s=64&(r="string"==typeof r?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw Error(`Unknown file open mode: ${e}`);return t})(r):r)?4095&(s=void 0===s?438:s)|32768:0,"object"==typeof t)n=t;else{t=ep.normalize(t);try{var n;n=eF.lookupPath(t,{follow:!(131072&r)}).node}catch(e){}}var i=!1;if(64&r)if(n){if(128&r)throw new eF.ErrnoError(20)}else n=eF.mknod(t,s,0),i=!0;if(!n)throw new eF.ErrnoError(44);if(eF.isChrdev(n.mode)&&(r&=-513),65536&r&&!eF.isDir(n.mode))throw new eF.ErrnoError(54);if(!i){var a=eF.mayOpen(n,r);if(a)throw new eF.ErrnoError(a)}512&r&&!i&&eF.truncate(n,0),r&=-131713;var o=eF.createStream({node:n,path:eF.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),e.logReadFiles&&!(1&r)&&(eF.readFiles||(eF.readFiles={}),t in eF.readFiles||(eF.readFiles[t]=1)),o},close(e){if(eF.isClosed(e))throw new eF.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eF.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eF.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new eF.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,s,n){if(s<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==1)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.read)throw new eF.ErrnoError(28);var i=void 0!==n;if(i){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var a=e.stream_ops.read(e,t,r,s,n);return i||(e.position+=a),a},write(e,t,r,s,n,i){if(s<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==0)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.write)throw new eF.ErrnoError(28);e.seekable&&1024&e.flags&&eF.llseek(e,0,2);var a=void 0!==n;if(a){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var o=e.stream_ops.write(e,t,r,s,n,i);return a||(e.position+=o),o},allocate(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(t<0||r<=0)throw new eF.ErrnoError(28);if((2097155&e.flags)==0)throw new eF.ErrnoError(8);if(!eF.isFile(e.node.mode)&&!eF.isDir(e.node.mode))throw new eF.ErrnoError(43);if(!e.stream_ops.allocate)throw new eF.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,s,n){if((2&s)!=0&&(2&n)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eF.ErrnoError(2);if(!e.stream_ops.mmap)throw new eF.ErrnoError(43);return e.stream_ops.mmap(e,t,r,s,n)},msync:(e,t,r,s,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,s,n):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new eF.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw Error(`Invalid encoding type "${t.encoding}"`);var r,s=eF.open(e,t.flags),n=eF.stat(e).size,i=new Uint8Array(n);return eF.read(s,i,0,n,0),"utf8"===t.encoding?r=eh(i,0):"binary"===t.encoding&&(r=i),eF.close(s),r},writeFile(e,t,r={}){r.flags=r.flags||577;var s=eF.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(ew(t)+1),i=ev(t,n,0,n.length);eF.write(s,n,0,i,void 0,r.canOwn)}else if(ArrayBuffer.isView(t))eF.write(s,t,0,t.byteLength,void 0,r.canOwn);else throw Error("Unsupported data type");eF.close(s)},cwd:()=>eF.currentPath,chdir(e){var t=eF.lookupPath(e,{follow:!0});if(null===t.node)throw new eF.ErrnoError(44);if(!eF.isDir(t.node.mode))throw new eF.ErrnoError(54);var r=eF.nodePermissions(t.node,"x");if(r)throw new eF.ErrnoError(r);eF.currentPath=t.path},createDefaultDirectories(){eF.mkdir("/tmp"),eF.mkdir("/home"),eF.mkdir("/home/web_user")},createDefaultDevices(){eF.mkdir("/dev"),eF.registerDevice(eF.makedev(1,3),{read:()=>0,write:(e,t,r,s,n)=>s}),eF.mkdev("/dev/null",eF.makedev(1,3)),eq.register(eF.makedev(5,0),eq.default_tty_ops),eq.register(eF.makedev(6,0),eq.default_tty1_ops),eF.mkdev("/dev/tty",eF.makedev(5,0)),eF.mkdev("/dev/tty1",eF.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=em(e).byteLength),e[--t]);eF.createDevice("/dev","random",r),eF.createDevice("/dev","urandom",r),eF.mkdir("/dev/shm"),eF.mkdir("/dev/shm/tmp")},createSpecialDirectories(){eF.mkdir("/proc");var e=eF.mkdir("/proc/self");eF.mkdir("/proc/self/fd"),eF.mount({mount(){var t=eF.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=eF.getStreamChecked(+t),s={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>r.path}};return s.parent=s,s}},t}},{},"/proc/self/fd")},createStandardStreams(){e.stdin?eF.createDevice("/dev","stdin",e.stdin):eF.symlink("/dev/tty","/dev/stdin"),e.stdout?eF.createDevice("/dev","stdout",null,e.stdout):eF.symlink("/dev/tty","/dev/stdout"),e.stderr?eF.createDevice("/dev","stderr",null,e.stderr):eF.symlink("/dev/tty1","/dev/stderr"),eF.open("/dev/stdin",0),eF.open("/dev/stdout",1),eF.open("/dev/stderr",1)},staticInit(){[44].forEach(e=>{eF.genericErrors[e]=new eF.ErrnoError(e),eF.genericErrors[e].stack="<generic error, no stack>"}),eF.nameTable=Array(4096),eF.mount(eE,{},"/"),eF.createDefaultDirectories(),eF.createDefaultDevices(),eF.createSpecialDirectories(),eF.filesystems={MEMFS:eE}},init(t,r,s){eF.init.initialized=!0,e.stdin=t||e.stdin,e.stdout=r||e.stdout,e.stderr=s||e.stderr,eF.createStandardStreams()},quit(){eF.init.initialized=!1;for(var e=0;e<eF.streams.length;e++){var t=eF.streams[e];t&&eF.close(t)}},findObject(e,t){var r=eF.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{var r=eF.lookupPath(e,{follow:!t});e=r.path}catch(e){}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var r=eF.lookupPath(e,{parent:!0});s.parentExists=!0,s.parentPath=r.path,s.parentObject=r.node,s.name=ep.basename(e),r=eF.lookupPath(e,{follow:!t}),s.exists=!0,s.path=r.path,s.object=r.node,s.name=r.node.name,s.isRoot="/"===r.path}catch(e){s.error=e.errno}return s},createPath(e,t,r,s){e="string"==typeof e?e:eF.getPath(e);for(var n=t.split("/").reverse();n.length;){var i=n.pop();if(i){var a=ep.join2(e,i);try{eF.mkdir(a)}catch(e){}e=a}}return a},createFile(e,t,r,s,n){var i=ep.join2("string"==typeof e?e:eF.getPath(e),t),a=eS(s,n);return eF.create(i,a)},createDataFile(e,t,r,s,n,i){var a=t;e&&(e="string"==typeof e?e:eF.getPath(e),a=t?ep.join2(e,t):e);var o=eS(s,n),l=eF.create(a,o);if(r){if("string"==typeof r){for(var _=Array(r.length),c=0,u=r.length;c<u;++c)_[c]=r.charCodeAt(c);r=_}eF.chmod(l,146|o);var d=eF.open(l,577);eF.write(d,r,0,r.length,0,i),eF.close(d),eF.chmod(l,o)}},createDevice(e,t,r,s){var n=ep.join2("string"==typeof e?e:eF.getPath(e),t),i=eS(!!r,!!s);eF.createDevice.major||(eF.createDevice.major=64);var a=eF.makedev(eF.createDevice.major++,0);return eF.registerDevice(a,{open(e){e.seekable=!1},close(e){s?.buffer?.length&&s(10)},read(e,t,s,n,i){for(var a,o=0,l=0;l<n;l++){try{a=r()}catch(e){throw new eF.ErrnoError(29)}if(void 0===a&&0===o)throw new eF.ErrnoError(6);if(null==a)break;o++,t[s+l]=a}return o&&(e.node.timestamp=Date.now()),o},write(e,t,r,n,i){for(var a=0;a<n;a++)try{s(t[r+a])}catch(e){throw new eF.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}}),eF.mkdev(n,i,a)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("u">typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(b)try{e.contents=ey(b(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eF.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile(e,t,r,s,n){if("u">typeof XMLHttpRequest){if(!H)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i={isDevice:!1,contents:new class{constructor(){this.lengthKnown=!1,this.chunks=[]}get(e){if(!(e>this.length-1)&&!(e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e,t=new XMLHttpRequest;if(t.open("HEAD",r,!1),t.send(null),!(t.status>=200&&t.status<300||304===t.status))throw Error("Couldn't load "+r+". Status: "+t.status);var s=Number(t.getResponseHeader("Content-length")),n=(e=t.getResponseHeader("Accept-Ranges"))&&"bytes"===e,i=(e=t.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;n||(a=s);var o=this;o.setDataGetter(e=>{var t=e*a,n=(e+1)*a-1;if(n=Math.min(n,s-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>s-1)throw Error("only "+s+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),s!==a&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ey(n.responseText||"",!0)})(t,n)),void 0===o.chunks[e])throw Error("doXHR failed!");return o.chunks[e]}),(i||!s)&&(a=s=1,a=s=this.getter(0).length,$("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=s,this._chunkSize=a,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}}}else var i={isDevice:!1,url:r};var a=eF.createFile(e,t,i,s,n);i.contents?a.contents=i.contents:i.url&&(a.contents=null,a.url=i.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var o={};function l(e,t,r,s,n){var i=e.node.contents;if(n>=i.length)return 0;var a=Math.min(i.length-n,s);if(i.slice)for(var o=0;o<a;o++)t[r+o]=i[n+o];else for(var o=0;o<a;o++)t[r+o]=i.get(n+o);return a}return Object.keys(a.stream_ops).forEach(e=>{var t=a.stream_ops[e];o[e]=(...e)=>(eF.forceLoadFile(a),t(...e))}),o.read=(e,t,r,s,n)=>(eF.forceLoadFile(a),l(e,t,r,s,n)),o.mmap=(e,t,r,s,n)=>{eF.forceLoadFile(a);var i=ek(t);if(!i)throw new eF.ErrnoError(48);return l(e,k,i,t,r),{ptr:i,allocated:!0}},a.stream_ops=o,a}},eA={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ep.isAbs(t))return t;if(-100===e)s=eF.cwd();else{var s;s=eA.getStreamFromFD(e).path}if(0==t.length){if(!r)throw new eF.ErrnoError(44);return s}return ep.join2(s,t)},doStat(e,t,r){var s=e(t);F[r>>2]=s.dev,F[r+4>>2]=s.mode,A[r+8>>2]=s.nlink,F[r+12>>2]=s.uid,F[r+16>>2]=s.gid,F[r+20>>2]=s.rdev,z=[s.size>>>0,+Math.abs(D=s.size)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+24>>2]=z[0],F[r+28>>2]=z[1],F[r+32>>2]=4096,F[r+36>>2]=s.blocks;var n=s.atime.getTime(),i=s.mtime.getTime(),a=s.ctime.getTime();return z=[Math.floor(n/1e3)>>>0,+Math.abs(D=Math.floor(n/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+40>>2]=z[0],F[r+44>>2]=z[1],A[r+48>>2]=n%1e3*1e3,z=[Math.floor(i/1e3)>>>0,+Math.abs(D=Math.floor(i/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+56>>2]=z[0],F[r+60>>2]=z[1],A[r+64>>2]=i%1e3*1e3,z=[Math.floor(a/1e3)>>>0,+Math.abs(D=Math.floor(a/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+72>>2]=z[0],F[r+76>>2]=z[1],A[r+80>>2]=a%1e3*1e3,z=[s.ino>>>0,+Math.abs(D=s.ino)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+88>>2]=z[0],F[r+92>>2]=z[1],0},doMsync(e,t,r,s,n){if(!eF.isFile(t.node.mode))throw new eF.ErrnoError(43);if(2&s)return 0;var i=E.slice(e,e+r);eF.msync(t,i,n,r,s)},getStreamFromFD:e=>eF.getStreamChecked(e),varargs:void 0,getStr:e=>ef(e)};function eT(){var e=F[eA.varargs>>2];return eA.varargs+=4,e}var eP=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+0x100000000*t:0/0,eI=(e,t,r)=>ev(e,E,t,r),eD=e=>A[e>>2]+0x100000000*F[e+4>>2],ez=[0,31,60,91,121,152,182,213,244,274,305,335],eL=[0,31,59,90,120,151,181,212,243,273,304,334],eM=e=>{var t=(e-y.buffer.byteLength+65535)/65536;try{return y.grow(t),G(),1}catch(e){}},ej={},eC=()=>{if(!eC.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:U||"./this.program"};for(var t in ej)void 0===ej[t]?delete e[t]:e[t]=ej[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);eC.strings=r}return eC.strings},eR=function(e){try{var t=eA.getStreamFromFD(e);return e2.handleSleep(e=>{var r=t.node.mount;r.type.syncfs?r.type.syncfs(r,!1,t=>{t?e(29):e(0)}):e(0)})}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}};eR.isAsync=!0;var eH=function(){let t="object"==typeof e2?e2.handleAsync.bind(e2):null;e.handleAsync=t;let r=new Map;e.setCallback=(e,t)=>r.set(e,t),e.getCallback=e=>r.get(e),e.deleteCallback=e=>r.delete(e),eH=function(e,s,...n){let i=r.get(s),a=null,o="function"==typeof i?i:i[a=ef(n.shift())];if(e){if(t)return t(()=>o.apply(i,n));throw Error("Synchronous WebAssembly cannot call async function")}let l=o.apply(i,n);if("function"==typeof l?.then)throw console.error("unexpected Promise",o),Error(`${a} unexpectedly returned a Promise`);return l}};function eO(...e){return eH(!0,...e)}function eU(...e){return eH(!0,...e)}function eN(...e){return eH(!0,...e)}function eB(...e){return eH(!0,...e)}function e$(...e){return eH(!0,...e)}function eW(...e){return eH(!0,...e)}function eV(...e){return eH(!0,...e)}function eG(...e){return eH(!0,...e)}function eX(...e){return eH(!0,...e)}function eK(...e){return eH(!0,...e)}function eY(...e){return eH(!0,...e)}function eJ(...e){return eH(!0,...e)}function eZ(...e){return eH(!0,...e)}function eQ(...e){return eH(!0,...e)}function e0(...e){return eH(!0,...e)}function e3(...e){return eH(!0,...e)}eO.isAsync=!0,eU.isAsync=!0,eN.isAsync=!0,eB.isAsync=!0,e$.isAsync=!0,eW.isAsync=!0,eV.isAsync=!0,eG.isAsync=!0,eX.isAsync=!0,eK.isAsync=!0,eY.isAsync=!0,eJ.isAsync=!0,eZ.isAsync=!0,eQ.isAsync=!0,e0.isAsync=!0,e3.isAsync=!0;var e1=e=>{if(e instanceof ea||"unwind"==e)return q;N(1,e)},e2={instrumentWasmImports(e){var t=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[r,s]of Object.entries(e))"function"==typeof s&&(s.isAsync||t.test(r))&&(e[r]=s=new WebAssembly.Suspending(s))},instrumentWasmExports(e){var t=/^(sqlite3_close|sqlite3_finalize|sqlite3_open_v2|sqlite3_prepare|sqlite3_prepare16|sqlite3_prepare_v2|sqlite3_prepare16_v2|sqlite3_prepare_v3|sqlite3_prepare16_v3|sqlite3_reset|sqlite3_step|main|__main_argc_argv)$/;e2.asyncExports=new Set;var r={};for(let[s,n]of Object.entries(e))"function"==typeof n?(t.test(s)&&(e2.asyncExports.add(n),n=e2.makeAsyncFunction(n)),r[s]=(...e)=>n(...e)):r[s]=n;return r},asyncExports:null,isAsyncExport:e=>e2.asyncExports?.has(e),handleAsync:async e=>await e(),handleSleep:e=>e2.handleAsync(()=>new Promise(e)),makeAsyncFunction:e=>WebAssembly.promising(e)},e6=(e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},e4=[],e5=e=>{var t=e4[e];return!t&&(e>=e4.length&&(e4.length=e+1),e4[e]=t=L.get(e),e2.isAsyncExport(t)&&(e4[e]=t=e2.makeAsyncFunction(t))),t},e8=[],e7=(e,t)=>{L.set(e,t),e4[e]=L.get(e)},e9=t=>e["_"+t],te=(e,t)=>{k.set(e,t)},tt=(e,t,r,s,n)=>{var i={string:e=>{var t,r,s,n=0;return null!=e&&0!==e&&(r=ew(t=e)+1,eI(t,s=t_(r),r),n=s),n},array:e=>{let t;var r=(t=e.length,t_(t));return te(e,r),r}},a=e9(e),o=[],l=0;if(s)for(var _=0;_<s.length;_++){var c=i[r[_]];c?(0===l&&(l=eu()),o[_]=c(s[_])):o[_]=s[_]}var u=a(...o);function d(e){return 0!==l&&tl(l),"string"===t?ef(e):"boolean"===t?!!e:e}return n?.async?u.then(d):u=d(u)},tr="u">typeof TextDecoder?new TextDecoder("utf-16le"):void 0;eF.createPreloadedFile=(e,t,r,s,n,i,a,o,l,_)=>{var c=t?eb.resolve(ep.join2(e,t)):e,u=`cp ${c}`;function d(r){var d,h;function f(r){_?.(),o||eF.createDataFile(e,t,r,s,n,l),i?.(),er(u)}d=()=>{a?.(),er(u)},"u">typeof Browser&&Browser.init(),h=!1,ex.forEach(e=>{!h&&e.canHandle(c)&&(e.handle(r,c,f,d),h=!0)}),h||f(r)}if(et(u),"string"==typeof r){var h=`al ${r}`;g(r,e=>{d(new Uint8Array(e)),h&&er(h)},e=>{if(a)a();else throw`Loading data file "${r}" failed.`}),h&&et(h)}else d(r)},eF.staticInit(),eH();var ts={__assert_fail:(e,t,r,s)=>{es(`Assertion failed: ${ef(e)}, at: `+[t?ef(t):"unknown filename",r,s?ef(s):"unknown function"])},__syscall_chmod:function(e,t){try{return e=eA.getStr(e),eF.chmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_faccessat:function(e,t,r,s){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),-8&r)return -28;var n=eF.lookupPath(t,{follow:!0}).node;if(!n)return -44;var i="";if(4&r&&(i+="r"),2&r&&(i+="w"),1&r&&(i+="x"),i&&eF.nodePermissions(n,i))return -2;return 0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_fchmod:function(e,t){try{return eF.fchmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_fchown32:function(e,t,r){try{return eF.fchown(e,t,r),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_fcntl64:function(e,t,r){eA.varargs=r;try{var s=eA.getStreamFromFD(e);switch(t){case 0:var n=eT();if(n<0)break;for(;eF.streams[n];)n++;return eF.dupStream(s,n).fd;case 1:case 2:case 13:case 14:return 0;case 3:return s.flags;case 4:var n=eT();return s.flags|=n,0;case 12:var n=eT();return x[n+0>>1]=2,0}return -28}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_fstat64:function(e,t){try{var r=eA.getStreamFromFD(e);return eA.doStat(eF.stat,r.path,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_ftruncate64:function(e,t,r){var s=eP(t,r);try{if(isNaN(s))return 61;return eF.ftruncate(e,s),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_getcwd:function(e,t){try{if(0===t)return -28;var r=eF.cwd(),s=ew(r)+1;if(t<s)return -68;return eI(r,e,t),s}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_lstat64:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.lstat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_mkdirat:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),t=ep.normalize(t),"/"===t[t.length-1]&&(t=t.substr(0,t.length-1)),eF.mkdir(t,r,0),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_newfstatat:function(e,t,r,s){try{t=eA.getStr(t);var n=256&s,i=4096&s;return s&=-6401,t=eA.calculateAt(e,t,i),eA.doStat(n?eF.lstat:eF.stat,t,r)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_openat:function(e,t,r,s){eA.varargs=s;try{t=eA.getStr(t),t=eA.calculateAt(e,t);var n=s?eT():0;return eF.open(t,r,n).fd}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_readlinkat:function(e,t,r,s){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),s<=0)return -28;var n=eF.readlink(t),i=Math.min(s,ew(n)),a=k[r+i];return eI(n,r,s+1),k[r+i]=a,i}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_rmdir:function(e){try{return e=eA.getStr(e),eF.rmdir(e),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_stat64:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.stat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_unlinkat:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),0===r?eF.unlink(t):512===r?eF.rmdir(t):es("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_utimensat:function(e,t,r,s){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t,!0),r){var n=eD(r),i=F[r+8>>2];a=1e3*n+i/1e6,r+=16,n=eD(r),i=F[r+8>>2],o=1e3*n+i/1e6}else var a=Date.now(),o=a;return eF.utime(t,a,o),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},_localtime_js:function(e,t,r){let s;var n=new Date(1e3*eP(e,t));F[r>>2]=n.getSeconds(),F[r+4>>2]=n.getMinutes(),F[r+8>>2]=n.getHours(),F[r+12>>2]=n.getDate(),F[r+16>>2]=n.getMonth(),F[r+20>>2]=n.getFullYear()-1900,F[r+24>>2]=n.getDay();var i=0|((s=n.getFullYear())%4==0&&(s%100!=0||s%400==0)?ez:eL)[n.getMonth()]+n.getDate()-1;F[r+28>>2]=i,F[r+36>>2]=-(60*n.getTimezoneOffset());var a=new Date(n.getFullYear(),0,1),o=new Date(n.getFullYear(),6,1).getTimezoneOffset(),l=a.getTimezoneOffset(),_=0|(o!=l&&n.getTimezoneOffset()==Math.min(l,o));F[r+32>>2]=_},_mmap_js:function(e,t,r,s,n,i,a,o){var l=eP(n,i);try{if(isNaN(l))return 61;var _=eA.getStreamFromFD(s),c=eF.mmap(_,e,l,t,r),u=c.ptr;return F[a>>2]=c.allocated,A[o>>2]=u,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},_munmap_js:function(e,t,r,s,n,i,a){var o=eP(i,a);try{var l=eA.getStreamFromFD(n);2&r&&eA.doMsync(e,l,t,s,o)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},_tzset_js:(e,t,r,s)=>{var n=(new Date).getFullYear(),i=new Date(n,0,1),a=new Date(n,6,1),o=i.getTimezoneOffset(),l=a.getTimezoneOffset(),_=Math.max(o,l);A[e>>2]=60*_,F[t>>2]=Number(o!=l);var c=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],u=c(i),d=c(a);l<o?(eI(u,r,17),eI(d,s,17)):(eI(u,s,17),eI(d,r,17))},emscripten_date_now:()=>Date.now(),emscripten_get_now:()=>performance.now(),emscripten_resize_heap:e=>{var t=E.length;if((e>>>=0)>0x80000000)return!1;for(var r=(e,t)=>e+(t-e%t)%t,s=1;s<=4;s*=2){var n=t*(1+.2/s);if(n=Math.min(n,e+0x6000000),eM(Math.min(0x80000000,r(Math.max(e,n),65536))))return!0}return!1},environ_get:(e,t)=>{var r=0;return eC().forEach((s,n)=>{var i=t+r;A[e+4*n>>2]=i;for(var a=i,o=0;o<s.length;++o)k[a++]=s.charCodeAt(o);k[a]=0,r+=s.length+1}),0},environ_sizes_get:(e,t)=>{var r=eC();A[e>>2]=r.length;var s=0;return r.forEach(e=>s+=e.length+1),A[t>>2]=s,0},fd_close:function(e){try{var t=eA.getStreamFromFD(e);return eF.close(t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},fd_fdstat_get:function(e,t){try{var r=eA.getStreamFromFD(e),s=r.tty?2:eF.isDir(r.mode)?3:eF.isLink(r.mode)?7:4;return k[t]=s,x[t+2>>1]=0,z=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+8>>2]=z[0],F[t+12>>2]=z[1],z=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+16>>2]=z[0],F[t+20>>2]=z[1],0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},fd_read:function(e,t,r,s){try{var n=eA.getStreamFromFD(e),i=((e,t,r,s)=>{for(var n=0,i=0;i<r;i++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.read(e,k,a,o,s);if(l<0)return -1;if(n+=l,l<o)break;void 0!==s&&(s+=l)}return n})(n,t,r);return A[s>>2]=i,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},fd_seek:function(e,t,r,s,n){var i=eP(t,r);try{if(isNaN(i))return 61;var a=eA.getStreamFromFD(e);return eF.llseek(a,i,s),z=[a.position>>>0,(D=a.position,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[n>>2]=z[0],F[n+4>>2]=z[1],a.getdents&&0===i&&0===s&&(a.getdents=null),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},fd_sync:eR,fd_write:function(e,t,r,s){try{var n=eA.getStreamFromFD(e),i=((e,t,r,s)=>{for(var n=0,i=0;i<r;i++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.write(e,k,a,o,s);if(l<0)return -1;n+=l,void 0!==s&&(s+=l)}return n})(n,t,r);return A[s>>2]=i,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},ipp:function(...e){return eH(!1,...e)},ipp_async:eO,ippipppp:function(...e){return eH(!1,...e)},ippipppp_async:eU,ippp:function(...e){return eH(!1,...e)},ippp_async:eN,ipppi:function(...e){return eH(!1,...e)},ipppi_async:eB,ipppiii:function(...e){return eH(!1,...e)},ipppiii_async:e$,ipppiiip:function(...e){return eH(!1,...e)},ipppiiip_async:eW,ipppip:function(...e){return eH(!1,...e)},ipppip_async:eV,ipppj:function(...e){return eH(!1,...e)},ipppj_async:eG,ipppp:function(...e){return eH(!1,...e)},ipppp_async:eX,ippppi:function(...e){return eH(!1,...e)},ippppi_async:eK,ippppij:function(...e){return eH(!1,...e)},ippppij_async:eY,ippppip:function(...e){return eH(!1,...e)},ippppip_async:eJ,ipppppip:function(...e){return eH(!1,...e)},ipppppip_async:eZ,vppippii:function(...e){return eH(!1,...e)},vppippii_async:eQ,vppp:function(...e){return eH(!1,...e)},vppp_async:e0,vpppip:function(...e){return eH(!1,...e)},vpppip_async:e3},tn=function(){var t,r,s,n,i=(e2.instrumentWasmImports(ts),{env:ts,wasi_snapshot_preview1:ts});function a(e,t){var r;return tn=e.exports,y=(tn=e2.instrumentWasmExports(tn)).memory,G(),L=tn.__indirect_function_table,r=tn.__wasm_call_ctors,K.unshift(r),er("wasm-instantiate"),tn}if(et("wasm-instantiate"),e.instantiateWasm)try{return e.instantiateWasm(i,a)}catch(e){W(`Module.instantiateWasm callback failed with error: ${e}`),m(e)}return I||(I=function(){if(e.locateFile){var t="wa-sqlite-jspi.wasm";return t.startsWith("data:application/octet-stream;base64,")?t:e.locateFile?e.locateFile(t,B):B+t}return new URL("wa-sqlite-jspi.wasm",import.meta.url).href}()),(t=v,r=I,s=i,n=function(e){a(e.instance)},t||"function"!=typeof WebAssembly.instantiateStreaming||r.startsWith("data:application/octet-stream;base64,")||"function"!=typeof fetch?ei(r,s,n):fetch(r,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,s).then(n,function(e){return W(`wasm streaming compile failed: ${e}`),W("falling back to ArrayBuffer instantiation"),ei(r,s,n)}))).catch(m),{}}(),ti=(e._sqlite3_status64=(t,r,s,n)=>(e._sqlite3_status64=tn.sqlite3_status64)(t,r,s,n),e._sqlite3_status=(t,r,s,n)=>(e._sqlite3_status=tn.sqlite3_status)(t,r,s,n),e._sqlite3_msize=t=>(e._sqlite3_msize=tn.sqlite3_msize)(t),e._sqlite3_db_status=(t,r,s,n,i)=>(e._sqlite3_db_status=tn.sqlite3_db_status)(t,r,s,n,i),e._sqlite3_vfs_find=t=>(e._sqlite3_vfs_find=tn.sqlite3_vfs_find)(t),e._sqlite3_vfs_register=(t,r)=>(e._sqlite3_vfs_register=tn.sqlite3_vfs_register)(t,r),e._sqlite3_vfs_unregister=t=>(e._sqlite3_vfs_unregister=tn.sqlite3_vfs_unregister)(t),e._sqlite3_release_memory=t=>(e._sqlite3_release_memory=tn.sqlite3_release_memory)(t),e._sqlite3_soft_heap_limit64=(t,r)=>(e._sqlite3_soft_heap_limit64=tn.sqlite3_soft_heap_limit64)(t,r),e._sqlite3_memory_used=()=>(e._sqlite3_memory_used=tn.sqlite3_memory_used)(),e._sqlite3_hard_heap_limit64=(t,r)=>(e._sqlite3_hard_heap_limit64=tn.sqlite3_hard_heap_limit64)(t,r),e._sqlite3_memory_highwater=t=>(e._sqlite3_memory_highwater=tn.sqlite3_memory_highwater)(t),e._sqlite3_malloc=t=>(e._sqlite3_malloc=tn.sqlite3_malloc)(t),e._sqlite3_malloc64=(t,r)=>(e._sqlite3_malloc64=tn.sqlite3_malloc64)(t,r),e._sqlite3_free=t=>(e._sqlite3_free=tn.sqlite3_free)(t),e._sqlite3_realloc=(t,r)=>(e._sqlite3_realloc=tn.sqlite3_realloc)(t,r),e._sqlite3_realloc64=(t,r,s)=>(e._sqlite3_realloc64=tn.sqlite3_realloc64)(t,r,s),e._sqlite3_str_vappendf=(t,r,s)=>(e._sqlite3_str_vappendf=tn.sqlite3_str_vappendf)(t,r,s),e._sqlite3_str_append=(t,r,s)=>(e._sqlite3_str_append=tn.sqlite3_str_append)(t,r,s),e._sqlite3_str_appendchar=(t,r,s)=>(e._sqlite3_str_appendchar=tn.sqlite3_str_appendchar)(t,r,s),e._sqlite3_str_appendall=(t,r)=>(e._sqlite3_str_appendall=tn.sqlite3_str_appendall)(t,r),e._sqlite3_str_appendf=(t,r,s)=>(e._sqlite3_str_appendf=tn.sqlite3_str_appendf)(t,r,s),e._sqlite3_str_finish=t=>(e._sqlite3_str_finish=tn.sqlite3_str_finish)(t),e._sqlite3_str_errcode=t=>(e._sqlite3_str_errcode=tn.sqlite3_str_errcode)(t),e._sqlite3_str_length=t=>(e._sqlite3_str_length=tn.sqlite3_str_length)(t),e._sqlite3_str_value=t=>(e._sqlite3_str_value=tn.sqlite3_str_value)(t),e._sqlite3_str_reset=t=>(e._sqlite3_str_reset=tn.sqlite3_str_reset)(t),e._sqlite3_str_new=t=>(e._sqlite3_str_new=tn.sqlite3_str_new)(t),e._sqlite3_vmprintf=(t,r)=>(e._sqlite3_vmprintf=tn.sqlite3_vmprintf)(t,r),e._sqlite3_mprintf=(t,r)=>(e._sqlite3_mprintf=tn.sqlite3_mprintf)(t,r),e._sqlite3_vsnprintf=(t,r,s,n)=>(e._sqlite3_vsnprintf=tn.sqlite3_vsnprintf)(t,r,s,n),e._sqlite3_snprintf=(t,r,s,n)=>(e._sqlite3_snprintf=tn.sqlite3_snprintf)(t,r,s,n),e._sqlite3_log=(t,r,s)=>(e._sqlite3_log=tn.sqlite3_log)(t,r,s),e._sqlite3_randomness=(t,r)=>(e._sqlite3_randomness=tn.sqlite3_randomness)(t,r),e._sqlite3_stricmp=(t,r)=>(e._sqlite3_stricmp=tn.sqlite3_stricmp)(t,r),e._sqlite3_strnicmp=(t,r,s)=>(e._sqlite3_strnicmp=tn.sqlite3_strnicmp)(t,r,s),e._sqlite3_os_init=()=>(e._sqlite3_os_init=tn.sqlite3_os_init)(),e._sqlite3_os_end=()=>(e._sqlite3_os_end=tn.sqlite3_os_end)(),e._sqlite3_serialize=(t,r,s,n)=>(e._sqlite3_serialize=tn.sqlite3_serialize)(t,r,s,n),e._sqlite3_prepare_v2=(t,r,s,n,i)=>(e._sqlite3_prepare_v2=tn.sqlite3_prepare_v2)(t,r,s,n,i),e._sqlite3_step=t=>(e._sqlite3_step=tn.sqlite3_step)(t),e._sqlite3_column_int64=(t,r)=>(e._sqlite3_column_int64=tn.sqlite3_column_int64)(t,r),e._sqlite3_reset=t=>(e._sqlite3_reset=tn.sqlite3_reset)(t),e._sqlite3_exec=(t,r,s,n,i)=>(e._sqlite3_exec=tn.sqlite3_exec)(t,r,s,n,i),e._sqlite3_column_int=(t,r)=>(e._sqlite3_column_int=tn.sqlite3_column_int)(t,r),e._sqlite3_finalize=t=>(e._sqlite3_finalize=tn.sqlite3_finalize)(t),e._sqlite3_deserialize=(t,r,s,n,i,a,o,l)=>(e._sqlite3_deserialize=tn.sqlite3_deserialize)(t,r,s,n,i,a,o,l),e._sqlite3_database_file_object=t=>(e._sqlite3_database_file_object=tn.sqlite3_database_file_object)(t),e._sqlite3_backup_init=(t,r,s,n)=>(e._sqlite3_backup_init=tn.sqlite3_backup_init)(t,r,s,n),e._sqlite3_backup_step=(t,r)=>(e._sqlite3_backup_step=tn.sqlite3_backup_step)(t,r),e._sqlite3_backup_finish=t=>(e._sqlite3_backup_finish=tn.sqlite3_backup_finish)(t),e._sqlite3_backup_remaining=t=>(e._sqlite3_backup_remaining=tn.sqlite3_backup_remaining)(t),e._sqlite3_backup_pagecount=t=>(e._sqlite3_backup_pagecount=tn.sqlite3_backup_pagecount)(t),e._sqlite3_clear_bindings=t=>(e._sqlite3_clear_bindings=tn.sqlite3_clear_bindings)(t),e._sqlite3_value_blob=t=>(e._sqlite3_value_blob=tn.sqlite3_value_blob)(t),e._sqlite3_value_text=t=>(e._sqlite3_value_text=tn.sqlite3_value_text)(t),e._sqlite3_value_bytes=t=>(e._sqlite3_value_bytes=tn.sqlite3_value_bytes)(t),e._sqlite3_value_bytes16=t=>(e._sqlite3_value_bytes16=tn.sqlite3_value_bytes16)(t),e._sqlite3_value_double=t=>(e._sqlite3_value_double=tn.sqlite3_value_double)(t),e._sqlite3_value_int=t=>(e._sqlite3_value_int=tn.sqlite3_value_int)(t),e._sqlite3_value_int64=t=>(e._sqlite3_value_int64=tn.sqlite3_value_int64)(t),e._sqlite3_value_subtype=t=>(e._sqlite3_value_subtype=tn.sqlite3_value_subtype)(t),e._sqlite3_value_pointer=(t,r)=>(e._sqlite3_value_pointer=tn.sqlite3_value_pointer)(t,r),e._sqlite3_value_text16=t=>(e._sqlite3_value_text16=tn.sqlite3_value_text16)(t),e._sqlite3_value_text16be=t=>(e._sqlite3_value_text16be=tn.sqlite3_value_text16be)(t),e._sqlite3_value_text16le=t=>(e._sqlite3_value_text16le=tn.sqlite3_value_text16le)(t),e._sqlite3_value_type=t=>(e._sqlite3_value_type=tn.sqlite3_value_type)(t),e._sqlite3_value_encoding=t=>(e._sqlite3_value_encoding=tn.sqlite3_value_encoding)(t),e._sqlite3_value_nochange=t=>(e._sqlite3_value_nochange=tn.sqlite3_value_nochange)(t),e._sqlite3_value_frombind=t=>(e._sqlite3_value_frombind=tn.sqlite3_value_frombind)(t),e._sqlite3_value_dup=t=>(e._sqlite3_value_dup=tn.sqlite3_value_dup)(t),e._sqlite3_value_free=t=>(e._sqlite3_value_free=tn.sqlite3_value_free)(t),e._sqlite3_result_blob=(t,r,s,n)=>(e._sqlite3_result_blob=tn.sqlite3_result_blob)(t,r,s,n),e._sqlite3_result_blob64=(t,r,s,n,i)=>(e._sqlite3_result_blob64=tn.sqlite3_result_blob64)(t,r,s,n,i),e._sqlite3_result_double=(t,r)=>(e._sqlite3_result_double=tn.sqlite3_result_double)(t,r),e._sqlite3_result_error=(t,r,s)=>(e._sqlite3_result_error=tn.sqlite3_result_error)(t,r,s),e._sqlite3_result_error16=(t,r,s)=>(e._sqlite3_result_error16=tn.sqlite3_result_error16)(t,r,s),e._sqlite3_result_int=(t,r)=>(e._sqlite3_result_int=tn.sqlite3_result_int)(t,r),e._sqlite3_result_int64=(t,r,s)=>(e._sqlite3_result_int64=tn.sqlite3_result_int64)(t,r,s),e._sqlite3_result_null=t=>(e._sqlite3_result_null=tn.sqlite3_result_null)(t),e._sqlite3_result_pointer=(t,r,s,n)=>(e._sqlite3_result_pointer=tn.sqlite3_result_pointer)(t,r,s,n),e._sqlite3_result_subtype=(t,r)=>(e._sqlite3_result_subtype=tn.sqlite3_result_subtype)(t,r),e._sqlite3_result_text=(t,r,s,n)=>(e._sqlite3_result_text=tn.sqlite3_result_text)(t,r,s,n),e._sqlite3_result_text64=(t,r,s,n,i,a)=>(e._sqlite3_result_text64=tn.sqlite3_result_text64)(t,r,s,n,i,a),e._sqlite3_result_text16=(t,r,s,n)=>(e._sqlite3_result_text16=tn.sqlite3_result_text16)(t,r,s,n),e._sqlite3_result_text16be=(t,r,s,n)=>(e._sqlite3_result_text16be=tn.sqlite3_result_text16be)(t,r,s,n),e._sqlite3_result_text16le=(t,r,s,n)=>(e._sqlite3_result_text16le=tn.sqlite3_result_text16le)(t,r,s,n),e._sqlite3_result_value=(t,r)=>(e._sqlite3_result_value=tn.sqlite3_result_value)(t,r),e._sqlite3_result_error_toobig=t=>(e._sqlite3_result_error_toobig=tn.sqlite3_result_error_toobig)(t),e._sqlite3_result_zeroblob=(t,r)=>(e._sqlite3_result_zeroblob=tn.sqlite3_result_zeroblob)(t,r),e._sqlite3_result_zeroblob64=(t,r,s)=>(e._sqlite3_result_zeroblob64=tn.sqlite3_result_zeroblob64)(t,r,s),e._sqlite3_result_error_code=(t,r)=>(e._sqlite3_result_error_code=tn.sqlite3_result_error_code)(t,r),e._sqlite3_result_error_nomem=t=>(e._sqlite3_result_error_nomem=tn.sqlite3_result_error_nomem)(t),e._sqlite3_user_data=t=>(e._sqlite3_user_data=tn.sqlite3_user_data)(t),e._sqlite3_context_db_handle=t=>(e._sqlite3_context_db_handle=tn.sqlite3_context_db_handle)(t),e._sqlite3_vtab_nochange=t=>(e._sqlite3_vtab_nochange=tn.sqlite3_vtab_nochange)(t),e._sqlite3_vtab_in_first=(t,r)=>(e._sqlite3_vtab_in_first=tn.sqlite3_vtab_in_first)(t,r),e._sqlite3_vtab_in_next=(t,r)=>(e._sqlite3_vtab_in_next=tn.sqlite3_vtab_in_next)(t,r),e._sqlite3_aggregate_context=(t,r)=>(e._sqlite3_aggregate_context=tn.sqlite3_aggregate_context)(t,r),e._sqlite3_get_auxdata=(t,r)=>(e._sqlite3_get_auxdata=tn.sqlite3_get_auxdata)(t,r),e._sqlite3_set_auxdata=(t,r,s,n)=>(e._sqlite3_set_auxdata=tn.sqlite3_set_auxdata)(t,r,s,n),e._sqlite3_column_count=t=>(e._sqlite3_column_count=tn.sqlite3_column_count)(t),e._sqlite3_data_count=t=>(e._sqlite3_data_count=tn.sqlite3_data_count)(t),e._sqlite3_column_blob=(t,r)=>(e._sqlite3_column_blob=tn.sqlite3_column_blob)(t,r),e._sqlite3_column_bytes=(t,r)=>(e._sqlite3_column_bytes=tn.sqlite3_column_bytes)(t,r),e._sqlite3_column_bytes16=(t,r)=>(e._sqlite3_column_bytes16=tn.sqlite3_column_bytes16)(t,r),e._sqlite3_column_double=(t,r)=>(e._sqlite3_column_double=tn.sqlite3_column_double)(t,r),e._sqlite3_column_text=(t,r)=>(e._sqlite3_column_text=tn.sqlite3_column_text)(t,r),e._sqlite3_column_value=(t,r)=>(e._sqlite3_column_value=tn.sqlite3_column_value)(t,r),e._sqlite3_column_text16=(t,r)=>(e._sqlite3_column_text16=tn.sqlite3_column_text16)(t,r),e._sqlite3_column_type=(t,r)=>(e._sqlite3_column_type=tn.sqlite3_column_type)(t,r),e._sqlite3_column_name=(t,r)=>(e._sqlite3_column_name=tn.sqlite3_column_name)(t,r),e._sqlite3_column_name16=(t,r)=>(e._sqlite3_column_name16=tn.sqlite3_column_name16)(t,r),e._sqlite3_bind_blob=(t,r,s,n,i)=>(e._sqlite3_bind_blob=tn.sqlite3_bind_blob)(t,r,s,n,i),e._sqlite3_bind_blob64=(t,r,s,n,i,a)=>(e._sqlite3_bind_blob64=tn.sqlite3_bind_blob64)(t,r,s,n,i,a),e._sqlite3_bind_double=(t,r,s)=>(e._sqlite3_bind_double=tn.sqlite3_bind_double)(t,r,s),e._sqlite3_bind_int=(t,r,s)=>(e._sqlite3_bind_int=tn.sqlite3_bind_int)(t,r,s),e._sqlite3_bind_int64=(t,r,s,n)=>(e._sqlite3_bind_int64=tn.sqlite3_bind_int64)(t,r,s,n),e._sqlite3_bind_null=(t,r)=>(e._sqlite3_bind_null=tn.sqlite3_bind_null)(t,r),e._sqlite3_bind_pointer=(t,r,s,n,i)=>(e._sqlite3_bind_pointer=tn.sqlite3_bind_pointer)(t,r,s,n,i),e._sqlite3_bind_text=(t,r,s,n,i)=>(e._sqlite3_bind_text=tn.sqlite3_bind_text)(t,r,s,n,i),e._sqlite3_bind_text64=(t,r,s,n,i,a,o)=>(e._sqlite3_bind_text64=tn.sqlite3_bind_text64)(t,r,s,n,i,a,o),e._sqlite3_bind_text16=(t,r,s,n,i)=>(e._sqlite3_bind_text16=tn.sqlite3_bind_text16)(t,r,s,n,i),e._sqlite3_bind_value=(t,r,s)=>(e._sqlite3_bind_value=tn.sqlite3_bind_value)(t,r,s),e._sqlite3_bind_zeroblob=(t,r,s)=>(e._sqlite3_bind_zeroblob=tn.sqlite3_bind_zeroblob)(t,r,s),e._sqlite3_bind_zeroblob64=(t,r,s,n)=>(e._sqlite3_bind_zeroblob64=tn.sqlite3_bind_zeroblob64)(t,r,s,n),e._sqlite3_bind_parameter_count=t=>(e._sqlite3_bind_parameter_count=tn.sqlite3_bind_parameter_count)(t),e._sqlite3_bind_parameter_name=(t,r)=>(e._sqlite3_bind_parameter_name=tn.sqlite3_bind_parameter_name)(t,r),e._sqlite3_bind_parameter_index=(t,r)=>(e._sqlite3_bind_parameter_index=tn.sqlite3_bind_parameter_index)(t,r),e._sqlite3_db_handle=t=>(e._sqlite3_db_handle=tn.sqlite3_db_handle)(t),e._sqlite3_stmt_readonly=t=>(e._sqlite3_stmt_readonly=tn.sqlite3_stmt_readonly)(t),e._sqlite3_stmt_isexplain=t=>(e._sqlite3_stmt_isexplain=tn.sqlite3_stmt_isexplain)(t),e._sqlite3_stmt_explain=(t,r)=>(e._sqlite3_stmt_explain=tn.sqlite3_stmt_explain)(t,r),e._sqlite3_stmt_busy=t=>(e._sqlite3_stmt_busy=tn.sqlite3_stmt_busy)(t),e._sqlite3_next_stmt=(t,r)=>(e._sqlite3_next_stmt=tn.sqlite3_next_stmt)(t,r),e._sqlite3_stmt_status=(t,r,s)=>(e._sqlite3_stmt_status=tn.sqlite3_stmt_status)(t,r,s),e._sqlite3_sql=t=>(e._sqlite3_sql=tn.sqlite3_sql)(t),e._sqlite3_expanded_sql=t=>(e._sqlite3_expanded_sql=tn.sqlite3_expanded_sql)(t),e._sqlite3_value_numeric_type=t=>(e._sqlite3_value_numeric_type=tn.sqlite3_value_numeric_type)(t),e._sqlite3_blob_open=(t,r,s,n,i,a,o,l)=>(e._sqlite3_blob_open=tn.sqlite3_blob_open)(t,r,s,n,i,a,o,l),e._sqlite3_blob_close=t=>(e._sqlite3_blob_close=tn.sqlite3_blob_close)(t),e._sqlite3_blob_read=(t,r,s,n)=>(e._sqlite3_blob_read=tn.sqlite3_blob_read)(t,r,s,n),e._sqlite3_blob_write=(t,r,s,n)=>(e._sqlite3_blob_write=tn.sqlite3_blob_write)(t,r,s,n),e._sqlite3_blob_bytes=t=>(e._sqlite3_blob_bytes=tn.sqlite3_blob_bytes)(t),e._sqlite3_blob_reopen=(t,r,s)=>(e._sqlite3_blob_reopen=tn.sqlite3_blob_reopen)(t,r,s),e._sqlite3_set_authorizer=(t,r,s)=>(e._sqlite3_set_authorizer=tn.sqlite3_set_authorizer)(t,r,s),e._sqlite3_strglob=(t,r)=>(e._sqlite3_strglob=tn.sqlite3_strglob)(t,r),e._sqlite3_strlike=(t,r,s)=>(e._sqlite3_strlike=tn.sqlite3_strlike)(t,r,s),e._sqlite3_errmsg=t=>(e._sqlite3_errmsg=tn.sqlite3_errmsg)(t),e._sqlite3_auto_extension=t=>(e._sqlite3_auto_extension=tn.sqlite3_auto_extension)(t),e._sqlite3_cancel_auto_extension=t=>(e._sqlite3_cancel_auto_extension=tn.sqlite3_cancel_auto_extension)(t),e._sqlite3_reset_auto_extension=()=>(e._sqlite3_reset_auto_extension=tn.sqlite3_reset_auto_extension)(),e._sqlite3_prepare=(t,r,s,n,i)=>(e._sqlite3_prepare=tn.sqlite3_prepare)(t,r,s,n,i),e._sqlite3_prepare_v3=(t,r,s,n,i,a)=>(e._sqlite3_prepare_v3=tn.sqlite3_prepare_v3)(t,r,s,n,i,a),e._sqlite3_prepare16=(t,r,s,n,i)=>(e._sqlite3_prepare16=tn.sqlite3_prepare16)(t,r,s,n,i),e._sqlite3_prepare16_v2=(t,r,s,n,i)=>(e._sqlite3_prepare16_v2=tn.sqlite3_prepare16_v2)(t,r,s,n,i),e._sqlite3_prepare16_v3=(t,r,s,n,i,a)=>(e._sqlite3_prepare16_v3=tn.sqlite3_prepare16_v3)(t,r,s,n,i,a),e._sqlite3_get_table=(t,r,s,n,i,a)=>(e._sqlite3_get_table=tn.sqlite3_get_table)(t,r,s,n,i,a),e._sqlite3_free_table=t=>(e._sqlite3_free_table=tn.sqlite3_free_table)(t),e._sqlite3_create_module=(t,r,s,n)=>(e._sqlite3_create_module=tn.sqlite3_create_module)(t,r,s,n),e._sqlite3_create_module_v2=(t,r,s,n,i)=>(e._sqlite3_create_module_v2=tn.sqlite3_create_module_v2)(t,r,s,n,i),e._sqlite3_drop_modules=(t,r)=>(e._sqlite3_drop_modules=tn.sqlite3_drop_modules)(t,r),e._sqlite3_declare_vtab=(t,r)=>(e._sqlite3_declare_vtab=tn.sqlite3_declare_vtab)(t,r),e._sqlite3_vtab_on_conflict=t=>(e._sqlite3_vtab_on_conflict=tn.sqlite3_vtab_on_conflict)(t),e._sqlite3_vtab_config=(t,r,s)=>(e._sqlite3_vtab_config=tn.sqlite3_vtab_config)(t,r,s),e._sqlite3_vtab_collation=(t,r)=>(e._sqlite3_vtab_collation=tn.sqlite3_vtab_collation)(t,r),e._sqlite3_vtab_in=(t,r,s)=>(e._sqlite3_vtab_in=tn.sqlite3_vtab_in)(t,r,s),e._sqlite3_vtab_rhs_value=(t,r,s)=>(e._sqlite3_vtab_rhs_value=tn.sqlite3_vtab_rhs_value)(t,r,s),e._sqlite3_vtab_distinct=t=>(e._sqlite3_vtab_distinct=tn.sqlite3_vtab_distinct)(t),e._sqlite3_keyword_name=(t,r,s)=>(e._sqlite3_keyword_name=tn.sqlite3_keyword_name)(t,r,s),e._sqlite3_keyword_count=()=>(e._sqlite3_keyword_count=tn.sqlite3_keyword_count)(),e._sqlite3_keyword_check=(t,r)=>(e._sqlite3_keyword_check=tn.sqlite3_keyword_check)(t,r),e._sqlite3_complete=t=>(e._sqlite3_complete=tn.sqlite3_complete)(t),e._sqlite3_complete16=t=>(e._sqlite3_complete16=tn.sqlite3_complete16)(t),e._sqlite3_libversion=()=>(e._sqlite3_libversion=tn.sqlite3_libversion)(),e._sqlite3_libversion_number=()=>(e._sqlite3_libversion_number=tn.sqlite3_libversion_number)(),e._sqlite3_threadsafe=()=>(e._sqlite3_threadsafe=tn.sqlite3_threadsafe)(),e._sqlite3_initialize=()=>(e._sqlite3_initialize=tn.sqlite3_initialize)(),e._sqlite3_shutdown=()=>(e._sqlite3_shutdown=tn.sqlite3_shutdown)(),e._sqlite3_config=(t,r)=>(e._sqlite3_config=tn.sqlite3_config)(t,r),e._sqlite3_db_mutex=t=>(e._sqlite3_db_mutex=tn.sqlite3_db_mutex)(t),e._sqlite3_db_release_memory=t=>(e._sqlite3_db_release_memory=tn.sqlite3_db_release_memory)(t),e._sqlite3_db_cacheflush=t=>(e._sqlite3_db_cacheflush=tn.sqlite3_db_cacheflush)(t),e._sqlite3_db_config=(t,r,s)=>(e._sqlite3_db_config=tn.sqlite3_db_config)(t,r,s),e._sqlite3_last_insert_rowid=t=>(e._sqlite3_last_insert_rowid=tn.sqlite3_last_insert_rowid)(t),e._sqlite3_set_last_insert_rowid=(t,r,s)=>(e._sqlite3_set_last_insert_rowid=tn.sqlite3_set_last_insert_rowid)(t,r,s),e._sqlite3_changes64=t=>(e._sqlite3_changes64=tn.sqlite3_changes64)(t),e._sqlite3_changes=t=>(e._sqlite3_changes=tn.sqlite3_changes)(t),e._sqlite3_total_changes64=t=>(e._sqlite3_total_changes64=tn.sqlite3_total_changes64)(t),e._sqlite3_total_changes=t=>(e._sqlite3_total_changes=tn.sqlite3_total_changes)(t),e._sqlite3_txn_state=(t,r)=>(e._sqlite3_txn_state=tn.sqlite3_txn_state)(t,r),e._sqlite3_close=t=>(e._sqlite3_close=tn.sqlite3_close)(t),e._sqlite3_close_v2=t=>(e._sqlite3_close_v2=tn.sqlite3_close_v2)(t),e._sqlite3_busy_handler=(t,r,s)=>(e._sqlite3_busy_handler=tn.sqlite3_busy_handler)(t,r,s),e._sqlite3_progress_handler=(t,r,s,n)=>(e._sqlite3_progress_handler=tn.sqlite3_progress_handler)(t,r,s,n),e._sqlite3_busy_timeout=(t,r)=>(e._sqlite3_busy_timeout=tn.sqlite3_busy_timeout)(t,r),e._sqlite3_interrupt=t=>(e._sqlite3_interrupt=tn.sqlite3_interrupt)(t),e._sqlite3_is_interrupted=t=>(e._sqlite3_is_interrupted=tn.sqlite3_is_interrupted)(t),e._sqlite3_create_function=(t,r,s,n,i,a,o,l)=>(e._sqlite3_create_function=tn.sqlite3_create_function)(t,r,s,n,i,a,o,l),e._sqlite3_create_function_v2=(t,r,s,n,i,a,o,l,_)=>(e._sqlite3_create_function_v2=tn.sqlite3_create_function_v2)(t,r,s,n,i,a,o,l,_),e._sqlite3_create_window_function=(t,r,s,n,i,a,o,l,_,c)=>(e._sqlite3_create_window_function=tn.sqlite3_create_window_function)(t,r,s,n,i,a,o,l,_,c),e._sqlite3_create_function16=(t,r,s,n,i,a,o,l)=>(e._sqlite3_create_function16=tn.sqlite3_create_function16)(t,r,s,n,i,a,o,l),e._sqlite3_overload_function=(t,r,s)=>(e._sqlite3_overload_function=tn.sqlite3_overload_function)(t,r,s),e._sqlite3_trace_v2=(t,r,s,n)=>(e._sqlite3_trace_v2=tn.sqlite3_trace_v2)(t,r,s,n),e._sqlite3_commit_hook=(t,r,s)=>(e._sqlite3_commit_hook=tn.sqlite3_commit_hook)(t,r,s),e._sqlite3_update_hook=(t,r,s)=>(e._sqlite3_update_hook=tn.sqlite3_update_hook)(t,r,s),e._sqlite3_rollback_hook=(t,r,s)=>(e._sqlite3_rollback_hook=tn.sqlite3_rollback_hook)(t,r,s),e._sqlite3_autovacuum_pages=(t,r,s,n)=>(e._sqlite3_autovacuum_pages=tn.sqlite3_autovacuum_pages)(t,r,s,n),e._sqlite3_wal_autocheckpoint=(t,r)=>(e._sqlite3_wal_autocheckpoint=tn.sqlite3_wal_autocheckpoint)(t,r),e._sqlite3_wal_hook=(t,r,s)=>(e._sqlite3_wal_hook=tn.sqlite3_wal_hook)(t,r,s),e._sqlite3_wal_checkpoint_v2=(t,r,s,n,i)=>(e._sqlite3_wal_checkpoint_v2=tn.sqlite3_wal_checkpoint_v2)(t,r,s,n,i),e._sqlite3_wal_checkpoint=(t,r)=>(e._sqlite3_wal_checkpoint=tn.sqlite3_wal_checkpoint)(t,r),e._sqlite3_error_offset=t=>(e._sqlite3_error_offset=tn.sqlite3_error_offset)(t),e._sqlite3_errmsg16=t=>(e._sqlite3_errmsg16=tn.sqlite3_errmsg16)(t),e._sqlite3_errcode=t=>(e._sqlite3_errcode=tn.sqlite3_errcode)(t),e._sqlite3_extended_errcode=t=>(e._sqlite3_extended_errcode=tn.sqlite3_extended_errcode)(t),e._sqlite3_system_errno=t=>(e._sqlite3_system_errno=tn.sqlite3_system_errno)(t),e._sqlite3_errstr=t=>(e._sqlite3_errstr=tn.sqlite3_errstr)(t),e._sqlite3_limit=(t,r,s)=>(e._sqlite3_limit=tn.sqlite3_limit)(t,r,s),e._sqlite3_open=(t,r)=>(e._sqlite3_open=tn.sqlite3_open)(t,r),e._sqlite3_open_v2=(t,r,s,n)=>(e._sqlite3_open_v2=tn.sqlite3_open_v2)(t,r,s,n),e._sqlite3_open16=(t,r)=>(e._sqlite3_open16=tn.sqlite3_open16)(t,r),e._sqlite3_create_collation=(t,r,s,n,i)=>(e._sqlite3_create_collation=tn.sqlite3_create_collation)(t,r,s,n,i),e._sqlite3_create_collation_v2=(t,r,s,n,i,a)=>(e._sqlite3_create_collation_v2=tn.sqlite3_create_collation_v2)(t,r,s,n,i,a),e._sqlite3_create_collation16=(t,r,s,n,i)=>(e._sqlite3_create_collation16=tn.sqlite3_create_collation16)(t,r,s,n,i),e._sqlite3_collation_needed=(t,r,s)=>(e._sqlite3_collation_needed=tn.sqlite3_collation_needed)(t,r,s),e._sqlite3_collation_needed16=(t,r,s)=>(e._sqlite3_collation_needed16=tn.sqlite3_collation_needed16)(t,r,s),e._sqlite3_get_clientdata=(t,r)=>(e._sqlite3_get_clientdata=tn.sqlite3_get_clientdata)(t,r),e._sqlite3_set_clientdata=(t,r,s,n)=>(e._sqlite3_set_clientdata=tn.sqlite3_set_clientdata)(t,r,s,n),e._sqlite3_get_autocommit=t=>(e._sqlite3_get_autocommit=tn.sqlite3_get_autocommit)(t),e._sqlite3_table_column_metadata=(t,r,s,n,i,a,o,l,_)=>(e._sqlite3_table_column_metadata=tn.sqlite3_table_column_metadata)(t,r,s,n,i,a,o,l,_),e._sqlite3_sleep=t=>(e._sqlite3_sleep=tn.sqlite3_sleep)(t),e._sqlite3_extended_result_codes=(t,r)=>(e._sqlite3_extended_result_codes=tn.sqlite3_extended_result_codes)(t,r),e._sqlite3_file_control=(t,r,s,n)=>(e._sqlite3_file_control=tn.sqlite3_file_control)(t,r,s,n),e._sqlite3_test_control=(t,r)=>(e._sqlite3_test_control=tn.sqlite3_test_control)(t,r),e._sqlite3_create_filename=(t,r,s,n,i)=>(e._sqlite3_create_filename=tn.sqlite3_create_filename)(t,r,s,n,i),e._sqlite3_free_filename=t=>(e._sqlite3_free_filename=tn.sqlite3_free_filename)(t),e._sqlite3_uri_parameter=(t,r)=>(e._sqlite3_uri_parameter=tn.sqlite3_uri_parameter)(t,r),e._sqlite3_uri_key=(t,r)=>(e._sqlite3_uri_key=tn.sqlite3_uri_key)(t,r),e._sqlite3_uri_boolean=(t,r,s)=>(e._sqlite3_uri_boolean=tn.sqlite3_uri_boolean)(t,r,s),e._sqlite3_uri_int64=(t,r,s,n)=>(e._sqlite3_uri_int64=tn.sqlite3_uri_int64)(t,r,s,n),e._sqlite3_filename_database=t=>(e._sqlite3_filename_database=tn.sqlite3_filename_database)(t),e._sqlite3_filename_journal=t=>(e._sqlite3_filename_journal=tn.sqlite3_filename_journal)(t),e._sqlite3_filename_wal=t=>(e._sqlite3_filename_wal=tn.sqlite3_filename_wal)(t),e._sqlite3_db_name=(t,r)=>(e._sqlite3_db_name=tn.sqlite3_db_name)(t,r),e._sqlite3_db_filename=(t,r)=>(e._sqlite3_db_filename=tn.sqlite3_db_filename)(t,r),e._sqlite3_db_readonly=(t,r)=>(e._sqlite3_db_readonly=tn.sqlite3_db_readonly)(t,r),e._sqlite3_compileoption_used=t=>(e._sqlite3_compileoption_used=tn.sqlite3_compileoption_used)(t),e._sqlite3_compileoption_get=t=>(e._sqlite3_compileoption_get=tn.sqlite3_compileoption_get)(t),e._sqlite3_sourceid=()=>(e._sqlite3_sourceid=tn.sqlite3_sourceid)(),e._malloc=t=>(e._malloc=tn.malloc)(t),e._free=t=>(e._free=tn.free)(t),e._RegisterExtensionFunctions=t=>(e._RegisterExtensionFunctions=tn.RegisterExtensionFunctions)(t),e._getSqliteFree=()=>(e._getSqliteFree=tn.getSqliteFree)(),e._main=(t,r)=>(ti=e._main=tn.main)(t,r)),ta=(e._libauthorizer_set_authorizer=(t,r,s)=>(e._libauthorizer_set_authorizer=tn.libauthorizer_set_authorizer)(t,r,s),e._libfunction_create_function=(t,r,s,n,i,a,o,l)=>(e._libfunction_create_function=tn.libfunction_create_function)(t,r,s,n,i,a,o,l),e._libhook_commit_hook=(t,r,s)=>(e._libhook_commit_hook=tn.libhook_commit_hook)(t,r,s),e._libhook_update_hook=(t,r,s)=>(e._libhook_update_hook=tn.libhook_update_hook)(t,r,s),e._libprogress_progress_handler=(t,r,s,n)=>(e._libprogress_progress_handler=tn.libprogress_progress_handler)(t,r,s,n),e._libvfs_vfs_register=(t,r,s,n,i,a)=>(e._libvfs_vfs_register=tn.libvfs_vfs_register)(t,r,s,n,i,a),(e,t)=>(ta=tn.emscripten_builtin_memalign)(e,t)),to=()=>(to=tn._emscripten_tempret_get)(),tl=e=>(tl=tn._emscripten_stack_restore)(e),t_=e=>(t_=tn._emscripten_stack_alloc)(e),tc=()=>(tc=tn.emscripten_stack_get_current)();function tu(){if(!(Z>0)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;){var t;t=e.preRun.shift(),X.unshift(t)}eo(X),Z>0||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),r()},1)):r())}function r(){if(!j&&(j=!0,e.calledRun=!0,!V)){if(e.noFSInit||eF.init.initialized||eF.init(),eF.ignorePermissions=!1,eq.init(),eo(K),eo(Y),p(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),td&&function(){var t=ti;try{var r=t(0,0);Promise.resolve(r).then(t=>{q=t,q=t,e_||(e.onExit?.(t),V=!0),N(t,new ea(t))}).catch(e=>{e1(e)})}catch(e){return e1(e)}}(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t;t=e.postRun.shift(),J.unshift(t)}eo(J)}}}if(e._sqlite3_version=3232,e.getTempRet0=e=>to(),e.ccall=tt,e.cwrap=(e,t,r,s)=>{var n=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&n&&!s?e9(e):(...n)=>tt(e,t,r,n,s)},e.addFunction=(e,t)=>{var r=(e=>{if(!M){M=new WeakMap;var t=L.length;if(M)for(var r=0;r<0+t;r++){var s=e5(r);s&&M.set(s,r)}}return M.get(e)||0})(e);if(r)return r;var s=(()=>{if(e8.length)return e8.pop();try{L.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return L.length-1})();try{e7(s,e)}catch(r){if(!(r instanceof TypeError))throw r;e7(s,((e,t)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function((e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},r={parameters:[],results:"v"==e[0]?[]:[t[e[0]]]},s=1;s<e.length;++s)r.parameters.push(t[e[s]]);return r})(t),e);var r=[1],s=t.slice(0,1),n=t.slice(1),i={i:127,p:127,j:126,f:125,d:124,e:111};r.push(96),e6(n.length,r);for(var a=0;a<n.length;++a)r.push(i[n[a]]);"v"==s?r.push(0):r.push(1,i[s]);var o=[0,97,115,109,1,0,0,0,1];e6(r.length,o),o.push(...r),o.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var l=new WebAssembly.Module(new Uint8Array(o));return new WebAssembly.Instance(l,{e:{f:e}}).exports.f})(e,t))}return M.set(e,s),s},e.setValue=ec,e.getValue=el,e.UTF8ToString=ef,e.stringToUTF8=eI,e.lengthBytesUTF8=ew,e.intArrayFromString=ey,e.intArrayToString=function(e){for(var t=[],r=0;r<e.length;r++){var s=e[r];s>255&&(s&=255),t.push(String.fromCharCode(s))}return t.join("")},e.AsciiToString=e=>{for(var t="";;){var r=E[e++];if(!r)return t;t+=String.fromCharCode(r)}},e.UTF16ToString=(e,t)=>{for(var r=e,s=r>>1,n=s+t/2;!(s>=n)&&S[s];)++s;if((r=s<<1)-e>32&&tr)return tr.decode(E.subarray(e,r));for(var i="",a=0;!(a>=t/2);++a){var o=x[e+2*a>>1];if(0==o)break;i+=String.fromCharCode(o)}return i},e.stringToUTF16=(e,t,r)=>{if((r??=0x7fffffff)<2)return 0;for(var s=t,n=(r-=2)<2*e.length?r/2:e.length,i=0;i<n;++i){var a=e.charCodeAt(i);x[t>>1]=a,t+=2}return x[t>>1]=0,t-s},e.UTF32ToString=(e,t)=>{for(var r=0,s="";!(r>=t/4);){var n=F[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var i=n-65536;s+=String.fromCharCode(55296|i>>10,56320|1023&i)}else s+=String.fromCharCode(n)}return s},e.stringToUTF32=(e,t,r)=>{if((r??=0x7fffffff)<4)return 0;for(var s=t,n=s+r-4,i=0;i<e.length;++i){var a=e.charCodeAt(i);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),F[t>>2]=a,(t+=4)+4>n)break}return F[t>>2]=0,t-s},e.writeArrayToMemory=te,ee=function e(){j||tu(),j||(ee=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();var td=!0;return e.noInitialRun&&(td=!1),tu(),t=Object.getPrototypeOf(async function(){}).constructor,r=0,e.set_authorizer=function(s,n,i){r&&(e.deleteCallback(r),e._sqlite3_free(r),r=0),ec(r=e._sqlite3_malloc(4),+(n instanceof t),"i32");let a=tt("libauthorizer_set_authorizer","number",["number","number","number"],[s,+!!n,r]);return!a&&n&&e.setCallback(r,(e,t,r,s,a,o)=>n(i,t,r,s,a,o)),a},s=Object.getPrototypeOf(async function(){}).constructor,n=["xFunc","xStep","xFinal"],i=new Map,e.create_function=function(t,r,a,o,l,_,c,u){let d=e._sqlite3_malloc(4),h={xFunc:_,xStep:c,xFinal:u};ec(d,n.reduce((e,t,r)=>h[t]instanceof s?e|1<<r:e,0),"i32");let f=tt("libfunction_create_function","number",["number","string","number","number","number","number","number","number"],[t,r,a,o,d,+!!_,+!!c,+!!u]);if(!f){if(i.has(r)){let t=i.get(r);e.deleteCallback(t)}i.set(r,d),e.setCallback(d,{xFunc:_,xStep:c,xFinal:u})}return f},a=Object.getPrototypeOf(async function(){}).constructor,o=0,e.update_hook=function(t,r){o&&(e.deleteCallback(o),e._sqlite3_free(o),o=0),ec(o=e._sqlite3_malloc(4),+(r instanceof a),"i32"),tt("libhook_update_hook","void",["number","number","number"],[t,+!!r,o]),r&&e.setCallback(o,(e,t,s,n,i,a)=>r(t,s,n,i,a))},l=Object.getPrototypeOf(async function(){}).constructor,c=0,e.commit_hook=function(t,r){c&&(e.deleteCallback(c),e._sqlite3_free(c),c=0),ec(c=e._sqlite3_malloc(4),+(r instanceof l),"i32"),tt("libhook_commit_hook","void",["number","number","number"],[t,+!!r,c]),r&&e.setCallback(c,e=>r())},u=Object.getPrototypeOf(async function(){}).constructor,d=0,e.progress_handler=function(t,r,s,n){d&&(e.deleteCallback(d),e._sqlite3_free(d),d=0),ec(d=e._sqlite3_malloc(4),+(s instanceof u),"i32"),tt("libprogress_progress_handler","number",["number","number","number","number"],[t,r,+!!s,d]),s&&e.setCallback(d,e=>s(n))},h=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"],f=new Map,e.vfs_register=function(t,r){let s=0,n=0;h.forEach((e,r)=>{t[e]&&(s|=1<<r,t.hasAsyncMethod(e)&&(n|=1<<r))});let i=e._sqlite3_malloc(4);try{let a=tt("libvfs_vfs_register","number",["string","number","number","number","number","number"],[t.name,t.mxPathname,s,n,+!!r,i]);if(!a){if(f.has(t.name)){let r=f.get(t.name);e.deleteCallback(r)}let r=el(i,"*");f.set(t.name,r),e.setCallback(r,t)}return a}finally{e._sqlite3_free(i)}},C}),ew=(c=import.meta.url,function(e={}){let t,r,s,n,i,a,o,l,_,u,d,h,f;var p,m,b,g,w,v,y,q,k,E,x,S,F,A,T,P,I,D,z,L,M,j,C=new Promise((e,t)=>{p=e,m=t}),R="object"==typeof window,H="function"==typeof importScripts;"object"==typeof process&&"object"==typeof process.versions&&process.versions.node;var O=Object.assign({},e),U="./this.program",N=(e,t)=>{throw t},B="";(R||H)&&(H?B=self.location.href:"u">typeof document&&document.currentScript&&(B=document.currentScript.src),c&&(B=c),B=B.startsWith("blob:")?"":B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1),b=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},H&&(w=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),g=(e,t,r)=>{fetch(e,{credentials:"same-origin"}).then(e=>e.ok?e.arrayBuffer():Promise.reject(Error(e.status+" : "+e.url))).then(t,r)});var $=e.print||console.log.bind(console),W=e.printErr||console.error.bind(console);Object.assign(e,O),O=null,e.arguments&&e.arguments,e.thisProgram&&(U=e.thisProgram),e.quit&&(N=e.quit),e.wasmBinary&&(v=e.wasmBinary);var V=!1;function G(){var t=y.buffer;e.HEAP8=k=new Int8Array(t),e.HEAP16=x=new Int16Array(t),e.HEAPU8=E=new Uint8Array(t),e.HEAPU16=S=new Uint16Array(t),e.HEAP32=F=new Int32Array(t),e.HEAPU32=A=new Uint32Array(t),e.HEAPF32=T=new Float32Array(t),e.HEAPF64=P=new Float64Array(t)}var X=[],K=[],Y=[],J=[],Z=0,Q=null,ee=null;function et(t){Z++,e.monitorRunDependencies?.(Z)}function er(t){if(Z--,e.monitorRunDependencies?.(Z),0==Z&&(null!==Q&&(clearInterval(Q),Q=null),ee)){var r=ee;ee=null,r()}}function es(t){e.onAbort?.(t),W(t="Aborted("+t+")"),V=!0,q=1,t+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(t);throw m(r),r}function en(e){if(e==I&&v)return new Uint8Array(v);if(w)return w(e);throw"both async and sync fetching of the wasm failed"}function ei(e,t,r){return(!v?new Promise((t,r)=>{g(e,e=>t(new Uint8Array(e)),s=>{try{t(en(e))}catch(e){r(e)}})}):Promise.resolve().then(()=>en(e))).then(e=>WebAssembly.instantiate(e,t)).then(r,e=>{W(`failed to asynchronously prepare wasm: ${e}`),es(e)})}function ea(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var eo=t=>{for(;t.length>0;)t.shift()(e)};function el(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return k[e];case"i16":return x[e>>1];case"i32":return F[e>>2];case"i64":es("to do getValue(i64) use WASM_BIGINT");case"float":return T[e>>2];case"double":return P[e>>3];case"*":return A[e>>2];default:es(`invalid type for getValue: ${t}`)}}var e_=e.noExitRuntime||!0;function ec(e,t,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":case"i8":k[e]=t;break;case"i16":x[e>>1]=t;break;case"i32":F[e>>2]=t;break;case"i64":es("to do setValue(i64) use WASM_BIGINT");case"float":T[e>>2]=t;break;case"double":P[e>>3]=t;break;case"*":A[e>>2]=t;break;default:es(`invalid type for setValue: ${r}`)}}var eu=()=>tf(),ed="u">typeof TextDecoder?new TextDecoder("utf8"):void 0,eh=(e,t,r)=>{for(var s=t+r,n=t;e[n]&&!(n>=s);)++n;if(n-t>16&&e.buffer&&ed)return ed.decode(e.subarray(t,n));for(var i="";t<n;){var a=e[t++];if(!(128&a)){i+=String.fromCharCode(a);continue}var o=63&e[t++];if((224&a)==192){i+=String.fromCharCode((31&a)<<6|o);continue}var l=63&e[t++];if((a=(240&a)==224?(15&a)<<12|o<<6|l:(7&a)<<18|o<<12|l<<6|63&e[t++])<65536)i+=String.fromCharCode(a);else{var _=a-65536;i+=String.fromCharCode(55296|_>>10,56320|1023&_)}}return i},ef=(e,t)=>e?eh(E,e,t):"",ep={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,s=e.length-1;s>=0;s--){var n=e[s];"."===n?e.splice(s,1):".."===n?(e.splice(s,1),r++):r&&(e.splice(s,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ep.isAbs(e),r="/"===e.substr(-1);return(e=ep.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ep.splitPath(e),r=t[0],s=t[1];return r||s?(s&&(s=s.substr(0,s.length-1)),r+s):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ep.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===t?e:e.substr(t+1)},join:(...e)=>ep.normalize(e.join("/")),join2:(e,t)=>ep.normalize(e+"/"+t)},em=e=>(em=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);es("initRandomDevice")})())(e),eb={resolve:(...e)=>{for(var t="",r=!1,s=e.length-1;s>=-1&&!r;s--){var n=s>=0?e[s]:eF.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";t=n+"/"+t,r=ep.isAbs(n)}return t=ep.normalizeArray(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=eb.resolve(e).substr(1),t=eb.resolve(t).substr(1);for(var s=r(e.split("/")),n=r(t.split("/")),i=Math.min(s.length,n.length),a=i,o=0;o<i;o++)if(s[o]!==n[o]){a=o;break}for(var l=[],o=a;o<s.length;o++)l.push("..");return(l=l.concat(n.slice(a))).join("/")}},eg=[],ew=e=>{for(var t=0,r=0;r<e.length;++r){var s=e.charCodeAt(r);s<=127?t++:s<=2047?t+=2:s>=55296&&s<=57343?(t+=4,++r):t+=3}return t},ev=(e,t,r,s)=>{if(!(s>0))return 0;for(var n=r,i=r+s-1,a=0;a<e.length;++a){var o=e.charCodeAt(a);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=i)break;t[r++]=o}else if(o<=2047){if(r+1>=i)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=i)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=i)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-n};function ey(e,t,r){var s=Array(r>0?r:ew(e)+1),n=ev(e,s,0,s.length);return t&&(s.length=n),s}var eq={ttys:[],init(){},shutdown(){},register(e,t){eq.ttys[e]={input:[],output:[],ops:t},eF.registerDevice(e,eq.stream_ops)},stream_ops:{open(e){var t=eq.ttys[e.node.rdev];if(!t)throw new eF.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,s,n){if(!e.tty||!e.tty.ops.get_char)throw new eF.ErrnoError(60);for(var i,a=0,o=0;o<s;o++){try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new eF.ErrnoError(29)}if(void 0===i&&0===a)throw new eF.ErrnoError(6);if(null==i)break;a++,t[r+o]=i}return a&&(e.node.timestamp=Date.now()),a},write(e,t,r,s,n){if(!e.tty||!e.tty.ops.put_char)throw new eF.ErrnoError(60);try{for(var i=0;i<s;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new eF.ErrnoError(29)}return s&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:e=>(()=>{if(!eg.length){var e=null;if("u">typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;eg=ey(e,!0)}return eg.shift()})(),put_char(e,t){null===t||10===t?($(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&($(eh(e.output,0)),e.output=[])},ioctl_tcgets:e=>({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)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(W(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(W(eh(e.output,0)),e.output=[])}}},ek=e=>{var t,r=tc(65536,e=65536*Math.ceil(e/65536));return r?(t=e,E.fill(0,r,r+t),r):0},eE={ops_table:null,mount:e=>eE.createNode(null,"/",16895,0),createNode(e,t,r,s){if(eF.isBlkdev(r)||eF.isFIFO(r))throw new eF.ErrnoError(63);eE.ops_table||={dir:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,lookup:eE.node_ops.lookup,mknod:eE.node_ops.mknod,rename:eE.node_ops.rename,unlink:eE.node_ops.unlink,rmdir:eE.node_ops.rmdir,readdir:eE.node_ops.readdir,symlink:eE.node_ops.symlink},stream:{llseek:eE.stream_ops.llseek}},file:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:{llseek:eE.stream_ops.llseek,read:eE.stream_ops.read,write:eE.stream_ops.write,allocate:eE.stream_ops.allocate,mmap:eE.stream_ops.mmap,msync:eE.stream_ops.msync}},link:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,readlink:eE.node_ops.readlink},stream:{}},chrdev:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:eF.chrdev_stream_ops}};var n=eF.createNode(e,t,r,s);return eF.isDir(n.mode)?(n.node_ops=eE.ops_table.dir.node,n.stream_ops=eE.ops_table.dir.stream,n.contents={}):eF.isFile(n.mode)?(n.node_ops=eE.ops_table.file.node,n.stream_ops=eE.ops_table.file.stream,n.usedBytes=0,n.contents=null):eF.isLink(n.mode)?(n.node_ops=eE.ops_table.link.node,n.stream_ops=eE.ops_table.link.stream):eF.isChrdev(n.mode)&&(n.node_ops=eE.ops_table.chrdev.node,n.stream_ops=eE.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>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)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var s=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(s.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)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=eF.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,eF.isDir(e.mode)?t.size=4096:eF.isFile(e.mode)?t.size=e.usedBytes:eF.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&eE.resizeFileStorage(e,t.size)},lookup(e,t){throw eF.genericErrors[44]},mknod:(e,t,r,s)=>eE.createNode(e,t,r,s),rename(e,t,r){if(eF.isDir(e.mode)){var s;try{s=eF.lookupNode(t,r)}catch(e){}if(s)for(var n in s.contents)throw new eF.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=eF.lookupNode(e,t);for(var s in r.contents)throw new eF.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r of Object.keys(e.contents))t.push(r);return t},symlink(e,t,r){var s=eE.createNode(e,t,41471,0);return s.link=r,s},readlink(e){if(!eF.isLink(e.mode))throw new eF.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,s,n){var i=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,s);if(a>8&&i.subarray)t.set(i.subarray(n,n+a),r);else for(var o=0;o<a;o++)t[r+o]=i[n+o];return a},write(e,t,r,s,n,i){if(t.buffer===k.buffer&&(i=!1),!s)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(i)return a.contents=t.subarray(r,r+s),a.usedBytes=s,s;else if(0===a.usedBytes&&0===n)return a.contents=t.slice(r,r+s),a.usedBytes=s,s;else if(n+s<=a.usedBytes)return a.contents.set(t.subarray(r,r+s),n),s}if(eE.expandFileStorage(a,n+s),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+s),n);else for(var o=0;o<s;o++)a.contents[n+o]=t[r+o];return a.usedBytes=Math.max(a.usedBytes,n+s),s},llseek(e,t,r){var s=t;if(1===r?s+=e.position:2===r&&eF.isFile(e.node.mode)&&(s+=e.node.usedBytes),s<0)throw new eF.ErrnoError(28);return s},allocate(e,t,r){eE.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,s,n){if(!eF.isFile(e.node.mode))throw new eF.ErrnoError(43);var i,a,o=e.node.contents;if(2&n||o.buffer!==k.buffer){if((r>0||r+t<o.length)&&(o=o.subarray?o.subarray(r,r+t):Array.prototype.slice.call(o,r,r+t)),a=!0,!(i=ek(t)))throw new eF.ErrnoError(48);k.set(o,i)}else a=!1,i=o.byteOffset;return{ptr:i,allocated:a}},msync:(e,t,r,s,n)=>(eE.stream_ops.write(e,t,0,s,r,!1),0)}},ex=e.preloadPlugins||[],eS=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},eF={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return(2097155&this.flags)!=1}get isWrite(){return(2097155&this.flags)!=0}get isAppend(){return 1024&this.flags}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,s){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eF.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=s,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return eF.isDir(this.mode)}get isDevice(){return eF.isChrdev(this.mode)}},lookupPath(e,t={}){if(!(e=eb.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new eF.ErrnoError(32);for(var r=e.split("/").filter(e=>!!e),s=eF.root,n="/",i=0;i<r.length;i++){var a=i===r.length-1;if(a&&t.parent)break;if(s=eF.lookupNode(s,r[i]),n=ep.join2(n,r[i]),eF.isMountpoint(s)&&(!a||a&&t.follow_mount)&&(s=s.mounted.root),!a||t.follow)for(var o=0;eF.isLink(s.mode);){var l=eF.readlink(n);if(n=eb.resolve(ep.dirname(n),l),s=eF.lookupPath(n,{recurse_count:t.recurse_count+1}).node,o++>40)throw new eF.ErrnoError(32)}}return{path:n,node:s}},getPath(e){for(var t;;){if(eF.isRoot(e)){var r=e.mount.mountpoint;if(!t)return r;return"/"!==r[r.length-1]?`${r}/${t}`:r+t}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,s=0;s<t.length;s++)r=(r<<5)-r+t.charCodeAt(s)|0;return(e+r>>>0)%eF.nameTable.length},hashAddNode(e){var t=eF.hashName(e.parent.id,e.name);e.name_next=eF.nameTable[t],eF.nameTable[t]=e},hashRemoveNode(e){var t=eF.hashName(e.parent.id,e.name);if(eF.nameTable[t]===e)eF.nameTable[t]=e.name_next;else for(var r=eF.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=eF.mayLookup(e);if(r)throw new eF.ErrnoError(r);for(var s=eF.hashName(e.id,t),n=eF.nameTable[s];n;n=n.name_next){var i=n.name;if(n.parent.id===e.id&&i===t)return n}return eF.lookup(e,t)},createNode(e,t,r,s){var n=new eF.FSNode(e,t,r,s);return eF.hashAddNode(n),n},destroyNode(e){eF.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>eF.ignorePermissions?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0,mayLookup(e){if(!eF.isDir(e.mode))return 54;var t=eF.nodePermissions(e,"x");return t||2*!e.node_ops.lookup},mayCreate(e,t){try{return eF.lookupNode(e,t),20}catch(e){}return eF.nodePermissions(e,"wx")},mayDelete(e,t,r){try{s=eF.lookupNode(e,t)}catch(e){return e.errno}var s,n=eF.nodePermissions(e,"wx");if(n)return n;if(r){if(!eF.isDir(s.mode))return 54;if(eF.isRoot(s)||eF.getPath(s)===eF.cwd())return 10}else if(eF.isDir(s.mode))return 31;return 0},mayOpen:(e,t)=>e?eF.isLink(e.mode)?32:eF.isDir(e.mode)&&("r"!==eF.flagsToPermissionString(t)||512&t)?31:eF.nodePermissions(e,eF.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=eF.MAX_OPEN_FDS;e++)if(!eF.streams[e])return e;throw new eF.ErrnoError(33)},getStreamChecked(e){var t=eF.getStream(e);if(!t)throw new eF.ErrnoError(8);return t},getStream:e=>eF.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new eF.FSStream,e),-1==t&&(t=eF.nextfd()),e.fd=t,eF.streams[t]=e,e),closeStream(e){eF.streams[e]=null},dupStream(e,t=-1){var r=eF.createStream(e,t);return r.stream_ops?.dup?.(r),r},chrdev_stream_ops:{open(e){var t=eF.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new eF.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){eF.devices[e]={stream_ops:t}},getDevice:e=>eF.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var s=r.pop();t.push(s),r.push(...s.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),eF.syncFSRequests++,eF.syncFSRequests>1&&W(`warning: ${eF.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=eF.getMounts(eF.root.mount),s=0;function n(e){return eF.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,n(e));++s>=r.length&&n(null)}r.forEach(t=>{if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)})},mount(e,t,r){var s,n="/"===r,i=!r;if(n&&eF.root)throw new eF.ErrnoError(10);if(!n&&!i){var a=eF.lookupPath(r,{follow_mount:!1});if(r=a.path,s=a.node,eF.isMountpoint(s))throw new eF.ErrnoError(10);if(!eF.isDir(s.mode))throw new eF.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,n?eF.root=l:s&&(s.mounted=o,s.mount&&s.mount.mounts.push(o)),l},unmount(e){var t=eF.lookupPath(e,{follow_mount:!1});if(!eF.isMountpoint(t.node))throw new eF.ErrnoError(28);var r=t.node,s=r.mounted,n=eF.getMounts(s);Object.keys(eF.nameTable).forEach(e=>{for(var t=eF.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&eF.destroyNode(t),t=r}}),r.mounted=null;var i=r.mount.mounts.indexOf(s);r.mount.mounts.splice(i,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var s=eF.lookupPath(e,{parent:!0}).node,n=ep.basename(e);if(!n||"."===n||".."===n)throw new eF.ErrnoError(28);var i=eF.mayCreate(s,n);if(i)throw new eF.ErrnoError(i);if(!s.node_ops.mknod)throw new eF.ErrnoError(63);return s.node_ops.mknod(s,n,t,r)},create:(e,t)=>(t=(void 0!==t?t:438)&4095|32768,eF.mknod(e,t,0)),mkdir:(e,t)=>(t=(void 0!==t?t:511)&1023|16384,eF.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),s="",n=0;n<r.length;++n)if(r[n]){s+="/"+r[n];try{eF.mkdir(s,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,eF.mknod(e,t,r)),symlink(e,t){if(!eb.resolve(e))throw new eF.ErrnoError(44);var r=eF.lookupPath(t,{parent:!0}).node;if(!r)throw new eF.ErrnoError(44);var s=ep.basename(t),n=eF.mayCreate(r,s);if(n)throw new eF.ErrnoError(n);if(!r.node_ops.symlink)throw new eF.ErrnoError(63);return r.node_ops.symlink(r,s,e)},rename(e,t){var r,s,n,i=ep.dirname(e),a=ep.dirname(t),o=ep.basename(e),l=ep.basename(t);if(r=eF.lookupPath(e,{parent:!0}).node,s=eF.lookupPath(t,{parent:!0}).node,!r||!s)throw new eF.ErrnoError(44);if(r.mount!==s.mount)throw new eF.ErrnoError(75);var _=eF.lookupNode(r,o),c=eb.relative(e,a);if("."!==c.charAt(0))throw new eF.ErrnoError(28);if("."!==(c=eb.relative(t,i)).charAt(0))throw new eF.ErrnoError(55);try{n=eF.lookupNode(s,l)}catch(e){}if(_!==n){var u=eF.isDir(_.mode),d=eF.mayDelete(r,o,u);if(d||(d=n?eF.mayDelete(s,l,u):eF.mayCreate(s,l)))throw new eF.ErrnoError(d);if(!r.node_ops.rename)throw new eF.ErrnoError(63);if(eF.isMountpoint(_)||n&&eF.isMountpoint(n))throw new eF.ErrnoError(10);if(s!==r&&(d=eF.nodePermissions(r,"w")))throw new eF.ErrnoError(d);eF.hashRemoveNode(_);try{r.node_ops.rename(_,s,l),_.parent=s}catch(e){throw e}finally{eF.hashAddNode(_)}}},rmdir(e){var t=eF.lookupPath(e,{parent:!0}).node,r=ep.basename(e),s=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!0);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.rmdir)throw new eF.ErrnoError(63);if(eF.isMountpoint(s))throw new eF.ErrnoError(10);t.node_ops.rmdir(t,r),eF.destroyNode(s)},readdir(e){var t=eF.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new eF.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=eF.lookupPath(e,{parent:!0}).node;if(!t)throw new eF.ErrnoError(44);var r=ep.basename(e),s=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!1);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.unlink)throw new eF.ErrnoError(63);if(eF.isMountpoint(s))throw new eF.ErrnoError(10);t.node_ops.unlink(t,r),eF.destroyNode(s)},readlink(e){var t=eF.lookupPath(e).node;if(!t)throw new eF.ErrnoError(44);if(!t.node_ops.readlink)throw new eF.ErrnoError(28);return eb.resolve(eF.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=eF.lookupPath(e,{follow:!t}).node;if(!r)throw new eF.ErrnoError(44);if(!r.node_ops.getattr)throw new eF.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>eF.stat(e,!0),chmod(e,t,r){var s;if(!(s="string"==typeof e?eF.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);s.node_ops.setattr(s,{mode:4095&t|-4096&s.mode,timestamp:Date.now()})},lchmod(e,t){eF.chmod(e,t,!0)},fchmod(e,t){var r=eF.getStreamChecked(e);eF.chmod(r.node,t)},chown(e,t,r,s){var n;if(!(n="string"==typeof e?eF.lookupPath(e,{follow:!s}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){eF.chown(e,t,r,!0)},fchown(e,t,r){var s=eF.getStreamChecked(e);eF.chown(s.node,t,r)},truncate(e,t){if(t<0)throw new eF.ErrnoError(28);if("string"==typeof e){var r;r=eF.lookupPath(e,{follow:!0}).node}else r=e;if(!r.node_ops.setattr)throw new eF.ErrnoError(63);if(eF.isDir(r.mode))throw new eF.ErrnoError(31);if(!eF.isFile(r.mode))throw new eF.ErrnoError(28);var s=eF.nodePermissions(r,"w");if(s)throw new eF.ErrnoError(s);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=eF.getStreamChecked(e);if((2097155&r.flags)==0)throw new eF.ErrnoError(28);eF.truncate(r.node,t)},utime(e,t,r){var s=eF.lookupPath(e,{follow:!0}).node;s.node_ops.setattr(s,{timestamp:Math.max(t,r)})},open(t,r,s){if(""===t)throw new eF.ErrnoError(44);if(s=64&(r="string"==typeof r?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw Error(`Unknown file open mode: ${e}`);return t})(r):r)?4095&(s=void 0===s?438:s)|32768:0,"object"==typeof t)n=t;else{t=ep.normalize(t);try{var n;n=eF.lookupPath(t,{follow:!(131072&r)}).node}catch(e){}}var i=!1;if(64&r)if(n){if(128&r)throw new eF.ErrnoError(20)}else n=eF.mknod(t,s,0),i=!0;if(!n)throw new eF.ErrnoError(44);if(eF.isChrdev(n.mode)&&(r&=-513),65536&r&&!eF.isDir(n.mode))throw new eF.ErrnoError(54);if(!i){var a=eF.mayOpen(n,r);if(a)throw new eF.ErrnoError(a)}512&r&&!i&&eF.truncate(n,0),r&=-131713;var o=eF.createStream({node:n,path:eF.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),e.logReadFiles&&!(1&r)&&(eF.readFiles||(eF.readFiles={}),t in eF.readFiles||(eF.readFiles[t]=1)),o},close(e){if(eF.isClosed(e))throw new eF.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eF.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eF.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new eF.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,s,n){if(s<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==1)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.read)throw new eF.ErrnoError(28);var i=void 0!==n;if(i){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var a=e.stream_ops.read(e,t,r,s,n);return i||(e.position+=a),a},write(e,t,r,s,n,i){if(s<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==0)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.write)throw new eF.ErrnoError(28);e.seekable&&1024&e.flags&&eF.llseek(e,0,2);var a=void 0!==n;if(a){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var o=e.stream_ops.write(e,t,r,s,n,i);return a||(e.position+=o),o},allocate(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(t<0||r<=0)throw new eF.ErrnoError(28);if((2097155&e.flags)==0)throw new eF.ErrnoError(8);if(!eF.isFile(e.node.mode)&&!eF.isDir(e.node.mode))throw new eF.ErrnoError(43);if(!e.stream_ops.allocate)throw new eF.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,s,n){if((2&s)!=0&&(2&n)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eF.ErrnoError(2);if(!e.stream_ops.mmap)throw new eF.ErrnoError(43);return e.stream_ops.mmap(e,t,r,s,n)},msync:(e,t,r,s,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,s,n):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new eF.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw Error(`Invalid encoding type "${t.encoding}"`);var r,s=eF.open(e,t.flags),n=eF.stat(e).size,i=new Uint8Array(n);return eF.read(s,i,0,n,0),"utf8"===t.encoding?r=eh(i,0):"binary"===t.encoding&&(r=i),eF.close(s),r},writeFile(e,t,r={}){r.flags=r.flags||577;var s=eF.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(ew(t)+1),i=ev(t,n,0,n.length);eF.write(s,n,0,i,void 0,r.canOwn)}else if(ArrayBuffer.isView(t))eF.write(s,t,0,t.byteLength,void 0,r.canOwn);else throw Error("Unsupported data type");eF.close(s)},cwd:()=>eF.currentPath,chdir(e){var t=eF.lookupPath(e,{follow:!0});if(null===t.node)throw new eF.ErrnoError(44);if(!eF.isDir(t.node.mode))throw new eF.ErrnoError(54);var r=eF.nodePermissions(t.node,"x");if(r)throw new eF.ErrnoError(r);eF.currentPath=t.path},createDefaultDirectories(){eF.mkdir("/tmp"),eF.mkdir("/home"),eF.mkdir("/home/web_user")},createDefaultDevices(){eF.mkdir("/dev"),eF.registerDevice(eF.makedev(1,3),{read:()=>0,write:(e,t,r,s,n)=>s}),eF.mkdev("/dev/null",eF.makedev(1,3)),eq.register(eF.makedev(5,0),eq.default_tty_ops),eq.register(eF.makedev(6,0),eq.default_tty1_ops),eF.mkdev("/dev/tty",eF.makedev(5,0)),eF.mkdev("/dev/tty1",eF.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=em(e).byteLength),e[--t]);eF.createDevice("/dev","random",r),eF.createDevice("/dev","urandom",r),eF.mkdir("/dev/shm"),eF.mkdir("/dev/shm/tmp")},createSpecialDirectories(){eF.mkdir("/proc");var e=eF.mkdir("/proc/self");eF.mkdir("/proc/self/fd"),eF.mount({mount(){var t=eF.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=eF.getStreamChecked(+t),s={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>r.path}};return s.parent=s,s}},t}},{},"/proc/self/fd")},createStandardStreams(){e.stdin?eF.createDevice("/dev","stdin",e.stdin):eF.symlink("/dev/tty","/dev/stdin"),e.stdout?eF.createDevice("/dev","stdout",null,e.stdout):eF.symlink("/dev/tty","/dev/stdout"),e.stderr?eF.createDevice("/dev","stderr",null,e.stderr):eF.symlink("/dev/tty1","/dev/stderr"),eF.open("/dev/stdin",0),eF.open("/dev/stdout",1),eF.open("/dev/stderr",1)},staticInit(){[44].forEach(e=>{eF.genericErrors[e]=new eF.ErrnoError(e),eF.genericErrors[e].stack="<generic error, no stack>"}),eF.nameTable=Array(4096),eF.mount(eE,{},"/"),eF.createDefaultDirectories(),eF.createDefaultDevices(),eF.createSpecialDirectories(),eF.filesystems={MEMFS:eE}},init(t,r,s){eF.init.initialized=!0,e.stdin=t||e.stdin,e.stdout=r||e.stdout,e.stderr=s||e.stderr,eF.createStandardStreams()},quit(){eF.init.initialized=!1;for(var e=0;e<eF.streams.length;e++){var t=eF.streams[e];t&&eF.close(t)}},findObject(e,t){var r=eF.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{var r=eF.lookupPath(e,{follow:!t});e=r.path}catch(e){}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var r=eF.lookupPath(e,{parent:!0});s.parentExists=!0,s.parentPath=r.path,s.parentObject=r.node,s.name=ep.basename(e),r=eF.lookupPath(e,{follow:!t}),s.exists=!0,s.path=r.path,s.object=r.node,s.name=r.node.name,s.isRoot="/"===r.path}catch(e){s.error=e.errno}return s},createPath(e,t,r,s){e="string"==typeof e?e:eF.getPath(e);for(var n=t.split("/").reverse();n.length;){var i=n.pop();if(i){var a=ep.join2(e,i);try{eF.mkdir(a)}catch(e){}e=a}}return a},createFile(e,t,r,s,n){var i=ep.join2("string"==typeof e?e:eF.getPath(e),t),a=eS(s,n);return eF.create(i,a)},createDataFile(e,t,r,s,n,i){var a=t;e&&(e="string"==typeof e?e:eF.getPath(e),a=t?ep.join2(e,t):e);var o=eS(s,n),l=eF.create(a,o);if(r){if("string"==typeof r){for(var _=Array(r.length),c=0,u=r.length;c<u;++c)_[c]=r.charCodeAt(c);r=_}eF.chmod(l,146|o);var d=eF.open(l,577);eF.write(d,r,0,r.length,0,i),eF.close(d),eF.chmod(l,o)}},createDevice(e,t,r,s){var n=ep.join2("string"==typeof e?e:eF.getPath(e),t),i=eS(!!r,!!s);eF.createDevice.major||(eF.createDevice.major=64);var a=eF.makedev(eF.createDevice.major++,0);return eF.registerDevice(a,{open(e){e.seekable=!1},close(e){s?.buffer?.length&&s(10)},read(e,t,s,n,i){for(var a,o=0,l=0;l<n;l++){try{a=r()}catch(e){throw new eF.ErrnoError(29)}if(void 0===a&&0===o)throw new eF.ErrnoError(6);if(null==a)break;o++,t[s+l]=a}return o&&(e.node.timestamp=Date.now()),o},write(e,t,r,n,i){for(var a=0;a<n;a++)try{s(t[r+a])}catch(e){throw new eF.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}}),eF.mkdev(n,i,a)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("u">typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(b)try{e.contents=ey(b(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eF.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile(e,t,r,s,n){if("u">typeof XMLHttpRequest){if(!H)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i={isDevice:!1,contents:new class{constructor(){this.lengthKnown=!1,this.chunks=[]}get(e){if(!(e>this.length-1)&&!(e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e,t=new XMLHttpRequest;if(t.open("HEAD",r,!1),t.send(null),!(t.status>=200&&t.status<300||304===t.status))throw Error("Couldn't load "+r+". Status: "+t.status);var s=Number(t.getResponseHeader("Content-length")),n=(e=t.getResponseHeader("Accept-Ranges"))&&"bytes"===e,i=(e=t.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;n||(a=s);var o=this;o.setDataGetter(e=>{var t=e*a,n=(e+1)*a-1;if(n=Math.min(n,s-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>s-1)throw Error("only "+s+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),s!==a&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ey(n.responseText||"",!0)})(t,n)),void 0===o.chunks[e])throw Error("doXHR failed!");return o.chunks[e]}),(i||!s)&&(a=s=1,a=s=this.getter(0).length,$("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=s,this._chunkSize=a,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}}}else var i={isDevice:!1,url:r};var a=eF.createFile(e,t,i,s,n);i.contents?a.contents=i.contents:i.url&&(a.contents=null,a.url=i.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var o={};function l(e,t,r,s,n){var i=e.node.contents;if(n>=i.length)return 0;var a=Math.min(i.length-n,s);if(i.slice)for(var o=0;o<a;o++)t[r+o]=i[n+o];else for(var o=0;o<a;o++)t[r+o]=i.get(n+o);return a}return Object.keys(a.stream_ops).forEach(e=>{var t=a.stream_ops[e];o[e]=(...e)=>(eF.forceLoadFile(a),t(...e))}),o.read=(e,t,r,s,n)=>(eF.forceLoadFile(a),l(e,t,r,s,n)),o.mmap=(e,t,r,s,n)=>{eF.forceLoadFile(a);var i=ek(t);if(!i)throw new eF.ErrnoError(48);return l(e,k,i,t,r),{ptr:i,allocated:!0}},a.stream_ops=o,a}},eA={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ep.isAbs(t))return t;if(-100===e)s=eF.cwd();else{var s;s=eA.getStreamFromFD(e).path}if(0==t.length){if(!r)throw new eF.ErrnoError(44);return s}return ep.join2(s,t)},doStat(e,t,r){var s=e(t);F[r>>2]=s.dev,F[r+4>>2]=s.mode,A[r+8>>2]=s.nlink,F[r+12>>2]=s.uid,F[r+16>>2]=s.gid,F[r+20>>2]=s.rdev,z=[s.size>>>0,+Math.abs(D=s.size)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+24>>2]=z[0],F[r+28>>2]=z[1],F[r+32>>2]=4096,F[r+36>>2]=s.blocks;var n=s.atime.getTime(),i=s.mtime.getTime(),a=s.ctime.getTime();return z=[Math.floor(n/1e3)>>>0,+Math.abs(D=Math.floor(n/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+40>>2]=z[0],F[r+44>>2]=z[1],A[r+48>>2]=n%1e3*1e3,z=[Math.floor(i/1e3)>>>0,+Math.abs(D=Math.floor(i/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+56>>2]=z[0],F[r+60>>2]=z[1],A[r+64>>2]=i%1e3*1e3,z=[Math.floor(a/1e3)>>>0,+Math.abs(D=Math.floor(a/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+72>>2]=z[0],F[r+76>>2]=z[1],A[r+80>>2]=a%1e3*1e3,z=[s.ino>>>0,+Math.abs(D=s.ino)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+88>>2]=z[0],F[r+92>>2]=z[1],0},doMsync(e,t,r,s,n){if(!eF.isFile(t.node.mode))throw new eF.ErrnoError(43);if(2&s)return 0;var i=E.slice(e,e+r);eF.msync(t,i,n,r,s)},getStreamFromFD:e=>eF.getStreamChecked(e),varargs:void 0,getStr:e=>ef(e)};function eT(){var e=F[eA.varargs>>2];return eA.varargs+=4,e}var eP=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+0x100000000*t:0/0,eI=(e,t,r)=>ev(e,E,t,r),eD=e=>A[e>>2]+0x100000000*F[e+4>>2],ez=[0,31,60,91,121,152,182,213,244,274,305,335],eL=[0,31,59,90,120,151,181,212,243,273,304,334],eM=e=>{var t=(e-y.buffer.byteLength+65535)/65536;try{return y.grow(t),G(),1}catch(e){}},ej={},eC=()=>{if(!eC.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:U||"./this.program"};for(var t in ej)void 0===ej[t]?delete e[t]:e[t]=ej[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);eC.strings=r}return eC.strings},eR=function(e){try{var t=eA.getStreamFromFD(e);return e8.handleSleep(e=>{var r=t.node.mount;r.type.syncfs?r.type.syncfs(r,!1,t=>{t?e(29):e(0)}):e(0)})}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}};eR.isAsync=!0;var eH=function(){let t="object"==typeof e8?e8.handleAsync.bind(e8):null;e.handleAsync=t;let r=new Map;e.setCallback=(e,t)=>r.set(e,t),e.getCallback=e=>r.get(e),e.deleteCallback=e=>r.delete(e),eH=function(e,s,...n){let i=r.get(s),a=null,o="function"==typeof i?i:i[a=ef(n.shift())];if(e){if(t)return t(()=>o.apply(i,n));throw Error("Synchronous WebAssembly cannot call async function")}let l=o.apply(i,n);if("function"==typeof l?.then)throw console.error("unexpected Promise",o),Error(`${a} unexpectedly returned a Promise`);return l}};function eO(...e){return eH(!0,...e)}function eU(...e){return eH(!0,...e)}function eN(...e){return eH(!0,...e)}function eB(...e){return eH(!0,...e)}function e$(...e){return eH(!0,...e)}function eW(...e){return eH(!0,...e)}function eV(...e){return eH(!0,...e)}function eG(...e){return eH(!0,...e)}function eX(...e){return eH(!0,...e)}function eK(...e){return eH(!0,...e)}function eY(...e){return eH(!0,...e)}function eJ(...e){return eH(!0,...e)}function eZ(...e){return eH(!0,...e)}function eQ(...e){return eH(!0,...e)}function e0(...e){return eH(!0,...e)}function e3(...e){return eH(!0,...e)}eO.isAsync=!0,eU.isAsync=!0,eN.isAsync=!0,eB.isAsync=!0,e$.isAsync=!0,eW.isAsync=!0,eV.isAsync=!0,eG.isAsync=!0,eX.isAsync=!0,eK.isAsync=!0,eY.isAsync=!0,eJ.isAsync=!0,eZ.isAsync=!0,eQ.isAsync=!0,e0.isAsync=!0,e3.isAsync=!0;var e1=0,e2=(t,r)=>{q=t,q=t,e_||e1>0||(e.onExit?.(t),V=!0),N(t,new ea(t))},e6=e=>{if(e instanceof ea||"unwind"==e)return q;N(1,e)},e4=e=>{try{return e()}catch(e){es(e)}},e5=e=>{if(!V)try{if(e(),!(e_||e1>0))try{e2(q)}catch(e){e6(e)}}catch(e){e6(e)}},e8={instrumentWasmImports(e){var t=/^(ipp|ipp_async|ippp|ippp_async|vppp|vppp_async|ipppj|ipppj_async|ipppi|ipppi_async|ipppp|ipppp_async|ipppip|ipppip_async|vpppip|vpppip_async|ippppi|ippppi_async|ippppij|ippppij_async|ipppiii|ipppiii_async|ippppip|ippppip_async|ippipppp|ippipppp_async|ipppppip|ipppppip_async|ipppiiip|ipppiiip_async|vppippii|vppippii_async|invoke_.*|__asyncjs__.*)$/;for(let[r,s]of Object.entries(e))"function"==typeof s&&(s.isAsync||t.test(r))},instrumentWasmExports(e){var t={};for(let[r,s]of Object.entries(e))"function"==typeof s?t[r]=(...e)=>{e8.exportCallStack.push(r);try{return s(...e)}finally{V||(e8.exportCallStack.pop(),e8.maybeStopUnwind())}}:t[r]=s;return t},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:16384,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(e){var t=e8.callStackNameToId[e];return void 0===t&&(t=e8.callStackId++,e8.callStackNameToId[e]=t,e8.callStackIdToName[t]=e),t},maybeStopUnwind(){e8.currData&&e8.state===e8.State.Unwinding&&0===e8.exportCallStack.length&&(e8.state=e8.State.Normal,e4(tm),"u">typeof Fibers&&Fibers.trampoline())},whenDone:()=>new Promise((e,t)=>{e8.asyncPromiseHandlers={resolve:e,reject:t}}),allocateData(){var e=to(12+e8.StackSize);return e8.setDataHeader(e,e+12,e8.StackSize),e8.setDataRewindFunc(e),e},setDataHeader(e,t,r){A[e>>2]=t,A[e+4>>2]=t+r},setDataRewindFunc(e){var t=e8.exportCallStack[0],r=e8.getCallStackId(t);F[e+8>>2]=r},getDataRewindFuncName(e){var t=F[e+8>>2];return e8.callStackIdToName[t]},getDataRewindFunc:e=>ta[e],doRewind(e){var t=e8.getDataRewindFuncName(e);return e8.getDataRewindFunc(t)()},handleSleep(e){if(!V){if(e8.state===e8.State.Normal){var t=!1,r=!1;e((e=0)=>{if(!V&&(e8.handleSleepReturnValue=e,t=!0,r)){e8.state=e8.State.Rewinding,e4(()=>tb(e8.currData)),"u">typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.resume();var s,n=!1;try{s=e8.doRewind(e8.currData)}catch(e){s=e,n=!0}var i=!1;if(!e8.currData){var a=e8.asyncPromiseHandlers;a&&(e8.asyncPromiseHandlers=null,(n?a.reject:a.resolve)(s),i=!0)}if(n&&!i)throw s}}),r=!0,t||(e8.state=e8.State.Unwinding,e8.currData=e8.allocateData(),"u">typeof Browser&&Browser.mainLoop.func&&Browser.mainLoop.pause(),e4(()=>tp(e8.currData)))}else e8.state===e8.State.Rewinding?(e8.state=e8.State.Normal,e4(tg),tl(e8.currData),e8.currData=null,e8.sleepCallbacks.forEach(e5)):es(`invalid state: ${e8.state}`);return e8.handleSleepReturnValue}},handleAsync:e=>e8.handleSleep(t=>{e().then(t)})},e7=(e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},e9=e=>L.get(e),te=[],tt=t=>e["_"+t],tr=(e,t)=>{k.set(e,t)},ts=(e,t,r,s,n)=>{var i={string:e=>{var t,r,s,n=0;return null!=e&&0!==e&&(r=ew(t=e)+1,eI(t,s=th(r),r),n=s),n},array:e=>{let t;var r=(t=e.length,th(t));return tr(e,r),r}},a=tt(e),o=[],l=0;if(s)for(var _=0;_<s.length;_++){var c=i[r[_]];c?(0===l&&(l=eu()),o[_]=c(s[_])):o[_]=s[_]}var u=e8.currData,d=a(...o);function h(e){return e1-=1,0!==l&&td(l),"string"===t?ef(e):"boolean"===t?!!e:e}var f=n?.async;return(e1+=1,e8.currData!=u)?e8.whenDone().then(h):(d=h(d),f)?Promise.resolve(d):d},tn="u">typeof TextDecoder?new TextDecoder("utf-16le"):void 0;eF.createPreloadedFile=(e,t,r,s,n,i,a,o,l,_)=>{var c=t?eb.resolve(ep.join2(e,t)):e,u=`cp ${c}`;function d(r){var d,h;function f(r){_?.(),o||eF.createDataFile(e,t,r,s,n,l),i?.(),er(u)}d=()=>{a?.(),er(u)},"u">typeof Browser&&Browser.init(),h=!1,ex.forEach(e=>{!h&&e.canHandle(c)&&(e.handle(r,c,f,d),h=!0)}),h||f(r)}if(et(u),"string"==typeof r){var h=`al ${r}`;g(r,e=>{d(new Uint8Array(e)),h&&er(h)},e=>{if(a)a();else throw`Loading data file "${r}" failed.`}),h&&et(h)}else d(r)},eF.staticInit(),eH();var ti={a:(e,t,r,s)=>{es(`Assertion failed: ${ef(e)}, at: `+[t?ef(t):"unknown filename",r,s?ef(s):"unknown function"])},Y:function(e,t){try{return e=eA.getStr(e),eF.chmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},$:function(e,t,r,s){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),-8&r)return -28;var n=eF.lookupPath(t,{follow:!0}).node;if(!n)return -44;var i="";if(4&r&&(i+="r"),2&r&&(i+="w"),1&r&&(i+="x"),i&&eF.nodePermissions(n,i))return -2;return 0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},Z:function(e,t){try{return eF.fchmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},X:function(e,t,r){try{return eF.fchown(e,t,r),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},b:function(e,t,r){eA.varargs=r;try{var s=eA.getStreamFromFD(e);switch(t){case 0:var n=eT();if(n<0)break;for(;eF.streams[n];)n++;return eF.dupStream(s,n).fd;case 1:case 2:case 13:case 14:return 0;case 3:return s.flags;case 4:var n=eT();return s.flags|=n,0;case 12:var n=eT();return x[n+0>>1]=2,0}return -28}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},W:function(e,t){try{var r=eA.getStreamFromFD(e);return eA.doStat(eF.stat,r.path,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},y:function(e,t,r){var s=eP(t,r);try{if(isNaN(s))return 61;return eF.ftruncate(e,s),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},Q:function(e,t){try{if(0===t)return -28;var r=eF.cwd(),s=ew(r)+1;if(t<s)return -68;return eI(r,e,t),s}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},U:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.lstat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},N:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),t=ep.normalize(t),"/"===t[t.length-1]&&(t=t.substr(0,t.length-1)),eF.mkdir(t,r,0),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},S:function(e,t,r,s){try{t=eA.getStr(t);var n=256&s,i=4096&s;return s&=-6401,t=eA.calculateAt(e,t,i),eA.doStat(n?eF.lstat:eF.stat,t,r)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},M:function(e,t,r,s){eA.varargs=s;try{t=eA.getStr(t),t=eA.calculateAt(e,t);var n=s?eT():0;return eF.open(t,r,n).fd}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},K:function(e,t,r,s){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),s<=0)return -28;var n=eF.readlink(t),i=Math.min(s,ew(n)),a=k[r+i];return eI(n,r,s+1),k[r+i]=a,i}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},J:function(e){try{return e=eA.getStr(e),eF.rmdir(e),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},V:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.stat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},G:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),0===r?eF.unlink(t):512===r?eF.rmdir(t):es("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},F:function(e,t,r,s){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t,!0),r){var n=eD(r),i=F[r+8>>2];a=1e3*n+i/1e6,r+=16,n=eD(r),i=F[r+8>>2],o=1e3*n+i/1e6}else var a=Date.now(),o=a;return eF.utime(t,a,o),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},w:function(e,t,r){let s;var n=new Date(1e3*eP(e,t));F[r>>2]=n.getSeconds(),F[r+4>>2]=n.getMinutes(),F[r+8>>2]=n.getHours(),F[r+12>>2]=n.getDate(),F[r+16>>2]=n.getMonth(),F[r+20>>2]=n.getFullYear()-1900,F[r+24>>2]=n.getDay();var i=0|((s=n.getFullYear())%4==0&&(s%100!=0||s%400==0)?ez:eL)[n.getMonth()]+n.getDate()-1;F[r+28>>2]=i,F[r+36>>2]=-(60*n.getTimezoneOffset());var a=new Date(n.getFullYear(),0,1),o=new Date(n.getFullYear(),6,1).getTimezoneOffset(),l=a.getTimezoneOffset(),_=0|(o!=l&&n.getTimezoneOffset()==Math.min(l,o));F[r+32>>2]=_},u:function(e,t,r,s,n,i,a,o){var l=eP(n,i);try{if(isNaN(l))return 61;var _=eA.getStreamFromFD(s),c=eF.mmap(_,e,l,t,r),u=c.ptr;return F[a>>2]=c.allocated,A[o>>2]=u,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(e,t,r,s,n,i,a){var o=eP(i,a);try{var l=eA.getStreamFromFD(n);2&r&&eA.doMsync(e,l,t,s,o)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},H:(e,t,r,s)=>{var n=(new Date).getFullYear(),i=new Date(n,0,1),a=new Date(n,6,1),o=i.getTimezoneOffset(),l=a.getTimezoneOffset(),_=Math.max(o,l);A[e>>2]=60*_,F[t>>2]=Number(o!=l);var c=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],u=c(i),d=c(a);l<o?(eI(u,r,17),eI(d,s,17)):(eI(u,s,17),eI(d,r,17))},n:()=>Date.now(),m:()=>performance.now(),D:e=>{var t=E.length;if((e>>>=0)>0x80000000)return!1;for(var r=(e,t)=>e+(t-e%t)%t,s=1;s<=4;s*=2){var n=t*(1+.2/s);if(n=Math.min(n,e+0x6000000),eM(Math.min(0x80000000,r(Math.max(e,n),65536))))return!0}return!1},O:(e,t)=>{var r=0;return eC().forEach((s,n)=>{var i=t+r;A[e+4*n>>2]=i;for(var a=i,o=0;o<s.length;++o)k[a++]=s.charCodeAt(o);k[a]=0,r+=s.length+1}),0},P:(e,t)=>{var r=eC();A[e>>2]=r.length;var s=0;return r.forEach(e=>s+=e.length+1),A[t>>2]=s,0},o:function(e){try{var t=eA.getStreamFromFD(e);return eF.close(t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},E:function(e,t){try{var r=eA.getStreamFromFD(e),s=r.tty?2:eF.isDir(r.mode)?3:eF.isLink(r.mode)?7:4;return k[t]=s,x[t+2>>1]=0,z=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+8>>2]=z[0],F[t+12>>2]=z[1],z=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+16>>2]=z[0],F[t+20>>2]=z[1],0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},L:function(e,t,r,s){try{var n=eA.getStreamFromFD(e),i=((e,t,r,s)=>{for(var n=0,i=0;i<r;i++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.read(e,k,a,o,s);if(l<0)return -1;if(n+=l,l<o)break;void 0!==s&&(s+=l)}return n})(n,t,r);return A[s>>2]=i,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},x:function(e,t,r,s,n){var i=eP(t,r);try{if(isNaN(i))return 61;var a=eA.getStreamFromFD(e);return eF.llseek(a,i,s),z=[a.position>>>0,(D=a.position,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[n>>2]=z[0],F[n+4>>2]=z[1],a.getdents&&0===i&&0===s&&(a.getdents=null),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},R:eR,I:function(e,t,r,s){try{var n=eA.getStreamFromFD(e),i=((e,t,r,s)=>{for(var n=0,i=0;i<r;i++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.write(e,k,a,o,s);if(l<0)return -1;n+=l,void 0!==s&&(s+=l)}return n})(n,t,r);return A[s>>2]=i,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},s:function(...e){return eH(!1,...e)},t:eO,ga:function(...e){return eH(!1,...e)},ka:eU,i:function(...e){return eH(!1,...e)},j:eN,c:function(...e){return eH(!1,...e)},d:eB,ca:function(...e){return eH(!1,...e)},da:e$,ea:function(...e){return eH(!1,...e)},fa:eW,g:function(...e){return eH(!1,...e)},h:eV,z:function(...e){return eH(!1,...e)},A:eG,e:function(...e){return eH(!1,...e)},f:eX,aa:function(...e){return eH(!1,...e)},ba:eK,B:function(...e){return eH(!1,...e)},C:eY,p:function(...e){return eH(!1,...e)},q:eJ,ha:function(...e){return eH(!1,...e)},ia:eZ,ja:function(...e){return eH(!1,...e)},r:eQ,k:function(...e){return eH(!1,...e)},l:e0,T:function(...e){return eH(!1,...e)},_:e3},ta=function(){var t,r,s,n,i={a:ti};function a(e,t){var r;return ta=e.exports,y=(ta=e8.instrumentWasmExports(ta)).la,G(),L=ta.ef,r=ta.ma,K.unshift(r),er("wasm-instantiate"),ta}if(et("wasm-instantiate"),e.instantiateWasm)try{return e.instantiateWasm(i,a)}catch(e){W(`Module.instantiateWasm callback failed with error: ${e}`),m(e)}return I||(I=function(){if(e.locateFile){var t="wa-sqlite-async.wasm";return t.startsWith("data:application/octet-stream;base64,")?t:e.locateFile?e.locateFile(t,B):B+t}return new URL("wa-sqlite-async.wasm",import.meta.url).href}()),(t=v,r=I,s=i,n=function(e){a(e.instance)},t||"function"!=typeof WebAssembly.instantiateStreaming||r.startsWith("data:application/octet-stream;base64,")||"function"!=typeof fetch?ei(r,s,n):fetch(r,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,s).then(n,function(e){return W(`wasm streaming compile failed: ${e}`),W("falling back to ArrayBuffer instantiation"),ei(r,s,n)}))).catch(m),{}}(),to=(e._sqlite3_status64=(t,r,s,n)=>(e._sqlite3_status64=ta.na)(t,r,s,n),e._sqlite3_status=(t,r,s,n)=>(e._sqlite3_status=ta.oa)(t,r,s,n),e._sqlite3_msize=t=>(e._sqlite3_msize=ta.pa)(t),e._sqlite3_db_status=(t,r,s,n,i)=>(e._sqlite3_db_status=ta.qa)(t,r,s,n,i),e._sqlite3_vfs_find=t=>(e._sqlite3_vfs_find=ta.ra)(t),e._sqlite3_vfs_register=(t,r)=>(e._sqlite3_vfs_register=ta.sa)(t,r),e._sqlite3_vfs_unregister=t=>(e._sqlite3_vfs_unregister=ta.ta)(t),e._sqlite3_release_memory=t=>(e._sqlite3_release_memory=ta.ua)(t),e._sqlite3_soft_heap_limit64=(t,r)=>(e._sqlite3_soft_heap_limit64=ta.va)(t,r),e._sqlite3_memory_used=()=>(e._sqlite3_memory_used=ta.wa)(),e._sqlite3_hard_heap_limit64=(t,r)=>(e._sqlite3_hard_heap_limit64=ta.xa)(t,r),e._sqlite3_memory_highwater=t=>(e._sqlite3_memory_highwater=ta.ya)(t),e._sqlite3_malloc=t=>(e._sqlite3_malloc=ta.za)(t),e._sqlite3_malloc64=(t,r)=>(e._sqlite3_malloc64=ta.Aa)(t,r),e._sqlite3_free=t=>(e._sqlite3_free=ta.Ba)(t),e._sqlite3_realloc=(t,r)=>(e._sqlite3_realloc=ta.Ca)(t,r),e._sqlite3_realloc64=(t,r,s)=>(e._sqlite3_realloc64=ta.Da)(t,r,s),e._sqlite3_str_vappendf=(t,r,s)=>(e._sqlite3_str_vappendf=ta.Ea)(t,r,s),e._sqlite3_str_append=(t,r,s)=>(e._sqlite3_str_append=ta.Fa)(t,r,s),e._sqlite3_str_appendchar=(t,r,s)=>(e._sqlite3_str_appendchar=ta.Ga)(t,r,s),e._sqlite3_str_appendall=(t,r)=>(e._sqlite3_str_appendall=ta.Ha)(t,r),e._sqlite3_str_appendf=(t,r,s)=>(e._sqlite3_str_appendf=ta.Ia)(t,r,s),e._sqlite3_str_finish=t=>(e._sqlite3_str_finish=ta.Ja)(t),e._sqlite3_str_errcode=t=>(e._sqlite3_str_errcode=ta.Ka)(t),e._sqlite3_str_length=t=>(e._sqlite3_str_length=ta.La)(t),e._sqlite3_str_value=t=>(e._sqlite3_str_value=ta.Ma)(t),e._sqlite3_str_reset=t=>(e._sqlite3_str_reset=ta.Na)(t),e._sqlite3_str_new=t=>(e._sqlite3_str_new=ta.Oa)(t),e._sqlite3_vmprintf=(t,r)=>(e._sqlite3_vmprintf=ta.Pa)(t,r),e._sqlite3_mprintf=(t,r)=>(e._sqlite3_mprintf=ta.Qa)(t,r),e._sqlite3_vsnprintf=(t,r,s,n)=>(e._sqlite3_vsnprintf=ta.Ra)(t,r,s,n),e._sqlite3_snprintf=(t,r,s,n)=>(e._sqlite3_snprintf=ta.Sa)(t,r,s,n),e._sqlite3_log=(t,r,s)=>(e._sqlite3_log=ta.Ta)(t,r,s),e._sqlite3_randomness=(t,r)=>(e._sqlite3_randomness=ta.Ua)(t,r),e._sqlite3_stricmp=(t,r)=>(e._sqlite3_stricmp=ta.Va)(t,r),e._sqlite3_strnicmp=(t,r,s)=>(e._sqlite3_strnicmp=ta.Wa)(t,r,s),e._sqlite3_os_init=()=>(e._sqlite3_os_init=ta.Xa)(),e._sqlite3_os_end=()=>(e._sqlite3_os_end=ta.Ya)(),e._sqlite3_serialize=(t,r,s,n)=>(e._sqlite3_serialize=ta.Za)(t,r,s,n),e._sqlite3_prepare_v2=(t,r,s,n,i)=>(e._sqlite3_prepare_v2=ta._a)(t,r,s,n,i),e._sqlite3_step=t=>(e._sqlite3_step=ta.$a)(t),e._sqlite3_column_int64=(t,r)=>(e._sqlite3_column_int64=ta.ab)(t,r),e._sqlite3_reset=t=>(e._sqlite3_reset=ta.bb)(t),e._sqlite3_exec=(t,r,s,n,i)=>(e._sqlite3_exec=ta.cb)(t,r,s,n,i),e._sqlite3_column_int=(t,r)=>(e._sqlite3_column_int=ta.db)(t,r),e._sqlite3_finalize=t=>(e._sqlite3_finalize=ta.eb)(t),e._sqlite3_deserialize=(t,r,s,n,i,a,o,l)=>(e._sqlite3_deserialize=ta.fb)(t,r,s,n,i,a,o,l),e._sqlite3_database_file_object=t=>(e._sqlite3_database_file_object=ta.gb)(t),e._sqlite3_backup_init=(t,r,s,n)=>(e._sqlite3_backup_init=ta.hb)(t,r,s,n),e._sqlite3_backup_step=(t,r)=>(e._sqlite3_backup_step=ta.ib)(t,r),e._sqlite3_backup_finish=t=>(e._sqlite3_backup_finish=ta.jb)(t),e._sqlite3_backup_remaining=t=>(e._sqlite3_backup_remaining=ta.kb)(t),e._sqlite3_backup_pagecount=t=>(e._sqlite3_backup_pagecount=ta.lb)(t),e._sqlite3_clear_bindings=t=>(e._sqlite3_clear_bindings=ta.mb)(t),e._sqlite3_value_blob=t=>(e._sqlite3_value_blob=ta.nb)(t),e._sqlite3_value_text=t=>(e._sqlite3_value_text=ta.ob)(t),e._sqlite3_value_bytes=t=>(e._sqlite3_value_bytes=ta.pb)(t),e._sqlite3_value_bytes16=t=>(e._sqlite3_value_bytes16=ta.qb)(t),e._sqlite3_value_double=t=>(e._sqlite3_value_double=ta.rb)(t),e._sqlite3_value_int=t=>(e._sqlite3_value_int=ta.sb)(t),e._sqlite3_value_int64=t=>(e._sqlite3_value_int64=ta.tb)(t),e._sqlite3_value_subtype=t=>(e._sqlite3_value_subtype=ta.ub)(t),e._sqlite3_value_pointer=(t,r)=>(e._sqlite3_value_pointer=ta.vb)(t,r),e._sqlite3_value_text16=t=>(e._sqlite3_value_text16=ta.wb)(t),e._sqlite3_value_text16be=t=>(e._sqlite3_value_text16be=ta.xb)(t),e._sqlite3_value_text16le=t=>(e._sqlite3_value_text16le=ta.yb)(t),e._sqlite3_value_type=t=>(e._sqlite3_value_type=ta.zb)(t),e._sqlite3_value_encoding=t=>(e._sqlite3_value_encoding=ta.Ab)(t),e._sqlite3_value_nochange=t=>(e._sqlite3_value_nochange=ta.Bb)(t),e._sqlite3_value_frombind=t=>(e._sqlite3_value_frombind=ta.Cb)(t),e._sqlite3_value_dup=t=>(e._sqlite3_value_dup=ta.Db)(t),e._sqlite3_value_free=t=>(e._sqlite3_value_free=ta.Eb)(t),e._sqlite3_result_blob=(t,r,s,n)=>(e._sqlite3_result_blob=ta.Fb)(t,r,s,n),e._sqlite3_result_blob64=(t,r,s,n,i)=>(e._sqlite3_result_blob64=ta.Gb)(t,r,s,n,i),e._sqlite3_result_double=(t,r)=>(e._sqlite3_result_double=ta.Hb)(t,r),e._sqlite3_result_error=(t,r,s)=>(e._sqlite3_result_error=ta.Ib)(t,r,s),e._sqlite3_result_error16=(t,r,s)=>(e._sqlite3_result_error16=ta.Jb)(t,r,s),e._sqlite3_result_int=(t,r)=>(e._sqlite3_result_int=ta.Kb)(t,r),e._sqlite3_result_int64=(t,r,s)=>(e._sqlite3_result_int64=ta.Lb)(t,r,s),e._sqlite3_result_null=t=>(e._sqlite3_result_null=ta.Mb)(t),e._sqlite3_result_pointer=(t,r,s,n)=>(e._sqlite3_result_pointer=ta.Nb)(t,r,s,n),e._sqlite3_result_subtype=(t,r)=>(e._sqlite3_result_subtype=ta.Ob)(t,r),e._sqlite3_result_text=(t,r,s,n)=>(e._sqlite3_result_text=ta.Pb)(t,r,s,n),e._sqlite3_result_text64=(t,r,s,n,i,a)=>(e._sqlite3_result_text64=ta.Qb)(t,r,s,n,i,a),e._sqlite3_result_text16=(t,r,s,n)=>(e._sqlite3_result_text16=ta.Rb)(t,r,s,n),e._sqlite3_result_text16be=(t,r,s,n)=>(e._sqlite3_result_text16be=ta.Sb)(t,r,s,n),e._sqlite3_result_text16le=(t,r,s,n)=>(e._sqlite3_result_text16le=ta.Tb)(t,r,s,n),e._sqlite3_result_value=(t,r)=>(e._sqlite3_result_value=ta.Ub)(t,r),e._sqlite3_result_error_toobig=t=>(e._sqlite3_result_error_toobig=ta.Vb)(t),e._sqlite3_result_zeroblob=(t,r)=>(e._sqlite3_result_zeroblob=ta.Wb)(t,r),e._sqlite3_result_zeroblob64=(t,r,s)=>(e._sqlite3_result_zeroblob64=ta.Xb)(t,r,s),e._sqlite3_result_error_code=(t,r)=>(e._sqlite3_result_error_code=ta.Yb)(t,r),e._sqlite3_result_error_nomem=t=>(e._sqlite3_result_error_nomem=ta.Zb)(t),e._sqlite3_user_data=t=>(e._sqlite3_user_data=ta._b)(t),e._sqlite3_context_db_handle=t=>(e._sqlite3_context_db_handle=ta.$b)(t),e._sqlite3_vtab_nochange=t=>(e._sqlite3_vtab_nochange=ta.ac)(t),e._sqlite3_vtab_in_first=(t,r)=>(e._sqlite3_vtab_in_first=ta.bc)(t,r),e._sqlite3_vtab_in_next=(t,r)=>(e._sqlite3_vtab_in_next=ta.cc)(t,r),e._sqlite3_aggregate_context=(t,r)=>(e._sqlite3_aggregate_context=ta.dc)(t,r),e._sqlite3_get_auxdata=(t,r)=>(e._sqlite3_get_auxdata=ta.ec)(t,r),e._sqlite3_set_auxdata=(t,r,s,n)=>(e._sqlite3_set_auxdata=ta.fc)(t,r,s,n),e._sqlite3_column_count=t=>(e._sqlite3_column_count=ta.gc)(t),e._sqlite3_data_count=t=>(e._sqlite3_data_count=ta.hc)(t),e._sqlite3_column_blob=(t,r)=>(e._sqlite3_column_blob=ta.ic)(t,r),e._sqlite3_column_bytes=(t,r)=>(e._sqlite3_column_bytes=ta.jc)(t,r),e._sqlite3_column_bytes16=(t,r)=>(e._sqlite3_column_bytes16=ta.kc)(t,r),e._sqlite3_column_double=(t,r)=>(e._sqlite3_column_double=ta.lc)(t,r),e._sqlite3_column_text=(t,r)=>(e._sqlite3_column_text=ta.mc)(t,r),e._sqlite3_column_value=(t,r)=>(e._sqlite3_column_value=ta.nc)(t,r),e._sqlite3_column_text16=(t,r)=>(e._sqlite3_column_text16=ta.oc)(t,r),e._sqlite3_column_type=(t,r)=>(e._sqlite3_column_type=ta.pc)(t,r),e._sqlite3_column_name=(t,r)=>(e._sqlite3_column_name=ta.qc)(t,r),e._sqlite3_column_name16=(t,r)=>(e._sqlite3_column_name16=ta.rc)(t,r),e._sqlite3_bind_blob=(t,r,s,n,i)=>(e._sqlite3_bind_blob=ta.sc)(t,r,s,n,i),e._sqlite3_bind_blob64=(t,r,s,n,i,a)=>(e._sqlite3_bind_blob64=ta.tc)(t,r,s,n,i,a),e._sqlite3_bind_double=(t,r,s)=>(e._sqlite3_bind_double=ta.uc)(t,r,s),e._sqlite3_bind_int=(t,r,s)=>(e._sqlite3_bind_int=ta.vc)(t,r,s),e._sqlite3_bind_int64=(t,r,s,n)=>(e._sqlite3_bind_int64=ta.wc)(t,r,s,n),e._sqlite3_bind_null=(t,r)=>(e._sqlite3_bind_null=ta.xc)(t,r),e._sqlite3_bind_pointer=(t,r,s,n,i)=>(e._sqlite3_bind_pointer=ta.yc)(t,r,s,n,i),e._sqlite3_bind_text=(t,r,s,n,i)=>(e._sqlite3_bind_text=ta.zc)(t,r,s,n,i),e._sqlite3_bind_text64=(t,r,s,n,i,a,o)=>(e._sqlite3_bind_text64=ta.Ac)(t,r,s,n,i,a,o),e._sqlite3_bind_text16=(t,r,s,n,i)=>(e._sqlite3_bind_text16=ta.Bc)(t,r,s,n,i),e._sqlite3_bind_value=(t,r,s)=>(e._sqlite3_bind_value=ta.Cc)(t,r,s),e._sqlite3_bind_zeroblob=(t,r,s)=>(e._sqlite3_bind_zeroblob=ta.Dc)(t,r,s),e._sqlite3_bind_zeroblob64=(t,r,s,n)=>(e._sqlite3_bind_zeroblob64=ta.Ec)(t,r,s,n),e._sqlite3_bind_parameter_count=t=>(e._sqlite3_bind_parameter_count=ta.Fc)(t),e._sqlite3_bind_parameter_name=(t,r)=>(e._sqlite3_bind_parameter_name=ta.Gc)(t,r),e._sqlite3_bind_parameter_index=(t,r)=>(e._sqlite3_bind_parameter_index=ta.Hc)(t,r),e._sqlite3_db_handle=t=>(e._sqlite3_db_handle=ta.Ic)(t),e._sqlite3_stmt_readonly=t=>(e._sqlite3_stmt_readonly=ta.Jc)(t),e._sqlite3_stmt_isexplain=t=>(e._sqlite3_stmt_isexplain=ta.Kc)(t),e._sqlite3_stmt_explain=(t,r)=>(e._sqlite3_stmt_explain=ta.Lc)(t,r),e._sqlite3_stmt_busy=t=>(e._sqlite3_stmt_busy=ta.Mc)(t),e._sqlite3_next_stmt=(t,r)=>(e._sqlite3_next_stmt=ta.Nc)(t,r),e._sqlite3_stmt_status=(t,r,s)=>(e._sqlite3_stmt_status=ta.Oc)(t,r,s),e._sqlite3_sql=t=>(e._sqlite3_sql=ta.Pc)(t),e._sqlite3_expanded_sql=t=>(e._sqlite3_expanded_sql=ta.Qc)(t),e._sqlite3_value_numeric_type=t=>(e._sqlite3_value_numeric_type=ta.Rc)(t),e._sqlite3_blob_open=(t,r,s,n,i,a,o,l)=>(e._sqlite3_blob_open=ta.Sc)(t,r,s,n,i,a,o,l),e._sqlite3_blob_close=t=>(e._sqlite3_blob_close=ta.Tc)(t),e._sqlite3_blob_read=(t,r,s,n)=>(e._sqlite3_blob_read=ta.Uc)(t,r,s,n),e._sqlite3_blob_write=(t,r,s,n)=>(e._sqlite3_blob_write=ta.Vc)(t,r,s,n),e._sqlite3_blob_bytes=t=>(e._sqlite3_blob_bytes=ta.Wc)(t),e._sqlite3_blob_reopen=(t,r,s)=>(e._sqlite3_blob_reopen=ta.Xc)(t,r,s),e._sqlite3_set_authorizer=(t,r,s)=>(e._sqlite3_set_authorizer=ta.Yc)(t,r,s),e._sqlite3_strglob=(t,r)=>(e._sqlite3_strglob=ta.Zc)(t,r),e._sqlite3_strlike=(t,r,s)=>(e._sqlite3_strlike=ta._c)(t,r,s),e._sqlite3_errmsg=t=>(e._sqlite3_errmsg=ta.$c)(t),e._sqlite3_auto_extension=t=>(e._sqlite3_auto_extension=ta.ad)(t),e._sqlite3_cancel_auto_extension=t=>(e._sqlite3_cancel_auto_extension=ta.bd)(t),e._sqlite3_reset_auto_extension=()=>(e._sqlite3_reset_auto_extension=ta.cd)(),e._sqlite3_prepare=(t,r,s,n,i)=>(e._sqlite3_prepare=ta.dd)(t,r,s,n,i),e._sqlite3_prepare_v3=(t,r,s,n,i,a)=>(e._sqlite3_prepare_v3=ta.ed)(t,r,s,n,i,a),e._sqlite3_prepare16=(t,r,s,n,i)=>(e._sqlite3_prepare16=ta.fd)(t,r,s,n,i),e._sqlite3_prepare16_v2=(t,r,s,n,i)=>(e._sqlite3_prepare16_v2=ta.gd)(t,r,s,n,i),e._sqlite3_prepare16_v3=(t,r,s,n,i,a)=>(e._sqlite3_prepare16_v3=ta.hd)(t,r,s,n,i,a),e._sqlite3_get_table=(t,r,s,n,i,a)=>(e._sqlite3_get_table=ta.id)(t,r,s,n,i,a),e._sqlite3_free_table=t=>(e._sqlite3_free_table=ta.jd)(t),e._sqlite3_create_module=(t,r,s,n)=>(e._sqlite3_create_module=ta.kd)(t,r,s,n),e._sqlite3_create_module_v2=(t,r,s,n,i)=>(e._sqlite3_create_module_v2=ta.ld)(t,r,s,n,i),e._sqlite3_drop_modules=(t,r)=>(e._sqlite3_drop_modules=ta.md)(t,r),e._sqlite3_declare_vtab=(t,r)=>(e._sqlite3_declare_vtab=ta.nd)(t,r),e._sqlite3_vtab_on_conflict=t=>(e._sqlite3_vtab_on_conflict=ta.od)(t),e._sqlite3_vtab_config=(t,r,s)=>(e._sqlite3_vtab_config=ta.pd)(t,r,s),e._sqlite3_vtab_collation=(t,r)=>(e._sqlite3_vtab_collation=ta.qd)(t,r),e._sqlite3_vtab_in=(t,r,s)=>(e._sqlite3_vtab_in=ta.rd)(t,r,s),e._sqlite3_vtab_rhs_value=(t,r,s)=>(e._sqlite3_vtab_rhs_value=ta.sd)(t,r,s),e._sqlite3_vtab_distinct=t=>(e._sqlite3_vtab_distinct=ta.td)(t),e._sqlite3_keyword_name=(t,r,s)=>(e._sqlite3_keyword_name=ta.ud)(t,r,s),e._sqlite3_keyword_count=()=>(e._sqlite3_keyword_count=ta.vd)(),e._sqlite3_keyword_check=(t,r)=>(e._sqlite3_keyword_check=ta.wd)(t,r),e._sqlite3_complete=t=>(e._sqlite3_complete=ta.xd)(t),e._sqlite3_complete16=t=>(e._sqlite3_complete16=ta.yd)(t),e._sqlite3_libversion=()=>(e._sqlite3_libversion=ta.zd)(),e._sqlite3_libversion_number=()=>(e._sqlite3_libversion_number=ta.Ad)(),e._sqlite3_threadsafe=()=>(e._sqlite3_threadsafe=ta.Bd)(),e._sqlite3_initialize=()=>(e._sqlite3_initialize=ta.Cd)(),e._sqlite3_shutdown=()=>(e._sqlite3_shutdown=ta.Dd)(),e._sqlite3_config=(t,r)=>(e._sqlite3_config=ta.Ed)(t,r),e._sqlite3_db_mutex=t=>(e._sqlite3_db_mutex=ta.Fd)(t),e._sqlite3_db_release_memory=t=>(e._sqlite3_db_release_memory=ta.Gd)(t),e._sqlite3_db_cacheflush=t=>(e._sqlite3_db_cacheflush=ta.Hd)(t),e._sqlite3_db_config=(t,r,s)=>(e._sqlite3_db_config=ta.Id)(t,r,s),e._sqlite3_last_insert_rowid=t=>(e._sqlite3_last_insert_rowid=ta.Jd)(t),e._sqlite3_set_last_insert_rowid=(t,r,s)=>(e._sqlite3_set_last_insert_rowid=ta.Kd)(t,r,s),e._sqlite3_changes64=t=>(e._sqlite3_changes64=ta.Ld)(t),e._sqlite3_changes=t=>(e._sqlite3_changes=ta.Md)(t),e._sqlite3_total_changes64=t=>(e._sqlite3_total_changes64=ta.Nd)(t),e._sqlite3_total_changes=t=>(e._sqlite3_total_changes=ta.Od)(t),e._sqlite3_txn_state=(t,r)=>(e._sqlite3_txn_state=ta.Pd)(t,r),e._sqlite3_close=t=>(e._sqlite3_close=ta.Qd)(t),e._sqlite3_close_v2=t=>(e._sqlite3_close_v2=ta.Rd)(t),e._sqlite3_busy_handler=(t,r,s)=>(e._sqlite3_busy_handler=ta.Sd)(t,r,s),e._sqlite3_progress_handler=(t,r,s,n)=>(e._sqlite3_progress_handler=ta.Td)(t,r,s,n),e._sqlite3_busy_timeout=(t,r)=>(e._sqlite3_busy_timeout=ta.Ud)(t,r),e._sqlite3_interrupt=t=>(e._sqlite3_interrupt=ta.Vd)(t),e._sqlite3_is_interrupted=t=>(e._sqlite3_is_interrupted=ta.Wd)(t),e._sqlite3_create_function=(t,r,s,n,i,a,o,l)=>(e._sqlite3_create_function=ta.Xd)(t,r,s,n,i,a,o,l),e._sqlite3_create_function_v2=(t,r,s,n,i,a,o,l,_)=>(e._sqlite3_create_function_v2=ta.Yd)(t,r,s,n,i,a,o,l,_),e._sqlite3_create_window_function=(t,r,s,n,i,a,o,l,_,c)=>(e._sqlite3_create_window_function=ta.Zd)(t,r,s,n,i,a,o,l,_,c),e._sqlite3_create_function16=(t,r,s,n,i,a,o,l)=>(e._sqlite3_create_function16=ta._d)(t,r,s,n,i,a,o,l),e._sqlite3_overload_function=(t,r,s)=>(e._sqlite3_overload_function=ta.$d)(t,r,s),e._sqlite3_trace_v2=(t,r,s,n)=>(e._sqlite3_trace_v2=ta.ae)(t,r,s,n),e._sqlite3_commit_hook=(t,r,s)=>(e._sqlite3_commit_hook=ta.be)(t,r,s),e._sqlite3_update_hook=(t,r,s)=>(e._sqlite3_update_hook=ta.ce)(t,r,s),e._sqlite3_rollback_hook=(t,r,s)=>(e._sqlite3_rollback_hook=ta.de)(t,r,s),e._sqlite3_autovacuum_pages=(t,r,s,n)=>(e._sqlite3_autovacuum_pages=ta.ee)(t,r,s,n),e._sqlite3_wal_autocheckpoint=(t,r)=>(e._sqlite3_wal_autocheckpoint=ta.fe)(t,r),e._sqlite3_wal_hook=(t,r,s)=>(e._sqlite3_wal_hook=ta.ge)(t,r,s),e._sqlite3_wal_checkpoint_v2=(t,r,s,n,i)=>(e._sqlite3_wal_checkpoint_v2=ta.he)(t,r,s,n,i),e._sqlite3_wal_checkpoint=(t,r)=>(e._sqlite3_wal_checkpoint=ta.ie)(t,r),e._sqlite3_error_offset=t=>(e._sqlite3_error_offset=ta.je)(t),e._sqlite3_errmsg16=t=>(e._sqlite3_errmsg16=ta.ke)(t),e._sqlite3_errcode=t=>(e._sqlite3_errcode=ta.le)(t),e._sqlite3_extended_errcode=t=>(e._sqlite3_extended_errcode=ta.me)(t),e._sqlite3_system_errno=t=>(e._sqlite3_system_errno=ta.ne)(t),e._sqlite3_errstr=t=>(e._sqlite3_errstr=ta.oe)(t),e._sqlite3_limit=(t,r,s)=>(e._sqlite3_limit=ta.pe)(t,r,s),e._sqlite3_open=(t,r)=>(e._sqlite3_open=ta.qe)(t,r),e._sqlite3_open_v2=(t,r,s,n)=>(e._sqlite3_open_v2=ta.re)(t,r,s,n),e._sqlite3_open16=(t,r)=>(e._sqlite3_open16=ta.se)(t,r),e._sqlite3_create_collation=(t,r,s,n,i)=>(e._sqlite3_create_collation=ta.te)(t,r,s,n,i),e._sqlite3_create_collation_v2=(t,r,s,n,i,a)=>(e._sqlite3_create_collation_v2=ta.ue)(t,r,s,n,i,a),e._sqlite3_create_collation16=(t,r,s,n,i)=>(e._sqlite3_create_collation16=ta.ve)(t,r,s,n,i),e._sqlite3_collation_needed=(t,r,s)=>(e._sqlite3_collation_needed=ta.we)(t,r,s),e._sqlite3_collation_needed16=(t,r,s)=>(e._sqlite3_collation_needed16=ta.xe)(t,r,s),e._sqlite3_get_clientdata=(t,r)=>(e._sqlite3_get_clientdata=ta.ye)(t,r),e._sqlite3_set_clientdata=(t,r,s,n)=>(e._sqlite3_set_clientdata=ta.ze)(t,r,s,n),e._sqlite3_get_autocommit=t=>(e._sqlite3_get_autocommit=ta.Ae)(t),e._sqlite3_table_column_metadata=(t,r,s,n,i,a,o,l,_)=>(e._sqlite3_table_column_metadata=ta.Be)(t,r,s,n,i,a,o,l,_),e._sqlite3_sleep=t=>(e._sqlite3_sleep=ta.Ce)(t),e._sqlite3_extended_result_codes=(t,r)=>(e._sqlite3_extended_result_codes=ta.De)(t,r),e._sqlite3_file_control=(t,r,s,n)=>(e._sqlite3_file_control=ta.Ee)(t,r,s,n),e._sqlite3_test_control=(t,r)=>(e._sqlite3_test_control=ta.Fe)(t,r),e._sqlite3_create_filename=(t,r,s,n,i)=>(e._sqlite3_create_filename=ta.Ge)(t,r,s,n,i),e._sqlite3_free_filename=t=>(e._sqlite3_free_filename=ta.He)(t),e._sqlite3_uri_parameter=(t,r)=>(e._sqlite3_uri_parameter=ta.Ie)(t,r),e._sqlite3_uri_key=(t,r)=>(e._sqlite3_uri_key=ta.Je)(t,r),e._sqlite3_uri_boolean=(t,r,s)=>(e._sqlite3_uri_boolean=ta.Ke)(t,r,s),e._sqlite3_uri_int64=(t,r,s,n)=>(e._sqlite3_uri_int64=ta.Le)(t,r,s,n),e._sqlite3_filename_database=t=>(e._sqlite3_filename_database=ta.Me)(t),e._sqlite3_filename_journal=t=>(e._sqlite3_filename_journal=ta.Ne)(t),e._sqlite3_filename_wal=t=>(e._sqlite3_filename_wal=ta.Oe)(t),e._sqlite3_db_name=(t,r)=>(e._sqlite3_db_name=ta.Pe)(t,r),e._sqlite3_db_filename=(t,r)=>(e._sqlite3_db_filename=ta.Qe)(t,r),e._sqlite3_db_readonly=(t,r)=>(e._sqlite3_db_readonly=ta.Re)(t,r),e._sqlite3_compileoption_used=t=>(e._sqlite3_compileoption_used=ta.Se)(t),e._sqlite3_compileoption_get=t=>(e._sqlite3_compileoption_get=ta.Te)(t),e._sqlite3_sourceid=()=>(e._sqlite3_sourceid=ta.Ue)(),e._malloc=t=>(to=e._malloc=ta.Ve)(t)),tl=e._free=t=>(tl=e._free=ta.We)(t),t_=(e._RegisterExtensionFunctions=t=>(e._RegisterExtensionFunctions=ta.Xe)(t),e._getSqliteFree=()=>(e._getSqliteFree=ta.Ye)(),e._main=(t,r)=>(t_=e._main=ta.Ze)(t,r)),tc=(e._libauthorizer_set_authorizer=(t,r,s)=>(e._libauthorizer_set_authorizer=ta._e)(t,r,s),e._libfunction_create_function=(t,r,s,n,i,a,o,l)=>(e._libfunction_create_function=ta.$e)(t,r,s,n,i,a,o,l),e._libhook_commit_hook=(t,r,s)=>(e._libhook_commit_hook=ta.af)(t,r,s),e._libhook_update_hook=(t,r,s)=>(e._libhook_update_hook=ta.bf)(t,r,s),e._libprogress_progress_handler=(t,r,s,n)=>(e._libprogress_progress_handler=ta.cf)(t,r,s,n),e._libvfs_vfs_register=(t,r,s,n,i,a)=>(e._libvfs_vfs_register=ta.df)(t,r,s,n,i,a),(e,t)=>(tc=ta.ff)(e,t)),tu=()=>(tu=ta.gf)(),td=e=>(td=ta.hf)(e),th=e=>(th=ta.jf)(e),tf=()=>(tf=ta.kf)(),tp=e=>(tp=ta.lf)(e),tm=()=>(tm=ta.mf)(),tb=e=>(tb=ta.nf)(e),tg=()=>(tg=ta.of)();function tw(){if(!(Z>0)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;){var t;t=e.preRun.shift(),X.unshift(t)}eo(X),Z>0||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),r()},1)):r())}function r(){if(!j&&(j=!0,e.calledRun=!0,!V)){if(e.noFSInit||eF.init.initialized||eF.init(),eF.ignorePermissions=!1,eq.init(),eo(K),eo(Y),p(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),tv&&function(){var e=t_;try{var t=e(0,0);e2(t,!0)}catch(e){return e6(e)}}(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t;t=e.postRun.shift(),J.unshift(t)}eo(J)}}}if(e._sqlite3_version=3232,e.getTempRet0=e=>tu(),e.ccall=ts,e.cwrap=(e,t,r,s)=>{var n=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&n&&!s?tt(e):(...n)=>ts(e,t,r,n,s)},e.addFunction=(e,t)=>{var r=(e=>{if(!M){M=new WeakMap;var t=L.length;if(M)for(var r=0;r<0+t;r++){var s=e9(r);s&&M.set(s,r)}}return M.get(e)||0})(e);if(r)return r;var s=(()=>{if(te.length)return te.pop();try{L.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return L.length-1})();try{L.set(s,e)}catch(r){if(!(r instanceof TypeError))throw r;var n=((e,t)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function((e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},r={parameters:[],results:"v"==e[0]?[]:[t[e[0]]]},s=1;s<e.length;++s)r.parameters.push(t[e[s]]);return r})(t),e);var r=[1],s=t.slice(0,1),n=t.slice(1),i={i:127,p:127,j:126,f:125,d:124,e:111};r.push(96),e7(n.length,r);for(var a=0;a<n.length;++a)r.push(i[n[a]]);"v"==s?r.push(0):r.push(1,i[s]);var o=[0,97,115,109,1,0,0,0,1];e7(r.length,o),o.push(...r),o.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var l=new WebAssembly.Module(new Uint8Array(o));return new WebAssembly.Instance(l,{e:{f:e}}).exports.f})(e,t);L.set(s,n)}return M.set(e,s),s},e.setValue=ec,e.getValue=el,e.UTF8ToString=ef,e.stringToUTF8=eI,e.lengthBytesUTF8=ew,e.intArrayFromString=ey,e.intArrayToString=function(e){for(var t=[],r=0;r<e.length;r++){var s=e[r];s>255&&(s&=255),t.push(String.fromCharCode(s))}return t.join("")},e.AsciiToString=e=>{for(var t="";;){var r=E[e++];if(!r)return t;t+=String.fromCharCode(r)}},e.UTF16ToString=(e,t)=>{for(var r=e,s=r>>1,n=s+t/2;!(s>=n)&&S[s];)++s;if((r=s<<1)-e>32&&tn)return tn.decode(E.subarray(e,r));for(var i="",a=0;!(a>=t/2);++a){var o=x[e+2*a>>1];if(0==o)break;i+=String.fromCharCode(o)}return i},e.stringToUTF16=(e,t,r)=>{if((r??=0x7fffffff)<2)return 0;for(var s=t,n=(r-=2)<2*e.length?r/2:e.length,i=0;i<n;++i){var a=e.charCodeAt(i);x[t>>1]=a,t+=2}return x[t>>1]=0,t-s},e.UTF32ToString=(e,t)=>{for(var r=0,s="";!(r>=t/4);){var n=F[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var i=n-65536;s+=String.fromCharCode(55296|i>>10,56320|1023&i)}else s+=String.fromCharCode(n)}return s},e.stringToUTF32=(e,t,r)=>{if((r??=0x7fffffff)<4)return 0;for(var s=t,n=s+r-4,i=0;i<e.length;++i){var a=e.charCodeAt(i);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),F[t>>2]=a,(t+=4)+4>n)break}return F[t>>2]=0,t-s},e.writeArrayToMemory=tr,ee=function e(){j||tw(),j||(ee=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();var tv=!0;return e.noInitialRun&&(tv=!1),tw(),t=Object.getPrototypeOf(async function(){}).constructor,r=0,e.set_authorizer=function(s,n,i){r&&(e.deleteCallback(r),e._sqlite3_free(r),r=0),ec(r=e._sqlite3_malloc(4),+(n instanceof t),"i32");let a=ts("libauthorizer_set_authorizer","number",["number","number","number"],[s,+!!n,r]);return!a&&n&&e.setCallback(r,(e,t,r,s,a,o)=>n(i,t,r,s,a,o)),a},s=Object.getPrototypeOf(async function(){}).constructor,n=["xFunc","xStep","xFinal"],i=new Map,e.create_function=function(t,r,a,o,l,_,c,u){let d=e._sqlite3_malloc(4),h={xFunc:_,xStep:c,xFinal:u};ec(d,n.reduce((e,t,r)=>h[t]instanceof s?e|1<<r:e,0),"i32");let f=ts("libfunction_create_function","number",["number","string","number","number","number","number","number","number"],[t,r,a,o,d,+!!_,+!!c,+!!u]);if(!f){if(i.has(r)){let t=i.get(r);e.deleteCallback(t)}i.set(r,d),e.setCallback(d,{xFunc:_,xStep:c,xFinal:u})}return f},a=Object.getPrototypeOf(async function(){}).constructor,o=0,e.update_hook=function(t,r){o&&(e.deleteCallback(o),e._sqlite3_free(o),o=0),ec(o=e._sqlite3_malloc(4),+(r instanceof a),"i32"),ts("libhook_update_hook","void",["number","number","number"],[t,+!!r,o]),r&&e.setCallback(o,(e,t,s,n,i,a)=>r(t,s,n,i,a))},l=Object.getPrototypeOf(async function(){}).constructor,_=0,e.commit_hook=function(t,r){_&&(e.deleteCallback(_),e._sqlite3_free(_),_=0),ec(_=e._sqlite3_malloc(4),+(r instanceof l),"i32"),ts("libhook_commit_hook","void",["number","number","number"],[t,+!!r,_]),r&&e.setCallback(_,e=>r())},u=Object.getPrototypeOf(async function(){}).constructor,d=0,e.progress_handler=function(t,r,s,n){d&&(e.deleteCallback(d),e._sqlite3_free(d),d=0),ec(d=e._sqlite3_malloc(4),+(s instanceof u),"i32"),ts("libprogress_progress_handler","number",["number","number","number","number"],[t,r,+!!s,d]),s&&e.setCallback(d,e=>s(n))},h=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"],f=new Map,e.vfs_register=function(t,r){let s=0,n=0;h.forEach((e,r)=>{t[e]&&(s|=1<<r,t.hasAsyncMethod(e)&&(n|=1<<r))});let i=e._sqlite3_malloc(4);try{let a=ts("libvfs_vfs_register","number",["string","number","number","number","number","number"],[t.name,t.mxPathname,s,n,+!!r,i]);if(!a){if(f.has(t.name)){let r=f.get(t.name);e.deleteCallback(r)}let r=el(i,"*");f.set(t.name,r),e.setCallback(r,t)}return a}finally{e._sqlite3_free(i)}},C}),ev=(u=import.meta.url,function(e={}){let t,r,s,n,i,a,o,l,_,c,d,h,f;var p,m,b,g,w,v,y,q,k,E,x,S,F,A,T,P,I,D,z,L,M,j,C=new Promise((e,t)=>{p=e,m=t}),R="object"==typeof window,H="function"==typeof importScripts;"object"==typeof process&&"object"==typeof process.versions&&process.versions.node;var O=Object.assign({},e),U="./this.program",N=(e,t)=>{throw t},B="";(R||H)&&(H?B=self.location.href:"u">typeof document&&document.currentScript&&(B=document.currentScript.src),u&&(B=u),B=B.startsWith("blob:")?"":B.substr(0,B.replace(/[?#].*/,"").lastIndexOf("/")+1),b=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},H&&(w=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),g=(e,t,r)=>{fetch(e,{credentials:"same-origin"}).then(e=>e.ok?e.arrayBuffer():Promise.reject(Error(e.status+" : "+e.url))).then(t,r)});var $=e.print||console.log.bind(console),W=e.printErr||console.error.bind(console);Object.assign(e,O),O=null,e.arguments&&e.arguments,e.thisProgram&&(U=e.thisProgram),e.quit&&(N=e.quit),e.wasmBinary&&(v=e.wasmBinary);var V=!1;function G(){var t=y.buffer;e.HEAP8=k=new Int8Array(t),e.HEAP16=x=new Int16Array(t),e.HEAPU8=E=new Uint8Array(t),e.HEAPU16=S=new Uint16Array(t),e.HEAP32=F=new Int32Array(t),e.HEAPU32=A=new Uint32Array(t),e.HEAPF32=T=new Float32Array(t),e.HEAPF64=P=new Float64Array(t)}var X=[],K=[],Y=[],J=[],Z=0,Q=null,ee=null;function et(t){Z++,e.monitorRunDependencies?.(Z)}function er(t){if(Z--,e.monitorRunDependencies?.(Z),0==Z&&(null!==Q&&(clearInterval(Q),Q=null),ee)){var r=ee;ee=null,r()}}function es(t){e.onAbort?.(t),W(t="Aborted("+t+")"),V=!0,q=1,t+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(t);throw m(r),r}function en(e){if(e==I&&v)return new Uint8Array(v);if(w)return w(e);throw"both async and sync fetching of the wasm failed"}function ei(e,t,r){return(!v?new Promise((t,r)=>{g(e,e=>t(new Uint8Array(e)),s=>{try{t(en(e))}catch(e){r(e)}})}):Promise.resolve().then(()=>en(e))).then(e=>WebAssembly.instantiate(e,t)).then(r,e=>{W(`failed to asynchronously prepare wasm: ${e}`),es(e)})}function ea(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var eo=t=>{for(;t.length>0;)t.shift()(e)};function el(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return k[e];case"i16":return x[e>>1];case"i32":return F[e>>2];case"i64":es("to do getValue(i64) use WASM_BIGINT");case"float":return T[e>>2];case"double":return P[e>>3];case"*":return A[e>>2];default:es(`invalid type for getValue: ${t}`)}}var e_=e.noExitRuntime||!0;function ec(e,t,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":case"i8":k[e]=t;break;case"i16":x[e>>1]=t;break;case"i32":F[e>>2]=t;break;case"i64":es("to do setValue(i64) use WASM_BIGINT");case"float":T[e>>2]=t;break;case"double":P[e>>3]=t;break;case"*":A[e>>2]=t;break;default:es(`invalid type for setValue: ${r}`)}}var eu=()=>eQ(),ed="u">typeof TextDecoder?new TextDecoder("utf8"):void 0,eh=(e,t,r)=>{for(var s=t+r,n=t;e[n]&&!(n>=s);)++n;if(n-t>16&&e.buffer&&ed)return ed.decode(e.subarray(t,n));for(var i="";t<n;){var a=e[t++];if(!(128&a)){i+=String.fromCharCode(a);continue}var o=63&e[t++];if((224&a)==192){i+=String.fromCharCode((31&a)<<6|o);continue}var l=63&e[t++];if((a=(240&a)==224?(15&a)<<12|o<<6|l:(7&a)<<18|o<<12|l<<6|63&e[t++])<65536)i+=String.fromCharCode(a);else{var _=a-65536;i+=String.fromCharCode(55296|_>>10,56320|1023&_)}}return i},ef=(e,t)=>e?eh(E,e,t):"",ep={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,s=e.length-1;s>=0;s--){var n=e[s];"."===n?e.splice(s,1):".."===n?(e.splice(s,1),r++):r&&(e.splice(s,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ep.isAbs(e),r="/"===e.substr(-1);return(e=ep.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ep.splitPath(e),r=t[0],s=t[1];return r||s?(s&&(s=s.substr(0,s.length-1)),r+s):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ep.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return -1===t?e:e.substr(t+1)},join:(...e)=>ep.normalize(e.join("/")),join2:(e,t)=>ep.normalize(e+"/"+t)},em=e=>(em=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);es("initRandomDevice")})())(e),eb={resolve:(...e)=>{for(var t="",r=!1,s=e.length-1;s>=-1&&!r;s--){var n=s>=0?e[s]:eF.cwd();if("string"!=typeof n)throw TypeError("Arguments to path.resolve must be strings");if(!n)return"";t=n+"/"+t,r=ep.isAbs(n)}return t=ep.normalizeArray(t.split("/").filter(e=>!!e),!r).join("/"),(r?"/":"")+t||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=eb.resolve(e).substr(1),t=eb.resolve(t).substr(1);for(var s=r(e.split("/")),n=r(t.split("/")),i=Math.min(s.length,n.length),a=i,o=0;o<i;o++)if(s[o]!==n[o]){a=o;break}for(var l=[],o=a;o<s.length;o++)l.push("..");return(l=l.concat(n.slice(a))).join("/")}},eg=[],ew=e=>{for(var t=0,r=0;r<e.length;++r){var s=e.charCodeAt(r);s<=127?t++:s<=2047?t+=2:s>=55296&&s<=57343?(t+=4,++r):t+=3}return t},ev=(e,t,r,s)=>{if(!(s>0))return 0;for(var n=r,i=r+s-1,a=0;a<e.length;++a){var o=e.charCodeAt(a);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++a)),o<=127){if(r>=i)break;t[r++]=o}else if(o<=2047){if(r+1>=i)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=i)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=i)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-n};function ey(e,t,r){var s=Array(r>0?r:ew(e)+1),n=ev(e,s,0,s.length);return t&&(s.length=n),s}var eq={ttys:[],init(){},shutdown(){},register(e,t){eq.ttys[e]={input:[],output:[],ops:t},eF.registerDevice(e,eq.stream_ops)},stream_ops:{open(e){var t=eq.ttys[e.node.rdev];if(!t)throw new eF.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,s,n){if(!e.tty||!e.tty.ops.get_char)throw new eF.ErrnoError(60);for(var i,a=0,o=0;o<s;o++){try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new eF.ErrnoError(29)}if(void 0===i&&0===a)throw new eF.ErrnoError(6);if(null==i)break;a++,t[r+o]=i}return a&&(e.node.timestamp=Date.now()),a},write(e,t,r,s,n){if(!e.tty||!e.tty.ops.put_char)throw new eF.ErrnoError(60);try{for(var i=0;i<s;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new eF.ErrnoError(29)}return s&&(e.node.timestamp=Date.now()),i}},default_tty_ops:{get_char:e=>(()=>{if(!eg.length){var e=null;if("u">typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;eg=ey(e,!0)}return eg.shift()})(),put_char(e,t){null===t||10===t?($(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&($(eh(e.output,0)),e.output=[])},ioctl_tcgets:e=>({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)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(W(eh(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(W(eh(e.output,0)),e.output=[])}}},ek=e=>{var t,r=eK(65536,e=65536*Math.ceil(e/65536));return r?(t=e,E.fill(0,r,r+t),r):0},eE={ops_table:null,mount:e=>eE.createNode(null,"/",16895,0),createNode(e,t,r,s){if(eF.isBlkdev(r)||eF.isFIFO(r))throw new eF.ErrnoError(63);eE.ops_table||={dir:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,lookup:eE.node_ops.lookup,mknod:eE.node_ops.mknod,rename:eE.node_ops.rename,unlink:eE.node_ops.unlink,rmdir:eE.node_ops.rmdir,readdir:eE.node_ops.readdir,symlink:eE.node_ops.symlink},stream:{llseek:eE.stream_ops.llseek}},file:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:{llseek:eE.stream_ops.llseek,read:eE.stream_ops.read,write:eE.stream_ops.write,allocate:eE.stream_ops.allocate,mmap:eE.stream_ops.mmap,msync:eE.stream_ops.msync}},link:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr,readlink:eE.node_ops.readlink},stream:{}},chrdev:{node:{getattr:eE.node_ops.getattr,setattr:eE.node_ops.setattr},stream:eF.chrdev_stream_ops}};var n=eF.createNode(e,t,r,s);return eF.isDir(n.mode)?(n.node_ops=eE.ops_table.dir.node,n.stream_ops=eE.ops_table.dir.stream,n.contents={}):eF.isFile(n.mode)?(n.node_ops=eE.ops_table.file.node,n.stream_ops=eE.ops_table.file.stream,n.usedBytes=0,n.contents=null):eF.isLink(n.mode)?(n.node_ops=eE.ops_table.link.node,n.stream_ops=eE.ops_table.link.stream):eF.isChrdev(n.mode)&&(n.node_ops=eE.ops_table.chrdev.node,n.stream_ops=eE.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>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)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var s=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(s.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)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=eF.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,eF.isDir(e.mode)?t.size=4096:eF.isFile(e.mode)?t.size=e.usedBytes:eF.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&eE.resizeFileStorage(e,t.size)},lookup(e,t){throw eF.genericErrors[44]},mknod:(e,t,r,s)=>eE.createNode(e,t,r,s),rename(e,t,r){if(eF.isDir(e.mode)){var s;try{s=eF.lookupNode(t,r)}catch(e){}if(s)for(var n in s.contents)throw new eF.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=eF.lookupNode(e,t);for(var s in r.contents)throw new eF.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r of Object.keys(e.contents))t.push(r);return t},symlink(e,t,r){var s=eE.createNode(e,t,41471,0);return s.link=r,s},readlink(e){if(!eF.isLink(e.mode))throw new eF.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,s,n){var i=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,s);if(a>8&&i.subarray)t.set(i.subarray(n,n+a),r);else for(var o=0;o<a;o++)t[r+o]=i[n+o];return a},write(e,t,r,s,n,i){if(t.buffer===k.buffer&&(i=!1),!s)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(i)return a.contents=t.subarray(r,r+s),a.usedBytes=s,s;else if(0===a.usedBytes&&0===n)return a.contents=t.slice(r,r+s),a.usedBytes=s,s;else if(n+s<=a.usedBytes)return a.contents.set(t.subarray(r,r+s),n),s}if(eE.expandFileStorage(a,n+s),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+s),n);else for(var o=0;o<s;o++)a.contents[n+o]=t[r+o];return a.usedBytes=Math.max(a.usedBytes,n+s),s},llseek(e,t,r){var s=t;if(1===r?s+=e.position:2===r&&eF.isFile(e.node.mode)&&(s+=e.node.usedBytes),s<0)throw new eF.ErrnoError(28);return s},allocate(e,t,r){eE.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,s,n){if(!eF.isFile(e.node.mode))throw new eF.ErrnoError(43);var i,a,o=e.node.contents;if(2&n||o.buffer!==k.buffer){if((r>0||r+t<o.length)&&(o=o.subarray?o.subarray(r,r+t):Array.prototype.slice.call(o,r,r+t)),a=!0,!(i=ek(t)))throw new eF.ErrnoError(48);k.set(o,i)}else a=!1,i=o.byteOffset;return{ptr:i,allocated:a}},msync:(e,t,r,s,n)=>(eE.stream_ops.write(e,t,0,s,r,!1),0)}},ex=e.preloadPlugins||[],eS=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},eF={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return(2097155&this.flags)!=1}get isWrite(){return(2097155&this.flags)!=0}get isAppend(){return 1024&this.flags}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,s){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=eF.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=s,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return eF.isDir(this.mode)}get isDevice(){return eF.isChrdev(this.mode)}},lookupPath(e,t={}){if(!(e=eb.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new eF.ErrnoError(32);for(var r=e.split("/").filter(e=>!!e),s=eF.root,n="/",i=0;i<r.length;i++){var a=i===r.length-1;if(a&&t.parent)break;if(s=eF.lookupNode(s,r[i]),n=ep.join2(n,r[i]),eF.isMountpoint(s)&&(!a||a&&t.follow_mount)&&(s=s.mounted.root),!a||t.follow)for(var o=0;eF.isLink(s.mode);){var l=eF.readlink(n);if(n=eb.resolve(ep.dirname(n),l),s=eF.lookupPath(n,{recurse_count:t.recurse_count+1}).node,o++>40)throw new eF.ErrnoError(32)}}return{path:n,node:s}},getPath(e){for(var t;;){if(eF.isRoot(e)){var r=e.mount.mountpoint;if(!t)return r;return"/"!==r[r.length-1]?`${r}/${t}`:r+t}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,s=0;s<t.length;s++)r=(r<<5)-r+t.charCodeAt(s)|0;return(e+r>>>0)%eF.nameTable.length},hashAddNode(e){var t=eF.hashName(e.parent.id,e.name);e.name_next=eF.nameTable[t],eF.nameTable[t]=e},hashRemoveNode(e){var t=eF.hashName(e.parent.id,e.name);if(eF.nameTable[t]===e)eF.nameTable[t]=e.name_next;else for(var r=eF.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=eF.mayLookup(e);if(r)throw new eF.ErrnoError(r);for(var s=eF.hashName(e.id,t),n=eF.nameTable[s];n;n=n.name_next){var i=n.name;if(n.parent.id===e.id&&i===t)return n}return eF.lookup(e,t)},createNode(e,t,r,s){var n=new eF.FSNode(e,t,r,s);return eF.hashAddNode(n),n},destroyNode(e){eF.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>(61440&e)==32768,isDir:e=>(61440&e)==16384,isLink:e=>(61440&e)==40960,isChrdev:e=>(61440&e)==8192,isBlkdev:e=>(61440&e)==24576,isFIFO:e=>(61440&e)==4096,isSocket:e=>(49152&e)==49152,flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>eF.ignorePermissions?0:t.includes("r")&&!(292&e.mode)||t.includes("w")&&!(146&e.mode)||t.includes("x")&&!(73&e.mode)?2:0,mayLookup(e){if(!eF.isDir(e.mode))return 54;var t=eF.nodePermissions(e,"x");return t||2*!e.node_ops.lookup},mayCreate(e,t){try{return eF.lookupNode(e,t),20}catch(e){}return eF.nodePermissions(e,"wx")},mayDelete(e,t,r){try{s=eF.lookupNode(e,t)}catch(e){return e.errno}var s,n=eF.nodePermissions(e,"wx");if(n)return n;if(r){if(!eF.isDir(s.mode))return 54;if(eF.isRoot(s)||eF.getPath(s)===eF.cwd())return 10}else if(eF.isDir(s.mode))return 31;return 0},mayOpen:(e,t)=>e?eF.isLink(e.mode)?32:eF.isDir(e.mode)&&("r"!==eF.flagsToPermissionString(t)||512&t)?31:eF.nodePermissions(e,eF.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=eF.MAX_OPEN_FDS;e++)if(!eF.streams[e])return e;throw new eF.ErrnoError(33)},getStreamChecked(e){var t=eF.getStream(e);if(!t)throw new eF.ErrnoError(8);return t},getStream:e=>eF.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new eF.FSStream,e),-1==t&&(t=eF.nextfd()),e.fd=t,eF.streams[t]=e,e),closeStream(e){eF.streams[e]=null},dupStream(e,t=-1){var r=eF.createStream(e,t);return r.stream_ops?.dup?.(r),r},chrdev_stream_ops:{open(e){var t=eF.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new eF.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){eF.devices[e]={stream_ops:t}},getDevice:e=>eF.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var s=r.pop();t.push(s),r.push(...s.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),eF.syncFSRequests++,eF.syncFSRequests>1&&W(`warning: ${eF.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=eF.getMounts(eF.root.mount),s=0;function n(e){return eF.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,n(e));++s>=r.length&&n(null)}r.forEach(t=>{if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)})},mount(e,t,r){var s,n="/"===r,i=!r;if(n&&eF.root)throw new eF.ErrnoError(10);if(!n&&!i){var a=eF.lookupPath(r,{follow_mount:!1});if(r=a.path,s=a.node,eF.isMountpoint(s))throw new eF.ErrnoError(10);if(!eF.isDir(s.mode))throw new eF.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,n?eF.root=l:s&&(s.mounted=o,s.mount&&s.mount.mounts.push(o)),l},unmount(e){var t=eF.lookupPath(e,{follow_mount:!1});if(!eF.isMountpoint(t.node))throw new eF.ErrnoError(28);var r=t.node,s=r.mounted,n=eF.getMounts(s);Object.keys(eF.nameTable).forEach(e=>{for(var t=eF.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&eF.destroyNode(t),t=r}}),r.mounted=null;var i=r.mount.mounts.indexOf(s);r.mount.mounts.splice(i,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var s=eF.lookupPath(e,{parent:!0}).node,n=ep.basename(e);if(!n||"."===n||".."===n)throw new eF.ErrnoError(28);var i=eF.mayCreate(s,n);if(i)throw new eF.ErrnoError(i);if(!s.node_ops.mknod)throw new eF.ErrnoError(63);return s.node_ops.mknod(s,n,t,r)},create:(e,t)=>(t=(void 0!==t?t:438)&4095|32768,eF.mknod(e,t,0)),mkdir:(e,t)=>(t=(void 0!==t?t:511)&1023|16384,eF.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),s="",n=0;n<r.length;++n)if(r[n]){s+="/"+r[n];try{eF.mkdir(s,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,eF.mknod(e,t,r)),symlink(e,t){if(!eb.resolve(e))throw new eF.ErrnoError(44);var r=eF.lookupPath(t,{parent:!0}).node;if(!r)throw new eF.ErrnoError(44);var s=ep.basename(t),n=eF.mayCreate(r,s);if(n)throw new eF.ErrnoError(n);if(!r.node_ops.symlink)throw new eF.ErrnoError(63);return r.node_ops.symlink(r,s,e)},rename(e,t){var r,s,n,i=ep.dirname(e),a=ep.dirname(t),o=ep.basename(e),l=ep.basename(t);if(r=eF.lookupPath(e,{parent:!0}).node,s=eF.lookupPath(t,{parent:!0}).node,!r||!s)throw new eF.ErrnoError(44);if(r.mount!==s.mount)throw new eF.ErrnoError(75);var _=eF.lookupNode(r,o),c=eb.relative(e,a);if("."!==c.charAt(0))throw new eF.ErrnoError(28);if("."!==(c=eb.relative(t,i)).charAt(0))throw new eF.ErrnoError(55);try{n=eF.lookupNode(s,l)}catch(e){}if(_!==n){var u=eF.isDir(_.mode),d=eF.mayDelete(r,o,u);if(d||(d=n?eF.mayDelete(s,l,u):eF.mayCreate(s,l)))throw new eF.ErrnoError(d);if(!r.node_ops.rename)throw new eF.ErrnoError(63);if(eF.isMountpoint(_)||n&&eF.isMountpoint(n))throw new eF.ErrnoError(10);if(s!==r&&(d=eF.nodePermissions(r,"w")))throw new eF.ErrnoError(d);eF.hashRemoveNode(_);try{r.node_ops.rename(_,s,l),_.parent=s}catch(e){throw e}finally{eF.hashAddNode(_)}}},rmdir(e){var t=eF.lookupPath(e,{parent:!0}).node,r=ep.basename(e),s=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!0);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.rmdir)throw new eF.ErrnoError(63);if(eF.isMountpoint(s))throw new eF.ErrnoError(10);t.node_ops.rmdir(t,r),eF.destroyNode(s)},readdir(e){var t=eF.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new eF.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=eF.lookupPath(e,{parent:!0}).node;if(!t)throw new eF.ErrnoError(44);var r=ep.basename(e),s=eF.lookupNode(t,r),n=eF.mayDelete(t,r,!1);if(n)throw new eF.ErrnoError(n);if(!t.node_ops.unlink)throw new eF.ErrnoError(63);if(eF.isMountpoint(s))throw new eF.ErrnoError(10);t.node_ops.unlink(t,r),eF.destroyNode(s)},readlink(e){var t=eF.lookupPath(e).node;if(!t)throw new eF.ErrnoError(44);if(!t.node_ops.readlink)throw new eF.ErrnoError(28);return eb.resolve(eF.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=eF.lookupPath(e,{follow:!t}).node;if(!r)throw new eF.ErrnoError(44);if(!r.node_ops.getattr)throw new eF.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>eF.stat(e,!0),chmod(e,t,r){var s;if(!(s="string"==typeof e?eF.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);s.node_ops.setattr(s,{mode:4095&t|-4096&s.mode,timestamp:Date.now()})},lchmod(e,t){eF.chmod(e,t,!0)},fchmod(e,t){var r=eF.getStreamChecked(e);eF.chmod(r.node,t)},chown(e,t,r,s){var n;if(!(n="string"==typeof e?eF.lookupPath(e,{follow:!s}).node:e).node_ops.setattr)throw new eF.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){eF.chown(e,t,r,!0)},fchown(e,t,r){var s=eF.getStreamChecked(e);eF.chown(s.node,t,r)},truncate(e,t){if(t<0)throw new eF.ErrnoError(28);if("string"==typeof e){var r;r=eF.lookupPath(e,{follow:!0}).node}else r=e;if(!r.node_ops.setattr)throw new eF.ErrnoError(63);if(eF.isDir(r.mode))throw new eF.ErrnoError(31);if(!eF.isFile(r.mode))throw new eF.ErrnoError(28);var s=eF.nodePermissions(r,"w");if(s)throw new eF.ErrnoError(s);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=eF.getStreamChecked(e);if((2097155&r.flags)==0)throw new eF.ErrnoError(28);eF.truncate(r.node,t)},utime(e,t,r){var s=eF.lookupPath(e,{follow:!0}).node;s.node_ops.setattr(s,{timestamp:Math.max(t,r)})},open(t,r,s){if(""===t)throw new eF.ErrnoError(44);if(s=64&(r="string"==typeof r?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw Error(`Unknown file open mode: ${e}`);return t})(r):r)?4095&(s=void 0===s?438:s)|32768:0,"object"==typeof t)n=t;else{t=ep.normalize(t);try{var n;n=eF.lookupPath(t,{follow:!(131072&r)}).node}catch(e){}}var i=!1;if(64&r)if(n){if(128&r)throw new eF.ErrnoError(20)}else n=eF.mknod(t,s,0),i=!0;if(!n)throw new eF.ErrnoError(44);if(eF.isChrdev(n.mode)&&(r&=-513),65536&r&&!eF.isDir(n.mode))throw new eF.ErrnoError(54);if(!i){var a=eF.mayOpen(n,r);if(a)throw new eF.ErrnoError(a)}512&r&&!i&&eF.truncate(n,0),r&=-131713;var o=eF.createStream({node:n,path:eF.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),e.logReadFiles&&!(1&r)&&(eF.readFiles||(eF.readFiles={}),t in eF.readFiles||(eF.readFiles[t]=1)),o},close(e){if(eF.isClosed(e))throw new eF.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{eF.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new eF.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new eF.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,s,n){if(s<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==1)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.read)throw new eF.ErrnoError(28);var i=void 0!==n;if(i){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var a=e.stream_ops.read(e,t,r,s,n);return i||(e.position+=a),a},write(e,t,r,s,n,i){if(s<0||n<0)throw new eF.ErrnoError(28);if(eF.isClosed(e)||(2097155&e.flags)==0)throw new eF.ErrnoError(8);if(eF.isDir(e.node.mode))throw new eF.ErrnoError(31);if(!e.stream_ops.write)throw new eF.ErrnoError(28);e.seekable&&1024&e.flags&&eF.llseek(e,0,2);var a=void 0!==n;if(a){if(!e.seekable)throw new eF.ErrnoError(70)}else n=e.position;var o=e.stream_ops.write(e,t,r,s,n,i);return a||(e.position+=o),o},allocate(e,t,r){if(eF.isClosed(e))throw new eF.ErrnoError(8);if(t<0||r<=0)throw new eF.ErrnoError(28);if((2097155&e.flags)==0)throw new eF.ErrnoError(8);if(!eF.isFile(e.node.mode)&&!eF.isDir(e.node.mode))throw new eF.ErrnoError(43);if(!e.stream_ops.allocate)throw new eF.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,s,n){if((2&s)!=0&&(2&n)==0&&(2097155&e.flags)!=2||(2097155&e.flags)==1)throw new eF.ErrnoError(2);if(!e.stream_ops.mmap)throw new eF.ErrnoError(43);return e.stream_ops.mmap(e,t,r,s,n)},msync:(e,t,r,s,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,s,n):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new eF.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw Error(`Invalid encoding type "${t.encoding}"`);var r,s=eF.open(e,t.flags),n=eF.stat(e).size,i=new Uint8Array(n);return eF.read(s,i,0,n,0),"utf8"===t.encoding?r=eh(i,0):"binary"===t.encoding&&(r=i),eF.close(s),r},writeFile(e,t,r={}){r.flags=r.flags||577;var s=eF.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(ew(t)+1),i=ev(t,n,0,n.length);eF.write(s,n,0,i,void 0,r.canOwn)}else if(ArrayBuffer.isView(t))eF.write(s,t,0,t.byteLength,void 0,r.canOwn);else throw Error("Unsupported data type");eF.close(s)},cwd:()=>eF.currentPath,chdir(e){var t=eF.lookupPath(e,{follow:!0});if(null===t.node)throw new eF.ErrnoError(44);if(!eF.isDir(t.node.mode))throw new eF.ErrnoError(54);var r=eF.nodePermissions(t.node,"x");if(r)throw new eF.ErrnoError(r);eF.currentPath=t.path},createDefaultDirectories(){eF.mkdir("/tmp"),eF.mkdir("/home"),eF.mkdir("/home/web_user")},createDefaultDevices(){eF.mkdir("/dev"),eF.registerDevice(eF.makedev(1,3),{read:()=>0,write:(e,t,r,s,n)=>s}),eF.mkdev("/dev/null",eF.makedev(1,3)),eq.register(eF.makedev(5,0),eq.default_tty_ops),eq.register(eF.makedev(6,0),eq.default_tty1_ops),eF.mkdev("/dev/tty",eF.makedev(5,0)),eF.mkdev("/dev/tty1",eF.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=em(e).byteLength),e[--t]);eF.createDevice("/dev","random",r),eF.createDevice("/dev","urandom",r),eF.mkdir("/dev/shm"),eF.mkdir("/dev/shm/tmp")},createSpecialDirectories(){eF.mkdir("/proc");var e=eF.mkdir("/proc/self");eF.mkdir("/proc/self/fd"),eF.mount({mount(){var t=eF.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=eF.getStreamChecked(+t),s={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>r.path}};return s.parent=s,s}},t}},{},"/proc/self/fd")},createStandardStreams(){e.stdin?eF.createDevice("/dev","stdin",e.stdin):eF.symlink("/dev/tty","/dev/stdin"),e.stdout?eF.createDevice("/dev","stdout",null,e.stdout):eF.symlink("/dev/tty","/dev/stdout"),e.stderr?eF.createDevice("/dev","stderr",null,e.stderr):eF.symlink("/dev/tty1","/dev/stderr"),eF.open("/dev/stdin",0),eF.open("/dev/stdout",1),eF.open("/dev/stderr",1)},staticInit(){[44].forEach(e=>{eF.genericErrors[e]=new eF.ErrnoError(e),eF.genericErrors[e].stack="<generic error, no stack>"}),eF.nameTable=Array(4096),eF.mount(eE,{},"/"),eF.createDefaultDirectories(),eF.createDefaultDevices(),eF.createSpecialDirectories(),eF.filesystems={MEMFS:eE}},init(t,r,s){eF.init.initialized=!0,e.stdin=t||e.stdin,e.stdout=r||e.stdout,e.stderr=s||e.stderr,eF.createStandardStreams()},quit(){eF.init.initialized=!1;for(var e=0;e<eF.streams.length;e++){var t=eF.streams[e];t&&eF.close(t)}},findObject(e,t){var r=eF.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{var r=eF.lookupPath(e,{follow:!t});e=r.path}catch(e){}var s={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var r=eF.lookupPath(e,{parent:!0});s.parentExists=!0,s.parentPath=r.path,s.parentObject=r.node,s.name=ep.basename(e),r=eF.lookupPath(e,{follow:!t}),s.exists=!0,s.path=r.path,s.object=r.node,s.name=r.node.name,s.isRoot="/"===r.path}catch(e){s.error=e.errno}return s},createPath(e,t,r,s){e="string"==typeof e?e:eF.getPath(e);for(var n=t.split("/").reverse();n.length;){var i=n.pop();if(i){var a=ep.join2(e,i);try{eF.mkdir(a)}catch(e){}e=a}}return a},createFile(e,t,r,s,n){var i=ep.join2("string"==typeof e?e:eF.getPath(e),t),a=eS(s,n);return eF.create(i,a)},createDataFile(e,t,r,s,n,i){var a=t;e&&(e="string"==typeof e?e:eF.getPath(e),a=t?ep.join2(e,t):e);var o=eS(s,n),l=eF.create(a,o);if(r){if("string"==typeof r){for(var _=Array(r.length),c=0,u=r.length;c<u;++c)_[c]=r.charCodeAt(c);r=_}eF.chmod(l,146|o);var d=eF.open(l,577);eF.write(d,r,0,r.length,0,i),eF.close(d),eF.chmod(l,o)}},createDevice(e,t,r,s){var n=ep.join2("string"==typeof e?e:eF.getPath(e),t),i=eS(!!r,!!s);eF.createDevice.major||(eF.createDevice.major=64);var a=eF.makedev(eF.createDevice.major++,0);return eF.registerDevice(a,{open(e){e.seekable=!1},close(e){s?.buffer?.length&&s(10)},read(e,t,s,n,i){for(var a,o=0,l=0;l<n;l++){try{a=r()}catch(e){throw new eF.ErrnoError(29)}if(void 0===a&&0===o)throw new eF.ErrnoError(6);if(null==a)break;o++,t[s+l]=a}return o&&(e.node.timestamp=Date.now()),o},write(e,t,r,n,i){for(var a=0;a<n;a++)try{s(t[r+a])}catch(e){throw new eF.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}}),eF.mkdev(n,i,a)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("u">typeof XMLHttpRequest)throw Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(b)try{e.contents=ey(b(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new eF.ErrnoError(29)}else throw Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile(e,t,r,s,n){if("u">typeof XMLHttpRequest){if(!H)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i={isDevice:!1,contents:new class{constructor(){this.lengthKnown=!1,this.chunks=[]}get(e){if(!(e>this.length-1)&&!(e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e,t=new XMLHttpRequest;if(t.open("HEAD",r,!1),t.send(null),!(t.status>=200&&t.status<300||304===t.status))throw Error("Couldn't load "+r+". Status: "+t.status);var s=Number(t.getResponseHeader("Content-length")),n=(e=t.getResponseHeader("Accept-Ranges"))&&"bytes"===e,i=(e=t.getResponseHeader("Content-Encoding"))&&"gzip"===e,a=1048576;n||(a=s);var o=this;o.setDataGetter(e=>{var t=e*a,n=(e+1)*a-1;if(n=Math.min(n,s-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>s-1)throw Error("only "+s+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),s!==a&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ey(n.responseText||"",!0)})(t,n)),void 0===o.chunks[e])throw Error("doXHR failed!");return o.chunks[e]}),(i||!s)&&(a=s=1,a=s=this.getter(0).length,$("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=s,this._chunkSize=a,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}}}else var i={isDevice:!1,url:r};var a=eF.createFile(e,t,i,s,n);i.contents?a.contents=i.contents:i.url&&(a.contents=null,a.url=i.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var o={};function l(e,t,r,s,n){var i=e.node.contents;if(n>=i.length)return 0;var a=Math.min(i.length-n,s);if(i.slice)for(var o=0;o<a;o++)t[r+o]=i[n+o];else for(var o=0;o<a;o++)t[r+o]=i.get(n+o);return a}return Object.keys(a.stream_ops).forEach(e=>{var t=a.stream_ops[e];o[e]=(...e)=>(eF.forceLoadFile(a),t(...e))}),o.read=(e,t,r,s,n)=>(eF.forceLoadFile(a),l(e,t,r,s,n)),o.mmap=(e,t,r,s,n)=>{eF.forceLoadFile(a);var i=ek(t);if(!i)throw new eF.ErrnoError(48);return l(e,k,i,t,r),{ptr:i,allocated:!0}},a.stream_ops=o,a}},eA={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ep.isAbs(t))return t;if(-100===e)s=eF.cwd();else{var s;s=eA.getStreamFromFD(e).path}if(0==t.length){if(!r)throw new eF.ErrnoError(44);return s}return ep.join2(s,t)},doStat(e,t,r){var s=e(t);F[r>>2]=s.dev,F[r+4>>2]=s.mode,A[r+8>>2]=s.nlink,F[r+12>>2]=s.uid,F[r+16>>2]=s.gid,F[r+20>>2]=s.rdev,z=[s.size>>>0,+Math.abs(D=s.size)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+24>>2]=z[0],F[r+28>>2]=z[1],F[r+32>>2]=4096,F[r+36>>2]=s.blocks;var n=s.atime.getTime(),i=s.mtime.getTime(),a=s.ctime.getTime();return z=[Math.floor(n/1e3)>>>0,+Math.abs(D=Math.floor(n/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+40>>2]=z[0],F[r+44>>2]=z[1],A[r+48>>2]=n%1e3*1e3,z=[Math.floor(i/1e3)>>>0,+Math.abs(D=Math.floor(i/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+56>>2]=z[0],F[r+60>>2]=z[1],A[r+64>>2]=i%1e3*1e3,z=[Math.floor(a/1e3)>>>0,+Math.abs(D=Math.floor(a/1e3))>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+72>>2]=z[0],F[r+76>>2]=z[1],A[r+80>>2]=a%1e3*1e3,z=[s.ino>>>0,+Math.abs(D=s.ino)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0],F[r+88>>2]=z[0],F[r+92>>2]=z[1],0},doMsync(e,t,r,s,n){if(!eF.isFile(t.node.mode))throw new eF.ErrnoError(43);if(2&s)return 0;var i=E.slice(e,e+r);eF.msync(t,i,n,r,s)},getStreamFromFD:e=>eF.getStreamChecked(e),varargs:void 0,getStr:e=>ef(e)};function eT(){var e=F[eA.varargs>>2];return eA.varargs+=4,e}var eP=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+0x100000000*t:0/0,eI=(e,t,r)=>ev(e,E,t,r),eD=e=>A[e>>2]+0x100000000*F[e+4>>2],ez=[0,31,60,91,121,152,182,213,244,274,305,335],eL=[0,31,59,90,120,151,181,212,243,273,304,334],eM=e=>{var t=(e-y.buffer.byteLength+65535)/65536;try{return y.grow(t),G(),1}catch(e){}},ej={},eC=()=>{if(!eC.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:U||"./this.program"};for(var t in ej)void 0===ej[t]?delete e[t]:e[t]=ej[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);eC.strings=r}return eC.strings},eR=function(){let t="object"==typeof Asyncify?Asyncify.handleAsync.bind(Asyncify):null;e.handleAsync=t;let r=new Map;e.setCallback=(e,t)=>r.set(e,t),e.getCallback=e=>r.get(e),e.deleteCallback=e=>r.delete(e),eR=function(e,s,...n){let i=r.get(s),a=null,o="function"==typeof i?i:i[a=ef(n.shift())];if(e){if(t)return t(()=>o.apply(i,n));throw Error("Synchronous WebAssembly cannot call async function")}let l=o.apply(i,n);if("function"==typeof l?.then)throw console.error("unexpected Promise",o),Error(`${a} unexpectedly returned a Promise`);return l}},eH=(e,t)=>{e<128?t.push(e):t.push(e%128|128,e>>7)},eO=e=>L.get(e),eU=[],eN=t=>e["_"+t],eB=(e,t)=>{k.set(e,t)},e$=(e,t,r,s,n)=>{var i={string:e=>{var t,r,s,n=0;return null!=e&&0!==e&&(r=ew(t=e)+1,eI(t,s=eZ(r),r),n=s),n},array:e=>{let t;var r=(t=e.length,eZ(t));return eB(e,r),r}},a=eN(e),o=[],l=0;if(s)for(var _=0;_<s.length;_++){var c=i[r[_]];c?(0===l&&(l=eu()),o[_]=c(s[_])):o[_]=s[_]}var u=a(...o);return function(e){return 0!==l&&eJ(l),"string"===t?ef(e):"boolean"===t?!!e:e}(u)},eW="u">typeof TextDecoder?new TextDecoder("utf-16le"):void 0;eF.createPreloadedFile=(e,t,r,s,n,i,a,o,l,_)=>{var c=t?eb.resolve(ep.join2(e,t)):e,u=`cp ${c}`;function d(r){var d,h;function f(r){_?.(),o||eF.createDataFile(e,t,r,s,n,l),i?.(),er(u)}d=()=>{a?.(),er(u)},"u">typeof Browser&&Browser.init(),h=!1,ex.forEach(e=>{!h&&e.canHandle(c)&&(e.handle(r,c,f,d),h=!0)}),h||f(r)}if(et(u),"string"==typeof r){var h=`al ${r}`;g(r,e=>{d(new Uint8Array(e)),h&&er(h)},e=>{if(a)a();else throw`Loading data file "${r}" failed.`}),h&&et(h)}else d(r)},eF.staticInit(),eR();var eV={a:(e,t,r,s)=>{es(`Assertion failed: ${ef(e)}, at: `+[t?ef(t):"unknown filename",r,s?ef(s):"unknown function"])},Y:function(e,t){try{return e=eA.getStr(e),eF.chmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},$:function(e,t,r,s){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),-8&r)return -28;var n=eF.lookupPath(t,{follow:!0}).node;if(!n)return -44;var i="";if(4&r&&(i+="r"),2&r&&(i+="w"),1&r&&(i+="x"),i&&eF.nodePermissions(n,i))return -2;return 0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},Z:function(e,t){try{return eF.fchmod(e,t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},X:function(e,t,r){try{return eF.fchown(e,t,r),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},b:function(e,t,r){eA.varargs=r;try{var s=eA.getStreamFromFD(e);switch(t){case 0:var n=eT();if(n<0)break;for(;eF.streams[n];)n++;return eF.dupStream(s,n).fd;case 1:case 2:case 13:case 14:return 0;case 3:return s.flags;case 4:var n=eT();return s.flags|=n,0;case 12:var n=eT();return x[n+0>>1]=2,0}return -28}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},W:function(e,t){try{var r=eA.getStreamFromFD(e);return eA.doStat(eF.stat,r.path,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},y:function(e,t,r){var s=eP(t,r);try{if(isNaN(s))return 61;return eF.ftruncate(e,s),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},Q:function(e,t){try{if(0===t)return -28;var r=eF.cwd(),s=ew(r)+1;if(t<s)return -68;return eI(r,e,t),s}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},U:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.lstat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},N:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),t=ep.normalize(t),"/"===t[t.length-1]&&(t=t.substr(0,t.length-1)),eF.mkdir(t,r,0),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},S:function(e,t,r,s){try{t=eA.getStr(t);var n=256&s,i=4096&s;return s&=-6401,t=eA.calculateAt(e,t,i),eA.doStat(n?eF.lstat:eF.stat,t,r)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},M:function(e,t,r,s){eA.varargs=s;try{t=eA.getStr(t),t=eA.calculateAt(e,t);var n=s?eT():0;return eF.open(t,r,n).fd}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},K:function(e,t,r,s){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t),s<=0)return -28;var n=eF.readlink(t),i=Math.min(s,ew(n)),a=k[r+i];return eI(n,r,s+1),k[r+i]=a,i}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},J:function(e){try{return e=eA.getStr(e),eF.rmdir(e),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},V:function(e,t){try{return e=eA.getStr(e),eA.doStat(eF.stat,e,t)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},G:function(e,t,r){try{return t=eA.getStr(t),t=eA.calculateAt(e,t),0===r?eF.unlink(t):512===r?eF.rmdir(t):es("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},F:function(e,t,r,s){try{if(t=eA.getStr(t),t=eA.calculateAt(e,t,!0),r){var n=eD(r),i=F[r+8>>2];a=1e3*n+i/1e6,r+=16,n=eD(r),i=F[r+8>>2],o=1e3*n+i/1e6}else var a=Date.now(),o=a;return eF.utime(t,a,o),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},w:function(e,t,r){let s;var n=new Date(1e3*eP(e,t));F[r>>2]=n.getSeconds(),F[r+4>>2]=n.getMinutes(),F[r+8>>2]=n.getHours(),F[r+12>>2]=n.getDate(),F[r+16>>2]=n.getMonth(),F[r+20>>2]=n.getFullYear()-1900,F[r+24>>2]=n.getDay();var i=0|((s=n.getFullYear())%4==0&&(s%100!=0||s%400==0)?ez:eL)[n.getMonth()]+n.getDate()-1;F[r+28>>2]=i,F[r+36>>2]=-(60*n.getTimezoneOffset());var a=new Date(n.getFullYear(),0,1),o=new Date(n.getFullYear(),6,1).getTimezoneOffset(),l=a.getTimezoneOffset(),_=0|(o!=l&&n.getTimezoneOffset()==Math.min(l,o));F[r+32>>2]=_},u:function(e,t,r,s,n,i,a,o){var l=eP(n,i);try{if(isNaN(l))return 61;var _=eA.getStreamFromFD(s),c=eF.mmap(_,e,l,t,r),u=c.ptr;return F[a>>2]=c.allocated,A[o>>2]=u,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(e,t,r,s,n,i,a){var o=eP(i,a);try{var l=eA.getStreamFromFD(n);2&r&&eA.doMsync(e,l,t,s,o)}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return-e.errno}},H:(e,t,r,s)=>{var n=(new Date).getFullYear(),i=new Date(n,0,1),a=new Date(n,6,1),o=i.getTimezoneOffset(),l=a.getTimezoneOffset(),_=Math.max(o,l);A[e>>2]=60*_,F[t>>2]=Number(o!=l);var c=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],u=c(i),d=c(a);l<o?(eI(u,r,17),eI(d,s,17)):(eI(u,s,17),eI(d,r,17))},n:()=>Date.now(),m:()=>performance.now(),D:e=>{var t=E.length;if((e>>>=0)>0x80000000)return!1;for(var r=(e,t)=>e+(t-e%t)%t,s=1;s<=4;s*=2){var n=t*(1+.2/s);if(n=Math.min(n,e+0x6000000),eM(Math.min(0x80000000,r(Math.max(e,n),65536))))return!0}return!1},O:(e,t)=>{var r=0;return eC().forEach((s,n)=>{var i=t+r;A[e+4*n>>2]=i;for(var a=i,o=0;o<s.length;++o)k[a++]=s.charCodeAt(o);k[a]=0,r+=s.length+1}),0},P:(e,t)=>{var r=eC();A[e>>2]=r.length;var s=0;return r.forEach(e=>s+=e.length+1),A[t>>2]=s,0},o:function(e){try{var t=eA.getStreamFromFD(e);return eF.close(t),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},E:function(e,t){try{var r=eA.getStreamFromFD(e),s=r.tty?2:eF.isDir(r.mode)?3:eF.isLink(r.mode)?7:4;return k[t]=s,x[t+2>>1]=0,z=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+8>>2]=z[0],F[t+12>>2]=z[1],z=[0,(D=0,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[t+16>>2]=z[0],F[t+20>>2]=z[1],0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},L:function(e,t,r,s){try{var n=eA.getStreamFromFD(e),i=((e,t,r,s)=>{for(var n=0,i=0;i<r;i++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.read(e,k,a,o,s);if(l<0)return -1;if(n+=l,l<o)break;void 0!==s&&(s+=l)}return n})(n,t,r);return A[s>>2]=i,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},x:function(e,t,r,s,n){var i=eP(t,r);try{if(isNaN(i))return 61;var a=eA.getStreamFromFD(e);return eF.llseek(a,i,s),z=[a.position>>>0,(D=a.position,+Math.abs(D)>=1?D>0?Math.floor(D/0x100000000)>>>0:~~Math.ceil((D-(~~D>>>0))/0x100000000)>>>0:0)],F[n>>2]=z[0],F[n+4>>2]=z[1],a.getdents&&0===i&&0===s&&(a.getdents=null),0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},R:function(e){try{var t=eA.getStreamFromFD(e);if(t.stream_ops?.fsync)return t.stream_ops.fsync(t);return 0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},I:function(e,t,r,s){try{var n=eA.getStreamFromFD(e),i=((e,t,r,s)=>{for(var n=0,i=0;i<r;i++){var a=A[t>>2],o=A[t+4>>2];t+=8;var l=eF.write(e,k,a,o,s);if(l<0)return -1;n+=l,void 0!==s&&(s+=l)}return n})(n,t,r);return A[s>>2]=i,0}catch(e){if(void 0===eF||"ErrnoError"!==e.name)throw e;return e.errno}},s:function(...e){return eR(!1,...e)},t:function(...e){return eR(!0,...e)},ga:function(...e){return eR(!1,...e)},ka:function(...e){return eR(!0,...e)},i:function(...e){return eR(!1,...e)},j:function(...e){return eR(!0,...e)},c:function(...e){return eR(!1,...e)},d:function(...e){return eR(!0,...e)},ca:function(...e){return eR(!1,...e)},da:function(...e){return eR(!0,...e)},ea:function(...e){return eR(!1,...e)},fa:function(...e){return eR(!0,...e)},g:function(...e){return eR(!1,...e)},h:function(...e){return eR(!0,...e)},z:function(...e){return eR(!1,...e)},A:function(...e){return eR(!0,...e)},e:function(...e){return eR(!1,...e)},f:function(...e){return eR(!0,...e)},aa:function(...e){return eR(!1,...e)},ba:function(...e){return eR(!0,...e)},B:function(...e){return eR(!1,...e)},C:function(...e){return eR(!0,...e)},p:function(...e){return eR(!1,...e)},q:function(...e){return eR(!0,...e)},ha:function(...e){return eR(!1,...e)},ia:function(...e){return eR(!0,...e)},ja:function(...e){return eR(!1,...e)},r:function(...e){return eR(!0,...e)},k:function(...e){return eR(!1,...e)},l:function(...e){return eR(!0,...e)},T:function(...e){return eR(!1,...e)},_:function(...e){return eR(!0,...e)}},eG=function(){var t,r,s,n,i={a:eV};function a(e,t){var r;return y=(eG=e.exports).la,G(),L=eG.ef,r=eG.ma,K.unshift(r),er("wasm-instantiate"),eG}if(et("wasm-instantiate"),e.instantiateWasm)try{return e.instantiateWasm(i,a)}catch(e){W(`Module.instantiateWasm callback failed with error: ${e}`),m(e)}return I||(I=function(){if(e.locateFile){var t="wa-sqlite.wasm";return t.startsWith("data:application/octet-stream;base64,")?t:e.locateFile?e.locateFile(t,B):B+t}return new URL("wa-sqlite.wasm",import.meta.url).href}()),(t=v,r=I,s=i,n=function(e){a(e.instance)},t||"function"!=typeof WebAssembly.instantiateStreaming||r.startsWith("data:application/octet-stream;base64,")||"function"!=typeof fetch?ei(r,s,n):fetch(r,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,s).then(n,function(e){return W(`wasm streaming compile failed: ${e}`),W("falling back to ArrayBuffer instantiation"),ei(r,s,n)}))).catch(m),{}}(),eX=(e._sqlite3_status64=(t,r,s,n)=>(e._sqlite3_status64=eG.na)(t,r,s,n),e._sqlite3_status=(t,r,s,n)=>(e._sqlite3_status=eG.oa)(t,r,s,n),e._sqlite3_msize=t=>(e._sqlite3_msize=eG.pa)(t),e._sqlite3_db_status=(t,r,s,n,i)=>(e._sqlite3_db_status=eG.qa)(t,r,s,n,i),e._sqlite3_vfs_find=t=>(e._sqlite3_vfs_find=eG.ra)(t),e._sqlite3_vfs_register=(t,r)=>(e._sqlite3_vfs_register=eG.sa)(t,r),e._sqlite3_vfs_unregister=t=>(e._sqlite3_vfs_unregister=eG.ta)(t),e._sqlite3_release_memory=t=>(e._sqlite3_release_memory=eG.ua)(t),e._sqlite3_soft_heap_limit64=(t,r)=>(e._sqlite3_soft_heap_limit64=eG.va)(t,r),e._sqlite3_memory_used=()=>(e._sqlite3_memory_used=eG.wa)(),e._sqlite3_hard_heap_limit64=(t,r)=>(e._sqlite3_hard_heap_limit64=eG.xa)(t,r),e._sqlite3_memory_highwater=t=>(e._sqlite3_memory_highwater=eG.ya)(t),e._sqlite3_malloc=t=>(e._sqlite3_malloc=eG.za)(t),e._sqlite3_malloc64=(t,r)=>(e._sqlite3_malloc64=eG.Aa)(t,r),e._sqlite3_free=t=>(e._sqlite3_free=eG.Ba)(t),e._sqlite3_realloc=(t,r)=>(e._sqlite3_realloc=eG.Ca)(t,r),e._sqlite3_realloc64=(t,r,s)=>(e._sqlite3_realloc64=eG.Da)(t,r,s),e._sqlite3_str_vappendf=(t,r,s)=>(e._sqlite3_str_vappendf=eG.Ea)(t,r,s),e._sqlite3_str_append=(t,r,s)=>(e._sqlite3_str_append=eG.Fa)(t,r,s),e._sqlite3_str_appendchar=(t,r,s)=>(e._sqlite3_str_appendchar=eG.Ga)(t,r,s),e._sqlite3_str_appendall=(t,r)=>(e._sqlite3_str_appendall=eG.Ha)(t,r),e._sqlite3_str_appendf=(t,r,s)=>(e._sqlite3_str_appendf=eG.Ia)(t,r,s),e._sqlite3_str_finish=t=>(e._sqlite3_str_finish=eG.Ja)(t),e._sqlite3_str_errcode=t=>(e._sqlite3_str_errcode=eG.Ka)(t),e._sqlite3_str_length=t=>(e._sqlite3_str_length=eG.La)(t),e._sqlite3_str_value=t=>(e._sqlite3_str_value=eG.Ma)(t),e._sqlite3_str_reset=t=>(e._sqlite3_str_reset=eG.Na)(t),e._sqlite3_str_new=t=>(e._sqlite3_str_new=eG.Oa)(t),e._sqlite3_vmprintf=(t,r)=>(e._sqlite3_vmprintf=eG.Pa)(t,r),e._sqlite3_mprintf=(t,r)=>(e._sqlite3_mprintf=eG.Qa)(t,r),e._sqlite3_vsnprintf=(t,r,s,n)=>(e._sqlite3_vsnprintf=eG.Ra)(t,r,s,n),e._sqlite3_snprintf=(t,r,s,n)=>(e._sqlite3_snprintf=eG.Sa)(t,r,s,n),e._sqlite3_log=(t,r,s)=>(e._sqlite3_log=eG.Ta)(t,r,s),e._sqlite3_randomness=(t,r)=>(e._sqlite3_randomness=eG.Ua)(t,r),e._sqlite3_stricmp=(t,r)=>(e._sqlite3_stricmp=eG.Va)(t,r),e._sqlite3_strnicmp=(t,r,s)=>(e._sqlite3_strnicmp=eG.Wa)(t,r,s),e._sqlite3_os_init=()=>(e._sqlite3_os_init=eG.Xa)(),e._sqlite3_os_end=()=>(e._sqlite3_os_end=eG.Ya)(),e._sqlite3_serialize=(t,r,s,n)=>(e._sqlite3_serialize=eG.Za)(t,r,s,n),e._sqlite3_prepare_v2=(t,r,s,n,i)=>(e._sqlite3_prepare_v2=eG._a)(t,r,s,n,i),e._sqlite3_step=t=>(e._sqlite3_step=eG.$a)(t),e._sqlite3_column_int64=(t,r)=>(e._sqlite3_column_int64=eG.ab)(t,r),e._sqlite3_reset=t=>(e._sqlite3_reset=eG.bb)(t),e._sqlite3_exec=(t,r,s,n,i)=>(e._sqlite3_exec=eG.cb)(t,r,s,n,i),e._sqlite3_column_int=(t,r)=>(e._sqlite3_column_int=eG.db)(t,r),e._sqlite3_finalize=t=>(e._sqlite3_finalize=eG.eb)(t),e._sqlite3_deserialize=(t,r,s,n,i,a,o,l)=>(e._sqlite3_deserialize=eG.fb)(t,r,s,n,i,a,o,l),e._sqlite3_database_file_object=t=>(e._sqlite3_database_file_object=eG.gb)(t),e._sqlite3_backup_init=(t,r,s,n)=>(e._sqlite3_backup_init=eG.hb)(t,r,s,n),e._sqlite3_backup_step=(t,r)=>(e._sqlite3_backup_step=eG.ib)(t,r),e._sqlite3_backup_finish=t=>(e._sqlite3_backup_finish=eG.jb)(t),e._sqlite3_backup_remaining=t=>(e._sqlite3_backup_remaining=eG.kb)(t),e._sqlite3_backup_pagecount=t=>(e._sqlite3_backup_pagecount=eG.lb)(t),e._sqlite3_clear_bindings=t=>(e._sqlite3_clear_bindings=eG.mb)(t),e._sqlite3_value_blob=t=>(e._sqlite3_value_blob=eG.nb)(t),e._sqlite3_value_text=t=>(e._sqlite3_value_text=eG.ob)(t),e._sqlite3_value_bytes=t=>(e._sqlite3_value_bytes=eG.pb)(t),e._sqlite3_value_bytes16=t=>(e._sqlite3_value_bytes16=eG.qb)(t),e._sqlite3_value_double=t=>(e._sqlite3_value_double=eG.rb)(t),e._sqlite3_value_int=t=>(e._sqlite3_value_int=eG.sb)(t),e._sqlite3_value_int64=t=>(e._sqlite3_value_int64=eG.tb)(t),e._sqlite3_value_subtype=t=>(e._sqlite3_value_subtype=eG.ub)(t),e._sqlite3_value_pointer=(t,r)=>(e._sqlite3_value_pointer=eG.vb)(t,r),e._sqlite3_value_text16=t=>(e._sqlite3_value_text16=eG.wb)(t),e._sqlite3_value_text16be=t=>(e._sqlite3_value_text16be=eG.xb)(t),e._sqlite3_value_text16le=t=>(e._sqlite3_value_text16le=eG.yb)(t),e._sqlite3_value_type=t=>(e._sqlite3_value_type=eG.zb)(t),e._sqlite3_value_encoding=t=>(e._sqlite3_value_encoding=eG.Ab)(t),e._sqlite3_value_nochange=t=>(e._sqlite3_value_nochange=eG.Bb)(t),e._sqlite3_value_frombind=t=>(e._sqlite3_value_frombind=eG.Cb)(t),e._sqlite3_value_dup=t=>(e._sqlite3_value_dup=eG.Db)(t),e._sqlite3_value_free=t=>(e._sqlite3_value_free=eG.Eb)(t),e._sqlite3_result_blob=(t,r,s,n)=>(e._sqlite3_result_blob=eG.Fb)(t,r,s,n),e._sqlite3_result_blob64=(t,r,s,n,i)=>(e._sqlite3_result_blob64=eG.Gb)(t,r,s,n,i),e._sqlite3_result_double=(t,r)=>(e._sqlite3_result_double=eG.Hb)(t,r),e._sqlite3_result_error=(t,r,s)=>(e._sqlite3_result_error=eG.Ib)(t,r,s),e._sqlite3_result_error16=(t,r,s)=>(e._sqlite3_result_error16=eG.Jb)(t,r,s),e._sqlite3_result_int=(t,r)=>(e._sqlite3_result_int=eG.Kb)(t,r),e._sqlite3_result_int64=(t,r,s)=>(e._sqlite3_result_int64=eG.Lb)(t,r,s),e._sqlite3_result_null=t=>(e._sqlite3_result_null=eG.Mb)(t),e._sqlite3_result_pointer=(t,r,s,n)=>(e._sqlite3_result_pointer=eG.Nb)(t,r,s,n),e._sqlite3_result_subtype=(t,r)=>(e._sqlite3_result_subtype=eG.Ob)(t,r),e._sqlite3_result_text=(t,r,s,n)=>(e._sqlite3_result_text=eG.Pb)(t,r,s,n),e._sqlite3_result_text64=(t,r,s,n,i,a)=>(e._sqlite3_result_text64=eG.Qb)(t,r,s,n,i,a),e._sqlite3_result_text16=(t,r,s,n)=>(e._sqlite3_result_text16=eG.Rb)(t,r,s,n),e._sqlite3_result_text16be=(t,r,s,n)=>(e._sqlite3_result_text16be=eG.Sb)(t,r,s,n),e._sqlite3_result_text16le=(t,r,s,n)=>(e._sqlite3_result_text16le=eG.Tb)(t,r,s,n),e._sqlite3_result_value=(t,r)=>(e._sqlite3_result_value=eG.Ub)(t,r),e._sqlite3_result_error_toobig=t=>(e._sqlite3_result_error_toobig=eG.Vb)(t),e._sqlite3_result_zeroblob=(t,r)=>(e._sqlite3_result_zeroblob=eG.Wb)(t,r),e._sqlite3_result_zeroblob64=(t,r,s)=>(e._sqlite3_result_zeroblob64=eG.Xb)(t,r,s),e._sqlite3_result_error_code=(t,r)=>(e._sqlite3_result_error_code=eG.Yb)(t,r),e._sqlite3_result_error_nomem=t=>(e._sqlite3_result_error_nomem=eG.Zb)(t),e._sqlite3_user_data=t=>(e._sqlite3_user_data=eG._b)(t),e._sqlite3_context_db_handle=t=>(e._sqlite3_context_db_handle=eG.$b)(t),e._sqlite3_vtab_nochange=t=>(e._sqlite3_vtab_nochange=eG.ac)(t),e._sqlite3_vtab_in_first=(t,r)=>(e._sqlite3_vtab_in_first=eG.bc)(t,r),e._sqlite3_vtab_in_next=(t,r)=>(e._sqlite3_vtab_in_next=eG.cc)(t,r),e._sqlite3_aggregate_context=(t,r)=>(e._sqlite3_aggregate_context=eG.dc)(t,r),e._sqlite3_get_auxdata=(t,r)=>(e._sqlite3_get_auxdata=eG.ec)(t,r),e._sqlite3_set_auxdata=(t,r,s,n)=>(e._sqlite3_set_auxdata=eG.fc)(t,r,s,n),e._sqlite3_column_count=t=>(e._sqlite3_column_count=eG.gc)(t),e._sqlite3_data_count=t=>(e._sqlite3_data_count=eG.hc)(t),e._sqlite3_column_blob=(t,r)=>(e._sqlite3_column_blob=eG.ic)(t,r),e._sqlite3_column_bytes=(t,r)=>(e._sqlite3_column_bytes=eG.jc)(t,r),e._sqlite3_column_bytes16=(t,r)=>(e._sqlite3_column_bytes16=eG.kc)(t,r),e._sqlite3_column_double=(t,r)=>(e._sqlite3_column_double=eG.lc)(t,r),e._sqlite3_column_text=(t,r)=>(e._sqlite3_column_text=eG.mc)(t,r),e._sqlite3_column_value=(t,r)=>(e._sqlite3_column_value=eG.nc)(t,r),e._sqlite3_column_text16=(t,r)=>(e._sqlite3_column_text16=eG.oc)(t,r),e._sqlite3_column_type=(t,r)=>(e._sqlite3_column_type=eG.pc)(t,r),e._sqlite3_column_name=(t,r)=>(e._sqlite3_column_name=eG.qc)(t,r),e._sqlite3_column_name16=(t,r)=>(e._sqlite3_column_name16=eG.rc)(t,r),e._sqlite3_bind_blob=(t,r,s,n,i)=>(e._sqlite3_bind_blob=eG.sc)(t,r,s,n,i),e._sqlite3_bind_blob64=(t,r,s,n,i,a)=>(e._sqlite3_bind_blob64=eG.tc)(t,r,s,n,i,a),e._sqlite3_bind_double=(t,r,s)=>(e._sqlite3_bind_double=eG.uc)(t,r,s),e._sqlite3_bind_int=(t,r,s)=>(e._sqlite3_bind_int=eG.vc)(t,r,s),e._sqlite3_bind_int64=(t,r,s,n)=>(e._sqlite3_bind_int64=eG.wc)(t,r,s,n),e._sqlite3_bind_null=(t,r)=>(e._sqlite3_bind_null=eG.xc)(t,r),e._sqlite3_bind_pointer=(t,r,s,n,i)=>(e._sqlite3_bind_pointer=eG.yc)(t,r,s,n,i),e._sqlite3_bind_text=(t,r,s,n,i)=>(e._sqlite3_bind_text=eG.zc)(t,r,s,n,i),e._sqlite3_bind_text64=(t,r,s,n,i,a,o)=>(e._sqlite3_bind_text64=eG.Ac)(t,r,s,n,i,a,o),e._sqlite3_bind_text16=(t,r,s,n,i)=>(e._sqlite3_bind_text16=eG.Bc)(t,r,s,n,i),e._sqlite3_bind_value=(t,r,s)=>(e._sqlite3_bind_value=eG.Cc)(t,r,s),e._sqlite3_bind_zeroblob=(t,r,s)=>(e._sqlite3_bind_zeroblob=eG.Dc)(t,r,s),e._sqlite3_bind_zeroblob64=(t,r,s,n)=>(e._sqlite3_bind_zeroblob64=eG.Ec)(t,r,s,n),e._sqlite3_bind_parameter_count=t=>(e._sqlite3_bind_parameter_count=eG.Fc)(t),e._sqlite3_bind_parameter_name=(t,r)=>(e._sqlite3_bind_parameter_name=eG.Gc)(t,r),e._sqlite3_bind_parameter_index=(t,r)=>(e._sqlite3_bind_parameter_index=eG.Hc)(t,r),e._sqlite3_db_handle=t=>(e._sqlite3_db_handle=eG.Ic)(t),e._sqlite3_stmt_readonly=t=>(e._sqlite3_stmt_readonly=eG.Jc)(t),e._sqlite3_stmt_isexplain=t=>(e._sqlite3_stmt_isexplain=eG.Kc)(t),e._sqlite3_stmt_explain=(t,r)=>(e._sqlite3_stmt_explain=eG.Lc)(t,r),e._sqlite3_stmt_busy=t=>(e._sqlite3_stmt_busy=eG.Mc)(t),e._sqlite3_next_stmt=(t,r)=>(e._sqlite3_next_stmt=eG.Nc)(t,r),e._sqlite3_stmt_status=(t,r,s)=>(e._sqlite3_stmt_status=eG.Oc)(t,r,s),e._sqlite3_sql=t=>(e._sqlite3_sql=eG.Pc)(t),e._sqlite3_expanded_sql=t=>(e._sqlite3_expanded_sql=eG.Qc)(t),e._sqlite3_value_numeric_type=t=>(e._sqlite3_value_numeric_type=eG.Rc)(t),e._sqlite3_blob_open=(t,r,s,n,i,a,o,l)=>(e._sqlite3_blob_open=eG.Sc)(t,r,s,n,i,a,o,l),e._sqlite3_blob_close=t=>(e._sqlite3_blob_close=eG.Tc)(t),e._sqlite3_blob_read=(t,r,s,n)=>(e._sqlite3_blob_read=eG.Uc)(t,r,s,n),e._sqlite3_blob_write=(t,r,s,n)=>(e._sqlite3_blob_write=eG.Vc)(t,r,s,n),e._sqlite3_blob_bytes=t=>(e._sqlite3_blob_bytes=eG.Wc)(t),e._sqlite3_blob_reopen=(t,r,s)=>(e._sqlite3_blob_reopen=eG.Xc)(t,r,s),e._sqlite3_set_authorizer=(t,r,s)=>(e._sqlite3_set_authorizer=eG.Yc)(t,r,s),e._sqlite3_strglob=(t,r)=>(e._sqlite3_strglob=eG.Zc)(t,r),e._sqlite3_strlike=(t,r,s)=>(e._sqlite3_strlike=eG._c)(t,r,s),e._sqlite3_errmsg=t=>(e._sqlite3_errmsg=eG.$c)(t),e._sqlite3_auto_extension=t=>(e._sqlite3_auto_extension=eG.ad)(t),e._sqlite3_cancel_auto_extension=t=>(e._sqlite3_cancel_auto_extension=eG.bd)(t),e._sqlite3_reset_auto_extension=()=>(e._sqlite3_reset_auto_extension=eG.cd)(),e._sqlite3_prepare=(t,r,s,n,i)=>(e._sqlite3_prepare=eG.dd)(t,r,s,n,i),e._sqlite3_prepare_v3=(t,r,s,n,i,a)=>(e._sqlite3_prepare_v3=eG.ed)(t,r,s,n,i,a),e._sqlite3_prepare16=(t,r,s,n,i)=>(e._sqlite3_prepare16=eG.fd)(t,r,s,n,i),e._sqlite3_prepare16_v2=(t,r,s,n,i)=>(e._sqlite3_prepare16_v2=eG.gd)(t,r,s,n,i),e._sqlite3_prepare16_v3=(t,r,s,n,i,a)=>(e._sqlite3_prepare16_v3=eG.hd)(t,r,s,n,i,a),e._sqlite3_get_table=(t,r,s,n,i,a)=>(e._sqlite3_get_table=eG.id)(t,r,s,n,i,a),e._sqlite3_free_table=t=>(e._sqlite3_free_table=eG.jd)(t),e._sqlite3_create_module=(t,r,s,n)=>(e._sqlite3_create_module=eG.kd)(t,r,s,n),e._sqlite3_create_module_v2=(t,r,s,n,i)=>(e._sqlite3_create_module_v2=eG.ld)(t,r,s,n,i),e._sqlite3_drop_modules=(t,r)=>(e._sqlite3_drop_modules=eG.md)(t,r),e._sqlite3_declare_vtab=(t,r)=>(e._sqlite3_declare_vtab=eG.nd)(t,r),e._sqlite3_vtab_on_conflict=t=>(e._sqlite3_vtab_on_conflict=eG.od)(t),e._sqlite3_vtab_config=(t,r,s)=>(e._sqlite3_vtab_config=eG.pd)(t,r,s),e._sqlite3_vtab_collation=(t,r)=>(e._sqlite3_vtab_collation=eG.qd)(t,r),e._sqlite3_vtab_in=(t,r,s)=>(e._sqlite3_vtab_in=eG.rd)(t,r,s),e._sqlite3_vtab_rhs_value=(t,r,s)=>(e._sqlite3_vtab_rhs_value=eG.sd)(t,r,s),e._sqlite3_vtab_distinct=t=>(e._sqlite3_vtab_distinct=eG.td)(t),e._sqlite3_keyword_name=(t,r,s)=>(e._sqlite3_keyword_name=eG.ud)(t,r,s),e._sqlite3_keyword_count=()=>(e._sqlite3_keyword_count=eG.vd)(),e._sqlite3_keyword_check=(t,r)=>(e._sqlite3_keyword_check=eG.wd)(t,r),e._sqlite3_complete=t=>(e._sqlite3_complete=eG.xd)(t),e._sqlite3_complete16=t=>(e._sqlite3_complete16=eG.yd)(t),e._sqlite3_libversion=()=>(e._sqlite3_libversion=eG.zd)(),e._sqlite3_libversion_number=()=>(e._sqlite3_libversion_number=eG.Ad)(),e._sqlite3_threadsafe=()=>(e._sqlite3_threadsafe=eG.Bd)(),e._sqlite3_initialize=()=>(e._sqlite3_initialize=eG.Cd)(),e._sqlite3_shutdown=()=>(e._sqlite3_shutdown=eG.Dd)(),e._sqlite3_config=(t,r)=>(e._sqlite3_config=eG.Ed)(t,r),e._sqlite3_db_mutex=t=>(e._sqlite3_db_mutex=eG.Fd)(t),e._sqlite3_db_release_memory=t=>(e._sqlite3_db_release_memory=eG.Gd)(t),e._sqlite3_db_cacheflush=t=>(e._sqlite3_db_cacheflush=eG.Hd)(t),e._sqlite3_db_config=(t,r,s)=>(e._sqlite3_db_config=eG.Id)(t,r,s),e._sqlite3_last_insert_rowid=t=>(e._sqlite3_last_insert_rowid=eG.Jd)(t),e._sqlite3_set_last_insert_rowid=(t,r,s)=>(e._sqlite3_set_last_insert_rowid=eG.Kd)(t,r,s),e._sqlite3_changes64=t=>(e._sqlite3_changes64=eG.Ld)(t),e._sqlite3_changes=t=>(e._sqlite3_changes=eG.Md)(t),e._sqlite3_total_changes64=t=>(e._sqlite3_total_changes64=eG.Nd)(t),e._sqlite3_total_changes=t=>(e._sqlite3_total_changes=eG.Od)(t),e._sqlite3_txn_state=(t,r)=>(e._sqlite3_txn_state=eG.Pd)(t,r),e._sqlite3_close=t=>(e._sqlite3_close=eG.Qd)(t),e._sqlite3_close_v2=t=>(e._sqlite3_close_v2=eG.Rd)(t),e._sqlite3_busy_handler=(t,r,s)=>(e._sqlite3_busy_handler=eG.Sd)(t,r,s),e._sqlite3_progress_handler=(t,r,s,n)=>(e._sqlite3_progress_handler=eG.Td)(t,r,s,n),e._sqlite3_busy_timeout=(t,r)=>(e._sqlite3_busy_timeout=eG.Ud)(t,r),e._sqlite3_interrupt=t=>(e._sqlite3_interrupt=eG.Vd)(t),e._sqlite3_is_interrupted=t=>(e._sqlite3_is_interrupted=eG.Wd)(t),e._sqlite3_create_function=(t,r,s,n,i,a,o,l)=>(e._sqlite3_create_function=eG.Xd)(t,r,s,n,i,a,o,l),e._sqlite3_create_function_v2=(t,r,s,n,i,a,o,l,_)=>(e._sqlite3_create_function_v2=eG.Yd)(t,r,s,n,i,a,o,l,_),e._sqlite3_create_window_function=(t,r,s,n,i,a,o,l,_,c)=>(e._sqlite3_create_window_function=eG.Zd)(t,r,s,n,i,a,o,l,_,c),e._sqlite3_create_function16=(t,r,s,n,i,a,o,l)=>(e._sqlite3_create_function16=eG._d)(t,r,s,n,i,a,o,l),e._sqlite3_overload_function=(t,r,s)=>(e._sqlite3_overload_function=eG.$d)(t,r,s),e._sqlite3_trace_v2=(t,r,s,n)=>(e._sqlite3_trace_v2=eG.ae)(t,r,s,n),e._sqlite3_commit_hook=(t,r,s)=>(e._sqlite3_commit_hook=eG.be)(t,r,s),e._sqlite3_update_hook=(t,r,s)=>(e._sqlite3_update_hook=eG.ce)(t,r,s),e._sqlite3_rollback_hook=(t,r,s)=>(e._sqlite3_rollback_hook=eG.de)(t,r,s),e._sqlite3_autovacuum_pages=(t,r,s,n)=>(e._sqlite3_autovacuum_pages=eG.ee)(t,r,s,n),e._sqlite3_wal_autocheckpoint=(t,r)=>(e._sqlite3_wal_autocheckpoint=eG.fe)(t,r),e._sqlite3_wal_hook=(t,r,s)=>(e._sqlite3_wal_hook=eG.ge)(t,r,s),e._sqlite3_wal_checkpoint_v2=(t,r,s,n,i)=>(e._sqlite3_wal_checkpoint_v2=eG.he)(t,r,s,n,i),e._sqlite3_wal_checkpoint=(t,r)=>(e._sqlite3_wal_checkpoint=eG.ie)(t,r),e._sqlite3_error_offset=t=>(e._sqlite3_error_offset=eG.je)(t),e._sqlite3_errmsg16=t=>(e._sqlite3_errmsg16=eG.ke)(t),e._sqlite3_errcode=t=>(e._sqlite3_errcode=eG.le)(t),e._sqlite3_extended_errcode=t=>(e._sqlite3_extended_errcode=eG.me)(t),e._sqlite3_system_errno=t=>(e._sqlite3_system_errno=eG.ne)(t),e._sqlite3_errstr=t=>(e._sqlite3_errstr=eG.oe)(t),e._sqlite3_limit=(t,r,s)=>(e._sqlite3_limit=eG.pe)(t,r,s),e._sqlite3_open=(t,r)=>(e._sqlite3_open=eG.qe)(t,r),e._sqlite3_open_v2=(t,r,s,n)=>(e._sqlite3_open_v2=eG.re)(t,r,s,n),e._sqlite3_open16=(t,r)=>(e._sqlite3_open16=eG.se)(t,r),e._sqlite3_create_collation=(t,r,s,n,i)=>(e._sqlite3_create_collation=eG.te)(t,r,s,n,i),e._sqlite3_create_collation_v2=(t,r,s,n,i,a)=>(e._sqlite3_create_collation_v2=eG.ue)(t,r,s,n,i,a),e._sqlite3_create_collation16=(t,r,s,n,i)=>(e._sqlite3_create_collation16=eG.ve)(t,r,s,n,i),e._sqlite3_collation_needed=(t,r,s)=>(e._sqlite3_collation_needed=eG.we)(t,r,s),e._sqlite3_collation_needed16=(t,r,s)=>(e._sqlite3_collation_needed16=eG.xe)(t,r,s),e._sqlite3_get_clientdata=(t,r)=>(e._sqlite3_get_clientdata=eG.ye)(t,r),e._sqlite3_set_clientdata=(t,r,s,n)=>(e._sqlite3_set_clientdata=eG.ze)(t,r,s,n),e._sqlite3_get_autocommit=t=>(e._sqlite3_get_autocommit=eG.Ae)(t),e._sqlite3_table_column_metadata=(t,r,s,n,i,a,o,l,_)=>(e._sqlite3_table_column_metadata=eG.Be)(t,r,s,n,i,a,o,l,_),e._sqlite3_sleep=t=>(e._sqlite3_sleep=eG.Ce)(t),e._sqlite3_extended_result_codes=(t,r)=>(e._sqlite3_extended_result_codes=eG.De)(t,r),e._sqlite3_file_control=(t,r,s,n)=>(e._sqlite3_file_control=eG.Ee)(t,r,s,n),e._sqlite3_test_control=(t,r)=>(e._sqlite3_test_control=eG.Fe)(t,r),e._sqlite3_create_filename=(t,r,s,n,i)=>(e._sqlite3_create_filename=eG.Ge)(t,r,s,n,i),e._sqlite3_free_filename=t=>(e._sqlite3_free_filename=eG.He)(t),e._sqlite3_uri_parameter=(t,r)=>(e._sqlite3_uri_parameter=eG.Ie)(t,r),e._sqlite3_uri_key=(t,r)=>(e._sqlite3_uri_key=eG.Je)(t,r),e._sqlite3_uri_boolean=(t,r,s)=>(e._sqlite3_uri_boolean=eG.Ke)(t,r,s),e._sqlite3_uri_int64=(t,r,s,n)=>(e._sqlite3_uri_int64=eG.Le)(t,r,s,n),e._sqlite3_filename_database=t=>(e._sqlite3_filename_database=eG.Me)(t),e._sqlite3_filename_journal=t=>(e._sqlite3_filename_journal=eG.Ne)(t),e._sqlite3_filename_wal=t=>(e._sqlite3_filename_wal=eG.Oe)(t),e._sqlite3_db_name=(t,r)=>(e._sqlite3_db_name=eG.Pe)(t,r),e._sqlite3_db_filename=(t,r)=>(e._sqlite3_db_filename=eG.Qe)(t,r),e._sqlite3_db_readonly=(t,r)=>(e._sqlite3_db_readonly=eG.Re)(t,r),e._sqlite3_compileoption_used=t=>(e._sqlite3_compileoption_used=eG.Se)(t),e._sqlite3_compileoption_get=t=>(e._sqlite3_compileoption_get=eG.Te)(t),e._sqlite3_sourceid=()=>(e._sqlite3_sourceid=eG.Ue)(),e._malloc=t=>(e._malloc=eG.Ve)(t),e._free=t=>(e._free=eG.We)(t),e._RegisterExtensionFunctions=t=>(e._RegisterExtensionFunctions=eG.Xe)(t),e._getSqliteFree=()=>(e._getSqliteFree=eG.Ye)(),e._main=(t,r)=>(eX=e._main=eG.Ze)(t,r)),eK=(e._libauthorizer_set_authorizer=(t,r,s)=>(e._libauthorizer_set_authorizer=eG._e)(t,r,s),e._libfunction_create_function=(t,r,s,n,i,a,o,l)=>(e._libfunction_create_function=eG.$e)(t,r,s,n,i,a,o,l),e._libhook_commit_hook=(t,r,s)=>(e._libhook_commit_hook=eG.af)(t,r,s),e._libhook_update_hook=(t,r,s)=>(e._libhook_update_hook=eG.bf)(t,r,s),e._libprogress_progress_handler=(t,r,s,n)=>(e._libprogress_progress_handler=eG.cf)(t,r,s,n),e._libvfs_vfs_register=(t,r,s,n,i,a)=>(e._libvfs_vfs_register=eG.df)(t,r,s,n,i,a),(e,t)=>(eK=eG.ff)(e,t)),eY=()=>(eY=eG.gf)(),eJ=e=>(eJ=eG.hf)(e),eZ=e=>(eZ=eG.jf)(e),eQ=()=>(eQ=eG.kf)();function e0(){if(!(Z>0)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;){var t;t=e.preRun.shift(),X.unshift(t)}eo(X),Z>0||(e.setStatus?(e.setStatus("Running..."),setTimeout(function(){setTimeout(function(){e.setStatus("")},1),r()},1)):r())}function r(){if(!j&&(j=!0,e.calledRun=!0,!V)){if(e.noFSInit||eF.init.initialized||eF.init(),eF.ignorePermissions=!1,eq.init(),eo(K),eo(Y),p(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e3&&function(){var t=eX;try{var r=t(0,0);q=r,q=r,e_||(e.onExit?.(r),V=!0),N(r,new ea(r))}catch(e){if(e instanceof ea||"unwind"==e)return q;N(1,e);return}}(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t;t=e.postRun.shift(),J.unshift(t)}eo(J)}}}if(e._sqlite3_version=3232,e.getTempRet0=e=>eY(),e.ccall=e$,e.cwrap=(e,t,r,s)=>{var n=!r||r.every(e=>"number"===e||"boolean"===e);return"string"!==t&&n&&!s?eN(e):(...n)=>e$(e,t,r,n,s)},e.addFunction=(e,t)=>{var r=(e=>{if(!M){M=new WeakMap;var t=L.length;if(M)for(var r=0;r<0+t;r++){var s=eO(r);s&&M.set(s,r)}}return M.get(e)||0})(e);if(r)return r;var s=(()=>{if(eU.length)return eU.pop();try{L.grow(1)}catch(e){if(!(e instanceof RangeError))throw e;throw"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH."}return L.length-1})();try{L.set(s,e)}catch(r){if(!(r instanceof TypeError))throw r;var n=((e,t)=>{if("function"==typeof WebAssembly.Function)return new WebAssembly.Function((e=>{for(var t={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},r={parameters:[],results:"v"==e[0]?[]:[t[e[0]]]},s=1;s<e.length;++s)r.parameters.push(t[e[s]]);return r})(t),e);var r=[1],s=t.slice(0,1),n=t.slice(1),i={i:127,p:127,j:126,f:125,d:124,e:111};r.push(96),eH(n.length,r);for(var a=0;a<n.length;++a)r.push(i[n[a]]);"v"==s?r.push(0):r.push(1,i[s]);var o=[0,97,115,109,1,0,0,0,1];eH(r.length,o),o.push(...r),o.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var l=new WebAssembly.Module(new Uint8Array(o));return new WebAssembly.Instance(l,{e:{f:e}}).exports.f})(e,t);L.set(s,n)}return M.set(e,s),s},e.setValue=ec,e.getValue=el,e.UTF8ToString=ef,e.stringToUTF8=eI,e.lengthBytesUTF8=ew,e.intArrayFromString=ey,e.intArrayToString=function(e){for(var t=[],r=0;r<e.length;r++){var s=e[r];s>255&&(s&=255),t.push(String.fromCharCode(s))}return t.join("")},e.AsciiToString=e=>{for(var t="";;){var r=E[e++];if(!r)return t;t+=String.fromCharCode(r)}},e.UTF16ToString=(e,t)=>{for(var r=e,s=r>>1,n=s+t/2;!(s>=n)&&S[s];)++s;if((r=s<<1)-e>32&&eW)return eW.decode(E.subarray(e,r));for(var i="",a=0;!(a>=t/2);++a){var o=x[e+2*a>>1];if(0==o)break;i+=String.fromCharCode(o)}return i},e.stringToUTF16=(e,t,r)=>{if((r??=0x7fffffff)<2)return 0;for(var s=t,n=(r-=2)<2*e.length?r/2:e.length,i=0;i<n;++i){var a=e.charCodeAt(i);x[t>>1]=a,t+=2}return x[t>>1]=0,t-s},e.UTF32ToString=(e,t)=>{for(var r=0,s="";!(r>=t/4);){var n=F[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var i=n-65536;s+=String.fromCharCode(55296|i>>10,56320|1023&i)}else s+=String.fromCharCode(n)}return s},e.stringToUTF32=(e,t,r)=>{if((r??=0x7fffffff)<4)return 0;for(var s=t,n=s+r-4,i=0;i<e.length;++i){var a=e.charCodeAt(i);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++i)),F[t>>2]=a,(t+=4)+4>n)break}return F[t>>2]=0,t-s},e.writeArrayToMemory=eB,ee=function e(){j||e0(),j||(ee=e)},e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);e.preInit.length>0;)e.preInit.pop()();var e3=!0;return e.noInitialRun&&(e3=!1),e0(),t=Object.getPrototypeOf(async function(){}).constructor,r=0,e.set_authorizer=function(s,n,i){r&&(e.deleteCallback(r),e._sqlite3_free(r),r=0),ec(r=e._sqlite3_malloc(4),+(n instanceof t),"i32");let a=e$("libauthorizer_set_authorizer","number",["number","number","number"],[s,+!!n,r]);return!a&&n&&e.setCallback(r,(e,t,r,s,a,o)=>n(i,t,r,s,a,o)),a},s=Object.getPrototypeOf(async function(){}).constructor,n=["xFunc","xStep","xFinal"],i=new Map,e.create_function=function(t,r,a,o,l,_,c,u){let d=e._sqlite3_malloc(4),h={xFunc:_,xStep:c,xFinal:u};ec(d,n.reduce((e,t,r)=>h[t]instanceof s?e|1<<r:e,0),"i32");let f=e$("libfunction_create_function","number",["number","string","number","number","number","number","number","number"],[t,r,a,o,d,+!!_,+!!c,+!!u]);if(!f){if(i.has(r)){let t=i.get(r);e.deleteCallback(t)}i.set(r,d),e.setCallback(d,{xFunc:_,xStep:c,xFinal:u})}return f},a=Object.getPrototypeOf(async function(){}).constructor,o=0,e.update_hook=function(t,r){o&&(e.deleteCallback(o),e._sqlite3_free(o),o=0),ec(o=e._sqlite3_malloc(4),+(r instanceof a),"i32"),e$("libhook_update_hook","void",["number","number","number"],[t,+!!r,o]),r&&e.setCallback(o,(e,t,s,n,i,a)=>r(t,s,n,i,a))},l=Object.getPrototypeOf(async function(){}).constructor,_=0,e.commit_hook=function(t,r){_&&(e.deleteCallback(_),e._sqlite3_free(_),_=0),ec(_=e._sqlite3_malloc(4),+(r instanceof l),"i32"),e$("libhook_commit_hook","void",["number","number","number"],[t,+!!r,_]),r&&e.setCallback(_,e=>r())},c=Object.getPrototypeOf(async function(){}).constructor,d=0,e.progress_handler=function(t,r,s,n){d&&(e.deleteCallback(d),e._sqlite3_free(d),d=0),ec(d=e._sqlite3_malloc(4),+(s instanceof c),"i32"),e$("libprogress_progress_handler","number",["number","number","number","number"],[t,r,+!!s,d]),s&&e.setCallback(d,e=>s(n))},h=["xOpen","xDelete","xAccess","xFullPathname","xRandomness","xSleep","xCurrentTime","xGetLastError","xCurrentTimeInt64","xClose","xRead","xWrite","xTruncate","xSync","xFileSize","xLock","xUnlock","xCheckReservedLock","xFileControl","xSectorSize","xDeviceCharacteristics","xShmMap","xShmLock","xShmBarrier","xShmUnmap"],f=new Map,e.vfs_register=function(t,r){let s=0,n=0;h.forEach((e,r)=>{t[e]&&(s|=1<<r,t.hasAsyncMethod(e)&&(n|=1<<r))});let i=e._sqlite3_malloc(4);try{let a=e$("libvfs_vfs_register","number",["string","number","number","number","number","number"],[t.name,t.mxPathname,s,n,+!!r,i]);if(!a){if(f.has(t.name)){let r=f.get(t.name);e.deleteCallback(r)}let r=el(i,"*");f.set(t.name,r),e.setCallback(r,t)}return a}finally{e._sqlite3_free(i)}},C}),ey=-0x8000000000000000n,eq=Object.getPrototypeOf(async function(){}).constructor;class ek extends Error{constructor(e,t){super(e),this.code=t}}function eE(e){let t=[],r=e.match(/([ns@]*):([nsv@])/);switch(r[2]){case"n":t.push("number");break;case"s":t.push("string");break;case"v":t.push(null)}let s=[];for(let e of r[1])switch(e){case"n":s.push("number");break;case"s":s.push("string")}return t.push(s),t}let ex={available:!1,hold:async()=>()=>{},withLock:async(e,t)=>t(),tryWithLock:async(e,t)=>(await t(),!0),heldNames:async()=>[]},eS={OPFSAdaptiveVFS:{builds:["async","jspi"],maxPoolSize:null,poolLimitReason:null,multiConnection:!0,persistent:!0,memoryModel:"page-cache",storage:"opfs",layout:"opfs-path",requires:["opfs"],degradesWithout:["readwrite-unsafe"]},OPFSWriteAheadVFS:{builds:["sync","async","jspi"],maxPoolSize:null,poolLimitReason:null,multiConnection:!0,persistent:!0,memoryModel:"page-cache",storage:"opfs",layout:"opfs-path",requires:["opfs"],degradesWithout:["readwrite-unsafe"]},OPFSCoopSyncVFS:{builds:["sync","async","jspi"],maxPoolSize:null,poolLimitReason:null,multiConnection:!0,persistent:!0,memoryModel:"page-cache",storage:"opfs",layout:"opfs-path",requires:["opfs"],degradesWithout:[]},AccessHandlePoolVFS:{builds:["sync","async","jspi"],maxPoolSize:1,poolLimitReason:"it cannot share access handles between connections",multiConnection:!1,persistent:!0,memoryModel:"page-cache",storage:"opfs",layout:"opfs-pool",requires:["opfs"],degradesWithout:[]},IDBBatchAtomicVFS:{builds:["async","jspi"],maxPoolSize:null,poolLimitReason:null,multiConnection:!0,persistent:!0,memoryModel:"page-cache",storage:"indexeddb",layout:"idb-store",requires:[],degradesWithout:[]},IDBMirrorVFS:{builds:["async","jspi"],maxPoolSize:1,poolLimitReason:"its pages are mirrored per worker and commits propagate asynchronously, so a larger pool reads stale data or fails outright",multiConnection:!1,persistent:!0,memoryModel:"whole-database",storage:"indexeddb",layout:"idb-store",requires:[],degradesWithout:[]},OPFSAnyContextVFS:{builds:["async","jspi"],maxPoolSize:null,poolLimitReason:null,multiConnection:!0,persistent:!0,memoryModel:"page-cache",storage:"opfs",layout:"opfs-path",requires:["opfs","writable-stream"],degradesWithout:[]},MemoryVFS:{builds:["sync","async","jspi"],maxPoolSize:1,poolLimitReason:"its pages live in the worker that opened them, so a larger pool would open independent databases that diverge silently",multiConnection:!1,persistent:!1,memoryModel:"whole-database",storage:"memory",layout:"memory",requires:[],degradesWithout:[]},MemoryAsyncVFS:{builds:["async","jspi"],maxPoolSize:1,poolLimitReason:"its pages live in the worker that opened them, so a larger pool would open independent databases that diverge silently",multiConnection:!1,persistent:!1,memoryModel:"whole-database",storage:"memory",layout:"memory",requires:[],degradesWithout:[]}},eF=e=>eS[e].builds[0];class eA extends Error{code;sqliteCode;constructor(e,t,r){super(t,r),this.code=e,this.name=e,r?.sqliteCode!==void 0&&(this.sqliteCode=r.sqliteCode)}}let eT=/^[A-Za-z_]\w*$/,eP=/^-?\d+$/,eI=/^'([^']|'')*'$/,eD=e=>{let t=new MessageChannel;try{return t.port1.postMessage(e),e}catch{return String(e)}finally{t.port1.close(),t.port2.close()}},ez={sync:()=>Promise.resolve(m),async:()=>Promise.resolve(f),jspi:()=>Promise.resolve(p)},eL={OPFSAdaptiveVFS:{fs:()=>Promise.resolve(q)},OPFSWriteAheadVFS:{fs:()=>Promise.resolve(x)},OPFSCoopSyncVFS:{fs:()=>Promise.resolve(E)},AccessHandlePoolVFS:{fs:()=>Promise.resolve(b)},IDBBatchAtomicVFS:{fs:()=>Promise.resolve(g)},IDBMirrorVFS:{fs:()=>Promise.resolve(w)},OPFSAnyContextVFS:{fs:()=>Promise.resolve(k)},MemoryVFS:{fs:()=>Promise.resolve(y)},MemoryAsyncVFS:{fs:()=>Promise.resolve(v)}},eM=(r=new MessageChannel,s=[],r.port1.onmessage=()=>{s.shift()?.()},d=()=>new Promise(e=>{s.push(e),r.port2.postMessage(0)}),n=0,i=-1,a=!1,o=Promise.withResolvers(),l=()=>{let e=o;o=Promise.withResolvers(),e.resolve()},{reset:(e,t)=>{i=e,n=t,a=!1},grant:(e,t)=>{e===i&&(n+=t,l())},stop:()=>{a=!0,l()},take:async e=>{if(e!==i)return"stopped";for(await d();n<=0&&!a;)await o.promise;return a?"stopped":(n-=1,"go")},isStopped:()=>a,tick:d}),ej=((e=globalThis.navigator?.locks)=>e?{available:!0,hold:t=>new Promise((r,s)=>{let n,i=new Promise(e=>{n=e});e.request(t,()=>(r(n),i)).catch(s)}),withLock:(t,r)=>e.request(t,{mode:"exclusive"},()=>r()),tryWithLock:async(t,r)=>{let s=!1;return await e.request(t,{mode:"exclusive",ifAvailable:!0},async e=>{e&&(s=!0,await r())}),s},heldNames:async()=>((await e.query()).held??[]).map(e=>e.name).filter(e=>"string"==typeof e)}:ex)(),eC=!1,eR=e=>void 0===e?void 0:{locateFile:"base"in e?t=>e.base+t:()=>e.file},eH=(e,t)=>{let r=e=>e.trim().replace(/;+$/,"").trim();return r(e)===r(t)},eO=["","-journal","-wal"],eU=async e=>{let t=e.split("/").filter(Boolean),r=t.pop();if(r)try{let e=await navigator.storage.getDirectory();for(let r of t)e=await e.getDirectoryHandle(r);await e.removeEntry(r)}catch(e){if(e?.name==="NotFoundError")return;throw e}},eN=async e=>{let{file:t,vfs:r,wasm:s}=e,n=e.build??eF(r),{default:i}=await ez[n](),a=await i(eR(s)),o=await eL[r].fs(),l=await o[r].create(r,a,{lockPolicy:"shared"});try{for(let e of eO)await l.jDelete(`${t}${e}`,1);if("idb-store"===eS[r].layout){let e=new DataView(new ArrayBuffer(4));await l.jAccess(`${t}`,0,e)}}finally{await l.close?.()}if("opfs-path"===eS[r].layout)for(let e of eO)await eU(`${t}${e}`)};self.onmessage=async r=>{let{data:s}=r;switch(s.type){case"open":{let{file:r,vfs:n,build:i,pragmas:a,statementCacheSize:o}=s;((r,s)=>{var n;let i,a,o;if(e)throw Error("DB already opened");let{vfs:l,wasm:_,pragmas:c={}}=s,u=s.build??eF(l),d=eL[l];(e=ez[u]().then(({default:e})=>e(eR(_))).then(e=>{let t=function(e){let t,r,s,n,i,a,o,l,_,c,u,d,h,f,p,m,b,g,w,v,y,q,k,E,x,S,F,A,T,P,I,D,z,L,M,j,C,R,H,O,U,N,B,$,W,V={};e.retryOps=[],e.pendingOps=[];let G=e._getSqliteFree(),X=e._malloc(8),K=[X,X+4],Y=new TextEncoder;function J(t){if("string"!=typeof t)return 0;let r=Y.encode(t),s=e._sqlite3_malloc(r.byteLength+1);return e.HEAPU8.set(r,s),e.HEAPU8[s+r.byteLength]=0,s}function Z(e,t){return BigInt(t)<<32n|4294967295n&BigInt(e)}let Q=(t=BigInt(Number.MAX_SAFE_INTEGER)>>32n,r=BigInt(Number.MIN_SAFE_INTEGER)>>32n,function(e,s){return s>t||s<r?Z(e,s):0x100000000*s+(0x7fffffff&e)-(0x80000000&e)}),ee=new Set;function et(e){if(!ee.has(e))throw new ek("not a database",21)}let er=new Map;function es(e){if(!er.has(e))throw new ek("not a statement",21)}function en(t,r,s=null,n=[0]){if(n.includes(r))return r;throw new ek(s?e.ccall("sqlite3_errmsg","string",["number"],[s]):t,r)}async function ei(t){let r;for(let s=0;s<2;++s){if(e.retryOps.length)try{await Promise.all(e.retryOps)}finally{e.retryOps=[]}if(0===(r=await t())||0===e.retryOps.length){if(e.pendingOps.length)try{await Promise.all(e.pendingOps)}catch(e){return console.error("Error in pendingOps:",e),e.code||1}finally{e.pendingOps=[]}break}}return r}return V.bind_collection=function(e,t){es(e);let r=Array.isArray(t),s=V.bind_parameter_count(e);for(let n=1;n<=s;++n){let s=t[r?n-1:V.bind_parameter_name(e,n)];void 0!==s&&V.bind(e,n,s)}return 0},V.bind=function(e,t,r){switch(es(e),typeof r){case"number":if(r===(0|r))return V.bind_int(e,t,r);return V.bind_double(e,t,r);case"string":return V.bind_text(e,t,r);case"boolean":return V.bind_int(e,t,+!!r);default:if(r instanceof Uint8Array||Array.isArray(r))return V.bind_blob(e,t,r);if(null===r)return V.bind_null(e,t);if("bigint"==typeof r)return V.bind_int64(e,t,r);if(void 0===r)return 27;return console.warn("unknown binding converted to null",r),V.bind_null(e,t)}},s=e.cwrap("sqlite3_bind_blob",...eE("nnnnn:n")),V.bind_blob=function(t,r,n){es(t);let i=n.byteLength??n.length,a=e._sqlite3_malloc(i);return e.HEAPU8.subarray(a).set(n),en("sqlite3_bind_blob",s(t,r,a,i,G),er.get(t))},n=e.cwrap("sqlite3_bind_parameter_count",...eE("n:n")),V.bind_parameter_count=function(e){return es(e),n(e)},i=e.cwrap("sqlite3_bind_double",...eE("nnn:n")),V.bind_double=function(e,t,r){return es(e),en("sqlite3_bind_double",i(e,t,r),er.get(e))},a=e.cwrap("sqlite3_bind_int",...eE("nnn:n")),V.bind_int=function(e,t,r){return(es(e),r>0x7fffffff||r<-0x80000000)?25:en("sqlite3_bind_int",a(e,t,r),er.get(e))},o=e.cwrap("sqlite3_bind_int64",...eE("nnnn:n")),V.bind_int64=function(e,t,r){return(es(e),r>0x7fffffffffffffffn||r<ey)?25:en("sqlite3_bind_int64",o(e,t,Number(4294967295n&r),Number(r>>32n)),er.get(e))},l=e.cwrap("sqlite3_bind_null",...eE("nn:n")),V.bind_null=function(e,t){return es(e),en("sqlite3_bind_null",l(e,t),er.get(e))},_=e.cwrap("sqlite3_bind_parameter_name",...eE("n:s")),V.bind_parameter_name=function(e,t){return es(e),_(e,t)},c=e.cwrap("sqlite3_bind_text",...eE("nnnnn:n")),V.bind_text=function(e,t,r){return es(e),en("sqlite3_bind_text",c(e,t,J(r),-1,G),er.get(e))},u=e.cwrap("sqlite3_changes",...eE("n:n")),V.changes=function(e){return et(e),u(e)},d=e.cwrap("sqlite3_clear_bindings",...eE("n:n")),V.clear_bindings=function(e){return es(e),en("sqlite3_clear_bindings",d(e),er.get(e))},h=e.cwrap("sqlite3_close",...eE("n:n"),{async:!0}),V.close=async function(e){et(e);let t=await h(e);return ee.delete(e),en("sqlite3_close",t,e)},V.column=function(t,r){es(t);let s=V.column_type(t,r);switch(s){case 4:return V.column_blob(t,r);case 2:return V.column_double(t,r);case 1:return Q(V.column_int(t,r),e.getTempRet0());case 5:return null;case 3:return V.column_text(t,r);default:throw new ek("unknown type",s)}},f=e.cwrap("sqlite3_column_blob",...eE("nn:n")),V.column_blob=function(t,r){es(t);let s=V.column_bytes(t,r),n=f(t,r);return e.HEAPU8.subarray(n,n+s)},p=e.cwrap("sqlite3_column_bytes",...eE("nn:n")),V.column_bytes=function(e,t){return es(e),p(e,t)},m=e.cwrap("sqlite3_column_count",...eE("n:n")),V.column_count=function(e){return es(e),m(e)},b=e.cwrap("sqlite3_column_double",...eE("nn:n")),V.column_double=function(e,t){return es(e),b(e,t)},g=e.cwrap("sqlite3_column_int64",...eE("nn:n")),V.column_int=function(e,t){return es(e),g(e,t)},w=e.cwrap("sqlite3_column_int64",...eE("nn:n")),V.column_int64=function(t,r){return es(t),Z(w(t,r),e.getTempRet0())},v=e.cwrap("sqlite3_column_name",...eE("nn:s")),V.column_name=function(e,t){return es(e),v(e,t)},V.column_names=function(e){let t=[],r=V.column_count(e);for(let s=0;s<r;++s)t.push(V.column_name(e,s));return t},y=e.cwrap("sqlite3_column_text",...eE("nn:s")),V.column_text=function(e,t){return es(e),y(e,t)},q=e.cwrap("sqlite3_column_type",...eE("nn:n")),V.column_type=function(e,t){return es(e),q(e,t)},V.create_function=function(t,r,s,n,i,a,o,l){function _(t){return t instanceof eq?async(r,s,n)=>t(r,e.HEAP32.subarray(n/4,n/4+s)):(r,s,n)=>t(r,e.HEAP32.subarray(n/4,n/4+s))}return et(t),en("sqlite3_create_function",e.create_function(t,r,s,n,i,a&&_(a),o&&_(o),l),t)},k=e.cwrap("sqlite3_data_count",...eE("n:n")),V.data_count=function(e){return es(e),k(e)},V.exec=async function(e,t,r){for await(let s of V.statements(e,t)){let e;for(;await V.step(s)===100;)if(r){e=e??V.column_names(s);let t=V.row(s);await r(t,e)}}return 0},E=e.cwrap("sqlite3_finalize",...eE("n:n"),{async:!0}),V.finalize=async function(e){let t=await E(e);return er.delete(e),t},x=e.cwrap("sqlite3_get_autocommit",...eE("n:n")),V.get_autocommit=function(e){return x(e)},S=e.cwrap("sqlite3_libversion",...eE(":s")),V.libversion=function(){return S()},F=e.cwrap("sqlite3_libversion_number",...eE(":n")),V.libversion_number=function(){return F()},A=e.cwrap("sqlite3_limit",...eE("nnn:n")),V.limit=function(e,t,r){return A(e,t,r)},T=e.cwrap("sqlite3_open_v2",...eE("snnn:n"),{async:!0}),V.open_v2=async function(t,r,s){r=r||6,s=J(s);try{let n=await ei(()=>T(t,K[0],r,s)),i=e.getValue(K[0],"*");return ee.add(i),e.ccall("RegisterExtensionFunctions","void",["number"],[i]),en("sqlite3_open_v2",n),i}finally{e._sqlite3_free(s)}},V.progress_handler=function(t,r,s,n){et(t),e.progress_handler(t,r,s,n)},P=e.cwrap("sqlite3_reset",...eE("n:n"),{async:!0}),V.reset=async function(e){return es(e),en("sqlite3_reset",await P(e),er.get(e))},V.result=function(e,t){switch(typeof t){case"number":t===(0|t)?V.result_int(e,t):V.result_double(e,t);break;case"string":V.result_text(e,t);break;default:if(t instanceof Uint8Array||Array.isArray(t))V.result_blob(e,t);else if(null===t)V.result_null(e);else{if("bigint"==typeof t)return V.result_int64(e,t);console.warn("unknown result converted to null",t),V.result_null(e)}}},I=e.cwrap("sqlite3_result_blob",...eE("nnnn:n")),V.result_blob=function(t,r){let s=r.byteLength??r.length,n=e._sqlite3_malloc(s);e.HEAPU8.subarray(n).set(r),I(t,n,s,G)},D=e.cwrap("sqlite3_result_double",...eE("nn:n")),V.result_double=function(e,t){D(e,t)},z=e.cwrap("sqlite3_result_int",...eE("nn:n")),V.result_int=function(e,t){z(e,t)},L=e.cwrap("sqlite3_result_int64",...eE("nnn:n")),V.result_int64=function(e,t){if(t>0x7fffffffffffffffn||t<ey)return 25;L(e,Number(4294967295n&t),Number(t>>32n))},M=e.cwrap("sqlite3_result_null",...eE("n:n")),V.result_null=function(e){M(e)},j=e.cwrap("sqlite3_result_text",...eE("nnnn:n")),V.result_text=function(e,t){j(e,J(t),-1,G)},V.row=function(t){let r=[],s=V.data_count(t);for(let n=0;n<s;++n){let s=V.column(t,n);r.push(s?.buffer===e.HEAPU8.buffer?s.slice():s)}return r},V.set_authorizer=function(t,r,s){function n(t,r,s,n,i,a){return[t,r,e.UTF8ToString(s),e.UTF8ToString(n),e.UTF8ToString(i),e.UTF8ToString(a)]}return et(t),en("sqlite3_set_authorizer",e.set_authorizer(t,r instanceof eq?async(e,t,s,i,a,o)=>r(...n(e,t,s,i,a,o)):(e,t,s,i,a,o)=>r(...n(e,t,s,i,a,o)),s),t)},C=e.cwrap("sqlite3_sql",...eE("n:s")),V.sql=function(e){return es(e),C(e)},V.statements=function(t,r,s={}){let n=e.cwrap("sqlite3_prepare_v3","number",["number","number","number","number","number","number"],{async:!0});return async function*(){let i=[];try{let o,l=Y.encode(r),_=l.byteLength-l.byteLength%4+12,c=e._sqlite3_malloc(_),u=c+l.byteLength+1;i.push(()=>e._sqlite3_free(c)),e.HEAPU8.set(l,c),e.HEAPU8[u-1]=0;let d=c+_-8,h=c+_-4;function a(){o&&!s.unscoped&&V.finalize(o),o=0}i.push(a),e.setValue(h,c,"*");do{a();let r=e.getValue(h,"*"),i=await ei(()=>n(t,r,u-h,s.flags||0,d,h));0!==i&&en("sqlite3_prepare_v3",i,t),(o=e.getValue(d,"*"))&&(er.set(o,t),yield o)}while(o)}finally{for(;i.length;)i.pop()()}}()},R=e.cwrap("sqlite3_step",...eE("n:n"),{async:!0}),V.step=async function(e){return es(e),en("sqlite3_step",await ei(()=>R(e)),er.get(e),[100,101])},V.commit_hook=function(t,r){et(t),e.commit_hook(t,r)},V.update_hook=function(t,r){function s(t,r,s,n,i){return[t,e.UTF8ToString(r),e.UTF8ToString(s),Z(n,i)]}et(t),e.update_hook(t,r instanceof eq?async(e,t,n,i,a)=>r(...s(e,t,n,i,a)):(e,t,n,i,a)=>r(...s(e,t,n,i,a)))},V.value=function(t){let r=V.value_type(t);switch(r){case 4:return V.value_blob(t);case 2:return V.value_double(t);case 1:return Q(V.value_int(t),e.getTempRet0());case 5:return null;case 3:return V.value_text(t);default:throw new ek("unknown type",r)}},H=e.cwrap("sqlite3_value_blob",...eE("n:n")),V.value_blob=function(t){let r=V.value_bytes(t),s=H(t);return e.HEAPU8.subarray(s,s+r)},O=e.cwrap("sqlite3_value_bytes",...eE("n:n")),V.value_bytes=function(e){return O(e)},U=e.cwrap("sqlite3_value_double",...eE("n:n")),V.value_double=function(e){return U(e)},N=e.cwrap("sqlite3_value_int64",...eE("n:n")),V.value_int=function(e){return N(e)},B=e.cwrap("sqlite3_value_int64",...eE("n:n")),V.value_int64=function(t){return Z(B(t),e.getTempRet0())},$=e.cwrap("sqlite3_value_text",...eE("n:s")),V.value_text=function(e){return $(e)},W=e.cwrap("sqlite3_value_type",...eE("n:n")),V.value_type=function(e){return W(e)},V.vfs_register=function(t,r){return en("sqlite3_vfs_register",e.vfs_register(t,r))},V}(e);return d.fs().then(r=>({sqlite:t,module:e,vfsModule:r[l]}))}).then(({sqlite:e,module:t,vfsModule:s})=>s.create(l,t,{lockPolicy:"shared"}).then(t=>(e.vfs_register(t,!0),ej.withLock(`bsq:init:${r}`,async()=>{let t=await e.open_v2(r);for(let r of Object.entries(c).map(([e,t])=>{if(!eT.test(e))throw new eA("INVALID_PRAGMA",`Invalid pragma name ${JSON.stringify(e)}: a pragma name must match ${eT}.`);let r=String(t).trim();if(eP.test(r)||eT.test(r)||eI.test(r))return`PRAGMA ${e}=${r}`;throw new eA("INVALID_PRAGMA",`Invalid value ${JSON.stringify(t)} for pragma "${e}": expected an integer, a bare word such as WAL, or a quoted literal.`)}))for await(let s of e.statements(t,r))for(;await e.step(s)===100;);return{sqlite:e,db:t}})))).then(e=>(self.postMessage({type:"ready",callId:0}),e)).catch(e=>{throw self.postMessage({type:"open-error",callId:0,message:e instanceof Error?e.message:`Failed to open ${r}`,cause:eD(e),..."number"==typeof e?.code?{sqliteCode:e.code}:{}}),e})).catch(()=>{});let h=e=>{self.postMessage(e)},f=0,p=(n=s.statementCacheSize??0,i=new Map,a=(e,t)=>{i.delete(e),i.set(e,t)},o=()=>{let e=[];for(;i.size>n;){let t=i.keys().next();if(t.done)break;let r=i.get(t.value);i.delete(t.value),"number"==typeof r&&e.push(r)}return e},{get:e=>{let t=i.get(e);if(void 0!==t)return a(e,t),null===t?"uncacheable":t},set:(e,t)=>(a(e,t),o()),markUncacheable:e=>(a(e,null),o()),delete:e=>{let t=i.get(e);return i.delete(e),"number"==typeof t?t:void 0},drain:()=>{let e=[];for(let t of i.values())"number"==typeof t&&e.push(t);return i.clear(),e}}),m=async function*(t,r,s){if(!e)throw Error("No DB opened");let{sqlite:n,db:i}=await e,{chunkSize:a=1}=s??{},o=[],l=async function*(e){let t;for(r?.length&&n.bind_collection(e,r);!eM.isStopped();){let r=await n.step(e);if(eM.isStopped())break;if(100===r){t??=n.column_names(e);let r=n.row(e),s={};for(let e=0;e<t.length;e++)s[t[e]]=r[e];o.push(s),o.length>=a&&(yield o.splice(0,a))}else{for(;o.length;)yield o.splice(0,a);break}}},_=async(e,r)=>{if(r){p.delete(t),await n.finalize(e);return}try{await n.reset(e),n.clear_bindings(e)}catch{p.delete(t),await n.finalize(e);return}for(let r of p.set(t,e))await n.finalize(r)},c=p.get(t);if("number"==typeof c){let e=!1;try{yield*l(c)}catch(t){throw e=!0,t}finally{await _(c,e)}}else if("uncacheable"===c)for await(let e of n.statements(i,t))f++,yield*l(e);else{let e,r,s,a=!1;try{for await(let a of n.statements(i,t,{unscoped:!0,flags:1}))f++,(s??=eH(t,n.sql(a)))?e=a:r=a,yield*l(a),s||(await n.finalize(a),r=void 0)}catch(e){throw a=!0,e}finally{if(void 0!==e?await _(e,a):void 0!==r&&await n.finalize(r),!1===s)for(let e of p.markUncacheable(t))await n.finalize(e)}}yield n.changes(i)};self.onmessage=async r=>{let{data:s}=r;switch(s.type){case"query":{let{callId:e,sql:r,params:n,options:i}=s;try{eM.reset(e,i?.credits??2),f=0,t=Promise.withResolvers();let s=0;for await(let t of m(r,n,i)){if("number"==typeof t){s=t;break}if(await eM.take(e)==="stopped")break;h({type:"chunk",callId:e,data:t})}eC?h({type:"error",callId:e,message:"The SQLite client has been closed."}):h({type:"done",callId:e,affected:s,prepared:f})}catch(t){h({type:"error",callId:e,..."object"==typeof t?t instanceof Error?{message:t.message,cause:eD(t.cause)}:{message:"Unknown error",cause:t}:{message:`Unknown error (${t})`},..."number"==typeof t?.code?{sqliteCode:t.code}:{}})}finally{t?.resolve(),t=void 0}break}case"close":eC=!0,eM.stop(),await (t?.promise??Promise.resolve());try{let{sqlite:t,db:r}=await e;for(let e of p.drain())await t.finalize(e);await t.close(r)}catch{}h({type:"closed",callId:0});break;case"open":throw Error("DB already opened");case"delete":throw Error("delete message cannot arrive after a database is opened");case"credit":eM.grant(s.callId,s.n);break;case"stop":eM.stop();break;default:throw Error(`Unhandled worker message: ${JSON.stringify(s)}`)}}})(r,{vfs:n,build:i,pragmas:a,statementCacheSize:o});break}case"delete":eN(s).then(()=>{self.postMessage({type:"deleted",callId:0})}).catch(e=>{self.postMessage({type:"error",callId:0,message:e instanceof Error?e.message:`Failed to delete ${s.file}`,cause:eD(e),..."number"==typeof e?.code?{sqliteCode:e.code}:{}})});break;case"query":case"credit":case"stop":break;case"close":self.postMessage({type:"closed",callId:0});break;default:throw Error(`Unhandled worker message: ${JSON.stringify(s)}`)}};export{};
|
|
11
|
+
//# sourceMappingURL=worker.js.map
|