tinybase 9.3.0 → 9.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/@types/queries/index.d.ts +141 -7
  2. package/@types/queries/with-schemas/index.d.ts +153 -7
  3. package/@types/ui-react-dom/index.d.ts +10 -10
  4. package/@types/ui-react-dom/with-schemas/index.d.ts +10 -10
  5. package/@types/ui-react-dom-charts/index.d.ts +7 -7
  6. package/@types/ui-react-dom-charts/with-schemas/index.d.ts +7 -7
  7. package/@types/ui-react-inspector/index.d.ts +1 -1
  8. package/@types/ui-react-inspector/with-schemas/index.d.ts +1 -1
  9. package/@types/ui-solid-dom/index.d.ts +10 -10
  10. package/@types/ui-solid-dom/with-schemas/index.d.ts +10 -10
  11. package/@types/ui-solid-inspector/index.d.ts +1 -1
  12. package/@types/ui-solid-inspector/with-schemas/index.d.ts +1 -1
  13. package/@types/ui-svelte-dom/index.d.ts +10 -10
  14. package/@types/ui-svelte-dom/with-schemas/index.d.ts +10 -10
  15. package/@types/ui-svelte-inspector/index.d.ts +1 -1
  16. package/@types/ui-svelte-inspector/with-schemas/index.d.ts +1 -1
  17. package/index.js +200 -24
  18. package/min/index.js +1 -1
  19. package/min/index.js.gz +0 -0
  20. package/min/omni/index.js +1 -1
  21. package/min/omni/index.js.gz +0 -0
  22. package/min/omni/with-schemas/index.js +1 -1
  23. package/min/omni/with-schemas/index.js.gz +0 -0
  24. package/min/queries/index.js +1 -1
  25. package/min/queries/index.js.gz +0 -0
  26. package/min/queries/with-schemas/index.js +1 -1
  27. package/min/queries/with-schemas/index.js.gz +0 -0
  28. package/min/with-schemas/index.js +1 -1
  29. package/min/with-schemas/index.js.gz +0 -0
  30. package/omni/index.js +200 -24
  31. package/omni/with-schemas/index.js +200 -24
  32. package/package.json +1 -1
  33. package/queries/index.js +205 -24
  34. package/queries/with-schemas/index.js +205 -24
  35. package/readme.md +1 -1
  36. package/releases.md +1 -1
  37. package/with-schemas/index.js +200 -24
package/min/omni/index.js CHANGED
@@ -1 +1 @@
1
- import{addDatabaseChangeListener as t}from"expo-sqlite";import{unwatchFile as e,existsSync as a,writeFileSync as n,watchFile as s}from"fs";import{readlink as o,writeFile as r,chmod as i,rename as c,readFile as l,lstat as d,realpath as u,stat as w,unlink as g}from"fs/promises";import{resolve as y,dirname as h}from"path";import{Map as f}from"yjs";import{DurableObject as v}from"cloudflare:workers";const b=t=>typeof t,m="tinybase",S="",T=",",C=".",E=b(S),p=b(!0),R=b(0),I=b(b),L="object",_="array",N="true",D="type",A="default",O="allowNull",k="utf8",M="Listener",P="Result",$="add",x="Has",V="Ids",F="Table",H=F+"s",W=F+V,U="Row",q=U+"Count",G=U+V,X="Sorted"+U+V,z="Cell",B=z+V,j="Value",J=j+"s",Q=j+V,Y="open",K="close",Z="message",tt="error",et="change",at="connection",nt="storage",st="required",ot="t",rt="v",it=t=>S+t,ct=(t,e)=>t.startsWith(e),lt=(t,e)=>t.endsWith(e),dt=(t,e)=>t?.match(e),ut=(t,e=S,a)=>t.split(e,a),wt=(t,e,a)=>t.replace(e,a),gt=Promise,yt=Math,ht=t=>(e,a,n)=>t(e)?n?.():a(e),ft=globalThis,vt=ft.window,bt=Number,mt=String,St=(t,e,a)=>setInterval(t,1e3*e),Tt=t=>clearInterval(t),Ct=(t,e=0)=>setTimeout(t,1e3*e),Et=t=>clearTimeout(t),pt=(t,e,a)=>(t.addEventListener(e,a),()=>t.removeEventListener(e,a)),Rt=(t,e,a)=>(t.on(e,a),()=>t.off(e,a)),It=yt.max,Lt=yt.min,_t=yt.ceil,Nt=yt.floor,Dt=yt.random,At=1/0,Ot=isFinite,kt=bt.isInteger,Mt=t=>null==t,Pt=t=>void 0===t,$t=t=>null===t,xt=t=>!0===t,Vt=t=>!1===t,Ft=ht(Mt),Ht=ht(Pt),Wt=t=>t==E||t==p,Ut=t=>b(t)==E,qt=t=>b(t)==R,Gt=t=>b(t)==I,Xt=t=>Array.isArray(t),zt=(t,e,a)=>t.slice(e,a),Bt=t=>t.length,jt=t=>0==Bt(t),Jt=(t,e)=>t.test(e),Qt=()=>{},Yt=()=>{},Kt=t=>t,Zt=t=>new gt(t),te=async t=>gt.all(t),ee=ft.structuredClone,ae=(t,e)=>t.includes(e),ne=(t,e)=>t.indexOf(e),se=(t,e)=>t.every(e),oe=(t,e)=>Bt(t)===Bt(e)&&se(t,(t,a)=>e[a]===t),re=(t,e)=>se(t,(a,n)=>0==n||e(t[n-1],a)<=0),ie=(t,e)=>t.sort(e),ce=(t,e)=>t.forEach(e),le=(t,e=S)=>t.join(e),de=(t,e)=>t.map(e),ue=t=>we(t,(t,e)=>t+e,0),we=(t,e,a)=>t.reduce(e,a),ge=(t,e)=>t.filter(e),ye=(t,e)=>t.find(e),he=(t,e=Bt(t))=>t.splice(0,e),fe=(t,...e)=>t.push(...e),ve=t=>t.pop(),be=(t,...e)=>t.unshift(...e),me=t=>t.shift(),Se=Object,Te=t=>Se.getPrototypeOf(t),Ce=Se.isFrozen,Ee=Se.entries,pe=t=>!Mt(t)&&Ft(Te(t),t=>t==Se.prototype||Mt(Te(t)),()=>!0),Re=Se.keys,Ie=Se.freeze,Le=(...t)=>Se.assign(Se.create(null),...t),_e=(t,e)=>Se.hasOwn(t,e),Ne=(t,e)=>Ht(t,t=>Ht(Se.getOwnPropertyDescriptor(t,e),()=>t[e])),De=(t,e,a)=>(Se.defineProperty(t,e,{configurable:!0,enumerable:!0,value:a,writable:!0}),a),Ae=(t=[])=>{const e=Se.create(null);return ce(t,([t,a])=>De(e,t,a)),e},Oe=(t,e)=>(delete t[e],t),ke=(t,e)=>ce(Re(t),a=>e(t[a],a)),Me=(t,e)=>{for(const a in t)if(_e(t,a)&&!e(t[a],a))return!1;return!0},Pe=(t,e)=>de(Ee(t),([t,a])=>e(a,t)),$e=(t,e)=>{const a=Ae();return ke(t,(t,n)=>De(a,n,e(t,n))),a},xe=(t,e)=>$e(t,t=>$e(t,e)),Ve=(t,e)=>$e(t,t=>xe(t,e)),Fe=t=>Se.values(t),He=t=>Bt(Re(t)),We=t=>pe(t)&&0==He(t),Ue=(t,e,a=(t,e)=>t===e)=>He(t)===He(e)&&Me(t,(t,n)=>!!_e(e,n)&&(pe(t)?!!pe(e[n])&&Ue(e[n],t,a):a(t,e[n]))),qe=(t,e,a)=>(_e(t,e)||De(t,e,a()),t[e]),Ge=(t,e,a)=>Mt(t)||!pe(t)||We(t)||Ce(t)?(a?.(),!1):(ke(t,(a,n)=>{e(a,n)||Oe(t,n)}),!We(t)),Xe=JSON.stringify,ze=JSON.parse,Be=t=>Xe(t,(t,e)=>e instanceof Map?Ae([...e]):e),je=t=>Xe(t,(t,e)=>Pt(e)?"":e),Je=t=>Qe(ze(t)),Qe=t=>""===t?void 0:Xt(t)?de(t,Qe):pe(t)?$e(t,Qe):t,Ye=t=>{if($t(t))return"null";if(Xt(t))return _;if(pe(t))return L;const e=b(t);return Wt(e)||e==R&&Ot(t)?e:void 0},Ke=t=>Pt(t)||!Pt(Ye(t)),Ze=t=>t==L||t==_,ta=t=>pe(t)||Xt(t)?"�"+Xe(t):t,ea=t=>Ut(t)&&"�"==t[0],aa=(t,e=0)=>""===t||!e&&ea(t),na=(t,e,a)=>!a&&ea(t)?ze(zt(t,1)):t,sa=t=>e=>{let a=0;for(const n of e.values())a+=t(n);return a},oa=t=>t?.size??0,ra=sa(oa),ia=sa(ra),ca=sa(ia),la=(t,e)=>t?.has(e)??!1,da=t=>Pt(t)||0==oa(t),ua=t=>[...t?.values()??[]],wa=(t,e)=>{for(const[a,n]of t?.entries()??[])if(!e(n,a))return!1;return!0},ga=t=>t.clear(),ya=(t,e)=>t?.forEach(e),ha=(t,e)=>t?.delete(e),fa=14,va=15,ba=(t,e)=>Error(m+":"+t+(Pt(e)?S:":"+e)),ma=(t,e)=>{throw ba(t,e)},Sa=(t,e)=>{try{return t()}catch{return e}},Ta=async(t,e)=>{try{return await t()}catch(t){e?.(t)}},Ca=(t,e)=>Ta(t,t=>{Ta(()=>e?.(t))}),Ea=(t,e)=>{try{return t()}catch(t){e?.(t)}},pa=(t,e)=>{try{return t()}finally{e()}},Ra=async(t,e)=>{try{return await t()}finally{await e()}},Ia=Map,La=t=>new Ia(t),_a=()=>new WeakMap,Na=t=>[...t?.keys()??[]],Da=(t,e)=>t?.get(e),Aa=(t,e)=>ya(t,(t,a)=>e(a,t)),Oa=(t,e)=>{const a=[];return Aa(t,(t,n)=>fe(a,e(n,t))),a},ka=(t,e,a)=>Pt(a)?(ha(t,e),t):t?.set(e,a),Ma=(t,e,a,n)=>{let s=Da(t,e);return la(t,e)?n?.(s):ka(t,e,s=a()),s},Pa=(t,e,a,n=ka)=>(ke(e,(e,n)=>a(t,n,e)),Aa(t,a=>_e(e,a)?0:n(t,a)),t),$a=(t,e,a,n)=>{const s=Ae();return ya(t,(t,o)=>{if(!a?.(t,o)){const a=e?e(t,o):t;n?.(a)||De(s,o,a)}}),s},xa=(t,e,a)=>$a(t,t=>$a(t,e,a),da,We),Va=(t,e,a)=>$a(t,t=>xa(t,e,a),da,We),Fa=(t,e)=>{const a=La();return ya(t,(t,n)=>a.set(n,e?.(t)??t)),a},Ha=t=>Fa(t,Fa),Wa=t=>Fa(t,Ha),Ua=(t,e,a,n,s=0)=>Ht((a?Ma:Da)(t,e[s],s>Bt(e)-2?a:La),o=>{if(s>Bt(e)-2)return n?.(o)&&ka(t,e[s]),o;const r=Ua(o,e,a,n,s+1);return da(o)&&ka(t,e[s]),r}),qa=t=>new Set(Xt(t)||Pt(t)?t:[t]),Ga=(t,e)=>t?.add(e),Xa=(t,e,a,n,s)=>{const o=t.hasRow,r=La(),i=La(),c=La(),l=La(),d=La(),u=La(),w=e=>Ht(Da(u,e),a=>{ya(a,e=>{t.delListener(e),ha(a,e)}),ka(u,e)}),g=(t,a)=>{ka(r,t,a),la(i,t)||(ka(i,t,e()),ka(l,t,La()),ka(d,t,La()),Ea(()=>s(c),e=>{throw ka(r,t),ka(i,t),ka(l,t),ka(d,t),e}))},y=t=>{ka(r,t),ka(i,t),ka(l,t),ka(d,t),w(t),s(c)};return[()=>t,()=>Na(r),t=>Aa(i,t),t=>la(i,t),t=>Da(r,t),t=>Da(i,t),(t,e)=>ka(i,t,e),g,(e,n,s,r,i)=>{g(e,n);const c=La(),y=La(),h=Da(l,e),f=Da(d,e),v=e=>{const s=a=>t.getCell(n,e,a),l=Da(h,e),d=o(n,e)?a(r(s,e)):void 0;if(l===d||Xt(l)&&Xt(d)&&oe(l,d)||ka(c,e,[l,d]),!Pt(i)){const t=Da(f,e),a=o(n,e)?i(s,e):void 0;(u=t)===(w=a)||(pe(u)||Xt(u))&&Xe(u)===Xe(w)||ka(y,e,a)}var u,w},b=t=>{s(()=>{ya(c,([,t],e)=>ka(h,e,t)),ya(y,(t,e)=>ka(f,e,t))},c,y,h,f,t),ga(c),ga(y)};Aa(h,v),t.hasTable(n)&&ce(t.getRowIds(n),t=>{la(h,t)||v(t)}),b(!0),w(e),((t,...e)=>{const a=Ma(u,t,qa);ce(e,t=>Ga(a,t))})(e,t.addRowListener(n,null,(t,e,a)=>v(a)),t.addTableListener(n,()=>b()))},y,t=>n(t,c),()=>Aa(u,y)]},za=(t,e)=>Ut(t)?e=>e(t):t??(()=>e??S),Ba=(t,e)=>{const a=_a();return n=>{if(!a.has(n)){const e=t(n,()=>a.get(n)===e&&(a.delete(n),!0));a.set(n,e)}const s=a.get(n);return e?.(s),s}},ja=/^\d+$/,Ja=()=>{const t=[];let e=0;return[a=>(a?me(t):null)??S+e++,e=>{Jt(ja,e)&&Bt(t)<1e3&&fe(t,e)}]},Qa=t=>{let e;const[a,n]=Ja(),s=La(),o=(t,a,n,o)=>{let r,i=!1;if(ce(((t,e=[S])=>{const a=[],n=(t,s)=>s==Bt(e)?fe(a,t):$t(e[s])?ya(t,t=>n(t,s+1)):ce([e[s],null],e=>n(Da(t,e),s+1));return n(t,0),a})(a,n),a=>ya(a,a=>{const c=()=>Da(s,a)[0](e,...n??[],...o);t?Ea(c,t=>{i||(r=t),i=!0}):c()})),i)throw r};return[(n,o,r,i=[],c=()=>[])=>{e??=t();const l=a(1);return ka(s,l,[n,o,r,i,c]),Ga(Ua(o,r??[S],qa),l),l},(t,e,...a)=>o(!1,t,e,a),t=>Ht(Da(s,t),([,e,a])=>(Ua(e,a??[S],void 0,e=>(ha(e,t),da(e)?1:0)),ka(s,t),n(t),a)),t=>Ht(Da(s,t),([t,,a=[],n,s])=>{const o=(...r)=>{const i=Bt(r);i==Bt(a)?t(e,...r,...s(r)):$t(a[i])?ce(n[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()}),(t,e,...a)=>o(!0,t,e,a)]},Ya=(t,e)=>t===e||!Pt(t)&&!Pt(e)&&ta(t)===ta(e),Ka=Ba(t=>{let e,a,n,s=100,o=La(),r=La(),i=1,c=0;const l=La(),d=La(),[u,w,g]=Qa(()=>M),y=La(),h=La(),f=[],v=[],b=(e,a)=>{i=0,pa(()=>t.transaction(()=>{const[n,s]=Da(y,a);ya(n,(a,n)=>ya(a,(a,s)=>ya(a,(a,o)=>t._[5](n,s,o,a[e],!0)))),ya(s,(a,n)=>t._[6](n,a[e],!0))}),()=>i=1)},m=t=>{ka(y,t),ka(h,t),w(d,[t])},T=(t,e)=>ce(he(t,e??Bt(t)),m),C=()=>T(f,Bt(f)-s),E=()=>Ht(e,()=>{fe(f,e),C(),T(v),e=void 0,n=1}),p=()=>{e=ve(f),n=1};let R,I;const L=(t=S)=>(Pt(e)&&(e=S+a++,ka(y,e,[o,r]),O(e,t),o=La(),r=La(),n=1),e),_=()=>{jt(f)||(be(v,L()),b(0,e),e=ve(f),n=1)},N=()=>{jt(v)||(fe(f,e),e=me(v),b(1,e),n=1)},D=()=>{n&&(w(l),n=0)},A=t=>{const e=L(t);return D(),e},O=(t,e)=>(k(t)&&Da(h,t)!==e&&(ka(h,t,e),w(d,[t])),M),k=t=>la(y,t),M={setSize:t=>(s=t,C(),M),addCheckpoint:A,setCheckpoint:O,getStore:()=>t,getCheckpointIds:()=>[[...f],e,[...v]],forEachCheckpoint:t=>Aa(h,t),hasCheckpoint:k,getCheckpoint:t=>Da(h,t),goBackward:()=>(_(),D(),M),goForward:()=>(N(),D(),M),goTo:t=>{const a=ae(f,t)?_:ae(v,t)?N:void 0;for(;!Pt(a)&&t!=e;)a();return D(),M},addCheckpointIdsListener:t=>u(t,l),addCheckpointListener:(t,e)=>u(e,d,[t]),delListener:t=>(g(t),M),clear:()=>(T(f),T(v),Pt(e)||m(e),e=void 0,a=0,A(),M),clearForward:()=>(jt(v)||(T(v),w(l)),M),destroy:()=>{c&&(c=0,t.delListener(R),t.delListener(I))},getListenerStats:()=>({checkpointIds:ra(l),checkpoint:ra(d)}),_registerListeners:()=>{c||(c=1,R=t.addCellListener(null,null,null,(t,e,a,n,s,r)=>{if(i){E();const t=Ma(o,e,La),i=Ma(t,a,La),c=Ma(i,n,()=>[r,void 0]);c[1]=s,Ya(c[0],s)&&da(ka(i,n))&&da(ka(t,a))&&da(ka(o,e))&&p(),D()}}),I=t.addValueListener(null,(t,e,a,n)=>{if(i){E();const t=Ma(r,e,()=>[n,void 0]);t[1]=a,Ya(t[0],a)&&da(ka(r,e))&&p(),D()}}))}};return Ie(M.clear())},t=>t._registerListeners()),Za=ut("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),tn=La(de(Za,(t,e)=>[t,e])),en=t=>Za[63&t],an=(t,e)=>Da(tn,t[e])??0,nn=ft.crypto?t=>ft.crypto.getRandomValues(t):t=>de(t,()=>Nt(256*Dt())),sn=(t=16)=>we(nn(new Uint8Array(t)),(t,e)=>t+en(e),S),on=new ft.TextEncoder,rn=t=>{let e=2166136261;return ce(on.encode(t),t=>{e^=t,e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24)}),e>>>0},cn=(t,e)=>(t^e)>>>0,ln=t=>we(Ee(t),(t,[e,a])=>cn(t,dn(e,a)^dn(e,0)),0),dn=(t,e)=>rn(t+":"+e),un=(t,e)=>rn(Be(t??null)+":"+e),wn=un,gn=dn,yn=ln,hn=dn,fn=t=>we(Ee(t),(t,[e,a])=>cn(t,dn(e,a)),0),vn=dn,bn=fn,mn=3e5,Sn=2**36,Tn=2**30,Cn=2**24,En=2**18,pn=4096,Rn=/^[-0-9A-Z_a-z]{16}$/,In=t=>{const e=rn(t);return en(e/Cn)+en(e/En)+en(e/pn)+en(e/64)+en(e)},Ln=t=>an(t,0)*Sn+an(t,1)*Tn+an(t,2)*Cn+an(t,3)*En+an(t,4)*pn+64*an(t,5)+an(t,6),_n=(t,e)=>t==S||Ut(t)&&Jt(Rn,t)&&Ln(t)<=e,Nn=(t,e=Date.now)=>{let a=0,n=-1;const s=Ht(t,In,()=>sn(5)),o=t=>{const s=e();if(!Pt(t)&&!_n(t,s+mn))return;const o=a,[r,c]=Pt(t)||t==S?[0,0]:i(t);a=It(o,r,s),n=a==o?a==r?It(n,c):n:a==r?c:-1},r=(t,e,a)=>en(t/Sn)+en(t/Tn)+en(t/Cn)+en(t/En)+en(t/pn)+en(t/64)+en(t)+en(e/En)+en(e/pn)+en(e/64)+en(e)+(Pt(a)?s:In(a)),i=t=>[Ln(t),an(t,7)*En+an(t,8)*pn+64*an(t,9)+an(t,10),zt(t,11)];return[()=>(o(),++n==Cn&&(a++,n=0),r(a,n)),o,r,i,()=>a,()=>n,()=>s]},Dn=(t,e)=>(t??0)<(e??0)?-1:1,An=Ba(t=>{const e=La(),a=La(),n=La(),s=La(),[o,r,i]=Qa(()=>T),[c,l,d,u,w,g,y,,h,f,v,b]=Xa(t,La,t=>Pt(t)?S:Xt(t)?de(t,it):it(t),o,r),m=(e,a,n)=>{const s=w(e);ya(n,(e,n)=>a(n,a=>ya(e,e=>a(e,a=>t.forEachCell(s,e,a)))))},T={setIndexDefinition:(t,o,i,c,l,d=Dn)=>{const w=u(t),f=za(i),v=Pt(l)?void 0:([t],[e])=>l(t,e);return h(t,o,(e,o,i,l,u,w)=>{let h=0;const f=qa(),b=La(),m=qa(),S=g(t),T=t=>{la(b,t)||ka(b,t,la(S,t))};if(ya(o,([t,e],a)=>{const n=qa(t),s=qa(e);ya(n,t=>ha(s,t)?ha(n,t):0),ya(n,t=>{T(t),Ga(f,t),Ht(Da(S,t),e=>{ha(e,a),da(e)&&(ka(S,t),h=1)})}),ya(s,t=>{T(t),Ga(f,t),la(S,t)||(ka(S,t,qa()),h=1),Ga(Da(S,t),a),Pt(c)||Ga(m,t)})}),e(),da(u)||(w?Aa(S,t=>Ga(m,t)):Aa(i,t=>Ht(Da(l,t),t=>ce(Xt(t)?t:[t],t=>Ga(m,t)))),ya(m,t=>{const e=(e,a)=>d(Da(u,e),Da(u,a),t),a=[...Da(S,t)];re(a,e)||(ka(S,t,qa(ie(a,e))),Ga(f,t))})),(h||w)&&!Pt(v)){const e=[...S];re(e,v)||(y(t,La(ie(e,v))),h=1)}h&&r(a,[t]),Aa(b,(e,a)=>{const s=la(S,e);a!=s&&r(n,[t,e],s)}),ya(f,e=>r(s,[t,e]))},(t,e)=>{const a=f(t,e);return Ut(i)&&!Pt(a)?ta(a):a},Ht(c,za)),w||r(e,[t],!0),T},delIndexDefinition:t=>{const o=g(t),i=u(t),c=i?Na(o):[];return f(t),i&&(r(e,[t],!1),jt(c)||(r(a,[t]),ce(c,e=>{r(n,[t,e],!1),r(s,[t,e])}))),T},getStore:c,getIndexIds:l,forEachIndex:t=>d((e,a)=>t(e,t=>m(e,t,a))),forEachSlice:(t,e)=>m(t,e,g(t)),hasIndex:u,hasSlice:(t,e)=>la(g(t),e),getTableId:w,getSliceIds:t=>Na(g(t)),getSliceRowIds:(t,e)=>ua(Da(g(t),e)),addIndexIdsListener:v,addHasIndexListener:(t,a)=>o(a,e,[t]),addSliceIdsListener:(t,e)=>o(e,a,[t]),addHasSliceListener:(t,e,a)=>o(a,n,[t,e]),addSliceRowIdsListener:(t,e,a)=>o(a,s,[t,e]),delListener:t=>(i(t),T),destroy:b,getListenerStats:()=>({sliceIds:ra(a),sliceRowIds:ia(s)})};return Ie(T)}),On=([t,e])=>kn(t,e),kn=(t,e)=>e?[t,e]:[t],Mn=(t,e,a)=>[t,e,a],Pn=t=>t[2],$n=(t,e)=>e>t?(t?rn(t):0)^rn(e):0,xn=(t,e)=>((t??S)>(e??S)?t:e)??S,Vn=(t,e,a)=>{e>t[1]&&(t[1]=e),t[2]=a>>>0},Fn=(t=S)=>kn(Ae(),t),Hn=(t=S)=>[La(),t,0],Wn=([t,e,a],n)=>[$a(t,n),e,a],Un=([t,e],a=On)=>kn($a(t,a),e),qn=t=>[t,t],Gn=(t,e=ra)=>e(t[0])+e(t[1]),Xn=()=>[La(),La()],zn=t=>[...t],Bn=([t,e])=>t===e,jn=t=>Xt(t)?de(t,jn):pe(t)?$e(t,jn):t,Jn=t=>$e(t,(t,e)=>e==A?na(t):t),Qn=(t,e,a)=>ka(t,e,Da(t,e)==-a?void 0:a),Yn=([t,e],[a,n])=>Ue(t,a)&&Ue(e,n),Kn=()=>{let t,e,a,n,s=!1,o=!1,r=0,i=0,c=[],l=[],d=0,u=0;const w=La(),g=La(),y=La(),h=La(),f=La(),v=La(),b=La(),m=La(),S=La(),T=qa(),C=La(),E=La(),p=La(),I=La(),L=La(),_=La(),N=qa(),k=qa(),P=La(),V=La(),X=La(),Y=La(),K=Xn(),Z=Xn(),tt=Xn(),et=Xn(),at=Xn(),nt=Xn(),ot=Xn(),rt=Xn(),ct=Xn(),lt=Xn(),dt=Xn(),ut=Xn(),wt=Xn(),gt=Xn(),yt=Xn(),ht=Xn(),ft=Xn(),vt=Xn(),bt=Xn(),mt=Xn(),St=Xn(),Tt=Xn(),Ct=La(),Et=Xn(),[pt,Rt,It,Lt,_t]=Qa(()=>In),Nt=t=>{const e=u;return u=1,pa(t,()=>u=e)},Dt=t=>{const e=d;return d=1,pa(t,()=>d=e)},At=(t,e,a,n=Object.is)=>Ht(e(),e=>t===e||n(t,e)?a(e):Nt(()=>a(e))),Ot=t=>{if(!Ge(t,(t,e)=>ae([D,A,O,st],e)))return!1;const e=t[D];if(!Wt(e)&&e!=R&&!Ze(e))return!1;const a=t[A];return!($t(a)&&!t[O]||($t(a)||(Ye(a)!=e||aa(a)?Oe(t,A):Ht(Sa(()=>ta(a)),e=>t[A]=e,()=>Oe(t,A))),0))},kt=(t,e)=>Ht(Sa(()=>ta(t)),t=>t,e),Mt=t=>pe(t)?$e(t,Kt):t,xt=t=>pe(t)?$e(t,Mt):t,Vt=t=>pe(t)?$e(t,Kt):t,Ft=(t,e)=>1==d&&ea(t)&&1==Sa(()=>{const a=Ye(na(t));return Ze(a)&&(Pt(e)||e==a)},!1),Ut=Xt,qt=(e,a)=>(!t||la(p,a)||He(a))&&Ge(e,(t,e)=>Bt(a,e,t),()=>He(a)),Bt=(t,e,a,n)=>{const s=n?a:Yt(a,t,e);return Ge(s,(n,s)=>Ht(jt(t,e,s,n),t=>(De(a,s,t),!0),()=>!1),()=>He(t,e))&&(!!n||wa(Da(I,t)?.[2],t=>_e(s,t)))},jt=(e,a,n,s)=>t?Ht(Da(Da(p,e),n),t=>$t(s)?t[O]?s:He(e,a,n,s,t[A]):aa(s,d)?He(e,a,n,s,t[A]):ea(s)?Ft(s,t[D])?s:He(e,a,n,s,t[A]):Ye(s)===t[D]?kt(s,()=>He(e,a,n,s,t[A])):He(e,a,n,s,t[A]),()=>He(e,a,n,s)):Pt(Ye(s))||aa(s,d)||ea(s)&&!Ft(s)?He(e,a,n,s):kt(s,()=>He(e,a,n,s)),Jt=(t,e)=>{const a=e?t:Zt(t);return Ge(a,(e,a)=>Ht(Qt(a,e),e=>(De(t,a,e),!0),()=>!1),()=>qe())&&(!!e||wa(k,t=>_e(a,t)))},Qt=(t,a)=>e?Ht(Da(L,t),e=>$t(a)?e[O]?a:qe(t,a,e[A]):aa(a,d)?qe(t,a,e[A]):ea(a)?Ft(a,e[D])?a:qe(t,a,e[A]):Ye(a)===e[D]?kt(a,()=>qe(t,a,e[A])):qe(t,a,e[A]),()=>qe(t,a)):Pt(Ye(a))||aa(a,d)||ea(a)&&!Ft(a)?qe(t,a):kt(a,()=>qe(t,a)),Yt=(t,e,a)=>(Ht(Da(I,e),([n,s])=>{ya(n,(n,s)=>{_e(t,s)||(De(t,s,n),Ht(a,t=>Ga(Ma(Ma(b,e,La),t,qa),s)))}),ya(s,n=>{_e(t,n)||He(e,a,n)})}),t),Zt=t=>(e&&(ya(_,(e,a)=>{_e(t,a)||(De(t,a,e),Ga(T,a))}),ya(N,e=>{_e(t,e)||qe(e)})),t),te=t=>Pa(p,t,(t,e,a)=>{const n=La(),s=qa(),o=qa();Pa(Ma(p,e,La),a,(t,e,a)=>{ka(t,e,a),Ht(a[A],t=>{ka(n,e,t)},()=>{Ga(s,e),!0===a[st]&&Ga(o,e)})}),ka(I,e,[n,s,o])},(t,e)=>{ka(p,e),ka(I,e)}),ne=t=>Pa(L,t,(t,e,a)=>{ka(L,e,a),Ht(a[A],t=>{ka(_,e,t),ha(N,e),ha(k,e)},()=>{ka(_,e),Ga(N,e),!0===a[st]?Ga(k,e):ha(k,e)})},(t,e)=>{ka(L,e),ka(_,e),ha(N,e),ha(k,e)}),se=()=>{a??=[!!t,xa(p)]},re=()=>{n??=[!!e,$a(L)]},le=t=>We(t)?yn():on(t),ue=(t,e,a,n,s,o)=>Pt(n)?vn(t,e,a,!0,s):rn(t,e,a,n,s,o),we=t=>We(t)?bn():cn(t),ge=(t,e,a)=>Pt(e)?mn(t,a):ln(t,e,a),ye=(t,e)=>At(t,()=>e?t:Ht(c[1],e=>Nt(()=>e(ee(t))),()=>t),t=>Pa(X,t,(t,e,a)=>he(e,a),(t,e)=>Ee(e)),Ue),he=(t,e,a)=>At(e,()=>a?e:Ht(c[2],a=>Nt(()=>a(t,ee(e))),()=>e),e=>Pa(Ma(X,t,()=>(Ae(t,1),ka(P,t,Ja()),ka(V,t,La()),La())),e,(e,a,n)=>ve(t,e,a,n),(e,a)=>Re(t,e,a)),Ue),ve=(t,e,a,n,s)=>At(n,()=>s?n:Ht(c[3],e=>Nt(()=>e(t,a,ee(n))),()=>n),n=>Pa(Ma(e,a,()=>(Me(t,a,1),La())),n,(e,n,s)=>be(t,a,e,n,s),(n,o)=>Le(t,e,a,n,o,s)),Ue),be=(t,e,a,n,s,o)=>At(s,()=>Ht(o?void 0:c[4],a=>Nt(()=>a(t,e,n,s)),()=>s),s=>Ht(u?jt(t,e,n,na(s)):s,s=>{la(a,n)||Pe(t,e,n,1);const o=Da(a,n);s!==o&&(xe(t,e,n,o,s),ka(a,n,s))})),me=(t,e,a,n,s,o)=>Ht(Da(e,a),e=>be(t,a,e,n,s,o),()=>{const r=La();ka(e,a,r),Me(t,a,1),ke(Yt({[n]:s},t,a),(e,n)=>be(t,a,r,n,e,o))}),Se=(t,e)=>At(t,()=>e?t:Ht(c[5],e=>Nt(()=>e(ee(t))),()=>t),t=>Pa(Y,t,(t,e,a)=>Te(e,a),(t,e)=>Ne(e)),Ue),Te=(t,e,a)=>At(e,()=>Ht(a?void 0:c[6],a=>Nt(()=>a(t,e)),()=>e),e=>Ht(u?Qt(t,na(e)):e,e=>{la(Y,t)||Ve(t,1);const a=Da(Y,t);e!==a&&(Fe(t,a,e),ka(Y,t,e))})),Ce=t=>Ma(X,t,()=>(Ae(t,1),ka(P,t,Ja()),ka(V,t,La()),La())),Ee=t=>Nt(()=>c[8]?.(t))??1?he(t,{},!0):Da(X,t),Re=(t,e,a)=>{if(Nt(()=>c[9]?.(t,a))??1){const[,n]=Da(P,t);n(a),ve(t,e,a,{},!0)}},Le=(t,e,a,n,s,o,r)=>{const i=Da(Da(I,t)?.[0],s);if(!Pt(i)&&!o)return be(t,a,n,s,i);if(r||(Nt(()=>c[10]?.(t,a,s))??1)){const o=e=>{xe(t,a,e,Da(n,e)),Pe(t,a,e,-1),ka(n,e)};Pt(i)?o(s):Aa(n,o),da(n)&&(Me(t,a,-1),da(ka(e,a))&&(Ae(t,-1),ka(X,t),ka(P,t),ka(V,t)))}},Ne=(t,e)=>{const a=Da(_,t);if(!Pt(a))return Te(t,a);(e||(Nt(()=>c[12]?.(t))??1))&&(Fe(t,Da(Y,t)),Ve(t,-1),ka(Y,t))},Ae=(t,e)=>Qn(w,t,e),Me=(t,e,a)=>Qn(Ma(h,t,La),e,a)&&ka(y,t,Ma(y,t,()=>0)+a),Pe=(t,e,a,n)=>{const s=Da(V,t),o=Da(s,a)??0;(0==o&&1==n||1==o&&-1==n)&&Qn(Ma(g,t,La),a,n),ka(s,a,o!=-n?o+n:void 0),Qn(Ma(Ma(f,t,La),e,La),a,n)},xe=(t,e,a,n,s)=>{const o=la(Da(Da(b,t),e),a)&&Pt(n)?1:0;Ma(Ma(Ma(v,t,La),e,La),a,()=>[n,0])[1]=s,l[3]?.(t,e,a,s,u,o),ha(Da(Da(b,t),e),a)},Ve=(t,e)=>Qn(m,t,e),Fe=(t,e,a)=>{const n=la(T,t)&&Pt(e)?1:0;Ma(S,t,()=>[e,0])[1]=a,l[4]?.(t,a,u,n),ha(T,t)},He=(t,e,a,n,s)=>(fe(Ma(Ma(Ma(C,t,La),e,La),a,()=>[]),n),s),qe=(t,e,a)=>(fe(Ma(E,t,()=>[]),e),a),Xe=(t,e,a)=>Ht(Da(Da(Da(v,t),e),a),([t,e])=>[!0,na(t),na(e)],()=>[!1,...qn(Xa(t,e,a))]),je=t=>Ht(Da(S,t),([t,e])=>[!0,na(t),na(e)],()=>[!1,...qn(ja(t))]),Je=t=>da(C)||da(ht[t])?0:ya(t?Wa(C):C,(e,a)=>ya(e,(e,n)=>ya(e,(e,s)=>Rt(ht[t],[a,n,s],e)))),Qe=t=>da(E)||da(ft[t])?0:ya(t?Fa(E):E,(e,a)=>Rt(ft[t],[a],e)),Ke=(t,e,a,n)=>{if(!da(t))return Rt(e,n,()=>$a(t)),Aa(t,(t,e)=>Rt(a,[...n??[],t],1==e)),1},sa=t=>{const e=!da(K[t]),a=!da(lt[t]),n=!(da(wt[t])&&da(gt[t])&&da(ct[t])&&da(dt[t])&&da(nt[t])&&da(ot[t])&&da(rt[t])&&!a&&da(tt[t])&&da(et[t])),o=!(da(yt[t])&&da(ut[t])&&da(at[t])&&da(Z[t]));if(e||n||o){const i=t?[Fa(w),Ha(g),Fa(y),Ha(h),Wa(f),(r=v,Fa(r,t=>Fa(t,t=>Fa(t,zn))))]:[w,g,y,h,f,v];if(e){const e=Ya();e!=s&&Rt(K[t],void 0,e)}if(n){Ke(i[0],tt[t],et[t]),ya(i[1],(e,a)=>Ke(e,nt[t],ot[t],[a])),ya(i[2],(e,a)=>{0!=e&&Rt(rt[t],[a],Ra(a))});const e=qa();ya(i[3],(n,s)=>{Ke(n,ct[t],dt[t],[s])&&a&&(Rt(lt[t],[s,null]),Ga(e,s))}),a&&ya(i[5],(a,n)=>{if(!la(e,n)){const e=qa();ya(a,t=>ya(t,([a,n],s)=>n!==a?Ga(e,s):ha(t,s))),ya(e,e=>Rt(lt[t],[n,e]))}}),ya(i[4],(e,a)=>ya(e,(e,n)=>Ke(e,wt[t],gt[t],[a,n])))}if(o){let e;ya(i[5],(a,n)=>{let s;ya(a,(a,o)=>{let r;ya(a,([a,i],c)=>{i!==a&&(Rt(yt[t],[n,o,c],na(i),na(a),Xe),e=s=r=1)}),r&&Rt(ut[t],[n,o],Xe)}),s&&Rt(at[t],[n],Xe)}),e&&Rt(Z[t],void 0,Xe)}}var r},ua=t=>{const e=!da(vt[t]),a=!da(mt[t])||!da(St[t]),n=!da(Tt[t])||!da(bt[t]);if(e||a||n){const s=t?[Fa(m),Fa(S,zn)]:[m,S];if(e){const e=an();e!=o&&Rt(vt[t],void 0,e)}if(a&&Ke(s[0],mt[t],St[t]),n){let e;ya(s[1],([a,n],s)=>{n!==a&&(Rt(Tt[t],[s],na(n),na(a),je),e=1)}),e&&Rt(bt[t],void 0,je)}}},fa=(t,...e)=>(Cn(()=>t(...de(e,it))),In),va=(t,e,a,n,s)=>{const[o,r,i,c]=a;let l=_a(t,e,o,r,i,c);return pt(()=>{const a=_a(t,e,o,r,i,c);oe(a,l)||(l=a,n(In,t,e,o,r,i,l))},lt[s?1:0],[t,e],[Ta])},ba=(t=!1)=>[$a(v,(e,a)=>-1===Da(w,a)?void 0:$a(e,(e,n)=>-1===Da(Da(h,a),n)?void 0:$a(e,([,e])=>na(e,0,t),t=>Bn(t)),da,We),da,We),$a(S,([,e])=>na(e,0,t),t=>Bn(t)),1],ma=()=>Va(X,na),Ta=()=>Na(X),Ca=t=>Na(Da(V,it(t))),Ra=t=>oa(Da(X,it(t))),Ia=t=>Na(Da(X,it(t))),_a=(t,e,a,n=0,s,o=Dn)=>pe(t)?_a(t.tableId,t.cellId,t.descending,t.offset,t.limit,t.sorter):de(zt(ie(Oa(Da(X,it(t)),(t,a)=>[Pt(e)?a:na(Da(t,it(e))),a]),([t],[e])=>o(t,e)*(a?-1:1)),n,Pt(s)?s:n+s),([,t])=>t),Ua=(t,e)=>Na(Da(Da(X,it(t)),it(e))),Xa=(t,e,a)=>na(Da(Da(Da(X,it(t)),it(e)),it(a))),za=()=>$a(Y,na),Ba=()=>Na(Y),ja=t=>na(Da(Y,it(t))),Ya=()=>!da(X),Ka=t=>la(X,it(t)),Za=(t,e)=>la(Da(V,it(t)),it(e)),tn=(t,e)=>la(Da(X,it(t)),it(e)),en=(t,e,a)=>la(Da(Da(X,it(t)),it(e)),it(a)),an=()=>!da(Y),nn=t=>la(Y,it(t)),sn=t=>fa(()=>{const e=Gt(t)?t():t;Ut(e)&&(t=>{At(t,()=>Ht(c[0],e=>Nt(()=>e(ee(t),d)),()=>t),([t,e])=>{(We(t)?yn:on)(t),(We(e)?bn:cn)(e)},Yn)})(e)}),on=t=>fa(()=>{const e=(t=>pe(t)?$e(t,xt):t)(t);return(t=>Ge(t,qt,He))(e)?ye(e):0}),rn=(t,e,a,n,s,o)=>fa((t,e,a)=>Ht(jt(t,e,a,Gt(n)?n(Xa(t,e,a)):n),n=>{const r=Ce(t);Ht(s||o||!c[14]?.()?void 0:c[3],o=>{const i=Da(r,e),c={...i?$a(i):{},[a]:n};Ht(Nt(()=>o(t,e,ee(c))),a=>((t,e,a,n,s)=>{Pa(Ma(e,a,()=>(Me(t,a,1),La())),n,(e,n,o)=>Ht(jt(t,a,n,na(o)),o=>be(t,a,e,n,o,s)),(n,s)=>Le(t,e,a,n,s,!0))})(t,r,e,a,s))},()=>me(t,r,e,a,n,s))}),t,e,a),cn=t=>fa(()=>{const e=Vt(t);return Jt(e)?Se(e):0}),ln=(t,e,a)=>fa(t=>Ht(Qt(t,Gt(e)?e(ja(t)):e),e=>Te(t,e,a)),t),dn=t=>fa(()=>At(t,()=>Ht(c[13],e=>Nt(()=>e(ee(t),d)),()=>t),t=>{ke(t[0],(t,e)=>Pt(t)?hn(e):ke(t,(t,a)=>Pt(t)?fn(e,a):ke(t,(t,n)=>ue(e,a,n,t,void 0,!0)))),ke(t[1],(t,e)=>ge(e,t))},Yn)),un=t=>(Ea(()=>Dt(()=>le(ze(t)))),In),wn=e=>fa(()=>{const a=jn(e);if(Ge(a,t=>Ge(t,Ot))&&(se(),t=!0,te(a),!da(X))){const t=ma();yn(),on(t)}}),gn=t=>fa(()=>{const a=jn(t);if((t=>Ge(t,Ot))(a)){re();const t=za();Tn(),bn(),e=!0,ne(a),cn(t)}}),yn=()=>fa(()=>Nt(()=>c[7]?.())??1?ye({},!0):0),hn=t=>fa(t=>la(X,t)?Ee(t):0,t),fn=(t,e)=>fa((t,e)=>Ht(Da(X,t),a=>la(a,e)?Re(t,a,e):0),t,e),vn=(t,e,a,n,s)=>fa((t,e,a)=>Ht(Da(X,t),o=>Ht(Da(o,e),r=>la(r,a)?Le(t,o,e,r,a,n,s):0)),t,e,a),bn=()=>fa(()=>Nt(()=>c[11]?.())??1?Se({},!0):0),mn=(t,e)=>fa(t=>la(Y,t)?Ne(t,e):0,t),Sn=()=>fa(()=>{se(),te({}),t=!1}),Tn=()=>fa(()=>{re(),ne({}),e=!1}),Cn=(t,e)=>{if(-1!=i){En();try{const a=t();return Rn(e),a}catch(t){throw i>0&&(r=1,Ea(Rn)),t}}},En=()=>{if(-1!=i&&i++,1==i)try{l[0]?.(),Rt(Ct)}catch(t){throw r=1,Ea(Rn),t}return In},pn=()=>{i=0,r=0,a=n=void 0,s=Ya(),o=an(),ce([w,g,y,h,f,v,b,C,m,S,T,E],ga)},Rn=s=>{if(i>0&&(i--,0==i)){i=1;let o=!1,c=!1;const d=()=>{c=!0,Ht(a,([e,a])=>{te(a),t=e}),Ht(n,([t,a])=>{ne(a),e=t}),ya(v,(t,e)=>ya(t,(t,a)=>ya(t,([t],n)=>ue(e,a,n,t,!0)))),ga(v),ya(S,([t],e)=>ge(e,t,!0)),ga(S)};let u=!1,w=!1;pa(()=>{let t,e=!1;const a=a=>{e||(t=a),e=!0};if(Ea(()=>{try{r?d():(Nt(()=>{Je(1),da(v)||sa(1),Qe(1),da(S)||ua(1)}),s?.(In)&&d(),l[1]?.(c),u=!0,_t(Et[0],void 0),i=-1,o=!0,Je(0),da(v)||sa(0),Qe(0),da(S)||ua(0))}catch(t){throw o||d(),t}},a),u&&c&&(o||Ea(()=>l[1]?.(!0),a),Ea(()=>{l[2]?.(!0),w=!0},a)),u&&Ea(()=>{i=-1,_t(Et[1],void 0)},a),e)throw t},()=>pa(()=>w?0:l[2]?.(c),pn))}return In},In={getContent:()=>[ma(),za()],getTables:ma,getTableIds:Ta,getTable:t=>xa(Da(X,it(t)),na),getTableCellIds:Ca,getRowCount:Ra,getRowIds:Ia,getSortedRowIds:_a,getRow:(t,e)=>$a(Da(Da(X,it(t)),it(e)),na),getCellIds:Ua,getCell:Xa,getValues:za,getValueIds:Ba,getValue:ja,hasTables:Ya,hasTable:Ka,hasTableCell:Za,hasRow:tn,hasCell:en,hasValues:an,hasValue:nn,getTablesJson:()=>Be(X),getValuesJson:()=>Be(Y),getJson:()=>Be([X,Y]),getTablesSchemaJson:()=>Be(xa(p,Jn)),getValuesSchemaJson:()=>Be($a(L,Jn)),getSchemaJson:()=>Be([xa(p,Jn),$a(L,Jn)]),hasTablesSchema:()=>t,hasValuesSchema:()=>e,setContent:sn,setTables:on,setTable:(t,e)=>fa(t=>{const a=xt(e);return qt(a,t)?he(t,a):0},t),setRow:(t,e,a)=>fa((t,e)=>{const n=Mt(a);return Bt(t,e,n)?ve(t,Ce(t),e,n):0},t,e),addRow:(t,e,a=!0)=>Cn(()=>{let n;const s=Mt(e);return Bt(t,n,s)&&(t=it(t),ve(t,Ce(t),n=((t,e)=>{const[a]=Da(P,t);let n;do{n=a(e)}while(la(Da(X,t),n));return n})(t,a?1:0),s)),n}),setPartialRow:(t,e,a)=>fa((t,e)=>{const n=Mt(a);if(Bt(t,e,n,1)){const a=Ce(t);ke(n,(n,s)=>me(t,a,e,s,n))}},t,e),setCell:rn,setValues:cn,setPartialValues:t=>fa(()=>{const e=Vt(t);return Jt(e,1)?ke(e,(t,e)=>Te(e,t)):0}),setValue:ln,applyChanges:dn,setTablesJson:un,setValuesJson:t=>(Ea(()=>Dt(()=>we(ze(t)))),In),setJson:t=>fa(()=>Ea(()=>Dt(()=>{const[e,a]=ze(t);le(e),we(a)}),()=>un(t))),setTablesSchema:wn,setValuesSchema:gn,setSchema:(t,e)=>fa(()=>{wn(t),gn(e)}),delTables:yn,delTable:hn,delRow:fn,delCell:vn,delValues:bn,delValue:mn,delTablesSchema:Sn,delValuesSchema:Tn,delSchema:()=>fa(()=>{Sn(),Tn()}),transaction:Cn,startTransaction:En,getTransactionChanges:()=>ba(),getTransactionLog:()=>[!da(v),!da(S),Va(v,zn,Bn),Va(C),$a(S,zn,Bn),$a(E),$a(w),xa(h),Va(f),$a(m)],finishTransaction:Rn,forEachTable:t=>ya(X,(e,a)=>t(a,t=>ya(e,(e,a)=>t(a,t=>Aa(e,(e,a)=>t(e,na(a))))))),forEachTableCell:(t,e)=>Aa(Da(V,it(t)),e),forEachRow:(t,e)=>ya(Da(X,it(t)),(t,a)=>e(a,e=>Aa(t,(t,a)=>e(t,na(a))))),forEachCell:(t,e,a)=>Aa(Da(Da(X,it(t)),it(e)),(t,e)=>a(t,na(e))),forEachValue:t=>Aa(Y,(e,a)=>t(e,na(a))),addSortedRowIdsListener:(t,e,a,n,s,o,r)=>pe(t)?va(t.tableId,t.cellId,[t.descending??!1,t.offset??0,t.limit,t.sorter],e,a):va(t,e,[a,n,s,void 0],o,r),addStartTransactionListener:t=>pt(t,Ct),addWillFinishTransactionListener:t=>pt(t,Et[0]),addDidFinishTransactionListener:t=>pt(t,Et[1]),callListener:t=>(Lt(t),In),delListener:t=>(It(t),In),getListenerStats:()=>({hasTables:Gn(K),tables:Gn(Z),tableIds:Gn(tt),hasTable:Gn(et),table:Gn(at),tableCellIds:Gn(nt),hasTableCell:Gn(ot,ia),rowCount:Gn(rt),rowIds:Gn(ct),sortedRowIds:Gn(lt),hasRow:Gn(dt,ia),row:Gn(ut,ia),cellIds:Gn(wt,ia),hasCell:Gn(gt,ca),cell:Gn(yt,ca),invalidCell:Gn(ht,ca),hasValues:Gn(vt),values:Gn(bt),valueIds:Gn(mt),hasValue:Gn(St),value:Gn(Tt),invalidValue:Gn(ft),transaction:ra(Ct)+Gn(Et)}),isMergeable:()=>!1,_:[Kn,pt,Rt,(t,e,a,n,s)=>l=[t,e,a,n,s],(t,e,a,n,s,o,r,i,l,d,u,w,g,y,h)=>c=[t,e,a,n,s,o,r,i,l,d,u,w,g,y,h],ue,ge,()=>[Va(X),$a(Y)],()=>ba(!0),t=>Dt(()=>sn(t)),t=>Dt(()=>dn(t))]};return ke({[x+H]:[0,K,[],()=>[Ya()]],[H]:[0,Z],[W]:[0,tt],[x+F]:[1,et,[Ta],t=>[Ka(...t)]],[F]:[1,at,[Ta]],[F+B]:[1,nt,[Ta]],[x+F+z]:[2,ot,[Ta,Ca],t=>[Za(...t)]],[q]:[1,rt,[Ta]],[G]:[1,ct,[Ta]],[x+U]:[2,dt,[Ta,Ia],t=>[tn(...t)]],[U]:[2,ut,[Ta,Ia]],[B]:[2,wt,[Ta,Ia]],[x+z]:[3,gt,[Ta,Ia,Ua],t=>[en(...t)]],[z]:[3,yt,[Ta,Ia,Ua],t=>qn(Xa(...t))],InvalidCell:[3,ht],[x+J]:[0,vt,[],()=>[an()]],[J]:[0,bt],[Q]:[0,mt],[x+j]:[1,St,[Ba],t=>[nn(...t)]],[j]:[1,Tt,[Ba],t=>qn(ja(t[0]))],InvalidValue:[1,ft]},([t,e,a,n],s)=>{In[$+s+M]=(...s)=>pt(s[t],e[s[t+1]?1:0],t>0?zt(s,0,t):void 0,a,n)}),Ie(In)},Zn={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},ts=(t=S)=>[Hn(t),Hn(t)],es=(t,e)=>pe(t)&&Me(t,e),as=(t,e,a,n)=>{if(!Xt(t))return!1;if(a?2!=Bt(t):2!=Bt(t)&&(3!=Bt(t)||1!==t[2]))return!1;const s=(t,n)=>((t,e,a,n)=>Xt(t)&&(3==Bt(t)?((t,e)=>Xt(t)&&3==Bt(t)&&Ut(t[1])&&qt(t[2])&&Ot(t[2])&&e(t[0]))(t,e)&&_n(t[1],a):!n&&e(t[0])&&(1==Bt(t)||2==Bt(t)&&_n(t[1],a))))(t,n,e,a),o=t=>Ke(t)&&!aa(t,n);return s(t[0],t=>es(t,t=>s(t,t=>es(t,t=>s(t,t=>es(t,t=>s(t,o)))))))&&s(t[1],t=>es(t,t=>s(t,o)))},ns=(t,e=Date.now)=>{let a=1,n=ts(),s=n,o=0,r=0,i=r;const c=[],l=La(),d=qa(),[u,w]=Nn(t,e),g=Kn(),y=t=>{const e=a;return a=0,pa(t,()=>a=e),L},h=t=>{const[e,a,n]=t;fe(c,()=>{t[0]=e,t[1]=a,t[2]=n})},f=(t,e,a)=>(la(t,e)||fe(c,()=>ka(t,e)),Ma(t,e,a)),v=(t,e=0)=>{const a=Ae(),s=Ae(),[[o,r=S,i=0],c]=t,[l,d]=n,[u,g,y]=l;let v=e?i:y,m=r;ke(o,([t,n=S,s=0],o)=>{const r=f(u,o,Hn),[i,c,l]=r;let d=e?s:l,w=n;ke(t,(t,n)=>{const[s,r,c]=b(t,f(i,n,Hn),qe(qe(a,o,Ae),n,Ae),e);d^=e?0:cn(r?dn(n,r):0,dn(n,c)),w=xn(w,s)}),d^=e?0:$n(c,n),h(r),Vn(r,n,d),v^=e?0:cn(l?dn(o,l):0,dn(o,r[2])),m=xn(m,w)}),v^=e?0:$n(g,r),h(l),Vn(l,r,v);const[T]=b(c,d,s,e);return w(xn(m,T)),[a,s,1]},b=(t,e,a,n)=>{const[s,o=S,r=0]=t,[i,c,l]=e;let d=o,u=n?r:l;return ke(s,([t,e=S,s=0],o)=>{const r=f(i,o,()=>[void 0,S,0]),[,c,l]=r;(!c||e>c)&&(h(r),Vn(r,e,n?s:un(t,e)),r[0]=t,De(a,o,t),u^=n?0:cn(dn(o,l),dn(o,r[2])),d=xn(d,e))}),u^=n?0:$n(c,o),h(e),Vn(e,o,u),[d,l,e[2]]},m=()=>{for(;Bt(c);)ve(c)?.();n=s,r=i},T=(t=!1)=>[Wn(n[0],e=>Wn(e,e=>Wn(e,([e,a,n])=>[na(e,0,t),a,n]))),Wn(n[1],([e,a,n])=>[na(e,0,t),a,n])],C=(t,e=!1)=>{const[[a,s,o],[r,i,c]]=n,u=t?Mn:kn,w=Ae();ya(l,(t,n)=>Ht(Da(a,n),([a,s,o])=>{const r=Ae();ya(t,(t,n)=>Ht(Da(a,n),([a,s,o])=>{const i=Ae();ya(t,t=>{Ht(Da(a,t),([a,n,s])=>De(i,t,u(e?a:na(a),n,s)))}),De(r,n,u(i,s,o))})),De(w,n,u(r,s,o))}));const g=Ae();return ya(d,t=>Ht(Da(r,t),([a,n,s])=>De(g,t,u(e?a:na(a),n,s)))),[u(w,s,o),u(g,i,c),1]},E=()=>T(),p=(t,a)=>as(t,e()+mn,1,a?1:0)?y(()=>g.transaction(()=>{g.delTables().delValues(),n=ts();const e=v(t,1);(a?g._[10]:g.applyChanges)(e)})):L,R=(t,a)=>as(t,e()+mn,0,a?1:0)?y(()=>g.transaction(()=>(a?g._[10]:g.applyChanges)(v(t)))):L,I=t=>R(t),L={getMergeableContent:E,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>$a(n[0][0],Pn),getMergeableTableDiff:t=>{const e=Fn(n[0][1]),a=Ae();return Aa(n[0][0],(n,[s,o,r])=>_e(t,n)?r!=Ne(t,n)?De(a,n,r):0:De(e[0],n,Un([s,o],t=>Un(t)))),[e,a]},getMergeableRowHashes:t=>{const e=Ae();return ke(t,(t,a)=>Ht(Da(n[0][0],a),([n,,s])=>s!=t?Aa(n,(t,[,,n])=>De(qe(e,a,Ae),t,n)):0)),e},getMergeableRowDiff:t=>{const e=Fn(n[0][1]),a=Ae();return ke(t,(t,s)=>Aa(Da(n[0][0],s)?.[0],(n,[o,r,i])=>_e(t,n)?i!==Ne(t,n)?De(qe(a,s,Ae),n,i):0:De(qe(e[0],s,Fn)[0],n,Un([o,r])))),[e,a]},getMergeableCellHashes:t=>{const e=Ae();return ke(t,(t,a)=>Ht(Da(n[0][0],a),([n])=>ke(t,(t,s)=>Ht(Da(n,s),([n,,o])=>o!==t?Aa(n,(t,[,,n])=>De(qe(qe(e,a,Ae),s,Ae),t,n)):0)))),e},getMergeableCellDiff:t=>{const[[e,a]]=n,s=Ae();return ke(t,(t,a)=>ke(t,(t,n)=>Ht(Da(e,a),([e,o])=>Ht(Da(e,n),([e,r])=>Aa(e,(e,[i,c,l])=>l!==Ne(t,e)?De(qe(qe(s,a,()=>Fn(o))[0],n,()=>Fn(r))[0],e,[i,c]):0))))),kn(s,a)},getMergeableValueHashes:()=>$a(n[1][0],Pn),getMergeableValueDiff:t=>{const[,[e,a]]=n,s=$a(e,On,([,,e],a)=>e==Ne(t,a));return kn(s,a)},setMergeableContent:t=>p(t),setDefaultContent:t=>(g.transaction(()=>{o=1,pa(()=>g.setContent(t),()=>o=0)}),L),getTransactionMergeableChanges:(t=!1)=>C(t),applyMergeableChanges:I,merge:t=>{const e=E(),a=t.getMergeableContent();return t.applyMergeableChanges(e),I(a)},__:[()=>{const t=r;return r=0,t},()=>T(!0),t=>C(t,!0),t=>p(t,!0),t=>R(t,!0)]};return g._[3](()=>{s=n,i=r},t=>t?m():0,t=>{t?m():he(c),ga(l),ga(d)},(t,e,n,s,i,c)=>{if(Ga(Ma(Ma(l,t,La),e,qa),n),a||i){i&&(r=1);const a=o||c?S:u(),[l]=v([[{[t]:[{[e]:[{[n]:[s,a]}]}]}],[{}],1]),d=Ne(Ne(l,t),e);!a||d&&_e(d,n)||ma(13)}},(t,e,n,s)=>{if(Ga(d,t),a||n){n&&(r=1);const a=o||s?S:u(),[,i]=v([[{}],[{[t]:[e,a]}],1]);a&&!_e(i,t)&&ma(13)}}),ke(g,(t,e)=>De(L,e,ct(e,"set")||ct(e,"del")||ct(e,"apply")||lt(e,"Transaction")||e=="call"+M||"use"==e?(...e)=>(t(...e),L):ct(e,$)&&lt(e,M)?(...a)=>{const n=Zn[zt(e,3,-8)]??0,s=a[n];return a[n]=(t,...e)=>s(L,...e),t(...a)}:"isMergeable"==e?()=>!0:t)),Ie(L)},ss=La([["avg",[(t,e)=>ue(t)/e,(t,e,a)=>t+(e-t)/(a+1),(t,e,a)=>t+(t-e)/(a-1),(t,e,a,n)=>t+(e-a)/n]],["max",[t=>we(t,(t,e)=>It(t,e),-1/0),(t,e)=>It(e,t),(t,e)=>e==t?void 0:t,(t,e,a)=>a==t?void 0:It(e,t)]],["min",[t=>we(t,(t,e)=>Lt(t,e),At),(t,e)=>Lt(e,t),(t,e)=>e==t?void 0:t,(t,e,a)=>a==t?void 0:Lt(e,t)]],["sum",[t=>ue(t),(t,e)=>t+e,(t,e)=>t-e,(t,e,a)=>t-a+e]]]),os=(t,e,a,n,s,o=!1)=>{if(da(a))return;const[r,i,c,l]=s;return o||=Pt(t),ya(n,([a,n])=>{o||(t=Pt(a)?i?.(t,n,e++):Pt(n)?c?.(t,a,e--):l?.(t,n,a,e),o||=Pt(t))}),o?r(ua(a),oa(a)):t},rs=Ba(t=>{const e=La(),[a,n,s]=Qa(()=>f),[o,r,i,c,l,d,u,,w,g,y,h]=Xa(t,Qt,t=>isNaN(t)||Pt(t)||xt(t)||Vt(t)||t===S?void 0:1*t,a,n),f={setMetricDefinition:(t,a,s,o,r,i,c)=>{const l=Gt(s)?[s,r,i,c]:Da(ss,s)??Da(ss,"sum");return w(t,a,(a,s,o,r,i,c)=>{const w=d(t),g=oa(r);c||=Pt(w),a();let y=os(w,g,r,s,l,c);Ot(y)||(y=void 0),y!=w&&(u(t,y),n(e,[t],y,w))},za(o,1)),f},delMetricDefinition:t=>(g(t),f),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:c,getTableId:l,getMetric:d,addMetricIdsListener:y,addMetricListener:(t,n)=>a(n,e,[t]),delListener:t=>(s(t),f),destroy:h,getListenerStats:()=>({metric:ra(e)})};return Ie(f)}),is=(t,e,...a)=>we(t,(t,e)=>Pt(t)?t:e(...a,t),e),cs=([t,e,a],n)=>[$e(t,t=>Pt(t)?t:$e(t,t=>Pt(t)?t:$e(t,t=>Pt(t)?t:n(t)))),$e(e,t=>Pt(t)?t:n(t)),a],ls=(t,e,a,...n)=>jt(t)?e:Ht(is(t,a(e,na),...n),t=>a(t,t=>Sa(()=>ta(t),t))),ds=(t,...e)=>se(t,t=>t(...e)),us=Ba((t,e)=>{const a=t=>e=>(fe(t,e),O),n=[],s=[],o=[],r=[],i=[],c=[],l=[],d=[],u=[],w=[],g=[],y=[],h=[],f=[],v=[n,s,o,r,i,c,l,d,u,w,g,y,h,f],b=a(n),m=a(s),S=a(o),T=a(r),C=a(i),E=a(c),p=a(l),R=a(d),I=a(u),L=a(w),_=a(g),N=a(y),D=a(h),A=a(f),O=Ie({getStore:()=>t,addWillSetContentCallback:b,addWillSetTablesCallback:m,addWillSetTableCallback:S,addWillSetRowCallback:T,addWillSetCellCallback:C,addWillSetValuesCallback:E,addWillSetValueCallback:p,addWillDelTablesCallback:R,addWillDelTableCallback:I,addWillDelRowCallback:L,addWillDelCellCallback:_,addWillDelValuesCallback:N,addWillDelValueCallback:D,addWillApplyChangesCallback:A,destroy:()=>{e()&&(t._[4](),ce(v,he))}});return t._[4]((t,e)=>e?ls(n,t,([t,e],a)=>[Ve(t,a),$e(e,a)]):is(n,t),t=>ls(s,t,Ve),(t,e)=>ls(o,e,xe,t),(t,e,a)=>ls(r,a,$e,t,e),(t,e,a,n)=>ls(i,n,(t,e)=>e(t),t,e,a),t=>ls(c,t,$e),(t,e)=>ls(l,e,(t,e)=>e(t),t),()=>ds(d),t=>ds(u,t),(t,e)=>ds(w,t,e),(t,e,a)=>ds(g,t,e,a),()=>ds(y),t=>ds(h,t),(t,e)=>e?ls(f,t,cs):is(f,t),()=>!jt(r)),O}),ws={Idle:0,Loading:1,Saving:2},gs={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ys=La(),hs=La(),fs=La(),vs=(t,e,a,n,s,o,r,i={},c=0,l=[])=>{let d,u,w,g,y,h=0,f=0,v=0,b=0,m=0,S=0,T=0,C=0,E=0;const p={},R=i.destroy;Ma(ys,l,()=>0),Ma(hs,l,()=>[]),ka(fs,l,(Da(fs,l)??0)+1);const I=La(),[L,_,N,D,A]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!We(t)||!We(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!We(t)||!We(e),e.setContent]:ma(0))(r,t,c),[O,k,M]=Qa(()=>Q),P=t=>{t!=h&&(h=t,k(I,void 0,h))},$=()=>{Da(fs,l)||Da(ys,l)||!jt(Da(hs,l)??[])||(ka(ys,l),ka(hs,l),ka(fs,l))},x=e=>{(L&&Xt(e?.[0])?1===e?.[2]?t.__[4]:t.__[3]:1===e?.[2]?t._[10]:t._[9])(e)},V=async()=>{B()&&t.__?.[0]?.()&&await G()},F=t=>Ra(()=>u=t,()=>{u==t&&(u=void 0)}),H=async t=>(2!=h&&(await Ra(async()=>{P(1),f++,await J(()=>Ta(async()=>{const a=await e();Xt(a)?x(a):Pt(a)&&t?A(t):Pt(a)||ma(1,a)},e=>{o?.(e),t&&A(t)}))},()=>P(0)),await V()),Q),W=async()=>{const t=T;T=0,t&&t==b&&!E&&(2==h?T=t:await H())},U=async t=>{const e=++b;let a=!0;if(await q(!0),e==b&&!E){const r=Ta(async()=>{const t=await n(async(t,n)=>{if(e==b&&!E)if(n||t){const e=a||2==h||!!S;m++,e&&S++,await Ra(async()=>{P(1),f++,await(e?J(()=>x(n??t)):pa(()=>x(n??t),()=>P(0)))},()=>{e&&S--,--m||P(0)}),m||await V()}else 2==h?T=e:await H()});e!=b||E?Pt(t)||await s(t):d=t},o);await F(r),e!=b||E||await Ra(()=>H(t),()=>{a=!1})}return Q},q=async(t=!1)=>{T=0,t||b++;const e=u,a=d;return d=void 0,await F(Ra(async()=>{await e},async()=>{Pt(a)||await Ta(()=>s(a),o)})),Q},G=async t=>(1!=h&&await Ra(()=>Ra(async()=>{P(2),v++,await J(()=>Ta(()=>a(_,t),o))},()=>P(0)),W),Q),X=async()=>{const e=++C;return await z(!0),e!=C||E||(await G(),e!=C||E||(w=t.addDidFinishTransactionListener(()=>{if(e==C&&!E){const t=N();D(t)&&Ta(()=>G(t))}}))),Q},z=async(e=!1)=>{e||C++;const a=w;return w=void 0,Pt(a)||t.delListener(a),Q},B=()=>!Pt(w),j=async(t=!1)=>{const[e,a]=t?[z,q]:[q,z];return await Ra(()=>e(),async()=>{await a()}),Q},J=async(...t)=>{let e,a=!1;const n=Zt(n=>jt(t)?n():fe(Da(hs,l),...de(t,(s,r)=>{const i=r==Bt(t)-1;return[async()=>{let t;y=Zt(e=>t=e),await Ra(async()=>{try{await Ta(s,o)}catch(t){a||(a=!0,e=t)}i&&n()},()=>{y=void 0,t()})},i?n:void 0,p]})));if(await(async()=>{if(!Da(ys,l)){ka(ys,l,1);const t=Da(hs,l);let e=0;await Ra(async()=>{for(;e<Bt(t);){const a=t[e++];a[2]=void 0,await a[0]()}},()=>{he(t,e),ka(ys,l,0),$()})}})(),await n,a)throw e;return Q},Q={load:H,startAutoLoad:U,stopAutoLoad:q,isAutoLoading:()=>!Pt(d),save:G,startAutoSave:X,stopAutoSave:z,isAutoSaving:B,startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[X,U]:[U,X];return await a(t),await n(t),Q},stopAutoPersisting:j,getStatus:()=>h,addStatusListener:t=>O(t,I),delListener:e=>(M(e),t),schedule:J,getStore:()=>t,getStats:()=>({loads:f,saves:v}),...i,destroy:async()=>(Pt(g)&&(E=1,g=(async()=>{const t=Da(hs,l),e=ge(t,([,t,e])=>e!=p||(t?.(),!1)),a=y;he(t),fe(t,...e),await Ra(()=>Ra(()=>Ra(j,()=>a),()=>R?.()),()=>{const t=(Da(fs,l)??1)-1;ka(fs,l,t||void 0),$()})})()),await g,Q)};return Ie(Q)},bs="_",ms="_id",Ss="SELECT",Ts="WHERE",Cs="TABLE",Es="INSERT",ps="DELETE",Rs="UPDATE",Is="ALTER "+Cs,Ls="FROM",_s=ps+" "+Ls,Ns=Ss+"*"+Ls,Ds="pragma_",As="data_version",Os="schema_version",ks="pragma_table_",Ms="CREATE ",Ps=Ms+Cs,$s="OR REPLACE ",xs="FUNCTION",Vs=/\$tableName/g,Fs=(t,e)=>e?async(a,n)=>(e(a,n),await t(a,n)):t,Hs=t=>le(de(ut(t,C),t=>`"${wt(t,/"/g,'""')}"`),C),Ws=(...t)=>Hs(le(t,"_")),Us=(...t)=>le(de(t,Hs),T),qs=(t,e=[1])=>le(de(t,()=>"$"+e[0]++),T),Gs=(t,e=N)=>Ts+`(${Xs(e,Hs(t))})`,Xs=(t,e)=>wt(t,Vs,e),zs="ColumnName",Bs="store",js="json",Js=Bs+"TableName",Qs=Bs+"Id"+zs,Ys=Bs+zs,Ks="autoLoadIntervalSeconds",Zs="rowId"+zs,to="tableId",eo="tableName",ao="deleteEmptyColumns",no="deleteEmptyTable",so="condition",oo={mode:js,[Ks]:1},ro={load:0,save:0,[eo]:m+"_values"},io=t=>Xt(t)?t:void 0,co=t=>xt(t)||Xt(t),lo=(t,e,a,n,s)=>{const o=La();return ke(t,(t,r)=>{const i=zt(Fe(Le(e,Ut(t)?{[a]:t}:t)),0,He(e));$t(i[0])||n(r,i[0])||(s(r,i[0]),ka(o,r,i))}),o},uo=t=>{const e=(t=>Le(oo,Ut(t)?{[Js]:t}:t??{}))(t),a=e[Ks];if(e.mode==js){const t=e[Js]??m;return[1,a,[t,e[Qs]??ms,e[Ys]??Bs],qa(t)]}const{tables:{load:n={},save:s={}}={},values:o={}}=e,r=Le(ro,o),{load:i,save:c}=r,l=[co(i),co(c),r[eo],io(i),io(c)],d=l[2],u=qa(d),w=qa(d),g=lo(n,{[to]:null,[Zs]:ms,[so]:N},to,t=>la(w,t),t=>Ga(u,t)),y=lo(s,{[eo]:null,[Zs]:ms,[ao]:0,[no]:0,[so]:null},eo,(t,e)=>la(w,e),(t,e)=>Ga(u,e));return Aa(y,(t,e)=>e[4]??=Da(g,e[0])?.[2]??N),[0,a,[g,y,l],u]},wo=(t,e,a,n,s=go,o,r,i)=>{const c=La(),l=La();let d=t;return[async()=>{ga(c),ga(l),ce(await a(d,e),({tn:t,cn:e,uq:a})=>{Ga(Ma(c,t,qa),e),a&&Ga(Ma(l,t,qa),e)})},async(t,e,a,n)=>{const s=Pt(n)?void 0:qa(n);return((t,e)=>la(Da(c,t),e))(t,e)?Ae(ge(de(await d(Ns+Hs(t)+Gs(t,a)),t=>{const a=t[e],n=r?$e(Oe(t,e),r):Oe(t,e);return[a,Pt(s)?n:Ae(ge(Pe(n,(t,e)=>[e,t]),([t])=>(t=>Pt(s)||la(s,t))(t)))]}),t=>!Pt(t[0])&&!We(t[1]))):{}},async(t,e,a,r,i,u=!1,w=N,g)=>{const y=Pt(g)?void 0:qa(g),h=t=>Pt(y)||la(y,t),f=qa();ke(a??{},t=>ce(ge(Re(t??{}),h),t=>Ga(f,t)));const v=ua(f);if(Pt(y)&&!u&&i&&w==N&&jt(v)&&la(c,t))return await d("DROP "+Cs+Hs(t)),ka(c,t),void ka(l,t);const b=Da(c,t),S=qa(ge(ua(b),t=>t==e||h(t)));if(!jt(v))if(la(c,t)){if(await te(de([e,...v],async e=>{ha(S,e)||(await d(Is+Hs(t)+"ADD"+Hs(e)+n),Ga(b,e))})),s==go&&!la(Da(l,t),e)){const a=m+"_pk_"+rn(Xe([t,e]));await d("CREATE UNIQUE INDEX IF NOT EXISTS"+Hs(a)+"ON"+Hs(t)+`(${Hs(e)})`),Ga(Ma(l,t,qa),e)}}else await d(Ps+Hs(t)+`(${Hs(e)}${n} PRIMARY KEY${le(de(v,t=>T+Hs(t)+n))});`),ka(c,t,qa([e,...v])),ka(l,t,qa([e]));if(await te([...!u&&r?de(ua(S),async a=>{a!=e&&(await d(Is+Hs(t)+"DROP"+Hs(a)),ha(b,a))}):[]]),u)Pt(a)?Pt(y)&&await d(_s+Hs(t)+Gs(t,w)):await te(Pe(a,async(a,n)=>{if(Pt(a))await d(_s+Hs(t)+Gs(t,w)+`AND(${Hs(e)}=$1)`,[n]);else if(!jt(v)){const r=ge(Re(a),h);jt(r)||await s(d,t,e,r,{[n]:de(r,t=>o?o(a[t]):a[t])},b)}}));else if(jt(v))Pt(y)&&la(c,t)&&await d(_s+Hs(t)+Gs(t,w));else{const n=ge(ua(Da(c,t)),t=>t!=e&&h(t)),r=Ae(),i=[];ke(a??{},(t,e)=>{De(r,e,de(n,e=>o?o(t?.[e]):t?.[e])),fe(i,e)}),await s(d,t,e,n,r,b),await d(_s+Hs(t)+Gs(t,w)+`AND${Hs(e)}NOT IN(${qs(i)})`,i)}},async e=>{if(i)return await i(async t=>{const a=d;return d=t,await Ra(e,()=>{d=a})});await t("BEGIN");try{const a=await e();return await t("END"),a}catch(e){throw await Ta(()=>t("ROLLBACK")),e}}]},go=async(t,e,a,n,s)=>{const o=[1];await t(Es+" INTO"+Hs(e)+"("+Us(a,...n)+")VALUES"+le(Pe(s,t=>"($"+o[0]+++","+qs(t,o)+")"),T)+"ON CONFLICT("+Hs(a)+`)DO ${Rs} SET`+le(de(n,t=>Hs(t)+"=excluded."+Hs(t)),T),Pe(s,(t,e)=>[e,...de(t,t=>t??null)]).flat())},yo=(t,e,a,n,s,o,r,[i,c,l],d,u,w,g,y,h,f,v,b)=>{const[m,S,T,C]=wo(e,d,u,y,h,void 0,void 0,b);return vs(t,()=>C(async()=>(await m(),Je((await S(i,c))[bs]?.[l]??"null"))),t=>C(async()=>{await m(),await T(i,c,{[bs]:{[l]:je(t()??null)}},!0,!0)}),a,n,s,r,{[g]:()=>w,destroy:o},0,w)},ho=(t,e,a,n,s,o,r,[i,c,[l,d,u,w,g]],y,h,f,v,b,m,S,T,C)=>{const[E,p,R,I]=wo(e,y,h,b,m,S,T,C),L=(t,e)=>te(Oa(c,async([a,n,s,o,r],i)=>{e&&!_e(t,i)||await R(a,n,t[i],s,o,e,r)})),_=(t,e,a)=>Ae(1==a?ge(Pe(t,(t,e)=>[e,t]),([t])=>ae(e,t)):ge(de(e,e=>[e,t[e]]),([,t])=>!Pt(t))),N=async(t,e)=>d?await R(u,ms,{[bs]:Pt(g)?t:_(t,g,e)},!0,!0,e,void 0,g):null;return vs(t,()=>I(async()=>{await E();const t=await(async()=>Ae(ge(await te(Oa(i,async([t,e,a],n)=>[t,await p(n,e,a)])),t=>!We(t[1]))))(),e=await(async()=>l?(await p(u,ms,void 0,w))[bs]:{})();return We(t)&&Pt(e)?void 0:[t,e]}),(t,e)=>I(async()=>{if(await E(),Pt(e)){const[e,a]=t();await L(e),await N(a)}else await L(e[0],!0),await N(e[1],!0)}),a,n,s,r,{[v]:()=>f,destroy:o},0,f)},fo=/^([cd]:)(.+)/,vo=La(),bo=(t,e,a,n,s,o,r,i,c,l,d="getDb")=>{const u=Fs(a,o),[w,,g,y]=uo(e);!w&&t.isMergeable()&&ma(0);const h=S+rn(je(g)),f=m+"_"+h,v=l??a,b=async(t,e,a="",n="")=>{const s=Ws(m,t,h);return await u(Ms+$s+xs+s+`()RETURNS ${a}trigger AS $$ ${n}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),s},T=async(t,e,a,n)=>(await u(Ms+t+"TRIGGER"+e+a+"EXECUTE "+xs+n+"()"),e),C=t=>`PERFORM pg_notify('${f}',${t});`,E=(t,e)=>w?N:2===e?E(t,0)+" OR "+E(t,1):Xs(Da(g[0],t)?.[2]??N,0==e?"NEW":"OLD"),p=(t,e)=>te(de([Es,ps,Rs],(a,n)=>T($s,Ws(m,"d",h,t,a),`AFTER ${a} ON${Hs(t)}FOR EACH ROW WHEN(${E(t,n)})`,e))),R=async t=>{jt(t)||await u(`DROP FUNCTION IF EXISTS${le(t,",")}CASCADE`)},I=(t,e)=>{Da(t,h)===e&&(ka(t,h),da(t)&&Da(vo,v)===t&&ka(vo,v))},L=async()=>{const t=Ma(vo,v,()=>La()),e=Da(t,h);if(e)return await e[1],e[0]?(e[0]++,e):(await Ta(()=>e[4]),await L());const a=[],n=[1,void 0,a];ka(t,h,n),n[1]=(async()=>{const t=await b("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Ts} command_tag='${Ps}' LOOP ${C("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");fe(a,t),await T("EVENT ",Ws(m,"c",h),`ON ddl_command_end WHEN TAG IN('${Ps}')`,t);const e=await b("d",C("'d:'||TG_TABLE_NAME")+"RETURN NULL;");fe(a,e),n[3]=e,await te(de(ua(y),async t=>(await u(Ps+` IF NOT EXISTS${Hs(t)}("_id"text PRIMARY KEY)`),await p(t,e))))})();try{await n[1]}catch(e){throw n[0]=0,n[4]=Ra(()=>R(a),()=>I(t,n)),await Ta(()=>n[4]),e}return n},_=async t=>{if(0==--t[0]){const e=Da(vo,v);t[4]=Ra(()=>R(t[2]),()=>I(e,t)),await t[4]}};return(w?yo:ho)(t,u,async t=>{const e=await L();try{return[await n(f,a=>{Ca(()=>Ht(dt(a,fo),async([,a,n])=>{la(y,n)&&("c:"==a&&await p(n,e[3]),await t())}),r)}),e]}catch(t){throw await Ca(()=>_(e),r),t}},async([t,e])=>{await Ra(()=>s(t),()=>_(e))},r,i,c,g,ua(y),async(t,e)=>await t(Ss+` c.table_name tn,c.column_name cn,CASE WHEN tc.constraint_type IN('PRIMARY KEY','UNIQUE')AND(${Ss} count(*) FROM information_schema.key_column_usage kcu2 ${Ts} kcu2.constraint_schema=kcu.constraint_schema AND kcu2.constraint_name=kcu.constraint_name)=1 THEN 1 ELSE 0 END uq FROM information_schema.columns c LEFT JOIN information_schema.key_column_usage kcu ON kcu.table_schema=c.table_schema AND kcu.table_name=c.table_name AND kcu.column_name=c.column_name LEFT JOIN information_schema.table_constraints tc ON tc.constraint_schema=kcu.constraint_schema AND tc.constraint_name=kcu.constraint_name ${Ts} c.table_schema='public'AND c.table_name IN(${qs(e)})`,e),l,d,"text",void 0,t=>Xe(t),t=>ze(t))},mo=(t,e,a,n,s,o,r,i,c,l,d="getDb",u,w)=>{let g,y,h;const f=Fs(a,o),[v,b,m,T]=uo(e);return!v&&t.isMergeable()&&ma(0),(v?yo:ho)(t,f,t=>{let e,a,o=1,i=0,c=0;const l=async(e=!0)=>{const[{d:a,s:n,c:s}]=await f(Ss+` ${As} d,${Os} s,TOTAL_CHANGES() c FROM ${Ds}${As} JOIN ${Ds}${Os}`);if(o&&(a!=g||n!=y||s!=h)){const r=e&&!c&&!Mt(g);g=a,y=n,h=s,r&&o&&await t()}},d=()=>{Pt(e)||(Tt(e),e=void 0)},u=(n=!1)=>{if(a)return a;const s=Ra(()=>Ca(async()=>{for(i?n&&await l():(await l(!1),i=1);o&&c;)c=0,await l(!1),o&&(await t(),await l())},r),()=>{a==s&&(a=void 0),o&&(c?u():o&&Pt(e)&&(e=St(()=>u(!0),b)))});return a=s,s},w=n(t=>{o&&la(T,t)&&(c=1,d(),gt.resolve().then(()=>o?void u():0))});return u().then(()=>async()=>{o=0,c=0,d(),await Ra(async()=>await a,async()=>{g=y=h=null,await s(w)})})},t=>t(),r,i,c,m,ua(T),async(t,e)=>await t(Ss+` t.name tn,c.name cn,c.pk OR EXISTS(${Ss} 1 FROM ${Ds}index_list(t.name)i,${Ds}index_info(i.name)ii ${Ts} i."unique"=1 AND ii.name=c.name AND(${Ss} count(*) FROM ${Ds}index_info(i.name))=1)uq FROM ${ks}list()t,${ks}info(t.name)c ${Ts} t.schema='main'AND t.type IN('table','view')AND t.name IN(${qs(e)})ORDER BY t.name,c.name`,e),l,d,S,u,t=>xt(t)?1:Vt(t)?0:t,void 0,w)},So=t=>_e(Object.prototype,t)||"prototype"==t||ct(t,"\0")?"\0"+t:t,To=t=>ct(t,"\0")?zt(t,1):t,Co=(t,e)=>Ne(t,So(e)),Eo=(t,e,a)=>t[So(e)]=a,po=(t,e)=>Oe(t,So(e)),Ro=(t,e)=>{const a=Co(t,e);return[a.t,a.v]},Io=(t,e=t=>t)=>{const a=Ae();return ke((t=>pe(t)?t:ma(1))(t),(t,n)=>De(a,To(n),e(t))),a},Lo=(t,e)=>{const a=Co(t,e);return pe(a?.t)&&pe(a?.v)?((t,e)=>{const[a,n]=Ro(t,e);return[Io(a,t=>Io(t,t=>Io(t))),Io(n)]})(t,e):void 0},_o=(t,e,a)=>(Pt(Co(t,e))&&Eo(t,e,a()),Co(t,e)),No=(t,e,a,n)=>{const s=Pt(e)?t:_o(t,e,()=>({}));let o;return ke(a,(t,e)=>{n(s,e,t)&&(o=1)}),ke(s,(t,e)=>{const n=To(e);_e(a,n)||(Oe(s,e),o=1)}),!Pt(e)&&We(s)&&po(t,e),o},Do=(t,e,a=m,n)=>(e.change(t=>_o(t,a,()=>({}))),vs(t,async()=>Lo(e.doc(),a),async(t,n)=>e.change(e=>((t,e,a,n)=>{((t,e)=>{We(Co(t,e))&&Eo(t,e,{t:{},v:{}})})(t,e);const[s,o]=Ro(t,e);if(!Ht(n,([t,e])=>Me(t,(t,e)=>Pt(t)?(po(s,e),!0):Ht(Co(s,e),e=>Me(t,(t,a)=>Pt(t)?(po(e,a),!0):Ht(Co(e,a),e=>(ke(t,(t,a)=>Pt(t)?po(e,a):Eo(e,a,t)),!0),()=>!1)),()=>!1))&&Me(e,(t,e)=>(Pt(t)?po(o,e):Eo(o,e,t),!0)))){const[t,e]=a();No(s,void 0,t,(t,e,a)=>No(s,e,a,(t,e,a)=>No(t,e,a,(t,e,a)=>{if(Co(t,e)!==a)return Eo(t,e,a),1}))),No(o,void 0,e,(t,e,a)=>{Co(o,e)!==a&&Eo(o,e,a)})}})(e,a,t,n)),t=>Rt(e,et,({doc:e})=>{Ca(()=>Ht(Lo(e,a),t,()=>ma(1)),n)}),t=>t(),n,1,{getDocHandle:()=>e})),Ao=(t,e,a,n)=>vs(t,async()=>Je(a.getItem(e)),async t=>a.setItem(e,je(t())),t=>pt(vt,nt,s=>{s.storageArea===a&&s.key===e&&Ca(()=>t(Je(s.newValue)),n)}),t=>t(),n,3,{getStorageName:()=>e}),Oo=(t,e,a)=>Ao(t,e,localStorage,a),ko=(t,e,a)=>Ao(t,e,sessionStorage,a),Mo=(t,e,a)=>vs(t,async()=>Je(await(await e.getFile()).text()),async t=>{const a=await e.createWritable();let n=0;await Ra(async()=>{await a.write(je(t())),n=1},async()=>{n?await a.close():await Ta(()=>a.abort())})},async t=>{const a=new FileSystemObserver(()=>t());return await a.observe(e),a},t=>t?.disconnect(),a,3,{getHandle:()=>e}),Po=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>await e.execO(t,a),t=>e.onUpdate((e,a,n)=>t(n)),t=>t(),n,s,Yt,1,e),$o=(t,e,...a)=>t.exec(e,...a).toArray(),xo=(t,e,a,n,s)=>"fragmented"==a?.mode?Ho(t,e,a?.storagePrefix??S,s):mo(t,a,async(t,a=[])=>ae(["BEGIN","END"],t)?[]:(t=wt(t,/\$\d+/g,"?"),$o(e,t,...a)),()=>Yt,t=>t(),n,s,Yt,2,e,"getSqlStorage"),Vo=()=>Mn(Ae(),S,0),Fo=t=>Jt(/^[a-zA-Z_][a-zA-Z0-9_]*$/,t)?t:Hs(t),Ho=(t,e,a=S,n)=>{const s=wt(a,/[^a-zA-Z0-9_]/g,"_"),o=Fo(s+"tinybase_tables"),r=Fo(s+"tinybase_values"),i=`INSERT INTO ${o} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,c=`INSERT INTO ${r} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,l=(t,e)=>Xe([t,e]);e.exec(`\n CREATE TABLE IF NOT EXISTS ${o} (\n type TEXT NOT NULL,\n table_id TEXT,\n row_id TEXT,\n cell_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL,\n PRIMARY KEY (type, table_id, row_id, cell_id)\n );\n \n CREATE TABLE IF NOT EXISTS ${r} (\n value_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL\n );\n `);const d=(t,e,a)=>$t(a)?e+" IS NULL":(fe(t,a),e+" = ?"),u=(t,a,n,s,r,c)=>{((t,a,n)=>{const s=[ot];e.exec(`DELETE FROM ${o} WHERE type = ? AND `+d(s,"table_id",t)+" AND "+d(s,"row_id",a)+" AND "+d(s,"cell_id",n),...s)})(t,a,n),e.exec(i,ot,t,a,n,s,r,c)},w=(t,a,n,s)=>{(t=>{const a=[];e.exec(`DELETE FROM ${r} WHERE `+d(a,"value_id",t),...a)})(t),e.exec(c,t,a,n,s)};return vs(t,async()=>{const t=Vo(),a=Vo(),n=qa(),s=$o(e,"SELECT * FROM "+o);return ce(s,e=>{const a=Mt(e.table_id)?null:mt(e.table_id),s=Mt(e.row_id)?null:mt(e.row_id),o=Mt(e.cell_id)?null:mt(e.cell_id),r=mt(e.value_data),i=mt(e.timestamp),c=bt(e.hash),[d]=Je(r);if(!$t(a)&&!$t(s)&&$t(o)&&pe(d)){const e=qe(t[0],a,Vo);De(e[0],s,[d,i,c]),Ga(n,l(a,s))}}),ce(s,e=>{const a=mt(e.type),s=Mt(e.table_id)?null:mt(e.table_id),o=Mt(e.row_id)?null:mt(e.row_id),r=Mt(e.cell_id)?null:mt(e.cell_id),i=mt(e.value_data),c=mt(e.timestamp),d=bt(e.hash),[u]=Je(i);if(a===ot)if($t(s)||$t(o)||$t(r)){if($t(s)||$t(o))if($t(s))Vn(t,c,d);else{const e=qe(t[0],s,Vo);Vn(e,c,d)}else if(!pe(u)){const e=qe(t[0],s,Vo),a=qe(e[0],o,Vo);Vn(a,c,d)}}else if(!la(n,l(s,o))){const e=qe(t[0],s,Vo),a=qe(e[0],o,Vo);De(a[0],r,[u,c,d])}}),ce($o(e,"SELECT * FROM "+r),t=>{const e=Mt(t.value_id)?null:mt(t.value_id),n=mt(t.value_data),s=mt(t.timestamp),o=bt(t.hash),[r]=Je(n);$t(e)?Vn(a,s,o):De(a[0],e,[r,s,o])}),[t,a]},async(t,[[a,n,s],[r,i,c]]=t())=>{const[l]=t()[0];u(null,null,null,je([0]),n,s),ke(a,([t,a,n],s)=>{u(s,null,null,je([0]),a,n),ke(t,([t,a,n],r)=>{const i=l[s]?.[0]?.[r]?.[0]??t;((t,a)=>{e.exec(`DELETE FROM ${o} WHERE type = ? AND table_id = ? AND row_id = ? AND cell_id IS NOT NULL`,ot,t,a)})(s,r),u(s,r,null,je([i]),a,n)})}),w(null,je([0]),i,c),ke(r,(t,e)=>{w(e,je([t[0]]),t[1],t[2])})},Yt,Yt,n,2,{getSqlStorage:()=>e})},Wo=()=>Mn(Ae(),S,0),Uo=(t,e,a=S,n)=>{const s=(t,...e)=>a+t+zt(Xe(e),1,-1);return vs(t,async()=>{const t=Wo(),n=Wo();return Aa(await e.list({prefix:a}),(e,[s,o,r])=>Ht((t=>{if(ct(t,a)){const e=zt(t,Bt(a),Bt(a)+1);if(e==ot||e==rt){const n=Sa(()=>ze("["+zt(t,Bt(a)+1)+"]"));if(Xt(n)&&Bt(n)<=(e==ot?3:1)&&se(n,Ut))return[e,...n]}}})(e),([e,...a])=>e==ot?Ht(a[0],e=>{const n=qe(t[0],e,Wo);Ht(a[1],t=>{const e=qe(n[0],t,Wo);Ht(a[2],t=>De(e[0],t,[s,o,r]),()=>Vn(e,o,r))},()=>Vn(n,o,r))},()=>Vn(t,o,r)):e==rt?Ht(a[0],t=>De(n[0],t,[s,o,r]),()=>Vn(n,o,r)):0)),We(t[0])&&We(n[0])?void 0:[t,n]},async(t,[[a,n,o],[r,i,c]]=t())=>{const l=La();ka(l,s(ot),[0,n,o]),ke(a,([t,e,a],n)=>{ka(l,s(ot,n),[0,e,a]),ke(t,([t,e,a],o)=>{ka(l,s(ot,n,o),[0,e,a]),ke(t,(t,e)=>ka(l,s(ot,n,o,e),t))})}),ka(l,s(rt),[0,i,c]),ke(r,(t,e)=>ka(l,s(rt,e),t));const d=Oa(l,(t,e)=>[e,t]);await e.transaction(async t=>{for(let e=0;e<Bt(d);e+=128)await t.put(Ae(zt(d,e,e+128)))})},Yt,Yt,n,2,{getStorage:()=>e})},qo=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>await e.db.raw({sql:t,args:a}),t=>e.notifier.subscribeToDataChanges(a=>ce(e.notifier.alias(a),({tablename:e})=>t(e))),t=>t(),n,s,Yt,1,e,"getElectricClient"),Go=(e,a,n,s,o)=>mo(e,n,async(t,e=[])=>await a.getAllAsync(t,e),e=>t(({tableName:t})=>e(t)),t=>t.remove(),s,o,Yt,3,a),Xo=(t,f,v)=>{let b;return vs(t,async()=>Je(await l(f,k)),async t=>{const e=await Ta(()=>d(f)),a=e?.isSymbolicLink()?await Ta(()=>u(f))??y(h(f),await o(f)):f,n=(await Ta(()=>w(a)))?.mode,s=a+"."+sn()+".tmp",l=je(t()),v=b;b=l,await Ra(async()=>{try{await r(s,l,k),await Ht(n,t=>i(s,4095&t)),await c(s,a)}catch(t){throw b=v,t}},()=>Ta(()=>g(s)))},t=>{a(f)||n(f,S,k);const e=()=>(async()=>await Ta(async()=>{const e=await l(f,k);e!=b&&(b=e,t())},()=>{null!==b&&(b=null,t())}))();return s(f,{interval:50},e),e},t=>e(f,t),v,3,{getFilePath:()=>f})},zo=[ot,rt],Bo={keyPath:"k"},jo=async(t,e,a)=>Zt((n,s)=>{const o=t[e](a);o.onsuccess=()=>n(o.result),o.onerror=()=>s(ba(11,e))}),Jo=(t,e,a=1,n)=>{const s=async(t,a=[],n=0,s="readonly")=>Zt((o,r)=>{const i=(vt?vt.indexedDB:indexedDB).open(e,n?2:void 0);let c=0;i.onupgradeneeded=()=>n&&ce(zo,t=>Ea(()=>i.result.createObjectStore(t,Bo))),i.onblocked=()=>{c=1,r(ba(12))},i.onsuccess=()=>c?i.result.close():Ta(async()=>{i.result.onversionchange=()=>i.result.close();const e=i.result.transaction(zo,s),n=Zt((t,a)=>{e.oncomplete=()=>t(),e.onerror=e.onabort=()=>a(ba(11))}),[r]=await te([te(de(zo,(n,s)=>t(e.objectStore(n),a[s]))),n]);i.result.close(),o(r)},t=>{i.result.close(),r(t)}),i.onerror=()=>r(ba(12))}),o=async()=>await s(async t=>Ae(de(await jo(t,"getAll"),({k:t,v:e})=>[t,e])));return vs(t,o,t=>s((t,e)=>(async(t,e)=>{const a=Pe(e,(e,a)=>jo(t,"put",{k:a,v:e}));ce(await jo(t,"getAllKeys"),n=>_e(e,n)?0:fe(a,jo(t,"delete",n))),await te(a)})(t,e),t(),1,"readwrite"),t=>o().then(e=>{let s,r=1,i=je(e);const c=St(()=>{if(r&&!s){const e=Ra(()=>Ca(async()=>{const e=await o();if(r){const a=je(e);a!=i&&(i=a,await t(e))}},n),()=>{s==e&&(s=void 0)});s=e}},a);return async()=>{r=0,Tt(c),await s}}),async t=>await t(),n,1,{getDbName:()=>e})},Qo=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>(await e.execute({sql:t,args:a})).rows,()=>Yt,t=>t(),n,s,Yt,1,e,"getClient",void 0,"file"==e.protocol?void 0:async t=>{n?.("BEGIN");const a=await e.transaction("write");return await Ra(async()=>{try{const e=await t(async(t,e=[])=>(n?.(t,e),(await a.execute({sql:t,args:e})).rows));return await a.commit(),n?.("END"),e}catch(t){throw await Ta(()=>a.rollback()),n?.("ROLLBACK"),t}},()=>a.close())}),Yo="s",Ko="/store",Zo=(t,e,a)=>t+e+(Ut(a)?a:je(a)),tr=(t,e,a)=>{const n=Bt(t);return Ut(e)&&Bt(e)>n&&ct(e,t)?a?Sa(()=>[e[n],Je(zt(e,n+1))]):[e[n],mt(zt(e,n+1))]:void 0},er=(t,e,a,n)=>{const{host:s,room:o}=e.partySocketOptions,{storeProtocol:r="https",storePath:i=Ko,messagePrefix:c=S}={...Ut(a)?{storeProtocol:a}:a},l=r+"://"+s+"/parties/"+e.name+"/"+o+i,d=async t=>{const e=await fetch(l,{...t?{method:"PUT",body:Be(t)}:{},mode:"cors",cache:"no-store"});if(!e.ok)throw e;const a=await e.text();return jt(a)?void 0:ze(a)};return vs(t,d,async(t,a)=>{a?e.send(Zo(c,Yo,a)):await d(t())},t=>pt(e,Z,e=>{Ta(async()=>await Ht(tr(c,e.data,1),async([e,a])=>{e==Yo&&await t(void 0,a)}),n)}),t=>t(),n,1,{getConnection:()=>e})},ar="hasStore",nr=Ae(de(["Origin","Methods","Headers"],t=>["Access-Control-Allow-"+t,"*"])),sr=(t,e,a)=>pe(t)&&Me(t,t=>Pt(t)?a:e?sr(t,e-1,a):Ke(t)),or=(t,e)=>Xt(t)&&Bt(t)==(e?3:2)&&(!e||1==t[2])&&sr(t[0],2,e)&&sr(t[1],0,e),rr=async(t,e=S)=>!!await t.get(e+ar),ir=async(t,e=S)=>{const a=Ae(),n=Ae();return Aa(await t.list({prefix:e}),(t,s)=>Ht(tr(e,t),([t,e])=>{t==ot?Ht(Sa(()=>ze("["+e+"]")),t=>{if(Xt(t)&&3==Bt(t)&&se(t,Ut)){const[e,n,o]=t;De(qe(qe(a,e,Ae),n,Ae),o,s)}}):t==rt&&De(n,e,s)})),[a,n]},cr=async(t,e,a)=>t.party.broadcast(Zo(t.config.messagePrefix??S,Yo,e),a),lr=async(t,e,a,n)=>{const s=t.party.storage,o=t.config.storagePrefix??S,r=Ae(),i=Ae(),c=Ae(),l=[],d=[],u=t=>qe(r,t,Ae),w=(t,e)=>qe(u(t),e,Ae);return await te(Pe(e[0],async(e,i)=>{Pt(e)?!a&&await t.canDelTable(i,n)&&(be(d,dr(o,ot,i)),De(r,i,void 0)):await t.canSetTable(i,a,n)&&await te(Pe(e,async(e,r)=>{Pt(e)?!a&&await t.canDelRow(i,r,n)&&(fe(d,dr(o,ot,i,r)),De(u(i),r,void 0)):await t.canSetRow(i,r,a,n)&&await te(Pe(e,async(e,d)=>{const u=[i,r,d],g=dr(o,ot,...u);Pt(e)?!a&&await t.canDelCell(...u,n)&&(fe(l,g),De(w(i,r),d,void 0)):await t.canSetCell(...u,e,a,n,await s.get(g))&&(De(c,g,e),De(w(i,r),d,e))}))}))})),await te(Pe(e[1],async(e,r)=>{const d=o+rt+r;Pt(e)?!a&&await t.canDelValue(r,n)&&(fe(l,d),De(i,r,void 0)):await t.canSetValue(r,e,a,n,await s.get(d))&&(De(c,d,e),De(i,r,e))})),a&&(We(e[0])&&We(e[1])||!We(r)||!We(i))&&De(c,o+ar,1),await s.transaction(async t=>{if(a&&await t.get(o+ar))return!1;const e=zt(l,0);return jt(d)||Aa(await t.list({prefix:o}),t=>Ht(ye(d,e=>ct(t,e)),()=>fe(e,t))),await t.delete(e),We(c)||await t.put(c),!0})?[r,i,1]:void 0},dr=(t,e,...a)=>Zo(t,e,zt(Be(a),1,-1)),ur=async(t,e,a=null)=>new Response(a,{status:e,headers:t.config.responseHeaders});class wr{constructor(t){this.party=t,this.config.storePath??=Ko,this.config.messagePrefix??=S,this.config.storagePrefix??=S,this.config.responseHeaders??=nr}party;config={};saveQueue=Zt(t=>t());async runExclusive(t){let e;const a=this.saveQueue;return this.saveQueue=Zt(t=>e=t),await a,await Ra(t,e)}async onRequest(t){const{party:{storage:e},config:{storePath:a=Ko,storagePrefix:n}}=this;if(lt(new URL(t.url).pathname,a)){const a=await t.text();if("PUT"==t.method){const s=Sa(()=>ze(a));return or(s,!1)?await this.runExclusive(async()=>await rr(e,n)?ur(this,205):ur(this,await lr(this,s,!0,t)?201:205)):ur(this,400)}const s=await rr(e,n);return ur(this,200,s?Be(await ir(e,n)):S)}return ur(this,404)}async onMessage(t,e){const{config:{messagePrefix:a=S,storagePrefix:n}}=this;await Ht(tr(a,t,1),async([t,a])=>t==Yo&&or(a,!0)?await this.runExclusive(async()=>{if(await rr(this.party.storage,n)){const t=await lr(this,a,!1,e);!t||We(t[0])&&We(t[1])||await cr(this,t,[e.id])}}):0)}async canSetTable(t,e,a){return!0}async canDelTable(t,e){return!0}async canSetRow(t,e,a,n){return!0}async canDelRow(t,e,a){return!0}async canSetCell(t,e,a,n,s,o,r){return!0}async canDelCell(t,e,a,n){return!0}async canSetValue(t,e,a,n,s){return!0}async canDelValue(t,e){return!0}}const gr=async(t,e,a,n,s)=>bo(t,a,async(t,a=[])=>(await e.query(t,a)).rows,(t,a)=>e.listen(t,a),t=>Ta(t,s),n,s,Yt,3,e,"getPglite"),yr=async(t,e,a,n,s)=>{const o=await(e.reserve?.());try{return bo(t,a,o?.unsafe,async(t,a)=>e.listen(t,a),t=>Ta(t.unlisten,s),n,s,()=>o?.release?.(),3,e,"getSql")}catch(t){throw await(o?.release?.()),t}},hr=(t,e,a,n,s)=>{let o;return mo(t,a,async(t,a=[])=>e.execute(t,a).then(t=>t.rows?._array??[]),t=>{const a=new AbortController,n=e.onChange({signal:a.signal});return Ca(async()=>{for await(const t of n)o&&ce(t.changedTables,o)},s),o=t,a},t=>{o=void 0,t.abort()},n,s,Yt,1,e,"getPowerSync",fr)},fr=async(t,e,a,n,s)=>{const o=le(de(n,(t,e)=>Hs(t)+"=$"+(e+1)),T);for(const[r,i]of Pe(s,(t,e)=>[e,t])){const s=de(i,t=>t??null);if(jt(await t(Rs+Hs(e)+" SET"+o+" "+Ts+Hs(a)+"=$"+(Bt(i)+1)+" RETURNING"+Hs(a),[...s,r]))){const o=[1];await t(Es+" INTO"+Hs(e)+"("+Us(a,...n)+")VALUES("+qs([r,...i],o)+")",[r,...s])}}},vr=(t,e,a=nt,n)=>vs(t,async()=>{const t=e.getString(a);return Pt(t)?void 0:Je(t)},async t=>{const n=t();Pt(n)||e.set(a,je(n))},t=>e.addOnValueChangedListener(s=>{s===a&&Ta(async()=>{const n=e.getString(a);Pt(n)||await t(Je(n))},t=>Sa(()=>n?.(t)))}),t=>{t.remove()},n,3,{getStorageName:()=>a}),br=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>(await e.executeSql(t,a))[0].rows.raw(),Yt,Yt,n,s,Yt,3,e),mr=t=>t.headers.get("ETag")??S,Sr=t=>t==S?void 0:{"If-None-Match":t},Tr=(t,e)=>{if(!(t.ok||e&&304==t.status))throw t},Cr=(t,e,a,n=5,s)=>{let o,r=S;return vs(t,async()=>{const t=await fetch(e,{headers:Sr(r)}),a=304==t.status&&!Pt(o);Tr(t,a?1:void 0);const n=a?o:await t.text(),s=ze(n);return a||(o=n,r=mr(t)),s},async t=>{const e=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:Be(t())});await Ra(async()=>Tr(e),()=>e.body?.cancel())},t=>{let a,o,i=!1;return[St(()=>{!i&&Pt(a)&&(o=new AbortController,a=Ra(()=>Ta(async()=>{const a=await fetch(e,{method:"HEAD",headers:Sr(r),signal:o?.signal});Tr(a,1),i||304==a.status||mr(a)==r||await t()},t=>i?0:Sa(()=>s?.(t))),()=>{a=void 0,o=void 0}))},n),async()=>{i=!0,o?.abort(),await a}]},async([t,e])=>{const a=e();Tt(t),await a},s,1,{getUrls:()=>[e,a]})},Er=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>e.query(t).all(...a),()=>Yt,t=>t(),n,s,Yt,3,e),pr=(t,e,a,n,s,o)=>mo(t,n,async(t,e=[])=>de(a.exec(t,{bind:e,rowMode:"object",returnValue:"resultRows"}),t=>({...t})),t=>e.capi.sqlite3_update_hook(a,(e,a,n,s)=>t(s),0),()=>e.capi.sqlite3_update_hook(a,Yt,0),s,o,Yt,3,a),Rr=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>await Zt((n,s)=>e.all(t,a,(t,e)=>t?s(t):n(e))),t=>Rt(e,et,(e,a,n)=>t(n)),t=>t(),n,s,Yt,3,e),Ir="delete",Lr=t=>t instanceof f?t:ma(1),_r=t=>[Lr(t.get(ot)),Lr(t.get(rt))],Nr=(t,e)=>{const a=Ae();return Lr(t).forEach((t,n)=>De(a,n,e?e(t):t)),a},Dr=t=>Nr(t,t=>Nr(t,t=>Nr(t))),Ar=t=>{const[e,a]=_r(t);return[Dr(e),Nr(a)]},Or=(t,e,a,n)=>{const s=Pt(e)?t:t.get(e)??t.set(e,new f);let o;return ke(a,(t,e)=>{n(s,e,t)&&(o=1)}),s.forEach((t,e)=>{_e(a,e)||(s.delete(e),o=1)}),Pt(e)||s.size||t.delete(e),o},kr=(t,e,a=m,n)=>{const s=e.getMap(a);return vs(t,async()=>s.size?Ar(s):void 0,async(t,a)=>e.transact(()=>((t,e,a)=>{t.size||(t.set(ot,new f),t.set(rt,new f));const[n,s]=_r(t);if(!Ht(a,([t,e])=>Me(t,(t,e)=>Pt(t)?(n.delete(e),!0):Ht(n.get(e),e=>Me(t,(t,a)=>Pt(t)?(e.delete(a),!0):Ht(e.get(a),e=>(ke(t,(t,a)=>Pt(t)?e.delete(a):e.set(a,t)),!0),()=>!1)),()=>!1))&&Me(e,(t,e)=>(Pt(t)?s.delete(e):s.set(e,t),!0)))){const[t,a]=e();Or(n,void 0,t,(t,e,a)=>Or(n,e,a,(t,e,a)=>Or(t,e,a,(t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1}))),Or(s,void 0,a,(t,e,a)=>{s.get(e)!==a&&s.set(e,a)})}})(s,t,a)),t=>{const e=e=>{Ca(()=>t(void 0,((t,e)=>{if(1==Bt(e)&&jt(e[0].path))return[...Ar(t),1];const[a,n]=_r(t),s=Ae(),o=Ae();return ce(e,({path:t,changes:{keys:e}})=>t[0]==ot?Ht(t[1],n=>{const o=qe(s,n,Ae),r=Lr(a.get(n));Ht(t[2],t=>{const a=qe(o,t,Ae),n=Lr(r.get(t));Aa(e,(t,{action:e})=>De(a,t,e==Ir?void 0:n.get(t)))},()=>Aa(e,(t,{action:e})=>De(o,t,e==Ir?void 0:Nr(r.get(t)))))},()=>Aa(e,(t,{action:e})=>De(s,t,e==Ir?void 0:Nr(a.get(t),t=>Nr(t))))):Aa(e,(t,{action:e})=>De(o,t,e==Ir?void 0:n.get(t)))),[s,o,1]})(s,e)),n)};return s.observeDeep(e),e},t=>{s.unobserveDeep(t)},n,1,{getYDoc:()=>e})},Mr="_",Pr=Ba(t=>{const e=t._[0],a=e(),n=e(),s=La(),o=La(),r=qa(),i=La(),c=La(),l={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},d=La(),u=La(),{_:[,w,g],delListener:y}=n,[h,f,v,b,m,T,C,E,,p,R,I]=Xa(t,()=>[],Qt,w,g),L=t=>Ma(o,t,e),_=(t,e,...a)=>ce(a,a=>Ga(Ma(e,t,qa),a)),N=t=>Aa(t,(t,e)=>ya(e,e=>t.delListener(e))),D=(t,e,a,...n)=>{const s=Ma(e,t,qa);return ce(n,e=>{Ga(s,e),a&&t.callListener(e)}),n},A=(t,e,a)=>Ht(Da(e,t),n=>{t.delListener(a),ha(n,a),da(n)&&ka(e,t)}),O=()=>{Aa(s,t=>b(t)?0:ka(s,t)),Aa(o,(t,e)=>b(t)||(t=>!(wa(i,([,e])=>wa(e,([e])=>e!==t))&&se([d,u],e=>wa(e,e=>!la(e,t)))))(e)?0:ka(o,t))},k=(t,e,a)=>{_(t,a,t.addWillFinishTransactionListener(e.startTransaction)),_(t,a,t.addDidFinishTransactionListener(()=>e.finishTransaction()))},x=(t,e)=>(We(e)?a.delRow:a.setRow)(Mr,t,{...e}),V=(a,n)=>{const o=[La(),La()];let r=!1;return Ea(()=>((a,n,s,o)=>L(a).transaction(()=>Ht(((t,e)=>Pt(e)?T(t):[e[1],S,e[2]])(a,s),([r,,i])=>{const[c,l]=n,d=s?.[0]??m(a),u=i?L(d):t,w=L(a),g=s?.[3]??j(a),y=[],h=[[void 0,[d,void 0,void 0,[],La(),u]]],f=[],v=[],b=[];r({select:(t,e,a)=>{const n=xt(t)?e:t,s=xt(t)?a:e,o=Gt(t)?[Bt(y)+S,t]:Pt(s)?[t,e=>e(t)]:[s,e=>xt(t)?e(!0,n,s):e(n,s)];return fe(y,o),{as:t=>o[0]=t}},join:(e,a,n,s)=>{const o=xt(e)?a:e,[r,i]=xt(e)?Pt(s)||Gt(n)?[void 0,n]:[n,s]:Pt(n)||Gt(a)?[void 0,a]:[a,n],c=[o,[o,r,Gt(i)?i:t=>t(i),[],La(),xt(e)?L(o):t]];return fe(h,c),{as:t=>c[0]=t}},where:(t,e,a,n)=>fe(f,Gt(t)?t:xt(t)?t=>t(!0,e,a)===n:Pt(a)?a=>a(t)===e:n=>n(t,e)===a),group:(t,e,a,n,s)=>{const o=[t,[t,Gt(e)?[e,a,n,s]:Da(ss,e)??[(t,e)=>e]]];return fe(v,o),{as:t=>o[0]=t}},having:(t,e)=>fe(b,Gt(t)?t:a=>a(t)===e),param:t=>Ne(g,t)}),w.delTable(a);const T=La(y);if(da(T))return o?.(),J;const C=La(h);Aa(C,(t,[,e])=>Ht(Da(C,e),({3:e})=>Pt(t)?0:fe(e,t)));const E=La(v),p=!da(E)||!jt(b),R=p?n[2]=e():w;if(p){const t=La();Aa(E,(e,[a,n])=>Ga(Ma(t,a,qa),[e,n]));const e=qa();Aa(T,a=>la(t,a)?0:Ga(e,a));const n=La(),s=t=>Pt(t)?void 0:ta(t),o=(e,n,s,o)=>Ht(e,([r,i,c,l])=>{Aa(n,(e,[a])=>{const n=Ma(r,e,La),i=Da(n,s),c=o?void 0:a;if(i!==c){const a=qa([[i,c]]),o=oa(n);ka(n,s,c),ya(Da(t,e),([t,e])=>{const s=os(l[t],o,n,a,e);De(l,t,Pt(Ye(s))?void 0:s)})}}),da(i)||!se(b,t=>t(t=>l[t]))?w.delRow(a,c):Pt(c)?e[2]=w.addRow(a,{...l}):w.setRow(a,c,{...l})});_(R,c,R.addRowListener(a,null,(r,i,c,l)=>{const d=[],u=[],w=La(),g=R.hasRow(a,c);let y=!g;ya(e,t=>{const[e,n,o]=l(a,c,t);fe(d,s(n)),fe(u,s(o)),y||=e}),Aa(t,t=>{const[e,,n]=l(a,c,t);(y||e)&&ka(w,t,[n])}),y&&o(Ua(n,d,void 0,([,t])=>(ha(t,c),da(t))),w,c,1),g&&o(Ua(n,u,()=>{const t=Ae();return ya(e,e=>De(t,e,R.getCell(a,c,e))),[La(),qa(),void 0,t]},([,t])=>{Ga(t,c)}),w,c)}))}const I=(t,e,n,s,o)=>{const r=t=>e.getCell(n,s,t);ce(o,e=>{const[a,,n,s,o,i]=Da(C,e),c=n?.(r,t),d=Da(o,t),u=d?.[0];c!=u&&(Ht(d,([,t,e])=>A(t,l,e)),ka(o,t,Pt(c)?void 0:[c,i,...D(i,l,1,i.addRowListener(a,c,()=>I(t,i,a,c,s)))]))}),(t=>{const e=(e,a,n)=>{const s=xt(e)?a:e,o=xt(e)?n:a;if(Pt(o))return u.getCell(d,t,e);if(s===d&&!xt(e))return u.getCell(d,t,o);const r=Da(C,s);return Pt(r)?void 0:r[5].getCell(r[0],Da(r[4],t)?.[0],o)};R.transaction(()=>se(f,t=>t(e))?Aa(T,(n,s)=>R._[5](a,t,n,s(e,t))):R.delRow(a,t))})(t)},{3:N}=Da(C,void 0),O=(t,e,n)=>{u.hasRow(d,n)?I(n,u,d,n,N):(R.delRow(a,n),ya(C,({4:t})=>Ht(Da(t,n),([,e,a])=>{A(e,l,a),ka(t,n)})))};return R.transaction(()=>{ce(u.getRowIds(d),t=>O(0,0,t)),D(u,l,0,u.addRowListener(d,null,O))}),p&&k(R,w,c),k(u,R,c),o?.(),J})))(a,o,n,()=>{Ht(n,t=>H(a,t)),N(Da(d,a)),N(Da(u,a)),ka(d,a,da(o[0])?void 0:o[0]),ka(u,a,da(o[1])?void 0:o[1]),ka(s,a,o[2]),r=!0}),t=>{throw r||(N(o[0]),N(o[1])),O(),t}),J},H=(t,[e,n,s,o])=>{Ht(T(t),([,t])=>a.delListener(t)),Ga(r,t),pa(()=>{E(t,e),C(t,[n,a.addRowListener(Mr,t,()=>la(r,t)?0:V(t),!0),s]),x(t,o)},()=>ha(r,t))},W=t=>(Ht(T(t),([,t])=>a.delListener(t)),a.delRow(Mr,t),(t=>{N(Da(d,t)),ka(d,t),ce([Da(o,t),Da(s,t)],e=>e?.delTable(t))})(t),(t=>{N(Da(u,t)),ka(u,t)})(t),p(t),O(),J),j=t=>a.getRow(Mr,t),J={setQueryDefinition:(t,e,a,n,s={})=>{const[o,r,i,c]=xt(e)?[a,n,1,s]:[e,a,0,n??{}];return V(t,[o,r,i,c]),O(),J},delQueryDefinition:W,getParamValues:j,getParamValue:(t,e)=>a.getCell(Mr,t,e),setParamValues:(t,e)=>(b(t)&&x(t,e),J),setParamValue:(t,e,n)=>(b(t)&&a.setCell(Mr,t,e,n),J),getStore:h,getQueryIds:f,forEachQuery:v,hasQuery:b,getTableId:m,forEachResultTable:t=>v(e=>L(e).hasTable(e)?t(e,t=>J.forEachResultRow(e,t)):0),addQueryIdsListener:t=>R(()=>t(J)),addParamValuesListener:(t,e)=>"p"+a.addRowListener(Mr,t,(t,a,n)=>e(J,n,j(n))),addParamValueListener:(t,e,n)=>"p"+a.addCellListener(Mr,t,e,(t,e,a,s,o)=>n(J,a,s,o)),delListener:t=>{const e=Da(i,t);if("p"==t[0])a.delListener(zt(t,1));else if(Pt(e))y(t);else{const[a,n,s]=e;Aa(n,(t,[e,a])=>e.delListener(a)),Ht(s,y),ka(i,t),y(t),l[a]--}return O(),J},destroy:()=>{ce(f(),W),I()},getListenerStats:()=>({...l,paramValues:a.getListenerStats().row-Bt(f()),paramValue:a.getListenerStats().cell})};return ke({[F]:[2,1],[F+B]:[1,1],[q]:[1,1],[G]:[1,1],[X]:[1,5],[U]:[3,2],[B]:[1,2],[z]:[3,3]},([t,e],a)=>{ce(zt(["get","has","forEach"],0,t),t=>De(J,t+P+a,(...e)=>(Da(o,e[0])??n)[t+a](...e))),De(J,$+P+a+M,(...t)=>((n,s)=>{const o=w(Qt,c),r=La(),d=()=>{const n=null==s?f():[s];ce(n,n=>{return la(r,n)?0:ka(r,n,[L(n),(s=L(n),s[$+a+M](...((t,e)=>5==e?[t[0],t[1]??void 0,t[2],t[3],t[4]]:zt(t,0,e))(t,e),(a,...n)=>t[e](J,...n),!0))]);var s}),Aa(r,(t,[e,a])=>null==s&&b(t)||t==s?0:(e.delListener(a),void ka(r,t)))};return d(),ka(i,o,[n,r,null==s?R(d):void 0]),l[n]++,o})((t=>t[0].toLowerCase()+zt(t,1))(a),t[0]))}),Ie(J)}),$r=Ba(t=>{const e=La(),a=La(),n=La(),s=La(),[o,r,i]=Qa(()=>C),[c,l,d,u,w,g,,,y,h,f,v]=Xa(t,()=>[La(),La(),La(),La()],t=>Pt(t)?void 0:t+S,o,r),b=(t,e,a)=>Ht(g(t),([n,,s])=>{if(!la(s,e)){const o=qa();if(w(t)!=T(t))Ga(o,e);else{let t=e;for(;!Pt(t)&&!la(o,t);)Ga(o,t),t=Da(n,t)}if(a)return o;ka(s,e,o)}return Da(s,e)}),m=(t,e)=>Ht(g(t),([,,t])=>ka(t,e)),T=t=>Da(e,t),C={setRelationshipDefinition:(t,o,i,c)=>(ka(e,t,i),y(t,o,(e,o)=>{const i=qa(),c=qa(),l=qa(),[d,u]=g(t);ya(o,([e,a],n)=>{Pt(e)||(Ga(c,e),Ht(Da(u,e),t=>{ha(t,n),da(t)&&ka(u,e)})),Pt(a)||(Ga(c,a),la(u,a)||ka(u,a,qa()),Ga(Da(u,a),n)),Ga(i,n),ka(d,n,a),Aa(Da(s,t),e=>{la(b(t,e),n)&&Ga(l,e)})}),e(),ya(i,e=>r(a,[t,e])),ya(c,e=>r(n,[t,e])),ya(l,e=>{m(t,e),r(s,[t,e])})},za(c)),C),delRelationshipDefinition:t=>(ka(e,t),h(t),C),getStore:c,getRelationshipIds:l,forEachRelationship:e=>d(a=>e(a,e=>t.forEachRow(w(a),e))),hasRelationship:u,getLocalTableId:w,getRemoteTableId:T,getRemoteRowId:(t,e)=>Da(g(t)?.[0],e),getLocalRowIds:(t,e)=>ua(Da(g(t)?.[1],e)),getLinkedRowIds:(t,e)=>Pt(g(t))?[e]:ua(b(t,e,!0)),addRelationshipIdsListener:f,addRemoteRowIdListener:(t,e,n)=>o(n,a,[t,e]),addLocalRowIdsListener:(t,e,a)=>o(a,n,[t,e]),addLinkedRowIdsListener:(t,e,a)=>(b(t,e),o(a,s,[t,e])),delListener:t=>(m(...i(t)??[]),C),destroy:v,getListenerStats:()=>({remoteRowId:ia(a),localRowIds:ia(n),linkedRowIds:ia(s)})};return Ie(C)}),xr="\n",Vr=/^([-0-9A-Z_a-z]{16})\n(\d+)\n(\d+)\n([\s\S]*)$/,Fr=/^[^\n]*\n[-0-9A-Z_a-z]{16}\n\d+\n\d+\n/,Hr=/[\n\r?#]/,Wr=16777216,Ur=1e3,qr=t=>{let e=0;for(let a=0;a<Bt(t);a++){const n=t.charCodeAt(a);n<128?e++:n<2048?e+=2:n>=55296&&n<=56319&&t.charCodeAt(a+1)>=56320&&t.charCodeAt(a+1)<=57343?(e+=4,a++):e+=3}return e},Gr=t=>t>Wr,Xr=m,zr="S";var Br=(t=>(t[t.Hello=0]="Hello",t[t.Subscribe=1]="Subscribe",t[t.Unsubscribe=2]="Unsubscribe",t))(Br||{});const jr=(t,e)=>{let a=!0;return n=>{a&&(a=!1,pa(()=>e?.(n),()=>t.close(ct(n.message,m+":"+va)?1013:1007,n.message)))}},Jr=t=>qt(t)&&Ot(t)&&kt(t)&&t>=0&&t<=4294967295,Qr=(t,e)=>pe(t)&&Me(t,t=>e?Qr(t,e-1):Jr(t)),Yr=(t,e)=>Xt(t)&&(1==Bt(t)||2==Bt(t)&&Ut(t[1])&&_n(t[1],1/0))&&(e?pe(t[0])&&Me(t[0],t=>Yr(t,e-1)):Ke(t[0])),Kr=t=>Xt(t)&&2==Bt(t)&&Jr(t[0])&&Jr(t[1]),Zr=(t,e,a)=>($t(t)||Ut(t))&&qt(e)&&Ot(e)&&kt(e)&&((t,e)=>0==t?(t=>Kr(t)||Yr(t,3)||Yr(t,1)||Xt(t)&&2==Bt(t)&&Yr(t[0],3)&&(Qr(t[1],0)||Qr(t[1],1)))(e):1==t?e===S:2==t?Kr(e):3==t?(t=>Xt(t)&&(2==Bt(t)||3==Bt(t)&&1===t[2])&&Yr(t[0],3)&&Yr(t[1],1))(e):4==t?Qr(e,0):5==t?Qr(e,1):6==t?Qr(e,2):7==t&&Qr(e,0))(e,a),ti=(t,e=!1)=>Sa(()=>{const a=Je(t);return Xt(a)&&3==Bt(a)&&(Zr(a[0],a[1],a[2])||e&&($t(a[0])||Ut(a[0]))&&-1==a[1])?a:void 0}),ei=(t,e)=>{const a=t.indexOf(xr);return-1!==a&&(e(zt(t,0,a),zt(t,a+1)),!0)},ai=(t,e=1,a)=>{const n=La();let s=0,o=!0;const r=(t,e)=>{Et(e[4]),s-=e[5],ha(n,t)},i=(t=ba(fa))=>{o&&(o=!1,Aa(n,(t,e)=>Et(e[4])),ga(n),s=0,a?.(t))};return a=>{o&&(Gr(qr(a))?i(ba(va,dt(a,Fr)?"fragments":"socket")):ei(a,(a,o)=>{const c=ti(o);if(c)return void t(a,[o],...c);const[,l,d,u,w]=dt(o,Vr)??[];if(l){const c=parseInt(d),g=parseInt(u);if(g>1e3)return void i(ba(va,"fragments"));if(g>0&&c>=0&&c<g){const d=a+xr+l;let u=Da(n,d);if(!u){if(oa(n)>=100)return void i(ba(va,"fragments"));u=[[],[],g,g,Ct(()=>{const t=Da(n,d);t&&r(d,t)},e),0],ka(n,d,u)}const[y,h]=u;if(g!=u[3]||!Pt(y[c]))return void i();{const t=qr(w);if(s+t>Wr)return void i(ba(va,"fragments"));y[c]=w,h[c]=o,u[2]--,u[5]+=t,s+=t}return void(0==u[2]&&(r(d,u),((e,a,n)=>{const s=ti(n);s?t(e,a,...s):i()})(a,h,le(y))))}}i()})||i())}},ni=(t,e)=>(t.bufferedAmount??0)+e>Wr,si=(t,e=1,a)=>ai((e,a,n,s,o)=>t(e,n,s,o),e,a),oi=(t,e)=>t+xr+e,ri=(t,e)=>oi("M",oi(t,e)),ii=(t,e)=>{let a=!1;return ei(t,(t,n)=>{"M"==t&&ei(n,(t,n)=>{di(t)&&(a=!0,e(t,n))})}),a},ci=(t,e,a)=>oi(zr,je([t,-1,[e,a]])),li=(t,e)=>{let a=!1;return ei(t,(t,n)=>{if(t==zr){const[t,s,o]=ti(n,!0)??[],r=o?.[0],i=o?.[1];-1==s&&Xt(o)&&2==Bt(o)&&(0==r?Ut(t)&&1==i:1==r?Ut(t)&&Ut(i)&&di(i):2==r&&$t(t)&&Ut(i)&&di(i))&&(a=!0,e(t,r,i))}}),a},di=t=>!jt(t)&&!Hr.test(t)&&se(ut(t,"/"),t=>!jt(t)&&"."!=t&&".."!=t),ui=(t,e,a,n,s,o,r,i)=>{const c=La(),l=La();let d=!1;const u=(t,e,a)=>s(ci(t,e,a)),w=t=>{ha(c,t),ha(l,t)};return[s=>{if(Gr(qr(s)))return void r(ba(va,"socket"));const g=li(s,(n,s,o)=>{const r=((n,s,o)=>{if(0==s)d=!0,u(n,s,o);else if(d&&1==s){if(!la(c,o)){const a=t+(t?"/":S)+o,[r,i]=e(a,o);return ka(c,o,r),u(n,s,o),i?i.catch(t=>{throw w(o),t}):void 0}u(n,s,o)}else if(d&&2==s){const t=Da(c,o);if(w(o),!Pt(t))return(async()=>a(t))()}})(n,s,o);r?.catch(t=>Sa(()=>i?.(t)))}),y=ii(s,(t,e)=>{const a=d?Da(c,t):void 0;Pt(a)?r(ba(fa)):Ma(l,t,()=>ai((t,e)=>n(a,t,e),o,r))(e)});g||y||r(ba(fa))},()=>Ra(()=>te(Oa(c,async t=>a(t))),()=>{ga(c),ga(l)})]},wi=(t,e,a,n,s)=>{const o=t??S,r=je([e,a,n]),i=Nt(s??0);if(Pt(s)||i<1)return[oi(o,r)];const c=((t,e)=>{const a=[];let n=S,s=0;for(let o=0;o<Bt(t);o++){const r=t.charCodeAt(o);let i=zt(t,o,o+1);r>=55296&&r<=56319&&t.charCodeAt(o+1)>=56320&&t.charCodeAt(o+1)<=57343&&(i+=zt(t,++o,o+1));const c=qr(i);s>0&&s+c>e&&(fe(a,n),n=S,s=0),n+=i,s+=c}return fe(a,n),a})(r,It(i,_t(qr(r)/1e3)+3)),l=Bt(c);if(1==l)return[oi(o,r)];const d=sn();return de(c,(t,e)=>oi(o,le([d,e,l,t],xr)))},gi={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},yi=(t,e,a,n,s,o,r,i,c={},l=Yt)=>{let d,u=0,w=0,g=0,y=!1;const h=La(),f=()=>sn(11),v=t=>Aa(h,(e,[,,a,n])=>{Et(n),ha(h,e),a(t)}),b=(t,a,n,s)=>{w++,o?.(t,a,n,s),e(t,a,n,s)},m=async(t,e,a,n)=>Zt((o,r)=>{if(oa(h)>=100)return void r(ba(va,"requests"));const i=n+C+sn(4),c=Ct(()=>{ha(h,i),r(ba(3,(t??S)+C+i+C+e))},s);ka(h,i,[t,(t,e)=>{Et(c),ha(h,i),o([t,e,n])},r,c]);try{b(t,i,e,a)}catch(t){Et(c),ha(h,i),r(t)}}),T=(t,[e,a])=>{ke(e,([e,a],n)=>{const s=qe(t[0],n,Fn);ke(e,([t,e],a)=>{const n=qe(s[0],a,Fn);ke(t,([t,e],a)=>De(n[0],a,kn(t,e))),n[1]=xn(n[1],e)}),s[1]=xn(s[1],a)}),t[1]=xn(t[1],a)},E=(e=null,a,n=f())=>Ta(async()=>{Pt(a)&&([a,e,n]=await m(null,1,S,n));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let c=Fn();if(r!=s){const[a,s]=(await m(e,4,t.getMergeableTableHashes(),n))[0];if(c=a,!We(s)){const[a,o]=(await m(e,5,t.getMergeableRowHashes(s),n))[0];if(T(c,a),!We(o)){const a=(await m(e,6,t.getMergeableCellHashes(o),n))[0];T(c,a)}}}return[c,i==o?Fn():(await m(e,7,t.getMergeableValueHashes(),n))[0],1]},i),p=vs(t,async()=>{const t=await E();return!t||We(t[0][0])&&We(t[1][0])?void 0:t},async(e,a)=>a?b(null,f(),3,a):b(null,f(),2,t.getMergeableContentHashes()),t=>d=t,()=>d=void 0,i,2,{startSync:async t=>(u=1,await p.startAutoPersisting(t)),stopSync:async()=>(u=0,await p.stopAutoPersisting(),p),destroy:async()=>(y=!0,v(ba(3,"destroyed")),l(),await p.stopSync(),n(),p),getSynchronizerStats:()=>({sends:w,receives:g}),...c},1);return a((e,a,n,s)=>{if(y)return;if(!Zr(a,n,s))return void i?.(ba(fa));const o=u||p.isAutoLoading();g++,r?.(e,a,n,s),0==n?Ht(Da(h,a),([t,a])=>$t(t)||t==e?a(s,e):0):2==n&&o?E(e,s,a??void 0).then(t=>{d?.(void 0,t)}).catch(i):3==n&&o?d?.(void 0,s):Ht(1==n&&(u||p.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,t=>{b(e,a,0,t)})},v),p},hi=(t,e,a,n,s)=>{const o=sn(),r=new BroadcastChannel(e);return yi(t,(t,e,a,n)=>r.postMessage([o,t,e,a,n]),t=>{r.onmessage=({data:e})=>{if(Xt(e)&&5==Bt(e)){const[a,n,s,r,i]=e;if(Ut(a)&&($t(n)||Ut(n))&&Zr(s,r,i))return void(($t(n)||n==o)&&t(a,s,r,i))}s?.(ba(fa))}},()=>{r.onmessage=null,r.close()},.01,a,n,s,{getChannelName:()=>e})},fi=La(),vi=(t,e,a,n)=>{const s=sn(),o=qa();return yi(t,(t,e,a,n)=>{const r=$t(t)?[]:[t];$t(t)&&Aa(fi,t=>t!=s?fe(r,t):0);const i=Ct(()=>{ha(o,i),ce(r,t=>Da(fi,t)?.(s,e,a,n))});return Ga(o,i),i},t=>{ka(fi,s,t)},()=>{ha(fi,s)},.01,e,a,n,{},()=>{ya(o,Et),ga(o)})},bi=_a(),mi=new WeakSet,Si=()=>{let t,e;const a=Zt((a,n)=>{t=a,e=n});return a.catch(()=>0),[a,t,e]},Ti=async(t,e,a=1,...n)=>Ut(a)?(async(t,e,a,n,s,o,r,i)=>{mi.has(e)&&ma(9);const c=bi.get(e),l=c??(()=>{const t=(t=>{const e=La(),a=La(),n=[];let s,o,r=Si(),i=!1,c=!1,l=!1,d=()=>{},u=!1,w=0,g=0;const y=(t,e)=>Sa(()=>t[6]?.(e)),h=t=>Aa(e,(e,a)=>y(a,t)),f=(e,a)=>{y(e,a),d(),Sa(()=>t.close())},v=jr(t,h),b=(e,a)=>fe(n,pt(t,e,a)),m=t=>Aa(a,(e,[,,n,s])=>{Et(s),ha(a,e),n(t)}),T=t=>Aa(e,(e,a)=>Sa(()=>a[11]?.(t))),C=t=>{ce(t[1],([,t])=>Et(t)),w-=Bt(t[1]),g-=t[8],he(t[1]),t[8]=0},E=(t,e=!1)=>{ce(t[2],([,t])=>Et(t)),w-=t[10],g-=t[9],he(t[2]),t[9]=0,t[10]=0,e&&(t[7]=void 0)},p=a=>{const n=ba(va,a);return u||c||(u=!0,i=!1,h(n),m(n),T(n),Aa(e,(t,e)=>{C(e),E(e,!0),e[3]=!1,e[4]=void 0}),s&&(Et(s),s=void 0),t.close(1013,n.message)),n},R=(e,n,s)=>{const o=sn();return Zt((r,i)=>{if(oa(a)>=100)return void i(p("controls"));const c=ci(o,e,n),l=qr(c);if(Gr(l)||ni(t,l))return void i(p("socket"));const d=Ct(()=>{ha(a,o),i(ba(4,e))},s);ka(a,o,[e,r,i,d]);try{t.send(c)}catch(t){Et(d),ha(a,o),i(t)}})},I=t=>we(t,(t,e)=>t+qr(e),0),L=(t,e)=>{const a=I(e);if(w+Bt(e)>Ur||g+a>Wr)return p("client"),!1;const n=[e,Ct(()=>((t,e)=>{const a=ne(t[2],e);if(a>-1){t[2]=ge(t[2],(t,e)=>e!=a);const n=zt(e[0],e[2]),s=I(n);t[9]-=s,t[10]-=Bt(n),w-=Bt(n),g-=s}})(t,n),t[5]),0];return fe(t[2],n),t[9]+=a,t[10]+=Bt(e),w+=Bt(e),g+=a,!0},_=()=>{s??=Ct(()=>{s=void 0,Aa(e,D)},.01)},N=(e,a,n,s)=>{if(t.readyState!=t.OPEN)return s?a[7]=s:L(a,n),!1;for(let o=0;o<Bt(n);o++){const r=ri(e,n[o]),i=qr(r);if(Gr(i))return p("client"),!1;if(ni(t,i)){if(s)a[7]=s;else if(!L(a,zt(n,o)))return!1;return _(),!1}try{t.send(r)}catch(t){if(s)a[7]=s;else if(!L(a,zt(n,o)))return!1;return f(a,t),!1}}return!0},D=(e,a)=>{if(!i||!a[3])return;const n=a[2];let s=0;for(;s<Bt(n);){const o=n[s],r=o[0];let i=o[2];for(;i<Bt(r);){const c=r[i],l=ri(e,c),d=qr(l);if(Gr(d))return he(n,s),void p("client");if(ni(t,d))return he(n,s),void _();try{t.send(l)}catch(t){return void f(a,t)}r[i]=S,o[2]=++i;const u=qr(c);a[9]-=u,a[10]--,g-=u,w--}Et(o[1]),s++}he(n,s);const o=a[7];o&&(a[7]=void 0,N(e,a,o(),o))},A=async(t,a,n)=>{if(!a[3]){let s=a[4];s||(s=(async()=>{await r[0],await R(Br.Subscribe,t,n),Da(e,t)===a&&i&&(a[3]=!0,D(t,a))})(),a[4]=s);try{await s}finally{a[4]===s&&(a[4]=void 0)}}},O=()=>{if(c||o?.[0]===r)return;l=!1,u=!1;const t=r,a=(async()=>{try{await R(Br.Hello,1,(()=>{let t=!0,a=1;return Aa(e,(e,n)=>{const s=n[5];(t||s<a)&&(t=!1,a=s)}),a})()),r===t&&(i=!0,t[1](),Aa(e,(t,e)=>A(t,e,e[5]).catch(t=>t.message==ba(5).message?0:y(e,t))))}catch(e){t[2](e),e.message!=ba(5).message&&h(e)}})();o=[t,a],a.finally(()=>{o?.[1]===a&&(o=void 0)})};d=()=>{if(!c&&!l){l=!0;const t=u;u=!1,i=!1;const a=ba(5);t||h(a),r[2](a),m(a),T(a),s&&(Et(s),s=void 0),r=Si(),Aa(e,(t,e)=>{e[3]=!1,e[4]=void 0})}};const M=d;b(Z,({data:t})=>{const n=t.toString(k);if(Gr(qr(n)))return void v(ba(va,"socket"));const s=li(n,(t,e,n)=>{const s=t?Da(a,t):void 0;s?.[0]==e&&(Et(s[3]),ha(a,t),s[1]())}),o=ii(n,(t,a)=>{const n=Da(e,t);n?n[0]?n[0](a):((t,e)=>{const a=qr(e);if(w>=Ur||g+a>Wr)return void p("client");const n=[e,Ct(()=>((t,e)=>{const a=ne(t[1],e);if(a>-1){t[1]=ge(t[1],(t,e)=>e!=a);const n=qr(e[0]);t[8]-=n,w--,g-=n}})(t,n),t[5])];fe(t[1],n),t[8]+=a,w++,g+=a})(n,a):v(ba(fa))});s||o||v(ba(fa))}),b(Y,O),b(K,M),b(tt,t=>{h(t),T(ba(5))});const P=()=>{if(da(e)&&!c){c=!0;const e=ba(8);m(e),s&&(Et(s),s=void 0),ce(n,t=>Sa(t)),he(n),bi.delete(t),u||Sa(()=>t.close())}},$=a=>{const n=Da(e,a);if(n)try{if(C(n),E(n,!0),i&&n[3]){const e=ci(null,Br.Unsubscribe,a),n=qr(e);Gr(n)||ni(t,n)?p("socket"):t.send(e)}}catch(t){y(n,t)}finally{ha(e,a),P()}};return{addChannel:async(a,n,s)=>{di(a)||ma(6,a),la(e,a)&&ma(7,a);const o=[void 0,[],[],!1,void 0,n,s,void 0,0,0,0,void 0];if(ka(e,a,o),t.readyState==t.OPEN)O();else if(t.readyState>t.OPEN){const t=ba(5);y(o,t),r[2](t)}try{await A(a,o,n)}catch(t){throw $(a),t}},delChannel:$,destroyIfEmpty:P,invalid:v,registerReceive:(t,a,n)=>{const s=Da(e,t);if(s){s[0]=a,s[11]=n;const t=s[1];let e=0;pa(()=>{for(;e<Bt(t);){const[n,o]=t[e];Et(o);const r=qr(n);s[8]-=r,w--,g-=r,e++,a(n)}},()=>he(t,e))}},send:(a,n,s)=>{const o=Da(e,a);o&&(i&&t.readyState==t.OPEN&&o[3]&&!Bt(o[2])&&!o[7]?N(a,o,n,s):s?o[7]=s:L(o,n))}}})(e);return bi.set(e,t),t})();try{await l.addChannel(a,n,r)}catch(t){throw c||l.destroyIfEmpty(),t}try{return yi(t,(e,n,s,o)=>l.send(a,wi(e,n,s,o,i),null!=e||2!=s&&3!=s?void 0:()=>wi(null,n,2,t.getMergeableContentHashes(),i)),(t,e)=>l.registerReceive(a,si(t,n,l.invalid),e),()=>l.delChannel(a),n,s,o,r,{getWebSocket:()=>e})}catch(t){throw l.delChannel(a),t}})(t,e,a,n[0]??1,n[1],n[2],n[3],n[4]):(async(t,e,a=1,n,s,o,r)=>{bi.has(e)&&ma(10);let i=!0,c=!1,l=()=>{};const d=t=>Sa(()=>o?.(t)),u=yi(t,(t,...a)=>{ce(wi(t,...a,r),t=>{if(c)return;const a=qr(t);Gr(a)||ni(e,a)?(()=>{if(!c){c=!0;const t=ba(va,"socket");d(t),e.close(1013,t.message)}})():e.send(t)})},(t,n)=>{const s=jr(e,d),o=si(t,a,s);let r=[];l=()=>{ce(r,t=>Sa(t)),he(r)};const c=()=>{Sa(()=>n(ba(5))),l()};r=[pt(e,Z,({data:t})=>o(t.toString(k))),pt(e,K,()=>{i||c()}),pt(e,tt,t=>{i||(d(t),c())})]},()=>{l(),e.close()},a,n,s,o,{getWebSocket:()=>e});return mi.add(e),Zt((t,a)=>{let n=()=>{};const s=(t,s=t)=>{d(s),n(),l(),mi.delete(e),Sa(()=>e.close()),a(t)};if(e.readyState!=e.OPEN){if(e.readyState>e.OPEN)return void s(ba(5));const a=[pt(e,Y,()=>{i=!1,n(),t(u)}),pt(e,tt,t=>s(ba(5),t)),pt(e,K,()=>s(ba(5)))];n=()=>{ce(a,t=>Sa(t)),he(a)}}else i=!1,t(u)})})(t,e,a,n[0],n[1],n[2],n[3]),Ci=/\/([^?]*)/,Ei="S",pi=t=>dt(new URL(t.url).pathname,Ci)?.[1]??S,Ri=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,Ii=(t,e=null,a=null)=>new Response(a,{status:t,webSocket:e}),Li=()=>Ii(426,null,"Upgrade required");class _i extends v{#t;#e=_a();constructor(t,e){super(t,e),this.ctx.blockConcurrencyWhile(async()=>await Ht(await this.createPersister(),async t=>{const e=this.getRequestTimeoutSeconds(),a=yi(t.getStore(),(t,e,a,n)=>ce(wi(t,e,a,n,this.getFragmentSize()),t=>this.#a(Ei,t)),t=>this.#t=si(t,e),Yt,e);await t.load(),await t.startAutoSave(),Ct(a.startSync)}))}fetch(t){const e=pi(t);return Ht(Ri(t),t=>{const[a,n]=Fe(new WebSocketPair);return jt(this.#n())&&this.onPathId(e,1),this.ctx.acceptWebSocket(n,[t,e]),this.onClientId(e,t,1),n.send(oi(Ei,je([null,1,S]))),Ii(101,a)},Li)}webSocketMessage(t,e){Ht(this.ctx.getTags(t)[0],a=>{let n=this.#e.get(t);n||(n=ai((e,n)=>ce(n,n=>this.#a(a,oi(e,n),t)),this.getRequestTimeoutSeconds(),jr(t,t=>this.onIgnoredError(t))),this.#e.set(t,n)),n(e.toString())})}webSocketClose(t){this.#e.delete(t);const[e,a]=this.ctx.getTags(t);this.onClientId(a,e,-1),1==Bt(this.#n())&&this.onPathId(a,-1)}#a(t,e,a){ei(e.toString(),(e,n)=>{const s=oi(t,n);this.onMessage(t,e,n),e==S?(t!=Ei&&this.#t?.(s),ce(this.#n(),t=>{t!=a&&t.send(s)})):e==Ei?this.#t?.(s):e!=t&&this.#n(e)[0]?.send(s)})}#n(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return Ht(this.#n()[0],t=>this.ctx.getTags(t)?.[1]??S)??S}getClientIds(){return de(this.#n(),t=>this.ctx.getTags(t)[0])}getFragmentSize(){}getRequestTimeoutSeconds(){return 1}onIgnoredError(t){}onPathId(t,e){}onClientId(t,e,a){}onMessage(t,e,a){}}const Ni=t=>(e,a)=>Ri(e)?a[t].get(a[t].idFromName(pi(e))).fetch(e):Li(),Di=/\/([^?]*)/,Ai=t=>{const e=La(),a=La(),n=[];let s;fe(n,Rt(t,tt,Yt));const o=(t,e,n)=>fe(Ma(a,t,()=>[[]])[0],Rt(t,e,n)),r=t=>{const e=Da(a,t);return e[2]??(e[2]=Ra(async()=>e[1]?.(),()=>{ce(e[0],t=>Sa(t)),ha(a,t)}))},i=(t,e)=>{const a=qr(e);Gr(a)||ni(t,a)?(t=>{if(t.readyState==t.OPEN){const e=ba(va,"socket");t.close(1013,e.message)}})(t):t.readyState==t.OPEN&&t.send(e)},c=([t,e],a)=>i(t,Pt(e)?a:ri(e,a)),l=(t,a,n,s)=>ce(s,s=>((t,a,n)=>ei(n,(n,s)=>{const o=Da(e,t),r=oi(a,s);n===S?Aa(o,(t,e)=>t!==a?c(e,r):0):Ht(Da(o,n),t=>c(t,r))}))(t,a,oi(n,s))),d=(t,a,n)=>ka(Ma(e,t,La),a,n),u=(t,a)=>{const n=Da(e,t);la(n,a)&&(ha(n,a),da(n)&&ha(e,t))},w=Rt(t,at,(t,e)=>{ka(a,t,[[]]),o(t,tt,Yt),o(t,K,()=>r(t).catch(Yt)),Ht(dt(e.url,Di),([,n])=>Ht(e.headers["sec-websocket-key"],e=>t.protocol==Xr?((t,e,n)=>{const s=jr(t),[r,c]=ui(n,(a,n)=>(d(a,e,[t,n]),[a]),t=>u(t,e),(t,a,n)=>l(t,e,a,n),e=>i(t,e),1,s);o(t,Z,t=>r(t.toString(k))),Da(a,t)[1]=c})(t,e,n):((t,e,n)=>{d(n,e,[t]);const s=ai((t,a)=>l(n,e,t,a),1,jr(t));o(t,Z,t=>s(t.toString(k))),Da(a,t)[1]=()=>u(n,e)})(t,e,n)))});fe(n,w);const g=async()=>{let e,n=!1;const s=async t=>{try{await t()}catch(t){n||(e=t),n=!0}};if(await te([s(()=>Zt((e,a)=>t.close(t=>Pt(t)?e():a(t)))),...de(Na(a),t=>s(()=>(t=>{const e=Da(a,t),n=()=>e[2]??r(t);return t.readyState==t.CLOSED?n():Ra(()=>Zt((e,a)=>{const n=Rt(t,K,()=>{n(),e()});try{t.close()}catch(t){n(),a(t)}}),n)})(t)))]),n)throw e};return Ie({getWebSocketServer:()=>t,destroy:()=>(s||(Sa(w),s=Ra(g,()=>{ce(n,t=>Sa(t)),Aa(a,(t,[e])=>ce(e,t=>Sa(t))),ga(e),ga(a)})),s)})},Oi=/\/([^?]*)/,ki=(t,e,a,n=1,s)=>{const o=La(),r=La(),i=La(),c=qa(),l=[],d=La();let u;const w=t=>{Sa(()=>a?.(t))};fe(l,Rt(t,tt,w));const[g,,y,,h]=Qa(()=>D),f=(...t)=>{Ea(()=>h(...t),w)},v=(t,e,a)=>fe(Ma(d,t,()=>[]),Rt(t,e,a)),b=(t,e)=>{if(t.readyState==t.OPEN){const a=ba(va,e);pa(()=>w(a),()=>t.close(1013,a.message))}},m=([t,e],a)=>{const n=Pt(e)?a:ri(e,a),s=qr(n);Gr(s)||ni(t,s)?b(t,"socket"):t.readyState==t.OPEN&&t.send(n)},T=t=>{t[7]&&(Et(t[7]),t[7]=void 0),t[4]=[],t[6]=0},C=(t,e)=>{t[4]=ge(t[4],([t])=>t!=e),t[6]=we(t[4],(t,[,e])=>t+qr(e),0),Bt(t[4])||T(t)},E=(t,e,a)=>{const n=t[0],s=t[1];ei(a,(t,a)=>{const o=oi(e,a);t===S?(e!==zr&&s?.[3]?.(o),Aa(n,(t,a)=>t!==e?m(a,o):0)):t===zr?s?.[3]?.(o):Ht(Da(n,t),t=>m(t,o))})},p=(t,e,a,s)=>ce(s,s=>((t,e,a)=>{const s=t[1];!t[4]&&la(t[0],e)&&1==s[0]?E(t,e,a):!t[4]&&la(t[0],e)&&((t,e,a)=>{const s=t[1],o=s[4],r=((t,e)=>{let a;return ei(e,(e,n)=>{2==ti(n)?.[1]&&(a=t+xr+e)}),a})(e,a),i=r?(c=([,,t])=>t==r,o.findIndex(c)):-1;var c;const l=i>-1?qr(o[i][1]):0,d=qr(a);if(i<0&&Bt(o)>=Ur||s[6]+d-l>Wr)return C(s,e),void Ht(Da(t[0],e),([t])=>b(t,"server"));const u=[e,a,r];i>-1?o[i]=u:fe(o,u),s[6]+=d-l,s[7]??=Ct(()=>(t=>{const e=t[1],a=qa();ce(e[4],([e])=>Ht(Da(t[0],e),([t])=>Ga(a,t))),T(e),ce(ua(a),t=>b(t,"server"))})(t),10*n)})(t,e,a)})(t,e,oi(a,s))),R=(t,e)=>(e[4]||(e[4]=(async()=>{let a,n=!1;if(await Ta(()=>e[2]),await Ta(()=>e[3]),T(e[1]),await Ta(()=>(async t=>{let e,a=!1;const n=t=>{a||(e=t),a=!0};if(await Ta(()=>t[1]?.destroy(),n),await Ta(()=>t[2]?.destroy(),n),a)throw e})(e[1]),t=>{a=t,n=!0}),ga(e[0]),Da(i,t)===e&&(ha(i,t),f(o,void 0,t,-1)),n)throw a})()),e[4]),I=async(t,e,a)=>{const n=e[0];la(n,a)&&(C(e[1],a),ha(n,a),f(r,[t],a,-1),da(n)&&await R(t,e))},L=(t,a,c)=>{const l=Da(i,t),d=!l||l[4]?((t,a)=>{const r=[La(),[0,void 0,void 0,void 0,[],void 0,0]];return ka(i,t,r),a||f(o,void 0,t,1),r[2]=(async(t,a)=>{const o=t[1],r=await(e?.(a));Pt(r)?o[0]=1:(o[0]=2,o[1]=Xt(r)?r[0]:r,o[2]=yi(o[1].getStore(),(e,a,n,o)=>ce(wi(e,a,n,o,s),e=>E(t,zr,e)),t=>{o[3]=si(t,n)},Yt,n,void 0,void 0,w),o[5]=Xt(r)?r[1]:t=>0)})(r,t),r})(t,!!l):l;return ka(d[0],a,c),f(r,[t],a,1),[d,(async()=>{let e,n=!1;if(await Ta(async()=>{await d[2],la(d[0],a)&&!d[4]&&await(t=>{const e=t[1];return t[3]||(t[3]=(async()=>{2==e[0]&&await(async t=>{t[0]=3,await t[1].startAutoLoad(),await t[1].startAutoSave(),await t[2].startSync(),t[5](t[1].getStore()),t[0]=1})(e);const a=e[4];T(e),ce(a,([e,a])=>E(t,e,a))})()),t[3]})(d)},t=>{e=t,n=!0}),n)throw await Ta(()=>I(t,d,a),w),e})()]},_=Rt(t,at,(t,e)=>{Ga(c,t),v(t,tt,w),u?t.close():Ht(dt(e.url,Oi),([,a])=>Ht(e.headers["sec-websocket-key"],e=>{t.protocol==Xr?((t,e,a)=>{const s=jr(t,w),[o,r]=ui(a,(a,n)=>{const[s,o]=L(a,e,[t,n]);return[[a,s],o]},([t,a])=>I(t,a,e),([,t],a,n)=>p(t,e,a,n),e=>{const a=qr(e);Gr(a)||ni(t,a)?b(t,"socket"):t.readyState==t.OPEN&&t.send(e)},n,s,w);v(t,Z,t=>o(t.toString(k))),v(t,K,()=>r().catch(w))})(t,e,a):(async(t,e,a)=>{const[s,o]=L(a,e,[t]),r=ai((t,a)=>p(s,e,t,a),n,jr(t,w));v(t,Z,t=>r(t.toString(k))),v(t,K,()=>I(a,s,e).catch(w)),await o})(t,e,a).catch(w)})),v(t,K,()=>{var e;ha(c,t),Ht(Da(d,e=t),t=>ce(t,t=>t())),ha(d,e)})});fe(l,_);const N=async()=>{const e=async t=>{let e=[!1,void 0];return await Ta(t,t=>e=[!0,t]),e},a=await te([e(()=>Zt((e,a)=>t.close(t=>t?a(t):e()))),...de(ua(c),t=>e(()=>(async t=>{t.readyState!=t.CLOSED&&await Zt((e,a)=>{const n=Rt(t,K,()=>{n(),e()});try{t.close()}catch(t){n(),a(t)}})})(t)))]),n=ye(a,([t])=>t);if(n)throw n[1]},D={getWebSocketServer:()=>t,getPathIds:()=>Na(i),getClientIds:t=>Na(Da(i,t)?.[0]),addPathIdsListener:t=>g(t,o),addClientIdsListener:(t,e)=>g(e,r,[t]),delListener:t=>(y(t),D),getStats:()=>({paths:oa(i),clients:we(Oa(i,t=>oa(t[0])),(t,e)=>t+e,0)}),destroy:()=>(u||(u=(async()=>{Sa(_);let t=[!1,void 0];const e=Ta(N,e=>t=[!0,e]),a=await te(Oa(i,async(t,e)=>{let a=[!1,void 0];return await Ta(()=>R(e,t),t=>a=[!0,t]),a}));await e,ce(l,t=>Sa(t)),Aa(d,(t,e)=>ce(e,t=>Sa(t))),ga(d),ga(i),ga(c);const n=t[0]?t:ye(a,([t])=>t);if(n)throw n[1]})()),u)};return Ie(D)};export{gi as Message,gs as Persists,ws as Status,wr as TinyBasePartyKitServer,_i as WsServerDurableObject,cn as addOrRemoveHash,cr as broadcastChanges,Do as createAutomergePersister,hi as createBroadcastChannelSynchronizer,Ka as createCheckpoints,Po as createCrSqliteWasmPersister,vs as createCustomPersister,bo as createCustomPostgreSqlPersister,mo as createCustomSqlitePersister,yi as createCustomSynchronizer,xo as createDurableObjectSqlStoragePersister,Uo as createDurableObjectStoragePersister,qo as createElectricSqlPersister,Go as createExpoSqlitePersister,Xo as createFilePersister,Jo as createIndexedDbPersister,An as createIndexes,Qo as createLibSqlPersister,Oo as createLocalPersister,vi as createLocalSynchronizer,ns as createMergeableStore,rs as createMetrics,us as createMiddleware,Mo as createOpfsPersister,er as createPartyKitPersister,gr as createPglitePersister,yr as createPostgresPersister,hr as createPowerSyncPersister,Pr as createQueries,vr as createReactNativeMmkvPersister,br as createReactNativeSqlitePersister,$r as createRelationships,Cr as createRemotePersister,ko as createSessionPersister,Rr as createSqlite3Persister,Er as createSqliteBunPersister,pr as createSqliteWasmPersister,Kn as createStore,ki as createWsServer,Ai as createWsServerSimple,Ti as createWsSynchronizer,kr as createYjsPersister,Dn as defaultSorter,wn as getCellHash,gn as getCellInRowHash,rn as getHash,Nn as getHlcFunctions,yn as getRowHash,hn as getRowInTableHash,fn as getTableHash,vn as getTableInTablesHash,bn as getTablesHash,sn as getUniqueId,un as getValueHash,dn as getValueInValuesHash,ln as getValuesHash,Ni as getWsServerDurableObjectFetch,rr as hasStoreInStorage,ir as loadStoreFromStorage};
1
+ import{addDatabaseChangeListener as t}from"expo-sqlite";import{unwatchFile as e,existsSync as a,writeFileSync as n,watchFile as s}from"fs";import{readlink as o,writeFile as r,chmod as i,rename as c,readFile as l,lstat as d,realpath as u,stat as w,unlink as g}from"fs/promises";import{resolve as y,dirname as h}from"path";import{Map as f}from"yjs";import{DurableObject as v}from"cloudflare:workers";const b=t=>typeof t,m="tinybase",S="",T=",",C=".",E=b(S),p=b(!0),R=b(0),I=b(b),L="object",_="array",N="true",D="type",A="default",O="allowNull",k="utf8",M="Listener",P="Result",$="add",x="Has",V="Ids",F="Table",H=F+"s",W=F+V,U="Row",q=U+"Count",G=U+V,X="Sorted"+U+V,z="Cell",B=z+V,j="Value",J=j+"s",Q=j+V,Y="open",K="close",Z="message",tt="error",et="change",at="connection",nt="storage",st="required",ot="t",rt="v",it=t=>S+t,ct=(t,e)=>t.startsWith(e),lt=(t,e)=>t.endsWith(e),dt=(t,e)=>t?.match(e),ut=(t,e=S,a)=>t.split(e,a),wt=(t,e,a)=>t.replace(e,a),gt=Promise,yt=Math,ht=t=>(e,a,n)=>t(e)?n?.():a(e),ft=globalThis,vt=ft.window,bt=Number,mt=String,St=(t,e,a)=>setInterval(t,1e3*e),Tt=t=>clearInterval(t),Ct=(t,e=0)=>setTimeout(t,1e3*e),Et=t=>clearTimeout(t),pt=(t,e,a)=>(t.addEventListener(e,a),()=>t.removeEventListener(e,a)),Rt=(t,e,a)=>(t.on(e,a),()=>t.off(e,a)),It=yt.max,Lt=yt.min,_t=yt.ceil,Nt=yt.floor,Dt=yt.random,At=1/0,Ot=isFinite,kt=bt.isInteger,Mt=t=>null==t,Pt=t=>void 0===t,$t=t=>null===t,xt=t=>!0===t,Vt=t=>!1===t,Ft=ht(Mt),Ht=ht(Pt),Wt=t=>t==E||t==p,Ut=t=>b(t)==E,qt=t=>b(t)==R,Gt=t=>b(t)==I,Xt=t=>Array.isArray(t),zt=(t,e,a)=>t.slice(e,a),Bt=t=>t.length,jt=t=>0==Bt(t),Jt=(t,e)=>t.test(e),Qt=()=>{},Yt=()=>{},Kt=t=>t,Zt=t=>new gt(t),te=async t=>gt.all(t),ee=ft.structuredClone,ae=(t,e)=>t.includes(e),ne=(t,e)=>t.indexOf(e),se=(t,e)=>t.every(e),oe=(t,e)=>Bt(t)===Bt(e)&&se(t,(t,a)=>e[a]===t),re=(t,e)=>se(t,(a,n)=>0==n||e(t[n-1],a)<=0),ie=(t,e)=>t.sort(e),ce=(t,e)=>t.forEach(e),le=(t,e=S)=>t.join(e),de=(t,e)=>t.map(e),ue=t=>we(t,(t,e)=>t+e,0),we=(t,e,a)=>t.reduce(e,a),ge=(t,e)=>t.filter(e),ye=(t,e)=>t.find(e),he=(t,e=Bt(t))=>t.splice(0,e),fe=(t,...e)=>t.push(...e),ve=t=>t.pop(),be=(t,...e)=>t.unshift(...e),me=t=>t.shift(),Se=Object,Te=t=>Se.getPrototypeOf(t),Ce=Se.isFrozen,Ee=Se.entries,pe=t=>!Mt(t)&&Ft(Te(t),t=>t==Se.prototype||Mt(Te(t)),()=>!0),Re=Se.keys,Ie=Se.freeze,Le=(...t)=>Se.assign(Se.create(null),...t),_e=(t,e)=>Se.hasOwn(t,e),Ne=(t,e)=>Ht(t,t=>Ht(Se.getOwnPropertyDescriptor(t,e),()=>t[e])),De=(t,e,a)=>(Se.defineProperty(t,e,{configurable:!0,enumerable:!0,value:a,writable:!0}),a),Ae=(t=[])=>{const e=Se.create(null);return ce(t,([t,a])=>De(e,t,a)),e},Oe=(t,e)=>(delete t[e],t),ke=(t,e)=>ce(Re(t),a=>e(t[a],a)),Me=(t,e)=>{for(const a in t)if(_e(t,a)&&!e(t[a],a))return!1;return!0},Pe=(t,e)=>de(Ee(t),([t,a])=>e(a,t)),$e=(t,e)=>{const a=Ae();return ke(t,(t,n)=>De(a,n,e(t,n))),a},xe=(t,e)=>$e(t,t=>$e(t,e)),Ve=(t,e)=>$e(t,t=>xe(t,e)),Fe=t=>Se.values(t),He=t=>Bt(Re(t)),We=t=>pe(t)&&0==He(t),Ue=(t,e,a=(t,e)=>t===e)=>He(t)===He(e)&&Me(t,(t,n)=>!!_e(e,n)&&(pe(t)?!!pe(e[n])&&Ue(e[n],t,a):a(t,e[n]))),qe=(t,e,a)=>(_e(t,e)||De(t,e,a()),t[e]),Ge=(t,e,a)=>Mt(t)||!pe(t)||We(t)||Ce(t)?(a?.(),!1):(ke(t,(a,n)=>{e(a,n)||Oe(t,n)}),!We(t)),Xe=JSON.stringify,ze=JSON.parse,Be=t=>Xe(t,(t,e)=>e instanceof Map?Ae([...e]):e),je=t=>Xe(t,(t,e)=>Pt(e)?"":e),Je=t=>Qe(ze(t)),Qe=t=>""===t?void 0:Xt(t)?de(t,Qe):pe(t)?$e(t,Qe):t,Ye=t=>{if($t(t))return"null";if(Xt(t))return _;if(pe(t))return L;const e=b(t);return Wt(e)||e==R&&Ot(t)?e:void 0},Ke=t=>Pt(t)||!Pt(Ye(t)),Ze=t=>t==L||t==_,ta=t=>pe(t)||Xt(t)?"�"+Xe(t):t,ea=t=>Ut(t)&&"�"==t[0],aa=(t,e=0)=>""===t||!e&&ea(t),na=(t,e,a)=>!a&&ea(t)?ze(zt(t,1)):t,sa=t=>e=>{let a=0;for(const n of e.values())a+=t(n);return a},oa=t=>t?.size??0,ra=sa(oa),ia=sa(ra),ca=sa(ia),la=(t,e)=>t?.has(e)??!1,da=t=>Pt(t)||0==oa(t),ua=t=>[...t?.values()??[]],wa=(t,e)=>{for(const[a,n]of t?.entries()??[])if(!e(n,a))return!1;return!0},ga=t=>t.clear(),ya=(t,e)=>t?.forEach(e),ha=(t,e)=>t?.delete(e),fa=14,va=15,ba=(t,e)=>Error(m+":"+t+(Pt(e)?S:":"+e)),ma=(t,e)=>{throw ba(t,e)},Sa=(t,e)=>{try{return t()}catch{return e}},Ta=async(t,e)=>{try{return await t()}catch(t){e?.(t)}},Ca=(t,e)=>Ta(t,t=>{Ta(()=>e?.(t))}),Ea=(t,e)=>{try{return t()}catch(t){e?.(t)}},pa=(t,e)=>{try{return t()}finally{e()}},Ra=async(t,e)=>{try{return await t()}finally{await e()}},Ia=Map,La=t=>new Ia(t),_a=()=>new WeakMap,Na=t=>[...t?.keys()??[]],Da=(t,e)=>t?.get(e),Aa=(t,e)=>ya(t,(t,a)=>e(a,t)),Oa=(t,e)=>{const a=[];return Aa(t,(t,n)=>fe(a,e(n,t))),a},ka=(t,e,a)=>Pt(a)?(ha(t,e),t):t?.set(e,a),Ma=(t,e,a,n)=>{let s=Da(t,e);return la(t,e)?n?.(s):ka(t,e,s=a()),s},Pa=(t,e,a,n=ka)=>(ke(e,(e,n)=>a(t,n,e)),Aa(t,a=>_e(e,a)?0:n(t,a)),t),$a=(t,e,a,n)=>{const s=Ae();return ya(t,(t,o)=>{if(!a?.(t,o)){const a=e?e(t,o):t;n?.(a)||De(s,o,a)}}),s},xa=(t,e,a)=>$a(t,t=>$a(t,e,a),da,We),Va=(t,e,a)=>$a(t,t=>xa(t,e,a),da,We),Fa=(t,e)=>{const a=La();return ya(t,(t,n)=>a.set(n,e?.(t)??t)),a},Ha=t=>Fa(t,Fa),Wa=t=>Fa(t,Ha),Ua=(t,e,a,n,s=0)=>Ht((a?Ma:Da)(t,e[s],s>Bt(e)-2?a:La),o=>{if(s>Bt(e)-2)return n?.(o)&&ka(t,e[s]),o;const r=Ua(o,e,a,n,s+1);return da(o)&&ka(t,e[s]),r}),qa=t=>new Set(Xt(t)||Pt(t)?t:[t]),Ga=(t,e)=>t?.add(e),Xa=(t,e,a,n,s)=>{const o=t.hasRow,r=La(),i=La(),c=La(),l=La(),d=La(),u=La(),w=e=>Ht(Da(u,e),a=>{ya(a,e=>{t.delListener(e),ha(a,e)}),ka(u,e)}),g=(t,a)=>{ka(r,t,a),la(i,t)||(ka(i,t,e()),ka(l,t,La()),ka(d,t,La()),Ea(()=>s(c),e=>{throw ka(r,t),ka(i,t),ka(l,t),ka(d,t),e}))},y=t=>{ka(r,t),ka(i,t),ka(l,t),ka(d,t),w(t),s(c)};return[()=>t,()=>Na(r),t=>Aa(i,t),t=>la(i,t),t=>Da(r,t),t=>Da(i,t),(t,e)=>ka(i,t,e),g,(e,n,s,r,i)=>{g(e,n);const c=La(),y=La(),h=Da(l,e),f=Da(d,e),v=e=>{const s=a=>t.getCell(n,e,a),l=Da(h,e),d=o(n,e)?a(r(s,e)):void 0;if(l===d||Xt(l)&&Xt(d)&&oe(l,d)||ka(c,e,[l,d]),!Pt(i)){const t=Da(f,e),a=o(n,e)?i(s,e):void 0;(u=t)===(w=a)||(pe(u)||Xt(u))&&Xe(u)===Xe(w)||ka(y,e,a)}var u,w},b=t=>{s(()=>{ya(c,([,t],e)=>ka(h,e,t)),ya(y,(t,e)=>ka(f,e,t))},c,y,h,f,t),ga(c),ga(y)};Aa(h,v),t.hasTable(n)&&ce(t.getRowIds(n),t=>{la(h,t)||v(t)}),b(!0),w(e),((t,...e)=>{const a=Ma(u,t,qa);ce(e,t=>Ga(a,t))})(e,t.addRowListener(n,null,(t,e,a)=>v(a)),t.addTableListener(n,()=>b()))},y,t=>n(t,c),()=>Aa(u,y)]},za=(t,e)=>Ut(t)?e=>e(t):t??(()=>e??S),Ba=(t,e)=>{const a=_a();return n=>{if(!a.has(n)){const e=t(n,()=>a.get(n)===e&&(a.delete(n),!0));a.set(n,e)}const s=a.get(n);return e?.(s),s}},ja=/^\d+$/,Ja=()=>{const t=[];let e=0;return[a=>(a?me(t):null)??S+e++,e=>{Jt(ja,e)&&Bt(t)<1e3&&fe(t,e)}]},Qa=t=>{let e;const[a,n]=Ja(),s=La(),o=(t,a,n,o)=>{let r,i=!1;if(ce(((t,e=[S])=>{const a=[],n=(t,s)=>s==Bt(e)?fe(a,t):$t(e[s])?ya(t,t=>n(t,s+1)):ce([e[s],null],e=>n(Da(t,e),s+1));return n(t,0),a})(a,n),a=>ya(a,a=>{const c=()=>Da(s,a)[0](e,...n??[],...o);t?Ea(c,t=>{i||(r=t),i=!0}):c()})),i)throw r};return[(n,o,r,i=[],c=()=>[])=>{e??=t();const l=a(1);return ka(s,l,[n,o,r,i,c]),Ga(Ua(o,r??[S],qa),l),l},(t,e,...a)=>o(!1,t,e,a),t=>Ht(Da(s,t),([,e,a])=>(Ua(e,a??[S],void 0,e=>(ha(e,t),da(e)?1:0)),ka(s,t),n(t),a)),t=>Ht(Da(s,t),([t,,a=[],n,s])=>{const o=(...r)=>{const i=Bt(r);i==Bt(a)?t(e,...r,...s(r)):$t(a[i])?ce(n[i]?.(...r)??[],t=>o(...r,t)):o(...r,a[i])};o()}),(t,e,...a)=>o(!0,t,e,a)]},Ya=(t,e)=>t===e||!Pt(t)&&!Pt(e)&&ta(t)===ta(e),Ka=Ba(t=>{let e,a,n,s=100,o=La(),r=La(),i=1,c=0;const l=La(),d=La(),[u,w,g]=Qa(()=>M),y=La(),h=La(),f=[],v=[],b=(e,a)=>{i=0,pa(()=>t.transaction(()=>{const[n,s]=Da(y,a);ya(n,(a,n)=>ya(a,(a,s)=>ya(a,(a,o)=>t._[5](n,s,o,a[e],!0)))),ya(s,(a,n)=>t._[6](n,a[e],!0))}),()=>i=1)},m=t=>{ka(y,t),ka(h,t),w(d,[t])},T=(t,e)=>ce(he(t,e??Bt(t)),m),C=()=>T(f,Bt(f)-s),E=()=>Ht(e,()=>{fe(f,e),C(),T(v),e=void 0,n=1}),p=()=>{e=ve(f),n=1};let R,I;const L=(t=S)=>(Pt(e)&&(e=S+a++,ka(y,e,[o,r]),O(e,t),o=La(),r=La(),n=1),e),_=()=>{jt(f)||(be(v,L()),b(0,e),e=ve(f),n=1)},N=()=>{jt(v)||(fe(f,e),e=me(v),b(1,e),n=1)},D=()=>{n&&(w(l),n=0)},A=t=>{const e=L(t);return D(),e},O=(t,e)=>(k(t)&&Da(h,t)!==e&&(ka(h,t,e),w(d,[t])),M),k=t=>la(y,t),M={setSize:t=>(s=t,C(),M),addCheckpoint:A,setCheckpoint:O,getStore:()=>t,getCheckpointIds:()=>[[...f],e,[...v]],forEachCheckpoint:t=>Aa(h,t),hasCheckpoint:k,getCheckpoint:t=>Da(h,t),goBackward:()=>(_(),D(),M),goForward:()=>(N(),D(),M),goTo:t=>{const a=ae(f,t)?_:ae(v,t)?N:void 0;for(;!Pt(a)&&t!=e;)a();return D(),M},addCheckpointIdsListener:t=>u(t,l),addCheckpointListener:(t,e)=>u(e,d,[t]),delListener:t=>(g(t),M),clear:()=>(T(f),T(v),Pt(e)||m(e),e=void 0,a=0,A(),M),clearForward:()=>(jt(v)||(T(v),w(l)),M),destroy:()=>{c&&(c=0,t.delListener(R),t.delListener(I))},getListenerStats:()=>({checkpointIds:ra(l),checkpoint:ra(d)}),_registerListeners:()=>{c||(c=1,R=t.addCellListener(null,null,null,(t,e,a,n,s,r)=>{if(i){E();const t=Ma(o,e,La),i=Ma(t,a,La),c=Ma(i,n,()=>[r,void 0]);c[1]=s,Ya(c[0],s)&&da(ka(i,n))&&da(ka(t,a))&&da(ka(o,e))&&p(),D()}}),I=t.addValueListener(null,(t,e,a,n)=>{if(i){E();const t=Ma(r,e,()=>[n,void 0]);t[1]=a,Ya(t[0],a)&&da(ka(r,e))&&p(),D()}}))}};return Ie(M.clear())},t=>t._registerListeners()),Za=ut("-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"),tn=La(de(Za,(t,e)=>[t,e])),en=t=>Za[63&t],an=(t,e)=>Da(tn,t[e])??0,nn=ft.crypto?t=>ft.crypto.getRandomValues(t):t=>de(t,()=>Nt(256*Dt())),sn=(t=16)=>we(nn(new Uint8Array(t)),(t,e)=>t+en(e),S),on=new ft.TextEncoder,rn=t=>{let e=2166136261;return ce(on.encode(t),t=>{e^=t,e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24)}),e>>>0},cn=(t,e)=>(t^e)>>>0,ln=t=>we(Ee(t),(t,[e,a])=>cn(t,dn(e,a)^dn(e,0)),0),dn=(t,e)=>rn(t+":"+e),un=(t,e)=>rn(Be(t??null)+":"+e),wn=un,gn=dn,yn=ln,hn=dn,fn=t=>we(Ee(t),(t,[e,a])=>cn(t,dn(e,a)),0),vn=dn,bn=fn,mn=3e5,Sn=2**36,Tn=2**30,Cn=2**24,En=2**18,pn=4096,Rn=/^[-0-9A-Z_a-z]{16}$/,In=t=>{const e=rn(t);return en(e/Cn)+en(e/En)+en(e/pn)+en(e/64)+en(e)},Ln=t=>an(t,0)*Sn+an(t,1)*Tn+an(t,2)*Cn+an(t,3)*En+an(t,4)*pn+64*an(t,5)+an(t,6),_n=(t,e)=>t==S||Ut(t)&&Jt(Rn,t)&&Ln(t)<=e,Nn=(t,e=Date.now)=>{let a=0,n=-1;const s=Ht(t,In,()=>sn(5)),o=t=>{const s=e();if(!Pt(t)&&!_n(t,s+mn))return;const o=a,[r,c]=Pt(t)||t==S?[0,0]:i(t);a=It(o,r,s),n=a==o?a==r?It(n,c):n:a==r?c:-1},r=(t,e,a)=>en(t/Sn)+en(t/Tn)+en(t/Cn)+en(t/En)+en(t/pn)+en(t/64)+en(t)+en(e/En)+en(e/pn)+en(e/64)+en(e)+(Pt(a)?s:In(a)),i=t=>[Ln(t),an(t,7)*En+an(t,8)*pn+64*an(t,9)+an(t,10),zt(t,11)];return[()=>(o(),++n==Cn&&(a++,n=0),r(a,n)),o,r,i,()=>a,()=>n,()=>s]},Dn=(t,e)=>(t??0)<(e??0)?-1:1,An=Ba(t=>{const e=La(),a=La(),n=La(),s=La(),[o,r,i]=Qa(()=>T),[c,l,d,u,w,g,y,,h,f,v,b]=Xa(t,La,t=>Pt(t)?S:Xt(t)?de(t,it):it(t),o,r),m=(e,a,n)=>{const s=w(e);ya(n,(e,n)=>a(n,a=>ya(e,e=>a(e,a=>t.forEachCell(s,e,a)))))},T={setIndexDefinition:(t,o,i,c,l,d=Dn)=>{const w=u(t),f=za(i),v=Pt(l)?void 0:([t],[e])=>l(t,e);return h(t,o,(e,o,i,l,u,w)=>{let h=0;const f=qa(),b=La(),m=qa(),S=g(t),T=t=>{la(b,t)||ka(b,t,la(S,t))};if(ya(o,([t,e],a)=>{const n=qa(t),s=qa(e);ya(n,t=>ha(s,t)?ha(n,t):0),ya(n,t=>{T(t),Ga(f,t),Ht(Da(S,t),e=>{ha(e,a),da(e)&&(ka(S,t),h=1)})}),ya(s,t=>{T(t),Ga(f,t),la(S,t)||(ka(S,t,qa()),h=1),Ga(Da(S,t),a),Pt(c)||Ga(m,t)})}),e(),da(u)||(w?Aa(S,t=>Ga(m,t)):Aa(i,t=>Ht(Da(l,t),t=>ce(Xt(t)?t:[t],t=>Ga(m,t)))),ya(m,t=>{const e=(e,a)=>d(Da(u,e),Da(u,a),t),a=[...Da(S,t)];re(a,e)||(ka(S,t,qa(ie(a,e))),Ga(f,t))})),(h||w)&&!Pt(v)){const e=[...S];re(e,v)||(y(t,La(ie(e,v))),h=1)}h&&r(a,[t]),Aa(b,(e,a)=>{const s=la(S,e);a!=s&&r(n,[t,e],s)}),ya(f,e=>r(s,[t,e]))},(t,e)=>{const a=f(t,e);return Ut(i)&&!Pt(a)?ta(a):a},Ht(c,za)),w||r(e,[t],!0),T},delIndexDefinition:t=>{const o=g(t),i=u(t),c=i?Na(o):[];return f(t),i&&(r(e,[t],!1),jt(c)||(r(a,[t]),ce(c,e=>{r(n,[t,e],!1),r(s,[t,e])}))),T},getStore:c,getIndexIds:l,forEachIndex:t=>d((e,a)=>t(e,t=>m(e,t,a))),forEachSlice:(t,e)=>m(t,e,g(t)),hasIndex:u,hasSlice:(t,e)=>la(g(t),e),getTableId:w,getSliceIds:t=>Na(g(t)),getSliceRowIds:(t,e)=>ua(Da(g(t),e)),addIndexIdsListener:v,addHasIndexListener:(t,a)=>o(a,e,[t]),addSliceIdsListener:(t,e)=>o(e,a,[t]),addHasSliceListener:(t,e,a)=>o(a,n,[t,e]),addSliceRowIdsListener:(t,e,a)=>o(a,s,[t,e]),delListener:t=>(i(t),T),destroy:b,getListenerStats:()=>({sliceIds:ra(a),sliceRowIds:ia(s)})};return Ie(T)}),On=([t,e])=>kn(t,e),kn=(t,e)=>e?[t,e]:[t],Mn=(t,e,a)=>[t,e,a],Pn=t=>t[2],$n=(t,e)=>e>t?(t?rn(t):0)^rn(e):0,xn=(t,e)=>((t??S)>(e??S)?t:e)??S,Vn=(t,e,a)=>{e>t[1]&&(t[1]=e),t[2]=a>>>0},Fn=(t=S)=>kn(Ae(),t),Hn=(t=S)=>[La(),t,0],Wn=([t,e,a],n)=>[$a(t,n),e,a],Un=([t,e],a=On)=>kn($a(t,a),e),qn=t=>[t,t],Gn=(t,e=ra)=>e(t[0])+e(t[1]),Xn=()=>[La(),La()],zn=t=>[...t],Bn=([t,e])=>t===e,jn=t=>Xt(t)?de(t,jn):pe(t)?$e(t,jn):t,Jn=t=>$e(t,(t,e)=>e==A?na(t):t),Qn=(t,e,a)=>ka(t,e,Da(t,e)==-a?void 0:a),Yn=([t,e],[a,n])=>Ue(t,a)&&Ue(e,n),Kn=()=>{let t,e,a,n,s=!1,o=!1,r=0,i=0,c=[],l=[],d=0,u=0;const w=La(),g=La(),y=La(),h=La(),f=La(),v=La(),b=La(),m=La(),S=La(),T=qa(),C=La(),E=La(),p=La(),I=La(),L=La(),_=La(),N=qa(),k=qa(),P=La(),V=La(),X=La(),Y=La(),K=Xn(),Z=Xn(),tt=Xn(),et=Xn(),at=Xn(),nt=Xn(),ot=Xn(),rt=Xn(),ct=Xn(),lt=Xn(),dt=Xn(),ut=Xn(),wt=Xn(),gt=Xn(),yt=Xn(),ht=Xn(),ft=Xn(),vt=Xn(),bt=Xn(),mt=Xn(),St=Xn(),Tt=Xn(),Ct=La(),Et=Xn(),[pt,Rt,It,Lt,_t]=Qa(()=>In),Nt=t=>{const e=u;return u=1,pa(t,()=>u=e)},Dt=t=>{const e=d;return d=1,pa(t,()=>d=e)},At=(t,e,a,n=Object.is)=>Ht(e(),e=>t===e||n(t,e)?a(e):Nt(()=>a(e))),Ot=t=>{if(!Ge(t,(t,e)=>ae([D,A,O,st],e)))return!1;const e=t[D];if(!Wt(e)&&e!=R&&!Ze(e))return!1;const a=t[A];return!($t(a)&&!t[O]||($t(a)||(Ye(a)!=e||aa(a)?Oe(t,A):Ht(Sa(()=>ta(a)),e=>t[A]=e,()=>Oe(t,A))),0))},kt=(t,e)=>Ht(Sa(()=>ta(t)),t=>t,e),Mt=t=>pe(t)?$e(t,Kt):t,xt=t=>pe(t)?$e(t,Mt):t,Vt=t=>pe(t)?$e(t,Kt):t,Ft=(t,e)=>1==d&&ea(t)&&1==Sa(()=>{const a=Ye(na(t));return Ze(a)&&(Pt(e)||e==a)},!1),Ut=Xt,qt=(e,a)=>(!t||la(p,a)||He(a))&&Ge(e,(t,e)=>Bt(a,e,t),()=>He(a)),Bt=(t,e,a,n)=>{const s=n?a:Yt(a,t,e);return Ge(s,(n,s)=>Ht(jt(t,e,s,n),t=>(De(a,s,t),!0),()=>!1),()=>He(t,e))&&(!!n||wa(Da(I,t)?.[2],t=>_e(s,t)))},jt=(e,a,n,s)=>t?Ht(Da(Da(p,e),n),t=>$t(s)?t[O]?s:He(e,a,n,s,t[A]):aa(s,d)?He(e,a,n,s,t[A]):ea(s)?Ft(s,t[D])?s:He(e,a,n,s,t[A]):Ye(s)===t[D]?kt(s,()=>He(e,a,n,s,t[A])):He(e,a,n,s,t[A]),()=>He(e,a,n,s)):Pt(Ye(s))||aa(s,d)||ea(s)&&!Ft(s)?He(e,a,n,s):kt(s,()=>He(e,a,n,s)),Jt=(t,e)=>{const a=e?t:Zt(t);return Ge(a,(e,a)=>Ht(Qt(a,e),e=>(De(t,a,e),!0),()=>!1),()=>qe())&&(!!e||wa(k,t=>_e(a,t)))},Qt=(t,a)=>e?Ht(Da(L,t),e=>$t(a)?e[O]?a:qe(t,a,e[A]):aa(a,d)?qe(t,a,e[A]):ea(a)?Ft(a,e[D])?a:qe(t,a,e[A]):Ye(a)===e[D]?kt(a,()=>qe(t,a,e[A])):qe(t,a,e[A]),()=>qe(t,a)):Pt(Ye(a))||aa(a,d)||ea(a)&&!Ft(a)?qe(t,a):kt(a,()=>qe(t,a)),Yt=(t,e,a)=>(Ht(Da(I,e),([n,s])=>{ya(n,(n,s)=>{_e(t,s)||(De(t,s,n),Ht(a,t=>Ga(Ma(Ma(b,e,La),t,qa),s)))}),ya(s,n=>{_e(t,n)||He(e,a,n)})}),t),Zt=t=>(e&&(ya(_,(e,a)=>{_e(t,a)||(De(t,a,e),Ga(T,a))}),ya(N,e=>{_e(t,e)||qe(e)})),t),te=t=>Pa(p,t,(t,e,a)=>{const n=La(),s=qa(),o=qa();Pa(Ma(p,e,La),a,(t,e,a)=>{ka(t,e,a),Ht(a[A],t=>{ka(n,e,t)},()=>{Ga(s,e),!0===a[st]&&Ga(o,e)})}),ka(I,e,[n,s,o])},(t,e)=>{ka(p,e),ka(I,e)}),ne=t=>Pa(L,t,(t,e,a)=>{ka(L,e,a),Ht(a[A],t=>{ka(_,e,t),ha(N,e),ha(k,e)},()=>{ka(_,e),Ga(N,e),!0===a[st]?Ga(k,e):ha(k,e)})},(t,e)=>{ka(L,e),ka(_,e),ha(N,e),ha(k,e)}),se=()=>{a??=[!!t,xa(p)]},re=()=>{n??=[!!e,$a(L)]},le=t=>We(t)?yn():on(t),ue=(t,e,a,n,s,o)=>Pt(n)?vn(t,e,a,!0,s):rn(t,e,a,n,s,o),we=t=>We(t)?bn():cn(t),ge=(t,e,a)=>Pt(e)?mn(t,a):ln(t,e,a),ye=(t,e)=>At(t,()=>e?t:Ht(c[1],e=>Nt(()=>e(ee(t))),()=>t),t=>Pa(X,t,(t,e,a)=>he(e,a),(t,e)=>Ee(e)),Ue),he=(t,e,a)=>At(e,()=>a?e:Ht(c[2],a=>Nt(()=>a(t,ee(e))),()=>e),e=>Pa(Ma(X,t,()=>(Ae(t,1),ka(P,t,Ja()),ka(V,t,La()),La())),e,(e,a,n)=>ve(t,e,a,n),(e,a)=>Re(t,e,a)),Ue),ve=(t,e,a,n,s)=>At(n,()=>s?n:Ht(c[3],e=>Nt(()=>e(t,a,ee(n))),()=>n),n=>Pa(Ma(e,a,()=>(Me(t,a,1),La())),n,(e,n,s)=>be(t,a,e,n,s),(n,o)=>Le(t,e,a,n,o,s)),Ue),be=(t,e,a,n,s,o)=>At(s,()=>Ht(o?void 0:c[4],a=>Nt(()=>a(t,e,n,s)),()=>s),s=>Ht(u?jt(t,e,n,na(s)):s,s=>{la(a,n)||Pe(t,e,n,1);const o=Da(a,n);s!==o&&(xe(t,e,n,o,s),ka(a,n,s))})),me=(t,e,a,n,s,o)=>Ht(Da(e,a),e=>be(t,a,e,n,s,o),()=>{const r=La();ka(e,a,r),Me(t,a,1),ke(Yt({[n]:s},t,a),(e,n)=>be(t,a,r,n,e,o))}),Se=(t,e)=>At(t,()=>e?t:Ht(c[5],e=>Nt(()=>e(ee(t))),()=>t),t=>Pa(Y,t,(t,e,a)=>Te(e,a),(t,e)=>Ne(e)),Ue),Te=(t,e,a)=>At(e,()=>Ht(a?void 0:c[6],a=>Nt(()=>a(t,e)),()=>e),e=>Ht(u?Qt(t,na(e)):e,e=>{la(Y,t)||Ve(t,1);const a=Da(Y,t);e!==a&&(Fe(t,a,e),ka(Y,t,e))})),Ce=t=>Ma(X,t,()=>(Ae(t,1),ka(P,t,Ja()),ka(V,t,La()),La())),Ee=t=>Nt(()=>c[8]?.(t))??1?he(t,{},!0):Da(X,t),Re=(t,e,a)=>{if(Nt(()=>c[9]?.(t,a))??1){const[,n]=Da(P,t);n(a),ve(t,e,a,{},!0)}},Le=(t,e,a,n,s,o,r)=>{const i=Da(Da(I,t)?.[0],s);if(!Pt(i)&&!o)return be(t,a,n,s,i);if(r||(Nt(()=>c[10]?.(t,a,s))??1)){const o=e=>{xe(t,a,e,Da(n,e)),Pe(t,a,e,-1),ka(n,e)};Pt(i)?o(s):Aa(n,o),da(n)&&(Me(t,a,-1),da(ka(e,a))&&(Ae(t,-1),ka(X,t),ka(P,t),ka(V,t)))}},Ne=(t,e)=>{const a=Da(_,t);if(!Pt(a))return Te(t,a);(e||(Nt(()=>c[12]?.(t))??1))&&(Fe(t,Da(Y,t)),Ve(t,-1),ka(Y,t))},Ae=(t,e)=>Qn(w,t,e),Me=(t,e,a)=>Qn(Ma(h,t,La),e,a)&&ka(y,t,Ma(y,t,()=>0)+a),Pe=(t,e,a,n)=>{const s=Da(V,t),o=Da(s,a)??0;(0==o&&1==n||1==o&&-1==n)&&Qn(Ma(g,t,La),a,n),ka(s,a,o!=-n?o+n:void 0),Qn(Ma(Ma(f,t,La),e,La),a,n)},xe=(t,e,a,n,s)=>{const o=la(Da(Da(b,t),e),a)&&Pt(n)?1:0;Ma(Ma(Ma(v,t,La),e,La),a,()=>[n,0])[1]=s,l[3]?.(t,e,a,s,u,o),ha(Da(Da(b,t),e),a)},Ve=(t,e)=>Qn(m,t,e),Fe=(t,e,a)=>{const n=la(T,t)&&Pt(e)?1:0;Ma(S,t,()=>[e,0])[1]=a,l[4]?.(t,a,u,n),ha(T,t)},He=(t,e,a,n,s)=>(fe(Ma(Ma(Ma(C,t,La),e,La),a,()=>[]),n),s),qe=(t,e,a)=>(fe(Ma(E,t,()=>[]),e),a),Xe=(t,e,a)=>Ht(Da(Da(Da(v,t),e),a),([t,e])=>[!0,na(t),na(e)],()=>[!1,...qn(Xa(t,e,a))]),je=t=>Ht(Da(S,t),([t,e])=>[!0,na(t),na(e)],()=>[!1,...qn(ja(t))]),Je=t=>da(C)||da(ht[t])?0:ya(t?Wa(C):C,(e,a)=>ya(e,(e,n)=>ya(e,(e,s)=>Rt(ht[t],[a,n,s],e)))),Qe=t=>da(E)||da(ft[t])?0:ya(t?Fa(E):E,(e,a)=>Rt(ft[t],[a],e)),Ke=(t,e,a,n)=>{if(!da(t))return Rt(e,n,()=>$a(t)),Aa(t,(t,e)=>Rt(a,[...n??[],t],1==e)),1},sa=t=>{const e=!da(K[t]),a=!da(lt[t]),n=!(da(wt[t])&&da(gt[t])&&da(ct[t])&&da(dt[t])&&da(nt[t])&&da(ot[t])&&da(rt[t])&&!a&&da(tt[t])&&da(et[t])),o=!(da(yt[t])&&da(ut[t])&&da(at[t])&&da(Z[t]));if(e||n||o){const i=t?[Fa(w),Ha(g),Fa(y),Ha(h),Wa(f),(r=v,Fa(r,t=>Fa(t,t=>Fa(t,zn))))]:[w,g,y,h,f,v];if(e){const e=Ya();e!=s&&Rt(K[t],void 0,e)}if(n){Ke(i[0],tt[t],et[t]),ya(i[1],(e,a)=>Ke(e,nt[t],ot[t],[a])),ya(i[2],(e,a)=>{0!=e&&Rt(rt[t],[a],Ra(a))});const e=qa();ya(i[3],(n,s)=>{Ke(n,ct[t],dt[t],[s])&&a&&(Rt(lt[t],[s,null]),Ga(e,s))}),a&&ya(i[5],(a,n)=>{if(!la(e,n)){const e=qa();ya(a,t=>ya(t,([a,n],s)=>n!==a?Ga(e,s):ha(t,s))),ya(e,e=>Rt(lt[t],[n,e]))}}),ya(i[4],(e,a)=>ya(e,(e,n)=>Ke(e,wt[t],gt[t],[a,n])))}if(o){let e;ya(i[5],(a,n)=>{let s;ya(a,(a,o)=>{let r;ya(a,([a,i],c)=>{i!==a&&(Rt(yt[t],[n,o,c],na(i),na(a),Xe),e=s=r=1)}),r&&Rt(ut[t],[n,o],Xe)}),s&&Rt(at[t],[n],Xe)}),e&&Rt(Z[t],void 0,Xe)}}var r},ua=t=>{const e=!da(vt[t]),a=!da(mt[t])||!da(St[t]),n=!da(Tt[t])||!da(bt[t]);if(e||a||n){const s=t?[Fa(m),Fa(S,zn)]:[m,S];if(e){const e=an();e!=o&&Rt(vt[t],void 0,e)}if(a&&Ke(s[0],mt[t],St[t]),n){let e;ya(s[1],([a,n],s)=>{n!==a&&(Rt(Tt[t],[s],na(n),na(a),je),e=1)}),e&&Rt(bt[t],void 0,je)}}},fa=(t,...e)=>(Cn(()=>t(...de(e,it))),In),va=(t,e,a,n,s)=>{const[o,r,i,c]=a;let l=_a(t,e,o,r,i,c);return pt(()=>{const a=_a(t,e,o,r,i,c);oe(a,l)||(l=a,n(In,t,e,o,r,i,l))},lt[s?1:0],[t,e],[Ta])},ba=(t=!1)=>[$a(v,(e,a)=>-1===Da(w,a)?void 0:$a(e,(e,n)=>-1===Da(Da(h,a),n)?void 0:$a(e,([,e])=>na(e,0,t),t=>Bn(t)),da,We),da,We),$a(S,([,e])=>na(e,0,t),t=>Bn(t)),1],ma=()=>Va(X,na),Ta=()=>Na(X),Ca=t=>Na(Da(V,it(t))),Ra=t=>oa(Da(X,it(t))),Ia=t=>Na(Da(X,it(t))),_a=(t,e,a,n=0,s,o=Dn)=>pe(t)?_a(t.tableId,t.cellId,t.descending,t.offset,t.limit,t.sorter):de(zt(ie(Oa(Da(X,it(t)),(t,a)=>[Pt(e)?a:na(Da(t,it(e))),a]),([t],[e])=>o(t,e)*(a?-1:1)),n,Pt(s)?s:n+s),([,t])=>t),Ua=(t,e)=>Na(Da(Da(X,it(t)),it(e))),Xa=(t,e,a)=>na(Da(Da(Da(X,it(t)),it(e)),it(a))),za=()=>$a(Y,na),Ba=()=>Na(Y),ja=t=>na(Da(Y,it(t))),Ya=()=>!da(X),Ka=t=>la(X,it(t)),Za=(t,e)=>la(Da(V,it(t)),it(e)),tn=(t,e)=>la(Da(X,it(t)),it(e)),en=(t,e,a)=>la(Da(Da(X,it(t)),it(e)),it(a)),an=()=>!da(Y),nn=t=>la(Y,it(t)),sn=t=>fa(()=>{const e=Gt(t)?t():t;Ut(e)&&(t=>{At(t,()=>Ht(c[0],e=>Nt(()=>e(ee(t),d)),()=>t),([t,e])=>{(We(t)?yn:on)(t),(We(e)?bn:cn)(e)},Yn)})(e)}),on=t=>fa(()=>{const e=(t=>pe(t)?$e(t,xt):t)(t);return(t=>Ge(t,qt,He))(e)?ye(e):0}),rn=(t,e,a,n,s,o)=>fa((t,e,a)=>Ht(jt(t,e,a,Gt(n)?n(Xa(t,e,a)):n),n=>{const r=Ce(t);Ht(s||o||!c[14]?.()?void 0:c[3],o=>{const i=Da(r,e),c={...i?$a(i):{},[a]:n};Ht(Nt(()=>o(t,e,ee(c))),a=>((t,e,a,n,s)=>{Pa(Ma(e,a,()=>(Me(t,a,1),La())),n,(e,n,o)=>Ht(jt(t,a,n,na(o)),o=>be(t,a,e,n,o,s)),(n,s)=>Le(t,e,a,n,s,!0))})(t,r,e,a,s))},()=>me(t,r,e,a,n,s))}),t,e,a),cn=t=>fa(()=>{const e=Vt(t);return Jt(e)?Se(e):0}),ln=(t,e,a)=>fa(t=>Ht(Qt(t,Gt(e)?e(ja(t)):e),e=>Te(t,e,a)),t),dn=t=>fa(()=>At(t,()=>Ht(c[13],e=>Nt(()=>e(ee(t),d)),()=>t),t=>{ke(t[0],(t,e)=>Pt(t)?hn(e):ke(t,(t,a)=>Pt(t)?fn(e,a):ke(t,(t,n)=>ue(e,a,n,t,void 0,!0)))),ke(t[1],(t,e)=>ge(e,t))},Yn)),un=t=>(Ea(()=>Dt(()=>le(ze(t)))),In),wn=e=>fa(()=>{const a=jn(e);if(Ge(a,t=>Ge(t,Ot))&&(se(),t=!0,te(a),!da(X))){const t=ma();yn(),on(t)}}),gn=t=>fa(()=>{const a=jn(t);if((t=>Ge(t,Ot))(a)){re();const t=za();Tn(),bn(),e=!0,ne(a),cn(t)}}),yn=()=>fa(()=>Nt(()=>c[7]?.())??1?ye({},!0):0),hn=t=>fa(t=>la(X,t)?Ee(t):0,t),fn=(t,e)=>fa((t,e)=>Ht(Da(X,t),a=>la(a,e)?Re(t,a,e):0),t,e),vn=(t,e,a,n,s)=>fa((t,e,a)=>Ht(Da(X,t),o=>Ht(Da(o,e),r=>la(r,a)?Le(t,o,e,r,a,n,s):0)),t,e,a),bn=()=>fa(()=>Nt(()=>c[11]?.())??1?Se({},!0):0),mn=(t,e)=>fa(t=>la(Y,t)?Ne(t,e):0,t),Sn=()=>fa(()=>{se(),te({}),t=!1}),Tn=()=>fa(()=>{re(),ne({}),e=!1}),Cn=(t,e)=>{if(-1!=i){En();try{const a=t();return Rn(e),a}catch(t){throw i>0&&(r=1,Ea(Rn)),t}}},En=()=>{if(-1!=i&&i++,1==i)try{l[0]?.(),Rt(Ct)}catch(t){throw r=1,Ea(Rn),t}return In},pn=()=>{i=0,r=0,a=n=void 0,s=Ya(),o=an(),ce([w,g,y,h,f,v,b,C,m,S,T,E],ga)},Rn=s=>{if(i>0&&(i--,0==i)){i=1;let o=!1,c=!1;const d=()=>{c=!0,Ht(a,([e,a])=>{te(a),t=e}),Ht(n,([t,a])=>{ne(a),e=t}),ya(v,(t,e)=>ya(t,(t,a)=>ya(t,([t],n)=>ue(e,a,n,t,!0)))),ga(v),ya(S,([t],e)=>ge(e,t,!0)),ga(S)};let u=!1,w=!1;pa(()=>{let t,e=!1;const a=a=>{e||(t=a),e=!0};if(Ea(()=>{try{r?d():(Nt(()=>{Je(1),da(v)||sa(1),Qe(1),da(S)||ua(1)}),s?.(In)&&d(),l[1]?.(c),u=!0,_t(Et[0],void 0),i=-1,o=!0,Je(0),da(v)||sa(0),Qe(0),da(S)||ua(0))}catch(t){throw o||d(),t}},a),u&&c&&(o||Ea(()=>l[1]?.(!0),a),Ea(()=>{l[2]?.(!0),w=!0},a)),u&&Ea(()=>{i=-1,_t(Et[1],void 0)},a),e)throw t},()=>pa(()=>w?0:l[2]?.(c),pn))}return In},In={getContent:()=>[ma(),za()],getTables:ma,getTableIds:Ta,getTable:t=>xa(Da(X,it(t)),na),getTableCellIds:Ca,getRowCount:Ra,getRowIds:Ia,getSortedRowIds:_a,getRow:(t,e)=>$a(Da(Da(X,it(t)),it(e)),na),getCellIds:Ua,getCell:Xa,getValues:za,getValueIds:Ba,getValue:ja,hasTables:Ya,hasTable:Ka,hasTableCell:Za,hasRow:tn,hasCell:en,hasValues:an,hasValue:nn,getTablesJson:()=>Be(X),getValuesJson:()=>Be(Y),getJson:()=>Be([X,Y]),getTablesSchemaJson:()=>Be(xa(p,Jn)),getValuesSchemaJson:()=>Be($a(L,Jn)),getSchemaJson:()=>Be([xa(p,Jn),$a(L,Jn)]),hasTablesSchema:()=>t,hasValuesSchema:()=>e,setContent:sn,setTables:on,setTable:(t,e)=>fa(t=>{const a=xt(e);return qt(a,t)?he(t,a):0},t),setRow:(t,e,a)=>fa((t,e)=>{const n=Mt(a);return Bt(t,e,n)?ve(t,Ce(t),e,n):0},t,e),addRow:(t,e,a=!0)=>Cn(()=>{let n;const s=Mt(e);return Bt(t,n,s)&&(t=it(t),ve(t,Ce(t),n=((t,e)=>{const[a]=Da(P,t);let n;do{n=a(e)}while(la(Da(X,t),n));return n})(t,a?1:0),s)),n}),setPartialRow:(t,e,a)=>fa((t,e)=>{const n=Mt(a);if(Bt(t,e,n,1)){const a=Ce(t);ke(n,(n,s)=>me(t,a,e,s,n))}},t,e),setCell:rn,setValues:cn,setPartialValues:t=>fa(()=>{const e=Vt(t);return Jt(e,1)?ke(e,(t,e)=>Te(e,t)):0}),setValue:ln,applyChanges:dn,setTablesJson:un,setValuesJson:t=>(Ea(()=>Dt(()=>we(ze(t)))),In),setJson:t=>fa(()=>Ea(()=>Dt(()=>{const[e,a]=ze(t);le(e),we(a)}),()=>un(t))),setTablesSchema:wn,setValuesSchema:gn,setSchema:(t,e)=>fa(()=>{wn(t),gn(e)}),delTables:yn,delTable:hn,delRow:fn,delCell:vn,delValues:bn,delValue:mn,delTablesSchema:Sn,delValuesSchema:Tn,delSchema:()=>fa(()=>{Sn(),Tn()}),transaction:Cn,startTransaction:En,getTransactionChanges:()=>ba(),getTransactionLog:()=>[!da(v),!da(S),Va(v,zn,Bn),Va(C),$a(S,zn,Bn),$a(E),$a(w),xa(h),Va(f),$a(m)],finishTransaction:Rn,forEachTable:t=>ya(X,(e,a)=>t(a,t=>ya(e,(e,a)=>t(a,t=>Aa(e,(e,a)=>t(e,na(a))))))),forEachTableCell:(t,e)=>Aa(Da(V,it(t)),e),forEachRow:(t,e)=>ya(Da(X,it(t)),(t,a)=>e(a,e=>Aa(t,(t,a)=>e(t,na(a))))),forEachCell:(t,e,a)=>Aa(Da(Da(X,it(t)),it(e)),(t,e)=>a(t,na(e))),forEachValue:t=>Aa(Y,(e,a)=>t(e,na(a))),addSortedRowIdsListener:(t,e,a,n,s,o,r)=>pe(t)?va(t.tableId,t.cellId,[t.descending??!1,t.offset??0,t.limit,t.sorter],e,a):va(t,e,[a,n,s,void 0],o,r),addStartTransactionListener:t=>pt(t,Ct),addWillFinishTransactionListener:t=>pt(t,Et[0]),addDidFinishTransactionListener:t=>pt(t,Et[1]),callListener:t=>(Lt(t),In),delListener:t=>(It(t),In),getListenerStats:()=>({hasTables:Gn(K),tables:Gn(Z),tableIds:Gn(tt),hasTable:Gn(et),table:Gn(at),tableCellIds:Gn(nt),hasTableCell:Gn(ot,ia),rowCount:Gn(rt),rowIds:Gn(ct),sortedRowIds:Gn(lt),hasRow:Gn(dt,ia),row:Gn(ut,ia),cellIds:Gn(wt,ia),hasCell:Gn(gt,ca),cell:Gn(yt,ca),invalidCell:Gn(ht,ca),hasValues:Gn(vt),values:Gn(bt),valueIds:Gn(mt),hasValue:Gn(St),value:Gn(Tt),invalidValue:Gn(ft),transaction:ra(Ct)+Gn(Et)}),isMergeable:()=>!1,_:[Kn,pt,Rt,(t,e,a,n,s)=>l=[t,e,a,n,s],(t,e,a,n,s,o,r,i,l,d,u,w,g,y,h)=>c=[t,e,a,n,s,o,r,i,l,d,u,w,g,y,h],ue,ge,()=>[Va(X),$a(Y)],()=>ba(!0),t=>Dt(()=>sn(t)),t=>Dt(()=>dn(t))]};return ke({[x+H]:[0,K,[],()=>[Ya()]],[H]:[0,Z],[W]:[0,tt],[x+F]:[1,et,[Ta],t=>[Ka(...t)]],[F]:[1,at,[Ta]],[F+B]:[1,nt,[Ta]],[x+F+z]:[2,ot,[Ta,Ca],t=>[Za(...t)]],[q]:[1,rt,[Ta]],[G]:[1,ct,[Ta]],[x+U]:[2,dt,[Ta,Ia],t=>[tn(...t)]],[U]:[2,ut,[Ta,Ia]],[B]:[2,wt,[Ta,Ia]],[x+z]:[3,gt,[Ta,Ia,Ua],t=>[en(...t)]],[z]:[3,yt,[Ta,Ia,Ua],t=>qn(Xa(...t))],InvalidCell:[3,ht],[x+J]:[0,vt,[],()=>[an()]],[J]:[0,bt],[Q]:[0,mt],[x+j]:[1,St,[Ba],t=>[nn(...t)]],[j]:[1,Tt,[Ba],t=>qn(ja(t[0]))],InvalidValue:[1,ft]},([t,e,a,n],s)=>{In[$+s+M]=(...s)=>pt(s[t],e[s[t+1]?1:0],t>0?zt(s,0,t):void 0,a,n)}),Ie(In)},Zn={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},ts=(t=S)=>[Hn(t),Hn(t)],es=(t,e)=>pe(t)&&Me(t,e),as=(t,e,a,n)=>{if(!Xt(t))return!1;if(a?2!=Bt(t):2!=Bt(t)&&(3!=Bt(t)||1!==t[2]))return!1;const s=(t,n)=>((t,e,a,n)=>Xt(t)&&(3==Bt(t)?((t,e)=>Xt(t)&&3==Bt(t)&&Ut(t[1])&&qt(t[2])&&Ot(t[2])&&e(t[0]))(t,e)&&_n(t[1],a):!n&&e(t[0])&&(1==Bt(t)||2==Bt(t)&&_n(t[1],a))))(t,n,e,a),o=t=>Ke(t)&&!aa(t,n);return s(t[0],t=>es(t,t=>s(t,t=>es(t,t=>s(t,t=>es(t,t=>s(t,o)))))))&&s(t[1],t=>es(t,t=>s(t,o)))},ns=(t,e=Date.now)=>{let a=1,n=ts(),s=n,o=0,r=0,i=r;const c=[],l=La(),d=qa(),[u,w]=Nn(t,e),g=Kn(),y=t=>{const e=a;return a=0,pa(t,()=>a=e),L},h=t=>{const[e,a,n]=t;fe(c,()=>{t[0]=e,t[1]=a,t[2]=n})},f=(t,e,a)=>(la(t,e)||fe(c,()=>ka(t,e)),Ma(t,e,a)),v=(t,e=0)=>{const a=Ae(),s=Ae(),[[o,r=S,i=0],c]=t,[l,d]=n,[u,g,y]=l;let v=e?i:y,m=r;ke(o,([t,n=S,s=0],o)=>{const r=f(u,o,Hn),[i,c,l]=r;let d=e?s:l,w=n;ke(t,(t,n)=>{const[s,r,c]=b(t,f(i,n,Hn),qe(qe(a,o,Ae),n,Ae),e);d^=e?0:cn(r?dn(n,r):0,dn(n,c)),w=xn(w,s)}),d^=e?0:$n(c,n),h(r),Vn(r,n,d),v^=e?0:cn(l?dn(o,l):0,dn(o,r[2])),m=xn(m,w)}),v^=e?0:$n(g,r),h(l),Vn(l,r,v);const[T]=b(c,d,s,e);return w(xn(m,T)),[a,s,1]},b=(t,e,a,n)=>{const[s,o=S,r=0]=t,[i,c,l]=e;let d=o,u=n?r:l;return ke(s,([t,e=S,s=0],o)=>{const r=f(i,o,()=>[void 0,S,0]),[,c,l]=r;(!c||e>c)&&(h(r),Vn(r,e,n?s:un(t,e)),r[0]=t,De(a,o,t),u^=n?0:cn(dn(o,l),dn(o,r[2])),d=xn(d,e))}),u^=n?0:$n(c,o),h(e),Vn(e,o,u),[d,l,e[2]]},m=()=>{for(;Bt(c);)ve(c)?.();n=s,r=i},T=(t=!1)=>[Wn(n[0],e=>Wn(e,e=>Wn(e,([e,a,n])=>[na(e,0,t),a,n]))),Wn(n[1],([e,a,n])=>[na(e,0,t),a,n])],C=(t,e=!1)=>{const[[a,s,o],[r,i,c]]=n,u=t?Mn:kn,w=Ae();ya(l,(t,n)=>Ht(Da(a,n),([a,s,o])=>{const r=Ae();ya(t,(t,n)=>Ht(Da(a,n),([a,s,o])=>{const i=Ae();ya(t,t=>{Ht(Da(a,t),([a,n,s])=>De(i,t,u(e?a:na(a),n,s)))}),De(r,n,u(i,s,o))})),De(w,n,u(r,s,o))}));const g=Ae();return ya(d,t=>Ht(Da(r,t),([a,n,s])=>De(g,t,u(e?a:na(a),n,s)))),[u(w,s,o),u(g,i,c),1]},E=()=>T(),p=(t,a)=>as(t,e()+mn,1,a?1:0)?y(()=>g.transaction(()=>{g.delTables().delValues(),n=ts();const e=v(t,1);(a?g._[10]:g.applyChanges)(e)})):L,R=(t,a)=>as(t,e()+mn,0,a?1:0)?y(()=>g.transaction(()=>(a?g._[10]:g.applyChanges)(v(t)))):L,I=t=>R(t),L={getMergeableContent:E,getMergeableContentHashes:()=>[n[0][2],n[1][2]],getMergeableTableHashes:()=>$a(n[0][0],Pn),getMergeableTableDiff:t=>{const e=Fn(n[0][1]),a=Ae();return Aa(n[0][0],(n,[s,o,r])=>_e(t,n)?r!=Ne(t,n)?De(a,n,r):0:De(e[0],n,Un([s,o],t=>Un(t)))),[e,a]},getMergeableRowHashes:t=>{const e=Ae();return ke(t,(t,a)=>Ht(Da(n[0][0],a),([n,,s])=>s!=t?Aa(n,(t,[,,n])=>De(qe(e,a,Ae),t,n)):0)),e},getMergeableRowDiff:t=>{const e=Fn(n[0][1]),a=Ae();return ke(t,(t,s)=>Aa(Da(n[0][0],s)?.[0],(n,[o,r,i])=>_e(t,n)?i!==Ne(t,n)?De(qe(a,s,Ae),n,i):0:De(qe(e[0],s,Fn)[0],n,Un([o,r])))),[e,a]},getMergeableCellHashes:t=>{const e=Ae();return ke(t,(t,a)=>Ht(Da(n[0][0],a),([n])=>ke(t,(t,s)=>Ht(Da(n,s),([n,,o])=>o!==t?Aa(n,(t,[,,n])=>De(qe(qe(e,a,Ae),s,Ae),t,n)):0)))),e},getMergeableCellDiff:t=>{const[[e,a]]=n,s=Ae();return ke(t,(t,a)=>ke(t,(t,n)=>Ht(Da(e,a),([e,o])=>Ht(Da(e,n),([e,r])=>Aa(e,(e,[i,c,l])=>l!==Ne(t,e)?De(qe(qe(s,a,()=>Fn(o))[0],n,()=>Fn(r))[0],e,[i,c]):0))))),kn(s,a)},getMergeableValueHashes:()=>$a(n[1][0],Pn),getMergeableValueDiff:t=>{const[,[e,a]]=n,s=$a(e,On,([,,e],a)=>e==Ne(t,a));return kn(s,a)},setMergeableContent:t=>p(t),setDefaultContent:t=>(g.transaction(()=>{o=1,pa(()=>g.setContent(t),()=>o=0)}),L),getTransactionMergeableChanges:(t=!1)=>C(t),applyMergeableChanges:I,merge:t=>{const e=E(),a=t.getMergeableContent();return t.applyMergeableChanges(e),I(a)},__:[()=>{const t=r;return r=0,t},()=>T(!0),t=>C(t,!0),t=>p(t,!0),t=>R(t,!0)]};return g._[3](()=>{s=n,i=r},t=>t?m():0,t=>{t?m():he(c),ga(l),ga(d)},(t,e,n,s,i,c)=>{if(Ga(Ma(Ma(l,t,La),e,qa),n),a||i){i&&(r=1);const a=o||c?S:u(),[l]=v([[{[t]:[{[e]:[{[n]:[s,a]}]}]}],[{}],1]),d=Ne(Ne(l,t),e);!a||d&&_e(d,n)||ma(13)}},(t,e,n,s)=>{if(Ga(d,t),a||n){n&&(r=1);const a=o||s?S:u(),[,i]=v([[{}],[{[t]:[e,a]}],1]);a&&!_e(i,t)&&ma(13)}}),ke(g,(t,e)=>De(L,e,ct(e,"set")||ct(e,"del")||ct(e,"apply")||lt(e,"Transaction")||e=="call"+M||"use"==e?(...e)=>(t(...e),L):ct(e,$)&&lt(e,M)?(...a)=>{const n=Zn[zt(e,3,-8)]??0,s=a[n];return a[n]=(t,...e)=>s(L,...e),t(...a)}:"isMergeable"==e?()=>!0:t)),Ie(L)},ss=La([["avg",[(t,e)=>ue(t)/e,(t,e,a)=>t+(e-t)/(a+1),(t,e,a)=>t+(t-e)/(a-1),(t,e,a,n)=>t+(e-a)/n]],["max",[t=>we(t,(t,e)=>It(t,e),-1/0),(t,e)=>It(e,t),(t,e)=>e==t?void 0:t,(t,e,a)=>a==t?void 0:It(e,t)]],["min",[t=>we(t,(t,e)=>Lt(t,e),At),(t,e)=>Lt(e,t),(t,e)=>e==t?void 0:t,(t,e,a)=>a==t?void 0:Lt(e,t)]],["sum",[t=>ue(t),(t,e)=>t+e,(t,e)=>t-e,(t,e,a)=>t-a+e]]]),os=(t,e,a,n,s,o=!1)=>{if(da(a))return;const[r,i,c,l]=s;return o||=Pt(t),ya(n,([a,n])=>{o||(t=Pt(a)?i?.(t,n,e++):Pt(n)?c?.(t,a,e--):l?.(t,n,a,e),o||=Pt(t))}),o?r(ua(a),oa(a)):t},rs=Ba(t=>{const e=La(),[a,n,s]=Qa(()=>f),[o,r,i,c,l,d,u,,w,g,y,h]=Xa(t,Qt,t=>isNaN(t)||Pt(t)||xt(t)||Vt(t)||t===S?void 0:1*t,a,n),f={setMetricDefinition:(t,a,s,o,r,i,c)=>{const l=Gt(s)?[s,r,i,c]:Da(ss,s)??Da(ss,"sum");return w(t,a,(a,s,o,r,i,c)=>{const w=d(t),g=oa(r);c||=Pt(w),a();let y=os(w,g,r,s,l,c);Ot(y)||(y=void 0),y!=w&&(u(t,y),n(e,[t],y,w))},za(o,1)),f},delMetricDefinition:t=>(g(t),f),getStore:o,getMetricIds:r,forEachMetric:i,hasMetric:c,getTableId:l,getMetric:d,addMetricIdsListener:y,addMetricListener:(t,n)=>a(n,e,[t]),delListener:t=>(s(t),f),destroy:h,getListenerStats:()=>({metric:ra(e)})};return Ie(f)}),is=(t,e,...a)=>we(t,(t,e)=>Pt(t)?t:e(...a,t),e),cs=([t,e,a],n)=>[$e(t,t=>Pt(t)?t:$e(t,t=>Pt(t)?t:$e(t,t=>Pt(t)?t:n(t)))),$e(e,t=>Pt(t)?t:n(t)),a],ls=(t,e,a,...n)=>jt(t)?e:Ht(is(t,a(e,na),...n),t=>a(t,t=>Sa(()=>ta(t),t))),ds=(t,...e)=>se(t,t=>t(...e)),us=Ba((t,e)=>{const a=t=>e=>(fe(t,e),O),n=[],s=[],o=[],r=[],i=[],c=[],l=[],d=[],u=[],w=[],g=[],y=[],h=[],f=[],v=[n,s,o,r,i,c,l,d,u,w,g,y,h,f],b=a(n),m=a(s),S=a(o),T=a(r),C=a(i),E=a(c),p=a(l),R=a(d),I=a(u),L=a(w),_=a(g),N=a(y),D=a(h),A=a(f),O=Ie({getStore:()=>t,addWillSetContentCallback:b,addWillSetTablesCallback:m,addWillSetTableCallback:S,addWillSetRowCallback:T,addWillSetCellCallback:C,addWillSetValuesCallback:E,addWillSetValueCallback:p,addWillDelTablesCallback:R,addWillDelTableCallback:I,addWillDelRowCallback:L,addWillDelCellCallback:_,addWillDelValuesCallback:N,addWillDelValueCallback:D,addWillApplyChangesCallback:A,destroy:()=>{e()&&(t._[4](),ce(v,he))}});return t._[4]((t,e)=>e?ls(n,t,([t,e],a)=>[Ve(t,a),$e(e,a)]):is(n,t),t=>ls(s,t,Ve),(t,e)=>ls(o,e,xe,t),(t,e,a)=>ls(r,a,$e,t,e),(t,e,a,n)=>ls(i,n,(t,e)=>e(t),t,e,a),t=>ls(c,t,$e),(t,e)=>ls(l,e,(t,e)=>e(t),t),()=>ds(d),t=>ds(u,t),(t,e)=>ds(w,t,e),(t,e,a)=>ds(g,t,e,a),()=>ds(y),t=>ds(h,t),(t,e)=>e?ls(f,t,cs):is(f,t),()=>!jt(r)),O}),ws={Idle:0,Loading:1,Saving:2},gs={StoreOnly:1,MergeableStoreOnly:2,StoreOrMergeableStore:3},ys=La(),hs=La(),fs=La(),vs=(t,e,a,n,s,o,r,i={},c=0,l=[])=>{let d,u,w,g,y,h=0,f=0,v=0,b=0,m=0,S=0,T=0,C=0,E=0;const p={},R=i.destroy;Ma(ys,l,()=>0),Ma(hs,l,()=>[]),ka(fs,l,(Da(fs,l)??0)+1);const I=La(),[L,_,N,D,A]=((t=1,e,a)=>1!=t&&e.isMergeable()?[1,e.__[1],()=>e.__[2](!a),([[t],[e]])=>!We(t)||!We(e),e.setDefaultContent]:2!=t?[0,e._[7],e._[8],([t,e])=>!We(t)||!We(e),e.setContent]:ma(0))(r,t,c),[O,k,M]=Qa(()=>Q),P=t=>{t!=h&&(h=t,k(I,void 0,h))},$=()=>{Da(fs,l)||Da(ys,l)||!jt(Da(hs,l)??[])||(ka(ys,l),ka(hs,l),ka(fs,l))},x=e=>{(L&&Xt(e?.[0])?1===e?.[2]?t.__[4]:t.__[3]:1===e?.[2]?t._[10]:t._[9])(e)},V=async()=>{B()&&t.__?.[0]?.()&&await G()},F=t=>Ra(()=>u=t,()=>{u==t&&(u=void 0)}),H=async t=>(2!=h&&(await Ra(async()=>{P(1),f++,await J(()=>Ta(async()=>{const a=await e();Xt(a)?x(a):Pt(a)&&t?A(t):Pt(a)||ma(1,a)},e=>{o?.(e),t&&A(t)}))},()=>P(0)),await V()),Q),W=async()=>{const t=T;T=0,t&&t==b&&!E&&(2==h?T=t:await H())},U=async t=>{const e=++b;let a=!0;if(await q(!0),e==b&&!E){const r=Ta(async()=>{const t=await n(async(t,n)=>{if(e==b&&!E)if(n||t){const e=a||2==h||!!S;m++,e&&S++,await Ra(async()=>{P(1),f++,await(e?J(()=>x(n??t)):pa(()=>x(n??t),()=>P(0)))},()=>{e&&S--,--m||P(0)}),m||await V()}else 2==h?T=e:await H()});e!=b||E?Pt(t)||await s(t):d=t},o);await F(r),e!=b||E||await Ra(()=>H(t),()=>{a=!1})}return Q},q=async(t=!1)=>{T=0,t||b++;const e=u,a=d;return d=void 0,await F(Ra(async()=>{await e},async()=>{Pt(a)||await Ta(()=>s(a),o)})),Q},G=async t=>(1!=h&&await Ra(()=>Ra(async()=>{P(2),v++,await J(()=>Ta(()=>a(_,t),o))},()=>P(0)),W),Q),X=async()=>{const e=++C;return await z(!0),e!=C||E||(await G(),e!=C||E||(w=t.addDidFinishTransactionListener(()=>{if(e==C&&!E){const t=N();D(t)&&Ta(()=>G(t))}}))),Q},z=async(e=!1)=>{e||C++;const a=w;return w=void 0,Pt(a)||t.delListener(a),Q},B=()=>!Pt(w),j=async(t=!1)=>{const[e,a]=t?[z,q]:[q,z];return await Ra(()=>e(),async()=>{await a()}),Q},J=async(...t)=>{let e,a=!1;const n=Zt(n=>jt(t)?n():fe(Da(hs,l),...de(t,(s,r)=>{const i=r==Bt(t)-1;return[async()=>{let t;y=Zt(e=>t=e),await Ra(async()=>{try{await Ta(s,o)}catch(t){a||(a=!0,e=t)}i&&n()},()=>{y=void 0,t()})},i?n:void 0,p]})));if(await(async()=>{if(!Da(ys,l)){ka(ys,l,1);const t=Da(hs,l);let e=0;await Ra(async()=>{for(;e<Bt(t);){const a=t[e++];a[2]=void 0,await a[0]()}},()=>{he(t,e),ka(ys,l,0),$()})}})(),await n,a)throw e;return Q},Q={load:H,startAutoLoad:U,stopAutoLoad:q,isAutoLoading:()=>!Pt(d),save:G,startAutoSave:X,stopAutoSave:z,isAutoSaving:B,startAutoPersisting:async(t,e=!1)=>{const[a,n]=e?[X,U]:[U,X];return await a(t),await n(t),Q},stopAutoPersisting:j,getStatus:()=>h,addStatusListener:t=>O(t,I),delListener:e=>(M(e),t),schedule:J,getStore:()=>t,getStats:()=>({loads:f,saves:v}),...i,destroy:async()=>(Pt(g)&&(E=1,g=(async()=>{const t=Da(hs,l),e=ge(t,([,t,e])=>e!=p||(t?.(),!1)),a=y;he(t),fe(t,...e),await Ra(()=>Ra(()=>Ra(j,()=>a),()=>R?.()),()=>{const t=(Da(fs,l)??1)-1;ka(fs,l,t||void 0),$()})})()),await g,Q)};return Ie(Q)},bs="_",ms="_id",Ss="SELECT",Ts="WHERE",Cs="TABLE",Es="INSERT",ps="DELETE",Rs="UPDATE",Is="ALTER "+Cs,Ls="FROM",_s=ps+" "+Ls,Ns=Ss+"*"+Ls,Ds="pragma_",As="data_version",Os="schema_version",ks="pragma_table_",Ms="CREATE ",Ps=Ms+Cs,$s="OR REPLACE ",xs="FUNCTION",Vs=/\$tableName/g,Fs=(t,e)=>e?async(a,n)=>(e(a,n),await t(a,n)):t,Hs=t=>le(de(ut(t,C),t=>`"${wt(t,/"/g,'""')}"`),C),Ws=(...t)=>Hs(le(t,"_")),Us=(...t)=>le(de(t,Hs),T),qs=(t,e=[1])=>le(de(t,()=>"$"+e[0]++),T),Gs=(t,e=N)=>Ts+`(${Xs(e,Hs(t))})`,Xs=(t,e)=>wt(t,Vs,e),zs="ColumnName",Bs="store",js="json",Js=Bs+"TableName",Qs=Bs+"Id"+zs,Ys=Bs+zs,Ks="autoLoadIntervalSeconds",Zs="rowId"+zs,to="tableId",eo="tableName",ao="deleteEmptyColumns",no="deleteEmptyTable",so="condition",oo={mode:js,[Ks]:1},ro={load:0,save:0,[eo]:m+"_values"},io=t=>Xt(t)?t:void 0,co=t=>xt(t)||Xt(t),lo=(t,e,a,n,s)=>{const o=La();return ke(t,(t,r)=>{const i=zt(Fe(Le(e,Ut(t)?{[a]:t}:t)),0,He(e));$t(i[0])||n(r,i[0])||(s(r,i[0]),ka(o,r,i))}),o},uo=t=>{const e=(t=>Le(oo,Ut(t)?{[Js]:t}:t??{}))(t),a=e[Ks];if(e.mode==js){const t=e[Js]??m;return[1,a,[t,e[Qs]??ms,e[Ys]??Bs],qa(t)]}const{tables:{load:n={},save:s={}}={},values:o={}}=e,r=Le(ro,o),{load:i,save:c}=r,l=[co(i),co(c),r[eo],io(i),io(c)],d=l[2],u=qa(d),w=qa(d),g=lo(n,{[to]:null,[Zs]:ms,[so]:N},to,t=>la(w,t),t=>Ga(u,t)),y=lo(s,{[eo]:null,[Zs]:ms,[ao]:0,[no]:0,[so]:null},eo,(t,e)=>la(w,e),(t,e)=>Ga(u,e));return Aa(y,(t,e)=>e[4]??=Da(g,e[0])?.[2]??N),[0,a,[g,y,l],u]},wo=(t,e,a,n,s=go,o,r,i)=>{const c=La(),l=La();let d=t;return[async()=>{ga(c),ga(l),ce(await a(d,e),({tn:t,cn:e,uq:a})=>{Ga(Ma(c,t,qa),e),a&&Ga(Ma(l,t,qa),e)})},async(t,e,a,n)=>{const s=Pt(n)?void 0:qa(n);return((t,e)=>la(Da(c,t),e))(t,e)?Ae(ge(de(await d(Ns+Hs(t)+Gs(t,a)),t=>{const a=t[e],n=r?$e(Oe(t,e),r):Oe(t,e);return[a,Pt(s)?n:Ae(ge(Pe(n,(t,e)=>[e,t]),([t])=>(t=>Pt(s)||la(s,t))(t)))]}),t=>!Pt(t[0])&&!We(t[1]))):{}},async(t,e,a,r,i,u=!1,w=N,g)=>{const y=Pt(g)?void 0:qa(g),h=t=>Pt(y)||la(y,t),f=qa();ke(a??{},t=>ce(ge(Re(t??{}),h),t=>Ga(f,t)));const v=ua(f);if(Pt(y)&&!u&&i&&w==N&&jt(v)&&la(c,t))return await d("DROP "+Cs+Hs(t)),ka(c,t),void ka(l,t);const b=Da(c,t),S=qa(ge(ua(b),t=>t==e||h(t)));if(!jt(v))if(la(c,t)){if(await te(de([e,...v],async e=>{ha(S,e)||(await d(Is+Hs(t)+"ADD"+Hs(e)+n),Ga(b,e))})),s==go&&!la(Da(l,t),e)){const a=m+"_pk_"+rn(Xe([t,e]));await d("CREATE UNIQUE INDEX IF NOT EXISTS"+Hs(a)+"ON"+Hs(t)+`(${Hs(e)})`),Ga(Ma(l,t,qa),e)}}else await d(Ps+Hs(t)+`(${Hs(e)}${n} PRIMARY KEY${le(de(v,t=>T+Hs(t)+n))});`),ka(c,t,qa([e,...v])),ka(l,t,qa([e]));if(await te([...!u&&r?de(ua(S),async a=>{a!=e&&(await d(Is+Hs(t)+"DROP"+Hs(a)),ha(b,a))}):[]]),u)Pt(a)?Pt(y)&&await d(_s+Hs(t)+Gs(t,w)):await te(Pe(a,async(a,n)=>{if(Pt(a))await d(_s+Hs(t)+Gs(t,w)+`AND(${Hs(e)}=$1)`,[n]);else if(!jt(v)){const r=ge(Re(a),h);jt(r)||await s(d,t,e,r,{[n]:de(r,t=>o?o(a[t]):a[t])},b)}}));else if(jt(v))Pt(y)&&la(c,t)&&await d(_s+Hs(t)+Gs(t,w));else{const n=ge(ua(Da(c,t)),t=>t!=e&&h(t)),r=Ae(),i=[];ke(a??{},(t,e)=>{De(r,e,de(n,e=>o?o(t?.[e]):t?.[e])),fe(i,e)}),await s(d,t,e,n,r,b),await d(_s+Hs(t)+Gs(t,w)+`AND${Hs(e)}NOT IN(${qs(i)})`,i)}},async e=>{if(i)return await i(async t=>{const a=d;return d=t,await Ra(e,()=>{d=a})});await t("BEGIN");try{const a=await e();return await t("END"),a}catch(e){throw await Ta(()=>t("ROLLBACK")),e}}]},go=async(t,e,a,n,s)=>{const o=[1];await t(Es+" INTO"+Hs(e)+"("+Us(a,...n)+")VALUES"+le(Pe(s,t=>"($"+o[0]+++","+qs(t,o)+")"),T)+"ON CONFLICT("+Hs(a)+`)DO ${Rs} SET`+le(de(n,t=>Hs(t)+"=excluded."+Hs(t)),T),Pe(s,(t,e)=>[e,...de(t,t=>t??null)]).flat())},yo=(t,e,a,n,s,o,r,[i,c,l],d,u,w,g,y,h,f,v,b)=>{const[m,S,T,C]=wo(e,d,u,y,h,void 0,void 0,b);return vs(t,()=>C(async()=>(await m(),Je((await S(i,c))[bs]?.[l]??"null"))),t=>C(async()=>{await m(),await T(i,c,{[bs]:{[l]:je(t()??null)}},!0,!0)}),a,n,s,r,{[g]:()=>w,destroy:o},0,w)},ho=(t,e,a,n,s,o,r,[i,c,[l,d,u,w,g]],y,h,f,v,b,m,S,T,C)=>{const[E,p,R,I]=wo(e,y,h,b,m,S,T,C),L=(t,e)=>te(Oa(c,async([a,n,s,o,r],i)=>{e&&!_e(t,i)||await R(a,n,t[i],s,o,e,r)})),_=(t,e,a)=>Ae(1==a?ge(Pe(t,(t,e)=>[e,t]),([t])=>ae(e,t)):ge(de(e,e=>[e,t[e]]),([,t])=>!Pt(t))),N=async(t,e)=>d?await R(u,ms,{[bs]:Pt(g)?t:_(t,g,e)},!0,!0,e,void 0,g):null;return vs(t,()=>I(async()=>{await E();const t=await(async()=>Ae(ge(await te(Oa(i,async([t,e,a],n)=>[t,await p(n,e,a)])),t=>!We(t[1]))))(),e=await(async()=>l?(await p(u,ms,void 0,w))[bs]:{})();return We(t)&&Pt(e)?void 0:[t,e]}),(t,e)=>I(async()=>{if(await E(),Pt(e)){const[e,a]=t();await L(e),await N(a)}else await L(e[0],!0),await N(e[1],!0)}),a,n,s,r,{[v]:()=>f,destroy:o},0,f)},fo=/^([cd]:)(.+)/,vo=La(),bo=(t,e,a,n,s,o,r,i,c,l,d="getDb")=>{const u=Fs(a,o),[w,,g,y]=uo(e);!w&&t.isMergeable()&&ma(0);const h=S+rn(je(g)),f=m+"_"+h,v=l??a,b=async(t,e,a="",n="")=>{const s=Ws(m,t,h);return await u(Ms+$s+xs+s+`()RETURNS ${a}trigger AS $$ ${n}BEGIN ${e}END;$$ LANGUAGE plpgsql;`),s},T=async(t,e,a,n)=>(await u(Ms+t+"TRIGGER"+e+a+"EXECUTE "+xs+n+"()"),e),C=t=>`PERFORM pg_notify('${f}',${t});`,E=(t,e)=>w?N:2===e?E(t,0)+" OR "+E(t,1):Xs(Da(g[0],t)?.[2]??N,0==e?"NEW":"OLD"),p=(t,e)=>te(de([Es,ps,Rs],(a,n)=>T($s,Ws(m,"d",h,t,a),`AFTER ${a} ON${Hs(t)}FOR EACH ROW WHEN(${E(t,n)})`,e))),R=async t=>{jt(t)||await u(`DROP FUNCTION IF EXISTS${le(t,",")}CASCADE`)},I=(t,e)=>{Da(t,h)===e&&(ka(t,h),da(t)&&Da(vo,v)===t&&ka(vo,v))},L=async()=>{const t=Ma(vo,v,()=>La()),e=Da(t,h);if(e)return await e[1],e[0]?(e[0]++,e):(await Ta(()=>e[4]),await L());const a=[],n=[1,void 0,a];ka(t,h,n),n[1]=(async()=>{const t=await b("c",`FOR row IN SELECT object_identity FROM pg_event_trigger_ddl_commands()${Ts} command_tag='${Ps}' LOOP ${C("'c:'||SPLIT_PART(row.object_identity,'.',2)")}END LOOP;`,"event_","DECLARE row record;");fe(a,t),await T("EVENT ",Ws(m,"c",h),`ON ddl_command_end WHEN TAG IN('${Ps}')`,t);const e=await b("d",C("'d:'||TG_TABLE_NAME")+"RETURN NULL;");fe(a,e),n[3]=e,await te(de(ua(y),async t=>(await u(Ps+` IF NOT EXISTS${Hs(t)}("_id"text PRIMARY KEY)`),await p(t,e))))})();try{await n[1]}catch(e){throw n[0]=0,n[4]=Ra(()=>R(a),()=>I(t,n)),await Ta(()=>n[4]),e}return n},_=async t=>{if(0==--t[0]){const e=Da(vo,v);t[4]=Ra(()=>R(t[2]),()=>I(e,t)),await t[4]}};return(w?yo:ho)(t,u,async t=>{const e=await L();try{return[await n(f,a=>{Ca(()=>Ht(dt(a,fo),async([,a,n])=>{la(y,n)&&("c:"==a&&await p(n,e[3]),await t())}),r)}),e]}catch(t){throw await Ca(()=>_(e),r),t}},async([t,e])=>{await Ra(()=>s(t),()=>_(e))},r,i,c,g,ua(y),async(t,e)=>await t(Ss+` c.table_name tn,c.column_name cn,CASE WHEN tc.constraint_type IN('PRIMARY KEY','UNIQUE')AND(${Ss} count(*) FROM information_schema.key_column_usage kcu2 ${Ts} kcu2.constraint_schema=kcu.constraint_schema AND kcu2.constraint_name=kcu.constraint_name)=1 THEN 1 ELSE 0 END uq FROM information_schema.columns c LEFT JOIN information_schema.key_column_usage kcu ON kcu.table_schema=c.table_schema AND kcu.table_name=c.table_name AND kcu.column_name=c.column_name LEFT JOIN information_schema.table_constraints tc ON tc.constraint_schema=kcu.constraint_schema AND tc.constraint_name=kcu.constraint_name ${Ts} c.table_schema='public'AND c.table_name IN(${qs(e)})`,e),l,d,"text",void 0,t=>Xe(t),t=>ze(t))},mo=(t,e,a,n,s,o,r,i,c,l,d="getDb",u,w)=>{let g,y,h;const f=Fs(a,o),[v,b,m,T]=uo(e);return!v&&t.isMergeable()&&ma(0),(v?yo:ho)(t,f,t=>{let e,a,o=1,i=0,c=0;const l=async(e=!0)=>{const[{d:a,s:n,c:s}]=await f(Ss+` ${As} d,${Os} s,TOTAL_CHANGES() c FROM ${Ds}${As} JOIN ${Ds}${Os}`);if(o&&(a!=g||n!=y||s!=h)){const r=e&&!c&&!Mt(g);g=a,y=n,h=s,r&&o&&await t()}},d=()=>{Pt(e)||(Tt(e),e=void 0)},u=(n=!1)=>{if(a)return a;const s=Ra(()=>Ca(async()=>{for(i?n&&await l():(await l(!1),i=1);o&&c;)c=0,await l(!1),o&&(await t(),await l())},r),()=>{a==s&&(a=void 0),o&&(c?u():o&&Pt(e)&&(e=St(()=>u(!0),b)))});return a=s,s},w=n(t=>{o&&la(T,t)&&(c=1,d(),gt.resolve().then(()=>o?void u():0))});return u().then(()=>async()=>{o=0,c=0,d(),await Ra(async()=>await a,async()=>{g=y=h=null,await s(w)})})},t=>t(),r,i,c,m,ua(T),async(t,e)=>await t(Ss+` t.name tn,c.name cn,c.pk OR EXISTS(${Ss} 1 FROM ${Ds}index_list(t.name)i,${Ds}index_info(i.name)ii ${Ts} i."unique"=1 AND ii.name=c.name AND(${Ss} count(*) FROM ${Ds}index_info(i.name))=1)uq FROM ${ks}list()t,${ks}info(t.name)c ${Ts} t.schema='main'AND t.type IN('table','view')AND t.name IN(${qs(e)})ORDER BY t.name,c.name`,e),l,d,S,u,t=>xt(t)?1:Vt(t)?0:t,void 0,w)},So=t=>_e(Object.prototype,t)||"prototype"==t||ct(t,"\0")?"\0"+t:t,To=t=>ct(t,"\0")?zt(t,1):t,Co=(t,e)=>Ne(t,So(e)),Eo=(t,e,a)=>t[So(e)]=a,po=(t,e)=>Oe(t,So(e)),Ro=(t,e)=>{const a=Co(t,e);return[a.t,a.v]},Io=(t,e=t=>t)=>{const a=Ae();return ke((t=>pe(t)?t:ma(1))(t),(t,n)=>De(a,To(n),e(t))),a},Lo=(t,e)=>{const a=Co(t,e);return pe(a?.t)&&pe(a?.v)?((t,e)=>{const[a,n]=Ro(t,e);return[Io(a,t=>Io(t,t=>Io(t))),Io(n)]})(t,e):void 0},_o=(t,e,a)=>(Pt(Co(t,e))&&Eo(t,e,a()),Co(t,e)),No=(t,e,a,n)=>{const s=Pt(e)?t:_o(t,e,()=>({}));let o;return ke(a,(t,e)=>{n(s,e,t)&&(o=1)}),ke(s,(t,e)=>{const n=To(e);_e(a,n)||(Oe(s,e),o=1)}),!Pt(e)&&We(s)&&po(t,e),o},Do=(t,e,a=m,n)=>(e.change(t=>_o(t,a,()=>({}))),vs(t,async()=>Lo(e.doc(),a),async(t,n)=>e.change(e=>((t,e,a,n)=>{((t,e)=>{We(Co(t,e))&&Eo(t,e,{t:{},v:{}})})(t,e);const[s,o]=Ro(t,e);if(!Ht(n,([t,e])=>Me(t,(t,e)=>Pt(t)?(po(s,e),!0):Ht(Co(s,e),e=>Me(t,(t,a)=>Pt(t)?(po(e,a),!0):Ht(Co(e,a),e=>(ke(t,(t,a)=>Pt(t)?po(e,a):Eo(e,a,t)),!0),()=>!1)),()=>!1))&&Me(e,(t,e)=>(Pt(t)?po(o,e):Eo(o,e,t),!0)))){const[t,e]=a();No(s,void 0,t,(t,e,a)=>No(s,e,a,(t,e,a)=>No(t,e,a,(t,e,a)=>{if(Co(t,e)!==a)return Eo(t,e,a),1}))),No(o,void 0,e,(t,e,a)=>{Co(o,e)!==a&&Eo(o,e,a)})}})(e,a,t,n)),t=>Rt(e,et,({doc:e})=>{Ca(()=>Ht(Lo(e,a),t,()=>ma(1)),n)}),t=>t(),n,1,{getDocHandle:()=>e})),Ao=(t,e,a,n)=>vs(t,async()=>Je(a.getItem(e)),async t=>a.setItem(e,je(t())),t=>pt(vt,nt,s=>{s.storageArea===a&&s.key===e&&Ca(()=>t(Je(s.newValue)),n)}),t=>t(),n,3,{getStorageName:()=>e}),Oo=(t,e,a)=>Ao(t,e,localStorage,a),ko=(t,e,a)=>Ao(t,e,sessionStorage,a),Mo=(t,e,a)=>vs(t,async()=>Je(await(await e.getFile()).text()),async t=>{const a=await e.createWritable();let n=0;await Ra(async()=>{await a.write(je(t())),n=1},async()=>{n?await a.close():await Ta(()=>a.abort())})},async t=>{const a=new FileSystemObserver(()=>t());return await a.observe(e),a},t=>t?.disconnect(),a,3,{getHandle:()=>e}),Po=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>await e.execO(t,a),t=>e.onUpdate((e,a,n)=>t(n)),t=>t(),n,s,Yt,1,e),$o=(t,e,...a)=>t.exec(e,...a).toArray(),xo=(t,e,a,n,s)=>"fragmented"==a?.mode?Ho(t,e,a?.storagePrefix??S,s):mo(t,a,async(t,a=[])=>ae(["BEGIN","END"],t)?[]:(t=wt(t,/\$\d+/g,"?"),$o(e,t,...a)),()=>Yt,t=>t(),n,s,Yt,2,e,"getSqlStorage"),Vo=()=>Mn(Ae(),S,0),Fo=t=>Jt(/^[a-zA-Z_][a-zA-Z0-9_]*$/,t)?t:Hs(t),Ho=(t,e,a=S,n)=>{const s=wt(a,/[^a-zA-Z0-9_]/g,"_"),o=Fo(s+"tinybase_tables"),r=Fo(s+"tinybase_values"),i=`INSERT INTO ${o} (type, table_id, row_id, cell_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?, ?, ?, ?)`,c=`INSERT INTO ${r} (value_id, value_data, timestamp, hash) VALUES (?, ?, ?, ?)`,l=(t,e)=>Xe([t,e]);e.exec(`\n CREATE TABLE IF NOT EXISTS ${o} (\n type TEXT NOT NULL,\n table_id TEXT,\n row_id TEXT,\n cell_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL,\n PRIMARY KEY (type, table_id, row_id, cell_id)\n );\n \n CREATE TABLE IF NOT EXISTS ${r} (\n value_id TEXT,\n value_data TEXT NOT NULL,\n timestamp TEXT NOT NULL,\n hash INTEGER NOT NULL\n );\n `);const d=(t,e,a)=>$t(a)?e+" IS NULL":(fe(t,a),e+" = ?"),u=(t,a,n,s,r,c)=>{((t,a,n)=>{const s=[ot];e.exec(`DELETE FROM ${o} WHERE type = ? AND `+d(s,"table_id",t)+" AND "+d(s,"row_id",a)+" AND "+d(s,"cell_id",n),...s)})(t,a,n),e.exec(i,ot,t,a,n,s,r,c)},w=(t,a,n,s)=>{(t=>{const a=[];e.exec(`DELETE FROM ${r} WHERE `+d(a,"value_id",t),...a)})(t),e.exec(c,t,a,n,s)};return vs(t,async()=>{const t=Vo(),a=Vo(),n=qa(),s=$o(e,"SELECT * FROM "+o);return ce(s,e=>{const a=Mt(e.table_id)?null:mt(e.table_id),s=Mt(e.row_id)?null:mt(e.row_id),o=Mt(e.cell_id)?null:mt(e.cell_id),r=mt(e.value_data),i=mt(e.timestamp),c=bt(e.hash),[d]=Je(r);if(!$t(a)&&!$t(s)&&$t(o)&&pe(d)){const e=qe(t[0],a,Vo);De(e[0],s,[d,i,c]),Ga(n,l(a,s))}}),ce(s,e=>{const a=mt(e.type),s=Mt(e.table_id)?null:mt(e.table_id),o=Mt(e.row_id)?null:mt(e.row_id),r=Mt(e.cell_id)?null:mt(e.cell_id),i=mt(e.value_data),c=mt(e.timestamp),d=bt(e.hash),[u]=Je(i);if(a===ot)if($t(s)||$t(o)||$t(r)){if($t(s)||$t(o))if($t(s))Vn(t,c,d);else{const e=qe(t[0],s,Vo);Vn(e,c,d)}else if(!pe(u)){const e=qe(t[0],s,Vo),a=qe(e[0],o,Vo);Vn(a,c,d)}}else if(!la(n,l(s,o))){const e=qe(t[0],s,Vo),a=qe(e[0],o,Vo);De(a[0],r,[u,c,d])}}),ce($o(e,"SELECT * FROM "+r),t=>{const e=Mt(t.value_id)?null:mt(t.value_id),n=mt(t.value_data),s=mt(t.timestamp),o=bt(t.hash),[r]=Je(n);$t(e)?Vn(a,s,o):De(a[0],e,[r,s,o])}),[t,a]},async(t,[[a,n,s],[r,i,c]]=t())=>{const[l]=t()[0];u(null,null,null,je([0]),n,s),ke(a,([t,a,n],s)=>{u(s,null,null,je([0]),a,n),ke(t,([t,a,n],r)=>{const i=l[s]?.[0]?.[r]?.[0]??t;((t,a)=>{e.exec(`DELETE FROM ${o} WHERE type = ? AND table_id = ? AND row_id = ? AND cell_id IS NOT NULL`,ot,t,a)})(s,r),u(s,r,null,je([i]),a,n)})}),w(null,je([0]),i,c),ke(r,(t,e)=>{w(e,je([t[0]]),t[1],t[2])})},Yt,Yt,n,2,{getSqlStorage:()=>e})},Wo=()=>Mn(Ae(),S,0),Uo=(t,e,a=S,n)=>{const s=(t,...e)=>a+t+zt(Xe(e),1,-1);return vs(t,async()=>{const t=Wo(),n=Wo();return Aa(await e.list({prefix:a}),(e,[s,o,r])=>Ht((t=>{if(ct(t,a)){const e=zt(t,Bt(a),Bt(a)+1);if(e==ot||e==rt){const n=Sa(()=>ze("["+zt(t,Bt(a)+1)+"]"));if(Xt(n)&&Bt(n)<=(e==ot?3:1)&&se(n,Ut))return[e,...n]}}})(e),([e,...a])=>e==ot?Ht(a[0],e=>{const n=qe(t[0],e,Wo);Ht(a[1],t=>{const e=qe(n[0],t,Wo);Ht(a[2],t=>De(e[0],t,[s,o,r]),()=>Vn(e,o,r))},()=>Vn(n,o,r))},()=>Vn(t,o,r)):e==rt?Ht(a[0],t=>De(n[0],t,[s,o,r]),()=>Vn(n,o,r)):0)),We(t[0])&&We(n[0])?void 0:[t,n]},async(t,[[a,n,o],[r,i,c]]=t())=>{const l=La();ka(l,s(ot),[0,n,o]),ke(a,([t,e,a],n)=>{ka(l,s(ot,n),[0,e,a]),ke(t,([t,e,a],o)=>{ka(l,s(ot,n,o),[0,e,a]),ke(t,(t,e)=>ka(l,s(ot,n,o,e),t))})}),ka(l,s(rt),[0,i,c]),ke(r,(t,e)=>ka(l,s(rt,e),t));const d=Oa(l,(t,e)=>[e,t]);await e.transaction(async t=>{for(let e=0;e<Bt(d);e+=128)await t.put(Ae(zt(d,e,e+128)))})},Yt,Yt,n,2,{getStorage:()=>e})},qo=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>await e.db.raw({sql:t,args:a}),t=>e.notifier.subscribeToDataChanges(a=>ce(e.notifier.alias(a),({tablename:e})=>t(e))),t=>t(),n,s,Yt,1,e,"getElectricClient"),Go=(e,a,n,s,o)=>mo(e,n,async(t,e=[])=>await a.getAllAsync(t,e),e=>t(({tableName:t})=>e(t)),t=>t.remove(),s,o,Yt,3,a),Xo=(t,f,v)=>{let b;return vs(t,async()=>Je(await l(f,k)),async t=>{const e=await Ta(()=>d(f)),a=e?.isSymbolicLink()?await Ta(()=>u(f))??y(h(f),await o(f)):f,n=(await Ta(()=>w(a)))?.mode,s=a+"."+sn()+".tmp",l=je(t()),v=b;b=l,await Ra(async()=>{try{await r(s,l,k),await Ht(n,t=>i(s,4095&t)),await c(s,a)}catch(t){throw b=v,t}},()=>Ta(()=>g(s)))},t=>{a(f)||n(f,S,k);const e=()=>(async()=>await Ta(async()=>{const e=await l(f,k);e!=b&&(b=e,t())},()=>{null!==b&&(b=null,t())}))();return s(f,{interval:50},e),e},t=>e(f,t),v,3,{getFilePath:()=>f})},zo=[ot,rt],Bo={keyPath:"k"},jo=async(t,e,a)=>Zt((n,s)=>{const o=t[e](a);o.onsuccess=()=>n(o.result),o.onerror=()=>s(ba(11,e))}),Jo=(t,e,a=1,n)=>{const s=async(t,a=[],n=0,s="readonly")=>Zt((o,r)=>{const i=(vt?vt.indexedDB:indexedDB).open(e,n?2:void 0);let c=0;i.onupgradeneeded=()=>n&&ce(zo,t=>Ea(()=>i.result.createObjectStore(t,Bo))),i.onblocked=()=>{c=1,r(ba(12))},i.onsuccess=()=>c?i.result.close():Ta(async()=>{i.result.onversionchange=()=>i.result.close();const e=i.result.transaction(zo,s),n=Zt((t,a)=>{e.oncomplete=()=>t(),e.onerror=e.onabort=()=>a(ba(11))}),[r]=await te([te(de(zo,(n,s)=>t(e.objectStore(n),a[s]))),n]);i.result.close(),o(r)},t=>{i.result.close(),r(t)}),i.onerror=()=>r(ba(12))}),o=async()=>await s(async t=>Ae(de(await jo(t,"getAll"),({k:t,v:e})=>[t,e])));return vs(t,o,t=>s((t,e)=>(async(t,e)=>{const a=Pe(e,(e,a)=>jo(t,"put",{k:a,v:e}));ce(await jo(t,"getAllKeys"),n=>_e(e,n)?0:fe(a,jo(t,"delete",n))),await te(a)})(t,e),t(),1,"readwrite"),t=>o().then(e=>{let s,r=1,i=je(e);const c=St(()=>{if(r&&!s){const e=Ra(()=>Ca(async()=>{const e=await o();if(r){const a=je(e);a!=i&&(i=a,await t(e))}},n),()=>{s==e&&(s=void 0)});s=e}},a);return async()=>{r=0,Tt(c),await s}}),async t=>await t(),n,1,{getDbName:()=>e})},Qo=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>(await e.execute({sql:t,args:a})).rows,()=>Yt,t=>t(),n,s,Yt,1,e,"getClient",void 0,"file"==e.protocol?void 0:async t=>{n?.("BEGIN");const a=await e.transaction("write");return await Ra(async()=>{try{const e=await t(async(t,e=[])=>(n?.(t,e),(await a.execute({sql:t,args:e})).rows));return await a.commit(),n?.("END"),e}catch(t){throw await Ta(()=>a.rollback()),n?.("ROLLBACK"),t}},()=>a.close())}),Yo="s",Ko="/store",Zo=(t,e,a)=>t+e+(Ut(a)?a:je(a)),tr=(t,e,a)=>{const n=Bt(t);return Ut(e)&&Bt(e)>n&&ct(e,t)?a?Sa(()=>[e[n],Je(zt(e,n+1))]):[e[n],mt(zt(e,n+1))]:void 0},er=(t,e,a,n)=>{const{host:s,room:o}=e.partySocketOptions,{storeProtocol:r="https",storePath:i=Ko,messagePrefix:c=S}={...Ut(a)?{storeProtocol:a}:a},l=r+"://"+s+"/parties/"+e.name+"/"+o+i,d=async t=>{const e=await fetch(l,{...t?{method:"PUT",body:Be(t)}:{},mode:"cors",cache:"no-store"});if(!e.ok)throw e;const a=await e.text();return jt(a)?void 0:ze(a)};return vs(t,d,async(t,a)=>{a?e.send(Zo(c,Yo,a)):await d(t())},t=>pt(e,Z,e=>{Ta(async()=>await Ht(tr(c,e.data,1),async([e,a])=>{e==Yo&&await t(void 0,a)}),n)}),t=>t(),n,1,{getConnection:()=>e})},ar="hasStore",nr=Ae(de(["Origin","Methods","Headers"],t=>["Access-Control-Allow-"+t,"*"])),sr=(t,e,a)=>pe(t)&&Me(t,t=>Pt(t)?a:e?sr(t,e-1,a):Ke(t)),or=(t,e)=>Xt(t)&&Bt(t)==(e?3:2)&&(!e||1==t[2])&&sr(t[0],2,e)&&sr(t[1],0,e),rr=async(t,e=S)=>!!await t.get(e+ar),ir=async(t,e=S)=>{const a=Ae(),n=Ae();return Aa(await t.list({prefix:e}),(t,s)=>Ht(tr(e,t),([t,e])=>{t==ot?Ht(Sa(()=>ze("["+e+"]")),t=>{if(Xt(t)&&3==Bt(t)&&se(t,Ut)){const[e,n,o]=t;De(qe(qe(a,e,Ae),n,Ae),o,s)}}):t==rt&&De(n,e,s)})),[a,n]},cr=async(t,e,a)=>t.party.broadcast(Zo(t.config.messagePrefix??S,Yo,e),a),lr=async(t,e,a,n)=>{const s=t.party.storage,o=t.config.storagePrefix??S,r=Ae(),i=Ae(),c=Ae(),l=[],d=[],u=t=>qe(r,t,Ae),w=(t,e)=>qe(u(t),e,Ae);return await te(Pe(e[0],async(e,i)=>{Pt(e)?!a&&await t.canDelTable(i,n)&&(be(d,dr(o,ot,i)),De(r,i,void 0)):await t.canSetTable(i,a,n)&&await te(Pe(e,async(e,r)=>{Pt(e)?!a&&await t.canDelRow(i,r,n)&&(fe(d,dr(o,ot,i,r)),De(u(i),r,void 0)):await t.canSetRow(i,r,a,n)&&await te(Pe(e,async(e,d)=>{const u=[i,r,d],g=dr(o,ot,...u);Pt(e)?!a&&await t.canDelCell(...u,n)&&(fe(l,g),De(w(i,r),d,void 0)):await t.canSetCell(...u,e,a,n,await s.get(g))&&(De(c,g,e),De(w(i,r),d,e))}))}))})),await te(Pe(e[1],async(e,r)=>{const d=o+rt+r;Pt(e)?!a&&await t.canDelValue(r,n)&&(fe(l,d),De(i,r,void 0)):await t.canSetValue(r,e,a,n,await s.get(d))&&(De(c,d,e),De(i,r,e))})),a&&(We(e[0])&&We(e[1])||!We(r)||!We(i))&&De(c,o+ar,1),await s.transaction(async t=>{if(a&&await t.get(o+ar))return!1;const e=zt(l,0);return jt(d)||Aa(await t.list({prefix:o}),t=>Ht(ye(d,e=>ct(t,e)),()=>fe(e,t))),await t.delete(e),We(c)||await t.put(c),!0})?[r,i,1]:void 0},dr=(t,e,...a)=>Zo(t,e,zt(Be(a),1,-1)),ur=async(t,e,a=null)=>new Response(a,{status:e,headers:t.config.responseHeaders});class wr{constructor(t){this.party=t,this.config.storePath??=Ko,this.config.messagePrefix??=S,this.config.storagePrefix??=S,this.config.responseHeaders??=nr}party;config={};saveQueue=Zt(t=>t());async runExclusive(t){let e;const a=this.saveQueue;return this.saveQueue=Zt(t=>e=t),await a,await Ra(t,e)}async onRequest(t){const{party:{storage:e},config:{storePath:a=Ko,storagePrefix:n}}=this;if(lt(new URL(t.url).pathname,a)){const a=await t.text();if("PUT"==t.method){const s=Sa(()=>ze(a));return or(s,!1)?await this.runExclusive(async()=>await rr(e,n)?ur(this,205):ur(this,await lr(this,s,!0,t)?201:205)):ur(this,400)}const s=await rr(e,n);return ur(this,200,s?Be(await ir(e,n)):S)}return ur(this,404)}async onMessage(t,e){const{config:{messagePrefix:a=S,storagePrefix:n}}=this;await Ht(tr(a,t,1),async([t,a])=>t==Yo&&or(a,!0)?await this.runExclusive(async()=>{if(await rr(this.party.storage,n)){const t=await lr(this,a,!1,e);!t||We(t[0])&&We(t[1])||await cr(this,t,[e.id])}}):0)}async canSetTable(t,e,a){return!0}async canDelTable(t,e){return!0}async canSetRow(t,e,a,n){return!0}async canDelRow(t,e,a){return!0}async canSetCell(t,e,a,n,s,o,r){return!0}async canDelCell(t,e,a,n){return!0}async canSetValue(t,e,a,n,s){return!0}async canDelValue(t,e){return!0}}const gr=async(t,e,a,n,s)=>bo(t,a,async(t,a=[])=>(await e.query(t,a)).rows,(t,a)=>e.listen(t,a),t=>Ta(t,s),n,s,Yt,3,e,"getPglite"),yr=async(t,e,a,n,s)=>{const o=await(e.reserve?.());try{return bo(t,a,o?.unsafe,async(t,a)=>e.listen(t,a),t=>Ta(t.unlisten,s),n,s,()=>o?.release?.(),3,e,"getSql")}catch(t){throw await(o?.release?.()),t}},hr=(t,e,a,n,s)=>{let o;return mo(t,a,async(t,a=[])=>e.execute(t,a).then(t=>t.rows?._array??[]),t=>{const a=new AbortController,n=e.onChange({signal:a.signal});return Ca(async()=>{for await(const t of n)o&&ce(t.changedTables,o)},s),o=t,a},t=>{o=void 0,t.abort()},n,s,Yt,1,e,"getPowerSync",fr)},fr=async(t,e,a,n,s)=>{const o=le(de(n,(t,e)=>Hs(t)+"=$"+(e+1)),T);for(const[r,i]of Pe(s,(t,e)=>[e,t])){const s=de(i,t=>t??null);if(jt(await t(Rs+Hs(e)+" SET"+o+" "+Ts+Hs(a)+"=$"+(Bt(i)+1)+" RETURNING"+Hs(a),[...s,r]))){const o=[1];await t(Es+" INTO"+Hs(e)+"("+Us(a,...n)+")VALUES("+qs([r,...i],o)+")",[r,...s])}}},vr=(t,e,a=nt,n)=>vs(t,async()=>{const t=e.getString(a);return Pt(t)?void 0:Je(t)},async t=>{const n=t();Pt(n)||e.set(a,je(n))},t=>e.addOnValueChangedListener(s=>{s===a&&Ta(async()=>{const n=e.getString(a);Pt(n)||await t(Je(n))},t=>Sa(()=>n?.(t)))}),t=>{t.remove()},n,3,{getStorageName:()=>a}),br=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>(await e.executeSql(t,a))[0].rows.raw(),Yt,Yt,n,s,Yt,3,e),mr=t=>t.headers.get("ETag")??S,Sr=t=>t==S?void 0:{"If-None-Match":t},Tr=(t,e)=>{if(!(t.ok||e&&304==t.status))throw t},Cr=(t,e,a,n=5,s)=>{let o,r=S;return vs(t,async()=>{const t=await fetch(e,{headers:Sr(r)}),a=304==t.status&&!Pt(o);Tr(t,a?1:void 0);const n=a?o:await t.text(),s=ze(n);return a||(o=n,r=mr(t)),s},async t=>{const e=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:Be(t())});await Ra(async()=>Tr(e),()=>e.body?.cancel())},t=>{let a,o,i=!1;return[St(()=>{!i&&Pt(a)&&(o=new AbortController,a=Ra(()=>Ta(async()=>{const a=await fetch(e,{method:"HEAD",headers:Sr(r),signal:o?.signal});Tr(a,1),i||304==a.status||mr(a)==r||await t()},t=>i?0:Sa(()=>s?.(t))),()=>{a=void 0,o=void 0}))},n),async()=>{i=!0,o?.abort(),await a}]},async([t,e])=>{const a=e();Tt(t),await a},s,1,{getUrls:()=>[e,a]})},Er=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>e.query(t).all(...a),()=>Yt,t=>t(),n,s,Yt,3,e),pr=(t,e,a,n,s,o)=>mo(t,n,async(t,e=[])=>de(a.exec(t,{bind:e,rowMode:"object",returnValue:"resultRows"}),t=>({...t})),t=>e.capi.sqlite3_update_hook(a,(e,a,n,s)=>t(s),0),()=>e.capi.sqlite3_update_hook(a,Yt,0),s,o,Yt,3,a),Rr=(t,e,a,n,s)=>mo(t,a,async(t,a=[])=>await Zt((n,s)=>e.all(t,a,(t,e)=>t?s(t):n(e))),t=>Rt(e,et,(e,a,n)=>t(n)),t=>t(),n,s,Yt,3,e),Ir="delete",Lr=t=>t instanceof f?t:ma(1),_r=t=>[Lr(t.get(ot)),Lr(t.get(rt))],Nr=(t,e)=>{const a=Ae();return Lr(t).forEach((t,n)=>De(a,n,e?e(t):t)),a},Dr=t=>Nr(t,t=>Nr(t,t=>Nr(t))),Ar=t=>{const[e,a]=_r(t);return[Dr(e),Nr(a)]},Or=(t,e,a,n)=>{const s=Pt(e)?t:t.get(e)??t.set(e,new f);let o;return ke(a,(t,e)=>{n(s,e,t)&&(o=1)}),s.forEach((t,e)=>{_e(a,e)||(s.delete(e),o=1)}),Pt(e)||s.size||t.delete(e),o},kr=(t,e,a=m,n)=>{const s=e.getMap(a);return vs(t,async()=>s.size?Ar(s):void 0,async(t,a)=>e.transact(()=>((t,e,a)=>{t.size||(t.set(ot,new f),t.set(rt,new f));const[n,s]=_r(t);if(!Ht(a,([t,e])=>Me(t,(t,e)=>Pt(t)?(n.delete(e),!0):Ht(n.get(e),e=>Me(t,(t,a)=>Pt(t)?(e.delete(a),!0):Ht(e.get(a),e=>(ke(t,(t,a)=>Pt(t)?e.delete(a):e.set(a,t)),!0),()=>!1)),()=>!1))&&Me(e,(t,e)=>(Pt(t)?s.delete(e):s.set(e,t),!0)))){const[t,a]=e();Or(n,void 0,t,(t,e,a)=>Or(n,e,a,(t,e,a)=>Or(t,e,a,(t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1}))),Or(s,void 0,a,(t,e,a)=>{s.get(e)!==a&&s.set(e,a)})}})(s,t,a)),t=>{const e=e=>{Ca(()=>t(void 0,((t,e)=>{if(1==Bt(e)&&jt(e[0].path))return[...Ar(t),1];const[a,n]=_r(t),s=Ae(),o=Ae();return ce(e,({path:t,changes:{keys:e}})=>t[0]==ot?Ht(t[1],n=>{const o=qe(s,n,Ae),r=Lr(a.get(n));Ht(t[2],t=>{const a=qe(o,t,Ae),n=Lr(r.get(t));Aa(e,(t,{action:e})=>De(a,t,e==Ir?void 0:n.get(t)))},()=>Aa(e,(t,{action:e})=>De(o,t,e==Ir?void 0:Nr(r.get(t)))))},()=>Aa(e,(t,{action:e})=>De(s,t,e==Ir?void 0:Nr(a.get(t),t=>Nr(t))))):Aa(e,(t,{action:e})=>De(o,t,e==Ir?void 0:n.get(t)))),[s,o,1]})(s,e)),n)};return s.observeDeep(e),e},t=>{s.unobserveDeep(t)},n,1,{getYDoc:()=>e})},Mr="_",Pr=Ba(t=>{const e=t._[0],a=e(),n=e(),s=La(),o=La(),r=qa(),i=La(),c=La(),l={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},d=La(),u=La(),w=La(),g=La(),{_:[,y,h],delListener:f}=n,[v,b,m,T,C,E,p,R,,I,L,_]=Xa(t,()=>[],Qt,y,h),N=t=>Ma(o,t,e),D=(t,e,...a)=>ce(a,a=>Ga(Ma(e,t,qa),a)),A=t=>Aa(t,(t,e)=>ya(e,e=>t.delListener(e))),O=(t,e,a,...n)=>{const s=Ma(e,t,qa);return ce(n,e=>{Ga(s,e),a&&t.callListener(e)}),n},k=(t,e,a)=>Ht(Da(e,t),n=>{t.delListener(a),ha(n,a),da(n)&&ka(e,t)}),x=(t,e=La())=>{const a=Ma(w,t,La);Aa(a,(t,n)=>{Aa(n,(a,s)=>la(Da(e,t),a)?0:(t.delListener(s),ka(n,a))),da(n)&&ka(a,t)}),Aa(e,(e,n)=>{const s=Ma(a,e,La);ya(n,a=>Ma(s,a,()=>e.addTableCellIdsListener(a,()=>j(t))))}),da(a)&&ka(w,t)},V=()=>{Aa(s,t=>T(t)?0:ka(s,t)),Aa(o,(t,e)=>T(t)||((t,e)=>!(wa(i,([,t])=>wa(t,([t])=>t!==e))&&wa(g,e=>!la(e,t))&&se([d,u],t=>wa(t,t=>!la(t,e)))))(t,e)?0:ka(o,t))},H=(t,e,a)=>{D(t,a,t.addWillFinishTransactionListener(e.startTransaction)),D(t,a,t.addDidFinishTransactionListener(()=>e.finishTransaction()))},W=(t,e)=>(We(e)?a.delRow:a.setRow)(Mr,t,{...e}),j=(a,n)=>{const o=[La(),La(),void 0,La(),qa()];let r=!1;return Ea(()=>((a,n,s,o)=>N(a).transaction(()=>Ht(((t,e)=>Pt(e)?E(t):[e[1],S,e[2]])(a,s),([r,,i])=>{const[c,l]=n,d=s?.[0]??C(a),u=i?N(d):t,w=N(a),g=s?.[3]??Y(a),y=n[4];i&&Ga(y,d);const h=[];let f=!1,v=0;const b=[[void 0,[d,void 0,void 0,[],La(),u]]],m=[],T=[],E=[];if(r({select:(t,e,a)=>{const n=xt(t)?e:t,s=xt(t)?a:e,o=Gt(t)?[0,v+S,t]:Pt(s)?[0,t,e=>e(t)]:[0,s,e=>xt(t)?e(!0,n,s):e(n,s)];return v++,fe(h,o),{as:t=>o[1]=t}},selectAll:(t,e,a)=>{f=!0;const n=xt(t)?e:t,s=xt(t)?a:e;fe(h,[1,n,Gt(s)?s:t=>(s??S)+t])},join:(e,a,n,s)=>{const o=xt(e)?a:e,[r,i]=xt(e)?Pt(s)||Gt(n)?[void 0,n]:[n,s]:Pt(n)||Gt(a)?[void 0,a]:[a,n],c=xt(e),l=c?N(o):t;c&&Ga(y,o);const d=[o,[o,r,Gt(i)?i:t=>t(i),[],La(),l]];return fe(b,d),{as:t=>d[0]=t}},where:(t,e,a,n)=>fe(m,Gt(t)?t:xt(t)?t=>t(!0,e,a)===n:Pt(a)?a=>a(t)===e:n=>n(t,e)===a),group:(t,e,a,n,s)=>{const o=[t,[t,Gt(e)?[e,a,n,s]:Da(ss,e)??[(t,e)=>e]]];return fe(T,o),{as:t=>o[0]=t}},having:(t,e)=>fe(E,Gt(t)?t:a=>a(t)===e),param:t=>Ne(g,t)}),w.delTable(a),jt(h))return o?.(),K;const p=La(b);Aa(p,(t,[,e])=>Ht(Da(p,e),({3:e})=>Pt(t)?0:fe(e,t)));const R=La(T),I=!da(R)||!jt(E),L=[],_=n[3],A=t=>Da(p,Pt(t)||t===d?void 0:t);ce(h,([t,e,a])=>{t?I&&Ht(A(e),([t,,,,,n])=>{Ga(Ma(_,n,qa),t),ce(ie(n.getTableCellIds(t)),t=>fe(L,[a(t),a=>Pt(e)||e===d?a(t):a(e,t)]))}):fe(L,[e,a])});const M=La(L);if(I&&da(M))return o?.(),K;const P=I?n[2]=e():w;if(I){const t=La();Aa(R,(e,[a,n])=>Ga(Ma(t,a,qa),[e,n]));const e=qa();Aa(M,a=>la(t,a)?0:Ga(e,a));const n=La(),s=t=>Pt(t)?void 0:ta(t),o=(e,n,s,o)=>Ht(e,([r,i,c,l])=>{Aa(n,(e,[a])=>{const n=Ma(r,e,La),i=Da(n,s),c=o?void 0:a;if(i!==c){const a=qa([[i,c]]),o=oa(n);ka(n,s,c),ya(Da(t,e),([t,e])=>{const s=os(l[t],o,n,a,e);De(l,t,Pt(Ye(s))?void 0:s)})}}),da(i)||!se(E,t=>t(t=>l[t]))?w.delRow(a,c):Pt(c)?e[2]=w.addRow(a,{...l}):w.setRow(a,c,{...l})});D(P,c,P.addRowListener(a,null,(r,i,c,l)=>{const d=[],u=[],w=La(),g=P.hasRow(a,c);let y=!g;ya(e,t=>{const[e,n,o]=l(a,c,t);fe(d,s(n)),fe(u,s(o)),y||=e}),Aa(t,t=>{const[e,,n]=l(a,c,t);(y||e)&&ka(w,t,[n])}),y&&o(Ua(n,d,void 0,([,t])=>(ha(t,c),da(t))),w,c,1),g&&o(Ua(n,u,()=>{const t=Ae();return ya(e,e=>De(t,e,P.getCell(a,c,e))),[La(),qa(),void 0,t]},([,t])=>{Ga(t,c)}),w,c)}))}const $=(t,e,n,s,o)=>{const r=t=>e.getCell(n,s,t);ce(o,e=>{const[a,,n,s,o,i]=Da(p,e),c=n?.(r,t),d=Da(o,t),u=d?.[0];c!=u&&(Ht(d,([,t,e])=>k(t,l,e)),ka(o,t,Pt(c)?void 0:[c,i,...O(i,l,1,i.addRowListener(a,c,()=>$(t,i,a,c,s)))]))}),(t=>{const e=(e,a,n)=>{const s=xt(e)?a:e,o=xt(e)?n:a;if(Pt(o))return u.getCell(d,t,e);if(s===d&&!xt(e))return u.getCell(d,t,o);const r=Da(p,s);return Pt(r)?void 0:r[5].getCell(r[0],Da(r[4],t)?.[0],o)};P.transaction(()=>{if(se(m,t=>t(e)))if(I)Aa(M,(n,s)=>P._[5](a,t,n,s(e,t)));else if(f){const n=Ae();ce(h,([a,s,o])=>{if(a)Ht(A(s),([e,,,,a,r])=>{const i=Pt(s)||s===d?t:Da(a,t)?.[0];Ht(i,t=>ce(ie(r.getCellIds(e,t)),a=>De(n,o(a),r.getCell(e,t,a))))});else{const a=o(e,t),r=s;Pt(a)?Oe(n,r):De(n,r,a)}}),We(n)?P.delRow(a,t):P.setRow(a,t,n)}else Aa(M,(n,s)=>P._[5](a,t,n,s(e,t)));else P.delRow(a,t)})})(t)},{3:x}=Da(p,void 0),V=(t,e,n)=>{u.hasRow(d,n)?$(n,u,d,n,x):(P.delRow(a,n),ya(p,({4:t})=>Ht(Da(t,n),([,e,a])=>{k(e,l,a),ka(t,n)})))};return P.transaction(()=>{ce(u.getRowIds(d),t=>V(0,0,t)),O(u,l,0,u.addRowListener(d,null,V))}),I&&H(P,w,c),H(u,P,c),o?.(),K})))(a,o,n,()=>{Ht(n,t=>J(a,t)),A(Da(d,a)),A(Da(u,a)),ka(d,a,da(o[0])?void 0:o[0]),ka(u,a,da(o[1])?void 0:o[1]),ka(s,a,o[2]),x(a,o[3]),ka(g,a,da(o[4])?void 0:o[4]),r=!0}),t=>{throw r||(A(o[0]),A(o[1])),V(),t}),K},J=(t,[e,n,s,o])=>{Ht(E(t),([,t])=>a.delListener(t)),Ga(r,t),pa(()=>{R(t,e),p(t,[n,a.addRowListener(Mr,t,()=>la(r,t)?0:j(t),!0),s]),W(t,o)},()=>ha(r,t))},Q=t=>(Ht(E(t),([,t])=>a.delListener(t)),a.delRow(Mr,t),(t=>{A(Da(d,t)),ka(d,t),ce([Da(o,t),Da(s,t)],e=>e?.delTable(t))})(t),(t=>{A(Da(u,t)),ka(u,t)})(t),x(t),ka(g,t),I(t),V(),K),Y=t=>a.getRow(Mr,t),K={setQueryDefinition:(t,e,a,n,s={})=>{const[o,r,i,c]=xt(e)?[a,n,1,s]:[e,a,0,n??{}];return j(t,[o,r,i,c]),V(),K},delQueryDefinition:Q,getParamValues:Y,getParamValue:(t,e)=>a.getCell(Mr,t,e),setParamValues:(t,e)=>(T(t)&&W(t,e),K),setParamValue:(t,e,n)=>(T(t)&&a.setCell(Mr,t,e,n),K),getStore:v,getQueryIds:b,forEachQuery:m,hasQuery:T,getTableId:C,forEachResultTable:t=>m(e=>N(e).hasTable(e)?t(e,t=>K.forEachResultRow(e,t)):0),addQueryIdsListener:t=>L(()=>t(K)),addParamValuesListener:(t,e)=>"p"+a.addRowListener(Mr,t,(t,a,n)=>e(K,n,Y(n))),addParamValueListener:(t,e,n)=>"p"+a.addCellListener(Mr,t,e,(t,e,a,s,o)=>n(K,a,s,o)),delListener:t=>{const e=Da(i,t);if("p"==t[0])a.delListener(zt(t,1));else if(Pt(e))f(t);else{const[a,n,s]=e;Aa(n,(t,[e,a])=>e.delListener(a)),Ht(s,f),ka(i,t),f(t),l[a]--}return V(),K},destroy:()=>{ce(b(),Q),_()},getListenerStats:()=>({...l,paramValues:a.getListenerStats().row-Bt(b()),paramValue:a.getListenerStats().cell})};return ke({[F]:[2,1],[F+B]:[1,1],[q]:[1,1],[G]:[1,1],[X]:[1,5],[U]:[3,2],[B]:[1,2],[z]:[3,3]},([t,e],a)=>{ce(zt(["get","has","forEach"],0,t),t=>De(K,t+P+a,(...e)=>(Da(o,e[0])??n)[t+a](...e))),De(K,$+P+a+M,(...t)=>((n,s)=>{const o=y(Qt,c),r=La(),d=()=>{const n=null==s?b():[s];ce(n,n=>{return la(r,n)?0:ka(r,n,[N(n),(s=N(n),s[$+a+M](...((t,e)=>5==e?[t[0],t[1]??void 0,t[2],t[3],t[4]]:zt(t,0,e))(t,e),(a,...n)=>t[e](K,...n),!0))]);var s}),Aa(r,(t,[e,a])=>null==s&&T(t)||t==s?0:(e.delListener(a),void ka(r,t)))};return d(),ka(i,o,[n,r,null==s?L(d):void 0]),l[n]++,o})((t=>t[0].toLowerCase()+zt(t,1))(a),t[0]))}),Ie(K)}),$r=Ba(t=>{const e=La(),a=La(),n=La(),s=La(),[o,r,i]=Qa(()=>C),[c,l,d,u,w,g,,,y,h,f,v]=Xa(t,()=>[La(),La(),La(),La()],t=>Pt(t)?void 0:t+S,o,r),b=(t,e,a)=>Ht(g(t),([n,,s])=>{if(!la(s,e)){const o=qa();if(w(t)!=T(t))Ga(o,e);else{let t=e;for(;!Pt(t)&&!la(o,t);)Ga(o,t),t=Da(n,t)}if(a)return o;ka(s,e,o)}return Da(s,e)}),m=(t,e)=>Ht(g(t),([,,t])=>ka(t,e)),T=t=>Da(e,t),C={setRelationshipDefinition:(t,o,i,c)=>(ka(e,t,i),y(t,o,(e,o)=>{const i=qa(),c=qa(),l=qa(),[d,u]=g(t);ya(o,([e,a],n)=>{Pt(e)||(Ga(c,e),Ht(Da(u,e),t=>{ha(t,n),da(t)&&ka(u,e)})),Pt(a)||(Ga(c,a),la(u,a)||ka(u,a,qa()),Ga(Da(u,a),n)),Ga(i,n),ka(d,n,a),Aa(Da(s,t),e=>{la(b(t,e),n)&&Ga(l,e)})}),e(),ya(i,e=>r(a,[t,e])),ya(c,e=>r(n,[t,e])),ya(l,e=>{m(t,e),r(s,[t,e])})},za(c)),C),delRelationshipDefinition:t=>(ka(e,t),h(t),C),getStore:c,getRelationshipIds:l,forEachRelationship:e=>d(a=>e(a,e=>t.forEachRow(w(a),e))),hasRelationship:u,getLocalTableId:w,getRemoteTableId:T,getRemoteRowId:(t,e)=>Da(g(t)?.[0],e),getLocalRowIds:(t,e)=>ua(Da(g(t)?.[1],e)),getLinkedRowIds:(t,e)=>Pt(g(t))?[e]:ua(b(t,e,!0)),addRelationshipIdsListener:f,addRemoteRowIdListener:(t,e,n)=>o(n,a,[t,e]),addLocalRowIdsListener:(t,e,a)=>o(a,n,[t,e]),addLinkedRowIdsListener:(t,e,a)=>(b(t,e),o(a,s,[t,e])),delListener:t=>(m(...i(t)??[]),C),destroy:v,getListenerStats:()=>({remoteRowId:ia(a),localRowIds:ia(n),linkedRowIds:ia(s)})};return Ie(C)}),xr="\n",Vr=/^([-0-9A-Z_a-z]{16})\n(\d+)\n(\d+)\n([\s\S]*)$/,Fr=/^[^\n]*\n[-0-9A-Z_a-z]{16}\n\d+\n\d+\n/,Hr=/[\n\r?#]/,Wr=16777216,Ur=1e3,qr=t=>{let e=0;for(let a=0;a<Bt(t);a++){const n=t.charCodeAt(a);n<128?e++:n<2048?e+=2:n>=55296&&n<=56319&&t.charCodeAt(a+1)>=56320&&t.charCodeAt(a+1)<=57343?(e+=4,a++):e+=3}return e},Gr=t=>t>Wr,Xr=m,zr="S";var Br=(t=>(t[t.Hello=0]="Hello",t[t.Subscribe=1]="Subscribe",t[t.Unsubscribe=2]="Unsubscribe",t))(Br||{});const jr=(t,e)=>{let a=!0;return n=>{a&&(a=!1,pa(()=>e?.(n),()=>t.close(ct(n.message,m+":"+va)?1013:1007,n.message)))}},Jr=t=>qt(t)&&Ot(t)&&kt(t)&&t>=0&&t<=4294967295,Qr=(t,e)=>pe(t)&&Me(t,t=>e?Qr(t,e-1):Jr(t)),Yr=(t,e)=>Xt(t)&&(1==Bt(t)||2==Bt(t)&&Ut(t[1])&&_n(t[1],1/0))&&(e?pe(t[0])&&Me(t[0],t=>Yr(t,e-1)):Ke(t[0])),Kr=t=>Xt(t)&&2==Bt(t)&&Jr(t[0])&&Jr(t[1]),Zr=(t,e,a)=>($t(t)||Ut(t))&&qt(e)&&Ot(e)&&kt(e)&&((t,e)=>0==t?(t=>Kr(t)||Yr(t,3)||Yr(t,1)||Xt(t)&&2==Bt(t)&&Yr(t[0],3)&&(Qr(t[1],0)||Qr(t[1],1)))(e):1==t?e===S:2==t?Kr(e):3==t?(t=>Xt(t)&&(2==Bt(t)||3==Bt(t)&&1===t[2])&&Yr(t[0],3)&&Yr(t[1],1))(e):4==t?Qr(e,0):5==t?Qr(e,1):6==t?Qr(e,2):7==t&&Qr(e,0))(e,a),ti=(t,e=!1)=>Sa(()=>{const a=Je(t);return Xt(a)&&3==Bt(a)&&(Zr(a[0],a[1],a[2])||e&&($t(a[0])||Ut(a[0]))&&-1==a[1])?a:void 0}),ei=(t,e)=>{const a=t.indexOf(xr);return-1!==a&&(e(zt(t,0,a),zt(t,a+1)),!0)},ai=(t,e=1,a)=>{const n=La();let s=0,o=!0;const r=(t,e)=>{Et(e[4]),s-=e[5],ha(n,t)},i=(t=ba(fa))=>{o&&(o=!1,Aa(n,(t,e)=>Et(e[4])),ga(n),s=0,a?.(t))};return a=>{o&&(Gr(qr(a))?i(ba(va,dt(a,Fr)?"fragments":"socket")):ei(a,(a,o)=>{const c=ti(o);if(c)return void t(a,[o],...c);const[,l,d,u,w]=dt(o,Vr)??[];if(l){const c=parseInt(d),g=parseInt(u);if(g>1e3)return void i(ba(va,"fragments"));if(g>0&&c>=0&&c<g){const d=a+xr+l;let u=Da(n,d);if(!u){if(oa(n)>=100)return void i(ba(va,"fragments"));u=[[],[],g,g,Ct(()=>{const t=Da(n,d);t&&r(d,t)},e),0],ka(n,d,u)}const[y,h]=u;if(g!=u[3]||!Pt(y[c]))return void i();{const t=qr(w);if(s+t>Wr)return void i(ba(va,"fragments"));y[c]=w,h[c]=o,u[2]--,u[5]+=t,s+=t}return void(0==u[2]&&(r(d,u),((e,a,n)=>{const s=ti(n);s?t(e,a,...s):i()})(a,h,le(y))))}}i()})||i())}},ni=(t,e)=>(t.bufferedAmount??0)+e>Wr,si=(t,e=1,a)=>ai((e,a,n,s,o)=>t(e,n,s,o),e,a),oi=(t,e)=>t+xr+e,ri=(t,e)=>oi("M",oi(t,e)),ii=(t,e)=>{let a=!1;return ei(t,(t,n)=>{"M"==t&&ei(n,(t,n)=>{di(t)&&(a=!0,e(t,n))})}),a},ci=(t,e,a)=>oi(zr,je([t,-1,[e,a]])),li=(t,e)=>{let a=!1;return ei(t,(t,n)=>{if(t==zr){const[t,s,o]=ti(n,!0)??[],r=o?.[0],i=o?.[1];-1==s&&Xt(o)&&2==Bt(o)&&(0==r?Ut(t)&&1==i:1==r?Ut(t)&&Ut(i)&&di(i):2==r&&$t(t)&&Ut(i)&&di(i))&&(a=!0,e(t,r,i))}}),a},di=t=>!jt(t)&&!Hr.test(t)&&se(ut(t,"/"),t=>!jt(t)&&"."!=t&&".."!=t),ui=(t,e,a,n,s,o,r,i)=>{const c=La(),l=La();let d=!1;const u=(t,e,a)=>s(ci(t,e,a)),w=t=>{ha(c,t),ha(l,t)};return[s=>{if(Gr(qr(s)))return void r(ba(va,"socket"));const g=li(s,(n,s,o)=>{const r=((n,s,o)=>{if(0==s)d=!0,u(n,s,o);else if(d&&1==s){if(!la(c,o)){const a=t+(t?"/":S)+o,[r,i]=e(a,o);return ka(c,o,r),u(n,s,o),i?i.catch(t=>{throw w(o),t}):void 0}u(n,s,o)}else if(d&&2==s){const t=Da(c,o);if(w(o),!Pt(t))return(async()=>a(t))()}})(n,s,o);r?.catch(t=>Sa(()=>i?.(t)))}),y=ii(s,(t,e)=>{const a=d?Da(c,t):void 0;Pt(a)?r(ba(fa)):Ma(l,t,()=>ai((t,e)=>n(a,t,e),o,r))(e)});g||y||r(ba(fa))},()=>Ra(()=>te(Oa(c,async t=>a(t))),()=>{ga(c),ga(l)})]},wi=(t,e,a,n,s)=>{const o=t??S,r=je([e,a,n]),i=Nt(s??0);if(Pt(s)||i<1)return[oi(o,r)];const c=((t,e)=>{const a=[];let n=S,s=0;for(let o=0;o<Bt(t);o++){const r=t.charCodeAt(o);let i=zt(t,o,o+1);r>=55296&&r<=56319&&t.charCodeAt(o+1)>=56320&&t.charCodeAt(o+1)<=57343&&(i+=zt(t,++o,o+1));const c=qr(i);s>0&&s+c>e&&(fe(a,n),n=S,s=0),n+=i,s+=c}return fe(a,n),a})(r,It(i,_t(qr(r)/1e3)+3)),l=Bt(c);if(1==l)return[oi(o,r)];const d=sn();return de(c,(t,e)=>oi(o,le([d,e,l,t],xr)))},gi={Response:0,GetContentHashes:1,ContentHashes:2,ContentDiff:3,GetTableDiff:4,GetRowDiff:5,GetCellDiff:6,GetValueDiff:7},yi=(t,e,a,n,s,o,r,i,c={},l=Yt)=>{let d,u=0,w=0,g=0,y=!1;const h=La(),f=()=>sn(11),v=t=>Aa(h,(e,[,,a,n])=>{Et(n),ha(h,e),a(t)}),b=(t,a,n,s)=>{w++,o?.(t,a,n,s),e(t,a,n,s)},m=async(t,e,a,n)=>Zt((o,r)=>{if(oa(h)>=100)return void r(ba(va,"requests"));const i=n+C+sn(4),c=Ct(()=>{ha(h,i),r(ba(3,(t??S)+C+i+C+e))},s);ka(h,i,[t,(t,e)=>{Et(c),ha(h,i),o([t,e,n])},r,c]);try{b(t,i,e,a)}catch(t){Et(c),ha(h,i),r(t)}}),T=(t,[e,a])=>{ke(e,([e,a],n)=>{const s=qe(t[0],n,Fn);ke(e,([t,e],a)=>{const n=qe(s[0],a,Fn);ke(t,([t,e],a)=>De(n[0],a,kn(t,e))),n[1]=xn(n[1],e)}),s[1]=xn(s[1],a)}),t[1]=xn(t[1],a)},E=(e=null,a,n=f())=>Ta(async()=>{Pt(a)&&([a,e,n]=await m(null,1,S,n));const[s,o]=a,[r,i]=t.getMergeableContentHashes();let c=Fn();if(r!=s){const[a,s]=(await m(e,4,t.getMergeableTableHashes(),n))[0];if(c=a,!We(s)){const[a,o]=(await m(e,5,t.getMergeableRowHashes(s),n))[0];if(T(c,a),!We(o)){const a=(await m(e,6,t.getMergeableCellHashes(o),n))[0];T(c,a)}}}return[c,i==o?Fn():(await m(e,7,t.getMergeableValueHashes(),n))[0],1]},i),p=vs(t,async()=>{const t=await E();return!t||We(t[0][0])&&We(t[1][0])?void 0:t},async(e,a)=>a?b(null,f(),3,a):b(null,f(),2,t.getMergeableContentHashes()),t=>d=t,()=>d=void 0,i,2,{startSync:async t=>(u=1,await p.startAutoPersisting(t)),stopSync:async()=>(u=0,await p.stopAutoPersisting(),p),destroy:async()=>(y=!0,v(ba(3,"destroyed")),l(),await p.stopSync(),n(),p),getSynchronizerStats:()=>({sends:w,receives:g}),...c},1);return a((e,a,n,s)=>{if(y)return;if(!Zr(a,n,s))return void i?.(ba(fa));const o=u||p.isAutoLoading();g++,r?.(e,a,n,s),0==n?Ht(Da(h,a),([t,a])=>$t(t)||t==e?a(s,e):0):2==n&&o?E(e,s,a??void 0).then(t=>{d?.(void 0,t)}).catch(i):3==n&&o?d?.(void 0,s):Ht(1==n&&(u||p.isAutoSaving())?t.getMergeableContentHashes():4==n?t.getMergeableTableDiff(s):5==n?t.getMergeableRowDiff(s):6==n?t.getMergeableCellDiff(s):7==n?t.getMergeableValueDiff(s):void 0,t=>{b(e,a,0,t)})},v),p},hi=(t,e,a,n,s)=>{const o=sn(),r=new BroadcastChannel(e);return yi(t,(t,e,a,n)=>r.postMessage([o,t,e,a,n]),t=>{r.onmessage=({data:e})=>{if(Xt(e)&&5==Bt(e)){const[a,n,s,r,i]=e;if(Ut(a)&&($t(n)||Ut(n))&&Zr(s,r,i))return void(($t(n)||n==o)&&t(a,s,r,i))}s?.(ba(fa))}},()=>{r.onmessage=null,r.close()},.01,a,n,s,{getChannelName:()=>e})},fi=La(),vi=(t,e,a,n)=>{const s=sn(),o=qa();return yi(t,(t,e,a,n)=>{const r=$t(t)?[]:[t];$t(t)&&Aa(fi,t=>t!=s?fe(r,t):0);const i=Ct(()=>{ha(o,i),ce(r,t=>Da(fi,t)?.(s,e,a,n))});return Ga(o,i),i},t=>{ka(fi,s,t)},()=>{ha(fi,s)},.01,e,a,n,{},()=>{ya(o,Et),ga(o)})},bi=_a(),mi=new WeakSet,Si=()=>{let t,e;const a=Zt((a,n)=>{t=a,e=n});return a.catch(()=>0),[a,t,e]},Ti=async(t,e,a=1,...n)=>Ut(a)?(async(t,e,a,n,s,o,r,i)=>{mi.has(e)&&ma(9);const c=bi.get(e),l=c??(()=>{const t=(t=>{const e=La(),a=La(),n=[];let s,o,r=Si(),i=!1,c=!1,l=!1,d=()=>{},u=!1,w=0,g=0;const y=(t,e)=>Sa(()=>t[6]?.(e)),h=t=>Aa(e,(e,a)=>y(a,t)),f=(e,a)=>{y(e,a),d(),Sa(()=>t.close())},v=jr(t,h),b=(e,a)=>fe(n,pt(t,e,a)),m=t=>Aa(a,(e,[,,n,s])=>{Et(s),ha(a,e),n(t)}),T=t=>Aa(e,(e,a)=>Sa(()=>a[11]?.(t))),C=t=>{ce(t[1],([,t])=>Et(t)),w-=Bt(t[1]),g-=t[8],he(t[1]),t[8]=0},E=(t,e=!1)=>{ce(t[2],([,t])=>Et(t)),w-=t[10],g-=t[9],he(t[2]),t[9]=0,t[10]=0,e&&(t[7]=void 0)},p=a=>{const n=ba(va,a);return u||c||(u=!0,i=!1,h(n),m(n),T(n),Aa(e,(t,e)=>{C(e),E(e,!0),e[3]=!1,e[4]=void 0}),s&&(Et(s),s=void 0),t.close(1013,n.message)),n},R=(e,n,s)=>{const o=sn();return Zt((r,i)=>{if(oa(a)>=100)return void i(p("controls"));const c=ci(o,e,n),l=qr(c);if(Gr(l)||ni(t,l))return void i(p("socket"));const d=Ct(()=>{ha(a,o),i(ba(4,e))},s);ka(a,o,[e,r,i,d]);try{t.send(c)}catch(t){Et(d),ha(a,o),i(t)}})},I=t=>we(t,(t,e)=>t+qr(e),0),L=(t,e)=>{const a=I(e);if(w+Bt(e)>Ur||g+a>Wr)return p("client"),!1;const n=[e,Ct(()=>((t,e)=>{const a=ne(t[2],e);if(a>-1){t[2]=ge(t[2],(t,e)=>e!=a);const n=zt(e[0],e[2]),s=I(n);t[9]-=s,t[10]-=Bt(n),w-=Bt(n),g-=s}})(t,n),t[5]),0];return fe(t[2],n),t[9]+=a,t[10]+=Bt(e),w+=Bt(e),g+=a,!0},_=()=>{s??=Ct(()=>{s=void 0,Aa(e,D)},.01)},N=(e,a,n,s)=>{if(t.readyState!=t.OPEN)return s?a[7]=s:L(a,n),!1;for(let o=0;o<Bt(n);o++){const r=ri(e,n[o]),i=qr(r);if(Gr(i))return p("client"),!1;if(ni(t,i)){if(s)a[7]=s;else if(!L(a,zt(n,o)))return!1;return _(),!1}try{t.send(r)}catch(t){if(s)a[7]=s;else if(!L(a,zt(n,o)))return!1;return f(a,t),!1}}return!0},D=(e,a)=>{if(!i||!a[3])return;const n=a[2];let s=0;for(;s<Bt(n);){const o=n[s],r=o[0];let i=o[2];for(;i<Bt(r);){const c=r[i],l=ri(e,c),d=qr(l);if(Gr(d))return he(n,s),void p("client");if(ni(t,d))return he(n,s),void _();try{t.send(l)}catch(t){return void f(a,t)}r[i]=S,o[2]=++i;const u=qr(c);a[9]-=u,a[10]--,g-=u,w--}Et(o[1]),s++}he(n,s);const o=a[7];o&&(a[7]=void 0,N(e,a,o(),o))},A=async(t,a,n)=>{if(!a[3]){let s=a[4];s||(s=(async()=>{await r[0],await R(Br.Subscribe,t,n),Da(e,t)===a&&i&&(a[3]=!0,D(t,a))})(),a[4]=s);try{await s}finally{a[4]===s&&(a[4]=void 0)}}},O=()=>{if(c||o?.[0]===r)return;l=!1,u=!1;const t=r,a=(async()=>{try{await R(Br.Hello,1,(()=>{let t=!0,a=1;return Aa(e,(e,n)=>{const s=n[5];(t||s<a)&&(t=!1,a=s)}),a})()),r===t&&(i=!0,t[1](),Aa(e,(t,e)=>A(t,e,e[5]).catch(t=>t.message==ba(5).message?0:y(e,t))))}catch(e){t[2](e),e.message!=ba(5).message&&h(e)}})();o=[t,a],a.finally(()=>{o?.[1]===a&&(o=void 0)})};d=()=>{if(!c&&!l){l=!0;const t=u;u=!1,i=!1;const a=ba(5);t||h(a),r[2](a),m(a),T(a),s&&(Et(s),s=void 0),r=Si(),Aa(e,(t,e)=>{e[3]=!1,e[4]=void 0})}};const M=d;b(Z,({data:t})=>{const n=t.toString(k);if(Gr(qr(n)))return void v(ba(va,"socket"));const s=li(n,(t,e,n)=>{const s=t?Da(a,t):void 0;s?.[0]==e&&(Et(s[3]),ha(a,t),s[1]())}),o=ii(n,(t,a)=>{const n=Da(e,t);n?n[0]?n[0](a):((t,e)=>{const a=qr(e);if(w>=Ur||g+a>Wr)return void p("client");const n=[e,Ct(()=>((t,e)=>{const a=ne(t[1],e);if(a>-1){t[1]=ge(t[1],(t,e)=>e!=a);const n=qr(e[0]);t[8]-=n,w--,g-=n}})(t,n),t[5])];fe(t[1],n),t[8]+=a,w++,g+=a})(n,a):v(ba(fa))});s||o||v(ba(fa))}),b(Y,O),b(K,M),b(tt,t=>{h(t),T(ba(5))});const P=()=>{if(da(e)&&!c){c=!0;const e=ba(8);m(e),s&&(Et(s),s=void 0),ce(n,t=>Sa(t)),he(n),bi.delete(t),u||Sa(()=>t.close())}},$=a=>{const n=Da(e,a);if(n)try{if(C(n),E(n,!0),i&&n[3]){const e=ci(null,Br.Unsubscribe,a),n=qr(e);Gr(n)||ni(t,n)?p("socket"):t.send(e)}}catch(t){y(n,t)}finally{ha(e,a),P()}};return{addChannel:async(a,n,s)=>{di(a)||ma(6,a),la(e,a)&&ma(7,a);const o=[void 0,[],[],!1,void 0,n,s,void 0,0,0,0,void 0];if(ka(e,a,o),t.readyState==t.OPEN)O();else if(t.readyState>t.OPEN){const t=ba(5);y(o,t),r[2](t)}try{await A(a,o,n)}catch(t){throw $(a),t}},delChannel:$,destroyIfEmpty:P,invalid:v,registerReceive:(t,a,n)=>{const s=Da(e,t);if(s){s[0]=a,s[11]=n;const t=s[1];let e=0;pa(()=>{for(;e<Bt(t);){const[n,o]=t[e];Et(o);const r=qr(n);s[8]-=r,w--,g-=r,e++,a(n)}},()=>he(t,e))}},send:(a,n,s)=>{const o=Da(e,a);o&&(i&&t.readyState==t.OPEN&&o[3]&&!Bt(o[2])&&!o[7]?N(a,o,n,s):s?o[7]=s:L(o,n))}}})(e);return bi.set(e,t),t})();try{await l.addChannel(a,n,r)}catch(t){throw c||l.destroyIfEmpty(),t}try{return yi(t,(e,n,s,o)=>l.send(a,wi(e,n,s,o,i),null!=e||2!=s&&3!=s?void 0:()=>wi(null,n,2,t.getMergeableContentHashes(),i)),(t,e)=>l.registerReceive(a,si(t,n,l.invalid),e),()=>l.delChannel(a),n,s,o,r,{getWebSocket:()=>e})}catch(t){throw l.delChannel(a),t}})(t,e,a,n[0]??1,n[1],n[2],n[3],n[4]):(async(t,e,a=1,n,s,o,r)=>{bi.has(e)&&ma(10);let i=!0,c=!1,l=()=>{};const d=t=>Sa(()=>o?.(t)),u=yi(t,(t,...a)=>{ce(wi(t,...a,r),t=>{if(c)return;const a=qr(t);Gr(a)||ni(e,a)?(()=>{if(!c){c=!0;const t=ba(va,"socket");d(t),e.close(1013,t.message)}})():e.send(t)})},(t,n)=>{const s=jr(e,d),o=si(t,a,s);let r=[];l=()=>{ce(r,t=>Sa(t)),he(r)};const c=()=>{Sa(()=>n(ba(5))),l()};r=[pt(e,Z,({data:t})=>o(t.toString(k))),pt(e,K,()=>{i||c()}),pt(e,tt,t=>{i||(d(t),c())})]},()=>{l(),e.close()},a,n,s,o,{getWebSocket:()=>e});return mi.add(e),Zt((t,a)=>{let n=()=>{};const s=(t,s=t)=>{d(s),n(),l(),mi.delete(e),Sa(()=>e.close()),a(t)};if(e.readyState!=e.OPEN){if(e.readyState>e.OPEN)return void s(ba(5));const a=[pt(e,Y,()=>{i=!1,n(),t(u)}),pt(e,tt,t=>s(ba(5),t)),pt(e,K,()=>s(ba(5)))];n=()=>{ce(a,t=>Sa(t)),he(a)}}else i=!1,t(u)})})(t,e,a,n[0],n[1],n[2],n[3]),Ci=/\/([^?]*)/,Ei="S",pi=t=>dt(new URL(t.url).pathname,Ci)?.[1]??S,Ri=t=>"websocket"==t.headers.get("upgrade")?.toLowerCase()?t.headers.get("sec-websocket-key"):null,Ii=(t,e=null,a=null)=>new Response(a,{status:t,webSocket:e}),Li=()=>Ii(426,null,"Upgrade required");class _i extends v{#t;#e=_a();constructor(t,e){super(t,e),this.ctx.blockConcurrencyWhile(async()=>await Ht(await this.createPersister(),async t=>{const e=this.getRequestTimeoutSeconds(),a=yi(t.getStore(),(t,e,a,n)=>ce(wi(t,e,a,n,this.getFragmentSize()),t=>this.#a(Ei,t)),t=>this.#t=si(t,e),Yt,e);await t.load(),await t.startAutoSave(),Ct(a.startSync)}))}fetch(t){const e=pi(t);return Ht(Ri(t),t=>{const[a,n]=Fe(new WebSocketPair);return jt(this.#n())&&this.onPathId(e,1),this.ctx.acceptWebSocket(n,[t,e]),this.onClientId(e,t,1),n.send(oi(Ei,je([null,1,S]))),Ii(101,a)},Li)}webSocketMessage(t,e){Ht(this.ctx.getTags(t)[0],a=>{let n=this.#e.get(t);n||(n=ai((e,n)=>ce(n,n=>this.#a(a,oi(e,n),t)),this.getRequestTimeoutSeconds(),jr(t,t=>this.onIgnoredError(t))),this.#e.set(t,n)),n(e.toString())})}webSocketClose(t){this.#e.delete(t);const[e,a]=this.ctx.getTags(t);this.onClientId(a,e,-1),1==Bt(this.#n())&&this.onPathId(a,-1)}#a(t,e,a){ei(e.toString(),(e,n)=>{const s=oi(t,n);this.onMessage(t,e,n),e==S?(t!=Ei&&this.#t?.(s),ce(this.#n(),t=>{t!=a&&t.send(s)})):e==Ei?this.#t?.(s):e!=t&&this.#n(e)[0]?.send(s)})}#n(t){return this.ctx.getWebSockets(t)}createPersister(){}getPathId(){return Ht(this.#n()[0],t=>this.ctx.getTags(t)?.[1]??S)??S}getClientIds(){return de(this.#n(),t=>this.ctx.getTags(t)[0])}getFragmentSize(){}getRequestTimeoutSeconds(){return 1}onIgnoredError(t){}onPathId(t,e){}onClientId(t,e,a){}onMessage(t,e,a){}}const Ni=t=>(e,a)=>Ri(e)?a[t].get(a[t].idFromName(pi(e))).fetch(e):Li(),Di=/\/([^?]*)/,Ai=t=>{const e=La(),a=La(),n=[];let s;fe(n,Rt(t,tt,Yt));const o=(t,e,n)=>fe(Ma(a,t,()=>[[]])[0],Rt(t,e,n)),r=t=>{const e=Da(a,t);return e[2]??(e[2]=Ra(async()=>e[1]?.(),()=>{ce(e[0],t=>Sa(t)),ha(a,t)}))},i=(t,e)=>{const a=qr(e);Gr(a)||ni(t,a)?(t=>{if(t.readyState==t.OPEN){const e=ba(va,"socket");t.close(1013,e.message)}})(t):t.readyState==t.OPEN&&t.send(e)},c=([t,e],a)=>i(t,Pt(e)?a:ri(e,a)),l=(t,a,n,s)=>ce(s,s=>((t,a,n)=>ei(n,(n,s)=>{const o=Da(e,t),r=oi(a,s);n===S?Aa(o,(t,e)=>t!==a?c(e,r):0):Ht(Da(o,n),t=>c(t,r))}))(t,a,oi(n,s))),d=(t,a,n)=>ka(Ma(e,t,La),a,n),u=(t,a)=>{const n=Da(e,t);la(n,a)&&(ha(n,a),da(n)&&ha(e,t))},w=Rt(t,at,(t,e)=>{ka(a,t,[[]]),o(t,tt,Yt),o(t,K,()=>r(t).catch(Yt)),Ht(dt(e.url,Di),([,n])=>Ht(e.headers["sec-websocket-key"],e=>t.protocol==Xr?((t,e,n)=>{const s=jr(t),[r,c]=ui(n,(a,n)=>(d(a,e,[t,n]),[a]),t=>u(t,e),(t,a,n)=>l(t,e,a,n),e=>i(t,e),1,s);o(t,Z,t=>r(t.toString(k))),Da(a,t)[1]=c})(t,e,n):((t,e,n)=>{d(n,e,[t]);const s=ai((t,a)=>l(n,e,t,a),1,jr(t));o(t,Z,t=>s(t.toString(k))),Da(a,t)[1]=()=>u(n,e)})(t,e,n)))});fe(n,w);const g=async()=>{let e,n=!1;const s=async t=>{try{await t()}catch(t){n||(e=t),n=!0}};if(await te([s(()=>Zt((e,a)=>t.close(t=>Pt(t)?e():a(t)))),...de(Na(a),t=>s(()=>(t=>{const e=Da(a,t),n=()=>e[2]??r(t);return t.readyState==t.CLOSED?n():Ra(()=>Zt((e,a)=>{const n=Rt(t,K,()=>{n(),e()});try{t.close()}catch(t){n(),a(t)}}),n)})(t)))]),n)throw e};return Ie({getWebSocketServer:()=>t,destroy:()=>(s||(Sa(w),s=Ra(g,()=>{ce(n,t=>Sa(t)),Aa(a,(t,[e])=>ce(e,t=>Sa(t))),ga(e),ga(a)})),s)})},Oi=/\/([^?]*)/,ki=(t,e,a,n=1,s)=>{const o=La(),r=La(),i=La(),c=qa(),l=[],d=La();let u;const w=t=>{Sa(()=>a?.(t))};fe(l,Rt(t,tt,w));const[g,,y,,h]=Qa(()=>D),f=(...t)=>{Ea(()=>h(...t),w)},v=(t,e,a)=>fe(Ma(d,t,()=>[]),Rt(t,e,a)),b=(t,e)=>{if(t.readyState==t.OPEN){const a=ba(va,e);pa(()=>w(a),()=>t.close(1013,a.message))}},m=([t,e],a)=>{const n=Pt(e)?a:ri(e,a),s=qr(n);Gr(s)||ni(t,s)?b(t,"socket"):t.readyState==t.OPEN&&t.send(n)},T=t=>{t[7]&&(Et(t[7]),t[7]=void 0),t[4]=[],t[6]=0},C=(t,e)=>{t[4]=ge(t[4],([t])=>t!=e),t[6]=we(t[4],(t,[,e])=>t+qr(e),0),Bt(t[4])||T(t)},E=(t,e,a)=>{const n=t[0],s=t[1];ei(a,(t,a)=>{const o=oi(e,a);t===S?(e!==zr&&s?.[3]?.(o),Aa(n,(t,a)=>t!==e?m(a,o):0)):t===zr?s?.[3]?.(o):Ht(Da(n,t),t=>m(t,o))})},p=(t,e,a,s)=>ce(s,s=>((t,e,a)=>{const s=t[1];!t[4]&&la(t[0],e)&&1==s[0]?E(t,e,a):!t[4]&&la(t[0],e)&&((t,e,a)=>{const s=t[1],o=s[4],r=((t,e)=>{let a;return ei(e,(e,n)=>{2==ti(n)?.[1]&&(a=t+xr+e)}),a})(e,a),i=r?(c=([,,t])=>t==r,o.findIndex(c)):-1;var c;const l=i>-1?qr(o[i][1]):0,d=qr(a);if(i<0&&Bt(o)>=Ur||s[6]+d-l>Wr)return C(s,e),void Ht(Da(t[0],e),([t])=>b(t,"server"));const u=[e,a,r];i>-1?o[i]=u:fe(o,u),s[6]+=d-l,s[7]??=Ct(()=>(t=>{const e=t[1],a=qa();ce(e[4],([e])=>Ht(Da(t[0],e),([t])=>Ga(a,t))),T(e),ce(ua(a),t=>b(t,"server"))})(t),10*n)})(t,e,a)})(t,e,oi(a,s))),R=(t,e)=>(e[4]||(e[4]=(async()=>{let a,n=!1;if(await Ta(()=>e[2]),await Ta(()=>e[3]),T(e[1]),await Ta(()=>(async t=>{let e,a=!1;const n=t=>{a||(e=t),a=!0};if(await Ta(()=>t[1]?.destroy(),n),await Ta(()=>t[2]?.destroy(),n),a)throw e})(e[1]),t=>{a=t,n=!0}),ga(e[0]),Da(i,t)===e&&(ha(i,t),f(o,void 0,t,-1)),n)throw a})()),e[4]),I=async(t,e,a)=>{const n=e[0];la(n,a)&&(C(e[1],a),ha(n,a),f(r,[t],a,-1),da(n)&&await R(t,e))},L=(t,a,c)=>{const l=Da(i,t),d=!l||l[4]?((t,a)=>{const r=[La(),[0,void 0,void 0,void 0,[],void 0,0]];return ka(i,t,r),a||f(o,void 0,t,1),r[2]=(async(t,a)=>{const o=t[1],r=await(e?.(a));Pt(r)?o[0]=1:(o[0]=2,o[1]=Xt(r)?r[0]:r,o[2]=yi(o[1].getStore(),(e,a,n,o)=>ce(wi(e,a,n,o,s),e=>E(t,zr,e)),t=>{o[3]=si(t,n)},Yt,n,void 0,void 0,w),o[5]=Xt(r)?r[1]:t=>0)})(r,t),r})(t,!!l):l;return ka(d[0],a,c),f(r,[t],a,1),[d,(async()=>{let e,n=!1;if(await Ta(async()=>{await d[2],la(d[0],a)&&!d[4]&&await(t=>{const e=t[1];return t[3]||(t[3]=(async()=>{2==e[0]&&await(async t=>{t[0]=3,await t[1].startAutoLoad(),await t[1].startAutoSave(),await t[2].startSync(),t[5](t[1].getStore()),t[0]=1})(e);const a=e[4];T(e),ce(a,([e,a])=>E(t,e,a))})()),t[3]})(d)},t=>{e=t,n=!0}),n)throw await Ta(()=>I(t,d,a),w),e})()]},_=Rt(t,at,(t,e)=>{Ga(c,t),v(t,tt,w),u?t.close():Ht(dt(e.url,Oi),([,a])=>Ht(e.headers["sec-websocket-key"],e=>{t.protocol==Xr?((t,e,a)=>{const s=jr(t,w),[o,r]=ui(a,(a,n)=>{const[s,o]=L(a,e,[t,n]);return[[a,s],o]},([t,a])=>I(t,a,e),([,t],a,n)=>p(t,e,a,n),e=>{const a=qr(e);Gr(a)||ni(t,a)?b(t,"socket"):t.readyState==t.OPEN&&t.send(e)},n,s,w);v(t,Z,t=>o(t.toString(k))),v(t,K,()=>r().catch(w))})(t,e,a):(async(t,e,a)=>{const[s,o]=L(a,e,[t]),r=ai((t,a)=>p(s,e,t,a),n,jr(t,w));v(t,Z,t=>r(t.toString(k))),v(t,K,()=>I(a,s,e).catch(w)),await o})(t,e,a).catch(w)})),v(t,K,()=>{var e;ha(c,t),Ht(Da(d,e=t),t=>ce(t,t=>t())),ha(d,e)})});fe(l,_);const N=async()=>{const e=async t=>{let e=[!1,void 0];return await Ta(t,t=>e=[!0,t]),e},a=await te([e(()=>Zt((e,a)=>t.close(t=>t?a(t):e()))),...de(ua(c),t=>e(()=>(async t=>{t.readyState!=t.CLOSED&&await Zt((e,a)=>{const n=Rt(t,K,()=>{n(),e()});try{t.close()}catch(t){n(),a(t)}})})(t)))]),n=ye(a,([t])=>t);if(n)throw n[1]},D={getWebSocketServer:()=>t,getPathIds:()=>Na(i),getClientIds:t=>Na(Da(i,t)?.[0]),addPathIdsListener:t=>g(t,o),addClientIdsListener:(t,e)=>g(e,r,[t]),delListener:t=>(y(t),D),getStats:()=>({paths:oa(i),clients:we(Oa(i,t=>oa(t[0])),(t,e)=>t+e,0)}),destroy:()=>(u||(u=(async()=>{Sa(_);let t=[!1,void 0];const e=Ta(N,e=>t=[!0,e]),a=await te(Oa(i,async(t,e)=>{let a=[!1,void 0];return await Ta(()=>R(e,t),t=>a=[!0,t]),a}));await e,ce(l,t=>Sa(t)),Aa(d,(t,e)=>ce(e,t=>Sa(t))),ga(d),ga(i),ga(c);const n=t[0]?t:ye(a,([t])=>t);if(n)throw n[1]})()),u)};return Ie(D)};export{gi as Message,gs as Persists,ws as Status,wr as TinyBasePartyKitServer,_i as WsServerDurableObject,cn as addOrRemoveHash,cr as broadcastChanges,Do as createAutomergePersister,hi as createBroadcastChannelSynchronizer,Ka as createCheckpoints,Po as createCrSqliteWasmPersister,vs as createCustomPersister,bo as createCustomPostgreSqlPersister,mo as createCustomSqlitePersister,yi as createCustomSynchronizer,xo as createDurableObjectSqlStoragePersister,Uo as createDurableObjectStoragePersister,qo as createElectricSqlPersister,Go as createExpoSqlitePersister,Xo as createFilePersister,Jo as createIndexedDbPersister,An as createIndexes,Qo as createLibSqlPersister,Oo as createLocalPersister,vi as createLocalSynchronizer,ns as createMergeableStore,rs as createMetrics,us as createMiddleware,Mo as createOpfsPersister,er as createPartyKitPersister,gr as createPglitePersister,yr as createPostgresPersister,hr as createPowerSyncPersister,Pr as createQueries,vr as createReactNativeMmkvPersister,br as createReactNativeSqlitePersister,$r as createRelationships,Cr as createRemotePersister,ko as createSessionPersister,Rr as createSqlite3Persister,Er as createSqliteBunPersister,pr as createSqliteWasmPersister,Kn as createStore,ki as createWsServer,Ai as createWsServerSimple,Ti as createWsSynchronizer,kr as createYjsPersister,Dn as defaultSorter,wn as getCellHash,gn as getCellInRowHash,rn as getHash,Nn as getHlcFunctions,yn as getRowHash,hn as getRowInTableHash,fn as getTableHash,vn as getTableInTablesHash,bn as getTablesHash,sn as getUniqueId,un as getValueHash,dn as getValueInValuesHash,ln as getValuesHash,Ni as getWsServerDurableObjectFetch,rr as hasStoreInStorage,ir as loadStoreFromStorage};
Binary file