Files
jap_web/jwl/assets/db-worker-DEWOyJFk.js
T
2026-07-03 13:06:14 +03:00

44 lines
62 KiB
JavaScript

(function(){let e=9223372036854775807n,t=-9223372036854775808n;var n=class extends Error{constructor(e,t){super(e),this.code=t}};function r(r){let a={},o=r._getSqliteFree(),s=r._malloc(8),c=[s,s+4];function l(e){if(typeof e!=`string`)return 0;let t=r.lengthBytesUTF8(e),n=r._sqlite3_malloc(t+1);return r.stringToUTF8(e,n,t+1),n}function u(e,t){return BigInt(t)<<32n|BigInt(e)&4294967295n}let d=(function(){let e=BigInt(2**53-1)>>32n,t=BigInt(-(2**53-1))>>32n;return function(n,r){return r>e||r<t?u(n,r):r*4294967296+(n&2147483647)-(n&2147483648)}})(),f=new Set;function p(e){if(!f.has(e))throw new n(`not a database`,21)}let m=new Map;function h(e){if(!m.has(e))throw new n(`not a statement`,21)}a.bind_collection=function(e,t){h(e);let n=Array.isArray(t),r=a.bind_parameter_count(e);for(let i=1;i<=r;++i){let r=t[n?i-1:a.bind_parameter_name(e,i)];r!==void 0&&a.bind(e,i,r)}return 0},a.bind=function(e,t,n){switch(h(e),typeof n){case`number`:return n===(n|0)?a.bind_int(e,t,n):a.bind_double(e,t,n);case`string`:return a.bind_text(e,t,n);default:return n instanceof Uint8Array||Array.isArray(n)?a.bind_blob(e,t,n):n===null?a.bind_null(e,t):typeof n==`bigint`?a.bind_int64(e,t,n):n===void 0?27:(console.warn(`unknown binding converted to null`,n),a.bind_null(e,t))}},a.bind_blob=(function(){let e=`sqlite3_bind_blob`,t=r.cwrap(e,...i(`nnnnn:n`));return function(n,i,a){h(n);let s=a.byteLength??a.length,c=r._sqlite3_malloc(s);return r.HEAPU8.subarray(c).set(a),v(e,t(n,i,c,s,o),m.get(n))}})(),a.bind_parameter_count=(function(){let e=r.cwrap(`sqlite3_bind_parameter_count`,...i(`n:n`));return function(t){return h(t),e(t)}})(),a.bind_double=(function(){let e=`sqlite3_bind_double`,t=r.cwrap(e,...i(`nnn:n`));return function(n,r,i){return h(n),v(e,t(n,r,i),m.get(n))}})(),a.bind_int=(function(){let e=`sqlite3_bind_int`,t=r.cwrap(e,...i(`nnn:n`));return function(n,r,i){return h(n),i>2147483647||i<-2147483648?25:v(e,t(n,r,i),m.get(n))}})(),a.bind_int64=(function(){let n=`sqlite3_bind_int64`,a=r.cwrap(n,...i(`nnnn:n`));return function(r,i,o){if(h(r),o>e||o<t)return 25;let s=o&4294967295n,c=o>>32n;return v(n,a(r,i,Number(s),Number(c)),m.get(r))}})(),a.bind_null=(function(){let e=`sqlite3_bind_null`,t=r.cwrap(e,...i(`nn:n`));return function(n,r){return h(n),v(e,t(n,r),m.get(n))}})(),a.bind_parameter_name=(function(){let e=r.cwrap(`sqlite3_bind_parameter_name`,...i(`n:s`));return function(t,n){return h(t),e(t,n)}})(),a.bind_text=(function(){let e=`sqlite3_bind_text`,t=r.cwrap(e,...i(`nnnnn:n`));return function(n,r,i){return h(n),v(e,t(n,r,l(i),-1,o),m.get(n))}})(),a.changes=(function(){let e=r.cwrap(`sqlite3_changes`,...i(`n:n`));return function(t){return p(t),e(t)}})(),a.close=(function(){let e=`sqlite3_close`,t=r.cwrap(e,...i(`n:n`),{async:!0});return async function(n){p(n);let r=await t(n);return f.delete(n),v(e,r,n)}})(),a.column=function(e,t){h(e);let i=a.column_type(e,t);switch(i){case 4:return a.column_blob(e,t);case 2:return a.column_double(e,t);case 1:return d(a.column_int(e,t),r.getTempRet0());case 5:return null;case 3:return a.column_text(e,t);default:throw new n(`unknown type`,i)}},a.column_blob=(function(){let e=r.cwrap(`sqlite3_column_blob`,...i(`nn:n`));return function(t,n){h(t);let i=a.column_bytes(t,n),o=e(t,n);return r.HEAPU8.subarray(o,o+i)}})(),a.column_bytes=(function(){let e=r.cwrap(`sqlite3_column_bytes`,...i(`nn:n`));return function(t,n){return h(t),e(t,n)}})(),a.column_count=(function(){let e=r.cwrap(`sqlite3_column_count`,...i(`n:n`));return function(t){return h(t),e(t)}})(),a.column_double=(function(){let e=r.cwrap(`sqlite3_column_double`,...i(`nn:n`));return function(t,n){return h(t),e(t,n)}})(),a.column_int=(function(){let e=r.cwrap(`sqlite3_column_int64`,...i(`nn:n`));return function(t,n){return h(t),e(t,n)}})(),a.column_int64=(function(){let e=r.cwrap(`sqlite3_column_int64`,...i(`nn:n`));return function(t,n){return h(t),u(e(t,n),r.getTempRet0())}})(),a.column_name=(function(){let e=r.cwrap(`sqlite3_column_name`,...i(`nn:s`));return function(t,n){return h(t),e(t,n)}})(),a.column_names=function(e){let t=[],n=a.column_count(e);for(let r=0;r<n;++r)t.push(a.column_name(e,r));return t},a.column_text=(function(){let e=r.cwrap(`sqlite3_column_text`,...i(`nn:s`));return function(t,n){return h(t),e(t,n)}})(),a.column_type=(function(){let e=r.cwrap(`sqlite3_column_type`,...i(`nn:n`));return function(t,n){return h(t),e(t,n)}})(),a.create_function=function(e,t,i,a,o,s,c,l){if(p(e),s&&!c&&!l)return v(`sqlite3_create_function`,r.createFunction(e,t,i,a,o,s),e);if(!s&&c&&l)return v(`sqlite3_create_function`,r.createAggregate(e,t,i,a,o,c,l),e);throw new n(`invalid function combination`,21)},a.create_module=function(e,t,n,i){return p(e),v(`sqlite3_create_module`,r.createModule(e,t,n,i),e)},a.data_count=(function(){let e=r.cwrap(`sqlite3_data_count`,...i(`n:n`));return function(t){return h(t),e(t)}})(),a.declare_vtab=(function(){let e=r.cwrap(`sqlite3_declare_vtab`,...i(`ns:n`));return function(t,n){return v(`sqlite3_declare_vtab`,e(t,n))}})(),a.exec=async function(e,t,n){for await(let r of a.statements(e,t)){let e;for(;await a.step(r)===100;)n&&(e??=a.column_names(r),await n(a.row(r),e))}return 0},a.run=async function(e,t,n){for await(let r of a.statements(e,t))n&&a.bind_collection(r,n),await a.step(r);return 0},a.execWithParams=async function(e,t,n){let r=[],i=[];for await(let o of a.statements(e,t))for(n&&a.bind_collection(o,n);await a.step(o)===100;){r=r.length===0?a.column_names(o):r;let e=a.row(o);i.push(e)}return{rows:i,columns:r}},a.executeBatch=async function(e,t,n){try{await a.run(e,`BEGIN EXCLUSIVE TRANSACTION`,null);for(let r=0;r<t.length;r++){let i=n?n[r]:null,o,s=a.str_new(e,t[r]);try{let t=a.str_value(s);o=await a.prepare_v2(e,t),i&&a.bind_collection(o.stmt,i),await a.step(o.stmt)}finally{o?.stmt&&a.finalize(o.stmt),a.str_finish(s)}}return await a.run(e,`COMMIT`,null),0}catch{await a.run(e,`ROLLBACK`,null)}},a.finalize=(function(){let e=r.cwrap(`sqlite3_finalize`,...i(`n:n`),{async:!0});return async function(t){if(!m.has(t))return 21;let n=await e(t);return m.get(t),m.delete(t),n}})(),a.get_autocommit=(function(){let e=r.cwrap(`sqlite3_get_autocommit`,...i(`n:n`));return function(t){return e(t)}})(),a.libversion=(function(){let e=r.cwrap(`sqlite3_libversion`,...i(`:s`));return function(){return e()}})(),a.libversion_number=(function(){let e=r.cwrap(`sqlite3_libversion_number`,...i(`:n`));return function(){return e()}})(),a.limit=(function(){let e=r.cwrap(`sqlite3_limit`,...i(`nnn:n`));return function(t,n,r){return e(t,n,r)}})(),a.open_v2=(function(){let e=`sqlite3_open_v2`,t=r.cwrap(e,...i(`snnn:n`),{async:!0});return async function(n,i,a){i||=6,a=l(a);let o=await t(n,c[0],i,a),s=r.getValue(c[0],`*`);return f.add(s),r._sqlite3_free(a),r.ccall(`RegisterExtensionFunctions`,`void`,[`number`],[s]),v(e,o),s}})(),a.prepare_v2=(function(){let e=`sqlite3_prepare_v2`,t=r.cwrap(e,...i(`nnnnn:n`),{async:!0});return async function(n,i){v(e,await t(n,i,-1,c[0],c[1]),n);let a=r.getValue(c[0],`*`);return a?(m.set(a,n),{stmt:a,sql:r.getValue(c[1],`*`)}):null}})(),a.progress_handler=function(e,t,n,i){p(e),r.progressHandler(e,t,n,i)},a.reset=(function(){let e=`sqlite3_reset`,t=r.cwrap(e,...i(`n:n`),{async:!0});return async function(n){return h(n),v(e,await t(n),m.get(n))}})(),a.result=function(e,t){switch(typeof t){case`number`:t===(t|0)?a.result_int(e,t):a.result_double(e,t);break;case`string`:a.result_text(e,t);break;default:if(t instanceof Uint8Array||Array.isArray(t))a.result_blob(e,t);else if(t===null)a.result_null(e);else if(typeof t==`bigint`)return a.result_int64(e,t);else console.warn(`unknown result converted to null`,t),a.result_null(e);break}},a.result_blob=(function(){let e=r.cwrap(`sqlite3_result_blob`,...i(`nnnn:n`));return function(t,n){let i=n.byteLength??n.length,a=r._sqlite3_malloc(i);r.HEAPU8.subarray(a).set(n),e(t,a,i,o)}})(),a.result_double=(function(){let e=r.cwrap(`sqlite3_result_double`,...i(`nn:n`));return function(t,n){e(t,n)}})(),a.result_int=(function(){let e=r.cwrap(`sqlite3_result_int`,...i(`nn:n`));return function(t,n){e(t,n)}})(),a.result_int64=(function(){let n=r.cwrap(`sqlite3_result_int64`,...i(`nnn:n`));return function(r,i){if(i>e||i<t)return 25;let a=i&4294967295n,o=i>>32n;n(r,Number(a),Number(o))}})(),a.result_null=(function(){let e=r.cwrap(`sqlite3_result_null`,...i(`n:n`));return function(t){e(t)}})(),a.result_text=(function(){let e=r.cwrap(`sqlite3_result_text`,...i(`nnnn:n`));return function(t,n){e(t,l(n),-1,o)}})(),a.row=function(e){let t=[],n=a.data_count(e);for(let i=0;i<n;++i){let n=a.column(e,i);t.push(n?.buffer===r.HEAPU8.buffer?n.slice():n)}return t},a.set_authorizer=function(e,t,n){return p(e),v(`sqlite3_set_authorizer`,r.setAuthorizer(e,t,n),e)},a.sql=(function(){let e=r.cwrap(`sqlite3_sql`,...i(`n:s`));return function(t){return h(t),e(t)}})(),a.statements=function(e,t){return(async function*(){let n=a.str_new(e,t),r={stmt:null,sql:a.str_value(n)};try{for(;r=await a.prepare_v2(e,r.sql);)yield r.stmt,a.finalize(r.stmt),r.stmt=null}finally{r?.stmt&&a.finalize(r.stmt),a.str_finish(n)}})()},a.step=(function(){let e=`sqlite3_step`,t=r.cwrap(e,...i(`n:n`),{async:!0});return async function(n){return h(n),v(e,await t(n),m.get(n),[100,101])}})();let g=0,_=new Map;a.str_new=function(e,t=``){let n=r.lengthBytesUTF8(t),i=g++&4294967295,a={offset:r._sqlite3_malloc(n+1),bytes:n};return _.set(i,a),r.stringToUTF8(t,a.offset,a.bytes+1),i},a.str_appendall=function(e,t){if(!_.has(e))throw new n(`not a string`,21);let i=_.get(e),a=r.lengthBytesUTF8(t),o=i.bytes+a,s=r._sqlite3_malloc(o+1);r.HEAPU8.subarray(s,s+o+1).set(r.HEAPU8.subarray(i.offset,i.offset+i.bytes)),r.stringToUTF8(t,s+i.bytes,a+1),r._sqlite3_free(i.offset),i.offset=s,i.bytes=o,_.set(e,i)},a.str_finish=function(e){if(!_.has(e))throw new n(`not a string`,21);let t=_.get(e);_.delete(e),r._sqlite3_free(t.offset)},a.str_value=function(e){if(!_.has(e))throw new n(`not a string`,21);return _.get(e).offset},a.update_hook=function(e,t){return p(e),r.updateHook(e,t),0},a.user_data=function(e){return r.getFunctionUserData(e)},a.value=function(e){let t=a.value_type(e);switch(t){case 4:return a.value_blob(e);case 2:return a.value_double(e);case 1:return d(a.value_int(e),r.getTempRet0());case 5:return null;case 3:return a.value_text(e);default:throw new n(`unknown type`,t)}},a.value_blob=(function(){let e=r.cwrap(`sqlite3_value_blob`,...i(`n:n`));return function(t){let n=a.value_bytes(t),i=e(t);return r.HEAPU8.subarray(i,i+n)}})(),a.value_bytes=(function(){let e=r.cwrap(`sqlite3_value_bytes`,...i(`n:n`));return function(t){return e(t)}})(),a.value_double=(function(){let e=r.cwrap(`sqlite3_value_double`,...i(`n:n`));return function(t){return e(t)}})(),a.value_int=(function(){let e=r.cwrap(`sqlite3_value_int64`,...i(`n:n`));return function(t){return e(t)}})(),a.value_int64=(function(){let e=r.cwrap(`sqlite3_value_int64`,...i(`n:n`));return function(t){return u(e(t),r.getTempRet0())}})(),a.value_text=(function(){let e=r.cwrap(`sqlite3_value_text`,...i(`n:s`));return function(t){return e(t)}})(),a.value_type=(function(){let e=r.cwrap(`sqlite3_value_type`,...i(`n:n`));return function(t){return e(t)}})(),a.vfs_register=function(e,t){return v(`sqlite3_vfs_register`,r.registerVFS(e,t))};function v(e,t,i=null,a=[0]){if(a.includes(t))return t;throw new n(i?r.ccall(`sqlite3_errmsg`,`string`,[`number`],[i]):e,t)}return a}function i(e){let t=[],n=e.match(/([ns@]*):([nsv@])/);switch(n[2]){case`n`:t.push(`number`);break;case`s`:t.push(`string`);break;case`v`:t.push(null);break}let r=[];for(let e of n[1])switch(e){case`n`:r.push(`number`);break;case`s`:r.push(`string`);break}return t.push(r),t}var a=class{mxPathName=64;xClose(e){return 10}xRead(e,t,n){return 10}xWrite(e,t,n){return 10}xTruncate(e,t){return 10}xSync(e,t){return 0}xFileSize(e,t){return 10}xLock(e,t){return 0}xUnlock(e,t){return 0}xCheckReservedLock(e,t){return t.setInt32(0,0,!0),0}xFileControl(e,t,n){return 12}xSectorSize(e){return 512}xDeviceCharacteristics(e){return 0}xOpen(e,t,n,r){return 14}xDelete(e,t){return 10}xAccess(e,t,n){return 10}handleAsync(e){return e()}};[256,2048,512,4096,1024,8192,16384].reduce((e,t)=>e|t);var o=class{get state(){return this.#e}#e=0;timeoutMillis=0;#t=new Map;#n=Promise.resolve(0);async lock(e){return this.#r(this.#i,e)}async unlock(e){return this.#r(this.#a,e)}async isSomewhereReserved(){throw Error(`unimplemented`)}async#r(e,t){let n=t&7;try{let t=()=>e.call(this,n);return await(this.#n=this.#n.then(t,t)),this.#e=n,0}catch(e){return e.name===`AbortError`?5:(console.error(e),3850)}}async#i(e){if(e===this.#e)return 0;switch(this.#e){case 0:switch(e){case 1:return this._NONEtoSHARED();default:throw Error(`unexpected transition ${this.#e} -> ${e}`)}case 1:switch(e){case 2:return this._SHAREDtoRESERVED();case 4:return this._SHAREDtoEXCLUSIVE();default:throw Error(`unexpected transition ${this.#e} -> ${e}`)}case 2:switch(e){case 4:return this._RESERVEDtoEXCLUSIVE();default:throw Error(`unexpected transition ${this.#e} -> ${e}`)}default:throw Error(`unexpected transition ${this.#e} -> ${e}`)}}async#a(e){if(e===this.#e)return 0;switch(this.#e){case 4:switch(e){case 1:return this._EXCLUSIVEtoSHARED();case 0:return this._EXCLUSIVEtoNONE();default:throw Error(`unexpected transition ${this.#e} -> ${e}`)}case 2:switch(e){case 1:return this._RESERVEDtoSHARED();case 0:return this._RESERVEDtoNONE();default:throw Error(`unexpected transition ${this.#e} -> ${e}`)}case 1:switch(e){case 0:return this._SHAREDtoNONE();default:throw Error(`unexpected transition ${this.#e} -> ${e}`)}default:throw Error(`unexpected transition ${this.#e} -> ${e}`)}}async _NONEtoSHARED(){}async _SHAREDtoEXCLUSIVE(){await this._SHAREDtoRESERVED(),await this._RESERVEDtoEXCLUSIVE()}async _SHAREDtoRESERVED(){}async _RESERVEDtoEXCLUSIVE(){}async _EXCLUSIVEtoRESERVED(){}async _EXCLUSIVEtoSHARED(){await this._EXCLUSIVEtoRESERVED(),await this._RESERVEDtoSHARED()}async _EXCLUSIVEtoNONE(){await this._EXCLUSIVEtoRESERVED(),await this._RESERVEDtoSHARED(),await this._SHAREDtoNONE()}async _RESERVEDtoSHARED(){}async _RESERVEDtoNONE(){await this._RESERVEDtoSHARED(),await this._SHAREDtoNONE()}async _SHAREDtoNONE(){}_acquireWebLock(e,t){return new Promise(async(n,r)=>{try{await navigator.locks.request(e,t,t=>{if(n(t),t)return new Promise(t=>this.#t.set(e,t))})}catch(e){r(e)}})}_releaseWebLock(e){this.#t.get(e)?.(),this.#t.delete(e)}async _pollWebLock(e){return(await navigator.locks.query()).held.find(({name:t})=>t===e)?.mode}_getTimeoutSignal(){if(this.timeoutMillis){let e=new AbortController;return setTimeout(()=>e.abort(),this.timeoutMillis),e.signal}}},s=class extends o{constructor(e){super(),this._lockName=e+`-outer`,this._reservedName=e+`-reserved`}async isSomewhereReserved(){return await this._pollWebLock(this._reservedName)===`exclusive`}async _NONEtoSHARED(){await this._acquireWebLock(this._lockName,{mode:`exclusive`,signal:this._getTimeoutSignal()})}async _SHAREDtoRESERVED(){await this._acquireWebLock(this._reservedName,{mode:`exclusive`,signal:this._getTimeoutSignal()})}async _RESERVEDtoSHARED(){this._releaseWebLock(this._reservedName)}async _SHAREDtoNONE(){this._releaseWebLock(this._lockName)}};let c=new Map;var l=class extends a{#e=null;#t=navigator.storage.getDirectory().then(e=>(this.#e=e,e));#n=new Map;get name(){return`opfs`}async close(){for(let e of this.#n.keys())await this.xClose(e)}xOpen(e,t,n,r){return this.handleAsync(async()=>{e===null&&(e=`null_${t}`),`${e}${t}${n.toString(16)}`;try{let i=new URL(e,`http://localhost/`),a=!!(n&4),[o,c]=await this.#r(i,a),l=await o.getFileHandle(c,{create:a}),u={filename:i.pathname,flags:n,fileHandle:l,accessHandle:null,locks:new s(i.pathname)};return this.#n.set(t,u),(!(n&256)||i.searchParams.has(`immutable`)||i.searchParams.has(`nolock`))&&await this.#i(u),r.setInt32(0,n,!0),0}catch(e){return console.error(e.message),14}})}xClose(e){return this.handleAsync(async()=>{let t=this.#n.get(e);if(t&&(`${t.filename}`,this.#n.delete(e),await t.accessHandle?.close(),t.flags&8)){let[e,n]=await this.#r(t.filename,!1);e.removeEntry(n)}return 0})}xRead(e,t,n){return this.handleAsync(async()=>{let r=this.#n.get(e);`${r.filename}${t.byteLength}${n}`;let i;if(r.accessHandle)i=r.accessHandle.read(t,{at:n});else{let e=(await r.fileHandle.getFile()).slice(n,n+t.byteLength),a=await e.arrayBuffer();t.set(new Uint8Array(a)),i=Math.min(t.byteLength,e.size)}return i<t.byteLength?(t.fill(0,i,t.byteLength),522):0})}xWrite(e,t,n){let r=this.#n.get(e);return`${r.filename}${t.byteLength}${n}`,r.accessHandle.write(t,{at:n})===t.byteLength?0:10}xTruncate(e,t){return this.handleAsync(async()=>{let n=this.#n.get(e);return`${n.filename}${t}`,await(await this.#i(n)).truncate(t),0})}xSync(e,t){return this.handleAsync(async()=>{let n=this.#n.get(e);return`${n.filename}${t}`,await n.accessHandle?.flush(),0})}xFileSize(e,t){return this.handleAsync(async()=>{let n=this.#n.get(e);`${n.filename}`;let r;return r=n.accessHandle?await n.accessHandle.getSize():(await n.fileHandle.getFile()).size,t.setBigInt64(0,BigInt(r),!0),0})}xLock(e,t){return this.handleAsync(async()=>{let n=this.#n.get(e);return`${n.filename}${t}`,await n.locks.lock(t),t===4&&await this.#i(n),0})}xUnlock(e,t){return this.handleAsync(async()=>{let n=this.#n.get(e);return`${n.filename}${t}`,t!==4&&(await n.accessHandle?.close(),n.accessHandle=null),await n.locks.unlock(t),0})}xCheckReservedLock(e,t){return this.handleAsync(async()=>{let n=this.#n.get(e);`${n.filename}`;let r=await n.locks.isSomewhereReserved();return t.setInt32(0,+!!r,!0),0})}xSectorSize(e){return 4096}xDeviceCharacteristics(e){return 2048}xAccess(e,t,n){return this.handleAsync(async()=>{`${e}${t}`;try{let[t,r]=await this.#r(e,!1);await t.getFileHandle(r),n.setInt32(0,1,!0)}catch{n.setInt32(0,0,!0)}return 0})}xDelete(e,t){return this.handleAsync(async()=>{`${e}${t}`;let[n,r]=await this.#r(e,!1);return t?await n.removeEntry(r):n.removeEntry(r),0})}async#r(e,t){let[n,r,i]=(typeof e==`string`?new URL(e,`file://localhost/`):e).pathname.match(/[/]?(.*)[/](.*)$/),a=c.get(r);if(!a){a=this.#e??await this.#t;for(let e of r.split(`/`))e&&(a=await a.getDirectoryHandle(e,{create:t}));c.set(r,a)}return[a,i]}async#i(e){return e.accessHandle||=await e.fileHandle.createSyncAccessHandle(),e.accessHandle}},u=(()=>{var e=self.location.href;return(function(t={}){var n=t,r,i;n.ready=new Promise((e,t)=>{r=e,i=t});var a=Object.assign({},n),o=`./this.program`,s=(e,t)=>{throw t},c=typeof window==`object`,l=typeof importScripts==`function`,u=``,d;(c||l)&&(l?u=self.location.href:typeof document<`u`&&document.currentScript&&(u=document.currentScript.src),e&&(u=e),u=u.indexOf(`blob:`)===0?``:u.substr(0,u.replace(/[?#].*/,``).lastIndexOf(`/`)+1),l&&(d=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}));var f=n.print||console.log.bind(console),p=n.printErr||console.error.bind(console);Object.assign(n,a),a=null,n.thisProgram&&(o=n.thisProgram),n.quit&&(s=n.quit);var m;n.wasmBinary&&(m=n.wasmBinary);var h=n.noExitRuntime||!0;typeof WebAssembly!=`object`&&T(`no native wasm support detected`);var g,_=!1,v,y,b,x,S,C,ee,te;function ne(){var e=g.buffer;n.HEAP8=y=new Int8Array(e),n.HEAP16=x=new Int16Array(e),n.HEAPU8=b=new Uint8Array(e),n.HEAPU16=new Uint16Array(e),n.HEAP32=S=new Int32Array(e),n.HEAPU32=C=new Uint32Array(e),n.HEAPF32=ee=new Float32Array(e),n.HEAPF64=te=new Float64Array(e)}var re=[],ie=[],ae=[],oe=[],se=0;function ce(){var e=n.preRun.shift();re.unshift(e)}var w=0,le=null,ue=null;function T(e){throw n.onAbort&&n.onAbort(e),e=`Aborted(`+e+`)`,p(e),_=!0,v=1,e=new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`),i(e),e}function de(e){return e.startsWith(`data:application/octet-stream;base64,`)}var E;if(n.locateFile){if(E=`wa-sqlite-async.wasm`,!de(E)){var fe=E;E=n.locateFile?n.locateFile(fe,u):u+fe}}else E=new URL(`/assets/wa-sqlite-async-DY3_ptqa.wasm`,``+self.location.href).href;function pe(e){if(e==E&&m)return new Uint8Array(m);if(d)return d(e);throw`both async and sync fetching of the wasm failed`}function me(e){return m||!c&&!l||typeof fetch!=`function`?Promise.resolve().then(()=>pe(e)):fetch(e,{credentials:`same-origin`}).then(t=>{if(!t.ok)throw`failed to load wasm binary file at '`+e+`'`;return t.arrayBuffer()}).catch(()=>pe(e))}function he(e,t,n){return me(e).then(e=>WebAssembly.instantiate(e,t)).then(e=>e).then(n,e=>{p(`failed to asynchronously prepare wasm: ${e}`),T(e)})}function ge(e,t){var n=E;return m||typeof WebAssembly.instantiateStreaming!=`function`||de(n)||typeof fetch!=`function`?he(n,e,t):fetch(n,{credentials:`same-origin`}).then(r=>WebAssembly.instantiateStreaming(r,e).then(t,function(r){return p(`wasm streaming compile failed: ${r}`),p(`falling back to ArrayBuffer instantiation`),he(n,e,t)}))}var D,O;function _e(e){this.name=`ExitStatus`,this.message=`Program terminated with exit(${e})`,this.status=e}var ve=e=>{for(;0<e.length;)e.shift()(n)};function k(e,t=`i8`){switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:return y[e>>0];case`i8`:return y[e>>0];case`i16`:return x[e>>1];case`i32`:return S[e>>2];case`i64`:T(`to do getValue(i64) use WASM_BIGINT`);case`float`:return ee[e>>2];case`double`:return te[e>>3];case`*`:return C[e>>2];default:T(`invalid type for getValue: ${t}`)}}function A(e,t,n=`i8`){switch(n.endsWith(`*`)&&(n=`*`),n){case`i1`:y[e>>0]=t;break;case`i8`:y[e>>0]=t;break;case`i16`:x[e>>1]=t;break;case`i32`:S[e>>2]=t;break;case`i64`:T(`to do setValue(i64) use WASM_BIGINT`);case`float`:ee[e>>2]=t;break;case`double`:te[e>>3]=t;break;case`*`:C[e>>2]=t;break;default:T(`invalid type for setValue: ${n}`)}}var ye=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0,j=(e,t,n)=>{var r=t+n;for(n=t;e[n]&&!(n>=r);)++n;if(16<n-t&&e.buffer&&ye)return ye.decode(e.subarray(t,n));for(r=``;t<n;){var i=e[t++];if(i&128){var a=e[t++]&63;if((i&224)==192)r+=String.fromCharCode((i&31)<<6|a);else{var o=e[t++]&63;i=(i&240)==224?(i&15)<<12|a<<6|o:(i&7)<<18|a<<12|o<<6|e[t++]&63,65536>i?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|i&1023))}}else r+=String.fromCharCode(i)}return r},be=(e,t)=>{for(var n=0,r=e.length-1;0<=r;r--){var i=e[r];i===`.`?e.splice(r,1):i===`..`?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift(`..`);return e},M=e=>{var t=e.charAt(0)===`/`,n=e.substr(-1)===`/`;return(e=be(e.split(`/`).filter(e=>!!e),!t).join(`/`))||t||(e=`.`),e&&n&&(e+=`/`),(t?`/`:``)+e},xe=e=>{var t=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1);return e=t[0],t=t[1],!e&&!t?`.`:(t&&=t.substr(0,t.length-1),e+t)},Se=e=>{if(e===`/`)return`/`;e=M(e),e=e.replace(/\/$/,``);var t=e.lastIndexOf(`/`);return t===-1?e:e.substr(t+1)},Ce=()=>{if(typeof crypto==`object`&&typeof crypto.getRandomValues==`function`)return e=>crypto.getRandomValues(e);T(`initRandomDevice`)},we=e=>(we=Ce())(e);function Te(){for(var e=``,t=!1,n=arguments.length-1;-1<=n&&!t;n--){if(t=0<=n?arguments[n]:`/`,typeof t!=`string`)throw TypeError(`Arguments to path.resolve must be strings`);if(!t)return``;e=t+`/`+e,t=t.charAt(0)===`/`}return e=be(e.split(`/`).filter(e=>!!e),!t).join(`/`),(t?`/`:``)+e||`.`}var Ee=[],N=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);127>=r?t++:2047>=r?t+=2:55296<=r&&57343>=r?(t+=4,++n):t+=3}return t},P=(e,t,n,r)=>{if(!(0<r))return 0;var i=n;r=n+r-1;for(var a=0;a<e.length;++a){var o=e.charCodeAt(a);if(55296<=o&&57343>=o){var s=e.charCodeAt(++a);o=65536+((o&1023)<<10)|s&1023}if(127>=o){if(n>=r)break;t[n++]=o}else{if(2047>=o){if(n+1>=r)break;t[n++]=192|o>>6}else{if(65535>=o){if(n+2>=r)break;t[n++]=224|o>>12}else{if(n+3>=r)break;t[n++]=240|o>>18,t[n++]=128|o>>12&63}t[n++]=128|o>>6&63}t[n++]=128|o&63}}return t[n]=0,n-i},De=[];function Oe(e,t){De[e]={input:[],Tb:[],dc:t},Ye(e,ke)}var ke={open(e){var t=De[e.node.hc];if(!t)throw new R(43);e.Ub=t,e.seekable=!1},close(e){e.Ub.dc.kc(e.Ub)},kc(e){e.Ub.dc.kc(e.Ub)},read(e,t,n,r){if(!e.Ub||!e.Ub.dc.zc)throw new R(60);for(var i=0,a=0;a<r;a++){try{var o=e.Ub.dc.zc(e.Ub)}catch{throw new R(29)}if(o===void 0&&i===0)throw new R(6);if(o==null)break;i++,t[n+a]=o}return i&&(e.node.timestamp=Date.now()),i},write(e,t,n,r){if(!e.Ub||!e.Ub.dc.tc)throw new R(60);try{for(var i=0;i<r;i++)e.Ub.dc.tc(e.Ub,t[n+i])}catch{throw new R(29)}return r&&(e.node.timestamp=Date.now()),i}},Ae={zc(){a:{if(!Ee.length){var e=null;if(typeof window<`u`&&typeof window.prompt==`function`?(e=window.prompt(`Input: `),e!==null&&(e+=`
`)):typeof readline==`function`&&(e=readline(),e!==null&&(e+=`
`)),!e){var t=null;break a}t=Array(N(e)+1),e=P(e,t,0,t.length),t.length=e,Ee=t}t=Ee.shift()}return t},tc(e,t){t===null||t===10?(f(j(e.Tb,0)),e.Tb=[]):t!=0&&e.Tb.push(t)},kc(e){e.Tb&&0<e.Tb.length&&(f(j(e.Tb,0)),e.Tb=[])},$c(){return{Wc:25856,Yc:5,Vc:191,Xc:35387,Uc:[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]}},ad(){return 0},bd(){return[24,80]}},je={tc(e,t){t===null||t===10?(p(j(e.Tb,0)),e.Tb=[]):t!=0&&e.Tb.push(t)},kc(e){e.Tb&&0<e.Tb.length&&(p(j(e.Tb,0)),e.Tb=[])}};function Me(e,t){var n=e.Pb?e.Pb.length:0;n>=t||(t=Math.max(t,n*(1048576>n?2:1.125)>>>0),n!=0&&(t=Math.max(t,256)),n=e.Pb,e.Pb=new Uint8Array(t),0<e.Rb&&e.Pb.set(n.subarray(0,e.Rb),0))}var F={Xb:null,Wb(){return F.createNode(null,`/`,16895,0)},createNode(e,t,n,r){if((n&61440)==24576||(n&61440)==4096)throw new R(63);return F.Xb||={dir:{node:{Vb:F.Eb.Vb,Sb:F.Eb.Sb,ec:F.Eb.ec,lc:F.Eb.lc,Dc:F.Eb.Dc,qc:F.Eb.qc,oc:F.Eb.oc,Cc:F.Eb.Cc,pc:F.Eb.pc},stream:{ac:F.Ob.ac}},file:{node:{Vb:F.Eb.Vb,Sb:F.Eb.Sb},stream:{ac:F.Ob.ac,read:F.Ob.read,write:F.Ob.write,wc:F.Ob.wc,mc:F.Ob.mc,nc:F.Ob.nc}},link:{node:{Vb:F.Eb.Vb,Sb:F.Eb.Sb,ic:F.Eb.ic},stream:{}},xc:{node:{Vb:F.Eb.Vb,Sb:F.Eb.Sb},stream:Je}},n=He(e,t,n,r),V(n.mode)?(n.Eb=F.Xb.dir.node,n.Ob=F.Xb.dir.stream,n.Pb={}):(n.mode&61440)==32768?(n.Eb=F.Xb.file.node,n.Ob=F.Xb.file.stream,n.Rb=0,n.Pb=null):(n.mode&61440)==40960?(n.Eb=F.Xb.link.node,n.Ob=F.Xb.link.stream):(n.mode&61440)==8192&&(n.Eb=F.Xb.xc.node,n.Ob=F.Xb.xc.stream),n.timestamp=Date.now(),e&&(e.Pb[t]=n,e.timestamp=n.timestamp),n},Zc(e){return e.Pb?e.Pb.subarray?e.Pb.subarray(0,e.Rb):new Uint8Array(e.Pb):new Uint8Array},Eb:{Vb(e){var t={};return t.Jc=(e.mode&61440)==8192?e.id:1,t.Ac=e.id,t.mode=e.mode,t.Pc=1,t.uid=0,t.Mc=0,t.hc=e.hc,V(e.mode)?t.size=4096:(e.mode&61440)==32768?t.size=e.Rb:(e.mode&61440)==40960?t.size=e.link.length:t.size=0,t.Fc=new Date(e.timestamp),t.Oc=new Date(e.timestamp),t.Ic=new Date(e.timestamp),t.Gc=4096,t.Hc=Math.ceil(t.size/t.Gc),t},Sb(e,t){if(t.mode!==void 0&&(e.mode=t.mode),t.timestamp!==void 0&&(e.timestamp=t.timestamp),t.size!==void 0&&(t=t.size,e.Rb!=t))if(t==0)e.Pb=null,e.Rb=0;else{var n=e.Pb;e.Pb=new Uint8Array(t),n&&e.Pb.set(n.subarray(0,Math.min(t,e.Rb))),e.Rb=t}},ec(){throw Re[44]},lc(e,t,n,r){return F.createNode(e,t,n,r)},Dc(e,t,n){if(V(e.mode)){try{var r=B(t,n)}catch{}if(r)for(var i in r.Pb)throw new R(55)}delete e.parent.Pb[e.name],e.parent.timestamp=Date.now(),e.name=n,t.Pb[n]=e,t.timestamp=e.parent.timestamp,e.parent=t},qc(e,t){delete e.Pb[t],e.timestamp=Date.now()},oc(e,t){var n=B(e,t),r;for(r in n.Pb)throw new R(55);delete e.Pb[t],e.timestamp=Date.now()},Cc(e){var t=[`.`,`..`],n;for(n in e.Pb)e.Pb.hasOwnProperty(n)&&t.push(n);return t},pc(e,t,n){return e=F.createNode(e,t,41471,0),e.link=n,e},ic(e){if((e.mode&61440)!=40960)throw new R(28);return e.link}},Ob:{read(e,t,n,r,i){var a=e.node.Pb;if(i>=e.node.Rb)return 0;if(e=Math.min(e.node.Rb-i,r),8<e&&a.subarray)t.set(a.subarray(i,i+e),n);else for(r=0;r<e;r++)t[n+r]=a[i+r];return e},write(e,t,n,r,i,a){if(t.buffer===y.buffer&&(a=!1),!r)return 0;if(e=e.node,e.timestamp=Date.now(),t.subarray&&(!e.Pb||e.Pb.subarray)){if(a)return e.Pb=t.subarray(n,n+r),e.Rb=r;if(e.Rb===0&&i===0)return e.Pb=t.slice(n,n+r),e.Rb=r;if(i+r<=e.Rb)return e.Pb.set(t.subarray(n,n+r),i),r}if(Me(e,i+r),e.Pb.subarray&&t.subarray)e.Pb.set(t.subarray(n,n+r),i);else for(a=0;a<r;a++)e.Pb[i+a]=t[n+a];return e.Rb=Math.max(e.Rb,i+r),r},ac(e,t,n){if(n===1?t+=e.position:n===2&&(e.node.mode&61440)==32768&&(t+=e.node.Rb),0>t)throw new R(28);return t},wc(e,t,n){Me(e.node,t+n),e.node.Rb=Math.max(e.node.Rb,t+n)},mc(e,t,n,r,i){if((e.node.mode&61440)!=32768)throw new R(43);if(e=e.node.Pb,i&2||e.buffer!==y.buffer){if((0<n||n+t<e.length)&&(e=e.subarray?e.subarray(n,n+t):Array.prototype.slice.call(e,n,n+t)),n=!0,t=65536*Math.ceil(t/65536),(i=An(65536,t))?(b.fill(0,i,i+t),t=i):t=0,!t)throw new R(48);y.set(e,t)}else n=!1,t=e.byteOffset;return{Qc:t,Ec:n}},nc(e,t,n,r){return F.Ob.write(e,t,0,r,n,!1),0}}},Ne=(e,t)=>{var n=0;return e&&(n|=365),t&&(n|=146),n},Pe=null,Fe={},I=[],Ie=1,L=null,Le=!0,R=null,Re={};function z(e,t={}){if(e=Te(e),!e)return{path:``,node:null};if(t=Object.assign({yc:!0,uc:0},t),8<t.uc)throw new R(32);e=e.split(`/`).filter(e=>!!e);for(var n=Pe,r=`/`,i=0;i<e.length;i++){var a=i===e.length-1;if(a&&t.parent)break;if(n=B(n,e[i]),r=M(r+`/`+e[i]),n.bc&&(!a||a&&t.yc)&&(n=n.bc.root),!a||t.$b){for(a=0;(n.mode&61440)==40960;)if(n=tt(r),r=Te(xe(r),n),n=z(r,{uc:t.uc+1}).node,40<a++)throw new R(32)}}return{path:r,node:n}}function ze(e){for(var t;;){if(e===e.parent)return e=e.Wb.Bc,t?e[e.length-1]===`/`?e+t:`${e}/${t}`:e;t=t?`${e.name}/${t}`:e.name,e=e.parent}}function Be(e,t){for(var n=0,r=0;r<t.length;r++)n=(n<<5)-n+t.charCodeAt(r)|0;return(e+n>>>0)%L.length}function Ve(e){var t=Be(e.parent.id,e.name);if(L[t]===e)L[t]=e.cc;else for(t=L[t];t;){if(t.cc===e){t.cc=e.cc;break}t=t.cc}}function B(e,t){var n;if(n=(n=H(e,`x`))?n:e.Eb.ec?0:2)throw new R(n,e);for(n=L[Be(e.id,t)];n;n=n.cc){var r=n.name;if(n.parent.id===e.id&&r===t)return n}return e.Eb.ec(e,t)}function He(e,t,n,r){return e=new wn(e,t,n,r),t=Be(e.parent.id,e.name),e.cc=L[t],L[t]=e}function V(e){return(e&61440)==16384}function Ue(e){var t=[`r`,`w`,`rw`][e&3];return e&512&&(t+=`w`),t}function H(e,t){if(Le)return 0;if(!t.includes(`r`)||e.mode&292){if(t.includes(`w`)&&!(e.mode&146)||t.includes(`x`)&&!(e.mode&73))return 2}else return 2;return 0}function We(e,t){try{return B(e,t),20}catch{}return H(e,`wx`)}function Ge(e,t,n){try{var r=B(e,t)}catch(e){return e.Qb}if(e=H(e,`wx`))return e;if(n){if(!V(r.mode))return 54;if(r===r.parent||ze(r)===`/`)return 10}else if(V(r.mode))return 31;return 0}function Ke(){for(var e=0;4096>=e;e++)if(!I[e])return e;throw new R(33)}function U(e){if(e=I[e],!e)throw new R(8);return e}function qe(e,t=-1){return q||(q=function(){this.jc={}},q.prototype={},Object.defineProperties(q.prototype,{object:{get(){return this.node},set(e){this.node=e}},flags:{get(){return this.jc.flags},set(e){this.jc.flags=e}},position:{get(){return this.jc.position},set(e){this.jc.position=e}}})),e=Object.assign(new q,e),t==-1&&(t=Ke()),e.Yb=t,I[t]=e}var Je={open(e){e.Ob=Fe[e.node.hc].Ob,e.Ob.open&&e.Ob.open(e)},ac(){throw new R(70)}};function Ye(e,t){Fe[e]={Ob:t}}function Xe(e,t){var n=t===`/`,r=!t;if(n&&Pe)throw new R(10);if(!n&&!r){var i=z(t,{yc:!1});if(t=i.path,i=i.node,i.bc)throw new R(10);if(!V(i.mode))throw new R(54)}t={type:e,dd:{},Bc:t,Nc:[]},e=e.Wb(t),e.Wb=t,t.root=e,n?Pe=e:i&&(i.bc=t,i.Wb&&i.Wb.Nc.push(t))}function Ze(e,t,n){var r=z(e,{parent:!0}).node;if(e=Se(e),!e||e===`.`||e===`..`)throw new R(28);var i=We(r,e);if(i)throw new R(i);if(!r.Eb.lc)throw new R(63);return r.Eb.lc(r,e,t,n)}function W(e,t){return Ze(e,(t===void 0?511:t)&1023|16384,0)}function Qe(e,t,n){n===void 0&&(n=t,t=438),Ze(e,t|8192,n)}function $e(e,t){if(!Te(e))throw new R(44);var n=z(t,{parent:!0}).node;if(!n)throw new R(44);t=Se(t);var r=We(n,t);if(r)throw new R(r);if(!n.Eb.pc)throw new R(63);n.Eb.pc(n,t,e)}function et(e){var t=z(e,{parent:!0}).node;e=Se(e);var n=B(t,e),r=Ge(t,e,!0);if(r)throw new R(r);if(!t.Eb.oc)throw new R(63);if(n.bc)throw new R(10);t.Eb.oc(t,e),Ve(n)}function tt(e){if(e=z(e).node,!e)throw new R(44);if(!e.Eb.ic)throw new R(28);return Te(ze(e.parent),e.Eb.ic(e))}function nt(e,t){if(e=z(e,{$b:!t}).node,!e)throw new R(44);if(!e.Eb.Vb)throw new R(63);return e.Eb.Vb(e)}function rt(e){return nt(e,!0)}function it(e,t){if(e=typeof e==`string`?z(e,{$b:!0}).node:e,!e.Eb.Sb)throw new R(63);e.Eb.Sb(e,{mode:t&4095|e.mode&-4096,timestamp:Date.now()})}function at(e,t){if(0>t)throw new R(28);if(e=typeof e==`string`?z(e,{$b:!0}).node:e,!e.Eb.Sb)throw new R(63);if(V(e.mode))throw new R(31);if((e.mode&61440)!=32768)throw new R(28);var n=H(e,`w`);if(n)throw new R(n);e.Eb.Sb(e,{size:t,timestamp:Date.now()})}function ot(e,t,r){if(e===``)throw new R(44);if(typeof t==`string`){var i={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[t];if(i===void 0)throw Error(`Unknown file open mode: ${t}`);t=i}if(r=t&64?(r===void 0?438:r)&4095|32768:0,typeof e==`object`)var a=e;else{e=M(e);try{a=z(e,{$b:!(t&131072)}).node}catch{}}if(i=!1,t&64)if(a){if(t&128)throw new R(20)}else a=Ze(e,r,0),i=!0;if(!a)throw new R(44);if((a.mode&61440)==8192&&(t&=-513),t&65536&&!V(a.mode))throw new R(54);if(!i&&(r=a?(a.mode&61440)==40960?32:V(a.mode)&&(Ue(t)!==`r`||t&512)?31:H(a,Ue(t)):44))throw new R(r);return t&512&&!i&&at(a,0),t&=-131713,a=qe({node:a,path:ze(a),flags:t,seekable:!0,position:0,Ob:a.Ob,Tc:[],error:!1}),a.Ob.open&&a.Ob.open(a),!n.logReadFiles||t&1||(dt||={},e in dt||(dt[e]=1)),a}function st(e,t,n){if(e.Yb===null)throw new R(8);if(!e.seekable||!e.Ob.ac)throw new R(70);if(n!=0&&n!=1&&n!=2)throw new R(28);e.position=e.Ob.ac(e,t,n),e.Tc=[]}function ct(){R||(R=function(e,t){this.name=`ErrnoError`,this.node=t,this.Rc=function(e){this.Qb=e},this.Rc(e),this.message=`FS error`},R.prototype=Error(),R.prototype.constructor=R,[44].forEach(e=>{Re[e]=new R(e),Re[e].stack=`<generic error, no stack>`}))}var lt;function G(e,t,n){e=M(`/dev/`+e);var r=Ne(!!t,!!n);ut||=64;var i=ut++<<8|0;Ye(i,{open(e){e.seekable=!1},close(){n&&n.buffer&&n.buffer.length&&n(10)},read(e,n,r,i){for(var a=0,o=0;o<i;o++){try{var s=t()}catch{throw new R(29)}if(s===void 0&&a===0)throw new R(6);if(s==null)break;a++,n[r+o]=s}return a&&(e.node.timestamp=Date.now()),a},write(e,t,r,i){for(var a=0;a<i;a++)try{n(t[r+a])}catch{throw new R(29)}return i&&(e.node.timestamp=Date.now()),a}}),Qe(e,r,i)}var ut,K={},q,dt;function J(e,t,n){if(t.charAt(0)===`/`)return t;if(e=e===-100?`/`:U(e).path,t.length==0){if(!n)throw new R(44);return e}return M(e+`/`+t)}function ft(e,t,n){try{var r=e(t)}catch(e){if(e&&e.node&&M(t)!==M(ze(e.node)))return-54;throw e}S[n>>2]=r.Jc,S[n+4>>2]=r.mode,C[n+8>>2]=r.Pc,S[n+12>>2]=r.uid,S[n+16>>2]=r.Mc,S[n+20>>2]=r.hc,O=[r.size>>>0,(D=r.size,1<=+Math.abs(D)?0<D?Math.floor(D/4294967296)>>>0:~~+Math.ceil((D-+(~~D>>>0))/4294967296)>>>0:0)],S[n+24>>2]=O[0],S[n+28>>2]=O[1],S[n+32>>2]=4096,S[n+36>>2]=r.Hc,e=r.Fc.getTime(),t=r.Oc.getTime();var i=r.Ic.getTime();return O=[Math.floor(e/1e3)>>>0,(D=Math.floor(e/1e3),1<=+Math.abs(D)?0<D?Math.floor(D/4294967296)>>>0:~~+Math.ceil((D-+(~~D>>>0))/4294967296)>>>0:0)],S[n+40>>2]=O[0],S[n+44>>2]=O[1],C[n+48>>2]=e%1e3*1e3,O=[Math.floor(t/1e3)>>>0,(D=Math.floor(t/1e3),1<=+Math.abs(D)?0<D?Math.floor(D/4294967296)>>>0:~~+Math.ceil((D-+(~~D>>>0))/4294967296)>>>0:0)],S[n+56>>2]=O[0],S[n+60>>2]=O[1],C[n+64>>2]=t%1e3*1e3,O=[Math.floor(i/1e3)>>>0,(D=Math.floor(i/1e3),1<=+Math.abs(D)?0<D?Math.floor(D/4294967296)>>>0:~~+Math.ceil((D-+(~~D>>>0))/4294967296)>>>0:0)],S[n+72>>2]=O[0],S[n+76>>2]=O[1],C[n+80>>2]=i%1e3*1e3,O=[r.Ac>>>0,(D=r.Ac,1<=+Math.abs(D)?0<D?Math.floor(D/4294967296)>>>0:~~+Math.ceil((D-+(~~D>>>0))/4294967296)>>>0:0)],S[n+88>>2]=O[0],S[n+92>>2]=O[1],0}var pt=void 0;function mt(){var e=S[pt>>2];return pt+=4,e}var Y=(e,t)=>t+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*t:NaN,ht=[0,31,60,91,121,152,182,213,244,274,305,335],gt=[0,31,59,90,120,151,181,212,243,273,304,334],_t=e=>{var t=N(e)+1,n=Dn(t);return n&&P(e,b,n,t),n},vt={},yt=()=>{if(!bt){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(typeof navigator==`object`&&navigator.languages&&navigator.languages[0]||`C`).replace(`-`,`_`)+`.UTF-8`,_:o||`./this.program`},t;for(t in vt)vt[t]===void 0?delete e[t]:e[t]=vt[t];var n=[];for(t in e)n.push(`${t}=${e[t]}`);bt=n}return bt},bt;function xt(){}function St(){}function Ct(){}function wt(){}function Tt(){}function Et(){}function Dt(){}function Ot(){}function kt(){}function At(){}function jt(){}function Mt(){}function Nt(){}function Pt(){}function Ft(){}function It(){}function Lt(){}function Rt(){}function zt(){}function Bt(){}function Vt(){}function Ht(){}function Ut(){}function Wt(){}function Gt(){}function Kt(){}function qt(){}function Jt(){}function Yt(){}function Xt(){}function Zt(){}function Qt(){}function $t(){}function en(){}function tn(){}function nn(){}function rn(){}function an(){}function on(){}function sn(){}var cn=e=>{v=e,h||0<se||(n.onExit&&n.onExit(e),_=!0),s(e,new _e(e))},ln=e=>{e instanceof _e||e==`unwind`||s(1,e)},un=e=>{try{e()}catch(e){T(e)}};function dn(e){var t={},n;for(n in e)(function(n){var r=e[n];t[n]=typeof r==`function`?function(){pn.push(n);try{return r.apply(null,arguments)}finally{_||(pn.pop()===n||T(),Z&&X===1&&pn.length===0&&(X=0,un(In),typeof Fibers<`u`&&Fibers.ed()))}}:r})(n);return t}var X=0,Z=null,fn=0,pn=[],mn={},hn={},gn=0,_n=null,vn=[];function yn(){return new Promise((e,t)=>{_n={resolve:e,reject:t}})}function bn(){var e=Dn(16396),t=e+12;C[e>>2]=t,C[e+4>>2]=t+16384,t=pn[0];var n=mn[t];return n===void 0&&(n=gn++,mn[t]=n,hn[n]=t),S[e+8>>2]=n,e}function xn(e){if(!_){if(X===0){var t=!1,n=!1;e((e=0)=>{if(!_&&(fn=e,t=!0,n)){X=2,un(()=>Ln(Z)),typeof Browser<`u`&&Browser.sc.Lc&&Browser.sc.resume(),e=!1;try{var r=(0,$[hn[S[Z+8>>2]]])()}catch(t){r=t,e=!0}var i=!1;if(!Z){var a=_n;a&&(_n=null,(e?a.reject:a.resolve)(r),i=!0)}if(e&&!i)throw r}}),n=!0,t||(X=1,Z=bn(),typeof Browser<`u`&&Browser.sc.Lc&&Browser.sc.pause(),un(()=>Fn(Z)))}else X===2?(X=0,un(Rn),On(Z),Z=null,vn.forEach(e=>{if(!_)try{if(e(),!(h||0<se))try{v=e=v,cn(e)}catch(e){ln(e)}}catch(e){ln(e)}})):T(`invalid state: ${X}`);return fn}}function Sn(e){return xn(t=>{e().then(t)})}var Cn={},Q=(e,t,r,i,a)=>{function o(e){return--se,l!==0&&Nn(l),t===`string`?e?j(b,e):``:t===`boolean`?!!e:e}var s={string:e=>{var t=0;if(e!=null&&e!==0){t=N(e)+1;var n=Pn(t);P(e,b,n,t),t=n}return t},array:e=>{var t=Pn(e.length);return y.set(e,t),t}};e=n[`_`+e];var c=[],l=0;if(i)for(var u=0;u<i.length;u++){var d=s[r[u]];d?(l===0&&(l=Mn()),c[u]=d(i[u])):c[u]=i[u]}return r=Z,i=e.apply(null,c),a&&=a.async,se+=1,Z==r?(i=o(i),a?Promise.resolve(i):i):yn().then(o)};function wn(e,t,n,r){e||=this,this.parent=e,this.Wb=e.Wb,this.bc=null,this.id=Ie++,this.name=t,this.mode=n,this.Eb={},this.Ob={},this.hc=r}Object.defineProperties(wn.prototype,{read:{get:function(){return(this.mode&365)==365},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return(this.mode&146)==146},set:function(e){e?this.mode|=146:this.mode&=-147}}}),ct(),L=Array(4096),Xe(F,`/`),W(`/tmp`),W(`/home`),W(`/home/web_user`),(function(){W(`/dev`),Ye(259,{read:()=>0,write:(e,t,n,r)=>r}),Qe(`/dev/null`,259),Oe(1280,Ae),Oe(1536,je),Qe(`/dev/tty`,1280),Qe(`/dev/tty1`,1536);var e=new Uint8Array(1024),t=0,n=()=>(t===0&&(t=we(e).byteLength),e[--t]);G(`random`,n),G(`urandom`,n),W(`/dev/shm`),W(`/dev/shm/tmp`)})(),(function(){W(`/proc`);var e=W(`/proc/self`);W(`/proc/self/fd`),Xe({Wb(){var t=He(e,`fd`,16895,73);return t.Eb={ec(e,t){var n=U(+t);return e={parent:null,Wb:{Bc:`fake`},Eb:{ic:()=>n.path}},e.parent=e}},t}},`/proc/self/fd`)})(),(function(){let e=new Map;n.setAuthorizer=function(t,n,r){return n?e.set(t,{f:n,vc:r}):e.delete(t),Q(`set_authorizer`,`number`,[`number`],[t])},xt=function(t,n,r,i,a,o){if(e.has(t)){let{f:s,vc:c}=e.get(t);return s(c,n,r?r?j(b,r):``:null,i?i?j(b,i):``:null,a?a?j(b,a):``:null,o?o?j(b,o):``:null)}return 0}})(),(function(){function e(e,t){let n=[];for(let r=0;e[t+r]!=0;++r){if(1e3<r)throw Error(`C-string never terminated after 1k characters`);n.push(e[t+r])}return String.fromCharCode(...n)}let t=new Map,r=new Map;n.createFunction=function(e,n,r,i,a,o){let s=t.size;return t.set(s,{f:o,Zb:a}),Q(`create_function`,`number`,`number string number number number number`.split(` `),[e,n,r,i,s,0])},n.createAggregate=function(e,n,r,i,a,o,s){let c=t.size;return t.set(c,{step:o,Kc:s,Zb:a}),Q(`create_function`,`number`,`number string number number number number`.split(` `),[e,n,r,i,c,1])},n.getFunctionUserData=function(e){return r.get(e)},n.updateHook=function(e,n){let r=t.size;return t.set(r,n),Q(`update_hook`,`void`,[`number`,`number`],[e,r])},Ct=function(e,n,i,a){e=t.get(e),r.set(n,e.Zb),e.f(n,new Uint32Array(b.buffer,a,i)),r.delete(n)},Tt=function(e,n,i,a){e=t.get(e),r.set(n,e.Zb),e.step(n,new Uint32Array(b.buffer,a,i)),r.delete(n)},St=function(e,n){e=t.get(e),r.set(n,e.Zb),e.Kc(n),r.delete(n)},Et=function(n,r,i,a,o,s){n=t.get(n);let c=b;o=BigInt(s)<<32n|BigInt(o)&4294967295n,n(r,e(c,i),e(c,a),o)}})(),(function(){let e=new Map;n.progressHandler=function(t,n,r,i){return r?e.set(t,{f:r,vc:i}):e.delete(t),Q(`progress_handler`,null,[`number`,`number`],[t,n])},wt=function(t){if(e.has(t)){let{f:n,vc:r}=e.get(t);return n(r)}return 0}})(),(function(){function e(e,t){let n=`get${e}`,r=`set${e}`;return new Proxy(new DataView(b.buffer,t,e===`Int32`?4:8),{get(e,t){if(t===n)return function(n,r){if(!r)throw Error(`must be little endian`);return e[t](n,r)};if(t===r)return function(n,r,i){if(!i)throw Error(`must be little endian`);return e[t](n,r,i)};if(typeof t==`string`&&t.match(/^(get)|(set)/))throw Error(`invalid type`);return e[t]}})}let t=typeof Cn==`object`,r=new Map,i=new Map,a=new Map,o=t?new Set:null,s=t?new Set:null,c=new Map;Ut=function(e,t,n,r){c.set(e?j(b,e):``,{size:t,fc:Array.from(new Uint32Array(b.buffer,r,n))})},n.createModule=function(e,n,i,a){t&&(i.handleAsync=Sn);let o=r.size;return r.set(o,{module:i,Zb:a}),a=0,i.xCreate&&(a|=1),i.xConnect&&(a|=2),i.xBestIndex&&(a|=4),i.xDisconnect&&(a|=8),i.xDestroy&&(a|=16),i.xOpen&&(a|=32),i.xClose&&(a|=64),i.xFilter&&(a|=128),i.xNext&&(a|=256),i.xEof&&(a|=512),i.xColumn&&(a|=1024),i.xRowid&&(a|=2048),i.xUpdate&&(a|=4096),i.xBegin&&(a|=8192),i.xSync&&(a|=16384),i.xCommit&&(a|=32768),i.xRollback&&(a|=65536),i.xFindFunction&&(a|=131072),i.xRename&&(a|=262144),Q(`create_module`,`number`,[`number`,`string`,`number`,`number`],[e,n,o,a])},Nt=function(n,a,s,c,l,u){if(a=r.get(a),i.set(l,a),t){o.delete(l);for(let e of o)i.delete(e)}return c=Array.from(new Uint32Array(b.buffer,c,s)).map(e=>e?j(b,e):``),a.module.xCreate(n,a.Zb,c,l,e(`Int32`,u))},Mt=function(n,a,s,c,l,u){if(a=r.get(a),i.set(l,a),t){o.delete(l);for(let e of o)i.delete(e)}return c=Array.from(new Uint32Array(b.buffer,c,s)).map(e=>e?j(b,e):``),a.module.xConnect(n,a.Zb,c,l,e(`Int32`,u))},Ot=function(e,t){var n=i.get(e),r=c.get(`sqlite3_index_info`).fc;let a={};a.nConstraint=k(t+r[0],`i32`),a.aConstraint=[];for(var o=k(t+r[1],`*`),s=c.get(`sqlite3_index_constraint`).size,l=0;l<a.nConstraint;++l){var u=a.aConstraint,d=u.push,f=o+l*s,p=c.get(`sqlite3_index_constraint`).fc,m={};m.iColumn=k(f+p[0],`i32`),m.op=k(f+p[1],`i8`),m.usable=!!k(f+p[2],`i8`),d.call(u,m)}for(a.nOrderBy=k(t+r[2],`i32`),a.aOrderBy=[],o=k(t+r[3],`*`),s=c.get(`sqlite3_index_orderby`).size,l=0;l<a.nOrderBy;++l)u=a.aOrderBy,d=u.push,f=o+l*s,p=c.get(`sqlite3_index_orderby`).fc,m={},m.iColumn=k(f+p[0],`i32`),m.desc=!!k(f+p[1],`i8`),d.call(u,m);for(a.aConstraintUsage=[],o=0;o<a.nConstraint;++o)a.aConstraintUsage.push({argvIndex:0,omit:!1});for(a.idxNum=k(t+r[5],`i32`),a.idxStr=null,a.orderByConsumed=!!k(t+r[8],`i8`),a.estimatedCost=k(t+r[9],`double`),a.estimatedRows=k(t+r[10],`i32`),a.idxFlags=k(t+r[11],`i32`),a.colUsed=k(t+r[12],`i32`),e=n.module.xBestIndex(e,a),n=c.get(`sqlite3_index_info`).fc,r=k(t+n[4],`*`),o=c.get(`sqlite3_index_constraint_usage`).size,d=0;d<a.nConstraint;++d)s=r+d*o,u=a.aConstraintUsage[d],f=c.get(`sqlite3_index_constraint_usage`).fc,A(s+f[0],u.argvIndex,`i32`),A(s+f[1],+!!u.omit,`i8`);return A(t+n[5],a.idxNum,`i32`),typeof a.idxStr==`string`&&(r=N(a.idxStr),o=Q(`sqlite3_malloc`,`number`,[`number`],[r+1]),P(a.idxStr,b,o,r+1),A(t+n[6],o,`*`),A(t+n[7],1,`i32`)),A(t+n[8],a.orderByConsumed,`i32`),A(t+n[9],a.estimatedCost,`double`),A(t+n[10],a.estimatedRows,`i32`),A(t+n[11],a.idxFlags,`i32`),e},Ft=function(e){let n=i.get(e);return t?o.add(e):i.delete(e),n.module.xDisconnect(e)},Pt=function(e){let n=i.get(e);return t?o.add(e):i.delete(e),n.module.xDestroy(e)},zt=function(e,n){let r=i.get(e);if(a.set(n,r),t){s.delete(n);for(let e of s)a.delete(e)}return r.module.xOpen(e,n)},kt=function(e){let n=a.get(e);return t?s.add(e):a.delete(e),n.module.xClose(e)},It=function(e){return+!!a.get(e).module.xEof(e)},Lt=function(e,t,n,r,i){let o=a.get(e);return n=n?n?j(b,n):``:null,i=new Uint32Array(b.buffer,i,r),o.module.xFilter(e,t,n,i)},Rt=function(e){return a.get(e).module.xNext(e)},At=function(e,t,n){return a.get(e).module.xColumn(e,t,n)},Ht=function(t,n){return a.get(t).module.xRowid(t,e(`BigInt64`,n))},Gt=function(t,n,r,a){let o=i.get(t);return r=new Uint32Array(b.buffer,r,n),o.module.xUpdate(t,r,e(`BigInt64`,a))},Dt=function(e){return i.get(e).module.xBegin(e)},Wt=function(e){return i.get(e).module.xSync(e)},jt=function(e){return i.get(e).module.xCommit(e)},Vt=function(e){return i.get(e).module.xRollback(e)},Bt=function(e,t){let n=i.get(e);return t=t?j(b,t):``,n.module.xRename(e,t)}})(),(function(){function e(e,t){let n=`get${e}`,r=`set${e}`;return new Proxy(new DataView(b.buffer,t,e===`Int32`?4:8),{get(e,t){if(t===n)return function(n,r){if(!r)throw Error(`must be little endian`);return e[t](n,r)};if(t===r)return function(n,r,i){if(!i)throw Error(`must be little endian`);return e[t](n,r,i)};if(typeof t==`string`&&t.match(/^(get)|(set)/))throw Error(`invalid type`);return e[t]}})}function t(e){return e>>=2,C[e]+C[e+1]*2**32}let r=typeof Cn==`object`,i=new Map,a=new Map;n.registerVFS=function(e,t){if(Q(`sqlite3_vfs_find`,`number`,[`string`],[e.name]))throw Error(`VFS '${e.name}' already registered`);r&&(e.handleAsync=Sn);var a=e.cd??64;let o=n._malloc(4);return t=Q(`register_vfs`,`number`,[`string`,`number`,`number`,`number`],[e.name,a,+!!t,o]),t||(a=k(o,`*`),i.set(a,e)),n._free(o),t};let o=r?new Set:null;Jt=function(e){let t=a.get(e);return r?o.add(e):a.delete(e),t.xClose(e)},tn=function(e,n,r,i){return a.get(e).xRead(e,b.subarray(n,n+r),t(i))},sn=function(e,n,r,i){return a.get(e).xWrite(e,b.subarray(n,n+r),t(i))},an=function(e,n){return a.get(e).xTruncate(e,t(n))},rn=function(e,t){return a.get(e).xSync(e,t)},Qt=function(t,n){let r=a.get(t);return n=e(`BigInt64`,n),r.xFileSize(t,n)},$t=function(e,t){return a.get(e).xLock(e,t)},on=function(e,t){return a.get(e).xUnlock(e,t)},qt=function(t,n){let r=a.get(t);return n=e(`Int32`,n),r.xCheckReservedLock(t,n)},Zt=function(e,t,n){let r=a.get(e);return n=new DataView(b.buffer,n),r.xFileControl(e,t,n)},nn=function(e){return a.get(e).xSectorSize(e)},Xt=function(e){return a.get(e).xDeviceCharacteristics(e)},en=function(t,n,s,c,l){if(t=i.get(t),a.set(s,t),r){o.delete(s);for(var u of o)a.delete(u)}if(u=null,c&64){u=1;let e=[];for(;u;){let t=b[n++];if(t)e.push(t);else switch(b[n]||(u=null),u){case 1:e.push(63),u=2;break;case 2:e.push(61),u=3;break;case 3:e.push(38),u=2}}u=new TextDecoder().decode(new Uint8Array(e))}else n&&(u=n?j(b,n):``);return l=e(`Int32`,l),t.xOpen(u,s,c,l)},Yt=function(e,t,n){return i.get(e).xDelete(t?j(b,t):``,n)},Kt=function(t,n,r,a){return t=i.get(t),a=e(`Int32`,a),t.xAccess(n?j(b,n):``,r,a)}})();var Tn={a:(e,t,n,r)=>{T(`Assertion failed: ${e?j(b,e):``}, at: `+[t?t?j(b,t):``:`unknown filename`,n,r?r?j(b,r):``:`unknown function`])},K:function(e,t){try{return e=e?j(b,e):``,it(e,t),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},M:function(e,t,n){try{if(t=t?j(b,t):``,t=J(e,t),n&-8)return-28;var r=z(t,{$b:!0}).node;return r?(e=``,n&4&&(e+=`r`),n&2&&(e+=`w`),n&1&&(e+=`x`),e&&H(r,e)?-2:0):-44}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},L:function(e,t){try{return it(U(e).node,t),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},J:function(e){try{var t=U(e).node,n=typeof t==`string`?z(t,{$b:!0}).node:t;if(!n.Eb.Sb)throw new R(63);return n.Eb.Sb(n,{timestamp:Date.now()}),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},b:function(e,t,n){pt=n;try{var r=U(e);switch(t){case 0:var i=mt();if(0>i)return-28;for(;I[i];)i++;return qe(r,i).Yb;case 1:case 2:return 0;case 3:return r.flags;case 4:return i=mt(),r.flags|=i,0;case 5:return i=mt(),x[i+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return S[En()>>2]=28,-1;default:return-28}}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},I:function(e,t){try{return ft(nt,U(e).path,t)}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},n:function(e,t,n){t=Y(t,n);try{if(isNaN(t))return 61;var r=U(e);if(!(r.flags&2097155))throw new R(28);return at(r.node,t),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},C:function(e,t){try{if(t===0)return-28;var n=N(`/`)+1;return t<n?-68:(P(`/`,b,e,t),n)}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},F:function(e,t){try{return e=e?j(b,e):``,ft(rt,e,t)}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},z:function(e,t,n){try{return t=t?j(b,t):``,t=J(e,t),t=M(t),t[t.length-1]===`/`&&(t=t.substr(0,t.length-1)),W(t,n),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},E:function(e,t,n,r){try{t=t?j(b,t):``;var i=r&256;return t=J(e,t,r&4096),ft(i?rt:nt,t,n)}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},y:function(e,t,n,r){pt=r;try{t=t?j(b,t):``,t=J(e,t);var i=r?mt():0;return ot(t,n,i).Yb}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},v:function(e,t,n,r){try{if(t=t?j(b,t):``,t=J(e,t),0>=r)return-28;var i=tt(t),a=Math.min(r,N(i)),o=y[n+a];return P(i,b,n,r+1),y[n+a]=o,a}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},u:function(e){try{return e=e?j(b,e):``,et(e),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},G:function(e,t){try{return e=e?j(b,e):``,ft(nt,e,t)}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},r:function(e,t,n){try{if(t=t?j(b,t):``,t=J(e,t),n===0){e=t;var r=z(e,{parent:!0}).node;if(!r)throw new R(44);var i=Se(e),a=B(r,i),o=Ge(r,i,!1);if(o)throw new R(o);if(!r.Eb.qc)throw new R(63);if(a.bc)throw new R(10);r.Eb.qc(r,i),Ve(a)}else n===512?et(t):T(`Invalid flags passed to unlinkat`);return 0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},q:function(e,t,n){try{if(t=t?j(b,t):``,t=J(e,t,!0),n){var r=C[n>>2]+4294967296*S[n+4>>2],i=S[n+8>>2];a=1e3*r+i/1e6,n+=16,r=C[n>>2]+4294967296*S[n+4>>2],i=S[n+8>>2],o=1e3*r+i/1e6}else var a=Date.now(),o=a;e=a;var s=z(t,{$b:!0}).node;return s.Eb.Sb(s,{timestamp:Math.max(e,o)}),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},k:function(e,t,n){e=new Date(1e3*Y(e,t)),S[n>>2]=e.getSeconds(),S[n+4>>2]=e.getMinutes(),S[n+8>>2]=e.getHours(),S[n+12>>2]=e.getDate(),S[n+16>>2]=e.getMonth(),S[n+20>>2]=e.getFullYear()-1900,S[n+24>>2]=e.getDay(),t=e.getFullYear(),S[n+28>>2]=(t%4!=0||t%100==0&&t%400!=0?gt:ht)[e.getMonth()]+e.getDate()-1|0,S[n+36>>2]=-(60*e.getTimezoneOffset()),t=new Date(e.getFullYear(),6,1).getTimezoneOffset();var r=new Date(e.getFullYear(),0,1).getTimezoneOffset();S[n+32>>2]=(t!=r&&e.getTimezoneOffset()==Math.min(r,t))|0},i:function(e,t,n,r,i,a,o,s){i=Y(i,a);try{if(isNaN(i))return 61;var c=U(r);if(t&2&&!(n&2)&&(c.flags&2097155)!=2||(c.flags&2097155)==1)throw new R(2);if(!c.Ob.mc)throw new R(43);var l=c.Ob.mc(c,e,i,t,n),u=l.Qc;return S[o>>2]=l.Ec,C[s>>2]=u,0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},j:function(e,t,n,r,i,a,o){a=Y(a,o);try{if(isNaN(a))return 61;var s=U(i);if(n&2){if((s.node.mode&61440)!=32768)throw new R(43);r&2||s.Ob.nc&&s.Ob.nc(s,b.slice(e,e+t),a,t,r)}}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.Qb}},s:(e,t,n)=>{function r(e){return(e=e.toTimeString().match(/\(([A-Za-z ]+)\)$/))?e[1]:`GMT`}var i=new Date().getFullYear(),a=new Date(i,0,1),o=new Date(i,6,1);i=a.getTimezoneOffset();var s=o.getTimezoneOffset();C[e>>2]=60*Math.max(i,s),S[t>>2]=Number(i!=s),e=r(a),t=r(o),e=_t(e),t=_t(t),s<i?(C[n>>2]=e,C[n+4>>2]=t):(C[n>>2]=t,C[n+4>>2]=e)},e:()=>Date.now(),d:()=>performance.now(),o:e=>{var t=b.length;if(e>>>=0,2147483648<e)return!1;for(var n=1;4>=n;n*=2){var r=t*(1+.2/n);r=Math.min(r,e+100663296);var i=Math;r=Math.max(e,r);a:{i=(i.min.call(i,2147483648,r+(65536-r%65536)%65536)-g.buffer.byteLength+65535)/65536;try{g.grow(i),ne();var a=1;break a}catch{}a=void 0}if(a)return!0}return!1},A:(e,t)=>{var n=0;return yt().forEach((r,i)=>{var a=t+n;for(i=C[e+4*i>>2]=a,a=0;a<r.length;++a)y[i++>>0]=r.charCodeAt(a);y[i>>0]=0,n+=r.length+1}),0},B:(e,t)=>{var n=yt();C[e>>2]=n.length;var r=0;return n.forEach(e=>r+=e.length+1),C[t>>2]=r,0},f:function(e){try{var t=U(e);if(t.Yb===null)throw new R(8);t.rc&&=null;try{t.Ob.close&&t.Ob.close(t)}catch(e){throw e}finally{I[t.Yb]=null}return t.Yb=null,0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return e.Qb}},p:function(e,t){try{var n=U(e);return y[t>>0]=n.Ub?2:V(n.mode)?3:(n.mode&61440)==40960?7:4,x[t+2>>1]=0,O=[0,(D=0,1<=+Math.abs(D)?0<D?Math.floor(D/4294967296)>>>0:~~+Math.ceil((D-+(~~D>>>0))/4294967296)>>>0:0)],S[t+8>>2]=O[0],S[t+12>>2]=O[1],O=[0,(D=0,1<=+Math.abs(D)?0<D?Math.floor(D/4294967296)>>>0:~~+Math.ceil((D-+(~~D>>>0))/4294967296)>>>0:0)],S[t+16>>2]=O[0],S[t+20>>2]=O[1],0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return e.Qb}},x:function(e,t,n,r){try{a:{var i=U(e);e=t;for(var a,o=t=0;o<n;o++){var s=C[e>>2],c=C[e+4>>2];e+=8;var l=i,u=s,d=c,f=a,p=y;if(0>d||0>f)throw new R(28);if(l.Yb===null||(l.flags&2097155)==1)throw new R(8);if(V(l.node.mode))throw new R(31);if(!l.Ob.read)throw new R(28);var m=f!==void 0;if(!m)f=l.position;else if(!l.seekable)throw new R(70);var h=l.Ob.read(l,p,u,d,f);m||(l.position+=h);var g=h;if(0>g){var _=-1;break a}if(t+=g,g<c)break;a!==void 0&&(a+=g)}_=t}return C[r>>2]=_,0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return e.Qb}},m:function(e,t,n,r,i){t=Y(t,n);try{if(isNaN(t))return 61;var a=U(e);return st(a,t,r),O=[a.position>>>0,(D=a.position,1<=+Math.abs(D)?0<D?Math.floor(D/4294967296)>>>0:~~+Math.ceil((D-+(~~D>>>0))/4294967296)>>>0:0)],S[i>>2]=O[0],S[i+4>>2]=O[1],a.rc&&t===0&&r===0&&(a.rc=null),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return e.Qb}},D:function(e){try{var t=U(e);return xn(e=>{var n=t.node.Wb;n.type.Sc?n.type.Sc(n,!1,t=>{e(t?29:0)}):e(0)})}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return e.Qb}},t:function(e,t,n,r){try{a:{var i=U(e);e=t;for(var a,o=t=0;o<n;o++){var s=C[e>>2],c=C[e+4>>2];e+=8;var l=i,u=s,d=c,f=a,p=y;if(0>d||0>f)throw new R(28);if(l.Yb===null||!(l.flags&2097155))throw new R(8);if(V(l.node.mode))throw new R(31);if(!l.Ob.write)throw new R(28);l.seekable&&l.flags&1024&&st(l,0,2);var m=f!==void 0;if(!m)f=l.position;else if(!l.seekable)throw new R(70);var h=l.Ob.write(l,p,u,d,f,void 0);m||(l.position+=h);var g=h;if(0>g){var _=-1;break a}t+=g,a!==void 0&&(a+=g)}_=t}return C[r>>2]=_,0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return e.Qb}},sa:xt,O:St,ha:Ct,ca:wt,Z:Tt,H:Et,la:Dt,w:Ot,g:kt,oa:At,ja:jt,ea:Mt,fa:Nt,h:Pt,l:Ft,pa:It,ra:Lt,qa:Rt,da:zt,ga:Bt,ia:Vt,na:Ht,c:Ut,ka:Wt,ma:Gt,aa:Kt,V:qt,$:Jt,ba:Yt,S:Xt,U:Zt,Y:Qt,X:$t,R:en,Q:tn,T:nn,_:rn,N:an,W:on,P:sn},$=function(){function e(e){if(e=e.exports,$=e=dn(e),g=$.ta,ne(),ie.unshift($.ua),w--,n.monitorRunDependencies&&n.monitorRunDependencies(w),w==0&&(le!==null&&(clearInterval(le),le=null),ue)){var t=ue;ue=null,t()}return e}var t={a:Tn};if(w++,n.monitorRunDependencies&&n.monitorRunDependencies(w),n.instantiateWasm)try{return n.instantiateWasm(t,e)}catch(e){p(`Module.instantiateWasm callback failed with error: ${e}`),i(e)}return ge(t,function(t){e(t.instance)}).catch(i),{}}();n._sqlite3_vfs_find=e=>(n._sqlite3_vfs_find=$.va)(e),n._sqlite3_malloc=e=>(n._sqlite3_malloc=$.wa)(e),n._sqlite3_free=e=>(n._sqlite3_free=$.xa)(e),n._sqlite3_prepare_v2=(e,t,r,i,a)=>(n._sqlite3_prepare_v2=$.ya)(e,t,r,i,a),n._sqlite3_step=e=>(n._sqlite3_step=$.za)(e),n._sqlite3_column_int64=(e,t)=>(n._sqlite3_column_int64=$.Aa)(e,t),n._sqlite3_column_int=(e,t)=>(n._sqlite3_column_int=$.Ba)(e,t),n._sqlite3_finalize=e=>(n._sqlite3_finalize=$.Ca)(e),n._sqlite3_reset=e=>(n._sqlite3_reset=$.Da)(e),n._sqlite3_clear_bindings=e=>(n._sqlite3_clear_bindings=$.Ea)(e),n._sqlite3_value_blob=e=>(n._sqlite3_value_blob=$.Fa)(e),n._sqlite3_value_text=e=>(n._sqlite3_value_text=$.Ga)(e),n._sqlite3_value_bytes=e=>(n._sqlite3_value_bytes=$.Ha)(e),n._sqlite3_value_double=e=>(n._sqlite3_value_double=$.Ia)(e),n._sqlite3_value_int=e=>(n._sqlite3_value_int=$.Ja)(e),n._sqlite3_value_int64=e=>(n._sqlite3_value_int64=$.Ka)(e),n._sqlite3_value_type=e=>(n._sqlite3_value_type=$.La)(e),n._sqlite3_result_blob=(e,t,r,i)=>(n._sqlite3_result_blob=$.Ma)(e,t,r,i),n._sqlite3_result_double=(e,t)=>(n._sqlite3_result_double=$.Na)(e,t),n._sqlite3_result_error=(e,t,r)=>(n._sqlite3_result_error=$.Oa)(e,t,r),n._sqlite3_result_int=(e,t)=>(n._sqlite3_result_int=$.Pa)(e,t),n._sqlite3_result_int64=(e,t,r)=>(n._sqlite3_result_int64=$.Qa)(e,t,r),n._sqlite3_result_null=e=>(n._sqlite3_result_null=$.Ra)(e),n._sqlite3_result_text=(e,t,r,i)=>(n._sqlite3_result_text=$.Sa)(e,t,r,i),n._sqlite3_column_count=e=>(n._sqlite3_column_count=$.Ta)(e),n._sqlite3_data_count=e=>(n._sqlite3_data_count=$.Ua)(e),n._sqlite3_column_blob=(e,t)=>(n._sqlite3_column_blob=$.Va)(e,t),n._sqlite3_column_bytes=(e,t)=>(n._sqlite3_column_bytes=$.Wa)(e,t),n._sqlite3_column_double=(e,t)=>(n._sqlite3_column_double=$.Xa)(e,t),n._sqlite3_column_text=(e,t)=>(n._sqlite3_column_text=$.Ya)(e,t),n._sqlite3_column_type=(e,t)=>(n._sqlite3_column_type=$.Za)(e,t),n._sqlite3_column_name=(e,t)=>(n._sqlite3_column_name=$._a)(e,t),n._sqlite3_bind_blob=(e,t,r,i,a)=>(n._sqlite3_bind_blob=$.$a)(e,t,r,i,a),n._sqlite3_bind_double=(e,t,r)=>(n._sqlite3_bind_double=$.ab)(e,t,r),n._sqlite3_bind_int=(e,t,r)=>(n._sqlite3_bind_int=$.bb)(e,t,r),n._sqlite3_bind_int64=(e,t,r,i)=>(n._sqlite3_bind_int64=$.cb)(e,t,r,i),n._sqlite3_bind_null=(e,t)=>(n._sqlite3_bind_null=$.db)(e,t),n._sqlite3_bind_text=(e,t,r,i,a)=>(n._sqlite3_bind_text=$.eb)(e,t,r,i,a),n._sqlite3_bind_parameter_count=e=>(n._sqlite3_bind_parameter_count=$.fb)(e),n._sqlite3_bind_parameter_name=(e,t)=>(n._sqlite3_bind_parameter_name=$.gb)(e,t),n._sqlite3_sql=e=>(n._sqlite3_sql=$.hb)(e),n._sqlite3_exec=(e,t,r,i,a)=>(n._sqlite3_exec=$.ib)(e,t,r,i,a),n._sqlite3_errmsg=e=>(n._sqlite3_errmsg=$.jb)(e),n._sqlite3_declare_vtab=(e,t)=>(n._sqlite3_declare_vtab=$.kb)(e,t),n._sqlite3_libversion=()=>(n._sqlite3_libversion=$.lb)(),n._sqlite3_libversion_number=()=>(n._sqlite3_libversion_number=$.mb)(),n._sqlite3_changes=e=>(n._sqlite3_changes=$.nb)(e),n._sqlite3_close=e=>(n._sqlite3_close=$.ob)(e),n._sqlite3_limit=(e,t,r)=>(n._sqlite3_limit=$.pb)(e,t,r),n._sqlite3_open_v2=(e,t,r,i)=>(n._sqlite3_open_v2=$.qb)(e,t,r,i),n._sqlite3_get_autocommit=e=>(n._sqlite3_get_autocommit=$.rb)(e);var En=()=>(En=$.sb)(),Dn=n._malloc=e=>(Dn=n._malloc=$.tb)(e),On=n._free=e=>(On=n._free=$.ub)(e);n._RegisterExtensionFunctions=e=>(n._RegisterExtensionFunctions=$.vb)(e),n._set_authorizer=e=>(n._set_authorizer=$.wb)(e),n._create_function=(e,t,r,i,a,o)=>(n._create_function=$.xb)(e,t,r,i,a,o),n._update_hook=(e,t)=>(n._update_hook=$.yb)(e,t),n._create_module=(e,t,r,i)=>(n._create_module=$.zb)(e,t,r,i),n._progress_handler=(e,t)=>(n._progress_handler=$.Ab)(e,t),n._register_vfs=(e,t,r,i)=>(n._register_vfs=$.Bb)(e,t,r,i),n._getSqliteFree=()=>(n._getSqliteFree=$.Cb)();var kn=n._main=(e,t)=>(kn=n._main=$.Db)(e,t),An=(e,t)=>(An=$.Fb)(e,t),jn=()=>(jn=$.Gb)(),Mn=()=>(Mn=$.Hb)(),Nn=e=>(Nn=$.Ib)(e),Pn=e=>(Pn=$.Jb)(e),Fn=e=>(Fn=$.Kb)(e),In=()=>(In=$.Lb)(),Ln=e=>(Ln=$.Mb)(e),Rn=()=>(Rn=$.Nb)();n.getTempRet0=jn,n.ccall=Q,n.cwrap=(e,t,r,i)=>{var a=!r||r.every(e=>e===`number`||e===`boolean`);return t!==`string`&&a&&!i?n[`_`+e]:function(){return Q(e,t,r,arguments,i)}},n.setValue=A,n.getValue=k,n.UTF8ToString=(e,t)=>e?j(b,e,t):``,n.stringToUTF8=(e,t,n)=>P(e,b,t,n),n.lengthBytesUTF8=N;var zn;ue=function e(){zn||Bn(),zn||(ue=e)};function Bn(){function e(){if(!zn&&(zn=!0,n.calledRun=!0,!_)){if(n.noFSInit||lt||(lt=!0,ct(),n.stdin=n.stdin,n.stdout=n.stdout,n.stderr=n.stderr,n.stdin?G(`stdin`,n.stdin):$e(`/dev/tty`,`/dev/stdin`),n.stdout?G(`stdout`,null,n.stdout):$e(`/dev/tty`,`/dev/stdout`),n.stderr?G(`stderr`,null,n.stderr):$e(`/dev/tty1`,`/dev/stderr`),ot(`/dev/stdin`,0),ot(`/dev/stdout`,1),ot(`/dev/stderr`,1)),Le=!1,ve(ie),ve(ae),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),Vn){var e=kn;try{var t=e(0,0);v=t,cn(t)}catch(e){ln(e)}}if(n.postRun)for(typeof n.postRun==`function`&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),oe.unshift(e);ve(oe)}}if(!(0<w)){if(n.preRun)for(typeof n.preRun==`function`&&(n.preRun=[n.preRun]);n.preRun.length;)ce();ve(re),0<w||(n.setStatus?(n.setStatus(`Running...`),setTimeout(function(){setTimeout(function(){n.setStatus(``)},1),e()},1)):e())}}if(n.preInit)for(typeof n.preInit==`function`&&(n.preInit=[n.preInit]);0<n.preInit.length;)n.preInit.pop()();var Vn=!0;return n.noInitialRun&&(Vn=!1),Bn(),t.ready})})();let d=null,f=null,p=null,m=!1;async function h(){if(m)return;let e=r(await u());d=e;let t=new l;p=t;let n=e.vfs_register(t,!0);if(n)throw Error(`Не удалось зарегистрировать OPFS VFS, код ${n}`);f=await e.open_v2(`/japanese_app.db`,6),m=!0,self.postMessage({type:`ready`,ok:!0})}async function g(){if(!d||f===null)return;let e=`
create table if not exists card_set
(
id INTEGER primary key autoincrement,
name TEXT not null,
forward TEXT not null,
backward TEXT not null,
filter TEXT not null
);
create table if not exists settings
(
id text primary key,
value text
);
create table if not exists word_group
(
id INTEGER primary key autoincrement,
name TEXT not null
);
create table if not exists words
(
id INTEGER primary key autoincrement,
key TEXT not null,
value TEXT not null,
tags TEXT not null,
more TEXT,
group_id integer default 1 not null
constraint words_word_group_id_fk references word_group on update cascade on delete cascade
);
create table if not exists card_stats
(
id INTEGER primary key autoincrement,
word_id INTEGER not null references words on delete cascade,
set_id TEXT not null references card_set on delete cascade,
score INTEGER default 1 not null,
last_opened integer not null
);
`.split(`;`).map(e=>e.trim()).filter(e=>e.length>0);for(let t of e)await d.exec(f,t+`;`)}self.onmessage=async e=>{let{type:t,id:n,sql:r,params:i}=e.data;try{switch(t){case`init`:await h(),await g(),self.postMessage({type:`result`,id:n,ok:!0,data:null});break;case`execute`:{if(!d||f===null)throw Error(`БД не инициализирована`);let e=await d.execWithParams(f,r,i);self.postMessage({type:`result`,id:n,ok:!0,data:e.rows});break}case`executeVoid`:if(!d||f===null)throw Error(`БД не инициализирована`);await d.run(f,r,i),self.postMessage({type:`result`,id:n,ok:!0,data:null});break;case`closeDb`:d&&f!==null&&(await d.close(f),f=null),p&&=(await p.close(),null),m=!1,self.postMessage({type:`result`,id:n,ok:!0,data:null});break;case`getFile`:{let e=await(await(await(await navigator.storage.getDirectory()).getFileHandle(`japanese_app.db`)).getFile()).arrayBuffer();self.postMessage({type:`result`,id:n,ok:!0,data:e},{transfer:[e]});break}case`replaceFile`:{d&&f!==null&&(await d.close(f),f=null),p&&=(await p.close(),null),m=!1;let e=await(await(await navigator.storage.getDirectory()).getFileHandle(`japanese_app.db`,{create:!0})).createSyncAccessHandle();try{let t=new Uint8Array(i);e.truncate(0),e.write(t,{at:0}),e.flush()}finally{e.close()}await h(),self.postMessage({type:`result`,id:n,ok:!0,data:null});break}default:throw Error(`Неизвестный тип сообщения: ${t}`)}}catch(e){self.postMessage({type:`result`,id:n,ok:!1,error:e.message})}}})();