persist-db-worker.js 79 KB

123
  1. /*! For license information please see persist-db-worker.js.LICENSE.txt */
  2. (()=>{"use strict";var t={507:(t,e,n)=>{t.exports=n.p+"d5348c86bcd3913f2696.wasm"}},e={};function n(r){var o=e[r];if(void 0!==o)return o.exports;var i=e[r]={exports:{}};return t[r](i,i.exports,n),i.exports}n.m=t,n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{var t;n.g.importScripts&&(t=n.g.location+"");var e=n.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var r=e.getElementsByTagName("script");if(r.length)for(var o=r.length-1;o>-1&&!t;)t=r[o--].src}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=t})(),n.b=self.location+"",(()=>{var t;const e=(t="file:///Users/mono/Repos/wa-sqlite/dist/wa-sqlite-async.mjs",function(e={}){var r,o,i;r||(r=void 0!==e?e:{}),r.ready=new Promise(((t,e)=>{o=t,i=e}));var a,s=Object.assign({},r),c="./this.program",u=(t,e)=>{throw e},l="object"==typeof window,f="function"==typeof importScripts,d="";(l||f)&&(f?d=self.location.href:"undefined"!=typeof document&&document.currentScript&&(d=document.currentScript.src),t&&(d=t),d=0!==d.indexOf("blob:")?d.substr(0,d.replace(/[?#].*/,"").lastIndexOf("/")+1):"",f&&(a=t=>{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}));var b,h=r.print||console.log.bind(console),p=r.printErr||console.warn.bind(console);Object.assign(r,s),s=null,r.thisProgram&&(c=r.thisProgram),r.quit&&(u=r.quit),r.wasmBinary&&(b=r.wasmBinary);var m=r.noExitRuntime||!0;"object"!=typeof WebAssembly&&j("no native wasm support detected");var _,w,y,g,v,E,x,k,S,q=!1;function R(){var t=_.buffer;r.HEAP8=y=new Int8Array(t),r.HEAP16=v=new Int16Array(t),r.HEAP32=E=new Int32Array(t),r.HEAPU8=g=new Uint8Array(t),r.HEAPU16=new Uint16Array(t),r.HEAPU32=x=new Uint32Array(t),r.HEAPF32=k=new Float32Array(t),r.HEAPF64=S=new Float64Array(t)}var A=[],T=[],C=[],M=[],N=0;function D(){var t=r.preRun.shift();A.unshift(t)}var I,O,P,U=0,L=null,F=null;function j(t){throw r.onAbort&&r.onAbort(t),p(t="Aborted("+t+")"),q=!0,w=1,t=new WebAssembly.RuntimeError(t+". Build with -sASSERTIONS for more info."),i(t),t}function z(t){return t.startsWith("data:application/octet-stream;base64,")}if(r.locateFile){if(!z(I="wa-sqlite-async.wasm")){var B=I;I=r.locateFile?r.locateFile(B,d):d+B}}else I=new URL(n(507),n.b).href;function H(t){try{if(t==I&&b)return new Uint8Array(b);if(a)return a(t);throw"both async and sync fetching of the wasm failed"}catch(t){j(t)}}function V(t,e,n){return function(t){return b||!l&&!f||"function"!=typeof fetch?Promise.resolve().then((()=>H(t))):fetch(t,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+t+"'";return e.arrayBuffer()})).catch((()=>H(t)))}(t).then((t=>WebAssembly.instantiate(t,e))).then((t=>t)).then(n,(t=>{p("failed to asynchronously prepare wasm: "+t),j(t)}))}function $(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function W(t){for(;0<t.length;)t.shift()(r)}function X(t,e="i8"){switch(e.endsWith("*")&&(e="*"),e){case"i1":case"i8":return y[t>>0];case"i16":return v[t>>1];case"i32":case"i64":return E[t>>2];case"float":return k[t>>2];case"double":return S[t>>3];case"*":return x[t>>2];default:j("invalid type for getValue: "+e)}}function K(t,e,n="i8"){switch(n.endsWith("*")&&(n="*"),n){case"i1":case"i8":y[t>>0]=e;break;case"i16":v[t>>1]=e;break;case"i32":E[t>>2]=e;break;case"i64":P=[e>>>0,(O=e,1<=+Math.abs(O)?0<O?+Math.floor(O/4294967296)>>>0:~~+Math.ceil((O-+(~~O>>>0))/4294967296)>>>0:0)],E[t>>2]=P[0],E[t+4>>2]=P[1];break;case"float":k[t>>2]=e;break;case"double":S[t>>3]=e;break;case"*":x[t>>2]=e;break;default:j("invalid type for setValue: "+n)}}var Q="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function Y(t,e,n){var r=e+n;for(n=e;t[n]&&!(n>=r);)++n;if(16<n-e&&t.buffer&&Q)return Q.decode(t.subarray(e,n));for(r="";e<n;){var o=t[e++];if(128&o){var i=63&t[e++];if(192==(224&o))r+=String.fromCharCode((31&o)<<6|i);else{var a=63&t[e++];65536>(o=224==(240&o)?(15&o)<<12|i<<6|a:(7&o)<<18|i<<12|a<<6|63&t[e++])?r+=String.fromCharCode(o):(o-=65536,r+=String.fromCharCode(55296|o>>10,56320|1023&o))}}else r+=String.fromCharCode(o)}return r}function G(t,e){return t?Y(g,t,e):""}var Z=(t,e)=>{for(var n=0,r=t.length-1;0<=r;r--){var o=t[r];"."===o?t.splice(r,1):".."===o?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n;n--)t.unshift("..");return t},J=t=>{var e="/"===t.charAt(0),n="/"===t.substr(-1);return(t=Z(t.split("/").filter((t=>!!t)),!e).join("/"))||e||(t="."),t&&n&&(t+="/"),(e?"/":"")+t},tt=t=>{var e=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(t).slice(1);return t=e[0],e=e[1],t||e?(e&&(e=e.substr(0,e.length-1)),t+e):"."},et=t=>{if("/"===t)return"/";var e=(t=(t=J(t)).replace(/\/$/,"")).lastIndexOf("/");return-1===e?t:t.substr(e+1)};function nt(t){return(nt=function(){if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return t=>crypto.getRandomValues(t);j("initRandomDevice")}())(t)}function rt(){for(var t="",e=!1,n=arguments.length-1;-1<=n&&!e;n--){if("string"!=typeof(e=0<=n?arguments[n]:"/"))throw new TypeError("Arguments to path.resolve must be strings");if(!e)return"";t=e+"/"+t,e="/"===e.charAt(0)}return(e?"/":"")+(t=Z(t.split("/").filter((t=>!!t)),!e).join("/"))||"."}function ot(t){for(var e=0,n=0;n<t.length;++n){var r=t.charCodeAt(n);127>=r?e++:2047>=r?e+=2:55296<=r&&57343>=r?(e+=4,++n):e+=3}return e}function it(t,e,n,r){if(!(0<r))return 0;var o=n;r=n+r-1;for(var i=0;i<t.length;++i){var a=t.charCodeAt(i);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++i)),127>=a){if(n>=r)break;e[n++]=a}else{if(2047>=a){if(n+1>=r)break;e[n++]=192|a>>6}else{if(65535>=a){if(n+2>=r)break;e[n++]=224|a>>12}else{if(n+3>=r)break;e[n++]=240|a>>18,e[n++]=128|a>>12&63}e[n++]=128|a>>6&63}e[n++]=128|63&a}}return e[n]=0,n-o}var at=[];function st(t,e){at[t]={input:[],Rb:[],bc:e},Ut(t,dt)}var ct,ut,lt,ft,dt={open:function(t){var e=at[t.node.ec];if(!e)throw new Et(43);t.Sb=e,t.seekable=!1},close:function(t){t.Sb.bc.ic(t.Sb)},ic:function(t){t.Sb.bc.ic(t.Sb)},read:function(t,e,n,r){if(!t.Sb||!t.Sb.bc.zc)throw new Et(60);for(var o=0,i=0;i<r;i++){try{var a=t.Sb.bc.zc(t.Sb)}catch(t){throw new Et(29)}if(void 0===a&&0===o)throw new Et(6);if(null==a)break;o++,e[n+i]=a}return o&&(t.node.timestamp=Date.now()),o},write:function(t,e,n,r){if(!t.Sb||!t.Sb.bc.sc)throw new Et(60);try{for(var o=0;o<r;o++)t.Sb.bc.sc(t.Sb,e[n+o])}catch(t){throw new Et(29)}return r&&(t.node.timestamp=Date.now()),o}},bt={zc:function(t){if(!t.input.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;var n=Array(ot(e)+1);e=it(e,n,0,n.length),n.length=e,t.input=n}return t.input.shift()},sc:function(t,e){null===e||10===e?(h(Y(t.Rb,0)),t.Rb=[]):0!=e&&t.Rb.push(e)},ic:function(t){t.Rb&&0<t.Rb.length&&(h(Y(t.Rb,0)),t.Rb=[])}},ht={sc:function(t,e){null===e||10===e?(p(Y(t.Rb,0)),t.Rb=[]):0!=e&&t.Rb.push(e)},ic:function(t){t.Rb&&0<t.Rb.length&&(p(Y(t.Rb,0)),t.Rb=[])}},pt={Vb:null,Ub:function(){return pt.createNode(null,"/",16895,0)},createNode:function(t,e,n,r){if(24576==(61440&n)||4096==(61440&n))throw new Et(63);return pt.Vb||(pt.Vb={dir:{node:{Tb:pt.Cb.Tb,Qb:pt.Cb.Qb,cc:pt.Cb.cc,jc:pt.Cb.jc,Cc:pt.Cb.Cc,oc:pt.Cb.oc,mc:pt.Cb.mc,Bc:pt.Cb.Bc,nc:pt.Cb.nc},stream:{Zb:pt.Mb.Zb}},file:{node:{Tb:pt.Cb.Tb,Qb:pt.Cb.Qb},stream:{Zb:pt.Mb.Zb,read:pt.Mb.read,write:pt.Mb.write,vc:pt.Mb.vc,kc:pt.Mb.kc,lc:pt.Mb.lc}},link:{node:{Tb:pt.Cb.Tb,Qb:pt.Cb.Qb,fc:pt.Cb.fc},stream:{}},wc:{node:{Tb:pt.Cb.Tb,Qb:pt.Cb.Qb},stream:Pt}}),16384==(61440&(n=Tt(t,e,n,r)).mode)?(n.Cb=pt.Vb.dir.node,n.Mb=pt.Vb.dir.stream,n.Nb={}):32768==(61440&n.mode)?(n.Cb=pt.Vb.file.node,n.Mb=pt.Vb.file.stream,n.Pb=0,n.Nb=null):40960==(61440&n.mode)?(n.Cb=pt.Vb.link.node,n.Mb=pt.Vb.link.stream):8192==(61440&n.mode)&&(n.Cb=pt.Vb.wc.node,n.Mb=pt.Vb.wc.stream),n.timestamp=Date.now(),t&&(t.Nb[e]=n,t.timestamp=n.timestamp),n},Uc:function(t){return t.Nb?t.Nb.subarray?t.Nb.subarray(0,t.Pb):new Uint8Array(t.Nb):new Uint8Array(0)},xc:function(t,e){var n=t.Nb?t.Nb.length:0;n>=e||(e=Math.max(e,n*(1048576>n?2:1.125)>>>0),0!=n&&(e=Math.max(e,256)),n=t.Nb,t.Nb=new Uint8Array(e),0<t.Pb&&t.Nb.set(n.subarray(0,t.Pb),0))},Qc:function(t,e){if(t.Pb!=e)if(0==e)t.Nb=null,t.Pb=0;else{var n=t.Nb;t.Nb=new Uint8Array(e),n&&t.Nb.set(n.subarray(0,Math.min(e,t.Pb))),t.Pb=e}},Cb:{Tb:function(t){var e={};return e.Ic=8192==(61440&t.mode)?t.id:1,e.qc=t.id,e.mode=t.mode,e.Oc=1,e.uid=0,e.Lc=0,e.ec=t.ec,16384==(61440&t.mode)?e.size=4096:32768==(61440&t.mode)?e.size=t.Pb:40960==(61440&t.mode)?e.size=t.link.length:e.size=0,e.Ec=new Date(t.timestamp),e.Nc=new Date(t.timestamp),e.Hc=new Date(t.timestamp),e.Fc=4096,e.Gc=Math.ceil(e.size/e.Fc),e},Qb:function(t,e){void 0!==e.mode&&(t.mode=e.mode),void 0!==e.timestamp&&(t.timestamp=e.timestamp),void 0!==e.size&&pt.Qc(t,e.size)},cc:function(){throw xt[44]},jc:function(t,e,n,r){return pt.createNode(t,e,n,r)},Cc:function(t,e,n){if(16384==(61440&t.mode)){try{var r=At(e,n)}catch(t){}if(r)for(var o in r.Nb)throw new Et(55)}delete t.parent.Nb[t.name],t.parent.timestamp=Date.now(),t.name=n,e.Nb[n]=t,e.timestamp=t.parent.timestamp,t.parent=e},oc:function(t,e){delete t.Nb[e],t.timestamp=Date.now()},mc:function(t,e){var n,r=At(t,e);for(n in r.Nb)throw new Et(55);delete t.Nb[e],t.timestamp=Date.now()},Bc:function(t){var e,n=[".",".."];for(e in t.Nb)t.Nb.hasOwnProperty(e)&&n.push(e);return n},nc:function(t,e,n){return(t=pt.createNode(t,e,41471,0)).link=n,t},fc:function(t){if(40960!=(61440&t.mode))throw new Et(28);return t.link}},Mb:{read:function(t,e,n,r,o){var i=t.node.Nb;if(o>=t.node.Pb)return 0;if(8<(t=Math.min(t.node.Pb-o,r))&&i.subarray)e.set(i.subarray(o,o+t),n);else for(r=0;r<t;r++)e[n+r]=i[o+r];return t},write:function(t,e,n,r,o,i){if(e.buffer===y.buffer&&(i=!1),!r)return 0;if((t=t.node).timestamp=Date.now(),e.subarray&&(!t.Nb||t.Nb.subarray)){if(i)return t.Nb=e.subarray(n,n+r),t.Pb=r;if(0===t.Pb&&0===o)return t.Nb=e.slice(n,n+r),t.Pb=r;if(o+r<=t.Pb)return t.Nb.set(e.subarray(n,n+r),o),r}if(pt.xc(t,o+r),t.Nb.subarray&&e.subarray)t.Nb.set(e.subarray(n,n+r),o);else for(i=0;i<r;i++)t.Nb[o+i]=e[n+i];return t.Pb=Math.max(t.Pb,o+r),r},Zb:function(t,e,n){if(1===n?e+=t.position:2===n&&32768==(61440&t.node.mode)&&(e+=t.node.Pb),0>e)throw new Et(28);return e},vc:function(t,e,n){pt.xc(t.node,e+n),t.node.Pb=Math.max(t.node.Pb,e+n)},kc:function(t,e,n,r,o){if(32768!=(61440&t.node.mode))throw new Et(43);if(t=t.node.Nb,2&o||t.buffer!==y.buffer){if((0<n||n+e<t.length)&&(t=t.subarray?t.subarray(n,n+e):Array.prototype.slice.call(t,n,n+e)),n=!0,(o=xn(65536,e=65536*Math.ceil(e/65536)))?(g.fill(0,o,o+e),e=o):e=0,!e)throw new Et(48);y.set(t,e)}else n=!1,e=t.byteOffset;return{Pc:e,Dc:n}},lc:function(t,e,n,r){return pt.Mb.write(t,e,0,r,n,!1),0}}},mt=null,_t={},wt=[],yt=1,gt=null,vt=!0,Et=null,xt={},kt=(t,e={})=>{if(!(t=rt(t)))return{path:"",node:null};if(8<(e=Object.assign({yc:!0,tc:0},e)).tc)throw new Et(32);t=t.split("/").filter((t=>!!t));for(var n=mt,r="/",o=0;o<t.length;o++){var i=o===t.length-1;if(i&&e.parent)break;if(n=At(n,t[o]),r=J(r+"/"+t[o]),n.$b&&(!i||i&&e.yc)&&(n=n.$b.root),!i||e.Yb)for(i=0;40960==(61440&n.mode);)if(n=Vt(r),r=rt(tt(r),n),n=kt(r,{tc:e.tc+1}).node,40<i++)throw new Et(32)}return{path:r,node:n}},St=t=>{for(var e;;){if(t===t.parent)return t=t.Ub.Ac,e?"/"!==t[t.length-1]?t+"/"+e:t+e:t;e=e?t.name+"/"+e:t.name,t=t.parent}},qt=(t,e)=>{for(var n=0,r=0;r<e.length;r++)n=(n<<5)-n+e.charCodeAt(r)|0;return(t+n>>>0)%gt.length},Rt=t=>{var e=qt(t.parent.id,t.name);if(gt[e]===t)gt[e]=t.ac;else for(e=gt[e];e;){if(e.ac===t){e.ac=t.ac;break}e=e.ac}},At=(t,e)=>{var n;if(n=(n=Nt(t,"x"))?n:t.Cb.cc?0:2)throw new Et(n,t);for(n=gt[qt(t.id,e)];n;n=n.ac){var r=n.name;if(n.parent.id===t.id&&r===e)return n}return t.Cb.cc(t,e)},Tt=(t,e,n,r)=>(t=new mn(t,e,n,r),e=qt(t.parent.id,t.name),t.ac=gt[e],gt[e]=t),Ct={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},Mt=t=>{var e=["r","w","rw"][3&t];return 512&t&&(e+="w"),e},Nt=(t,e)=>vt?0:!e.includes("r")||292&t.mode?e.includes("w")&&!(146&t.mode)||e.includes("x")&&!(73&t.mode)?2:0:2,Dt=(t,e)=>{try{return At(t,e),20}catch(t){}return Nt(t,"wx")},It=(t,e,n)=>{try{var r=At(t,e)}catch(t){return t.Ob}if(t=Nt(t,"wx"))return t;if(n){if(16384!=(61440&r.mode))return 54;if(r===r.parent||"/"===St(r))return 10}else if(16384==(61440&r.mode))return 31;return 0},Ot=(t,e)=>(lt||((lt=function(){this.hc={}}).prototype={},Object.defineProperties(lt.prototype,{object:{get:function(){return this.node},set:function(t){this.node=t}},flags:{get:function(){return this.hc.flags},set:function(t){this.hc.flags=t}},position:{get:function(){return this.hc.position},set:function(t){this.hc.position=t}}})),t=Object.assign(new lt,t),e=((t=0)=>{for(;4096>=t;t++)if(!wt[t])return t;throw new Et(33)})(e),t.Wb=e,wt[e]=t),Pt={open:t=>{t.Mb=_t[t.node.ec].Mb,t.Mb.open&&t.Mb.open(t)},Zb:()=>{throw new Et(70)}},Ut=(t,e)=>{_t[t]={Mb:e}},Lt=(t,e)=>{var n="/"===e,r=!e;if(n&&mt)throw new Et(10);if(!n&&!r){var o=kt(e,{yc:!1});if(e=o.path,(o=o.node).$b)throw new Et(10);if(16384!=(61440&o.mode))throw new Et(54)}e={type:t,Wc:{},Ac:e,Mc:[]},(t=t.Ub(e)).Ub=e,e.root=t,n?mt=t:o&&(o.$b=e,o.Ub&&o.Ub.Mc.push(e))},Ft=(t,e,n)=>{var r=kt(t,{parent:!0}).node;if(!(t=et(t))||"."===t||".."===t)throw new Et(28);var o=Dt(r,t);if(o)throw new Et(o);if(!r.Cb.jc)throw new Et(63);return r.Cb.jc(r,t,e,n)},jt=(t,e)=>Ft(t,1023&(void 0!==e?e:511)|16384,0),zt=(t,e,n)=>{void 0===n&&(n=e,e=438),Ft(t,8192|e,n)},Bt=(t,e)=>{if(!rt(t))throw new Et(44);var n=kt(e,{parent:!0}).node;if(!n)throw new Et(44);e=et(e);var r=Dt(n,e);if(r)throw new Et(r);if(!n.Cb.nc)throw new Et(63);n.Cb.nc(n,e,t)},Ht=t=>{var e=kt(t,{parent:!0}).node;t=et(t);var n=At(e,t),r=It(e,t,!0);if(r)throw new Et(r);if(!e.Cb.mc)throw new Et(63);if(n.$b)throw new Et(10);e.Cb.mc(e,t),Rt(n)},Vt=t=>{if(!(t=kt(t).node))throw new Et(44);if(!t.Cb.fc)throw new Et(28);return rt(St(t.parent),t.Cb.fc(t))},$t=(t,e)=>{if(!(t=kt(t,{Yb:!e}).node))throw new Et(44);if(!t.Cb.Tb)throw new Et(63);return t.Cb.Tb(t)},Wt=t=>$t(t,!0),Xt=(t,e)=>{if(!(t="string"==typeof t?kt(t,{Yb:!0}).node:t).Cb.Qb)throw new Et(63);t.Cb.Qb(t,{mode:4095&e|-4096&t.mode,timestamp:Date.now()})},Kt=(t,e)=>{if(0>e)throw new Et(28);if(!(t="string"==typeof t?kt(t,{Yb:!0}).node:t).Cb.Qb)throw new Et(63);if(16384==(61440&t.mode))throw new Et(31);if(32768!=(61440&t.mode))throw new Et(28);var n=Nt(t,"w");if(n)throw new Et(n);t.Cb.Qb(t,{size:e,timestamp:Date.now()})},Qt=(t,e,n)=>{if(""===t)throw new Et(44);if("string"==typeof e){var o=Ct[e];if(void 0===o)throw Error("Unknown file open mode: "+e);e=o}if(n=64&e?4095&(void 0===n?438:n)|32768:0,"object"==typeof t)var i=t;else{t=J(t);try{i=kt(t,{Yb:!(131072&e)}).node}catch(t){}}if(o=!1,64&e)if(i){if(128&e)throw new Et(20)}else i=Ft(t,n,0),o=!0;if(!i)throw new Et(44);if(8192==(61440&i.mode)&&(e&=-513),65536&e&&16384!=(61440&i.mode))throw new Et(54);if(!o&&(n=i?40960==(61440&i.mode)?32:16384==(61440&i.mode)&&("r"!==Mt(e)||512&e)?31:Nt(i,Mt(e)):44))throw new Et(n);return 512&e&&!o&&Kt(i,0),e&=-131713,(i=Ot({node:i,path:St(i),flags:e,seekable:!0,position:0,Mb:i.Mb,Tc:[],error:!1})).Mb.open&&i.Mb.open(i),!r.logReadFiles||1&e||(ft||(ft={}),t in ft||(ft[t]=1)),i},Yt=(t,e,n)=>{if(null===t.Wb)throw new Et(8);if(!t.seekable||!t.Mb.Zb)throw new Et(70);if(0!=n&&1!=n&&2!=n)throw new Et(28);t.position=t.Mb.Zb(t,e,n),t.Tc=[]},Gt=()=>{Et||((Et=function(t,e){this.name="ErrnoError",this.node=e,this.Rc=function(t){this.Ob=t},this.Rc(t),this.message="FS error"}).prototype=Error(),Et.prototype.constructor=Et,[44].forEach((t=>{xt[t]=new Et(t),xt[t].stack="<generic error, no stack>"})))},Zt=(t,e,n)=>{t=J("/dev/"+t);var r=((t,e)=>{var n=0;return t&&(n|=365),e&&(n|=146),n})(!!e,!!n);ut||(ut=64);var o=ut++<<8|0;Ut(o,{open:t=>{t.seekable=!1},close:()=>{n&&n.buffer&&n.buffer.length&&n(10)},read:(t,n,r,o)=>{for(var i=0,a=0;a<o;a++){try{var s=e()}catch(t){throw new Et(29)}if(void 0===s&&0===i)throw new Et(6);if(null==s)break;i++,n[r+a]=s}return i&&(t.node.timestamp=Date.now()),i},write:(t,e,r,o)=>{for(var i=0;i<o;i++)try{n(e[r+i])}catch(t){throw new Et(29)}return o&&(t.node.timestamp=Date.now()),i}}),zt(t,r,o)},Jt={};function te(t,e,n){if("/"===e.charAt(0))return e;if(t=-100===t?"/":oe(t).path,0==e.length){if(!n)throw new Et(44);return t}return J(t+"/"+e)}function ee(t,e,n){try{var r=t(e)}catch(t){if(t&&t.node&&J(e)!==J(St(t.node)))return-54;throw t}E[n>>2]=r.Ic,E[n+8>>2]=r.qc,E[n+12>>2]=r.mode,x[n+16>>2]=r.Oc,E[n+20>>2]=r.uid,E[n+24>>2]=r.Lc,E[n+28>>2]=r.ec,P=[r.size>>>0,(O=r.size,1<=+Math.abs(O)?0<O?+Math.floor(O/4294967296)>>>0:~~+Math.ceil((O-+(~~O>>>0))/4294967296)>>>0:0)],E[n+40>>2]=P[0],E[n+44>>2]=P[1],E[n+48>>2]=4096,E[n+52>>2]=r.Gc,t=r.Ec.getTime(),e=r.Nc.getTime();var o=r.Hc.getTime();return P=[Math.floor(t/1e3)>>>0,(O=Math.floor(t/1e3),1<=+Math.abs(O)?0<O?+Math.floor(O/4294967296)>>>0:~~+Math.ceil((O-+(~~O>>>0))/4294967296)>>>0:0)],E[n+56>>2]=P[0],E[n+60>>2]=P[1],x[n+64>>2]=t%1e3*1e3,P=[Math.floor(e/1e3)>>>0,(O=Math.floor(e/1e3),1<=+Math.abs(O)?0<O?+Math.floor(O/4294967296)>>>0:~~+Math.ceil((O-+(~~O>>>0))/4294967296)>>>0:0)],E[n+72>>2]=P[0],E[n+76>>2]=P[1],x[n+80>>2]=e%1e3*1e3,P=[Math.floor(o/1e3)>>>0,(O=Math.floor(o/1e3),1<=+Math.abs(O)?0<O?+Math.floor(O/4294967296)>>>0:~~+Math.ceil((O-+(~~O>>>0))/4294967296)>>>0:0)],E[n+88>>2]=P[0],E[n+92>>2]=P[1],x[n+96>>2]=o%1e3*1e3,P=[r.qc>>>0,(O=r.qc,1<=+Math.abs(O)?0<O?+Math.floor(O/4294967296)>>>0:~~+Math.ceil((O-+(~~O>>>0))/4294967296)>>>0:0)],E[n+104>>2]=P[0],E[n+108>>2]=P[1],0}var ne=void 0;function re(){return E[(ne+=4)-4>>2]}function oe(t){if(!(t=wt[t]))throw new Et(8);return t}function ie(t,e,n){return it(t,g,e,n)}function ae(t){return x[t>>2]+4294967296*E[t+4>>2]}var se=[0,31,60,91,121,152,182,213,244,274,305,335],ce=[0,31,59,90,120,151,181,212,243,273,304,334];function ue(t){var e=ot(t)+1,n=yn(e);return n&&ie(t,n,e),n}var le,fe={};function de(){if(!le){var t,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",_:c||"./this.program"};for(t in fe)void 0===fe[t]?delete e[t]:e[t]=fe[t];var n=[];for(t in e)n.push(t+"="+e[t]);le=n}return le}function be(){}function he(){}function pe(){}function me(){}function _e(){}function we(){}function ye(){}function ge(){}function ve(){}function Ee(){}function xe(){}function ke(){}function Se(){}function qe(){}function Re(){}function Ae(){}function Te(){}function Ce(){}function Me(){}function Ne(){}function De(){}function Ie(){}function Oe(){}function Pe(){}function Ue(){}function Le(){}function Fe(){}function je(){}function ze(){}function Be(){}function He(){}function Ve(){}function $e(){}function We(){}function Xe(){}function Ke(){}function Qe(){}function Ye(){}function Ge(){}function Ze(t){w=t,m||0<N||(r.onExit&&r.onExit(t),q=!0),u(t,new $(t))}function Je(t){t instanceof $||"unwind"==t||u(1,t)}function tn(t){try{t()}catch(t){j(t)}}var en=0,nn=null,rn=0,on=[],an={},sn={},cn=0,un=null,ln=[];function fn(t){if(!q){if(0===en){var e=!1,n=!1;t(((t=0)=>{if(!q&&(rn=t,e=!0,n)){en=2,tn((()=>Cn(nn))),void 0!==bn&&bn.rc.Kc&&bn.rc.resume(),t=!1;try{var o=(0,r.asm[sn[E[nn+8>>2]]])()}catch(e){o=e,t=!0}var i=!1;if(!nn){var a=un;a&&(un=null,(t?a.reject:a.resolve)(o),i=!0)}if(t&&!i)throw o}})),n=!0,e||(en=1,nn=function(){var t=yn(16396),e=t+12;E[t>>2]=e,E[t+4>>2]=e+16384,e=on[0];var n=an[e];return void 0===n&&(n=cn++,an[e]=n,sn[n]=e),E[t+8>>2]=n,t}(),void 0!==bn&&bn.rc.Kc&&bn.rc.pause(),tn((()=>An(nn))))}else 2===en?(en=0,tn(Mn),gn(nn),nn=null,ln.forEach((t=>{if(!q)try{if(t(),!(m||0<N))try{w=t=w,Ze(t)}catch(t){Je(t)}}catch(t){Je(t)}}))):j("invalid state: "+en);return rn}}function dn(t){return fn((e=>{t().then(e)}))}var bn,hn={};function pn(t,e,n,o,i){function a(t){return--N,0!==u&&qn(u),"string"===e?G(t):"boolean"===e?!!t:t}var s={string:t=>{var e=0;if(null!=t&&0!==t){var n=Rn(e=ot(t)+1);ie(t,n,e),e=n}return e},array:t=>{var e=Rn(t.length);return y.set(t,e),e}};t=r["_"+t];var c=[],u=0;if(o)for(var l=0;l<o.length;l++){var f=s[n[l]];f?(0===u&&(u=Sn()),c[l]=f(o[l])):c[l]=o[l]}return n=nn,o=t.apply(null,c),N+=1,i=i&&i.async,nn!=n?new Promise(((t,e)=>{un={resolve:t,reject:e}})).then(a):(o=a(o),i?Promise.resolve(o):o)}function mn(t,e,n,r){t||(t=this),this.parent=t,this.Ub=t.Ub,this.$b=null,this.id=yt++,this.name=e,this.mode=n,this.Cb={},this.Mb={},this.ec=r}Object.defineProperties(mn.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(t){t?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(t){t?this.mode|=146:this.mode&=-147}}}),Gt(),gt=Array(4096),Lt(pt,"/"),jt("/tmp"),jt("/home"),jt("/home/web_user"),(()=>{jt("/dev"),Ut(259,{read:()=>0,write:(t,e,n,r)=>r}),zt("/dev/null",259),st(1280,bt),st(1536,ht),zt("/dev/tty",1280),zt("/dev/tty1",1536);var t=new Uint8Array(1024),e=0,n=()=>(0===e&&(e=nt(t).byteLength),t[--e]);Zt("random",n),Zt("urandom",n),jt("/dev/shm"),jt("/dev/shm/tmp")})(),(()=>{jt("/proc");var t=jt("/proc/self");jt("/proc/self/fd"),Lt({Ub:()=>{var e=Tt(t,"fd",16895,73);return e.Cb={cc:(t,e)=>{var n=wt[+e];if(!n)throw new Et(8);return(t={parent:null,Ub:{Ac:"fake"},Cb:{fc:()=>n.path}}).parent=t}},e}},"/proc/self/fd")})(),function(){const t=new Map;r.setAuthorizer=function(e,n,r){return n?t.set(e,{f:n,uc:r}):t.delete(e),pn("set_authorizer","number",["number"],[e])},be=function(e,n,r,o,i,a){if(t.has(e)){const{f:s,uc:c}=t.get(e);return s(c,n,r?G(r):null,o?G(o):null,i?G(i):null,a?G(a):null)}return 0}}(),function(){const t=new Map,e=new Map;r.createFunction=function(e,n,r,o,i,a){const s=t.size;return t.set(s,{f:a,Xb:i}),pn("create_function","number","number string number number number number".split(" "),[e,n,r,o,s,0])},r.createAggregate=function(e,n,r,o,i,a,s){const c=t.size;return t.set(c,{step:a,Jc:s,Xb:i}),pn("create_function","number","number string number number number number".split(" "),[e,n,r,o,c,1])},r.getFunctionUserData=function(t){return e.get(t)},pe=function(n,r,o,i){n=t.get(n),e.set(r,n.Xb),n.f(r,new Uint32Array(g.buffer,i,o)),e.delete(r)},_e=function(n,r,o,i){n=t.get(n),e.set(r,n.Xb),n.step(r,new Uint32Array(g.buffer,i,o)),e.delete(r)},he=function(n,r){n=t.get(n),e.set(r,n.Xb),n.Jc(r),e.delete(r)}}(),function(){const t=new Map;r.progressHandler=function(e,n,r,o){return r?t.set(e,{f:r,uc:o}):t.delete(e),pn("progress_handler",null,["number","number"],[e,n])},me=function(e){if(t.has(e)){const{f:n,uc:r}=t.get(e);return n(r)}return 0}}(),function(){function t(t,e){const n=`get${t}`,r=`set${t}`;return new Proxy(new DataView(g.buffer,e,"Int32"===t?4:8),{get(t,e){if(e===n)return function(n,r){if(!r)throw Error("must be little endian");return t[e](n,r)};if(e===r)return function(n,r,o){if(!o)throw Error("must be little endian");return t[e](n,r,o)};if("string"==typeof e&&e.match(/^(get)|(set)/))throw Error("invalid type");return t[e]}})}const e="object"==typeof hn,n=new Map,o=new Map,i=new Map,a=e?new Set:null,s=e?new Set:null,c=new Map;Ie=function(t,e,n,r){c.set(G(t),{size:e,dc:Array.from(new Uint32Array(g.buffer,r,n))})},r.createModule=function(t,r,o,i){e&&(o.handleAsync=dn);const a=n.size;return n.set(a,{module:o,Xb:i}),i=0,o.xCreate&&(i|=1),o.xConnect&&(i|=2),o.xBestIndex&&(i|=4),o.xDisconnect&&(i|=8),o.xDestroy&&(i|=16),o.xOpen&&(i|=32),o.xClose&&(i|=64),o.xFilter&&(i|=128),o.xNext&&(i|=256),o.xEof&&(i|=512),o.xColumn&&(i|=1024),o.xRowid&&(i|=2048),o.xUpdate&&(i|=4096),o.xBegin&&(i|=8192),o.xSync&&(i|=16384),o.xCommit&&(i|=32768),o.xRollback&&(i|=65536),o.xFindFunction&&(i|=131072),o.xRename&&(i|=262144),pn("create_module","number",["number","string","number","number"],[t,r,a,i])},ke=function(r,i,s,c,u,l){if(i=n.get(i),o.set(u,i),e){a.delete(u);for(const t of a)o.delete(t)}return c=Array.from(new Uint32Array(g.buffer,c,s)).map((t=>G(t))),i.module.xCreate(r,i.Xb,c,u,t("Int32",l))},xe=function(r,i,s,c,u,l){if(i=n.get(i),o.set(u,i),e){a.delete(u);for(const t of a)o.delete(t)}return c=Array.from(new Uint32Array(g.buffer,c,s)).map((t=>G(t))),i.module.xConnect(r,i.Xb,c,u,t("Int32",l))},ye=function(t,e){var n=o.get(t),r=c.get("sqlite3_index_info").dc;const i={};i.nConstraint=X(e+r[0],"i32"),i.aConstraint=[];for(var a=X(e+r[1],"*"),s=c.get("sqlite3_index_constraint").size,u=0;u<i.nConstraint;++u){var l=i.aConstraint,f=l.push,d=a+u*s,b=c.get("sqlite3_index_constraint").dc,h={};h.iColumn=X(d+b[0],"i32"),h.op=X(d+b[1],"i8"),h.usable=!!X(d+b[2],"i8"),f.call(l,h)}for(i.nOrderBy=X(e+r[2],"i32"),i.aOrderBy=[],a=X(e+r[3],"*"),s=c.get("sqlite3_index_orderby").size,u=0;u<i.nOrderBy;++u)f=(l=i.aOrderBy).push,d=a+u*s,b=c.get("sqlite3_index_orderby").dc,(h={}).iColumn=X(d+b[0],"i32"),h.desc=!!X(d+b[1],"i8"),f.call(l,h);for(i.aConstraintUsage=[],a=0;a<i.nConstraint;++a)i.aConstraintUsage.push({argvIndex:0,omit:!1});for(i.idxNum=X(e+r[5],"i32"),i.idxStr=null,i.orderByConsumed=!!X(e+r[8],"i8"),i.estimatedCost=X(e+r[9],"double"),i.estimatedRows=X(e+r[10],"i64"),i.idxFlags=X(e+r[11],"i32"),i.colUsed=X(e+r[12],"i64"),t=n.module.xBestIndex(t,i),r=X(e+(n=c.get("sqlite3_index_info").dc)[4],"*"),a=c.get("sqlite3_index_constraint_usage").size,f=0;f<i.nConstraint;++f)s=r+f*a,l=i.aConstraintUsage[f],K(s+(d=c.get("sqlite3_index_constraint_usage").dc)[0],l.argvIndex,"i32"),K(s+d[1],l.omit?1:0,"i8");return K(e+n[5],i.idxNum,"i32"),"string"==typeof i.idxStr&&(a=pn("sqlite3_malloc","number",["number"],[(r=ot(i.idxStr))+1]),ie(i.idxStr,a,r+1),K(e+n[6],a,"*"),K(e+n[7],1,"i32")),K(e+n[8],i.orderByConsumed,"i32"),K(e+n[9],i.estimatedCost,"double"),K(e+n[10],i.estimatedRows,"i64"),K(e+n[11],i.idxFlags,"i32"),t},qe=function(t){const n=o.get(t);return e?a.add(t):o.delete(t),n.module.xDisconnect(t)},Se=function(t){const n=o.get(t);return e?a.add(t):o.delete(t),n.module.xDestroy(t)},Ce=function(t,n){const r=o.get(t);if(i.set(n,r),e){s.delete(n);for(const t of s)i.delete(t)}return r.module.xOpen(t,n)},ge=function(t){const n=i.get(t);return e?s.add(t):i.delete(t),n.module.xClose(t)},Re=function(t){return i.get(t).module.xEof(t)?1:0},Ae=function(t,e,n,r,o){const a=i.get(t);return n=n?G(n):null,o=new Uint32Array(g.buffer,o,r),a.module.xFilter(t,e,n,o)},Te=function(t){return i.get(t).module.xNext(t)},ve=function(t,e,n){return i.get(t).module.xColumn(t,e,n)},De=function(e,n){return i.get(e).module.xRowid(e,t("BigInt64",n))},Pe=function(e,n,r,i){const a=o.get(e);return r=new Uint32Array(g.buffer,r,n),a.module.xUpdate(e,r,t("BigInt64",i))},we=function(t){return o.get(t).module.xBegin(t)},Oe=function(t){return o.get(t).module.xSync(t)},Ee=function(t){return o.get(t).module.xCommit(t)},Ne=function(t){return o.get(t).module.xRollback(t)},Me=function(t,e){const n=o.get(t);return e=G(e),n.module.xRename(t,e)}}(),function(){function t(t,e){const n=`get${t}`,r=`set${t}`;return new Proxy(new DataView(g.buffer,e,"Int32"===t?4:8),{get(t,e){if(e===n)return function(n,r){if(!r)throw Error("must be little endian");return t[e](n,r)};if(e===r)return function(n,r,o){if(!o)throw Error("must be little endian");return t[e](n,r,o)};if("string"==typeof e&&e.match(/^(get)|(set)/))throw Error("invalid type");return t[e]}})}function e(t){return x[t>>=2]+x[t+1]*2**32}const n="object"==typeof hn,o=new Map,i=new Map;r.registerVFS=function(t,e){if(pn("sqlite3_vfs_find","number",["string"],[t.name]))throw Error(`VFS '${t.name}' already registered`);n&&(t.handleAsync=dn);var i=t.Vc??64;const a=r._malloc(4);return(e=pn("register_vfs","number",["string","number","number","number"],[t.name,i,e?1:0,a]))||(i=X(a,"*"),o.set(i,t)),r._free(a),e};const a=n?new Set:null;Fe=function(t){const e=i.get(t);return n?a.add(t):i.delete(t),e.xClose(t)},We=function(t,n,r,o){return i.get(t).xRead(t,g.subarray(n,n+r),e(o))},Ge=function(t,n,r,o){return i.get(t).xWrite(t,g.subarray(n,n+r),e(o))},Qe=function(t,n){return i.get(t).xTruncate(t,e(n))},Ke=function(t,e){return i.get(t).xSync(t,e)},He=function(e,n){const r=i.get(e);return n=t("BigInt64",n),r.xFileSize(e,n)},Ve=function(t,e){return i.get(t).xLock(t,e)},Ye=function(t,e){return i.get(t).xUnlock(t,e)},Le=function(e,n){const r=i.get(e);return n=t("Int32",n),r.xCheckReservedLock(e,n)},Be=function(t,e,n){const r=i.get(t);return n=new DataView(g.buffer,n),r.xFileControl(t,e,n)},Xe=function(t){return i.get(t).xSectorSize(t)},ze=function(t){return i.get(t).xDeviceCharacteristics(t)},$e=function(e,r,s,c,u){if(e=o.get(e),i.set(s,e),n)for(var l of(a.delete(s),a))i.delete(l);if(l=null,64&c){l=1;const t=[];for(;l;){const e=g[r++];if(e)t.push(e);else switch(g[r]||(l=null),l){case 1:t.push(63),l=2;break;case 2:t.push(61),l=3;break;case 3:t.push(38),l=2}}l=(new TextDecoder).decode(new Uint8Array(t))}else r&&(l=G(r));return u=t("Int32",u),e.xOpen(l,s,c,u)},je=function(t,e,n){return o.get(t).xDelete(G(e),n)},Ue=function(e,n,r,i){return e=o.get(e),i=t("Int32",i),e.xAccess(G(n),r,i)}}();var _n={a:function(t,e,n,r){j("Assertion failed: "+G(t)+", at: "+[e?G(e):"unknown filename",n,r?G(r):"unknown function"])},K:function(t,e){try{return t=G(t),Xt(t,e),0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},M:function(t,e,n){try{if(e=te(t,e=G(e)),-8&n)return-28;var r=kt(e,{Yb:!0}).node;return r?(t="",4&n&&(t+="r"),2&n&&(t+="w"),1&n&&(t+="x"),t&&Nt(r,t)?-2:0):-44}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},L:function(t,e){try{var n=wt[t];if(!n)throw new Et(8);return Xt(n.node,e),0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},J:function(t){try{var e=wt[t];if(!e)throw new Et(8);var n=e.node,r="string"==typeof n?kt(n,{Yb:!0}).node:n;if(!r.Cb.Qb)throw new Et(63);return r.Cb.Qb(r,{timestamp:Date.now()}),0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},b:function(t,e,n){ne=n;try{var r=oe(t);switch(e){case 0:var o=re();return 0>o?-28:Ot(r,o).Wb;case 1:case 2:case 6:case 7:return 0;case 3:return r.flags;case 4:return o=re(),r.flags|=o,0;case 5:return o=re(),v[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return E[wn()>>2]=28,-1}}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},I:function(t,e){try{var n=oe(t);return ee($t,n.path,e)}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},j:function(t,e,n){try{if(e=n+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*n:NaN,isNaN(e))return-61;var r=wt[t];if(!r)throw new Et(8);if(0==(2097155&r.flags))throw new Et(28);return Kt(r.node,e),0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},C:function(t,e){try{if(0===e)return-28;var n=ot("/")+1;return e<n?-68:(ie("/",t,e),n)}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},F:function(t,e){try{return t=G(t),ee(Wt,t,e)}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},z:function(t,e,n){try{return e=te(t,e=G(e)),"/"===(e=J(e))[e.length-1]&&(e=e.substr(0,e.length-1)),jt(e,n),0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},E:function(t,e,n,r){try{e=G(e);var o=256&r;return e=te(t,e,4096&r),ee(o?Wt:$t,e,n)}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},u:function(t,e,n,r){ne=r;try{e=te(t,e=G(e));var o=r?re():0;return Qt(e,n,o).Wb}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},s:function(t,e,n,r){try{if(e=te(t,e=G(e)),0>=r)return-28;var o=Vt(e),i=Math.min(r,ot(o)),a=y[n+i];return ie(o,n,r+1),y[n+i]=a,i}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},r:function(t){try{return t=G(t),Ht(t),0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},H:function(t,e){try{return t=G(t),ee($t,t,e)}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},o:function(t,e,n){try{if(e=te(t,e=G(e)),0===n){var r=kt(t=e,{parent:!0}).node;if(!r)throw new Et(44);var o=et(t),i=At(r,o),a=It(r,o,!1);if(a)throw new Et(a);if(!r.Cb.oc)throw new Et(63);if(i.$b)throw new Et(10);r.Cb.oc(r,o),Rt(i)}else 512===n?Ht(e):j("Invalid flags passed to unlinkat");return 0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},n:function(t,e,n){try{if(e=te(t,e=G(e),!0),n){var r=ae(n),o=E[n+8>>2];i=1e3*r+o/1e6,a=1e3*(r=ae(n+=16))+(o=E[n+8>>2])/1e6}else var i=Date.now(),a=i;t=i;var s=kt(e,{Yb:!0}).node;return s.Cb.Qb(s,{timestamp:Math.max(t,a)}),0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},y:function(t,e){t=new Date(1e3*ae(t)),E[e>>2]=t.getSeconds(),E[e+4>>2]=t.getMinutes(),E[e+8>>2]=t.getHours(),E[e+12>>2]=t.getDate(),E[e+16>>2]=t.getMonth(),E[e+20>>2]=t.getFullYear()-1900,E[e+24>>2]=t.getDay();var n=t.getFullYear();E[e+28>>2]=(0!=n%4||0==n%100&&0!=n%400?ce:se)[t.getMonth()]+t.getDate()-1|0,E[e+36>>2]=-60*t.getTimezoneOffset(),n=new Date(t.getFullYear(),6,1).getTimezoneOffset();var r=new Date(t.getFullYear(),0,1).getTimezoneOffset();E[e+32>>2]=0|(n!=r&&t.getTimezoneOffset()==Math.min(r,n))},w:function(t,e,n,r,o,i,a){try{var s=oe(r);if(0!=(2&e)&&0==(2&n)&&2!=(2097155&s.flags))throw new Et(2);if(1==(2097155&s.flags))throw new Et(2);if(!s.Mb.kc)throw new Et(43);var c=s.Mb.kc(s,t,o,e,n),u=c.Pc;return E[i>>2]=c.Dc,x[a>>2]=u,0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},x:function(t,e,n,r,o,i){try{var a=oe(o);if(2&n){if(32768!=(61440&a.node.mode))throw new Et(43);2&r||a.Mb.lc&&a.Mb.lc(a,g.slice(t,t+e),i,e,r)}}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return-t.Ob}},p:function(t,e,n){function r(t){return(t=t.toTimeString().match(/\(([A-Za-z ]+)\)$/))?t[1]:"GMT"}var o=(new Date).getFullYear(),i=new Date(o,0,1),a=new Date(o,6,1);o=i.getTimezoneOffset();var s=a.getTimezoneOffset();x[t>>2]=60*Math.max(o,s),E[e>>2]=Number(o!=s),t=r(i),e=r(a),t=ue(t),e=ue(e),s<o?(x[n>>2]=t,x[n+4>>2]=e):(x[n>>2]=e,x[n+4>>2]=t)},e:function(){return Date.now()},d:()=>performance.now(),l:function(t){var e=g.length;if(2147483648<(t>>>=0))return!1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296);var o=Math,i=o.min;r=Math.max(t,r),r+=(65536-r%65536)%65536;t:{var a=_.buffer;try{_.grow(i.call(o,2147483648,r)-a.byteLength+65535>>>16),R();var s=1;break t}catch(t){}s=void 0}if(s)return!0}return!1},A:function(t,e){var n=0;return de().forEach((function(r,o){var i=e+n;for(o=x[t+4*o>>2]=i,i=0;i<r.length;++i)y[o++>>0]=r.charCodeAt(i);y[o>>0]=0,n+=r.length+1})),0},B:function(t,e){var n=de();x[t>>2]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1})),x[e>>2]=r,0},f:function(t){try{var e=oe(t);if(null===e.Wb)throw new Et(8);e.pc&&(e.pc=null);try{e.Mb.close&&e.Mb.close(e)}catch(t){throw t}finally{wt[e.Wb]=null}return e.Wb=null,0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return t.Ob}},m:function(t,e){try{var n=oe(t);return y[e>>0]=n.Sb?2:16384==(61440&n.mode)?3:40960==(61440&n.mode)?7:4,v[e+2>>1]=0,P=[0,(O=0,1<=+Math.abs(O)?0<O?+Math.floor(O/4294967296)>>>0:~~+Math.ceil((O-+(~~O>>>0))/4294967296)>>>0:0)],E[e+8>>2]=P[0],E[e+12>>2]=P[1],P=[0,(O=0,1<=+Math.abs(O)?0<O?+Math.floor(O/4294967296)>>>0:~~+Math.ceil((O-+(~~O>>>0))/4294967296)>>>0:0)],E[e+16>>2]=P[0],E[e+20>>2]=P[1],0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return t.Ob}},t:function(t,e,n,r){try{t:{var o=oe(t);t=e;for(var i,a=e=0;a<n;a++){var s=x[t>>2],c=x[t+4>>2];t+=8;var u=o,l=s,f=c,d=i,b=y;if(0>f||0>d)throw new Et(28);if(null===u.Wb)throw new Et(8);if(1==(2097155&u.flags))throw new Et(8);if(16384==(61440&u.node.mode))throw new Et(31);if(!u.Mb.read)throw new Et(28);var h=void 0!==d;if(h){if(!u.seekable)throw new Et(70)}else d=u.position;var p=u.Mb.read(u,b,l,f,d);h||(u.position+=p);var m=p;if(0>m){var _=-1;break t}if(e+=m,m<c)break;void 0!==i&&(i+=m)}_=e}return x[r>>2]=_,0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return t.Ob}},i:function(t,e,n,r,o){try{if(e=n+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*n:NaN,isNaN(e))return 61;var i=oe(t);return Yt(i,e,r),P=[i.position>>>0,(O=i.position,1<=+Math.abs(O)?0<O?+Math.floor(O/4294967296)>>>0:~~+Math.ceil((O-+(~~O>>>0))/4294967296)>>>0:0)],E[o>>2]=P[0],E[o+4>>2]=P[1],i.pc&&0===e&&0===r&&(i.pc=null),0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return t.Ob}},D:function(t){try{var e=oe(t);return fn((function(t){var n=e.node.Ub;n.type.Sc?n.type.Sc(n,!1,(function(e){t(e?function(){return 29}:0)})):t(0)}))}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return t.Ob}},q:function(t,e,n,r){try{t:{var o=oe(t);t=e;for(var i,a=e=0;a<n;a++){var s=x[t>>2],c=x[t+4>>2];t+=8;var u=o,l=s,f=c,d=i,b=y;if(0>f||0>d)throw new Et(28);if(null===u.Wb)throw new Et(8);if(0==(2097155&u.flags))throw new Et(8);if(16384==(61440&u.node.mode))throw new Et(31);if(!u.Mb.write)throw new Et(28);u.seekable&&1024&u.flags&&Yt(u,0,2);var h=void 0!==d;if(h){if(!u.seekable)throw new Et(70)}else d=u.position;var p=u.Mb.write(u,b,l,f,d,void 0);h||(u.position+=p);var m=p;if(0>m){var _=-1;break t}e+=m,void 0!==i&&(i+=m)}_=e}return x[r>>2]=_,0}catch(t){if(void 0===Jt||"ErrnoError"!==t.name)throw t;return t.Ob}},ra:be,N:he,ga:pe,ca:me,Y:_e,la:we,G:ye,h:ge,oa:ve,ja:Ee,ea:xe,fa:ke,k:Se,v:qe,pa:Re,g:Ae,qa:Te,da:Ce,ha:Me,ia:Ne,na:De,c:Ie,ka:Oe,ma:Pe,aa:Ue,V:Le,$:Fe,ba:je,S:ze,U:Be,Z:He,X:Ve,R:$e,Q:We,T:Xe,_:Ke,O:Qe,W:Ye,P:Ge};function wn(){return(wn=r.asm.rb).apply(null,arguments)}!function(){function t(t){if(t=function(t){var e,n={};for(e in t)!function(e){var r=t[e];n[e]="function"==typeof r?function(){on.push(e);try{return r.apply(null,arguments)}finally{q||(on.pop()===e||j(),nn&&1===en&&0===on.length&&(en=0,tn(Tn),"undefined"!=typeof Fibers&&Fibers.Xc()))}}:r}(e);return n}(t=t.exports),r.asm=t,_=r.asm.sa,R(),T.unshift(r.asm.ta),U--,r.monitorRunDependencies&&r.monitorRunDependencies(U),0==U&&(null!==L&&(clearInterval(L),L=null),F)){var e=F;F=null,e()}return t}var e={a:_n};if(U++,r.monitorRunDependencies&&r.monitorRunDependencies(U),r.instantiateWasm)try{return r.instantiateWasm(e,t)}catch(t){p("Module.instantiateWasm callback failed with error: "+t),i(t)}(function(t,e){var n=I;return b||"function"!=typeof WebAssembly.instantiateStreaming||z(n)||"function"!=typeof fetch?V(n,t,e):fetch(n,{credentials:"same-origin"}).then((r=>WebAssembly.instantiateStreaming(r,t).then(e,(function(r){return p("wasm streaming compile failed: "+r),p("falling back to ArrayBuffer instantiation"),V(n,t,e)}))))})(e,(function(e){t(e.instance)})).catch(i)}(),r._sqlite3_vfs_find=function(){return(r._sqlite3_vfs_find=r.asm.ua).apply(null,arguments)},r._sqlite3_malloc=function(){return(r._sqlite3_malloc=r.asm.va).apply(null,arguments)},r._sqlite3_free=function(){return(r._sqlite3_free=r.asm.wa).apply(null,arguments)},r._sqlite3_prepare_v2=function(){return(r._sqlite3_prepare_v2=r.asm.xa).apply(null,arguments)},r._sqlite3_step=function(){return(r._sqlite3_step=r.asm.ya).apply(null,arguments)},r._sqlite3_column_int64=function(){return(r._sqlite3_column_int64=r.asm.za).apply(null,arguments)},r._sqlite3_column_int=function(){return(r._sqlite3_column_int=r.asm.Aa).apply(null,arguments)},r._sqlite3_finalize=function(){return(r._sqlite3_finalize=r.asm.Ba).apply(null,arguments)},r._sqlite3_reset=function(){return(r._sqlite3_reset=r.asm.Ca).apply(null,arguments)},r._sqlite3_clear_bindings=function(){return(r._sqlite3_clear_bindings=r.asm.Da).apply(null,arguments)},r._sqlite3_value_blob=function(){return(r._sqlite3_value_blob=r.asm.Ea).apply(null,arguments)},r._sqlite3_value_text=function(){return(r._sqlite3_value_text=r.asm.Fa).apply(null,arguments)},r._sqlite3_value_bytes=function(){return(r._sqlite3_value_bytes=r.asm.Ga).apply(null,arguments)},r._sqlite3_value_double=function(){return(r._sqlite3_value_double=r.asm.Ha).apply(null,arguments)},r._sqlite3_value_int=function(){return(r._sqlite3_value_int=r.asm.Ia).apply(null,arguments)},r._sqlite3_value_int64=function(){return(r._sqlite3_value_int64=r.asm.Ja).apply(null,arguments)},r._sqlite3_value_type=function(){return(r._sqlite3_value_type=r.asm.Ka).apply(null,arguments)},r._sqlite3_result_blob=function(){return(r._sqlite3_result_blob=r.asm.La).apply(null,arguments)},r._sqlite3_result_double=function(){return(r._sqlite3_result_double=r.asm.Ma).apply(null,arguments)},r._sqlite3_result_error=function(){return(r._sqlite3_result_error=r.asm.Na).apply(null,arguments)},r._sqlite3_result_int=function(){return(r._sqlite3_result_int=r.asm.Oa).apply(null,arguments)},r._sqlite3_result_int64=function(){return(r._sqlite3_result_int64=r.asm.Pa).apply(null,arguments)},r._sqlite3_result_null=function(){return(r._sqlite3_result_null=r.asm.Qa).apply(null,arguments)},r._sqlite3_result_text=function(){return(r._sqlite3_result_text=r.asm.Ra).apply(null,arguments)},r._sqlite3_column_count=function(){return(r._sqlite3_column_count=r.asm.Sa).apply(null,arguments)},r._sqlite3_data_count=function(){return(r._sqlite3_data_count=r.asm.Ta).apply(null,arguments)},r._sqlite3_column_blob=function(){return(r._sqlite3_column_blob=r.asm.Ua).apply(null,arguments)},r._sqlite3_column_bytes=function(){return(r._sqlite3_column_bytes=r.asm.Va).apply(null,arguments)},r._sqlite3_column_double=function(){return(r._sqlite3_column_double=r.asm.Wa).apply(null,arguments)},r._sqlite3_column_text=function(){return(r._sqlite3_column_text=r.asm.Xa).apply(null,arguments)},r._sqlite3_column_type=function(){return(r._sqlite3_column_type=r.asm.Ya).apply(null,arguments)},r._sqlite3_column_name=function(){return(r._sqlite3_column_name=r.asm.Za).apply(null,arguments)},r._sqlite3_bind_blob=function(){return(r._sqlite3_bind_blob=r.asm._a).apply(null,arguments)},r._sqlite3_bind_double=function(){return(r._sqlite3_bind_double=r.asm.$a).apply(null,arguments)},r._sqlite3_bind_int=function(){return(r._sqlite3_bind_int=r.asm.ab).apply(null,arguments)},r._sqlite3_bind_int64=function(){return(r._sqlite3_bind_int64=r.asm.bb).apply(null,arguments)},r._sqlite3_bind_null=function(){return(r._sqlite3_bind_null=r.asm.cb).apply(null,arguments)},r._sqlite3_bind_text=function(){return(r._sqlite3_bind_text=r.asm.db).apply(null,arguments)},r._sqlite3_bind_parameter_count=function(){return(r._sqlite3_bind_parameter_count=r.asm.eb).apply(null,arguments)},r._sqlite3_bind_parameter_name=function(){return(r._sqlite3_bind_parameter_name=r.asm.fb).apply(null,arguments)},r._sqlite3_sql=function(){return(r._sqlite3_sql=r.asm.gb).apply(null,arguments)},r._sqlite3_exec=function(){return(r._sqlite3_exec=r.asm.hb).apply(null,arguments)},r._sqlite3_errmsg=function(){return(r._sqlite3_errmsg=r.asm.ib).apply(null,arguments)},r._sqlite3_declare_vtab=function(){return(r._sqlite3_declare_vtab=r.asm.jb).apply(null,arguments)},r._sqlite3_libversion=function(){return(r._sqlite3_libversion=r.asm.kb).apply(null,arguments)},r._sqlite3_libversion_number=function(){return(r._sqlite3_libversion_number=r.asm.lb).apply(null,arguments)},r._sqlite3_changes=function(){return(r._sqlite3_changes=r.asm.mb).apply(null,arguments)},r._sqlite3_close=function(){return(r._sqlite3_close=r.asm.nb).apply(null,arguments)},r._sqlite3_limit=function(){return(r._sqlite3_limit=r.asm.ob).apply(null,arguments)},r._sqlite3_open_v2=function(){return(r._sqlite3_open_v2=r.asm.pb).apply(null,arguments)},r._sqlite3_get_autocommit=function(){return(r._sqlite3_get_autocommit=r.asm.qb).apply(null,arguments)};var yn=r._malloc=function(){return(yn=r._malloc=r.asm.sb).apply(null,arguments)},gn=r._free=function(){return(gn=r._free=r.asm.tb).apply(null,arguments)};r._RegisterExtensionFunctions=function(){return(r._RegisterExtensionFunctions=r.asm.ub).apply(null,arguments)},r._set_authorizer=function(){return(r._set_authorizer=r.asm.vb).apply(null,arguments)},r._create_function=function(){return(r._create_function=r.asm.wb).apply(null,arguments)},r._create_module=function(){return(r._create_module=r.asm.xb).apply(null,arguments)},r._progress_handler=function(){return(r._progress_handler=r.asm.yb).apply(null,arguments)},r._register_vfs=function(){return(r._register_vfs=r.asm.zb).apply(null,arguments)},r._getSqliteFree=function(){return(r._getSqliteFree=r.asm.Ab).apply(null,arguments)};var vn,En=r._main=function(){return(En=r._main=r.asm.Bb).apply(null,arguments)};function xn(){return(xn=r.asm.Db).apply(null,arguments)}function kn(){return(kn=r.asm.Eb).apply(null,arguments)}function Sn(){return(Sn=r.asm.Fb).apply(null,arguments)}function qn(){return(qn=r.asm.Gb).apply(null,arguments)}function Rn(){return(Rn=r.asm.Hb).apply(null,arguments)}function An(){return(An=r.asm.Ib).apply(null,arguments)}function Tn(){return(Tn=r.asm.Jb).apply(null,arguments)}function Cn(){return(Cn=r.asm.Kb).apply(null,arguments)}function Mn(){return(Mn=r.asm.Lb).apply(null,arguments)}function Nn(){function t(){if(!vn&&(vn=!0,r.calledRun=!0,!q)){if(r.noFSInit||ct||(ct=!0,Gt(),r.stdin=r.stdin,r.stdout=r.stdout,r.stderr=r.stderr,r.stdin?Zt("stdin",r.stdin):Bt("/dev/tty","/dev/stdin"),r.stdout?Zt("stdout",null,r.stdout):Bt("/dev/tty","/dev/stdout"),r.stderr?Zt("stderr",null,r.stderr):Bt("/dev/tty1","/dev/stderr"),Qt("/dev/stdin",0),Qt("/dev/stdout",1),Qt("/dev/stderr",1)),vt=!1,W(T),W(C),o(r),r.onRuntimeInitialized&&r.onRuntimeInitialized(),Dn){var t=En;try{var e=t(0,0);w=e,Ze(e)}catch(t){Je(t)}}if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;)t=r.postRun.shift(),M.unshift(t);W(M)}}if(!(0<U)){if(r.preRun)for("function"==typeof r.preRun&&(r.preRun=[r.preRun]);r.preRun.length;)D();W(A),0<U||(r.setStatus?(r.setStatus("Running..."),setTimeout((function(){setTimeout((function(){r.setStatus("")}),1),t()}),1)):t())}}if(r.getTempRet0=kn,r.ccall=pn,r.cwrap=function(t,e,n,o){var i=!n||n.every((t=>"number"===t||"boolean"===t));return"string"!==e&&i&&!o?r["_"+t]:function(){return pn(t,e,n,arguments,o)}},r.setValue=K,r.getValue=X,r.UTF8ToString=G,r.stringToUTF8=ie,r.lengthBytesUTF8=ot,F=function t(){vn||Nn(),vn||(F=t)},r.preInit)for("function"==typeof r.preInit&&(r.preInit=[r.preInit]);0<r.preInit.length;)r.preInit.pop()();var Dn=!0;return r.noInitialRun&&(Dn=!1),Nn(),e.ready}),r=10,o=21,i=100,a=0x7fffffffffffffffn,s=-0x8000000000000000n;class c extends Error{constructor(t,e){super(t),this.code=e}}const u=!0;function l(t){const e=[],n=t.match(/([ns@]*):([nsv@])/);switch(n[2]){case"n":e.push("number");break;case"s":e.push("string");break;case"v":e.push(null)}const r=[];for(let t of n[1])switch(t){case"n":r.push("number");break;case"s":r.push("string")}return e.push(r),e}class f{mxPathName=64;xClose(t){return r}xRead(t,e,n){return r}xWrite(t,e,n){return r}xTruncate(t,e){return r}xSync(t,e){return 0}xFileSize(t,e){return r}xLock(t,e){return 0}xUnlock(t,e){return 0}xCheckReservedLock(t,e){return e.setInt32(0,0,!0),0}xFileControl(t,e,n){return 12}xSectorSize(t){return 512}xDeviceCharacteristics(t){return 0}xOpen(t,e,n,r){return 14}xDelete(t,e){return r}xAccess(t,e,n){return r}handleAsync(t){return t()}}[256,2048,512,4096,1024,8192,16384].reduce(((t,e)=>t|e));class d{get state(){return this.#t}#t=0;timeoutMillis=0;#e=new Map;#n=Promise.resolve(0);async lock(t){return this.#r(this.#o,t)}async unlock(t){return this.#r(this.#i,t)}async isSomewhereReserved(){throw new Error("unimplemented")}async#r(t,e){const n=7&e;try{const e=()=>t.call(this,n);return await(this.#n=this.#n.then(e,e)),this.#t=n,0}catch(t){return"AbortError"===t.name?5:(console.error(t),3850)}}async#o(t){if(t===this.#t)return 0;switch(this.#t){case 0:if(1===t)return this._NONEtoSHARED();throw new Error(`unexpected transition ${this.#t} -> ${t}`);case 1:switch(t){case 2:return this._SHAREDtoRESERVED();case 4:return this._SHAREDtoEXCLUSIVE();default:throw new Error(`unexpected transition ${this.#t} -> ${t}`)}case 2:if(4===t)return this._RESERVEDtoEXCLUSIVE();throw new Error(`unexpected transition ${this.#t} -> ${t}`);default:throw new Error(`unexpected transition ${this.#t} -> ${t}`)}}async#i(t){if(t===this.#t)return 0;switch(this.#t){case 4:switch(t){case 1:return this._EXCLUSIVEtoSHARED();case 0:return this._EXCLUSIVEtoNONE();default:throw new Error(`unexpected transition ${this.#t} -> ${t}`)}case 2:switch(t){case 1:return this._RESERVEDtoSHARED();case 0:return this._RESERVEDtoNONE();default:throw new Error(`unexpected transition ${this.#t} -> ${t}`)}case 1:if(0===t)return this._SHAREDtoNONE();throw new Error(`unexpected transition ${this.#t} -> ${t}`);default:throw new Error(`unexpected transition ${this.#t} -> ${t}`)}}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(t,e){return new Promise((async(n,r)=>{try{await navigator.locks.request(t,e,(e=>{if(n(e),e)return new Promise((e=>this.#e.set(t,e)))}))}catch(t){r(t)}}))}_releaseWebLock(t){this.#e.get(t)?.(),this.#e.delete(t)}async _pollWebLock(t){const e=await navigator.locks.query();return e.held.find((({name:e})=>e===t))?.mode}_getTimeoutSignal(){if(this.timeoutMillis){const t=new AbortController;return setTimeout((()=>t.abort()),this.timeoutMillis),t.signal}}}class b extends d{constructor(t){super(),this._lockName=t+"-outer",this._reservedName=t+"-reserved"}async isSomewhereReserved(){return"exclusive"===await this._pollWebLock(this._reservedName)}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 h=0;const p=new WeakMap;function m(...t){console.debug(...t)}class _{#a;#s;#c;#u=null;#l=0;#f=Promise.resolve();#d=Promise.resolve();constructor(t,e={durability:"default"}){this.#s=Promise.resolve(t).then((t=>this.#a=t)),this.#c=e}async close(){const t=this.#a??await this.#s;await this.#f,await this.sync(),t.close()}async run(t,e){const n=this.#f.then((()=>this.#b(t,e)));return this.#f=n.catch((()=>{})),n}async#b(t,e){const n=this.#a??await this.#s;if("readwrite"===t&&"readonly"===this.#u?.mode)this.#u=null;else if(performance.now()-this.#l>5e3){try{this.#u?.commit()}catch(t){if("InvalidStateError"!==t.name)throw t}await new Promise((t=>setTimeout(t))),this.#u=null}for(let r=0;r<2;++r){if(!this.#u){this.#u=n.transaction(n.objectStoreNames,t,this.#c);const e=this.#l=performance.now();this.#d=this.#d.then((()=>new Promise(((t,n)=>{this.#u.addEventListener("complete",(e=>{t(),this.#u===e.target&&(this.#u=null),m(`transaction ${p.get(e.target)} complete`)})),this.#u.addEventListener("abort",(t=>{console.warn("tx abort",(performance.now()-e)/1e3);const r=t.target.error;n(r),this.#u===t.target&&(this.#u=null),m(`transaction ${p.get(t.target)} aborted`,r)}))})))),m(`new transaction ${h} ${t}`),p.set(this.#u,h++)}try{const t=Object.fromEntries(Array.from(n.objectStoreNames,(t=>[t,new y(this.#u.objectStore(t))])));return await e(t)}catch(t){if(this.#u=null,r)throw t}}}async sync(){await this.#d,this.#d=Promise.resolve()}}function w(t){return new Promise(((e,n)=>{t.addEventListener("success",(()=>e(t.result))),t.addEventListener("error",(()=>n(t.error)))}))}class y{#h;constructor(t){this.#h=t}get(t){return m(`get ${this.#h.name}`,t),w(this.#h.get(t))}getAll(t,e){return m(`getAll ${this.#h.name}`,t,e),w(this.#h.getAll(t,e))}getKey(t){return m(`getKey ${this.#h.name}`,t),w(this.#h.getKey(t))}getAllKeys(t,e){return m(`getAllKeys ${this.#h.name}`,t,e),w(this.#h.getAllKeys(t,e))}put(t,e){return m(`put ${this.#h.name}`,t,e),w(this.#h.put(t,e))}delete(t){return m(`delete ${this.#h.name}`,t),w(this.#h.delete(t))}clear(){return m(`clear ${this.#h.name}`),w(this.#h.clear())}index(t){return new g(this.#h.index(t))}}class g{#p;constructor(t){this.#p=t}getAllKeys(t,e){return m(`IDBIndex.getAllKeys ${this.#p.objectStore.name}<${this.#p.name}>`,t,e),w(this.#p.getAllKeys(t,e))}}const v={durability:"default",purge:"deferred",purgeAtLeast:16};class E extends f{#m;#_=new Map;#w;#y=new Set;#g=performance.now();#v=new Set;constructor(t="wa-sqlite",e=v){super(),this.name=t,this.#m=Object.assign({},v,e),this.#w=new _(function(t){return new Promise(((e,n)=>{const r=globalThis.indexedDB.open(t,5);r.addEventListener("upgradeneeded",(function(){r.result.createObjectStore("blocks",{keyPath:["path","offset","version"]}).createIndex("version",["path","version"])})),r.addEventListener("success",(()=>{e(r.result)})),r.addEventListener("error",(()=>{n(r.error)}))}))}(t),{durability:this.#m.durability})}async close(){for(const t of this.#_.keys())await this.xClose(t);await(this.#w?.close()),this.#w=null}xOpen(t,e,n,r){return this.handleAsync((async()=>{null===t&&(t=`null_${e}`),e.toString(16),n.toString(16);try{const o=new URL(t,"http://localhost/"),i={path:o.pathname,flags:n,block0:null,locks:new b(o.pathname)};return this.#_.set(e,i),await this.#w.run("readwrite",(async({blocks:t})=>{if(i.block0=await t.get(this.#E(i,0)),!i.block0){if(!(4&n))throw new Error(`file not found: ${i.path}`);i.block0={path:i.path,offset:0,version:0,data:new Uint8Array(0),fileSize:0},t.put(i.block0)}})),r.setInt32(0,1&n,!0),0}catch(t){return console.error(t),14}}))}xClose(t){return this.handleAsync((async()=>{try{const e=this.#_.get(t);return e&&(e.path,this.#_.delete(t),8&e.flags&&this.#w.run("readwrite",(({blocks:t})=>{t.delete(IDBKeyRange.bound([e.path],[e.path,[]]))}))),0}catch(t){return console.error(t),r}}))}xRead(t,e,n){return this.handleAsync((async()=>{const o=this.#_.get(t);o.path,e.byteLength;try{return await this.#w.run("readonly",(async({blocks:t})=>{let r=0;for(;r<e.byteLength;){const i=n+r,a=i<o.block0.data.byteLength?o.block0:await t.get(this.#E(o,-i));if(!a||a.data.byteLength-a.offset<=i)return e.fill(0,r),522;const s=e.subarray(r),c=i+a.offset,u=Math.min(Math.max(a.data.byteLength-c,0),s.byteLength);s.set(a.data.subarray(c,c+u)),r+=u}return 0}))}catch(t){return console.error(t),r}}))}xWrite(t,e,n){const r=this.#v.has(t);if(r||performance.now()-this.#g>3e3){const o=this.handleAsync((async()=>{this.handleAsync!==super.handleAsync&&this.#v.add(t),await new Promise((t=>setTimeout(t)));const r=this.#x(t,e,n);return this.#g=performance.now(),r}));return r&&this.#v.delete(t),o}return this.#x(t,e,n)}#x(t,e,n){const o=this.#_.get(t);o.path,e.byteLength;try{const t=o.block0.fileSize;o.block0.fileSize=Math.max(o.block0.fileSize,n+e.byteLength);const r=0===n?o.block0:{path:o.path,offset:-n,version:o.block0.version,data:null};return r.data=e.slice(),o.changedPages?(t===o.block0.fileSize&&o.changedPages.add(-n),0!==n&&this.#w.run("readwrite",(({blocks:t})=>t.put(r)))):this.#w.run("readwrite",(({blocks:t})=>t.put(r))),0}catch(t){return console.error(t),r}}xTruncate(t,e){const n=this.#_.get(t);n.path;try{Object.assign(n.block0,{fileSize:e,data:n.block0.data.slice(0,e)});const t=Object.assign({},n.block0);return this.#w.run("readwrite",(({blocks:r})=>{r.delete(this.#E(n,-1/0,-e)),r.put(t)})),0}catch(t){return console.error(t),r}}xSync(t,e){const n=this.#v.has(t);if(n||"relaxed"!==this.#m.durability||performance.now()-this.#g>3e3){const r=this.handleAsync((async()=>{this.handleAsync!==super.handleAsync&&this.#v.add(t);const n=await this.#k(t,e);return this.#g=performance.now(),n}));return n&&this.#v.delete(t),r}return this.#_.get(t).path,0}async#k(t,e){this.#_.get(t).path;try{await this.#w.sync()}catch(t){return console.error(t),r}return 0}xFileSize(t,e){const n=this.#_.get(t);return n.path,e.setBigInt64(0,BigInt(n.block0.fileSize),!0),0}xLock(t,e){return this.handleAsync((async()=>{const n=this.#_.get(t);n.path;try{const t=await n.locks.lock(e);return 0===t&&1===n.locks.state&&(n.block0=await this.#w.run("readonly",(({blocks:t})=>t.get(this.#E(n,0))))),t}catch(t){return console.error(t),r}}))}xUnlock(t,e){return this.handleAsync((async()=>{const n=this.#_.get(t);n.path;try{return n.locks.unlock(e)}catch(t){return console.error(t),r}}))}xCheckReservedLock(t,e){return this.handleAsync((async()=>{const n=this.#_.get(t);n.path;const r=await n.locks.isSomewhereReserved();return e.setInt32(0,r?1:0,!0),0}))}xSectorSize(t){return 512}xDeviceCharacteristics(t){return 19968}xFileControl(t,e,n){const o=this.#_.get(t);switch(o.path,e){case 11:return o.overwrite=!0,0;case 21:if(o.overwrite)try{return this.handleAsync((async()=>(await this.#S(o),0)))}catch(t){return console.error(t),r}return 0;case 22:return o.overwrite=!1,0;case 31:return this.handleAsync((async()=>{try{return o.block0.version--,o.changedPages=new Set,this.#w.run("readwrite",(async({blocks:t})=>{const e=await t.index("version").getAllKeys(IDBKeyRange.bound([o.path],[o.path,o.block0.version]));for(const n of e)t.delete(n)})),0}catch(t){return console.error(t),r}}));case 32:try{const t=Object.assign({},o.block0);t.data=t.data.slice();const e=o.changedPages;return o.changedPages=null,this.#w.run("readwrite",(async({blocks:n})=>{n.put(t);const r=await n.get([o.path,"purge",0])??{path:o.path,offset:"purge",version:0,data:new Map,count:0};r.count+=e.size;for(const n of e)r.data.set(n,t.version);n.put(r),this.#q(o.path,r.count)})),0}catch(t){return console.error(t),r}case 33:return this.handleAsync((async()=>{try{return o.changedPages=null,o.block0=await this.#w.run("readonly",(({blocks:t})=>t.get([o.path,0,o.block0.version+1]))),0}catch(t){return console.error(t),r}}));default:return 12}}xAccess(t,e,n){return this.handleAsync((async()=>{try{const e=new URL(t,"file://localhost/").pathname,r=await this.#w.run("readonly",(({blocks:t})=>t.getKey(this.#E({path:e},0))));return n.setInt32(0,r?1:0,!0),0}catch(t){return console.error(t),r}}))}xDelete(t,e){return this.handleAsync((async()=>{const n=new URL(t,"file://localhost/").pathname;try{return this.#w.run("readwrite",(({blocks:t})=>t.delete(IDBKeyRange.bound([n],[n,[]])))),e&&await this.#w.sync(),0}catch(t){return console.error(t),r}}))}async purge(t){Date.now(),await this.#w.run("readwrite",(async({blocks:e})=>{const n=await e.get([t,"purge",0]);if(n){for(const[r,o]of n.data)e.delete(IDBKeyRange.bound([t,r,o],[t,r,1/0],!0,!1));await e.delete([t,"purge",0])}n?.data.size,Date.now()}))}#q(t,e){"manual"===this.#m.purge||this.#y.has(t)||e<this.#m.purgeAtLeast||(globalThis.requestIdleCallback?globalThis.requestIdleCallback((()=>{this.purge(t),this.#y.delete(t)})):setTimeout((()=>{this.purge(t),this.#y.delete(t)})),this.#y.add(t))}#E(t,e,n=0){const r=!e||-e<t.block0.data.length?-1/0:t.block0.version;return IDBKeyRange.bound([t.path,e,r],[t.path,n,1/0])}async#S(t){const e=t.block0.data.length;if(e<18)return;const n=new DataView(t.block0.data.buffer,t.block0.data.byteOffset);let r=n.getUint16(16);if(1===r&&(r=65536),r===e)return;const o=Math.max(e,r),i=o/e,a=o/r,s=n.getUint32(28)*r,c=t.block0.version;await this.#w.run("readwrite",(async({blocks:e})=>{const n=await e.index("version").getAllKeys(IDBKeyRange.bound([t.path,c+1],[t.path,1/0]));for(const t of n)e.delete(t);e.delete([t.path,"purge",0]);for(let n=0;n<s;n+=o){const u=await e.getAll(IDBKeyRange.lowerBound([t.path,-(n+o),1/0]),i);for(const t of u)e.delete([t.path,t.offset,t.version]);if(1===a){const o=new Uint8Array(r);for(const t of u)o.set(t.data,-(n+t.offset));const i={path:t.path,offset:-n,version:c,data:o};0===i.offset&&(i.fileSize=s,t.block0=i),e.put(i)}else{const o=u[0];for(let i=0;i<a;++i){const a=-(n+i*r);if(-a>=s)break;const u={path:o.path,offset:a,version:c,data:o.data.subarray(i*r,(i+1)*r)};0===u.offset&&(u.fileSize=s,t.block0=u),e.put(u)}}}}))}}const x=Symbol("Comlink.proxy"),k=Symbol("Comlink.endpoint"),S=Symbol("Comlink.releaseProxy"),q=Symbol("Comlink.finalizer"),R=Symbol("Comlink.thrown"),A=t=>"object"==typeof t&&null!==t||"function"==typeof t,T=new Map([["proxy",{canHandle:t=>A(t)&&t[x],serialize(t){const{port1:e,port2:n}=new MessageChannel;return C(t,e),[n,[n]]},deserialize:t=>(t.start(),P(t,[],undefined))}],["throw",{canHandle:t=>A(t)&&R in t,serialize({value:t}){let e;return e=t instanceof Error?{isError:!0,value:{message:t.message,name:t.name,stack:t.stack}}:{isError:!1,value:t},[e,[]]},deserialize(t){if(t.isError)throw Object.assign(new Error(t.value.message),t.value);throw t.value}}]]);function C(t,e=globalThis,n=["*"]){e.addEventListener("message",(function r(o){if(!o||!o.data)return;if(!function(t,e){for(const n of t){if(e===n||"*"===n)return!0;if(n instanceof RegExp&&n.test(e))return!0}return!1}(n,o.origin))return void console.warn(`Invalid origin '${o.origin}' for comlink proxy`);const{id:i,type:a,path:s}=Object.assign({path:[]},o.data),c=(o.data.argumentList||[]).map(j);let u;try{const e=s.slice(0,-1).reduce(((t,e)=>t[e]),t),n=s.reduce(((t,e)=>t[e]),t);switch(a){case"GET":u=n;break;case"SET":e[s.slice(-1)[0]]=j(o.data.value),u=!0;break;case"APPLY":u=n.apply(e,c);break;case"CONSTRUCT":u=function(t){return Object.assign(t,{[x]:!0})}(new n(...c));break;case"ENDPOINT":{const{port1:e,port2:n}=new MessageChannel;C(t,n),u=function(t,e){return L.set(t,e),t}(e,[e])}break;case"RELEASE":u=void 0;break;default:return}}catch(t){u={value:t,[R]:0}}Promise.resolve(u).catch((t=>({value:t,[R]:0}))).then((n=>{const[o,s]=F(n);e.postMessage(Object.assign(Object.assign({},o),{id:i}),s),"RELEASE"===a&&(e.removeEventListener("message",r),M(e),q in t&&"function"==typeof t[q]&&t[q]())})).catch((t=>{const[n,r]=F({value:new TypeError("Unserializable return value"),[R]:0});e.postMessage(Object.assign(Object.assign({},n),{id:i}),r)}))})),e.start&&e.start()}function M(t){(function(t){return"MessagePort"===t.constructor.name})(t)&&t.close()}function N(t){if(t)throw new Error("Proxy has been released and is not useable")}function D(t){return z(t,{type:"RELEASE"}).then((()=>{M(t)}))}const I=new WeakMap,O="FinalizationRegistry"in globalThis&&new FinalizationRegistry((t=>{const e=(I.get(t)||0)-1;I.set(t,e),0===e&&D(t)}));function P(t,e=[],n=function(){}){let r=!1;const o=new Proxy(n,{get(n,i){if(N(r),i===S)return()=>{!function(t){O&&O.unregister(t)}(o),D(t),r=!0};if("then"===i){if(0===e.length)return{then:()=>o};const n=z(t,{type:"GET",path:e.map((t=>t.toString()))}).then(j);return n.then.bind(n)}return P(t,[...e,i])},set(n,o,i){N(r);const[a,s]=F(i);return z(t,{type:"SET",path:[...e,o].map((t=>t.toString())),value:a},s).then(j)},apply(n,o,i){N(r);const a=e[e.length-1];if(a===k)return z(t,{type:"ENDPOINT"}).then(j);if("bind"===a)return P(t,e.slice(0,-1));const[s,c]=U(i);return z(t,{type:"APPLY",path:e.map((t=>t.toString())),argumentList:s},c).then(j)},construct(n,o){N(r);const[i,a]=U(o);return z(t,{type:"CONSTRUCT",path:e.map((t=>t.toString())),argumentList:i},a).then(j)}});return function(t,e){const n=(I.get(e)||0)+1;I.set(e,n),O&&O.register(t,e,t)}(o,t),o}function U(t){const e=t.map(F);return[e.map((t=>t[0])),(n=e.map((t=>t[1])),Array.prototype.concat.apply([],n))];var n}const L=new WeakMap;function F(t){for(const[e,n]of T)if(n.canHandle(t)){const[r,o]=n.serialize(t);return[{type:"HANDLER",name:e,value:r},o]}return[{type:"RAW",value:t},L.get(t)||[]]}function j(t){switch(t.type){case"HANDLER":return T.get(t.name).deserialize(t.value);case"RAW":return t.value}}function z(t,e,n){return new Promise((r=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");t.addEventListener("message",(function e(n){n.data&&n.data.id&&n.data.id===o&&(t.removeEventListener("message",e),r(n.data))})),t.start&&t.start(),t.postMessage(Object.assign({id:o},e),n)}))}let B,H={};const V="logseq-VFS",$=new class{constructor(){this.disable=t=>{},this.promise=Promise.resolve()}enable(){this.promise=new Promise((t=>this.disable=t))}},W=t=>({uuid:t[0],type:t[1],page_uuid:t[2],page_journal_day:t[3],name:t[4],content:t[5],datoms:t[6],created_at:t[7],updated_at:t[8]}),X={inc:()=>233,listDB:async()=>new Promise(((t,e)=>{const n=indexedDB.open(V);n.onerror=e,n.onsuccess=n=>{const r=n.target.result,o=r.transaction(["blocks"],"readonly").objectStore("blocks").getAllKeys();o.onsuccess=()=>{r.close();const e=[];for(const t of o.result)-1===e.findIndex((e=>e===t[0]))&&e.push(t[0]);t(e.map((t=>t.replace(/^\//,""))))},o.onerror=e}})),async unsafeUnlinkDB(t){const e="/"+t;console.log("[worker] deleting",t);const n=H[t];return n&&(await B.close_v2(n),delete H[t]),new Promise(((t,n)=>{const r=indexedDB.open(V);r.onerror=n,r.onsuccess=r=>{const o=r.target.result,i=o.transaction(["blocks"],"readwrite").objectStore("blocks").openCursor();i.onsuccess=n=>{const r=n.target.result;r?(r.key[0]===e&&r.delete(),r.continue()):(o.close(),t())},i.onerror=n}}))},async init(){if(console.log("[worker] calling init"),void 0===B){const t=await e();B=function(t){const e={},n=t._getSqliteFree(),r=t._malloc(8),f=[r,r+4];function d(e){if("string"!=typeof e)return 0;const n=t.lengthBytesUTF8(e),r=t._sqlite3_malloc(n+1);return t.stringToUTF8(e,r,n+1),r}function b(t,e){return BigInt(e)<<32n|0xffffffffn&BigInt(t)}const h=function(){const t=BigInt(Number.MAX_SAFE_INTEGER)>>32n,e=BigInt(Number.MIN_SAFE_INTEGER)>>32n;return function(n,r){return r>t||r<e?b(n,r):4294967296*r+(2147483647&n)-(2147483648&n)}}(),p=new Set;function m(t){if(!p.has(t))throw new c("not a database",o)}const _=new Map;function w(t){if(!_.has(t))throw new c("not a statement",o)}e.bind_collection=function(t,n){w(t);const r=Array.isArray(n),o=e.bind_parameter_count(t);for(let i=1;i<=o;++i){const o=n[r?i-1:e.bind_parameter_name(t,i)];void 0!==o&&e.bind(t,i,o)}return 0},e.bind=function(t,n,r){switch(w(t),typeof r){case"number":return r===(0|r)?e.bind_int(t,n,r):e.bind_double(t,n,r);case"string":return e.bind_text(t,n,r);default:return r instanceof Uint8Array||Array.isArray(r)?e.bind_blob(t,n,r):null===r?e.bind_null(t,n):"bigint"==typeof r?e.bind_int64(t,n,r):void 0===r?27:(console.warn("unknown binding converted to null",r),e.bind_null(t,n))}},e.bind_blob=function(){const e="sqlite3_bind_blob",r=t.cwrap(e,...l("nnnnn:n"));return function(o,i,a){w(o);const s=a.byteLength??a.length,c=t._sqlite3_malloc(s);t.HEAPU8.subarray(c).set(a);const u=r(o,i,c,s,n);return v(e,u,_.get(o))}}(),e.bind_parameter_count=function(){const e=t.cwrap("sqlite3_bind_parameter_count",...l("n:n"));return function(t){return w(t),e(t)}}(),e.bind_double=function(){const e="sqlite3_bind_double",n=t.cwrap(e,...l("nnn:n"));return function(t,r,o){w(t);const i=n(t,r,o);return v(e,i,_.get(t))}}(),e.bind_int=function(){const e="sqlite3_bind_int",n=t.cwrap(e,...l("nnn:n"));return function(t,r,o){if(w(t),o>2147483647||o<-2147483648)return 25;const i=n(t,r,o);return v(e,i,_.get(t))}}(),e.bind_int64=function(){const e="sqlite3_bind_int64",n=t.cwrap(e,...l("nnnn:n"));return function(t,r,o){if(w(t),o>a||o<s)return 25;const i=o>>32n,c=n(t,r,Number(0xffffffffn&o),Number(i));return v(e,c,_.get(t))}}(),e.bind_null=function(){const e="sqlite3_bind_null",n=t.cwrap(e,...l("nn:n"));return function(t,r){w(t);const o=n(t,r);return v(e,o,_.get(t))}}(),e.bind_parameter_name=function(){const e=t.cwrap("sqlite3_bind_parameter_name",...l("n:s"));return function(t,n){return w(t),e(t,n)}}(),e.bind_text=function(){const e="sqlite3_bind_text",r=t.cwrap(e,...l("nnnnn:n"));return function(t,o,i){w(t);const a=d(i),s=r(t,o,a,-1,n);return v(e,s,_.get(t))}}(),e.changes=function(){const e=t.cwrap("sqlite3_changes",...l("n:n"));return function(t){return m(t),e(t)}}(),e.close=function(){const e="sqlite3_close",n=t.cwrap(e,...l("n:n"),{async:u});return async function(t){m(t);const r=await n(t);return p.delete(t),v(e,r,t)}}(),e.column=function(n,r){w(n);const o=e.column_type(n,r);switch(o){case 4:return e.column_blob(n,r);case 2:return e.column_double(n,r);case 1:const i=e.column_int(n,r),a=t.getTempRet0();return h(i,a);case 5:return null;case 3:return e.column_text(n,r);default:throw new c("unknown type",o)}},e.column_blob=function(){const n=t.cwrap("sqlite3_column_blob",...l("nn:n"));return function(r,o){w(r);const i=e.column_bytes(r,o),a=n(r,o);return t.HEAPU8.subarray(a,a+i)}}(),e.column_bytes=function(){const e=t.cwrap("sqlite3_column_bytes",...l("nn:n"));return function(t,n){return w(t),e(t,n)}}(),e.column_count=function(){const e=t.cwrap("sqlite3_column_count",...l("n:n"));return function(t){return w(t),e(t)}}(),e.column_double=function(){const e=t.cwrap("sqlite3_column_double",...l("nn:n"));return function(t,n){return w(t),e(t,n)}}(),e.column_int=function(){const e=t.cwrap("sqlite3_column_int64",...l("nn:n"));return function(t,n){return w(t),e(t,n)}}(),e.column_int64=function(){const e=t.cwrap("sqlite3_column_int64",...l("nn:n"));return function(n,r){return w(n),b(e(n,r),t.getTempRet0())}}(),e.column_name=function(){const e=t.cwrap("sqlite3_column_name",...l("nn:s"));return function(t,n){return w(t),e(t,n)}}(),e.column_names=function(t){const n=[],r=e.column_count(t);for(let o=0;o<r;++o)n.push(e.column_name(t,o));return n},e.column_text=function(){const e=t.cwrap("sqlite3_column_text",...l("nn:s"));return function(t,n){return w(t),e(t,n)}}(),e.column_type=function(){const e=t.cwrap("sqlite3_column_type",...l("nn:n"));return function(t,n){return w(t),e(t,n)}}(),e.create_function=function(e,n,r,i,a,s,u,l){if(m(e),s&&!u&&!l)return v("sqlite3_create_function",t.createFunction(e,n,r,i,a,s),e);if(!s&&u&&l)return v("sqlite3_create_function",t.createAggregate(e,n,r,i,a,u,l),e);throw new c("invalid function combination",o)},e.create_module=function(e,n,r,o){return m(e),v("sqlite3_create_module",t.createModule(e,n,r,o),e)},e.data_count=function(){const e=t.cwrap("sqlite3_data_count",...l("n:n"));return function(t){return w(t),e(t)}}(),e.declare_vtab=function(){const e=t.cwrap("sqlite3_declare_vtab",...l("ns:n"));return function(t,n){return v("sqlite3_declare_vtab",e(t,n))}}(),e.exec=async function(t,n,r){for await(const o of e.statements(t,n)){let t;for(;await e.step(o)===i;)if(r){t=t??e.column_names(o);const n=e.row(o);await r(n,t)}}return 0},e.finalize=function(){const e=t.cwrap("sqlite3_finalize",...l("n:n"),{async:u});return async function(t){if(!_.has(t))return o;const n=await e(t);return _.get(t),_.delete(t),n}}(),e.get_autocommit=function(){const e=t.cwrap("sqlite3_get_autocommit",...l("n:n"));return function(t){return e(t)}}(),e.libversion=function(){const e=t.cwrap("sqlite3_libversion",...l(":s"));return function(){return e()}}(),e.libversion_number=function(){const e=t.cwrap("sqlite3_libversion_number",...l(":n"));return function(){return e()}}(),e.limit=function(){const e=t.cwrap("sqlite3_limit",...l("nnn:n"));return function(t,n,r){return e(t,n,r)}}(),e.open_v2=function(){const e="sqlite3_open_v2",n=t.cwrap(e,...l("snnn:n"),{async:u});return async function(r,o,i){o=o||6,i=d(i);const a=await n(r,f[0],o,i),s=t.getValue(f[0],"*");return p.add(s),t._sqlite3_free(i),t.ccall("RegisterExtensionFunctions","void",["number"],[s]),v(e,a),s}}(),e.prepare_v2=function(){const e="sqlite3_prepare_v2",n=t.cwrap(e,...l("nnnnn:n"),{async:u});return async function(r,o){const i=await n(r,o,-1,f[0],f[1]);v(e,i,r);const a=t.getValue(f[0],"*");return a?(_.set(a,r),{stmt:a,sql:t.getValue(f[1],"*")}):null}}(),e.progress_handler=function(e,n,r,o){m(e),t.progressHandler(e,n,r,o)},e.reset=function(){const e="sqlite3_reset",n=t.cwrap(e,...l("n:n"),{async:u});return async function(t){w(t);const r=await n(t);return v(e,r,_.get(t))}}(),e.result=function(t,n){switch(typeof n){case"number":n===(0|n)?e.result_int(t,n):e.result_double(t,n);break;case"string":e.result_text(t,n);break;default:if(n instanceof Uint8Array||Array.isArray(n))e.result_blob(t,n);else if(null===n)e.result_null(t);else{if("bigint"==typeof n)return e.result_int64(t,n);console.warn("unknown result converted to null",n),e.result_null(t)}}},e.result_blob=function(){const e=t.cwrap("sqlite3_result_blob",...l("nnnn:n"));return function(r,o){const i=o.byteLength??o.length,a=t._sqlite3_malloc(i);t.HEAPU8.subarray(a).set(o),e(r,a,i,n)}}(),e.result_double=function(){const e=t.cwrap("sqlite3_result_double",...l("nn:n"));return function(t,n){e(t,n)}}(),e.result_int=function(){const e=t.cwrap("sqlite3_result_int",...l("nn:n"));return function(t,n){e(t,n)}}(),e.result_int64=function(){const e=t.cwrap("sqlite3_result_int64",...l("nnn:n"));return function(t,n){if(n>a||n<s)return 25;const r=n>>32n;e(t,Number(0xffffffffn&n),Number(r))}}(),e.result_null=function(){const e=t.cwrap("sqlite3_result_null",...l("n:n"));return function(t){e(t)}}(),e.result_text=function(){const e=t.cwrap("sqlite3_result_text",...l("nnnn:n"));return function(t,r){const o=d(r);e(t,o,-1,n)}}(),e.row=function(n){const r=[],o=e.data_count(n);for(let i=0;i<o;++i){const o=e.column(n,i);r.push(o?.buffer===t.HEAPU8.buffer?o.slice():o)}return r},e.set_authorizer=function(e,n,r){return m(e),v("sqlite3_set_authorizer",t.setAuthorizer(e,n,r),e)},e.sql=function(){const e=t.cwrap("sqlite3_sql",...l("n:s"));return function(t){return w(t),e(t)}}(),e.statements=function(t,n){return async function*(){const r=e.str_new(t,n);let o={stmt:null,sql:e.str_value(r)};try{for(;o=await e.prepare_v2(t,o.sql);)yield o.stmt,e.finalize(o.stmt),o.stmt=null}finally{o?.stmt&&e.finalize(o.stmt),e.str_finish(r)}}()},e.step=function(){const e="sqlite3_step",n=t.cwrap(e,...l("n:n"),{async:u});return async function(t){w(t);const r=await n(t);return v(e,r,_.get(t),[i,101])}}();let y=0;const g=new Map;function v(e,n,r=null,o=[0]){if(o.includes(n))return n;const i=r?t.ccall("sqlite3_errmsg","string",["number"],[r]):e;throw new c(i,n)}return e.str_new=function(e,n=""){const r=t.lengthBytesUTF8(n),o=4294967295&y++,i={offset:t._sqlite3_malloc(r+1),bytes:r};return g.set(o,i),t.stringToUTF8(n,i.offset,i.bytes+1),o},e.str_appendall=function(e,n){if(!g.has(e))throw new c("not a string",o);const r=g.get(e),i=t.lengthBytesUTF8(n),a=r.bytes+i,s=t._sqlite3_malloc(a+1);t.HEAPU8.subarray(s,s+a+1).set(t.HEAPU8.subarray(r.offset,r.offset+r.bytes)),t.stringToUTF8(n,s+r.bytes,i+1),t._sqlite3_free(r.offset),r.offset=s,r.bytes=a,g.set(e,r)},e.str_finish=function(e){if(!g.has(e))throw new c("not a string",o);const n=g.get(e);g.delete(e),t._sqlite3_free(n.offset)},e.str_value=function(t){if(!g.has(t))throw new c("not a string",o);return g.get(t).offset},e.user_data=function(e){return t.getFunctionUserData(e)},e.value=function(n){const r=e.value_type(n);switch(r){case 4:return e.value_blob(n);case 2:return e.value_double(n);case 1:const o=e.value_int(n),i=t.getTempRet0();return h(o,i);case 5:return null;case 3:return e.value_text(n);default:throw new c("unknown type",r)}},e.value_blob=function(){const n=t.cwrap("sqlite3_value_blob",...l("n:n"));return function(r){const o=e.value_bytes(r),i=n(r);return t.HEAPU8.subarray(i,i+o)}}(),e.value_bytes=function(){const e=t.cwrap("sqlite3_value_bytes",...l("n:n"));return function(t){return e(t)}}(),e.value_double=function(){const e=t.cwrap("sqlite3_value_double",...l("n:n"));return function(t){return e(t)}}(),e.value_int=function(){const e=t.cwrap("sqlite3_value_int64",...l("n:n"));return function(t){return e(t)}}(),e.value_int64=function(){const e=t.cwrap("sqlite3_value_int64",...l("n:n"));return function(n){return b(e(n),t.getTempRet0())}}(),e.value_text=function(){const e=t.cwrap("sqlite3_value_text",...l("n:s"));return function(t){return e(t)}}(),e.value_type=function(){const e=t.cwrap("sqlite3_value_type",...l("n:n"));return function(t){return e(t)}}(),e.vfs_register=function(e,n){return v("sqlite3_vfs_register",t.registerVFS(e,n))},e}(t);const n=new E("logseq-VFS");await n.isReady,B.vfs_register(n,!0),console.log("[worker] SQLite vfs init ok")}},async newDB(t){console.log("[worker] SQLite newDB",t);let e=H[t];if(e)return e;e=await B.open_v2(t??"demo");const n=B.str_new(e,"CREATE TABLE IF NOT EXISTS blocks (\n uuid TEXT PRIMARY KEY NOT NULL,\n type INTEGER NOT NULL,\n page_uuid TEXT,\n page_journal_day INTEGER,\n name TEXT UNIQUE,\n content TEXT,\n datoms TEXT,\n created_at INTEGER NOT NULL,\n updated_at INTEGER NOT NULL\n )");let r=await B.prepare_v2(e,B.str_value(n));console.log("debug 1 stmt",r);const o=await B.step(r.stmt);B.str_finish(n),B.finalize(r.stmt),console.log("debug 2 rc",o),console.log("[worker] SQLite newDB create table",o);const i=B.str_new(e,"CREATE INDEX IF NOT EXISTS block_type ON blocks(type)");r=await B.prepare_v2(e,B.str_value(i)),await B.step(r.stmt),B.str_finish(i),B.finalize(r.stmt),H[t]=e},async deleteBlocks(t,e=[]){const n=H[t];if(n||await this.newDB(t),n&&e.length>0){const t=B.str_new(n,"DELETE from blocks WHERE uuid IN (");B.str_appendall(t,e.map((t=>"?")).join(",")),B.str_appendall(t,")");const r=await B.prepare_v2(n,B.str_value(t));B.reset(r.stmt),B.bind_collection(r.stmt,e);const o=[];for(;await B.step(r.stmt)===i;){const t=B.row(r.stmt);o.push(t)}return B.str_finish(t),B.finalize(r.stmt),o}},async upsertBlocks(t,e){console.log("[worker] inserting blocks ",e);let n=H[t];n||(await this.newDB(t),n=H[t]),await $.promise,$.enable();const r=await B.changes(n);let o;try{o=await B.exec(n,"BEGIN"),console.log("begin transaction",o)}catch(t){throw console.error("begin transaction error",t),$.disable(),t}const i=B.str_new(n,"\n INSERT INTO blocks (uuid, type, page_uuid, page_journal_day, name, content,datoms, created_at, updated_at)\n VALUES (@uuid, @type, @page_uuid, @page_journal_day, @name, @content, @datoms, @created_at, @updated_at)\n ON CONFLICT (uuid)\n DO UPDATE\n SET (type, page_uuid, page_journal_day, name, content, datoms, created_at, updated_at)\n = (@type, @page_uuid, @page_journal_day, @name, @content, @datoms, @created_at, @updated_at)\n "),a=await B.prepare_v2(n,B.str_value(i));for(const t of e){console.log("upsert block",t),await B.reset(a.stmt),B.bind_collection(a.stmt,t);try{o=await B.step(a.stmt),console.log("upsert block step rc",o)}catch(t){console.error("upsert block error",t),await B.exec(n,"ROLLBACK"),$.disable()}}o=await B.exec(n,"COMMIT"),console.log("commit transaction",o);const s=await B.changes(n);return console.log(`[worker] SQLite upsertBlocks: ${r} -> ${s}`),$.disable(),s-r},async fetchAllPages(t){console.log("featch all pages");let e=H[t];e||(await this.newDB(t),e=H[t]);const n=B.str_new(e,"SELECT * FROM blocks WHERE type = 2"),r=await B.prepare_v2(e,B.str_value(n)),o=[];for(;await B.step(r.stmt)===i;){const t=B.row(r.stmt);o.push(t)}return B.str_finish(n),B.finalize(r.stmt),console.log("all pages",o),o.map(W)},async fetchAllBlocks(t){console.log("fetch all blocks");let e=H[t];e||(await this.newDB(t),e=H[t]);const n=B.str_new(e,"SELECT uuid, page_uuid FROM blocks WHERE type = 1"),r=await B.prepare_v2(e,B.str_value(n)),o=[];for(;await B.step(r.stmt)===i;){const t=B.row(r.stmt);o.push(t)}return B.str_finish(n),B.finalize(r.stmt),console.log("all blocks",o),o.map((t=>({uuid:t[0],page_uuid:t[1]})))},async fetchRecentJournalBlocks(t){let e=H[t];e||(await this.newDB(t),e=H[t]);let n=B.str_new(e,"SELECT uuid FROM blocks WHERE type = 2 ORDER BY page_journal_day DESC LIMIT 3"),r=await B.prepare_v2(e,B.str_value(n));const o=[];for(;await B.step(r.stmt)===i;){const t=B.row(r.stmt);o.push(t)}B.str_finish(n),B.finalize(r.stmt);const a=o.map((t=>t[0]));if(console.log("recent journal blocks",o,a),0===a.length)return[];n="SELECT * FROM blocks WHERE type = 1 AND page_uuid IN (",n+=a.map((t=>"?")).join(","),n+=")",n=B.str_new(e,n),r=await B.prepare_v2(e,B.str_value(n)),B.reset(r.stmt),B.bind_collection(r.stmt,a);const s=[];for(;await B.step(r.stmt)===i;){const t=B.row(r.stmt);s.push(t)}return B.str_finish(n),B.finalize(r.stmt),console.log("recent journal blocks",s),s.map(W)},async fetchInitData(t){let e=H[t];e||(await this.newDB(t),e=H[t]);const n=B.str_new(e,"SELECT * FROM blocks WHERE type IN (3, 4, 5, 6)"),r=await B.prepare_v2(e,B.str_value(n)),o=[];for(;await B.step(r.stmt)===i;){const t=B.row(r.stmt);o.push(t)}return B.str_finish(n),B.finalize(r.stmt),console.log("all required types",o),o.map(W)},async fetchBlocksExcluding(t,e){let n=H[t];n||(await this.newDB(t),n=H[t]);const r=B.str_new(n,"SELECT * FROM blocks WHERE TYPE = 1 AND uuid NOT IN (");B.str_appendall(r,e.map((t=>"?")).join(",")),B.str_appendall(r,")");const o=await B.prepare_v2(n,B.str_value(r));B.reset(o.stmt),B.bind_collection(o.stmt,e);const a=[];for(;await B.step(o.stmt)===i;){const t=B.row(o.stmt);a.push(t)}return B.str_finish(r),B.finalize(o.stmt),console.log("fetch blocks",a),a.map(W)}};onconnect=function(t){const e=t.ports[0];C(X,e)}})()})();
  3. //# sourceMappingURL=persist-db-worker.js.map