@tensorix/metahub 0.4.1 → 0.5.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 (47) hide show
  1. package/dist/cli.js +6151 -15068
  2. package/dist/cli.js.map +26 -77
  3. package/dist/core/audit.d.ts +97 -0
  4. package/dist/core/audit.d.ts.map +1 -0
  5. package/dist/core/crdt.d.ts +13 -1
  6. package/dist/core/crdt.d.ts.map +1 -1
  7. package/dist/core/databases.d.ts.map +1 -1
  8. package/dist/core/documents.d.ts +6 -0
  9. package/dist/core/documents.d.ts.map +1 -1
  10. package/dist/core/grants-core.d.ts.map +1 -1
  11. package/dist/core/history.d.ts +31 -0
  12. package/dist/core/history.d.ts.map +1 -1
  13. package/dist/core/indexing.d.ts +1 -1
  14. package/dist/core/integrity.d.ts +1 -1
  15. package/dist/core/integrity.d.ts.map +1 -1
  16. package/dist/core/properties.d.ts +1 -1
  17. package/dist/core/properties.d.ts.map +1 -1
  18. package/dist/core/records.d.ts +5 -0
  19. package/dist/core/records.d.ts.map +1 -1
  20. package/dist/core/relation-cells.d.ts +23 -0
  21. package/dist/core/relation-cells.d.ts.map +1 -0
  22. package/dist/core/resolve.d.ts +4 -0
  23. package/dist/core/resolve.d.ts.map +1 -1
  24. package/dist/core/sync/files.d.ts.map +1 -1
  25. package/dist/core/sync/server.d.ts.map +1 -1
  26. package/dist/core/sync/share-serve.d.ts.map +1 -1
  27. package/dist/db-worker.js +96 -98
  28. package/dist/edge-worker.js +135 -87
  29. package/dist/index.js +11712 -20459
  30. package/dist/index.js.map +18 -71
  31. package/dist/metahub-sdk.js +7 -7
  32. package/dist/mh-runtime.js +1 -1
  33. package/dist/sw.js +7 -7
  34. package/dist/webui/server/assets.d.ts +3 -1
  35. package/dist/webui/server/assets.d.ts.map +1 -1
  36. package/dist/webui/server/changes-route.d.ts +7 -0
  37. package/dist/webui/server/changes-route.d.ts.map +1 -0
  38. package/dist/webui/server/routes.d.ts.map +1 -1
  39. package/dist/webui-fmt-clang.js +1 -1
  40. package/dist/webui-fmt-gofmt.js +1 -1
  41. package/dist/webui-fmt-lua.js +2 -2
  42. package/dist/webui-fmt-ruff.js +2 -2
  43. package/dist/webui-fmt-sh.js +8 -8
  44. package/dist/webui-fmt-taplo.js +2 -2
  45. package/dist/webui-fmt.js +346 -346
  46. package/dist/webui.js +182 -178
  47. package/package.json +1 -1
package/dist/db-worker.js CHANGED
@@ -1,4 +1,4 @@
1
- var JL=Object.defineProperty;var vL=($)=>$;function XL($,U){this[$]=vL.bind(null,U)}var Y1=($,U)=>{for(var X in U)JL($,X,{get:U[X],enumerable:!0,configurable:!0,set:XL.bind(U,X)})};var H$=($,U)=>()=>($&&(U=$($=0)),U);var lY=`
1
+ var De=(e,t,r)=>()=>{if(e)try{t=e(e=0)}catch(n){r=[n]}if(r)throw r[0];return t};var Pc=`
2
2
  CREATE TABLE IF NOT EXISTS meta (
3
3
  key TEXT PRIMARY KEY,
4
4
  value TEXT
@@ -308,7 +308,7 @@ CREATE TABLE IF NOT EXISTS blob_policy (
308
308
  redundancy TEXT, -- 'all' | 'any'
309
309
  __deleted INTEGER NOT NULL DEFAULT 0
310
310
  );
311
- `,rY=`
311
+ `,Cc=`
312
312
  CREATE VIRTUAL TABLE IF NOT EXISTS search_fts USING fts5(
313
313
  kind UNINDEXED,
314
314
  id UNINDEXED,
@@ -316,38 +316,35 @@ CREATE VIRTUAL TABLE IF NOT EXISTS search_fts USING fts5(
316
316
  title,
317
317
  body
318
318
  );
319
- `;function k6($=6){let U=crypto.getRandomValues(new Uint8Array($)),X="";for(let Q of U)X+="0123456789abcdefghijklmnopqrstuvwxyz".charAt(Q%36);return X}function gX($,U="item"){return $.normalize("NFKD").replace(/[^\x20-\x7E]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32).replace(/-+$/g,"")||U}function l6($,U,X=$){return`${$}_${gX(U,X)}-${k6()}`}function f0($){let U=$.indexOf("_");if(U<=0)return null;let X=$.slice(0,U);return QL.has(X)?X:null}var QL;var E6=H$(()=>{QL=new Set(["db","prop","rec","doc","blk","site","sf","chan"])});function J6($){let U=$.query("SELECT value FROM meta WHERE key = 'node_id'").get();if(U)return U.value;let X=k6(8);return $.query("INSERT INTO meta (key, value) VALUES ('node_id', ?)").run(X),X}function yU($){return $.query("SELECT value FROM meta WHERE key = 'node_label'").get()?.value??null}function oY($,U){if(U==null||U.trim()===""){$.query("DELETE FROM meta WHERE key = 'node_label'").run();return}$.query("INSERT INTO meta (key, value) VALUES ('node_label', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(U.trim())}function dY($){let U=J6($),X=$.query("SELECT node_id, label FROM peers WHERE node_id IS NOT NULL AND node_id <> '' GROUP BY node_id").all();return[{node_id:U,label:yU($),self:!0},...X.filter((Q)=>Q.node_id!==U).map((Q)=>({...Q,self:!1}))]}var L1=H$(()=>{E6()});function yX($,U){if(U<=65535)return{millis:$,counter:U};return{millis:$+Math.floor(U/65536),counter:U%65536}}function hX($){let{millis:U,counter:X}=yX($.millis,$.counter);return`${String(U).padStart(15,"0")}-${X.toString(16).padStart(4,"0")}-${$.node}`}function fX($){let U=$.indexOf("-"),X=$.indexOf("-",U+1);return{millis:Number($.slice(0,U)),counter:parseInt($.slice(U+1,X),16),node:$.slice(X+1)}}function pY($,U){let X=$.query("SELECT value FROM meta WHERE key = 'hlc'").get();return X?fX(X.value):{millis:0,counter:0,node:U}}function tY($,U){$.query("INSERT INTO meta (key, value) VALUES ('hlc', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(hX(U))}function aY($,U,X=Date.now()){let Q=pY($,U),J=Math.max(Q.millis,X),j=J===Q.millis?Q.counter+1:0,G={...yX(J,j),node:U};return tY($,G),hX(G)}function eY($,U,X,Q=Date.now()){let J=pY($,U),j=fX(X);if(!Number.isFinite(j.millis)||!Number.isFinite(j.counter))return;let G=Math.max(J.millis,j.millis,Q),W;if(G===J.millis&&G===j.millis)W=Math.max(J.counter,j.counter)+1;else if(G===J.millis)W=J.counter+1;else if(G===j.millis)W=j.counter+1;else W=0;tY($,{...yX(G,W),node:U})}function hU($){if(!$)return[];let U=$.replace(/\r\n?/g,`
319
+ `;function bt(e=6){let t=crypto.getRandomValues(new Uint8Array(e)),r="";for(let n of t)r+="0123456789abcdefghijklmnopqrstuvwxyz".charAt(n%36);return r}function Fi(e,t="item"){return e.normalize("NFKD").replace(/[^\x20-\x7E]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32).replace(/-+$/g,"")||t}function Ot(e,t,r=e){return`${e}_${Fi(t,r)}-${bt()}`}function nn(e){let t=e.indexOf("_");if(t<=0)return null;let r=e.slice(0,t);return Nm.has(r)?r:null}var Nm;var wt=De(()=>{Nm=new Set(["db","prop","rec","doc","blk","site","sf","chan"])});function We(e){let t=e.query("SELECT value FROM meta WHERE key = 'node_id'").get();if(t)return t.value;let r=bt(8);return e.query("INSERT INTO meta (key, value) VALUES ('node_id', ?)").run(r),r}function on(e){return e.query("SELECT value FROM meta WHERE key = 'node_label'").get()?.value??null}function Nc(e,t){if(t==null||t.trim()===""){e.query("DELETE FROM meta WHERE key = 'node_label'").run();return}e.query("INSERT INTO meta (key, value) VALUES ('node_label', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t.trim())}function qc(e){let t=We(e),r=e.query("SELECT node_id, label FROM peers WHERE node_id IS NOT NULL AND node_id <> '' GROUP BY node_id").all();return[{node_id:t,label:on(e),self:!0},...r.filter((n)=>n.node_id!==t).map((n)=>({...n,self:!1}))]}var Gt=De(()=>{wt()});function Mi(e,t){if(t<=65535)return{millis:e,counter:t};return{millis:e+Math.floor(t/65536),counter:t%65536}}function Bi(e){let{millis:t,counter:r}=Mi(e.millis,e.counter);return`${String(t).padStart(15,"0")}-${r.toString(16).padStart(4,"0")}-${e.node}`}function Ui(e){let t=e.indexOf("-"),r=e.indexOf("-",t+1);return{millis:Number(e.slice(0,t)),counter:parseInt(e.slice(t+1,r),16),node:e.slice(r+1)}}function Lc(e,t){let r=e.query("SELECT value FROM meta WHERE key = 'hlc'").get();return r?Ui(r.value):{millis:0,counter:0,node:t}}function $c(e,t){e.query("INSERT INTO meta (key, value) VALUES ('hlc', ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(Bi(t))}function zc(e,t,r=Date.now()){let n=Lc(e,t),o=Math.max(n.millis,r),s=o===n.millis?n.counter+1:0,a={...Mi(o,s),node:t};return $c(e,a),Bi(a)}function Fc(e,t,r,n=Date.now()){let o=Lc(e,t),s=Ui(r);if(!Number.isFinite(s.millis)||!Number.isFinite(s.counter))return;let a=Math.max(o.millis,s.millis,n),u;if(a===o.millis&&a===s.millis)u=Math.max(o.counter,s.counter)+1;else if(a===o.millis)u=o.counter+1;else if(a===s.millis)u=s.counter+1;else u=0;$c(e,{...Mi(a,u),node:t})}function sn(e){if(!e)return[];let t=e.replace(/\r\n?/g,`
320
320
  `).split(`
321
- `),X=[],Q=[],J=null,j=0,G=()=>{if(Q.length)X.push({text:Q.join(`
322
- `),blankAfter:0}),Q=[]},W=()=>{if(G(),X.length)X[X.length-1].blankAfter++};for(let z of U){if(J){Q.push(z);let A=z.match(/^\s*(`{3,}|~{3,})\s*$/);if(A&&A[1][0]===J&&A[1].length>=j)G(),J=null,j=0;continue}let D=z.match(/^\s*(`{3,}|~{3,})/);if(D)G(),J=D[1][0],j=D[1].length,Q.push(z);else if(z.trim()==="")W();else Q.push(z)}G();for(let z=0;z<X.length-1;z++)X[z].blankAfter=Math.max(0,X[z].blankAfter-1);return X}function YU($){let U=$.filter((Q)=>!!Q.text&&Q.text.length>0),X=[];return U.forEach((Q,J)=>{X.push(...Q.text.split(`
323
- `));let j=Math.max(0,Q.blankAfter??0);if(J<U.length-1)X.push("");for(let G=0;G<j;G++)X.push("")}),X.join(`
324
- `)}function sY($,U){let X=jL($,U),Q=new Set(X.map((W)=>W[0])),J=new Map(X.map((W)=>[W[1],W[0]])),j=U.map((W,z)=>J.has(z)?{keep:J.get(z)}:{insert:W}),G=[];for(let W=0;W<$.length;W++)if(!Q.has(W))G.push(W);return{items:j,deleted:G}}function jL($,U){let X=$.length,Q=U.length,J=Array.from({length:X+1},()=>Array(Q+1).fill(0));for(let z=X-1;z>=0;z--)for(let D=Q-1;D>=0;D--)J[z][D]=$[z]===U[D]?J[z+1][D+1]+1:Math.max(J[z+1][D],J[z][D+1]);let j=[],G=0,W=0;while(G<X&&W<Q)if($[G]===U[W])j.push([G,W]),G++,W++;else if(J[G+1][W]>=J[G][W+1])G++;else W++;return j}function GL($){return Math.max(0,Math.trunc(Number.isFinite($)?$:Date.now()))}function b0($=Date.now()){let U=Math.max(0,GL($)-2678400000);return String(U).padStart(15,"0")+"-"}function a2($,U=Date.now()){return $.dataset==="intent_receipts"&&$.hlc<b0(U)}function bX($,U=Date.now()){return $.filter((X)=>!a2(X,U))}function bU($,U=Date.now()){return $.query("DELETE FROM crdt_changes WHERE dataset = 'intent_receipts' AND hlc < ?").run(b0(U)).changes}var fU="intent_receipts";function b1($,U){if(e2!==null)return U();e2=($?$+":":"")+k6(8);try{return U()}finally{e2=null}}function o$($,U=null){return(...X)=>b1(U,()=>$(...X))}function $W($,U,X){if(X!==null)return JSON.parse(X);return KL.has(`${$}:${U}`)?0:null}function UW($){if($===null||$===void 0)return null;if(typeof $==="boolean")return $?1:0;if(typeof $==="number")return $;if(typeof $==="string")return $;return JSON.stringify($)}function s2($,U,X){$.query(`INSERT OR IGNORE INTO ${U} (id) VALUES (?)`).run(X)}function zL($,U){return $.query("SELECT 1 AS x FROM doc_blocks WHERE doc_id = ? LIMIT 1").get(U)!=null}function VL($,U){let X=$.query("SELECT text, blank_after FROM doc_blocks WHERE doc_id = ? AND __deleted = 0 ORDER BY order_key, id").all(U);s2($,"documents",U),$.query("UPDATE documents SET body = ? WHERE id = ?").run(YU(X.map((Q)=>({text:Q.text,blankAfter:Q.blank_after??0}))),U)}function DL($,U,X,Q,J){if(JW.has(U))return;if(U==="records"){if(ZL.has(Q)){s2($,"records",X);let W=$W("records",Q,J);$.query(`UPDATE records SET "${Q}" = ? WHERE id = ?`).run(UW(W),X)}else if(s2($,"records",X),J===null)$.query(`UPDATE records SET data = json_remove(data, '$."' || ? || '"') WHERE id = ?`).run(Q,X);else $.query(`UPDATE records SET data = json_set(coalesce(data, '{}'), '$."' || ? || '"', json(?)) WHERE id = ?`).run(Q,J,X);return}let j=WL[U];if(!j||!j.cols.has(Q))return;if(U==="documents"&&Q==="body"&&zL($,X))return;s2($,j.table,X);let G=$W(U,Q,J);if($.query(`UPDATE ${j.table} SET "${Q}" = ? WHERE id = ?`).run(UW(G),X),U==="doc_blocks"){let W=$.query("SELECT doc_id FROM doc_blocks WHERE id = ?").get(X);if(W?.doc_id)VL($,W.doc_id)}}function UJ($,U){let X=$.query("INSERT OR IGNORE INTO crdt_changes (hlc, node_id, dataset, row_id, col, value, txn) VALUES (?, ?, ?, ?, ?, ?, ?)").run(U.hlc,U.node_id,U.dataset,U.row_id,U.col,U.value,U.txn??null).changes>0;if($.query("SELECT MAX(hlc) AS h FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ?").get(U.dataset,U.row_id,U.col).h!==U.hlc)return{inserted:X,winner:!1};try{DL($,U.dataset,U.row_id,U.col,U.value)}catch(J){if(X)$.query("DELETE FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ? AND hlc = ?").run(U.dataset,U.row_id,U.col,U.hlc);throw J}return{inserted:X,winner:!0}}function A$($,U,X,Q,J){let j=YL??J6($),G={hlc:aY($,j),node_id:j,dataset:U,row_id:X,col:Q,value:J===void 0?null:JSON.stringify(J),txn:e2};return UJ($,G),G}function P1($,U,X={}){let Q=X.now??Date.now();bU($,Q);let J=J6($),j=0,G=0;if($.transaction((z)=>{for(let D of z){if(a2(D,Q))continue;eY($,J,D.hlc);try{if(UJ($,D).inserted)j++}catch(A){G++,console.error(`[ingest] skipped a change that failed to apply (dataset=${D.dataset} col=${D.col} row=${D.row_id}): ${A.message}`)}}})(U),G)console.error(`[ingest] ${G} change(s) skipped this batch (see above)`);return j}function n1($,U,X={}){let Q=X.excludeDatasets??[],J=["rowid > ?"],j=[U];if(Q.length)J.push(`dataset NOT IN (${Q.map(()=>"?").join(", ")})`),j.push(...Q);if(X.onlyNode!=null)J.push("node_id = ?"),j.push(X.onlyNode);J.push("(dataset != ? OR hlc >= ?)"),j.push(fU,b0(X.now??Date.now()));let G=J.join(" AND "),W=X.limit!=null&&X.limit>0?` LIMIT ${Math.floor(X.limit)}`:"",z=$.query(`SELECT rowid AS seq, ${H1} FROM crdt_changes WHERE ${G} ORDER BY rowid${W}`).all(...j),D=X.limit==null||X.limit<=0||z.length<X.limit,A;if(D){let T=$.query("SELECT MAX(rowid) AS m FROM crdt_changes").get();A=Math.max(U,T.m??U)}else A=z[z.length-1].seq;return{changes:z.map(({seq:T,...h})=>h),cursor:A}}var $J,H1,e2=null,YL=null,WL,ZL,JW,KL;var A6=H$(()=>{L1();E6();$J=["hlc","node_id","dataset","row_id","col","value","txn"],H1=$J.join(", ");WL={databases:{table:"databases",cols:new Set(["name","icon","meta","created_hlc","__deleted"])},properties:{table:"properties",cols:new Set(["database_id","name","type","config","position","__deleted"])},documents:{table:"documents",cols:new Set(["title","body","database_id","parent_id","created_hlc","order_key","__deleted"])},doc_blocks:{table:"doc_blocks",cols:new Set(["doc_id","text","order_key","blank_after","__deleted"])},sites:{table:"sites",cols:new Set(["name","title","created_hlc","visibility","spa","public_grants","__deleted"])},site_channels:{table:"site_channels",cols:new Set(["site_id","audience","hosting","controller_node_id","target_ref","canonical_url","policy_json","desired_state","created_hlc","__deleted"])},site_files:{table:"site_files",cols:new Set(["site_id","path","content_type","encoding","content","created_hlc","__deleted"])},blob_policy:{table:"blob_policy",cols:new Set(["full_nodes","redundancy","__deleted"])}},ZL=new Set(["database_id","created_hlc","order_key","__deleted"]),JW=new Set([fU]),KL=new Set(["records:__deleted","databases:__deleted","properties:__deleted","documents:__deleted","doc_blocks:__deleted","doc_blocks:blank_after","sites:__deleted","sites:spa","site_channels:__deleted","site_files:__deleted","blob_policy:__deleted"])});function nU($){return $ instanceof c?$.code:void 0}var c;var z6=H$(()=>{c=class c extends Error{code;constructor($,U){super(U);this.code=$;this.name="MhError"}}});function vW($){return $.replace(/[^a-zA-Z0-9_]/g,"_")}function XW($){return $.replace(/'/g,"''")}function QW($,U){return`idx_rec_${vW($)}_${vW(U)}`}function LL($,U,X){return $.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'index' AND name = ?").get(QW(U,X))!=null}function nX($,U,X){let Q=QW(U,X);$.exec(`CREATE INDEX IF NOT EXISTS "${Q}" ON records (data ->> '${XW(X)}', created_hlc) WHERE database_id = '${XW(U)}' AND __deleted = 0`)}function mX($,U,X){if(LL($,U,X.id))return;if(X.type!=="relation"){if($.query("SELECT COUNT(*) AS c FROM records WHERE database_id = ? AND __deleted = 0").get(U).c<2000)return}nX($,U,X.id)}function cX($,U){if($==="select"||$==="multi_select"){let X=U?.options;if(!Array.isArray(X)||X.length===0||!X.every((Q)=>typeof Q==="string"))throw new c("invalid_input",`${$} requires config.options: string[]`)}if($==="relation"){if(typeof U?.database!=="string")throw new c("invalid_input","relation requires config.database (target database id)")}}function NL($,U){return($.query("SELECT MAX(position) AS m FROM properties WHERE database_id = ? AND __deleted = 0").get(U).m??0)+1}function m1($,U){let X=$.query(`SELECT ${GW} FROM properties WHERE id = ? AND __deleted = 0`).get(U);if(!X)return null;return{...X,config:X.config?JSON.parse(X.config):null}}function a6($,U){return $.query(`SELECT ${GW} FROM properties WHERE database_id = ? AND __deleted = 0 ORDER BY position`).all(U).map((Q)=>({...Q,config:Q.config?JSON.parse(Q.config):null}))}function YW($,U,X){let Q=m1($,U);if(!Q)throw new c("not_found",`no such property: ${U}`);if(!Number.isFinite(X))throw new c("invalid_input","width must be a finite number");let J=Math.max(80,Math.min(2000,Math.round(X)));return iX($,U,{config:{...Q.config??{},width:J}})}function WW($,U){let X=m1($,U);if(!X)throw new c("not_found",`no such property: ${U}`);if(X.type!=="select"&&X.type!=="multi_select")throw new c("invalid_input",`${X.type} property has no options`);return{prop:X,options:X.config?.options??[]}}var jW,HL,GW,JJ,iX,ZW,KW,zW;var WU=H$(()=>{E6();A6();ZU();z6();jW=new Set(["text","number","checkbox","select","multi_select","date","relation","url"]),HL=["id","database_id","name","type","config","position"],GW=HL.join(", ");JJ=o$(function(U,X,Q){if(!y6(U,X))throw new c("not_found",`no such database: ${X}`);if(!jW.has(Q.type))throw new c("invalid_input",`unknown property type: ${Q.type}`);cX(Q.type,Q.config);let J=Q.indexed?{...Q.config??{},indexed:!0}:Q.config??null,j=l6("prop",Q.name);if(A$(U,"properties",j,"database_id",X),A$(U,"properties",j,"name",Q.name),A$(U,"properties",j,"type",Q.type),A$(U,"properties",j,"config",J),A$(U,"properties",j,"position",Q.position??NL(U,X)),Q.type==="relation"||Q.indexed===!0)nX(U,X,j);return m1(U,j)});iX=o$(function(U,X,Q){let J=m1(U,X);if(!J)throw new c("not_found",`no such property: ${X}`);let j=Q.type!==void 0&&Q.type!==J.type;if(Q.type!==void 0&&!jW.has(Q.type))throw new c("invalid_input",`unknown property type: ${Q.type}`);let G=Q.type??J.type,W;if(Q.config!==void 0){let z={...J.config??{}};for(let[D,A]of Object.entries(Q.config))if(A===null)delete z[D];else z[D]=A;W=z,cX(G,W)}else if(j)cX(Q.type,J.config??void 0);if(Q.name!==void 0)A$(U,"properties",X,"name",Q.name);if(Q.type!==void 0)A$(U,"properties",X,"type",Q.type);if(W!==void 0)A$(U,"properties",X,"config",W);if(Q.position!==void 0)A$(U,"properties",X,"position",Q.position);if(j){let z=U.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(J.database_id,X);for(let D of z)A$(U,"records",D.id,X,null)}return m1(U,X)});ZW=o$(function(U,X,Q,J){let{prop:j,options:G}=WW(U,X);if(J=J.trim(),!J)throw new c("invalid_input","option name must not be empty");if(!G.includes(Q))throw new c("not_found",`no such option: ${Q}`);if(J===Q)return{property:j,renamed:0};if(G.includes(J))throw new c("conflict",`option already exists: ${J}`);A$(U,"properties",X,"config",{...j.config??{},options:G.map((z)=>z===Q?J:z)});let W=0;if(j.type==="select"){let z=U.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? = ?").all(j.database_id,X,Q);for(let D of z)A$(U,"records",D.id,X,J);W=z.length}else{let z=U.query("SELECT id, data ->> ? AS v FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(X,j.database_id,X);for(let D of z){let A=JSON.parse(D.v);if(!Array.isArray(A)||!A.includes(Q))continue;A$(U,"records",D.id,X,[...new Set(A.map((T)=>T===Q?J:T))]),W++}}return{property:m1(U,X),renamed:W}}),KW=o$(function(U,X,Q){let{prop:J,options:j}=WW(U,X);if(!j.includes(Q))throw new c("not_found",`no such option: ${Q}`);if(j.length===1)throw new c("invalid_input","cannot remove the last option; delete the property instead");A$(U,"properties",X,"config",{...J.config??{},options:j.filter((W)=>W!==Q)});let G=0;if(J.type==="select"){let W=U.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? = ?").all(J.database_id,X,Q);for(let z of W)A$(U,"records",z.id,X,null);G=W.length}else{let W=U.query("SELECT id, data ->> ? AS v FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(X,J.database_id,X);for(let z of W){let D=JSON.parse(z.v);if(!Array.isArray(D)||!D.includes(Q))continue;A$(U,"records",z.id,X,D.filter((A)=>A!==Q)),G++}}return{property:m1(U,X),cleared:G}}),zW=o$(function(U,X){let Q=m1(U,X);if(!Q)return!1;A$(U,"properties",X,"__deleted",1);let J=U.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(Q.database_id,X);for(let j of J)A$(U,"records",j.id,X,void 0);return!0})});function LW($){if(!$)return null;return{...$,meta:$.meta===null?null:JSON.parse($.meta)}}function y6($,U){return LW($.query(`SELECT ${DW} FROM databases WHERE id = ? AND __deleted = 0`).get(U))}function OW($){return $.query(`SELECT ${DW} FROM databases WHERE __deleted = 0 ORDER BY created_hlc`).all().map((X)=>LW(X))}function VW($,U,X,Q){return $.query(`SELECT id FROM ${U} WHERE ${X} = ? AND __deleted = 0`).all(Q).map((J)=>J.id)}var OL,DW,lX,HW,NW,IW;var ZU=H$(()=>{E6();A6();z6();WU();KU();OL=["id","name","icon","meta","created_hlc"],DW=OL.join(", ");lX=o$(function(U,X){let Q=l6("db",X.name),J=A$(U,"databases",Q,"name",X.name);if(A$(U,"databases",Q,"created_hlc",J.hlc),X.icon!==void 0)A$(U,"databases",Q,"icon",X.icon);return y6(U,Q)}),HW=o$(function(U,X,Q){if(!y6(U,X))throw new c("not_found",`no such database: ${X}`);if(Q.name!==void 0)A$(U,"databases",X,"name",Q.name);if(Q.icon!==void 0)A$(U,"databases",X,"icon",Q.icon);if(Q.meta!==void 0){if(Q.meta!==null&&(typeof Q.meta!=="object"||Array.isArray(Q.meta)))throw new c("invalid_input","meta must be a JSON object or null");A$(U,"databases",X,"meta",Q.meta)}return y6(U,X)}),NW=o$(function(U,X,Q={}){let J=y6(U,X);if(!J)throw new c("not_found",`no such database: ${X}`);let j=lX(U,{name:Q.name??J.name,icon:Q.icon??J.icon??void 0});if(J.meta!==null){let{collapsed:W,...z}=J.meta;if(Object.keys(z).length)A$(U,"databases",j.id,"meta",z)}let G=new Map;for(let W of a6(U,X)){let z=W.config?.database===X?{...W.config,database:j.id}:W.config??void 0,D=JJ(U,j.id,{name:W.name,type:W.type,config:z,position:W.position});G.set(W.id,D.id)}for(let W of mU(U,X)){let z={};for(let[D,A]of Object.entries(W.cells)){let T=G.get(D);if(T)z[T]=A}vJ(U,j.id,z)}return y6(U,j.id)});IW=o$(function(U,X){if(!y6(U,X))return!1;A$(U,"databases",X,"__deleted",1);let Q=(J)=>{for(let j of VW(U,J,"database_id",X))A$(U,J,j,"__deleted",1)};Q("properties"),Q("records");for(let J of VW(U,"documents","database_id",X))A$(U,"documents",J,"database_id",null);return U.query("DELETE FROM meta WHERE key = 'current_db' AND value = ?").run(X),!0})});function BL($){return $!==null&&$!=="blk"}function qL($,U){return $.query("SELECT id FROM properties WHERE database_id = ? AND type = 'text' AND __deleted = 0 ORDER BY position LIMIT 1").get(U)?.id??null}function PL($,U,X,Q){let J=qW[U],j=J.nameCol;if(U==="rec"&&Q){let h=qL($,Q);if(h)j=`data ->> '${h.replace(/'/g,"''")}'`}let G=j??"''",W=[],z=[];W.push("(id >= ? AND id < ?)"),z.push(X,X+BW);let D=`${U}_${X}`;if(W.push("(id >= ? AND id < ?)"),z.push(D,D+BW),j)W.push(`lower(${j}) = lower(?)`),z.push(X);let A=`SELECT id, ${G} AS label FROM ${J.table} WHERE __deleted = 0 AND (${W.join(" OR ")})`;if(J.scoped&&Q)A+=" AND database_id = ?",z.push(Q);return $.query(A).all(...z).map((h)=>({kind:U,id:h.id,label:h.label??""}))}function rX($,U,X={}){let Q=X.kind?[X.kind]:BL(f0(U))?[f0(U)]:IL,J=[],j=new Set;for(let G of Q)for(let W of PL($,G,U,X.databaseId)){if(j.has(W.id))continue;j.add(W.id),J.push(W)}return J}function kL($){return $.map((U)=>` ${U.id}${U.label?" "+U.label:""} (${U.kind})`).join(`
325
- `)}function PW($,U,X={}){let Q=rX($,U,X),J=Q.filter((G)=>G.id===U);if(J.length===1)return J[0];if(J.length===0&&Q.length===1)return Q[0];if(Q.length===0){let G=X.kind?qW[X.kind].noun:"item";throw new c("not_found",`no such ${G}: ${U}`)}let j=J.length>1?J:Q;throw new c("ambiguous",`ambiguous "${U}" — ${j.length} matches:
326
- ${kL(j)}
327
- add more characters.`)}var qW,IL,BW="{";var oX=H$(()=>{E6();z6();qW={db:{table:"databases",nameCol:"name",scoped:!1,noun:"database"},prop:{table:"properties",nameCol:"name",scoped:!0,noun:"property"},rec:{table:"records",nameCol:null,scoped:!0,noun:"record"},doc:{table:"documents",nameCol:"title",scoped:!0,noun:"document"}},IL=["db","prop","rec","doc"]});function dX($,U){if(U!==null&&$>=U)throw Error(`fracdex: ${$} >= ${U}`);if($.endsWith("0")||U!==null&&U.endsWith("0"))throw Error(`fracdex: trailing zero in ${$}/${U}`);if(U!==null){let j=0;while(($[j]??"0")===U[j])j++;if(j>0)return U.slice(0,j)+dX($.slice(j),U.slice(j))}let Q=$===""?0:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf($[0]),J=U===null?62:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(U[0]);if(J-Q>1)return"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[Math.round(0.5*(Q+J))];if(U!==null&&U.length>1)return U.slice(0,1);return"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[Q]+dX($.slice(1),null)}function W1($,U){return dX($??"",U)}function S1($,U,X){if(X<=0)return[];if(X===1)return[W1($,U)];if(U===null){let j=W1($,null),G=[j];for(let W=1;W<X;W++)j=W1(j,null),G.push(j);return G}if($===null){let j=W1(null,U),G=[j];for(let W=1;W<X;W++)j=W1(null,j),G.unshift(j);return G}let Q=Math.floor(X/2),J=W1($,U);return[...S1($,J,Q),J,...S1(J,U,X-Q-1)]}function kW($){return typeof $==="string"||typeof $==="number"||typeof $==="boolean"}function AL($){return typeof $==="boolean"?$?1:0:$}function RL($,U,X){let Q=U.config?.database;if(!Q)return X;let J=rX($,X,{kind:"rec",databaseId:Q}),j=J.find((G)=>G.id===X);if(j)return j.id;if(J.length===1)return J[0].id;if(J.length===0){if(f0(X)==="rec")return X;throw new c("not_found",`${U.name}: no such record in target database: ${X}`)}throw new c("ambiguous",`${U.name}: ambiguous relation "${X}" (${J.length} matches); use a full id`)}function tX($,U,X){switch(U.type){case"text":case"url":case"date":{if(X===null)return null;if(typeof X!=="string")throw new c("invalid_input",`${U.name} expects a string`);return X}case"number":{if(X===null)return null;let Q=typeof X==="number"?X:Number(X);if(!Number.isFinite(Q))throw new c("invalid_input",`${U.name} expects a number`);return Q}case"checkbox":{if(typeof X==="boolean")return X;if(X==="true"||X===1)return!0;if(X==="false"||X===0||X===null)return!1;throw new c("invalid_input",`${U.name} expects a boolean`)}case"select":{if(X===null)return null;let Q=String(X);if(!U.config?.options?.includes(Q))throw new c("invalid_input",`${U.name}: '${Q}' is not an allowed option`);return Q}case"multi_select":{let Q=X===null?[]:Array.isArray(X)?X:[X],J=U.config?.options??[];for(let j of Q)if(!J.includes(String(j)))throw new c("invalid_input",`${U.name}: '${j}' is not an allowed option`);return Q.map(String)}case"relation":return(X===null?[]:Array.isArray(X)?X:[X]).map((J)=>RL($,U,String(J)))}}function TL($){let U=new Map;for(let X of $){let Q=X.name.toLowerCase(),J=U.get(Q);if(J)J.push(X);else U.set(Q,[X])}return U}function aX($,U){let X=new Map($.map((j)=>[j.id,j])),Q=TL($),J=[];for(let[j,G]of Object.entries(U)){let W=X.get(j);if(!W){let z=Q.get(j.toLowerCase())??[];if(z.length>1)throw new c("ambiguous",`property name "${j}" matches ${z.length} properties; use a property id`);W=z[0]}if(!W)throw new c("not_found",`unknown property: ${j}`);J.push({prop:W,value:G})}return J}function TW($,U,X){return aX(a6($,U),X).map(({prop:Q,value:J})=>({prop:Q,value:tX($,Q,J)}))}function _W($,U){let X=JSON.parse($.data||"{}"),Q=new Map(U.map((G)=>[G.id,G])),J={},j={};for(let[G,W]of Object.entries(X)){let z=Q.get(G);if(!z)continue;J[z.name]=W,j[z.id]=W}return{id:$.id,database_id:$.database_id,values:J,cells:j}}function _L($,U){let X=$.find((Q)=>Q.prop.type==="text"&&typeof Q.value==="string"&&Q.value);return l6("rec",X?String(X.value):"",U)}function AW($,U){return $.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(U)!=null}function ML($){return AW($,"meta")&&AW($,"crdt_changes")}function CL($,U,X,Q){if(Q)A$($,"records",U,"order_key",X);else $.query("UPDATE records SET order_key = ? WHERE id = ?").run(X,U)}function MW($,U){return $.query(`SELECT order_key FROM records
321
+ `),r=[],n=[],o=null,s=0,a=()=>{if(n.length)r.push({text:n.join(`
322
+ `),blankAfter:0}),n=[]},u=()=>{if(a(),r.length)r[r.length-1].blankAfter++};for(let _ of t){if(o){n.push(_);let x=_.match(/^\s*(`{3,}|~{3,})\s*$/);if(x&&x[1][0]===o&&x[1].length>=s)a(),o=null,s=0;continue}let m=_.match(/^\s*(`{3,}|~{3,})/);if(m)a(),o=m[1][0],s=m[1].length,n.push(_);else if(_.trim()==="")u();else n.push(_)}a();for(let _=0;_<r.length-1;_++)r[_].blankAfter=Math.max(0,r[_].blankAfter-1);return r}function Cr(e){let t=e.filter((n)=>!!n.text&&n.text.length>0),r=[];return t.forEach((n,o)=>{r.push(...n.text.split(`
323
+ `));let s=Math.max(0,n.blankAfter??0);if(o<t.length-1)r.push("");for(let a=0;a<s;a++)r.push("")}),r.join(`
324
+ `)}function Mc(e,t){let r=qm(e,t),n=new Set(r.map((u)=>u[0])),o=new Map(r.map((u)=>[u[1],u[0]])),s=t.map((u,_)=>o.has(_)?{keep:o.get(_)}:{insert:u}),a=[];for(let u=0;u<e.length;u++)if(!n.has(u))a.push(u);return{items:s,deleted:a}}function qm(e,t){let r=e.length,n=t.length,o=Array.from({length:r+1},()=>Array(n+1).fill(0));for(let _=r-1;_>=0;_--)for(let m=n-1;m>=0;m--)o[_][m]=e[_]===t[m]?o[_+1][m+1]+1:Math.max(o[_+1][m],o[_][m+1]);let s=[],a=0,u=0;while(a<r&&u<n)if(e[a]===t[u])s.push([a,u]),a++,u++;else if(o[a+1][u]>=o[a][u+1])a++;else u++;return s}function Lm(e){return Math.max(0,Math.trunc(Number.isFinite(e)?e:Date.now()))}function qn(e=Date.now()){let t=Math.max(0,Lm(e)-2678400000);return String(t).padStart(15,"0")+"-"}function bo(e,t=Date.now()){return e.dataset==="intent_receipts"&&e.hlc<qn(t)}function ji(e,t=Date.now()){return e.filter((r)=>!bo(r,t))}function cn(e,t=Date.now()){return e.query("DELETE FROM crdt_changes WHERE dataset = 'intent_receipts' AND hlc < ?").run(qn(t)).changes}var an="intent_receipts";function yr(e,t){if(wo!==null)return t();wo=(Bc?Bc+"/":"")+(e?e+":":"")+bt(8);try{return t()}finally{wo=null}}function Fe(e,t=null){return(...r)=>yr(t,()=>e(...r))}function Uc(e,t,r){if(r!==null)return JSON.parse(r);return Fm.has(`${e}:${t}`)?0:null}function jc(e){if(e===null||e===void 0)return null;if(typeof e==="boolean")return e?1:0;if(typeof e==="number")return e;if(typeof e==="string")return e;return JSON.stringify(e)}function vo(e,t,r){e.query(`INSERT OR IGNORE INTO ${t} (id) VALUES (?)`).run(r)}function Mm(e,t){return e.query("SELECT 1 AS x FROM doc_blocks WHERE doc_id = ? LIMIT 1").get(t)!=null}function Bm(e,t){let r=e.query("SELECT text, blank_after FROM doc_blocks WHERE doc_id = ? AND __deleted = 0 ORDER BY order_key, id").all(t);vo(e,"documents",t),e.query("UPDATE documents SET body = ? WHERE id = ?").run(Cr(r.map((n)=>({text:n.text,blankAfter:n.blank_after??0}))),t)}function Um(e,t,r,n,o){if(Ln.has(t))return;if(t==="records"){if(Hi.has(n)){vo(e,"records",r);let u=Uc("records",n,o);e.query(`UPDATE records SET "${n}" = ? WHERE id = ?`).run(jc(u),r)}else if(vo(e,"records",r),o===null)e.query(`UPDATE records SET data = json_remove(data, '$."' || ? || '"') WHERE id = ?`).run(n,r);else e.query(`UPDATE records SET data = json_set(coalesce(data, '{}'), '$."' || ? || '"', json(?)) WHERE id = ?`).run(n,o,r);return}let s=zm[t];if(!s||!s.cols.has(n))return;if(t==="documents"&&n==="body"&&Mm(e,r))return;vo(e,s.table,r);let a=Uc(t,n,o);if(e.query(`UPDATE ${s.table} SET "${n}" = ? WHERE id = ?`).run(jc(a),r),t==="doc_blocks"){let u=e.query("SELECT doc_id FROM doc_blocks WHERE id = ?").get(r);if(u?.doc_id)Bm(e,u.doc_id)}}function So(e,t){let r=e.query("INSERT OR IGNORE INTO crdt_changes (hlc, node_id, dataset, row_id, col, value, txn) VALUES (?, ?, ?, ?, ?, ?, ?)").run(t.hlc,t.node_id,t.dataset,t.row_id,t.col,t.value,t.txn??null).changes>0;if(e.query("SELECT MAX(hlc) AS h FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ?").get(t.dataset,t.row_id,t.col).h!==t.hlc)return{inserted:r,winner:!1};try{Um(e,t.dataset,t.row_id,t.col,t.value)}catch(o){if(r)e.query("DELETE FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ? AND hlc = ?").run(t.dataset,t.row_id,t.col,t.hlc);throw o}return{inserted:r,winner:!0}}function we(e,t,r,n,o){let s=$m??We(e),a={hlc:zc(e,s),node_id:s,dataset:t,row_id:r,col:n,value:o===void 0?null:JSON.stringify(o),txn:wo};return So(e,a),a}function er(e,t,r={}){let n=r.now??Date.now();cn(e,n);let o=We(e),s=0,a=0;if(e.transaction((_)=>{for(let m of _){if(bo(m,n))continue;Fc(e,o,m.hlc);try{if(So(e,m).inserted)s++}catch(x){a++,console.error(`[ingest] skipped a change that failed to apply (dataset=${m.dataset} col=${m.col} row=${m.row_id}): ${x.message}`)}}})(t),a)console.error(`[ingest] ${a} change(s) skipped this batch (see above)`);return s}function br(e,t,r={}){let n=r.excludeDatasets??[],o=["rowid > ?"],s=[t];if(n.length)o.push(`dataset NOT IN (${n.map(()=>"?").join(", ")})`),s.push(...n);if(r.onlyNode!=null)o.push("node_id = ?"),s.push(r.onlyNode);o.push("(dataset != ? OR hlc >= ?)"),s.push(an,qn(r.now??Date.now()));let a=o.join(" AND "),u=r.limit!=null&&r.limit>0?` LIMIT ${Math.floor(r.limit)}`:"",_=e.query(`SELECT rowid AS seq, ${It} FROM crdt_changes WHERE ${a} ORDER BY rowid${u}`).all(...s),m=r.limit==null||r.limit<=0||_.length<r.limit,x;if(m){let D=e.query("SELECT MAX(rowid) AS m FROM crdt_changes").get();x=Math.max(t,D.m??t)}else x=_[_.length-1].seq;return{changes:_.map(({seq:D,...j})=>j),cursor:x}}var Eo,It,wo=null,Bc=null,Hc,$m=null,zm,Hi,Ln,Fm;var dt=De(()=>{Gt();wt();Eo=["hlc","node_id","dataset","row_id","col","value","txn"],It=Eo.join(", "),Hc=/^[a-z0-9_-]{1,16}$/;zm={databases:{table:"databases",cols:new Set(["name","icon","meta","created_hlc","__deleted"])},properties:{table:"properties",cols:new Set(["database_id","name","type","config","position","__deleted"])},documents:{table:"documents",cols:new Set(["title","body","database_id","parent_id","created_hlc","order_key","__deleted"])},doc_blocks:{table:"doc_blocks",cols:new Set(["doc_id","text","order_key","blank_after","__deleted"])},sites:{table:"sites",cols:new Set(["name","title","created_hlc","visibility","spa","public_grants","__deleted"])},site_channels:{table:"site_channels",cols:new Set(["site_id","audience","hosting","controller_node_id","target_ref","canonical_url","policy_json","desired_state","created_hlc","__deleted"])},site_files:{table:"site_files",cols:new Set(["site_id","path","content_type","encoding","content","created_hlc","__deleted"])},blob_policy:{table:"blob_policy",cols:new Set(["full_nodes","redundancy","__deleted"])}},Hi=new Set(["database_id","created_hlc","order_key","__deleted"]),Ln=new Set([an]),Fm=new Set(["records:__deleted","databases:__deleted","properties:__deleted","documents:__deleted","doc_blocks:__deleted","doc_blocks:blank_after","sites:__deleted","sites:spa","site_channels:__deleted","site_files:__deleted","blob_policy:__deleted"])});function ln(e){return e instanceof Z?e.code:void 0}var Z;var Ye=De(()=>{Z=class Z extends Error{code;constructor(e,t){super(t);this.code=e;this.name="MhError"}}});function Wc(e){return e.replace(/[^a-zA-Z0-9_]/g,"_")}function Zc(e){return e.replace(/'/g,"''")}function Gc(e,t){return`idx_rec_${Wc(e)}_${Wc(t)}`}function jm(e,t,r){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'index' AND name = ?").get(Gc(t,r))!=null}function Wi(e,t,r){let n=Gc(t,r);e.exec(`CREATE INDEX IF NOT EXISTS "${n}" ON records (data ->> '${Zc(r)}', created_hlc) WHERE database_id = '${Zc(t)}' AND __deleted = 0`)}function Zi(e,t,r){if(jm(e,t,r.id))return;if(r.type!=="relation"&&r.type!=="doc"){if(e.query("SELECT COUNT(*) AS c FROM records WHERE database_id = ? AND __deleted = 0").get(t).c<2000)return}Wi(e,t,r.id)}function Gi(e,t){if(e==="select"||e==="multi_select"){let r=t?.options;if(!Array.isArray(r)||r.length===0||!r.every((n)=>typeof n==="string"))throw new Z("invalid_input",`${e} requires config.options: string[]`)}if(e==="relation"){if(typeof t?.database!=="string")throw new Z("invalid_input","relation requires config.database (target database id)")}}function Wm(e,t){return(e.query("SELECT MAX(position) AS m FROM properties WHERE database_id = ? AND __deleted = 0").get(t).m??0)+1}function wr(e,t){let r=e.query(`SELECT ${Vc} FROM properties WHERE id = ? AND __deleted = 0`).get(t);if(!r)return null;return{...r,config:r.config?JSON.parse(r.config):null}}function Nt(e,t){return e.query(`SELECT ${Vc} FROM properties WHERE database_id = ? AND __deleted = 0 ORDER BY position`).all(t).map((n)=>({...n,config:n.config?JSON.parse(n.config):null}))}function Jc(e,t,r){let n=wr(e,t);if(!n)throw new Z("not_found",`no such property: ${t}`);if(!Number.isFinite(r))throw new Z("invalid_input","width must be a finite number");let o=Math.max(80,Math.min(2000,Math.round(r)));return Ki(e,t,{config:{...n.config??{},width:o}})}function Xc(e,t){let r=wr(e,t);if(!r)throw new Z("not_found",`no such property: ${t}`);if(r.type!=="select"&&r.type!=="multi_select")throw new Z("invalid_input",`${r.type} property has no options`);return{prop:r,options:r.config?.options??[]}}var Kc,Hm,Vc,xo,Ki,Qc,Yc,el;var Nr=De(()=>{wt();dt();qr();Ye();Kc=new Set(["text","number","checkbox","select","multi_select","date","relation","doc","url"]),Hm=["id","database_id","name","type","config","position"],Vc=Hm.join(", ");xo=Fe(function(t,r,n){if(!Pt(t,r))throw new Z("not_found",`no such database: ${r}`);if(!Kc.has(n.type))throw new Z("invalid_input",`unknown property type: ${n.type}`);Gi(n.type,n.config);let o=n.indexed?{...n.config??{},indexed:!0}:n.config??null,s=Ot("prop",n.name);if(we(t,"properties",s,"database_id",r),we(t,"properties",s,"name",n.name),we(t,"properties",s,"type",n.type),we(t,"properties",s,"config",o),we(t,"properties",s,"position",n.position??Wm(t,r)),n.type==="relation"||n.type==="doc"||n.indexed===!0)Wi(t,r,s);return wr(t,s)});Ki=Fe(function(t,r,n){let o=wr(t,r);if(!o)throw new Z("not_found",`no such property: ${r}`);let s=n.type!==void 0&&n.type!==o.type;if(n.type!==void 0&&!Kc.has(n.type))throw new Z("invalid_input",`unknown property type: ${n.type}`);let a=n.type??o.type,u;if(n.config!==void 0){let _={...o.config??{}};for(let[m,x]of Object.entries(n.config))if(x===null)delete _[m];else _[m]=x;u=_,Gi(a,u)}else if(s)Gi(n.type,o.config??void 0);if(n.name!==void 0)we(t,"properties",r,"name",n.name);if(n.type!==void 0)we(t,"properties",r,"type",n.type);if(u!==void 0)we(t,"properties",r,"config",u);if(n.position!==void 0)we(t,"properties",r,"position",n.position);if(s){let _=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(o.database_id,r);for(let m of _)we(t,"records",m.id,r,null)}return wr(t,r)});Qc=Fe(function(t,r,n,o){let{prop:s,options:a}=Xc(t,r);if(o=o.trim(),!o)throw new Z("invalid_input","option name must not be empty");if(!a.includes(n))throw new Z("not_found",`no such option: ${n}`);if(o===n)return{property:s,renamed:0};if(a.includes(o))throw new Z("conflict",`option already exists: ${o}`);we(t,"properties",r,"config",{...s.config??{},options:a.map((_)=>_===n?o:_)});let u=0;if(s.type==="select"){let _=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? = ?").all(s.database_id,r,n);for(let m of _)we(t,"records",m.id,r,o);u=_.length}else{let _=t.query("SELECT id, data ->> ? AS v FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(r,s.database_id,r);for(let m of _){let x=JSON.parse(m.v);if(!Array.isArray(x)||!x.includes(n))continue;we(t,"records",m.id,r,[...new Set(x.map((D)=>D===n?o:D))]),u++}}return{property:wr(t,r),renamed:u}}),Yc=Fe(function(t,r,n){let{prop:o,options:s}=Xc(t,r);if(!s.includes(n))throw new Z("not_found",`no such option: ${n}`);if(s.length===1)throw new Z("invalid_input","cannot remove the last option; delete the property instead");we(t,"properties",r,"config",{...o.config??{},options:s.filter((u)=>u!==n)});let a=0;if(o.type==="select"){let u=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? = ?").all(o.database_id,r,n);for(let _ of u)we(t,"records",_.id,r,null);a=u.length}else{let u=t.query("SELECT id, data ->> ? AS v FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(r,o.database_id,r);for(let _ of u){let m=JSON.parse(_.v);if(!Array.isArray(m)||!m.includes(n))continue;we(t,"records",_.id,r,m.filter((x)=>x!==n)),a++}}return{property:wr(t,r),cleared:a}}),el=Fe(function(t,r){let n=wr(t,r);if(!n)return!1;we(t,"properties",r,"__deleted",1);let o=t.query("SELECT id FROM records WHERE database_id = ? AND __deleted = 0 AND data ->> ? IS NOT NULL").all(n.database_id,r);for(let s of o)we(t,"records",s.id,r,void 0);return!0})});function nl(e){if(!e)return null;return{...e,meta:e.meta===null?null:JSON.parse(e.meta)}}function Pt(e,t){return nl(e.query(`SELECT ${rl} FROM databases WHERE id = ? AND __deleted = 0`).get(t))}function sl(e){return e.query(`SELECT ${rl} FROM databases WHERE __deleted = 0 ORDER BY created_hlc`).all().map((r)=>nl(r))}function tl(e,t,r,n){return e.query(`SELECT id FROM ${t} WHERE ${r} = ? AND __deleted = 0`).all(n).map((o)=>o.id)}var Zm,rl,Vi,ol,il,al;var qr=De(()=>{wt();dt();Ye();Nr();Lr();Zm=["id","name","icon","meta","created_hlc"],rl=Zm.join(", ");Vi=Fe(function(t,r){let n=Ot("db",r.name),o=we(t,"databases",n,"name",r.name);if(we(t,"databases",n,"created_hlc",o.hlc),r.icon!==void 0)we(t,"databases",n,"icon",r.icon);return Pt(t,n)}),ol=Fe(function(t,r,n){if(!Pt(t,r))throw new Z("not_found",`no such database: ${r}`);if(n.name!==void 0)we(t,"databases",r,"name",n.name);if(n.icon!==void 0)we(t,"databases",r,"icon",n.icon);if(n.meta!==void 0){if(n.meta!==null&&(typeof n.meta!=="object"||Array.isArray(n.meta)))throw new Z("invalid_input","meta must be a JSON object or null");we(t,"databases",r,"meta",n.meta)}return Pt(t,r)}),il=Fe(function(t,r,n={}){let o=Pt(t,r);if(!o)throw new Z("not_found",`no such database: ${r}`);let s=Vi(t,{name:n.name??o.name,icon:n.icon??o.icon??void 0});if(o.meta!==null){let{collapsed:x,...D}=o.meta;if(Object.keys(D).length)we(t,"databases",s.id,"meta",D)}let a=new Map,u=new Set;for(let x of Nt(t,r)){let D=x.type==="relation"&&x.config?.database===r,j=D?{...x.config,database:s.id}:x.config??void 0,Y=xo(t,s.id,{name:x.name,type:x.type,config:j,position:x.position});if(a.set(x.id,Y.id),D)u.add(Y.id)}let _=un(t,r),m=new Map;for(let x of _){let D={};for(let[j,Y]of Object.entries(x.cells)){let _e=a.get(j);if(!_e)continue;if(u.has(_e)&&Array.isArray(Y)&&Y.length>0)continue;D[_e]=Y}m.set(x.id,To(t,s.id,D).id)}for(let x of _){let D={};for(let[j,Y]of Object.entries(x.cells)){let _e=a.get(j);if(_e&&u.has(_e)&&Array.isArray(Y)&&Y.length>0)D[_e]=Y.map((de)=>m.get(String(de))??de)}if(Object.keys(D).length)ko(t,m.get(x.id),D)}return Pt(t,s.id)});al=Fe(function(t,r){if(!Pt(t,r))return!1;we(t,"databases",r,"__deleted",1);let n=(o)=>{for(let s of tl(t,o,"database_id",r))we(t,o,s,"__deleted",1)};n("properties"),n("records");for(let o of tl(t,"documents","database_id",r))we(t,"documents",o,"database_id",null);return t.query("DELETE FROM meta WHERE key = 'current_db' AND value = ?").run(r),!0})});function Vm(e){return e!==null&&e!=="blk"}function ll(e,t){return e.query("SELECT id FROM properties WHERE database_id = ? AND type = 'text' AND __deleted = 0 ORDER BY position LIMIT 1").get(t)?.id??null}function Jm(e,t,r,n){let o=Gm[t],s=o.nameCol;if(t==="rec"&&n){let j=ll(e,n);if(j)s=`data ->> '${j.replace(/'/g,"''")}'`}let a=s??"''",u=[],_=[];u.push("(id >= ? AND id < ?)"),_.push(r,r+cl);let m=`${t}_${r}`;if(u.push("(id >= ? AND id < ?)"),_.push(m,m+cl),s)u.push(`lower(${s}) = lower(?)`),_.push(r);let x=`SELECT id, ${a} AS label FROM ${o.table} WHERE __deleted = 0 AND (${u.join(" OR ")})`;if(o.scoped&&n)x+=" AND database_id = ?",_.push(n);return e.query(x).all(..._).map((j)=>({kind:t,id:j.id,label:j.label??""}))}function Ji(e,t,r={}){let n=r.kind?[r.kind]:Vm(nn(t))?[nn(t)]:Km,o=[],s=new Set;for(let a of n)for(let u of Jm(e,a,t,r.databaseId)){if(s.has(u.id))continue;s.add(u.id),o.push(u)}return o}var Gm,Km,cl="{";var Xi=De(()=>{wt();Ye();Gm={db:{table:"databases",nameCol:"name",scoped:!1,noun:"database"},prop:{table:"properties",nameCol:"name",scoped:!0,noun:"property"},rec:{table:"records",nameCol:null,scoped:!0,noun:"record"},doc:{table:"documents",nameCol:"title",scoped:!0,noun:"document"}},Km=["db","prop","rec","doc"]});function Qi(e,t){if(t!==null&&e>=t)throw Error(`fracdex: ${e} >= ${t}`);if(e.endsWith("0")||t!==null&&t.endsWith("0"))throw Error(`fracdex: trailing zero in ${e}/${t}`);if(t!==null){let s=0;while((e[s]??"0")===t[s])s++;if(s>0)return t.slice(0,s)+Qi(e.slice(s),t.slice(s))}let n=e===""?0:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(e[0]),o=t===null?62:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".indexOf(t[0]);if(o-n>1)return"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[Math.round(0.5*(n+o))];if(t!==null&&t.length>1)return t.slice(0,1);return"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"[n]+Qi(e.slice(1),null)}function Mt(e,t){return Qi(e??"",t)}function lr(e,t,r){if(r<=0)return[];if(r===1)return[Mt(e,t)];if(t===null){let s=Mt(e,null),a=[s];for(let u=1;u<r;u++)s=Mt(s,null),a.push(s);return a}if(e===null){let s=Mt(null,t),a=[s];for(let u=1;u<r;u++)s=Mt(null,s),a.unshift(s);return a}let n=Math.floor(r/2),o=Mt(e,t);return[...lr(e,o,n),o,...lr(o,t,r-n-1)]}function ul(e){return typeof e==="string"||typeof e==="number"||typeof e==="boolean"}function Xm(e){return typeof e==="boolean"?e?1:0:e}function Qm(e,t,r){let n=t.config?.database;if(!n)return r;let o=Ji(e,r,{kind:"rec",databaseId:n}),s=o.find((a)=>a.id===r);if(s)return s.id;if(o.length===1)return o[0].id;if(o.length===0){if(nn(r)==="rec")return r;throw new Z("not_found",`${t.name}: no such record in target database: ${r}`)}throw new Z("ambiguous",`${t.name}: ambiguous relation "${r}" (${o.length} matches); use a full id`)}function Ym(e,t,r){let n=Ji(e,r,{kind:"doc"}),o=n.find((s)=>s.id===r);if(o)return o.id;if(n.length===1)return n[0].id;if(n.length===0){if(nn(r)==="doc")return r;throw new Z("not_found",`${t.name}: no such document: ${r}`)}throw new Z("ambiguous",`${t.name}: ambiguous document "${r}" (${n.length} matches); use a full id`)}function es(e,t,r){switch(t.type){case"text":case"url":case"date":{if(r===null)return null;if(typeof r!=="string")throw new Z("invalid_input",`${t.name} expects a string`);return r}case"number":{if(r===null)return null;let n=typeof r==="number"?r:Number(r);if(!Number.isFinite(n))throw new Z("invalid_input",`${t.name} expects a number`);return n}case"checkbox":{if(typeof r==="boolean")return r;if(r==="true"||r===1)return!0;if(r==="false"||r===0||r===null)return!1;throw new Z("invalid_input",`${t.name} expects a boolean`)}case"select":{if(r===null)return null;let n=String(r);if(!t.config?.options?.includes(n))throw new Z("invalid_input",`${t.name}: '${n}' is not an allowed option`);return n}case"multi_select":{let n=r===null?[]:Array.isArray(r)?r:[r],o=t.config?.options??[];for(let s of n)if(!o.includes(String(s)))throw new Z("invalid_input",`${t.name}: '${s}' is not an allowed option`);return n.map(String)}case"relation":return(r===null?[]:Array.isArray(r)?r:[r]).map((o)=>Qm(e,t,String(o)));case"doc":return(r===null?[]:Array.isArray(r)?r:[r]).map((o)=>Ym(e,t,String(o)))}}function ey(e){let t=new Map;for(let r of e){let n=r.name.toLowerCase(),o=t.get(n);if(o)o.push(r);else t.set(n,[r])}return t}function ts(e,t){let r=new Map(e.map((s)=>[s.id,s])),n=ey(e),o=[];for(let[s,a]of Object.entries(t)){let u=r.get(s);if(!u){let _=n.get(s.toLowerCase())??[];if(_.length>1)throw new Z("ambiguous",`property name "${s}" matches ${_.length} properties; use a property id`);u=_[0]}if(!u)throw new Z("not_found",`unknown property: ${s}`);o.push({prop:u,value:a})}return o}function pl(e,t,r){return ts(Nt(e,t),r).map(({prop:n,value:o})=>({prop:n,value:es(e,n,o)}))}function _l(e,t){let r=JSON.parse(e.data||"{}"),n=new Map(t.map((a)=>[a.id,a])),o={},s={};for(let[a,u]of Object.entries(r)){let _=n.get(a);if(!_)continue;o[_.name]=u,s[_.id]=u}return{id:e.id,database_id:e.database_id,values:o,cells:s}}function ty(e,t){let r=e.find((n)=>n.prop.type==="text"&&typeof n.value==="string"&&n.value);return Ot("rec",r?String(r.value):"",t)}function dl(e,t){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(t)!=null}function ry(e){return dl(e,"meta")&&dl(e,"crdt_changes")}function ny(e,t,r,n){if(n)we(e,"records",t,"order_key",r);else e.query("UPDATE records SET order_key = ? WHERE id = ?").run(r,t)}function gl(e,t){return e.query(`SELECT order_key FROM records
328
325
  WHERE database_id = ? AND __deleted = 0 AND order_key IS NOT NULL
329
- ORDER BY order_key DESC, id DESC LIMIT 1`).get(U)?.order_key??null}function pX($,U){return $.query(`SELECT id, database_id, created_hlc, order_key FROM records
326
+ ORDER BY order_key DESC, id DESC LIMIT 1`).get(t)?.order_key??null}function Yi(e,t){return e.query(`SELECT id, database_id, created_hlc, order_key FROM records
330
327
  WHERE database_id = ? AND __deleted = 0
331
- ORDER BY order_key IS NULL, order_key, created_hlc, id`).all(U)}function FL($,U){let X=pX($,U),Q=S1(null,null,X.length);X.forEach((J,j)=>{if(J.order_key!==Q[j])A$($,"records",J.id,"order_key",Q[j])})}function c1($,U){let X=$.query("SELECT id, database_id, data FROM records WHERE id = ? AND __deleted = 0").get(U);if(!X)return null;return _W(X,a6($,X.database_id))}function RW($){return $.replace(/'/g,"''")}function mU($,U,X={}){let Q=a6($,U),J=X.filter&&Object.keys(X.filter).length?aX(Q,X.filter).map(({prop:L$,value:w$})=>({prop:L$,value:tX($,L$,w$)})):[],j=J.filter((L$)=>kW(L$.value)),G=J.filter((L$)=>!kW(L$.value)),W,z=!1;if(X.sort){let L$=X.sort;if(L$.startsWith("-"))z=!0,L$=L$.slice(1);if(L$!=="created"&&L$!=="created_hlc"){let w$=Q.find((e$)=>e$.id===L$);if(!w$){let e$=Q.filter((b$)=>b$.name.toLowerCase()===L$.toLowerCase());if(e$.length>1)throw new c("ambiguous",`sort field "${L$}" matches ${e$.length} properties; use a property id`);w$=e$[0]}if(!w$)throw new c("not_found",`unknown sort field: ${L$}`);W=w$}}for(let L$ of j)mX($,U,L$.prop);if(W)mX($,U,W);let D=["database_id = ?","__deleted = 0"],A=[U];for(let L$ of j)D.push(`data ->> '${RW(L$.prop.id)}' = ?`),A.push(AL(L$.value));let T=X.sort==null,h=W?`data ->> '${RW(W.id)}'`:"created_hlc",o=`SELECT id, database_id, data FROM records WHERE ${D.join(" AND ")} `+(T?"ORDER BY order_key IS NULL, order_key, id":`ORDER BY ${h} ${z?"DESC":"ASC"}, id`);if(X.limit!=null&&G.length===0)o+=" LIMIT ?",A.push(X.limit);let Y$=$.query(o).all(...A).map((L$)=>_W(L$,Q));if(G.length){if(Y$=Y$.filter((L$)=>G.every((w$)=>JSON.stringify(L$.cells[w$.prop.id]??null)===JSON.stringify(w$.value))),X.limit!=null)Y$=Y$.slice(0,X.limit)}return Y$}var XJ,eX,vJ,CW,sX,FW,EW;var KU=H$(()=>{E6();A6();ZU();WU();oX();z6();XJ=o$(function(U,X){let Q=ML(U),J=X?[{database_id:X}]:U.query(`SELECT DISTINCT database_id FROM records
332
- WHERE database_id IS NOT NULL AND __deleted = 0 AND order_key IS NULL`).all();for(let j of J){let G=U.query(`SELECT id FROM records
328
+ ORDER BY order_key IS NULL, order_key, created_hlc, id`).all(t)}function oy(e,t){let r=Yi(e,t),n=lr(null,null,r.length);r.forEach((o,s)=>{if(o.order_key!==n[s])we(e,"records",o.id,"order_key",n[s])})}function vr(e,t){let r=e.query("SELECT id, database_id, data FROM records WHERE id = ? AND __deleted = 0").get(t);if(!r)return null;return _l(r,Nt(e,r.database_id))}function fl(e){return e.replace(/'/g,"''")}function un(e,t,r={}){let n=Nt(e,t),o=r.filter&&Object.keys(r.filter).length?ts(n,r.filter).map(({prop:ge,value:Le})=>({prop:ge,value:es(e,ge,Le)})):[],s=o.filter((ge)=>ul(ge.value)),a=o.filter((ge)=>!ul(ge.value)),u,_=!1;if(r.sort){let ge=r.sort;if(ge.startsWith("-"))_=!0,ge=ge.slice(1);if(ge!=="created"&&ge!=="created_hlc"){let Le=n.find((Ze)=>Ze.id===ge);if(!Le){let Ze=n.filter(($e)=>$e.name.toLowerCase()===ge.toLowerCase());if(Ze.length>1)throw new Z("ambiguous",`sort field "${ge}" matches ${Ze.length} properties; use a property id`);Le=Ze[0]}if(!Le)throw new Z("not_found",`unknown sort field: ${ge}`);u=Le}}for(let ge of s)Zi(e,t,ge.prop);if(u)Zi(e,t,u);let m=["database_id = ?","__deleted = 0"],x=[t];for(let ge of s)m.push(`data ->> '${fl(ge.prop.id)}' = ?`),x.push(Xm(ge.value));let D=r.sort==null,j=u?`data ->> '${fl(u.id)}'`:"created_hlc",Y=`SELECT id, database_id, data FROM records WHERE ${m.join(" AND ")} `+(D?"ORDER BY order_key IS NULL, order_key, id":`ORDER BY ${j} ${_?"DESC":"ASC"}, id`);if(r.limit!=null&&a.length===0)Y+=" LIMIT ?",x.push(r.limit);let de=e.query(Y).all(...x).map((ge)=>_l(ge,n));if(a.length){if(de=de.filter((ge)=>a.every((Le)=>JSON.stringify(ge.cells[Le.prop.id]??null)===JSON.stringify(Le.value))),r.limit!=null)de=de.slice(0,r.limit)}return de}var Ro,rs,To,hl,ns,ko,ml;var Lr=De(()=>{wt();dt();qr();Nr();Xi();Ye();Ro=Fe(function(t,r){let n=ry(t),o=r?[{database_id:r}]:t.query(`SELECT DISTINCT database_id FROM records
329
+ WHERE database_id IS NOT NULL AND __deleted = 0 AND order_key IS NULL`).all();for(let s of o){let a=t.query(`SELECT id FROM records
333
330
  WHERE database_id = ? AND __deleted = 0 AND order_key IS NULL
334
- ORDER BY created_hlc, id`).all(j.database_id);if(!G.length)continue;let W=MW(U,j.database_id),z=S1(W,null,G.length);G.forEach((D,A)=>CL(U,D.id,z[A],Q))}}),eX=o$(function(U,X,Q){let J=_L(Q,gX(X.name,"rec")),j=W1(MW(U,X.id),null),G=A$(U,"records",J,"database_id",X.id);A$(U,"records",J,"created_hlc",G.hlc),A$(U,"records",J,"order_key",j);for(let{prop:W,value:z}of Q)A$(U,"records",J,W.id,z);return c1(U,J)}),vJ=o$(function(U,X,Q){let J=y6(U,X);if(!J)throw new c("not_found",`no such database: ${X}`);return eX(U,J,TW(U,J.id,Q))});CW=o$(function(U,X,Q,J){if(J!=="before"&&J!=="after")throw new c("invalid_input",`unknown move position: ${J}`);let j=U.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(X);if(!j)throw new c("not_found",`no such record: ${X}`);let G=U.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(Q);if(!G)throw new c("not_found",`no such record: ${Q}`);if(j.database_id!==G.database_id)throw new c("invalid_input","cannot move a record across databases");if(X===Q)return c1(U,X);XJ(U,j.database_id);let W=pX(U,j.database_id).filter((T)=>T.id!==X),z=W.findIndex((T)=>T.id===Q);if(z<0)throw new c("not_found",`no such target record: ${Q}`);let D=J==="before"?W[z-1]?.order_key??null:W[z].order_key,A=J==="before"?W[z].order_key:W[z+1]?.order_key??null;if(D!==null&&A!==null&&D>=A)FL(U,j.database_id),W=pX(U,j.database_id).filter((T)=>T.id!==X),z=W.findIndex((T)=>T.id===Q),D=J==="before"?W[z-1]?.order_key??null:W[z].order_key,A=J==="before"?W[z].order_key:W[z+1]?.order_key??null;return A$(U,"records",X,"order_key",W1(D,A)),c1(U,X)}),sX=o$(function(U,X,Q){if(!U.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(X))throw new c("not_found",`no such record: ${X}`);for(let{prop:j,value:G}of Q)A$(U,"records",X,j.id,G);return c1(U,X)}),FW=o$(function(U,X,Q){let J=U.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(X);if(!J)throw new c("not_found",`no such record: ${X}`);return sX(U,X,TW(U,J.database_id,Q))}),EW=o$(function(U,X){if(!U.query("SELECT id FROM records WHERE id = ? AND __deleted = 0").get(X))return!1;return A$(U,"records",X,"__deleted",1),!0})});function cU($,U){return $.query("SELECT id, text, order_key, blank_after FROM doc_blocks WHERE doc_id = ? AND __deleted = 0 ORDER BY order_key, id").all(U)}function uL($){return l6("blk",$.split(`
335
- `,1)[0]??"")}function gL($,U,X){let Q=uL(X.text);if(A$($,"doc_blocks",Q,"doc_id",U),A$($,"doc_blocks",Q,"order_key",X.order_key),X.blankAfter)A$($,"doc_blocks",Q,"blank_after",X.blankAfter);A$($,"doc_blocks",Q,"text",X.text)}function iU($,U,X,Q,J){let j=S1(Q,J,X.length);X.forEach((G,W)=>gL($,U,{text:G.text,order_key:j[W],blankAfter:G.blankAfter}))}function lU($,U){if($.query("SELECT 1 AS x FROM doc_blocks WHERE doc_id = ? LIMIT 1").get(U))return;let X=$.query("SELECT body FROM documents WHERE id = ?").get(U),Q=hU(X?.body??"");if(Q.length)iU($,U,Q,null,null)}function $8($,U,X){let Q=cU($,U),J=hU(X),j=sY(Q.map((z)=>z.text),J.map((z)=>z.text));for(let z of j.deleted)A$($,"doc_blocks",Q[z].id,"__deleted",1);let{items:G}=j,W=0;while(W<G.length){let z=G[W];if("keep"in z){let h=Q[z.keep],o=J[W].blankAfter;if((h.blank_after??0)!==o)A$($,"doc_blocks",h.id,"blank_after",o);W++;continue}let D=W;while(D<G.length&&"insert"in G[D])D++;let A=W>0?Q[G[W-1].keep].order_key:null,T=D<G.length?Q[G[D].keep].order_key:null;iU($,U,J.slice(W,D),A,T),W=D}}function h6($,U){return $.query(`SELECT MAX(hlc) AS h FROM crdt_changes
331
+ ORDER BY created_hlc, id`).all(s.database_id);if(!a.length)continue;let u=gl(t,s.database_id),_=lr(u,null,a.length);a.forEach((m,x)=>ny(t,m.id,_[x],n))}}),rs=Fe(function(t,r,n){let o=ty(n,Fi(r.name,"rec")),s=Mt(gl(t,r.id),null),a=we(t,"records",o,"database_id",r.id);we(t,"records",o,"created_hlc",a.hlc),we(t,"records",o,"order_key",s);for(let{prop:u,value:_}of n)we(t,"records",o,u.id,_);return vr(t,o)}),To=Fe(function(t,r,n){let o=Pt(t,r);if(!o)throw new Z("not_found",`no such database: ${r}`);return rs(t,o,pl(t,o.id,n))});hl=Fe(function(t,r,n,o){if(o!=="before"&&o!=="after")throw new Z("invalid_input",`unknown move position: ${o}`);let s=t.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(r);if(!s)throw new Z("not_found",`no such record: ${r}`);let a=t.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(n);if(!a)throw new Z("not_found",`no such record: ${n}`);if(s.database_id!==a.database_id)throw new Z("invalid_input","cannot move a record across databases");if(r===n)return vr(t,r);Ro(t,s.database_id);let u=Yi(t,s.database_id).filter((D)=>D.id!==r),_=u.findIndex((D)=>D.id===n);if(_<0)throw new Z("not_found",`no such target record: ${n}`);let m=o==="before"?u[_-1]?.order_key??null:u[_].order_key,x=o==="before"?u[_].order_key:u[_+1]?.order_key??null;if(m!==null&&x!==null&&m>=x)oy(t,s.database_id),u=Yi(t,s.database_id).filter((D)=>D.id!==r),_=u.findIndex((D)=>D.id===n),m=o==="before"?u[_-1]?.order_key??null:u[_].order_key,x=o==="before"?u[_].order_key:u[_+1]?.order_key??null;return we(t,"records",r,"order_key",Mt(m,x)),vr(t,r)}),ns=Fe(function(t,r,n){let o=t.query("SELECT id, database_id, data FROM records WHERE id = ? AND __deleted = 0").get(r);if(!o)throw new Z("not_found",`no such record: ${r}`);let s=JSON.parse(o.data||"{}");for(let{prop:a,value:u}of n){let _=Object.hasOwn(s,a.id);if(!(u===void 0?!_:_&&JSON.stringify(u)===JSON.stringify(s[a.id])))we(t,"records",r,a.id,u)}return vr(t,r)}),ko=Fe(function(t,r,n){let o=t.query("SELECT id, database_id FROM records WHERE id = ? AND __deleted = 0").get(r);if(!o)throw new Z("not_found",`no such record: ${r}`);return ns(t,r,pl(t,o.database_id,n))}),ml=Fe(function(t,r){if(!t.query("SELECT id FROM records WHERE id = ? AND __deleted = 0").get(r))return!1;return we(t,"records",r,"__deleted",1),!0})});function dn(e,t){return e.query("SELECT id, text, order_key, blank_after FROM doc_blocks WHERE doc_id = ? AND __deleted = 0 ORDER BY order_key, id").all(t)}function ly(e){return Ot("blk",e.split(`
332
+ `,1)[0]??"")}function uy(e,t,r){let n=ly(r.text);if(we(e,"doc_blocks",n,"doc_id",t),we(e,"doc_blocks",n,"order_key",r.order_key),r.blankAfter)we(e,"doc_blocks",n,"blank_after",r.blankAfter);we(e,"doc_blocks",n,"text",r.text)}function fn(e,t,r,n,o){let s=lr(n,o,r.length);r.forEach((a,u)=>uy(e,t,{text:a.text,order_key:s[u],blankAfter:a.blankAfter}))}function pn(e,t){if(e.query("SELECT 1 AS x FROM doc_blocks WHERE doc_id = ? LIMIT 1").get(t))return;let r=e.query("SELECT body FROM documents WHERE id = ?").get(t),n=sn(r?.body??"");if(n.length)fn(e,t,n,null,null)}function os(e,t,r){let n=dn(e,t),o=sn(r),s=Mc(n.map((_)=>_.text),o.map((_)=>_.text));for(let _ of s.deleted)we(e,"doc_blocks",n[_].id,"__deleted",1);let{items:a}=s,u=0;while(u<a.length){let _=a[u];if("keep"in _){let j=n[_.keep],Y=o[u].blankAfter;if((j.blank_after??0)!==Y)we(e,"doc_blocks",j.id,"blank_after",Y);u++;continue}let m=u;while(m<a.length&&"insert"in a[m])m++;let x=u>0?n[a[u-1].keep].order_key:null,D=m<a.length?n[a[m].keep].order_key:null;fn(e,t,o.slice(u,m),x,D),u=m}}function Tt(e,t){return e.query(`SELECT MAX(hlc) AS h FROM crdt_changes
336
333
  WHERE (dataset = 'documents' AND row_id = ?)
337
- OR (dataset = 'doc_blocks' AND row_id IN (SELECT id FROM doc_blocks WHERE doc_id = ?))`).get(U,U).h??""}function D6($,U){return $.query(`SELECT ${SL} FROM documents WHERE id = ? AND __deleted = 0`).get(U)}function wW($,U={}){let X=`SELECT ${wL} FROM documents WHERE __deleted = 0`;if(U.parent_id!==void 0)return $.query(`${X} AND parent_id = ? ${QJ}`).all(U.parent_id);if(U.database_id)return $.query(`${X} AND database_id = ? ${QJ}`).all(U.database_id);return $.query(`${X} ${QJ}`).all()}function J8($){return $===null?{clause:"parent_id IS NULL",args:[]}:{clause:"parent_id = ?",args:[$]}}function yL($){return SW($,"meta")&&SW($,"crdt_changes")}function SW($,U){return $.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(U)!=null}function uW($,U,X){let Q=J8(U),J=X?" AND id <> ?":"";return $.query(`SELECT order_key FROM documents WHERE ${Q.clause}${J}
334
+ OR (dataset = 'doc_blocks' AND row_id IN (SELECT id FROM doc_blocks WHERE doc_id = ?))`).get(t,t).h??""}function nt(e,t){return e.query(`SELECT ${sy} FROM documents WHERE id = ? AND __deleted = 0`).get(t)}function wl(e,t={}){let r=`SELECT ${cy} FROM documents WHERE __deleted = 0`;if(t.parent_id!==void 0)return e.query(`${r} AND parent_id = ? ${Ao}`).all(t.parent_id);if(t.database_id)return e.query(`${r} AND database_id = ? ${Ao}`).all(t.database_id);return e.query(`${r} ${Ao}`).all()}function ss(e){return e===null?{clause:"parent_id IS NULL",args:[]}:{clause:"parent_id = ?",args:[e]}}function dy(e){return yl(e,"meta")&&yl(e,"crdt_changes")}function yl(e,t){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(t)!=null}function vl(e,t,r){let n=ss(t),o=r?" AND id <> ?":"";return e.query(`SELECT order_key FROM documents WHERE ${n.clause}${o}
338
335
  AND __deleted = 0 AND order_key IS NOT NULL
339
- ORDER BY order_key DESC, id DESC LIMIT 1`).get(...Q.args,...X?[X]:[])?.order_key??null}function gW($,U){let X=J8(U);return $.query(`SELECT id, order_key FROM documents WHERE ${X.clause} AND __deleted = 0 ${QJ}`).all(...X.args)}function hL($,U){let X=gW($,U),Q=S1(null,null,X.length);X.forEach((J,j)=>{if(J.order_key!==Q[j])A$($,"documents",J.id,"order_key",Q[j])})}function yW($,U){let X=yL($),Q=J8(U),J=$.query(`SELECT id FROM documents WHERE ${Q.clause} AND __deleted = 0 AND order_key IS NULL
340
- ORDER BY created_hlc, id`).all(...Q.args);if(!J.length)return;let j=S1(uW($,U),null,J.length);J.forEach((G,W)=>{if(X)A$($,"documents",G.id,"order_key",j[W]);else $.query("UPDATE documents SET order_key = ? WHERE id = ?").run(j[W],G.id)})}function jJ($,U,X,Q){let J=X;while(J){if(J===U)throw new c("invalid_input",`cannot set parent_id: would create a cycle (${U})`);J=D6($,J)?.parent_id??null}let j=D6($,U);if(j&&(j.parent_id??null)!==X)A$($,"documents",U,"parent_id",X);let G;if(!Q)G=W1(uW($,X,U),null);else{yW($,X);let W=()=>{let A=gW($,X).filter((h)=>h.id!==U),T=A.findIndex((h)=>h.id===Q.targetId);if(T<0)throw new c("not_found",`no such target document: ${Q.targetId}`);return Q.where==="before"?[A[T-1]?.order_key??null,A[T].order_key]:[A[T].order_key,A[T+1]?.order_key??null]},[z,D]=W();if(z!==null&&D!==null&&z>=D)hL($,X),[z,D]=W();G=W1(z,D)}A$($,"documents",U,"order_key",G)}function xW($,U,X,Q){return $.query(`SELECT id FROM ${U} WHERE ${X} = ? AND __deleted = 0`).all(Q).map((J)=>J.id)}function nW($,U){if(U==="")return 0;let X=0,Q=$.indexOf(U);while(Q!==-1)X++,Q=$.indexOf(U,Q+U.length);return X}var EL,SL,xL,wL,U8,QJ="ORDER BY order_key IS NULL, order_key, created_hlc, id",hW,v8,fW,GJ,jP,GP,YP,WP,bW;var rU=H$(()=>{E6();A6();z6();EL=["id","title","body","database_id","parent_id","created_hlc","order_key"],SL=EL.join(", "),xL=["id","title","database_id","parent_id","created_hlc","order_key"],wL=xL.join(", ");U8=o$(function(U,X){let Q=l6("doc",X.title),J=A$(U,"documents",Q,"title",X.title);if(A$(U,"documents",Q,"created_hlc",J.hlc),X.database_id!==void 0)A$(U,"documents",Q,"database_id",X.database_id);if(X.parent_id!==void 0)A$(U,"documents",Q,"parent_id",X.parent_id);if(jJ(U,Q,X.parent_id??null),X.body!==void 0){let j=hU(X.body);if(j.length)iU(U,Q,j,null,null)}return D6(U,Q)});hW=o$(function(U){let X=U.query("SELECT DISTINCT parent_id FROM documents WHERE __deleted = 0 AND order_key IS NULL").all();for(let Q of X)yW(U,Q.parent_id)});v8=o$(function(U,X,Q,J){let j=D6(U,X);if(!j)throw new c("not_found",`no such document: ${X}`);if(X===Q)return j;let G=D6(U,Q);if(!G)throw new c("not_found",`no such target document: ${Q}`);if(J==="into")jJ(U,X,Q);else jJ(U,X,G.parent_id,{targetId:Q,where:J});return D6(U,X)}),fW=o$(function(U,X,Q={}){let J=D6(U,X);if(!J)throw new c("not_found",`no such document: ${X}`);lU(U,X);let j=cU(U,X),G=Q.parentId!==void 0?Q.parentId:J.parent_id,W=U8(U,{title:Q.title??J.title,database_id:J.database_id??void 0,parent_id:G??void 0});if(j.length)iU(U,W.id,j.map((z)=>({text:z.text,blankAfter:z.blank_after})),null,null);if(G===J.parent_id)v8(U,W.id,J.id,"after");return D6(U,W.id)}),GJ=o$(function(U,X,Q,J={}){let j=D6(U,X);if(!j)throw new c("not_found",`no such document: ${X}`);if(J.ifMatch!==void 0&&h6(U,X)!==J.ifMatch)throw new c("stale",`stale: document changed since ${J.ifMatch}; re-read first`);if(Q.title!==void 0&&Q.title!==(j.title??""))A$(U,"documents",X,"title",Q.title);if(Q.database_id!==void 0&&Q.database_id!==(j.database_id??null))A$(U,"documents",X,"database_id",Q.database_id);if(Q.parent_id!==void 0){let G=Q.parent_id??null;if((D6(U,X).parent_id??null)!==G)jJ(U,X,G)}if(Q.body!==void 0)lU(U,X),$8(U,X,Q.body);return D6(U,X)}),jP=o$(function(U,X,Q){if(!D6(U,X))throw new c("not_found",`no such document: ${X}`);if(Q.ifMatch!==void 0&&h6(U,X)!==Q.ifMatch)throw new c("stale",`stale: document changed since ${Q.ifMatch}; re-read first`);if(Q.old==="")throw new c("invalid_input","--old must not be empty");lU(U,X);let J=cU(U,X),j=YU(J.map((z)=>({text:z.text,blankAfter:z.blank_after}))),G=nW(j,Q.old);if(G===0)throw new c("invalid_input","anchor not found: no match for --old");if(G>1&&!Q.replaceAll)throw new c("ambiguous",`${G} matches for --old; add surrounding context or use --replace-all`);if(!Q.old.includes(`
336
+ ORDER BY order_key DESC, id DESC LIMIT 1`).get(...n.args,...r?[r]:[])?.order_key??null}function El(e,t){let r=ss(t);return e.query(`SELECT id, order_key FROM documents WHERE ${r.clause} AND __deleted = 0 ${Ao}`).all(...r.args)}function fy(e,t){let r=El(e,t),n=lr(null,null,r.length);r.forEach((o,s)=>{if(o.order_key!==n[s])we(e,"documents",o.id,"order_key",n[s])})}function Sl(e,t){let r=dy(e),n=ss(t),o=e.query(`SELECT id FROM documents WHERE ${n.clause} AND __deleted = 0 AND order_key IS NULL
337
+ ORDER BY created_hlc, id`).all(...n.args);if(!o.length)return;let s=lr(vl(e,t),null,o.length);o.forEach((a,u)=>{if(r)we(e,"documents",a.id,"order_key",s[u]);else e.query("UPDATE documents SET order_key = ? WHERE id = ?").run(s[u],a.id)})}function Do(e,t,r,n){let o=r;while(o){if(o===t)throw new Z("invalid_input",`cannot set parent_id: would create a cycle (${t})`);o=nt(e,o)?.parent_id??null}let s=nt(e,t);if(s&&(s.parent_id??null)!==r)we(e,"documents",t,"parent_id",r);let a;if(!n)a=Mt(vl(e,r,t),null);else{Sl(e,r);let u=()=>{let x=El(e,r).filter((j)=>j.id!==t),D=x.findIndex((j)=>j.id===n.targetId);if(D<0)throw new Z("not_found",`no such target document: ${n.targetId}`);return n.where==="before"?[x[D-1]?.order_key??null,x[D].order_key]:[x[D].order_key,x[D+1]?.order_key??null]},[_,m]=u();if(_!==null&&m!==null&&_>=m)fy(e,r),[_,m]=u();a=Mt(_,m)}we(e,"documents",t,"order_key",a)}function bl(e,t,r,n){return e.query(`SELECT id FROM ${t} WHERE ${r} = ? AND __deleted = 0`).all(n).map((o)=>o.id)}function Rl(e,t){if(t==="")return 0;let r=0,n=e.indexOf(t);while(n!==-1)r++,n=e.indexOf(t,n+t.length);return r}var iy,sy,ay,cy,is,Ao="ORDER BY order_key IS NULL, order_key, created_hlc, id",xl,as,Tl,Oo,dS,fS,pS,_S,kl;var _n=De(()=>{wt();dt();Ye();iy=["id","title","body","database_id","parent_id","created_hlc","order_key"],sy=iy.join(", "),ay=["id","title","database_id","parent_id","created_hlc","order_key"],cy=ay.join(", ");is=Fe(function(t,r){let n=Ot("doc",r.title),o=we(t,"documents",n,"title",r.title);if(we(t,"documents",n,"created_hlc",o.hlc),r.database_id!==void 0)we(t,"documents",n,"database_id",r.database_id);if(r.parent_id!==void 0)we(t,"documents",n,"parent_id",r.parent_id);if(Do(t,n,r.parent_id??null),r.body!==void 0){let s=sn(r.body);if(s.length)fn(t,n,s,null,null)}return nt(t,n)});xl=Fe(function(t){let r=t.query("SELECT DISTINCT parent_id FROM documents WHERE __deleted = 0 AND order_key IS NULL").all();for(let n of r)Sl(t,n.parent_id)});as=Fe(function(t,r,n,o){let s=nt(t,r);if(!s)throw new Z("not_found",`no such document: ${r}`);if(r===n)return s;let a=nt(t,n);if(!a)throw new Z("not_found",`no such target document: ${n}`);if(o==="into")Do(t,r,n);else Do(t,r,a.parent_id,{targetId:n,where:o});return nt(t,r)}),Tl=Fe(function(t,r,n={}){let o=nt(t,r);if(!o)throw new Z("not_found",`no such document: ${r}`);pn(t,r);let s=dn(t,r),a=n.parentId!==void 0?n.parentId:o.parent_id,u=is(t,{title:n.title??o.title,database_id:o.database_id??void 0,parent_id:a??void 0});if(s.length)fn(t,u.id,s.map((_)=>({text:_.text,blankAfter:_.blank_after})),null,null);if(a===o.parent_id)as(t,u.id,o.id,"after");return nt(t,u.id)}),Oo=Fe(function(t,r,n,o={}){let s=nt(t,r);if(!s)throw new Z("not_found",`no such document: ${r}`);if(o.ifMatch!==void 0&&Tt(t,r)!==o.ifMatch)throw new Z("stale",`stale: document changed since ${o.ifMatch}; re-read first`);if(n.title!==void 0&&n.title!==(s.title??""))we(t,"documents",r,"title",n.title);if(n.database_id!==void 0&&n.database_id!==(s.database_id??null))we(t,"documents",r,"database_id",n.database_id);if(n.parent_id!==void 0){let a=n.parent_id??null;if((nt(t,r).parent_id??null)!==a)Do(t,r,a)}if(n.body!==void 0)pn(t,r),os(t,r,n.body);return nt(t,r)}),dS=Fe(function(t,r,n){if(!nt(t,r))throw new Z("not_found",`no such document: ${r}`);if(n.ifMatch!==void 0&&Tt(t,r)!==n.ifMatch)throw new Z("stale",`stale: document changed since ${n.ifMatch}; re-read first`);if(n.old==="")throw new Z("invalid_input","--old must not be empty");pn(t,r);let o=dn(t,r),s=Cr(o.map((_)=>({text:_.text,blankAfter:_.blank_after}))),a=Rl(s,n.old);if(a===0)throw new Z("invalid_input","anchor not found: no match for --old");if(a>1&&!n.replaceAll)throw new Z("ambiguous",`${a} matches for --old; add surrounding context or use --replace-all`);if(!n.old.includes(`
341
338
 
342
- `)){let z=J.filter((A)=>A.text.includes(Q.old)),D=z.map((A)=>Q.replaceAll?A.text.replaceAll(Q.old,()=>Q.new):A.text.replace(Q.old,()=>Q.new));if(D.every((A)=>A.length>0&&!A.includes(`
339
+ `)){let _=o.filter((x)=>x.text.includes(n.old)),m=_.map((x)=>n.replaceAll?x.text.replaceAll(n.old,()=>n.new):x.text.replace(n.old,()=>n.new));if(m.every((x)=>x.length>0&&!x.includes(`
343
340
 
344
- `))){let A=Q.replaceAll?z:z.slice(0,1),T=!1;return A.forEach((h,o)=>{if(D[o]!==h.text)A$(U,"doc_blocks",h.id,"text",D[o]),T=!0}),{id:X,changed:T,replaced:Q.replaceAll?G:1,version:h6(U,X)}}}let W=Q.replaceAll?j.replaceAll(Q.old,()=>Q.new):j.replace(Q.old,()=>Q.new);return $8(U,X,W),{id:X,changed:W!==j,replaced:Q.replaceAll?G:1,version:h6(U,X)}}),GP=o$(function(U,X,Q){if(!D6(U,X))throw new c("not_found",`no such document: ${X}`);if(Q.edits.length===0)throw new c("invalid_input","no edits given");if(Q.ifMatch!==void 0&&h6(U,X)!==Q.ifMatch)throw new c("stale",`stale: document changed since ${Q.ifMatch}; re-read first`);lU(U,X);let J=YU(cU(U,X).map((W)=>({text:W.text,blankAfter:W.blank_after}))),j=J,G=0;if(Q.edits.forEach((W,z)=>{if(W.old==="")throw new c("invalid_input",`edit[${z}]: old must not be empty`);let D=nW(j,W.old);if(D===0)throw new c("invalid_input",`edit[${z}]: anchor not found: no match for old`);if(D>1&&!W.replaceAll)throw new c("ambiguous",`edit[${z}]: ${D} matches for old; add surrounding context or set replaceAll`);let A=W.new??"";j=W.replaceAll?j.replaceAll(W.old,()=>A):j.replace(W.old,()=>A),G+=W.replaceAll?D:1}),j!==J)$8(U,X,j);return{id:X,changed:j!==J,replaced:G,version:h6(U,X)}}),YP=o$(function(U,X,Q){if(!D6(U,X))throw new c("not_found",`no such document: ${X}`);lU(U,X);let J=hU(Q);if(J.length){let j=cU(U,X),G=j.length?j[j.length-1].order_key:null;iU(U,X,J,G,null)}return{id:X,changed:J.length>0,replaced:J.length,version:h6(U,X)}}),WP=o$(function(U,X,Q){if(!D6(U,X))throw new c("not_found",`no such document: ${X}`);lU(U,X);let J=hU(Q);if(J.length){let j=cU(U,X),G=j.length?j[0].order_key:null;iU(U,X,J,null,G)}return{id:X,changed:J.length>0,replaced:J.length,version:h6(U,X)}}),bW=o$(function(U,X){if(!D6(U,X))return!1;A$(U,"documents",X,"__deleted",1);for(let Q of xW(U,"doc_blocks","doc_id",X))A$(U,"doc_blocks",Q,"__deleted",1);for(let Q of xW(U,"documents","parent_id",X))A$(U,"documents",Q,"parent_id",null);return!0})});function mW($){YJ=$}function cW($,U){return YJ?YJ($,U):Promise.resolve(null)}function iW(){return YJ!==null}function n0($){let U=$.query("SELECT full_nodes, redundancy FROM blob_policy WHERE id = ? AND __deleted = 0").get(X8),X=[];if(U?.full_nodes)try{let J=JSON.parse(U.full_nodes);if(Array.isArray(J))X=J.filter((j)=>typeof j==="string")}catch{}let Q=U?.redundancy==="any"?"any":"all";return{fullNodes:X,redundancy:Q}}function fL($){$.query("UPDATE blob_cache SET anchored = 0").run(),$.query("DELETE FROM meta WHERE key = ?").run(bL)}function mL($){if(!$)return[];let U=[];for(let X of $.matchAll(nL))U.push(X[1]);return U}function rW($){let U=new Set,X=$.query("SELECT content FROM site_files WHERE encoding = 'blob' AND __deleted = 0").all();for(let J of X)if(J.content)U.add(J.content);let Q=$.query("SELECT text FROM doc_blocks WHERE __deleted = 0 AND text LIKE '%/blob/%'").all();for(let J of Q)for(let j of mL(J.text))U.add(j);return U}function oW($){return $.query("SELECT hash, size FROM blob_cache WHERE pending = 1").all()}function dW($,U){return $.query("SELECT content_type FROM blob_cache WHERE hash = ?").get(U)?.content_type??null}var X8="default",YJ=null,lW=($,U)=>{b1(null,()=>{let X=new Set,Q=U.filter((j)=>j&&!X.has(j)&&X.add(j)!=null);if(A$($,"blob_policy",X8,"full_nodes",Q),n0($).redundancy==null)A$($,"blob_policy",X8,"redundancy","all")}),fL($)},bL="blob_verified_at",nL;var m0=H$(()=>{A6();L1();nL=/\/blob\/([0-9a-f]{16,64})/g});function pW($){try{let U=new URL($),X=U.port&&U.port!==cL[U.protocol]?`:${U.port}`:"";return U.hostname+X}catch{return $.trim().replace(/^[a-z]+:\/\//i,"").replace(/\/.*$/,"").replace(/:(80|443)$/,"")}}function oU($,U,X){let Q=X?.trim()||"metahub";return`s3://${pW($)}/${U}/${Q}`}var cL;var c0=H$(()=>{cL={"https:":"443","http:":"80"}});function iL($){$.exec(lY);try{$.exec(rY)}catch{}}function aW($){return $.query("SELECT 1 AS ok FROM sqlite_master WHERE name = 'search_fts'").get()!=null}function M6($,U,X){return $.query(`PRAGMA table_info(${U})`).all().some((J)=>J.name===X)}function zU($,U){return $.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(U)!=null}function lL($){if(!M6($,"records","data"))$.exec("ALTER TABLE records ADD COLUMN data TEXT NOT NULL DEFAULT '{}'");if(!M6($,"records","order_key"))$.exec("ALTER TABLE records ADD COLUMN order_key TEXT");if(!zU($,"record_values"))return;$.transaction(()=>{$.exec(`
341
+ `))){let x=n.replaceAll?_:_.slice(0,1),D=!1;return x.forEach((j,Y)=>{if(m[Y]!==j.text)we(t,"doc_blocks",j.id,"text",m[Y]),D=!0}),{id:r,changed:D,replaced:n.replaceAll?a:1,version:Tt(t,r)}}}let u=n.replaceAll?s.replaceAll(n.old,()=>n.new):s.replace(n.old,()=>n.new);return os(t,r,u),{id:r,changed:u!==s,replaced:n.replaceAll?a:1,version:Tt(t,r)}}),fS=Fe(function(t,r,n){if(!nt(t,r))throw new Z("not_found",`no such document: ${r}`);if(n.edits.length===0)throw new Z("invalid_input","no edits given");if(n.ifMatch!==void 0&&Tt(t,r)!==n.ifMatch)throw new Z("stale",`stale: document changed since ${n.ifMatch}; re-read first`);pn(t,r);let o=Cr(dn(t,r).map((u)=>({text:u.text,blankAfter:u.blank_after}))),s=o,a=0;if(n.edits.forEach((u,_)=>{if(u.old==="")throw new Z("invalid_input",`edit[${_}]: old must not be empty`);let m=Rl(s,u.old);if(m===0)throw new Z("invalid_input",`edit[${_}]: anchor not found: no match for old`);if(m>1&&!u.replaceAll)throw new Z("ambiguous",`edit[${_}]: ${m} matches for old; add surrounding context or set replaceAll`);let x=u.new??"";s=u.replaceAll?s.replaceAll(u.old,()=>x):s.replace(u.old,()=>x),a+=u.replaceAll?m:1}),s!==o)os(t,r,s);return{id:r,changed:s!==o,replaced:a,version:Tt(t,r)}}),pS=Fe(function(t,r,n){if(!nt(t,r))throw new Z("not_found",`no such document: ${r}`);pn(t,r);let o=sn(n);if(o.length){let s=dn(t,r),a=s.length?s[s.length-1].order_key:null;fn(t,r,o,a,null)}return{id:r,changed:o.length>0,replaced:o.length,version:Tt(t,r)}}),_S=Fe(function(t,r,n){if(!nt(t,r))throw new Z("not_found",`no such document: ${r}`);pn(t,r);let o=sn(n);if(o.length){let s=dn(t,r),a=s.length?s[0].order_key:null;fn(t,r,o,null,a)}return{id:r,changed:o.length>0,replaced:o.length,version:Tt(t,r)}}),kl=Fe(function(t,r){if(!nt(t,r))return!1;we(t,"documents",r,"__deleted",1);for(let n of bl(t,"doc_blocks","doc_id",r))we(t,"doc_blocks",n,"__deleted",1);for(let n of bl(t,"documents","parent_id",r))we(t,"documents",n,"parent_id",null);return!0})});function Al(e){Io=e}function Dl(e,t){return Io?Io(e,t):Promise.resolve(null)}function Ol(){return Io!==null}function $n(e){let t=e.query("SELECT full_nodes, redundancy FROM blob_policy WHERE id = ? AND __deleted = 0").get(cs),r=[];if(t?.full_nodes)try{let o=JSON.parse(t.full_nodes);if(Array.isArray(o))r=o.filter((s)=>typeof s==="string")}catch{}let n=t?.redundancy==="any"?"any":"all";return{fullNodes:r,redundancy:n}}function py(e){e.query("UPDATE blob_cache SET anchored = 0").run(),e.query("DELETE FROM meta WHERE key = ?").run(_y)}function hy(e){if(!e)return[];let t=[];for(let r of e.matchAll(gy))t.push(r[1]);return t}function Pl(e){let t=new Set,r=e.query("SELECT content FROM site_files WHERE encoding = 'blob' AND __deleted = 0").all();for(let o of r)if(o.content)t.add(o.content);let n=e.query("SELECT text FROM doc_blocks WHERE __deleted = 0 AND text LIKE '%/blob/%'").all();for(let o of n)for(let s of hy(o.text))t.add(s);return t}function Cl(e){return e.query("SELECT hash, size FROM blob_cache WHERE pending = 1").all()}function Nl(e,t){return e.query("SELECT content_type FROM blob_cache WHERE hash = ?").get(t)?.content_type??null}var cs="default",Io=null,Il=(e,t)=>{yr(null,()=>{let r=new Set,n=t.filter((s)=>s&&!r.has(s)&&r.add(s)!=null);if(we(e,"blob_policy",cs,"full_nodes",n),$n(e).redundancy==null)we(e,"blob_policy",cs,"redundancy","all")}),py(e)},_y="blob_verified_at",gy;var zn=De(()=>{dt();Gt();gy=/\/blob\/([0-9a-f]{16,64})/g});function ql(e){try{let t=new URL(e),r=t.port&&t.port!==my[t.protocol]?`:${t.port}`:"";return t.hostname+r}catch{return e.trim().replace(/^[a-z]+:\/\//i,"").replace(/\/.*$/,"").replace(/:(80|443)$/,"")}}function gn(e,t,r){let n=r?.trim()||"metahub";return`s3://${ql(e)}/${t}/${n}`}var my;var Fn=De(()=>{my={"https:":"443","http:":"80"}});function yy(e){e.exec(Pc);try{e.exec(Cc)}catch{}}function $l(e){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE name = 'search_fts'").get()!=null}function ht(e,t,r){return e.query(`PRAGMA table_info(${t})`).all().some((o)=>o.name===r)}function $r(e,t){return e.query("SELECT 1 AS ok FROM sqlite_master WHERE type = 'table' AND name = ?").get(t)!=null}function by(e){if(!ht(e,"records","data"))e.exec("ALTER TABLE records ADD COLUMN data TEXT NOT NULL DEFAULT '{}'");if(!ht(e,"records","order_key"))e.exec("ALTER TABLE records ADD COLUMN order_key TEXT");if(!$r(e,"record_values"))return;e.transaction(()=>{e.exec(`
345
342
  UPDATE records SET data = coalesce((
346
343
  SELECT json_group_object(rv.property_id, json(rv.value))
347
344
  FROM record_values rv WHERE rv.record_id = records.id
348
345
  ), '{}')
349
346
  WHERE id IN (SELECT DISTINCT record_id FROM record_values);
350
- `),$.exec("DROP TABLE record_values"),XJ($)})(),XJ($)}function rL($){if(!M6($,"shares","served_base"))$.exec("ALTER TABLE shares ADD COLUMN served_base TEXT");if(!M6($,"shares","grants"))$.exec("ALTER TABLE shares ADD COLUMN grants TEXT");if(!M6($,"shares","request_id"))$.exec("ALTER TABLE shares ADD COLUMN request_id TEXT");$.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_shares_request_id ON shares(request_id) WHERE request_id IS NOT NULL")}function oL($){let U=[["token","TEXT"],["label","TEXT"],["node_id","TEXT"],["enabled","INTEGER NOT NULL DEFAULT 1"],["last_sync_at","INTEGER"],["last_success_at","INTEGER"],["last_status","TEXT"],["last_error","TEXT"],["kind","TEXT NOT NULL DEFAULT 'http'"],["config","TEXT"]];for(let[X,Q]of U)if(!M6($,"peers",X))$.exec(`ALTER TABLE peers ADD COLUMN ${X} ${Q}`);$.exec("UPDATE peers SET last_success_at = last_sync_at WHERE last_success_at IS NULL AND last_status = 'ok' AND last_sync_at IS NOT NULL")}function dL($){if(!M6($,"doc_blocks","blank_after"))$.exec("ALTER TABLE doc_blocks ADD COLUMN blank_after INTEGER NOT NULL DEFAULT 0")}function pL($){if(!M6($,"blob_cache","pinned"))$.exec("ALTER TABLE blob_cache ADD COLUMN pinned INTEGER NOT NULL DEFAULT 0");if(!M6($,"blob_cache","pending"))$.exec("ALTER TABLE blob_cache ADD COLUMN pending INTEGER NOT NULL DEFAULT 1");if(!M6($,"blob_cache","anchored"))$.exec("ALTER TABLE blob_cache ADD COLUMN anchored INTEGER NOT NULL DEFAULT 0");$.exec("DROP TABLE IF EXISTS blob_presence")}function tL($){if(!M6($,"documents","order_key"))$.exec("ALTER TABLE documents ADD COLUMN order_key TEXT");hW($)}function aL($){if(!M6($,"crdt_changes","txn"))$.exec("ALTER TABLE crdt_changes ADD COLUMN txn TEXT");$.exec("CREATE INDEX IF NOT EXISTS idx_changes_txn ON crdt_changes(txn) WHERE txn IS NOT NULL"),$.exec("CREATE INDEX IF NOT EXISTS idx_changes_intent_receipt_hlc ON crdt_changes(hlc) WHERE dataset = 'intent_receipts'")}function eL($){if(M6($,"crdt_changes","seq"))return;$.transaction(()=>{if($.exec(`
347
+ `),e.exec("DROP TABLE record_values"),Ro(e)})(),Ro(e)}function wy(e){if(!ht(e,"shares","served_base"))e.exec("ALTER TABLE shares ADD COLUMN served_base TEXT");if(!ht(e,"shares","grants"))e.exec("ALTER TABLE shares ADD COLUMN grants TEXT");if(!ht(e,"shares","request_id"))e.exec("ALTER TABLE shares ADD COLUMN request_id TEXT");e.exec("CREATE UNIQUE INDEX IF NOT EXISTS idx_shares_request_id ON shares(request_id) WHERE request_id IS NOT NULL")}function vy(e){let t=[["token","TEXT"],["label","TEXT"],["node_id","TEXT"],["enabled","INTEGER NOT NULL DEFAULT 1"],["last_sync_at","INTEGER"],["last_success_at","INTEGER"],["last_status","TEXT"],["last_error","TEXT"],["kind","TEXT NOT NULL DEFAULT 'http'"],["config","TEXT"]];for(let[r,n]of t)if(!ht(e,"peers",r))e.exec(`ALTER TABLE peers ADD COLUMN ${r} ${n}`);e.exec("UPDATE peers SET last_success_at = last_sync_at WHERE last_success_at IS NULL AND last_status = 'ok' AND last_sync_at IS NOT NULL")}function Ey(e){if(!ht(e,"doc_blocks","blank_after"))e.exec("ALTER TABLE doc_blocks ADD COLUMN blank_after INTEGER NOT NULL DEFAULT 0")}function Sy(e){if(!ht(e,"blob_cache","pinned"))e.exec("ALTER TABLE blob_cache ADD COLUMN pinned INTEGER NOT NULL DEFAULT 0");if(!ht(e,"blob_cache","pending"))e.exec("ALTER TABLE blob_cache ADD COLUMN pending INTEGER NOT NULL DEFAULT 1");if(!ht(e,"blob_cache","anchored"))e.exec("ALTER TABLE blob_cache ADD COLUMN anchored INTEGER NOT NULL DEFAULT 0");e.exec("DROP TABLE IF EXISTS blob_presence")}function xy(e){if(!ht(e,"documents","order_key"))e.exec("ALTER TABLE documents ADD COLUMN order_key TEXT");xl(e)}function Ty(e){if(!ht(e,"crdt_changes","txn"))e.exec("ALTER TABLE crdt_changes ADD COLUMN txn TEXT");e.exec("CREATE INDEX IF NOT EXISTS idx_changes_txn ON crdt_changes(txn) WHERE txn IS NOT NULL"),e.exec("CREATE INDEX IF NOT EXISTS idx_changes_intent_receipt_hlc ON crdt_changes(hlc) WHERE dataset = 'intent_receipts'")}function ky(e){if(ht(e,"crdt_changes","seq"))return;e.transaction(()=>{if(e.exec(`
351
348
  DROP TABLE IF EXISTS crdt_changes_new;
352
349
  CREATE TABLE crdt_changes_new (
353
350
  seq INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -372,7 +369,7 @@ ${kL(j)}
372
369
  WHERE dataset = 'intent_receipts';
373
370
  CREATE INDEX IF NOT EXISTS idx_changes_docref ON crdt_changes(value)
374
371
  WHERE dataset = 'doc_blocks' AND col = 'doc_id';
375
- `),zU($,"peers"))$.exec("UPDATE peers SET push_cursor = 0, pull_cursor = 0")})()}function sL($){if(!zU($,"peers"))return;let U=$.query("SELECT url, config FROM peers WHERE kind = 's3' AND config IS NOT NULL").all();if(U.length===0)return;let X=[],Q=new Set;for(let G of U){let W;try{W=JSON.parse(G.config)}catch{continue}if(!W.endpoint||!W.bucket||!W.prefix)continue;let z=oU(W.endpoint,W.bucket,W.prefix);if(z===G.url){Q.add(z);continue}if(Q.has(z)||$.query("SELECT 1 FROM peers WHERE url = ?").get(z)||zU($,"storage_cursors")&&$.query("SELECT 1 FROM storage_cursors WHERE peer_url = ?").get(z))continue;Q.add(z),X.push({oldUrl:G.url,newUrl:z})}if(X.length===0)return;let J=new Map(X.map(({oldUrl:G,newUrl:W})=>[G,W]));$.transaction(()=>{for(let{oldUrl:G,newUrl:W}of X){if(zU($,"storage_cursors"))$.query("UPDATE storage_cursors SET peer_url = ? WHERE peer_url = ?").run(W,G);$.query("UPDATE peers SET url = ? WHERE url = ?").run(W,G)}if(zU($,"blob_policy")){let G=n0($).fullNodes;if(G.some((W)=>J.has(W)))lW($,G.map((W)=>J.get(W)??W))}})()}function $H($){if(M6($,"databases","meta"))return;$.exec("ALTER TABLE databases ADD COLUMN meta TEXT"),$.exec(`
372
+ `),$r(e,"peers"))e.exec("UPDATE peers SET push_cursor = 0, pull_cursor = 0")})()}function Ry(e){if(!$r(e,"peers"))return;let t=e.query("SELECT url, config FROM peers WHERE kind = 's3' AND config IS NOT NULL").all();if(t.length===0)return;let r=[],n=new Set;for(let a of t){let u;try{u=JSON.parse(a.config)}catch{continue}if(!u.endpoint||!u.bucket||!u.prefix)continue;let _=gn(u.endpoint,u.bucket,u.prefix);if(_===a.url){n.add(_);continue}if(n.has(_)||e.query("SELECT 1 FROM peers WHERE url = ?").get(_)||$r(e,"storage_cursors")&&e.query("SELECT 1 FROM storage_cursors WHERE peer_url = ?").get(_))continue;n.add(_),r.push({oldUrl:a.url,newUrl:_})}if(r.length===0)return;let o=new Map(r.map(({oldUrl:a,newUrl:u})=>[a,u]));e.transaction(()=>{for(let{oldUrl:a,newUrl:u}of r){if($r(e,"storage_cursors"))e.query("UPDATE storage_cursors SET peer_url = ? WHERE peer_url = ?").run(u,a);e.query("UPDATE peers SET url = ? WHERE url = ?").run(u,a)}if($r(e,"blob_policy")){let a=$n(e).fullNodes;if(a.some((u)=>o.has(u)))Il(e,a.map((u)=>o.get(u)??u))}})()}function Ay(e){if(ht(e,"databases","meta"))return;e.exec("ALTER TABLE databases ADD COLUMN meta TEXT"),e.exec(`
376
373
  UPDATE databases SET meta = (
377
374
  SELECT c.value FROM crdt_changes c
378
375
  WHERE c.dataset = 'databases' AND c.col = 'meta' AND c.row_id = databases.id
@@ -381,164 +378,165 @@ ${kL(j)}
381
378
  WHERE id IN (
382
379
  SELECT DISTINCT row_id FROM crdt_changes WHERE dataset = 'databases' AND col = 'meta'
383
380
  )
384
- `)}function UH($){let U=(X,Q)=>{$.exec(`
385
- UPDATE sites SET ${X} = COALESCE((
381
+ `)}function Dy(e){let t=(r,n)=>{e.exec(`
382
+ UPDATE sites SET ${r} = COALESCE((
386
383
  SELECT json_extract(c.value, '$') FROM crdt_changes c
387
- WHERE c.dataset = 'sites' AND c.col = '${X}' AND c.row_id = sites.id
384
+ WHERE c.dataset = 'sites' AND c.col = '${r}' AND c.row_id = sites.id
388
385
  ORDER BY c.hlc DESC LIMIT 1
389
- ), ${Q})
386
+ ), ${n})
390
387
  WHERE id IN (
391
- SELECT DISTINCT row_id FROM crdt_changes WHERE dataset = 'sites' AND col = '${X}'
388
+ SELECT DISTINCT row_id FROM crdt_changes WHERE dataset = 'sites' AND col = '${r}'
392
389
  )
393
- `)};if(!M6($,"sites","visibility"))$.exec("ALTER TABLE sites ADD COLUMN visibility TEXT"),U("visibility","NULL");if(!M6($,"sites","spa"))$.exec("ALTER TABLE sites ADD COLUMN spa INTEGER NOT NULL DEFAULT 0"),U("spa","0");if(!M6($,"sites","public_grants"))$.exec("ALTER TABLE sites ADD COLUMN public_grants TEXT"),U("public_grants","NULL")}function JH($){if(!zU($,"site_channels"))return;let U=$.query("SELECT value FROM meta WHERE key = ?").get(tW),X=U?Number(U.value):0,Q=$.query(`SELECT seq, ${H1} FROM crdt_changes
394
- WHERE dataset = 'site_channels' AND seq > ? ORDER BY seq`).all(X);if(Q.length===0)return;$.transaction((J)=>{for(let j of J)UJ($,j);$.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(tW,String(J[J.length-1].seq))})(Q)}function Q8($){iL($),aL($),$H($),eL($),lL($),oL($),sL($),dL($),tL($),pL($),rL($),UH($),JH($)}var tW="site_channels_replay_seq";var WJ=H$(()=>{KU();rU();m0();c0();A6()});function l($,U,X){function Q(W,z){if(!W._zod)Object.defineProperty(W,"_zod",{value:{def:z,constr:G,traits:new Set},enumerable:!1});if(W._zod.traits.has($))return;W._zod.traits.add($),U(W,z);let D=G.prototype,A=Object.keys(D);for(let T=0;T<A.length;T++){let h=A[T];if(!(h in W))W[h]=D[h].bind(W)}}let J=X?.Parent??Object;class j extends J{}Object.defineProperty(j,"name",{value:$});function G(W){var z;let D=X?.Parent?new j:this;Q(D,W),(z=D._zod).deferred??(z.deferred=[]);for(let A of D._zod.deferred)A();return D}return Object.defineProperty(G,"init",{value:Q}),Object.defineProperty(G,Symbol.hasInstance,{value:(W)=>{if(X?.Parent&&W instanceof X.Parent)return!0;return W?._zod?.traits?.has($)}}),Object.defineProperty(G,"name",{value:$}),G}function H6($){if($)Object.assign(VU,$);return VU}var eW,j8,G8,k1,DU,VU;var LU=H$(()=>{j8=Object.freeze({status:"aborted"});G8=Symbol("zod_brand");k1=class k1 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};DU=class DU extends Error{constructor($){super(`Encountered unidirectional transform during encode: ${$}`);this.name="ZodEncodeError"}};(eW=globalThis).__zod_globalConfig??(eW.__zod_globalConfig={});VU=globalThis.__zod_globalConfig});var k$={};Y1(k$,{unwrapMessage:()=>i0,uint8ArrayToHex:()=>_H,uint8ArrayToBase64url:()=>RH,uint8ArrayToBase64:()=>U5,stringifyPrimitive:()=>B$,slugify:()=>Z8,shallowClone:()=>z8,safeExtend:()=>IH,required:()=>PH,randomString:()=>zH,propertyKeyTypes:()=>o0,promiseAllObject:()=>KH,primitiveTypes:()=>V8,prefixIssues:()=>r6,pick:()=>HH,partial:()=>qH,parsedType:()=>q$,optionalKeys:()=>D8,omit:()=>NH,objectClone:()=>YH,numKeys:()=>VH,nullish:()=>i1,normalizeParams:()=>_$,mergeDefs:()=>x1,merge:()=>BH,jsonStringifyReplacer:()=>dU,joinValues:()=>$$,issue:()=>tU,isPlainObject:()=>r1,isObject:()=>HU,hexToUint8Array:()=>TH,getSizableOrigin:()=>d0,getParsedType:()=>DH,getLengthableOrigin:()=>p0,getEnumValues:()=>l0,getElementAtPath:()=>ZH,floatSafeRemainder:()=>W8,finalizeIssue:()=>b6,extend:()=>OH,explicitlyAborted:()=>N8,escapeRegex:()=>Z1,esc:()=>ZJ,defineLazy:()=>a$,createTransparentProxy:()=>LH,cloneDef:()=>WH,clone:()=>f6,cleanRegex:()=>r0,cleanEnum:()=>kH,captureStackTrace:()=>KJ,cached:()=>pU,base64urlToUint8Array:()=>AH,base64ToUint8Array:()=>$5,assignProp:()=>l1,assertNotEqual:()=>XH,assertNever:()=>jH,assertIs:()=>QH,assertEqual:()=>vH,assert:()=>GH,allowsEval:()=>K8,aborted:()=>o1,NUMBER_FORMAT_RANGES:()=>L8,Class:()=>J5,BIGINT_FORMAT_RANGES:()=>H8});function vH($){return $}function XH($){return $}function QH($){}function jH($){throw Error("Unexpected value in exhaustive check")}function GH($){}function l0($){let U=Object.values($).filter((Q)=>typeof Q==="number");return Object.entries($).filter(([Q,J])=>U.indexOf(+Q)===-1).map(([Q,J])=>J)}function $$($,U="|"){return $.map((X)=>B$(X)).join(U)}function dU($,U){if(typeof U==="bigint")return U.toString();return U}function pU($){return{get value(){{let X=$();return Object.defineProperty(this,"value",{value:X}),X}throw Error("cached value already set")}}}function i1($){return $===null||$===void 0}function r0($){let U=$.startsWith("^")?1:0,X=$.endsWith("$")?$.length-1:$.length;return $.slice(U,X)}function W8($,U){let X=$/U,Q=Math.round(X),J=Number.EPSILON*Math.max(Math.abs(X),1);if(Math.abs(X-Q)<J)return 0;return X-Q}function a$($,U,X){let Q=void 0;Object.defineProperty($,U,{get(){if(Q===sW)return;if(Q===void 0)Q=sW,Q=X();return Q},set(J){Object.defineProperty($,U,{value:J})},configurable:!0})}function YH($){return Object.create(Object.getPrototypeOf($),Object.getOwnPropertyDescriptors($))}function l1($,U,X){Object.defineProperty($,U,{value:X,writable:!0,enumerable:!0,configurable:!0})}function x1(...$){let U={};for(let X of $){let Q=Object.getOwnPropertyDescriptors(X);Object.assign(U,Q)}return Object.defineProperties({},U)}function WH($){return x1($._zod.def)}function ZH($,U){if(!U)return $;return U.reduce((X,Q)=>X?.[Q],$)}function KH($){let U=Object.keys($),X=U.map((Q)=>$[Q]);return Promise.all(X).then((Q)=>{let J={};for(let j=0;j<U.length;j++)J[U[j]]=Q[j];return J})}function zH($=10){let X="";for(let Q=0;Q<$;Q++)X+="abcdefghijklmnopqrstuvwxyz"[Math.floor(Math.random()*26)];return X}function ZJ($){return JSON.stringify($)}function Z8($){return $.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function HU($){return typeof $==="object"&&$!==null&&!Array.isArray($)}function r1($){if(HU($)===!1)return!1;let U=$.constructor;if(U===void 0)return!0;if(typeof U!=="function")return!0;let X=U.prototype;if(HU(X)===!1)return!1;if(Object.prototype.hasOwnProperty.call(X,"isPrototypeOf")===!1)return!1;return!0}function z8($){if(r1($))return{...$};if(Array.isArray($))return[...$];if($ instanceof Map)return new Map($);if($ instanceof Set)return new Set($);return $}function VH($){let U=0;for(let X in $)if(Object.prototype.hasOwnProperty.call($,X))U++;return U}function Z1($){return $.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function f6($,U,X){let Q=new $._zod.constr(U??$._zod.def);if(!U||X?.parent)Q._zod.parent=$;return Q}function _$($){let U=$;if(!U)return{};if(typeof U==="string")return{error:()=>U};if(U?.message!==void 0){if(U?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");U.error=U.message}if(delete U.message,typeof U.error==="string")return{...U,error:()=>U.error};return U}function LH($){let U;return new Proxy({},{get(X,Q,J){return U??(U=$()),Reflect.get(U,Q,J)},set(X,Q,J,j){return U??(U=$()),Reflect.set(U,Q,J,j)},has(X,Q){return U??(U=$()),Reflect.has(U,Q)},deleteProperty(X,Q){return U??(U=$()),Reflect.deleteProperty(U,Q)},ownKeys(X){return U??(U=$()),Reflect.ownKeys(U)},getOwnPropertyDescriptor(X,Q){return U??(U=$()),Reflect.getOwnPropertyDescriptor(U,Q)},defineProperty(X,Q,J){return U??(U=$()),Reflect.defineProperty(U,Q,J)}})}function B$($){if(typeof $==="bigint")return $.toString()+"n";if(typeof $==="string")return`"${$}"`;return`${$}`}function D8($){return Object.keys($).filter((U)=>{return $[U]._zod.optin==="optional"&&$[U]._zod.optout==="optional"})}function HH($,U){let X=$._zod.def,Q=X.checks;if(Q&&Q.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let j=x1($._zod.def,{get shape(){let G={};for(let W in U){if(!(W in X.shape))throw Error(`Unrecognized key: "${W}"`);if(!U[W])continue;G[W]=X.shape[W]}return l1(this,"shape",G),G},checks:[]});return f6($,j)}function NH($,U){let X=$._zod.def,Q=X.checks;if(Q&&Q.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let j=x1($._zod.def,{get shape(){let G={...$._zod.def.shape};for(let W in U){if(!(W in X.shape))throw Error(`Unrecognized key: "${W}"`);if(!U[W])continue;delete G[W]}return l1(this,"shape",G),G},checks:[]});return f6($,j)}function OH($,U){if(!r1(U))throw Error("Invalid input to extend: expected a plain object");let X=$._zod.def.checks;if(X&&X.length>0){let j=$._zod.def.shape;for(let G in U)if(Object.getOwnPropertyDescriptor(j,G)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let J=x1($._zod.def,{get shape(){let j={...$._zod.def.shape,...U};return l1(this,"shape",j),j}});return f6($,J)}function IH($,U){if(!r1(U))throw Error("Invalid input to safeExtend: expected a plain object");let X=x1($._zod.def,{get shape(){let Q={...$._zod.def.shape,...U};return l1(this,"shape",Q),Q}});return f6($,X)}function BH($,U){if($._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let X=x1($._zod.def,{get shape(){let Q={...$._zod.def.shape,...U._zod.def.shape};return l1(this,"shape",Q),Q},get catchall(){return U._zod.def.catchall},checks:U._zod.def.checks??[]});return f6($,X)}function qH($,U,X){let J=U._zod.def.checks;if(J&&J.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let G=x1(U._zod.def,{get shape(){let W=U._zod.def.shape,z={...W};if(X)for(let D in X){if(!(D in W))throw Error(`Unrecognized key: "${D}"`);if(!X[D])continue;z[D]=$?new $({type:"optional",innerType:W[D]}):W[D]}else for(let D in W)z[D]=$?new $({type:"optional",innerType:W[D]}):W[D];return l1(this,"shape",z),z},checks:[]});return f6(U,G)}function PH($,U,X){let Q=x1(U._zod.def,{get shape(){let J=U._zod.def.shape,j={...J};if(X)for(let G in X){if(!(G in j))throw Error(`Unrecognized key: "${G}"`);if(!X[G])continue;j[G]=new $({type:"nonoptional",innerType:J[G]})}else for(let G in J)j[G]=new $({type:"nonoptional",innerType:J[G]});return l1(this,"shape",j),j}});return f6(U,Q)}function o1($,U=0){if($.aborted===!0)return!0;for(let X=U;X<$.issues.length;X++)if($.issues[X]?.continue!==!0)return!0;return!1}function N8($,U=0){if($.aborted===!0)return!0;for(let X=U;X<$.issues.length;X++)if($.issues[X]?.continue===!1)return!0;return!1}function r6($,U){return U.map((X)=>{var Q;return(Q=X).path??(Q.path=[]),X.path.unshift($),X})}function i0($){return typeof $==="string"?$:$?.message}function b6($,U,X){let Q=$.message?$.message:i0($.inst?._zod.def?.error?.($))??i0(U?.error?.($))??i0(X.customError?.($))??i0(X.localeError?.($))??"Invalid input",{inst:J,continue:j,input:G,...W}=$;if(W.path??(W.path=[]),W.message=Q,U?.reportInput)W.input=G;return W}function d0($){if($ instanceof Set)return"set";if($ instanceof Map)return"map";if($ instanceof File)return"file";return"unknown"}function p0($){if(Array.isArray($))return"array";if(typeof $==="string")return"string";return"unknown"}function q$($){let U=typeof $;switch(U){case"number":return Number.isNaN($)?"nan":"number";case"object":{if($===null)return"null";if(Array.isArray($))return"array";let X=$;if(X&&Object.getPrototypeOf(X)!==Object.prototype&&"constructor"in X&&X.constructor)return X.constructor.name}}return U}function tU(...$){let[U,X,Q]=$;if(typeof U==="string")return{message:U,code:"custom",input:X,inst:Q};return{...U}}function kH($){return Object.entries($).filter(([U,X])=>{return Number.isNaN(Number.parseInt(U,10))}).map((U)=>U[1])}function $5($){let U=atob($),X=new Uint8Array(U.length);for(let Q=0;Q<U.length;Q++)X[Q]=U.charCodeAt(Q);return X}function U5($){let U="";for(let X=0;X<$.length;X++)U+=String.fromCharCode($[X]);return btoa(U)}function AH($){let U=$.replace(/-/g,"+").replace(/_/g,"/"),X="=".repeat((4-U.length%4)%4);return $5(U+X)}function RH($){return U5($).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function TH($){let U=$.replace(/^0x/,"");if(U.length%2!==0)throw Error("Invalid hex string length");let X=new Uint8Array(U.length/2);for(let Q=0;Q<U.length;Q+=2)X[Q/2]=Number.parseInt(U.slice(Q,Q+2),16);return X}function _H($){return Array.from($).map((U)=>U.toString(16).padStart(2,"0")).join("")}class J5{constructor(...$){}}var sW,KJ,K8,DH=($)=>{let U=typeof $;switch(U){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN($)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":if(Array.isArray($))return"array";if($===null)return"null";if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return"promise";if(typeof Map<"u"&&$ instanceof Map)return"map";if(typeof Set<"u"&&$ instanceof Set)return"set";if(typeof Date<"u"&&$ instanceof Date)return"date";if(typeof File<"u"&&$ instanceof File)return"file";return"object";default:throw Error(`Unknown data type: ${U}`)}},o0,V8,L8,H8;var g$=H$(()=>{LU();sW=Symbol("evaluating");KJ="captureStackTrace"in Error?Error.captureStackTrace:(...$)=>{};K8=pU(()=>{if(VU.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch($){return!1}});o0=new Set(["string","number","symbol"]),V8=new Set(["string","number","bigint","boolean","symbol","undefined"]);L8={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},H8={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]}});function a0($,U=(X)=>X.message){let X={},Q=[];for(let J of $.issues)if(J.path.length>0)X[J.path[0]]=X[J.path[0]]||[],X[J.path[0]].push(U(J));else Q.push(U(J));return{formErrors:Q,fieldErrors:X}}function e0($,U=(X)=>X.message){let X={_errors:[]},Q=(J,j=[])=>{for(let G of J.issues)if(G.code==="invalid_union"&&G.errors.length)G.errors.map((W)=>Q({issues:W},[...j,...G.path]));else if(G.code==="invalid_key")Q({issues:G.issues},[...j,...G.path]);else if(G.code==="invalid_element")Q({issues:G.issues},[...j,...G.path]);else{let W=[...j,...G.path];if(W.length===0)X._errors.push(U(G));else{let z=X,D=0;while(D<W.length){let A=W[D];if(D!==W.length-1)z[A]=z[A]||{_errors:[]};else z[A]=z[A]||{_errors:[]},z[A]._errors.push(U(G));z=z[A],D++}}}};return Q($),X}function O8($,U=(X)=>X.message){let X={errors:[]},Q=(J,j=[])=>{var G,W;for(let z of J.issues)if(z.code==="invalid_union"&&z.errors.length)z.errors.map((D)=>Q({issues:D},[...j,...z.path]));else if(z.code==="invalid_key")Q({issues:z.issues},[...j,...z.path]);else if(z.code==="invalid_element")Q({issues:z.issues},[...j,...z.path]);else{let D=[...j,...z.path];if(D.length===0){X.errors.push(U(z));continue}let A=X,T=0;while(T<D.length){let h=D[T],o=T===D.length-1;if(typeof h==="string")A.properties??(A.properties={}),(G=A.properties)[h]??(G[h]={errors:[]}),A=A.properties[h];else A.items??(A.items=[]),(W=A.items)[h]??(W[h]={errors:[]}),A=A.items[h];if(o)A.errors.push(U(z));T++}}};return Q($),X}function X5($){let U=[],X=$.map((Q)=>typeof Q==="object"?Q.key:Q);for(let Q of X)if(typeof Q==="number")U.push(`[${Q}]`);else if(typeof Q==="symbol")U.push(`[${JSON.stringify(String(Q))}]`);else if(/[^\w$]/.test(Q))U.push(`[${JSON.stringify(Q)}]`);else{if(U.length)U.push(".");U.push(Q)}return U.join("")}function I8($){let U=[],X=[...$.issues].sort((Q,J)=>(Q.path??[]).length-(J.path??[]).length);for(let Q of X)if(U.push(`✖ ${Q.message}`),Q.path?.length)U.push(` → at ${X5(Q.path)}`);return U.join(`
395
- `)}var v5=($,U)=>{$.name="$ZodError",Object.defineProperty($,"_zod",{value:$._zod,enumerable:!1}),Object.defineProperty($,"issues",{value:U,enumerable:!1}),$.message=JSON.stringify(U,dU,2),Object.defineProperty($,"toString",{value:()=>$.message,enumerable:!1})},t0,o6;var B8=H$(()=>{LU();g$();t0=l("$ZodError",v5),o6=l("$ZodError",v5,{Parent:Error})});var aU=($)=>(U,X,Q,J)=>{let j=Q?{...Q,async:!1}:{async:!1},G=U._zod.run({value:X,issues:[]},j);if(G instanceof Promise)throw new k1;if(G.issues.length){let W=new(J?.Err??$)(G.issues.map((z)=>b6(z,j,H6())));throw KJ(W,J?.callee),W}return G.value},zJ,eU=($)=>async(U,X,Q,J)=>{let j=Q?{...Q,async:!0}:{async:!0},G=U._zod.run({value:X,issues:[]},j);if(G instanceof Promise)G=await G;if(G.issues.length){let W=new(J?.Err??$)(G.issues.map((z)=>b6(z,j,H6())));throw KJ(W,J?.callee),W}return G.value},VJ,sU=($)=>(U,X,Q)=>{let J=Q?{...Q,async:!1}:{async:!1},j=U._zod.run({value:X,issues:[]},J);if(j instanceof Promise)throw new k1;return j.issues.length?{success:!1,error:new($??t0)(j.issues.map((G)=>b6(G,J,H6())))}:{success:!0,data:j.value}},q8,$0=($)=>async(U,X,Q)=>{let J=Q?{...Q,async:!0}:{async:!0},j=U._zod.run({value:X,issues:[]},J);if(j instanceof Promise)j=await j;return j.issues.length?{success:!1,error:new $(j.issues.map((G)=>b6(G,J,H6())))}:{success:!0,data:j.value}},P8,DJ=($)=>(U,X,Q)=>{let J=Q?{...Q,direction:"backward"}:{direction:"backward"};return aU($)(U,X,J)},CH,LJ=($)=>(U,X,Q)=>{return aU($)(U,X,Q)},FH,HJ=($)=>async(U,X,Q)=>{let J=Q?{...Q,direction:"backward"}:{direction:"backward"};return eU($)(U,X,J)},EH,NJ=($)=>async(U,X,Q)=>{return eU($)(U,X,Q)},SH,OJ=($)=>(U,X,Q)=>{let J=Q?{...Q,direction:"backward"}:{direction:"backward"};return sU($)(U,X,J)},xH,IJ=($)=>(U,X,Q)=>{return sU($)(U,X,Q)},wH,BJ=($)=>async(U,X,Q)=>{let J=Q?{...Q,direction:"backward"}:{direction:"backward"};return $0($)(U,X,J)},uH,qJ=($)=>async(U,X,Q)=>{return $0($)(U,X,Q)},gH;var k8=H$(()=>{LU();B8();g$();zJ=aU(o6),VJ=eU(o6),q8=sU(o6),P8=$0(o6),CH=DJ(o6),FH=LJ(o6),EH=HJ(o6),SH=NJ(o6),xH=OJ(o6),wH=IJ(o6),uH=BJ(o6),gH=qJ(o6)});var e6={};Y1(e6,{xid:()=>_8,uuid7:()=>bH,uuid6:()=>fH,uuid4:()=>hH,uuid:()=>NU,uppercase:()=>e8,unicodeEmail:()=>Q5,undefined:()=>t8,ulid:()=>T8,time:()=>c8,string:()=>l8,sha512_hex:()=>GN,sha512_base64url:()=>WN,sha512_base64:()=>YN,sha384_hex:()=>XN,sha384_base64url:()=>jN,sha384_base64:()=>QN,sha256_hex:()=>UN,sha256_base64url:()=>vN,sha256_base64:()=>JN,sha1_hex:()=>eH,sha1_base64url:()=>$N,sha1_base64:()=>sH,rfc5322Email:()=>mH,number:()=>s0,null:()=>p8,nanoid:()=>C8,md5_hex:()=>pH,md5_base64url:()=>aH,md5_base64:()=>tH,mac:()=>g8,lowercase:()=>a8,ksuid:()=>M8,ipv6:()=>u8,ipv4:()=>w8,integer:()=>o8,idnEmail:()=>cH,httpProtocol:()=>b8,html5Email:()=>nH,hostname:()=>rH,hex:()=>dH,guid:()=>E8,extendedDuration:()=>yH,emoji:()=>x8,email:()=>S8,e164:()=>n8,duration:()=>F8,domain:()=>oH,datetime:()=>i8,date:()=>m8,cuid2:()=>R8,cuid:()=>A8,cidrv6:()=>h8,cidrv4:()=>y8,browserEmail:()=>iH,boolean:()=>d8,bigint:()=>r8,base64url:()=>PJ,base64:()=>f8});function x8(){return new RegExp(lH,"u")}function G5($){return typeof $.precision==="number"?$.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":$.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${$.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function c8($){return new RegExp(`^${G5($)}$`)}function i8($){let U=G5({precision:$.precision}),X=["Z"];if($.local)X.push("");if($.offset)X.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let Q=`${U}(?:${X.join("|")})`;return new RegExp(`^${j5}T(?:${Q})$`)}function $2($,U){return new RegExp(`^[A-Za-z0-9+/]{${$}}${U}$`)}function U2($){return new RegExp(`^[A-Za-z0-9_-]{${$}}$`)}var A8,R8,T8,_8,M8,C8,F8,yH,E8,NU=($)=>{if(!$)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${$}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},hH,fH,bH,S8,nH,mH,Q5,cH,iH,lH="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",w8,u8,g8=($)=>{let U=Z1($??":");return new RegExp(`^(?:[0-9A-F]{2}${U}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${U}){5}[0-9a-f]{2}$`)},y8,h8,f8,PJ,rH,oH,b8,n8,j5="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",m8,l8=($)=>{let U=$?`[\\s\\S]{${$?.minimum??0},${$?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${U}$`)},r8,o8,s0,d8,p8,t8,a8,e8,dH,pH,tH,aH,eH,sH,$N,UN,JN,vN,XN,QN,jN,GN,YN,WN;var kJ=H$(()=>{g$();A8=/^[cC][0-9a-z]{6,}$/,R8=/^[0-9a-z]+$/,T8=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,_8=/^[0-9a-vA-V]{20}$/,M8=/^[A-Za-z0-9]{27}$/,C8=/^[a-zA-Z0-9_-]{21}$/,F8=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,yH=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,E8=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,hH=NU(4),fH=NU(6),bH=NU(7),S8=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,nH=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,mH=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,Q5=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,cH=Q5,iH=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;w8=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,u8=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,y8=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,h8=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,f8=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,PJ=/^[A-Za-z0-9_-]*$/,rH=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,oH=/^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,b8=/^https?$/,n8=/^\+[1-9]\d{6,14}$/,m8=new RegExp(`^${j5}$`);r8=/^-?\d+n?$/,o8=/^-?\d+$/,s0=/^-?\d+(?:\.\d+)?$/,d8=/^(?:true|false)$/i,p8=/^null$/i,t8=/^undefined$/i,a8=/^[^A-Z]*$/,e8=/^[^a-z]*$/,dH=/^[0-9a-fA-F]*$/;pH=/^[0-9a-fA-F]{32}$/,tH=$2(22,"=="),aH=U2(22),eH=/^[0-9a-fA-F]{40}$/,sH=$2(27,"="),$N=U2(27),UN=/^[0-9a-fA-F]{64}$/,JN=$2(43,"="),vN=U2(43),XN=/^[0-9a-fA-F]{96}$/,QN=$2(64,""),jN=U2(64),GN=/^[0-9a-fA-F]{128}$/,YN=$2(86,"=="),WN=U2(86)});function Y5($,U,X){if($.issues.length)U.issues.push(...r6(X,$.issues))}var V6,W5,AJ,RJ,s8,$4,U4,J4,v4,X4,Q4,j4,G4,U0,Y4,W4,Z4,K4,z4,V4,D4,L4,H4;var TJ=H$(()=>{LU();kJ();g$();V6=l("$ZodCheck",($,U)=>{var X;$._zod??($._zod={}),$._zod.def=U,(X=$._zod).onattach??(X.onattach=[])}),W5={number:"number",bigint:"bigint",object:"date"},AJ=l("$ZodCheckLessThan",($,U)=>{V6.init($,U);let X=W5[typeof U.value];$._zod.onattach.push((Q)=>{let J=Q._zod.bag,j=(U.inclusive?J.maximum:J.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(U.value<j)if(U.inclusive)J.maximum=U.value;else J.exclusiveMaximum=U.value}),$._zod.check=(Q)=>{if(U.inclusive?Q.value<=U.value:Q.value<U.value)return;Q.issues.push({origin:X,code:"too_big",maximum:typeof U.value==="object"?U.value.getTime():U.value,input:Q.value,inclusive:U.inclusive,inst:$,continue:!U.abort})}}),RJ=l("$ZodCheckGreaterThan",($,U)=>{V6.init($,U);let X=W5[typeof U.value];$._zod.onattach.push((Q)=>{let J=Q._zod.bag,j=(U.inclusive?J.minimum:J.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(U.value>j)if(U.inclusive)J.minimum=U.value;else J.exclusiveMinimum=U.value}),$._zod.check=(Q)=>{if(U.inclusive?Q.value>=U.value:Q.value>U.value)return;Q.issues.push({origin:X,code:"too_small",minimum:typeof U.value==="object"?U.value.getTime():U.value,input:Q.value,inclusive:U.inclusive,inst:$,continue:!U.abort})}}),s8=l("$ZodCheckMultipleOf",($,U)=>{V6.init($,U),$._zod.onattach.push((X)=>{var Q;(Q=X._zod.bag).multipleOf??(Q.multipleOf=U.value)}),$._zod.check=(X)=>{if(typeof X.value!==typeof U.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof X.value==="bigint"?X.value%U.value===BigInt(0):W8(X.value,U.value)===0)return;X.issues.push({origin:typeof X.value,code:"not_multiple_of",divisor:U.value,input:X.value,inst:$,continue:!U.abort})}}),$4=l("$ZodCheckNumberFormat",($,U)=>{V6.init($,U),U.format=U.format||"float64";let X=U.format?.includes("int"),Q=X?"int":"number",[J,j]=L8[U.format];$._zod.onattach.push((G)=>{let W=G._zod.bag;if(W.format=U.format,W.minimum=J,W.maximum=j,X)W.pattern=o8}),$._zod.check=(G)=>{let W=G.value;if(X){if(!Number.isInteger(W)){G.issues.push({expected:Q,format:U.format,code:"invalid_type",continue:!1,input:W,inst:$});return}if(!Number.isSafeInteger(W)){if(W>0)G.issues.push({input:W,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:Q,inclusive:!0,continue:!U.abort});else G.issues.push({input:W,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:$,origin:Q,inclusive:!0,continue:!U.abort});return}}if(W<J)G.issues.push({origin:"number",input:W,code:"too_small",minimum:J,inclusive:!0,inst:$,continue:!U.abort});if(W>j)G.issues.push({origin:"number",input:W,code:"too_big",maximum:j,inclusive:!0,inst:$,continue:!U.abort})}}),U4=l("$ZodCheckBigIntFormat",($,U)=>{V6.init($,U);let[X,Q]=H8[U.format];$._zod.onattach.push((J)=>{let j=J._zod.bag;j.format=U.format,j.minimum=X,j.maximum=Q}),$._zod.check=(J)=>{let j=J.value;if(j<X)J.issues.push({origin:"bigint",input:j,code:"too_small",minimum:X,inclusive:!0,inst:$,continue:!U.abort});if(j>Q)J.issues.push({origin:"bigint",input:j,code:"too_big",maximum:Q,inclusive:!0,inst:$,continue:!U.abort})}}),J4=l("$ZodCheckMaxSize",($,U)=>{var X;V6.init($,U),(X=$._zod.def).when??(X.when=(Q)=>{let J=Q.value;return!i1(J)&&J.size!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag.maximum??Number.POSITIVE_INFINITY;if(U.maximum<J)Q._zod.bag.maximum=U.maximum}),$._zod.check=(Q)=>{let J=Q.value;if(J.size<=U.maximum)return;Q.issues.push({origin:d0(J),code:"too_big",maximum:U.maximum,inclusive:!0,input:J,inst:$,continue:!U.abort})}}),v4=l("$ZodCheckMinSize",($,U)=>{var X;V6.init($,U),(X=$._zod.def).when??(X.when=(Q)=>{let J=Q.value;return!i1(J)&&J.size!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(U.minimum>J)Q._zod.bag.minimum=U.minimum}),$._zod.check=(Q)=>{let J=Q.value;if(J.size>=U.minimum)return;Q.issues.push({origin:d0(J),code:"too_small",minimum:U.minimum,inclusive:!0,input:J,inst:$,continue:!U.abort})}}),X4=l("$ZodCheckSizeEquals",($,U)=>{var X;V6.init($,U),(X=$._zod.def).when??(X.when=(Q)=>{let J=Q.value;return!i1(J)&&J.size!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag;J.minimum=U.size,J.maximum=U.size,J.size=U.size}),$._zod.check=(Q)=>{let J=Q.value,j=J.size;if(j===U.size)return;let G=j>U.size;Q.issues.push({origin:d0(J),...G?{code:"too_big",maximum:U.size}:{code:"too_small",minimum:U.size},inclusive:!0,exact:!0,input:Q.value,inst:$,continue:!U.abort})}}),Q4=l("$ZodCheckMaxLength",($,U)=>{var X;V6.init($,U),(X=$._zod.def).when??(X.when=(Q)=>{let J=Q.value;return!i1(J)&&J.length!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag.maximum??Number.POSITIVE_INFINITY;if(U.maximum<J)Q._zod.bag.maximum=U.maximum}),$._zod.check=(Q)=>{let J=Q.value;if(J.length<=U.maximum)return;let G=p0(J);Q.issues.push({origin:G,code:"too_big",maximum:U.maximum,inclusive:!0,input:J,inst:$,continue:!U.abort})}}),j4=l("$ZodCheckMinLength",($,U)=>{var X;V6.init($,U),(X=$._zod.def).when??(X.when=(Q)=>{let J=Q.value;return!i1(J)&&J.length!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(U.minimum>J)Q._zod.bag.minimum=U.minimum}),$._zod.check=(Q)=>{let J=Q.value;if(J.length>=U.minimum)return;let G=p0(J);Q.issues.push({origin:G,code:"too_small",minimum:U.minimum,inclusive:!0,input:J,inst:$,continue:!U.abort})}}),G4=l("$ZodCheckLengthEquals",($,U)=>{var X;V6.init($,U),(X=$._zod.def).when??(X.when=(Q)=>{let J=Q.value;return!i1(J)&&J.length!==void 0}),$._zod.onattach.push((Q)=>{let J=Q._zod.bag;J.minimum=U.length,J.maximum=U.length,J.length=U.length}),$._zod.check=(Q)=>{let J=Q.value,j=J.length;if(j===U.length)return;let G=p0(J),W=j>U.length;Q.issues.push({origin:G,...W?{code:"too_big",maximum:U.length}:{code:"too_small",minimum:U.length},inclusive:!0,exact:!0,input:Q.value,inst:$,continue:!U.abort})}}),U0=l("$ZodCheckStringFormat",($,U)=>{var X,Q;if(V6.init($,U),$._zod.onattach.push((J)=>{let j=J._zod.bag;if(j.format=U.format,U.pattern)j.patterns??(j.patterns=new Set),j.patterns.add(U.pattern)}),U.pattern)(X=$._zod).check??(X.check=(J)=>{if(U.pattern.lastIndex=0,U.pattern.test(J.value))return;J.issues.push({origin:"string",code:"invalid_format",format:U.format,input:J.value,...U.pattern?{pattern:U.pattern.toString()}:{},inst:$,continue:!U.abort})});else(Q=$._zod).check??(Q.check=()=>{})}),Y4=l("$ZodCheckRegex",($,U)=>{U0.init($,U),$._zod.check=(X)=>{if(U.pattern.lastIndex=0,U.pattern.test(X.value))return;X.issues.push({origin:"string",code:"invalid_format",format:"regex",input:X.value,pattern:U.pattern.toString(),inst:$,continue:!U.abort})}}),W4=l("$ZodCheckLowerCase",($,U)=>{U.pattern??(U.pattern=a8),U0.init($,U)}),Z4=l("$ZodCheckUpperCase",($,U)=>{U.pattern??(U.pattern=e8),U0.init($,U)}),K4=l("$ZodCheckIncludes",($,U)=>{V6.init($,U);let X=Z1(U.includes),Q=new RegExp(typeof U.position==="number"?`^.{${U.position}}${X}`:X);U.pattern=Q,$._zod.onattach.push((J)=>{let j=J._zod.bag;j.patterns??(j.patterns=new Set),j.patterns.add(Q)}),$._zod.check=(J)=>{if(J.value.includes(U.includes,U.position))return;J.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:U.includes,input:J.value,inst:$,continue:!U.abort})}}),z4=l("$ZodCheckStartsWith",($,U)=>{V6.init($,U);let X=new RegExp(`^${Z1(U.prefix)}.*`);U.pattern??(U.pattern=X),$._zod.onattach.push((Q)=>{let J=Q._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(X)}),$._zod.check=(Q)=>{if(Q.value.startsWith(U.prefix))return;Q.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:U.prefix,input:Q.value,inst:$,continue:!U.abort})}}),V4=l("$ZodCheckEndsWith",($,U)=>{V6.init($,U);let X=new RegExp(`.*${Z1(U.suffix)}$`);U.pattern??(U.pattern=X),$._zod.onattach.push((Q)=>{let J=Q._zod.bag;J.patterns??(J.patterns=new Set),J.patterns.add(X)}),$._zod.check=(Q)=>{if(Q.value.endsWith(U.suffix))return;Q.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:U.suffix,input:Q.value,inst:$,continue:!U.abort})}});D4=l("$ZodCheckProperty",($,U)=>{V6.init($,U),$._zod.check=(X)=>{let Q=U.schema._zod.run({value:X.value[U.property],issues:[]},{});if(Q instanceof Promise)return Q.then((J)=>Y5(J,X,U.property));Y5(Q,X,U.property);return}}),L4=l("$ZodCheckMimeType",($,U)=>{V6.init($,U);let X=new Set(U.mime);$._zod.onattach.push((Q)=>{Q._zod.bag.mime=U.mime}),$._zod.check=(Q)=>{if(X.has(Q.value.type))return;Q.issues.push({code:"invalid_value",values:U.mime,input:Q.value.type,inst:$,continue:!U.abort})}}),H4=l("$ZodCheckOverwrite",($,U)=>{V6.init($,U),$._zod.check=(X)=>{X.value=U.tx(X.value)}})});class _J{constructor($=[]){if(this.content=[],this.indent=0,this)this.args=$}indented($){this.indent+=1,$(this),this.indent-=1}write($){if(typeof $==="function"){$(this,{execution:"sync"}),$(this,{execution:"async"});return}let X=$.split(`
396
- `).filter((j)=>j),Q=Math.min(...X.map((j)=>j.length-j.trimStart().length)),J=X.map((j)=>j.slice(Q)).map((j)=>" ".repeat(this.indent*2)+j);for(let j of J)this.content.push(j)}compile(){let $=Function,U=this?.args,Q=[...(this?.content??[""]).map((J)=>` ${J}`)];return new $(...U,Q.join(`
397
- `))}}var N4;var O4=H$(()=>{N4={major:4,minor:4,patch:3}});function b4($){if($==="")return!0;if(/\s/.test($))return!1;if($.length%4!==0)return!1;try{return atob($),!0}catch{return!1}}function R5($){if(!PJ.test($))return!1;let U=$.replace(/[-_]/g,(Q)=>Q==="-"?"+":"/"),X=U.padEnd(Math.ceil(U.length/4)*4,"=");return b4(X)}function T5($,U=null){try{let X=$.split(".");if(X.length!==3)return!1;let[Q]=X;if(!Q)return!1;let J=JSON.parse(atob(Q));if("typ"in J&&J?.typ!=="JWT")return!1;if(!J.alg)return!1;if(U&&(!("alg"in J)||J.alg!==U))return!1;return!0}catch{return!1}}function K5($,U,X){if($.issues.length)U.issues.push(...r6(X,$.issues));U.value[X]=$.value}function EJ($,U,X,Q,J,j){let G=X in Q;if($.issues.length){if(J&&j&&!G)return;U.issues.push(...r6(X,$.issues))}if(!G&&!J){if(!$.issues.length)U.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[X]});return}if($.value===void 0){if(G)U.value[X]=void 0}else U.value[X]=$.value}function _5($){let U=Object.keys($.shape);for(let Q of U)if(!$.shape?.[Q]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${Q}": expected a Zod schema`);let X=D8($.shape);return{...$,keys:U,keySet:new Set(U),numKeys:U.length,optionalKeys:new Set(X)}}function M5($,U,X,Q,J,j){let G=[],W=J.keySet,z=J.catchall._zod,D=z.def.type,A=z.optin==="optional",T=z.optout==="optional";for(let h in U){if(h==="__proto__")continue;if(W.has(h))continue;if(D==="never"){G.push(h);continue}let o=z.run({value:U[h],issues:[]},Q);if(o instanceof Promise)$.push(o.then((V$)=>EJ(V$,X,h,U,A,T)));else EJ(o,X,h,U,A,T)}if(G.length)X.issues.push({code:"unrecognized_keys",keys:G,input:U,inst:j});if(!$.length)return X;return Promise.all($).then(()=>{return X})}function z5($,U,X,Q){for(let j of $)if(j.issues.length===0)return U.value=j.value,U;let J=$.filter((j)=>!o1(j));if(J.length===1)return U.value=J[0].value,J[0];return U.issues.push({code:"invalid_union",input:U.value,inst:X,errors:$.map((j)=>j.issues.map((G)=>b6(G,Q,H6())))}),U}function V5($,U,X,Q){let J=$.filter((j)=>j.issues.length===0);if(J.length===1)return U.value=J[0].value,U;if(J.length===0)U.issues.push({code:"invalid_union",input:U.value,inst:X,errors:$.map((j)=>j.issues.map((G)=>b6(G,Q,H6())))});else U.issues.push({code:"invalid_union",input:U.value,inst:X,errors:[],inclusive:!1});return U}function I4($,U){if($===U)return{valid:!0,data:$};if($ instanceof Date&&U instanceof Date&&+$===+U)return{valid:!0,data:$};if(r1($)&&r1(U)){let X=Object.keys(U),Q=Object.keys($).filter((j)=>X.indexOf(j)!==-1),J={...$,...U};for(let j of Q){let G=I4($[j],U[j]);if(!G.valid)return{valid:!1,mergeErrorPath:[j,...G.mergeErrorPath]};J[j]=G.data}return{valid:!0,data:J}}if(Array.isArray($)&&Array.isArray(U)){if($.length!==U.length)return{valid:!1,mergeErrorPath:[]};let X=[];for(let Q=0;Q<$.length;Q++){let J=$[Q],j=U[Q],G=I4(J,j);if(!G.valid)return{valid:!1,mergeErrorPath:[Q,...G.mergeErrorPath]};X.push(G.data)}return{valid:!0,data:X}}return{valid:!1,mergeErrorPath:[]}}function D5($,U,X){let Q=new Map,J;for(let W of U.issues)if(W.code==="unrecognized_keys"){J??(J=W);for(let z of W.keys){if(!Q.has(z))Q.set(z,{});Q.get(z).l=!0}}else $.issues.push(W);for(let W of X.issues)if(W.code==="unrecognized_keys")for(let z of W.keys){if(!Q.has(z))Q.set(z,{});Q.get(z).r=!0}else $.issues.push(W);let j=[...Q].filter(([,W])=>W.l&&W.r).map(([W])=>W);if(j.length&&J)$.issues.push({...J,keys:j});if(o1($))return $;let G=I4(U.value,X.value);if(!G.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(G.mergeErrorPath)}`);return $.value=G.data,$}function L5($,U){for(let X=$.length-1;X>=0;X--)if($[X]._zod[U]!=="optional")return X+1;return 0}function H5($,U,X){if($.issues.length)U.issues.push(...r6(X,$.issues));U.value[X]=$.value}function N5($,U,X,Q,J){for(let j=0;j<X.length;j++){let G=$[j],W=j<Q.length;if(G.issues.length){if(!W&&j>=J){U.value.length=j;break}U.issues.push(...r6(j,G.issues))}U.value[j]=G.value}for(let j=U.value.length-1;j>=Q.length;j--)if(X[j]._zod.optout==="optional"&&U.value[j]===void 0)U.value.length=j;else break;return U}function O5($,U,X,Q,J,j,G){if($.issues.length)if(o0.has(typeof Q))X.issues.push(...r6(Q,$.issues));else X.issues.push({code:"invalid_key",origin:"map",input:J,inst:j,issues:$.issues.map((W)=>b6(W,G,H6()))});if(U.issues.length)if(o0.has(typeof Q))X.issues.push(...r6(Q,U.issues));else X.issues.push({origin:"map",code:"invalid_element",input:J,inst:j,key:Q,issues:U.issues.map((W)=>b6(W,G,H6()))});X.value.set($.value,U.value)}function I5($,U){if($.issues.length)U.issues.push(...$.issues);U.value.add($.value)}function B5($,U){if(U===void 0&&($.issues.length||$.fallback))return{issues:[],value:void 0};return $}function q5($,U){if($.value===void 0)$.value=U.defaultValue;return $}function P5($,U){if(!$.issues.length&&$.value===void 0)$.issues.push({code:"invalid_type",expected:"nonoptional",input:$.value,inst:U});return $}function MJ($,U,X){if($.issues.length)return $.aborted=!0,$;return U._zod.run({value:$.value,issues:$.issues,fallback:$.fallback},X)}function CJ($,U,X){if($.issues.length)return $.aborted=!0,$;if((X.direction||"forward")==="forward"){let J=U.transform($.value,$);if(J instanceof Promise)return J.then((j)=>FJ($,j,U.out,X));return FJ($,J,U.out,X)}else{let J=U.reverseTransform($.value,$);if(J instanceof Promise)return J.then((j)=>FJ($,j,U.in,X));return FJ($,J,U.in,X)}}function FJ($,U,X,Q){if($.issues.length)return $.aborted=!0,$;return X._zod.run({value:U,issues:$.issues},Q)}function k5($){return $.value=Object.freeze($.value),$}function A5($,U,X,Q){if(!$){let J={code:"custom",input:X,inst:Q,path:[...Q._zod.def.path??[]],continue:!Q._zod.def.abort};if(Q._zod.def.params)J.params=Q._zod.def.params;U.issues.push(tU(J))}}var i$,OU,W6,B4,q4,P4,k4,A4,R4,T4,_4,M4,C4,F4,E4,S4,x4,w4,u4,g4,y4,h4,f4,n4,m4,c4,i4,l4,SJ,r4,J2,xJ,o4,d4,p4,t4,a4,e4,s4,$Q,UQ,JQ,C5,vQ,v2,XQ,QQ,jQ,wJ,GQ,YQ,WQ,ZQ,KQ,zQ,VQ,uJ,DQ,LQ,HQ,NQ,OQ,IQ,BQ,qQ,gJ,X2,PQ,kQ,AQ,RQ,TQ,_Q,MQ;var CQ=H$(()=>{TJ();LU();k8();kJ();g$();O4();g$();i$=l("$ZodType",($,U)=>{var X;$??($={}),$._zod.def=U,$._zod.bag=$._zod.bag||{},$._zod.version=N4;let Q=[...$._zod.def.checks??[]];if($._zod.traits.has("$ZodCheck"))Q.unshift($);for(let J of Q)for(let j of J._zod.onattach)j($);if(Q.length===0)(X=$._zod).deferred??(X.deferred=[]),$._zod.deferred?.push(()=>{$._zod.run=$._zod.parse});else{let J=(G,W,z)=>{let D=o1(G),A;for(let T of W){if(T._zod.def.when){if(N8(G))continue;if(!T._zod.def.when(G))continue}else if(D)continue;let h=G.issues.length,o=T._zod.check(G);if(o instanceof Promise&&z?.async===!1)throw new k1;if(A||o instanceof Promise)A=(A??Promise.resolve()).then(async()=>{if(await o,G.issues.length===h)return;if(!D)D=o1(G,h)});else{if(G.issues.length===h)continue;if(!D)D=o1(G,h)}}if(A)return A.then(()=>{return G});return G},j=(G,W,z)=>{if(o1(G))return G.aborted=!0,G;let D=J(W,Q,z);if(D instanceof Promise){if(z.async===!1)throw new k1;return D.then((A)=>$._zod.parse(A,z))}return $._zod.parse(D,z)};$._zod.run=(G,W)=>{if(W.skipChecks)return $._zod.parse(G,W);if(W.direction==="backward"){let D=$._zod.parse({value:G.value,issues:[]},{...W,skipChecks:!0});if(D instanceof Promise)return D.then((A)=>{return j(A,G,W)});return j(D,G,W)}let z=$._zod.parse(G,W);if(z instanceof Promise){if(W.async===!1)throw new k1;return z.then((D)=>J(D,Q,W))}return J(z,Q,W)}}a$($,"~standard",()=>({validate:(J)=>{try{let j=q8($,J);return j.success?{value:j.data}:{issues:j.error?.issues}}catch(j){return P8($,J).then((G)=>G.success?{value:G.data}:{issues:G.error?.issues})}},vendor:"zod",version:1}))}),OU=l("$ZodString",($,U)=>{i$.init($,U),$._zod.pattern=[...$?._zod.bag?.patterns??[]].pop()??l8($._zod.bag),$._zod.parse=(X,Q)=>{if(U.coerce)try{X.value=String(X.value)}catch(J){}if(typeof X.value==="string")return X;return X.issues.push({expected:"string",code:"invalid_type",input:X.value,inst:$}),X}}),W6=l("$ZodStringFormat",($,U)=>{U0.init($,U),OU.init($,U)}),B4=l("$ZodGUID",($,U)=>{U.pattern??(U.pattern=E8),W6.init($,U)}),q4=l("$ZodUUID",($,U)=>{if(U.version){let Q={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[U.version];if(Q===void 0)throw Error(`Invalid UUID version: "${U.version}"`);U.pattern??(U.pattern=NU(Q))}else U.pattern??(U.pattern=NU());W6.init($,U)}),P4=l("$ZodEmail",($,U)=>{U.pattern??(U.pattern=S8),W6.init($,U)}),k4=l("$ZodURL",($,U)=>{W6.init($,U),$._zod.check=(X)=>{try{let Q=X.value.trim();if(!U.normalize&&U.protocol?.source===b8.source){if(!/^https?:\/\//i.test(Q)){X.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:X.value,inst:$,continue:!U.abort});return}}let J=new URL(Q);if(U.hostname){if(U.hostname.lastIndex=0,!U.hostname.test(J.hostname))X.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:U.hostname.source,input:X.value,inst:$,continue:!U.abort})}if(U.protocol){if(U.protocol.lastIndex=0,!U.protocol.test(J.protocol.endsWith(":")?J.protocol.slice(0,-1):J.protocol))X.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:U.protocol.source,input:X.value,inst:$,continue:!U.abort})}if(U.normalize)X.value=J.href;else X.value=Q;return}catch(Q){X.issues.push({code:"invalid_format",format:"url",input:X.value,inst:$,continue:!U.abort})}}}),A4=l("$ZodEmoji",($,U)=>{U.pattern??(U.pattern=x8()),W6.init($,U)}),R4=l("$ZodNanoID",($,U)=>{U.pattern??(U.pattern=C8),W6.init($,U)}),T4=l("$ZodCUID",($,U)=>{U.pattern??(U.pattern=A8),W6.init($,U)}),_4=l("$ZodCUID2",($,U)=>{U.pattern??(U.pattern=R8),W6.init($,U)}),M4=l("$ZodULID",($,U)=>{U.pattern??(U.pattern=T8),W6.init($,U)}),C4=l("$ZodXID",($,U)=>{U.pattern??(U.pattern=_8),W6.init($,U)}),F4=l("$ZodKSUID",($,U)=>{U.pattern??(U.pattern=M8),W6.init($,U)}),E4=l("$ZodISODateTime",($,U)=>{U.pattern??(U.pattern=i8(U)),W6.init($,U)}),S4=l("$ZodISODate",($,U)=>{U.pattern??(U.pattern=m8),W6.init($,U)}),x4=l("$ZodISOTime",($,U)=>{U.pattern??(U.pattern=c8(U)),W6.init($,U)}),w4=l("$ZodISODuration",($,U)=>{U.pattern??(U.pattern=F8),W6.init($,U)}),u4=l("$ZodIPv4",($,U)=>{U.pattern??(U.pattern=w8),W6.init($,U),$._zod.bag.format="ipv4"}),g4=l("$ZodIPv6",($,U)=>{U.pattern??(U.pattern=u8),W6.init($,U),$._zod.bag.format="ipv6",$._zod.check=(X)=>{try{new URL(`http://[${X.value}]`)}catch{X.issues.push({code:"invalid_format",format:"ipv6",input:X.value,inst:$,continue:!U.abort})}}}),y4=l("$ZodMAC",($,U)=>{U.pattern??(U.pattern=g8(U.delimiter)),W6.init($,U),$._zod.bag.format="mac"}),h4=l("$ZodCIDRv4",($,U)=>{U.pattern??(U.pattern=y8),W6.init($,U)}),f4=l("$ZodCIDRv6",($,U)=>{U.pattern??(U.pattern=h8),W6.init($,U),$._zod.check=(X)=>{let Q=X.value.split("/");try{if(Q.length!==2)throw Error();let[J,j]=Q;if(!j)throw Error();let G=Number(j);if(`${G}`!==j)throw Error();if(G<0||G>128)throw Error();new URL(`http://[${J}]`)}catch{X.issues.push({code:"invalid_format",format:"cidrv6",input:X.value,inst:$,continue:!U.abort})}}});n4=l("$ZodBase64",($,U)=>{U.pattern??(U.pattern=f8),W6.init($,U),$._zod.bag.contentEncoding="base64",$._zod.check=(X)=>{if(b4(X.value))return;X.issues.push({code:"invalid_format",format:"base64",input:X.value,inst:$,continue:!U.abort})}});m4=l("$ZodBase64URL",($,U)=>{U.pattern??(U.pattern=PJ),W6.init($,U),$._zod.bag.contentEncoding="base64url",$._zod.check=(X)=>{if(R5(X.value))return;X.issues.push({code:"invalid_format",format:"base64url",input:X.value,inst:$,continue:!U.abort})}}),c4=l("$ZodE164",($,U)=>{U.pattern??(U.pattern=n8),W6.init($,U)});i4=l("$ZodJWT",($,U)=>{W6.init($,U),$._zod.check=(X)=>{if(T5(X.value,U.alg))return;X.issues.push({code:"invalid_format",format:"jwt",input:X.value,inst:$,continue:!U.abort})}}),l4=l("$ZodCustomStringFormat",($,U)=>{W6.init($,U),$._zod.check=(X)=>{if(U.fn(X.value))return;X.issues.push({code:"invalid_format",format:U.format,input:X.value,inst:$,continue:!U.abort})}}),SJ=l("$ZodNumber",($,U)=>{i$.init($,U),$._zod.pattern=$._zod.bag.pattern??s0,$._zod.parse=(X,Q)=>{if(U.coerce)try{X.value=Number(X.value)}catch(G){}let J=X.value;if(typeof J==="number"&&!Number.isNaN(J)&&Number.isFinite(J))return X;let j=typeof J==="number"?Number.isNaN(J)?"NaN":!Number.isFinite(J)?"Infinity":void 0:void 0;return X.issues.push({expected:"number",code:"invalid_type",input:J,inst:$,...j?{received:j}:{}}),X}}),r4=l("$ZodNumberFormat",($,U)=>{$4.init($,U),SJ.init($,U)}),J2=l("$ZodBoolean",($,U)=>{i$.init($,U),$._zod.pattern=d8,$._zod.parse=(X,Q)=>{if(U.coerce)try{X.value=Boolean(X.value)}catch(j){}let J=X.value;if(typeof J==="boolean")return X;return X.issues.push({expected:"boolean",code:"invalid_type",input:J,inst:$}),X}}),xJ=l("$ZodBigInt",($,U)=>{i$.init($,U),$._zod.pattern=r8,$._zod.parse=(X,Q)=>{if(U.coerce)try{X.value=BigInt(X.value)}catch(J){}if(typeof X.value==="bigint")return X;return X.issues.push({expected:"bigint",code:"invalid_type",input:X.value,inst:$}),X}}),o4=l("$ZodBigIntFormat",($,U)=>{U4.init($,U),xJ.init($,U)}),d4=l("$ZodSymbol",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{let J=X.value;if(typeof J==="symbol")return X;return X.issues.push({expected:"symbol",code:"invalid_type",input:J,inst:$}),X}}),p4=l("$ZodUndefined",($,U)=>{i$.init($,U),$._zod.pattern=t8,$._zod.values=new Set([void 0]),$._zod.parse=(X,Q)=>{let J=X.value;if(typeof J>"u")return X;return X.issues.push({expected:"undefined",code:"invalid_type",input:J,inst:$}),X}}),t4=l("$ZodNull",($,U)=>{i$.init($,U),$._zod.pattern=p8,$._zod.values=new Set([null]),$._zod.parse=(X,Q)=>{let J=X.value;if(J===null)return X;return X.issues.push({expected:"null",code:"invalid_type",input:J,inst:$}),X}}),a4=l("$ZodAny",($,U)=>{i$.init($,U),$._zod.parse=(X)=>X}),e4=l("$ZodUnknown",($,U)=>{i$.init($,U),$._zod.parse=(X)=>X}),s4=l("$ZodNever",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{return X.issues.push({expected:"never",code:"invalid_type",input:X.value,inst:$}),X}}),$Q=l("$ZodVoid",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{let J=X.value;if(typeof J>"u")return X;return X.issues.push({expected:"void",code:"invalid_type",input:J,inst:$}),X}}),UQ=l("$ZodDate",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{if(U.coerce)try{X.value=new Date(X.value)}catch(W){}let J=X.value,j=J instanceof Date;if(j&&!Number.isNaN(J.getTime()))return X;return X.issues.push({expected:"date",code:"invalid_type",input:J,...j?{received:"Invalid Date"}:{},inst:$}),X}});JQ=l("$ZodArray",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{let J=X.value;if(!Array.isArray(J))return X.issues.push({expected:"array",code:"invalid_type",input:J,inst:$}),X;X.value=Array(J.length);let j=[];for(let G=0;G<J.length;G++){let W=J[G],z=U.element._zod.run({value:W,issues:[]},Q);if(z instanceof Promise)j.push(z.then((D)=>K5(D,X,G)));else K5(z,X,G)}if(j.length)return Promise.all(j).then(()=>X);return X}});C5=l("$ZodObject",($,U)=>{if(i$.init($,U),!Object.getOwnPropertyDescriptor(U,"shape")?.get){let W=U.shape;Object.defineProperty(U,"shape",{get:()=>{let z={...W};return Object.defineProperty(U,"shape",{value:z}),z}})}let Q=pU(()=>_5(U));a$($._zod,"propValues",()=>{let W=U.shape,z={};for(let D in W){let A=W[D]._zod;if(A.values){z[D]??(z[D]=new Set);for(let T of A.values)z[D].add(T)}}return z});let J=HU,j=U.catchall,G;$._zod.parse=(W,z)=>{G??(G=Q.value);let D=W.value;if(!J(D))return W.issues.push({expected:"object",code:"invalid_type",input:D,inst:$}),W;W.value={};let A=[],T=G.shape;for(let h of G.keys){let o=T[h],V$=o._zod.optin==="optional",Y$=o._zod.optout==="optional",L$=o._zod.run({value:D[h],issues:[]},z);if(L$ instanceof Promise)A.push(L$.then((w$)=>EJ(w$,W,h,D,V$,Y$)));else EJ(L$,W,h,D,V$,Y$)}if(!j)return A.length?Promise.all(A).then(()=>W):W;return M5(A,D,W,z,Q.value,$)}}),vQ=l("$ZodObjectJIT",($,U)=>{C5.init($,U);let X=$._zod.parse,Q=pU(()=>_5(U)),J=(h)=>{let o=new _J(["shape","payload","ctx"]),V$=Q.value,Y$=(b$)=>{let p$=ZJ(b$);return`shape[${p$}]._zod.run({ value: input[${p$}], issues: [] }, ctx)`};o.write("const input = payload.value;");let L$=Object.create(null),w$=0;for(let b$ of V$.keys)L$[b$]=`key_${w$++}`;o.write("const newResult = {};");for(let b$ of V$.keys){let p$=L$[b$],s$=ZJ(b$),L6=h[b$],_6=L6?._zod?.optin==="optional",q1=L6?._zod?.optout==="optional";if(o.write(`const ${p$} = ${Y$(b$)};`),_6&&q1)o.write(`
398
- if (${p$}.issues.length) {
399
- if (${s$} in input) {
400
- payload.issues = payload.issues.concat(${p$}.issues.map(iss => ({
390
+ `)};if(!ht(e,"sites","visibility"))e.exec("ALTER TABLE sites ADD COLUMN visibility TEXT"),t("visibility","NULL");if(!ht(e,"sites","spa"))e.exec("ALTER TABLE sites ADD COLUMN spa INTEGER NOT NULL DEFAULT 0"),t("spa","0");if(!ht(e,"sites","public_grants"))e.exec("ALTER TABLE sites ADD COLUMN public_grants TEXT"),t("public_grants","NULL")}function Oy(e){if(!$r(e,"site_channels"))return;let t=e.query("SELECT value FROM meta WHERE key = ?").get(Ll),r=t?Number(t.value):0,n=e.query(`SELECT seq, ${It} FROM crdt_changes
391
+ WHERE dataset = 'site_channels' AND seq > ? ORDER BY seq`).all(r);if(n.length===0)return;e.transaction((o)=>{for(let s of o)So(e,s);e.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(Ll,String(o[o.length-1].seq))})(n)}function ls(e){yy(e),Ty(e),Ay(e),ky(e),by(e),vy(e),Ry(e),Ey(e),xy(e),Sy(e),wy(e),Dy(e),Oy(e)}var Ll="site_channels_replay_seq";var Po=De(()=>{Lr();_n();zn();Fn();dt()});function ce(e,t,r){function n(u,_){if(!u._zod)Object.defineProperty(u,"_zod",{value:{def:_,constr:a,traits:new Set},enumerable:!1});if(u._zod.traits.has(e))return;u._zod.traits.add(e),t(u,_);let m=a.prototype,x=Object.keys(m);for(let D=0;D<x.length;D++){let j=x[D];if(!(j in u))u[j]=m[j].bind(u)}}let o=r?.Parent??Object;class s extends o{}Object.defineProperty(s,"name",{value:e});function a(u){var _;let m=r?.Parent?new s:this;n(m,u),(_=m._zod).deferred??(_.deferred=[]);for(let x of m._zod.deferred)x();return m}return Object.defineProperty(a,"init",{value:n}),Object.defineProperty(a,Symbol.hasInstance,{value:(u)=>{if(r?.Parent&&u instanceof r.Parent)return!0;return u?._zod?.traits?.has(e)}}),Object.defineProperty(a,"name",{value:e}),a}function Kt(e){if(e)Object.assign(hn,e);return hn}var zl,RS,ur,Mn,hn;var zr=De(()=>{RS=Symbol("zod_brand");ur=class ur extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};Mn=class Mn extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(zl=globalThis).__zod_globalConfig??(zl.__zod_globalConfig={});hn=globalThis.__zod_globalConfig});function No(e){let t=Object.values(e).filter((n)=>typeof n==="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function ds(e,t="|"){return e.map((r)=>gs(r)).join(t)}function Un(e,t){if(typeof t==="bigint")return t.toString();return t}function qo(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw Error("cached value already set")}}}function Lo(e){return e===null||e===void 0}function $o(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function Ml(e,t){let r=e/t,n=Math.round(r),o=Number.EPSILON*Math.max(Math.abs(r),1);if(Math.abs(r-n)<o)return 0;return r-n}function Ve(e,t,r){let n=void 0;Object.defineProperty(e,t,{get(){if(n===Fl)return;if(n===void 0)n=Fl,n=r();return n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function Fr(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Er(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function fs(e){return JSON.stringify(e)}function Bl(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Bn(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function mn(e){if(Bn(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let r=t.prototype;if(Bn(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function _s(e){if(mn(e))return{...e};if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);return e}function Sr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function tr(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function Ce(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function gs(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function Hl(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function Iy(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let s=Er(e._zod.def,{get shape(){let a={};for(let u in t){if(!(u in r.shape))throw Error(`Unrecognized key: "${u}"`);if(!t[u])continue;a[u]=r.shape[u]}return Fr(this,"shape",a),a},checks:[]});return tr(e,s)}function Py(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let s=Er(e._zod.def,{get shape(){let a={...e._zod.def.shape};for(let u in t){if(!(u in r.shape))throw Error(`Unrecognized key: "${u}"`);if(!t[u])continue;delete a[u]}return Fr(this,"shape",a),a},checks:[]});return tr(e,s)}function Cy(e,t){if(!mn(t))throw Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let s=e._zod.def.shape;for(let a in t)if(Object.getOwnPropertyDescriptor(s,a)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let o=Er(e._zod.def,{get shape(){let s={...e._zod.def.shape,...t};return Fr(this,"shape",s),s}});return tr(e,o)}function Ny(e,t){if(!mn(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=Er(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Fr(this,"shape",n),n}});return tr(e,r)}function qy(e,t){if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=Er(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Fr(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return tr(e,r)}function Ly(e,t,r){let o=t._zod.def.checks;if(o&&o.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let a=Er(t._zod.def,{get shape(){let u=t._zod.def.shape,_={...u};if(r)for(let m in r){if(!(m in u))throw Error(`Unrecognized key: "${m}"`);if(!r[m])continue;_[m]=e?new e({type:"optional",innerType:u[m]}):u[m]}else for(let m in u)_[m]=e?new e({type:"optional",innerType:u[m]}):u[m];return Fr(this,"shape",_),_},checks:[]});return tr(t,a)}function $y(e,t,r){let n=Er(t._zod.def,{get shape(){let o=t._zod.def.shape,s={...o};if(r)for(let a in r){if(!(a in s))throw Error(`Unrecognized key: "${a}"`);if(!r[a])continue;s[a]=new e({type:"nonoptional",innerType:o[a]})}else for(let a in o)s[a]=new e({type:"nonoptional",innerType:o[a]});return Fr(this,"shape",s),s}});return tr(t,n)}function Mr(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Zl(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function zo(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Co(e){return typeof e==="string"?e:e?.message}function dr(e,t,r){let n=e.message?e.message:Co(e.inst?._zod.def?.error?.(e))??Co(t?.error?.(e))??Co(r.customError?.(e))??Co(r.localeError?.(e))??"Invalid input",{inst:o,continue:s,input:a,...u}=e;if(u.path??(u.path=[]),u.message=n,t?.reportInput)u.input=a;return u}function Fo(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function Gl(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function Br(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}var Fl,ps,Ul,jl,Wl;var Vt=De(()=>{zr();Fl=Symbol("evaluating");ps="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};Ul=qo(()=>{if(hn.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});jl=new Set(["string","number","symbol"]);Wl={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]}});function Vl(e,t=(r)=>r.message){let r={},n=[];for(let o of e.issues)if(o.path.length>0)r[o.path[0]]=r[o.path[0]]||[],r[o.path[0]].push(t(o));else n.push(t(o));return{formErrors:n,fieldErrors:r}}function Jl(e,t=(r)=>r.message){let r={_errors:[]},n=(o,s=[])=>{for(let a of o.issues)if(a.code==="invalid_union"&&a.errors.length)a.errors.map((u)=>n({issues:u},[...s,...a.path]));else if(a.code==="invalid_key")n({issues:a.issues},[...s,...a.path]);else if(a.code==="invalid_element")n({issues:a.issues},[...s,...a.path]);else{let u=[...s,...a.path];if(u.length===0)r._errors.push(t(a));else{let _=r,m=0;while(m<u.length){let x=u[m];if(m!==u.length-1)_[x]=_[x]||{_errors:[]};else _[x]=_[x]||{_errors:[]},_[x]._errors.push(t(a));_=_[x],m++}}}};return n(e),r}var Kl=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Un,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Mo,hs;var ms=De(()=>{zr();Vt();Mo=ce("$ZodError",Kl),hs=ce("$ZodError",Kl,{Parent:Error})});var Bo=(e)=>(t,r,n,o)=>{let s=n?{...n,async:!1}:{async:!1},a=t._zod.run({value:r,issues:[]},s);if(a instanceof Promise)throw new ur;if(a.issues.length){let u=new(o?.Err??e)(a.issues.map((_)=>dr(_,s,Kt())));throw ps(u,o?.callee),u}return a.value},Uo=(e)=>async(t,r,n,o)=>{let s=n?{...n,async:!0}:{async:!0},a=t._zod.run({value:r,issues:[]},s);if(a instanceof Promise)a=await a;if(a.issues.length){let u=new(o?.Err??e)(a.issues.map((_)=>dr(_,s,Kt())));throw ps(u,o?.callee),u}return a.value},jn=(e)=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new ur;return s.issues.length?{success:!1,error:new(e??Mo)(s.issues.map((a)=>dr(a,o,Kt())))}:{success:!0,data:s.value}},Xl,Hn=(e)=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)s=await s;return s.issues.length?{success:!1,error:new e(s.issues.map((a)=>dr(a,o,Kt())))}:{success:!0,data:s.value}},Ql,Yl=(e)=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Bo(e)(t,r,o)},eu=(e)=>(t,r,n)=>Bo(e)(t,r,n),tu=(e)=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Uo(e)(t,r,o)},ru=(e)=>async(t,r,n)=>Uo(e)(t,r,n),nu=(e)=>(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return jn(e)(t,r,o)},ou=(e)=>(t,r,n)=>jn(e)(t,r,n),iu=(e)=>async(t,r,n)=>{let o=n?{...n,direction:"backward"}:{direction:"backward"};return Hn(e)(t,r,o)},su=(e)=>async(t,r,n)=>Hn(e)(t,r,n);var ys=De(()=>{zr();ms();Vt();Xl=jn(hs),Ql=Hn(hs)});function hu(){return new RegExp(Fy,"u")}function ku(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function Ru(e){return new RegExp(`^${ku(e)}$`)}function Au(e){let t=ku({precision:e.precision}),r=["Z"];if(e.local)r.push("");if(e.offset)r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${xu}T(?:${n})$`)}var au,cu,lu,uu,du,fu,pu,_u,bs=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},gu,Fy="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",mu,yu,bu,wu,vu,ws,Eu,Su,xu="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",Tu,Du=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Ou,Iu,Pu,Cu,Nu;var Ho=De(()=>{au=/^[cC][0-9a-z]{6,}$/,cu=/^[0-9a-z]+$/,lu=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,uu=/^[0-9a-vA-V]{20}$/,du=/^[A-Za-z0-9]{27}$/,fu=/^[a-zA-Z0-9_-]{21}$/,pu=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,_u=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,gu=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;mu=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,yu=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,bu=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,wu=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,vu=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,ws=/^[A-Za-z0-9_-]*$/,Eu=/^https?$/,Su=/^\+[1-9]\d{6,14}$/,Tu=new RegExp(`^${xu}$`);Ou=/^-?\d+$/,Iu=/^-?\d+(?:\.\d+)?$/,Pu=/^(?:true|false)$/i,Cu=/^[^A-Z]*$/,Nu=/^[^a-z]*$/});var mt,qu,vs,Es,Lu,$u,zu,Fu,Mu,Wn,Bu,Uu,ju,Hu,Wu,Zu,Gu;var Wo=De(()=>{zr();Ho();Vt();mt=ce("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),qu={number:"number",bigint:"bigint",object:"date"},vs=ce("$ZodCheckLessThan",(e,t)=>{mt.init(e,t);let r=qu[typeof t.value];e._zod.onattach.push((n)=>{let o=n._zod.bag,s=(t.inclusive?o.maximum:o.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<s)if(t.inclusive)o.maximum=t.value;else o.exclusiveMaximum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value<=t.value:n.value<t.value)return;n.issues.push({origin:r,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Es=ce("$ZodCheckGreaterThan",(e,t)=>{mt.init(e,t);let r=qu[typeof t.value];e._zod.onattach.push((n)=>{let o=n._zod.bag,s=(t.inclusive?o.minimum:o.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>s)if(t.inclusive)o.minimum=t.value;else o.exclusiveMinimum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value>=t.value:n.value>t.value)return;n.issues.push({origin:r,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Lu=ce("$ZodCheckMultipleOf",(e,t)=>{mt.init(e,t),e._zod.onattach.push((r)=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=(r)=>{if(typeof r.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof r.value==="bigint"?r.value%t.value===BigInt(0):Ml(r.value,t.value)===0)return;r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),$u=ce("$ZodCheckNumberFormat",(e,t)=>{mt.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[o,s]=Wl[t.format];e._zod.onattach.push((a)=>{let u=a._zod.bag;if(u.format=t.format,u.minimum=o,u.maximum=s,r)u.pattern=Ou}),e._zod.check=(a)=>{let u=a.value;if(r){if(!Number.isInteger(u)){a.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:u,inst:e});return}if(!Number.isSafeInteger(u)){if(u>0)a.issues.push({input:u,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});else a.issues.push({input:u,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}if(u<o)a.issues.push({origin:"number",input:u,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort});if(u>s)a.issues.push({origin:"number",input:u,code:"too_big",maximum:s,inclusive:!0,inst:e,continue:!t.abort})}}),zu=ce("$ZodCheckMaxLength",(e,t)=>{var r;mt.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let o=n.value;return!Lo(o)&&o.length!==void 0}),e._zod.onattach.push((n)=>{let o=n._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<o)n._zod.bag.maximum=t.maximum}),e._zod.check=(n)=>{let o=n.value;if(o.length<=t.maximum)return;let a=Fo(o);n.issues.push({origin:a,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Fu=ce("$ZodCheckMinLength",(e,t)=>{var r;mt.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let o=n.value;return!Lo(o)&&o.length!==void 0}),e._zod.onattach.push((n)=>{let o=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>o)n._zod.bag.minimum=t.minimum}),e._zod.check=(n)=>{let o=n.value;if(o.length>=t.minimum)return;let a=Fo(o);n.issues.push({origin:a,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),Mu=ce("$ZodCheckLengthEquals",(e,t)=>{var r;mt.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let o=n.value;return!Lo(o)&&o.length!==void 0}),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.minimum=t.length,o.maximum=t.length,o.length=t.length}),e._zod.check=(n)=>{let o=n.value,s=o.length;if(s===t.length)return;let a=Fo(o),u=s>t.length;n.issues.push({origin:a,...u?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Wn=ce("$ZodCheckStringFormat",(e,t)=>{var r,n;if(mt.init(e,t),e._zod.onattach.push((o)=>{let s=o._zod.bag;if(s.format=t.format,t.pattern)s.patterns??(s.patterns=new Set),s.patterns.add(t.pattern)}),t.pattern)(r=e._zod).check??(r.check=(o)=>{if(t.pattern.lastIndex=0,t.pattern.test(o.value))return;o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(n=e._zod).check??(n.check=()=>{})}),Bu=ce("$ZodCheckRegex",(e,t)=>{Wn.init(e,t),e._zod.check=(r)=>{if(t.pattern.lastIndex=0,t.pattern.test(r.value))return;r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Uu=ce("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Cu),Wn.init(e,t)}),ju=ce("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Nu),Wn.init(e,t)}),Hu=ce("$ZodCheckIncludes",(e,t)=>{mt.init(e,t);let r=Sr(t.includes),n=new RegExp(typeof t.position==="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push((o)=>{let s=o._zod.bag;s.patterns??(s.patterns=new Set),s.patterns.add(n)}),e._zod.check=(o)=>{if(o.value.includes(t.includes,t.position))return;o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),Wu=ce("$ZodCheckStartsWith",(e,t)=>{mt.init(e,t);let r=new RegExp(`^${Sr(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.startsWith(t.prefix))return;n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Zu=ce("$ZodCheckEndsWith",(e,t)=>{mt.init(e,t);let r=new RegExp(`.*${Sr(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let o=n._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.endsWith(t.suffix))return;n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Gu=ce("$ZodCheckOverwrite",(e,t)=>{mt.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}})});class Ss{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let r=e.split(`
392
+ `).filter((s)=>s),n=Math.min(...r.map((s)=>s.length-s.trimStart().length)),o=r.map((s)=>s.slice(n)).map((s)=>" ".repeat(this.indent*2)+s);for(let s of o)this.content.push(s)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[""]).map((o)=>` ${o}`)];return new e(...t,n.join(`
393
+ `))}}var Vu;var xs=De(()=>{Vu={major:4,minor:4,patch:3}});function Sd(e){if(e==="")return!0;if(/\s/.test(e))return!1;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}function My(e){if(!ws.test(e))return!1;let t=e.replace(/[-_]/g,(n)=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Sd(r)}function By(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let o=JSON.parse(atob(n));if("typ"in o&&o?.typ!=="JWT")return!1;if(!o.alg)return!1;if(t&&(!("alg"in o)||o.alg!==t))return!1;return!0}catch{return!1}}function Ju(e,t,r){if(e.issues.length)t.issues.push(...zo(r,e.issues));t.value[r]=e.value}function Go(e,t,r,n,o,s){let a=r in n;if(e.issues.length){if(o&&s&&!a)return;t.issues.push(...zo(r,e.issues))}if(!a&&!o){if(!e.issues.length)t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}if(e.value===void 0){if(a)t.value[r]=void 0}else t.value[r]=e.value}function Cd(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let r=Hl(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Nd(e,t,r,n,o,s){let a=[],u=o.keySet,_=o.catchall._zod,m=_.def.type,x=_.optin==="optional",D=_.optout==="optional";for(let j in t){if(j==="__proto__")continue;if(u.has(j))continue;if(m==="never"){a.push(j);continue}let Y=_.run({value:t[j],issues:[]},n);if(Y instanceof Promise)e.push(Y.then((_e)=>Go(_e,r,j,t,x,D)));else Go(Y,r,j,t,x,D)}if(a.length)r.issues.push({code:"unrecognized_keys",keys:a,input:t,inst:s});if(!e.length)return r;return Promise.all(e).then(()=>r)}function Xu(e,t,r,n){for(let s of e)if(s.issues.length===0)return t.value=s.value,t;let o=e.filter((s)=>!Mr(s));if(o.length===1)return t.value=o[0].value,o[0];return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map((s)=>s.issues.map((a)=>dr(a,n,Kt())))}),t}function Ts(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(mn(e)&&mn(t)){let r=Object.keys(t),n=Object.keys(e).filter((s)=>r.indexOf(s)!==-1),o={...e,...t};for(let s of n){let a=Ts(e[s],t[s]);if(!a.valid)return{valid:!1,mergeErrorPath:[s,...a.mergeErrorPath]};o[s]=a.data}return{valid:!0,data:o}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let o=e[n],s=t[n],a=Ts(o,s);if(!a.valid)return{valid:!1,mergeErrorPath:[n,...a.mergeErrorPath]};r.push(a.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Qu(e,t,r){let n=new Map,o;for(let u of t.issues)if(u.code==="unrecognized_keys"){o??(o=u);for(let _ of u.keys){if(!n.has(_))n.set(_,{});n.get(_).l=!0}}else e.issues.push(u);for(let u of r.issues)if(u.code==="unrecognized_keys")for(let _ of u.keys){if(!n.has(_))n.set(_,{});n.get(_).r=!0}else e.issues.push(u);let s=[...n].filter(([,u])=>u.l&&u.r).map(([u])=>u);if(s.length&&o)e.issues.push({...o,keys:s});if(Mr(e))return e;let a=Ts(t.value,r.value);if(!a.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(a.mergeErrorPath)}`);return e.value=a.data,e}function Yu(e,t){if(t===void 0&&(e.issues.length||e.fallback))return{issues:[],value:void 0};return e}function ed(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}function td(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}function Zo(e,t,r){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},r)}function rd(e){return e.value=Object.freeze(e.value),e}function nd(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};if(n._zod.def.params)o.params=n._zod.def.params;t.issues.push(Br(o))}}var it,Ko,rt,od,id,sd,ad,cd,ld,ud,dd,fd,pd,_d,gd,hd,md,yd,bd,wd,vd,Ed,xd,Td,kd,Rd,ks,Ad,Dd,Od,Id,Pd,Uy,qd,Ld,$d,zd,Fd,Md,Rs,Bd,Ud,jd,Hd,Wd,Zd,Gd,Kd,Vd;var Jd=De(()=>{Wo();zr();ys();Ho();Vt();xs();Vt();it=ce("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Vu;let n=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))n.unshift(e);for(let o of n)for(let s of o._zod.onattach)s(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(a,u,_)=>{let m=Mr(a),x;for(let D of u){if(D._zod.def.when){if(Zl(a))continue;if(!D._zod.def.when(a))continue}else if(m)continue;let j=a.issues.length,Y=D._zod.check(a);if(Y instanceof Promise&&_?.async===!1)throw new ur;if(x||Y instanceof Promise)x=(x??Promise.resolve()).then(async()=>{if(await Y,a.issues.length===j)return;if(!m)m=Mr(a,j)});else{if(a.issues.length===j)continue;if(!m)m=Mr(a,j)}}if(x)return x.then(()=>a);return a},s=(a,u,_)=>{if(Mr(a))return a.aborted=!0,a;let m=o(u,n,_);if(m instanceof Promise){if(_.async===!1)throw new ur;return m.then((x)=>e._zod.parse(x,_))}return e._zod.parse(m,_)};e._zod.run=(a,u)=>{if(u.skipChecks)return e._zod.parse(a,u);if(u.direction==="backward"){let m=e._zod.parse({value:a.value,issues:[]},{...u,skipChecks:!0});if(m instanceof Promise)return m.then((x)=>s(x,a,u));return s(m,a,u)}let _=e._zod.parse(a,u);if(_ instanceof Promise){if(u.async===!1)throw new ur;return _.then((m)=>o(m,n,u))}return o(_,n,u)}}Ve(e,"~standard",()=>({validate:(o)=>{try{let s=Xl(e,o);return s.success?{value:s.data}:{issues:s.error?.issues}}catch(s){return Ql(e,o).then((a)=>a.success?{value:a.data}:{issues:a.error?.issues})}},vendor:"zod",version:1}))}),Ko=ce("$ZodString",(e,t)=>{it.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Du(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch(o){}if(typeof r.value==="string")return r;return r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),rt=ce("$ZodStringFormat",(e,t)=>{Wn.init(e,t),Ko.init(e,t)}),od=ce("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=_u),rt.init(e,t)}),id=ce("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=bs(n))}else t.pattern??(t.pattern=bs());rt.init(e,t)}),sd=ce("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=gu),rt.init(e,t)}),ad=ce("$ZodURL",(e,t)=>{rt.init(e,t),e._zod.check=(r)=>{try{let n=r.value.trim();if(!t.normalize&&t.protocol?.source===Eu.source){if(!/^https?:\/\//i.test(n)){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!t.abort});return}}let o=new URL(n);if(t.hostname){if(t.hostname.lastIndex=0,!t.hostname.test(o.hostname))r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})}if(t.protocol){if(t.protocol.lastIndex=0,!t.protocol.test(o.protocol.endsWith(":")?o.protocol.slice(0,-1):o.protocol))r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})}if(t.normalize)r.value=o.href;else r.value=n;return}catch(n){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),cd=ce("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=hu()),rt.init(e,t)}),ld=ce("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=fu),rt.init(e,t)}),ud=ce("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=au),rt.init(e,t)}),dd=ce("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=cu),rt.init(e,t)}),fd=ce("$ZodULID",(e,t)=>{t.pattern??(t.pattern=lu),rt.init(e,t)}),pd=ce("$ZodXID",(e,t)=>{t.pattern??(t.pattern=uu),rt.init(e,t)}),_d=ce("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=du),rt.init(e,t)}),gd=ce("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Au(t)),rt.init(e,t)}),hd=ce("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Tu),rt.init(e,t)}),md=ce("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Ru(t)),rt.init(e,t)}),yd=ce("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=pu),rt.init(e,t)}),bd=ce("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=mu),rt.init(e,t),e._zod.bag.format="ipv4"}),wd=ce("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=yu),rt.init(e,t),e._zod.bag.format="ipv6",e._zod.check=(r)=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),vd=ce("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=bu),rt.init(e,t)}),Ed=ce("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=wu),rt.init(e,t),e._zod.check=(r)=>{let n=r.value.split("/");try{if(n.length!==2)throw Error();let[o,s]=n;if(!s)throw Error();let a=Number(s);if(`${a}`!==s)throw Error();if(a<0||a>128)throw Error();new URL(`http://[${o}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});xd=ce("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=vu),rt.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(r)=>{if(Sd(r.value))return;r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});Td=ce("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=ws),rt.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(r)=>{if(My(r.value))return;r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),kd=ce("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Su),rt.init(e,t)});Rd=ce("$ZodJWT",(e,t)=>{rt.init(e,t),e._zod.check=(r)=>{if(By(r.value,t.alg))return;r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),ks=ce("$ZodNumber",(e,t)=>{it.init(e,t),e._zod.pattern=e._zod.bag.pattern??Iu,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch(a){}let o=r.value;if(typeof o==="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let s=typeof o==="number"?Number.isNaN(o)?"NaN":!Number.isFinite(o)?"Infinity":void 0:void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...s?{received:s}:{}}),r}}),Ad=ce("$ZodNumberFormat",(e,t)=>{$u.init(e,t),ks.init(e,t)}),Dd=ce("$ZodBoolean",(e,t)=>{it.init(e,t),e._zod.pattern=Pu,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Boolean(r.value)}catch(s){}let o=r.value;if(typeof o==="boolean")return r;return r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}}),Od=ce("$ZodUnknown",(e,t)=>{it.init(e,t),e._zod.parse=(r)=>r}),Id=ce("$ZodNever",(e,t)=>{it.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});Pd=ce("$ZodArray",(e,t)=>{it.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let s=[];for(let a=0;a<o.length;a++){let u=o[a],_=t.element._zod.run({value:u,issues:[]},n);if(_ instanceof Promise)s.push(_.then((m)=>Ju(m,r,a)));else Ju(_,r,a)}if(s.length)return Promise.all(s).then(()=>r);return r}});Uy=ce("$ZodObject",(e,t)=>{if(it.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let u=t.shape;Object.defineProperty(t,"shape",{get:()=>{let _={...u};return Object.defineProperty(t,"shape",{value:_}),_}})}let n=qo(()=>Cd(t));Ve(e._zod,"propValues",()=>{let u=t.shape,_={};for(let m in u){let x=u[m]._zod;if(x.values){_[m]??(_[m]=new Set);for(let D of x.values)_[m].add(D)}}return _});let o=Bn,s=t.catchall,a;e._zod.parse=(u,_)=>{a??(a=n.value);let m=u.value;if(!o(m))return u.issues.push({expected:"object",code:"invalid_type",input:m,inst:e}),u;u.value={};let x=[],D=a.shape;for(let j of a.keys){let Y=D[j],_e=Y._zod.optin==="optional",de=Y._zod.optout==="optional",ge=Y._zod.run({value:m[j],issues:[]},_);if(ge instanceof Promise)x.push(ge.then((Le)=>Go(Le,u,j,m,_e,de)));else Go(ge,u,j,m,_e,de)}if(!s)return x.length?Promise.all(x).then(()=>u):u;return Nd(x,m,u,_,n.value,e)}}),qd=ce("$ZodObjectJIT",(e,t)=>{Uy.init(e,t);let r=e._zod.parse,n=qo(()=>Cd(t)),o=(j)=>{let Y=new Ss(["shape","payload","ctx"]),_e=n.value,de=($e)=>{let Ue=fs($e);return`shape[${Ue}]._zod.run({ value: input[${Ue}], issues: [] }, ctx)`};Y.write("const input = payload.value;");let ge=Object.create(null),Le=0;for(let $e of _e.keys)ge[$e]=`key_${Le++}`;Y.write("const newResult = {};");for(let $e of _e.keys){let Ue=ge[$e],tt=fs($e),Rr=j[$e],Lt=Rr?._zod?.optin==="optional",Dn=Rr?._zod?.optout==="optional";if(Y.write(`const ${Ue} = ${de($e)};`),Lt&&Dn)Y.write(`
394
+ if (${Ue}.issues.length) {
395
+ if (${tt} in input) {
396
+ payload.issues = payload.issues.concat(${Ue}.issues.map(iss => ({
401
397
  ...iss,
402
- path: iss.path ? [${s$}, ...iss.path] : [${s$}]
398
+ path: iss.path ? [${tt}, ...iss.path] : [${tt}]
403
399
  })));
404
400
  }
405
401
  }
406
402
 
407
- if (${p$}.value === undefined) {
408
- if (${s$} in input) {
409
- newResult[${s$}] = undefined;
403
+ if (${Ue}.value === undefined) {
404
+ if (${tt} in input) {
405
+ newResult[${tt}] = undefined;
410
406
  }
411
407
  } else {
412
- newResult[${s$}] = ${p$}.value;
408
+ newResult[${tt}] = ${Ue}.value;
413
409
  }
414
410
 
415
- `);else if(!_6)o.write(`
416
- const ${p$}_present = ${s$} in input;
417
- if (${p$}.issues.length) {
418
- payload.issues = payload.issues.concat(${p$}.issues.map(iss => ({
411
+ `);else if(!Lt)Y.write(`
412
+ const ${Ue}_present = ${tt} in input;
413
+ if (${Ue}.issues.length) {
414
+ payload.issues = payload.issues.concat(${Ue}.issues.map(iss => ({
419
415
  ...iss,
420
- path: iss.path ? [${s$}, ...iss.path] : [${s$}]
416
+ path: iss.path ? [${tt}, ...iss.path] : [${tt}]
421
417
  })));
422
418
  }
423
- if (!${p$}_present && !${p$}.issues.length) {
419
+ if (!${Ue}_present && !${Ue}.issues.length) {
424
420
  payload.issues.push({
425
421
  code: "invalid_type",
426
422
  expected: "nonoptional",
427
423
  input: undefined,
428
- path: [${s$}]
424
+ path: [${tt}]
429
425
  });
430
426
  }
431
427
 
432
- if (${p$}_present) {
433
- if (${p$}.value === undefined) {
434
- newResult[${s$}] = undefined;
428
+ if (${Ue}_present) {
429
+ if (${Ue}.value === undefined) {
430
+ newResult[${tt}] = undefined;
435
431
  } else {
436
- newResult[${s$}] = ${p$}.value;
432
+ newResult[${tt}] = ${Ue}.value;
437
433
  }
438
434
  }
439
435
 
440
- `);else o.write(`
441
- if (${p$}.issues.length) {
442
- payload.issues = payload.issues.concat(${p$}.issues.map(iss => ({
436
+ `);else Y.write(`
437
+ if (${Ue}.issues.length) {
438
+ payload.issues = payload.issues.concat(${Ue}.issues.map(iss => ({
443
439
  ...iss,
444
- path: iss.path ? [${s$}, ...iss.path] : [${s$}]
440
+ path: iss.path ? [${tt}, ...iss.path] : [${tt}]
445
441
  })));
446
442
  }
447
443
 
448
- if (${p$}.value === undefined) {
449
- if (${s$} in input) {
450
- newResult[${s$}] = undefined;
444
+ if (${Ue}.value === undefined) {
445
+ if (${tt} in input) {
446
+ newResult[${tt}] = undefined;
451
447
  }
452
448
  } else {
453
- newResult[${s$}] = ${p$}.value;
449
+ newResult[${tt}] = ${Ue}.value;
454
450
  }
455
451
 
456
- `)}o.write("payload.value = newResult;"),o.write("return payload;");let e$=o.compile();return(b$,p$)=>e$(h,b$,p$)},j,G=HU,W=!VU.jitless,D=W&&K8.value,A=U.catchall,T;$._zod.parse=(h,o)=>{T??(T=Q.value);let V$=h.value;if(!G(V$))return h.issues.push({expected:"object",code:"invalid_type",input:V$,inst:$}),h;if(W&&D&&o?.async===!1&&o.jitless!==!0){if(!j)j=J(U.shape);if(h=j(h,o),!A)return h;return M5([],V$,h,o,T,$)}return X(h,o)}});v2=l("$ZodUnion",($,U)=>{i$.init($,U),a$($._zod,"optin",()=>U.options.some((Q)=>Q._zod.optin==="optional")?"optional":void 0),a$($._zod,"optout",()=>U.options.some((Q)=>Q._zod.optout==="optional")?"optional":void 0),a$($._zod,"values",()=>{if(U.options.every((Q)=>Q._zod.values))return new Set(U.options.flatMap((Q)=>Array.from(Q._zod.values)));return}),a$($._zod,"pattern",()=>{if(U.options.every((Q)=>Q._zod.pattern)){let Q=U.options.map((J)=>J._zod.pattern);return new RegExp(`^(${Q.map((J)=>r0(J.source)).join("|")})$`)}return});let X=U.options.length===1?U.options[0]._zod.run:null;$._zod.parse=(Q,J)=>{if(X)return X(Q,J);let j=!1,G=[];for(let W of U.options){let z=W._zod.run({value:Q.value,issues:[]},J);if(z instanceof Promise)G.push(z),j=!0;else{if(z.issues.length===0)return z;G.push(z)}}if(!j)return z5(G,Q,$,J);return Promise.all(G).then((W)=>{return z5(W,Q,$,J)})}});XQ=l("$ZodXor",($,U)=>{v2.init($,U),U.inclusive=!1;let X=U.options.length===1?U.options[0]._zod.run:null;$._zod.parse=(Q,J)=>{if(X)return X(Q,J);let j=!1,G=[];for(let W of U.options){let z=W._zod.run({value:Q.value,issues:[]},J);if(z instanceof Promise)G.push(z),j=!0;else G.push(z)}if(!j)return V5(G,Q,$,J);return Promise.all(G).then((W)=>{return V5(W,Q,$,J)})}}),QQ=l("$ZodDiscriminatedUnion",($,U)=>{U.inclusive=!1,v2.init($,U);let X=$._zod.parse;a$($._zod,"propValues",()=>{let J={};for(let j of U.options){let G=j._zod.propValues;if(!G||Object.keys(G).length===0)throw Error(`Invalid discriminated union option at index "${U.options.indexOf(j)}"`);for(let[W,z]of Object.entries(G)){if(!J[W])J[W]=new Set;for(let D of z)J[W].add(D)}}return J});let Q=pU(()=>{let J=U.options,j=new Map;for(let G of J){let W=G._zod.propValues?.[U.discriminator];if(!W||W.size===0)throw Error(`Invalid discriminated union option at index "${U.options.indexOf(G)}"`);for(let z of W){if(j.has(z))throw Error(`Duplicate discriminator value "${String(z)}"`);j.set(z,G)}}return j});$._zod.parse=(J,j)=>{let G=J.value;if(!HU(G))return J.issues.push({code:"invalid_type",expected:"object",input:G,inst:$}),J;let W=Q.value.get(G?.[U.discriminator]);if(W)return W._zod.run(J,j);if(U.unionFallback||j.direction==="backward")return X(J,j);return J.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:U.discriminator,options:Array.from(Q.value.keys()),input:G,path:[U.discriminator],inst:$}),J}}),jQ=l("$ZodIntersection",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{let J=X.value,j=U.left._zod.run({value:J,issues:[]},Q),G=U.right._zod.run({value:J,issues:[]},Q);if(j instanceof Promise||G instanceof Promise)return Promise.all([j,G]).then(([z,D])=>{return D5(X,z,D)});return D5(X,j,G)}});wJ=l("$ZodTuple",($,U)=>{i$.init($,U);let X=U.items;$._zod.parse=(Q,J)=>{let j=Q.value;if(!Array.isArray(j))return Q.issues.push({input:j,inst:$,expected:"tuple",code:"invalid_type"}),Q;Q.value=[];let G=[],W=L5(X,"optin"),z=L5(X,"optout");if(!U.rest){if(j.length<W)return Q.issues.push({code:"too_small",minimum:W,inclusive:!0,input:j,inst:$,origin:"array"}),Q;if(j.length>X.length)Q.issues.push({code:"too_big",maximum:X.length,inclusive:!0,input:j,inst:$,origin:"array"})}let D=Array(X.length);for(let A=0;A<X.length;A++){let T=X[A]._zod.run({value:j[A],issues:[]},J);if(T instanceof Promise)G.push(T.then((h)=>{D[A]=h}));else D[A]=T}if(U.rest){let A=X.length-1,T=j.slice(X.length);for(let h of T){A++;let o=U.rest._zod.run({value:h,issues:[]},J);if(o instanceof Promise)G.push(o.then((V$)=>H5(V$,Q,A)));else H5(o,Q,A)}}if(G.length)return Promise.all(G).then(()=>N5(D,Q,X,j,z));return N5(D,Q,X,j,z)}});GQ=l("$ZodRecord",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{let J=X.value;if(!r1(J))return X.issues.push({expected:"record",code:"invalid_type",input:J,inst:$}),X;let j=[],G=U.keyType._zod.values;if(G){X.value={};let W=new Set;for(let D of G)if(typeof D==="string"||typeof D==="number"||typeof D==="symbol"){W.add(typeof D==="number"?D.toString():D);let A=U.keyType._zod.run({value:D,issues:[]},Q);if(A instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(A.issues.length){X.issues.push({code:"invalid_key",origin:"record",issues:A.issues.map((o)=>b6(o,Q,H6())),input:D,path:[D],inst:$});continue}let T=A.value,h=U.valueType._zod.run({value:J[D],issues:[]},Q);if(h instanceof Promise)j.push(h.then((o)=>{if(o.issues.length)X.issues.push(...r6(D,o.issues));X.value[T]=o.value}));else{if(h.issues.length)X.issues.push(...r6(D,h.issues));X.value[T]=h.value}}let z;for(let D in J)if(!W.has(D))z=z??[],z.push(D);if(z&&z.length>0)X.issues.push({code:"unrecognized_keys",input:J,inst:$,keys:z})}else{X.value={};for(let W of Reflect.ownKeys(J)){if(W==="__proto__")continue;if(!Object.prototype.propertyIsEnumerable.call(J,W))continue;let z=U.keyType._zod.run({value:W,issues:[]},Q);if(z instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(typeof W==="string"&&s0.test(W)&&z.issues.length){let T=U.keyType._zod.run({value:Number(W),issues:[]},Q);if(T instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(T.issues.length===0)z=T}if(z.issues.length){if(U.mode==="loose")X.value[W]=J[W];else X.issues.push({code:"invalid_key",origin:"record",issues:z.issues.map((T)=>b6(T,Q,H6())),input:W,path:[W],inst:$});continue}let A=U.valueType._zod.run({value:J[W],issues:[]},Q);if(A instanceof Promise)j.push(A.then((T)=>{if(T.issues.length)X.issues.push(...r6(W,T.issues));X.value[z.value]=T.value}));else{if(A.issues.length)X.issues.push(...r6(W,A.issues));X.value[z.value]=A.value}}}if(j.length)return Promise.all(j).then(()=>X);return X}}),YQ=l("$ZodMap",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{let J=X.value;if(!(J instanceof Map))return X.issues.push({expected:"map",code:"invalid_type",input:J,inst:$}),X;let j=[];X.value=new Map;for(let[G,W]of J){let z=U.keyType._zod.run({value:G,issues:[]},Q),D=U.valueType._zod.run({value:W,issues:[]},Q);if(z instanceof Promise||D instanceof Promise)j.push(Promise.all([z,D]).then(([A,T])=>{O5(A,T,X,G,J,$,Q)}));else O5(z,D,X,G,J,$,Q)}if(j.length)return Promise.all(j).then(()=>X);return X}});WQ=l("$ZodSet",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{let J=X.value;if(!(J instanceof Set))return X.issues.push({input:J,inst:$,expected:"set",code:"invalid_type"}),X;let j=[];X.value=new Set;for(let G of J){let W=U.valueType._zod.run({value:G,issues:[]},Q);if(W instanceof Promise)j.push(W.then((z)=>I5(z,X)));else I5(W,X)}if(j.length)return Promise.all(j).then(()=>X);return X}});ZQ=l("$ZodEnum",($,U)=>{i$.init($,U);let X=l0(U.entries),Q=new Set(X);$._zod.values=Q,$._zod.pattern=new RegExp(`^(${X.filter((J)=>o0.has(typeof J)).map((J)=>typeof J==="string"?Z1(J):J.toString()).join("|")})$`),$._zod.parse=(J,j)=>{let G=J.value;if(Q.has(G))return J;return J.issues.push({code:"invalid_value",values:X,input:G,inst:$}),J}}),KQ=l("$ZodLiteral",($,U)=>{if(i$.init($,U),U.values.length===0)throw Error("Cannot create literal schema with no valid values");let X=new Set(U.values);$._zod.values=X,$._zod.pattern=new RegExp(`^(${U.values.map((Q)=>typeof Q==="string"?Z1(Q):Q?Z1(Q.toString()):String(Q)).join("|")})$`),$._zod.parse=(Q,J)=>{let j=Q.value;if(X.has(j))return Q;return Q.issues.push({code:"invalid_value",values:U.values,input:j,inst:$}),Q}}),zQ=l("$ZodFile",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{let J=X.value;if(J instanceof File)return X;return X.issues.push({expected:"file",code:"invalid_type",input:J,inst:$}),X}}),VQ=l("$ZodTransform",($,U)=>{i$.init($,U),$._zod.optin="optional",$._zod.parse=(X,Q)=>{if(Q.direction==="backward")throw new DU($.constructor.name);let J=U.transform(X.value,X);if(Q.async)return(J instanceof Promise?J:Promise.resolve(J)).then((G)=>{return X.value=G,X.fallback=!0,X});if(J instanceof Promise)throw new k1;return X.value=J,X.fallback=!0,X}});uJ=l("$ZodOptional",($,U)=>{i$.init($,U),$._zod.optin="optional",$._zod.optout="optional",a$($._zod,"values",()=>{return U.innerType._zod.values?new Set([...U.innerType._zod.values,void 0]):void 0}),a$($._zod,"pattern",()=>{let X=U.innerType._zod.pattern;return X?new RegExp(`^(${r0(X.source)})?$`):void 0}),$._zod.parse=(X,Q)=>{if(U.innerType._zod.optin==="optional"){let J=X.value,j=U.innerType._zod.run(X,Q);if(j instanceof Promise)return j.then((G)=>B5(G,J));return B5(j,J)}if(X.value===void 0)return X;return U.innerType._zod.run(X,Q)}}),DQ=l("$ZodExactOptional",($,U)=>{uJ.init($,U),a$($._zod,"values",()=>U.innerType._zod.values),a$($._zod,"pattern",()=>U.innerType._zod.pattern),$._zod.parse=(X,Q)=>{return U.innerType._zod.run(X,Q)}}),LQ=l("$ZodNullable",($,U)=>{i$.init($,U),a$($._zod,"optin",()=>U.innerType._zod.optin),a$($._zod,"optout",()=>U.innerType._zod.optout),a$($._zod,"pattern",()=>{let X=U.innerType._zod.pattern;return X?new RegExp(`^(${r0(X.source)}|null)$`):void 0}),a$($._zod,"values",()=>{return U.innerType._zod.values?new Set([...U.innerType._zod.values,null]):void 0}),$._zod.parse=(X,Q)=>{if(X.value===null)return X;return U.innerType._zod.run(X,Q)}}),HQ=l("$ZodDefault",($,U)=>{i$.init($,U),$._zod.optin="optional",a$($._zod,"values",()=>U.innerType._zod.values),$._zod.parse=(X,Q)=>{if(Q.direction==="backward")return U.innerType._zod.run(X,Q);if(X.value===void 0)return X.value=U.defaultValue,X;let J=U.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then((j)=>q5(j,U));return q5(J,U)}});NQ=l("$ZodPrefault",($,U)=>{i$.init($,U),$._zod.optin="optional",a$($._zod,"values",()=>U.innerType._zod.values),$._zod.parse=(X,Q)=>{if(Q.direction==="backward")return U.innerType._zod.run(X,Q);if(X.value===void 0)X.value=U.defaultValue;return U.innerType._zod.run(X,Q)}}),OQ=l("$ZodNonOptional",($,U)=>{i$.init($,U),a$($._zod,"values",()=>{let X=U.innerType._zod.values;return X?new Set([...X].filter((Q)=>Q!==void 0)):void 0}),$._zod.parse=(X,Q)=>{let J=U.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then((j)=>P5(j,$));return P5(J,$)}});IQ=l("$ZodSuccess",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{if(Q.direction==="backward")throw new DU("ZodSuccess");let J=U.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then((j)=>{return X.value=j.issues.length===0,X});return X.value=J.issues.length===0,X}}),BQ=l("$ZodCatch",($,U)=>{i$.init($,U),$._zod.optin="optional",a$($._zod,"optout",()=>U.innerType._zod.optout),a$($._zod,"values",()=>U.innerType._zod.values),$._zod.parse=(X,Q)=>{if(Q.direction==="backward")return U.innerType._zod.run(X,Q);let J=U.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then((j)=>{if(X.value=j.value,j.issues.length)X.value=U.catchValue({...X,error:{issues:j.issues.map((G)=>b6(G,Q,H6()))},input:X.value}),X.issues=[],X.fallback=!0;return X});if(X.value=J.value,J.issues.length)X.value=U.catchValue({...X,error:{issues:J.issues.map((j)=>b6(j,Q,H6()))},input:X.value}),X.issues=[],X.fallback=!0;return X}}),qQ=l("$ZodNaN",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{if(typeof X.value!=="number"||!Number.isNaN(X.value))return X.issues.push({input:X.value,inst:$,expected:"nan",code:"invalid_type"}),X;return X}}),gJ=l("$ZodPipe",($,U)=>{i$.init($,U),a$($._zod,"values",()=>U.in._zod.values),a$($._zod,"optin",()=>U.in._zod.optin),a$($._zod,"optout",()=>U.out._zod.optout),a$($._zod,"propValues",()=>U.in._zod.propValues),$._zod.parse=(X,Q)=>{if(Q.direction==="backward"){let j=U.out._zod.run(X,Q);if(j instanceof Promise)return j.then((G)=>MJ(G,U.in,Q));return MJ(j,U.in,Q)}let J=U.in._zod.run(X,Q);if(J instanceof Promise)return J.then((j)=>MJ(j,U.out,Q));return MJ(J,U.out,Q)}});X2=l("$ZodCodec",($,U)=>{i$.init($,U),a$($._zod,"values",()=>U.in._zod.values),a$($._zod,"optin",()=>U.in._zod.optin),a$($._zod,"optout",()=>U.out._zod.optout),a$($._zod,"propValues",()=>U.in._zod.propValues),$._zod.parse=(X,Q)=>{if((Q.direction||"forward")==="forward"){let j=U.in._zod.run(X,Q);if(j instanceof Promise)return j.then((G)=>CJ(G,U,Q));return CJ(j,U,Q)}else{let j=U.out._zod.run(X,Q);if(j instanceof Promise)return j.then((G)=>CJ(G,U,Q));return CJ(j,U,Q)}}});PQ=l("$ZodPreprocess",($,U)=>{gJ.init($,U)}),kQ=l("$ZodReadonly",($,U)=>{i$.init($,U),a$($._zod,"propValues",()=>U.innerType._zod.propValues),a$($._zod,"values",()=>U.innerType._zod.values),a$($._zod,"optin",()=>U.innerType?._zod?.optin),a$($._zod,"optout",()=>U.innerType?._zod?.optout),$._zod.parse=(X,Q)=>{if(Q.direction==="backward")return U.innerType._zod.run(X,Q);let J=U.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then(k5);return k5(J)}});AQ=l("$ZodTemplateLiteral",($,U)=>{i$.init($,U);let X=[];for(let Q of U.parts)if(typeof Q==="object"&&Q!==null){if(!Q._zod.pattern)throw Error(`Invalid template literal part, no pattern found: ${[...Q._zod.traits].shift()}`);let J=Q._zod.pattern instanceof RegExp?Q._zod.pattern.source:Q._zod.pattern;if(!J)throw Error(`Invalid template literal part: ${Q._zod.traits}`);let j=J.startsWith("^")?1:0,G=J.endsWith("$")?J.length-1:J.length;X.push(J.slice(j,G))}else if(Q===null||V8.has(typeof Q))X.push(Z1(`${Q}`));else throw Error(`Invalid template literal part: ${Q}`);$._zod.pattern=new RegExp(`^${X.join("")}$`),$._zod.parse=(Q,J)=>{if(typeof Q.value!=="string")return Q.issues.push({input:Q.value,inst:$,expected:"string",code:"invalid_type"}),Q;if($._zod.pattern.lastIndex=0,!$._zod.pattern.test(Q.value))return Q.issues.push({input:Q.value,inst:$,code:"invalid_format",format:U.format??"template_literal",pattern:$._zod.pattern.source}),Q;return Q}}),RQ=l("$ZodFunction",($,U)=>{return i$.init($,U),$._def=U,$._zod.def=U,$.implement=(X)=>{if(typeof X!=="function")throw Error("implement() must be called with a function");return function(...Q){let J=$._def.input?zJ($._def.input,Q):Q,j=Reflect.apply(X,this,J);if($._def.output)return zJ($._def.output,j);return j}},$.implementAsync=(X)=>{if(typeof X!=="function")throw Error("implementAsync() must be called with a function");return async function(...Q){let J=$._def.input?await VJ($._def.input,Q):Q,j=await Reflect.apply(X,this,J);if($._def.output)return await VJ($._def.output,j);return j}},$._zod.parse=(X,Q)=>{if(typeof X.value!=="function")return X.issues.push({code:"invalid_type",expected:"function",input:X.value,inst:$}),X;if($._def.output&&$._def.output._zod.def.type==="promise")X.value=$.implementAsync(X.value);else X.value=$.implement(X.value);return X},$.input=(...X)=>{let Q=$.constructor;if(Array.isArray(X[0]))return new Q({type:"function",input:new wJ({type:"tuple",items:X[0],rest:X[1]}),output:$._def.output});return new Q({type:"function",input:X[0],output:$._def.output})},$.output=(X)=>{return new $.constructor({type:"function",input:$._def.input,output:X})},$}),TQ=l("$ZodPromise",($,U)=>{i$.init($,U),$._zod.parse=(X,Q)=>{return Promise.resolve(X.value).then((J)=>U.innerType._zod.run({value:J,issues:[]},Q))}}),_Q=l("$ZodLazy",($,U)=>{i$.init($,U),a$($._zod,"innerType",()=>{let X=U;if(!X._cachedInner)X._cachedInner=U.getter();return X._cachedInner}),a$($._zod,"pattern",()=>$._zod.innerType?._zod?.pattern),a$($._zod,"propValues",()=>$._zod.innerType?._zod?.propValues),a$($._zod,"optin",()=>$._zod.innerType?._zod?.optin??void 0),a$($._zod,"optout",()=>$._zod.innerType?._zod?.optout??void 0),$._zod.parse=(X,Q)=>{return $._zod.innerType._zod.run(X,Q)}}),MQ=l("$ZodCustom",($,U)=>{V6.init($,U),i$.init($,U),$._zod.parse=(X,Q)=>{return X},$._zod.check=(X)=>{let Q=X.value,J=U.fn(Q);if(J instanceof Promise)return J.then((j)=>A5(j,X,Q,$));A5(J,X,Q,$);return}})});function FQ(){return{localeError:KN()}}var KN=()=>{let $={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}};function U(J){return $[J]??null}let X={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`مدخلات غير مقبولة: يفترض إدخال instanceof ${J.expected}، ولكن تم إدخال ${W}`;return`مدخلات غير مقبولة: يفترض إدخال ${j}، ولكن تم إدخال ${W}`}case"invalid_value":if(J.values.length===1)return`مدخلات غير مقبولة: يفترض إدخال ${B$(J.values[0])}`;return`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return` أكبر من اللازم: يفترض أن تكون ${J.origin??"القيمة"} ${j} ${J.maximum.toString()} ${G.unit??"عنصر"}`;return`أكبر من اللازم: يفترض أن تكون ${J.origin??"القيمة"} ${j} ${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`أصغر من اللازم: يفترض لـ ${J.origin} أن يكون ${j} ${J.minimum.toString()} ${G.unit}`;return`أصغر من اللازم: يفترض لـ ${J.origin} أن يكون ${j} ${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`نَص غير مقبول: يجب أن يبدأ بـ "${J.prefix}"`;if(j.format==="ends_with")return`نَص غير مقبول: يجب أن ينتهي بـ "${j.suffix}"`;if(j.format==="includes")return`نَص غير مقبول: يجب أن يتضمَّن "${j.includes}"`;if(j.format==="regex")return`نَص غير مقبول: يجب أن يطابق النمط ${j.pattern}`;return`${X[j.format]??J.format} غير مقبول`}case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${J.divisor}`;case"unrecognized_keys":return`معرف${J.keys.length>1?"ات":""} غريب${J.keys.length>1?"ة":""}: ${$$(J.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${J.origin}`;case"invalid_union":return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${J.origin}`;default:return"مدخل غير مقبول"}}};var F5=H$(()=>{g$()});function EQ(){return{localeError:zN()}}var zN=()=>{let $={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}};function U(J){return $[J]??null}let X={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Yanlış dəyər: gözlənilən instanceof ${J.expected}, daxil olan ${W}`;return`Yanlış dəyər: gözlənilən ${j}, daxil olan ${W}`}case"invalid_value":if(J.values.length===1)return`Yanlış dəyər: gözlənilən ${B$(J.values[0])}`;return`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Çox böyük: gözlənilən ${J.origin??"dəyər"} ${j}${J.maximum.toString()} ${G.unit??"element"}`;return`Çox böyük: gözlənilən ${J.origin??"dəyər"} ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Çox kiçik: gözlənilən ${J.origin} ${j}${J.minimum.toString()} ${G.unit}`;return`Çox kiçik: gözlənilən ${J.origin} ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Yanlış mətn: "${j.prefix}" ilə başlamalıdır`;if(j.format==="ends_with")return`Yanlış mətn: "${j.suffix}" ilə bitməlidir`;if(j.format==="includes")return`Yanlış mətn: "${j.includes}" daxil olmalıdır`;if(j.format==="regex")return`Yanlış mətn: ${j.pattern} şablonuna uyğun olmalıdır`;return`Yanlış ${X[j.format]??J.format}`}case"not_multiple_of":return`Yanlış ədəd: ${J.divisor} ilə bölünə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan açar${J.keys.length>1?"lar":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`${J.origin} daxilində yanlış açar`;case"invalid_union":return"Yanlış dəyər";case"invalid_element":return`${J.origin} daxilində yanlış dəyər`;default:return"Yanlış dəyər"}}};var E5=H$(()=>{g$()});function S5($,U,X,Q){let J=Math.abs($),j=J%10,G=J%100;if(G>=11&&G<=19)return Q;if(j===1)return U;if(j>=2&&j<=4)return X;return Q}function SQ(){return{localeError:VN()}}var VN=()=>{let $={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}};function U(J){return $[J]??null}let X={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"},Q={nan:"NaN",number:"лік",array:"масіў"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Няправільны ўвод: чакаўся instanceof ${J.expected}, атрымана ${W}`;return`Няправільны ўвод: чакаўся ${j}, атрымана ${W}`}case"invalid_value":if(J.values.length===1)return`Няправільны ўвод: чакалася ${B$(J.values[0])}`;return`Няправільны варыянт: чакаўся адзін з ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G){let W=Number(J.maximum),z=S5(W,G.unit.one,G.unit.few,G.unit.many);return`Занадта вялікі: чакалася, што ${J.origin??"значэнне"} павінна ${G.verb} ${j}${J.maximum.toString()} ${z}`}return`Занадта вялікі: чакалася, што ${J.origin??"значэнне"} павінна быць ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G){let W=Number(J.minimum),z=S5(W,G.unit.one,G.unit.few,G.unit.many);return`Занадта малы: чакалася, што ${J.origin} павінна ${G.verb} ${j}${J.minimum.toString()} ${z}`}return`Занадта малы: чакалася, што ${J.origin} павінна быць ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Няправільны радок: павінен пачынацца з "${j.prefix}"`;if(j.format==="ends_with")return`Няправільны радок: павінен заканчвацца на "${j.suffix}"`;if(j.format==="includes")return`Няправільны радок: павінен змяшчаць "${j.includes}"`;if(j.format==="regex")return`Няправільны радок: павінен адпавядаць шаблону ${j.pattern}`;return`Няправільны ${X[j.format]??J.format}`}case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${J.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${J.keys.length>1?"ключы":"ключ"}: ${$$(J.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${J.origin}`;case"invalid_union":return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${J.origin}`;default:return"Няправільны ўвод"}}};var x5=H$(()=>{g$()});function xQ(){return{localeError:DN()}}var DN=()=>{let $={string:{unit:"символа",verb:"да съдържа"},file:{unit:"байта",verb:"да съдържа"},array:{unit:"елемента",verb:"да съдържа"},set:{unit:"елемента",verb:"да съдържа"}};function U(J){return $[J]??null}let X={regex:"вход",email:"имейл адрес",url:"URL",emoji:"емоджи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO време",date:"ISO дата",time:"ISO време",duration:"ISO продължителност",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"base64-кодиран низ",base64url:"base64url-кодиран низ",json_string:"JSON низ",e164:"E.164 номер",jwt:"JWT",template_literal:"вход"},Q={nan:"NaN",number:"число",array:"масив"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Невалиден вход: очакван instanceof ${J.expected}, получен ${W}`;return`Невалиден вход: очакван ${j}, получен ${W}`}case"invalid_value":if(J.values.length===1)return`Невалиден вход: очакван ${B$(J.values[0])}`;return`Невалидна опция: очаквано едно от ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Твърде голямо: очаква се ${J.origin??"стойност"} да съдържа ${j}${J.maximum.toString()} ${G.unit??"елемента"}`;return`Твърде голямо: очаква се ${J.origin??"стойност"} да бъде ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Твърде малко: очаква се ${J.origin} да съдържа ${j}${J.minimum.toString()} ${G.unit}`;return`Твърде малко: очаква се ${J.origin} да бъде ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Невалиден низ: трябва да започва с "${j.prefix}"`;if(j.format==="ends_with")return`Невалиден низ: трябва да завършва с "${j.suffix}"`;if(j.format==="includes")return`Невалиден низ: трябва да включва "${j.includes}"`;if(j.format==="regex")return`Невалиден низ: трябва да съвпада с ${j.pattern}`;let G="Невалиден";if(j.format==="emoji")G="Невалидно";if(j.format==="datetime")G="Невалидно";if(j.format==="date")G="Невалидна";if(j.format==="time")G="Невалидно";if(j.format==="duration")G="Невалидна";return`${G} ${X[j.format]??J.format}`}case"not_multiple_of":return`Невалидно число: трябва да бъде кратно на ${J.divisor}`;case"unrecognized_keys":return`Неразпознат${J.keys.length>1?"и":""} ключ${J.keys.length>1?"ове":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Невалиден ключ в ${J.origin}`;case"invalid_union":return"Невалиден вход";case"invalid_element":return`Невалидна стойност в ${J.origin}`;default:return"Невалиден вход"}}};var w5=H$(()=>{g$()});function wQ(){return{localeError:LN()}}var LN=()=>{let $={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function U(J){return $[J]??null}let X={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipus invàlid: s'esperava instanceof ${J.expected}, s'ha rebut ${W}`;return`Tipus invàlid: s'esperava ${j}, s'ha rebut ${W}`}case"invalid_value":if(J.values.length===1)return`Valor invàlid: s'esperava ${B$(J.values[0])}`;return`Opció invàlida: s'esperava una de ${$$(J.values," o ")}`;case"too_big":{let j=J.inclusive?"com a màxim":"menys de",G=U(J.origin);if(G)return`Massa gran: s'esperava que ${J.origin??"el valor"} contingués ${j} ${J.maximum.toString()} ${G.unit??"elements"}`;return`Massa gran: s'esperava que ${J.origin??"el valor"} fos ${j} ${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?"com a mínim":"més de",G=U(J.origin);if(G)return`Massa petit: s'esperava que ${J.origin} contingués ${j} ${J.minimum.toString()} ${G.unit}`;return`Massa petit: s'esperava que ${J.origin} fos ${j} ${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Format invàlid: ha de començar amb "${j.prefix}"`;if(j.format==="ends_with")return`Format invàlid: ha d'acabar amb "${j.suffix}"`;if(j.format==="includes")return`Format invàlid: ha d'incloure "${j.includes}"`;if(j.format==="regex")return`Format invàlid: ha de coincidir amb el patró ${j.pattern}`;return`Format invàlid per a ${X[j.format]??J.format}`}case"not_multiple_of":return`Número invàlid: ha de ser múltiple de ${J.divisor}`;case"unrecognized_keys":return`Clau${J.keys.length>1?"s":""} no reconeguda${J.keys.length>1?"s":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Clau invàlida a ${J.origin}`;case"invalid_union":return"Entrada invàlida";case"invalid_element":return`Element invàlid a ${J.origin}`;default:return"Entrada invàlida"}}};var u5=H$(()=>{g$()});function uQ(){return{localeError:HN()}}var HN=()=>{let $={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}};function U(J){return $[J]??null}let X={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"},Q={nan:"NaN",number:"číslo",string:"řetězec",function:"funkce",array:"pole"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Neplatný vstup: očekáváno instanceof ${J.expected}, obdrženo ${W}`;return`Neplatný vstup: očekáváno ${j}, obdrženo ${W}`}case"invalid_value":if(J.values.length===1)return`Neplatný vstup: očekáváno ${B$(J.values[0])}`;return`Neplatná možnost: očekávána jedna z hodnot ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Hodnota je příliš velká: ${J.origin??"hodnota"} musí mít ${j}${J.maximum.toString()} ${G.unit??"prvků"}`;return`Hodnota je příliš velká: ${J.origin??"hodnota"} musí být ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Hodnota je příliš malá: ${J.origin??"hodnota"} musí mít ${j}${J.minimum.toString()} ${G.unit??"prvků"}`;return`Hodnota je příliš malá: ${J.origin??"hodnota"} musí být ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Neplatný řetězec: musí začínat na "${j.prefix}"`;if(j.format==="ends_with")return`Neplatný řetězec: musí končit na "${j.suffix}"`;if(j.format==="includes")return`Neplatný řetězec: musí obsahovat "${j.includes}"`;if(j.format==="regex")return`Neplatný řetězec: musí odpovídat vzoru ${j.pattern}`;return`Neplatný formát ${X[j.format]??J.format}`}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${J.divisor}`;case"unrecognized_keys":return`Neznámé klíče: ${$$(J.keys,", ")}`;case"invalid_key":return`Neplatný klíč v ${J.origin}`;case"invalid_union":return"Neplatný vstup";case"invalid_element":return`Neplatná hodnota v ${J.origin}`;default:return"Neplatný vstup"}}};var g5=H$(()=>{g$()});function gQ(){return{localeError:NN()}}var NN=()=>{let $={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}};function U(J){return $[J]??null}let X={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},Q={nan:"NaN",string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldigt input: forventede instanceof ${J.expected}, fik ${W}`;return`Ugyldigt input: forventede ${j}, fik ${W}`}case"invalid_value":if(J.values.length===1)return`Ugyldig værdi: forventede ${B$(J.values[0])}`;return`Ugyldigt valg: forventede en af følgende ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin),W=Q[J.origin]??J.origin;if(G)return`For stor: forventede ${W??"value"} ${G.verb} ${j} ${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor: forventede ${W??"value"} havde ${j} ${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin),W=Q[J.origin]??J.origin;if(G)return`For lille: forventede ${W} ${G.verb} ${j} ${J.minimum.toString()} ${G.unit}`;return`For lille: forventede ${W} havde ${j} ${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Ugyldig streng: skal starte med "${j.prefix}"`;if(j.format==="ends_with")return`Ugyldig streng: skal ende med "${j.suffix}"`;if(j.format==="includes")return`Ugyldig streng: skal indeholde "${j.includes}"`;if(j.format==="regex")return`Ugyldig streng: skal matche mønsteret ${j.pattern}`;return`Ugyldig ${X[j.format]??J.format}`}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${$$(J.keys,", ")}`;case"invalid_key":return`Ugyldig nøgle i ${J.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig værdi i ${J.origin}`;default:return"Ugyldigt input"}}};var y5=H$(()=>{g$()});function yQ(){return{localeError:ON()}}var ON=()=>{let $={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function U(J){return $[J]??null}let X={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"},Q={nan:"NaN",number:"Zahl",array:"Array"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Ungültige Eingabe: erwartet instanceof ${J.expected}, erhalten ${W}`;return`Ungültige Eingabe: erwartet ${j}, erhalten ${W}`}case"invalid_value":if(J.values.length===1)return`Ungültige Eingabe: erwartet ${B$(J.values[0])}`;return`Ungültige Option: erwartet eine von ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Zu groß: erwartet, dass ${J.origin??"Wert"} ${j}${J.maximum.toString()} ${G.unit??"Elemente"} hat`;return`Zu groß: erwartet, dass ${J.origin??"Wert"} ${j}${J.maximum.toString()} ist`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Zu klein: erwartet, dass ${J.origin} ${j}${J.minimum.toString()} ${G.unit} hat`;return`Zu klein: erwartet, dass ${J.origin} ${j}${J.minimum.toString()} ist`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Ungültiger String: muss mit "${j.prefix}" beginnen`;if(j.format==="ends_with")return`Ungültiger String: muss mit "${j.suffix}" enden`;if(j.format==="includes")return`Ungültiger String: muss "${j.includes}" enthalten`;if(j.format==="regex")return`Ungültiger String: muss dem Muster ${j.pattern} entsprechen`;return`Ungültig: ${X[j.format]??J.format}`}case"not_multiple_of":return`Ungültige Zahl: muss ein Vielfaches von ${J.divisor} sein`;case"unrecognized_keys":return`${J.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${$$(J.keys,", ")}`;case"invalid_key":return`Ungültiger Schlüssel in ${J.origin}`;case"invalid_union":return"Ungültige Eingabe";case"invalid_element":return`Ungültiger Wert in ${J.origin}`;default:return"Ungültige Eingabe"}}};var h5=H$(()=>{g$()});function hQ(){return{localeError:IN()}}var IN=()=>{let $={string:{unit:"χαρακτήρες",verb:"να έχει"},file:{unit:"bytes",verb:"να έχει"},array:{unit:"στοιχεία",verb:"να έχει"},set:{unit:"στοιχεία",verb:"να έχει"},map:{unit:"καταχωρήσεις",verb:"να έχει"}};function U(J){return $[J]??null}let X={regex:"είσοδος",email:"διεύθυνση email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ημερομηνία και ώρα",date:"ISO ημερομηνία",time:"ISO ώρα",duration:"ISO διάρκεια",ipv4:"διεύθυνση IPv4",ipv6:"διεύθυνση IPv6",mac:"διεύθυνση MAC",cidrv4:"εύρος IPv4",cidrv6:"εύρος IPv6",base64:"συμβολοσειρά κωδικοποιημένη σε base64",base64url:"συμβολοσειρά κωδικοποιημένη σε base64url",json_string:"συμβολοσειρά JSON",e164:"αριθμός E.164",jwt:"JWT",template_literal:"είσοδος"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(typeof J.expected==="string"&&/^[A-Z]/.test(J.expected))return`Μη έγκυρη είσοδος: αναμενόταν instanceof ${J.expected}, λήφθηκε ${W}`;return`Μη έγκυρη είσοδος: αναμενόταν ${j}, λήφθηκε ${W}`}case"invalid_value":if(J.values.length===1)return`Μη έγκυρη είσοδος: αναμενόταν ${B$(J.values[0])}`;return`Μη έγκυρη επιλογή: αναμενόταν ένα από ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Πολύ μεγάλο: αναμενόταν ${J.origin??"τιμή"} να έχει ${j}${J.maximum.toString()} ${G.unit??"στοιχεία"}`;return`Πολύ μεγάλο: αναμενόταν ${J.origin??"τιμή"} να είναι ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Πολύ μικρό: αναμενόταν ${J.origin} να έχει ${j}${J.minimum.toString()} ${G.unit}`;return`Πολύ μικρό: αναμενόταν ${J.origin} να είναι ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Μη έγκυρη συμβολοσειρά: πρέπει να ξεκινά με "${j.prefix}"`;if(j.format==="ends_with")return`Μη έγκυρη συμβολοσειρά: πρέπει να τελειώνει με "${j.suffix}"`;if(j.format==="includes")return`Μη έγκυρη συμβολοσειρά: πρέπει να περιέχει "${j.includes}"`;if(j.format==="regex")return`Μη έγκυρη συμβολοσειρά: πρέπει να ταιριάζει με το μοτίβο ${j.pattern}`;return`Μη έγκυρο: ${X[j.format]??J.format}`}case"not_multiple_of":return`Μη έγκυρος αριθμός: πρέπει να είναι πολλαπλάσιο του ${J.divisor}`;case"unrecognized_keys":return`Άγνωστ${J.keys.length>1?"α":"ο"} κλειδ${J.keys.length>1?"ιά":"ί"}: ${$$(J.keys,", ")}`;case"invalid_key":return`Μη έγκυρο κλειδί στο ${J.origin}`;case"invalid_union":return"Μη έγκυρη είσοδος";case"invalid_element":return`Μη έγκυρη τιμή στο ${J.origin}`;default:return"Μη έγκυρη είσοδος"}}};var f5=H$(()=>{g$()});function Q2(){return{localeError:BN()}}var BN=()=>{let $={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function U(J){return $[J]??null}let X={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;return`Invalid input: expected ${j}, received ${W}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${B$(J.values[0])}`;return`Invalid option: expected one of ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Too big: expected ${J.origin??"value"} to have ${j}${J.maximum.toString()} ${G.unit??"elements"}`;return`Too big: expected ${J.origin??"value"} to be ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Too small: expected ${J.origin} to have ${j}${J.minimum.toString()} ${G.unit}`;return`Too small: expected ${J.origin} to be ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Invalid string: must start with "${j.prefix}"`;if(j.format==="ends_with")return`Invalid string: must end with "${j.suffix}"`;if(j.format==="includes")return`Invalid string: must include "${j.includes}"`;if(j.format==="regex")return`Invalid string: must match pattern ${j.pattern}`;return`Invalid ${X[j.format]??J.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${J.divisor}`;case"unrecognized_keys":return`Unrecognized key${J.keys.length>1?"s":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Invalid key in ${J.origin}`;case"invalid_union":if(J.options&&Array.isArray(J.options)&&J.options.length>0)return`Invalid discriminator value. Expected ${J.options.map((G)=>`'${G}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${J.origin}`;default:return"Invalid input"}}};var fQ=H$(()=>{g$()});function bQ(){return{localeError:qN()}}var qN=()=>{let $={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function U(J){return $[J]??null}let X={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"},Q={nan:"NaN",number:"nombro",array:"tabelo",null:"senvalora"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Nevalida enigo: atendiĝis instanceof ${J.expected}, riceviĝis ${W}`;return`Nevalida enigo: atendiĝis ${j}, riceviĝis ${W}`}case"invalid_value":if(J.values.length===1)return`Nevalida enigo: atendiĝis ${B$(J.values[0])}`;return`Nevalida opcio: atendiĝis unu el ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Tro granda: atendiĝis ke ${J.origin??"valoro"} havu ${j}${J.maximum.toString()} ${G.unit??"elementojn"}`;return`Tro granda: atendiĝis ke ${J.origin??"valoro"} havu ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Tro malgranda: atendiĝis ke ${J.origin} havu ${j}${J.minimum.toString()} ${G.unit}`;return`Tro malgranda: atendiĝis ke ${J.origin} estu ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Nevalida karaktraro: devas komenciĝi per "${j.prefix}"`;if(j.format==="ends_with")return`Nevalida karaktraro: devas finiĝi per "${j.suffix}"`;if(j.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${j.includes}"`;if(j.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${j.pattern}`;return`Nevalida ${X[j.format]??J.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${J.divisor}`;case"unrecognized_keys":return`Nekonata${J.keys.length>1?"j":""} ŝlosilo${J.keys.length>1?"j":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${J.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${J.origin}`;default:return"Nevalida enigo"}}};var b5=H$(()=>{g$()});function nQ(){return{localeError:PN()}}var PN=()=>{let $={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}};function U(J){return $[J]??null}let X={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},Q={nan:"NaN",string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Entrada inválida: se esperaba instanceof ${J.expected}, recibido ${W}`;return`Entrada inválida: se esperaba ${j}, recibido ${W}`}case"invalid_value":if(J.values.length===1)return`Entrada inválida: se esperaba ${B$(J.values[0])}`;return`Opción inválida: se esperaba una de ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin),W=Q[J.origin]??J.origin;if(G)return`Demasiado grande: se esperaba que ${W??"valor"} tuviera ${j}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${W??"valor"} fuera ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin),W=Q[J.origin]??J.origin;if(G)return`Demasiado pequeño: se esperaba que ${W} tuviera ${j}${J.minimum.toString()} ${G.unit}`;return`Demasiado pequeño: se esperaba que ${W} fuera ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Cadena inválida: debe comenzar con "${j.prefix}"`;if(j.format==="ends_with")return`Cadena inválida: debe terminar en "${j.suffix}"`;if(j.format==="includes")return`Cadena inválida: debe incluir "${j.includes}"`;if(j.format==="regex")return`Cadena inválida: debe coincidir con el patrón ${j.pattern}`;return`Inválido ${X[j.format]??J.format}`}case"not_multiple_of":return`Número inválido: debe ser múltiplo de ${J.divisor}`;case"unrecognized_keys":return`Llave${J.keys.length>1?"s":""} desconocida${J.keys.length>1?"s":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Llave inválida en ${Q[J.origin]??J.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido en ${Q[J.origin]??J.origin}`;default:return"Entrada inválida"}}};var n5=H$(()=>{g$()});function mQ(){return{localeError:kN()}}var kN=()=>{let $={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}};function U(J){return $[J]??null}let X={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"},Q={nan:"NaN",number:"عدد",array:"آرایه"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`ورودی نامعتبر: می‌بایست instanceof ${J.expected} می‌بود، ${W} دریافت شد`;return`ورودی نامعتبر: می‌بایست ${j} می‌بود، ${W} دریافت شد`}case"invalid_value":if(J.values.length===1)return`ورودی نامعتبر: می‌بایست ${B$(J.values[0])} می‌بود`;return`گزینه نامعتبر: می‌بایست یکی از ${$$(J.values,"|")} می‌بود`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`خیلی بزرگ: ${J.origin??"مقدار"} باید ${j}${J.maximum.toString()} ${G.unit??"عنصر"} باشد`;return`خیلی بزرگ: ${J.origin??"مقدار"} باید ${j}${J.maximum.toString()} باشد`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`خیلی کوچک: ${J.origin} باید ${j}${J.minimum.toString()} ${G.unit} باشد`;return`خیلی کوچک: ${J.origin} باید ${j}${J.minimum.toString()} باشد`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`رشته نامعتبر: باید با "${j.prefix}" شروع شود`;if(j.format==="ends_with")return`رشته نامعتبر: باید با "${j.suffix}" تمام شود`;if(j.format==="includes")return`رشته نامعتبر: باید شامل "${j.includes}" باشد`;if(j.format==="regex")return`رشته نامعتبر: باید با الگوی ${j.pattern} مطابقت داشته باشد`;return`${X[j.format]??J.format} نامعتبر`}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${J.divisor} باشد`;case"unrecognized_keys":return`کلید${J.keys.length>1?"های":""} ناشناس: ${$$(J.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${J.origin}`;case"invalid_union":return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${J.origin}`;default:return"ورودی نامعتبر"}}};var m5=H$(()=>{g$()});function cQ(){return{localeError:AN()}}var AN=()=>{let $={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}};function U(J){return $[J]??null}let X={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Virheellinen tyyppi: odotettiin instanceof ${J.expected}, oli ${W}`;return`Virheellinen tyyppi: odotettiin ${j}, oli ${W}`}case"invalid_value":if(J.values.length===1)return`Virheellinen syöte: täytyy olla ${B$(J.values[0])}`;return`Virheellinen valinta: täytyy olla yksi seuraavista: ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Liian suuri: ${G.subject} täytyy olla ${j}${J.maximum.toString()} ${G.unit}`.trim();return`Liian suuri: arvon täytyy olla ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Liian pieni: ${G.subject} täytyy olla ${j}${J.minimum.toString()} ${G.unit}`.trim();return`Liian pieni: arvon täytyy olla ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Virheellinen syöte: täytyy alkaa "${j.prefix}"`;if(j.format==="ends_with")return`Virheellinen syöte: täytyy loppua "${j.suffix}"`;if(j.format==="includes")return`Virheellinen syöte: täytyy sisältää "${j.includes}"`;if(j.format==="regex")return`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${j.pattern}`;return`Virheellinen ${X[j.format]??J.format}`}case"not_multiple_of":return`Virheellinen luku: täytyy olla luvun ${J.divisor} monikerta`;case"unrecognized_keys":return`${J.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${$$(J.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}}};var c5=H$(()=>{g$()});function iQ(){return{localeError:RN()}}var RN=()=>{let $={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function U(J){return $[J]??null}let X={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},Q={string:"chaîne",number:"nombre",int:"entier",boolean:"booléen",bigint:"grand entier",symbol:"symbole",undefined:"indéfini",null:"null",never:"jamais",void:"vide",date:"date",array:"tableau",object:"objet",tuple:"tuple",record:"enregistrement",map:"carte",set:"ensemble",file:"fichier",nonoptional:"non-optionnel",nan:"NaN",function:"fonction"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Entrée invalide : instanceof ${J.expected} attendu, ${W} reçu`;return`Entrée invalide : ${j} attendu, ${W} reçu`}case"invalid_value":if(J.values.length===1)return`Entrée invalide : ${B$(J.values[0])} attendu`;return`Option invalide : une valeur parmi ${$$(J.values,"|")} attendue`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Trop grand : ${Q[J.origin]??"valeur"} doit ${G.verb} ${j}${J.maximum.toString()} ${G.unit??"élément(s)"}`;return`Trop grand : ${Q[J.origin]??"valeur"} doit être ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Trop petit : ${Q[J.origin]??"valeur"} doit ${G.verb} ${j}${J.minimum.toString()} ${G.unit}`;return`Trop petit : ${Q[J.origin]??"valeur"} doit être ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Chaîne invalide : doit commencer par "${j.prefix}"`;if(j.format==="ends_with")return`Chaîne invalide : doit se terminer par "${j.suffix}"`;if(j.format==="includes")return`Chaîne invalide : doit inclure "${j.includes}"`;if(j.format==="regex")return`Chaîne invalide : doit correspondre au modèle ${j.pattern}`;return`${X[j.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${J.divisor}`;case"unrecognized_keys":return`Clé${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${$$(J.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${J.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entrée invalide"}}};var i5=H$(()=>{g$()});function lQ(){return{localeError:TN()}}var TN=()=>{let $={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function U(J){return $[J]??null}let X={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Entrée invalide : attendu instanceof ${J.expected}, reçu ${W}`;return`Entrée invalide : attendu ${j}, reçu ${W}`}case"invalid_value":if(J.values.length===1)return`Entrée invalide : attendu ${B$(J.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"≤":"<",G=U(J.origin);if(G)return`Trop grand : attendu que ${J.origin??"la valeur"} ait ${j}${J.maximum.toString()} ${G.unit}`;return`Trop grand : attendu que ${J.origin??"la valeur"} soit ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?"≥":">",G=U(J.origin);if(G)return`Trop petit : attendu que ${J.origin} ait ${j}${J.minimum.toString()} ${G.unit}`;return`Trop petit : attendu que ${J.origin} soit ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Chaîne invalide : doit commencer par "${j.prefix}"`;if(j.format==="ends_with")return`Chaîne invalide : doit se terminer par "${j.suffix}"`;if(j.format==="includes")return`Chaîne invalide : doit inclure "${j.includes}"`;if(j.format==="regex")return`Chaîne invalide : doit correspondre au motif ${j.pattern}`;return`${X[j.format]??J.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${J.divisor}`;case"unrecognized_keys":return`Clé${J.keys.length>1?"s":""} non reconnue${J.keys.length>1?"s":""} : ${$$(J.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${J.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${J.origin}`;default:return"Entrée invalide"}}};var l5=H$(()=>{g$()});function rQ(){return{localeError:_N()}}var _N=()=>{let $={string:{label:"מחרוזת",gender:"f"},number:{label:"מספר",gender:"m"},boolean:{label:"ערך בוליאני",gender:"m"},bigint:{label:"BigInt",gender:"m"},date:{label:"תאריך",gender:"m"},array:{label:"מערך",gender:"m"},object:{label:"אובייקט",gender:"m"},null:{label:"ערך ריק (null)",gender:"m"},undefined:{label:"ערך לא מוגדר (undefined)",gender:"m"},symbol:{label:"סימבול (Symbol)",gender:"m"},function:{label:"פונקציה",gender:"f"},map:{label:"מפה (Map)",gender:"f"},set:{label:"קבוצה (Set)",gender:"f"},file:{label:"קובץ",gender:"m"},promise:{label:"Promise",gender:"m"},NaN:{label:"NaN",gender:"m"},unknown:{label:"ערך לא ידוע",gender:"m"},value:{label:"ערך",gender:"m"}},U={string:{unit:"תווים",shortLabel:"קצר",longLabel:"ארוך"},file:{unit:"בייטים",shortLabel:"קטן",longLabel:"גדול"},array:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},set:{unit:"פריטים",shortLabel:"קטן",longLabel:"גדול"},number:{unit:"",shortLabel:"קטן",longLabel:"גדול"}},X=(D)=>D?$[D]:void 0,Q=(D)=>{let A=X(D);if(A)return A.label;return D??$.unknown.label},J=(D)=>`ה${Q(D)}`,j=(D)=>{return(X(D)?.gender??"m")==="f"?"צריכה להיות":"צריך להיות"},G=(D)=>{if(!D)return null;return U[D]??null},W={regex:{label:"קלט",gender:"m"},email:{label:"כתובת אימייל",gender:"f"},url:{label:"כתובת רשת",gender:"f"},emoji:{label:"אימוג'י",gender:"m"},uuid:{label:"UUID",gender:"m"},nanoid:{label:"nanoid",gender:"m"},guid:{label:"GUID",gender:"m"},cuid:{label:"cuid",gender:"m"},cuid2:{label:"cuid2",gender:"m"},ulid:{label:"ULID",gender:"m"},xid:{label:"XID",gender:"m"},ksuid:{label:"KSUID",gender:"m"},datetime:{label:"תאריך וזמן ISO",gender:"m"},date:{label:"תאריך ISO",gender:"m"},time:{label:"זמן ISO",gender:"m"},duration:{label:"משך זמן ISO",gender:"m"},ipv4:{label:"כתובת IPv4",gender:"f"},ipv6:{label:"כתובת IPv6",gender:"f"},cidrv4:{label:"טווח IPv4",gender:"m"},cidrv6:{label:"טווח IPv6",gender:"m"},base64:{label:"מחרוזת בבסיס 64",gender:"f"},base64url:{label:"מחרוזת בבסיס 64 לכתובות רשת",gender:"f"},json_string:{label:"מחרוזת JSON",gender:"f"},e164:{label:"מספר E.164",gender:"m"},jwt:{label:"JWT",gender:"m"},ends_with:{label:"קלט",gender:"m"},includes:{label:"קלט",gender:"m"},lowercase:{label:"קלט",gender:"m"},starts_with:{label:"קלט",gender:"m"},uppercase:{label:"קלט",gender:"m"}},z={nan:"NaN"};return(D)=>{switch(D.code){case"invalid_type":{let A=D.expected,T=z[A??""]??Q(A),h=q$(D.input),o=z[h]??$[h]?.label??h;if(/^[A-Z]/.test(D.expected))return`קלט לא תקין: צריך להיות instanceof ${D.expected}, התקבל ${o}`;return`קלט לא תקין: צריך להיות ${T}, התקבל ${o}`}case"invalid_value":{if(D.values.length===1)return`ערך לא תקין: הערך חייב להיות ${B$(D.values[0])}`;let A=D.values.map((o)=>B$(o));if(D.values.length===2)return`ערך לא תקין: האפשרויות המתאימות הן ${A[0]} או ${A[1]}`;let T=A[A.length-1];return`ערך לא תקין: האפשרויות המתאימות הן ${A.slice(0,-1).join(", ")} או ${T}`}case"too_big":{let A=G(D.origin),T=J(D.origin??"value");if(D.origin==="string")return`${A?.longLabel??"ארוך"} מדי: ${T} צריכה להכיל ${D.maximum.toString()} ${A?.unit??""} ${D.inclusive?"או פחות":"לכל היותר"}`.trim();if(D.origin==="number"){let V$=D.inclusive?`קטן או שווה ל-${D.maximum}`:`קטן מ-${D.maximum}`;return`גדול מדי: ${T} צריך להיות ${V$}`}if(D.origin==="array"||D.origin==="set"){let V$=D.origin==="set"?"צריכה":"צריך",Y$=D.inclusive?`${D.maximum} ${A?.unit??""} או פחות`:`פחות מ-${D.maximum} ${A?.unit??""}`;return`גדול מדי: ${T} ${V$} להכיל ${Y$}`.trim()}let h=D.inclusive?"<=":"<",o=j(D.origin??"value");if(A?.unit)return`${A.longLabel} מדי: ${T} ${o} ${h}${D.maximum.toString()} ${A.unit}`;return`${A?.longLabel??"גדול"} מדי: ${T} ${o} ${h}${D.maximum.toString()}`}case"too_small":{let A=G(D.origin),T=J(D.origin??"value");if(D.origin==="string")return`${A?.shortLabel??"קצר"} מדי: ${T} צריכה להכיל ${D.minimum.toString()} ${A?.unit??""} ${D.inclusive?"או יותר":"לפחות"}`.trim();if(D.origin==="number"){let V$=D.inclusive?`גדול או שווה ל-${D.minimum}`:`גדול מ-${D.minimum}`;return`קטן מדי: ${T} צריך להיות ${V$}`}if(D.origin==="array"||D.origin==="set"){let V$=D.origin==="set"?"צריכה":"צריך";if(D.minimum===1&&D.inclusive){let L$=D.origin==="set"?"לפחות פריט אחד":"לפחות פריט אחד";return`קטן מדי: ${T} ${V$} להכיל ${L$}`}let Y$=D.inclusive?`${D.minimum} ${A?.unit??""} או יותר`:`יותר מ-${D.minimum} ${A?.unit??""}`;return`קטן מדי: ${T} ${V$} להכיל ${Y$}`.trim()}let h=D.inclusive?">=":">",o=j(D.origin??"value");if(A?.unit)return`${A.shortLabel} מדי: ${T} ${o} ${h}${D.minimum.toString()} ${A.unit}`;return`${A?.shortLabel??"קטן"} מדי: ${T} ${o} ${h}${D.minimum.toString()}`}case"invalid_format":{let A=D;if(A.format==="starts_with")return`המחרוזת חייבת להתחיל ב "${A.prefix}"`;if(A.format==="ends_with")return`המחרוזת חייבת להסתיים ב "${A.suffix}"`;if(A.format==="includes")return`המחרוזת חייבת לכלול "${A.includes}"`;if(A.format==="regex")return`המחרוזת חייבת להתאים לתבנית ${A.pattern}`;let T=W[A.format],h=T?.label??A.format,V$=(T?.gender??"m")==="f"?"תקינה":"תקין";return`${h} לא ${V$}`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${D.divisor}`;case"unrecognized_keys":return`מפתח${D.keys.length>1?"ות":""} לא מזוה${D.keys.length>1?"ים":"ה"}: ${$$(D.keys,", ")}`;case"invalid_key":return"שדה לא תקין באובייקט";case"invalid_union":return"קלט לא תקין";case"invalid_element":return`ערך לא תקין ב${J(D.origin??"array")}`;default:return"קלט לא תקין"}}};var r5=H$(()=>{g$()});function oQ(){return{localeError:MN()}}var MN=()=>{let $={string:{unit:"znakova",verb:"imati"},file:{unit:"bajtova",verb:"imati"},array:{unit:"stavki",verb:"imati"},set:{unit:"stavki",verb:"imati"}};function U(J){return $[J]??null}let X={regex:"unos",email:"email adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum i vrijeme",date:"ISO datum",time:"ISO vrijeme",duration:"ISO trajanje",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"IPv4 raspon",cidrv6:"IPv6 raspon",base64:"base64 kodirani tekst",base64url:"base64url kodirani tekst",json_string:"JSON tekst",e164:"E.164 broj",jwt:"JWT",template_literal:"unos"},Q={nan:"NaN",string:"tekst",number:"broj",boolean:"boolean",array:"niz",object:"objekt",set:"skup",file:"datoteka",date:"datum",bigint:"bigint",symbol:"simbol",undefined:"undefined",null:"null",function:"funkcija",map:"mapa"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Neispravan unos: očekuje se instanceof ${J.expected}, a primljeno je ${W}`;return`Neispravan unos: očekuje se ${j}, a primljeno je ${W}`}case"invalid_value":if(J.values.length===1)return`Neispravna vrijednost: očekivano ${B$(J.values[0])}`;return`Neispravna opcija: očekivano jedno od ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin),W=Q[J.origin]??J.origin;if(G)return`Preveliko: očekivano da ${W??"vrijednost"} ima ${j}${J.maximum.toString()} ${G.unit??"elemenata"}`;return`Preveliko: očekivano da ${W??"vrijednost"} bude ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin),W=Q[J.origin]??J.origin;if(G)return`Premalo: očekivano da ${W} ima ${j}${J.minimum.toString()} ${G.unit}`;return`Premalo: očekivano da ${W} bude ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Neispravan tekst: mora započinjati s "${j.prefix}"`;if(j.format==="ends_with")return`Neispravan tekst: mora završavati s "${j.suffix}"`;if(j.format==="includes")return`Neispravan tekst: mora sadržavati "${j.includes}"`;if(j.format==="regex")return`Neispravan tekst: mora odgovarati uzorku ${j.pattern}`;return`Neispravna ${X[j.format]??J.format}`}case"not_multiple_of":return`Neispravan broj: mora biti višekratnik od ${J.divisor}`;case"unrecognized_keys":return`Neprepoznat${J.keys.length>1?"i ključevi":" ključ"}: ${$$(J.keys,", ")}`;case"invalid_key":return`Neispravan ključ u ${Q[J.origin]??J.origin}`;case"invalid_union":return"Neispravan unos";case"invalid_element":return`Neispravna vrijednost u ${Q[J.origin]??J.origin}`;default:return"Neispravan unos"}}};var o5=H$(()=>{g$()});function dQ(){return{localeError:CN()}}var CN=()=>{let $={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function U(J){return $[J]??null}let X={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"},Q={nan:"NaN",number:"szám",array:"tömb"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Érvénytelen bemenet: a várt érték instanceof ${J.expected}, a kapott érték ${W}`;return`Érvénytelen bemenet: a várt érték ${j}, a kapott érték ${W}`}case"invalid_value":if(J.values.length===1)return`Érvénytelen bemenet: a várt érték ${B$(J.values[0])}`;return`Érvénytelen opció: valamelyik érték várt ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Túl nagy: ${J.origin??"érték"} mérete túl nagy ${j}${J.maximum.toString()} ${G.unit??"elem"}`;return`Túl nagy: a bemeneti érték ${J.origin??"érték"} túl nagy: ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Túl kicsi: a bemeneti érték ${J.origin} mérete túl kicsi ${j}${J.minimum.toString()} ${G.unit}`;return`Túl kicsi: a bemeneti érték ${J.origin} túl kicsi ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Érvénytelen string: "${j.prefix}" értékkel kell kezdődnie`;if(j.format==="ends_with")return`Érvénytelen string: "${j.suffix}" értékkel kell végződnie`;if(j.format==="includes")return`Érvénytelen string: "${j.includes}" értéket kell tartalmaznia`;if(j.format==="regex")return`Érvénytelen string: ${j.pattern} mintának kell megfelelnie`;return`Érvénytelen ${X[j.format]??J.format}`}case"not_multiple_of":return`Érvénytelen szám: ${J.divisor} többszörösének kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${J.keys.length>1?"s":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Érvénytelen kulcs ${J.origin}`;case"invalid_union":return"Érvénytelen bemenet";case"invalid_element":return`Érvénytelen érték: ${J.origin}`;default:return"Érvénytelen bemenet"}}};var d5=H$(()=>{g$()});function p5($,U,X){return Math.abs($)===1?U:X}function J0($){if(!$)return"";let U=["ա","ե","ը","ի","ո","ու","օ"],X=$[$.length-1];return $+(U.includes(X)?"ն":"ը")}function pQ(){return{localeError:FN()}}var FN=()=>{let $={string:{unit:{one:"նշան",many:"նշաններ"},verb:"ունենալ"},file:{unit:{one:"բայթ",many:"բայթեր"},verb:"ունենալ"},array:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"},set:{unit:{one:"տարր",many:"տարրեր"},verb:"ունենալ"}};function U(J){return $[J]??null}let X={regex:"մուտք",email:"էլ. հասցե",url:"URL",emoji:"էմոջի",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO ամսաթիվ և ժամ",date:"ISO ամսաթիվ",time:"ISO ժամ",duration:"ISO տևողություն",ipv4:"IPv4 հասցե",ipv6:"IPv6 հասցե",cidrv4:"IPv4 միջակայք",cidrv6:"IPv6 միջակայք",base64:"base64 ձևաչափով տող",base64url:"base64url ձևաչափով տող",json_string:"JSON տող",e164:"E.164 համար",jwt:"JWT",template_literal:"մուտք"},Q={nan:"NaN",number:"թիվ",array:"զանգված"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Սխալ մուտքագրում․ սպասվում էր instanceof ${J.expected}, ստացվել է ${W}`;return`Սխալ մուտքագրում․ սպասվում էր ${j}, ստացվել է ${W}`}case"invalid_value":if(J.values.length===1)return`Սխալ մուտքագրում․ սպասվում էր ${B$(J.values[1])}`;return`Սխալ տարբերակ․ սպասվում էր հետևյալներից մեկը՝ ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G){let W=Number(J.maximum),z=p5(W,G.unit.one,G.unit.many);return`Չափազանց մեծ արժեք․ սպասվում է, որ ${J0(J.origin??"արժեք")} կունենա ${j}${J.maximum.toString()} ${z}`}return`Չափազանց մեծ արժեք․ սպասվում է, որ ${J0(J.origin??"արժեք")} լինի ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G){let W=Number(J.minimum),z=p5(W,G.unit.one,G.unit.many);return`Չափազանց փոքր արժեք․ սպասվում է, որ ${J0(J.origin)} կունենա ${j}${J.minimum.toString()} ${z}`}return`Չափազանց փոքր արժեք․ սպասվում է, որ ${J0(J.origin)} լինի ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Սխալ տող․ պետք է սկսվի "${j.prefix}"-ով`;if(j.format==="ends_with")return`Սխալ տող․ պետք է ավարտվի "${j.suffix}"-ով`;if(j.format==="includes")return`Սխալ տող․ պետք է պարունակի "${j.includes}"`;if(j.format==="regex")return`Սխալ տող․ պետք է համապատասխանի ${j.pattern} ձևաչափին`;return`Սխալ ${X[j.format]??J.format}`}case"not_multiple_of":return`Սխալ թիվ․ պետք է բազմապատիկ լինի ${J.divisor}-ի`;case"unrecognized_keys":return`Չճանաչված բանալի${J.keys.length>1?"ներ":""}. ${$$(J.keys,", ")}`;case"invalid_key":return`Սխալ բանալի ${J0(J.origin)}-ում`;case"invalid_union":return"Սխալ մուտքագրում";case"invalid_element":return`Սխալ արժեք ${J0(J.origin)}-ում`;default:return"Սխալ մուտքագրում"}}};var t5=H$(()=>{g$()});function tQ(){return{localeError:EN()}}var EN=()=>{let $={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function U(J){return $[J]??null}let X={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak valid: diharapkan instanceof ${J.expected}, diterima ${W}`;return`Input tidak valid: diharapkan ${j}, diterima ${W}`}case"invalid_value":if(J.values.length===1)return`Input tidak valid: diharapkan ${B$(J.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Terlalu besar: diharapkan ${J.origin??"value"} memiliki ${j}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: diharapkan ${J.origin??"value"} menjadi ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Terlalu kecil: diharapkan ${J.origin} memiliki ${j}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: diharapkan ${J.origin} menjadi ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`String tidak valid: harus dimulai dengan "${j.prefix}"`;if(j.format==="ends_with")return`String tidak valid: harus berakhir dengan "${j.suffix}"`;if(j.format==="includes")return`String tidak valid: harus menyertakan "${j.includes}"`;if(j.format==="regex")return`String tidak valid: harus sesuai pola ${j.pattern}`;return`${X[j.format]??J.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${J.keys.length>1?"s":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${J.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${J.origin}`;default:return"Input tidak valid"}}};var a5=H$(()=>{g$()});function aQ(){return{localeError:SN()}}var SN=()=>{let $={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}};function U(J){return $[J]??null}let X={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"},Q={nan:"NaN",number:"númer",array:"fylki"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Rangt gildi: Þú slóst inn ${W} þar sem á að vera instanceof ${J.expected}`;return`Rangt gildi: Þú slóst inn ${W} þar sem á að vera ${j}`}case"invalid_value":if(J.values.length===1)return`Rangt gildi: gert ráð fyrir ${B$(J.values[0])}`;return`Ógilt val: má vera eitt af eftirfarandi ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Of stórt: gert er ráð fyrir að ${J.origin??"gildi"} hafi ${j}${J.maximum.toString()} ${G.unit??"hluti"}`;return`Of stórt: gert er ráð fyrir að ${J.origin??"gildi"} sé ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Of lítið: gert er ráð fyrir að ${J.origin} hafi ${j}${J.minimum.toString()} ${G.unit}`;return`Of lítið: gert er ráð fyrir að ${J.origin} sé ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Ógildur strengur: verður að byrja á "${j.prefix}"`;if(j.format==="ends_with")return`Ógildur strengur: verður að enda á "${j.suffix}"`;if(j.format==="includes")return`Ógildur strengur: verður að innihalda "${j.includes}"`;if(j.format==="regex")return`Ógildur strengur: verður að fylgja mynstri ${j.pattern}`;return`Rangt ${X[j.format]??J.format}`}case"not_multiple_of":return`Röng tala: verður að vera margfeldi af ${J.divisor}`;case"unrecognized_keys":return`Óþekkt ${J.keys.length>1?"ir lyklar":"ur lykill"}: ${$$(J.keys,", ")}`;case"invalid_key":return`Rangur lykill í ${J.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi í ${J.origin}`;default:return"Rangt gildi"}}};var e5=H$(()=>{g$()});function eQ(){return{localeError:xN()}}var xN=()=>{let $={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function U(J){return $[J]??null}let X={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"},Q={nan:"NaN",number:"numero",array:"vettore"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Input non valido: atteso instanceof ${J.expected}, ricevuto ${W}`;return`Input non valido: atteso ${j}, ricevuto ${W}`}case"invalid_value":if(J.values.length===1)return`Input non valido: atteso ${B$(J.values[0])}`;return`Opzione non valida: atteso uno tra ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Troppo grande: ${J.origin??"valore"} deve avere ${j}${J.maximum.toString()} ${G.unit??"elementi"}`;return`Troppo grande: ${J.origin??"valore"} deve essere ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Troppo piccolo: ${J.origin} deve avere ${j}${J.minimum.toString()} ${G.unit}`;return`Troppo piccolo: ${J.origin} deve essere ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Stringa non valida: deve iniziare con "${j.prefix}"`;if(j.format==="ends_with")return`Stringa non valida: deve terminare con "${j.suffix}"`;if(j.format==="includes")return`Stringa non valida: deve includere "${j.includes}"`;if(j.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${j.pattern}`;return`Input non valido: ${X[j.format]??J.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${J.divisor}`;case"unrecognized_keys":return`Chiav${J.keys.length>1?"i":"e"} non riconosciut${J.keys.length>1?"e":"a"}: ${$$(J.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${J.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${J.origin}`;default:return"Input non valido"}}};var s5=H$(()=>{g$()});function sQ(){return{localeError:wN()}}var wN=()=>{let $={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}};function U(J){return $[J]??null}let X={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"},Q={nan:"NaN",number:"数値",array:"配列"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`無効な入力: instanceof ${J.expected}が期待されましたが、${W}が入力されました`;return`無効な入力: ${j}が期待されましたが、${W}が入力されました`}case"invalid_value":if(J.values.length===1)return`無効な入力: ${B$(J.values[0])}が期待されました`;return`無効な選択: ${$$(J.values,"、")}のいずれかである必要があります`;case"too_big":{let j=J.inclusive?"以下である":"より小さい",G=U(J.origin);if(G)return`大きすぎる値: ${J.origin??"値"}は${J.maximum.toString()}${G.unit??"要素"}${j}必要があります`;return`大きすぎる値: ${J.origin??"値"}は${J.maximum.toString()}${j}必要があります`}case"too_small":{let j=J.inclusive?"以上である":"より大きい",G=U(J.origin);if(G)return`小さすぎる値: ${J.origin}は${J.minimum.toString()}${G.unit}${j}必要があります`;return`小さすぎる値: ${J.origin}は${J.minimum.toString()}${j}必要があります`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`無効な文字列: "${j.prefix}"で始まる必要があります`;if(j.format==="ends_with")return`無効な文字列: "${j.suffix}"で終わる必要があります`;if(j.format==="includes")return`無効な文字列: "${j.includes}"を含む必要があります`;if(j.format==="regex")return`無効な文字列: パターン${j.pattern}に一致する必要があります`;return`無効な${X[j.format]??J.format}`}case"not_multiple_of":return`無効な数値: ${J.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${J.keys.length>1?"群":""}: ${$$(J.keys,"、")}`;case"invalid_key":return`${J.origin}内の無効なキー`;case"invalid_union":return"無効な入力";case"invalid_element":return`${J.origin}内の無効な値`;default:return"無効な入力"}}};var $7=H$(()=>{g$()});function $9(){return{localeError:uN()}}var uN=()=>{let $={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function U(J){return $[J]??null}let X={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული ველი",base64url:"base64url-კოდირებული ველი",json_string:"JSON ველი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"},Q={nan:"NaN",number:"რიცხვი",string:"ველი",boolean:"ბულეანი",function:"ფუნქცია",array:"მასივი"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`არასწორი შეყვანა: მოსალოდნელი instanceof ${J.expected}, მიღებული ${W}`;return`არასწორი შეყვანა: მოსალოდნელი ${j}, მიღებული ${W}`}case"invalid_value":if(J.values.length===1)return`არასწორი შეყვანა: მოსალოდნელი ${B$(J.values[0])}`;return`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${$$(J.values,"|")}-დან`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`ზედმეტად დიდი: მოსალოდნელი ${J.origin??"მნიშვნელობა"} ${G.verb} ${j}${J.maximum.toString()} ${G.unit}`;return`ზედმეტად დიდი: მოსალოდნელი ${J.origin??"მნიშვნელობა"} იყოს ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`ზედმეტად პატარა: მოსალოდნელი ${J.origin} ${G.verb} ${j}${J.minimum.toString()} ${G.unit}`;return`ზედმეტად პატარა: მოსალოდნელი ${J.origin} იყოს ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`არასწორი ველი: უნდა იწყებოდეს "${j.prefix}"-ით`;if(j.format==="ends_with")return`არასწორი ველი: უნდა მთავრდებოდეს "${j.suffix}"-ით`;if(j.format==="includes")return`არასწორი ველი: უნდა შეიცავდეს "${j.includes}"-ს`;if(j.format==="regex")return`არასწორი ველი: უნდა შეესაბამებოდეს შაბლონს ${j.pattern}`;return`არასწორი ${X[j.format]??J.format}`}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${J.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${J.keys.length>1?"ები":"ი"}: ${$$(J.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${J.origin}-ში`;case"invalid_union":return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${J.origin}-ში`;default:return"არასწორი შეყვანა"}}};var U7=H$(()=>{g$()});function j2(){return{localeError:gN()}}var gN=()=>{let $={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function U(J){return $[J]??null}let X={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"},Q={nan:"NaN",number:"លេខ",array:"អារេ (Array)",null:"គ្មានតម្លៃ (null)"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ instanceof ${J.expected} ប៉ុន្តែទទួលបាន ${W}`;return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${j} ប៉ុន្តែទទួលបាន ${W}`}case"invalid_value":if(J.values.length===1)return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${B$(J.values[0])}`;return`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`ធំពេក៖ ត្រូវការ ${J.origin??"តម្លៃ"} ${j} ${J.maximum.toString()} ${G.unit??"ធាតុ"}`;return`ធំពេក៖ ត្រូវការ ${J.origin??"តម្លៃ"} ${j} ${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`តូចពេក៖ ត្រូវការ ${J.origin} ${j} ${J.minimum.toString()} ${G.unit}`;return`តូចពេក៖ ត្រូវការ ${J.origin} ${j} ${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${j.prefix}"`;if(j.format==="ends_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${j.suffix}"`;if(j.format==="includes")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${j.includes}"`;if(j.format==="regex")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${j.pattern}`;return`មិនត្រឹមត្រូវ៖ ${X[j.format]??J.format}`}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${J.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${$$(J.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${J.origin}`;case"invalid_union":return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${J.origin}`;default:return"ទិន្នន័យមិនត្រឹមត្រូវ"}}};var U9=H$(()=>{g$()});function J9(){return j2()}var J7=H$(()=>{U9()});function v9(){return{localeError:yN()}}var yN=()=>{let $={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}};function U(J){return $[J]??null}let X={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`잘못된 입력: 예상 타입은 instanceof ${J.expected}, 받은 타입은 ${W}입니다`;return`잘못된 입력: 예상 타입은 ${j}, 받은 타입은 ${W}입니다`}case"invalid_value":if(J.values.length===1)return`잘못된 입력: 값은 ${B$(J.values[0])} 이어야 합니다`;return`잘못된 옵션: ${$$(J.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{let j=J.inclusive?"이하":"미만",G=j==="미만"?"이어야 합니다":"여야 합니다",W=U(J.origin),z=W?.unit??"요소";if(W)return`${J.origin??"값"}이 너무 큽니다: ${J.maximum.toString()}${z} ${j}${G}`;return`${J.origin??"값"}이 너무 큽니다: ${J.maximum.toString()} ${j}${G}`}case"too_small":{let j=J.inclusive?"이상":"초과",G=j==="이상"?"이어야 합니다":"여야 합니다",W=U(J.origin),z=W?.unit??"요소";if(W)return`${J.origin??"값"}이 너무 작습니다: ${J.minimum.toString()}${z} ${j}${G}`;return`${J.origin??"값"}이 너무 작습니다: ${J.minimum.toString()} ${j}${G}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`잘못된 문자열: "${j.prefix}"(으)로 시작해야 합니다`;if(j.format==="ends_with")return`잘못된 문자열: "${j.suffix}"(으)로 끝나야 합니다`;if(j.format==="includes")return`잘못된 문자열: "${j.includes}"을(를) 포함해야 합니다`;if(j.format==="regex")return`잘못된 문자열: 정규식 ${j.pattern} 패턴과 일치해야 합니다`;return`잘못된 ${X[j.format]??J.format}`}case"not_multiple_of":return`잘못된 숫자: ${J.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${$$(J.keys,", ")}`;case"invalid_key":return`잘못된 키: ${J.origin}`;case"invalid_union":return"잘못된 입력";case"invalid_element":return`잘못된 값: ${J.origin}`;default:return"잘못된 입력"}}};var v7=H$(()=>{g$()});function X7($){let U=Math.abs($),X=U%10,Q=U%100;if(Q>=11&&Q<=19||X===0)return"many";if(X===1)return"one";return"few"}function X9(){return{localeError:hN()}}var G2=($)=>{return $.charAt(0).toUpperCase()+$.slice(1)},hN=()=>{let $={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function U(J,j,G,W){let z=$[J]??null;if(z===null)return z;return{unit:z.unit[j],verb:z.verb[W][G?"inclusive":"notInclusive"]}}let X={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"},Q={nan:"NaN",number:"skaičius",bigint:"sveikasis skaičius",string:"eilutė",boolean:"loginė reikšmė",undefined:"neapibrėžta reikšmė",function:"funkcija",symbol:"simbolis",array:"masyvas",object:"objektas",null:"nulinė reikšmė"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Gautas tipas ${W}, o tikėtasi - instanceof ${J.expected}`;return`Gautas tipas ${W}, o tikėtasi - ${j}`}case"invalid_value":if(J.values.length===1)return`Privalo būti ${B$(J.values[0])}`;return`Privalo būti vienas iš ${$$(J.values,"|")} pasirinkimų`;case"too_big":{let j=Q[J.origin]??J.origin,G=U(J.origin,X7(Number(J.maximum)),J.inclusive??!1,"smaller");if(G?.verb)return`${G2(j??J.origin??"reikšmė")} ${G.verb} ${J.maximum.toString()} ${G.unit??"elementų"}`;let W=J.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${G2(j??J.origin??"reikšmė")} turi būti ${W} ${J.maximum.toString()} ${G?.unit}`}case"too_small":{let j=Q[J.origin]??J.origin,G=U(J.origin,X7(Number(J.minimum)),J.inclusive??!1,"bigger");if(G?.verb)return`${G2(j??J.origin??"reikšmė")} ${G.verb} ${J.minimum.toString()} ${G.unit??"elementų"}`;let W=J.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${G2(j??J.origin??"reikšmė")} turi būti ${W} ${J.minimum.toString()} ${G?.unit}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Eilutė privalo prasidėti "${j.prefix}"`;if(j.format==="ends_with")return`Eilutė privalo pasibaigti "${j.suffix}"`;if(j.format==="includes")return`Eilutė privalo įtraukti "${j.includes}"`;if(j.format==="regex")return`Eilutė privalo atitikti ${j.pattern}`;return`Neteisingas ${X[j.format]??J.format}`}case"not_multiple_of":return`Skaičius privalo būti ${J.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${J.keys.length>1?"i":"as"} rakt${J.keys.length>1?"ai":"as"}: ${$$(J.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga įvestis";case"invalid_element":{let j=Q[J.origin]??J.origin;return`${G2(j??J.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}};var Q7=H$(()=>{g$()});function Q9(){return{localeError:fN()}}var fN=()=>{let $={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}};function U(J){return $[J]??null}let X={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"},Q={nan:"NaN",number:"број",array:"низа"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Грешен внес: се очекува instanceof ${J.expected}, примено ${W}`;return`Грешен внес: се очекува ${j}, примено ${W}`}case"invalid_value":if(J.values.length===1)return`Invalid input: expected ${B$(J.values[0])}`;return`Грешана опција: се очекува една ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Премногу голем: се очекува ${J.origin??"вредноста"} да има ${j}${J.maximum.toString()} ${G.unit??"елементи"}`;return`Премногу голем: се очекува ${J.origin??"вредноста"} да биде ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Премногу мал: се очекува ${J.origin} да има ${j}${J.minimum.toString()} ${G.unit}`;return`Премногу мал: се очекува ${J.origin} да биде ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Неважечка низа: мора да започнува со "${j.prefix}"`;if(j.format==="ends_with")return`Неважечка низа: мора да завршува со "${j.suffix}"`;if(j.format==="includes")return`Неважечка низа: мора да вклучува "${j.includes}"`;if(j.format==="regex")return`Неважечка низа: мора да одгоара на патернот ${j.pattern}`;return`Invalid ${X[j.format]??J.format}`}case"not_multiple_of":return`Грешен број: мора да биде делив со ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${$$(J.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${J.origin}`;case"invalid_union":return"Грешен внес";case"invalid_element":return`Грешна вредност во ${J.origin}`;default:return"Грешен внес"}}};var j7=H$(()=>{g$()});function j9(){return{localeError:bN()}}var bN=()=>{let $={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function U(J){return $[J]??null}let X={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"},Q={nan:"NaN",number:"nombor"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Input tidak sah: dijangka instanceof ${J.expected}, diterima ${W}`;return`Input tidak sah: dijangka ${j}, diterima ${W}`}case"invalid_value":if(J.values.length===1)return`Input tidak sah: dijangka ${B$(J.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Terlalu besar: dijangka ${J.origin??"nilai"} ${G.verb} ${j}${J.maximum.toString()} ${G.unit??"elemen"}`;return`Terlalu besar: dijangka ${J.origin??"nilai"} adalah ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Terlalu kecil: dijangka ${J.origin} ${G.verb} ${j}${J.minimum.toString()} ${G.unit}`;return`Terlalu kecil: dijangka ${J.origin} adalah ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`String tidak sah: mesti bermula dengan "${j.prefix}"`;if(j.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${j.suffix}"`;if(j.format==="includes")return`String tidak sah: mesti mengandungi "${j.includes}"`;if(j.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${j.pattern}`;return`${X[j.format]??J.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${J.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${$$(J.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${J.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${J.origin}`;default:return"Input tidak sah"}}};var G7=H$(()=>{g$()});function G9(){return{localeError:nN()}}var nN=()=>{let $={string:{unit:"tekens",verb:"heeft"},file:{unit:"bytes",verb:"heeft"},array:{unit:"elementen",verb:"heeft"},set:{unit:"elementen",verb:"heeft"}};function U(J){return $[J]??null}let X={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"},Q={nan:"NaN",number:"getal"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Ongeldige invoer: verwacht instanceof ${J.expected}, ontving ${W}`;return`Ongeldige invoer: verwacht ${j}, ontving ${W}`}case"invalid_value":if(J.values.length===1)return`Ongeldige invoer: verwacht ${B$(J.values[0])}`;return`Ongeldige optie: verwacht één van ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin),W=J.origin==="date"?"laat":J.origin==="string"?"lang":"groot";if(G)return`Te ${W}: verwacht dat ${J.origin??"waarde"} ${j}${J.maximum.toString()} ${G.unit??"elementen"} ${G.verb}`;return`Te ${W}: verwacht dat ${J.origin??"waarde"} ${j}${J.maximum.toString()} is`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin),W=J.origin==="date"?"vroeg":J.origin==="string"?"kort":"klein";if(G)return`Te ${W}: verwacht dat ${J.origin} ${j}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Te ${W}: verwacht dat ${J.origin} ${j}${J.minimum.toString()} is`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Ongeldige tekst: moet met "${j.prefix}" beginnen`;if(j.format==="ends_with")return`Ongeldige tekst: moet op "${j.suffix}" eindigen`;if(j.format==="includes")return`Ongeldige tekst: moet "${j.includes}" bevatten`;if(j.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${j.pattern}`;return`Ongeldig: ${X[j.format]??J.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${J.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${J.keys.length>1?"s":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${J.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${J.origin}`;default:return"Ongeldige invoer"}}};var Y7=H$(()=>{g$()});function Y9(){return{localeError:mN()}}var mN=()=>{let $={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}};function U(J){return $[J]??null}let X={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"},Q={nan:"NaN",number:"tall",array:"liste"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Ugyldig input: forventet instanceof ${J.expected}, fikk ${W}`;return`Ugyldig input: forventet ${j}, fikk ${W}`}case"invalid_value":if(J.values.length===1)return`Ugyldig verdi: forventet ${B$(J.values[0])}`;return`Ugyldig valg: forventet en av ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`For stor(t): forventet ${J.origin??"value"} til å ha ${j}${J.maximum.toString()} ${G.unit??"elementer"}`;return`For stor(t): forventet ${J.origin??"value"} til å ha ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`For lite(n): forventet ${J.origin} til å ha ${j}${J.minimum.toString()} ${G.unit}`;return`For lite(n): forventet ${J.origin} til å ha ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Ugyldig streng: må starte med "${j.prefix}"`;if(j.format==="ends_with")return`Ugyldig streng: må ende med "${j.suffix}"`;if(j.format==="includes")return`Ugyldig streng: må inneholde "${j.includes}"`;if(j.format==="regex")return`Ugyldig streng: må matche mønsteret ${j.pattern}`;return`Ugyldig ${X[j.format]??J.format}`}case"not_multiple_of":return`Ugyldig tall: må være et multiplum av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${$$(J.keys,", ")}`;case"invalid_key":return`Ugyldig nøkkel i ${J.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${J.origin}`;default:return"Ugyldig input"}}};var W7=H$(()=>{g$()});function W9(){return{localeError:cN()}}var cN=()=>{let $={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}};function U(J){return $[J]??null}let X={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"},Q={nan:"NaN",number:"numara",array:"saf",null:"gayb"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Fâsit giren: umulan instanceof ${J.expected}, alınan ${W}`;return`Fâsit giren: umulan ${j}, alınan ${W}`}case"invalid_value":if(J.values.length===1)return`Fâsit giren: umulan ${B$(J.values[0])}`;return`Fâsit tercih: mûteberler ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Fazla büyük: ${J.origin??"value"}, ${j}${J.maximum.toString()} ${G.unit??"elements"} sahip olmalıydı.`;return`Fazla büyük: ${J.origin??"value"}, ${j}${J.maximum.toString()} olmalıydı.`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Fazla küçük: ${J.origin}, ${j}${J.minimum.toString()} ${G.unit} sahip olmalıydı.`;return`Fazla küçük: ${J.origin}, ${j}${J.minimum.toString()} olmalıydı.`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Fâsit metin: "${j.prefix}" ile başlamalı.`;if(j.format==="ends_with")return`Fâsit metin: "${j.suffix}" ile bitmeli.`;if(j.format==="includes")return`Fâsit metin: "${j.includes}" ihtivâ etmeli.`;if(j.format==="regex")return`Fâsit metin: ${j.pattern} nakşına uymalı.`;return`Fâsit ${X[j.format]??J.format}`}case"not_multiple_of":return`Fâsit sayı: ${J.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${J.keys.length>1?"s":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`${J.origin} için tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${J.origin} için tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}}};var Z7=H$(()=>{g$()});function Z9(){return{localeError:iN()}}var iN=()=>{let $={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}};function U(J){return $[J]??null}let X={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"},Q={nan:"NaN",number:"عدد",array:"ارې"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`ناسم ورودي: باید instanceof ${J.expected} وای, مګر ${W} ترلاسه شو`;return`ناسم ورودي: باید ${j} وای, مګر ${W} ترلاسه شو`}case"invalid_value":if(J.values.length===1)return`ناسم ورودي: باید ${B$(J.values[0])} وای`;return`ناسم انتخاب: باید یو له ${$$(J.values,"|")} څخه وای`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`ډیر لوی: ${J.origin??"ارزښت"} باید ${j}${J.maximum.toString()} ${G.unit??"عنصرونه"} ولري`;return`ډیر لوی: ${J.origin??"ارزښت"} باید ${j}${J.maximum.toString()} وي`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`ډیر کوچنی: ${J.origin} باید ${j}${J.minimum.toString()} ${G.unit} ولري`;return`ډیر کوچنی: ${J.origin} باید ${j}${J.minimum.toString()} وي`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`ناسم متن: باید د "${j.prefix}" سره پیل شي`;if(j.format==="ends_with")return`ناسم متن: باید د "${j.suffix}" سره پای ته ورسيږي`;if(j.format==="includes")return`ناسم متن: باید "${j.includes}" ولري`;if(j.format==="regex")return`ناسم متن: باید د ${j.pattern} سره مطابقت ولري`;return`${X[j.format]??J.format} ناسم دی`}case"not_multiple_of":return`ناسم عدد: باید د ${J.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${J.keys.length>1?"کلیډونه":"کلیډ"}: ${$$(J.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${J.origin} کې`;case"invalid_union":return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${J.origin} کې`;default:return"ناسمه ورودي"}}};var K7=H$(()=>{g$()});function K9(){return{localeError:lN()}}var lN=()=>{let $={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}};function U(J){return $[J]??null}let X={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"},Q={nan:"NaN",number:"liczba",array:"tablica"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Nieprawidłowe dane wejściowe: oczekiwano instanceof ${J.expected}, otrzymano ${W}`;return`Nieprawidłowe dane wejściowe: oczekiwano ${j}, otrzymano ${W}`}case"invalid_value":if(J.values.length===1)return`Nieprawidłowe dane wejściowe: oczekiwano ${B$(J.values[0])}`;return`Nieprawidłowa opcja: oczekiwano jednej z wartości ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Za duża wartość: oczekiwano, że ${J.origin??"wartość"} będzie mieć ${j}${J.maximum.toString()} ${G.unit??"elementów"}`;return`Zbyt duż(y/a/e): oczekiwano, że ${J.origin??"wartość"} będzie wynosić ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Za mała wartość: oczekiwano, że ${J.origin??"wartość"} będzie mieć ${j}${J.minimum.toString()} ${G.unit??"elementów"}`;return`Zbyt mał(y/a/e): oczekiwano, że ${J.origin??"wartość"} będzie wynosić ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Nieprawidłowy ciąg znaków: musi zaczynać się od "${j.prefix}"`;if(j.format==="ends_with")return`Nieprawidłowy ciąg znaków: musi kończyć się na "${j.suffix}"`;if(j.format==="includes")return`Nieprawidłowy ciąg znaków: musi zawierać "${j.includes}"`;if(j.format==="regex")return`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${j.pattern}`;return`Nieprawidłow(y/a/e) ${X[j.format]??J.format}`}case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${J.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${J.keys.length>1?"s":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${J.origin}`;case"invalid_union":return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${J.origin}`;default:return"Nieprawidłowe dane wejściowe"}}};var z7=H$(()=>{g$()});function z9(){return{localeError:rN()}}var rN=()=>{let $={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function U(J){return $[J]??null}let X={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"},Q={nan:"NaN",number:"número",null:"nulo"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Tipo inválido: esperado instanceof ${J.expected}, recebido ${W}`;return`Tipo inválido: esperado ${j}, recebido ${W}`}case"invalid_value":if(J.values.length===1)return`Entrada inválida: esperado ${B$(J.values[0])}`;return`Opção inválida: esperada uma das ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Muito grande: esperado que ${J.origin??"valor"} tivesse ${j}${J.maximum.toString()} ${G.unit??"elementos"}`;return`Muito grande: esperado que ${J.origin??"valor"} fosse ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Muito pequeno: esperado que ${J.origin} tivesse ${j}${J.minimum.toString()} ${G.unit}`;return`Muito pequeno: esperado que ${J.origin} fosse ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Texto inválido: deve começar com "${j.prefix}"`;if(j.format==="ends_with")return`Texto inválido: deve terminar com "${j.suffix}"`;if(j.format==="includes")return`Texto inválido: deve incluir "${j.includes}"`;if(j.format==="regex")return`Texto inválido: deve corresponder ao padrão ${j.pattern}`;return`${X[j.format]??J.format} inválido`}case"not_multiple_of":return`Número inválido: deve ser múltiplo de ${J.divisor}`;case"unrecognized_keys":return`Chave${J.keys.length>1?"s":""} desconhecida${J.keys.length>1?"s":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Chave inválida em ${J.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido em ${J.origin}`;default:return"Campo inválido"}}};var V7=H$(()=>{g$()});function V9(){return{localeError:oN()}}var oN=()=>{let $={string:{unit:"caractere",verb:"să aibă"},file:{unit:"octeți",verb:"să aibă"},array:{unit:"elemente",verb:"să aibă"},set:{unit:"elemente",verb:"să aibă"},map:{unit:"intrări",verb:"să aibă"}};function U(J){return $[J]??null}let X={regex:"intrare",email:"adresă de email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"dată și oră ISO",date:"dată ISO",time:"oră ISO",duration:"durată ISO",ipv4:"adresă IPv4",ipv6:"adresă IPv6",mac:"adresă MAC",cidrv4:"interval IPv4",cidrv6:"interval IPv6",base64:"șir codat base64",base64url:"șir codat base64url",json_string:"șir JSON",e164:"număr E.164",jwt:"JWT",template_literal:"intrare"},Q={nan:"NaN",string:"șir",number:"număr",boolean:"boolean",function:"funcție",array:"matrice",object:"obiect",undefined:"nedefinit",symbol:"simbol",bigint:"număr mare",void:"void",never:"never",map:"hartă",set:"set"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;return`Intrare invalidă: așteptat ${j}, primit ${W}`}case"invalid_value":if(J.values.length===1)return`Intrare invalidă: așteptat ${B$(J.values[0])}`;return`Opțiune invalidă: așteptat una dintre ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Prea mare: așteptat ca ${J.origin??"valoarea"} ${G.verb} ${j}${J.maximum.toString()} ${G.unit??"elemente"}`;return`Prea mare: așteptat ca ${J.origin??"valoarea"} să fie ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Prea mic: așteptat ca ${J.origin} ${G.verb} ${j}${J.minimum.toString()} ${G.unit}`;return`Prea mic: așteptat ca ${J.origin} să fie ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Șir invalid: trebuie să înceapă cu "${j.prefix}"`;if(j.format==="ends_with")return`Șir invalid: trebuie să se termine cu "${j.suffix}"`;if(j.format==="includes")return`Șir invalid: trebuie să includă "${j.includes}"`;if(j.format==="regex")return`Șir invalid: trebuie să se potrivească cu modelul ${j.pattern}`;return`Format invalid: ${X[j.format]??J.format}`}case"not_multiple_of":return`Număr invalid: trebuie să fie multiplu de ${J.divisor}`;case"unrecognized_keys":return`Chei nerecunoscute: ${$$(J.keys,", ")}`;case"invalid_key":return`Cheie invalidă în ${J.origin}`;case"invalid_union":return"Intrare invalidă";case"invalid_element":return`Valoare invalidă în ${J.origin}`;default:return"Intrare invalidă"}}};var D7=H$(()=>{g$()});function L7($,U,X,Q){let J=Math.abs($),j=J%10,G=J%100;if(G>=11&&G<=19)return Q;if(j===1)return U;if(j>=2&&j<=4)return X;return Q}function D9(){return{localeError:dN()}}var dN=()=>{let $={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}};function U(J){return $[J]??null}let X={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"},Q={nan:"NaN",number:"число",array:"массив"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Неверный ввод: ожидалось instanceof ${J.expected}, получено ${W}`;return`Неверный ввод: ожидалось ${j}, получено ${W}`}case"invalid_value":if(J.values.length===1)return`Неверный ввод: ожидалось ${B$(J.values[0])}`;return`Неверный вариант: ожидалось одно из ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G){let W=Number(J.maximum),z=L7(W,G.unit.one,G.unit.few,G.unit.many);return`Слишком большое значение: ожидалось, что ${J.origin??"значение"} будет иметь ${j}${J.maximum.toString()} ${z}`}return`Слишком большое значение: ожидалось, что ${J.origin??"значение"} будет ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G){let W=Number(J.minimum),z=L7(W,G.unit.one,G.unit.few,G.unit.many);return`Слишком маленькое значение: ожидалось, что ${J.origin} будет иметь ${j}${J.minimum.toString()} ${z}`}return`Слишком маленькое значение: ожидалось, что ${J.origin} будет ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Неверная строка: должна начинаться с "${j.prefix}"`;if(j.format==="ends_with")return`Неверная строка: должна заканчиваться на "${j.suffix}"`;if(j.format==="includes")return`Неверная строка: должна содержать "${j.includes}"`;if(j.format==="regex")return`Неверная строка: должна соответствовать шаблону ${j.pattern}`;return`Неверный ${X[j.format]??J.format}`}case"not_multiple_of":return`Неверное число: должно быть кратным ${J.divisor}`;case"unrecognized_keys":return`Нераспознанн${J.keys.length>1?"ые":"ый"} ключ${J.keys.length>1?"и":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${J.origin}`;case"invalid_union":return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${J.origin}`;default:return"Неверные входные данные"}}};var H7=H$(()=>{g$()});function L9(){return{localeError:pN()}}var pN=()=>{let $={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function U(J){return $[J]??null}let X={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"},Q={nan:"NaN",number:"število",array:"tabela"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Neveljaven vnos: pričakovano instanceof ${J.expected}, prejeto ${W}`;return`Neveljaven vnos: pričakovano ${j}, prejeto ${W}`}case"invalid_value":if(J.values.length===1)return`Neveljaven vnos: pričakovano ${B$(J.values[0])}`;return`Neveljavna možnost: pričakovano eno izmed ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Preveliko: pričakovano, da bo ${J.origin??"vrednost"} imelo ${j}${J.maximum.toString()} ${G.unit??"elementov"}`;return`Preveliko: pričakovano, da bo ${J.origin??"vrednost"} ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Premajhno: pričakovano, da bo ${J.origin} imelo ${j}${J.minimum.toString()} ${G.unit}`;return`Premajhno: pričakovano, da bo ${J.origin} ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Neveljaven niz: mora se začeti z "${j.prefix}"`;if(j.format==="ends_with")return`Neveljaven niz: mora se končati z "${j.suffix}"`;if(j.format==="includes")return`Neveljaven niz: mora vsebovati "${j.includes}"`;if(j.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${j.pattern}`;return`Neveljaven ${X[j.format]??J.format}`}case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${J.divisor}`;case"unrecognized_keys":return`Neprepoznan${J.keys.length>1?"i ključi":" ključ"}: ${$$(J.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${J.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${J.origin}`;default:return"Neveljaven vnos"}}};var N7=H$(()=>{g$()});function H9(){return{localeError:tN()}}var tN=()=>{let $={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}};function U(J){return $[J]??null}let X={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"},Q={nan:"NaN",number:"antal",array:"lista"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Ogiltig inmatning: förväntat instanceof ${J.expected}, fick ${W}`;return`Ogiltig inmatning: förväntat ${j}, fick ${W}`}case"invalid_value":if(J.values.length===1)return`Ogiltig inmatning: förväntat ${B$(J.values[0])}`;return`Ogiltigt val: förväntade en av ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`För stor(t): förväntade ${J.origin??"värdet"} att ha ${j}${J.maximum.toString()} ${G.unit??"element"}`;return`För stor(t): förväntat ${J.origin??"värdet"} att ha ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`För lite(t): förväntade ${J.origin??"värdet"} att ha ${j}${J.minimum.toString()} ${G.unit}`;return`För lite(t): förväntade ${J.origin??"värdet"} att ha ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Ogiltig sträng: måste börja med "${j.prefix}"`;if(j.format==="ends_with")return`Ogiltig sträng: måste sluta med "${j.suffix}"`;if(j.format==="includes")return`Ogiltig sträng: måste innehålla "${j.includes}"`;if(j.format==="regex")return`Ogiltig sträng: måste matcha mönstret "${j.pattern}"`;return`Ogiltig(t) ${X[j.format]??J.format}`}case"not_multiple_of":return`Ogiltigt tal: måste vara en multipel av ${J.divisor}`;case"unrecognized_keys":return`${J.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${$$(J.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${J.origin??"värdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt värde i ${J.origin??"värdet"}`;default:return"Ogiltig input"}}};var O7=H$(()=>{g$()});function N9(){return{localeError:aN()}}var aN=()=>{let $={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}};function U(J){return $[J]??null}let X={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"},Q={nan:"NaN",number:"எண்",array:"அணி",null:"வெறுமை"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது instanceof ${J.expected}, பெறப்பட்டது ${W}`;return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${j}, பெறப்பட்டது ${W}`}case"invalid_value":if(J.values.length===1)return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${B$(J.values[0])}`;return`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${$$(J.values,"|")} இல் ஒன்று`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${J.origin??"மதிப்பு"} ${j}${J.maximum.toString()} ${G.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`;return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${J.origin??"மதிப்பு"} ${j}${J.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${J.origin} ${j}${J.minimum.toString()} ${G.unit} ஆக இருக்க வேண்டும்`;return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${J.origin} ${j}${J.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`தவறான சரம்: "${j.prefix}" இல் தொடங்க வேண்டும்`;if(j.format==="ends_with")return`தவறான சரம்: "${j.suffix}" இல் முடிவடைய வேண்டும்`;if(j.format==="includes")return`தவறான சரம்: "${j.includes}" ஐ உள்ளடக்க வேண்டும்`;if(j.format==="regex")return`தவறான சரம்: ${j.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;return`தவறான ${X[j.format]??J.format}`}case"not_multiple_of":return`தவறான எண்: ${J.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${J.keys.length>1?"கள்":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`${J.origin} இல் தவறான விசை`;case"invalid_union":return"தவறான உள்ளீடு";case"invalid_element":return`${J.origin} இல் தவறான மதிப்பு`;default:return"தவறான உள்ளீடு"}}};var I7=H$(()=>{g$()});function O9(){return{localeError:eN()}}var eN=()=>{let $={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function U(J){return $[J]??null}let X={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"},Q={nan:"NaN",number:"ตัวเลข",array:"อาร์เรย์ (Array)",null:"ไม่มีค่า (null)"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น instanceof ${J.expected} แต่ได้รับ ${W}`;return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${j} แต่ได้รับ ${W}`}case"invalid_value":if(J.values.length===1)return`ค่าไม่ถูกต้อง: ควรเป็น ${B$(J.values[0])}`;return`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"ไม่เกิน":"น้อยกว่า",G=U(J.origin);if(G)return`เกินกำหนด: ${J.origin??"ค่า"} ควรมี${j} ${J.maximum.toString()} ${G.unit??"รายการ"}`;return`เกินกำหนด: ${J.origin??"ค่า"} ควรมี${j} ${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?"อย่างน้อย":"มากกว่า",G=U(J.origin);if(G)return`น้อยกว่ากำหนด: ${J.origin} ควรมี${j} ${J.minimum.toString()} ${G.unit}`;return`น้อยกว่ากำหนด: ${J.origin} ควรมี${j} ${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${j.prefix}"`;if(j.format==="ends_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${j.suffix}"`;if(j.format==="includes")return`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${j.includes}" อยู่ในข้อความ`;if(j.format==="regex")return`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${j.pattern}`;return`รูปแบบไม่ถูกต้อง: ${X[j.format]??J.format}`}case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${J.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${$$(J.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${J.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${J.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}}};var B7=H$(()=>{g$()});function I9(){return{localeError:sN()}}var sN=()=>{let $={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}};function U(J){return $[J]??null}let X={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Geçersiz değer: beklenen instanceof ${J.expected}, alınan ${W}`;return`Geçersiz değer: beklenen ${j}, alınan ${W}`}case"invalid_value":if(J.values.length===1)return`Geçersiz değer: beklenen ${B$(J.values[0])}`;return`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Çok büyük: beklenen ${J.origin??"değer"} ${j}${J.maximum.toString()} ${G.unit??"öğe"}`;return`Çok büyük: beklenen ${J.origin??"değer"} ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Çok küçük: beklenen ${J.origin} ${j}${J.minimum.toString()} ${G.unit}`;return`Çok küçük: beklenen ${J.origin} ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Geçersiz metin: "${j.prefix}" ile başlamalı`;if(j.format==="ends_with")return`Geçersiz metin: "${j.suffix}" ile bitmeli`;if(j.format==="includes")return`Geçersiz metin: "${j.includes}" içermeli`;if(j.format==="regex")return`Geçersiz metin: ${j.pattern} desenine uymalı`;return`Geçersiz ${X[j.format]??J.format}`}case"not_multiple_of":return`Geçersiz sayı: ${J.divisor} ile tam bölünebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${J.keys.length>1?"lar":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`${J.origin} içinde geçersiz anahtar`;case"invalid_union":return"Geçersiz değer";case"invalid_element":return`${J.origin} içinde geçersiz değer`;default:return"Geçersiz değer"}}};var q7=H$(()=>{g$()});function Y2(){return{localeError:$O()}}var $O=()=>{let $={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}};function U(J){return $[J]??null}let X={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"},Q={nan:"NaN",number:"число",array:"масив"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Неправильні вхідні дані: очікується instanceof ${J.expected}, отримано ${W}`;return`Неправильні вхідні дані: очікується ${j}, отримано ${W}`}case"invalid_value":if(J.values.length===1)return`Неправильні вхідні дані: очікується ${B$(J.values[0])}`;return`Неправильна опція: очікується одне з ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Занадто велике: очікується, що ${J.origin??"значення"} ${G.verb} ${j}${J.maximum.toString()} ${G.unit??"елементів"}`;return`Занадто велике: очікується, що ${J.origin??"значення"} буде ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Занадто мале: очікується, що ${J.origin} ${G.verb} ${j}${J.minimum.toString()} ${G.unit}`;return`Занадто мале: очікується, що ${J.origin} буде ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Неправильний рядок: повинен починатися з "${j.prefix}"`;if(j.format==="ends_with")return`Неправильний рядок: повинен закінчуватися на "${j.suffix}"`;if(j.format==="includes")return`Неправильний рядок: повинен містити "${j.includes}"`;if(j.format==="regex")return`Неправильний рядок: повинен відповідати шаблону ${j.pattern}`;return`Неправильний ${X[j.format]??J.format}`}case"not_multiple_of":return`Неправильне число: повинно бути кратним ${J.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${J.keys.length>1?"і":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${J.origin}`;case"invalid_union":return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${J.origin}`;default:return"Неправильні вхідні дані"}}};var B9=H$(()=>{g$()});function q9(){return Y2()}var P7=H$(()=>{B9()});function P9(){return{localeError:UO()}}var UO=()=>{let $={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}};function U(J){return $[J]??null}let X={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"},Q={nan:"NaN",number:"نمبر",array:"آرے",null:"نل"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`غلط ان پٹ: instanceof ${J.expected} متوقع تھا، ${W} موصول ہوا`;return`غلط ان پٹ: ${j} متوقع تھا، ${W} موصول ہوا`}case"invalid_value":if(J.values.length===1)return`غلط ان پٹ: ${B$(J.values[0])} متوقع تھا`;return`غلط آپشن: ${$$(J.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`بہت بڑا: ${J.origin??"ویلیو"} کے ${j}${J.maximum.toString()} ${G.unit??"عناصر"} ہونے متوقع تھے`;return`بہت بڑا: ${J.origin??"ویلیو"} کا ${j}${J.maximum.toString()} ہونا متوقع تھا`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`بہت چھوٹا: ${J.origin} کے ${j}${J.minimum.toString()} ${G.unit} ہونے متوقع تھے`;return`بہت چھوٹا: ${J.origin} کا ${j}${J.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`غلط سٹرنگ: "${j.prefix}" سے شروع ہونا چاہیے`;if(j.format==="ends_with")return`غلط سٹرنگ: "${j.suffix}" پر ختم ہونا چاہیے`;if(j.format==="includes")return`غلط سٹرنگ: "${j.includes}" شامل ہونا چاہیے`;if(j.format==="regex")return`غلط سٹرنگ: پیٹرن ${j.pattern} سے میچ ہونا چاہیے`;return`غلط ${X[j.format]??J.format}`}case"not_multiple_of":return`غلط نمبر: ${J.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${J.keys.length>1?"ز":""}: ${$$(J.keys,"، ")}`;case"invalid_key":return`${J.origin} میں غلط کی`;case"invalid_union":return"غلط ان پٹ";case"invalid_element":return`${J.origin} میں غلط ویلیو`;default:return"غلط ان پٹ"}}};var k7=H$(()=>{g$()});function k9(){return{localeError:JO()}}var JO=()=>{let $={string:{unit:"belgi",verb:"bo‘lishi kerak"},file:{unit:"bayt",verb:"bo‘lishi kerak"},array:{unit:"element",verb:"bo‘lishi kerak"},set:{unit:"element",verb:"bo‘lishi kerak"},map:{unit:"yozuv",verb:"bo‘lishi kerak"}};function U(J){return $[J]??null}let X={regex:"kirish",email:"elektron pochta manzili",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO sana va vaqti",date:"ISO sana",time:"ISO vaqt",duration:"ISO davomiylik",ipv4:"IPv4 manzil",ipv6:"IPv6 manzil",mac:"MAC manzil",cidrv4:"IPv4 diapazon",cidrv6:"IPv6 diapazon",base64:"base64 kodlangan satr",base64url:"base64url kodlangan satr",json_string:"JSON satr",e164:"E.164 raqam",jwt:"JWT",template_literal:"kirish"},Q={nan:"NaN",number:"raqam",array:"massiv"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Noto‘g‘ri kirish: kutilgan instanceof ${J.expected}, qabul qilingan ${W}`;return`Noto‘g‘ri kirish: kutilgan ${j}, qabul qilingan ${W}`}case"invalid_value":if(J.values.length===1)return`Noto‘g‘ri kirish: kutilgan ${B$(J.values[0])}`;return`Noto‘g‘ri variant: quyidagilardan biri kutilgan ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Juda katta: kutilgan ${J.origin??"qiymat"} ${j}${J.maximum.toString()} ${G.unit} ${G.verb}`;return`Juda katta: kutilgan ${J.origin??"qiymat"} ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Juda kichik: kutilgan ${J.origin} ${j}${J.minimum.toString()} ${G.unit} ${G.verb}`;return`Juda kichik: kutilgan ${J.origin} ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Noto‘g‘ri satr: "${j.prefix}" bilan boshlanishi kerak`;if(j.format==="ends_with")return`Noto‘g‘ri satr: "${j.suffix}" bilan tugashi kerak`;if(j.format==="includes")return`Noto‘g‘ri satr: "${j.includes}" ni o‘z ichiga olishi kerak`;if(j.format==="regex")return`Noto‘g‘ri satr: ${j.pattern} shabloniga mos kelishi kerak`;return`Noto‘g‘ri ${X[j.format]??J.format}`}case"not_multiple_of":return`Noto‘g‘ri raqam: ${J.divisor} ning karralisi bo‘lishi kerak`;case"unrecognized_keys":return`Noma’lum kalit${J.keys.length>1?"lar":""}: ${$$(J.keys,", ")}`;case"invalid_key":return`${J.origin} dagi kalit noto‘g‘ri`;case"invalid_union":return"Noto‘g‘ri kirish";case"invalid_element":return`${J.origin} da noto‘g‘ri qiymat`;default:return"Noto‘g‘ri kirish"}}};var A7=H$(()=>{g$()});function A9(){return{localeError:vO()}}var vO=()=>{let $={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}};function U(J){return $[J]??null}let X={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"},Q={nan:"NaN",number:"số",array:"mảng"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Đầu vào không hợp lệ: mong đợi instanceof ${J.expected}, nhận được ${W}`;return`Đầu vào không hợp lệ: mong đợi ${j}, nhận được ${W}`}case"invalid_value":if(J.values.length===1)return`Đầu vào không hợp lệ: mong đợi ${B$(J.values[0])}`;return`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Quá lớn: mong đợi ${J.origin??"giá trị"} ${G.verb} ${j}${J.maximum.toString()} ${G.unit??"phần tử"}`;return`Quá lớn: mong đợi ${J.origin??"giá trị"} ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Quá nhỏ: mong đợi ${J.origin} ${G.verb} ${j}${J.minimum.toString()} ${G.unit}`;return`Quá nhỏ: mong đợi ${J.origin} ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Chuỗi không hợp lệ: phải bắt đầu bằng "${j.prefix}"`;if(j.format==="ends_with")return`Chuỗi không hợp lệ: phải kết thúc bằng "${j.suffix}"`;if(j.format==="includes")return`Chuỗi không hợp lệ: phải bao gồm "${j.includes}"`;if(j.format==="regex")return`Chuỗi không hợp lệ: phải khớp với mẫu ${j.pattern}`;return`${X[j.format]??J.format} không hợp lệ`}case"not_multiple_of":return`Số không hợp lệ: phải là bội số của ${J.divisor}`;case"unrecognized_keys":return`Khóa không được nhận dạng: ${$$(J.keys,", ")}`;case"invalid_key":return`Khóa không hợp lệ trong ${J.origin}`;case"invalid_union":return"Đầu vào không hợp lệ";case"invalid_element":return`Giá trị không hợp lệ trong ${J.origin}`;default:return"Đầu vào không hợp lệ"}}};var R7=H$(()=>{g$()});function R9(){return{localeError:XO()}}var XO=()=>{let $={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}};function U(J){return $[J]??null}let X={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"},Q={nan:"NaN",number:"数字",array:"数组",null:"空值(null)"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`无效输入:期望 instanceof ${J.expected},实际接收 ${W}`;return`无效输入:期望 ${j},实际接收 ${W}`}case"invalid_value":if(J.values.length===1)return`无效输入:期望 ${B$(J.values[0])}`;return`无效选项:期望以下之一 ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`数值过大:期望 ${J.origin??"值"} ${j}${J.maximum.toString()} ${G.unit??"个元素"}`;return`数值过大:期望 ${J.origin??"值"} ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`数值过小:期望 ${J.origin} ${j}${J.minimum.toString()} ${G.unit}`;return`数值过小:期望 ${J.origin} ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`无效字符串:必须以 "${j.prefix}" 开头`;if(j.format==="ends_with")return`无效字符串:必须以 "${j.suffix}" 结尾`;if(j.format==="includes")return`无效字符串:必须包含 "${j.includes}"`;if(j.format==="regex")return`无效字符串:必须满足正则表达式 ${j.pattern}`;return`无效${X[j.format]??J.format}`}case"not_multiple_of":return`无效数字:必须是 ${J.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${$$(J.keys,", ")}`;case"invalid_key":return`${J.origin} 中的键(key)无效`;case"invalid_union":return"无效输入";case"invalid_element":return`${J.origin} 中包含无效值(value)`;default:return"无效输入"}}};var T7=H$(()=>{g$()});function T9(){return{localeError:QO()}}var QO=()=>{let $={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function U(J){return $[J]??null}let X={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"},Q={nan:"NaN"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`無效的輸入值:預期為 instanceof ${J.expected},但收到 ${W}`;return`無效的輸入值:預期為 ${j},但收到 ${W}`}case"invalid_value":if(J.values.length===1)return`無效的輸入值:預期為 ${B$(J.values[0])}`;return`無效的選項:預期為以下其中之一 ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`數值過大:預期 ${J.origin??"值"} 應為 ${j}${J.maximum.toString()} ${G.unit??"個元素"}`;return`數值過大:預期 ${J.origin??"值"} 應為 ${j}${J.maximum.toString()}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`數值過小:預期 ${J.origin} 應為 ${j}${J.minimum.toString()} ${G.unit}`;return`數值過小:預期 ${J.origin} 應為 ${j}${J.minimum.toString()}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`無效的字串:必須以 "${j.prefix}" 開頭`;if(j.format==="ends_with")return`無效的字串:必須以 "${j.suffix}" 結尾`;if(j.format==="includes")return`無效的字串:必須包含 "${j.includes}"`;if(j.format==="regex")return`無效的字串:必須符合格式 ${j.pattern}`;return`無效的 ${X[j.format]??J.format}`}case"not_multiple_of":return`無效的數字:必須為 ${J.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${J.keys.length>1?"們":""}:${$$(J.keys,"、")}`;case"invalid_key":return`${J.origin} 中有無效的鍵值`;case"invalid_union":return"無效的輸入值";case"invalid_element":return`${J.origin} 中有無效的值`;default:return"無效的輸入值"}}};var _7=H$(()=>{g$()});function _9(){return{localeError:jO()}}var jO=()=>{let $={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}};function U(J){return $[J]??null}let X={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"},Q={nan:"NaN",number:"nọ́mbà",array:"akopọ"};return(J)=>{switch(J.code){case"invalid_type":{let j=Q[J.expected]??J.expected,G=q$(J.input),W=Q[G]??G;if(/^[A-Z]/.test(J.expected))return`Ìbáwọlé aṣìṣe: a ní láti fi instanceof ${J.expected}, àmọ̀ a rí ${W}`;return`Ìbáwọlé aṣìṣe: a ní láti fi ${j}, àmọ̀ a rí ${W}`}case"invalid_value":if(J.values.length===1)return`Ìbáwọlé aṣìṣe: a ní láti fi ${B$(J.values[0])}`;return`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${$$(J.values,"|")}`;case"too_big":{let j=J.inclusive?"<=":"<",G=U(J.origin);if(G)return`Tó pọ̀ jù: a ní láti jẹ́ pé ${J.origin??"iye"} ${G.verb} ${j}${J.maximum} ${G.unit}`;return`Tó pọ̀ jù: a ní láti jẹ́ ${j}${J.maximum}`}case"too_small":{let j=J.inclusive?">=":">",G=U(J.origin);if(G)return`Kéré ju: a ní láti jẹ́ pé ${J.origin} ${G.verb} ${j}${J.minimum} ${G.unit}`;return`Kéré ju: a ní láti jẹ́ ${j}${J.minimum}`}case"invalid_format":{let j=J;if(j.format==="starts_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${j.prefix}"`;if(j.format==="ends_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${j.suffix}"`;if(j.format==="includes")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${j.includes}"`;if(j.format==="regex")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${j.pattern}`;return`Aṣìṣe: ${X[j.format]??J.format}`}case"not_multiple_of":return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${J.divisor}`;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${$$(J.keys,", ")}`;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${J.origin}`;case"invalid_union":return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣìṣe nínú ${J.origin}`;default:return"Ìbáwọlé aṣìṣe"}}};var M7=H$(()=>{g$()});var W2={};Y1(W2,{zhTW:()=>T9,zhCN:()=>R9,yo:()=>_9,vi:()=>A9,uz:()=>k9,ur:()=>P9,uk:()=>Y2,ua:()=>q9,tr:()=>I9,th:()=>O9,ta:()=>N9,sv:()=>H9,sl:()=>L9,ru:()=>D9,ro:()=>V9,pt:()=>z9,ps:()=>Z9,pl:()=>K9,ota:()=>W9,no:()=>Y9,nl:()=>G9,ms:()=>j9,mk:()=>Q9,lt:()=>X9,ko:()=>v9,km:()=>j2,kh:()=>J9,ka:()=>$9,ja:()=>sQ,it:()=>eQ,is:()=>aQ,id:()=>tQ,hy:()=>pQ,hu:()=>dQ,hr:()=>oQ,he:()=>rQ,frCA:()=>lQ,fr:()=>iQ,fi:()=>cQ,fa:()=>mQ,es:()=>nQ,eo:()=>bQ,en:()=>Q2,el:()=>hQ,de:()=>yQ,da:()=>gQ,cs:()=>uQ,ca:()=>wQ,bg:()=>xQ,be:()=>SQ,az:()=>EQ,ar:()=>FQ});var M9=H$(()=>{F5();E5();x5();w5();u5();g5();y5();h5();f5();fQ();b5();n5();m5();c5();i5();l5();r5();o5();d5();t5();a5();e5();s5();$7();U7();J7();U9();v7();Q7();j7();G7();Y7();W7();Z7();K7();z7();V7();D7();H7();N7();O7();I7();B7();q7();P7();B9();k7();A7();R7();T7();_7();M7()});class E9{constructor(){this._map=new WeakMap,this._idmap=new Map}add($,...U){let X=U[0];if(this._map.set($,X),X&&typeof X==="object"&&"id"in X)this._idmap.set(X.id,$);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove($){let U=this._map.get($);if(U&&typeof U==="object"&&"id"in U)this._idmap.delete(U.id);return this._map.delete($),this}get($){let U=$._zod.parent;if(U){let X={...this.get(U)??{}};delete X.id;let Q={...X,...this._map.get($)};return Object.keys(Q).length?Q:void 0}return this._map.get($)}has($){return this._map.has($)}}function yJ(){return new E9}var C7,C9,F9,C6;var Z2=H$(()=>{C9=Symbol("ZodOutput"),F9=Symbol("ZodInput");(C7=globalThis).__zod_globalRegistry??(C7.__zod_globalRegistry=yJ());C6=globalThis.__zod_globalRegistry});function S9($,U){return new $({type:"string",..._$(U)})}function x9($,U){return new $({type:"string",coerce:!0,..._$(U)})}function hJ($,U){return new $({type:"string",format:"email",check:"string_format",abort:!1,..._$(U)})}function K2($,U){return new $({type:"string",format:"guid",check:"string_format",abort:!1,..._$(U)})}function fJ($,U){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,..._$(U)})}function bJ($,U){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",..._$(U)})}function nJ($,U){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",..._$(U)})}function mJ($,U){return new $({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",..._$(U)})}function z2($,U){return new $({type:"string",format:"url",check:"string_format",abort:!1,..._$(U)})}function cJ($,U){return new $({type:"string",format:"emoji",check:"string_format",abort:!1,..._$(U)})}function iJ($,U){return new $({type:"string",format:"nanoid",check:"string_format",abort:!1,..._$(U)})}function lJ($,U){return new $({type:"string",format:"cuid",check:"string_format",abort:!1,..._$(U)})}function rJ($,U){return new $({type:"string",format:"cuid2",check:"string_format",abort:!1,..._$(U)})}function oJ($,U){return new $({type:"string",format:"ulid",check:"string_format",abort:!1,..._$(U)})}function dJ($,U){return new $({type:"string",format:"xid",check:"string_format",abort:!1,..._$(U)})}function pJ($,U){return new $({type:"string",format:"ksuid",check:"string_format",abort:!1,..._$(U)})}function tJ($,U){return new $({type:"string",format:"ipv4",check:"string_format",abort:!1,..._$(U)})}function aJ($,U){return new $({type:"string",format:"ipv6",check:"string_format",abort:!1,..._$(U)})}function w9($,U){return new $({type:"string",format:"mac",check:"string_format",abort:!1,..._$(U)})}function eJ($,U){return new $({type:"string",format:"cidrv4",check:"string_format",abort:!1,..._$(U)})}function sJ($,U){return new $({type:"string",format:"cidrv6",check:"string_format",abort:!1,..._$(U)})}function $v($,U){return new $({type:"string",format:"base64",check:"string_format",abort:!1,..._$(U)})}function Uv($,U){return new $({type:"string",format:"base64url",check:"string_format",abort:!1,..._$(U)})}function Jv($,U){return new $({type:"string",format:"e164",check:"string_format",abort:!1,..._$(U)})}function vv($,U){return new $({type:"string",format:"jwt",check:"string_format",abort:!1,..._$(U)})}function g9($,U){return new $({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,..._$(U)})}function y9($,U){return new $({type:"string",format:"date",check:"string_format",..._$(U)})}function h9($,U){return new $({type:"string",format:"time",check:"string_format",precision:null,..._$(U)})}function f9($,U){return new $({type:"string",format:"duration",check:"string_format",..._$(U)})}function b9($,U){return new $({type:"number",checks:[],..._$(U)})}function n9($,U){return new $({type:"number",coerce:!0,checks:[],..._$(U)})}function m9($,U){return new $({type:"number",check:"number_format",abort:!1,format:"safeint",..._$(U)})}function c9($,U){return new $({type:"number",check:"number_format",abort:!1,format:"float32",..._$(U)})}function i9($,U){return new $({type:"number",check:"number_format",abort:!1,format:"float64",..._$(U)})}function l9($,U){return new $({type:"number",check:"number_format",abort:!1,format:"int32",..._$(U)})}function r9($,U){return new $({type:"number",check:"number_format",abort:!1,format:"uint32",..._$(U)})}function o9($,U){return new $({type:"boolean",..._$(U)})}function d9($,U){return new $({type:"boolean",coerce:!0,..._$(U)})}function p9($,U){return new $({type:"bigint",..._$(U)})}function t9($,U){return new $({type:"bigint",coerce:!0,..._$(U)})}function a9($,U){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"int64",..._$(U)})}function e9($,U){return new $({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",..._$(U)})}function s9($,U){return new $({type:"symbol",..._$(U)})}function $3($,U){return new $({type:"undefined",..._$(U)})}function U3($,U){return new $({type:"null",..._$(U)})}function J3($){return new $({type:"any"})}function v3($){return new $({type:"unknown"})}function X3($,U){return new $({type:"never",..._$(U)})}function Q3($,U){return new $({type:"void",..._$(U)})}function j3($,U){return new $({type:"date",..._$(U)})}function G3($,U){return new $({type:"date",coerce:!0,..._$(U)})}function Y3($,U){return new $({type:"nan",..._$(U)})}function A1($,U){return new AJ({check:"less_than",..._$(U),value:$,inclusive:!1})}function s6($,U){return new AJ({check:"less_than",..._$(U),value:$,inclusive:!0})}function R1($,U){return new RJ({check:"greater_than",..._$(U),value:$,inclusive:!1})}function n6($,U){return new RJ({check:"greater_than",..._$(U),value:$,inclusive:!0})}function Xv($){return R1(0,$)}function Qv($){return A1(0,$)}function jv($){return s6(0,$)}function Gv($){return n6(0,$)}function d1($,U){return new s8({check:"multiple_of",..._$(U),value:$})}function p1($,U){return new J4({check:"max_size",..._$(U),maximum:$})}function T1($,U){return new v4({check:"min_size",..._$(U),minimum:$})}function IU($,U){return new X4({check:"size_equals",..._$(U),size:$})}function BU($,U){return new Q4({check:"max_length",..._$(U),maximum:$})}function w1($,U){return new j4({check:"min_length",..._$(U),minimum:$})}function qU($,U){return new G4({check:"length_equals",..._$(U),length:$})}function v0($,U){return new Y4({check:"string_format",format:"regex",..._$(U),pattern:$})}function X0($){return new W4({check:"string_format",format:"lowercase",..._$($)})}function Q0($){return new Z4({check:"string_format",format:"uppercase",..._$($)})}function j0($,U){return new K4({check:"string_format",format:"includes",..._$(U),includes:$})}function G0($,U){return new z4({check:"string_format",format:"starts_with",..._$(U),prefix:$})}function Y0($,U){return new V4({check:"string_format",format:"ends_with",..._$(U),suffix:$})}function Yv($,U,X){return new D4({check:"property",property:$,schema:U,..._$(X)})}function W0($,U){return new L4({check:"mime_type",mime:$,..._$(U)})}function N1($){return new H4({check:"overwrite",tx:$})}function Z0($){return N1((U)=>U.normalize($))}function K0(){return N1(($)=>$.trim())}function z0(){return N1(($)=>$.toLowerCase())}function V0(){return N1(($)=>$.toUpperCase())}function D0(){return N1(($)=>Z8($))}function W3($,U,X){return new $({type:"array",element:U,..._$(X)})}function YO($,U,X){return new $({type:"union",options:U,..._$(X)})}function WO($,U,X){return new $({type:"union",options:U,inclusive:!1,..._$(X)})}function ZO($,U,X,Q){return new $({type:"union",options:X,discriminator:U,..._$(Q)})}function KO($,U,X){return new $({type:"intersection",left:U,right:X})}function zO($,U,X,Q){let J=X instanceof i$;return new $({type:"tuple",items:U,rest:J?X:null,..._$(J?Q:X)})}function VO($,U,X,Q){return new $({type:"record",keyType:U,valueType:X,..._$(Q)})}function DO($,U,X,Q){return new $({type:"map",keyType:U,valueType:X,..._$(Q)})}function LO($,U,X){return new $({type:"set",valueType:U,..._$(X)})}function HO($,U,X){let Q=Array.isArray(U)?Object.fromEntries(U.map((J)=>[J,J])):U;return new $({type:"enum",entries:Q,..._$(X)})}function NO($,U,X){return new $({type:"enum",entries:U,..._$(X)})}function OO($,U,X){return new $({type:"literal",values:Array.isArray(U)?U:[U],..._$(X)})}function Z3($,U){return new $({type:"file",..._$(U)})}function IO($,U){return new $({type:"transform",transform:U})}function BO($,U){return new $({type:"optional",innerType:U})}function qO($,U){return new $({type:"nullable",innerType:U})}function PO($,U,X){return new $({type:"default",innerType:U,get defaultValue(){return typeof X==="function"?X():z8(X)}})}function kO($,U,X){return new $({type:"nonoptional",innerType:U,..._$(X)})}function AO($,U){return new $({type:"success",innerType:U})}function RO($,U,X){return new $({type:"catch",innerType:U,catchValue:typeof X==="function"?X:()=>X})}function TO($,U,X){return new $({type:"pipe",in:U,out:X})}function _O($,U){return new $({type:"readonly",innerType:U})}function MO($,U,X){return new $({type:"template_literal",parts:U,..._$(X)})}function CO($,U){return new $({type:"lazy",getter:U})}function FO($,U){return new $({type:"promise",innerType:U})}function K3($,U,X){let Q=_$(X);return Q.abort??(Q.abort=!0),new $({type:"custom",check:"custom",fn:U,...Q})}function z3($,U,X){return new $({type:"custom",check:"custom",fn:U,..._$(X)})}function V3($,U){let X=F7((Q)=>{return Q.addIssue=(J)=>{if(typeof J==="string")Q.issues.push(tU(J,Q.value,X._zod.def));else{let j=J;if(j.fatal)j.continue=!1;j.code??(j.code="custom"),j.input??(j.input=Q.value),j.inst??(j.inst=X),j.continue??(j.continue=!X._zod.def.abort),Q.issues.push(tU(j))}},$(Q.value,Q)},U);return X}function F7($,U){let X=new V6({check:"custom",..._$(U)});return X._zod.check=$,X}function D3($){let U=new V6({check:"describe"});return U._zod.onattach=[(X)=>{let Q=C6.get(X)??{};C6.add(X,{...Q,description:$})}],U._zod.check=()=>{},U}function L3($){let U=new V6({check:"meta"});return U._zod.onattach=[(X)=>{let Q=C6.get(X)??{};C6.add(X,{...Q,...$})}],U._zod.check=()=>{},U}function H3($,U){let X=_$(U),Q=X.truthy??["true","1","yes","on","y","enabled"],J=X.falsy??["false","0","no","off","n","disabled"];if(X.case!=="sensitive")Q=Q.map((o)=>typeof o==="string"?o.toLowerCase():o),J=J.map((o)=>typeof o==="string"?o.toLowerCase():o);let j=new Set(Q),G=new Set(J),W=$.Codec??X2,z=$.Boolean??J2,A=new($.String??OU)({type:"string",error:X.error}),T=new z({type:"boolean",error:X.error}),h=new W({type:"pipe",in:A,out:T,transform:(o,V$)=>{let Y$=o;if(X.case!=="sensitive")Y$=Y$.toLowerCase();if(j.has(Y$))return!0;else if(G.has(Y$))return!1;else return V$.issues.push({code:"invalid_value",expected:"stringbool",values:[...j,...G],input:V$.value,inst:h,continue:!1}),{}},reverseTransform:(o,V$)=>{if(o===!0)return Q[0]||"true";else return J[0]||"false"},error:X.error});return h}function L0($,U,X,Q={}){let J=_$(Q),j={..._$(Q),check:"string_format",type:"string",format:U,fn:typeof X==="function"?X:(W)=>X.test(W),...J};if(X instanceof RegExp)j.pattern=X;return new $(j)}var u9;var E7=H$(()=>{TJ();Z2();CQ();g$();u9={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6}});function t1($){let U=$?.target??"draft-2020-12";if(U==="draft-4")U="draft-04";if(U==="draft-7")U="draft-07";return{processors:$.processors??{},metadataRegistry:$?.metadata??C6,target:U,unrepresentable:$?.unrepresentable??"throw",override:$?.override??(()=>{}),io:$?.io??"output",counter:0,seen:new Map,cycles:$?.cycles??"ref",reused:$?.reused??"inline",external:$?.external??void 0}}function v6($,U,X={path:[],schemaPath:[]}){var Q;let J=$._zod.def,j=U.seen.get($);if(j){if(j.count++,X.schemaPath.includes($))j.cycle=X.path;return j.schema}let G={schema:{},count:1,cycle:void 0,path:X.path};U.seen.set($,G);let W=$._zod.toJSONSchema?.();if(W)G.schema=W;else{let A={...X,schemaPath:[...X.schemaPath,$],path:X.path};if($._zod.processJSONSchema)$._zod.processJSONSchema(U,G.schema,A);else{let h=G.schema,o=U.processors[J.type];if(!o)throw Error(`[toJSONSchema]: Non-representable type encountered: ${J.type}`);o($,U,h,A)}let T=$._zod.parent;if(T){if(!G.ref)G.ref=T;v6(T,U,A),U.seen.get(T).isParent=!0}}let z=U.metadataRegistry.get($);if(z)Object.assign(G.schema,z);if(U.io==="input"&&m6($))delete G.schema.examples,delete G.schema.default;if(U.io==="input"&&"_prefault"in G.schema)(Q=G.schema).default??(Q.default=G.schema._prefault);return delete G.schema._prefault,U.seen.get($).schema}function a1($,U){let X=$.seen.get(U);if(!X)throw Error("Unprocessed schema. This is a bug in Zod.");let Q=new Map;for(let G of $.seen.entries()){let W=$.metadataRegistry.get(G[0])?.id;if(W){let z=Q.get(W);if(z&&z!==G[0])throw Error(`Duplicate schema id "${W}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);Q.set(W,G[0])}}let J=(G)=>{let W=$.target==="draft-2020-12"?"$defs":"definitions";if($.external){let T=$.external.registry.get(G[0])?.id,h=$.external.uri??((V$)=>V$);if(T)return{ref:h(T)};let o=G[1].defId??G[1].schema.id??`schema${$.counter++}`;return G[1].defId=o,{defId:o,ref:`${h("__shared")}#/${W}/${o}`}}if(G[1]===X)return{ref:"#"};let D=`${"#"}/${W}/`,A=G[1].schema.id??`__schema${$.counter++}`;return{defId:A,ref:D+A}},j=(G)=>{if(G[1].schema.$ref)return;let W=G[1],{ref:z,defId:D}=J(G);if(W.def={...W.schema},D)W.defId=D;let A=W.schema;for(let T in A)delete A[T];A.$ref=z};if($.cycles==="throw")for(let G of $.seen.entries()){let W=G[1];if(W.cycle)throw Error(`Cycle detected: #/${W.cycle?.join("/")}/<root>
452
+ `)}Y.write("payload.value = newResult;"),Y.write("return payload;");let Ze=Y.compile();return($e,Ue)=>Ze(j,$e,Ue)},s,a=Bn,u=!hn.jitless,m=u&&Ul.value,x=t.catchall,D;e._zod.parse=(j,Y)=>{D??(D=n.value);let _e=j.value;if(!a(_e))return j.issues.push({expected:"object",code:"invalid_type",input:_e,inst:e}),j;if(u&&m&&Y?.async===!1&&Y.jitless!==!0){if(!s)s=o(t.shape);if(j=s(j,Y),!x)return j;return Nd([],_e,j,Y,D,e)}return r(j,Y)}});Ld=ce("$ZodUnion",(e,t)=>{it.init(e,t),Ve(e._zod,"optin",()=>t.options.some((n)=>n._zod.optin==="optional")?"optional":void 0),Ve(e._zod,"optout",()=>t.options.some((n)=>n._zod.optout==="optional")?"optional":void 0),Ve(e._zod,"values",()=>{if(t.options.every((n)=>n._zod.values))return new Set(t.options.flatMap((n)=>Array.from(n._zod.values)));return}),Ve(e._zod,"pattern",()=>{if(t.options.every((n)=>n._zod.pattern)){let n=t.options.map((o)=>o._zod.pattern);return new RegExp(`^(${n.map((o)=>$o(o.source)).join("|")})$`)}return});let r=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(n,o)=>{if(r)return r(n,o);let s=!1,a=[];for(let u of t.options){let _=u._zod.run({value:n.value,issues:[]},o);if(_ instanceof Promise)a.push(_),s=!0;else{if(_.issues.length===0)return _;a.push(_)}}if(!s)return Xu(a,n,e,o);return Promise.all(a).then((u)=>Xu(u,n,e,o))}}),$d=ce("$ZodIntersection",(e,t)=>{it.init(e,t),e._zod.parse=(r,n)=>{let o=r.value,s=t.left._zod.run({value:o,issues:[]},n),a=t.right._zod.run({value:o,issues:[]},n);if(s instanceof Promise||a instanceof Promise)return Promise.all([s,a]).then(([_,m])=>Qu(r,_,m));return Qu(r,s,a)}});zd=ce("$ZodEnum",(e,t)=>{it.init(e,t);let r=No(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter((o)=>jl.has(typeof o)).map((o)=>typeof o==="string"?Sr(o):o.toString()).join("|")})$`),e._zod.parse=(o,s)=>{let a=o.value;if(n.has(a))return o;return o.issues.push({code:"invalid_value",values:r,input:a,inst:e}),o}}),Fd=ce("$ZodLiteral",(e,t)=>{if(it.init(e,t),t.values.length===0)throw Error("Cannot create literal schema with no valid values");let r=new Set(t.values);e._zod.values=r,e._zod.pattern=new RegExp(`^(${t.values.map((n)=>typeof n==="string"?Sr(n):n?Sr(n.toString()):String(n)).join("|")})$`),e._zod.parse=(n,o)=>{let s=n.value;if(r.has(s))return n;return n.issues.push({code:"invalid_value",values:t.values,input:s,inst:e}),n}}),Md=ce("$ZodTransform",(e,t)=>{it.init(e,t),e._zod.optin="optional",e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Mn(e.constructor.name);let o=t.transform(r.value,r);if(n.async)return(o instanceof Promise?o:Promise.resolve(o)).then((a)=>(r.value=a,r.fallback=!0,r));if(o instanceof Promise)throw new ur;return r.value=o,r.fallback=!0,r}});Rs=ce("$ZodOptional",(e,t)=>{it.init(e,t),e._zod.optin="optional",e._zod.optout="optional",Ve(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Ve(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${$o(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){let o=r.value,s=t.innerType._zod.run(r,n);if(s instanceof Promise)return s.then((a)=>Yu(a,o));return Yu(s,o)}if(r.value===void 0)return r;return t.innerType._zod.run(r,n)}}),Bd=ce("$ZodExactOptional",(e,t)=>{Rs.init(e,t),Ve(e._zod,"values",()=>t.innerType._zod.values),Ve(e._zod,"pattern",()=>t.innerType._zod.pattern),e._zod.parse=(r,n)=>t.innerType._zod.run(r,n)}),Ud=ce("$ZodNullable",(e,t)=>{it.init(e,t),Ve(e._zod,"optin",()=>t.innerType._zod.optin),Ve(e._zod,"optout",()=>t.innerType._zod.optout),Ve(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${$o(r.source)}|null)$`):void 0}),Ve(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(r,n)=>{if(r.value===null)return r;return t.innerType._zod.run(r,n)}}),jd=ce("$ZodDefault",(e,t)=>{it.init(e,t),e._zod.optin="optional",Ve(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>ed(s,t));return ed(o,t)}});Hd=ce("$ZodPrefault",(e,t)=>{it.init(e,t),e._zod.optin="optional",Ve(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)r.value=t.defaultValue;return t.innerType._zod.run(r,n)}}),Wd=ce("$ZodNonOptional",(e,t)=>{it.init(e,t),Ve(e._zod,"values",()=>{let r=t.innerType._zod.values;return r?new Set([...r].filter((n)=>n!==void 0)):void 0}),e._zod.parse=(r,n)=>{let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>td(s,e));return td(o,e)}});Zd=ce("$ZodCatch",(e,t)=>{it.init(e,t),e._zod.optin="optional",Ve(e._zod,"optout",()=>t.innerType._zod.optout),Ve(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>{if(r.value=s.value,s.issues.length)r.value=t.catchValue({...r,error:{issues:s.issues.map((a)=>dr(a,n,Kt()))},input:r.value}),r.issues=[],r.fallback=!0;return r});if(r.value=o.value,o.issues.length)r.value=t.catchValue({...r,error:{issues:o.issues.map((s)=>dr(s,n,Kt()))},input:r.value}),r.issues=[],r.fallback=!0;return r}}),Gd=ce("$ZodPipe",(e,t)=>{it.init(e,t),Ve(e._zod,"values",()=>t.in._zod.values),Ve(e._zod,"optin",()=>t.in._zod.optin),Ve(e._zod,"optout",()=>t.out._zod.optout),Ve(e._zod,"propValues",()=>t.in._zod.propValues),e._zod.parse=(r,n)=>{if(n.direction==="backward"){let s=t.out._zod.run(r,n);if(s instanceof Promise)return s.then((a)=>Zo(a,t.in,n));return Zo(s,t.in,n)}let o=t.in._zod.run(r,n);if(o instanceof Promise)return o.then((s)=>Zo(s,t.out,n));return Zo(o,t.out,n)}});Kd=ce("$ZodReadonly",(e,t)=>{it.init(e,t),Ve(e._zod,"propValues",()=>t.innerType._zod.propValues),Ve(e._zod,"values",()=>t.innerType._zod.values),Ve(e._zod,"optin",()=>t.innerType?._zod?.optin),Ve(e._zod,"optout",()=>t.innerType?._zod?.optout),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);let o=t.innerType._zod.run(r,n);if(o instanceof Promise)return o.then(rd);return rd(o)}});Vd=ce("$ZodCustom",(e,t)=>{mt.init(e,t),it.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=(r)=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then((s)=>nd(s,r,n,e));nd(o,r,n,e);return}})});function As(){return{localeError:jy()}}var jy=()=>{let e={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function t(o){return e[o]??null}let r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};return(o)=>{switch(o.code){case"invalid_type":{let s=n[o.expected]??o.expected,a=Gl(o.input),u=n[a]??a;return`Invalid input: expected ${s}, received ${u}`}case"invalid_value":if(o.values.length===1)return`Invalid input: expected ${gs(o.values[0])}`;return`Invalid option: expected one of ${ds(o.values,"|")}`;case"too_big":{let s=o.inclusive?"<=":"<",a=t(o.origin);if(a)return`Too big: expected ${o.origin??"value"} to have ${s}${o.maximum.toString()} ${a.unit??"elements"}`;return`Too big: expected ${o.origin??"value"} to be ${s}${o.maximum.toString()}`}case"too_small":{let s=o.inclusive?">=":">",a=t(o.origin);if(a)return`Too small: expected ${o.origin} to have ${s}${o.minimum.toString()} ${a.unit}`;return`Too small: expected ${o.origin} to be ${s}${o.minimum.toString()}`}case"invalid_format":{let s=o;if(s.format==="starts_with")return`Invalid string: must start with "${s.prefix}"`;if(s.format==="ends_with")return`Invalid string: must end with "${s.suffix}"`;if(s.format==="includes")return`Invalid string: must include "${s.includes}"`;if(s.format==="regex")return`Invalid string: must match pattern ${s.pattern}`;return`Invalid ${r[s.format]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${ds(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":if(o.options&&Array.isArray(o.options)&&o.options.length>0)return`Invalid discriminator value. Expected ${o.options.map((a)=>`'${a}'`).join(" | ")}`;return"Invalid input";case"invalid_element":return`Invalid value in ${o.origin}`;default:return"Invalid input"}}};var Xd=De(()=>{Vt()});var Ds=()=>{};class ef{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let r=t[0];if(this._map.set(e,r),r&&typeof r==="object"&&"id"in r)this._idmap.set(r.id,e);return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let r={...this.get(t)??{}};delete r.id;let n={...r,...this._map.get(e)};return Object.keys(n).length?n:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function Hy(){return new ef}var Yd,VS,JS,Ur;var Os=De(()=>{VS=Symbol("ZodOutput"),JS=Symbol("ZodInput");(Yd=globalThis).__zod_globalRegistry??(Yd.__zod_globalRegistry=Hy());Ur=globalThis.__zod_globalRegistry});function tf(e,t){return new e({type:"string",...Ce(t)})}function rf(e,t){return new e({type:"string",format:"email",check:"string_format",abort:!1,...Ce(t)})}function Is(e,t){return new e({type:"string",format:"guid",check:"string_format",abort:!1,...Ce(t)})}function nf(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,...Ce(t)})}function of(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Ce(t)})}function sf(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Ce(t)})}function af(e,t){return new e({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Ce(t)})}function cf(e,t){return new e({type:"string",format:"url",check:"string_format",abort:!1,...Ce(t)})}function lf(e,t){return new e({type:"string",format:"emoji",check:"string_format",abort:!1,...Ce(t)})}function uf(e,t){return new e({type:"string",format:"nanoid",check:"string_format",abort:!1,...Ce(t)})}function df(e,t){return new e({type:"string",format:"cuid",check:"string_format",abort:!1,...Ce(t)})}function ff(e,t){return new e({type:"string",format:"cuid2",check:"string_format",abort:!1,...Ce(t)})}function pf(e,t){return new e({type:"string",format:"ulid",check:"string_format",abort:!1,...Ce(t)})}function _f(e,t){return new e({type:"string",format:"xid",check:"string_format",abort:!1,...Ce(t)})}function gf(e,t){return new e({type:"string",format:"ksuid",check:"string_format",abort:!1,...Ce(t)})}function hf(e,t){return new e({type:"string",format:"ipv4",check:"string_format",abort:!1,...Ce(t)})}function mf(e,t){return new e({type:"string",format:"ipv6",check:"string_format",abort:!1,...Ce(t)})}function yf(e,t){return new e({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Ce(t)})}function bf(e,t){return new e({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Ce(t)})}function wf(e,t){return new e({type:"string",format:"base64",check:"string_format",abort:!1,...Ce(t)})}function vf(e,t){return new e({type:"string",format:"base64url",check:"string_format",abort:!1,...Ce(t)})}function Ef(e,t){return new e({type:"string",format:"e164",check:"string_format",abort:!1,...Ce(t)})}function Sf(e,t){return new e({type:"string",format:"jwt",check:"string_format",abort:!1,...Ce(t)})}function xf(e,t){return new e({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Ce(t)})}function Tf(e,t){return new e({type:"string",format:"date",check:"string_format",...Ce(t)})}function kf(e,t){return new e({type:"string",format:"time",check:"string_format",precision:null,...Ce(t)})}function Rf(e,t){return new e({type:"string",format:"duration",check:"string_format",...Ce(t)})}function Af(e,t){return new e({type:"number",checks:[],...Ce(t)})}function Df(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...Ce(t)})}function Of(e,t){return new e({type:"boolean",...Ce(t)})}function If(e){return new e({type:"unknown"})}function Pf(e,t){return new e({type:"never",...Ce(t)})}function Vo(e,t){return new vs({check:"less_than",...Ce(t),value:e,inclusive:!1})}function Zn(e,t){return new vs({check:"less_than",...Ce(t),value:e,inclusive:!0})}function Jo(e,t){return new Es({check:"greater_than",...Ce(t),value:e,inclusive:!1})}function Gn(e,t){return new Es({check:"greater_than",...Ce(t),value:e,inclusive:!0})}function Xo(e,t){return new Lu({check:"multiple_of",...Ce(t),value:e})}function Qo(e,t){return new zu({check:"max_length",...Ce(t),maximum:e})}function yn(e,t){return new Fu({check:"min_length",...Ce(t),minimum:e})}function Yo(e,t){return new Mu({check:"length_equals",...Ce(t),length:e})}function Ps(e,t){return new Bu({check:"string_format",format:"regex",...Ce(t),pattern:e})}function Cs(e){return new Uu({check:"string_format",format:"lowercase",...Ce(e)})}function Ns(e){return new ju({check:"string_format",format:"uppercase",...Ce(e)})}function qs(e,t){return new Hu({check:"string_format",format:"includes",...Ce(t),includes:e})}function Ls(e,t){return new Wu({check:"string_format",format:"starts_with",...Ce(t),prefix:e})}function $s(e,t){return new Zu({check:"string_format",format:"ends_with",...Ce(t),suffix:e})}function xr(e){return new Gu({check:"overwrite",tx:e})}function zs(e){return xr((t)=>t.normalize(e))}function Fs(){return xr((e)=>e.trim())}function Ms(){return xr((e)=>e.toLowerCase())}function Bs(){return xr((e)=>e.toUpperCase())}function Us(){return xr((e)=>Bl(e))}function Cf(e,t,r){return new e({type:"array",element:t,...Ce(r)})}function Nf(e,t,r){return new e({type:"custom",check:"custom",fn:t,...Ce(r)})}function qf(e,t){let r=Wy((n)=>(n.addIssue=(o)=>{if(typeof o==="string")n.issues.push(Br(o,n.value,r._zod.def));else{let s=o;if(s.fatal)s.continue=!1;s.code??(s.code="custom"),s.input??(s.input=n.value),s.inst??(s.inst=r),s.continue??(s.continue=!r._zod.def.abort),n.issues.push(Br(s))}},e(n.value,n)),t);return r}function Wy(e,t){let r=new mt({check:"custom",...Ce(t)});return r._zod.check=e,r}var Lf=De(()=>{Wo();Vt()});function js(e){let t=e?.target??"draft-2020-12";if(t==="draft-4")t="draft-04";if(t==="draft-7")t="draft-07";return{processors:e.processors??{},metadataRegistry:e?.metadata??Ur,target:t,unrepresentable:e?.unrepresentable??"throw",override:e?.override??(()=>{}),io:e?.io??"output",counter:0,seen:new Map,cycles:e?.cycles??"ref",reused:e?.reused??"inline",external:e?.external??void 0}}function _t(e,t,r={path:[],schemaPath:[]}){var n;let o=e._zod.def,s=t.seen.get(e);if(s){if(s.count++,r.schemaPath.includes(e))s.cycle=r.path;return s.schema}let a={schema:{},count:1,cycle:void 0,path:r.path};t.seen.set(e,a);let u=e._zod.toJSONSchema?.();if(u)a.schema=u;else{let x={...r,schemaPath:[...r.schemaPath,e],path:r.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,a.schema,x);else{let j=a.schema,Y=t.processors[o.type];if(!Y)throw Error(`[toJSONSchema]: Non-representable type encountered: ${o.type}`);Y(e,t,j,x)}let D=e._zod.parent;if(D){if(!a.ref)a.ref=D;_t(D,t,x),t.seen.get(D).isParent=!0}}let _=t.metadataRegistry.get(e);if(_)Object.assign(a.schema,_);if(t.io==="input"&&kt(e))delete a.schema.examples,delete a.schema.default;if(t.io==="input"&&"_prefault"in a.schema)(n=a.schema).default??(n.default=a.schema._prefault);return delete a.schema._prefault,t.seen.get(e).schema}function Hs(e,t){let r=e.seen.get(t);if(!r)throw Error("Unprocessed schema. This is a bug in Zod.");let n=new Map;for(let a of e.seen.entries()){let u=e.metadataRegistry.get(a[0])?.id;if(u){let _=n.get(u);if(_&&_!==a[0])throw Error(`Duplicate schema id "${u}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(u,a[0])}}let o=(a)=>{let u=e.target==="draft-2020-12"?"$defs":"definitions";if(e.external){let D=e.external.registry.get(a[0])?.id,j=e.external.uri??((_e)=>_e);if(D)return{ref:j(D)};let Y=a[1].defId??a[1].schema.id??`schema${e.counter++}`;return a[1].defId=Y,{defId:Y,ref:`${j("__shared")}#/${u}/${Y}`}}if(a[1]===r)return{ref:"#"};let m=`${"#"}/${u}/`,x=a[1].schema.id??`__schema${e.counter++}`;return{defId:x,ref:m+x}},s=(a)=>{if(a[1].schema.$ref)return;let u=a[1],{ref:_,defId:m}=o(a);if(u.def={...u.schema},m)u.defId=m;let x=u.schema;for(let D in x)delete x[D];x.$ref=_};if(e.cycles==="throw")for(let a of e.seen.entries()){let u=a[1];if(u.cycle)throw Error(`Cycle detected: #/${u.cycle?.join("/")}/<root>
457
453
 
458
- Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let G of $.seen.entries()){let W=G[1];if(U===G[0]){j(G);continue}if($.external){let D=$.external.registry.get(G[0])?.id;if(U!==G[0]&&D){j(G);continue}}if($.metadataRegistry.get(G[0])?.id){j(G);continue}if(W.cycle){j(G);continue}if(W.count>1){if($.reused==="ref"){j(G);continue}}}}function e1($,U){let X=$.seen.get(U);if(!X)throw Error("Unprocessed schema. This is a bug in Zod.");let Q=(W)=>{let z=$.seen.get(W);if(z.ref===null)return;let D=z.def??z.schema,A={...D},T=z.ref;if(z.ref=null,T){Q(T);let o=$.seen.get(T),V$=o.schema;if(V$.$ref&&($.target==="draft-07"||$.target==="draft-04"||$.target==="openapi-3.0"))D.allOf=D.allOf??[],D.allOf.push(V$);else Object.assign(D,V$);if(Object.assign(D,A),W._zod.parent===T)for(let L$ in D){if(L$==="$ref"||L$==="allOf")continue;if(!(L$ in A))delete D[L$]}if(V$.$ref&&o.def)for(let L$ in D){if(L$==="$ref"||L$==="allOf")continue;if(L$ in o.def&&JSON.stringify(D[L$])===JSON.stringify(o.def[L$]))delete D[L$]}}let h=W._zod.parent;if(h&&h!==T){Q(h);let o=$.seen.get(h);if(o?.schema.$ref){if(D.$ref=o.schema.$ref,o.def)for(let V$ in D){if(V$==="$ref"||V$==="allOf")continue;if(V$ in o.def&&JSON.stringify(D[V$])===JSON.stringify(o.def[V$]))delete D[V$]}}}$.override({zodSchema:W,jsonSchema:D,path:z.path??[]})};for(let W of[...$.seen.entries()].reverse())Q(W[0]);let J={};if($.target==="draft-2020-12")J.$schema="https://json-schema.org/draft/2020-12/schema";else if($.target==="draft-07")J.$schema="http://json-schema.org/draft-07/schema#";else if($.target==="draft-04")J.$schema="http://json-schema.org/draft-04/schema#";else if($.target==="openapi-3.0");if($.external?.uri){let W=$.external.registry.get(U)?.id;if(!W)throw Error("Schema is missing an `id` property");J.$id=$.external.uri(W)}Object.assign(J,X.def??X.schema);let j=$.metadataRegistry.get(U)?.id;if(j!==void 0&&J.id===j)delete J.id;let G=$.external?.defs??{};for(let W of $.seen.entries()){let z=W[1];if(z.def&&z.defId){if(z.def.id===z.defId)delete z.def.id;G[z.defId]=z.def}}if($.external);else if(Object.keys(G).length>0)if($.target==="draft-2020-12")J.$defs=G;else J.definitions=G;try{let W=JSON.parse(JSON.stringify(J));return Object.defineProperty(W,"~standard",{value:{...U["~standard"],jsonSchema:{input:H0(U,"input",$.processors),output:H0(U,"output",$.processors)}},enumerable:!1,writable:!1}),W}catch(W){throw Error("Error converting schema to JSON.")}}function m6($,U){let X=U??{seen:new Set};if(X.seen.has($))return!1;X.seen.add($);let Q=$._zod.def;if(Q.type==="transform")return!0;if(Q.type==="array")return m6(Q.element,X);if(Q.type==="set")return m6(Q.valueType,X);if(Q.type==="lazy")return m6(Q.getter(),X);if(Q.type==="promise"||Q.type==="optional"||Q.type==="nonoptional"||Q.type==="nullable"||Q.type==="readonly"||Q.type==="default"||Q.type==="prefault")return m6(Q.innerType,X);if(Q.type==="intersection")return m6(Q.left,X)||m6(Q.right,X);if(Q.type==="record"||Q.type==="map")return m6(Q.keyType,X)||m6(Q.valueType,X);if(Q.type==="pipe"){if($._zod.traits.has("$ZodCodec"))return!0;return m6(Q.in,X)||m6(Q.out,X)}if(Q.type==="object"){for(let J in Q.shape)if(m6(Q.shape[J],X))return!0;return!1}if(Q.type==="union"){for(let J of Q.options)if(m6(J,X))return!0;return!1}if(Q.type==="tuple"){for(let J of Q.items)if(m6(J,X))return!0;if(Q.rest&&m6(Q.rest,X))return!0;return!1}return!1}var N3=($,U={})=>(X)=>{let Q=t1({...X,processors:U});return v6($,Q),a1(Q,$),e1(Q,$)},H0=($,U,X={})=>(Q)=>{let{libraryOptions:J,target:j}=Q??{},G=t1({...J??{},target:j,io:U,processors:X});return v6($,G),a1(G,$),e1(G,$)};var V2=H$(()=>{Z2()});function zv($,U){if("_idmap"in $){let Q=$,J=t1({...U,processors:Wv}),j={};for(let z of Q._idmap.entries()){let[D,A]=z;v6(A,J)}let G={},W={registry:Q,uri:U?.uri,defs:j};J.external=W;for(let z of Q._idmap.entries()){let[D,A]=z;a1(J,A),G[D]=e1(J,A)}if(Object.keys(j).length>0){let z=J.target==="draft-2020-12"?"$defs":"definitions";G.__shared={[z]:j}}return{schemas:G}}let X=t1({...U,processors:Wv});return v6($,X),a1(X,$),e1(X,$)}var EO,O3=($,U,X,Q)=>{let J=X;J.type="string";let{minimum:j,maximum:G,format:W,patterns:z,contentEncoding:D}=$._zod.bag;if(typeof j==="number")J.minLength=j;if(typeof G==="number")J.maxLength=G;if(W){if(J.format=EO[W]??W,J.format==="")delete J.format;if(W==="time")delete J.format}if(D)J.contentEncoding=D;if(z&&z.size>0){let A=[...z];if(A.length===1)J.pattern=A[0].source;else if(A.length>1)J.allOf=[...A.map((T)=>({...U.target==="draft-07"||U.target==="draft-04"||U.target==="openapi-3.0"?{type:"string"}:{},pattern:T.source}))]}},I3=($,U,X,Q)=>{let J=X,{minimum:j,maximum:G,format:W,multipleOf:z,exclusiveMaximum:D,exclusiveMinimum:A}=$._zod.bag;if(typeof W==="string"&&W.includes("int"))J.type="integer";else J.type="number";let T=typeof A==="number"&&A>=(j??Number.NEGATIVE_INFINITY),h=typeof D==="number"&&D<=(G??Number.POSITIVE_INFINITY),o=U.target==="draft-04"||U.target==="openapi-3.0";if(T)if(o)J.minimum=A,J.exclusiveMinimum=!0;else J.exclusiveMinimum=A;else if(typeof j==="number")J.minimum=j;if(h)if(o)J.maximum=D,J.exclusiveMaximum=!0;else J.exclusiveMaximum=D;else if(typeof G==="number")J.maximum=G;if(typeof z==="number")J.multipleOf=z},B3=($,U,X,Q)=>{X.type="boolean"},q3=($,U,X,Q)=>{if(U.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema")},P3=($,U,X,Q)=>{if(U.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema")},k3=($,U,X,Q)=>{if(U.target==="openapi-3.0")X.type="string",X.nullable=!0,X.enum=[null];else X.type="null"},A3=($,U,X,Q)=>{if(U.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema")},R3=($,U,X,Q)=>{if(U.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema")},T3=($,U,X,Q)=>{X.not={}},_3=($,U,X,Q)=>{},M3=($,U,X,Q)=>{},C3=($,U,X,Q)=>{if(U.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema")},F3=($,U,X,Q)=>{let J=$._zod.def,j=l0(J.entries);if(j.every((G)=>typeof G==="number"))X.type="number";if(j.every((G)=>typeof G==="string"))X.type="string";X.enum=j},E3=($,U,X,Q)=>{let J=$._zod.def,j=[];for(let G of J.values)if(G===void 0){if(U.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof G==="bigint")if(U.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else j.push(Number(G));else j.push(G);if(j.length===0);else if(j.length===1){let G=j[0];if(X.type=G===null?"null":typeof G,U.target==="draft-04"||U.target==="openapi-3.0")X.enum=[G];else X.const=G}else{if(j.every((G)=>typeof G==="number"))X.type="number";if(j.every((G)=>typeof G==="string"))X.type="string";if(j.every((G)=>typeof G==="boolean"))X.type="boolean";if(j.every((G)=>G===null))X.type="null";X.enum=j}},S3=($,U,X,Q)=>{if(U.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema")},x3=($,U,X,Q)=>{let J=X,j=$._zod.pattern;if(!j)throw Error("Pattern not found in template literal");J.type="string",J.pattern=j.source},w3=($,U,X,Q)=>{let J=X,j={type:"string",format:"binary",contentEncoding:"binary"},{minimum:G,maximum:W,mime:z}=$._zod.bag;if(G!==void 0)j.minLength=G;if(W!==void 0)j.maxLength=W;if(z)if(z.length===1)j.contentMediaType=z[0],Object.assign(J,j);else Object.assign(J,j),J.anyOf=z.map((D)=>({contentMediaType:D}));else Object.assign(J,j)},u3=($,U,X,Q)=>{X.type="boolean"},g3=($,U,X,Q)=>{if(U.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},y3=($,U,X,Q)=>{if(U.unrepresentable==="throw")throw Error("Function types cannot be represented in JSON Schema")},h3=($,U,X,Q)=>{if(U.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},f3=($,U,X,Q)=>{if(U.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema")},b3=($,U,X,Q)=>{if(U.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema")},n3=($,U,X,Q)=>{let J=X,j=$._zod.def,{minimum:G,maximum:W}=$._zod.bag;if(typeof G==="number")J.minItems=G;if(typeof W==="number")J.maxItems=W;J.type="array",J.items=v6(j.element,U,{...Q,path:[...Q.path,"items"]})},m3=($,U,X,Q)=>{let J=X,j=$._zod.def;J.type="object",J.properties={};let G=j.shape;for(let D in G)J.properties[D]=v6(G[D],U,{...Q,path:[...Q.path,"properties",D]});let W=new Set(Object.keys(G)),z=new Set([...W].filter((D)=>{let A=j.shape[D]._zod;if(U.io==="input")return A.optin===void 0;else return A.optout===void 0}));if(z.size>0)J.required=Array.from(z);if(j.catchall?._zod.def.type==="never")J.additionalProperties=!1;else if(!j.catchall){if(U.io==="output")J.additionalProperties=!1}else if(j.catchall)J.additionalProperties=v6(j.catchall,U,{...Q,path:[...Q.path,"additionalProperties"]})},Zv=($,U,X,Q)=>{let J=$._zod.def,j=J.inclusive===!1,G=J.options.map((W,z)=>v6(W,U,{...Q,path:[...Q.path,j?"oneOf":"anyOf",z]}));if(j)X.oneOf=G;else X.anyOf=G},c3=($,U,X,Q)=>{let J=$._zod.def,j=v6(J.left,U,{...Q,path:[...Q.path,"allOf",0]}),G=v6(J.right,U,{...Q,path:[...Q.path,"allOf",1]}),W=(D)=>("allOf"in D)&&Object.keys(D).length===1,z=[...W(j)?j.allOf:[j],...W(G)?G.allOf:[G]];X.allOf=z},i3=($,U,X,Q)=>{let J=X,j=$._zod.def;J.type="array";let G=U.target==="draft-2020-12"?"prefixItems":"items",W=U.target==="draft-2020-12"?"items":U.target==="openapi-3.0"?"items":"additionalItems",z=j.items.map((h,o)=>v6(h,U,{...Q,path:[...Q.path,G,o]})),D=j.rest?v6(j.rest,U,{...Q,path:[...Q.path,W,...U.target==="openapi-3.0"?[j.items.length]:[]]}):null;if(U.target==="draft-2020-12"){if(J.prefixItems=z,D)J.items=D}else if(U.target==="openapi-3.0"){if(J.items={anyOf:z},D)J.items.anyOf.push(D);if(J.minItems=z.length,!D)J.maxItems=z.length}else if(J.items=z,D)J.additionalItems=D;let{minimum:A,maximum:T}=$._zod.bag;if(typeof A==="number")J.minItems=A;if(typeof T==="number")J.maxItems=T},l3=($,U,X,Q)=>{let J=X,j=$._zod.def;J.type="object";let G=j.keyType,z=G._zod.bag?.patterns;if(j.mode==="loose"&&z&&z.size>0){let A=v6(j.valueType,U,{...Q,path:[...Q.path,"patternProperties","*"]});J.patternProperties={};for(let T of z)J.patternProperties[T.source]=A}else{if(U.target==="draft-07"||U.target==="draft-2020-12")J.propertyNames=v6(j.keyType,U,{...Q,path:[...Q.path,"propertyNames"]});J.additionalProperties=v6(j.valueType,U,{...Q,path:[...Q.path,"additionalProperties"]})}let D=G._zod.values;if(D){let A=[...D].filter((T)=>typeof T==="string"||typeof T==="number");if(A.length>0)J.required=A}},r3=($,U,X,Q)=>{let J=$._zod.def,j=v6(J.innerType,U,Q),G=U.seen.get($);if(U.target==="openapi-3.0")G.ref=J.innerType,X.nullable=!0;else X.anyOf=[j,{type:"null"}]},o3=($,U,X,Q)=>{let J=$._zod.def;v6(J.innerType,U,Q);let j=U.seen.get($);j.ref=J.innerType},d3=($,U,X,Q)=>{let J=$._zod.def;v6(J.innerType,U,Q);let j=U.seen.get($);j.ref=J.innerType,X.default=JSON.parse(JSON.stringify(J.defaultValue))},p3=($,U,X,Q)=>{let J=$._zod.def;v6(J.innerType,U,Q);let j=U.seen.get($);if(j.ref=J.innerType,U.io==="input")X._prefault=JSON.parse(JSON.stringify(J.defaultValue))},t3=($,U,X,Q)=>{let J=$._zod.def;v6(J.innerType,U,Q);let j=U.seen.get($);j.ref=J.innerType;let G;try{G=J.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}X.default=G},a3=($,U,X,Q)=>{let J=$._zod.def,j=J.in._zod.traits.has("$ZodTransform"),G=U.io==="input"?j?J.out:J.in:J.out;v6(G,U,Q);let W=U.seen.get($);W.ref=G},e3=($,U,X,Q)=>{let J=$._zod.def;v6(J.innerType,U,Q);let j=U.seen.get($);j.ref=J.innerType,X.readOnly=!0},s3=($,U,X,Q)=>{let J=$._zod.def;v6(J.innerType,U,Q);let j=U.seen.get($);j.ref=J.innerType},Kv=($,U,X,Q)=>{let J=$._zod.def;v6(J.innerType,U,Q);let j=U.seen.get($);j.ref=J.innerType},$j=($,U,X,Q)=>{let J=$._zod.innerType;v6(J,U,Q);let j=U.seen.get($);j.ref=J},Wv;var D2=H$(()=>{V2();g$();EO={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},Wv={string:O3,number:I3,boolean:B3,bigint:q3,symbol:P3,null:k3,undefined:A3,void:R3,never:T3,any:_3,unknown:M3,date:C3,enum:F3,literal:E3,nan:S3,template_literal:x3,file:w3,success:u3,custom:g3,function:y3,transform:h3,map:f3,set:b3,array:n3,object:m3,union:Zv,intersection:c3,tuple:i3,record:l3,nullable:r3,nonoptional:o3,default:d3,prefault:p3,catch:t3,pipe:a3,readonly:e3,promise:s3,optional:Kv,lazy:$j}});class Uj{get metadataRegistry(){return this.ctx.metadataRegistry}get target(){return this.ctx.target}get unrepresentable(){return this.ctx.unrepresentable}get override(){return this.ctx.override}get io(){return this.ctx.io}get counter(){return this.ctx.counter}set counter($){this.ctx.counter=$}get seen(){return this.ctx.seen}constructor($){let U=$?.target??"draft-2020-12";if(U==="draft-4")U="draft-04";if(U==="draft-7")U="draft-07";this.ctx=t1({processors:Wv,target:U,...$?.metadata&&{metadata:$.metadata},...$?.unrepresentable&&{unrepresentable:$.unrepresentable},...$?.override&&{override:$.override},...$?.io&&{io:$.io}})}process($,U={path:[],schemaPath:[]}){return v6($,this.ctx,U)}emit($,U){if(U){if(U.cycles)this.ctx.cycles=U.cycles;if(U.reused)this.ctx.reused=U.reused;if(U.external)this.ctx.external=U.external}a1(this.ctx,$);let X=e1(this.ctx,$),{"~standard":Q,...J}=X;return J}}var S7=H$(()=>{D2();V2()});var x7={};var w7=()=>{};var u1={};Y1(u1,{version:()=>N4,util:()=>k$,treeifyError:()=>O8,toJSONSchema:()=>zv,toDotPath:()=>X5,safeParseAsync:()=>P8,safeParse:()=>q8,safeEncodeAsync:()=>uH,safeEncode:()=>xH,safeDecodeAsync:()=>gH,safeDecode:()=>wH,registry:()=>yJ,regexes:()=>e6,process:()=>v6,prettifyError:()=>I8,parseAsync:()=>VJ,parse:()=>zJ,meta:()=>L3,locales:()=>W2,isValidJWT:()=>T5,isValidBase64URL:()=>R5,isValidBase64:()=>b4,initializeContext:()=>t1,globalRegistry:()=>C6,globalConfig:()=>VU,formatError:()=>e0,flattenError:()=>a0,finalize:()=>e1,extractDefs:()=>a1,encodeAsync:()=>EH,encode:()=>CH,describe:()=>D3,decodeAsync:()=>SH,decode:()=>FH,createToJSONSchemaMethod:()=>N3,createStandardJSONSchemaMethod:()=>H0,config:()=>H6,clone:()=>f6,_xor:()=>WO,_xid:()=>dJ,_void:()=>Q3,_uuidv7:()=>mJ,_uuidv6:()=>nJ,_uuidv4:()=>bJ,_uuid:()=>fJ,_url:()=>z2,_uppercase:()=>Q0,_unknown:()=>v3,_union:()=>YO,_undefined:()=>$3,_ulid:()=>oJ,_uint64:()=>e9,_uint32:()=>r9,_tuple:()=>zO,_trim:()=>K0,_transform:()=>IO,_toUpperCase:()=>V0,_toLowerCase:()=>z0,_templateLiteral:()=>MO,_symbol:()=>s9,_superRefine:()=>V3,_success:()=>AO,_stringbool:()=>H3,_stringFormat:()=>L0,_string:()=>S9,_startsWith:()=>G0,_slugify:()=>D0,_size:()=>IU,_set:()=>LO,_safeParseAsync:()=>$0,_safeParse:()=>sU,_safeEncodeAsync:()=>BJ,_safeEncode:()=>OJ,_safeDecodeAsync:()=>qJ,_safeDecode:()=>IJ,_regex:()=>v0,_refine:()=>z3,_record:()=>VO,_readonly:()=>_O,_property:()=>Yv,_promise:()=>FO,_positive:()=>Xv,_pipe:()=>TO,_parseAsync:()=>eU,_parse:()=>aU,_overwrite:()=>N1,_optional:()=>BO,_number:()=>b9,_nullable:()=>qO,_null:()=>U3,_normalize:()=>Z0,_nonpositive:()=>jv,_nonoptional:()=>kO,_nonnegative:()=>Gv,_never:()=>X3,_negative:()=>Qv,_nativeEnum:()=>NO,_nanoid:()=>iJ,_nan:()=>Y3,_multipleOf:()=>d1,_minSize:()=>T1,_minLength:()=>w1,_min:()=>n6,_mime:()=>W0,_maxSize:()=>p1,_maxLength:()=>BU,_max:()=>s6,_map:()=>DO,_mac:()=>w9,_lte:()=>s6,_lt:()=>A1,_lowercase:()=>X0,_literal:()=>OO,_length:()=>qU,_lazy:()=>CO,_ksuid:()=>pJ,_jwt:()=>vv,_isoTime:()=>h9,_isoDuration:()=>f9,_isoDateTime:()=>g9,_isoDate:()=>y9,_ipv6:()=>aJ,_ipv4:()=>tJ,_intersection:()=>KO,_int64:()=>a9,_int32:()=>l9,_int:()=>m9,_includes:()=>j0,_guid:()=>K2,_gte:()=>n6,_gt:()=>R1,_float64:()=>i9,_float32:()=>c9,_file:()=>Z3,_enum:()=>HO,_endsWith:()=>Y0,_encodeAsync:()=>HJ,_encode:()=>DJ,_emoji:()=>cJ,_email:()=>hJ,_e164:()=>Jv,_discriminatedUnion:()=>ZO,_default:()=>PO,_decodeAsync:()=>NJ,_decode:()=>LJ,_date:()=>j3,_custom:()=>K3,_cuid2:()=>rJ,_cuid:()=>lJ,_coercedString:()=>x9,_coercedNumber:()=>n9,_coercedDate:()=>G3,_coercedBoolean:()=>d9,_coercedBigint:()=>t9,_cidrv6:()=>sJ,_cidrv4:()=>eJ,_check:()=>F7,_catch:()=>RO,_boolean:()=>o9,_bigint:()=>p9,_base64url:()=>Uv,_base64:()=>$v,_array:()=>W3,_any:()=>J3,TimePrecision:()=>u9,NEVER:()=>j8,JSONSchemaGenerator:()=>Uj,JSONSchema:()=>x7,Doc:()=>_J,$output:()=>C9,$input:()=>F9,$constructor:()=>l,$brand:()=>G8,$ZodXor:()=>XQ,$ZodXID:()=>C4,$ZodVoid:()=>$Q,$ZodUnknown:()=>e4,$ZodUnion:()=>v2,$ZodUndefined:()=>p4,$ZodUUID:()=>q4,$ZodURL:()=>k4,$ZodULID:()=>M4,$ZodType:()=>i$,$ZodTuple:()=>wJ,$ZodTransform:()=>VQ,$ZodTemplateLiteral:()=>AQ,$ZodSymbol:()=>d4,$ZodSuccess:()=>IQ,$ZodStringFormat:()=>W6,$ZodString:()=>OU,$ZodSet:()=>WQ,$ZodRegistry:()=>E9,$ZodRecord:()=>GQ,$ZodRealError:()=>o6,$ZodReadonly:()=>kQ,$ZodPromise:()=>TQ,$ZodPreprocess:()=>PQ,$ZodPrefault:()=>NQ,$ZodPipe:()=>gJ,$ZodOptional:()=>uJ,$ZodObjectJIT:()=>vQ,$ZodObject:()=>C5,$ZodNumberFormat:()=>r4,$ZodNumber:()=>SJ,$ZodNullable:()=>LQ,$ZodNull:()=>t4,$ZodNonOptional:()=>OQ,$ZodNever:()=>s4,$ZodNanoID:()=>R4,$ZodNaN:()=>qQ,$ZodMap:()=>YQ,$ZodMAC:()=>y4,$ZodLiteral:()=>KQ,$ZodLazy:()=>_Q,$ZodKSUID:()=>F4,$ZodJWT:()=>i4,$ZodIntersection:()=>jQ,$ZodISOTime:()=>x4,$ZodISODuration:()=>w4,$ZodISODateTime:()=>E4,$ZodISODate:()=>S4,$ZodIPv6:()=>g4,$ZodIPv4:()=>u4,$ZodGUID:()=>B4,$ZodFunction:()=>RQ,$ZodFile:()=>zQ,$ZodExactOptional:()=>DQ,$ZodError:()=>t0,$ZodEnum:()=>ZQ,$ZodEncodeError:()=>DU,$ZodEmoji:()=>A4,$ZodEmail:()=>P4,$ZodE164:()=>c4,$ZodDiscriminatedUnion:()=>QQ,$ZodDefault:()=>HQ,$ZodDate:()=>UQ,$ZodCustomStringFormat:()=>l4,$ZodCustom:()=>MQ,$ZodCodec:()=>X2,$ZodCheckUpperCase:()=>Z4,$ZodCheckStringFormat:()=>U0,$ZodCheckStartsWith:()=>z4,$ZodCheckSizeEquals:()=>X4,$ZodCheckRegex:()=>Y4,$ZodCheckProperty:()=>D4,$ZodCheckOverwrite:()=>H4,$ZodCheckNumberFormat:()=>$4,$ZodCheckMultipleOf:()=>s8,$ZodCheckMinSize:()=>v4,$ZodCheckMinLength:()=>j4,$ZodCheckMimeType:()=>L4,$ZodCheckMaxSize:()=>J4,$ZodCheckMaxLength:()=>Q4,$ZodCheckLowerCase:()=>W4,$ZodCheckLessThan:()=>AJ,$ZodCheckLengthEquals:()=>G4,$ZodCheckIncludes:()=>K4,$ZodCheckGreaterThan:()=>RJ,$ZodCheckEndsWith:()=>V4,$ZodCheckBigIntFormat:()=>U4,$ZodCheck:()=>V6,$ZodCatch:()=>BQ,$ZodCUID2:()=>_4,$ZodCUID:()=>T4,$ZodCIDRv6:()=>f4,$ZodCIDRv4:()=>h4,$ZodBoolean:()=>J2,$ZodBigIntFormat:()=>o4,$ZodBigInt:()=>xJ,$ZodBase64URL:()=>m4,$ZodBase64:()=>n4,$ZodAsyncError:()=>k1,$ZodArray:()=>JQ,$ZodAny:()=>a4});var $1=H$(()=>{g$();kJ();M9();D2();S7();w7();LU();k8();B8();CQ();TJ();O4();Z2();E7();V2()});var Vv={};Y1(Vv,{uppercase:()=>Q0,trim:()=>K0,toUpperCase:()=>V0,toLowerCase:()=>z0,startsWith:()=>G0,slugify:()=>D0,size:()=>IU,regex:()=>v0,property:()=>Yv,positive:()=>Xv,overwrite:()=>N1,normalize:()=>Z0,nonpositive:()=>jv,nonnegative:()=>Gv,negative:()=>Qv,multipleOf:()=>d1,minSize:()=>T1,minLength:()=>w1,mime:()=>W0,maxSize:()=>p1,maxLength:()=>BU,lte:()=>s6,lt:()=>A1,lowercase:()=>X0,length:()=>qU,includes:()=>j0,gte:()=>n6,gt:()=>R1,endsWith:()=>Y0});var Dv=H$(()=>{$1()});var N0={};Y1(N0,{time:()=>Xj,duration:()=>Qj,datetime:()=>Jj,date:()=>vj,ZodISOTime:()=>Nv,ZodISODuration:()=>Ov,ZodISODateTime:()=>Lv,ZodISODate:()=>Hv});function Jj($){return g9(Lv,$)}function vj($){return y9(Hv,$)}function Xj($){return h9(Nv,$)}function Qj($){return f9(Ov,$)}var Lv,Hv,Nv,Ov;var L2=H$(()=>{$1();N2();Lv=l("ZodISODateTime",($,U)=>{E4.init($,U),Z6.init($,U)});Hv=l("ZodISODate",($,U)=>{S4.init($,U),Z6.init($,U)});Nv=l("ZodISOTime",($,U)=>{x4.init($,U),Z6.init($,U)});Ov=l("ZodISODuration",($,U)=>{w4.init($,U),Z6.init($,U)})});var u7=($,U)=>{t0.init($,U),$.name="ZodError",Object.defineProperties($,{format:{value:(X)=>e0($,X)},flatten:{value:(X)=>a0($,X)},addIssue:{value:(X)=>{$.issues.push(X),$.message=JSON.stringify($.issues,dU,2)}},addIssues:{value:(X)=>{$.issues.push(...X),$.message=JSON.stringify($.issues,dU,2)}},isEmpty:{get(){return $.issues.length===0}}})},xO,d6;var jj=H$(()=>{$1();$1();g$();xO=l("ZodError",u7),d6=l("ZodError",u7,{Parent:Error})});var Gj,Yj,Wj,Zj,Kj,zj,Vj,Dj,Lj,Hj,Nj,Oj;var Ij=H$(()=>{$1();jj();Gj=aU(d6),Yj=eU(d6),Wj=sU(d6),Zj=$0(d6),Kj=DJ(d6),zj=LJ(d6),Vj=HJ(d6),Dj=NJ(d6),Lj=OJ(d6),Hj=IJ(d6),Nj=BJ(d6),Oj=qJ(d6)});var H2={};Y1(H2,{xor:()=>_Z,xid:()=>t7,void:()=>qZ,uuidv7:()=>m7,uuidv6:()=>n7,uuidv4:()=>b7,uuid:()=>f7,url:()=>c7,unknown:()=>PU,union:()=>bv,undefined:()=>IZ,ulid:()=>p7,uint64:()=>NZ,uint32:()=>DZ,tuple:()=>yj,transform:()=>mv,templateLiteral:()=>nZ,symbol:()=>OZ,superRefine:()=>KG,success:()=>yZ,stringbool:()=>pZ,stringFormat:()=>GZ,string:()=>O2,strictObject:()=>RZ,set:()=>SZ,refine:()=>ZG,record:()=>hj,readonly:()=>XG,promise:()=>mZ,preprocess:()=>aZ,prefault:()=>tj,pipe:()=>Bv,partialRecord:()=>CZ,optional:()=>B2,object:()=>AZ,number:()=>qj,nullish:()=>gZ,nullable:()=>q2,null:()=>Tj,nonoptional:()=>aj,never:()=>fv,nativeEnum:()=>xZ,nanoid:()=>r7,nan:()=>hZ,meta:()=>oZ,map:()=>EZ,mac:()=>s7,looseRecord:()=>FZ,looseObject:()=>TZ,literal:()=>wZ,lazy:()=>GG,ksuid:()=>a7,keyof:()=>kZ,jwt:()=>jZ,json:()=>tZ,ipv6:()=>$Z,ipv4:()=>e7,invertCodec:()=>bZ,intersection:()=>uj,int64:()=>HZ,int32:()=>VZ,int:()=>Iv,instanceof:()=>dZ,httpUrl:()=>i7,hostname:()=>YZ,hex:()=>WZ,hash:()=>ZZ,guid:()=>h7,function:()=>cZ,float64:()=>zZ,float32:()=>KZ,file:()=>uZ,exactOptional:()=>lj,enum:()=>nv,emoji:()=>l7,email:()=>y7,e164:()=>QZ,discriminatedUnion:()=>MZ,describe:()=>rZ,date:()=>PZ,custom:()=>lZ,cuid2:()=>d7,cuid:()=>o7,codec:()=>fZ,cidrv6:()=>JZ,cidrv4:()=>UZ,check:()=>iZ,catch:()=>$G,boolean:()=>Pj,bigint:()=>LZ,base64url:()=>XZ,base64:()=>vZ,array:()=>R2,any:()=>BZ,_function:()=>cZ,_default:()=>dj,_ZodString:()=>qv,ZodXor:()=>Sj,ZodXID:()=>Mv,ZodVoid:()=>Fj,ZodUnknown:()=>Mj,ZodUnion:()=>_2,ZodUndefined:()=>Aj,ZodUUID:()=>_1,ZodURL:()=>k2,ZodULID:()=>_v,ZodType:()=>d$,ZodTuple:()=>gj,ZodTransform:()=>cj,ZodTemplateLiteral:()=>QG,ZodSymbol:()=>kj,ZodSuccess:()=>ej,ZodStringFormat:()=>Z6,ZodString:()=>B0,ZodSet:()=>bj,ZodRecord:()=>O0,ZodReadonly:()=>vG,ZodPromise:()=>YG,ZodPreprocess:()=>JG,ZodPrefault:()=>pj,ZodPipe:()=>M2,ZodOptional:()=>cv,ZodObject:()=>T2,ZodNumberFormat:()=>kU,ZodNumber:()=>P0,ZodNullable:()=>rj,ZodNull:()=>Rj,ZodNonOptional:()=>iv,ZodNever:()=>Cj,ZodNanoID:()=>Av,ZodNaN:()=>UG,ZodMap:()=>fj,ZodMAC:()=>Bj,ZodLiteral:()=>nj,ZodLazy:()=>jG,ZodKSUID:()=>Cv,ZodJWT:()=>yv,ZodIntersection:()=>wj,ZodIPv6:()=>Ev,ZodIPv4:()=>Fv,ZodGUID:()=>I2,ZodFunction:()=>WG,ZodFile:()=>mj,ZodExactOptional:()=>ij,ZodEnum:()=>I0,ZodEmoji:()=>kv,ZodEmail:()=>Pv,ZodE164:()=>gv,ZodDiscriminatedUnion:()=>xj,ZodDefault:()=>oj,ZodDate:()=>A2,ZodCustomStringFormat:()=>q0,ZodCustom:()=>F2,ZodCodec:()=>C2,ZodCatch:()=>sj,ZodCUID2:()=>Tv,ZodCUID:()=>Rv,ZodCIDRv6:()=>xv,ZodCIDRv4:()=>Sv,ZodBoolean:()=>k0,ZodBigIntFormat:()=>hv,ZodBigInt:()=>A0,ZodBase64URL:()=>uv,ZodBase64:()=>wv,ZodArray:()=>Ej,ZodAny:()=>_j});function P2($,U,X){let Q=Object.getPrototypeOf($),J=g7.get(Q);if(!J)J=new Set,g7.set(Q,J);if(J.has(U))return;J.add(U);for(let j in X){let G=X[j];Object.defineProperty(Q,j,{configurable:!0,enumerable:!1,get(){let W=G.bind(this);return Object.defineProperty(this,j,{configurable:!0,writable:!0,enumerable:!0,value:W}),W},set(W){Object.defineProperty(this,j,{configurable:!0,writable:!0,enumerable:!0,value:W})}})}}function O2($){return S9(B0,$)}function y7($){return hJ(Pv,$)}function h7($){return K2(I2,$)}function f7($){return fJ(_1,$)}function b7($){return bJ(_1,$)}function n7($){return nJ(_1,$)}function m7($){return mJ(_1,$)}function c7($){return z2(k2,$)}function i7($){return z2(k2,{protocol:e6.httpProtocol,hostname:e6.domain,...k$.normalizeParams($)})}function l7($){return cJ(kv,$)}function r7($){return iJ(Av,$)}function o7($){return lJ(Rv,$)}function d7($){return rJ(Tv,$)}function p7($){return oJ(_v,$)}function t7($){return dJ(Mv,$)}function a7($){return pJ(Cv,$)}function e7($){return tJ(Fv,$)}function s7($){return w9(Bj,$)}function $Z($){return aJ(Ev,$)}function UZ($){return eJ(Sv,$)}function JZ($){return sJ(xv,$)}function vZ($){return $v(wv,$)}function XZ($){return Uv(uv,$)}function QZ($){return Jv(gv,$)}function jZ($){return vv(yv,$)}function GZ($,U,X={}){return L0(q0,$,U,X)}function YZ($){return L0(q0,"hostname",e6.hostname,$)}function WZ($){return L0(q0,"hex",e6.hex,$)}function ZZ($,U){let X=U?.enc??"hex",Q=`${$}_${X}`,J=e6[Q];if(!J)throw Error(`Unrecognized hash format: ${Q}`);return L0(q0,Q,J,U)}function qj($){return b9(P0,$)}function Iv($){return m9(kU,$)}function KZ($){return c9(kU,$)}function zZ($){return i9(kU,$)}function VZ($){return l9(kU,$)}function DZ($){return r9(kU,$)}function Pj($){return o9(k0,$)}function LZ($){return p9(A0,$)}function HZ($){return a9(hv,$)}function NZ($){return e9(hv,$)}function OZ($){return s9(kj,$)}function IZ($){return $3(Aj,$)}function Tj($){return U3(Rj,$)}function BZ(){return J3(_j)}function PU(){return v3(Mj)}function fv($){return X3(Cj,$)}function qZ($){return Q3(Fj,$)}function PZ($){return j3(A2,$)}function R2($,U){return W3(Ej,$,U)}function kZ($){let U=$._zod.def.shape;return nv(Object.keys(U))}function AZ($,U){let X={type:"object",shape:$??{},...k$.normalizeParams(U)};return new T2(X)}function RZ($,U){return new T2({type:"object",shape:$,catchall:fv(),...k$.normalizeParams(U)})}function TZ($,U){return new T2({type:"object",shape:$,catchall:PU(),...k$.normalizeParams(U)})}function bv($,U){return new _2({type:"union",options:$,...k$.normalizeParams(U)})}function _Z($,U){return new Sj({type:"union",options:$,inclusive:!1,...k$.normalizeParams(U)})}function MZ($,U,X){return new xj({type:"union",options:U,discriminator:$,...k$.normalizeParams(X)})}function uj($,U){return new wj({type:"intersection",left:$,right:U})}function yj($,U,X){let Q=U instanceof i$,J=Q?X:U;return new gj({type:"tuple",items:$,rest:Q?U:null,...k$.normalizeParams(J)})}function hj($,U,X){if(!U||!U._zod)return new O0({type:"record",keyType:O2(),valueType:$,...k$.normalizeParams(U)});return new O0({type:"record",keyType:$,valueType:U,...k$.normalizeParams(X)})}function CZ($,U,X){let Q=f6($);return Q._zod.values=void 0,new O0({type:"record",keyType:Q,valueType:U,...k$.normalizeParams(X)})}function FZ($,U,X){return new O0({type:"record",keyType:$,valueType:U,mode:"loose",...k$.normalizeParams(X)})}function EZ($,U,X){return new fj({type:"map",keyType:$,valueType:U,...k$.normalizeParams(X)})}function SZ($,U){return new bj({type:"set",valueType:$,...k$.normalizeParams(U)})}function nv($,U){let X=Array.isArray($)?Object.fromEntries($.map((Q)=>[Q,Q])):$;return new I0({type:"enum",entries:X,...k$.normalizeParams(U)})}function xZ($,U){return new I0({type:"enum",entries:$,...k$.normalizeParams(U)})}function wZ($,U){return new nj({type:"literal",values:Array.isArray($)?$:[$],...k$.normalizeParams(U)})}function uZ($){return Z3(mj,$)}function mv($){return new cj({type:"transform",transform:$})}function B2($){return new cv({type:"optional",innerType:$})}function lj($){return new ij({type:"optional",innerType:$})}function q2($){return new rj({type:"nullable",innerType:$})}function gZ($){return B2(q2($))}function dj($,U){return new oj({type:"default",innerType:$,get defaultValue(){return typeof U==="function"?U():k$.shallowClone(U)}})}function tj($,U){return new pj({type:"prefault",innerType:$,get defaultValue(){return typeof U==="function"?U():k$.shallowClone(U)}})}function aj($,U){return new iv({type:"nonoptional",innerType:$,...k$.normalizeParams(U)})}function yZ($){return new ej({type:"success",innerType:$})}function $G($,U){return new sj({type:"catch",innerType:$,catchValue:typeof U==="function"?U:()=>U})}function hZ($){return Y3(UG,$)}function Bv($,U){return new M2({type:"pipe",in:$,out:U})}function fZ($,U,X){return new C2({type:"pipe",in:$,out:U,transform:X.decode,reverseTransform:X.encode})}function bZ($){let U=$._zod.def;return new C2({type:"pipe",in:U.out,out:U.in,transform:U.reverseTransform,reverseTransform:U.transform})}function XG($){return new vG({type:"readonly",innerType:$})}function nZ($,U){return new QG({type:"template_literal",parts:$,...k$.normalizeParams(U)})}function GG($){return new jG({type:"lazy",getter:$})}function mZ($){return new YG({type:"promise",innerType:$})}function cZ($){return new WG({type:"function",input:Array.isArray($?.input)?yj($?.input):$?.input??R2(PU()),output:$?.output??PU()})}function iZ($){let U=new V6({check:"custom"});return U._zod.check=$,U}function lZ($,U){return K3(F2,$??(()=>!0),U)}function ZG($,U={}){return z3(F2,$,U)}function KG($,U){return V3($,U)}function dZ($,U={}){let X=new F2({type:"custom",check:"custom",fn:(Q)=>Q instanceof $,abort:!0,...k$.normalizeParams(U)});return X._zod.bag.Class=$,X._zod.check=(Q)=>{if(!(Q.value instanceof $))Q.issues.push({code:"invalid_type",expected:$.name,input:Q.value,inst:X,path:[...X._zod.def.path??[]]})},X}function tZ($){let U=GG(()=>{return bv([O2($),qj(),Pj(),Tj(),R2(U),hj(O2(),U)])});return U}function aZ($,U){return new JG({type:"pipe",in:mv($),out:U})}var g7,d$,qv,B0,Z6,Pv,I2,_1,k2,kv,Av,Rv,Tv,_v,Mv,Cv,Fv,Bj,Ev,Sv,xv,wv,uv,gv,yv,q0,P0,kU,k0,A0,hv,kj,Aj,Rj,_j,Mj,Cj,Fj,A2,Ej,T2,_2,Sj,xj,wj,gj,O0,fj,bj,I0,nj,mj,cj,cv,ij,rj,oj,pj,iv,ej,sj,UG,M2,C2,JG,vG,QG,jG,YG,WG,F2,rZ,oZ,pZ=(...$)=>H3({Codec:C2,Boolean:k0,String:B0},...$);var N2=H$(()=>{$1();$1();D2();V2();Dv();L2();Ij();g7=new WeakMap;d$=l("ZodType",($,U)=>{return i$.init($,U),Object.assign($["~standard"],{jsonSchema:{input:H0($,"input"),output:H0($,"output")}}),$.toJSONSchema=N3($,{}),$.def=U,$.type=U.type,Object.defineProperty($,"_def",{value:U}),$.parse=(X,Q)=>Gj($,X,Q,{callee:$.parse}),$.safeParse=(X,Q)=>Wj($,X,Q),$.parseAsync=async(X,Q)=>Yj($,X,Q,{callee:$.parseAsync}),$.safeParseAsync=async(X,Q)=>Zj($,X,Q),$.spa=$.safeParseAsync,$.encode=(X,Q)=>Kj($,X,Q),$.decode=(X,Q)=>zj($,X,Q),$.encodeAsync=async(X,Q)=>Vj($,X,Q),$.decodeAsync=async(X,Q)=>Dj($,X,Q),$.safeEncode=(X,Q)=>Lj($,X,Q),$.safeDecode=(X,Q)=>Hj($,X,Q),$.safeEncodeAsync=async(X,Q)=>Nj($,X,Q),$.safeDecodeAsync=async(X,Q)=>Oj($,X,Q),P2($,"ZodType",{check(...X){let Q=this.def;return this.clone(k$.mergeDefs(Q,{checks:[...Q.checks??[],...X.map((J)=>typeof J==="function"?{_zod:{check:J,def:{check:"custom"},onattach:[]}}:J)]}),{parent:!0})},with(...X){return this.check(...X)},clone(X,Q){return f6(this,X,Q)},brand(){return this},register(X,Q){return X.add(this,Q),this},refine(X,Q){return this.check(ZG(X,Q))},superRefine(X,Q){return this.check(KG(X,Q))},overwrite(X){return this.check(N1(X))},optional(){return B2(this)},exactOptional(){return lj(this)},nullable(){return q2(this)},nullish(){return B2(q2(this))},nonoptional(X){return aj(this,X)},array(){return R2(this)},or(X){return bv([this,X])},and(X){return uj(this,X)},transform(X){return Bv(this,mv(X))},default(X){return dj(this,X)},prefault(X){return tj(this,X)},catch(X){return $G(this,X)},pipe(X){return Bv(this,X)},readonly(){return XG(this)},describe(X){let Q=this.clone();return C6.add(Q,{description:X}),Q},meta(...X){if(X.length===0)return C6.get(this);let Q=this.clone();return C6.add(Q,X[0]),Q},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(X){return X(this)}}),Object.defineProperty($,"description",{get(){return C6.get($)?.description},configurable:!0}),$}),qv=l("_ZodString",($,U)=>{OU.init($,U),d$.init($,U),$._zod.processJSONSchema=(Q,J,j)=>O3($,Q,J,j);let X=$._zod.bag;$.format=X.format??null,$.minLength=X.minimum??null,$.maxLength=X.maximum??null,P2($,"_ZodString",{regex(...Q){return this.check(v0(...Q))},includes(...Q){return this.check(j0(...Q))},startsWith(...Q){return this.check(G0(...Q))},endsWith(...Q){return this.check(Y0(...Q))},min(...Q){return this.check(w1(...Q))},max(...Q){return this.check(BU(...Q))},length(...Q){return this.check(qU(...Q))},nonempty(...Q){return this.check(w1(1,...Q))},lowercase(Q){return this.check(X0(Q))},uppercase(Q){return this.check(Q0(Q))},trim(){return this.check(K0())},normalize(...Q){return this.check(Z0(...Q))},toLowerCase(){return this.check(z0())},toUpperCase(){return this.check(V0())},slugify(){return this.check(D0())}})}),B0=l("ZodString",($,U)=>{OU.init($,U),qv.init($,U),$.email=(X)=>$.check(hJ(Pv,X)),$.url=(X)=>$.check(z2(k2,X)),$.jwt=(X)=>$.check(vv(yv,X)),$.emoji=(X)=>$.check(cJ(kv,X)),$.guid=(X)=>$.check(K2(I2,X)),$.uuid=(X)=>$.check(fJ(_1,X)),$.uuidv4=(X)=>$.check(bJ(_1,X)),$.uuidv6=(X)=>$.check(nJ(_1,X)),$.uuidv7=(X)=>$.check(mJ(_1,X)),$.nanoid=(X)=>$.check(iJ(Av,X)),$.guid=(X)=>$.check(K2(I2,X)),$.cuid=(X)=>$.check(lJ(Rv,X)),$.cuid2=(X)=>$.check(rJ(Tv,X)),$.ulid=(X)=>$.check(oJ(_v,X)),$.base64=(X)=>$.check($v(wv,X)),$.base64url=(X)=>$.check(Uv(uv,X)),$.xid=(X)=>$.check(dJ(Mv,X)),$.ksuid=(X)=>$.check(pJ(Cv,X)),$.ipv4=(X)=>$.check(tJ(Fv,X)),$.ipv6=(X)=>$.check(aJ(Ev,X)),$.cidrv4=(X)=>$.check(eJ(Sv,X)),$.cidrv6=(X)=>$.check(sJ(xv,X)),$.e164=(X)=>$.check(Jv(gv,X)),$.datetime=(X)=>$.check(Jj(X)),$.date=(X)=>$.check(vj(X)),$.time=(X)=>$.check(Xj(X)),$.duration=(X)=>$.check(Qj(X))});Z6=l("ZodStringFormat",($,U)=>{W6.init($,U),qv.init($,U)}),Pv=l("ZodEmail",($,U)=>{P4.init($,U),Z6.init($,U)});I2=l("ZodGUID",($,U)=>{B4.init($,U),Z6.init($,U)});_1=l("ZodUUID",($,U)=>{q4.init($,U),Z6.init($,U)});k2=l("ZodURL",($,U)=>{k4.init($,U),Z6.init($,U)});kv=l("ZodEmoji",($,U)=>{A4.init($,U),Z6.init($,U)});Av=l("ZodNanoID",($,U)=>{R4.init($,U),Z6.init($,U)});Rv=l("ZodCUID",($,U)=>{T4.init($,U),Z6.init($,U)});Tv=l("ZodCUID2",($,U)=>{_4.init($,U),Z6.init($,U)});_v=l("ZodULID",($,U)=>{M4.init($,U),Z6.init($,U)});Mv=l("ZodXID",($,U)=>{C4.init($,U),Z6.init($,U)});Cv=l("ZodKSUID",($,U)=>{F4.init($,U),Z6.init($,U)});Fv=l("ZodIPv4",($,U)=>{u4.init($,U),Z6.init($,U)});Bj=l("ZodMAC",($,U)=>{y4.init($,U),Z6.init($,U)});Ev=l("ZodIPv6",($,U)=>{g4.init($,U),Z6.init($,U)});Sv=l("ZodCIDRv4",($,U)=>{h4.init($,U),Z6.init($,U)});xv=l("ZodCIDRv6",($,U)=>{f4.init($,U),Z6.init($,U)});wv=l("ZodBase64",($,U)=>{n4.init($,U),Z6.init($,U)});uv=l("ZodBase64URL",($,U)=>{m4.init($,U),Z6.init($,U)});gv=l("ZodE164",($,U)=>{c4.init($,U),Z6.init($,U)});yv=l("ZodJWT",($,U)=>{i4.init($,U),Z6.init($,U)});q0=l("ZodCustomStringFormat",($,U)=>{l4.init($,U),Z6.init($,U)});P0=l("ZodNumber",($,U)=>{SJ.init($,U),d$.init($,U),$._zod.processJSONSchema=(Q,J,j)=>I3($,Q,J,j),P2($,"ZodNumber",{gt(Q,J){return this.check(R1(Q,J))},gte(Q,J){return this.check(n6(Q,J))},min(Q,J){return this.check(n6(Q,J))},lt(Q,J){return this.check(A1(Q,J))},lte(Q,J){return this.check(s6(Q,J))},max(Q,J){return this.check(s6(Q,J))},int(Q){return this.check(Iv(Q))},safe(Q){return this.check(Iv(Q))},positive(Q){return this.check(R1(0,Q))},nonnegative(Q){return this.check(n6(0,Q))},negative(Q){return this.check(A1(0,Q))},nonpositive(Q){return this.check(s6(0,Q))},multipleOf(Q,J){return this.check(d1(Q,J))},step(Q,J){return this.check(d1(Q,J))},finite(){return this}});let X=$._zod.bag;$.minValue=Math.max(X.minimum??Number.NEGATIVE_INFINITY,X.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,$.maxValue=Math.min(X.maximum??Number.POSITIVE_INFINITY,X.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,$.isInt=(X.format??"").includes("int")||Number.isSafeInteger(X.multipleOf??0.5),$.isFinite=!0,$.format=X.format??null});kU=l("ZodNumberFormat",($,U)=>{r4.init($,U),P0.init($,U)});k0=l("ZodBoolean",($,U)=>{J2.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>B3($,X,Q,J)});A0=l("ZodBigInt",($,U)=>{xJ.init($,U),d$.init($,U),$._zod.processJSONSchema=(Q,J,j)=>q3($,Q,J,j),$.gte=(Q,J)=>$.check(n6(Q,J)),$.min=(Q,J)=>$.check(n6(Q,J)),$.gt=(Q,J)=>$.check(R1(Q,J)),$.gte=(Q,J)=>$.check(n6(Q,J)),$.min=(Q,J)=>$.check(n6(Q,J)),$.lt=(Q,J)=>$.check(A1(Q,J)),$.lte=(Q,J)=>$.check(s6(Q,J)),$.max=(Q,J)=>$.check(s6(Q,J)),$.positive=(Q)=>$.check(R1(BigInt(0),Q)),$.negative=(Q)=>$.check(A1(BigInt(0),Q)),$.nonpositive=(Q)=>$.check(s6(BigInt(0),Q)),$.nonnegative=(Q)=>$.check(n6(BigInt(0),Q)),$.multipleOf=(Q,J)=>$.check(d1(Q,J));let X=$._zod.bag;$.minValue=X.minimum??null,$.maxValue=X.maximum??null,$.format=X.format??null});hv=l("ZodBigIntFormat",($,U)=>{o4.init($,U),A0.init($,U)});kj=l("ZodSymbol",($,U)=>{d4.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>P3($,X,Q,J)});Aj=l("ZodUndefined",($,U)=>{p4.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>A3($,X,Q,J)});Rj=l("ZodNull",($,U)=>{t4.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>k3($,X,Q,J)});_j=l("ZodAny",($,U)=>{a4.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>_3($,X,Q,J)});Mj=l("ZodUnknown",($,U)=>{e4.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>M3($,X,Q,J)});Cj=l("ZodNever",($,U)=>{s4.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>T3($,X,Q,J)});Fj=l("ZodVoid",($,U)=>{$Q.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>R3($,X,Q,J)});A2=l("ZodDate",($,U)=>{UQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(Q,J,j)=>C3($,Q,J,j),$.min=(Q,J)=>$.check(n6(Q,J)),$.max=(Q,J)=>$.check(s6(Q,J));let X=$._zod.bag;$.minDate=X.minimum?new Date(X.minimum):null,$.maxDate=X.maximum?new Date(X.maximum):null});Ej=l("ZodArray",($,U)=>{JQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>n3($,X,Q,J),$.element=U.element,P2($,"ZodArray",{min(X,Q){return this.check(w1(X,Q))},nonempty(X){return this.check(w1(1,X))},max(X,Q){return this.check(BU(X,Q))},length(X,Q){return this.check(qU(X,Q))},unwrap(){return this.element}})});T2=l("ZodObject",($,U)=>{vQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>m3($,X,Q,J),k$.defineLazy($,"shape",()=>{return U.shape}),P2($,"ZodObject",{keyof(){return nv(Object.keys(this._zod.def.shape))},catchall(X){return this.clone({...this._zod.def,catchall:X})},passthrough(){return this.clone({...this._zod.def,catchall:PU()})},loose(){return this.clone({...this._zod.def,catchall:PU()})},strict(){return this.clone({...this._zod.def,catchall:fv()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(X){return k$.extend(this,X)},safeExtend(X){return k$.safeExtend(this,X)},merge(X){return k$.merge(this,X)},pick(X){return k$.pick(this,X)},omit(X){return k$.omit(this,X)},partial(...X){return k$.partial(cv,this,X[0])},required(...X){return k$.required(iv,this,X[0])}})});_2=l("ZodUnion",($,U)=>{v2.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>Zv($,X,Q,J),$.options=U.options});Sj=l("ZodXor",($,U)=>{_2.init($,U),XQ.init($,U),$._zod.processJSONSchema=(X,Q,J)=>Zv($,X,Q,J),$.options=U.options});xj=l("ZodDiscriminatedUnion",($,U)=>{_2.init($,U),QQ.init($,U)});wj=l("ZodIntersection",($,U)=>{jQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>c3($,X,Q,J)});gj=l("ZodTuple",($,U)=>{wJ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>i3($,X,Q,J),$.rest=(X)=>$.clone({...$._zod.def,rest:X})});O0=l("ZodRecord",($,U)=>{GQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>l3($,X,Q,J),$.keyType=U.keyType,$.valueType=U.valueType});fj=l("ZodMap",($,U)=>{YQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>f3($,X,Q,J),$.keyType=U.keyType,$.valueType=U.valueType,$.min=(...X)=>$.check(T1(...X)),$.nonempty=(X)=>$.check(T1(1,X)),$.max=(...X)=>$.check(p1(...X)),$.size=(...X)=>$.check(IU(...X))});bj=l("ZodSet",($,U)=>{WQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>b3($,X,Q,J),$.min=(...X)=>$.check(T1(...X)),$.nonempty=(X)=>$.check(T1(1,X)),$.max=(...X)=>$.check(p1(...X)),$.size=(...X)=>$.check(IU(...X))});I0=l("ZodEnum",($,U)=>{ZQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(Q,J,j)=>F3($,Q,J,j),$.enum=U.entries,$.options=Object.values(U.entries);let X=new Set(Object.keys(U.entries));$.extract=(Q,J)=>{let j={};for(let G of Q)if(X.has(G))j[G]=U.entries[G];else throw Error(`Key ${G} not found in enum`);return new I0({...U,checks:[],...k$.normalizeParams(J),entries:j})},$.exclude=(Q,J)=>{let j={...U.entries};for(let G of Q)if(X.has(G))delete j[G];else throw Error(`Key ${G} not found in enum`);return new I0({...U,checks:[],...k$.normalizeParams(J),entries:j})}});nj=l("ZodLiteral",($,U)=>{KQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>E3($,X,Q,J),$.values=new Set(U.values),Object.defineProperty($,"value",{get(){if(U.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return U.values[0]}})});mj=l("ZodFile",($,U)=>{zQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>w3($,X,Q,J),$.min=(X,Q)=>$.check(T1(X,Q)),$.max=(X,Q)=>$.check(p1(X,Q)),$.mime=(X,Q)=>$.check(W0(Array.isArray(X)?X:[X],Q))});cj=l("ZodTransform",($,U)=>{VQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>h3($,X,Q,J),$._zod.parse=(X,Q)=>{if(Q.direction==="backward")throw new DU($.constructor.name);X.addIssue=(j)=>{if(typeof j==="string")X.issues.push(k$.issue(j,X.value,U));else{let G=j;if(G.fatal)G.continue=!1;G.code??(G.code="custom"),G.input??(G.input=X.value),G.inst??(G.inst=$),X.issues.push(k$.issue(G))}};let J=U.transform(X.value,X);if(J instanceof Promise)return J.then((j)=>{return X.value=j,X.fallback=!0,X});return X.value=J,X.fallback=!0,X}});cv=l("ZodOptional",($,U)=>{uJ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>Kv($,X,Q,J),$.unwrap=()=>$._zod.def.innerType});ij=l("ZodExactOptional",($,U)=>{DQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>Kv($,X,Q,J),$.unwrap=()=>$._zod.def.innerType});rj=l("ZodNullable",($,U)=>{LQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>r3($,X,Q,J),$.unwrap=()=>$._zod.def.innerType});oj=l("ZodDefault",($,U)=>{HQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>d3($,X,Q,J),$.unwrap=()=>$._zod.def.innerType,$.removeDefault=$.unwrap});pj=l("ZodPrefault",($,U)=>{NQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>p3($,X,Q,J),$.unwrap=()=>$._zod.def.innerType});iv=l("ZodNonOptional",($,U)=>{OQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>o3($,X,Q,J),$.unwrap=()=>$._zod.def.innerType});ej=l("ZodSuccess",($,U)=>{IQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>u3($,X,Q,J),$.unwrap=()=>$._zod.def.innerType});sj=l("ZodCatch",($,U)=>{BQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>t3($,X,Q,J),$.unwrap=()=>$._zod.def.innerType,$.removeCatch=$.unwrap});UG=l("ZodNaN",($,U)=>{qQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>S3($,X,Q,J)});M2=l("ZodPipe",($,U)=>{gJ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>a3($,X,Q,J),$.in=U.in,$.out=U.out});C2=l("ZodCodec",($,U)=>{M2.init($,U),X2.init($,U)});JG=l("ZodPreprocess",($,U)=>{M2.init($,U),PQ.init($,U)}),vG=l("ZodReadonly",($,U)=>{kQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>e3($,X,Q,J),$.unwrap=()=>$._zod.def.innerType});QG=l("ZodTemplateLiteral",($,U)=>{AQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>x3($,X,Q,J)});jG=l("ZodLazy",($,U)=>{_Q.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>$j($,X,Q,J),$.unwrap=()=>$._zod.def.getter()});YG=l("ZodPromise",($,U)=>{TQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>s3($,X,Q,J),$.unwrap=()=>$._zod.def.innerType});WG=l("ZodFunction",($,U)=>{RQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>y3($,X,Q,J)});F2=l("ZodCustom",($,U)=>{MQ.init($,U),d$.init($,U),$._zod.processJSONSchema=(X,Q,J)=>g3($,X,Q,J)});rZ=D3,oZ=L3});function gO($){H6({customError:$})}function yO(){return H6().customError}var uO,zG;var eZ=H$(()=>{$1();uO={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};(function($){})(zG||(zG={}))});function fO($,U){let X=$.$schema;if(X==="https://json-schema.org/draft/2020-12/schema")return"draft-2020-12";if(X==="http://json-schema.org/draft-07/schema#")return"draft-7";if(X==="http://json-schema.org/draft-04/schema#")return"draft-4";return U??"draft-2020-12"}function bO($,U){if(!$.startsWith("#"))throw Error("External $ref is not supported, only local refs (#/...) are allowed");let X=$.slice(1).split("/").filter(Boolean);if(X.length===0)return U.rootSchema;let Q=U.version==="draft-2020-12"?"$defs":"definitions";if(X[0]===Q){let J=X[1];if(!J||!U.defs[J])throw Error(`Reference not found: ${$}`);return U.defs[J]}throw Error(`Reference not found: ${$}`)}function sZ($,U){if($.not!==void 0){if(typeof $.not==="object"&&Object.keys($.not).length===0)return E$.never();throw Error("not is not supported in Zod (except { not: {} } for never)")}if($.unevaluatedItems!==void 0)throw Error("unevaluatedItems is not supported");if($.unevaluatedProperties!==void 0)throw Error("unevaluatedProperties is not supported");if($.if!==void 0||$.then!==void 0||$.else!==void 0)throw Error("Conditional schemas (if/then/else) are not supported");if($.dependentSchemas!==void 0||$.dependentRequired!==void 0)throw Error("dependentSchemas and dependentRequired are not supported");if($.$ref){let J=$.$ref;if(U.refs.has(J))return U.refs.get(J);if(U.processing.has(J))return E$.lazy(()=>{if(!U.refs.has(J))throw Error(`Circular reference not resolved: ${J}`);return U.refs.get(J)});U.processing.add(J);let j=bO(J,U),G=S6(j,U);return U.refs.set(J,G),U.processing.delete(J),G}if($.enum!==void 0){let J=$.enum;if(U.version==="openapi-3.0"&&$.nullable===!0&&J.length===1&&J[0]===null)return E$.null();if(J.length===0)return E$.never();if(J.length===1)return E$.literal(J[0]);if(J.every((G)=>typeof G==="string"))return E$.enum(J);let j=J.map((G)=>E$.literal(G));if(j.length<2)return j[0];return E$.union([j[0],j[1],...j.slice(2)])}if($.const!==void 0)return E$.literal($.const);let X=$.type;if(Array.isArray(X)){let J=X.map((j)=>{let G={...$,type:j};return sZ(G,U)});if(J.length===0)return E$.never();if(J.length===1)return J[0];return E$.union(J)}if(!X)return E$.any();let Q;switch(X){case"string":{let J=E$.string();if($.format){let j=$.format;if(j==="email")J=J.check(E$.email());else if(j==="uri"||j==="uri-reference")J=J.check(E$.url());else if(j==="uuid"||j==="guid")J=J.check(E$.uuid());else if(j==="date-time")J=J.check(E$.iso.datetime());else if(j==="date")J=J.check(E$.iso.date());else if(j==="time")J=J.check(E$.iso.time());else if(j==="duration")J=J.check(E$.iso.duration());else if(j==="ipv4")J=J.check(E$.ipv4());else if(j==="ipv6")J=J.check(E$.ipv6());else if(j==="mac")J=J.check(E$.mac());else if(j==="cidr")J=J.check(E$.cidrv4());else if(j==="cidr-v6")J=J.check(E$.cidrv6());else if(j==="base64")J=J.check(E$.base64());else if(j==="base64url")J=J.check(E$.base64url());else if(j==="e164")J=J.check(E$.e164());else if(j==="jwt")J=J.check(E$.jwt());else if(j==="emoji")J=J.check(E$.emoji());else if(j==="nanoid")J=J.check(E$.nanoid());else if(j==="cuid")J=J.check(E$.cuid());else if(j==="cuid2")J=J.check(E$.cuid2());else if(j==="ulid")J=J.check(E$.ulid());else if(j==="xid")J=J.check(E$.xid());else if(j==="ksuid")J=J.check(E$.ksuid())}if(typeof $.minLength==="number")J=J.min($.minLength);if(typeof $.maxLength==="number")J=J.max($.maxLength);if($.pattern)J=J.regex(new RegExp($.pattern));Q=J;break}case"number":case"integer":{let J=X==="integer"?E$.number().int():E$.number();if(typeof $.minimum==="number")J=J.min($.minimum);if(typeof $.maximum==="number")J=J.max($.maximum);if(typeof $.exclusiveMinimum==="number")J=J.gt($.exclusiveMinimum);else if($.exclusiveMinimum===!0&&typeof $.minimum==="number")J=J.gt($.minimum);if(typeof $.exclusiveMaximum==="number")J=J.lt($.exclusiveMaximum);else if($.exclusiveMaximum===!0&&typeof $.maximum==="number")J=J.lt($.maximum);if(typeof $.multipleOf==="number")J=J.multipleOf($.multipleOf);Q=J;break}case"boolean":{Q=E$.boolean();break}case"null":{Q=E$.null();break}case"object":{let J={},j=$.properties||{},G=new Set($.required||[]);for(let[z,D]of Object.entries(j)){let A=S6(D,U);J[z]=G.has(z)?A:A.optional()}if($.propertyNames){let z=S6($.propertyNames,U),D=$.additionalProperties&&typeof $.additionalProperties==="object"?S6($.additionalProperties,U):E$.any();if(Object.keys(J).length===0){Q=E$.record(z,D);break}let A=E$.object(J).passthrough(),T=E$.looseRecord(z,D);Q=E$.intersection(A,T);break}if($.patternProperties){let z=$.patternProperties,D=Object.keys(z),A=[];for(let h of D){let o=S6(z[h],U),V$=E$.string().regex(new RegExp(h));A.push(E$.looseRecord(V$,o))}let T=[];if(Object.keys(J).length>0)T.push(E$.object(J).passthrough());if(T.push(...A),T.length===0)Q=E$.object({}).passthrough();else if(T.length===1)Q=T[0];else{let h=E$.intersection(T[0],T[1]);for(let o=2;o<T.length;o++)h=E$.intersection(h,T[o]);Q=h}break}let W=E$.object(J);if($.additionalProperties===!1)Q=W.strict();else if(typeof $.additionalProperties==="object")Q=W.catchall(S6($.additionalProperties,U));else Q=W.passthrough();break}case"array":{let{prefixItems:J,items:j}=$;if(J&&Array.isArray(J)){let G=J.map((z)=>S6(z,U)),W=j&&typeof j==="object"&&!Array.isArray(j)?S6(j,U):void 0;if(W)Q=E$.tuple(G).rest(W);else Q=E$.tuple(G);if(typeof $.minItems==="number")Q=Q.check(E$.minLength($.minItems));if(typeof $.maxItems==="number")Q=Q.check(E$.maxLength($.maxItems))}else if(Array.isArray(j)){let G=j.map((z)=>S6(z,U)),W=$.additionalItems&&typeof $.additionalItems==="object"?S6($.additionalItems,U):void 0;if(W)Q=E$.tuple(G).rest(W);else Q=E$.tuple(G);if(typeof $.minItems==="number")Q=Q.check(E$.minLength($.minItems));if(typeof $.maxItems==="number")Q=Q.check(E$.maxLength($.maxItems))}else if(j!==void 0){let G=S6(j,U),W=E$.array(G);if(typeof $.minItems==="number")W=W.min($.minItems);if(typeof $.maxItems==="number")W=W.max($.maxItems);Q=W}else Q=E$.array(E$.any());break}default:throw Error(`Unsupported type: ${X}`)}return Q}function S6($,U){if(typeof $==="boolean")return $?E$.any():E$.never();let X=sZ($,U),Q=$.type||$.enum!==void 0||$.const!==void 0;if($.anyOf&&Array.isArray($.anyOf)){let W=$.anyOf.map((D)=>S6(D,U)),z=E$.union(W);X=Q?E$.intersection(X,z):z}if($.oneOf&&Array.isArray($.oneOf)){let W=$.oneOf.map((D)=>S6(D,U)),z=E$.xor(W);X=Q?E$.intersection(X,z):z}if($.allOf&&Array.isArray($.allOf))if($.allOf.length===0)X=Q?X:E$.any();else{let W=Q?X:S6($.allOf[0],U),z=Q?0:1;for(let D=z;D<$.allOf.length;D++)W=E$.intersection(W,S6($.allOf[D],U));X=W}if($.nullable===!0&&U.version==="openapi-3.0")X=E$.nullable(X);if($.readOnly===!0)X=E$.readonly(X);if($.default!==void 0)X=X.default($.default);let J={},j=["$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor"];for(let W of j)if(W in $)J[W]=$[W];let G=["contentEncoding","contentMediaType","contentSchema"];for(let W of G)if(W in $)J[W]=$[W];for(let W of Object.keys($))if(!hO.has(W))J[W]=$[W];if(Object.keys(J).length>0)U.registry.add(X,J);if($.description)X=X.describe($.description);return X}function $K($,U){if(typeof $==="boolean")return $?E$.any():E$.never();let X;try{X=JSON.parse(JSON.stringify($))}catch{throw Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas")}let Q=fO(X,U?.defaultTarget),J=X.$defs||X.definitions||{},j={version:Q,defs:J,refs:new Map,processing:new Set,rootSchema:X,registry:U?.registry??C6};return S6(X,j)}var E$,hO;var UK=H$(()=>{Z2();Dv();L2();N2();E$={...H2,...Vv,iso:N0},hO=new Set(["$schema","$ref","$defs","definitions","$id","id","$comment","$anchor","$vocabulary","$dynamicRef","$dynamicAnchor","type","enum","const","anyOf","oneOf","allOf","not","properties","required","additionalProperties","patternProperties","propertyNames","minProperties","maxProperties","items","prefixItems","additionalItems","minItems","maxItems","uniqueItems","contains","minContains","maxContains","minLength","maxLength","pattern","format","minimum","maximum","exclusiveMinimum","exclusiveMaximum","multipleOf","description","default","contentEncoding","contentMediaType","contentSchema","unevaluatedItems","unevaluatedProperties","if","then","else","dependentSchemas","dependentRequired","nullable","readOnly"])});var VG={};Y1(VG,{string:()=>nO,number:()=>mO,date:()=>lO,boolean:()=>cO,bigint:()=>iO});function nO($){return x9(B0,$)}function mO($){return n9(P0,$)}function cO($){return d9(k0,$)}function iO($){return t9(A0,$)}function lO($){return G3(A2,$)}var JK=H$(()=>{$1();N2()});var l$={};Y1(l$,{xor:()=>_Z,xid:()=>t7,void:()=>qZ,uuidv7:()=>m7,uuidv6:()=>n7,uuidv4:()=>b7,uuid:()=>f7,util:()=>k$,url:()=>c7,uppercase:()=>Q0,unknown:()=>PU,union:()=>bv,undefined:()=>IZ,ulid:()=>p7,uint64:()=>NZ,uint32:()=>DZ,tuple:()=>yj,trim:()=>K0,treeifyError:()=>O8,transform:()=>mv,toUpperCase:()=>V0,toLowerCase:()=>z0,toJSONSchema:()=>zv,templateLiteral:()=>nZ,symbol:()=>OZ,superRefine:()=>KG,success:()=>yZ,stringbool:()=>pZ,stringFormat:()=>GZ,string:()=>O2,strictObject:()=>RZ,startsWith:()=>G0,slugify:()=>D0,size:()=>IU,setErrorMap:()=>gO,set:()=>SZ,safeParseAsync:()=>Zj,safeParse:()=>Wj,safeEncodeAsync:()=>Nj,safeEncode:()=>Lj,safeDecodeAsync:()=>Oj,safeDecode:()=>Hj,registry:()=>yJ,regexes:()=>e6,regex:()=>v0,refine:()=>ZG,record:()=>hj,readonly:()=>XG,property:()=>Yv,promise:()=>mZ,prettifyError:()=>I8,preprocess:()=>aZ,prefault:()=>tj,positive:()=>Xv,pipe:()=>Bv,partialRecord:()=>CZ,parseAsync:()=>Yj,parse:()=>Gj,overwrite:()=>N1,optional:()=>B2,object:()=>AZ,number:()=>qj,nullish:()=>gZ,nullable:()=>q2,null:()=>Tj,normalize:()=>Z0,nonpositive:()=>jv,nonoptional:()=>aj,nonnegative:()=>Gv,never:()=>fv,negative:()=>Qv,nativeEnum:()=>xZ,nanoid:()=>r7,nan:()=>hZ,multipleOf:()=>d1,minSize:()=>T1,minLength:()=>w1,mime:()=>W0,meta:()=>oZ,maxSize:()=>p1,maxLength:()=>BU,map:()=>EZ,mac:()=>s7,lte:()=>s6,lt:()=>A1,lowercase:()=>X0,looseRecord:()=>FZ,looseObject:()=>TZ,locales:()=>W2,literal:()=>wZ,length:()=>qU,lazy:()=>GG,ksuid:()=>a7,keyof:()=>kZ,jwt:()=>jZ,json:()=>tZ,iso:()=>N0,ipv6:()=>$Z,ipv4:()=>e7,invertCodec:()=>bZ,intersection:()=>uj,int64:()=>HZ,int32:()=>VZ,int:()=>Iv,instanceof:()=>dZ,includes:()=>j0,httpUrl:()=>i7,hostname:()=>YZ,hex:()=>WZ,hash:()=>ZZ,guid:()=>h7,gte:()=>n6,gt:()=>R1,globalRegistry:()=>C6,getErrorMap:()=>yO,function:()=>cZ,fromJSONSchema:()=>$K,formatError:()=>e0,float64:()=>zZ,float32:()=>KZ,flattenError:()=>a0,file:()=>uZ,exactOptional:()=>lj,enum:()=>nv,endsWith:()=>Y0,encodeAsync:()=>Vj,encode:()=>Kj,emoji:()=>l7,email:()=>y7,e164:()=>QZ,discriminatedUnion:()=>MZ,describe:()=>rZ,decodeAsync:()=>Dj,decode:()=>zj,date:()=>PZ,custom:()=>lZ,cuid2:()=>d7,cuid:()=>o7,core:()=>u1,config:()=>H6,coerce:()=>VG,codec:()=>fZ,clone:()=>f6,cidrv6:()=>JZ,cidrv4:()=>UZ,check:()=>iZ,catch:()=>$G,boolean:()=>Pj,bigint:()=>LZ,base64url:()=>XZ,base64:()=>vZ,array:()=>R2,any:()=>BZ,_function:()=>cZ,_default:()=>dj,_ZodString:()=>qv,ZodXor:()=>Sj,ZodXID:()=>Mv,ZodVoid:()=>Fj,ZodUnknown:()=>Mj,ZodUnion:()=>_2,ZodUndefined:()=>Aj,ZodUUID:()=>_1,ZodURL:()=>k2,ZodULID:()=>_v,ZodType:()=>d$,ZodTuple:()=>gj,ZodTransform:()=>cj,ZodTemplateLiteral:()=>QG,ZodSymbol:()=>kj,ZodSuccess:()=>ej,ZodStringFormat:()=>Z6,ZodString:()=>B0,ZodSet:()=>bj,ZodRecord:()=>O0,ZodRealError:()=>d6,ZodReadonly:()=>vG,ZodPromise:()=>YG,ZodPreprocess:()=>JG,ZodPrefault:()=>pj,ZodPipe:()=>M2,ZodOptional:()=>cv,ZodObject:()=>T2,ZodNumberFormat:()=>kU,ZodNumber:()=>P0,ZodNullable:()=>rj,ZodNull:()=>Rj,ZodNonOptional:()=>iv,ZodNever:()=>Cj,ZodNanoID:()=>Av,ZodNaN:()=>UG,ZodMap:()=>fj,ZodMAC:()=>Bj,ZodLiteral:()=>nj,ZodLazy:()=>jG,ZodKSUID:()=>Cv,ZodJWT:()=>yv,ZodIssueCode:()=>uO,ZodIntersection:()=>wj,ZodISOTime:()=>Nv,ZodISODuration:()=>Ov,ZodISODateTime:()=>Lv,ZodISODate:()=>Hv,ZodIPv6:()=>Ev,ZodIPv4:()=>Fv,ZodGUID:()=>I2,ZodFunction:()=>WG,ZodFirstPartyTypeKind:()=>zG,ZodFile:()=>mj,ZodExactOptional:()=>ij,ZodError:()=>xO,ZodEnum:()=>I0,ZodEmoji:()=>kv,ZodEmail:()=>Pv,ZodE164:()=>gv,ZodDiscriminatedUnion:()=>xj,ZodDefault:()=>oj,ZodDate:()=>A2,ZodCustomStringFormat:()=>q0,ZodCustom:()=>F2,ZodCodec:()=>C2,ZodCatch:()=>sj,ZodCUID2:()=>Tv,ZodCUID:()=>Rv,ZodCIDRv6:()=>xv,ZodCIDRv4:()=>Sv,ZodBoolean:()=>k0,ZodBigIntFormat:()=>hv,ZodBigInt:()=>A0,ZodBase64URL:()=>uv,ZodBase64:()=>wv,ZodArray:()=>Ej,ZodAny:()=>_j,TimePrecision:()=>u9,NEVER:()=>j8,$output:()=>C9,$input:()=>F9,$brand:()=>G8});var DG=H$(()=>{$1();$1();fQ();$1();D2();UK();M9();L2();L2();JK();N2();Dv();jj();Ij();eZ();H6(Q2())});var LG=H$(()=>{DG();DG()});var vK,OR,IR,XK,BR,qR,QK="/sync",jK="/health",GK="/api/pair";var lv=H$(()=>{LG();vK=l$.object({hlc:l$.string().describe("Hybrid Logical Clock timestamp"),node_id:l$.string().describe("Origin node that produced the change"),dataset:l$.string().describe("CRDT dataset, e.g. databases / records / documents"),row_id:l$.string().describe("Row identifier within the dataset"),col:l$.string().describe("Column / property identifier"),value:l$.string().nullable().describe("JSON-encoded field value, or null"),txn:l$.string().nullable().optional().describe("Change-group id (one logical mutation)")}),OR=l$.object({node_id:l$.string().describe("Calling client's node id"),since:l$.number().describe("Server cursor the client last pulled"),changes:l$.array(vK).describe("Client's changes to push"),limit:l$.number().optional().describe("Max changes to return (pagination for hydration)"),exclude_datasets:l$.array(l$.string()).optional().describe("Datasets to omit from the pull (partial replica)")}),IR=l$.object({node_id:l$.string().describe("Server's node id"),changes:l$.array(vK).describe("Server changes after `since`"),cursor:l$.number().describe("New server cursor for the client to store")}),XK=l$.object({ok:l$.boolean(),node:l$.string().describe("Server's node id"),capabilities:l$.array(l$.string()).optional().describe("Optional protocol features supported by this server"),version:l$.string().optional().describe("Core version, for mixed-version workspace warnings")}),BR=l$.object({code:l$.string().describe("One-time pairing code minted by this server"),node_id:l$.string().describe("Calling device's node id"),grant:l$.string().describe("Durable credential the caller issues to us"),self_url:l$.string().optional().describe("Caller's reachable server URL (for mutual sync)")}),qR=l$.object({node_id:l$.string().describe("This server's node id"),grant:l$.string().describe("Durable credential we issue to the caller")})});function rO($,U){return $.query("SELECT pull_cursor, push_cursor, token FROM peers WHERE url = ?").get(U)??{pull_cursor:0,push_cursor:0,token:null}}function oO($,U,X){$.query("INSERT INTO peers (url, pull_cursor, push_cursor) VALUES (?, ?, ?) ON CONFLICT(url) DO UPDATE SET pull_cursor = excluded.pull_cursor, push_cursor = excluded.push_cursor").run(U,X.pull_cursor,X.push_cursor)}function dO($,U,X){if(X.length===0)return U;let Q=new Set(X.map(YK)),J=$.query("SELECT rowid AS seq, hlc, node_id, dataset, row_id, col FROM crdt_changes WHERE rowid > ? ORDER BY rowid").all(U),j=U;for(let G of J){if(!Q.has(YK(G)))break;j=G.seq}return j}async function rv($,U,X={}){let Q=typeof X==="string"?{token:X}:X,J=J6($),j=rO($,U),G=Q.token??j.token??void 0,W=n1($,j.push_cursor),z={"content-type":"application/json"};if(G)z.authorization=`Bearer ${G}`;let D=await fetch(new URL(QK,U),{method:"POST",headers:z,body:JSON.stringify({node_id:J,since:j.pull_cursor,changes:W.changes,...Q.pullLimit!=null?{limit:Q.pullLimit}:{},...Q.excludeDatasets?.length?{exclude_datasets:Q.excludeDatasets}:{}}),signal:AbortSignal.timeout(Q.timeoutMs??30000)});if(!D.ok)throw new c(D.status===401||D.status===403?"auth":"network",`sync failed: ${D.status} ${await D.text()}`);let A=await D.json(),T=A.changes??[],h=P1($,T);return oO($,U,{pull_cursor:A.cursor,push_cursor:dO($,W.cursor,T)}),{pushed:W.changes.length,pulled:h,received:T.length}}var YK=($)=>`${$.hlc}\x00${$.node_id}\x00${$.dataset}\x00${$.row_id}\x00${$.col}`;var HG=H$(()=>{L1();A6();lv();z6()});async function ZK($,U,X,Q,J=Date.now()){let j=`${U}\x00${X}`;if(J-(WK.get(j)??0)>=1e5){let D={node:X,priority:Q,expiresAt:J+300000};await $.put(tO(U,X),new TextEncoder().encode(JSON.stringify(D)),{contentType:"application/json"}),WK.set(j,J)}let G=null,W=[];for(let D of await $.list(pO(U))){if(!D.key.endsWith(".lease"))continue;let A=await $.get(D.key);if(!A)continue;let T;try{T=JSON.parse(new TextDecoder().decode(A))}catch{continue}if(!T.node||T.expiresAt<=J){if(T.expiresAt<=J-300000)W.push(D.key);continue}if(!G||T.priority>G.priority||T.priority===G.priority&&T.node<G.node)G=T}let z=G?G.node===X:!0;if(z)for(let D of W)await $.del(D);return z}var pO=($)=>`${$}/publisher/`,tO=($,U)=>`${$}/publisher/${U}.lease`,WK;var KK=H$(()=>{WK=new Map});function U1($){let U=new Uint8Array($.byteLength);return U.set($),U.buffer}function J1($){let U="";for(let X=0;X<$.length;X++)U+=String.fromCharCode($[X]);return btoa(U)}function O1($){let U=atob($),X=new Uint8Array(U.length);for(let Q=0;Q<U.length;Q++)X[Q]=U.charCodeAt(Q);return X}function ov(){return crypto.getRandomValues(new Uint8Array(eO))}async function zK($,U){let X=await crypto.subtle.importKey("raw",U1(new TextEncoder().encode($)),"PBKDF2",!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:U1(U),iterations:NG,hash:"SHA-256"},X,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function VK($,U){let X=crypto.getRandomValues(new Uint8Array(aO)),Q=await zK(U,X),J=crypto.getRandomValues(new Uint8Array(R0)),j=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:U1(J)},Q,U1($))),G=new Uint8Array(J.length+j.length);return G.set(J,0),G.set(j,J.length),{v:1,kdf:"PBKDF2-SHA256",iter:NG,salt:J1(X),wrap:"AES-GCM",wrapped_key:J1(G)}}async function OG($,U){if($.v!==1||$.kdf!=="PBKDF2-SHA256"||$.wrap!=="AES-GCM")throw new c("invalid_input","unsupported key envelope format");let X=O1($.salt),Q=await zK(U,X),J=O1($.wrapped_key),j=J.subarray(0,R0),G=J.subarray(R0);try{let W=await crypto.subtle.decrypt({name:"AES-GCM",iv:U1(j)},Q,U1(G));return new Uint8Array(W)}catch{throw new c("auth","wrong passphrase — could not unwrap the master key")}}async function DK($,U){let X=await crypto.subtle.importKey("raw",U1(new TextEncoder().encode($)),"PBKDF2",!1,["deriveBits"]),Q=await crypto.subtle.deriveBits({name:"PBKDF2",salt:U1(U),iterations:NG,hash:"SHA-256"},X,256);return new Uint8Array(Q)}async function LK($){return crypto.subtle.importKey("raw",U1($),{name:"AES-GCM"},!1,["encrypt","decrypt"])}async function g1($,U){let X=await LK($),Q=crypto.getRandomValues(new Uint8Array(R0)),J=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:U1(Q)},X,U1(U))),j=new Uint8Array(Q.length+J.length);return j.set(Q,0),j.set(J,Q.length),j}async function AU($,U){let X=await LK($),Q=U.subarray(0,R0),J=U.subarray(R0);try{let j=await crypto.subtle.decrypt({name:"AES-GCM",iv:U1(Q)},X,U1(J));return new Uint8Array(j)}catch{throw new c("auth","could not decrypt — wrong master key or corrupt data")}}var NG=600000,aO=16,R0=12,eO=32;var E2=H$(()=>{z6()});function IK($){if($.virtualHostedStyle!=null)return $.virtualHostedStyle;try{return new URL($.endpoint).hostname.startsWith(`${$.bucket}.`)}catch{return!1}}function BK($){IG=$}function p6($){if(!IG)throw new c("network","no S3 storage client is registered for this runtime");return IG($)}function qK(){return sO}function x2($){let U=($||"").replace(/^\/+|\/+$/g,"");return U?`${U}/spaces/default`:"spaces/default"}function kG($){let U=new Uint8Array($.byteLength);return U.set($),U.buffer}async function kK($){let U=new Response(kG($)).body.pipeThrough(new CompressionStream("gzip"));return new Uint8Array(await new Response(U).arrayBuffer())}async function AK($){let U=new Response(kG($)).body.pipeThrough(new DecompressionStream("gzip"));return new Uint8Array(await new Response(U).arrayBuffer())}function YI($){return $.map((U)=>JSON.stringify(U)).join(`
459
- `)}async function RK($,U){let X=await kK(new TextEncoder().encode(YI($)));return U?g1(U,X):X}async function TK($,U){let X=U?await AU(U,$):$,Q=new TextDecoder().decode(await AK(X));if(!Q)return[];return Q.split(`
460
- `).filter((J)=>J.length>0).map((J)=>JSON.parse(J))}function dv($){if(!$.encrypt)return null;if(!$.masterKey)throw new c("invalid_input","encrypted bucket but master key missing — refusing to read/write plaintext");return O1($.masterKey)}async function MK($,U,X){let Q=p6($),J=_K(x2($.prefix),U),j=dv($),G=j?await g1(j,X):X;try{return await Q.put(J,G,{ifNoneMatch:!0,contentType:"application/octet-stream"}),!0}catch(W){if(nU(W)==="conflict")return!1;throw W}}async function AG($,U){let Q=await p6($).get(_K(x2($.prefix),U));if(!Q)return null;let J=dv($);return J?AU(J,Q):Q}async function WI($){let U=await crypto.subtle.digest("SHA-256",kG(new TextEncoder().encode($)));return[...new Uint8Array(U)].map((X)=>X.toString(16).padStart(2,"0")).join("").slice(0,16)}function ZI($,U){return $.query("SELECT push_cursor FROM peers WHERE url = ?").get(U)?.push_cursor??0}function NK($,U,X){$.query("UPDATE peers SET push_cursor = ? WHERE url = ?").run(X,U)}function RG($,U,X){return $.query("SELECT last_key FROM storage_cursors WHERE peer_url = ? AND node_id = ?").get(U,X)?.last_key??null}function TG($,U,X,Q){$.query("INSERT INTO storage_cursors (peer_url, node_id, last_key) VALUES (?, ?, ?) ON CONFLICT(peer_url, node_id) DO UPDATE SET last_key = excluded.last_key").run(U,X,Q)}function KI($,U){let X=RG($,U,PK);return new Set(X?X.split(`
461
- `).filter(Boolean):[])}function zI($,U,X){TG($,U,PK,[...X].join(`
462
- `))}function VI($,U=Date.now()){let X=$.query(`SELECT ${H1} FROM crdt_changes c
454
+ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let a of e.seen.entries()){let u=a[1];if(t===a[0]){s(a);continue}if(e.external){let m=e.external.registry.get(a[0])?.id;if(t!==a[0]&&m){s(a);continue}}if(e.metadataRegistry.get(a[0])?.id){s(a);continue}if(u.cycle){s(a);continue}if(u.count>1){if(e.reused==="ref"){s(a);continue}}}}function Ws(e,t){let r=e.seen.get(t);if(!r)throw Error("Unprocessed schema. This is a bug in Zod.");let n=(u)=>{let _=e.seen.get(u);if(_.ref===null)return;let m=_.def??_.schema,x={...m},D=_.ref;if(_.ref=null,D){n(D);let Y=e.seen.get(D),_e=Y.schema;if(_e.$ref&&(e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"))m.allOf=m.allOf??[],m.allOf.push(_e);else Object.assign(m,_e);if(Object.assign(m,x),u._zod.parent===D)for(let ge in m){if(ge==="$ref"||ge==="allOf")continue;if(!(ge in x))delete m[ge]}if(_e.$ref&&Y.def)for(let ge in m){if(ge==="$ref"||ge==="allOf")continue;if(ge in Y.def&&JSON.stringify(m[ge])===JSON.stringify(Y.def[ge]))delete m[ge]}}let j=u._zod.parent;if(j&&j!==D){n(j);let Y=e.seen.get(j);if(Y?.schema.$ref){if(m.$ref=Y.schema.$ref,Y.def)for(let _e in m){if(_e==="$ref"||_e==="allOf")continue;if(_e in Y.def&&JSON.stringify(m[_e])===JSON.stringify(Y.def[_e]))delete m[_e]}}}e.override({zodSchema:u,jsonSchema:m,path:_.path??[]})};for(let u of[...e.seen.entries()].reverse())n(u[0]);let o={};if(e.target==="draft-2020-12")o.$schema="https://json-schema.org/draft/2020-12/schema";else if(e.target==="draft-07")o.$schema="http://json-schema.org/draft-07/schema#";else if(e.target==="draft-04")o.$schema="http://json-schema.org/draft-04/schema#";else if(e.target==="openapi-3.0");if(e.external?.uri){let u=e.external.registry.get(t)?.id;if(!u)throw Error("Schema is missing an `id` property");o.$id=e.external.uri(u)}Object.assign(o,r.def??r.schema);let s=e.metadataRegistry.get(t)?.id;if(s!==void 0&&o.id===s)delete o.id;let a=e.external?.defs??{};for(let u of e.seen.entries()){let _=u[1];if(_.def&&_.defId){if(_.def.id===_.defId)delete _.def.id;a[_.defId]=_.def}}if(e.external);else if(Object.keys(a).length>0)if(e.target==="draft-2020-12")o.$defs=a;else o.definitions=a;try{let u=JSON.parse(JSON.stringify(o));return Object.defineProperty(u,"~standard",{value:{...t["~standard"],jsonSchema:{input:Kn(t,"input",e.processors),output:Kn(t,"output",e.processors)}},enumerable:!1,writable:!1}),u}catch(u){throw Error("Error converting schema to JSON.")}}function kt(e,t){let r=t??{seen:new Set};if(r.seen.has(e))return!1;r.seen.add(e);let n=e._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return kt(n.element,r);if(n.type==="set")return kt(n.valueType,r);if(n.type==="lazy")return kt(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault")return kt(n.innerType,r);if(n.type==="intersection")return kt(n.left,r)||kt(n.right,r);if(n.type==="record"||n.type==="map")return kt(n.keyType,r)||kt(n.valueType,r);if(n.type==="pipe"){if(e._zod.traits.has("$ZodCodec"))return!0;return kt(n.in,r)||kt(n.out,r)}if(n.type==="object"){for(let o in n.shape)if(kt(n.shape[o],r))return!0;return!1}if(n.type==="union"){for(let o of n.options)if(kt(o,r))return!0;return!1}if(n.type==="tuple"){for(let o of n.items)if(kt(o,r))return!0;if(n.rest&&kt(n.rest,r))return!0;return!1}return!1}var $f=(e,t={})=>(r)=>{let n=js({...r,processors:t});return _t(e,n),Hs(n,e),Ws(n,e)},Kn=(e,t,r={})=>(n)=>{let{libraryOptions:o,target:s}=n??{},a=js({...o??{},target:s,io:t,processors:r});return _t(e,a),Hs(a,e),Ws(a,e)};var ei=De(()=>{Os()});var Zy,zf=(e,t,r,n)=>{let o=r;o.type="string";let{minimum:s,maximum:a,format:u,patterns:_,contentEncoding:m}=e._zod.bag;if(typeof s==="number")o.minLength=s;if(typeof a==="number")o.maxLength=a;if(u){if(o.format=Zy[u]??u,o.format==="")delete o.format;if(u==="time")delete o.format}if(m)o.contentEncoding=m;if(_&&_.size>0){let x=[..._];if(x.length===1)o.pattern=x[0].source;else if(x.length>1)o.allOf=[...x.map((D)=>({...t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0"?{type:"string"}:{},pattern:D.source}))]}},Ff=(e,t,r,n)=>{let o=r,{minimum:s,maximum:a,format:u,multipleOf:_,exclusiveMaximum:m,exclusiveMinimum:x}=e._zod.bag;if(typeof u==="string"&&u.includes("int"))o.type="integer";else o.type="number";let D=typeof x==="number"&&x>=(s??Number.NEGATIVE_INFINITY),j=typeof m==="number"&&m<=(a??Number.POSITIVE_INFINITY),Y=t.target==="draft-04"||t.target==="openapi-3.0";if(D)if(Y)o.minimum=x,o.exclusiveMinimum=!0;else o.exclusiveMinimum=x;else if(typeof s==="number")o.minimum=s;if(j)if(Y)o.maximum=m,o.exclusiveMaximum=!0;else o.exclusiveMaximum=m;else if(typeof a==="number")o.maximum=a;if(typeof _==="number")o.multipleOf=_},Mf=(e,t,r,n)=>{r.type="boolean"},Bf=(e,t,r,n)=>{r.not={}},Uf=(e,t,r,n)=>{},jf=(e,t,r,n)=>{let o=e._zod.def,s=No(o.entries);if(s.every((a)=>typeof a==="number"))r.type="number";if(s.every((a)=>typeof a==="string"))r.type="string";r.enum=s},Hf=(e,t,r,n)=>{let o=e._zod.def,s=[];for(let a of o.values)if(a===void 0){if(t.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof a==="bigint")if(t.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else s.push(Number(a));else s.push(a);if(s.length===0);else if(s.length===1){let a=s[0];if(r.type=a===null?"null":typeof a,t.target==="draft-04"||t.target==="openapi-3.0")r.enum=[a];else r.const=a}else{if(s.every((a)=>typeof a==="number"))r.type="number";if(s.every((a)=>typeof a==="string"))r.type="string";if(s.every((a)=>typeof a==="boolean"))r.type="boolean";if(s.every((a)=>a===null))r.type="null";r.enum=s}},Wf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema")},Zf=(e,t,r,n)=>{if(t.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema")},Gf=(e,t,r,n)=>{let o=r,s=e._zod.def,{minimum:a,maximum:u}=e._zod.bag;if(typeof a==="number")o.minItems=a;if(typeof u==="number")o.maxItems=u;o.type="array",o.items=_t(s.element,t,{...n,path:[...n.path,"items"]})},Kf=(e,t,r,n)=>{let o=r,s=e._zod.def;o.type="object",o.properties={};let a=s.shape;for(let m in a)o.properties[m]=_t(a[m],t,{...n,path:[...n.path,"properties",m]});let u=new Set(Object.keys(a)),_=new Set([...u].filter((m)=>{let x=s.shape[m]._zod;if(t.io==="input")return x.optin===void 0;else return x.optout===void 0}));if(_.size>0)o.required=Array.from(_);if(s.catchall?._zod.def.type==="never")o.additionalProperties=!1;else if(!s.catchall){if(t.io==="output")o.additionalProperties=!1}else if(s.catchall)o.additionalProperties=_t(s.catchall,t,{...n,path:[...n.path,"additionalProperties"]})},Vf=(e,t,r,n)=>{let o=e._zod.def,s=o.inclusive===!1,a=o.options.map((u,_)=>_t(u,t,{...n,path:[...n.path,s?"oneOf":"anyOf",_]}));if(s)r.oneOf=a;else r.anyOf=a},Jf=(e,t,r,n)=>{let o=e._zod.def,s=_t(o.left,t,{...n,path:[...n.path,"allOf",0]}),a=_t(o.right,t,{...n,path:[...n.path,"allOf",1]}),u=(m)=>("allOf"in m)&&Object.keys(m).length===1,_=[...u(s)?s.allOf:[s],...u(a)?a.allOf:[a]];r.allOf=_},Xf=(e,t,r,n)=>{let o=e._zod.def,s=_t(o.innerType,t,n),a=t.seen.get(e);if(t.target==="openapi-3.0")a.ref=o.innerType,r.nullable=!0;else r.anyOf=[s,{type:"null"}]},Qf=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType},Yf=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType,r.default=JSON.parse(JSON.stringify(o.defaultValue))},ep=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);if(s.ref=o.innerType,t.io==="input")r._prefault=JSON.parse(JSON.stringify(o.defaultValue))},tp=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType;let a;try{a=o.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}r.default=a},rp=(e,t,r,n)=>{let o=e._zod.def,s=o.in._zod.traits.has("$ZodTransform"),a=t.io==="input"?s?o.out:o.in:o.out;_t(a,t,n);let u=t.seen.get(e);u.ref=a},np=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType,r.readOnly=!0},Zs=(e,t,r,n)=>{let o=e._zod.def;_t(o.innerType,t,n);let s=t.seen.get(e);s.ref=o.innerType};var op=De(()=>{ei();Vt();Zy={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""}});var ip=()=>{};var rr=De(()=>{Vt();Ho();Ds();ip();zr();ys();ms();Jd();Wo();xs();Os();Lf();ei()});var Gs=De(()=>{rr()});function sp(e){return xf(Yy,e)}function ap(e){return Tf(eb,e)}function cp(e){return kf(tb,e)}function lp(e){return Rf(rb,e)}var Yy,eb,tb,rb;var Ks=De(()=>{rr();Vs();Yy=ce("ZodISODateTime",(e,t)=>{gd.init(e,t),ot.init(e,t)});eb=ce("ZodISODate",(e,t)=>{hd.init(e,t),ot.init(e,t)});tb=ce("ZodISOTime",(e,t)=>{md.init(e,t),ot.init(e,t)});rb=ce("ZodISODuration",(e,t)=>{yd.init(e,t),ot.init(e,t)})});var ob=(e,t)=>{Mo.init(e,t),e.name="ZodError",Object.defineProperties(e,{format:{value:(r)=>Jl(e,r)},flatten:{value:(r)=>Vl(e,r)},addIssue:{value:(r)=>{e.issues.push(r),e.message=JSON.stringify(e.issues,Un,2)}},addIssues:{value:(r)=>{e.issues.push(...r),e.message=JSON.stringify(e.issues,Un,2)}},isEmpty:{get(){return e.issues.length===0}}})},qt;var Js=De(()=>{rr();rr();Vt();qt=ce("ZodError",ob,{Parent:Error})});var dp,fp,pp,_p,gp,hp,mp,yp,bp,wp,vp,Ep;var Xs=De(()=>{rr();Js();dp=Bo(qt),fp=Uo(qt),pp=jn(qt),_p=Hn(qt),gp=Yl(qt),hp=eu(qt),mp=tu(qt),yp=ru(qt),bp=nu(qt),wp=ou(qt),vp=iu(qt),Ep=su(qt)});function Jn(e,t,r){let n=Object.getPrototypeOf(e),o=Sp.get(n);if(!o)o=new Set,Sp.set(n,o);if(o.has(t))return;o.add(t);for(let s in r){let a=r[s];Object.defineProperty(n,s,{configurable:!0,enumerable:!1,get(){let u=a.bind(this);return Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:u}),u},set(u){Object.defineProperty(this,s,{configurable:!0,writable:!0,enumerable:!0,value:u})}})}}function at(e){return tf(sb,e)}function ri(e){return Af(Ip,e)}function Tp(e){return Df(xb,e)}function kb(e){return Of(Tb,e)}function kp(){return If(Rb)}function Db(e){return Pf(Ab,e)}function Xn(e,t){return Cf(Ob,e,t)}function jr(e,t){let r={type:"object",shape:e??{},...Ce(t)};return new Ib(r)}function Cb(e,t){return new Pb({type:"union",options:e,...Ce(t)})}function qb(e,t){return new Nb({type:"intersection",left:e,right:t})}function ni(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map((n)=>[n,n])):e;return new Qs({type:"enum",entries:r,...Ce(t)})}function $b(e,t){return new Lb({type:"literal",values:Array.isArray(e)?e:[e],...Ce(t)})}function Fb(e){return new zb({type:"transform",transform:e})}function Rp(e){return new Pp({type:"optional",innerType:e})}function Bb(e){return new Mb({type:"optional",innerType:e})}function Ap(e){return new Ub({type:"nullable",innerType:e})}function Hb(e,t){return new jb({type:"default",innerType:e,get defaultValue(){return typeof t==="function"?t():_s(t)}})}function Zb(e,t){return new Wb({type:"prefault",innerType:e,get defaultValue(){return typeof t==="function"?t():_s(t)}})}function Gb(e,t){return new Cp({type:"nonoptional",innerType:e,...Ce(t)})}function Vb(e,t){return new Kb({type:"catch",innerType:e,catchValue:typeof t==="function"?t:()=>t})}function Dp(e,t){return new Jb({type:"pipe",in:e,out:t})}function Qb(e){return new Xb({type:"readonly",innerType:e})}function ew(e,t={}){return Nf(Yb,e,t)}function tw(e,t){return qf(e,t)}var Sp,st,Op,sb,ot,ab,xp,ti,cb,lb,ub,db,fb,pb,_b,gb,hb,mb,yb,bb,wb,vb,Eb,Sb,Ip,xb,Tb,Rb,Ab,Ob,Ib,Pb,Nb,Qs,Lb,zb,Pp,Mb,Ub,jb,Wb,Cp,Kb,Jb,Xb,Yb;var Vs=De(()=>{rr();rr();op();ei();Gs();Ks();Xs();Sp=new WeakMap;st=ce("ZodType",(e,t)=>(it.init(e,t),Object.assign(e["~standard"],{jsonSchema:{input:Kn(e,"input"),output:Kn(e,"output")}}),e.toJSONSchema=$f(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.parse=(r,n)=>dp(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>pp(e,r,n),e.parseAsync=async(r,n)=>fp(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>_p(e,r,n),e.spa=e.safeParseAsync,e.encode=(r,n)=>gp(e,r,n),e.decode=(r,n)=>hp(e,r,n),e.encodeAsync=async(r,n)=>mp(e,r,n),e.decodeAsync=async(r,n)=>yp(e,r,n),e.safeEncode=(r,n)=>bp(e,r,n),e.safeDecode=(r,n)=>wp(e,r,n),e.safeEncodeAsync=async(r,n)=>vp(e,r,n),e.safeDecodeAsync=async(r,n)=>Ep(e,r,n),Jn(e,"ZodType",{check(...r){let n=this.def;return this.clone(Er(n,{checks:[...n.checks??[],...r.map((o)=>typeof o==="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}),{parent:!0})},with(...r){return this.check(...r)},clone(r,n){return tr(this,r,n)},brand(){return this},register(r,n){return r.add(this,n),this},refine(r,n){return this.check(ew(r,n))},superRefine(r,n){return this.check(tw(r,n))},overwrite(r){return this.check(xr(r))},optional(){return Rp(this)},exactOptional(){return Bb(this)},nullable(){return Ap(this)},nullish(){return Rp(Ap(this))},nonoptional(r){return Gb(this,r)},array(){return Xn(this)},or(r){return Cb([this,r])},and(r){return qb(this,r)},transform(r){return Dp(this,Fb(r))},default(r){return Hb(this,r)},prefault(r){return Zb(this,r)},catch(r){return Vb(this,r)},pipe(r){return Dp(this,r)},readonly(){return Qb(this)},describe(r){let n=this.clone();return Ur.add(n,{description:r}),n},meta(...r){if(r.length===0)return Ur.get(this);let n=this.clone();return Ur.add(n,r[0]),n},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(r){return r(this)}}),Object.defineProperty(e,"description",{get(){return Ur.get(e)?.description},configurable:!0}),e)),Op=ce("_ZodString",(e,t)=>{Ko.init(e,t),st.init(e,t),e._zod.processJSONSchema=(n,o,s)=>zf(e,n,o,s);let r=e._zod.bag;e.format=r.format??null,e.minLength=r.minimum??null,e.maxLength=r.maximum??null,Jn(e,"_ZodString",{regex(...n){return this.check(Ps(...n))},includes(...n){return this.check(qs(...n))},startsWith(...n){return this.check(Ls(...n))},endsWith(...n){return this.check($s(...n))},min(...n){return this.check(yn(...n))},max(...n){return this.check(Qo(...n))},length(...n){return this.check(Yo(...n))},nonempty(...n){return this.check(yn(1,...n))},lowercase(n){return this.check(Cs(n))},uppercase(n){return this.check(Ns(n))},trim(){return this.check(Fs())},normalize(...n){return this.check(zs(...n))},toLowerCase(){return this.check(Ms())},toUpperCase(){return this.check(Bs())},slugify(){return this.check(Us())}})}),sb=ce("ZodString",(e,t)=>{Ko.init(e,t),Op.init(e,t),e.email=(r)=>e.check(rf(ab,r)),e.url=(r)=>e.check(cf(cb,r)),e.jwt=(r)=>e.check(Sf(Sb,r)),e.emoji=(r)=>e.check(lf(lb,r)),e.guid=(r)=>e.check(Is(xp,r)),e.uuid=(r)=>e.check(nf(ti,r)),e.uuidv4=(r)=>e.check(of(ti,r)),e.uuidv6=(r)=>e.check(sf(ti,r)),e.uuidv7=(r)=>e.check(af(ti,r)),e.nanoid=(r)=>e.check(uf(ub,r)),e.guid=(r)=>e.check(Is(xp,r)),e.cuid=(r)=>e.check(df(db,r)),e.cuid2=(r)=>e.check(ff(fb,r)),e.ulid=(r)=>e.check(pf(pb,r)),e.base64=(r)=>e.check(wf(wb,r)),e.base64url=(r)=>e.check(vf(vb,r)),e.xid=(r)=>e.check(_f(_b,r)),e.ksuid=(r)=>e.check(gf(gb,r)),e.ipv4=(r)=>e.check(hf(hb,r)),e.ipv6=(r)=>e.check(mf(mb,r)),e.cidrv4=(r)=>e.check(yf(yb,r)),e.cidrv6=(r)=>e.check(bf(bb,r)),e.e164=(r)=>e.check(Ef(Eb,r)),e.datetime=(r)=>e.check(sp(r)),e.date=(r)=>e.check(ap(r)),e.time=(r)=>e.check(cp(r)),e.duration=(r)=>e.check(lp(r))});ot=ce("ZodStringFormat",(e,t)=>{rt.init(e,t),Op.init(e,t)}),ab=ce("ZodEmail",(e,t)=>{sd.init(e,t),ot.init(e,t)}),xp=ce("ZodGUID",(e,t)=>{od.init(e,t),ot.init(e,t)}),ti=ce("ZodUUID",(e,t)=>{id.init(e,t),ot.init(e,t)}),cb=ce("ZodURL",(e,t)=>{ad.init(e,t),ot.init(e,t)}),lb=ce("ZodEmoji",(e,t)=>{cd.init(e,t),ot.init(e,t)}),ub=ce("ZodNanoID",(e,t)=>{ld.init(e,t),ot.init(e,t)}),db=ce("ZodCUID",(e,t)=>{ud.init(e,t),ot.init(e,t)}),fb=ce("ZodCUID2",(e,t)=>{dd.init(e,t),ot.init(e,t)}),pb=ce("ZodULID",(e,t)=>{fd.init(e,t),ot.init(e,t)}),_b=ce("ZodXID",(e,t)=>{pd.init(e,t),ot.init(e,t)}),gb=ce("ZodKSUID",(e,t)=>{_d.init(e,t),ot.init(e,t)}),hb=ce("ZodIPv4",(e,t)=>{bd.init(e,t),ot.init(e,t)}),mb=ce("ZodIPv6",(e,t)=>{wd.init(e,t),ot.init(e,t)}),yb=ce("ZodCIDRv4",(e,t)=>{vd.init(e,t),ot.init(e,t)}),bb=ce("ZodCIDRv6",(e,t)=>{Ed.init(e,t),ot.init(e,t)}),wb=ce("ZodBase64",(e,t)=>{xd.init(e,t),ot.init(e,t)}),vb=ce("ZodBase64URL",(e,t)=>{Td.init(e,t),ot.init(e,t)}),Eb=ce("ZodE164",(e,t)=>{kd.init(e,t),ot.init(e,t)}),Sb=ce("ZodJWT",(e,t)=>{Rd.init(e,t),ot.init(e,t)}),Ip=ce("ZodNumber",(e,t)=>{ks.init(e,t),st.init(e,t),e._zod.processJSONSchema=(n,o,s)=>Ff(e,n,o,s),Jn(e,"ZodNumber",{gt(n,o){return this.check(Jo(n,o))},gte(n,o){return this.check(Gn(n,o))},min(n,o){return this.check(Gn(n,o))},lt(n,o){return this.check(Vo(n,o))},lte(n,o){return this.check(Zn(n,o))},max(n,o){return this.check(Zn(n,o))},int(n){return this.check(Tp(n))},safe(n){return this.check(Tp(n))},positive(n){return this.check(Jo(0,n))},nonnegative(n){return this.check(Gn(0,n))},negative(n){return this.check(Vo(0,n))},nonpositive(n){return this.check(Zn(0,n))},multipleOf(n,o){return this.check(Xo(n,o))},step(n,o){return this.check(Xo(n,o))},finite(){return this}});let r=e._zod.bag;e.minValue=Math.max(r.minimum??Number.NEGATIVE_INFINITY,r.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,e.maxValue=Math.min(r.maximum??Number.POSITIVE_INFINITY,r.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,e.isInt=(r.format??"").includes("int")||Number.isSafeInteger(r.multipleOf??0.5),e.isFinite=!0,e.format=r.format??null});xb=ce("ZodNumberFormat",(e,t)=>{Ad.init(e,t),Ip.init(e,t)});Tb=ce("ZodBoolean",(e,t)=>{Dd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Mf(e,r,n,o)});Rb=ce("ZodUnknown",(e,t)=>{Od.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Uf(e,r,n,o)});Ab=ce("ZodNever",(e,t)=>{Id.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Bf(e,r,n,o)});Ob=ce("ZodArray",(e,t)=>{Pd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Gf(e,r,n,o),e.element=t.element,Jn(e,"ZodArray",{min(r,n){return this.check(yn(r,n))},nonempty(r){return this.check(yn(1,r))},max(r,n){return this.check(Qo(r,n))},length(r,n){return this.check(Yo(r,n))},unwrap(){return this.element}})});Ib=ce("ZodObject",(e,t)=>{qd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Kf(e,r,n,o),Ve(e,"shape",()=>t.shape),Jn(e,"ZodObject",{keyof(){return ni(Object.keys(this._zod.def.shape))},catchall(r){return this.clone({...this._zod.def,catchall:r})},passthrough(){return this.clone({...this._zod.def,catchall:kp()})},loose(){return this.clone({...this._zod.def,catchall:kp()})},strict(){return this.clone({...this._zod.def,catchall:Db()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(r){return Cy(this,r)},safeExtend(r){return Ny(this,r)},merge(r){return qy(this,r)},pick(r){return Iy(this,r)},omit(r){return Py(this,r)},partial(...r){return Ly(Pp,this,r[0])},required(...r){return $y(Cp,this,r[0])}})});Pb=ce("ZodUnion",(e,t)=>{Ld.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Vf(e,r,n,o),e.options=t.options});Nb=ce("ZodIntersection",(e,t)=>{$d.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Jf(e,r,n,o)});Qs=ce("ZodEnum",(e,t)=>{zd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(n,o,s)=>jf(e,n,o,s),e.enum=t.entries,e.options=Object.values(t.entries);let r=new Set(Object.keys(t.entries));e.extract=(n,o)=>{let s={};for(let a of n)if(r.has(a))s[a]=t.entries[a];else throw Error(`Key ${a} not found in enum`);return new Qs({...t,checks:[],...Ce(o),entries:s})},e.exclude=(n,o)=>{let s={...t.entries};for(let a of n)if(r.has(a))delete s[a];else throw Error(`Key ${a} not found in enum`);return new Qs({...t,checks:[],...Ce(o),entries:s})}});Lb=ce("ZodLiteral",(e,t)=>{Fd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Hf(e,r,n,o),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});zb=ce("ZodTransform",(e,t)=>{Md.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Zf(e,r,n,o),e._zod.parse=(r,n)=>{if(n.direction==="backward")throw new Mn(e.constructor.name);r.addIssue=(s)=>{if(typeof s==="string")r.issues.push(Br(s,r.value,t));else{let a=s;if(a.fatal)a.continue=!1;a.code??(a.code="custom"),a.input??(a.input=r.value),a.inst??(a.inst=e),r.issues.push(Br(a))}};let o=t.transform(r.value,r);if(o instanceof Promise)return o.then((s)=>(r.value=s,r.fallback=!0,r));return r.value=o,r.fallback=!0,r}});Pp=ce("ZodOptional",(e,t)=>{Rs.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Zs(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});Mb=ce("ZodExactOptional",(e,t)=>{Bd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Zs(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});Ub=ce("ZodNullable",(e,t)=>{Ud.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Xf(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});jb=ce("ZodDefault",(e,t)=>{jd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Yf(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});Wb=ce("ZodPrefault",(e,t)=>{Hd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>ep(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});Cp=ce("ZodNonOptional",(e,t)=>{Wd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Qf(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});Kb=ce("ZodCatch",(e,t)=>{Zd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>tp(e,r,n,o),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});Jb=ce("ZodPipe",(e,t)=>{Gd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>rp(e,r,n,o),e.in=t.in,e.out=t.out});Xb=ce("ZodReadonly",(e,t)=>{Kd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>np(e,r,n,o),e.unwrap=()=>e._zod.def.innerType});Yb=ce("ZodCustom",(e,t)=>{Vd.init(e,t),st.init(e,t),e._zod.processJSONSchema=(r,n,o)=>Wf(e,r,n,o)})});var Np;var qp=De(()=>{(function(e){})(Np||(Np={}))});var Lp=()=>{};var ea=De(()=>{rr();rr();Xd();Ds();Ks();Lp();Vs();Gs();Js();Xs();qp();Kt(As())});var ta=De(()=>{ea();ea()});var $p,XT,QT,zp,YT,ek,Fp="/sync",Mp="/health",Bp="/api/pair";var oi=De(()=>{ta();$p=jr({hlc:at().describe("Hybrid Logical Clock timestamp"),node_id:at().describe("Origin node that produced the change"),dataset:at().describe("CRDT dataset, e.g. databases / records / documents"),row_id:at().describe("Row identifier within the dataset"),col:at().describe("Column / property identifier"),value:at().nullable().describe("JSON-encoded field value, or null"),txn:at().nullable().optional().describe("Change-group id (one logical mutation)")}),XT=jr({node_id:at().describe("Calling client's node id"),since:ri().describe("Server cursor the client last pulled"),changes:Xn($p).describe("Client's changes to push"),limit:ri().optional().describe("Max changes to return (pagination for hydration)"),exclude_datasets:Xn(at()).optional().describe("Datasets to omit from the pull (partial replica)")}),QT=jr({node_id:at().describe("Server's node id"),changes:Xn($p).describe("Server changes after `since`"),cursor:ri().describe("New server cursor for the client to store")}),zp=jr({ok:kb(),node:at().describe("Server's node id"),capabilities:Xn(at()).optional().describe("Optional protocol features supported by this server"),version:at().optional().describe("Core version, for mixed-version workspace warnings")}),YT=jr({code:at().describe("One-time pairing code minted by this server"),node_id:at().describe("Calling device's node id"),grant:at().describe("Durable credential the caller issues to us"),self_url:at().optional().describe("Caller's reachable server URL (for mutual sync)")}),ek=jr({node_id:at().describe("This server's node id"),grant:at().describe("Durable credential we issue to the caller")})});function nw(e,t){return e.query("SELECT pull_cursor, push_cursor, token FROM peers WHERE url = ?").get(t)??{pull_cursor:0,push_cursor:0,token:null}}function ow(e,t,r){e.query("INSERT INTO peers (url, pull_cursor, push_cursor) VALUES (?, ?, ?) ON CONFLICT(url) DO UPDATE SET pull_cursor = excluded.pull_cursor, push_cursor = excluded.push_cursor").run(t,r.pull_cursor,r.push_cursor)}function iw(e,t,r){if(r.length===0)return t;let n=new Set(r.map(Up)),o=e.query("SELECT rowid AS seq, hlc, node_id, dataset, row_id, col FROM crdt_changes WHERE rowid > ? ORDER BY rowid").all(t),s=t;for(let a of o){if(!n.has(Up(a)))break;s=a.seq}return s}async function ii(e,t,r={}){let n=typeof r==="string"?{token:r}:r,o=We(e),s=nw(e,t),a=n.token??s.token??void 0,u=br(e,s.push_cursor),_={"content-type":"application/json"};if(a)_.authorization=`Bearer ${a}`;let m=await fetch(new URL(Fp,t),{method:"POST",headers:_,body:JSON.stringify({node_id:o,since:s.pull_cursor,changes:u.changes,...n.pullLimit!=null?{limit:n.pullLimit}:{},...n.excludeDatasets?.length?{exclude_datasets:n.excludeDatasets}:{}}),signal:AbortSignal.timeout(n.timeoutMs??30000)});if(!m.ok)throw new Z(m.status===401||m.status===403?"auth":"network",`sync failed: ${m.status} ${await m.text()}`);let x=await m.json(),D=x.changes??[],j=er(e,D);return ow(e,t,{pull_cursor:x.cursor,push_cursor:iw(e,u.cursor,D)}),{pushed:u.changes.length,pulled:j,received:D.length}}var Up=(e)=>`${e.hlc}\x00${e.node_id}\x00${e.dataset}\x00${e.row_id}\x00${e.col}`;var ra=De(()=>{Gt();dt();oi();Ye()});async function Hp(e,t,r,n,o=Date.now()){let s=`${t}\x00${r}`;if(o-(jp.get(s)??0)>=1e5){let m={node:r,priority:n,expiresAt:o+300000};await e.put(aw(t,r),new TextEncoder().encode(JSON.stringify(m)),{contentType:"application/json"}),jp.set(s,o)}let a=null,u=[];for(let m of await e.list(sw(t))){if(!m.key.endsWith(".lease"))continue;let x=await e.get(m.key);if(!x)continue;let D;try{D=JSON.parse(new TextDecoder().decode(x))}catch{continue}if(!D.node||D.expiresAt<=o){if(D.expiresAt<=o-300000)u.push(m.key);continue}if(!a||D.priority>a.priority||D.priority===a.priority&&D.node<a.node)a=D}let _=a?a.node===r:!0;if(_)for(let m of u)await e.del(m);return _}var sw=(e)=>`${e}/publisher/`,aw=(e,t)=>`${e}/publisher/${t}.lease`,jp;var Wp=De(()=>{jp=new Map});function Jt(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}function nr(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function Xt(e){let t=atob(e),r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}function na(){return crypto.getRandomValues(new Uint8Array(lw))}async function Gp(e,t){let r=await crypto.subtle.importKey("raw",Jt(new TextEncoder().encode(e)),"PBKDF2",!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:Jt(t),iterations:Zp,hash:"SHA-256"},r,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function Kp(e,t){let r=crypto.getRandomValues(new Uint8Array(cw)),n=await Gp(t,r),o=crypto.getRandomValues(new Uint8Array(bn)),s=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:Jt(o)},n,Jt(e))),a=new Uint8Array(o.length+s.length);return a.set(o,0),a.set(s,o.length),{v:1,kdf:"PBKDF2-SHA256",iter:Zp,salt:nr(r),wrap:"AES-GCM",wrapped_key:nr(a)}}async function oa(e,t){if(e.v!==1||e.kdf!=="PBKDF2-SHA256"||e.wrap!=="AES-GCM")throw new Z("invalid_input","unsupported key envelope format");let r=Xt(e.salt),n=await Gp(t,r),o=Xt(e.wrapped_key),s=o.subarray(0,bn),a=o.subarray(bn);try{let u=await crypto.subtle.decrypt({name:"AES-GCM",iv:Jt(s)},n,Jt(a));return new Uint8Array(u)}catch{throw new Z("auth","wrong passphrase — could not unwrap the master key")}}async function Vp(e){return crypto.subtle.importKey("raw",Jt(e),{name:"AES-GCM"},!1,["encrypt","decrypt"])}async function pr(e,t){let r=await Vp(e),n=crypto.getRandomValues(new Uint8Array(bn)),o=new Uint8Array(await crypto.subtle.encrypt({name:"AES-GCM",iv:Jt(n)},r,Jt(t))),s=new Uint8Array(n.length+o.length);return s.set(n,0),s.set(o,n.length),s}async function Hr(e,t){let r=await Vp(e),n=t.subarray(0,bn),o=t.subarray(bn);try{let s=await crypto.subtle.decrypt({name:"AES-GCM",iv:Jt(n)},r,Jt(o));return new Uint8Array(s)}catch{throw new Z("auth","could not decrypt — wrong master key or corrupt data")}}var Zp=600000,cw=16,bn=12,lw=32;var Qn=De(()=>{Ye()});function Yp(e){if(e.virtualHostedStyle!=null)return e.virtualHostedStyle;try{return new URL(e.endpoint).hostname.startsWith(`${e.bucket}.`)}catch{return!1}}function e_(e){ia=e}function Bt(e){if(!ia)throw new Z("network","no S3 storage client is registered for this runtime");return ia(e)}function eo(e){let t=(e||"").replace(/^\/+|\/+$/g,"");return t?`${t}/spaces/default`:"spaces/default"}function la(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}async function r_(e){let t=new Response(la(e)).body.pipeThrough(new CompressionStream("gzip"));return new Uint8Array(await new Response(t).arrayBuffer())}async function n_(e){let t=new Response(la(e)).body.pipeThrough(new DecompressionStream("gzip"));return new Uint8Array(await new Response(t).arrayBuffer())}function yw(e){return e.map((t)=>JSON.stringify(t)).join(`
455
+ `)}async function o_(e,t){let r=await r_(new TextEncoder().encode(yw(e)));return t?pr(t,r):r}async function i_(e,t){let r=t?await Hr(t,e):e,n=new TextDecoder().decode(await n_(r));if(!n)return[];return n.split(`
456
+ `).filter((o)=>o.length>0).map((o)=>JSON.parse(o))}function si(e){if(!e.encrypt)return null;if(!e.masterKey)throw new Z("invalid_input","encrypted bucket but master key missing — refusing to read/write plaintext");return Xt(e.masterKey)}async function a_(e,t,r){let n=Bt(e),o=s_(eo(e.prefix),t),s=si(e),a=s?await pr(s,r):r;try{return await n.put(o,a,{ifNoneMatch:!0,contentType:"application/octet-stream"}),!0}catch(u){if(ln(u)==="conflict")return!1;throw u}}async function ua(e,t){let n=await Bt(e).get(s_(eo(e.prefix),t));if(!n)return null;let o=si(e);return o?Hr(o,n):n}async function bw(e){let t=await crypto.subtle.digest("SHA-256",la(new TextEncoder().encode(e)));return[...new Uint8Array(t)].map((r)=>r.toString(16).padStart(2,"0")).join("").slice(0,16)}function ww(e,t){return e.query("SELECT push_cursor FROM peers WHERE url = ?").get(t)?.push_cursor??0}function Xp(e,t,r){e.query("UPDATE peers SET push_cursor = ? WHERE url = ?").run(r,t)}function da(e,t,r){return e.query("SELECT last_key FROM storage_cursors WHERE peer_url = ? AND node_id = ?").get(t,r)?.last_key??null}function fa(e,t,r,n){e.query("INSERT INTO storage_cursors (peer_url, node_id, last_key) VALUES (?, ?, ?) ON CONFLICT(peer_url, node_id) DO UPDATE SET last_key = excluded.last_key").run(t,r,n)}function vw(e,t){let r=da(e,t,t_);return new Set(r?r.split(`
457
+ `).filter(Boolean):[])}function Ew(e,t,r){fa(e,t,t_,[...r].join(`
458
+ `))}function Sw(e,t=Date.now()){let r=e.query(`SELECT ${It} FROM crdt_changes c
463
459
  WHERE NOT EXISTS (
464
460
  SELECT 1 FROM crdt_changes k
465
461
  WHERE k.dataset = c.dataset AND k.row_id = c.row_id AND k.col = c.col AND k.hlc > c.hlc
466
- )`).all();return bX(X,U)}function DI($){let U={};for(let X of $)if(!U[X.node_id]||X.hlc>U[X.node_id])U[X.node_id]=X.hlc;return U}function LI($){let U=$.query("SELECT node_id, MAX(hlc) AS h FROM crdt_changes GROUP BY node_id").all(),X={};for(let Q of U)X[Q.node_id]=Q.h;return X}function HI($,U){for(let X in U)if(!$[X]||$[X]<U[X])return!1;return!0}async function NI($,U){let X=await kK(new TextEncoder().encode(JSON.stringify($)));return U?g1(U,X):X}async function OI($,U){try{let X=U?await AU(U,$):$;return JSON.parse(new TextDecoder().decode(await AK(X)))}catch{return null}}function II($,U){let X=new Set;for(let Q of $){let J=Q.key.slice(U.length),j=J.indexOf("/");if(j>0)X.add(J.slice(0,j))}return[...X]}async function BI($,U){let X=QI(U);return II(await $.list(X,void 0,"/"),X)}async function _G($,U,X){if(!U.encrypt)return null;let Q=x2(U.prefix),J=GI(Q),j=async(D)=>J1(await OG(JSON.parse(new TextDecoder().decode(D)),X)),G=await $.get(J);if(G)return j(G);let W=ov(),z=await VK(W,X);try{return await $.put(J,new TextEncoder().encode(JSON.stringify(z)),{contentType:"application/json",ifNoneMatch:!0}),J1(W)}catch(D){if(nU(D)==="conflict"){let A=await $.get(J);if(A)return j(A)}throw D}}async function OK($,U,X,Q=UI){let J=Date.now();bU($,J);let j=dv(X),G=x2(X.prefix),W=J6($),z=(await U.list(qG(G,W))).map((Y$)=>Y$.key).filter((Y$)=>Y$.endsWith(".seg")).sort(),D=z.length?z[z.length-1]:null,A=VI($,J);if(A.length===0)return null;let T=A.reduce((Y$,L$)=>L$.hlc>Y$?L$.hlc:Y$,""),h=await WI(A.map((Y$)=>JSON.stringify(Y$)).sort().join(`
467
- `)),o=`${S2(G)}${T}${BG}${h}.snap`;await U.put(o,await RK(A,j),{contentType:"application/octet-stream"}),await U.put(PG(o),await NI({frontier:DI(A),ownNode:W,ownSegHigh:D},j),{contentType:"application/octet-stream"});for(let Y$ of await U.list(S2(G))){if(!Y$.key.endsWith(".snap"))continue;if(Y$.key.slice(S2(G).length).split(BG)[0]<T)await U.del(Y$.key),await U.del(PG(Y$.key))}let V$=z.slice(0,Math.max(0,z.length-Q));for(let Y$ of V$)await U.del(Y$);return{key:o,changes:A.length}}function CK($){return parseInt($.slice(0,15),10)}function qI($){return Date.now()-CK($.hlc)}function PI($,U){let X=S2(U),Q=null;for(let J of $){let j=J.slice(X.length).split(BG)[0];if(Q===null||j>Q)Q=j}return Q}async function FK($,U,X,Q,J={}){bU($);let j=J6($),G=dv(Q),W=x2(Q.prefix),z=ZI($,U),D=n1($,z,{onlyNode:j}),A=0,T=!1;if(D.changes.length===0)NK($,U,D.cursor);else{let Y$=J.minPushChanges??1,L$=J.maxPushAgeMs??0;if(J.forcePush||D.changes.length>=Y$||qI(D.changes[0])>=L$){let e$=jI(W,j,D.cursor);await X.put(HK(W,j),new TextEncoder().encode(e$),{contentType:"text/plain"}),await X.put(e$,await RK(D.changes,G),{contentType:"application/octet-stream"}),NK($,U,D.cursor),A=D.changes.length}else T=!0}let h=[],o=0;if(J.pull??!0){h=(await X.list(S2(W))).map((Y$)=>Y$.key).filter((Y$)=>Y$.endsWith(".snap")),o+=await kI($,U,h,X,G);for(let Y$ of await BI(X,W)){if(Y$===j)continue;let L$=RG($,U,Y$),w$=await X.get(HK(W,Y$));if(w$){let b$=new TextDecoder().decode(w$);if(L$&&b$<=L$)continue}let e$=(await X.list(qG(W,Y$),L$??void 0)).filter((b$)=>b$.key.endsWith(".seg"));for(let b$ of e$){let p$=await X.get(b$.key);if(!p$)continue;let s$=await TK(p$,G);o+=P1($,s$),TG($,U,Y$,b$.key)}}}let V$=!1;if(J.publish){let Y$=$.query("SELECT COUNT(*) AS n FROM crdt_changes").get().n;if(Y$>0){let L$=PI(h,W),w$=J.snapshotMinDelta??JI,e$=J.snapshotDeltaRatio??vI,b$=J.snapshotMaxIntervalMs??XI,p$=L$===null?Y$:$.query("SELECT COUNT(*) AS n FROM crdt_changes WHERE hlc > ?").get(L$).n;if((L$===null||p$>=Math.max(w$,Y$*e$)||p$>0&&Date.now()-CK(L$)>=b$)&&await ZK(X,W,j,J.priority??0))await OK($,X,Q,J.snapshotRetainSegments),V$=!0}}if(J.publish&&!V$&&A>0){let Y$=J.snapshotEverySegments??200;if((await X.list(qG(W,j))).filter((w$)=>w$.key.endsWith(".seg")).length>=Y$)await OK($,X,Q,J.snapshotRetainSegments)}return{pushed:A,pulled:o,pendingPush:T}}async function kI($,U,X,Q,J){if(X.length===0)return 0;let j=KI($,U),G=LI($),W=0;for(let D of[...X].sort().reverse()){if(j.has(D))continue;let A=await Q.get(PG(D)),T=A?await OI(A,J):null;if(T&&HI(G,T.frontier)){j.add(D);continue}let h=await Q.get(D);if(!h)continue;let o=await TK(h,J);W+=P1($,o),j.add(D);for(let V$ of o)if(!G[V$.node_id]||V$.hlc>G[V$.node_id])G[V$.node_id]=V$.hlc;if(T?.ownSegHigh){let V$=RG($,U,T.ownNode);if(!V$||V$<T.ownSegHigh)TG($,U,T.ownNode,T.ownSegHigh)}}let z=new Set(X);return zI($,U,[...j].filter((D)=>z.has(D))),W}var IG=null,sO=null,PK="__snapshot__",$I=16,BG="~",UI=40,JI=200,vI=0.5,XI=1800000,QI=($)=>`${$}/oplog/`,qG=($,U)=>`${$}/oplog/${U}/`,HK=($,U)=>`${$}/oplog/${U}/HEAD`,jI=($,U,X)=>`${$}/oplog/${U}/${String(X).padStart($I,"0")}.seg`,S2=($)=>`${$}/snapshot/`,GI=($)=>`${$}/keys/main.json`,_K=($,U)=>`${$}/blobs/${U}`,PG=($)=>`${$}.vc`;var T0=H$(()=>{L1();A6();KK();z6();E2()});var AI=32,RI=3,fR;var EK=H$(()=>{z6();fR=(AI+RI)*8/5});var SK=H$(()=>{z6()});function TI($){let U=$.query("SELECT value FROM meta WHERE key = ?").get("site_publish_rollbacks");if(!U?.value)return[];try{let X=JSON.parse(U.value);if(!Array.isArray(X))return[];return X.filter((Q)=>!!Q&&typeof Q.siteId==="string"&&typeof Q.peerUrl==="string"&&typeof Q.targetUrl==="string"&&Number.isFinite(Q.requiredSeq)&&Number.isFinite(Q.createdAt)&&typeof Q.lastError==="string")}catch{return[]}}function _I($,U){if(U.length===0){$.query("DELETE FROM meta WHERE key = ?").run("site_publish_rollbacks");return}$.query("INSERT INTO meta (key,value) VALUES (?,?) ON CONFLICT(key) DO UPDATE SET value=excluded.value").run("site_publish_rollbacks",JSON.stringify(U))}function xK($,U){let X=$.query("SELECT push_cursor,last_status FROM peers WHERE url = ?").get(U);if(!X||X.last_status!=="ok")return 0;let Q=TI($),J=Q.filter((j)=>j.peerUrl!==U||j.requiredSeq>X.push_cursor);return _I($,J),Q.length-J.length}var uK;var wK=H$(()=>{uK={name:"@tensorix/metahub",version:"0.4.1",description:"Metahub core library and CLI",license:"AGPL-3.0-only",type:"module",main:"./dist/index.js",module:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./package.json":"./package.json"},bin:{metahub:"./dist/cli.js",mh:"./dist/cli.js"},files:["dist","README.md","README.zh-CN.md","LICENSE"],scripts:{dev:"bun --hot src/cli/index.ts",build:"bun run scripts/build.ts","build:shell":"bun run scripts/build-shell.ts","build:share-viewer":"bun run scripts/build-share-viewer.ts","build:binaries":"bun run scripts/compile-binaries.ts","build:binaries:host":"HOST_ONLY=1 bun run scripts/compile-binaries.ts",prepublishOnly:"bun run build",test:"bun test",release:"bun run scripts/tag-release.ts"},dependencies:{"@clack/prompts":"^1.5.0","@codemirror/commands":"6.10.4","@codemirror/state":"6.7.0","@codemirror/view":"6.43.4","@joplin/turndown-plugin-gfm":"^1.0.67","@sqlite.org/sqlite-wasm":"^3.53.0-build1",aws4fetch:"^1.0.20",citty:"^0.1.6","highlight.js":"^11.11.1",jsqr:"^1.4.0",preact:"^10.29.2","qrcode-generator":"^2.0.4",turndown:"^7.2.4",zod:"^4.4.3"},devDependencies:{"@happy-dom/global-registrator":"^20.10.2","@prettier/plugin-php":"^0.25.0","@types/bun":"latest","@types/turndown":"^5.0.6","@wasm-fmt/clang-format":"^22.1.8","@wasm-fmt/gofmt":"^0.7.3","@wasm-fmt/lua_fmt":"^0.3.3","@wasm-fmt/ruff_fmt":"^0.15.20","@wasm-fmt/taplo_fmt":"^0.2.5","mvdan-sh":"^0.10.1",prettier:"^3.6","sql-formatter":"^15",typescript:"^5"}}});function MG(){return{v:1,tables:[]}}function FI($){return typeof $==="string"&&CG.includes($)}function gK($){let U=new Map;for(let Q of $){let J=U.get(Q.db)??new Set;for(let j of Q.ops)J.add(j);U.set(Q.db,J)}let X=[];for(let[Q,J]of U){let j=CG.filter((G)=>J.has(G));if(j.length)X.push({db:Q,ops:j})}return X.sort((Q,J)=>Q.db<J.db?-1:Q.db>J.db?1:0),{v:1,tables:X}}function y1($){if(!$)return MG();let U;try{U=JSON.parse($)}catch{return MG()}try{return w2(U)}catch{return MG()}}function w2($){if(typeof $!=="object"||$===null||Array.isArray($))throw new c("invalid_input","grants must be an object {v:1, tables:[...]}");let U=$;if(U.v!==1)throw new c("invalid_input","grants version must be 1");if(!Array.isArray(U.tables))throw new c("invalid_input","grants.tables must be an array");let X=[];for(let Q of U.tables){if(typeof Q!=="object"||Q===null)throw new c("invalid_input","each grant table must be an object {db, ops}");let{db:J,ops:j}=Q;if(typeof J!=="string"||!J)throw new c("invalid_input","grant table `db` must be a database id");if(!Array.isArray(j)||!j.every(FI))throw new c("invalid_input",`grant ops must be a subset of ${CG.join("|")} (delete is never grantable)`);X.push({db:J,ops:j})}return gK(X)}function pv($){return JSON.stringify(gK($.tables))}function yK($){return $.tables.some((U)=>U.ops.some((X)=>X!=="read"))}var CG;var RU=H$(()=>{z6();ZU();WU();KU();A6();CG=["read","create","update"]});function tv($,U){let X=U.permission??"view";if(!EI.has(U.kind))throw new c("invalid_input",`unknown share kind: ${U.kind}`);if(X!=="view"&&X!=="edit")throw new c("invalid_input",`unknown share permission: ${X}`);let Q=U.requestId?.trim()||null;if(Q&&!/^[A-Za-z0-9_-]{16,80}$/.test(Q))throw new c("invalid_input","share request id is invalid");if(Q){let z=g2($,Q);if(z){if(z.kind!==U.kind||z.target_id!==U.target_id)throw new c("conflict","share request id was already used for another target");return z}}let J=null;if(U.grants!=null){let z;try{z=JSON.parse(U.grants)}catch{throw new c("invalid_input","grants must be a JSON GrantSet")}J=pv(w2(z))}let j=k6(12);while(K1($,j))j=k6(12);let W=X==="edit"||yK(y1(J))?"g"+k6(8):null;return $.query(`INSERT INTO shares (${u2}) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(j,U.kind,U.target_id,X,"server",U.pwSalt??null,U.pwHash??null,U.expiresAt??null,W,U.servedBase??null,null,null,null,null,Date.now(),Q,J),K1($,j)}function g2($,U){return $.query(`SELECT ${u2} FROM shares WHERE request_id = ?`).get(U)??null}function K1($,U){return $.query(`SELECT ${u2} FROM shares WHERE slug = ?`).get(U)??null}function av($){return $.query(`SELECT ${u2} FROM shares ORDER BY created_at DESC`).all()}function ev($,U){return $.query(`SELECT ${u2} FROM shares WHERE target_id = ? ORDER BY created_at DESC`).all(U)}function v1($,U){return $.query("DELETE FROM shares WHERE slug = ?").run(U).changes>0}function hK($){let U=new Uint8Array($.byteLength);return U.set($),U.buffer}async function uI($,U){let X=await crypto.subtle.importKey("raw",hK(new TextEncoder().encode($)),"PBKDF2",!1,["deriveBits"]),Q=await crypto.subtle.deriveBits({name:"PBKDF2",salt:hK(U),iterations:SI,hash:"SHA-256"},X,wI);return new Uint8Array(Q)}async function sv($){let U=crypto.getRandomValues(new Uint8Array(xI)),X=await uI($,U);return{salt:J1(U),hash:J1(X)}}var EI,u2="slug, kind, target_id, permission, transport, pw_salt, pw_hash, expires_at, guest_node_id, served_base, s3_peer_url, s3_object_prefix, s3_presign_exp, s3_key_b64, created_at, request_id, grants",SI=600000,xI=16,wI=256;var _0=H$(()=>{z6();E6();E2();RU();EI=new Set(["doc","database","site"])});function FG($){let U=gI;for(let X=0;X<$.length;X++)U^=BigInt($.charCodeAt(X)),U=U*yI&hI;return U.toString(16).padStart(16,"0")}var gI=0xcbf29ce484222325n,yI=0x100000001b3n,hI=0xffffffffffffffffn;function EG($){let U=[],X=[];if($.grantedDbIds.length>0){let Q=$.grantedDbIds.map(()=>"?").join(", ");U.push(`SELECT 'databases' AS dataset, id AS row_id FROM databases WHERE id IN (${Q})`),X.push(...$.grantedDbIds),U.push(`SELECT 'properties', id FROM properties WHERE database_id IN (${Q})`),X.push(...$.grantedDbIds),U.push(`SELECT 'records', id FROM records WHERE database_id IN (${Q})`),X.push(...$.grantedDbIds)}if($.siteId)U.push("SELECT 'sites', id FROM sites WHERE id = ?"),X.push($.siteId),U.push("SELECT 'site_files', id FROM site_files WHERE site_id = ?"),X.push($.siteId);if(U.length===0)U.push("SELECT '' AS dataset, '' AS row_id WHERE 0");return{sql:U.join(" UNION ALL "),params:X}}function nK($,U){let X=EG(U);return $.query(`SELECT dataset, row_id FROM (${X.sql}) ORDER BY dataset, row_id`).all(...X.params)}function SG($,U,X){switch(X.dataset){case"databases":return U.grantedDbIds.includes(X.row_id)&&$.query("SELECT 1 FROM databases WHERE id = ?").get(X.row_id)!=null;case"properties":case"records":{let Q=$.query(`SELECT database_id FROM ${X.dataset} WHERE id = ?`).get(X.row_id);return Q?.database_id!=null&&U.grantedDbIds.includes(Q.database_id)}case"sites":return U.siteId===X.row_id&&$.query("SELECT 1 FROM sites WHERE id = ?").get(X.row_id)!=null;case"site_files":{if(!U.siteId)return!1;return $.query("SELECT site_id FROM site_files WHERE id = ?").get(X.row_id)?.site_id===U.siteId}default:return!1}}function mK($,U,X){let Q=EG(X),J=$.query(`WITH m(dataset, row_id) AS (${Q.sql})
462
+ )`).all();return ji(r,t)}function xw(e){let t={};for(let r of e)if(!t[r.node_id]||r.hlc>t[r.node_id])t[r.node_id]=r.hlc;return t}function Tw(e){let t=e.query("SELECT node_id, MAX(hlc) AS h FROM crdt_changes GROUP BY node_id").all(),r={};for(let n of t)r[n.node_id]=n.h;return r}function kw(e,t){for(let r in t)if(!e[r]||e[r]<t[r])return!1;return!0}async function Rw(e,t){let r=await r_(new TextEncoder().encode(JSON.stringify(e)));return t?pr(t,r):r}async function Aw(e,t){try{let r=t?await Hr(t,e):e;return JSON.parse(new TextDecoder().decode(await n_(r)))}catch{return null}}function Dw(e,t){let r=new Set;for(let n of e){let o=n.key.slice(t.length),s=o.indexOf("/");if(s>0)r.add(o.slice(0,s))}return[...r]}async function Ow(e,t){let r=gw(t);return Dw(await e.list(r,void 0,"/"),r)}async function pa(e,t,r){if(!t.encrypt)return null;let n=eo(t.prefix),o=mw(n),s=async(m)=>nr(await oa(JSON.parse(new TextDecoder().decode(m)),r)),a=await e.get(o);if(a)return s(a);let u=na(),_=await Kp(u,r);try{return await e.put(o,new TextEncoder().encode(JSON.stringify(_)),{contentType:"application/json",ifNoneMatch:!0}),nr(u)}catch(m){if(ln(m)==="conflict"){let x=await e.get(o);if(x)return s(x)}throw m}}async function Qp(e,t,r,n=dw){let o=Date.now();cn(e,o);let s=si(r),a=eo(r.prefix),u=We(e),_=(await t.list(aa(a,u))).map((de)=>de.key).filter((de)=>de.endsWith(".seg")).sort(),m=_.length?_[_.length-1]:null,x=Sw(e,o);if(x.length===0)return null;let D=x.reduce((de,ge)=>ge.hlc>de?ge.hlc:de,""),j=await bw(x.map((de)=>JSON.stringify(de)).sort().join(`
463
+ `)),Y=`${Yn(a)}${D}${sa}${j}.snap`;await t.put(Y,await o_(x,s),{contentType:"application/octet-stream"}),await t.put(ca(Y),await Rw({frontier:xw(x),ownNode:u,ownSegHigh:m},s),{contentType:"application/octet-stream"});for(let de of await t.list(Yn(a))){if(!de.key.endsWith(".snap"))continue;if(de.key.slice(Yn(a).length).split(sa)[0]<D)await t.del(de.key),await t.del(ca(de.key))}let _e=_.slice(0,Math.max(0,_.length-n));for(let de of _e)await t.del(de);return{key:Y,changes:x.length}}function c_(e){return parseInt(e.slice(0,15),10)}function Iw(e){return Date.now()-c_(e.hlc)}function Pw(e,t){let r=Yn(t),n=null;for(let o of e){let s=o.slice(r.length).split(sa)[0];if(n===null||s>n)n=s}return n}async function l_(e,t,r,n,o={}){cn(e);let s=We(e),a=si(n),u=eo(n.prefix),_=ww(e,t),m=br(e,_,{onlyNode:s}),x=0,D=!1;if(m.changes.length===0)Xp(e,t,m.cursor);else{let de=o.minPushChanges??1,ge=o.maxPushAgeMs??0;if(o.forcePush||m.changes.length>=de||Iw(m.changes[0])>=ge){let Ze=hw(u,s,m.cursor);await r.put(Jp(u,s),new TextEncoder().encode(Ze),{contentType:"text/plain"}),await r.put(Ze,await o_(m.changes,a),{contentType:"application/octet-stream"}),Xp(e,t,m.cursor),x=m.changes.length}else D=!0}let j=[],Y=0;if(o.pull??!0){j=(await r.list(Yn(u))).map((de)=>de.key).filter((de)=>de.endsWith(".snap")),Y+=await Cw(e,t,j,r,a);for(let de of await Ow(r,u)){if(de===s)continue;let ge=da(e,t,de),Le=await r.get(Jp(u,de));if(Le){let $e=new TextDecoder().decode(Le);if(ge&&$e<=ge)continue}let Ze=(await r.list(aa(u,de),ge??void 0)).filter(($e)=>$e.key.endsWith(".seg"));for(let $e of Ze){let Ue=await r.get($e.key);if(!Ue)continue;let tt=await i_(Ue,a);Y+=er(e,tt),fa(e,t,de,$e.key)}}}let _e=!1;if(o.publish){let de=e.query("SELECT COUNT(*) AS n FROM crdt_changes").get().n;if(de>0){let ge=Pw(j,u),Le=o.snapshotMinDelta??fw,Ze=o.snapshotDeltaRatio??pw,$e=o.snapshotMaxIntervalMs??_w,Ue=ge===null?de:e.query("SELECT COUNT(*) AS n FROM crdt_changes WHERE hlc > ?").get(ge).n;if((ge===null||Ue>=Math.max(Le,de*Ze)||Ue>0&&Date.now()-c_(ge)>=$e)&&await Hp(r,u,s,o.priority??0))await Qp(e,r,n,o.snapshotRetainSegments),_e=!0}}if(o.publish&&!_e&&x>0){let de=o.snapshotEverySegments??200;if((await r.list(aa(u,s))).filter((Le)=>Le.key.endsWith(".seg")).length>=de)await Qp(e,r,n,o.snapshotRetainSegments)}return{pushed:x,pulled:Y,pendingPush:D}}async function Cw(e,t,r,n,o){if(r.length===0)return 0;let s=vw(e,t),a=Tw(e),u=0;for(let m of[...r].sort().reverse()){if(s.has(m))continue;let x=await n.get(ca(m)),D=x?await Aw(x,o):null;if(D&&kw(a,D.frontier)){s.add(m);continue}let j=await n.get(m);if(!j)continue;let Y=await i_(j,o);u+=er(e,Y),s.add(m);for(let _e of Y)if(!a[_e.node_id]||_e.hlc>a[_e.node_id])a[_e.node_id]=_e.hlc;if(D?.ownSegHigh){let _e=da(e,t,D.ownNode);if(!_e||_e<D.ownSegHigh)fa(e,t,D.ownNode,D.ownSegHigh)}}let _=new Set(r);return Ew(e,t,[...s].filter((m)=>_.has(m))),u}var ia=null,t_="__snapshot__",uw=16,sa="~",dw=40,fw=200,pw=0.5,_w=1800000,gw=(e)=>`${e}/oplog/`,aa=(e,t)=>`${e}/oplog/${t}/`,Jp=(e,t)=>`${e}/oplog/${t}/HEAD`,hw=(e,t,r)=>`${e}/oplog/${t}/${String(r).padStart(uw,"0")}.seg`,Yn=(e)=>`${e}/snapshot/`,mw=(e)=>`${e}/keys/main.json`,s_=(e,t)=>`${e}/blobs/${t}`,ca=(e)=>`${e}.vc`;var wn=De(()=>{Gt();dt();Wp();Ye();Qn()});var Nw=32,qw=3,yk;var u_=De(()=>{Ye();yk=(Nw+qw)*8/5});var d_=De(()=>{Ye()});function Lw(e){let t=e.query("SELECT value FROM meta WHERE key = ?").get("site_publish_rollbacks");if(!t?.value)return[];try{let r=JSON.parse(t.value);if(!Array.isArray(r))return[];return r.filter((n)=>!!n&&typeof n.siteId==="string"&&typeof n.peerUrl==="string"&&typeof n.targetUrl==="string"&&Number.isFinite(n.requiredSeq)&&Number.isFinite(n.createdAt)&&typeof n.lastError==="string")}catch{return[]}}function $w(e,t){if(t.length===0){e.query("DELETE FROM meta WHERE key = ?").run("site_publish_rollbacks");return}e.query("INSERT INTO meta (key,value) VALUES (?,?) ON CONFLICT(key) DO UPDATE SET value=excluded.value").run("site_publish_rollbacks",JSON.stringify(t))}function f_(e,t){let r=e.query("SELECT push_cursor,last_status FROM peers WHERE url = ?").get(t);if(!r||r.last_status!=="ok")return 0;let n=Lw(e),o=n.filter((s)=>s.peerUrl!==t||s.requiredSeq>r.push_cursor);return $w(e,o),n.length-o.length}var __;var p_=De(()=>{__={name:"@tensorix/metahub",version:"0.5.1",description:"Metahub core library and CLI",license:"AGPL-3.0-only",type:"module",main:"./dist/index.js",module:"./dist/index.js",types:"./dist/index.d.ts",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./package.json":"./package.json"},bin:{metahub:"./dist/cli.js",mh:"./dist/cli.js"},files:["dist","README.md","README.zh-CN.md","LICENSE"],scripts:{dev:"bun --hot src/cli/index.ts",build:"bun run scripts/build.ts","build:shell":"bun run scripts/build-shell.ts","build:share-viewer":"bun run scripts/build-share-viewer.ts","build:binaries":"bun run scripts/compile-binaries.ts","build:binaries:host":"HOST_ONLY=1 bun run scripts/compile-binaries.ts",prepublishOnly:"bun run build",test:"bun test",release:"bun run scripts/tag-release.ts"},dependencies:{"@clack/prompts":"^1.5.0","@codemirror/commands":"6.10.4","@codemirror/state":"6.7.0","@codemirror/view":"6.43.4","@joplin/turndown-plugin-gfm":"^1.0.67","@sqlite.org/sqlite-wasm":"^3.53.0-build1",aws4fetch:"^1.0.20",citty:"^0.1.6","highlight.js":"^11.11.1",jsqr:"^1.4.0",preact:"^10.29.2","qrcode-generator":"^2.0.4",turndown:"^7.2.4",zod:"^4.4.3"},devDependencies:{"@happy-dom/global-registrator":"^20.10.2","@prettier/plugin-php":"^0.25.0","@types/bun":"latest","@types/turndown":"^5.0.6","@wasm-fmt/clang-format":"^22.1.8","@wasm-fmt/gofmt":"^0.7.3","@wasm-fmt/lua_fmt":"^0.3.3","@wasm-fmt/ruff_fmt":"^0.15.20","@wasm-fmt/taplo_fmt":"^0.2.5","mvdan-sh":"^0.10.1",prettier:"^3.6","sql-formatter":"^15",typescript:"^5"}}});function _a(){return{v:1,tables:[]}}function Mw(e){return typeof e==="string"&&ga.includes(e)}function g_(e){let t=new Map;for(let n of e){let o=t.get(n.db)??new Set;for(let s of n.ops)o.add(s);t.set(n.db,o)}let r=[];for(let[n,o]of t){let s=ga.filter((a)=>o.has(a));if(s.length)r.push({db:n,ops:s})}return r.sort((n,o)=>n.db<o.db?-1:n.db>o.db?1:0),{v:1,tables:r}}function _r(e){if(!e)return _a();let t;try{t=JSON.parse(e)}catch{return _a()}try{return to(t)}catch{return _a()}}function to(e){if(typeof e!=="object"||e===null||Array.isArray(e))throw new Z("invalid_input","grants must be an object {v:1, tables:[...]}");let t=e;if(t.v!==1)throw new Z("invalid_input","grants version must be 1");if(!Array.isArray(t.tables))throw new Z("invalid_input","grants.tables must be an array");let r=[];for(let n of t.tables){if(typeof n!=="object"||n===null)throw new Z("invalid_input","each grant table must be an object {db, ops}");let{db:o,ops:s}=n;if(typeof o!=="string"||!o)throw new Z("invalid_input","grant table `db` must be a database id");if(!Array.isArray(s)||!s.every(Mw))throw new Z("invalid_input",`grant ops must be a subset of ${ga.join("|")} (delete is never grantable)`);r.push({db:o,ops:s})}return g_(r)}function ai(e){return JSON.stringify(g_(e.tables))}function h_(e){return e.tables.some((t)=>t.ops.some((r)=>r!=="read"))}var ga;var Wr=De(()=>{Ye();qr();Nr();Lr();dt();ga=["read","create","update"]});function ha(e,t){let r=t.permission??"view";if(!Bw.has(t.kind))throw new Z("invalid_input",`unknown share kind: ${t.kind}`);if(r!=="view"&&r!=="edit")throw new Z("invalid_input",`unknown share permission: ${r}`);let n=t.requestId?.trim()||null;if(n&&!/^[A-Za-z0-9_-]{16,80}$/.test(n))throw new Z("invalid_input","share request id is invalid");if(n){let _=y_(e,n);if(_){if(_.kind!==t.kind||_.target_id!==t.target_id)throw new Z("conflict","share request id was already used for another target");return _}}let o=null;if(t.grants!=null){let _;try{_=JSON.parse(t.grants)}catch{throw new Z("invalid_input","grants must be a JSON GrantSet")}o=ai(to(_))}let s=bt(12);while(or(e,s))s=bt(12);let u=r==="edit"||h_(_r(o))?"g"+bt(8):null;return e.query(`INSERT INTO shares (${ro}) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(s,t.kind,t.target_id,r,"server",t.pwSalt??null,t.pwHash??null,t.expiresAt??null,u,t.servedBase??null,null,null,null,null,Date.now(),n,o),or(e,s)}function y_(e,t){return e.query(`SELECT ${ro} FROM shares WHERE request_id = ?`).get(t)??null}function or(e,t){return e.query(`SELECT ${ro} FROM shares WHERE slug = ?`).get(t)??null}function ma(e){return e.query(`SELECT ${ro} FROM shares ORDER BY created_at DESC`).all()}function ya(e,t){return e.query(`SELECT ${ro} FROM shares WHERE target_id = ? ORDER BY created_at DESC`).all(t)}function Qt(e,t){return e.query("DELETE FROM shares WHERE slug = ?").run(t).changes>0}function m_(e){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}async function Ww(e,t){let r=await crypto.subtle.importKey("raw",m_(new TextEncoder().encode(e)),"PBKDF2",!1,["deriveBits"]),n=await crypto.subtle.deriveBits({name:"PBKDF2",salt:m_(t),iterations:Uw,hash:"SHA-256"},r,Hw);return new Uint8Array(n)}async function ba(e){let t=crypto.getRandomValues(new Uint8Array(jw)),r=await Ww(e,t);return{salt:nr(t),hash:nr(r)}}var Bw,ro="slug, kind, target_id, permission, transport, pw_salt, pw_hash, expires_at, guest_node_id, served_base, s3_peer_url, s3_object_prefix, s3_presign_exp, s3_key_b64, created_at, request_id, grants",Uw=600000,jw=16,Hw=256;var vn=De(()=>{Ye();wt();Qn();Wr();Bw=new Set(["doc","database","site"])});function wa(e){let t=Zw;for(let r=0;r<e.length;r++)t^=BigInt(e.charCodeAt(r)),t=t*Gw&Kw;return t.toString(16).padStart(16,"0")}var Zw=0xcbf29ce484222325n,Gw=0x100000001b3n,Kw=0xffffffffffffffffn;function va(e){let t=[],r=[];if(e.grantedDbIds.length>0){let n=e.grantedDbIds.map(()=>"?").join(", ");t.push(`SELECT 'databases' AS dataset, id AS row_id FROM databases WHERE id IN (${n})`),r.push(...e.grantedDbIds),t.push(`SELECT 'properties', id FROM properties WHERE database_id IN (${n})`),r.push(...e.grantedDbIds),t.push(`SELECT 'records', id FROM records WHERE database_id IN (${n})`),r.push(...e.grantedDbIds)}if(e.siteId)t.push("SELECT 'sites', id FROM sites WHERE id = ?"),r.push(e.siteId),t.push("SELECT 'site_files', id FROM site_files WHERE site_id = ?"),r.push(e.siteId);if(t.length===0)t.push("SELECT '' AS dataset, '' AS row_id WHERE 0");return{sql:t.join(" UNION ALL "),params:r}}function v_(e,t){let r=va(t);return e.query(`SELECT dataset, row_id FROM (${r.sql}) ORDER BY dataset, row_id`).all(...r.params)}function Ea(e,t,r){switch(r.dataset){case"databases":return t.grantedDbIds.includes(r.row_id)&&e.query("SELECT 1 FROM databases WHERE id = ?").get(r.row_id)!=null;case"properties":case"records":{let n=e.query(`SELECT database_id FROM ${r.dataset} WHERE id = ?`).get(r.row_id);return n?.database_id!=null&&t.grantedDbIds.includes(n.database_id)}case"sites":return t.siteId===r.row_id&&e.query("SELECT 1 FROM sites WHERE id = ?").get(r.row_id)!=null;case"site_files":{if(!t.siteId)return!1;return e.query("SELECT site_id FROM site_files WHERE id = ?").get(r.row_id)?.site_id===t.siteId}default:return!1}}function E_(e,t,r){let n=va(r),o=e.query(`WITH m(dataset, row_id) AS (${n.sql})
468
464
  SELECT dataset, row_id FROM m
469
- EXCEPT SELECT dataset, row_id FROM room_rows WHERE peer_key = ?`).all(...Q.params,U),j=$.query(`WITH m(dataset, row_id) AS (${Q.sql})
465
+ EXCEPT SELECT dataset, row_id FROM room_rows WHERE peer_key = ?`).all(...n.params,t),s=e.query(`WITH m(dataset, row_id) AS (${n.sql})
470
466
  SELECT dataset, row_id FROM room_rows WHERE peer_key = ?
471
- EXCEPT SELECT dataset, row_id FROM m`).all(...Q.params,U);return{entered:J,left:j}}function $X($,U,X){let Q=$.query("DELETE FROM room_rows WHERE peer_key = ? AND dataset = ? AND row_id = ?");for(let j of X.left)Q.run(U,j.dataset,j.row_id);let J=$.query("INSERT OR IGNORE INTO room_rows (peer_key, dataset, row_id) VALUES (?, ?, ?)");for(let j of X.entered)J.run(U,j.dataset,j.row_id)}function cK($,U,X){$.query("DELETE FROM room_rows WHERE peer_key = ?").run(U),$X($,U,{entered:X,left:[]})}function iK($,U,X,Q={}){let J=["c.seq > ?"],j=[X,U];if(Q.excludeGuestBase!=null)J.push("NOT (c.node_id = ? OR c.node_id LIKE ? || '-%')"),j.push(Q.excludeGuestBase,Q.excludeGuestBase);let G=Q.limit!=null&&Q.limit>0?` LIMIT ${Math.floor(Q.limit)}`:"",W=$.query(`SELECT c.seq AS seq, ${bK} FROM crdt_changes c
467
+ EXCEPT SELECT dataset, row_id FROM m`).all(...n.params,t);return{entered:o,left:s}}function ci(e,t,r){let n=e.query("DELETE FROM room_rows WHERE peer_key = ? AND dataset = ? AND row_id = ?");for(let s of r.left)n.run(t,s.dataset,s.row_id);let o=e.query("INSERT OR IGNORE INTO room_rows (peer_key, dataset, row_id) VALUES (?, ?, ?)");for(let s of r.entered)o.run(t,s.dataset,s.row_id)}function S_(e,t,r){e.query("DELETE FROM room_rows WHERE peer_key = ?").run(t),ci(e,t,{entered:r,left:[]})}function x_(e,t,r,n={}){let o=["c.seq > ?"],s=[r,t];if(n.excludeGuestBase!=null)o.push("NOT (c.node_id = ? OR c.node_id LIKE ? || '-%')"),s.push(n.excludeGuestBase,n.excludeGuestBase);let a=n.limit!=null&&n.limit>0?` LIMIT ${Math.floor(n.limit)}`:"",u=e.query(`SELECT c.seq AS seq, ${w_} FROM crdt_changes c
472
468
  JOIN room_rows r ON r.peer_key = ? AND r.dataset = c.dataset AND r.row_id = c.row_id
473
- WHERE ${J.join(" AND ")} ORDER BY c.seq${G}`).all(...j),z=Q.limit==null||Q.limit<=0||W.length<Q.limit,D;if(z){let A=$.query("SELECT MAX(seq) AS m FROM crdt_changes").get();D=Math.max(U,A.m??U)}else D=W[W.length-1].seq;return{changes:W.map(({seq:A,...T})=>T),cursor:D}}function xG($,U,X){return $.query(`SELECT ${H1} FROM crdt_changes c
469
+ WHERE ${o.join(" AND ")} ORDER BY c.seq${a}`).all(...s),_=n.limit==null||n.limit<=0||u.length<n.limit,m;if(_){let x=e.query("SELECT MAX(seq) AS m FROM crdt_changes").get();m=Math.max(t,x.m??t)}else m=u[u.length-1].seq;return{changes:u.map(({seq:x,...D})=>D),cursor:m}}function Sa(e,t,r){return e.query(`SELECT ${It} FROM crdt_changes c
474
470
  WHERE c.dataset = ? AND c.row_id = ? AND NOT EXISTS (
475
471
  SELECT 1 FROM crdt_changes k
476
472
  WHERE k.dataset = c.dataset AND k.row_id = c.row_id AND k.col = c.col AND k.hlc > c.hlc
477
- )`).all(U,X)}function UX($,U){let X=EG(U);return $.query(`WITH m(dataset, row_id) AS (${X.sql})
478
- SELECT ${bK} FROM crdt_changes c
473
+ )`).all(t,r)}function li(e,t){let r=va(t);return e.query(`WITH m(dataset, row_id) AS (${r.sql})
474
+ SELECT ${w_} FROM crdt_changes c
479
475
  JOIN m ON m.dataset = c.dataset AND m.row_id = c.row_id
480
476
  WHERE NOT EXISTS (
481
477
  SELECT 1 FROM crdt_changes k
482
478
  WHERE k.dataset = c.dataset AND k.row_id = c.row_id AND k.col = c.col AND k.hlc > c.hlc
483
- )`).all(...X.params)}function JX($){let U=$.map((X)=>`${X.dataset}\x00${X.row_id}\x00${X.col}\x00${X.hlc}`).sort();return FG(U.map((X)=>X+"\x1E").join(""))}var fK,bK;var wG=H$(()=>{A6();fK=["databases","properties","records","sites","site_files"],bK=$J.map(($)=>"c."+$).join(", ")});var lK=H$(()=>{RU();_0()});var rK=H$(()=>{z6();KU();A6();E6();RU()});var vX=1,XX=1048576,bT;var uG=H$(()=>{z6();A6();WJ();E6();lK();rK();wG();bT=Object.fromEntries(fK.map(($)=>[$,$]))});function fI($,U){$.query("INSERT INTO peers (url, kind, enabled, pull_cursor, push_cursor) VALUES (?, 'room', 1, 0, 0) ON CONFLICT(url) DO NOTHING").run(U)}function y2($,U){let X=$.query("SELECT pull_cursor, push_cursor FROM peers WHERE url = ?").get(U);return{pull:X?.pull_cursor??0,push:X?.push_cursor??0}}function gG($,U,X){$.query("UPDATE peers SET pull_cursor = ?, push_cursor = ? WHERE url = ?").run(X.pull,X.push,U)}function dK($,U){for(let X of $)if(X.node_id!==U&&!X.node_id.startsWith(U+"-"))throw new c("auth",`room returned an op authored by ${JSON.stringify(X.node_id)} — refusing to ingest`)}function pK($,U,X){let Q=new Set,J=[];for(let j of X){let G=`${j.dataset} ${j.row_id}`;if(Q.has(G))continue;Q.add(G);let W={dataset:j.dataset,row_id:j.row_id};if(SG($,U.scope,W))J.push(W)}return J}function bI($,U,X){return $.transaction(()=>{let{push:J}=y2($,U.peerKey),j=mK($,U.peerKey,U.scope),G=iK($,J,U.peerKey,{limit:X,excludeGuestBase:U.guestBase}),W=[...G.changes],z=[];for(let D of j.entered){if(W.length>=X&&z.length>0)break;if(W.push(...xG($,D.dataset,D.row_id)),z.push(D),W.length>=X)break}return{diff:j,shipped:z,changes:W,pushCursor:G.cursor,pendingBaselines:z.length<j.entered.length,incrementFull:G.changes.length>=X}})()}async function tK($,U,X,Q={}){let J=Q.limit??500;fI($,U.peerKey);let j=y2($,U.peerKey).pull,G=bI($,U,J),W={protocol:vX,mh_version:Q.mhVersion,node_id:J6($),since:j,changes:G.changes,evict:G.diff.left,digest:Q.digest?JX(UX($,U.scope)):void 0},z=await X(W);if(z.protocol!==vX)throw new c("conflict",`room answered protocol ${z.protocol} — upgrade required`);if(z.share_state==="expired")return{pushed:0,pulled:0,evicted:0,pending:!1,healed:!1,needBlobs:[],shareState:"expired"};dK(z.changes,U.guestBase);let D=P1($,z.changes);if($.transaction(()=>{$X($,U.peerKey,{entered:[...G.shipped,...pK($,U,z.changes)],left:G.diff.left}),gG($,U.peerKey,{pull:z.cursor,push:G.pushCursor})})(),z.need_baseline.length>0)await nI($,U,X,z.need_baseline);let A=!1;if(Q.digest&&z.digest!==void 0){if(JX(UX($,U.scope))!==z.digest)await mI($,U,X),A=!0}return{pushed:G.changes.length,pulled:D,evicted:G.diff.left.length,pending:G.pendingBaselines||G.incrementFull||z.more===!0,healed:A,needBlobs:z.need_blobs??[],shareState:"active"}}async function nI($,U,X,Q){let J=[],j=[],G=[];for(let z of Q)if(SG($,U.scope,z))J.push(...xG($,z.dataset,z.row_id)),G.push(z);else j.push(z);let W=await aK($,U,X,J,j);if(W.share_state==="expired")return;$.transaction(()=>{$X($,U.peerKey,{entered:[...G,...pK($,U,W.changes)],left:j});let z=y2($,U.peerKey);gG($,U.peerKey,{pull:W.cursor,push:z.push})})()}async function mI($,U,X){let Q=nK($,U.scope),J=UX($,U.scope),j=await aK($,U,X,J,[],Q);if(j.share_state==="expired")return;$.transaction(()=>{cK($,U.peerKey,Q);let G=y2($,U.peerKey);gG($,U.peerKey,{pull:j.cursor,push:G.push})})()}async function aK($,U,X,Q,J,j){let G=await X({protocol:vX,node_id:J6($),since:y2($,U.peerKey).pull,changes:Q,evict:J,members:j});if(G.share_state==="expired")return G;return dK(G.changes,U.guestBase),P1($,G.changes),G}var oK=16;var eK=H$(()=>{z6();L1();A6();wG();uG()});function I1($){return`${$.base.replace(/\/+$/,"")}/r/${$.slug}/`}var M0={};Y1(M0,{teardownRoomForShare:()=>WX,syncRoomPeer:()=>hG,roomUrlOf:()=>I1,roomTransport:()=>Jz,roomPeerKey:()=>jX,registerRoomBlobResolver:()=>yG,pushRoomBlobs:()=>vz,provisionRoomForShare:()=>fG,destroyRoom:()=>B1});function yG($){sK=$}function jX($){return`room://${$}`}function M1($,U,X,Q){let J={...U,lifecycle:X,...Q?{cleanupError:Q}:{cleanupError:void 0}};return bG($,{url:jX(U.slug),config:J,label:`room ${U.slug}`}),J}function GX($,U){return`${$.base.replace(/\/+$/,"")}/r/${encodeURIComponent($.slug)}/${U}`}function YX($,U=!0){return{authorization:`Bearer ${$.ownerSecret}`,...U?{"content-type":"application/json"}:{}}}async function $z($,U){try{return await fetch(GX($,"owner/provision"),{method:"POST",headers:YX($),body:JSON.stringify({slug:U.slug,guestBase:$.guestBase,grants:U.grants,pwHash:U.pw_hash,pwSalt:U.pw_salt,expiresAt:U.expires_at}),signal:AbortSignal.timeout(30000)})}catch(X){throw new c("network",`edge worker unreachable: ${X.message}`)}}function Uz($){if($.status===401)return new c("auth","edge worker refused the owner secret");if($.status===404)return new c("not_found","the deployed edge worker has no room support — run `mh edge deploy` to upgrade it");return new c("network",`room provisioning failed: HTTP ${$.status}`)}function Jz($){return async(U)=>{let X;try{X=await fetch(GX($,"owner/sync"),{method:"POST",headers:YX($),body:JSON.stringify(U),signal:AbortSignal.timeout(30000)})}catch(Q){throw new c("network",`room ${$.slug} unreachable: ${Q.message}`)}if(X.status===409)throw new c("conflict","room protocol outdated — run `mh edge deploy`");if(X.status===401)throw new c("auth",`room ${$.slug} refused the owner secret`);if(X.status===404)throw new c("not_found",`room ${$.slug} is not provisioned — re-create the share with --room`);if(!X.ok)throw new c("network",`room sync failed: HTTP ${X.status}`);return await X.json()}}async function hG($,U,X={}){if(!U.config)throw new c("invalid_input",`room peer ${U.url} has no config`);let Q=JSON.parse(U.config);if(Q.lifecycle==="cleanup_pending"){if(!await B1(Q).catch(()=>!1))throw new c("network",Q.cleanupError||`room ${Q.slug} cleanup is still pending`);return x6($,U.url),v1($,Q.slug),QX.delete(U.url),{pushed:0,pulled:0,pendingPush:!1}}let J=K1($,Q.slug);if(!J){if(await B1(Q).catch(()=>!1))return x6($,U.url),{pushed:0,pulled:0,pendingPush:!1};throw Q=M1($,Q,"cleanup_pending","share row is gone but remote room destruction is unconfirmed"),new c("network",Q.cleanupError)}if(Q.lifecycle==="provisioning"){let o;try{o=await $z(Q,J)}catch(L$){if(await B1(Q).catch(()=>!1))x6($,U.url),v1($,J.slug);else M1($,Q,"cleanup_pending",L$.message);throw L$}if(!o.ok){let L$=Uz(o);if(o.status===401||o.status===404||await B1(Q).catch(()=>!1))x6($,U.url),v1($,J.slug);else M1($,Q,"cleanup_pending",L$.message);throw L$}let V$=M1($,Q,"active"),Y$=N6($,U.url);try{return await hG($,Y$,X)}catch(L$){if(await B1(V$).catch(()=>!1))x6($,U.url),v1($,J.slug);else M1($,V$,"cleanup_pending",L$.message);throw L$}}let j={grantedDbIds:y1(J.grants).tables.map((o)=>o.db),siteId:J.kind==="site"?J.target_id:null},G=Q.guestBase??J.guest_node_id;if(!G)throw new c("invalid_input",`room peer ${U.url} has no guest base id — revoke and re-create the share with --room`);let W=QX.get(U.url)??{rounds:0,lastGrants:J.grants},z=Jz(Q),D=0,A=0,T=[],h=!1;for(let o=0;o<cI;o++){W.rounds++;let V$=W.rounds%oK===0||W.lastGrants!==J.grants;W.lastGrants=J.grants,QX.set(U.url,W);let Y$=await tK($,{peerKey:U.url,scope:j,guestBase:G},z,{digest:V$});if(Y$.shareState==="expired")return await B1(Q).catch(()=>{return}),x6($,U.url),{pushed:D,pulled:A,pendingPush:!1};if(D+=Y$.pushed,A+=Y$.pulled,T=Y$.needBlobs,h=Y$.pending,!Y$.pending)break}if(T.length>0)await vz($,Q,T,X.resolveBlob);return{pushed:D,pulled:A,pendingPush:h}}async function vz($,U,X,Q){let J=Q??sK;if(!J)return 0;let j=0;for(let G of X){if(!/^[0-9a-f]{16,64}$/.test(G))continue;let W=await J($,G).catch(()=>null);if(!W)continue;let z=Math.max(1,Math.ceil(W.byteLength/XX)),D=!0;for(let A=0;A<z&&D;A++){let T=W.subarray(A*XX,(A+1)*XX),h=new Uint8Array(T.byteLength);h.set(T),D=!!(await fetch(`${GX(U,`owner/blob/${G}`)}?idx=${A}&total=${z}`,{method:"POST",headers:{...YX(U,!1),"content-type":"application/octet-stream"},body:h.buffer,signal:AbortSignal.timeout(30000)}).catch(()=>null))?.ok}if(D)j++}return j}async function fG($,U,X,Q){let J={base:X.endpoint.replace(/\/+$/,""),slug:U.slug,ownerSecret:X.token,guestBase:U.guest_node_id??"g"+k6(8),lifecycle:"provisioning"},j=jX(U.slug);bG($,{url:j,config:J,label:`room ${U.slug}`});let G;try{G=await $z(J,U)}catch(D){let A=D.message;if(await B1(J).catch(()=>!1))x6($,j);else M1($,J,"cleanup_pending",A);throw D}if(!G.ok){let D=Uz(G);if(G.status===401||G.status===404)throw x6($,j),D;let A=D.message;if(await B1(J).catch(()=>!1))x6($,j);else M1($,J,"cleanup_pending",A);throw D}let W=M1($,J,"active"),z=N6($,j);try{await hG($,z,{resolveBlob:Q})}catch(D){let A=D.message;if(await B1(W).catch(()=>!1))x6($,j);else M1($,W,"cleanup_pending",A);throw D}return{url:I1(W),peerKey:j}}async function B1($){let U=await fetch(GX($,"owner/destroy"),{method:"POST",headers:YX($),signal:AbortSignal.timeout(30000)});return U.ok||U.status===404}async function WX($,U){let X=N6($,jX(U));if(!X||X.kind!=="room"||!X.config)return"absent";let Q=JSON.parse(X.config),J=M1($,Q,"cleanup_pending","remote room destruction is unconfirmed");if(!await B1(J).catch(()=>!1))return"cleanup_pending";return x6($,X.url),QX.delete(X.url),"destroyed"}var sK,QX,cI=50;var TU=H$(()=>{z6();E6();_0();RU();h2();eK();uG();QX=new Map});function oI($){let U=$.slice($.lastIndexOf(".")+1).toLowerCase();return rI[U]??"application/octet-stream"}function cG($){let U=$.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"");if(!U)throw new c("invalid_input",`invalid site name: ${JSON.stringify($)}`);return U}function iG($){let U=[];for(let X of $.split("/")){if(X===""||X===".")continue;if(X==="..")U.pop();else U.push(X)}return U.join("/")}function jz($){return $.visibility==="public"}function z1($,U){return $.query(`SELECT ${mG} FROM sites WHERE id = ? AND __deleted = 0`).get(U)}function Gz($,U){let X=$.query("SELECT __deleted AS d FROM sites WHERE id = ?").get(U);if(!X)return"absent";return X.d?"tombstoned":"live"}function lG($,U){let X;try{X=cG(U)}catch{return null}return $.query(`SELECT ${mG} FROM sites WHERE name = ? AND __deleted = 0 ORDER BY created_hlc DESC LIMIT 1`).get(X)}function Yz($){return $.query(`SELECT ${mG} FROM sites WHERE __deleted = 0 ORDER BY created_hlc`).all()}function s1($,U){let Q=(U.startsWith("site_")?z1($,U):null)??lG($,U);if(!Q)throw new c("not_found",`no such site: ${U}`);return Q}function nG($,U,X){return $.query("SELECT content_type, encoding, content FROM site_files WHERE site_id = ? AND path = ? AND __deleted = 0 ORDER BY created_hlc LIMIT 1").get(U,X)}function Wz($,U,X,Q={}){let J=X===""||X.endsWith("/")?`${X}index.html`:X,j=iG(J);if(j){let W=nG($,U,j);if(W)return{row:W,status:200}}if(Q.spa){let W=X.split("/").pop()??"";if(!/\.[a-z0-9]+$/i.test(W)){let z=nG($,U,"index.html");if(z)return{row:z,status:200}}}let G=nG($,U,"404.html");if(G)return{row:G,status:404};return null}function Zz($,U){return $.query(`SELECT id, site_id, path, content_type, encoding,
479
+ )`).all(...r.params)}function ui(e){let t=e.map((r)=>`${r.dataset}\x00${r.row_id}\x00${r.col}\x00${r.hlc}`).sort();return wa(t.map((r)=>r+"\x1E").join(""))}var b_,w_;var xa=De(()=>{dt();b_=["databases","properties","records","sites","site_files"],w_=Eo.map((e)=>"c."+e).join(", ")});var T_=De(()=>{Wr();vn()});var k_=De(()=>{Ye();Lr();dt();wt();Wr()});var di=1,fi=1048576,bR;var Ta=De(()=>{Ye();dt();Po();wt();T_();k_();xa();bR=Object.fromEntries(b_.map((e)=>[e,e]))});function Vw(e,t){e.query("INSERT INTO peers (url, kind, enabled, pull_cursor, push_cursor) VALUES (?, 'room', 1, 0, 0) ON CONFLICT(url) DO NOTHING").run(t)}function no(e,t){let r=e.query("SELECT pull_cursor, push_cursor FROM peers WHERE url = ?").get(t);return{pull:r?.pull_cursor??0,push:r?.push_cursor??0}}function ka(e,t,r){e.query("UPDATE peers SET pull_cursor = ?, push_cursor = ? WHERE url = ?").run(r.pull,r.push,t)}function A_(e,t){for(let r of e)if(r.node_id!==t&&!r.node_id.startsWith(t+"-"))throw new Z("auth",`room returned an op authored by ${JSON.stringify(r.node_id)} — refusing to ingest`)}function D_(e,t,r){let n=new Set,o=[];for(let s of r){let a=`${s.dataset} ${s.row_id}`;if(n.has(a))continue;n.add(a);let u={dataset:s.dataset,row_id:s.row_id};if(Ea(e,t.scope,u))o.push(u)}return o}function Jw(e,t,r){return e.transaction(()=>{let{push:o}=no(e,t.peerKey),s=E_(e,t.peerKey,t.scope),a=x_(e,o,t.peerKey,{limit:r,excludeGuestBase:t.guestBase}),u=[...a.changes],_=[];for(let m of s.entered){if(u.length>=r&&_.length>0)break;if(u.push(...Sa(e,m.dataset,m.row_id)),_.push(m),u.length>=r)break}return{diff:s,shipped:_,changes:u,pushCursor:a.cursor,pendingBaselines:_.length<s.entered.length,incrementFull:a.changes.length>=r}})()}async function O_(e,t,r,n={}){let o=n.limit??500;Vw(e,t.peerKey);let s=no(e,t.peerKey).pull,a=Jw(e,t,o),u={protocol:di,mh_version:n.mhVersion,node_id:We(e),since:s,changes:a.changes,evict:a.diff.left,digest:n.digest?ui(li(e,t.scope)):void 0},_=await r(u);if(_.protocol!==di)throw new Z("conflict",`room answered protocol ${_.protocol} — upgrade required`);if(_.share_state==="expired")return{pushed:0,pulled:0,evicted:0,pending:!1,healed:!1,needBlobs:[],shareState:"expired"};A_(_.changes,t.guestBase);let m=er(e,_.changes);if(e.transaction(()=>{ci(e,t.peerKey,{entered:[...a.shipped,...D_(e,t,_.changes)],left:a.diff.left}),ka(e,t.peerKey,{pull:_.cursor,push:a.pushCursor})})(),_.need_baseline.length>0)await Xw(e,t,r,_.need_baseline);let x=!1;if(n.digest&&_.digest!==void 0){if(ui(li(e,t.scope))!==_.digest)await Qw(e,t,r),x=!0}return{pushed:a.changes.length,pulled:m,evicted:a.diff.left.length,pending:a.pendingBaselines||a.incrementFull||_.more===!0,healed:x,needBlobs:_.need_blobs??[],shareState:"active"}}async function Xw(e,t,r,n){let o=[],s=[],a=[];for(let _ of n)if(Ea(e,t.scope,_))o.push(...Sa(e,_.dataset,_.row_id)),a.push(_);else s.push(_);let u=await I_(e,t,r,o,s);if(u.share_state==="expired")return;e.transaction(()=>{ci(e,t.peerKey,{entered:[...a,...D_(e,t,u.changes)],left:s});let _=no(e,t.peerKey);ka(e,t.peerKey,{pull:u.cursor,push:_.push})})()}async function Qw(e,t,r){let n=v_(e,t.scope),o=li(e,t.scope),s=await I_(e,t,r,o,[],n);if(s.share_state==="expired")return;e.transaction(()=>{S_(e,t.peerKey,n);let a=no(e,t.peerKey);ka(e,t.peerKey,{pull:s.cursor,push:a.push})})()}async function I_(e,t,r,n,o,s){let a=await r({protocol:di,node_id:We(e),since:no(e,t.peerKey).pull,changes:n,evict:o,members:s});if(a.share_state==="expired")return a;return A_(a.changes,t.guestBase),er(e,a.changes),a}var R_=16;var P_=De(()=>{Ye();Gt();dt();xa();Ta()});function Zr(e){return`${e.base.replace(/\/+$/,"")}/r/${e.slug}/`}function N_(e){C_=e}function Ra(e){return`room://${e}`}function sr(e,t,r,n){let o={...t,lifecycle:r,...n?{cleanupError:n}:{cleanupError:void 0}};return Aa(e,{url:Ra(t.slug),config:o,label:`room ${t.slug}`}),o}function _i(e,t){return`${e.base.replace(/\/+$/,"")}/r/${encodeURIComponent(e.slug)}/${t}`}function gi(e,t=!0){return{authorization:`Bearer ${e.ownerSecret}`,...t?{"content-type":"application/json"}:{}}}async function q_(e,t){try{return await fetch(_i(e,"owner/provision"),{method:"POST",headers:gi(e),body:JSON.stringify({slug:t.slug,guestBase:e.guestBase,grants:t.grants,pwHash:t.pw_hash,pwSalt:t.pw_salt,expiresAt:t.expires_at}),signal:AbortSignal.timeout(30000)})}catch(r){throw new Z("network",`edge worker unreachable: ${r.message}`)}}function L_(e){if(e.status===401)return new Z("auth","edge worker refused the owner secret");if(e.status===404)return new Z("not_found","the deployed edge worker has no room support — run `mh edge deploy` to upgrade it");return new Z("network",`room provisioning failed: HTTP ${e.status}`)}function Yw(e){return async(t)=>{let r;try{r=await fetch(_i(e,"owner/sync"),{method:"POST",headers:gi(e),body:JSON.stringify(t),signal:AbortSignal.timeout(30000)})}catch(n){throw new Z("network",`room ${e.slug} unreachable: ${n.message}`)}if(r.status===409)throw new Z("conflict","room protocol outdated — run `mh edge deploy`");if(r.status===401)throw new Z("auth",`room ${e.slug} refused the owner secret`);if(r.status===404)throw new Z("not_found",`room ${e.slug} is not provisioned — re-create the share with --room`);if(!r.ok)throw new Z("network",`room sync failed: HTTP ${r.status}`);return await r.json()}}async function hi(e,t,r={}){if(!t.config)throw new Z("invalid_input",`room peer ${t.url} has no config`);let n=JSON.parse(t.config);if(n.lifecycle==="cleanup_pending"){if(!await ir(n).catch(()=>!1))throw new Z("network",n.cleanupError||`room ${n.slug} cleanup is still pending`);return vt(e,t.url),Qt(e,n.slug),pi.delete(t.url),{pushed:0,pulled:0,pendingPush:!1}}let o=or(e,n.slug);if(!o){if(await ir(n).catch(()=>!1))return vt(e,t.url),{pushed:0,pulled:0,pendingPush:!1};throw n=sr(e,n,"cleanup_pending","share row is gone but remote room destruction is unconfirmed"),new Z("network",n.cleanupError)}if(n.lifecycle==="provisioning"){let Y;try{Y=await q_(n,o)}catch(ge){if(await ir(n).catch(()=>!1))vt(e,t.url),Qt(e,o.slug);else sr(e,n,"cleanup_pending",ge.message);throw ge}if(!Y.ok){let ge=L_(Y);if(Y.status===401||Y.status===404||await ir(n).catch(()=>!1))vt(e,t.url),Qt(e,o.slug);else sr(e,n,"cleanup_pending",ge.message);throw ge}let _e=sr(e,n,"active"),de=Et(e,t.url);try{return await hi(e,de,r)}catch(ge){if(await ir(_e).catch(()=>!1))vt(e,t.url),Qt(e,o.slug);else sr(e,_e,"cleanup_pending",ge.message);throw ge}}let s={grantedDbIds:_r(o.grants).tables.map((Y)=>Y.db),siteId:o.kind==="site"?o.target_id:null},a=n.guestBase??o.guest_node_id;if(!a)throw new Z("invalid_input",`room peer ${t.url} has no guest base id — revoke and re-create the share with --room`);let u=pi.get(t.url)??{rounds:0,lastGrants:o.grants},_=Yw(n),m=0,x=0,D=[],j=!1;for(let Y=0;Y<ev;Y++){u.rounds++;let _e=u.rounds%R_===0||u.lastGrants!==o.grants;u.lastGrants=o.grants,pi.set(t.url,u);let de=await O_(e,{peerKey:t.url,scope:s,guestBase:a},_,{digest:_e});if(de.shareState==="expired")return await ir(n).catch(()=>{return}),vt(e,t.url),{pushed:m,pulled:x,pendingPush:!1};if(m+=de.pushed,x+=de.pulled,D=de.needBlobs,j=de.pending,!de.pending)break}if(D.length>0)await tv(e,n,D,r.resolveBlob);return{pushed:m,pulled:x,pendingPush:j}}async function tv(e,t,r,n){let o=n??C_;if(!o)return 0;let s=0;for(let a of r){if(!/^[0-9a-f]{16,64}$/.test(a))continue;let u=await o(e,a).catch(()=>null);if(!u)continue;let _=Math.max(1,Math.ceil(u.byteLength/fi)),m=!0;for(let x=0;x<_&&m;x++){let D=u.subarray(x*fi,(x+1)*fi),j=new Uint8Array(D.byteLength);j.set(D),m=!!(await fetch(`${_i(t,`owner/blob/${a}`)}?idx=${x}&total=${_}`,{method:"POST",headers:{...gi(t,!1),"content-type":"application/octet-stream"},body:j.buffer,signal:AbortSignal.timeout(30000)}).catch(()=>null))?.ok}if(m)s++}return s}async function $_(e,t,r,n){let o={base:r.endpoint.replace(/\/+$/,""),slug:t.slug,ownerSecret:r.token,guestBase:t.guest_node_id??"g"+bt(8),lifecycle:"provisioning"},s=Ra(t.slug);Aa(e,{url:s,config:o,label:`room ${t.slug}`});let a;try{a=await q_(o,t)}catch(m){let x=m.message;if(await ir(o).catch(()=>!1))vt(e,s);else sr(e,o,"cleanup_pending",x);throw m}if(!a.ok){let m=L_(a);if(a.status===401||a.status===404)throw vt(e,s),m;let x=m.message;if(await ir(o).catch(()=>!1))vt(e,s);else sr(e,o,"cleanup_pending",x);throw m}let u=sr(e,o,"active"),_=Et(e,s);try{await hi(e,_,{resolveBlob:n})}catch(m){let x=m.message;if(await ir(u).catch(()=>!1))vt(e,s);else sr(e,u,"cleanup_pending",x);throw m}return{url:Zr(u),peerKey:s}}async function ir(e){let t=await fetch(_i(e,"owner/destroy"),{method:"POST",headers:gi(e),signal:AbortSignal.timeout(30000)});return t.ok||t.status===404}async function oo(e,t){let r=Et(e,Ra(t));if(!r||r.kind!=="room"||!r.config)return"absent";let n=JSON.parse(r.config),o=sr(e,n,"cleanup_pending","remote room destruction is unconfirmed");if(!await ir(o).catch(()=>!1))return"cleanup_pending";return vt(e,r.url),pi.delete(r.url),"destroyed"}var C_,pi,ev=50;var mi=De(()=>{Ye();wt();vn();Wr();io();P_();Ta();pi=new Map});function iv(e){let t=e.slice(e.lastIndexOf(".")+1).toLowerCase();return ov[t]??"application/octet-stream"}function Ia(e){let t=e.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"");if(!t)throw new Z("invalid_input",`invalid site name: ${JSON.stringify(e)}`);return t}function Pa(e){let t=[];for(let r of e.split("/")){if(r===""||r===".")continue;if(r==="..")t.pop();else t.push(r)}return t.join("/")}function M_(e){return e.visibility==="public"}function Yt(e,t){return e.query(`SELECT ${Oa} FROM sites WHERE id = ? AND __deleted = 0`).get(t)}function B_(e,t){let r=e.query("SELECT __deleted AS d FROM sites WHERE id = ?").get(t);if(!r)return"absent";return r.d?"tombstoned":"live"}function Ca(e,t){let r;try{r=Ia(t)}catch{return null}return e.query(`SELECT ${Oa} FROM sites WHERE name = ? AND __deleted = 0 ORDER BY created_hlc DESC LIMIT 1`).get(r)}function U_(e){return e.query(`SELECT ${Oa} FROM sites WHERE __deleted = 0 ORDER BY created_hlc`).all()}function Gr(e,t){let n=(t.startsWith("site_")?Yt(e,t):null)??Ca(e,t);if(!n)throw new Z("not_found",`no such site: ${t}`);return n}function Da(e,t,r){return e.query("SELECT content_type, encoding, content FROM site_files WHERE site_id = ? AND path = ? AND __deleted = 0 ORDER BY created_hlc LIMIT 1").get(t,r)}function j_(e,t,r,n={}){let o=r===""||r.endsWith("/")?`${r}index.html`:r,s=Pa(o);if(s){let u=Da(e,t,s);if(u)return{row:u,status:200}}if(n.spa){let u=r.split("/").pop()??"";if(!/\.[a-z0-9]+$/i.test(u)){let _=Da(e,t,"index.html");if(_)return{row:_,status:200}}}let a=Da(e,t,"404.html");if(a)return{row:a,status:404};return null}function H_(e,t){return e.query(`SELECT id, site_id, path, content_type, encoding,
484
480
  CASE encoding
485
481
  WHEN 'utf8' THEN LENGTH(CAST(content AS BLOB))
486
482
  WHEN 'base64' THEN (LENGTH(content) / 4) * 3
487
483
  ELSE (SELECT size FROM blob_cache WHERE hash = content)
488
484
  END AS size
489
- FROM site_files WHERE site_id = ? AND __deleted = 0 ORDER BY path`).all(U)}function Kz($,U){let X=U.content??"";if(U.encoding==="utf8")return new TextEncoder().encode(X).byteLength;if(U.encoding==="base64")return Math.floor(X.length/4)*3;return $.query("SELECT size FROM blob_cache WHERE hash = ?").get(X)?.size??null}function pI($){let U=$.toLowerCase();return U.startsWith("text/")||U.startsWith("application/json")||U.startsWith("application/manifest+json")||U.startsWith("application/xml")||U.startsWith("application/javascript")||U.startsWith("image/svg+xml")}function Xz($){if(typeof $==="string")return new TextEncoder().encode($);return $ instanceof Uint8Array?$:new Uint8Array($)}function tI($){let U="";for(let X=0;X<$.length;X++)U+=String.fromCharCode($[X]);return btoa(U)}function zz($){if($!=="public"&&$!=="private")throw new c("invalid_input",`visibility must be "public" or "private", got ${JSON.stringify($)}`)}function Hz($,U,X){return $.query("SELECT id FROM site_files WHERE site_id = ? AND path = ? ORDER BY created_hlc LIMIT 1").get(U,X)?.id??null}function aI($,U,X,Q,J,j){let G=$.query(`SELECT ${Qz} FROM site_files WHERE site_id = ? AND path = ? AND __deleted = 0 ORDER BY created_hlc LIMIT 1`).get(U,X);if(!G)return null;return G.content_type===Q&&G.encoding===J&&G.content===j?G:null}function eI($,U,X,Q,J,j){let G=aI($,U,X,Q,J,j);if(G)return{...G,changed:!1};let W=Hz($,U,X),z=W??l6("sf",X);return b1(null,()=>{if(!W){let A=A$($,"site_files",z,"site_id",U);A$($,"site_files",z,"path",X),A$($,"site_files",z,"created_hlc",A.hlc)}A$($,"site_files",z,"content_type",Q),A$($,"site_files",z,"encoding",J),A$($,"site_files",z,"content",j),A$($,"site_files",z,"__deleted",0)}),{...$.query(`SELECT ${Qz} FROM site_files WHERE id = ?`).get(z),changed:!0}}function Nz($,U,X,Q){let J=iG(X);if(!J)throw new c("invalid_input",`invalid file path: ${JSON.stringify(X)}`);let j=Q.contentType??oI(J),G,W;if(pI(j))G="utf8",W=typeof Q.data==="string"?Q.data:new TextDecoder().decode(Xz(Q.data));else{let z=Xz(Q.data);if(z.byteLength>dI)throw new c("invalid_input","binary too large for inline storage (needs a server-backed blob)");G="base64",W=tI(z)}return eI($,U,J,j,G,W)}function Iz($){let U=$.query("SELECT site_id, COUNT(*) AS n FROM site_files WHERE __deleted = 0 GROUP BY site_id").all();return new Map(U.map((X)=>[X.site_id,X.n]))}function Bz($,U){return $.query("SELECT COUNT(*) AS n FROM site_files WHERE site_id = ? AND __deleted = 0").get(U).n}var iI,mG,lI,Qz,rI,dI=262144,Vz,ZX,Dz,Lz,Oz;var C0=H$(()=>{z6();A6();E6();RU();iI=["id","name","title","created_hlc","visibility","spa","public_grants"],mG=iI.join(", "),lI=["id","site_id","path","content_type","encoding","content"],Qz=lI.join(", "),rI={html:"text/html; charset=utf-8",htm:"text/html; charset=utf-8",css:"text/css; charset=utf-8",js:"text/javascript; charset=utf-8",mjs:"text/javascript; charset=utf-8",json:"application/json; charset=utf-8",svg:"image/svg+xml",txt:"text/plain; charset=utf-8",md:"text/markdown; charset=utf-8",xml:"application/xml; charset=utf-8",webmanifest:"application/manifest+json",ico:"image/x-icon",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",avif:"image/avif",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",pdf:"application/pdf",wasm:"application/wasm",mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",mkv:"video/x-matroska",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",oga:"audio/ogg",m4a:"audio/mp4",aac:"audio/aac",flac:"audio/flac",opus:"audio/opus",weba:"audio/webm",csv:"text/csv; charset=utf-8",zip:"application/zip",gz:"application/gzip",tar:"application/x-tar",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};Vz=o$(function(U,X){let Q=cG(X.name);if(lG(U,Q))throw new c("conflict",`site name already exists: ${Q}`);if(X.visibility!==void 0)zz(X.visibility);let J=l6("site",Q),j=A$(U,"sites",J,"name",Q);if(A$(U,"sites",J,"created_hlc",j.hlc),X.title!==void 0)A$(U,"sites",J,"title",X.title);if(X.visibility!==void 0)A$(U,"sites",J,"visibility",X.visibility);return z1(U,J)}),ZX=o$(function(U,X,Q){if(!z1(U,X))throw new c("not_found",`no such site: ${X}`);if(Q.visibility!==void 0)zz(Q.visibility);if(Q.name!==void 0){let J=cG(Q.name),j=lG(U,J);if(j&&j.id!==X)throw new c("conflict",`site name already exists: ${J}`);A$(U,"sites",X,"name",J)}if(Q.title!==void 0)A$(U,"sites",X,"title",Q.title);if(Q.visibility!==void 0)A$(U,"sites",X,"visibility",Q.visibility);if(Q.spa!==void 0)A$(U,"sites",X,"spa",Q.spa?1:0);return z1(U,X)}),Dz=o$(function(U,X,Q){if(!z1(U,X))throw new c("not_found",`no such site: ${X}`);let J=Q==null?null:pv(w2(Q));return A$(U,"sites",X,"public_grants",J),z1(U,X)}),Lz=o$(function(U,X){if(!z1(U,X))return!1;let Q=U.query("SELECT id FROM site_files WHERE site_id = ? AND __deleted = 0").all(X);for(let J of Q)A$(U,"site_files",J.id,"__deleted",1);return A$(U,"sites",X,"__deleted",1),!0});Oz=o$(function(U,X,Q){let J=Hz(U,X,iG(Q));if(!J)return!1;let j=U.query("SELECT __deleted AS d FROM site_files WHERE id = ?").get(J);if(!j||j.d)return!1;return A$(U,"site_files",J,"__deleted",1),!0})});function rG($){return($.audience==="public"||$.audience==="link")&&($.hosting==="device"||$.hosting==="edge")&&($.desired_state==="active"||$.desired_state==="revoked")}function X1($,U){return(U?$.query(`SELECT ${f2} FROM site_channels
490
- WHERE site_id = ? AND __deleted = 0 ORDER BY created_hlc, id`).all(U):$.query(`SELECT ${f2} FROM site_channels
491
- WHERE __deleted = 0 ORDER BY created_hlc, id`).all()).filter(rG)}function F0($,U){let X=$.query(`SELECT ${f2} FROM site_channels WHERE id = ? AND __deleted = 0`).get(U);return X&&rG(X)?X:null}function $B($,U){let X=X1($,U).filter((Q)=>Q.audience==="public"&&Q.desired_state==="active");for(let Q of X)C1($,Q.id,"revoked");return X.length}function qz($,U,X){let Q=X1($,U).filter((J)=>J.audience==="public"&&J.desired_state==="active");for(let J of Q)E0($,{id:J.id,siteId:J.site_id,audience:"public",hosting:J.hosting,controllerNodeId:J.controller_node_id,targetRef:J.target_ref,canonicalUrl:J.canonical_url,policy:X,desiredState:"active"});return Q.length}function UB($){if($==null)return null;try{return JSON.parse($)}catch{return null}}function JB($,U,X){let Q=X1($,U).filter((j)=>j.audience==="public"&&j.hosting==="device"&&j.desired_state==="active"&&j.canonical_url!=null),J=0;for(let j of Q){let G;try{let W=new URL(j.canonical_url);W.pathname=`/sites/${encodeURIComponent(X)}/`,W.search="",W.hash="",G=W.toString()}catch{continue}E0($,{id:j.id,siteId:j.site_id,audience:"public",hosting:"device",controllerNodeId:j.controller_node_id,targetRef:j.target_ref,canonicalUrl:G,policy:UB(j.policy_json),desiredState:"active"}),J++}return J}function Pz($,U,X,Q){return $.transaction(()=>b1("site.update",()=>{let J=ZX($,U,{...X,visibility:X.visibility==="public"?"private":X.visibility});if(X.visibility==="private")$B($,U);if(X.visibility==="public")Q?.recordPublic?.(J);if(X.name!==void 0)JB($,U,J.name);return z1($,U)}))()}function kz($,U){return $.transaction(()=>b1("site.delete",()=>{if(!Lz($,U))return!1;return vB($,U),!0}))()}function vB($,U){let X=X1($,U).filter((Q)=>Q.desired_state==="active");for(let Q of X)C1($,Q.id,"revoked");return X.length}function R6($,U){return $.query(`INSERT INTO site_channel_observations
485
+ FROM site_files WHERE site_id = ? AND __deleted = 0 ORDER BY path`).all(t)}function W_(e,t){let r=t.content??"";if(t.encoding==="utf8")return new TextEncoder().encode(r).byteLength;if(t.encoding==="base64")return Math.floor(r.length/4)*3;return e.query("SELECT size FROM blob_cache WHERE hash = ?").get(r)?.size??null}function av(e){let t=e.toLowerCase();return t.startsWith("text/")||t.startsWith("application/json")||t.startsWith("application/manifest+json")||t.startsWith("application/xml")||t.startsWith("application/javascript")||t.startsWith("image/svg+xml")}function z_(e){if(typeof e==="string")return new TextEncoder().encode(e);return e instanceof Uint8Array?e:new Uint8Array(e)}function cv(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function Z_(e){if(e!=="public"&&e!=="private")throw new Z("invalid_input",`visibility must be "public" or "private", got ${JSON.stringify(e)}`)}function J_(e,t,r){return e.query("SELECT id FROM site_files WHERE site_id = ? AND path = ? ORDER BY created_hlc LIMIT 1").get(t,r)?.id??null}function lv(e,t,r,n,o,s){let a=e.query(`SELECT ${F_} FROM site_files WHERE site_id = ? AND path = ? AND __deleted = 0 ORDER BY created_hlc LIMIT 1`).get(t,r);if(!a)return null;return a.content_type===n&&a.encoding===o&&a.content===s?a:null}function uv(e,t,r,n,o,s){let a=lv(e,t,r,n,o,s);if(a)return{...a,changed:!1};let u=J_(e,t,r),_=u??Ot("sf",r);return yr(null,()=>{if(!u){let x=we(e,"site_files",_,"site_id",t);we(e,"site_files",_,"path",r),we(e,"site_files",_,"created_hlc",x.hlc)}we(e,"site_files",_,"content_type",n),we(e,"site_files",_,"encoding",o),we(e,"site_files",_,"content",s),we(e,"site_files",_,"__deleted",0)}),{...e.query(`SELECT ${F_} FROM site_files WHERE id = ?`).get(_),changed:!0}}function X_(e,t,r,n){let o=Pa(r);if(!o)throw new Z("invalid_input",`invalid file path: ${JSON.stringify(r)}`);let s=n.contentType??iv(o),a,u;if(av(s))a="utf8",u=typeof n.data==="string"?n.data:new TextDecoder().decode(z_(n.data));else{let _=z_(n.data);if(_.byteLength>sv)throw new Z("invalid_input","binary too large for inline storage (needs a server-backed blob)");a="base64",u=cv(_)}return uv(e,t,o,s,a,u)}function Y_(e){let t=e.query("SELECT site_id, COUNT(*) AS n FROM site_files WHERE __deleted = 0 GROUP BY site_id").all();return new Map(t.map((r)=>[r.site_id,r.n]))}function eg(e,t){return e.query("SELECT COUNT(*) AS n FROM site_files WHERE site_id = ? AND __deleted = 0").get(t).n}var rv,Oa,nv,F_,ov,sv=262144,G_,yi,K_,V_,Q_;var En=De(()=>{Ye();dt();wt();Wr();rv=["id","name","title","created_hlc","visibility","spa","public_grants"],Oa=rv.join(", "),nv=["id","site_id","path","content_type","encoding","content"],F_=nv.join(", "),ov={html:"text/html; charset=utf-8",htm:"text/html; charset=utf-8",css:"text/css; charset=utf-8",js:"text/javascript; charset=utf-8",mjs:"text/javascript; charset=utf-8",json:"application/json; charset=utf-8",svg:"image/svg+xml",txt:"text/plain; charset=utf-8",md:"text/markdown; charset=utf-8",xml:"application/xml; charset=utf-8",webmanifest:"application/manifest+json",ico:"image/x-icon",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",avif:"image/avif",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",pdf:"application/pdf",wasm:"application/wasm",mp4:"video/mp4",m4v:"video/mp4",webm:"video/webm",ogv:"video/ogg",mov:"video/quicktime",mkv:"video/x-matroska",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",oga:"audio/ogg",m4a:"audio/mp4",aac:"audio/aac",flac:"audio/flac",opus:"audio/opus",weba:"audio/webm",csv:"text/csv; charset=utf-8",zip:"application/zip",gz:"application/gzip",tar:"application/x-tar",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};G_=Fe(function(t,r){let n=Ia(r.name);if(Ca(t,n))throw new Z("conflict",`site name already exists: ${n}`);if(r.visibility!==void 0)Z_(r.visibility);let o=Ot("site",n),s=we(t,"sites",o,"name",n);if(we(t,"sites",o,"created_hlc",s.hlc),r.title!==void 0)we(t,"sites",o,"title",r.title);if(r.visibility!==void 0)we(t,"sites",o,"visibility",r.visibility);return Yt(t,o)}),yi=Fe(function(t,r,n){if(!Yt(t,r))throw new Z("not_found",`no such site: ${r}`);if(n.visibility!==void 0)Z_(n.visibility);if(n.name!==void 0){let o=Ia(n.name),s=Ca(t,o);if(s&&s.id!==r)throw new Z("conflict",`site name already exists: ${o}`);we(t,"sites",r,"name",o)}if(n.title!==void 0)we(t,"sites",r,"title",n.title);if(n.visibility!==void 0)we(t,"sites",r,"visibility",n.visibility);if(n.spa!==void 0)we(t,"sites",r,"spa",n.spa?1:0);return Yt(t,r)}),K_=Fe(function(t,r,n){if(!Yt(t,r))throw new Z("not_found",`no such site: ${r}`);let o=n==null?null:ai(to(n));return we(t,"sites",r,"public_grants",o),Yt(t,r)}),V_=Fe(function(t,r){if(!Yt(t,r))return!1;let n=t.query("SELECT id FROM site_files WHERE site_id = ? AND __deleted = 0").all(r);for(let o of n)we(t,"site_files",o.id,"__deleted",1);return we(t,"sites",r,"__deleted",1),!0});Q_=Fe(function(t,r,n){let o=J_(t,r,Pa(n));if(!o)return!1;let s=t.query("SELECT __deleted AS d FROM site_files WHERE id = ?").get(o);if(!s||s.d)return!1;return we(t,"site_files",o,"__deleted",1),!0})});function Na(e){return(e.audience==="public"||e.audience==="link")&&(e.hosting==="device"||e.hosting==="edge")&&(e.desired_state==="active"||e.desired_state==="revoked")}function Ut(e,t){return(t?e.query(`SELECT ${so} FROM site_channels
486
+ WHERE site_id = ? AND __deleted = 0 ORDER BY created_hlc, id`).all(t):e.query(`SELECT ${so} FROM site_channels
487
+ WHERE __deleted = 0 ORDER BY created_hlc, id`).all()).filter(Na)}function Sn(e,t){let r=e.query(`SELECT ${so} FROM site_channels WHERE id = ? AND __deleted = 0`).get(t);return r&&Na(r)?r:null}function fv(e,t){let r=Ut(e,t).filter((n)=>n.audience==="public"&&n.desired_state==="active");for(let n of r)gr(e,n.id,"revoked");return r.length}function tg(e,t,r){let n=Ut(e,t).filter((o)=>o.audience==="public"&&o.desired_state==="active");for(let o of n)ao(e,{id:o.id,siteId:o.site_id,audience:"public",hosting:o.hosting,controllerNodeId:o.controller_node_id,targetRef:o.target_ref,canonicalUrl:o.canonical_url,policy:r,desiredState:"active"});return n.length}function pv(e){if(e==null)return null;try{return JSON.parse(e)}catch{return null}}function _v(e,t,r){let n=Ut(e,t).filter((s)=>s.audience==="public"&&s.hosting==="device"&&s.desired_state==="active"&&s.canonical_url!=null),o=0;for(let s of n){let a;try{let u=new URL(s.canonical_url);u.pathname=`/sites/${encodeURIComponent(r)}/`,u.search="",u.hash="",a=u.toString()}catch{continue}ao(e,{id:s.id,siteId:s.site_id,audience:"public",hosting:"device",controllerNodeId:s.controller_node_id,targetRef:s.target_ref,canonicalUrl:a,policy:pv(s.policy_json),desiredState:"active"}),o++}return o}function rg(e,t,r,n){return e.transaction(()=>yr("site.update",()=>{let o=yi(e,t,{...r,visibility:r.visibility==="public"?"private":r.visibility});if(r.visibility==="private")fv(e,t);if(r.visibility==="public")n?.recordPublic?.(o);if(r.name!==void 0)_v(e,t,o.name);return Yt(e,t)}))()}function ng(e,t){return e.transaction(()=>yr("site.delete",()=>{if(!V_(e,t))return!1;return gv(e,t),!0}))()}function gv(e,t){let r=Ut(e,t).filter((n)=>n.desired_state==="active");for(let n of r)gr(e,n.id,"revoked");return r.length}function Rt(e,t){return e.query(`INSERT INTO site_channel_observations
492
488
  (channel_id,status,last_verified_at,last_error)
493
489
  VALUES (?,?,?,?)
494
490
  ON CONFLICT(channel_id) DO UPDATE SET
495
491
  status=excluded.status,
496
492
  last_verified_at=excluded.last_verified_at,
497
- last_error=excluded.last_error`).run(U.channelId,U.status,U.lastVerifiedAt??null,U.lastError??null),{channelId:U.channelId,status:U.status,lastVerifiedAt:U.lastVerifiedAt??null,lastError:U.lastError??null}}function Az($,U){$.query("DELETE FROM site_channel_observations WHERE channel_id = ?").run(U)}function KX($,U){let X=$.query(`SELECT channel_id,status,last_verified_at,last_error
498
- FROM site_channel_observations WHERE channel_id = ?`).get(U);return X?{channelId:X.channel_id,status:X.status,lastVerifiedAt:X.last_verified_at,lastError:X.last_error}:null}function oG($,U){let X=J6($);return X1($,U).map((Q)=>{let J=KX($,Q.id),j;if(Q.desired_state==="active")j=J?.status??"unverified";else if(Q.hosting==="device"&&Q.target_ref===X)j="revoked";else if(J?.status==="revoked"||J?.status==="cleanup_pending"||J?.status==="rollback_pending"||J?.status==="error")j=J.status;else j=Q.controller_node_id===X?"cleanup_pending":"waiting_controller";return{id:Q.id,siteId:Q.site_id,audience:Q.audience,hosting:Q.hosting,controllerNodeId:Q.controller_node_id,targetRef:Q.target_ref,canonicalUrl:Q.canonical_url,policyJson:Q.policy_json,desiredState:Q.desired_state,status:j,lastVerifiedAt:J?.lastVerifiedAt??null,lastError:J?.lastError??null}})}function Rz($,U){let X=$.query(`SELECT ${f2} FROM site_channels
499
- WHERE site_id = ? AND audience = 'public' AND __deleted = 0 ORDER BY created_hlc, id`).all(U.id);if(X.length===0){let G=jz(U);return{serving:G,configured:G,anomaly:null}}let Q=X.filter(rG),J=Q.filter((G)=>G.desired_state==="active"),j=J6($);return{serving:J.some((G)=>G.hosting==="device"&&G.target_ref===j),configured:J.length>0,anomaly:X.length>Q.length?"malformed_public_channel":null}}var sI,f2,E0,C1;var b2=H$(()=>{A6();z6();E6();L1();C0();sI=["id","site_id","audience","hosting","controller_node_id","target_ref","canonical_url","policy_json","desired_state","created_hlc","__deleted"],f2=sI.join(", ");E0=o$(function(U,X){if(!z1(U,X.siteId))throw new c("not_found",`no such site: ${X.siteId}`);let Q=X.controllerNodeId??J6(U),J=X.id?F0(U,X.id):U.query(`SELECT ${f2} FROM site_channels
493
+ last_error=excluded.last_error`).run(t.channelId,t.status,t.lastVerifiedAt??null,t.lastError??null),{channelId:t.channelId,status:t.status,lastVerifiedAt:t.lastVerifiedAt??null,lastError:t.lastError??null}}function og(e,t){e.query("DELETE FROM site_channel_observations WHERE channel_id = ?").run(t)}function bi(e,t){let r=e.query(`SELECT channel_id,status,last_verified_at,last_error
494
+ FROM site_channel_observations WHERE channel_id = ?`).get(t);return r?{channelId:r.channel_id,status:r.status,lastVerifiedAt:r.last_verified_at,lastError:r.last_error}:null}function qa(e,t){let r=We(e);return Ut(e,t).map((n)=>{let o=bi(e,n.id),s;if(n.desired_state==="active")s=o?.status??"unverified";else if(n.hosting==="device"&&n.target_ref===r)s="revoked";else if(o?.status==="revoked"||o?.status==="cleanup_pending"||o?.status==="rollback_pending"||o?.status==="error")s=o.status;else s=n.controller_node_id===r?"cleanup_pending":"waiting_controller";return{id:n.id,siteId:n.site_id,audience:n.audience,hosting:n.hosting,controllerNodeId:n.controller_node_id,targetRef:n.target_ref,canonicalUrl:n.canonical_url,policyJson:n.policy_json,desiredState:n.desired_state,status:s,lastVerifiedAt:o?.lastVerifiedAt??null,lastError:o?.lastError??null}})}function ig(e,t){let r=e.query(`SELECT ${so} FROM site_channels
495
+ WHERE site_id = ? AND audience = 'public' AND __deleted = 0 ORDER BY created_hlc, id`).all(t.id);if(r.length===0){let a=M_(t);return{serving:a,configured:a,anomaly:null}}let n=r.filter(Na),o=n.filter((a)=>a.desired_state==="active"),s=We(e);return{serving:o.some((a)=>a.hosting==="device"&&a.target_ref===s),configured:o.length>0,anomaly:r.length>n.length?"malformed_public_channel":null}}var dv,so,ao,gr;var co=De(()=>{dt();Ye();wt();Gt();En();dv=["id","site_id","audience","hosting","controller_node_id","target_ref","canonical_url","policy_json","desired_state","created_hlc","__deleted"],so=dv.join(", ");ao=Fe(function(t,r){if(!Yt(t,r.siteId))throw new Z("not_found",`no such site: ${r.siteId}`);let n=r.controllerNodeId??We(t),o=r.id?Sn(t,r.id):t.query(`SELECT ${so} FROM site_channels
500
496
  WHERE site_id = ? AND audience = ? AND hosting = ? AND target_ref = ?
501
497
  AND __deleted = 0
502
- ORDER BY created_hlc LIMIT 1`).get(X.siteId,X.audience,X.hosting,X.targetRef),j=J?.id??l6("chan",`${X.audience}-${X.hosting}-${X.siteId}`,"channel"),G={audience:X.audience,hosting:X.hosting,controller_node_id:Q,target_ref:X.targetRef,canonical_url:X.canonicalUrl??null,policy_json:X.policy==null?null:JSON.stringify(X.policy),desired_state:X.desiredState??"active"};return U.transaction(()=>{if(!J){let W=A$(U,"site_channels",j,"site_id",X.siteId);A$(U,"site_channels",j,"created_hlc",W.hlc)}for(let[W,z]of Object.entries(G)){if(J&&J[W]===z)continue;A$(U,"site_channels",j,W,z)}})(),F0(U,j)}),C1=o$(function(U,X,Q){if(!F0(U,X))throw new c("not_found",`no such site channel: ${X}`);return A$(U,"site_channels",X,"desired_state",Q),F0(U,X)})});var _z={};Y1(_z,{reconcileSiteChannelsQuietly:()=>n2,reconcileSiteChannels:()=>Tz,CONTROLLER_STATE_MISSING:()=>dG});async function n2($){try{return await Tz($),null}catch(U){let X=U instanceof Error?U.message:String(U);return console.error(`site channel reconcile failed: ${X}`),X}}async function Tz($){let U=J6($),X=X1($),Q=new Set;for(let j of X){if(j.desired_state!=="active")continue;if(Gz($,j.site_id)==="tombstoned"){C1($,j.id,"revoked"),Q.add(j.id);continue}if(j.audience!=="link"||j.controller_node_id!==U)continue;if(!K1($,j.target_ref))R6($,{channelId:j.id,status:"error",lastError:`${dG}: 本机缺少该链接的凭据记录`});else if(KX($,j.id)?.lastError?.startsWith(dG))Az($,j.id)}let J=X.map((j)=>Q.has(j.id)?F0($,j.id)??j:j).filter((j)=>j.controller_node_id===U&&j.desired_state==="revoked"&&j.audience==="link"&&!(j.hosting==="edge"&&KX($,j.id)?.status==="revoked"));for(let j of J){let G=K1($,j.target_ref);try{if(j.hosting==="edge"){let{teardownRoomForShare:W}=await Promise.resolve().then(() => (TU(),M0)),z=await W($,j.target_ref);if(z==="cleanup_pending"){R6($,{channelId:j.id,status:"cleanup_pending",lastError:"Edge 尚未确认销毁 Room"});continue}if(z==="absent"){R6($,{channelId:j.id,status:"cleanup_pending",lastError:"Edge Room 记录缺失,销毁未确认"});continue}}else if(!G){R6($,{channelId:j.id,status:"revoked",lastVerifiedAt:Date.now()});continue}if(G)v1($,G.slug);R6($,{channelId:j.id,status:"revoked",lastVerifiedAt:Date.now()})}catch(W){R6($,{channelId:j.id,status:"cleanup_pending",lastError:W instanceof Error?W.message:String(W)})}}}var dG="controller_state_missing";var pG=H$(()=>{L1();b2();_0();C0()});function w6($){return $.query(`SELECT ${Fz} FROM peers ORDER BY url`).all()}function N6($,U){return $.query(`SELECT ${Fz} FROM peers WHERE url = ?`).get(U)??null}function Ez($,U){$.query(`INSERT INTO peers (url, token, label, node_id, enabled, pull_cursor, push_cursor)
498
+ ORDER BY created_hlc LIMIT 1`).get(r.siteId,r.audience,r.hosting,r.targetRef),s=o?.id??Ot("chan",`${r.audience}-${r.hosting}-${r.siteId}`,"channel"),a={audience:r.audience,hosting:r.hosting,controller_node_id:n,target_ref:r.targetRef,canonical_url:r.canonicalUrl??null,policy_json:r.policy==null?null:JSON.stringify(r.policy),desired_state:r.desiredState??"active"};return t.transaction(()=>{if(!o){let u=we(t,"site_channels",s,"site_id",r.siteId);we(t,"site_channels",s,"created_hlc",u.hlc)}for(let[u,_]of Object.entries(a)){if(o&&o[u]===_)continue;we(t,"site_channels",s,u,_)}})(),Sn(t,s)}),gr=Fe(function(t,r,n){if(!Sn(t,r))throw new Z("not_found",`no such site channel: ${r}`);return we(t,"site_channels",r,"desired_state",n),Sn(t,r)})});async function xn(e){try{return await hv(e),null}catch(t){let r=t instanceof Error?t.message:String(t);return console.error(`site channel reconcile failed: ${r}`),r}}async function hv(e){let t=We(e),r=Ut(e),n=new Set;for(let s of r){if(s.desired_state!=="active")continue;if(B_(e,s.site_id)==="tombstoned"){gr(e,s.id,"revoked"),n.add(s.id);continue}if(s.audience!=="link"||s.controller_node_id!==t)continue;if(!or(e,s.target_ref))Rt(e,{channelId:s.id,status:"error",lastError:`${sg}: 本机缺少该链接的凭据记录`});else if(bi(e,s.id)?.lastError?.startsWith(sg))og(e,s.id)}let o=r.map((s)=>n.has(s.id)?Sn(e,s.id)??s:s).filter((s)=>s.controller_node_id===t&&s.desired_state==="revoked"&&s.audience==="link"&&!(s.hosting==="edge"&&bi(e,s.id)?.status==="revoked"));for(let s of o){let a=or(e,s.target_ref);try{if(s.hosting==="edge"){await Promise.resolve().then(() => mi());let _=await oo(e,s.target_ref);if(_==="cleanup_pending"){Rt(e,{channelId:s.id,status:"cleanup_pending",lastError:"Edge 尚未确认销毁 Room"});continue}if(_==="absent"){Rt(e,{channelId:s.id,status:"cleanup_pending",lastError:"Edge Room 记录缺失,销毁未确认"});continue}}else if(!a){Rt(e,{channelId:s.id,status:"revoked",lastVerifiedAt:Date.now()});continue}if(a)Qt(e,a.slug);Rt(e,{channelId:s.id,status:"revoked",lastVerifiedAt:Date.now()})}catch(u){Rt(e,{channelId:s.id,status:"cleanup_pending",lastError:u instanceof Error?u.message:String(u)})}}}var sg="controller_state_missing";var La=De(()=>{Gt();co();vn();En()});function jt(e){return e.query(`SELECT ${lg} FROM peers ORDER BY url`).all()}function Et(e,t){return e.query(`SELECT ${lg} FROM peers WHERE url = ?`).get(t)??null}function ug(e,t){e.query(`INSERT INTO peers (url, token, label, node_id, enabled, pull_cursor, push_cursor)
503
499
  VALUES (?, ?, ?, ?, 1, 0, 0)
504
500
  ON CONFLICT(url) DO UPDATE SET
505
501
  token = coalesce(excluded.token, peers.token),
506
502
  label = coalesce(excluded.label, peers.label),
507
503
  node_id = coalesce(excluded.node_id, peers.node_id),
508
- enabled = 1`).run(U.url,U.token??null,U.label??null,U.node_id??null)}function Sz($,U){$.query(`INSERT INTO peers (url, kind, config, label, enabled, pull_cursor, push_cursor)
504
+ enabled = 1`).run(t.url,t.token??null,t.label??null,t.node_id??null)}function dg(e,t){e.query(`INSERT INTO peers (url, kind, config, label, enabled, pull_cursor, push_cursor)
509
505
  VALUES (?, 's3', ?, ?, 1, 0, 0)
510
506
  ON CONFLICT(url) DO UPDATE SET
511
507
  kind = 's3',
512
508
  config = excluded.config,
513
509
  label = coalesce(excluded.label, peers.label),
514
- enabled = 1`).run(U.url,JSON.stringify(U.config),U.label??null)}function bG($,U){$.query(`INSERT INTO peers (url, kind, config, label, enabled, pull_cursor, push_cursor)
510
+ enabled = 1`).run(t.url,JSON.stringify(t.config),t.label??null)}function Aa(e,t){e.query(`INSERT INTO peers (url, kind, config, label, enabled, pull_cursor, push_cursor)
515
511
  VALUES (?, 'room', ?, ?, 1, 0, 0)
516
512
  ON CONFLICT(url) DO UPDATE SET
517
513
  kind = 'room',
518
514
  config = excluded.config,
519
515
  label = coalesce(excluded.label, peers.label),
520
- enabled = 1`).run(U.url,JSON.stringify(U.config),U.label??null)}function x6($,U){return $.transaction(()=>{let Q=$.query("DELETE FROM peers WHERE url = ?").run(U).changes>0;return $.query("DELETE FROM peer_grants WHERE peer_url = ?").run(U),$.query("DELETE FROM storage_cursors WHERE peer_url = ?").run(U),$.query("DELETE FROM room_rows WHERE peer_key = ?").run(U),Q})()}function Cz($,U,X,Q){let J=Date.now();if(X==="ok"){$.query("UPDATE peers SET last_sync_at = ?, last_success_at = ?, last_status = ?, last_error = ? WHERE url = ?").run(J,J,X,Q??null,U);return}$.query("UPDATE peers SET last_sync_at = ?, last_status = ?, last_error = ? WHERE url = ?").run(J,X,Q??null,U)}async function tG($,U,X){let Q=Mz.get($);if(!Q)Q=new Map,Mz.set($,Q);let J=Q.get(U);if(J)return J;let j=jB($,U,X).finally(()=>{if(Q.get(U)===j)Q.delete(U)});return Q.set(U,j),j}function XB($,U){if(!U)return null;if(U.capabilities&&!U.capabilities.includes("site_channels"))return"对端未升级(不支持站点渠道):站点发布/分享的变更在它升级前不会生效";if(U.version&&U.version!==$)return`对端运行 core ${U.version},本机为 ${$};混合版本工作区的新功能可能不生效`;return null}async function QB($){try{let U=await fetch(new URL(jK,$),{signal:AbortSignal.timeout(5000)});if(!U.ok)return null;let X=XK.safeParse(await U.json());return X.success?X.data:null}catch{return null}}async function jB($,U,X){try{let Q=N6($,U),J;if(Q?.kind==="s3"){if(!Q.config)throw Error(`storage peer ${U} has no config`);let z=JSON.parse(Q.config),D={...X?.storage,publish:X?.storage?.publish??z.publish,priority:X?.storage?.priority??z.priority};J=await FK($,U,p6(z),z,D)}else if(Q?.kind==="room"){let{syncRoomPeer:z}=await Promise.resolve().then(() => (TU(),M0));J=await z($,Q)}else J=await rv($,U,{timeoutMs:X?.timeoutMs});Cz($,U,"ok",null);let j=[];try{if(Q?.kind!=="s3"&&Q?.kind!=="room")xK($,U)}catch(z){j.push(`site rollback bookkeeping failed: ${z.message}`)}if(Q?.kind!=="s3"&&Q?.kind!=="room"){let z=XB(uK.version,await QB(U));if(z)j.push(`${U}: ${z}`)}let{reconcileSiteChannelsQuietly:G}=await Promise.resolve().then(() => (pG(),_z)),W=await G($);if(W)j.push(`site channel reconcile failed: ${W}`);return{url:U,ok:!0,pushed:J.pushed,pulled:J.pulled,pendingPush:J.pendingPush,...j.length?{warnings:j}:{}}}catch(Q){let J=Q.message;return Cz($,U,"error",J),{url:U,ok:!1,error:J}}}var Fz="url, pull_cursor, push_cursor, token, label, node_id, enabled, last_sync_at, last_success_at, last_status, last_error, kind, config",Mz;var h2=H$(()=>{z6();HG();c0();T0();EK();SK();E2();lv();wK();c0();Mz=new WeakMap});class $Y{constructor({accessKeyId:$,secretAccessKey:U,sessionToken:X,service:Q,region:J,cache:j,retries:G,initRetryMs:W}){if($==null)throw TypeError("accessKeyId is a required option");if(U==null)throw TypeError("secretAccessKey is a required option");this.accessKeyId=$,this.secretAccessKey=U,this.sessionToken=X,this.service=Q,this.region=J,this.cache=j||new Map,this.retries=G!=null?G:10,this.initRetryMs=W||50}async sign($,U){if($ instanceof Request){let{method:J,url:j,headers:G,body:W}=$;if(U=Object.assign({method:J,url:j,headers:G},U),U.body==null&&G.has("Content-Type"))U.body=W!=null&&G.has("X-Amz-Content-Sha256")?W:await $.clone().arrayBuffer();$=j}let X=new bz(Object.assign({url:$.toString()},U,this,U&&U.aws)),Q=Object.assign({},U,await X.sign());delete Q.aws;try{return new Request(Q.url.toString(),Q)}catch(J){if(J instanceof TypeError)return new Request(Q.url.toString(),Object.assign({duplex:"half"},Q));throw J}}async fetch($,U){for(let X=0;X<=this.retries;X++){let Q=fetch(await this.sign($,U));if(X===this.retries)return Q;let J=await Q;if(J.status<500&&J.status!==429)return J;await new Promise((j)=>setTimeout(j,Math.random()*this.initRetryMs*Math.pow(2,X)))}throw Error("An unknown error occurred, ensure retries is not negative")}}class bz{constructor({method:$,url:U,headers:X,body:Q,accessKeyId:J,secretAccessKey:j,sessionToken:G,service:W,region:z,cache:D,datetime:A,signQuery:T,appendSessionToken:h,allHeaders:o,singleEncode:V$}){if(U==null)throw TypeError("url is a required option");if(J==null)throw TypeError("accessKeyId is a required option");if(j==null)throw TypeError("secretAccessKey is a required option");this.method=$||(Q?"POST":"GET"),this.url=new URL(U),this.headers=new Headers(X||{}),this.body=Q,this.accessKeyId=J,this.secretAccessKey=j,this.sessionToken=G;let Y$,L$;if(!W||!z)[Y$,L$]=ZB(this.url,this.headers);if(this.service=W||Y$||"",this.region=z||L$||"us-east-1",this.cache=D||new Map,this.datetime=A||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=T,this.appendSessionToken=h||this.service==="iotdevicegateway",this.headers.delete("Host"),this.service==="s3"&&!this.signQuery&&!this.headers.has("X-Amz-Content-Sha256"))this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD");let w$=this.signQuery?this.url.searchParams:this.headers;if(w$.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken)w$.set("X-Amz-Security-Token",this.sessionToken);if(this.signableHeaders=["host",...this.headers.keys()].filter((b$)=>o||!WB.has(b$)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map((b$)=>b$+":"+(b$==="host"?this.url.host:(this.headers.get(b$)||"").replace(/\s+/g," "))).join(`
521
- `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery){if(this.service==="s3"&&!w$.has("X-Amz-Expires"))w$.set("X-Amz-Expires","86400");w$.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),w$.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),w$.set("X-Amz-SignedHeaders",this.signedHeaders)}if(this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch(b$){this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");if(!V$)this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/");this.encodedPath=fz(this.encodedPath);let e$=new Set;this.encodedSearch=[...this.url.searchParams].filter(([b$])=>{if(!b$)return!1;if(this.service==="s3"){if(e$.has(b$))return!1;e$.add(b$)}return!0}).map((b$)=>b$.map((p$)=>fz(encodeURIComponent(p$)))).sort(([b$,p$],[s$,L6])=>b$<s$?-1:b$>s$?1:p$<L6?-1:p$>L6?1:0).map((b$)=>b$.join("=")).join("&")}async sign(){if(this.signQuery){if(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken)this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)}else this.headers.set("Authorization",await this.authHeader());return{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let $=this.datetime.slice(0,8),U=[this.secretAccessKey,$,this.region,this.service].join(),X=this.cache.get(U);if(!X){let Q=await m2("AWS4"+this.secretAccessKey,$),J=await m2(Q,this.region),j=await m2(J,this.service);X=await m2(j,"aws4_request"),this.cache.set(U,X)}return eG(await m2(X,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,eG(await yz(await this.canonicalString()))].join(`
516
+ enabled = 1`).run(t.url,JSON.stringify(t.config),t.label??null)}function vt(e,t){return e.transaction(()=>{let n=e.query("DELETE FROM peers WHERE url = ?").run(t).changes>0;return e.query("DELETE FROM peer_grants WHERE peer_url = ?").run(t),e.query("DELETE FROM storage_cursors WHERE peer_url = ?").run(t),e.query("DELETE FROM room_rows WHERE peer_key = ?").run(t),n})()}function cg(e,t,r,n){let o=Date.now();if(r==="ok"){e.query("UPDATE peers SET last_sync_at = ?, last_success_at = ?, last_status = ?, last_error = ? WHERE url = ?").run(o,o,r,n??null,t);return}e.query("UPDATE peers SET last_sync_at = ?, last_status = ?, last_error = ? WHERE url = ?").run(o,r,n??null,t)}async function $a(e,t,r){let n=ag.get(e);if(!n)n=new Map,ag.set(e,n);let o=n.get(t);if(o)return o;let s=bv(e,t,r).finally(()=>{if(n.get(t)===s)n.delete(t)});return n.set(t,s),s}function mv(e,t){if(!t)return null;if(t.capabilities&&!t.capabilities.includes("site_channels"))return"对端未升级(不支持站点渠道):站点发布/分享的变更在它升级前不会生效";if(t.version&&t.version!==e)return`对端运行 core ${t.version},本机为 ${e};混合版本工作区的新功能可能不生效`;return null}async function yv(e){try{let t=await fetch(new URL(Mp,e),{signal:AbortSignal.timeout(5000)});if(!t.ok)return null;let r=zp.safeParse(await t.json());return r.success?r.data:null}catch{return null}}async function bv(e,t,r){try{let n=Et(e,t),o;if(n?.kind==="s3"){if(!n.config)throw Error(`storage peer ${t} has no config`);let _=JSON.parse(n.config),m={...r?.storage,publish:r?.storage?.publish??_.publish,priority:r?.storage?.priority??_.priority};o=await l_(e,t,Bt(_),_,m)}else if(n?.kind==="room"){await Promise.resolve().then(() => mi());o=await hi(e,n)}else o=await ii(e,t,{timeoutMs:r?.timeoutMs});cg(e,t,"ok",null);let s=[];try{if(n?.kind!=="s3"&&n?.kind!=="room")f_(e,t)}catch(_){s.push(`site rollback bookkeeping failed: ${_.message}`)}if(n?.kind!=="s3"&&n?.kind!=="room"){let _=mv(__.version,await yv(t));if(_)s.push(`${t}: ${_}`)}await Promise.resolve().then(() => La());let u=await xn(e);if(u)s.push(`site channel reconcile failed: ${u}`);return{url:t,ok:!0,pushed:o.pushed,pulled:o.pulled,pendingPush:o.pendingPush,...s.length?{warnings:s}:{}}}catch(n){let o=n.message;return cg(e,t,"error",o),{url:t,ok:!1,error:o}}}var lg="url, pull_cursor, push_cursor, token, label, node_id, enabled, last_sync_at, last_success_at, last_status, last_error, kind, config",ag;var io=De(()=>{Ye();ra();Fn();wn();u_();d_();Qn();oi();p_();Fn();ag=new WeakMap});class Ba{constructor({accessKeyId:e,secretAccessKey:t,sessionToken:r,service:n,region:o,cache:s,retries:a,initRetryMs:u}){if(e==null)throw TypeError("accessKeyId is a required option");if(t==null)throw TypeError("secretAccessKey is a required option");this.accessKeyId=e,this.secretAccessKey=t,this.sessionToken=r,this.service=n,this.region=o,this.cache=s||new Map,this.retries=a!=null?a:10,this.initRetryMs=u||50}async sign(e,t){if(e instanceof Request){let{method:o,url:s,headers:a,body:u}=e;if(t=Object.assign({method:o,url:s,headers:a},t),t.body==null&&a.has("Content-Type"))t.body=u!=null&&a.has("X-Amz-Content-Sha256")?u:await e.clone().arrayBuffer();e=s}let r=new bg(Object.assign({url:e.toString()},t,this,t&&t.aws)),n=Object.assign({},t,await r.sign());delete n.aws;try{return new Request(n.url.toString(),n)}catch(o){if(o instanceof TypeError)return new Request(n.url.toString(),Object.assign({duplex:"half"},n));throw o}}async fetch(e,t){for(let r=0;r<=this.retries;r++){let n=fetch(await this.sign(e,t));if(r===this.retries)return n;let o=await n;if(o.status<500&&o.status!==429)return o;await new Promise((s)=>setTimeout(s,Math.random()*this.initRetryMs*Math.pow(2,r)))}throw Error("An unknown error occurred, ensure retries is not negative")}}class bg{constructor({method:e,url:t,headers:r,body:n,accessKeyId:o,secretAccessKey:s,sessionToken:a,service:u,region:_,cache:m,datetime:x,signQuery:D,appendSessionToken:j,allHeaders:Y,singleEncode:_e}){if(t==null)throw TypeError("url is a required option");if(o==null)throw TypeError("accessKeyId is a required option");if(s==null)throw TypeError("secretAccessKey is a required option");this.method=e||(n?"POST":"GET"),this.url=new URL(t),this.headers=new Headers(r||{}),this.body=n,this.accessKeyId=o,this.secretAccessKey=s,this.sessionToken=a;let de,ge;if(!u||!_)[de,ge]=Sv(this.url,this.headers);if(this.service=u||de||"",this.region=_||ge||"us-east-1",this.cache=m||new Map,this.datetime=x||new Date().toISOString().replace(/[:-]|\.\d{3}/g,""),this.signQuery=D,this.appendSessionToken=j||this.service==="iotdevicegateway",this.headers.delete("Host"),this.service==="s3"&&!this.signQuery&&!this.headers.has("X-Amz-Content-Sha256"))this.headers.set("X-Amz-Content-Sha256","UNSIGNED-PAYLOAD");let Le=this.signQuery?this.url.searchParams:this.headers;if(Le.set("X-Amz-Date",this.datetime),this.sessionToken&&!this.appendSessionToken)Le.set("X-Amz-Security-Token",this.sessionToken);if(this.signableHeaders=["host",...this.headers.keys()].filter(($e)=>Y||!Ev.has($e)).sort(),this.signedHeaders=this.signableHeaders.join(";"),this.canonicalHeaders=this.signableHeaders.map(($e)=>$e+":"+($e==="host"?this.url.host:(this.headers.get($e)||"").replace(/\s+/g," "))).join(`
517
+ `),this.credentialString=[this.datetime.slice(0,8),this.region,this.service,"aws4_request"].join("/"),this.signQuery){if(this.service==="s3"&&!Le.has("X-Amz-Expires"))Le.set("X-Amz-Expires","86400");Le.set("X-Amz-Algorithm","AWS4-HMAC-SHA256"),Le.set("X-Amz-Credential",this.accessKeyId+"/"+this.credentialString),Le.set("X-Amz-SignedHeaders",this.signedHeaders)}if(this.service==="s3")try{this.encodedPath=decodeURIComponent(this.url.pathname.replace(/\+/g," "))}catch($e){this.encodedPath=this.url.pathname}else this.encodedPath=this.url.pathname.replace(/\/+/g,"/");if(!_e)this.encodedPath=encodeURIComponent(this.encodedPath).replace(/%2F/g,"/");this.encodedPath=yg(this.encodedPath);let Ze=new Set;this.encodedSearch=[...this.url.searchParams].filter(([$e])=>{if(!$e)return!1;if(this.service==="s3"){if(Ze.has($e))return!1;Ze.add($e)}return!0}).map(($e)=>$e.map((Ue)=>yg(encodeURIComponent(Ue)))).sort(([$e,Ue],[tt,Rr])=>$e<tt?-1:$e>tt?1:Ue<Rr?-1:Ue>Rr?1:0).map(($e)=>$e.join("=")).join("&")}async sign(){if(this.signQuery){if(this.url.searchParams.set("X-Amz-Signature",await this.signature()),this.sessionToken&&this.appendSessionToken)this.url.searchParams.set("X-Amz-Security-Token",this.sessionToken)}else this.headers.set("Authorization",await this.authHeader());return{method:this.method,url:this.url,headers:this.headers,body:this.body}}async authHeader(){return["AWS4-HMAC-SHA256 Credential="+this.accessKeyId+"/"+this.credentialString,"SignedHeaders="+this.signedHeaders,"Signature="+await this.signature()].join(", ")}async signature(){let e=this.datetime.slice(0,8),t=[this.secretAccessKey,e,this.region,this.service].join(),r=this.cache.get(t);if(!r){let n=await lo("AWS4"+this.secretAccessKey,e),o=await lo(n,this.region),s=await lo(o,this.service);r=await lo(s,"aws4_request"),this.cache.set(t,r)}return Fa(await lo(r,await this.stringToSign()))}async stringToSign(){return["AWS4-HMAC-SHA256",this.datetime,this.credentialString,Fa(await hg(await this.canonicalString()))].join(`
522
518
  `)}async canonicalString(){return[this.method.toUpperCase(),this.encodedPath,this.encodedSearch,this.canonicalHeaders+`
523
519
  `,this.signedHeaders,await this.hexBodyHash()].join(`
524
- `)}async hexBodyHash(){let $=this.headers.get("X-Amz-Content-Sha256")||(this.service==="s3"&&this.signQuery?"UNSIGNED-PAYLOAD":null);if($==null){if(this.body&&typeof this.body!=="string"&&!("byteLength"in this.body))throw Error("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");$=eG(await yz(this.body||""))}return $}}async function m2($,U){let X=await crypto.subtle.importKey("raw",typeof $==="string"?sG.encode($):$,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",X,sG.encode(U))}async function yz($){return crypto.subtle.digest("SHA-256",typeof $==="string"?sG.encode($):$)}function eG($){let U=new Uint8Array($),X="";for(let Q=0;Q<U.length;Q++){let J=U[Q];X+=hz[J>>>4&15],X+=hz[J&15]}return X}function fz($){return $.replace(/[!'()*]/g,(U)=>"%"+U.charCodeAt(0).toString(16).toUpperCase())}function ZB($,U){let{hostname:X,pathname:Q}=$;if(X.endsWith(".on.aws")){let W=X.match(/^[^.]{1,63}\.lambda-url\.([^.]{1,63})\.on\.aws$/);return W!=null?["lambda",W[1]||""]:["",""]}if(X.endsWith(".r2.cloudflarestorage.com"))return["s3","auto"];if(X.endsWith(".backblazeb2.com")){let W=X.match(/^(?:[^.]{1,63}\.)?s3\.([^.]{1,63})\.backblazeb2\.com$/);return W!=null?["s3",W[1]||""]:["",""]}let J=X.replace("dualstack.","").match(/([^.]{1,63})\.(?:([^.]{0,63})\.)?amazonaws\.com(?:\.cn)?$/),j=J&&J[1]||"",G=J&&J[2];if(G==="us-gov")G="us-gov-west-1";else if(G==="s3"||G==="s3-accelerate")G="us-east-1",j="s3";else if(j==="iot")if(X.startsWith("iot."))j="execute-api";else if(X.startsWith("data.jobs.iot."))j="iot-jobs-data";else j=Q==="/mqtt"?"iotdevicegateway":"iotdata";else if(j==="autoscaling"){let W=(U.get("X-Amz-Target")||"").split(".")[0];if(W==="AnyScaleFrontendService")j="application-autoscaling";else if(W==="AnyScaleScalingPlannerFrontendService")j="autoscaling-plans"}else if(G==null&&j.startsWith("s3-"))G=j.slice(3).replace(/^fips-|^external-1/,""),j="s3";else if(j.endsWith("-fips"))j=j.slice(0,-5);else if(G&&/-\d$/.test(j)&&!/-\d$/.test(G))[j,G]=[G,j];return[YB[j]||j,G||""]}var sG,YB,WB,hz;var nz=H$(()=>{sG=new TextEncoder,YB={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},WB=new Set(["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"]);hz=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]});function UY($){return new $Y({accessKeyId:$.accessKeyId,secretAccessKey:$.secretAccessKey,region:$.region||"auto",service:"s3"})}function JY($){let U=new URL($.endpoint).origin;return IK($)?U:`${U}/${$.bucket}`}function vY($,U){return`${JY($)}/${U.split("/").map(encodeURIComponent).join("/")}`}async function c2($,U,X){let Q=UY($),J=new URL(vY($,U));return J.searchParams.set("X-Amz-Expires",String(Math.min(Math.max(1,Math.floor(X)),_U))),(await Q.sign(J.toString(),{method:"GET",aws:{signQuery:!0}})).url}var _U=604800;var zX=H$(()=>{nz();T0()});function CB($,U){let X=$.query("SELECT value FROM meta WHERE key = ?").get(U);return X?X.value:null}function DY($,U,X){if(X===null){$.query("DELETE FROM meta WHERE key = ?").run(U);return}$.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(U,X)}function i2($){let U=CB($,"edge_config");if(!U)return null;try{let X=JSON.parse(U);if(!X||typeof X.endpoint!=="string"||typeof X.token!=="string")return null;if(X.cf&&"apiToken"in X.cf)delete X.cf.apiToken,DY($,"edge_config",JSON.stringify(X));if(!Array.isArray(X.capabilities))X.capabilities=X.cf?["inbox","room"]:["inbox"],DY($,"edge_config",JSON.stringify(X));return X}catch{return null}}function LY($,U){if(U?.cf&&"apiToken"in U.cf)throw Error("Cloudflare API token must not be persisted");let X=U?{...U,capabilities:U.capabilities??(U.cf?["inbox","room"]:["inbox"])}:null;DY($,"edge_config",X?JSON.stringify(X):null)}function S0($){return $.capabilities??($.cf?["inbox","room"]:["inbox"])}var UU="3";function CU($){let U=($||"").replace(/^\/+|\/+$/g,"");return U?`${U}/shares`:"shares"}function WV($){let U=new Set,X=/\/blob\/([0-9a-f]{16,64})/g,Q;while(Q=X.exec($))U.add(Q[1].toLowerCase());return[...U]}function HY($,U){let X=new TextEncoder().encode(JSON.stringify(U));return $.encrypt&&$.masterKey?g1(O1($.masterKey),X):Promise.resolve(X)}async function BX($,U){let Q=await p6($).get(l2(CU($.prefix),U)).catch(()=>null);if(!Q)return null;try{let J=$.encrypt&&$.masterKey?await AU(O1($.masterKey),Q):Q;return JSON.parse(new TextDecoder().decode(J))}catch{return null}}async function zV($,U){let X=p6(U.config),Q=CU(U.config.prefix),J={v:1,kind:U.kind,title:""},j=[];if(U.kind==="doc"){let D=D6($,U.targetId);if(!D)throw new c("not_found",`no such document: ${U.targetId}`);J.title=D.title,J.body=D.body??"",j=WV(J.body)}else{let D=y6($,U.targetId);if(!D)throw new c("not_found",`no such database: ${U.targetId}`);J.title=D.name;let A=a6($,U.targetId).sort((h,o)=>h.position-o.position);J.properties=A.map((h)=>({id:h.id,name:h.name,type:h.type}));let T=mU($,U.targetId);J.records=T.map((h)=>({cells:h.cells})),j=WV(JSON.stringify(T.map((h)=>h.cells)))}let G=[],W={};if(j.length>0&&!iW())throw new c("network","no blob-bytes resolver is registered for this runtime");for(let D of j){let A=await cW($,D);if(!A)continue;let T=KV(Q,U.slug,D);await X.put(T,await g1(U.shareKey,A),{contentType:"application/octet-stream"}),G.push(T),W[D]={url:await c2(U.config,T,U.expiresSec),ct:dW($,D)??"application/octet-stream"}}if(Object.keys(W).length)J.blobs=W;let z=ZV(Q,U.slug);return await X.put(z,await g1(U.shareKey,new TextEncoder().encode(JSON.stringify(J))),{contentType:"application/octet-stream"}),G.push(z),{manifestUrl:await c2(U.config,z,U.expiresSec),objects:G,title:J.title}}async function EB($,U){if(!U)return;let X=qK();if(!X){console.warn(`share: this runtime cannot open bucket CORS; run it from a device that holds the bucket credentials so the viewer origin ${U} is allowed`);return}try{await X($,[U],{merge:!0})}catch(Q){console.warn(`share: could not add viewer origin to bucket CORS (${Q.message}); the viewer may be blocked until CORS allows ${U}`)}}async function VV($,U){let X=NY(U.expiresSec),Q,J;if(U.password){let A=crypto.getRandomValues(new Uint8Array(16));Q=await DK(U.password,A),J=J1(A)}else Q=ov();let{manifestUrl:j,objects:G,title:W}=await zV($,{slug:U.slug,kind:U.kind,targetId:U.targetId,config:U.config,shareKey:Q,expiresSec:X}),z=Date.now()+X*1000,D={v:1,slug:U.slug,kind:U.kind,target_id:U.targetId,title:W,permission:"view",created_at:Date.now(),presign_exp:z,has_password:!!U.password,objects:G,key:J1(Q),salt:J,content_updated_at:Date.now()};return await p6(U.config).put(l2(CU(U.config.prefix),U.slug),await HY(U.config,D),{contentType:"application/octet-stream"}),await EB(U.config,U.viewerOrigin),{manifestUrl:j,presignExp:z,keyB64:U.password?void 0:J1(Q),saltB64:J,title:W}}async function DV($,U,X,Q=_U){let J=await BX(U,X);if(!J)throw new c("not_found",`no such bucket share: ${X}`);let j=O1(J.key),G=NY(Q),{manifestUrl:W,objects:z,title:D}=await zV($,{slug:X,kind:J.kind,targetId:J.target_id,config:U,shareKey:j,expiresSec:G}),A=Date.now()+G*1000,T={...J,title:D,presign_exp:A,objects:z,content_updated_at:Date.now()};return await p6(U).put(l2(CU(U.prefix),X),await HY(U,T),{contentType:"application/octet-stream"}),{manifestUrl:W,presignExp:A,keyB64:J.has_password?void 0:J.key,saltB64:J.salt,title:D}}async function SB($,U){if(!$.blobs)return $;let X={};for(let[Q,J]of Object.entries($.blobs))X[Q]={...J,url:await U(Q)};return{...$,blobs:X}}async function LV($,U,X=_U){let Q=await BX($,U);if(!Q)throw new c("not_found",`no such bucket share: ${U}`);let J=p6($),j=CU($.prefix),G=O1(Q.key),W=NY(X),z=ZV(j,U),D=await J.get(z).catch(()=>null);if(!D)throw new c("not_found",`bucket share ${U} has no manifest`);let A=JSON.parse(new TextDecoder().decode(await AU(G,D))),T=await SB(A,(o)=>c2($,KV(j,U,o),W));await J.put(z,await g1(G,new TextEncoder().encode(JSON.stringify(T))),{contentType:"application/octet-stream"});let h=Date.now()+W*1000;return await J.put(l2(j,U),await HY($,{...Q,presign_exp:h}),{contentType:"application/octet-stream"}),{manifestUrl:await c2($,z,W),presignExp:h,keyB64:Q.has_password?void 0:Q.key,saltB64:Q.salt,title:Q.title}}async function qX($){let U=p6($),X=CU($.prefix),J=(await U.list(`${X}/`,void 0,"/").catch(()=>[])).map((G)=>G.key.slice(`${X}/`.length).replace(/\/$/,"")).filter((G)=>G&&!G.includes("/")),j=[];for(let G of J){let W=await BX($,G);if(W)j.push(W)}return j}async function HV($,U){let X=p6($),Q=CU($.prefix);await X.del(l2(Q,U)).catch(()=>{return});let j=(await BX($,U).catch(()=>null))?.objects??(await X.list(`${Q}/${U}/`).catch(()=>[])).map((G)=>G.key);for(let G of j)await X.del(G).catch(()=>{return})}function NY($){return Math.min(Math.max(60,Math.floor($)),_U)}var l2=($,U)=>`${$}/${U}/meta.json`,ZV=($,U)=>`${$}/${U}/manifest.bin`,KV=($,U,X)=>`${$}/${U}/blobs/${X}`;var NV=H$(()=>{z6();rU();ZU();WU();KU();m0();T0();zX();E2()});var CV={};Y1(CV,{revokeShareByRequestId:()=>mB,revokeShareAction:()=>MV,renewShareAction:()=>lB,listSharesLocal:()=>_V,listSharesAggregated:()=>cB,listShareServers:()=>qV,listShareBuckets:()=>BV,listServerSharesLocal:()=>TV,createdShareByRequestId:()=>nB,createShareAction:()=>bB,assertShareCombo:()=>RV});function OV($,U){let X=E0($,{siteId:U.siteId,audience:"link",hosting:U.hosting==="room"?"edge":"device",targetRef:U.slug,canonicalUrl:U.url,policy:{permission:U.permission,hasPassword:U.hasPassword,expiresAt:U.expiresAt}});R6($,{channelId:X.id,status:"ready",lastVerifiedAt:Date.now()})}function gB($,U,X){try{if(U==="doc")return D6($,X)?.title||X;if(U==="database")return y6($,X)?.name||X;if(U==="site"){let Q=z1($,X);return Q?.title||Q?.name||X}}catch{}return X}function IV($,U,X){if(U==="site"){let J=s1($,X);return{id:J.id,title:J.name}}let Q=PW($,X,{kind:U==="database"?"db":"doc"});return{id:Q.id,title:Q.label}}function yB($,U){let X=N6($,U);if(!X||X.kind!=="s3"||!X.config)throw new c("not_found",`no such object-storage bucket: ${U}`);return{config:JSON.parse(X.config),label:X.label??U}}function BV($){return w6($).filter((U)=>U.kind==="s3").map((U)=>({url:U.url,label:U.label??U.url}))}function qV($){return w6($).filter((U)=>U.kind==="http").map((U)=>({url:U.url,label:U.label??U.url,enabled:U.enabled===1,lastStatus:U.last_status,lastSuccessAt:U.last_success_at}))}function hB($,U){if(U)return U;let X=BV($);if(X.length===0)throw new c("invalid_input","no object-storage bucket attached — add one with `mh config peer add --s3`");if(X.length>1)throw new c("invalid_input",`multiple buckets — pass --bucket <url> (one of: ${X.map((Q)=>Q.url).join(", ")})`);return X[0].url}function PV($,U){if(U)return U.replace(/\/+$/,"");return($.query("SELECT value FROM meta WHERE key='cfg_share_viewer_url'").get()?.value||xB).replace(/\/+$/,"")}function fB($){try{return new URL($).origin}catch{return}}function kV($,U,X,Q){let J=`m=${encodeURIComponent(U)}&`+(X?`k=${X}`:`s=${Q}`);return`${$}/#${J}`}function AV($,U){try{return new URL($,`${U.replace(/\/+$/,"")}/`).toString()}catch{return $}}function RV($){let U=(X)=>{throw new c("invalid_input",X)};if($.transport==="s3"){if($.hosting==="room")U("Edge room hosting requires the server transport");if($.hasGrants)U("data grants need the server transport — a static object-storage share has no API surface");if($.permission==="edit")U("object-storage shares are read-only — use the server transport to allow editing");if($.kind==="site")U("sites can't be shared via object storage — use the server transport")}if($.hosting==="room"&&$.kind!=="site")U("Edge rooms currently host site shares only")}async function bB($,U){let X=U.permission??"view",Q=U.transport??"server",J=U.hosting??"server";if(RV({kind:U.kind,transport:Q,hosting:J,permission:X,hasGrants:!!U.grants}),Q==="s3"){let Y$=IV($,U.kind,U.ref),L$=hB($,U.bucketUrl),{config:w$,label:e$}=yB($,L$),b$=PV($,U.viewerBase),p$=rB($),s$=await VV($,{slug:p$,kind:U.kind,targetId:Y$.id,config:w$,password:U.password,expiresSec:U.expiresMs!=null?Math.floor(U.expiresMs/1000):wB,viewerOrigin:fB(b$)});return{slug:p$,kind:U.kind,permission:"view",transport:"s3",hosting:"s3",url:kV(b$,s$.manifestUrl,s$.keyB64,s$.saltB64),expiresAt:s$.presignExp,source:`桶 ${e$}`}}let j=U.server?N6($,U.server):null;if(U.server&&j&&j.kind!=="s3"){let Y$=U.requestId||`share_${k6(24)}`,L$={"content-type":"application/json",...j.token?{authorization:`Bearer ${j.token}`}:{}},w$=null,e$=null;try{w$=await fetch(`${U.server.replace(/\/+$/,"")}/api/share`,{method:"POST",headers:L$,body:JSON.stringify({...U,requestId:Y$,server:void 0}),signal:AbortSignal.timeout(OY)})}catch(q1){e$=q1.message}let b$=w$?await w$.json().catch(()=>null):null,p$=b$,s$=w$&&!w$.ok?p$?.error||`remote share failed: ${w$.status}`:null,L6=PX.safeParse(w$?.ok?b$:null);if(L6.success&&(L6.data.kind!==U.kind||L6.data.permission!==X||L6.data.hosting!==J))L6=PX.safeParse(null);if(!L6.success){let q1=await fetch(`${U.server.replace(/\/+$/,"")}/api/share/request?id=${encodeURIComponent(Y$)}`,{headers:j.token?{authorization:`Bearer ${j.token}`}:{},signal:AbortSignal.timeout(OY)}).catch(()=>null),_X=q1?.ok?await q1.json().catch(()=>null):null;if(L6=PX.safeParse(_X),L6.success&&(L6.data.kind!==U.kind||L6.data.permission!==X||L6.data.hosting!==J))L6=PX.safeParse(null)}if(!L6.success)throw await fetch(`${U.server.replace(/\/+$/,"")}/api/share/request?id=${encodeURIComponent(Y$)}`,{method:"DELETE",headers:j.token?{authorization:`Bearer ${j.token}`}:{},signal:AbortSignal.timeout(OY)}).catch(()=>null),new c("network",e$?`could not confirm remote share creation: ${e$}`:s$?`${s$}; request-id recovery failed and compensation was requested`:"remote share returned an invalid response and was compensated");let _6=L6.data;return{slug:_6.slug,kind:U.kind,permission:X,transport:"server",hosting:_6.hosting,url:AV(_6.url,U.server),expiresAt:_6.expiresAt,source:j.label??U.server}}let G=IV($,U.kind,U.ref),W=U.requestId?g2($,U.requestId):null;if(W){if(W.kind!==U.kind||W.target_id!==G.id)throw new c("conflict","share request id was already used for another target");let Y$=N6($,`room://${W.slug}`),L$=Y$?.kind==="room"&&Y$.config?JSON.parse(Y$.config):null,w$=L$&&(L$.lifecycle??"active")==="active";if(L$&&!w$)throw new c("conflict","Edge Room is not active; cleanup or provisioning is still pending");if(J==="room"&&!w$)throw new c("conflict","Edge Room creation did not finish; retry with a new request");let e$=W.served_base??U.server??"",b$={slug:W.slug,kind:W.kind,permission:W.permission,transport:"server",hosting:w$?"room":"server",url:w$?I1(L$):`${e$.replace(/\/+$/,"")}/share/${W.slug}`,expiresAt:W.expires_at,source:w$?"Edge Room":e$||"本机服务器"};if(W.kind==="site")OV($,{siteId:W.target_id,slug:W.slug,hosting:w$?"room":"server",url:b$.url,permission:W.permission,hasPassword:!!W.pw_hash,expiresAt:W.expires_at});return b$}let z=J==="room"?i2($):null;if(J==="room"){if(!z)throw new c("invalid_input","Edge is not configured");if(!S0(z).includes("room"))throw new c("conflict","Configured Edge host supports inbox only, not Room hosting")}let D=null,A=null;if(U.password){let Y$=await sv(U.password);D=Y$.salt,A=Y$.hash}let T=U.server?U.server.replace(/\/+$/,""):null,h=tv($,{kind:U.kind,target_id:G.id,permission:X,pwSalt:D,pwHash:A,expiresAt:U.expiresMs!=null?Date.now()+U.expiresMs:null,servedBase:T,grants:U.grants??null,requestId:U.requestId??null}),o=null;if(J==="room")try{let{provisionRoomForShare:Y$}=await Promise.resolve().then(() => (TU(),M0));o=(await Y$($,h,z)).url}catch(Y$){let{teardownRoomForShare:L$}=await Promise.resolve().then(() => (TU(),M0));if(await L$($,h.slug).catch(()=>"cleanup_pending")!=="cleanup_pending")v1($,h.slug);throw Y$}let V$={slug:h.slug,kind:U.kind,permission:X,transport:"server",hosting:J,url:o??`${T??""}/share/${h.slug}`,expiresAt:h.expires_at,source:o?"Edge Room":T||"本机服务器"};if(h.kind==="site")OV($,{siteId:h.target_id,slug:h.slug,hosting:J,url:V$.url,permission:h.permission,hasPassword:!!h.pw_hash,expiresAt:h.expires_at});return V$}function TV($,U){let X=[],Q=U?ev($,U):av($);for(let J of Q){let j=N6($,`room://${J.slug}`),G=j?.kind==="room"&&j.config?JSON.parse(j.config):null,W=G?.base&&G.slug&&(G.lifecycle??"active")==="active"?I1({base:G.base,slug:G.slug}):null;X.push({slug:J.slug,kind:J.kind,target_id:J.target_id,title:gB($,J.kind,J.target_id),permission:J.permission,transport:"server",source:G?G.lifecycle==="cleanup_pending"?"Edge Room(撤销待确认)":`房间 ${J.slug}`:J.served_base||"本机服务器",sourceKind:G?"room":"server",hosting:W?"room":"server",...G?{hosting:"room",lifecycle:G.lifecycle??"active"}:{},expiresAt:J.expires_at,hasPassword:!!J.pw_hash,url:G?W??void 0:J.served_base?`${J.served_base}/share/${J.slug}`:`/share/${J.slug}`})}return X}async function _V($,U){let X=TV($,U);for(let Q of w6($).filter((J)=>J.kind==="s3"&&J.config)){let J=JSON.parse(Q.config),j=await qX(J).catch(()=>[]);for(let G of j){if(U&&G.target_id!==U)continue;X.push({slug:G.slug,kind:G.kind,target_id:G.target_id,title:G.title||G.target_id,permission:G.permission,transport:"s3",source:`桶 ${Q.label??Q.url}`,sourceKind:"bucket",hosting:"s3",expiresAt:G.presign_exp,hasPassword:G.has_password,contentUpdatedAt:G.content_updated_at??G.created_at})}}return X}function nB($,U){let X=g2($,U);if(!X)return null;let Q=N6($,`room://${X.slug}`),J=Q?.kind==="room"&&Q.config?JSON.parse(Q.config):null,j=J&&(J.lifecycle??"active")==="active";if(J&&!j)return null;let G=X.served_base??"";return{slug:X.slug,kind:X.kind,permission:X.permission,transport:"server",hosting:j?"room":"server",url:j?I1(J):`${G.replace(/\/+$/,"")}/share/${X.slug}`,expiresAt:X.expires_at,source:j?"Edge Room":G||"本机服务器"}}async function mB($,U){let X=g2($,U);return X?MV($,X.slug):{ok:!1,status:"not_found"}}async function cB($,U){let X=new Map;for(let Q of await _V($,U))X.set(Q.slug,Q);return await Promise.all(qV($).map(async({url:Q,label:J})=>{let j=N6($,Q);if(!j?.token)return;let G=await iB(Q,j.token,U).catch(()=>[]);for(let W of G)if(!X.has(W.slug))X.set(W.slug,{...W,source:J,sourceKind:"peer",sourceUrl:Q})})),[...X.values()]}async function iB($,U,X){let Q=`${$.replace(/\/+$/,"")}/api/shares${X?`?target=${encodeURIComponent(X)}`:""}`,J=await Promise.race([fetch(Q,{headers:{authorization:`Bearer ${U}`}}),new Promise((j,G)=>setTimeout(()=>G(Error("timeout")),uB))]);if(!J.ok)return[];return(await J.json()).map((j)=>({...j,...j.url?{url:AV(j.url,$)}:{}}))}async function MV($,U){if(K1($,U)){let X=X1($).filter((G)=>G.audience==="link"&&G.target_ref===U&&G.desired_state==="active");for(let G of X)C1($,G.id,"revoked");let{teardownRoomForShare:Q}=await Promise.resolve().then(() => (TU(),M0));if(await Q($,U)==="cleanup_pending"){for(let G of X)R6($,{channelId:G.id,status:"cleanup_pending",lastError:"Edge 尚未确认销毁 Room"});return{ok:!1,status:"cleanup_pending"}}let j=v1($,U);for(let G of X)R6($,{channelId:G.id,status:"revoked",lastVerifiedAt:Date.now()});return{ok:j,status:"revoked"}}for(let X of w6($).filter((Q)=>Q.kind==="s3"&&Q.config)){let Q=JSON.parse(X.config);if((await qX(Q).catch(()=>[])).some((j)=>j.slug===U))return await HV(Q,U),{ok:!0,status:"revoked"}}return{ok:!1,status:"not_found"}}async function lB($,U,X,Q){for(let J of w6($).filter((j)=>j.kind==="s3"&&j.config)){let j=JSON.parse(J.config),W=(await qX(j).catch(()=>[])).find((A)=>A.slug===U);if(!W)continue;let z=PV($,X),D=Q?.refreshContent?await DV($,j,U):await LV(j,U);return{slug:U,kind:W.kind,permission:"view",transport:"s3",hosting:"s3",url:kV(z,D.manifestUrl,D.keyB64,D.saltB64),expiresAt:D.presignExp,source:`桶 ${J.label??J.url}`}}throw new c("not_found",`no such object-storage share: ${U}`)}function rB($){let U=k6(12);while(K1($,U))U=k6(12);return U}var xB="https://share.mh.tensorix.org",wB,uB=4000,OY=1e4,PX;var FV=H$(()=>{LG();z6();E6();oX();C0();rU();ZU();h2();_0();NV();zX();b2();wB=_U,PX=l$.object({slug:l$.string().min(1).max(128),kind:l$.enum(["doc","database","site"]),permission:l$.enum(["view","edit"]),transport:l$.literal("server"),hosting:l$.enum(["server","room"]),url:l$.string().url(),expiresAt:l$.number().nullable(),source:l$.string()})});globalThis.sqlite3Worker1Promiser=function $(U=$.defaultConfig){if(arguments.length===1&&typeof arguments[0]==="function"){let T=U;U=Object.assign(Object.create(null),$.defaultConfig),U.onready=T}else U=Object.assign(Object.create(null),$.defaultConfig,U);let X=Object.create(null),Q=function(){},J=U.onerror||Q,j=U.debug||Q,G=U.generateMessageId?void 0:Object.create(null),W=U.generateMessageId||function(T){return T.type+"#"+(G[T.type]=(G[T.type]||0)+1)},z=(...T)=>{throw Error(T.join(" "))};if(!U.worker)U.worker=$.defaultConfig.worker;if(typeof U.worker==="function")U.worker=U.worker();let D,A;return U.worker.onmessage=function(T){T=T.data,j("worker1.onmessage",T);let h=X[T.messageId];if(!h){if(T&&T.type==="sqlite3-api"&&T.result==="worker1-ready"){if(U.onready)U.onready(A);return}if(h=X[T.type],h&&h.onrow){h.onrow(T);return}if(U.onunhandled)U.onunhandled(arguments[0]);else J("sqlite3Worker1Promiser() unhandled worker message:",T);return}switch(delete X[T.messageId],T.type){case"error":h.reject(T);return;case"open":if(!D)D=T.dbId;break;case"close":if(T.dbId===D)D=void 0;break;default:break}try{h.resolve(T)}catch(o){h.reject(o)}},A=function(){let T;if(arguments.length===1)T=arguments[0];else if(arguments.length===2)T=Object.create(null),T.type=arguments[0],T.args=arguments[1],T.dbId=T.args.dbId;else z("Invalid arguments for sqlite3Worker1Promiser()-created factory.");if(!T.dbId&&T.type!=="open")T.dbId=D;T.messageId=W(T),T.departureTime=performance.now();let h=Object.create(null);h.message=T;let o;if(T.type==="exec"&&T.args){if(typeof T.args.callback==="function")o=T.messageId+":row",h.onrow=T.args.callback,T.args.callback=o,X[o]=h;else if(typeof T.args.callback==="string")z("exec callback may not be a string when using the Promise interface.")}let V$=new Promise(function(Y$,L$){h.resolve=Y$,h.reject=L$,X[T.messageId]=h,j("Posting",T.type,"message to Worker dbId="+(D||"default")+":",T),U.worker.postMessage(T)});if(o)V$=V$.finally(()=>delete X[o]);return V$}};globalThis.sqlite3Worker1Promiser.defaultConfig={worker:function(){return new Worker(new URL("sqlite3-worker1.mjs",import.meta.url),{type:"module"})},onerror:(...$)=>console.error("sqlite3Worker1Promiser():",...$)};globalThis.sqlite3Worker1Promiser.v2=function $(U=$.defaultConfig){let X;if(typeof U=="function")X=U,U={};else if(typeof U?.onready==="function")X=U.onready,delete U.onready;let Q=Object.create(null);U=Object.assign(U||Object.create(null),{onready:async function(j){try{if(X)await X(j);Q.resolve(j)}catch(G){Q.reject(G)}}});let J=new Promise(function(j,G){Q.resolve=j,Q.reject=G});try{this.original(U)}catch(j){Q.reject(j)}return J}.bind({original:sqlite3Worker1Promiser});globalThis.sqlite3Worker1Promiser.v2.defaultConfig=globalThis.sqlite3Worker1Promiser.defaultConfig;var Yq=sqlite3Worker1Promiser.v2;delete globalThis.sqlite3Worker1Promiser;async function xX($={}){var U,X=$,Q=!!globalThis.window,J=!!globalThis.WorkerGlobalScope;globalThis.process?.versions?.node&&globalThis.process?.type;var j="./this.program",G=import.meta.url,W="";function z(Y){if(X.locateFile)return X.locateFile(Y,W);return W+Y}var D,A;if(Q||J){try{W=new URL(".",G).href}catch{}if(J)A=(Y)=>{var K=new XMLHttpRequest;return K.open("GET",Y,!1),K.responseType="arraybuffer",K.send(null),new Uint8Array(K.response)};D=async(Y)=>{var K=await fetch(Y,{credentials:"same-origin"});if(K.ok)return K.arrayBuffer();throw Error(K.status+" : "+K.url)}}var T=console.log.bind(console),h=console.error.bind(console),o,V$=!1,Y$,L$,w$=!1;function e$(){var Y=E1.buffer;Q1=new Int8Array(Y),w0=new Int16Array(Y),vU=new Uint8Array(Y),rV=new Uint16Array(Y),j6=new Int32Array(Y),K6=new Uint32Array(Y),iV=new Float32Array(Y),lV=new Float64Array(Y),u6=new BigInt64Array(Y),oV=new BigUint64Array(Y)}function b$(){if(X.wasmMemory)E1=X.wasmMemory;else{var Y=X.INITIAL_MEMORY||8388608;E1=new WebAssembly.Memory({initial:Y/65536,maximum:32768})}e$()}function p$(){if(X.preRun){if(typeof X.preRun=="function")X.preRun=[X.preRun];while(X.preRun.length)pV(X.preRun.shift())}kY(RY)}function s$(){if(w$=!0,!X.noFSInit&&!I.initialized)I.init();f1.init(),uU.__wasm_call_ctors(),I.ignorePermissions=!1}function L6(){if(X.postRun){if(typeof X.postRun=="function")X.postRun=[X.postRun];while(X.postRun.length)dV(X.postRun.shift())}kY(AY)}function _6(Y){X.onAbort?.(Y),Y=`Aborted(${Y})`,h(Y),V$=!0,Y+=". Build with -sASSERTIONS for more info.";var K=new WebAssembly.RuntimeError(Y);throw L$?.(K),K}var q1;function _X(){if(X.locateFile)return z("sqlite3.wasm");return new URL("sqlite3.wasm",import.meta.url).href}function hV(Y){if(Y==q1&&o)return new Uint8Array(o);if(A)return A(Y);throw"both async and sync fetching of the wasm failed"}async function fV(Y){if(!o)try{var K=await D(Y);return new Uint8Array(K)}catch{}return hV(Y)}async function bV(Y,K){try{var O=await fV(Y);return await WebAssembly.instantiate(O,K)}catch(L){h(`failed to asynchronously prepare wasm: ${L}`),_6(L)}}async function nV(Y,K,O){if(!Y)try{var L=fetch(K,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(L,O)}catch(Z){h(`wasm streaming compile failed: ${Z}`),h("falling back to ArrayBuffer instantiation")}return bV(K,O)}function mV(){return{env:bY,wasi_snapshot_preview1:bY}}async function cV(){function Y(L,Z){return uU=L.exports,sD(uU),uU}function K(L){return Y(L.instance)}var O=mV();if(X.instantiateWasm)return new Promise((L,Z)=>{X.instantiateWasm(O,(V,H)=>{L(Y(V,H))})});return q1??=_X(),K(await nV(o,q1,O))}var w0,j6,u6,Q1,iV,lV,rV,K6,oV,vU,kY=(Y)=>{while(Y.length>0)Y.shift()(X)},AY=[],dV=(Y)=>AY.push(Y),RY=[],pV=(Y)=>RY.push(Y),E1,G6={isAbs:(Y)=>Y.charAt(0)==="/",splitPath:(Y)=>{return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(Y).slice(1)},normalizeArray:(Y,K)=>{var O=0;for(var L=Y.length-1;L>=0;L--){var Z=Y[L];if(Z===".")Y.splice(L,1);else if(Z==="..")Y.splice(L,1),O++;else if(O)Y.splice(L,1),O--}if(K)for(;O;O--)Y.unshift("..");return Y},normalize:(Y)=>{var K=G6.isAbs(Y),O=Y.slice(-1)==="/";if(Y=G6.normalizeArray(Y.split("/").filter((L)=>!!L),!K).join("/"),!Y&&!K)Y=".";if(Y&&O)Y+="/";return(K?"/":"")+Y},dirname:(Y)=>{var K=G6.splitPath(Y),O=K[0],L=K[1];if(!O&&!L)return".";if(L)L=L.slice(0,-1);return O+L},basename:(Y)=>Y&&Y.match(/([^\/]+|\/)\/*$/)[1],join:(...Y)=>G6.normalize(Y.join("/")),join2:(Y,K)=>G6.normalize(Y+"/"+K)},tV=()=>{return(Y)=>(crypto.getRandomValues(Y),0)},TY=(Y)=>(TY=tV())(Y),SU={resolve:(...Y)=>{var K="",O=!1;for(var L=Y.length-1;L>=-1&&!O;L--){var Z=L>=0?Y[L]:I.cwd();if(typeof Z!="string")throw TypeError("Arguments to path.resolve must be strings");else if(!Z)return"";K=Z+"/"+K,O=G6.isAbs(Z)}return K=G6.normalizeArray(K.split("/").filter((V)=>!!V),!O).join("/"),(O?"/":"")+K||"."},relative:(Y,K)=>{Y=SU.resolve(Y).slice(1),K=SU.resolve(K).slice(1);function O(E){var t=0;for(;t<E.length;t++)if(E[t]!=="")break;var b=E.length-1;for(;b>=0;b--)if(E[b]!=="")break;if(t>b)return[];return E.slice(t,b-t+1)}var L=O(Y.split("/")),Z=O(K.split("/")),V=Math.min(L.length,Z.length),H=V;for(var P=0;P<V;P++)if(L[P]!==Z[P]){H=P;break}var B=[];for(var P=H;P<L.length;P++)B.push("..");return B=B.concat(Z.slice(H)),B.join("/")}},_Y=new TextDecoder,MY=(Y,K,O,L)=>{var Z=K+O;if(L)return Z;while(Y[K]&&!(K>=Z))++K;return K},u0=(Y,K=0,O,L)=>{var Z=MY(Y,K,O,L);return _Y.decode(Y.buffer?Y.subarray(K,Z):new Uint8Array(Y.slice(K,Z)))},MX=[],o2=(Y)=>{var K=0;for(var O=0;O<Y.length;++O){var L=Y.charCodeAt(O);if(L<=127)K++;else if(L<=2047)K+=2;else if(L>=55296&&L<=57343)K+=4,++O;else K+=3}return K},CY=(Y,K,O,L)=>{if(!(L>0))return 0;var Z=O,V=O+L-1;for(var H=0;H<Y.length;++H){var P=Y.codePointAt(H);if(P<=127){if(O>=V)break;K[O++]=P}else if(P<=2047){if(O+1>=V)break;K[O++]=192|P>>6,K[O++]=128|P&63}else if(P<=65535){if(O+2>=V)break;K[O++]=224|P>>12,K[O++]=128|P>>6&63,K[O++]=128|P&63}else{if(O+3>=V)break;K[O++]=240|P>>18,K[O++]=128|P>>12&63,K[O++]=128|P>>6&63,K[O++]=128|P&63,H++}}return K[O]=0,O-Z},CX=(Y,K,O)=>{var L=O>0?O:o2(Y)+1,Z=Array(L),V=CY(Y,Z,0,Z.length);if(K)Z.length=V;return Z},aV=()=>{if(!MX.length){var Y=null;if(globalThis.window?.prompt){if(Y=window.prompt("Input: "),Y!==null)Y+=`
525
- `}if(!Y)return null;MX=CX(Y,!0)}return MX.shift()},f1={ttys:[],init(){},shutdown(){},register(Y,K){f1.ttys[Y]={input:[],output:[],ops:K},I.registerDevice(Y,f1.stream_ops)},stream_ops:{open(Y){var K=f1.ttys[Y.node.rdev];if(!K)throw new I.ErrnoError(43);Y.tty=K,Y.seekable=!1},close(Y){Y.tty.ops.fsync(Y.tty)},fsync(Y){Y.tty.ops.fsync(Y.tty)},read(Y,K,O,L,Z){if(!Y.tty||!Y.tty.ops.get_char)throw new I.ErrnoError(60);var V=0;for(var H=0;H<L;H++){var P;try{P=Y.tty.ops.get_char(Y.tty)}catch(B){throw new I.ErrnoError(29)}if(P===void 0&&V===0)throw new I.ErrnoError(6);if(P===null||P===void 0)break;V++,K[O+H]=P}if(V)Y.node.atime=Date.now();return V},write(Y,K,O,L,Z){if(!Y.tty||!Y.tty.ops.put_char)throw new I.ErrnoError(60);try{for(var V=0;V<L;V++)Y.tty.ops.put_char(Y.tty,K[O+V])}catch(H){throw new I.ErrnoError(29)}if(L)Y.node.mtime=Y.node.ctime=Date.now();return V}},default_tty_ops:{get_char(Y){return aV()},put_char(Y,K){if(K===null||K===10)T(u0(Y.output)),Y.output=[];else if(K!=0)Y.output.push(K)},fsync(Y){if(Y.output?.length>0)T(u0(Y.output)),Y.output=[]},ioctl_tcgets(Y){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(Y,K,O){return 0},ioctl_tiocgwinsz(Y){return[24,80]}},default_tty1_ops:{put_char(Y,K){if(K===null||K===10)h(u0(Y.output)),Y.output=[];else if(K!=0)Y.output.push(K)},fsync(Y){if(Y.output?.length>0)h(u0(Y.output)),Y.output=[]}}},eV=(Y,K)=>vU.fill(0,Y,Y+K),FY=(Y,K)=>{return Math.ceil(Y/K)*K},EY=(Y)=>{Y=FY(Y,65536);var K=fY(65536,Y);if(K)eV(K,Y);return K},c$={ops_table:null,mount(Y){return c$.createNode(null,"/",16895,0)},createNode(Y,K,O,L){if(I.isBlkdev(O)||I.isFIFO(O))throw new I.ErrnoError(63);c$.ops_table||={dir:{node:{getattr:c$.node_ops.getattr,setattr:c$.node_ops.setattr,lookup:c$.node_ops.lookup,mknod:c$.node_ops.mknod,rename:c$.node_ops.rename,unlink:c$.node_ops.unlink,rmdir:c$.node_ops.rmdir,readdir:c$.node_ops.readdir,symlink:c$.node_ops.symlink},stream:{llseek:c$.stream_ops.llseek}},file:{node:{getattr:c$.node_ops.getattr,setattr:c$.node_ops.setattr},stream:{llseek:c$.stream_ops.llseek,read:c$.stream_ops.read,write:c$.stream_ops.write,mmap:c$.stream_ops.mmap,msync:c$.stream_ops.msync}},link:{node:{getattr:c$.node_ops.getattr,setattr:c$.node_ops.setattr,readlink:c$.node_ops.readlink},stream:{}},chrdev:{node:{getattr:c$.node_ops.getattr,setattr:c$.node_ops.setattr},stream:I.chrdev_stream_ops}};var Z=I.createNode(Y,K,O,L);if(I.isDir(Z.mode))Z.node_ops=c$.ops_table.dir.node,Z.stream_ops=c$.ops_table.dir.stream,Z.contents={};else if(I.isFile(Z.mode))Z.node_ops=c$.ops_table.file.node,Z.stream_ops=c$.ops_table.file.stream,Z.usedBytes=0,Z.contents=c$.emptyFileContents??=new Uint8Array(0);else if(I.isLink(Z.mode))Z.node_ops=c$.ops_table.link.node,Z.stream_ops=c$.ops_table.link.stream;else if(I.isChrdev(Z.mode))Z.node_ops=c$.ops_table.chrdev.node,Z.stream_ops=c$.ops_table.chrdev.stream;if(Z.atime=Z.mtime=Z.ctime=Date.now(),Y)Y.contents[K]=Z,Y.atime=Y.mtime=Y.ctime=Z.atime;return Z},getFileDataAsTypedArray(Y){return Y.contents.subarray(0,Y.usedBytes)},expandFileStorage(Y,K){var O=Y.contents.length;if(O>=K)return;if(K=Math.max(K,O*(O<1048576?2:1.125)>>>0),O)K=Math.max(K,256);var L=c$.getFileDataAsTypedArray(Y);Y.contents=new Uint8Array(K),Y.contents.set(L)},resizeFileStorage(Y,K){if(Y.usedBytes==K)return;var O=Y.contents;Y.contents=new Uint8Array(K),Y.contents.set(O.subarray(0,Math.min(K,Y.usedBytes))),Y.usedBytes=K},node_ops:{getattr(Y){var K={};if(K.dev=I.isChrdev(Y.mode)?Y.id:1,K.ino=Y.id,K.mode=Y.mode,K.nlink=1,K.uid=0,K.gid=0,K.rdev=Y.rdev,I.isDir(Y.mode))K.size=4096;else if(I.isFile(Y.mode))K.size=Y.usedBytes;else if(I.isLink(Y.mode))K.size=Y.link.length;else K.size=0;return K.atime=new Date(Y.atime),K.mtime=new Date(Y.mtime),K.ctime=new Date(Y.ctime),K.blksize=4096,K.blocks=Math.ceil(K.size/K.blksize),K},setattr(Y,K){for(let O of["mode","atime","mtime","ctime"])if(K[O]!=null)Y[O]=K[O];if(K.size!==void 0)c$.resizeFileStorage(Y,K.size)},lookup(Y,K){if(!c$.doesNotExistError)c$.doesNotExistError=new I.ErrnoError(44),c$.doesNotExistError.stack="<generic error, no stack>";throw c$.doesNotExistError},mknod(Y,K,O,L){return c$.createNode(Y,K,O,L)},rename(Y,K,O){var L;try{L=I.lookupNode(K,O)}catch(V){}if(L){if(I.isDir(Y.mode))for(var Z in L.contents)throw new I.ErrnoError(55);I.hashRemoveNode(L)}delete Y.parent.contents[Y.name],K.contents[O]=Y,Y.name=O,K.ctime=K.mtime=Y.parent.ctime=Y.parent.mtime=Date.now()},unlink(Y,K){delete Y.contents[K],Y.ctime=Y.mtime=Date.now()},rmdir(Y,K){for(var O in I.lookupNode(Y,K).contents)throw new I.ErrnoError(55);delete Y.contents[K],Y.ctime=Y.mtime=Date.now()},readdir(Y){return[".","..",...Object.keys(Y.contents)]},symlink(Y,K,O){var L=c$.createNode(Y,K,41471,0);return L.link=O,L},readlink(Y){if(!I.isLink(Y.mode))throw new I.ErrnoError(28);return Y.link}},stream_ops:{read(Y,K,O,L,Z){var V=Y.node.contents;if(Z>=Y.node.usedBytes)return 0;var H=Math.min(Y.node.usedBytes-Z,L);return K.set(V.subarray(Z,Z+H),O),H},write(Y,K,O,L,Z,V){if(K.buffer===Q1.buffer)V=!1;if(!L)return 0;var H=Y.node;if(H.mtime=H.ctime=Date.now(),V)H.contents=K.subarray(O,O+L),H.usedBytes=L;else if(H.usedBytes===0&&Z===0)H.contents=K.slice(O,O+L),H.usedBytes=L;else c$.expandFileStorage(H,Z+L),H.contents.set(K.subarray(O,O+L),Z),H.usedBytes=Math.max(H.usedBytes,Z+L);return L},llseek(Y,K,O){var L=K;if(O===1)L+=Y.position;else if(O===2){if(I.isFile(Y.node.mode))L+=Y.node.usedBytes}if(L<0)throw new I.ErrnoError(28);return L},mmap(Y,K,O,L,Z){if(!I.isFile(Y.node.mode))throw new I.ErrnoError(43);var V,H,P=Y.node.contents;if(!(Z&2)&&P.buffer===Q1.buffer)H=!1,V=P.byteOffset;else{if(H=!0,V=EY(K),!V)throw new I.ErrnoError(48);if(P){if(O>0||O+K<P.length)if(P.subarray)P=P.subarray(O,O+K);else P=Array.prototype.slice.call(P,O,O+K);Q1.set(P,V)}}return{ptr:V,allocated:H}},msync(Y,K,O,L,Z){return c$.stream_ops.write(Y,K,0,L,O,!1),0}}},sV=(Y)=>{if(typeof Y!="string")return Y;var K={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[Y];if(typeof K>"u")throw Error(`Unknown file open mode: ${Y}`);return K},SY=(Y)=>{if(typeof Y=="string")Y=CX(Y,!0);if(!Y.subarray)Y=new Uint8Array(Y);return Y},FX=(Y,K)=>{var O=0;if(Y)O|=365;if(K)O|=146;return O},$D=async(Y)=>{var K=await D(Y);return new Uint8Array(K)},UD=(...Y)=>I.createDataFile(...Y),JD=(Y)=>{return Y},XU=0,g0=null,vD=(Y)=>{if(XU--,X.monitorRunDependencies?.(XU),XU==0){if(g0){var K=g0;g0=null,K()}}},XD=(Y)=>{XU++,X.monitorRunDependencies?.(XU)},xY=[],QD=async(Y,K)=>{if(typeof Browser<"u")Browser.init();for(var O of xY)if(O.canHandle(K))return O.handle(Y,K);return Y},wY=async(Y,K,O,L,Z,V,H,P)=>{var B=K?SU.resolve(G6.join2(Y,K)):Y,E=JD(`cp ${B}`);XD(E);try{var t=O;if(typeof O=="string")t=await $D(O);if(t=await QD(t,B),P?.(),!V)UD(Y,K,t,L,Z,H)}finally{vD(E)}},jD=(Y,K,O,L,Z,V,H,P,B,E)=>{wY(Y,K,O,L,Z,P,B,E).then(V).catch(H)},I={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(Y){this.errno=Y}},FSStream:class{shared={};get object(){return this.node}set object(Y){this.node=Y}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(Y){this.shared.flags=Y}get position(){return this.shared.position}set position(Y){this.shared.position=Y}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(Y,K,O,L){if(!Y)Y=this;this.parent=Y,this.mount=Y.mount,this.id=I.nextInode++,this.name=K,this.mode=O,this.rdev=L,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(Y){Y?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(Y){Y?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return I.isDir(this.mode)}get isDevice(){return I.isChrdev(this.mode)}},lookupPath(Y,K={}){if(!Y)throw new I.ErrnoError(44);if(K.follow_mount??=!0,!G6.isAbs(Y))Y=I.cwd()+"/"+Y;$:for(var O=0;O<40;O++){var L=Y.split("/").filter((E)=>!!E),Z=I.root,V="/";for(var H=0;H<L.length;H++){var P=H===L.length-1;if(P&&K.parent)break;if(L[H]===".")continue;if(L[H]===".."){if(V=G6.dirname(V),I.isRoot(Z)){Y=V+"/"+L.slice(H+1).join("/"),O--;continue $}else Z=Z.parent;continue}V=G6.join2(V,L[H]);try{Z=I.lookupNode(Z,L[H])}catch(E){if(E?.errno===44&&P&&K.noent_okay)return{path:V};throw E}if(I.isMountpoint(Z)&&(!P||K.follow_mount))Z=Z.mounted.root;if(I.isLink(Z.mode)&&(!P||K.follow)){if(!Z.node_ops.readlink)throw new I.ErrnoError(52);var B=Z.node_ops.readlink(Z);if(!G6.isAbs(B))B=G6.dirname(V)+"/"+B;Y=B+"/"+L.slice(H+1).join("/");continue $}}return{path:V,node:Z}}throw new I.ErrnoError(32)},getPath(Y){var K;while(!0){if(I.isRoot(Y)){var O=Y.mount.mountpoint;if(!K)return O;return O[O.length-1]!=="/"?`${O}/${K}`:O+K}K=K?`${Y.name}/${K}`:Y.name,Y=Y.parent}},hashName(Y,K){var O=0;for(var L=0;L<K.length;L++)O=(O<<5)-O+K.charCodeAt(L)|0;return(Y+O>>>0)%I.nameTable.length},hashAddNode(Y){var K=I.hashName(Y.parent.id,Y.name);Y.name_next=I.nameTable[K],I.nameTable[K]=Y},hashRemoveNode(Y){var K=I.hashName(Y.parent.id,Y.name);if(I.nameTable[K]===Y)I.nameTable[K]=Y.name_next;else{var O=I.nameTable[K];while(O){if(O.name_next===Y){O.name_next=Y.name_next;break}O=O.name_next}}},lookupNode(Y,K){var O=I.mayLookup(Y);if(O)throw new I.ErrnoError(O);var L=I.hashName(Y.id,K);for(var Z=I.nameTable[L];Z;Z=Z.name_next){var V=Z.name;if(Z.parent.id===Y.id&&V===K)return Z}return I.lookup(Y,K)},createNode(Y,K,O,L){var Z=new I.FSNode(Y,K,O,L);return I.hashAddNode(Z),Z},destroyNode(Y){I.hashRemoveNode(Y)},isRoot(Y){return Y===Y.parent},isMountpoint(Y){return!!Y.mounted},isFile(Y){return(Y&61440)===32768},isDir(Y){return(Y&61440)===16384},isLink(Y){return(Y&61440)===40960},isChrdev(Y){return(Y&61440)===8192},isBlkdev(Y){return(Y&61440)===24576},isFIFO(Y){return(Y&61440)===4096},isSocket(Y){return(Y&49152)===49152},flagsToPermissionString(Y){var K=["r","w","rw"][Y&3];if(Y&512)K+="w";return K},nodePermissions(Y,K){if(I.ignorePermissions)return 0;if(K.includes("r")&&!(Y.mode&292))return 2;if(K.includes("w")&&!(Y.mode&146))return 2;if(K.includes("x")&&!(Y.mode&73))return 2;return 0},mayLookup(Y){if(!I.isDir(Y.mode))return 54;var K=I.nodePermissions(Y,"x");if(K)return K;if(!Y.node_ops.lookup)return 2;return 0},mayCreate(Y,K){if(!I.isDir(Y.mode))return 54;try{return I.lookupNode(Y,K),20}catch(O){}return I.nodePermissions(Y,"wx")},mayDelete(Y,K,O){var L;try{L=I.lookupNode(Y,K)}catch(V){return V.errno}var Z=I.nodePermissions(Y,"wx");if(Z)return Z;if(O){if(!I.isDir(L.mode))return 54;if(I.isRoot(L)||I.getPath(L)===I.cwd())return 10}else if(I.isDir(L.mode))return 31;return 0},mayOpen(Y,K){if(!Y)return 44;if(I.isLink(Y.mode))return 32;var O=I.flagsToPermissionString(K);if(I.isDir(Y.mode)){if(O!=="r"||K&576)return 31}return I.nodePermissions(Y,O)},checkOpExists(Y,K){if(!Y)throw new I.ErrnoError(K);return Y},MAX_OPEN_FDS:4096,nextfd(){for(var Y=0;Y<=I.MAX_OPEN_FDS;Y++)if(!I.streams[Y])return Y;throw new I.ErrnoError(33)},getStreamChecked(Y){var K=I.getStream(Y);if(!K)throw new I.ErrnoError(8);return K},getStream:(Y)=>I.streams[Y],createStream(Y,K=-1){if(Y=Object.assign(new I.FSStream,Y),K==-1)K=I.nextfd();return Y.fd=K,I.streams[K]=Y,Y},closeStream(Y){I.streams[Y]=null},dupStream(Y,K=-1){var O=I.createStream(Y,K);return O.stream_ops?.dup?.(O),O},doSetAttr(Y,K,O){var L=Y?.stream_ops.setattr,Z=L?Y:K;L??=K.node_ops.setattr,I.checkOpExists(L,63),L(Z,O)},chrdev_stream_ops:{open(Y){Y.stream_ops=I.getDevice(Y.node.rdev).stream_ops,Y.stream_ops.open?.(Y)},llseek(){throw new I.ErrnoError(70)}},major:(Y)=>Y>>8,minor:(Y)=>Y&255,makedev:(Y,K)=>Y<<8|K,registerDevice(Y,K){I.devices[Y]={stream_ops:K}},getDevice:(Y)=>I.devices[Y],getMounts(Y){var K=[],O=[Y];while(O.length){var L=O.pop();K.push(L),O.push(...L.mounts)}return K},syncfs(Y,K){if(typeof Y=="function")K=Y,Y=!1;if(I.syncFSRequests++,I.syncFSRequests>1)h(`warning: ${I.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var O=I.getMounts(I.root.mount),L=0;function Z(P){return I.syncFSRequests--,K(P)}function V(P){if(P){if(!V.errored)return V.errored=!0,Z(P);return}if(++L>=O.length)Z(null)}for(var H of O)if(H.type.syncfs)H.type.syncfs(H,Y,V);else V(null)},mount(Y,K,O){var L=O==="/",Z=!O,V;if(L&&I.root)throw new I.ErrnoError(10);else if(!L&&!Z){var H=I.lookupPath(O,{follow_mount:!1});if(O=H.path,V=H.node,I.isMountpoint(V))throw new I.ErrnoError(10);if(!I.isDir(V.mode))throw new I.ErrnoError(54)}var P={type:Y,opts:K,mountpoint:O,mounts:[]},B=Y.mount(P);if(B.mount=P,P.root=B,L)I.root=B;else if(V){if(V.mounted=P,V.mount)V.mount.mounts.push(P)}return B},unmount(Y){var K=I.lookupPath(Y,{follow_mount:!1});if(!I.isMountpoint(K.node))throw new I.ErrnoError(28);var O=K.node,L=O.mounted,Z=I.getMounts(L);for(var[V,H]of Object.entries(I.nameTable))while(H){var P=H.name_next;if(Z.includes(H.mount))I.destroyNode(H);H=P}O.mounted=null;var B=O.mount.mounts.indexOf(L);O.mount.mounts.splice(B,1)},lookup(Y,K){return Y.node_ops.lookup(Y,K)},mknod(Y,K,O){var L=I.lookupPath(Y,{parent:!0}).node,Z=G6.basename(Y);if(!Z)throw new I.ErrnoError(28);if(Z==="."||Z==="..")throw new I.ErrnoError(20);var V=I.mayCreate(L,Z);if(V)throw new I.ErrnoError(V);if(!L.node_ops.mknod)throw new I.ErrnoError(63);return L.node_ops.mknod(L,Z,K,O)},statfs(Y){return I.statfsNode(I.lookupPath(Y,{follow:!0}).node)},statfsStream(Y){return I.statfsNode(Y.node)},statfsNode(Y){var K={bsize:4096,frsize:4096,blocks:1e6,bfree:500000,bavail:500000,files:I.nextInode,ffree:I.nextInode-1,fsid:42,flags:2,namelen:255};if(Y.node_ops.statfs)Object.assign(K,Y.node_ops.statfs(Y.mount.opts.root));return K},create(Y,K=438){return K&=4095,K|=32768,I.mknod(Y,K,0)},mkdir(Y,K=511){return K&=1023,K|=16384,I.mknod(Y,K,0)},mkdirTree(Y,K){var O=Y.split("/"),L="";for(var Z of O){if(!Z)continue;if(L||G6.isAbs(Y))L+="/";L+=Z;try{I.mkdir(L,K)}catch(V){if(V.errno!=20)throw V}}},mkdev(Y,K,O){if(typeof O>"u")O=K,K=438;return K|=8192,I.mknod(Y,K,O)},symlink(Y,K){if(!SU.resolve(Y))throw new I.ErrnoError(44);var O=I.lookupPath(K,{parent:!0}).node;if(!O)throw new I.ErrnoError(44);var L=G6.basename(K),Z=I.mayCreate(O,L);if(Z)throw new I.ErrnoError(Z);if(!O.node_ops.symlink)throw new I.ErrnoError(63);return O.node_ops.symlink(O,L,Y)},rename(Y,K){var O=G6.dirname(Y),L=G6.dirname(K),Z=G6.basename(Y),V=G6.basename(K),H=I.lookupPath(Y,{parent:!0}),P=H.node,B;if(H=I.lookupPath(K,{parent:!0}),B=H.node,!P||!B)throw new I.ErrnoError(44);if(P.mount!==B.mount)throw new I.ErrnoError(75);var E=I.lookupNode(P,Z),t=SU.relative(Y,L);if(t.charAt(0)!==".")throw new I.ErrnoError(28);if(t=SU.relative(K,O),t.charAt(0)!==".")throw new I.ErrnoError(55);var b;try{b=I.lookupNode(B,V)}catch(i){}if(E===b)return;var w=I.isDir(E.mode),u=I.mayDelete(P,Z,w);if(u)throw new I.ErrnoError(u);if(u=b?I.mayDelete(B,V,w):I.mayCreate(B,V),u)throw new I.ErrnoError(u);if(!P.node_ops.rename)throw new I.ErrnoError(63);if(I.isMountpoint(E)||b&&I.isMountpoint(b))throw new I.ErrnoError(10);if(B!==P){if(u=I.nodePermissions(P,"w"),u)throw new I.ErrnoError(u)}I.hashRemoveNode(E);try{P.node_ops.rename(E,B,V),E.parent=B}catch(i){throw i}finally{I.hashAddNode(E)}},rmdir(Y){var K=I.lookupPath(Y,{parent:!0}).node,O=G6.basename(Y),L=I.lookupNode(K,O),Z=I.mayDelete(K,O,!0);if(Z)throw new I.ErrnoError(Z);if(!K.node_ops.rmdir)throw new I.ErrnoError(63);if(I.isMountpoint(L))throw new I.ErrnoError(10);K.node_ops.rmdir(K,O),I.destroyNode(L)},readdir(Y){var K=I.lookupPath(Y,{follow:!0}).node;return I.checkOpExists(K.node_ops.readdir,54)(K)},unlink(Y){var K=I.lookupPath(Y,{parent:!0}).node;if(!K)throw new I.ErrnoError(44);var O=G6.basename(Y),L=I.lookupNode(K,O),Z=I.mayDelete(K,O,!1);if(Z)throw new I.ErrnoError(Z);if(!K.node_ops.unlink)throw new I.ErrnoError(63);if(I.isMountpoint(L))throw new I.ErrnoError(10);K.node_ops.unlink(K,O),I.destroyNode(L)},readlink(Y){var K=I.lookupPath(Y).node;if(!K)throw new I.ErrnoError(44);if(!K.node_ops.readlink)throw new I.ErrnoError(28);return K.node_ops.readlink(K)},stat(Y,K){var O=I.lookupPath(Y,{follow:!K}).node;return I.checkOpExists(O.node_ops.getattr,63)(O)},fstat(Y){var K=I.getStreamChecked(Y),O=K.node,L=K.stream_ops.getattr,Z=L?K:O;return L??=O.node_ops.getattr,I.checkOpExists(L,63),L(Z)},lstat(Y){return I.stat(Y,!0)},doChmod(Y,K,O,L){I.doSetAttr(Y,K,{mode:O&4095|K.mode&-4096,ctime:Date.now(),dontFollow:L})},chmod(Y,K,O){var L;if(typeof Y=="string")L=I.lookupPath(Y,{follow:!O}).node;else L=Y;I.doChmod(null,L,K,O)},lchmod(Y,K){I.chmod(Y,K,!0)},fchmod(Y,K){var O=I.getStreamChecked(Y);I.doChmod(O,O.node,K,!1)},doChown(Y,K,O){I.doSetAttr(Y,K,{timestamp:Date.now(),dontFollow:O})},chown(Y,K,O,L){var Z;if(typeof Y=="string")Z=I.lookupPath(Y,{follow:!L}).node;else Z=Y;I.doChown(null,Z,L)},lchown(Y,K,O){I.chown(Y,K,O,!0)},fchown(Y,K,O){var L=I.getStreamChecked(Y);I.doChown(L,L.node,!1)},doTruncate(Y,K,O){if(I.isDir(K.mode))throw new I.ErrnoError(31);if(!I.isFile(K.mode))throw new I.ErrnoError(28);var L=I.nodePermissions(K,"w");if(L)throw new I.ErrnoError(L);I.doSetAttr(Y,K,{size:O,timestamp:Date.now()})},truncate(Y,K){if(K<0)throw new I.ErrnoError(28);var O;if(typeof Y=="string")O=I.lookupPath(Y,{follow:!0}).node;else O=Y;I.doTruncate(null,O,K)},ftruncate(Y,K){var O=I.getStreamChecked(Y);if(K<0||(O.flags&2097155)===0)throw new I.ErrnoError(28);I.doTruncate(O,O.node,K)},utime(Y,K,O){var L=I.lookupPath(Y,{follow:!0}).node;I.checkOpExists(L.node_ops.setattr,63)(L,{atime:K,mtime:O})},open(Y,K,O=438){if(Y==="")throw new I.ErrnoError(44);if(K=sV(K),K&64)O=O&4095|32768;else O=0;var L,Z;if(typeof Y=="object")L=Y;else{Z=Y.endsWith("/");var V=I.lookupPath(Y,{follow:!(K&131072),noent_okay:!0});L=V.node,Y=V.path}var H=!1;if(K&64)if(L){if(K&128)throw new I.ErrnoError(20)}else if(Z)throw new I.ErrnoError(31);else L=I.mknod(Y,O|511,0),H=!0;if(!L)throw new I.ErrnoError(44);if(I.isChrdev(L.mode))K&=-513;if(K&65536&&!I.isDir(L.mode))throw new I.ErrnoError(54);if(!H){var P=I.mayOpen(L,K);if(P)throw new I.ErrnoError(P)}if(K&512&&!H)I.truncate(L,0);K&=-131713;var B=I.createStream({node:L,path:I.getPath(L),flags:K,seekable:!0,position:0,stream_ops:L.stream_ops,ungotten:[],error:!1});if(B.stream_ops.open)B.stream_ops.open(B);if(H)I.chmod(L,O&511);return B},close(Y){if(I.isClosed(Y))throw new I.ErrnoError(8);if(Y.getdents)Y.getdents=null;try{if(Y.stream_ops.close)Y.stream_ops.close(Y)}catch(K){throw K}finally{I.closeStream(Y.fd)}Y.fd=null},isClosed(Y){return Y.fd===null},llseek(Y,K,O){if(I.isClosed(Y))throw new I.ErrnoError(8);if(!Y.seekable||!Y.stream_ops.llseek)throw new I.ErrnoError(70);if(O!=0&&O!=1&&O!=2)throw new I.ErrnoError(28);return Y.position=Y.stream_ops.llseek(Y,K,O),Y.ungotten=[],Y.position},read(Y,K,O,L,Z){if(L<0||Z<0)throw new I.ErrnoError(28);if(I.isClosed(Y))throw new I.ErrnoError(8);if((Y.flags&2097155)===1)throw new I.ErrnoError(8);if(I.isDir(Y.node.mode))throw new I.ErrnoError(31);if(!Y.stream_ops.read)throw new I.ErrnoError(28);var V=typeof Z<"u";if(!V)Z=Y.position;else if(!Y.seekable)throw new I.ErrnoError(70);var H=Y.stream_ops.read(Y,K,O,L,Z);if(!V)Y.position+=H;return H},write(Y,K,O,L,Z,V){if(L<0||Z<0)throw new I.ErrnoError(28);if(I.isClosed(Y))throw new I.ErrnoError(8);if((Y.flags&2097155)===0)throw new I.ErrnoError(8);if(I.isDir(Y.node.mode))throw new I.ErrnoError(31);if(!Y.stream_ops.write)throw new I.ErrnoError(28);if(Y.seekable&&Y.flags&1024)I.llseek(Y,0,2);var H=typeof Z<"u";if(!H)Z=Y.position;else if(!Y.seekable)throw new I.ErrnoError(70);var P=Y.stream_ops.write(Y,K,O,L,Z,V);if(!H)Y.position+=P;return P},mmap(Y,K,O,L,Z){if((L&2)!==0&&(Z&2)===0&&(Y.flags&2097155)!==2)throw new I.ErrnoError(2);if((Y.flags&2097155)===1)throw new I.ErrnoError(2);if(!Y.stream_ops.mmap)throw new I.ErrnoError(43);if(!K)throw new I.ErrnoError(28);return Y.stream_ops.mmap(Y,K,O,L,Z)},msync(Y,K,O,L,Z){if(!Y.stream_ops.msync)return 0;return Y.stream_ops.msync(Y,K,O,L,Z)},ioctl(Y,K,O){if(!Y.stream_ops.ioctl)throw new I.ErrnoError(59);return Y.stream_ops.ioctl(Y,K,O)},readFile(Y,K={}){if(K.flags=K.flags||0,K.encoding=K.encoding||"binary",K.encoding!=="utf8"&&K.encoding!=="binary")_6(`Invalid encoding type "${K.encoding}"`);var O=I.open(Y,K.flags),L=I.stat(Y).size,Z=new Uint8Array(L);if(I.read(O,Z,0,L,0),K.encoding==="utf8")Z=u0(Z);return I.close(O),Z},writeFile(Y,K,O={}){O.flags=O.flags||577;var L=I.open(Y,O.flags,O.mode);K=SY(K),I.write(L,K,0,K.byteLength,void 0,O.canOwn),I.close(L)},cwd:()=>I.currentPath,chdir(Y){var K=I.lookupPath(Y,{follow:!0});if(K.node===null)throw new I.ErrnoError(44);if(!I.isDir(K.node.mode))throw new I.ErrnoError(54);var O=I.nodePermissions(K.node,"x");if(O)throw new I.ErrnoError(O);I.currentPath=K.path},createDefaultDirectories(){I.mkdir("/tmp"),I.mkdir("/home"),I.mkdir("/home/web_user")},createDefaultDevices(){I.mkdir("/dev"),I.registerDevice(I.makedev(1,3),{read:()=>0,write:(L,Z,V,H,P)=>H,llseek:()=>0}),I.mkdev("/dev/null",I.makedev(1,3)),f1.register(I.makedev(5,0),f1.default_tty_ops),f1.register(I.makedev(6,0),f1.default_tty1_ops),I.mkdev("/dev/tty",I.makedev(5,0)),I.mkdev("/dev/tty1",I.makedev(6,0));var Y=new Uint8Array(1024),K=0,O=()=>{if(K===0)TY(Y),K=Y.byteLength;return Y[--K]};I.createDevice("/dev","random",O),I.createDevice("/dev","urandom",O),I.mkdir("/dev/shm"),I.mkdir("/dev/shm/tmp")},createSpecialDirectories(){I.mkdir("/proc");var Y=I.mkdir("/proc/self");I.mkdir("/proc/self/fd"),I.mount({mount(){var K=I.createNode(Y,"fd",16895,73);return K.stream_ops={llseek:c$.stream_ops.llseek},K.node_ops={lookup(O,L){var Z=+L,V=I.getStreamChecked(Z),H={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>V.path},id:Z+1};return H.parent=H,H},readdir(){return Array.from(I.streams.entries()).filter(([O,L])=>L).map(([O,L])=>O.toString())}},K}},{},"/proc/self/fd")},createStandardStreams(Y,K,O){if(Y)I.createDevice("/dev","stdin",Y);else I.symlink("/dev/tty","/dev/stdin");if(K)I.createDevice("/dev","stdout",null,K);else I.symlink("/dev/tty","/dev/stdout");if(O)I.createDevice("/dev","stderr",null,O);else I.symlink("/dev/tty1","/dev/stderr");I.open("/dev/stdin",0),I.open("/dev/stdout",1),I.open("/dev/stderr",1)},staticInit(){I.nameTable=Array(4096),I.mount(c$,{},"/"),I.createDefaultDirectories(),I.createDefaultDevices(),I.createSpecialDirectories(),I.filesystems={MEMFS:c$}},init(Y,K,O){I.initialized=!0,Y??=X.stdin,K??=X.stdout,O??=X.stderr,I.createStandardStreams(Y,K,O)},quit(){I.initialized=!1;for(var Y of I.streams)if(Y)I.close(Y)},findObject(Y,K){var O=I.analyzePath(Y,K);if(!O.exists)return null;return O.object},analyzePath(Y,K){try{var O=I.lookupPath(Y,{follow:!K});Y=O.path}catch(Z){}var L={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var O=I.lookupPath(Y,{parent:!0});L.parentExists=!0,L.parentPath=O.path,L.parentObject=O.node,L.name=G6.basename(Y),O=I.lookupPath(Y,{follow:!K}),L.exists=!0,L.path=O.path,L.object=O.node,L.name=O.node.name,L.isRoot=O.path==="/"}catch(Z){L.error=Z.errno}return L},createPath(Y,K,O,L){Y=typeof Y=="string"?Y:I.getPath(Y);var Z=K.split("/").reverse();while(Z.length){var V=Z.pop();if(!V)continue;var H=G6.join2(Y,V);try{I.mkdir(H)}catch(P){if(P.errno!=20)throw P}Y=H}return H},createFile(Y,K,O,L,Z){var V=G6.join2(typeof Y=="string"?Y:I.getPath(Y),K),H=FX(L,Z);return I.create(V,H)},createDataFile(Y,K,O,L,Z,V){var H=K;if(Y)Y=typeof Y=="string"?Y:I.getPath(Y),H=K?G6.join2(Y,K):Y;var P=FX(L,Z),B=I.create(H,P);if(O){O=SY(O),I.chmod(B,P|146);var E=I.open(B,577);I.write(E,O,0,O.length,0,V),I.close(E),I.chmod(B,P)}},createDevice(Y,K,O,L){var Z=G6.join2(typeof Y=="string"?Y:I.getPath(Y),K),V=FX(!!O,!!L);I.createDevice.major??=64;var H=I.makedev(I.createDevice.major++,0);return I.registerDevice(H,{open(P){P.seekable=!1},close(P){if(L?.buffer?.length)L(10)},read(P,B,E,t,b){var w=0;for(var u=0;u<t;u++){var i;try{i=O()}catch(d){throw new I.ErrnoError(29)}if(i===void 0&&w===0)throw new I.ErrnoError(6);if(i===null||i===void 0)break;w++,B[E+u]=i}if(w)P.node.atime=Date.now();return w},write(P,B,E,t,b){for(var w=0;w<t;w++)try{L(B[E+w])}catch(u){throw new I.ErrnoError(29)}if(t)P.node.mtime=P.node.ctime=Date.now();return w}}),I.mkdev(Z,V,H)},forceLoadFile(Y){if(Y.isDevice||Y.isFolder||Y.link||Y.contents)return!0;if(globalThis.XMLHttpRequest)_6("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{Y.contents=A(Y.url)}catch(K){throw new I.ErrnoError(29)}},createLazyFile(Y,K,O,L,Z){class V{lengthKnown=!1;chunks=[];get(t){if(t>this.length-1||t<0)return;var b=t%this.chunkSize,w=t/this.chunkSize|0;return this.getter(w)[b]}setDataGetter(t){this.getter=t}cacheLength(){var t=new XMLHttpRequest;if(t.open("HEAD",O,!1),t.send(null),!(t.status>=200&&t.status<300||t.status===304))_6("Couldn't load "+O+". Status: "+t.status);var b=Number(t.getResponseHeader("Content-length")),w,u=(w=t.getResponseHeader("Accept-Ranges"))&&w==="bytes",i=(w=t.getResponseHeader("Content-Encoding"))&&w==="gzip",d=1048576;if(!u)d=b;var Z$=(M,e)=>{if(M>e)_6("invalid range ("+M+", "+e+") or no bytes requested!");if(e>b-1)_6("only "+b+" bytes available! programmer error!");var U$=new XMLHttpRequest;if(U$.open("GET",O,!1),b!==d)U$.setRequestHeader("Range","bytes="+M+"-"+e);if(U$.responseType="arraybuffer",U$.overrideMimeType)U$.overrideMimeType("text/plain; charset=x-user-defined");if(U$.send(null),!(U$.status>=200&&U$.status<300||U$.status===304))_6("Couldn't load "+O+". Status: "+U$.status);if(U$.response!==void 0)return new Uint8Array(U$.response||[]);return CX(U$.responseText||"",!0)},F=this;if(F.setDataGetter((M)=>{var e=M*d,U$=(M+1)*d-1;if(U$=Math.min(U$,b-1),typeof F.chunks[M]>"u")F.chunks[M]=Z$(e,U$);if(typeof F.chunks[M]>"u")_6("doXHR failed!");return F.chunks[M]}),i||!b)d=b=1,b=this.getter(0).length,d=b,T("LazyFiles on gzip forces download of the whole file when length is accessed");this._length=b,this._chunkSize=d,this.lengthKnown=!0}get length(){if(!this.lengthKnown)this.cacheLength();return this._length}get chunkSize(){if(!this.lengthKnown)this.cacheLength();return this._chunkSize}}if(globalThis.XMLHttpRequest){if(!J)_6("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var H={isDevice:!1,contents:new V}}else var H={isDevice:!1,url:O};var P=I.createFile(Y,K,H,L,Z);if(H.contents)P.contents=H.contents;else if(H.url)P.contents=null,P.url=H.url;Object.defineProperties(P,{usedBytes:{get:function(){return this.contents.length}}});var B={};for(let[t,b]of Object.entries(P.stream_ops))B[t]=(...w)=>{return I.forceLoadFile(P),b(...w)};function E(t,b,w,u,i){var d=t.node.contents;if(i>=d.length)return 0;var Z$=Math.min(d.length-i,u);if(d.slice)for(var F=0;F<Z$;F++)b[w+F]=d[i+F];else for(var F=0;F<Z$;F++)b[w+F]=d.get(i+F);return Z$}return B.read=(t,b,w,u,i)=>{return I.forceLoadFile(P),E(t,b,w,u,i)},B.mmap=(t,b,w,u,i)=>{I.forceLoadFile(P);var d=EY(b);if(!d)throw new I.ErrnoError(48);return E(t,Q1,d,b,w),{ptr:d,allocated:!0}},P.stream_ops=B,P}},GD=(Y,K,O)=>{if(!Y)return"";var L=MY(vU,Y,K,O);return _Y.decode(vU.subarray(Y,L))},t$={calculateAt(Y,K,O){if(G6.isAbs(K))return K;var L;if(Y===-100)L=I.cwd();else L=t$.getStreamFromFD(Y).path;if(K.length==0){if(!O)throw new I.ErrnoError(44);return L}return L+"/"+K},writeStat(Y,K){K6[Y>>2]=K.dev,K6[Y+4>>2]=K.mode,K6[Y+8>>2]=K.nlink,K6[Y+12>>2]=K.uid,K6[Y+16>>2]=K.gid,K6[Y+20>>2]=K.rdev,u6[Y+24>>3]=BigInt(K.size),j6[Y+32>>2]=4096,j6[Y+36>>2]=K.blocks;var O=K.atime.getTime(),L=K.mtime.getTime(),Z=K.ctime.getTime();return u6[Y+40>>3]=BigInt(Math.floor(O/1000)),K6[Y+48>>2]=O%1000*1000*1000,u6[Y+56>>3]=BigInt(Math.floor(L/1000)),K6[Y+64>>2]=L%1000*1000*1000,u6[Y+72>>3]=BigInt(Math.floor(Z/1000)),K6[Y+80>>2]=Z%1000*1000*1000,u6[Y+88>>3]=BigInt(K.ino),0},writeStatFs(Y,K){K6[Y+4>>2]=K.bsize,K6[Y+60>>2]=K.bsize,u6[Y+8>>3]=BigInt(K.blocks),u6[Y+16>>3]=BigInt(K.bfree),u6[Y+24>>3]=BigInt(K.bavail),u6[Y+32>>3]=BigInt(K.files),u6[Y+40>>3]=BigInt(K.ffree),K6[Y+48>>2]=K.fsid,K6[Y+64>>2]=K.flags,K6[Y+56>>2]=K.namelen},doMsync(Y,K,O,L,Z){if(!I.isFile(K.node.mode))throw new I.ErrnoError(43);if(L&2)return 0;var V=vU.slice(Y,Y+O);I.msync(K,V,Z,O,L)},getStreamFromFD(Y){return I.getStreamChecked(Y)},varargs:void 0,getStr(Y){return GD(Y)}};function YD(Y,K){try{return Y=t$.getStr(Y),I.chmod(Y,K),0}catch(O){if(typeof I>"u"||O.name!=="ErrnoError")throw O;return-O.errno}}function WD(Y,K,O,L){try{if(K=t$.getStr(K),K=t$.calculateAt(Y,K),O&-8)return-28;var Z=I.lookupPath(K,{follow:!0}).node;if(!Z)return-44;var V="";if(O&4)V+="r";if(O&2)V+="w";if(O&1)V+="x";if(V&&I.nodePermissions(Z,V))return-2;return 0}catch(H){if(typeof I>"u"||H.name!=="ErrnoError")throw H;return-H.errno}}function ZD(Y,K){try{return I.fchmod(Y,K),0}catch(O){if(typeof I>"u"||O.name!=="ErrnoError")throw O;return-O.errno}}function KD(Y,K,O){try{return I.fchown(Y,K,O),0}catch(L){if(typeof I>"u"||L.name!=="ErrnoError")throw L;return-L.errno}}var d2=()=>{var Y=j6[+t$.varargs>>2];return t$.varargs+=4,Y},xU=d2;function zD(Y,K,O){t$.varargs=O;try{var L=t$.getStreamFromFD(Y);switch(K){case 0:var Z=d2();if(Z<0)return-28;while(I.streams[Z])Z++;return I.dupStream(L,Z).fd;case 1:case 2:return 0;case 3:return L.flags;case 4:var Z=d2();return L.flags|=Z,0;case 12:var Z=xU(),V=0;return w0[Z+V>>1]=2,0;case 13:case 14:return 0}return-28}catch(H){if(typeof I>"u"||H.name!=="ErrnoError")throw H;return-H.errno}}function VD(Y,K){try{return t$.writeStat(K,I.fstat(Y))}catch(O){if(typeof I>"u"||O.name!=="ErrnoError")throw O;return-O.errno}}var DD=9007199254740992,LD=-9007199254740992,wU=(Y)=>Y<LD||Y>DD?NaN:Number(Y);function HD(Y,K){K=wU(K);try{if(isNaN(K))return-61;return I.ftruncate(Y,K),0}catch(O){if(typeof I>"u"||O.name!=="ErrnoError")throw O;return-O.errno}}var QU=(Y,K,O)=>{return CY(Y,vU,K,O)};function ND(Y,K){try{if(K===0)return-28;var O=I.cwd(),L=o2(O)+1;if(K<L)return-68;return QU(O,Y,K),L}catch(Z){if(typeof I>"u"||Z.name!=="ErrnoError")throw Z;return-Z.errno}}function OD(Y,K,O){t$.varargs=O;try{var L=t$.getStreamFromFD(Y);switch(K){case 21509:if(!L.tty)return-59;return 0;case 21505:if(!L.tty)return-59;if(L.tty.ops.ioctl_tcgets){var Z=L.tty.ops.ioctl_tcgets(L),b=xU();j6[b>>2]=Z.c_iflag||0,j6[b+4>>2]=Z.c_oflag||0,j6[b+8>>2]=Z.c_cflag||0,j6[b+12>>2]=Z.c_lflag||0;for(var V=0;V<32;V++)Q1[b+V+17]=Z.c_cc[V]||0;return 0}return 0;case 21510:case 21511:case 21512:if(!L.tty)return-59;return 0;case 21506:case 21507:case 21508:if(!L.tty)return-59;if(L.tty.ops.ioctl_tcsets){var b=xU(),H=j6[b>>2],P=j6[b+4>>2],B=j6[b+8>>2],E=j6[b+12>>2],t=[];for(var V=0;V<32;V++)t.push(Q1[b+V+17]);return L.tty.ops.ioctl_tcsets(L.tty,K,{c_iflag:H,c_oflag:P,c_cflag:B,c_lflag:E,c_cc:t})}return 0;case 21519:if(!L.tty)return-59;var b=xU();return j6[b>>2]=0,0;case 21520:if(!L.tty)return-59;return-28;case 21537:case 21531:var b=xU();return I.ioctl(L,K,b);case 21523:if(!L.tty)return-59;if(L.tty.ops.ioctl_tiocgwinsz){var w=L.tty.ops.ioctl_tiocgwinsz(L.tty),b=xU();w0[b>>1]=w[0],w0[b+2>>1]=w[1]}return 0;case 21524:if(!L.tty)return-59;return 0;case 21515:if(!L.tty)return-59;return 0;default:return-28}}catch(u){if(typeof I>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}function ID(Y,K){try{return Y=t$.getStr(Y),t$.writeStat(K,I.lstat(Y))}catch(O){if(typeof I>"u"||O.name!=="ErrnoError")throw O;return-O.errno}}function BD(Y,K,O){try{return K=t$.getStr(K),K=t$.calculateAt(Y,K),I.mkdir(K,O,0),0}catch(L){if(typeof I>"u"||L.name!=="ErrnoError")throw L;return-L.errno}}function qD(Y,K,O,L){try{K=t$.getStr(K);var Z=L&256,V=L&4096;return L=L&-6401,K=t$.calculateAt(Y,K,V),t$.writeStat(O,Z?I.lstat(K):I.stat(K))}catch(H){if(typeof I>"u"||H.name!=="ErrnoError")throw H;return-H.errno}}function PD(Y,K,O,L){t$.varargs=L;try{K=t$.getStr(K),K=t$.calculateAt(Y,K);var Z=L?d2():0;return I.open(K,O,Z).fd}catch(V){if(typeof I>"u"||V.name!=="ErrnoError")throw V;return-V.errno}}function kD(Y,K,O,L){try{if(K=t$.getStr(K),K=t$.calculateAt(Y,K),L<=0)return-28;var Z=I.readlink(K),V=Math.min(L,o2(Z)),H=Q1[O+V];return QU(Z,O,L+1),Q1[O+V]=H,V}catch(P){if(typeof I>"u"||P.name!=="ErrnoError")throw P;return-P.errno}}function AD(Y){try{return Y=t$.getStr(Y),I.rmdir(Y),0}catch(K){if(typeof I>"u"||K.name!=="ErrnoError")throw K;return-K.errno}}function RD(Y,K){try{return Y=t$.getStr(Y),t$.writeStat(K,I.stat(Y))}catch(O){if(typeof I>"u"||O.name!=="ErrnoError")throw O;return-O.errno}}function TD(Y,K,O){try{if(K=t$.getStr(K),K=t$.calculateAt(Y,K),!O)I.unlink(K);else if(O===512)I.rmdir(K);else return-28;return 0}catch(L){if(typeof I>"u"||L.name!=="ErrnoError")throw L;return-L.errno}}var uY=(Y)=>{return K6[Y>>2]+j6[Y+4>>2]*4294967296};function _D(Y,K,O,L){try{K=t$.getStr(K),K=t$.calculateAt(Y,K,!0);var Z=Date.now(),V,H;if(!O)V=Z,H=Z;else{var P=uY(O),B=j6[O+8>>2];if(B==1073741823)V=Z;else if(B==1073741822)V=null;else V=P*1000+B/1e6;if(O+=16,P=uY(O),B=j6[O+8>>2],B==1073741823)H=Z;else if(B==1073741822)H=null;else H=P*1000+B/1e6}if((H??V)!==null)I.utime(K,V,H);return 0}catch(E){if(typeof I>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}var MD=(Y)=>Y%4===0&&(Y%100!==0||Y%400===0),CD=[0,31,60,91,121,152,182,213,244,274,305,335],FD=[0,31,59,90,120,151,181,212,243,273,304,334],ED=(Y)=>{return(MD(Y.getFullYear())?CD:FD)[Y.getMonth()]+Y.getDate()-1};function SD(Y,K){Y=wU(Y);var O=new Date(Y*1000);j6[K>>2]=O.getSeconds(),j6[K+4>>2]=O.getMinutes(),j6[K+8>>2]=O.getHours(),j6[K+12>>2]=O.getDate(),j6[K+16>>2]=O.getMonth(),j6[K+20>>2]=O.getFullYear()-1900,j6[K+24>>2]=O.getDay();var L=ED(O)|0;j6[K+28>>2]=L,j6[K+36>>2]=-(O.getTimezoneOffset()*60);var Z=new Date(O.getFullYear(),0,1),V=new Date(O.getFullYear(),6,1).getTimezoneOffset(),H=Z.getTimezoneOffset(),P=(V!=H&&O.getTimezoneOffset()==Math.min(H,V))|0;j6[K+32>>2]=P}function xD(Y,K,O,L,Z,V,H){Z=wU(Z);try{var P=t$.getStreamFromFD(L),B=I.mmap(P,Y,Z,K,O),E=B.ptr;return j6[V>>2]=B.allocated,K6[H>>2]=E,0}catch(t){if(typeof I>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}function wD(Y,K,O,L,Z,V){V=wU(V);try{var H=t$.getStreamFromFD(Z);if(O&2)t$.doMsync(Y,H,K,L,V)}catch(P){if(typeof I>"u"||P.name!=="ErrnoError")throw P;return-P.errno}}var uD=(Y,K,O,L)=>{var Z=new Date().getFullYear(),V=new Date(Z,0,1),H=new Date(Z,6,1),P=V.getTimezoneOffset(),B=H.getTimezoneOffset(),E=Math.max(P,B);K6[Y>>2]=E*60,j6[K>>2]=Number(P!=B);var t=(u)=>{var i=u>=0?"-":"+",d=Math.abs(u);return`UTC${i}${String(Math.floor(d/60)).padStart(2,"0")}${String(d%60).padStart(2,"0")}`},b=t(P),w=t(B);if(B<P)QU(b,O,17),QU(w,L,17);else QU(b,L,17),QU(w,O,17)},gY=()=>performance.now(),yY=()=>Date.now(),gD=1,yD=(Y)=>Y>=0&&Y<=3;function hD(Y,K,O){if(K=wU(K),!yD(Y))return 28;var L;if(Y===0)L=yY();else if(gD)L=gY();else return 52;var Z=Math.round(L*1000*1000);return u6[O>>3]=BigInt(Z),0}var hY=()=>2147483648,fD=()=>hY(),bD=(Y)=>{var K=(Y-E1.buffer.byteLength+65535)/65536|0;try{return E1.grow(K),e$(),1}catch(O){}},nD=(Y)=>{var K=vU.length;Y>>>=0;var O=hY();if(Y>O)return!1;for(var L=1;L<=4;L*=2){var Z=K*(1+0.2/L);if(Z=Math.min(Z,Y+100663296),bD(Math.min(O,FY(Math.max(Y,Z),65536))))return!0}return!1},EX={},mD=()=>j||"./this.program",y0=()=>{if(!y0.strings){var Y={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:mD()};for(var K in EX)if(EX[K]===void 0)delete Y[K];else Y[K]=EX[K];var O=[];for(var K in Y)O.push(`${K}=${Y[K]}`);y0.strings=O}return y0.strings},cD=(Y,K)=>{var O=0,L=0;for(var Z of y0()){var V=K+O;K6[Y+L>>2]=V,O+=QU(Z,V,1/0)+1,L+=4}return 0},iD=(Y,K)=>{var O=y0();K6[Y>>2]=O.length;var L=0;for(var Z of O)L+=o2(Z)+1;return K6[K>>2]=L,0};function lD(Y){try{var K=t$.getStreamFromFD(Y);return I.close(K),0}catch(O){if(typeof I>"u"||O.name!=="ErrnoError")throw O;return O.errno}}function rD(Y,K){try{var O=0,L=0,Z=0,V=t$.getStreamFromFD(Y),H=V.tty?2:I.isDir(V.mode)?3:I.isLink(V.mode)?7:4;return Q1[K]=H,w0[K+2>>1]=Z,u6[K+8>>3]=BigInt(O),u6[K+16>>3]=BigInt(L),0}catch(P){if(typeof I>"u"||P.name!=="ErrnoError")throw P;return P.errno}}var oD=(Y,K,O,L)=>{var Z=0;for(var V=0;V<O;V++){var H=K6[K>>2],P=K6[K+4>>2];K+=8;var B=I.read(Y,Q1,H,P,L);if(B<0)return-1;if(Z+=B,B<P)break;if(typeof L<"u")L+=B}return Z};function dD(Y,K,O,L){try{var Z=oD(t$.getStreamFromFD(Y),K,O);return K6[L>>2]=Z,0}catch(V){if(typeof I>"u"||V.name!=="ErrnoError")throw V;return V.errno}}function pD(Y,K,O,L){K=wU(K);try{if(isNaN(K))return 61;var Z=t$.getStreamFromFD(Y);if(I.llseek(Z,K,O),u6[L>>3]=BigInt(Z.position),Z.getdents&&K===0&&O===0)Z.getdents=null;return 0}catch(V){if(typeof I>"u"||V.name!=="ErrnoError")throw V;return V.errno}}function tD(Y){try{var K=t$.getStreamFromFD(Y);return K.stream_ops?.fsync?.(K)}catch(O){if(typeof I>"u"||O.name!=="ErrnoError")throw O;return O.errno}}var aD=(Y,K,O,L)=>{var Z=0;for(var V=0;V<O;V++){var H=K6[K>>2],P=K6[K+4>>2];K+=8;var B=I.write(Y,Q1,H,P,L);if(B<0)return-1;if(Z+=B,B<P)break;if(typeof L<"u")L+=B}return Z};function eD(Y,K,O,L){try{var Z=aD(t$.getStreamFromFD(Y),K,O);return K6[L>>2]=Z,0}catch(V){if(typeof I>"u"||V.name!=="ErrnoError")throw V;return V.errno}}if(I.createPreloadedFile=jD,I.preloadFile=wY,I.staticInit(),b$(),X.noExitRuntime)X.noExitRuntime;if(X.preloadPlugins)xY=X.preloadPlugins;if(X.print)T=X.print;if(X.printErr)h=X.printErr;if(X.wasmBinary)o=X.wasmBinary;if(X.arguments)X.arguments;if(X.thisProgram)j=X.thisProgram;if(X.preInit){if(typeof X.preInit=="function")X.preInit=[X.preInit];while(X.preInit.length>0)X.preInit.shift()()}X.wasmMemory=E1;var fY;function sD(Y){X._sqlite3_status64=Y.sqlite3_status64,X._sqlite3_status=Y.sqlite3_status,X._sqlite3_db_status64=Y.sqlite3_db_status64,X._sqlite3_msize=Y.sqlite3_msize,X._sqlite3_db_status=Y.sqlite3_db_status,X._sqlite3_vfs_find=Y.sqlite3_vfs_find,X._sqlite3_initialize=Y.sqlite3_initialize,X._sqlite3_malloc=Y.sqlite3_malloc,X._sqlite3_free=Y.sqlite3_free,X._sqlite3_vfs_register=Y.sqlite3_vfs_register,X._sqlite3_vfs_unregister=Y.sqlite3_vfs_unregister,X._sqlite3_malloc64=Y.sqlite3_malloc64,X._sqlite3_realloc=Y.sqlite3_realloc,X._sqlite3_realloc64=Y.sqlite3_realloc64,X._sqlite3_value_text=Y.sqlite3_value_text,X._sqlite3_randomness=Y.sqlite3_randomness,X._sqlite3_stricmp=Y.sqlite3_stricmp,X._sqlite3_strnicmp=Y.sqlite3_strnicmp,X._sqlite3_uri_parameter=Y.sqlite3_uri_parameter,X._sqlite3_uri_boolean=Y.sqlite3_uri_boolean,X._sqlite3_serialize=Y.sqlite3_serialize,X._sqlite3_prepare_v2=Y.sqlite3_prepare_v2,X._sqlite3_step=Y.sqlite3_step,X._sqlite3_column_int64=Y.sqlite3_column_int64,X._sqlite3_reset=Y.sqlite3_reset,X._sqlite3_exec=Y.sqlite3_exec,X._sqlite3_column_int=Y.sqlite3_column_int,X._sqlite3_finalize=Y.sqlite3_finalize,X._sqlite3_file_control=Y.sqlite3_file_control,X._sqlite3_column_name=Y.sqlite3_column_name,X._sqlite3_column_text=Y.sqlite3_column_text,X._sqlite3_column_type=Y.sqlite3_column_type,X._sqlite3_errmsg=Y.sqlite3_errmsg,X._sqlite3_deserialize=Y.sqlite3_deserialize,X._sqlite3_clear_bindings=Y.sqlite3_clear_bindings,X._sqlite3_value_blob=Y.sqlite3_value_blob,X._sqlite3_value_bytes=Y.sqlite3_value_bytes,X._sqlite3_value_double=Y.sqlite3_value_double,X._sqlite3_value_int=Y.sqlite3_value_int,X._sqlite3_value_int64=Y.sqlite3_value_int64,X._sqlite3_value_subtype=Y.sqlite3_value_subtype,X._sqlite3_value_pointer=Y.sqlite3_value_pointer,X._sqlite3_value_type=Y.sqlite3_value_type,X._sqlite3_value_nochange=Y.sqlite3_value_nochange,X._sqlite3_value_frombind=Y.sqlite3_value_frombind,X._sqlite3_value_dup=Y.sqlite3_value_dup,X._sqlite3_value_free=Y.sqlite3_value_free,X._sqlite3_result_blob=Y.sqlite3_result_blob,X._sqlite3_result_error_toobig=Y.sqlite3_result_error_toobig,X._sqlite3_result_error_nomem=Y.sqlite3_result_error_nomem,X._sqlite3_result_double=Y.sqlite3_result_double,X._sqlite3_result_error=Y.sqlite3_result_error,X._sqlite3_result_int=Y.sqlite3_result_int,X._sqlite3_result_int64=Y.sqlite3_result_int64,X._sqlite3_result_null=Y.sqlite3_result_null,X._sqlite3_result_pointer=Y.sqlite3_result_pointer,X._sqlite3_result_subtype=Y.sqlite3_result_subtype,X._sqlite3_result_text=Y.sqlite3_result_text,X._sqlite3_result_zeroblob=Y.sqlite3_result_zeroblob,X._sqlite3_result_zeroblob64=Y.sqlite3_result_zeroblob64,X._sqlite3_result_error_code=Y.sqlite3_result_error_code,X._sqlite3_user_data=Y.sqlite3_user_data,X._sqlite3_context_db_handle=Y.sqlite3_context_db_handle,X._sqlite3_vtab_nochange=Y.sqlite3_vtab_nochange,X._sqlite3_vtab_in_first=Y.sqlite3_vtab_in_first,X._sqlite3_vtab_in_next=Y.sqlite3_vtab_in_next,X._sqlite3_aggregate_context=Y.sqlite3_aggregate_context,X._sqlite3_get_auxdata=Y.sqlite3_get_auxdata,X._sqlite3_set_auxdata=Y.sqlite3_set_auxdata,X._sqlite3_column_count=Y.sqlite3_column_count,X._sqlite3_data_count=Y.sqlite3_data_count,X._sqlite3_column_blob=Y.sqlite3_column_blob,X._sqlite3_column_bytes=Y.sqlite3_column_bytes,X._sqlite3_column_double=Y.sqlite3_column_double,X._sqlite3_column_value=Y.sqlite3_column_value,X._sqlite3_column_decltype=Y.sqlite3_column_decltype,X._sqlite3_column_database_name=Y.sqlite3_column_database_name,X._sqlite3_column_table_name=Y.sqlite3_column_table_name,X._sqlite3_column_origin_name=Y.sqlite3_column_origin_name,X._sqlite3_bind_blob=Y.sqlite3_bind_blob,X._sqlite3_bind_double=Y.sqlite3_bind_double,X._sqlite3_bind_int=Y.sqlite3_bind_int,X._sqlite3_bind_int64=Y.sqlite3_bind_int64,X._sqlite3_bind_null=Y.sqlite3_bind_null,X._sqlite3_bind_pointer=Y.sqlite3_bind_pointer,X._sqlite3_bind_text=Y.sqlite3_bind_text,X._sqlite3_bind_zeroblob=Y.sqlite3_bind_zeroblob,X._sqlite3_bind_parameter_count=Y.sqlite3_bind_parameter_count,X._sqlite3_bind_parameter_name=Y.sqlite3_bind_parameter_name,X._sqlite3_bind_parameter_index=Y.sqlite3_bind_parameter_index,X._sqlite3_db_handle=Y.sqlite3_db_handle,X._sqlite3_stmt_readonly=Y.sqlite3_stmt_readonly,X._sqlite3_stmt_isexplain=Y.sqlite3_stmt_isexplain,X._sqlite3_stmt_explain=Y.sqlite3_stmt_explain,X._sqlite3_stmt_busy=Y.sqlite3_stmt_busy,X._sqlite3_next_stmt=Y.sqlite3_next_stmt,X._sqlite3_stmt_status=Y.sqlite3_stmt_status,X._sqlite3_sql=Y.sqlite3_sql,X._sqlite3_expanded_sql=Y.sqlite3_expanded_sql,X._sqlite3_preupdate_old=Y.sqlite3_preupdate_old,X._sqlite3_preupdate_count=Y.sqlite3_preupdate_count,X._sqlite3_preupdate_depth=Y.sqlite3_preupdate_depth,X._sqlite3_preupdate_blobwrite=Y.sqlite3_preupdate_blobwrite,X._sqlite3_preupdate_new=Y.sqlite3_preupdate_new,X._sqlite3_value_numeric_type=Y.sqlite3_value_numeric_type,X._sqlite3_set_authorizer=Y.sqlite3_set_authorizer,X._sqlite3_strglob=Y.sqlite3_strglob,X._sqlite3_strlike=Y.sqlite3_strlike,X._sqlite3_auto_extension=Y.sqlite3_auto_extension,X._sqlite3_cancel_auto_extension=Y.sqlite3_cancel_auto_extension,X._sqlite3_reset_auto_extension=Y.sqlite3_reset_auto_extension,X._sqlite3_prepare_v3=Y.sqlite3_prepare_v3,X._sqlite3_create_module=Y.sqlite3_create_module,X._sqlite3_create_module_v2=Y.sqlite3_create_module_v2,X._sqlite3_drop_modules=Y.sqlite3_drop_modules,X._sqlite3_declare_vtab=Y.sqlite3_declare_vtab,X._sqlite3_vtab_on_conflict=Y.sqlite3_vtab_on_conflict,X._sqlite3_vtab_collation=Y.sqlite3_vtab_collation,X._sqlite3_vtab_in=Y.sqlite3_vtab_in,X._sqlite3_vtab_rhs_value=Y.sqlite3_vtab_rhs_value,X._sqlite3_vtab_distinct=Y.sqlite3_vtab_distinct,X._sqlite3_keyword_name=Y.sqlite3_keyword_name,X._sqlite3_keyword_count=Y.sqlite3_keyword_count,X._sqlite3_keyword_check=Y.sqlite3_keyword_check,X._sqlite3_complete=Y.sqlite3_complete,X._sqlite3_libversion=Y.sqlite3_libversion,X._sqlite3_libversion_number=Y.sqlite3_libversion_number,X._sqlite3_shutdown=Y.sqlite3_shutdown,X._sqlite3_last_insert_rowid=Y.sqlite3_last_insert_rowid,X._sqlite3_set_last_insert_rowid=Y.sqlite3_set_last_insert_rowid,X._sqlite3_changes64=Y.sqlite3_changes64,X._sqlite3_changes=Y.sqlite3_changes,X._sqlite3_total_changes64=Y.sqlite3_total_changes64,X._sqlite3_total_changes=Y.sqlite3_total_changes,X._sqlite3_txn_state=Y.sqlite3_txn_state,X._sqlite3_close_v2=Y.sqlite3_close_v2,X._sqlite3_busy_handler=Y.sqlite3_busy_handler,X._sqlite3_progress_handler=Y.sqlite3_progress_handler,X._sqlite3_busy_timeout=Y.sqlite3_busy_timeout,X._sqlite3_interrupt=Y.sqlite3_interrupt,X._sqlite3_is_interrupted=Y.sqlite3_is_interrupted,X._sqlite3_create_function=Y.sqlite3_create_function,X._sqlite3_create_function_v2=Y.sqlite3_create_function_v2,X._sqlite3_create_window_function=Y.sqlite3_create_window_function,X._sqlite3_overload_function=Y.sqlite3_overload_function,X._sqlite3_trace_v2=Y.sqlite3_trace_v2,X._sqlite3_commit_hook=Y.sqlite3_commit_hook,X._sqlite3_update_hook=Y.sqlite3_update_hook,X._sqlite3_rollback_hook=Y.sqlite3_rollback_hook,X._sqlite3_preupdate_hook=Y.sqlite3_preupdate_hook,X._sqlite3_set_errmsg=Y.sqlite3_set_errmsg,X._sqlite3_error_offset=Y.sqlite3_error_offset,X._sqlite3_errcode=Y.sqlite3_errcode,X._sqlite3_extended_errcode=Y.sqlite3_extended_errcode,X._sqlite3_errstr=Y.sqlite3_errstr,X._sqlite3_limit=Y.sqlite3_limit,X._sqlite3_open=Y.sqlite3_open,X._sqlite3_open_v2=Y.sqlite3_open_v2,X._sqlite3_create_collation=Y.sqlite3_create_collation,X._sqlite3_create_collation_v2=Y.sqlite3_create_collation_v2,X._sqlite3_collation_needed=Y.sqlite3_collation_needed,X._sqlite3_get_autocommit=Y.sqlite3_get_autocommit,X._sqlite3_table_column_metadata=Y.sqlite3_table_column_metadata,X._sqlite3_extended_result_codes=Y.sqlite3_extended_result_codes,X._sqlite3_uri_key=Y.sqlite3_uri_key,X._sqlite3_uri_int64=Y.sqlite3_uri_int64,X._sqlite3_db_name=Y.sqlite3_db_name,X._sqlite3_db_filename=Y.sqlite3_db_filename,X._sqlite3_db_readonly=Y.sqlite3_db_readonly,X._sqlite3_compileoption_used=Y.sqlite3_compileoption_used,X._sqlite3_compileoption_get=Y.sqlite3_compileoption_get,X._sqlite3session_diff=Y.sqlite3session_diff,X._sqlite3session_attach=Y.sqlite3session_attach,X._sqlite3session_create=Y.sqlite3session_create,X._sqlite3session_delete=Y.sqlite3session_delete,X._sqlite3session_table_filter=Y.sqlite3session_table_filter,X._sqlite3session_changeset=Y.sqlite3session_changeset,X._sqlite3session_changeset_strm=Y.sqlite3session_changeset_strm,X._sqlite3session_patchset_strm=Y.sqlite3session_patchset_strm,X._sqlite3session_patchset=Y.sqlite3session_patchset,X._sqlite3session_enable=Y.sqlite3session_enable,X._sqlite3session_indirect=Y.sqlite3session_indirect,X._sqlite3session_isempty=Y.sqlite3session_isempty,X._sqlite3session_memory_used=Y.sqlite3session_memory_used,X._sqlite3session_object_config=Y.sqlite3session_object_config,X._sqlite3session_changeset_size=Y.sqlite3session_changeset_size,X._sqlite3changeset_start=Y.sqlite3changeset_start,X._sqlite3changeset_start_v2=Y.sqlite3changeset_start_v2,X._sqlite3changeset_start_strm=Y.sqlite3changeset_start_strm,X._sqlite3changeset_start_v2_strm=Y.sqlite3changeset_start_v2_strm,X._sqlite3changeset_next=Y.sqlite3changeset_next,X._sqlite3changeset_op=Y.sqlite3changeset_op,X._sqlite3changeset_pk=Y.sqlite3changeset_pk,X._sqlite3changeset_old=Y.sqlite3changeset_old,X._sqlite3changeset_new=Y.sqlite3changeset_new,X._sqlite3changeset_conflict=Y.sqlite3changeset_conflict,X._sqlite3changeset_fk_conflicts=Y.sqlite3changeset_fk_conflicts,X._sqlite3changeset_finalize=Y.sqlite3changeset_finalize,X._sqlite3changeset_invert=Y.sqlite3changeset_invert,X._sqlite3changeset_invert_strm=Y.sqlite3changeset_invert_strm,X._sqlite3changeset_apply_v2=Y.sqlite3changeset_apply_v2,X._sqlite3changeset_apply_v3=Y.sqlite3changeset_apply_v3,X._sqlite3changeset_apply=Y.sqlite3changeset_apply,X._sqlite3changeset_apply_v3_strm=Y.sqlite3changeset_apply_v3_strm,X._sqlite3changeset_apply_v2_strm=Y.sqlite3changeset_apply_v2_strm,X._sqlite3changeset_apply_strm=Y.sqlite3changeset_apply_strm,X._sqlite3changegroup_new=Y.sqlite3changegroup_new,X._sqlite3changegroup_add=Y.sqlite3changegroup_add,X._sqlite3changegroup_output=Y.sqlite3changegroup_output,X._sqlite3changegroup_add_strm=Y.sqlite3changegroup_add_strm,X._sqlite3changegroup_output_strm=Y.sqlite3changegroup_output_strm,X._sqlite3changegroup_delete=Y.sqlite3changegroup_delete,X._sqlite3changeset_concat=Y.sqlite3changeset_concat,X._sqlite3changeset_concat_strm=Y.sqlite3changeset_concat_strm,X._sqlite3session_config=Y.sqlite3session_config,X._sqlite3_sourceid=Y.sqlite3_sourceid,X._sqlite3__wasm_pstack_ptr=Y.sqlite3__wasm_pstack_ptr,X._sqlite3__wasm_pstack_restore=Y.sqlite3__wasm_pstack_restore,X._sqlite3__wasm_pstack_alloc=Y.sqlite3__wasm_pstack_alloc,X._sqlite3__wasm_pstack_remaining=Y.sqlite3__wasm_pstack_remaining,X._sqlite3__wasm_pstack_quota=Y.sqlite3__wasm_pstack_quota,X._sqlite3__wasm_test_struct=Y.sqlite3__wasm_test_struct,X._sqlite3__wasm_enum_json=Y.sqlite3__wasm_enum_json,X._sqlite3__wasm_vfs_unlink=Y.sqlite3__wasm_vfs_unlink,X._sqlite3__wasm_db_vfs=Y.sqlite3__wasm_db_vfs,X._sqlite3__wasm_db_reset=Y.sqlite3__wasm_db_reset,X._sqlite3__wasm_db_export_chunked=Y.sqlite3__wasm_db_export_chunked,X._sqlite3__wasm_db_serialize=Y.sqlite3__wasm_db_serialize,X._sqlite3__wasm_vfs_create_file=Y.sqlite3__wasm_vfs_create_file,X._sqlite3__wasm_posix_create_file=Y.sqlite3__wasm_posix_create_file,X._sqlite3__wasm_kvvfsMakeKey=Y.sqlite3__wasm_kvvfsMakeKey,X._sqlite3__wasm_kvvfs_methods=Y.sqlite3__wasm_kvvfs_methods,X._sqlite3__wasm_vtab_config=Y.sqlite3__wasm_vtab_config,X._sqlite3__wasm_db_config_ip=Y.sqlite3__wasm_db_config_ip,X._sqlite3__wasm_db_config_pii=Y.sqlite3__wasm_db_config_pii,X._sqlite3__wasm_db_config_s=Y.sqlite3__wasm_db_config_s,X._sqlite3__wasm_config_i=Y.sqlite3__wasm_config_i,X._sqlite3__wasm_config_ii=Y.sqlite3__wasm_config_ii,X._sqlite3__wasm_config_j=Y.sqlite3__wasm_config_j,X._sqlite3__wasm_qfmt_token=Y.sqlite3__wasm_qfmt_token,X._sqlite3__wasm_kvvfs_decode=Y.sqlite3__wasm_kvvfs_decode,X._sqlite3__wasm_kvvfs_encode=Y.sqlite3__wasm_kvvfs_encode,X._sqlite3__wasm_init_wasmfs=Y.sqlite3__wasm_init_wasmfs,X._sqlite3__wasm_test_intptr=Y.sqlite3__wasm_test_intptr,X._sqlite3__wasm_test_voidptr=Y.sqlite3__wasm_test_voidptr,X._sqlite3__wasm_test_int64_max=Y.sqlite3__wasm_test_int64_max,X._sqlite3__wasm_test_int64_min=Y.sqlite3__wasm_test_int64_min,X._sqlite3__wasm_test_int64_times2=Y.sqlite3__wasm_test_int64_times2,X._sqlite3__wasm_test_int64_minmax=Y.sqlite3__wasm_test_int64_minmax,X._sqlite3__wasm_test_int64ptr=Y.sqlite3__wasm_test_int64ptr,X._sqlite3__wasm_test_stack_overflow=Y.sqlite3__wasm_test_stack_overflow,X._sqlite3__wasm_test_str_hello=Y.sqlite3__wasm_test_str_hello,X._sqlite3__wasm_SQLTester_strglob=Y.sqlite3__wasm_SQLTester_strglob,X._malloc=Y.malloc,X._free=Y.free,X._realloc=Y.realloc,fY=Y.emscripten_builtin_memalign,Y._emscripten_stack_restore,Y._emscripten_stack_alloc,Y.emscripten_stack_get_current,Y.__indirect_function_table}var bY={__syscall_chmod:YD,__syscall_faccessat:WD,__syscall_fchmod:ZD,__syscall_fchown32:KD,__syscall_fcntl64:zD,__syscall_fstat64:VD,__syscall_ftruncate64:HD,__syscall_getcwd:ND,__syscall_ioctl:OD,__syscall_lstat64:ID,__syscall_mkdirat:BD,__syscall_newfstatat:qD,__syscall_openat:PD,__syscall_readlinkat:kD,__syscall_rmdir:AD,__syscall_stat64:RD,__syscall_unlinkat:TD,__syscall_utimensat:_D,_localtime_js:SD,_mmap_js:xD,_munmap_js:wD,_tzset_js:uD,clock_time_get:hD,emscripten_date_now:yY,emscripten_get_heap_max:fD,emscripten_get_now:gY,emscripten_resize_heap:nD,environ_get:cD,environ_sizes_get:iD,fd_close:lD,fd_fdstat_get:rD,fd_read:dD,fd_seek:pD,fd_sync:tD,fd_write:eD,memory:E1};function SX(){if(XU>0){g0=SX;return}if(p$(),XU>0){g0=SX;return}function Y(){if(X.calledRun=!0,V$)return;s$(),Y$?.(X),X.onRuntimeInitialized?.(),L6()}if(X.setStatus)X.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>X.setStatus(""),1),Y()},1);else Y()}var uU=await cV();if(SX(),X.runSQLite3PostLoadInit=async function(Y,K,O){delete K.runSQLite3PostLoadInit,globalThis.sqlite3ApiBootstrap=async function L(Z=globalThis.sqlite3ApiConfig||L.defaultConfig){if(L.sqlite3)return(L.sqlite3.config||console).warn("sqlite3ApiBootstrap() called multiple times.","Config and external initializers are ignored on calls after the first."),L.sqlite3;let V=(...R)=>Object.assign(Object.create(null),...R),H=V({exports:void 0,memory:void 0,bigIntEnabled:!!globalThis.BigInt64Array,debug:console.debug.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),log:console.log.bind(console),wasmfsOpfsDir:"/opfs",useStdAlloc:!1},Z);Object.assign(H,{allocExportName:H.useStdAlloc?"malloc":"sqlite3_malloc",deallocExportName:H.useStdAlloc?"free":"sqlite3_free",reallocExportName:H.useStdAlloc?"realloc":"sqlite3_realloc"}),["exports","memory","functionTable","wasmfsOpfsDir"].forEach((R)=>{if(typeof H[R]==="function")H[R]=H[R]()});let P=V(),B=V(),E=(R)=>{return P.sqlite3_js_rc_str&&P.sqlite3_js_rc_str(R)||"Unknown result code #"+R},t=(R)=>typeof R==="number"&&R===(R|0)&&R<=2147483647&&R>=-2147483648;class b extends Error{constructor(...R){let S;if(R.length)if(t(R[0]))if(S=R[0],R.length===1)super(E(R[0]));else{let p=E(S);if(typeof R[1]==="object")super(p,R[1]);else{R[0]=p+":";super(R.join(" "))}}else if(R.length===2&&typeof R[1]==="object")super(...R);else super(R.join(" "));this.resultCode=S||P.SQLITE_ERROR,this.name="SQLite3Error"}}b.toss=(...R)=>{throw new b(...R)};let w=b.toss;if(H.wasmfsOpfsDir&&!/^\/[^/]+$/.test(H.wasmfsOpfsDir))w("config.wasmfsOpfsDir must be falsy or in the form '/dir-name'.");let u=function R(S){if(!R._max)R._max=BigInt("0x7fffffffffffffff"),R._min=~R._max;return S>=R._min&&S<=R._max},i=(R)=>R>=-2147483647n-1n&&R<=2147483647n,d=function R(S){if(!R._min)R._min=Number.MIN_SAFE_INTEGER,R._max=Number.MAX_SAFE_INTEGER;return S>=R._min&&S<=R._max},Z$=(R)=>{return R&&R.constructor&&t(R.constructor.BYTES_PER_ELEMENT)?R:!1},F=(R)=>R&&(R instanceof Uint8Array||R instanceof Int8Array||R instanceof ArrayBuffer),M=(R)=>R&&(R instanceof Uint8Array||R instanceof Int8Array||R instanceof ArrayBuffer),e=(R)=>F(R)||w("Value is not of a supported TypedArray type."),U$=function(R){if(M(R))return B.typedArrayToString(R instanceof ArrayBuffer?new Uint8Array(R):R,0,R.length);else if(Array.isArray(R))return R.join("");else if(B.isPtr(R))R=B.cstrToJs(R);return R};class m extends Error{constructor(...R){if(R.length===2&&typeof R[1]==="object")super(...R);else if(R.length)super(R.join(" "));else super("Allocation failed.");this.resultCode=P.SQLITE_NOMEM,this.name="WasmAllocError"}}m.toss=(...R)=>{throw new m(...R)},Object.assign(P,{sqlite3_bind_blob:void 0,sqlite3_bind_text:void 0,sqlite3_create_function_v2:(R,S,p,Q$,r,N$,P$,O$,R$)=>{},sqlite3_create_function:(R,S,p,Q$,r,N$,P$,O$)=>{},sqlite3_create_window_function:(R,S,p,Q$,r,N$,P$,O$,R$,y)=>{},sqlite3_prepare_v3:(R,S,p,Q$,r,N$)=>{},sqlite3_prepare_v2:(R,S,p,Q$,r)=>{},sqlite3_exec:(R,S,p,Q$,r)=>{},sqlite3_randomness:(R,S)=>{}});let a={affirmBindableTypedArray:e,flexibleString:U$,bigIntFits32:i,bigIntFits64:u,bigIntFitsDouble:d,isBindableTypedArray:F,isInt32:t,isSQLableTypedArray:M,isTypedArray:Z$,isUIThread:()=>globalThis.window===globalThis&&!!globalThis.document,toss:function(...R){throw Error(R.join(" "))},toss3:w,typedArrayPart:B.typedArrayPart,nu:V,assert:function(R,S){if(!R)a.toss("Assertion failed:",S)},affirmDbHeader:function(R){if(R instanceof ArrayBuffer)R=new Uint8Array(R);let S="SQLite format 3";if(15>R.byteLength)w("Input does not contain an SQLite3 database header.");for(let p=0;p<15;++p)if(S.charCodeAt(p)!==R[p])w("Input does not contain an SQLite3 database header.")},affirmIsDb:function(R){if(R instanceof ArrayBuffer)R=new Uint8Array(R);let S=R.byteLength;if(S<512||S%512!==0)w("Byte array size",S,"is invalid for an SQLite3 db.");a.affirmDbHeader(R)}};Object.assign(B,{exports:H.exports||w("Missing API config.exports (WASM module exports)."),memory:H.memory||H.exports.memory||w("API config object requires a WebAssembly.Memory object","in either config.exports.memory (exported)","or config.memory (imported)."),pointerSize:typeof H.exports.sqlite3_libversion()==="number"?4:8,bigIntEnabled:!!H.bigIntEnabled,functionTable:H.functionTable,alloc:void 0,realloc:void 0,dealloc:void 0}),B.allocFromTypedArray=function(R){if(R instanceof ArrayBuffer)R=new Uint8Array(R);e(R);let S=B.alloc(R.byteLength||1);return B.heapForSize(R.constructor).set(R.byteLength?R:[0],Number(S)),S};{let{allocExportName:R,deallocExportName:S,reallocExportName:p}=H;for(let Q$ of[R,S,p])if(!(B.exports[Q$]instanceof Function))w("Missing required exports[",Q$,"] function.");B.alloc=function Q$(r){return Q$.impl(r)||m.toss("Failed to allocate",r," bytes.")},B.alloc.impl=B.exports[R],B.realloc=function Q$(r,N$){let P$=Q$.impl(B.ptr.coerce(r),N$);return N$?P$||m.toss("Failed to reallocate",N$," bytes."):B.ptr.null},B.realloc.impl=B.exports[p],B.dealloc=function Q$(r){Q$.impl(B.ptr.coerce(r))},B.dealloc.impl=B.exports[S]}B.compileOptionUsed=function R(S){if(!arguments.length){if(R._result)return R._result;else if(!R._opt)R._rx=/^([^=]+)=(.+)/,R._rxInt=/^-?\d+$/,R._opt=function(P$,O$){let R$=R._rx.exec(P$);O$[0]=R$?R$[1]:P$,O$[1]=R$?R._rxInt.test(R$[2])?+R$[2]:R$[2]:!0};let p=V(),Q$=[0,0],r=0,N$;while(N$=P.sqlite3_compileoption_get(r++))R._opt(N$,Q$),p[Q$[0]]=Q$[1];return R._result=p}else if(Array.isArray(S)){let p=V();return S.forEach((Q$)=>{p[Q$]=P.sqlite3_compileoption_used(Q$)}),p}else if(typeof S==="object")return Object.keys(S).forEach((p)=>{S[p]=P.sqlite3_compileoption_used(p)}),S;return typeof S==="string"?!!P.sqlite3_compileoption_used(S):!1},B.pstack=V({restore:B.exports.sqlite3__wasm_pstack_restore,alloc:function(R){if(typeof R==="string"&&!(R=B.sizeofIR(R)))m.toss("Invalid value for pstack.alloc(",arguments[0],")");return B.exports.sqlite3__wasm_pstack_alloc(R)||m.toss("Could not allocate",R,"bytes from the pstack.")},allocChunks:function(R,S){if(typeof S==="string"&&!(S=B.sizeofIR(S)))m.toss("Invalid size value for allocChunks(",arguments[1],")");let p=B.pstack.alloc(R*S),Q$=[p],r=1,N$=S;for(;r<R;++r,N$+=S)Q$.push(B.ptr.add(p,N$));return Q$},allocPtr:(R=1,S=!0)=>{return R===1?B.pstack.alloc(S?8:B.ptr.size):B.pstack.allocChunks(R,S?8:B.ptr.size)},call:function(R){let S=B.pstack.pointer;try{return R(D$)}finally{B.pstack.restore(S)}}}),Object.defineProperties(B.pstack,{pointer:{configurable:!1,iterable:!0,writeable:!1,get:B.exports.sqlite3__wasm_pstack_ptr},quota:{configurable:!1,iterable:!0,writeable:!1,get:B.exports.sqlite3__wasm_pstack_quota},remaining:{configurable:!1,iterable:!0,writeable:!1,get:B.exports.sqlite3__wasm_pstack_remaining}}),P.sqlite3_randomness=(...R)=>{if(R.length===1&&a.isTypedArray(R[0])&&R[0].BYTES_PER_ELEMENT===1){let S=R[0];if(S.byteLength===0)return B.exports.sqlite3_randomness(0,B.ptr.null),S;let p=B.pstack.pointer;try{let Q$=S.byteLength,r=0,N$=B.exports.sqlite3_randomness,P$=B.heap8u(),O$=Q$<512?Q$:512,R$=B.pstack.alloc(O$);do{let y=Q$>O$?O$:Q$;N$(y,R$),S.set(B.typedArrayPart(P$,R$,B.ptr.add(R$,y)),r),Q$-=y,r+=y}while(Q$>0)}catch(Q$){H.error("Highly unexpected (and ignored!) exception in sqlite3_randomness():",Q$)}finally{B.pstack.restore(p)}return S}B.exports.sqlite3_randomness(...R)},P.sqlite3_wasmfs_opfs_dir=function(){if(this.dir!==void 0)return this.dir;let R=H.wasmfsOpfsDir;if(!R||!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle||!B.exports.sqlite3__wasm_init_wasmfs)return this.dir="";try{if(R&&B.xCallWrapped("sqlite3__wasm_init_wasmfs","i32",["string"],R)===0)return this.dir=R;else return this.dir=""}catch(S){return this.dir=""}}.bind(V()),P.sqlite3_wasmfs_filename_is_persistent=function(R){let S=P.sqlite3_wasmfs_opfs_dir();return S&&R?R.startsWith(S+"/"):!1},P.sqlite3_js_db_uses_vfs=function(R,S,p=0){try{let Q$=P.sqlite3_vfs_find(S);if(!Q$)return!1;else if(!R)return Q$===P.sqlite3_vfs_find(0)?Q$:!1;else return Q$===P.sqlite3_js_db_vfs(R,p)?Q$:!1}catch(Q$){return!1}},P.sqlite3_js_vfs_list=function(){let R=[],S=P.sqlite3_vfs_find(B.ptr.null);while(S){let p=new P.sqlite3_vfs(S);R.push(B.cstrToJs(p.$zName)),S=p.$pNext,p.dispose()}return R},P.sqlite3_js_db_export=function(R,S=0){if(R=B.xWrap.testConvertArg("sqlite3*",R),!R)w("Invalid sqlite3* argument.");if(!B.bigIntEnabled)w("BigInt support is not enabled.");let p=B.scopedAllocPush(),Q$;try{let r=B.scopedAlloc(8+B.ptr.size),N$=B.ptr.add(r,8),P$=S?B.isPtr(S)?S:B.scopedAllocCString(""+S):B.ptr.null,O$=B.exports.sqlite3__wasm_db_serialize(R,P$,N$,r,0);if(O$)w("Database serialization failed with code",D$.capi.sqlite3_js_rc_str(O$));Q$=B.peekPtr(N$);let R$=B.peek(r,"i64");return O$=R$?B.heap8u().slice(Number(Q$),Number(Q$)+Number(R$)):new Uint8Array,O$}finally{if(Q$)B.exports.sqlite3_free(Q$);B.scopedAllocPop(p)}},P.sqlite3_js_db_vfs=(R,S=B.ptr.null)=>a.sqlite3__wasm_db_vfs(R,S),P.sqlite3_js_aggregate_context=(R,S)=>{return P.sqlite3_aggregate_context(R,S)||(S?m.toss("Cannot allocate",S,"bytes for sqlite3_aggregate_context()"):0)},P.sqlite3_js_posix_create_file=function(R,S,p){let Q$;if(S&&B.isPtr(S))Q$=S;else if(S instanceof ArrayBuffer||S instanceof Uint8Array){if(Q$=B.allocFromTypedArray(S),arguments.length<3||!a.isInt32(p)||p<0)p=S.byteLength}else b.toss("Invalid 2nd argument for sqlite3_js_posix_create_file().");try{if(!a.isInt32(p)||p<0)b.toss("Invalid 3rd argument for sqlite3_js_posix_create_file().");let r=a.sqlite3__wasm_posix_create_file(R,Q$,p);if(r)b.toss("Creation of file failed with sqlite3 result code",P.sqlite3_js_rc_str(r))}finally{if(Q$&&Q$!==S)B.dealloc(Q$)}},P.sqlite3_js_vfs_create_file=function(R,S,p,Q$){H.warn("sqlite3_js_vfs_create_file() is deprecated and","should be avoided because it can lead to C-level crashes.","See its documentation for alternatives.");let r;if(p)if(B.isPtr(p))r=p;else{if(p instanceof ArrayBuffer)p=new Uint8Array(p);if(p instanceof Uint8Array){if(r=B.allocFromTypedArray(p),arguments.length<4||!a.isInt32(Q$)||Q$<0)Q$=p.byteLength}else b.toss("Invalid 3rd argument type for sqlite3_js_vfs_create_file().")}else r=0;if(!a.isInt32(Q$)||Q$<0){if(r&&r!==p)B.dealloc(r);b.toss("Invalid 4th argument for sqlite3_js_vfs_create_file().")}try{let N$=a.sqlite3__wasm_vfs_create_file(R,S,r,Q$);if(N$)b.toss("Creation of file failed with sqlite3 result code",P.sqlite3_js_rc_str(N$))}finally{if(r&&r!==p)B.dealloc(r)}},P.sqlite3_js_sql_to_string=(R)=>{if(typeof R==="string")return R;let S=U$(v);return S===v?void 0:S},P.sqlite3_db_config=function(R,S,...p){switch(S){case P.SQLITE_DBCONFIG_ENABLE_FKEY:case P.SQLITE_DBCONFIG_ENABLE_TRIGGER:case P.SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER:case P.SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION:case P.SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE:case P.SQLITE_DBCONFIG_ENABLE_QPSG:case P.SQLITE_DBCONFIG_TRIGGER_EQP:case P.SQLITE_DBCONFIG_RESET_DATABASE:case P.SQLITE_DBCONFIG_DEFENSIVE:case P.SQLITE_DBCONFIG_WRITABLE_SCHEMA:case P.SQLITE_DBCONFIG_LEGACY_ALTER_TABLE:case P.SQLITE_DBCONFIG_DQS_DML:case P.SQLITE_DBCONFIG_DQS_DDL:case P.SQLITE_DBCONFIG_ENABLE_VIEW:case P.SQLITE_DBCONFIG_LEGACY_FILE_FORMAT:case P.SQLITE_DBCONFIG_TRUSTED_SCHEMA:case P.SQLITE_DBCONFIG_STMT_SCANSTATUS:case P.SQLITE_DBCONFIG_REVERSE_SCANORDER:case P.SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE:case P.SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE:case P.SQLITE_DBCONFIG_ENABLE_COMMENTS:case P.SQLITE_DBCONFIG_FP_DIGITS:if(!this.ip)this.ip=B.xWrap("sqlite3__wasm_db_config_ip","int",["sqlite3*","int","int","*"]);return this.ip(R,S,p[0],p[1]||0);case P.SQLITE_DBCONFIG_LOOKASIDE:if(!this.pii)this.pii=B.xWrap("sqlite3__wasm_db_config_pii","int",["sqlite3*","int","*","int","int"]);return this.pii(R,S,p[0],p[1],p[2]);case P.SQLITE_DBCONFIG_MAINDBNAME:if(!this.s)this.s=B.xWrap("sqlite3__wasm_db_config_s","int",["sqlite3*","int","string:static"]);return this.s(R,S,p[0]);default:return P.SQLITE_MISUSE}}.bind(V()),P.sqlite3_value_to_js=function(R,S=!0){let p,Q$=P.sqlite3_value_type(R);switch(Q$){case P.SQLITE_INTEGER:if(B.bigIntEnabled){if(p=P.sqlite3_value_int64(R),a.bigIntFitsDouble(p))p=Number(p)}else p=P.sqlite3_value_double(R);break;case P.SQLITE_FLOAT:p=P.sqlite3_value_double(R);break;case P.SQLITE_TEXT:p=P.sqlite3_value_text(R);break;case P.SQLITE_BLOB:{let r=P.sqlite3_value_bytes(R),N$=P.sqlite3_value_blob(R);if(r&&!N$)D$.WasmAllocError.toss("Cannot allocate memory for blob argument of",r,"byte(s)");p=r?B.heap8u().slice(Number(N$),Number(N$)+Number(r)):null;break}case P.SQLITE_NULL:p=null;break;default:if(S)w(P.SQLITE_MISMATCH,"Unhandled sqlite3_value_type():",Q$);p=void 0}return p},P.sqlite3_values_to_js=function(R,S,p=!0){let Q$,r=[];for(Q$=0;Q$<R;++Q$)r.push(P.sqlite3_value_to_js(B.peekPtr(B.ptr.add(S,B.ptr.size*Q$)),p));return r},P.sqlite3_result_error_js=function(R,S){if(S instanceof m)P.sqlite3_result_error_nomem(R);else P.sqlite3_result_error(R,""+S,-1)},P.sqlite3_result_js=function(R,S){if(S instanceof Error){P.sqlite3_result_error_js(R,S);return}try{switch(typeof S){case"undefined":break;case"boolean":P.sqlite3_result_int(R,S?1:0);break;case"bigint":if(a.bigIntFits32(S))P.sqlite3_result_int(R,Number(S));else if(a.bigIntFitsDouble(S))P.sqlite3_result_double(R,Number(S));else if(B.bigIntEnabled)if(a.bigIntFits64(S))P.sqlite3_result_int64(R,S);else w("BigInt value",S.toString(),"is too BigInt for int64.");else w("BigInt value",S.toString(),"is too BigInt.");break;case"number":{let p;if(a.isInt32(S))p=P.sqlite3_result_int;else if(B.bigIntEnabled&&Number.isInteger(S)&&a.bigIntFits64(BigInt(S)))p=P.sqlite3_result_int64;else p=P.sqlite3_result_double;p(R,S);break}case"string":{let[p,Q$]=B.allocCString(S,!0);P.sqlite3_result_text(R,p,Q$,P.SQLITE_WASM_DEALLOC);break}case"object":if(S===null){P.sqlite3_result_null(R);break}else if(a.isBindableTypedArray(S)){let p=B.allocFromTypedArray(S);P.sqlite3_result_blob(R,p,S.byteLength,P.SQLITE_WASM_DEALLOC);break}default:w("Don't not how to handle this UDF result value:",typeof S,S)}}catch(p){P.sqlite3_result_error_js(R,p)}},P.sqlite3_column_js=function(R,S,p=!0){let Q$=P.sqlite3_column_value(R,S);return Q$===0?void 0:P.sqlite3_value_to_js(Q$,p)};{let R=function(S,p,Q$){if(Q$=P[Q$],!this.ptr)this.ptr=B.allocPtr();else B.pokePtr(this.ptr,0);let r=Q$(S,p,this.ptr);if(r)return b.toss(r,arguments[2]+"() failed with code "+r);let N$=B.peekPtr(this.ptr);return N$?P.sqlite3_value_to_js(N$,!0):void 0}.bind(V());P.sqlite3_preupdate_new_js=(S,p)=>R(S,p,"sqlite3_preupdate_new"),P.sqlite3_preupdate_old_js=(S,p)=>R(S,p,"sqlite3_preupdate_old"),P.sqlite3changeset_new_js=(S,p)=>R(S,p,"sqlite3changeset_new"),P.sqlite3changeset_old_js=(S,p)=>R(S,p,"sqlite3changeset_old")}P.sqlite3_js_retry_busy=function(R,S,p){for(let Q$=1;Q$<=R;++Q$)try{if(p&&Q$>1)p(Q$);let r=S();if(P.SQLITE_BUSY===r){if(Q$===R)throw new b(r,["sqlite3_js_retry_busy() max retry attempts (",R,") reached."].join(""));continue}return r}catch(r){if(Q$<R&&r instanceof b&&r.resultCode===P.SQLITE_BUSY)continue;throw r}};let D$={WasmAllocError:m,SQLite3Error:b,capi:P,util:a,wasm:B,config:H,version:V(),client:void 0,asyncPostInit:async function R(){if(R.isReady instanceof Promise)return R.isReady;let S=this.initializersAsync;delete this.initializersAsync;let p=async()=>{if(!D$.__isUnderTest)delete D$.util,delete D$.StructBinder,delete D$.opfs;return D$},Q$=(N$)=>{throw H.error("an async sqlite3 initializer failed:",N$),N$};if(!S||!S.length)return R.isReady=p().catch(Q$);S=S.map((N$)=>{return N$ instanceof Function?async(P$)=>N$(D$):N$}),S.push(p);let r=Promise.resolve(D$);while(S.length)r=r.then(S.shift());return R.isReady=r.catch(Q$)}.bind(L),scriptInfo:void 0};if(typeof O<"u")D$.__isUnderTest=!!O;try{L.initializers.forEach((R)=>{R(D$)})}catch(R){throw console.error("sqlite3 bootstrap initializer threw:",R),R}if(delete L.initializers,L.sqlite3=D$,typeof Y<"u")Y.debugModule("sqlite3ApiBootstrap() complete",D$),D$.scriptInfo=Y;if(D$.__isUnderTest){if(typeof K<"u")D$.config.emscripten=K;let R=D$.scriptInfo?.instantiateWasm;if(R)D$.wasm.module=R.module,D$.wasm.instance=R.instance,D$.wasm.imports=R.imports}return delete globalThis.sqlite3ApiConfig,delete globalThis.sqlite3ApiBootstrap,delete L.defaultConfig,D$.asyncPostInit().then((R)=>{if(typeof Y<"u")Y.debugModule("sqlite3.asyncPostInit() complete",R);return delete R.asyncPostInit,delete R.scriptInfo,delete R.emscripten,R})},globalThis.sqlite3ApiBootstrap.initializers=[],globalThis.sqlite3ApiBootstrap.initializersAsync=[],globalThis.sqlite3ApiBootstrap.defaultConfig=Object.create(null),globalThis.sqlite3ApiBootstrap.sqlite3=void 0,globalThis.sqlite3ApiBootstrap.initializers.push(function(L){L.version={libVersion:"3.53.0",libVersionNumber:3053000,sourceId:"2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b",downloadVersion:3530000,scm:{"sha3-256":"4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b",branch:"trunk",tags:"release major-release version-3.53.0",datetime:"2026-04-09T11:41:38.498Z"}}}),globalThis.WhWasmUtilInstaller=function(Z){if(Z.bigIntEnabled===void 0)Z.bigIntEnabled=!!globalThis.BigInt64Array;let V=(...N)=>{throw Error(N.join(" "))};if(!Z.pointerSize&&!Z.pointerIR&&Z.alloc&&Z.dealloc){let N=Z.alloc(1);Z.pointerSize=typeof N==="bigint"?8:4,Z.dealloc(N)}if(Z.pointerSize&&!Z.pointerIR)Z.pointerIR=Z.pointerSize===4?"i32":"i64";let H=Z.pointerIR??="i32",P=Z.pointerSize??=H==="i32"?4:H==="i64"?8:0;if(delete Z.pointerSize,delete Z.pointerIR,H!=="i32"&&H!=="i64")V("Invalid pointerIR:",H);else if(P!==8&&P!==4)V("Invalid pointerSize:",P);let B=Z.bigIntEnabled?(N)=>BigInt(N||0):(N)=>V("BigInt support is disabled in this build."),t=P===4?(N)=>Number(N||0):B,b=t(0),w=function(...N){let q=t(0);for(let _ of N)q+=t(_);return q};{let N=Object.create(null);Object.defineProperty(Z,"ptr",{enumerable:!0,get:()=>N,set:()=>V("The ptr property is read-only.")}),function q(_,x){return Object.defineProperty(N,_,{enumerable:!0,get:()=>x,set:()=>V("ptr["+_+"] is read-only.")}),q}("null",b)("size",P)("ir",H)("coerce",t)("add",w)("addn",H===4?w:(...q)=>Number(w(...q)))}if(!Z.exports)Object.defineProperty(Z,"exports",{enumerable:!0,configurable:!0,get:()=>Z.instance?.exports});let u=Object.create(null);u.heapSize=0,u.memory=null,u.freeFuncIndexes=[],u.scopedAlloc=[],u.scopedAlloc.pushPtr=(N)=>{return u.scopedAlloc[u.scopedAlloc.length-1].push(N),N},u.utf8Decoder=new TextDecoder,u.utf8Encoder=new TextEncoder("utf-8"),Z.sizeofIR=(N)=>{switch(N){case"i8":return 1;case"i16":return 2;case"i32":case"f32":case"float":return 4;case"i64":case"f64":case"double":return 8;case"*":return P;default:return(""+N).endsWith("*")?P:void 0}};let i=function(){if(!u.memory)u.memory=Z.memory instanceof WebAssembly.Memory?Z.memory:Z.exports.memory;else if(u.heapSize===u.memory.buffer.byteLength)return u;let N=u.memory.buffer;if(u.HEAP8=new Int8Array(N),u.HEAP8U=new Uint8Array(N),u.HEAP16=new Int16Array(N),u.HEAP16U=new Uint16Array(N),u.HEAP32=new Int32Array(N),u.HEAP32U=new Uint32Array(N),u.HEAP32F=new Float32Array(N),u.HEAP64F=new Float64Array(N),Z.bigIntEnabled)if(typeof BigInt64Array<"u")u.HEAP64=new BigInt64Array(N),u.HEAP64U=new BigUint64Array(N);else V("BigInt support is enabled, but the BigInt64Array type is missing.");return u.heapSize=N.byteLength,u};Z.heap8=()=>i().HEAP8,Z.heap8u=()=>i().HEAP8U,Z.heap16=()=>i().HEAP16,Z.heap16u=()=>i().HEAP16U,Z.heap32=()=>i().HEAP32,Z.heap32u=()=>i().HEAP32U,Z.heapForSize=function(N,q=!0){let _=u.memory&&u.heapSize===u.memory.buffer.byteLength?u:i();switch(N){case Int8Array:return _.HEAP8;case Uint8Array:return _.HEAP8U;case Int16Array:return _.HEAP16;case Uint16Array:return _.HEAP16U;case Int32Array:return _.HEAP32;case Uint32Array:return _.HEAP32U;case 8:return q?_.HEAP8U:_.HEAP8;case 16:return q?_.HEAP16U:_.HEAP16;case 32:return q?_.HEAP32U:_.HEAP32;case 64:if(_.HEAP64)return q?_.HEAP64U:_.HEAP64;break;default:if(Z.bigIntEnabled){if(N===globalThis.BigUint64Array)return _.HEAP64U;else if(N===globalThis.BigInt64Array)return _.HEAP64;break}}V("Invalid heapForSize() size: expecting 8, 16, 32,","or (if BigInt is enabled) 64.")};let d=Z.functionTable;delete Z.functionTable,Z.functionTable=d?()=>d:()=>Z.exports.__indirect_function_table,Z.functionEntry=function(N){let q=Z.functionTable();return N<q.length?q.get(t(N)):void 0},Z.jsFuncToWasm=function N(q,_){if(!N._)N._={sigTypes:Object.assign(Object.create(null),{i:"i32",p:H,P:H,s:H,j:"i64",f:"f32",d:"f64"}),typeCodes:Object.assign(Object.create(null),{f64:124,f32:125,i64:126,i32:127}),uleb128Encode:(C,g,s)=>{if(s<128)C[g](s);else C[g](s%128|128,s>>7)},rxJSig:/^(\w)\((\w*)\)$/,sigParams:(C)=>{let g=N._.rxJSig.exec(C);return g?g[2]:C.substr(1)},letterType:(C)=>N._.sigTypes[C]||V("Invalid signature letter:",C),pushSigType:(C,g)=>C.push(N._.typeCodes[N._.letterType(g)])};if(typeof q==="string"){let C=_;_=q,q=C}let x=N._,J$=x.sigParams(_),G$=[1,96];x.uleb128Encode(G$,"push",J$.length);for(let C of J$)x.pushSigType(G$,C);if(_[0]==="v")G$.push(0);else G$.push(1),x.pushSigType(G$,_[0]);return x.uleb128Encode(G$,"unshift",G$.length),G$.unshift(0,97,115,109,1,0,0,0,1),G$.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array(G$)),{e:{f:q}}).exports.f};let Z$=function(q,_,x){if(x&&!u.scopedAlloc.length)V("No scopedAllocPush() scope is active.");if(typeof q==="string"){let g=_;_=q,q=g}if(typeof _!=="string"||!(q instanceof Function))V("Invalid arguments: expecting (function,signature) or (signature,function).");let J$=Z.functionTable(),G$=t(J$.length),C;while(C=u.freeFuncIndexes.pop())if(J$.get(C)){C=null;continue}else break;if(!C)C=t(G$),J$.grow(t(1));try{if(J$.set(C,q),x)u.scopedAlloc.pushPtr(C);return C}catch(g){if(!(g instanceof TypeError)){if(C===G$)u.freeFuncIndexes.push(G$);throw g}}try{let g=Z.jsFuncToWasm(q,_);if(J$.set(C,g),x)u.scopedAlloc.pushPtr(C)}catch(g){if(C===G$)u.freeFuncIndexes.push(G$);throw g}return C};Z.installFunction=(N,q)=>Z$(N,q,!1),Z.scopedInstallFunction=(N,q)=>Z$(N,q,!0),Z.uninstallFunction=function(N){if(!N&&b!==N)return;let q=Z.functionTable();u.freeFuncIndexes.push(N);let _=q.get(N);return q.set(N,null),_},Z.peek=function(q,_="i8"){if(_.endsWith("*"))_=H;let x=u.memory&&u.heapSize===u.memory.buffer.byteLength?u:i(),J$=Array.isArray(q)?[]:void 0,G$;do{if(J$)q=arguments[0].shift();switch(_){case"i1":case"i8":G$=x.HEAP8[Number(q)>>0];break;case"i16":G$=x.HEAP16[Number(q)>>1];break;case"i32":G$=x.HEAP32[Number(q)>>2];break;case"float":case"f32":G$=x.HEAP32F[Number(q)>>2];break;case"double":case"f64":G$=Number(x.HEAP64F[Number(q)>>3]);break;case"i64":if(x.HEAP64){G$=B(x.HEAP64[Number(q)>>3]);break}default:V("Invalid type for peek():",_)}if(J$)J$.push(G$)}while(J$&&arguments[0].length);return J$||G$},Z.poke=function(N,q,_="i8"){if(_.endsWith("*"))_=H;let x=u.memory&&u.heapSize===u.memory.buffer.byteLength?u:i();for(let J$ of Array.isArray(N)?N:[N])switch(_){case"i1":case"i8":x.HEAP8[Number(J$)>>0]=q;continue;case"i16":x.HEAP16[Number(J$)>>1]=q;continue;case"i32":x.HEAP32[Number(J$)>>2]=q;continue;case"float":case"f32":x.HEAP32F[Number(J$)>>2]=q;continue;case"double":case"f64":x.HEAP64F[Number(J$)>>3]=q;continue;case"i64":if(x.HEAP64){x.HEAP64[Number(J$)>>3]=B(q);continue}default:V("Invalid type for poke(): "+_)}return this},Z.peekPtr=(...N)=>Z.peek(N.length===1?N[0]:N,H),Z.pokePtr=(N,q=0)=>Z.poke(N,q,H),Z.peek8=(...N)=>Z.peek(N.length===1?N[0]:N,"i8"),Z.poke8=(N,q)=>Z.poke(N,q,"i8"),Z.peek16=(...N)=>Z.peek(N.length===1?N[0]:N,"i16"),Z.poke16=(N,q)=>Z.poke(N,q,"i16"),Z.peek32=(...N)=>Z.peek(N.length===1?N[0]:N,"i32"),Z.poke32=(N,q)=>Z.poke(N,q,"i32"),Z.peek64=(...N)=>Z.peek(N.length===1?N[0]:N,"i64"),Z.poke64=(N,q)=>Z.poke(N,q,"i64"),Z.peek32f=(...N)=>Z.peek(N.length===1?N[0]:N,"f32"),Z.poke32f=(N,q)=>Z.poke(N,q,"f32"),Z.peek64f=(...N)=>Z.peek(N.length===1?N[0]:N,"f64"),Z.poke64f=(N,q)=>Z.poke(N,q,"f64"),Z.getMemValue=Z.peek,Z.getPtrValue=Z.peekPtr,Z.setMemValue=Z.poke,Z.setPtrValue=Z.pokePtr,Z.isPtr32=(N)=>typeof N==="number"&&N>=0&&N===(N|0),Z.isPtr64=(N)=>typeof N==="bigint"?N>=0:Z.isPtr32(N),Z.isPtr=P===4?Z.isPtr32:Z.isPtr64,Z.cstrlen=function(N){if(!N||!Z.isPtr(N))return null;N=Number(N);let q=i().HEAP8U,_=N;for(;q[_]!==0;++_);return _-N};let F=typeof SharedArrayBuffer>"u"?function(){}:SharedArrayBuffer,M=(N)=>N.buffer instanceof F;Z.isSharedTypedArray=M;let e=(N,q,_)=>{if(P===8){if(typeof q==="bigint")q=Number(q);if(typeof _==="bigint")_=Number(_)}return M(N)?N.slice(q,_):N.subarray(q,_)};Z.typedArrayPart=e;let U$=(N,q,_)=>u.utf8Decoder.decode(e(N,q,_));Z.typedArrayToString=U$,Z.cstrToJs=function(N){let q=Z.cstrlen(N);return q?U$(i().HEAP8U,Number(N),Number(N)+q):q===null?q:""},Z.jstrlen=function(N){if(typeof N!=="string")return null;let q=N.length,_=0;for(let x=0;x<q;++x){let J$=N.charCodeAt(x);if(J$>=55296&&J$<=57343)J$=65536+((J$&1023)<<10)|N.charCodeAt(++x)&1023;if(J$<=127)++_;else if(J$<=2047)_+=2;else if(J$<=65535)_+=3;else _+=4}return _},Z.jstrcpy=function(N,q,_=0,x=-1,J$=!0){if(!q||!(q instanceof Int8Array)&&!(q instanceof Uint8Array))V("jstrcpy() target must be an Int8Array or Uint8Array.");if(x=Number(x),_=Number(_),x<0)x=q.length-_;if(!(x>0)||!(_>=0))return 0;let G$=0,C=N.length,g=_,s=_+x-(J$?1:0);for(;G$<C&&_<s;++G$){let X$=N.charCodeAt(G$);if(X$>=55296&&X$<=57343)X$=65536+((X$&1023)<<10)|N.charCodeAt(++G$)&1023;if(X$<=127){if(_>=s)break;q[_++]=X$}else if(X$<=2047){if(_+1>=s)break;q[_++]=192|X$>>6,q[_++]=128|X$&63}else if(X$<=65535){if(_+2>=s)break;q[_++]=224|X$>>12,q[_++]=128|X$>>6&63,q[_++]=128|X$&63}else{if(_+3>=s)break;q[_++]=240|X$>>18,q[_++]=128|X$>>12&63,q[_++]=128|X$>>6&63,q[_++]=128|X$&63}}if(J$)q[_++]=0;return _-g},Z.cstrncpy=function(N,q,_){if(!N||!q)V("cstrncpy() does not accept NULL strings.");if(_<0)_=Z.cstrlen(strPtr)+1;else if(!(_>0))return 0;let x=Z.heap8u(),J$=0,G$,C=Number(N),g=Number(q);for(;J$<_&&(G$=x[g+J$]);++J$)x[C+J$]=G$;if(J$<_)x[C+J$++]=0;return J$},Z.jstrToUintArray=(N,q=!1)=>{return u.utf8Encoder.encode(q?N+"\x00":N)};let m=(N,q)=>{if(!(N.alloc instanceof Function)||!(N.dealloc instanceof Function))V("Object is missing alloc() and/or dealloc() function(s)","required by",q+"().")},a=function(N,q,_,x){if(m(Z,x),typeof N!=="string")return null;let J$=u.utf8Encoder.encode(N),G$=_(J$.length+1),C=G$;try{let g=i().HEAP8U;return g.set(J$,Number(G$)),g[w(G$,J$.length)]=0,C=b,q?[G$,J$.length]:G$}finally{if(C)Z.dealloc(C)}};Z.allocCString=(N,q=!1)=>a(N,q,Z.alloc,"allocCString()"),Z.scopedAllocPush=function(){m(Z,"scopedAllocPush");let N=[];return u.scopedAlloc.push(N),N},Z.scopedAllocPop=function(N){m(Z,"scopedAllocPop");let q=arguments.length?u.scopedAlloc.indexOf(N):u.scopedAlloc.length-1;if(q<0)V("Invalid state object for scopedAllocPop().");if(arguments.length===0)N=u.scopedAlloc[q];u.scopedAlloc.splice(q,1);for(let _;_=N.pop();)if(Z.functionEntry(_))Z.uninstallFunction(_);else Z.dealloc(_)},Z.scopedAlloc=function(N){if(!u.scopedAlloc.length)V("No scopedAllocPush() scope is active.");let q=t(Z.alloc(N));return u.scopedAlloc.pushPtr(q)},Object.defineProperty(Z.scopedAlloc,"level",{configurable:!1,enumerable:!1,get:()=>u.scopedAlloc.length,set:()=>V("The 'active' property is read-only.")}),Z.scopedAllocCString=(N,q=!1)=>a(N,q,Z.scopedAlloc,"scopedAllocCString()");let D$=function(N,q){let _=Z[N?"scopedAlloc":"alloc"]((q.length+1)*Z.ptr.size),x=0;return q.forEach((J$)=>{Z.pokePtr(w(_,Z.ptr.size*x++),Z[N?"scopedAllocCString":"allocCString"](""+J$))}),Z.pokePtr(w(_,Z.ptr.size*x),0),_};Z.scopedAllocMainArgv=(N)=>D$(!0,N),Z.allocMainArgv=(N)=>D$(!1,N),Z.cArgvToJs=(N,q)=>{let _=[];for(let x=0;x<N;++x){let J$=Z.peekPtr(w(q,Z.ptr.size*x));_.push(J$?Z.cstrToJs(J$):null)}return _},Z.scopedAllocCall=function(N){Z.scopedAllocPush();try{return N()}finally{Z.scopedAllocPop()}};let R=function(N,q,_){m(Z,_);let x=q?"i64":H,J$=Z[_](N*(q?8:P));if(Z.poke(J$,0,x),N===1)return J$;let G$=[J$];for(let C=1;C<N;++C)J$=w(J$,q?8:P),G$[C]=J$,Z.poke(J$,0,x);return G$};Z.allocPtr=(N=1,q=!0)=>R(N,q,"alloc"),Z.scopedAllocPtr=(N=1,q=!0)=>R(N,q,"scopedAlloc"),Z.xGet=function(N){return Z.exports[N]||V("Cannot find exported symbol:",N)};let S=(N,q)=>V(N+"() requires",q,"argument(s).");Z.xCall=function(N,...q){let _=N instanceof Function?N:Z.xGet(N);if(!(_ instanceof Function))V("Exported symbol",N,"is not a function.");if(_.length!==q.length)S(_===N?_.name:N,_.length);return arguments.length===2&&Array.isArray(arguments[1])?_.apply(null,arguments[1]):_.apply(null,q)},u.xWrap=Object.create(null),u.xWrap.convert=Object.create(null),u.xWrap.convert.arg=new Map,u.xWrap.convert.result=new Map;let p=u.xWrap.convert.arg,Q$=u.xWrap.convert.result,r=t;p.set("i64",B).set("i32",(N)=>N|0).set("i16",(N)=>(N|0)&65535).set("i8",(N)=>(N|0)&255).set("f32",(N)=>Number(N).valueOf()).set("float",p.get("f32")).set("f64",p.get("f32")).set("double",p.get("f64")).set("int",p.get("i32")).set("null",(N)=>N).set(null,p.get("null")).set("**",r).set("*",r),Q$.set("*",r).set("pointer",r).set("number",(N)=>Number(N)).set("void",(N)=>{return}).set(void 0,Q$.get("void")).set("null",(N)=>N).set(null,Q$.get("null"));for(let N of["i8","i16","i32","i64","int","f32","float","f64","double"])p.set(N+"*",r),Q$.set(N+"*",r),Q$.set(N,p.get(N)||V("Maintenance required: missing arg converter for",N));let N$=(N)=>{return typeof N==="string"?Z.scopedAllocCString(N):t(N)};p.set("string",N$).set("utf8",N$),Q$.set("string",(N)=>Z.cstrToJs(N)).set("utf8",Q$.get("string")).set("string:dealloc",(N)=>{try{return N?Z.cstrToJs(N):null}finally{Z.dealloc(N)}}).set("utf8:dealloc",Q$.get("string:dealloc")).set("json",(N)=>JSON.parse(Z.cstrToJs(N))).set("json:dealloc",(N)=>{try{return N?JSON.parse(Z.cstrToJs(N)):null}finally{Z.dealloc(N)}});let P$=class{constructor(N){this.name=N.name||"unnamed adapter"}convertArg(N,q,_){V("AbstractArgAdapter must be subclassed.")}};p.FuncPtrAdapter=class N extends P${constructor(q){super(q);if(p.FuncPtrAdapter.warnOnUse)console.warn("xArg.FuncPtrAdapter is an internal-only API","and is not intended to be invoked from","client-level code. Invoked with:",q);if(this.name=q.name||"unnamed",this.signature=q.signature,q.contextKey instanceof Function){if(this.contextKey=q.contextKey,!q.bindScope)q.bindScope="context"}if(this.bindScope=q.bindScope||V("FuncPtrAdapter options requires a bindScope (explicit or implied)."),N.bindScopes.indexOf(q.bindScope)<0)V("Invalid options.bindScope ("+q.bindMod+") for FuncPtrAdapter. Expecting one of: ("+N.bindScopes.join(", ")+")");this.isTransient=this.bindScope==="transient",this.isContext=this.bindScope==="context",this.isPermanent=this.bindScope==="permanent",this.singleton=this.bindScope==="singleton"?[]:void 0,this.callProxy=q.callProxy instanceof Function?q.callProxy:void 0}contextKey(q,_){return this}contextMap(q){let _=this.__cmap||(this.__cmap=new Map),x=_.get(q);if(x===void 0)_.set(q,x=[]);return x}convertArg(q,_,x){let J$=this.singleton;if(!J$&&this.isContext)J$=this.contextMap(this.contextKey(_,x));if(J$&&J$.length===2&&J$[0]===q)return J$[1];if(q instanceof Function){if(this.callProxy)q=this.callProxy(q);let G$=Z$(q,this.signature,this.isTransient);if(N.debugFuncInstall)N.debugOut("FuncPtrAdapter installed",this,this.contextKey(_,x),"@"+G$,q);if(J$){if(J$[1]){if(N.debugFuncInstall)N.debugOut("FuncPtrAdapter uninstalling",this,this.contextKey(_,x),"@"+J$[1],q);try{u.scopedAlloc.pushPtr(J$[1])}catch(C){}}J$[0]=arguments[0]||b,J$[1]=G$}return G$}else if(Z.isPtr(q)||q===null||q===void 0){if(J$&&J$[1]&&J$[1]!==q){if(N.debugFuncInstall)N.debugOut("FuncPtrAdapter uninstalling",this,this.contextKey(_,x),"@"+J$[1],q);try{u.scopedAlloc.pushPtr(J$[1])}catch(G$){}J$[0]=J$[1]=q||b}return q||b}else throw TypeError("Invalid FuncPtrAdapter argument type. Expecting a function pointer or a "+(this.name?this.name+" ":"")+"function matching signature "+this.signature+".")}},p.FuncPtrAdapter.warnOnUse=!1,p.FuncPtrAdapter.debugFuncInstall=!1,p.FuncPtrAdapter.debugOut=console.debug.bind(console),p.FuncPtrAdapter.bindScopes=["transient","context","singleton","permanent"];let O$=(N)=>p.get(N)||V("Argument adapter not found:",N),R$=(N)=>Q$.get(N)||V("Result adapter not found:",N);u.xWrap.convertArg=(N,...q)=>O$(N)(...q),u.xWrap.convertArgNoCheck=(N,...q)=>p.get(N)(...q),u.xWrap.convertResult=(N,q)=>N===null?q:N?R$(N)(q):void 0,u.xWrap.convertResultNoCheck=(N,q)=>N===null?q:N?Q$.get(N)(q):void 0,Z.xWrap=function N(q,_,...x){if(arguments.length===3&&Array.isArray(arguments[2]))x=arguments[2];if(Z.isPtr(q))q=Z.functionEntry(q)||V("Function pointer not found in WASM function table.");let J$=q instanceof Function,G$=J$?q:Z.xGet(q);if(J$)q=G$.name||"unnamed function";if(x.length!==G$.length)S(q,G$.length);if(G$.length===0&&(_===null||_==="null"))return G$;R$(_);for(let g of x)if(g instanceof P$)p.set(g,(...s)=>g.convertArg(...s));else O$(g);let C=u.xWrap;if(G$.length===0)return(...g)=>g.length?S(q,G$.length):C.convertResult(_,G$.call(null));return function(...g){if(g.length!==G$.length)S(q,G$.length);let s=Z.scopedAllocPush();try{let X$=0;if(N.debug)console.debug("xWrap() preparing: resultType ",_,"xf",G$,"argTypes",x,"args",g);for(;X$<g.length;++X$)g[X$]=C.convertArgNoCheck(x[X$],g[X$],g,X$);if(N.debug)console.debug("xWrap() calling: resultType ",_,"xf",G$,"argTypes",x,"args",g);return C.convertResultNoCheck(_,G$.apply(null,g))}finally{Z.scopedAllocPop(s)}}};let y=function(N,q,_,x,J$,G$){if(typeof _==="string"){if(q===1)return G$.get(_);else if(q===2){if(!x)return G$.delete(_),N;else if(!(x instanceof Function))V(J$,"requires a function argument.");return G$.set(_,x),N}}V("Invalid arguments to",J$)};return Z.xWrap.resultAdapter=function N(q,_){return y(N,arguments.length,q,_,"resultAdapter()",Q$)},Z.xWrap.argAdapter=function N(q,_){return y(N,arguments.length,q,_,"argAdapter()",p)},Z.xWrap.FuncPtrAdapter=p.FuncPtrAdapter,Z.xCallWrapped=function(N,q,_,...x){if(Array.isArray(arguments[3]))x=arguments[3];return Z.xWrap(N,q,_||[]).apply(null,x||[])},Z.xWrap.testConvertArg=u.xWrap.convertArg,Z.xWrap.testConvertResult=u.xWrap.convertResult,Z},globalThis.WhWasmUtilInstaller.yawl=function(Z){let V=()=>fetch(Z.uri,{credentials:"same-origin"}),H=this,P=function(B){if(Z.wasmUtilTarget){let E=(...b)=>{throw Error(b.join(" "))},t=Z.wasmUtilTarget;if(t.module=B.module,t.instance=B.instance,!t.instance.exports.memory)t.memory=Z?.imports?.env?.memory||E("Missing 'memory' object!");if(!t.alloc&&B.instance.exports.malloc){let b=B.instance.exports;t.alloc=function(w){return b.malloc(w)||E("Allocation of",w,"bytes failed.")},t.dealloc=function(w){w&&b.free(w)}}H(t)}if(B.config=Z,Z.onload)Z.onload(B);return B};return WebAssembly.instantiateStreaming?()=>WebAssembly.instantiateStreaming(V(),Z.imports||{}).then(P):()=>V().then((B)=>B.arrayBuffer()).then((B)=>WebAssembly.instantiate(B,Z.imports||{})).then(P)}.bind(globalThis.WhWasmUtilInstaller),globalThis.Jaccwabyt=function L(Z){let V=(...f)=>{throw Error(f.join(" "))};{let f=Z.heap;if(f instanceof WebAssembly.Memory)f=function(){return new Uint8Array(this.buffer)}.bind(f);else if(!(f instanceof Function))V("config.heap must be WebAssembly.Memory instance or","a function which returns one.");Z.heap=f}["alloc","dealloc"].forEach(function(f){Z[f]instanceof Function||V("Config option '"+f+"' must be a function.")});let H=L,P=Z.heap,B=Z.alloc,E=Z.dealloc;Z.realloc;let t=Z.log||console.debug.bind(console),b=Z.memberPrefix||"",w=Z.memberSuffix||"",u=globalThis.BigInt,i=globalThis.BigInt64Array,d=Z.bigIntEnabled??!!i,Z$,F=Z.pointerSize||Z.ptrSize||(typeof(Z$=B(1))==="bigint"?8:4),M=Z.pointerIR||Z.ptrIR||(F===4?"i32":"i64");if(Z$)E(Z$),Z$=void 0;if(F!==4&&F!==8)V("Invalid pointer size:",F);if(M!=="i32"&&M!=="i64")V("Invalid pointer representation:",M);let e=d&&u?(f)=>u(f||0):(f)=>V("BigInt support is disabled in this build."),U$=M=="i32"?Number:e,m=U$(0),a=function(...f){let j$=m;for(let z$=0;z$<f.length;++z$)j$+=U$(f[z$]);return j$},D$=function(...f){return a(this.pointer,...f)};if(!H.debugFlags)H.__makeDebugFlags=function(f=null){if(f&&f.__flags)f=f.__flags;let j$=function z$(T$){if(arguments.length===0)return z$.__flags;if(T$<0)delete z$.__flags.getter,delete z$.__flags.setter,delete z$.__flags.alloc,delete z$.__flags.dealloc;else z$.__flags.getter=(1&T$)!==0,z$.__flags.setter=(2&T$)!==0,z$.__flags.alloc=(4&T$)!==0,z$.__flags.dealloc=(8&T$)!==0;return z$._flags};if(Object.defineProperty(j$,"__flags",{iterable:!1,writable:!1,value:Object.create(f)}),!f)j$(0);return j$},H.debugFlags=H.__makeDebugFlags();let R=!0,S=(f)=>f[1]==="(",p=(f)=>f==="p"||f==="P"||f==="s",Q$=(f)=>f==="P",r=(f)=>f?S(f)?"p":f[0]:void 0,N$=function(f){switch(r(f)){case"c":case"C":return"i8";case"i":return"i32";case"p":case"P":case"s":return M;case"j":return"i64";case"f":return"float";case"d":return"double"}V("Unhandled signature IR:",f)},P$=function(f){switch(r(f)){case"c":case"C":return 1;case"i":return 4;case"p":case"P":case"s":return F;case"j":return 8;case"f":return 4;case"d":return 8}V("Unhandled signature sizeof:",f)},O$=i?()=>!0:()=>V("BigInt64Array is not available."),R$=function(f){switch(r(f)){case"p":case"P":case"s":switch(F){case 4:return"getInt32";case 8:return O$()&&"getBigInt64"}break;case"i":return"getInt32";case"c":return"getInt8";case"C":return"getUint8";case"j":return O$()&&"getBigInt64";case"f":return"getFloat32";case"d":return"getFloat64"}V("Unhandled DataView getter for signature:",f)},y=function(f){switch(r(f)){case"p":case"P":case"s":switch(F){case 4:return"setInt32";case 8:return O$()&&"setBigInt64"}break;case"i":return"setInt32";case"c":return"setInt8";case"C":return"setUint8";case"j":return O$()&&"setBigInt64";case"f":return"setFloat32";case"d":return"setFloat64"}V("Unhandled DataView setter for signature:",f)},N=function(f){switch(r(f)){case"i":case"f":case"c":case"C":case"d":return Number;case"j":return e;case"p":case"P":case"s":switch(F){case 4:return Number;case 8:return e}break}V("Unhandled DataView set wrapper for signature:",f)},q=(f,j$)=>f+"::"+j$,_=function(f,j$){return()=>V(q(f,j$),"is read-only.")},x=function f(j$,z$=!0){let T$=f.map.get(j$);if(!T$&&z$)f.map.set(j$,T$=f.create(j$));return T$};x.map=new WeakMap,x.create=(f)=>{return Object.assign(Object.create(null),{o:f,p:void 0,ownsPointer:!1,zod:!1,xb:0})};let J$=(f)=>x.map.delete(f),G$=(f)=>typeof f==="number"&&f===(f|0)&&f>=0,g=F===4?G$:(f)=>typeof f==="bigint"&&f>=0||G$(f),s=(f)=>g(f)&&f>0,X$=function(f,j$,z$){let T$=x(j$,!1);if(!T$)return;if(J$(j$),!z$&&!(z$=T$.p)){console.warn("Cannot(?) happen: __freeStruct() found no instanceInfo");return}if(Array.isArray(j$.ondispose)){let u$;while(u$=j$.ondispose.pop())try{if(u$ instanceof Function)u$.call(j$);else if(u$ instanceof c6)u$.dispose();else if(g(u$))E(u$)}catch(Q6){console.warn("ondispose() for",f.structName,"@",z$,"threw. NOT propagating it.",Q6)}}else if(j$.ondispose instanceof Function)try{j$.ondispose()}catch(u$){console.warn("ondispose() for",f.structName,"@",z$,"threw. NOT propagating it.",u$)}if(delete j$.ondispose,f.debugFlags.__flags.dealloc)t("debug.dealloc:",T$.ownsPointer?"":"EXTERNAL",f.structName,"instance:",f.structInfo.sizeof,"bytes @"+z$);if(T$.ownsPointer){if(T$.zod||f.structInfo.zeroOnDispose)P().fill(0,Number(z$),Number(z$)+f.structInfo.sizeof+T$.xb);E(z$)}},I$=()=>{return{configurable:!1,writable:!1,iterable:!1}},C$=(f)=>{return{...I$(),value:f}},h$=function(j$,z$,T$){let u$,Q6=(U6)=>{s(U6)||V("Invalid pointer value",arguments[0],"for",j$.structName,"constructor.")};if(arguments.length>=3)if(T$&&typeof T$==="object")u$=T$,T$=u$?.wrap;else Q6(T$),u$={wrap:T$};else u$={};let q6=!T$,g6=0,i6=!1;if(T$)Q6(T$),i6=!!u$?.takeOwnership;else{let U6=u$?.extraBytes??0;if(U6<0||U6!==(U6|0))V("Invalid extraBytes value:",u$?.extraBytes);g6=j$.structInfo.sizeof+U6,T$=B(g6)||V("Allocation of",j$.structName,"structure failed."),i6=!0}try{if(u$?.debugFlags)z$.debugFlags(u$.debugFlags);if(j$.debugFlags.__flags.alloc)t("debug.alloc:",q6?"":"EXTERNAL",j$.structName,"instance:",j$.structInfo.sizeof,"bytes @"+T$);if(q6)P().fill(0,Number(T$),Number(T$)+g6);let U6=x(z$);if(U6.p=T$,U6.ownsPointer=i6,U6.xb=g6?g6-j$.structInfo.sizeof:0,U6.zod=!!u$?.zeroOnDispose,u$?.ondispose&&u$.ondispose!==T$)z$.addOnDispose(u$.ondispose)}catch(U6){throw X$(j$,z$,T$),U6}},m$=function f(j$){return f.rxSig1??=/^[ipPsjfdcC]$/,f.rxSig2??=/^[vipPsjfdcC]\([ipPsjfdcC]*\)$/,f.rxSig1.test(j$)||f.rxSig2.test(j$)},X6=function(f){let j$=this.get(f);if(!j$)j$=[Object.create(null),Object.create(null),Object.create(null)],this.set(f,j$);return j$}.bind(new WeakMap),O6=function(f,j$,z$,T$){let u$=X6(f)[j$];if(arguments.length===3)return u$[z$];if(T$)return u$[z$]=T$;return delete u$[z$]},j1=function(f,...j$){return O6(this,0,f,...j$)},jU=function(f,j$){m$(j$)&&V(f,"(",j$,") collides with a data type signature.")},n=function(f,...j$){return jU("Setter adaptor",f),O6(this,1,f,...j$)},v$=function(f,...j$){return jU("Struct adaptor",f),O6(this,2,f,...j$)},W$=function(f,j$){let z$=typeof j$==="string"?O6(f,2,j$):j$;if(typeof z$!=="object")V("Invalid struct mapping object. Arg =",j$,JSON.stringify(z$));return z$},M$=C$((f)=>b+f+w),x$=function(f,j$,z$=!0){let T$=f.members[j$];if(!T$&&(b||w)){for(let u$ of Object.values(f.members))if(u$.key===j$){T$=u$;break}if(!T$&&z$)V(q(f.name||f.structName,j$),"is not a mapped struct member.")}return T$},y$=function f(j$,z$,T$=!1){if(!f._)f._=(Q6)=>Q6.replace(/[^vipPsjrdcC]/g,"").replace(/[pPscC]/g,"i");let u$=x$(j$.structInfo,z$,!0);return T$?f._(u$.signature):u$.signature},S$=C$(function(){let f=[];for(let j$ of Object.keys(this.structInfo.members))f.push(this.memberKey(j$));return f}),n$=new TextDecoder("utf-8"),$6=new TextEncoder,Y6=typeof SharedArrayBuffer>"u"?function(){}:SharedArrayBuffer,r$=function(f,j$,z$){if(F===8)j$=Number(j$),z$=Number(z$);return n$.decode(f.buffer instanceof Y6?f.slice(j$,z$):f.subarray(j$,z$))},F6=function(f,j$,z$=!1){let T$=x$(f.structInfo,j$,z$);return T$&&T$.signature.length===1&&T$.signature[0]==="s"?T$:!1},G1=function(f){if(f.signature==="s")return;V("Invalid member type signature for C-string value:",JSON.stringify(f))},gU=function(j$,z$){let T$=x$(j$.structInfo,z$,!0);G1(T$);let u$=j$[T$.key];if(!u$)return null;let Q6=u$,q6=P();for(;q6[Q6]!==0;++Q6);return u$===Q6?"":r$(q6,u$,Q6)},D1=function(f,...j$){if(f.ondispose){if(!Array.isArray(f.ondispose))f.ondispose=[f.ondispose]}else f.ondispose=[];f.ondispose.push(...j$)},GU=function(f){let j$=$6.encode(f),z$=B(j$.length+1);if(!z$)V("Allocation error while duplicating string:",f);let T$=P();return T$.set(j$,Number(z$)),T$[a(z$,j$.length)]=0,z$},h0=function(f,j$,z$){let T$=x$(f.structInfo,j$,!0);G1(T$);let u$=GU(z$);return f[T$.key]=u$,D1(f,u$),f},c6=function(j$,z$){if(arguments[2]!==C$)V("Do not call the StructType constructor","from client-level code.");Object.defineProperties(this,{structName:C$(j$),structInfo:C$(z$)})};c6.prototype=Object.create(null,{dispose:C$(function(){X$(this.constructor,this)}),lookupMember:C$(function(f,j$=!0){return x$(this.structInfo,f,j$)}),memberToJsString:C$(function(f){return gU(this,f)}),memberIsString:C$(function(f,j$=!0){return F6(this,f,j$)}),memberKey:M$,memberKeys:S$,memberSignature:C$(function(f,j$=!1){return y$(this,f,j$)}),memoryDump:C$(function(){let f=this.pointer;return f?new Uint8Array(P().slice(Number(f),Number(f)+this.structInfo.sizeof)):null}),extraBytes:{configurable:!1,enumerable:!1,get:function(){return x(this,!1)?.xb??0}},zeroOnDispose:{configurable:!1,enumerable:!1,get:function(){return x(this,!1)?.zod??!!this.structInfo.zeroOnDispose}},pointer:{configurable:!1,enumerable:!1,get:function(){return x(this,!1)?.p},set:()=>V("Cannot assign the 'pointer' property of a struct.")},setMemberCString:C$(function(f,j$){return h0(this,f,j$)})}),Object.assign(c6.prototype,{addOnDispose:function(...f){return D1(this,...f),this}}),Object.defineProperties(c6,{allocCString:C$(GU),isA:C$((f)=>f instanceof c6),hasExternalPointer:C$((f)=>{let j$=x(f,!1);return!!(j$?.p&&!j$?.ownsPointer)}),memberKey:M$});let p2=function(f){return f.get||(f.adaptGet?t6.adaptGet(f.adaptGet):void 0)},nY=function(f){return f.set||(f.adaptSet?t6.adaptSet(f.adaptSet):void 0)},$L=function f(j$,z$,T$){let u$=f.innerStructs??=new Map,Q6=j$.memberKey(z$);if(T$.signature!==void 0)V("'signature' cannot be used on an embedded struct (",j$.structName,".",Q6,").");if(nY(T$))V("'set' and 'adaptSet' are not permitted for nested struct members.");T$.structName??=j$.structName+"::"+z$,T$.key=Q6,T$.name=z$,T$.constructor=this.call(this,T$.structName,T$);let q6=p2(T$),g6=Object.assign(Object.create(null),{configurable:!1,enumerable:!1,set:_(j$.structName,Q6),get:function(){let i6=this.debugFlags.__flags,U6=this.pointer,P6=U6+"."+Q6,f$=u$.get(P6);if(i6.getter)t("debug.getter: k =",P6);if(!f$)f$=new T$.constructor(a(U6,T$.offset)),u$.set(P6,f$),this.addOnDispose(()=>f$.dispose()),f$.addOnDispose(()=>u$.delete(P6));if(q6)f$=q6.apply(this,[f$,Q6]);if(i6.getter)t("debug.getter: result =",f$);return f$}});Object.defineProperty(j$.prototype,Q6,g6)},UL=function f(j$,z$,T$){if(T$=W$(this,T$),T$.members)return $L.call(this,j$,z$,T$);if(!f.cache){f.cache={getters:{},setters:{},sw:{}};let P6=["i","c","C","p","P","s","f","d","v()"];if(d)P6.push("j");P6.forEach(function(f$){f.cache.getters[f$]=R$(f$),f.cache.setters[f$]=y(f$),f.cache.sw[f$]=N(f$)}),f.sigCheck=function(f$,I6,t2,cY){if(Object.prototype.hasOwnProperty.call(f$,t2))V(f$.structName,"already has a property named",t2+".");m$(cY)||V("Malformed signature for",q(f$.structName,I6)+":",cY)}}let u$=j$.memberKey(z$);f.sigCheck(j$.prototype,z$,u$,T$.signature),T$.key=u$,T$.name=z$;let Q6=r(T$.signature),q6=q(j$.structName,u$),g6=j$.debugFlags.__flags,i6=p2(T$),U6=Object.create(null);if(U6.configurable=!1,U6.enumerable=!1,U6.get=function(){if(g6.getter)t("debug.getter:",f.cache.getters[Q6],"for",N$(Q6),q6,"@",this.pointer,"+",T$.offset,"sz",T$.sizeof);let P6=new DataView(P().buffer,Number(this.pointer)+T$.offset,T$.sizeof)[f.cache.getters[Q6]](0,R);if(i6)P6=i6.apply(this,[u$,P6]);if(g6.getter)t("debug.getter:",q6,"result =",P6);return P6},T$.readOnly)U6.set=_(j$.prototype.structName,u$);else{let P6=nY(T$);U6.set=function(f$){if(g6.setter)t("debug.setter:",f.cache.setters[Q6],"for",N$(Q6),q6,"@",this.pointer,"+",T$.offset,"sz",T$.sizeof,f$);if(!this.pointer)V("Cannot set native property on a disposed",this.structName,"instance.");if(P6)f$=P6.apply(this,[u$,f$]);if(f$===null||f$===void 0)f$=m;else if(p(T$.signature)&&!g(f$))if(Q$(T$.signature)&&f$ instanceof c6){if(f$=f$.pointer||m,g6.setter)t("debug.setter:",q6,"resolved to",f$)}else V("Invalid value for pointer-type",q6+".");new DataView(P().buffer,Number(this.pointer)+T$.offset,T$.sizeof)[f.cache.setters[Q6]](0,f.cache.sw[Q6](f$),R)}}Object.defineProperty(j$.prototype,u$,U6)},mY=function f(j$,z$,T$=Object.create(null)){let u$=function f$(I6){if(!(this instanceof f$))V("The",j$,"constructor may only be called via 'new'.");h$(f$,this,...arguments)},Q6=this,q6=(f$)=>{return typeof f$==="string"&&m$(f$)?{signature:f$}:W$(Q6,f$)};if(arguments.length===1)z$=q6(j$),j$=z$.structName||z$.name;else if(arguments.length===2)z$=q6(z$),z$.name??=j$;else z$=q6(z$);if(j$??=z$.structName,j$??=T$.structName,!j$)V("One of 'name' or 'structName' are required.");if(z$.adapt)Object.keys(z$.adapt.struct||{}).forEach((f$)=>{v$.call(f,f$,z$.adapt.struct[f$])}),Object.keys(z$.adapt.set||{}).forEach((f$)=>{n.call(f,f$,z$.adapt.set[f$])}),Object.keys(z$.adapt.get||{}).forEach((f$)=>{j1.call(f,f$,z$.adapt.get[f$])});if(!z$.members&&!z$.sizeof)z$.sizeof=P$(z$.signature);let g6=C$(H.__makeDebugFlags(t6.debugFlags));Object.defineProperties(u$,{debugFlags:g6,isA:C$((f$)=>f$ instanceof u$),memberKey:M$,memberKeys:S$,structInfo:C$(z$),structName:C$(j$),ptrAdd:C$(a)}),u$.prototype=new c6(j$,z$,C$),Object.defineProperties(u$.prototype,{debugFlags:g6,constructor:C$(u$),ptrAdd:C$(D$)});let i6=!1,U6=0,P6=!!z$.autoCalcSizeOffset;if(!P6){if(!z$.sizeof)V(j$,"description is missing its sizeof property.");z$.offset??=0}else z$.offset??=0;if(Object.keys(z$.members||{}).forEach((f$)=>{let I6=q6(z$.members[f$]);if(!I6.members&&!I6.sizeof){if(I6.sizeof=P$(I6.signature),!I6.sizeof)V(q(j$,f$),"is missing a sizeof property.",I6)}if(I6.offset===void 0)if(P6)I6.offset=U6;else V(q(j$,f$),"is missing its offset.",JSON.stringify(I6));if(z$.members[f$]=I6,!i6||i6.offset<I6.offset)i6=I6;let t2=!!I6.autoCalc;if(P6)I6.autoCalcSizeOffset=!0;if(UL.call(Q6,u$,f$,I6),t2)I6.autoCalcSizeOffset=!0;else delete I6.autoCalcSizeOffset;U6+=I6.sizeof}),!i6)V("No member property descriptions found.");if(!z$.sizeof)z$.sizeof=U6;if(z$.sizeof===1)z$.signature==="c"||z$.signature==="C"||V("Unexpected sizeof==1 member",q(j$,k),"with signature",z$.signature);else{if(z$.sizeof%4!==0)console.warn("Invalid struct member description",z$),V(j$,"sizeof is not aligned. sizeof="+z$.sizeof);if(z$.offset%4!==0)console.warn("Invalid struct member description",z$),V(j$,"offset is not aligned. offset="+z$.offset)}if(z$.sizeof<U6)console.warn("Suspect struct description:",z$,"offset =",U6),V("Mismatch in the calculated vs. the provided sizeof/offset info.","Expected sizeof",U6,"but got",z$.sizeof,"for",z$);return delete z$.autoCalcSizeOffset,u$},t6=function f(j$,z$){return arguments.length==1?mY.call(f,j$):mY.call(f,j$,z$)};if(t6.StructType=c6,t6.config=Z,t6.allocCString=GU,t6.adaptGet=j1,t6.adaptSet=n,t6.adaptStruct=v$,t6.ptrAdd=a,!t6.debugFlags)t6.debugFlags=H.__makeDebugFlags(H.debugFlags);return t6},globalThis.sqlite3ApiBootstrap.initializers.push(function(L){let Z=(...F)=>{throw Error(F.join(" "))},V=L.capi,H=L.wasm,P=L.util;globalThis.WhWasmUtilInstaller(H),delete globalThis.WhWasmUtilInstaller;let B={core:[["sqlite3_aggregate_context","void*","sqlite3_context*","int"],["sqlite3_bind_double","int","sqlite3_stmt*","int","f64"],["sqlite3_bind_int","int","sqlite3_stmt*","int","int"],["sqlite3_bind_null",void 0,"sqlite3_stmt*","int"],["sqlite3_bind_parameter_count","int","sqlite3_stmt*"],["sqlite3_bind_parameter_index","int","sqlite3_stmt*","string"],["sqlite3_bind_parameter_name","string","sqlite3_stmt*","int"],["sqlite3_bind_pointer","int","sqlite3_stmt*","int","*","string:static","*"],["sqlite3_bind_zeroblob","int","sqlite3_stmt*","int","int"],["sqlite3_busy_handler","int",["sqlite3*",new H.xWrap.FuncPtrAdapter({signature:"i(pi)",contextKey:(F,M)=>F[0]}),"*"]],["sqlite3_busy_timeout","int","sqlite3*","int"],["sqlite3_changes","int","sqlite3*"],["sqlite3_clear_bindings","int","sqlite3_stmt*"],["sqlite3_collation_needed","int","sqlite3*","*","*"],["sqlite3_column_blob","*","sqlite3_stmt*","int"],["sqlite3_column_bytes","int","sqlite3_stmt*","int"],["sqlite3_column_count","int","sqlite3_stmt*"],["sqlite3_column_decltype","string","sqlite3_stmt*","int"],["sqlite3_column_double","f64","sqlite3_stmt*","int"],["sqlite3_column_int","int","sqlite3_stmt*","int"],["sqlite3_column_name","string","sqlite3_stmt*","int"],["sqlite3_column_type","int","sqlite3_stmt*","int"],["sqlite3_column_value","sqlite3_value*","sqlite3_stmt*","int"],["sqlite3_commit_hook","void*",["sqlite3*",new H.xWrap.FuncPtrAdapter({name:"sqlite3_commit_hook",signature:"i(p)",contextKey:(F)=>F[0]}),"*"]],["sqlite3_compileoption_get","string","int"],["sqlite3_compileoption_used","int","string"],["sqlite3_complete","int","string:flexible"],["sqlite3_context_db_handle","sqlite3*","sqlite3_context*"],["sqlite3_data_count","int","sqlite3_stmt*"],["sqlite3_db_filename","string","sqlite3*","string"],["sqlite3_db_handle","sqlite3*","sqlite3_stmt*"],["sqlite3_db_name","string","sqlite3*","int"],["sqlite3_db_readonly","int","sqlite3*","string"],["sqlite3_db_status","int","sqlite3*","int","*","*","int"],["sqlite3_errcode","int","sqlite3*"],["sqlite3_errmsg","string","sqlite3*"],["sqlite3_error_offset","int","sqlite3*"],["sqlite3_errstr","string","int"],["sqlite3_exec","int",["sqlite3*","string:flexible",new H.xWrap.FuncPtrAdapter({signature:"i(pipp)",bindScope:"transient",callProxy:(F)=>{let M;return(e,U$,m,a)=>{try{let D$=H.cArgvToJs(U$,m);if(!M)M=H.cArgvToJs(U$,a);return F(D$,M)|0}catch(D$){return D$.resultCode||V.SQLITE_ERROR}}}}),"*","**"]],["sqlite3_expanded_sql","string","sqlite3_stmt*"],["sqlite3_extended_errcode","int","sqlite3*"],["sqlite3_extended_result_codes","int","sqlite3*","int"],["sqlite3_file_control","int","sqlite3*","string","int","*"],["sqlite3_finalize","int","sqlite3_stmt*"],["sqlite3_free",void 0,"*"],["sqlite3_get_autocommit","int","sqlite3*"],["sqlite3_get_auxdata","*","sqlite3_context*","int"],["sqlite3_initialize",void 0],["sqlite3_interrupt",void 0,"sqlite3*"],["sqlite3_is_interrupted","int","sqlite3*"],["sqlite3_keyword_count","int"],["sqlite3_keyword_name","int",["int","**","*"]],["sqlite3_keyword_check","int",["string","int"]],["sqlite3_libversion","string"],["sqlite3_libversion_number","int"],["sqlite3_limit","int",["sqlite3*","int","int"]],["sqlite3_malloc","*","int"],["sqlite3_next_stmt","sqlite3_stmt*",["sqlite3*","sqlite3_stmt*"]],["sqlite3_open","int","string","*"],["sqlite3_open_v2","int","string","*","int","string"],["sqlite3_realloc","*","*","int"],["sqlite3_reset","int","sqlite3_stmt*"],["sqlite3_result_blob",void 0,"sqlite3_context*","*","int","*"],["sqlite3_result_double",void 0,"sqlite3_context*","f64"],["sqlite3_result_error",void 0,"sqlite3_context*","string","int"],["sqlite3_result_error_code",void 0,"sqlite3_context*","int"],["sqlite3_result_error_nomem",void 0,"sqlite3_context*"],["sqlite3_result_error_toobig",void 0,"sqlite3_context*"],["sqlite3_result_int",void 0,"sqlite3_context*","int"],["sqlite3_result_null",void 0,"sqlite3_context*"],["sqlite3_result_pointer",void 0,"sqlite3_context*","*","string:static","*"],["sqlite3_result_subtype",void 0,"sqlite3_value*","int"],["sqlite3_result_text",void 0,"sqlite3_context*","string","int","*"],["sqlite3_result_zeroblob",void 0,"sqlite3_context*","int"],["sqlite3_rollback_hook","void*",["sqlite3*",new H.xWrap.FuncPtrAdapter({name:"sqlite3_rollback_hook",signature:"v(p)",contextKey:(F)=>F[0]}),"*"]],["sqlite3_set_auxdata",void 0,["sqlite3_context*","int","*","*"]],["sqlite3_set_errmsg","int","sqlite3*","int","string"],["sqlite3_shutdown",void 0],["sqlite3_sourceid","string"],["sqlite3_sql","string","sqlite3_stmt*"],["sqlite3_status","int","int","*","*","int"],["sqlite3_step","int","sqlite3_stmt*"],["sqlite3_stmt_busy","int","sqlite3_stmt*"],["sqlite3_stmt_readonly","int","sqlite3_stmt*"],["sqlite3_stmt_status","int","sqlite3_stmt*","int","int"],["sqlite3_strglob","int","string","string"],["sqlite3_stricmp","int","string","string"],["sqlite3_strlike","int","string","string","int"],["sqlite3_strnicmp","int","string","string","int"],["sqlite3_table_column_metadata","int","sqlite3*","string","string","string","**","**","*","*","*"],["sqlite3_total_changes","int","sqlite3*"],["sqlite3_trace_v2","int",["sqlite3*","int",new H.xWrap.FuncPtrAdapter({name:"sqlite3_trace_v2::callback",signature:"i(ippp)",contextKey:(F,M)=>F[0]}),"*"]],["sqlite3_txn_state","int",["sqlite3*","string"]],["sqlite3_uri_boolean","int","sqlite3_filename","string","int"],["sqlite3_uri_key","string","sqlite3_filename","int"],["sqlite3_uri_parameter","string","sqlite3_filename","string"],["sqlite3_user_data","void*","sqlite3_context*"],["sqlite3_value_blob","*","sqlite3_value*"],["sqlite3_value_bytes","int","sqlite3_value*"],["sqlite3_value_double","f64","sqlite3_value*"],["sqlite3_value_dup","sqlite3_value*","sqlite3_value*"],["sqlite3_value_free",void 0,"sqlite3_value*"],["sqlite3_value_frombind","int","sqlite3_value*"],["sqlite3_value_int","int","sqlite3_value*"],["sqlite3_value_nochange","int","sqlite3_value*"],["sqlite3_value_numeric_type","int","sqlite3_value*"],["sqlite3_value_pointer","*","sqlite3_value*","string:static"],["sqlite3_value_subtype","int","sqlite3_value*"],["sqlite3_value_type","int","sqlite3_value*"],["sqlite3_vfs_find","*","string"],["sqlite3_vfs_register","int","sqlite3_vfs*","int"],["sqlite3_vfs_unregister","int","sqlite3_vfs*"]],int64:[["sqlite3_bind_int64","int",["sqlite3_stmt*","int","i64"]],["sqlite3_changes64","i64",["sqlite3*"]],["sqlite3_column_int64","i64",["sqlite3_stmt*","int"]],["sqlite3_deserialize","int","sqlite3*","string","*","i64","i64","int"],["sqlite3_last_insert_rowid","i64",["sqlite3*"]],["sqlite3_malloc64","*","i64"],["sqlite3_msize","i64","*"],["sqlite3_overload_function","int",["sqlite3*","string","int"]],["sqlite3_realloc64","*","*","i64"],["sqlite3_result_int64",void 0,"*","i64"],["sqlite3_result_zeroblob64","int","*","i64"],["sqlite3_serialize","*","sqlite3*","string","*","int"],["sqlite3_set_last_insert_rowid",void 0,["sqlite3*","i64"]],["sqlite3_status64","int","int","*","*","int"],["sqlite3_db_status64","int","sqlite3*","int","*","*","int"],["sqlite3_total_changes64","i64",["sqlite3*"]],["sqlite3_update_hook","*",["sqlite3*",new H.xWrap.FuncPtrAdapter({name:"sqlite3_update_hook::callback",signature:"v(pippj)",contextKey:(F)=>F[0],callProxy:(F)=>{return(M,e,U$,m,a)=>{F(M,e,H.cstrToJs(U$),H.cstrToJs(m),a)}}}),"*"]],["sqlite3_uri_int64","i64",["sqlite3_filename","string","i64"]],["sqlite3_value_int64","i64","sqlite3_value*"]],wasmInternal:[["sqlite3__wasm_db_reset","int","sqlite3*"],["sqlite3__wasm_db_vfs","sqlite3_vfs*","sqlite3*","string"],["sqlite3__wasm_vfs_create_file","int","sqlite3_vfs*","string","*","int"],["sqlite3__wasm_posix_create_file","int","string","*","int"],["sqlite3__wasm_vfs_unlink","int","sqlite3_vfs*","string"],["sqlite3__wasm_qfmt_token","string:dealloc","string","int"]]};if(H.exports.sqlite3_progress_handler)B.core.push(["sqlite3_progress_handler",void 0,["sqlite3*","int",new H.xWrap.FuncPtrAdapter({name:"xProgressHandler",signature:"i(p)",bindScope:"context",contextKey:(F,M)=>F[0]}),"*"]]);if(H.exports.sqlite3_stmt_explain)B.core.push(["sqlite3_stmt_explain","int","sqlite3_stmt*","int"],["sqlite3_stmt_isexplain","int","sqlite3_stmt*"]);if(H.exports.sqlite3_set_authorizer)B.core.push(["sqlite3_set_authorizer","int",["sqlite3*",new H.xWrap.FuncPtrAdapter({name:"sqlite3_set_authorizer::xAuth",signature:"i(pissss)",contextKey:(F,M)=>F[0],callProxy:(F)=>{return(M,e,U$,m,a,D$)=>{try{return U$=U$&&H.cstrToJs(U$),m=m&&H.cstrToJs(m),a=a&&H.cstrToJs(a),D$=D$&&H.cstrToJs(D$),F(M,e,U$,m,a,D$)|0}catch(R){return R.resultCode||V.SQLITE_ERROR}}}}),"*"]]);if(H.exports.sqlite3_column_origin_name)B.core.push(["sqlite3_column_database_name","string","sqlite3_stmt*","int"],["sqlite3_column_origin_name","string","sqlite3_stmt*","int"],["sqlite3_column_table_name","string","sqlite3_stmt*","int"]);if(H.bigIntEnabled&&!!H.exports.sqlite3_declare_vtab)B.int64.push(["sqlite3_create_module","int",["sqlite3*","string","sqlite3_module*","*"]],["sqlite3_create_module_v2","int",["sqlite3*","string","sqlite3_module*","*","*"]],["sqlite3_declare_vtab","int",["sqlite3*","string:flexible"]],["sqlite3_drop_modules","int",["sqlite3*","**"]],["sqlite3_vtab_collation","string","sqlite3_index_info*","int"],["sqlite3_vtab_distinct","int","sqlite3_index_info*"],["sqlite3_vtab_in","int","sqlite3_index_info*","int","int"],["sqlite3_vtab_in_first","int","sqlite3_value*","**"],["sqlite3_vtab_in_next","int","sqlite3_value*","**"],["sqlite3_vtab_nochange","int","sqlite3_context*"],["sqlite3_vtab_on_conflict","int","sqlite3*"],["sqlite3_vtab_rhs_value","int","sqlite3_index_info*","int","**"]);if(H.bigIntEnabled&&!!H.exports.sqlite3_preupdate_hook)B.int64.push(["sqlite3_preupdate_blobwrite","int","sqlite3*"],["sqlite3_preupdate_count","int","sqlite3*"],["sqlite3_preupdate_depth","int","sqlite3*"],["sqlite3_preupdate_hook","*",["sqlite3*",new H.xWrap.FuncPtrAdapter({name:"sqlite3_preupdate_hook",signature:"v(ppippjj)",contextKey:(F)=>F[0],callProxy:(F)=>{return(M,e,U$,m,a,D$,R)=>{F(M,e,U$,H.cstrToJs(m),H.cstrToJs(a),D$,R)}}}),"*"]],["sqlite3_preupdate_new","int",["sqlite3*","int","**"]],["sqlite3_preupdate_old","int",["sqlite3*","int","**"]]);if(H.bigIntEnabled&&!!H.exports.sqlite3changegroup_add&&!!H.exports.sqlite3session_create&&!!H.exports.sqlite3_preupdate_hook){let F={signature:"i(ps)",callProxy:(M)=>{return(e,U$)=>{try{return M(e,H.cstrToJs(U$))|0}catch(m){return m.resultCode||V.SQLITE_ERROR}}}};B.int64.push(["sqlite3changegroup_add","int",["sqlite3_changegroup*","int","void*"]],["sqlite3changegroup_add_strm","int",["sqlite3_changegroup*",new H.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3changegroup_delete",void 0,["sqlite3_changegroup*"]],["sqlite3changegroup_new","int",["**"]],["sqlite3changegroup_output","int",["sqlite3_changegroup*","int*","**"]],["sqlite3changegroup_output_strm","int",["sqlite3_changegroup*",new H.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply","int",["sqlite3*","int","void*",new H.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...F}),new H.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply_strm","int",["sqlite3*",new H.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new H.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...F}),new H.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply_v2","int",["sqlite3*","int","void*",new H.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...F}),new H.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v2_strm","int",["sqlite3*",new H.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new H.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...F}),new H.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v3","int",["sqlite3*","int","void*",new H.xWrap.FuncPtrAdapter({name:"xFilter",signature:"i(pp)",bindScope:"transient"}),new H.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v3_strm","int",["sqlite3*",new H.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new H.xWrap.FuncPtrAdapter({name:"xFilter",signature:"i(pp)",bindScope:"transient"}),new H.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_concat","int",["int","void*","int","void*","int*","**"]],["sqlite3changeset_concat_strm","int",[new H.xWrap.FuncPtrAdapter({name:"xInputA",signature:"i(ppp)",bindScope:"transient"}),"void*",new H.xWrap.FuncPtrAdapter({name:"xInputB",signature:"i(ppp)",bindScope:"transient"}),"void*",new H.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_conflict","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_finalize","int",["sqlite3_changeset_iter*"]],["sqlite3changeset_fk_conflicts","int",["sqlite3_changeset_iter*","int*"]],["sqlite3changeset_invert","int",["int","void*","int*","**"]],["sqlite3changeset_invert_strm","int",[new H.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new H.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_new","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_next","int",["sqlite3_changeset_iter*"]],["sqlite3changeset_old","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_op","int",["sqlite3_changeset_iter*","**","int*","int*","int*"]],["sqlite3changeset_pk","int",["sqlite3_changeset_iter*","**","int*"]],["sqlite3changeset_start","int",["**","int","*"]],["sqlite3changeset_start_strm","int",["**",new H.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3changeset_start_v2","int",["**","int","*","int"]],["sqlite3changeset_start_v2_strm","int",["**",new H.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*","int"]],["sqlite3session_attach","int",["sqlite3_session*","string"]],["sqlite3session_changeset","int",["sqlite3_session*","int*","**"]],["sqlite3session_changeset_size","i64",["sqlite3_session*"]],["sqlite3session_changeset_strm","int",["sqlite3_session*",new H.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3session_config","int",["int","void*"]],["sqlite3session_create","int",["sqlite3*","string","**"]],["sqlite3session_diff","int",["sqlite3_session*","string","string","**"]],["sqlite3session_enable","int",["sqlite3_session*","int"]],["sqlite3session_indirect","int",["sqlite3_session*","int"]],["sqlite3session_isempty","int",["sqlite3_session*"]],["sqlite3session_memory_used","i64",["sqlite3_session*"]],["sqlite3session_object_config","int",["sqlite3_session*","int","void*"]],["sqlite3session_patchset","int",["sqlite3_session*","*","**"]],["sqlite3session_patchset_strm","int",["sqlite3_session*",new H.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3session_table_filter",void 0,["sqlite3_session*",new H.xWrap.FuncPtrAdapter({name:"xFilter",...F,contextKey:(M,e)=>M[0]}),"*"]])}L.StructBinder=globalThis.Jaccwabyt({heap:H.heap8u,alloc:H.alloc,dealloc:H.dealloc,bigIntEnabled:H.bigIntEnabled,pointerIR:H.ptr.ir,memberPrefix:"$"}),delete globalThis.Jaccwabyt;{let F=H.xWrap.argAdapter("string");H.xWrap.argAdapter("string:flexible",(m)=>F(P.flexibleString(m))),H.xWrap.argAdapter("string:static",function(m){if(H.isPtr(m))return m;return m=""+m,this[m]||(this[m]=H.allocCString(m))}.bind(Object.create(null)));let M=H.xWrap.argAdapter("*"),e=function(){};if(H.xWrap.argAdapter("sqlite3_filename",M)("sqlite3_context*",M)("sqlite3_value*",M)("void*",M)("sqlite3_changegroup*",M)("sqlite3_changeset_iter*",M)("sqlite3_session*",M)("sqlite3_stmt*",(m)=>M(m instanceof(L?.oo1?.Stmt||e)?m.pointer:m))("sqlite3*",(m)=>M(m instanceof(L?.oo1?.DB||e)?m.pointer:m))("sqlite3_vfs*",(m)=>{if(typeof m==="string")return V.sqlite3_vfs_find(m)||L.SQLite3Error.toss(V.SQLITE_NOTFOUND,"Unknown sqlite3_vfs name:",m);return M(m instanceof(V.sqlite3_vfs||e)?m.pointer:m)}),H.exports.sqlite3_declare_vtab)H.xWrap.argAdapter("sqlite3_index_info*",(m)=>M(m instanceof(V.sqlite3_index_info||e)?m.pointer:m))("sqlite3_module*",(m)=>M(m instanceof(V.sqlite3_module||e)?m.pointer:m));let U$=H.xWrap.resultAdapter("*");H.xWrap.resultAdapter("sqlite3*",U$)("sqlite3_context*",U$)("sqlite3_stmt*",U$)("sqlite3_value*",U$)("sqlite3_vfs*",U$)("void*",U$);for(let m of B.core)V[m[0]]=H.xWrap.apply(null,m);for(let m of B.wasmInternal)P[m[0]]=H.xWrap.apply(null,m);for(let m of B.int64)V[m[0]]=H.bigIntEnabled?H.xWrap.apply(null,m):()=>Z(m[0]+"() is unavailable due to lack","of BigInt support in this build.");delete B.core,delete B.int64,delete B.wasmInternal,P.sqlite3__wasm_db_error=function(m,a,D$){if(!m)return V.SQLITE_MISUSE;if(a instanceof L.WasmAllocError)a=V.SQLITE_NOMEM,D$=0;else if(a instanceof Error)D$=D$||""+a,a=a.resultCode||V.SQLITE_ERROR;return V.sqlite3_set_errmsg(m,a,D$)||a}}{let F=H.xCall("sqlite3__wasm_enum_json");if(!F)Z("Maintenance required: increase sqlite3__wasm_enum_json()'s","static buffer size!");H.ctype=JSON.parse(H.cstrToJs(F));let M=["access","authorizer","blobFinalizers","changeset","config","dataTypes","dbConfig","dbStatus","encodings","fcntl","flock","ioCap","limits","openFlags","prepareFlags","resultCodes","sqlite3Status","stmtStatus","syncFlags","trace","txnState","udfFlags","version"];if(H.bigIntEnabled)M.push("serialize","session","vtab");for(let m of M)for(let a of Object.entries(H.ctype[m]))V[a[0]]=a[1];if(!H.functionEntry(V.SQLITE_WASM_DEALLOC))Z("Internal error: cannot resolve exported function","entry SQLITE_WASM_DEALLOC (=="+V.SQLITE_WASM_DEALLOC+").");let e=Object.create(null);for(let m of Object.entries(H.ctype.resultCodes))e[m[1]]=m[0];V.sqlite3_js_rc_str=(m)=>e[m];let U$=Object.assign(Object.create(null),{WasmTestStruct:!0,sqlite3_index_info:!H.bigIntEnabled,sqlite3_index_constraint:!H.bigIntEnabled,sqlite3_index_orderby:!H.bigIntEnabled,sqlite3_index_constraint_usage:!H.bigIntEnabled});for(let m of H.ctype.structs)if(!U$[m.name])V[m.name]=L.StructBinder(m);if(V.sqlite3_index_info){for(let m of["sqlite3_index_constraint","sqlite3_index_orderby","sqlite3_index_constraint_usage"])V.sqlite3_index_info[m]=V[m],delete V[m];V.sqlite3_vtab_config=H.xWrap("sqlite3__wasm_vtab_config","int",["sqlite3*","int","int"])}}let E=(F,M,e)=>{return P.sqlite3__wasm_db_error(F,V.SQLITE_MISUSE,M+"() requires "+e+" argument"+(e===1?"":"s")+".")},t=(F)=>{return P.sqlite3__wasm_db_error(F,V.SQLITE_FORMAT,"SQLITE_UTF8 is the only supported encoding.")},b=(F)=>H.xWrap.argAdapter("sqlite3*")(F),w=(F)=>H.isPtr(F)?H.cstrToJs(F):F,u=function(F,M){F=b(F);let e=this.dbMap.get(F);if(!M)return this.dbMap.delete(F),e;else if(!e&&M>0)this.dbMap.set(F,e=Object.create(null));return e}.bind(Object.assign(Object.create(null),{dbMap:new Map}));if(u.addCollation=function(F,M){let e=u(F,1);if(!e.collation)e.collation=new Set;e.collation.add(w(M).toLowerCase())},u._addUDF=function(F,M,e,U$){M=w(M).toLowerCase();let m=U$.get(M);if(!m)U$.set(M,m=new Set);m.add(e<0?-1:e)},u.addFunction=function(F,M,e){let U$=u(F,1);if(!U$.udf)U$.udf=new Map;this._addUDF(F,M,e,U$.udf)},H.exports.sqlite3_create_window_function)u.addWindowFunc=function(F,M,e){let U$=u(F,1);if(!U$.wudf)U$.wudf=new Map;this._addUDF(F,M,e,U$.wudf)};u.cleanup=function(F){F=b(F);for(let U$ of[["sqlite3_busy_handler",3],["sqlite3_commit_hook",3],["sqlite3_preupdate_hook",3],["sqlite3_progress_handler",4],["sqlite3_rollback_hook",3],["sqlite3_set_authorizer",3],["sqlite3_trace_v2",4],["sqlite3_update_hook",3]]){let[m,a]=U$;if(!H.exports[m])continue;let D$=[F];D$.length=a;try{V[m](...D$)}catch(R){L.config.warn("close-time call of",m+"(",D$,") threw:",R)}}let M=u(F,0);if(!M)return;if(M.collation){for(let U$ of M.collation)try{V.sqlite3_create_collation_v2(F,U$,V.SQLITE_UTF8,0,0,0)}catch(m){}delete M.collation}let e;for(e=0;e<2;++e){let U$=e?M.wudf:M.udf;if(!U$)continue;let m=e?V.sqlite3_create_window_function:V.sqlite3_create_function_v2;for(let a of U$){let D$=a[0],R=a[1],S=[F,D$,0,V.SQLITE_UTF8,0,0,0,0,0];if(e)S.push(0);for(let p of R)try{S[2]=p,m.apply(null,S)}catch(Q$){}R.clear()}U$.clear()}delete M.udf,delete M.wudf};{let F=H.xWrap("sqlite3_close_v2","int","sqlite3*");V.sqlite3_close_v2=function(M){if(arguments.length!==1)return E(M,"sqlite3_close_v2",1);if(M)try{u.cleanup(M)}catch(e){}return F(M)}}if(V.sqlite3session_create){let F=H.xWrap("sqlite3session_delete",void 0,["sqlite3_session*"]);V.sqlite3session_delete=function(M){if(arguments.length!==1)return E(pDb,"sqlite3session_delete",1);else if(M)V.sqlite3session_table_filter(M,0,0);F(M)}}{let F=(e,U$)=>{return"argv["+U$+"]:"+e[0]+":"+H.cstrToJs(e[1]).toLowerCase()},M=H.xWrap("sqlite3_create_collation_v2","int",["sqlite3*","string","int","*",new H.xWrap.FuncPtrAdapter({name:"xCompare",signature:"i(pipip)",contextKey:F}),new H.xWrap.FuncPtrAdapter({name:"xDestroy",signature:"v(p)",contextKey:F})]);V.sqlite3_create_collation_v2=function(e,U$,m,a,D$,R){if(arguments.length!==6)return E(e,"sqlite3_create_collation_v2",6);else if((m&15)===0)m|=V.SQLITE_UTF8;else if(V.SQLITE_UTF8!==(m&15))return t(e);try{let S=M(e,U$,m,a,D$,R);if(S===0&&D$ instanceof Function)u.addCollation(e,U$);return S}catch(S){return P.sqlite3__wasm_db_error(e,S)}},V.sqlite3_create_collation=(e,U$,m,a,D$)=>{return arguments.length===5?V.sqlite3_create_collation_v2(e,U$,m,a,D$,0):E(e,"sqlite3_create_collation",5)}}{let F=function(m,a){return m[0]+":"+(m[2]<0?-1:m[2])+":"+a+":"+H.cstrToJs(m[1]).toLowerCase()},M=Object.assign(Object.create(null),{xInverseAndStep:{signature:"v(pip)",contextKey:F,callProxy:(m)=>{return(a,D$,R)=>{try{m(a,...V.sqlite3_values_to_js(D$,R))}catch(S){V.sqlite3_result_error_js(a,S)}}}},xFinalAndValue:{signature:"v(p)",contextKey:F,callProxy:(m)=>{return(a)=>{try{V.sqlite3_result_js(a,m(a))}catch(D$){V.sqlite3_result_error_js(a,D$)}}}},xFunc:{signature:"v(pip)",contextKey:F,callProxy:(m)=>{return(a,D$,R)=>{try{V.sqlite3_result_js(a,m(a,...V.sqlite3_values_to_js(D$,R)))}catch(S){V.sqlite3_result_error_js(a,S)}}}},xDestroy:{signature:"v(p)",contextKey:F,callProxy:(m)=>{return(a)=>{try{m(a)}catch(D$){console.error("UDF xDestroy method threw:",D$)}}}}}),e=H.xWrap("sqlite3_create_function_v2","int",["sqlite3*","string","int","int","*",new H.xWrap.FuncPtrAdapter({name:"xFunc",...M.xFunc}),new H.xWrap.FuncPtrAdapter({name:"xStep",...M.xInverseAndStep}),new H.xWrap.FuncPtrAdapter({name:"xFinal",...M.xFinalAndValue}),new H.xWrap.FuncPtrAdapter({name:"xDestroy",...M.xDestroy})]),U$=H.exports.sqlite3_create_window_function?H.xWrap("sqlite3_create_window_function","int",["sqlite3*","string","int","int","*",new H.xWrap.FuncPtrAdapter({name:"xStep",...M.xInverseAndStep}),new H.xWrap.FuncPtrAdapter({name:"xFinal",...M.xFinalAndValue}),new H.xWrap.FuncPtrAdapter({name:"xValue",...M.xFinalAndValue}),new H.xWrap.FuncPtrAdapter({name:"xInverse",...M.xInverseAndStep}),new H.xWrap.FuncPtrAdapter({name:"xDestroy",...M.xDestroy})]):void 0;if(V.sqlite3_create_function_v2=function m(a,D$,R,S,p,Q$,r,N$,P$){if(m.length!==arguments.length)return E(a,"sqlite3_create_function_v2",m.length);else if((S&15)===0)S|=V.SQLITE_UTF8;else if(V.SQLITE_UTF8!==(S&15))return t(a);try{let O$=e(a,D$,R,S,p,Q$,r,N$,P$);if(O$===0&&(Q$ instanceof Function||r instanceof Function||N$ instanceof Function||P$ instanceof Function))u.addFunction(a,D$,R);return O$}catch(O$){return console.error("sqlite3_create_function_v2() setup threw:",O$),P.sqlite3__wasm_db_error(a,O$,"Creation of UDF threw: "+O$)}},V.sqlite3_create_function=function m(a,D$,R,S,p,Q$,r,N$){return m.length===arguments.length?V.sqlite3_create_function_v2(a,D$,R,S,p,Q$,r,N$,0):E(a,"sqlite3_create_function",m.length)},U$)V.sqlite3_create_window_function=function m(a,D$,R,S,p,Q$,r,N$,P$,O$){if(m.length!==arguments.length)return E(a,"sqlite3_create_window_function",m.length);else if((S&15)===0)S|=V.SQLITE_UTF8;else if(V.SQLITE_UTF8!==(S&15))return t(a);try{let R$=U$(a,D$,R,S,p,Q$,r,N$,P$,O$);if(R$===0&&(Q$ instanceof Function||r instanceof Function||N$ instanceof Function||P$ instanceof Function||O$ instanceof Function))u.addWindowFunc(a,D$,R);return R$}catch(R$){return console.error("sqlite3_create_window_function() setup threw:",R$),P.sqlite3__wasm_db_error(a,R$,"Creation of UDF threw: "+R$)}};else delete V.sqlite3_create_window_function;if(V.sqlite3_create_function_v2.udfSetResult=V.sqlite3_create_function.udfSetResult=V.sqlite3_result_js,V.sqlite3_create_window_function)V.sqlite3_create_window_function.udfSetResult=V.sqlite3_result_js;if(V.sqlite3_create_function_v2.udfConvertArgs=V.sqlite3_create_function.udfConvertArgs=V.sqlite3_values_to_js,V.sqlite3_create_window_function)V.sqlite3_create_window_function.udfConvertArgs=V.sqlite3_values_to_js;if(V.sqlite3_create_function_v2.udfSetError=V.sqlite3_create_function.udfSetError=V.sqlite3_result_error_js,V.sqlite3_create_window_function)V.sqlite3_create_window_function.udfSetError=V.sqlite3_result_error_js}{let F=(e,U$)=>{if(typeof e==="string")U$=-1;else if(P.isSQLableTypedArray(e))U$=e.byteLength,e=H.typedArrayToString(e instanceof ArrayBuffer?new Uint8Array(e):e);else if(Array.isArray(e))e=e.join(""),U$=-1;return[e,U$]},M={basic:H.xWrap("sqlite3_prepare_v3","int",["sqlite3*","string","int","int","**","**"]),full:H.xWrap("sqlite3_prepare_v3","int",["sqlite3*","*","int","int","**","**"])};V.sqlite3_prepare_v3=function e(U$,m,a,D$,R,S){if(e.length!==arguments.length)return E(U$,"sqlite3_prepare_v3",e.length);let[p,Q$]=F(m,Number(a));switch(typeof p){case"string":return M.basic(U$,p,Q$,D$,R,null);case typeof H.ptr.null:return M.full(U$,H.ptr.coerce(p),Q$,D$,R,S);default:return P.sqlite3__wasm_db_error(U$,V.SQLITE_MISUSE,"Invalid SQL argument type for sqlite3_prepare_v2/v3(). typeof="+typeof p)}},V.sqlite3_prepare_v2=function e(U$,m,a,D$,R){return e.length===arguments.length?V.sqlite3_prepare_v3(U$,m,a,0,D$,R):E(U$,"sqlite3_prepare_v2",e.length)}}{let F=H.xWrap("sqlite3_bind_text","int",["sqlite3_stmt*","int","string","int","*"]),M=H.xWrap("sqlite3_bind_blob","int",["sqlite3_stmt*","int","*","int","*"]);V.sqlite3_bind_text=function e(U$,m,a,D$,R){if(e.length!==arguments.length)return E(V.sqlite3_db_handle(U$),"sqlite3_bind_text",e.length);else if(H.isPtr(a)||a===null)return F(U$,m,a,D$,R);else if(a instanceof ArrayBuffer)a=new Uint8Array(a);else if(Array.isArray(pMem))a=pMem.join("");let S,p;try{if(P.isSQLableTypedArray(a))S=H.allocFromTypedArray(a),p=a.byteLength;else if(typeof a==="string")[S,p]=H.allocCString(a);else return P.sqlite3__wasm_db_error(V.sqlite3_db_handle(U$),V.SQLITE_MISUSE,"Invalid 3rd argument type for sqlite3_bind_text().");return F(U$,m,S,p,V.SQLITE_WASM_DEALLOC)}catch(Q$){return H.dealloc(S),P.sqlite3__wasm_db_error(V.sqlite3_db_handle(U$),Q$)}},V.sqlite3_bind_blob=function e(U$,m,a,D$,R){if(e.length!==arguments.length)return E(V.sqlite3_db_handle(U$),"sqlite3_bind_blob",e.length);else if(H.isPtr(a)||a===null)return M(U$,m,a,D$,R);else if(a instanceof ArrayBuffer)a=new Uint8Array(a);else if(Array.isArray(a))a=a.join("");let S,p;try{if(P.isBindableTypedArray(a))S=H.allocFromTypedArray(a),p=D$>=0?D$:a.byteLength;else if(typeof a==="string")[S,p]=H.allocCString(a);else return P.sqlite3__wasm_db_error(V.sqlite3_db_handle(U$),V.SQLITE_MISUSE,"Invalid 3rd argument type for sqlite3_bind_blob().");return M(U$,m,S,p,V.SQLITE_WASM_DEALLOC)}catch(Q$){return H.dealloc(S),P.sqlite3__wasm_db_error(V.sqlite3_db_handle(U$),Q$)}}}if(!V.sqlite3_column_text){let F=H.xWrap.argAdapter("sqlite3_stmt*"),M=H.xWrap.argAdapter("int"),e=H.xWrap.argAdapter("sqlite3_value*"),U$=(m,a)=>H.typedArrayToString(H.heap8u(),Number(m),Number(m)+a);V.sqlite3_column_text=function(m,a){let D$=F(m),R=M(a),S=H.exports.sqlite3_column_text(D$,R);return S?U$(S,H.exports.sqlite3_column_bytes(D$,R)):null},V.sqlite3_value_text=function(m){let a=e(m),D$=H.exports.sqlite3_value_text(a);return D$?U$(D$,H.exports.sqlite3_value_bytes(a)):null}}V.sqlite3_config=function(F,...M){if(arguments.length<2)return V.SQLITE_MISUSE;switch(F){case V.SQLITE_CONFIG_COVERING_INDEX_SCAN:case V.SQLITE_CONFIG_MEMSTATUS:case V.SQLITE_CONFIG_SMALL_MALLOC:case V.SQLITE_CONFIG_SORTERREF_SIZE:case V.SQLITE_CONFIG_STMTJRNL_SPILL:case V.SQLITE_CONFIG_URI:return H.exports.sqlite3__wasm_config_i(F,M[0]);case V.SQLITE_CONFIG_LOOKASIDE:return H.exports.sqlite3__wasm_config_ii(F,M[0],M[1]);case V.SQLITE_CONFIG_MEMDB_MAXSIZE:return H.exports.sqlite3__wasm_config_j(F,M[0]);case V.SQLITE_CONFIG_GETMALLOC:case V.SQLITE_CONFIG_GETMUTEX:case V.SQLITE_CONFIG_GETPCACHE2:case V.SQLITE_CONFIG_GETPCACHE:case V.SQLITE_CONFIG_HEAP:case V.SQLITE_CONFIG_LOG:case V.SQLITE_CONFIG_MALLOC:case V.SQLITE_CONFIG_MMAP_SIZE:case V.SQLITE_CONFIG_MULTITHREAD:case V.SQLITE_CONFIG_MUTEX:case V.SQLITE_CONFIG_PAGECACHE:case V.SQLITE_CONFIG_PCACHE2:case V.SQLITE_CONFIG_PCACHE:case V.SQLITE_CONFIG_PCACHE_HDRSZ:case V.SQLITE_CONFIG_PMASZ:case V.SQLITE_CONFIG_SERIALIZED:case V.SQLITE_CONFIG_SINGLETHREAD:case V.SQLITE_CONFIG_SQLLOG:case V.SQLITE_CONFIG_WIN32_HEAPSIZE:default:return V.SQLITE_NOTFOUND}};{let F=new Set;V.sqlite3_auto_extension=function(M){if(M instanceof Function)M=H.installFunction("i(ppp)",M);else if(arguments.length!==1||!H.isPtr(M))return V.SQLITE_MISUSE;let e=H.exports.sqlite3_auto_extension(M);if(M!==arguments[0])if(e===0)F.add(M);else H.uninstallFunction(M);return e},V.sqlite3_cancel_auto_extension=function(M){if(!M||arguments.length!==1||!H.isPtr(M))return 0;return H.exports.sqlite3_cancel_auto_extension(M)},V.sqlite3_reset_auto_extension=function(){H.exports.sqlite3_reset_auto_extension();for(let M of F)H.uninstallFunction(M);F.clear()}}H.xWrap.FuncPtrAdapter.warnOnUse=!0;let i=L.StructBinder,d=function F(M,e,U$,m=F.installMethodArgcCheck){if(!(M instanceof i.StructType))Z("Usage error: target object is-not-a StructType.");else if(!(U$ instanceof Function)&&!H.isPtr(U$))Z("Usage error: expecting a Function or WASM pointer to one.");if(arguments.length===1)return(S,p)=>F(M,S,p,m);if(!F.argcProxy)F.argcProxy=function(S,p,Q$,r){return function(...N$){if(Q$.length!==arguments.length)Z("Argument mismatch for",S.structInfo.name+"::"+p+": Native signature is:",r);return Q$.apply(this,N$)}},F.removeFuncList=function(){if(this.ondispose.__removeFuncList)this.ondispose.__removeFuncList.forEach((S,p)=>{if(H.isPtr(S))try{H.uninstallFunction(S)}catch(Q$){}}),delete this.ondispose.__removeFuncList};let a=M.memberSignature(e);if(a.length<2)Z("Member",e,"does not have a function pointer signature:",a);let D$=M.memberKey(e),R=m&&!H.isPtr(U$)?F.argcProxy(M,D$,U$,a):U$;if(H.isPtr(R)){if(R&&!H.functionEntry(R))Z("Pointer",R,"is not a WASM function table entry.");M[D$]=R}else{let S=H.installFunction(R,a);if(M[D$]=S,!M.ondispose||!M.ondispose.__removeFuncList)M.addOnDispose("ondispose.__removeFuncList handler",F.removeFuncList),M.ondispose.__removeFuncList=[];M.ondispose.__removeFuncList.push(D$,S)}return(S,p)=>F(M,S,p,m)};d.installMethodArgcCheck=!1;let Z$=function(F,M,e=d.installMethodArgcCheck){let U$=new Map;for(let m of Object.keys(M)){let a=M[m],D$=U$.get(a);if(D$){let R=F.memberKey(m);F[R]=F[F.memberKey(D$)]}else d(F,m,a,e),U$.set(a,m)}return F};i.StructType.prototype.installMethod=function(M,e,U$=d.installMethodArgcCheck){return arguments.length<3&&M&&typeof M==="object"?Z$(this,...arguments):d(this,...arguments)},i.StructType.prototype.installMethods=function(F,M=d.installMethodArgcCheck){return Z$(this,F,M)}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(L){let Z=(...y)=>{throw new L.SQLite3Error(...y)},V=L.capi,H=L.wasm,P=L.util,B=function(y){return(...N)=>y("sqlite3.oo1:",...N)};L.__isUnderTest?B(console.debug.bind(console)):B(L.config.debug),L.__isUnderTest?B(console.warn.bind(console)):B(L.config.warn),L.__isUnderTest?B(console.error.bind(console)):B(L.config.error);let E=new WeakMap,t=new Set,b=new WeakMap,w=(y,N,q)=>{let _=Object.getOwnPropertyDescriptor(y,N);return _?_.value:q},u=function(y,N){if(N){if(y instanceof F)y=y.pointer;Z(N,"sqlite3 result code",N+":",y?V.sqlite3_errmsg(y):V.sqlite3_errstr(N))}return arguments[0]},i=H.installFunction("i(ippp)",function(y,N,q,_){if(V.SQLITE_TRACE_STMT===y)console.log("SQL TRACE #"+ ++this.counter,"via sqlite3@"+N+"["+V.sqlite3_db_filename(N,null)+"]",H.cstrToJs(_))}.bind({counter:0})),d=Object.create(null),Z$=function y(...N){let q=y.normalizeArgs(...N),_;if(_=q["sqlite3*"]){if(!q["sqlite3*:takeOwnership"])t.add(this);this.filename=V.sqlite3_db_filename(_,"main")}else{let{filename:x,vfs:J$,flags:G$}=q;if(typeof x!=="string"&&!H.isPtr(x)||typeof G$!=="string"||J$&&typeof J$!=="string"&&!H.isPtr(J$))L.config.error("Invalid DB ctor args",q,arguments),Z("Invalid arguments for DB constructor:",arguments,"opts:",q);let C=0;if(G$.indexOf("c")>=0)C|=V.SQLITE_OPEN_CREATE|V.SQLITE_OPEN_READWRITE;if(G$.indexOf("w")>=0)C|=V.SQLITE_OPEN_READWRITE;if(C===0)C|=V.SQLITE_OPEN_READONLY;C|=V.SQLITE_OPEN_EXRESCODE;let g=H.pstack.pointer;try{let s=H.pstack.allocPtr(),X$=V.sqlite3_open_v2(x,s,C,J$||H.ptr.null);if(_=H.peekPtr(s),u(_,X$),V.sqlite3_extended_result_codes(_,1),G$.indexOf("t")>=0)V.sqlite3_trace_v2(_,V.SQLITE_TRACE_STMT,i,_)}catch(s){if(_)V.sqlite3_close_v2(_);throw s}finally{H.pstack.restore(g)}this.filename=H.isPtr(x)?H.cstrToJs(x):x}if(E.set(this,_),b.set(this,Object.create(null)),!q["sqlite3*"])try{let x=d[V.sqlite3_js_db_vfs(_)||Z("Internal error: cannot get VFS for new db handle.")];if(x)if(x instanceof Function)x(this,L);else u(_,V.sqlite3_exec(_,x,0,0,0))}catch(x){throw this.close(),x}};Z$.setVfsPostOpenCallback=function(y,N){if(!(N instanceof Function))Z("dbCtorHelper.setVfsPostOpenCallback() should not be used with a non-function argument.",arguments);d[y]=N},Z$.normalizeArgs=function(y=":memory:",N="c",q=null){let _={};if(arguments.length===1&&arguments[0]&&typeof arguments[0]==="object"){if(Object.assign(_,arguments[0]),_.flags===void 0)_.flags="c";if(_.vfs===void 0)_.vfs=null;if(_.filename===void 0)_.filename=":memory:"}else _.filename=y,_.flags=N,_.vfs=q;return _};let F=function(...y){Z$.apply(this,y)};F.dbCtorHelper=Z$;let M={null:1,number:2,string:3,boolean:4,blob:5};if(H.bigIntEnabled)M.bigint=M.number;let e=function(){if(M!==arguments[2])Z(V.SQLITE_MISUSE,"Do not call the Stmt constructor directly. Use DB.prepare().");if(this.db=arguments[0],E.set(this,arguments[1]),arguments.length>3&&!arguments[3])t.add(this)},U$=function(y){if(!y.pointer)Z("DB has been closed.");return y},m=function(y,N){if(N!==(N|0)||N<0||N>=y.columnCount)Z("Column index",N,"is out of range.");return y},a=function(y,N){let q=Object.create(null);switch(q.opt=Object.create(null),N.length){case 1:if(typeof N[0]==="string"||P.isSQLableTypedArray(N[0]))q.sql=N[0];else if(Array.isArray(N[0]))q.sql=N[0];else if(N[0]&&typeof N[0]==="object")q.opt=N[0],q.sql=q.opt.sql;break;case 2:q.sql=N[0],q.opt=N[1];break;default:Z("Invalid argument count for exec().")}if(q.sql=P.flexibleString(q.sql),typeof q.sql!=="string")Z("Missing SQL argument or unsupported SQL value type.");let _=q.opt;switch(_.returnValue){case"resultRows":if(!_.resultRows)_.resultRows=[];q.returnVal=()=>_.resultRows;break;case"saveSql":if(!_.saveSql)_.saveSql=[];q.returnVal=()=>_.saveSql;break;case void 0:case"this":q.returnVal=()=>y;break;default:Z("Invalid returnValue value:",_.returnValue)}if(!_.callback&&!_.returnValue&&_.rowMode!==void 0){if(!_.resultRows)_.resultRows=[];q.returnVal=()=>_.resultRows}if(_.callback||_.resultRows)switch(_.rowMode===void 0?"array":_.rowMode){case"object":q.cbArg=(x,J$)=>{if(!J$.columnNames)J$.columnNames=x.getColumnNames([]);let G$=x.get([]),C=Object.create(null);for(let g in J$.columnNames)C[J$.columnNames[g]]=G$[g];return C};break;case"array":q.cbArg=(x)=>x.get([]);break;case"stmt":if(Array.isArray(_.resultRows))Z("exec(): invalid rowMode for a resultRows array: must","be one of 'array', 'object',","a result column number, or column name reference.");q.cbArg=(x)=>x;break;default:if(P.isInt32(_.rowMode)){q.cbArg=(x)=>x.get(_.rowMode);break}else if(typeof _.rowMode==="string"&&_.rowMode.length>1&&_.rowMode[0]==="$"){let x=_.rowMode.substr(1);q.cbArg=(J$)=>{let G$=J$.get(Object.create(null))[x];return G$===void 0?Z(V.SQLITE_NOTFOUND,"exec(): unknown result column:",x):G$};break}Z("Invalid rowMode:",_.rowMode)}return q},D$=(y,N,q,..._)=>{let x=y.prepare(N);try{let J$=x.bind(q).step()?x.get(..._):void 0;return x.reset(),J$}finally{x.finalize()}},R=(y,N,q,_)=>y.exec({sql:N,bind:q,rowMode:_,returnValue:"resultRows"});F.checkRc=(y,N)=>u(y,N),F.prototype={isOpen:function(){return!!this.pointer},affirmOpen:function(){return U$(this)},close:function(){let y=this.pointer;if(y){if(this.onclose&&this.onclose.before instanceof Function)try{this.onclose.before(this)}catch(N){}if(Object.keys(b.get(this)).forEach((N,q)=>{if(q&&q.pointer)try{q.finalize()}catch(_){}}),E.delete(this),b.delete(this),!t.delete(this))V.sqlite3_close_v2(y);if(this.onclose&&this.onclose.after instanceof Function)try{this.onclose.after(this)}catch(N){}delete this.filename}},changes:function(y=!1,N=!1){let q=U$(this).pointer;if(y)return N?V.sqlite3_total_changes64(q):V.sqlite3_total_changes(q);else return N?V.sqlite3_changes64(q):V.sqlite3_changes(q)},dbFilename:function(y="main"){return V.sqlite3_db_filename(U$(this).pointer,y)},dbName:function(y=0){return V.sqlite3_db_name(U$(this).pointer,y)},dbVfsName:function(y=0){let N,q=V.sqlite3_js_db_vfs(U$(this).pointer,y);if(q){let _=new V.sqlite3_vfs(q);try{N=H.cstrToJs(_.$zName)}finally{_.dispose()}}return N},prepare:function(y){U$(this);let N=H.pstack.pointer,q,_;try{q=H.pstack.alloc(8),F.checkRc(this,V.sqlite3_prepare_v2(this.pointer,y,-1,q,null)),_=H.peekPtr(q)}finally{H.pstack.restore(N)}if(!_)Z("Cannot prepare empty SQL.");let x=new e(this,_,M);return b.get(this)[_]=x,x},exec:function(){U$(this);let y=a(this,arguments);if(!y.sql)return Z("exec() requires an SQL string.");let N=y.opt,q=N.callback,_=Array.isArray(N.resultRows)?N.resultRows:void 0,x,J$=N.bind,G$=!!(y.cbArg||N.columnNames||_),C=H.scopedAllocPush(),g=Array.isArray(N.saveSql)?N.saveSql:void 0;try{let s=P.isSQLableTypedArray(y.sql),X$=s?y.sql.byteLength:H.jstrlen(y.sql),I$=H.scopedAlloc(2*H.ptr.size+(X$+1)),C$=H.ptr.add(I$,H.ptr.size),h$=H.ptr.add(C$,H.ptr.size),m$=H.ptr.add(h$,X$);if(s)H.heap8().set(y.sql,h$);else H.jstrcpy(y.sql,H.heap8(),h$,X$,!1);H.poke8(H.ptr.add(h$,X$),0);while(h$&&H.peek8(h$)){H.pokePtr([I$,C$],0),F.checkRc(this,V.sqlite3_prepare_v3(this.pointer,h$,X$,0,I$,C$));let X6=H.peekPtr(I$);if(h$=H.peekPtr(C$),X$=Number(H.ptr.add(m$,-h$)),!X6)continue;if(g)g.push(V.sqlite3_sql(X6).trim());if(x=new e(this,X6,M),J$&&x.parameterCount)x.bind(J$),J$=null;if(G$&&x.columnCount){let O6=Array.isArray(N.columnNames)?0:1;if(G$=!1,y.cbArg||_){let j1=Object.create(null);for(;x.step();N$.delete(x)){if(O6++===0)x.getColumnNames(j1.columnNames=N.columnNames||[]);N$.add(x);let jU=y.cbArg(x,j1);if(_)_.push(jU);if(q&&q.call(N,jU,x)===!1)break}N$.delete(x)}if(O6===0)x.getColumnNames(N.columnNames)}else x.step();x.reset().finalize(),x=null}}finally{if(x)N$.delete(x),x.finalize();H.scopedAllocPop(C)}return y.returnVal()},createFunction:function(N,q,_){let x=(j1)=>j1 instanceof Function;switch(arguments.length){case 1:_=N,N=_.name,q=_.xFunc||0;break;case 2:if(!x(q))_=q,q=_.xFunc||0;break;case 3:break;default:break}if(!_)_={};if(typeof N!=="string")Z("Invalid arguments: missing function name.");let J$=_.xStep||0,G$=_.xFinal||0,C=_.xValue||0,g=_.xInverse||0,s=void 0;if(x(q)){if(s=!1,x(J$)||x(G$))Z("Ambiguous arguments: scalar or aggregate?");J$=G$=null}else if(x(J$)){if(!x(G$))Z("Missing xFinal() callback for aggregate or window UDF.");q=null}else if(x(G$))Z("Missing xStep() callback for aggregate or window UDF.");else Z("Missing function-type properties.");if(s===!1){if(x(C)||x(g))Z("xValue and xInverse are not permitted for non-window UDFs.")}else if(x(C)){if(!x(g))Z("xInverse must be provided if xValue is.");s=!0}else if(x(g))Z("xValue must be provided if xInverse is.");let X$=_.pApp;if(X$!==void 0&&X$!==null&&!H.isPtr(X$))Z("Invalid value for pApp property. Must be a legal WASM pointer value.");let I$=_.xDestroy||0;if(I$&&!x(I$))Z("xDestroy property must be a function.");let C$=0;if(w(_,"deterministic"))C$|=V.SQLITE_DETERMINISTIC;if(w(_,"directOnly"))C$|=V.SQLITE_DIRECTONLY;if(w(_,"innocuous"))C$|=V.SQLITE_INNOCUOUS;N=N.toLowerCase();let h$=q||J$,m$=w(_,"arity"),X6=typeof m$==="number"?m$:h$.length?h$.length-1:0,O6;if(s)O6=V.sqlite3_create_window_function(this.pointer,N,X6,V.SQLITE_UTF8|C$,X$||0,J$,G$,C,g,I$);else O6=V.sqlite3_create_function_v2(this.pointer,N,X6,V.SQLITE_UTF8|C$,X$||0,q,J$,G$,I$);return F.checkRc(this,O6),this},selectValue:function(y,N,q){return D$(this,y,N,0,q)},selectValues:function(y,N,q){let _=this.prepare(y),x=[];try{_.bind(N);while(_.step())x.push(_.get(0,q));_.reset()}finally{_.finalize()}return x},selectArray:function(y,N){return D$(this,y,N,[])},selectObject:function(y,N){return D$(this,y,N,{})},selectArrays:function(y,N){return R(this,y,N,"array")},selectObjects:function(y,N){return R(this,y,N,"object")},openStatementCount:function(){return this.pointer?Object.keys(b.get(this)).length:0},transaction:function(y){let N="BEGIN";if(arguments.length>1){if(/[^a-zA-Z]/.test(arguments[0]))Z(V.SQLITE_MISUSE,"Invalid argument for BEGIN qualifier.");N+=" "+arguments[0],y=arguments[1]}U$(this).exec(N);try{let q=y(this);return this.exec("COMMIT"),q}catch(q){throw this.exec("ROLLBACK"),q}},savepoint:function(y){U$(this).exec("SAVEPOINT oo1");try{let N=y(this);return this.exec("RELEASE oo1"),N}catch(N){throw this.exec("ROLLBACK to SAVEPOINT oo1; RELEASE SAVEPOINT oo1"),N}},checkRc:function(y){return u(this,y)}},F.wrapHandle=function(y,N=!1){if(!y||!H.isPtr(y))throw new L.SQLite3Error(V.SQLITE_MISUSE,"Argument must be a WASM sqlite3 pointer");return new F({"sqlite3*":y,"sqlite3*:takeOwnership":!!N})};let S=function(y){if(!y.pointer)Z("Stmt has been closed.");return y},p=function(y){let N=M[y===null||y===void 0?"null":typeof y];switch(N){case M.boolean:case M.null:case M.number:case M.string:return N;case M.bigint:return H.bigIntEnabled?N:void 0;default:return P.isBindableTypedArray(y)?M.blob:void 0}},Q$=function(y){return p(y)||Z("Unsupported bind() argument type:",typeof y)},r=function(y,N){let q=typeof N==="number"?N:V.sqlite3_bind_parameter_index(y.pointer,N);if(q===0||!P.isInt32(q))Z("Invalid bind() parameter name: "+N);else if(q<1||q>y.parameterCount)Z("Bind index",N,"is out of range.");return q},N$=new Set,P$=new Set,O$=function(y,N){if(N$.has(y))Z("Operation is illegal when statement is locked:",N);return y},R$=function y(N,q,_,x){if(O$(S(N),"bind()"),!y._)y._tooBigInt=(G$)=>Z("BigInt value is too big to store without precision loss:",G$),y._={string:function(G$,C,g,s){let[X$,I$]=H.allocCString(g,!0);return(s?V.sqlite3_bind_blob:V.sqlite3_bind_text)(G$.pointer,C,X$,I$,V.SQLITE_WASM_DEALLOC)}};Q$(x),q=r(N,q);let J$=0;switch(x===null||x===void 0?M.null:_){case M.null:J$=V.sqlite3_bind_null(N.pointer,q);break;case M.string:J$=y._.string(N,q,x,!1);break;case M.number:{let G$;if(P.isInt32(x))G$=V.sqlite3_bind_int;else if(typeof x==="bigint")if(!P.bigIntFits64(x))y._tooBigInt(x);else if(H.bigIntEnabled)G$=V.sqlite3_bind_int64;else if(P.bigIntFitsDouble(x))x=Number(x),G$=V.sqlite3_bind_double;else y._tooBigInt(x);else if(x=Number(x),H.bigIntEnabled&&Number.isInteger(x))G$=V.sqlite3_bind_int64;else G$=V.sqlite3_bind_double;J$=G$(N.pointer,q,x);break}case M.boolean:J$=V.sqlite3_bind_int(N.pointer,q,x?1:0);break;case M.blob:{if(typeof x==="string"){J$=y._.string(N,q,x,!0);break}else if(x instanceof ArrayBuffer)x=new Uint8Array(x);else if(!P.isBindableTypedArray(x))Z("Binding a value as a blob requires","that it be a string, Uint8Array, Int8Array, or ArrayBuffer.");let G$=H.alloc(x.byteLength||1);H.heap8().set(x.byteLength?x:[0],Number(G$)),J$=V.sqlite3_bind_blob(N.pointer,q,G$,x.byteLength,V.SQLITE_WASM_DEALLOC);break}default:L.config.warn("Unsupported bind() argument type:",x),Z("Unsupported bind() argument type: "+typeof x)}if(J$)F.checkRc(N.db.pointer,J$);return N};e.prototype={finalize:function(){let y=this.pointer;if(y){O$(this,"finalize()");let N=t.delete(this)?0:V.sqlite3_finalize(y);return delete b.get(this.db)[y],E.delete(this),N$.delete(this),P$.delete(this),delete this.parameterCount,delete this.db,N}},clearBindings:function(){return O$(S(this),"clearBindings()"),V.sqlite3_clear_bindings(this.pointer),P$.delete(this),this},reset:function(y){if(O$(this,"reset()"),y)this.clearBindings();let N=V.sqlite3_reset(S(this).pointer);return P$.delete(this),u(this.db,N),this},bind:function(){S(this);let y,N;switch(arguments.length){case 1:y=1,N=arguments[0];break;case 2:y=arguments[0],N=arguments[1];break;default:Z("Invalid bind() arguments.")}if(N===void 0)return this;else if(!this.parameterCount)Z("This statement has no bindable parameters.");if(P$.delete(this),N===null)return R$(this,y,M.null,N);else if(Array.isArray(N)){if(arguments.length!==1)Z("When binding an array, an index argument is not permitted.");return N.forEach((q,_)=>R$(this,_+1,Q$(q),q)),this}else if(N instanceof ArrayBuffer)N=new Uint8Array(N);if(typeof N==="object"&&!P.isBindableTypedArray(N)){if(arguments.length!==1)Z("When binding an object, an index argument is not permitted.");return Object.keys(N).forEach((q)=>R$(this,q,Q$(N[q]),N[q])),this}else return R$(this,y,Q$(N),N);Z("Should not reach this point.")},bindAsBlob:function(y,N){if(S(this),arguments.length===1)N=y,y=1;let q=Q$(N);if(M.string!==q&&M.blob!==q&&M.null!==q)Z("Invalid value type for bindAsBlob()");return R$(this,y,M.blob,N)},step:function(){O$(this,"step()");let y=V.sqlite3_step(S(this).pointer);switch(y){case V.SQLITE_DONE:return P$.delete(this),!1;case V.SQLITE_ROW:return P$.add(this),!0;default:P$.delete(this),L.config.warn("sqlite3_step() rc=",y,V.sqlite3_js_rc_str(y),"SQL =",V.sqlite3_sql(this.pointer)),F.checkRc(this.db.pointer,y)}},stepReset:function(){return this.step(),this.reset()},stepFinalize:function(){try{let y=this.step();return this.reset(),y}finally{try{this.finalize()}catch(y){}}},get:function(y,N){if(!P$.has(S(this)))Z("Stmt.step() has not (recently) returned true.");if(Array.isArray(y)){let q=0,_=this.columnCount;while(q<_)y[q]=this.get(q++);return y}else if(y&&typeof y==="object"){let q=0,_=this.columnCount;while(q<_)y[V.sqlite3_column_name(this.pointer,q)]=this.get(q++);return y}switch(m(this,y),N===void 0?V.sqlite3_column_type(this.pointer,y):N){case V.SQLITE_NULL:return null;case V.SQLITE_INTEGER:if(H.bigIntEnabled){let q=V.sqlite3_column_int64(this.pointer,y);if(q>=Number.MIN_SAFE_INTEGER&&q<=Number.MAX_SAFE_INTEGER)return Number(q).valueOf();return q}else{let q=V.sqlite3_column_double(this.pointer,y);if(q>Number.MAX_SAFE_INTEGER||q<Number.MIN_SAFE_INTEGER)Z("Integer is out of range for JS integer range: "+q);return P.isInt32(q)?q|0:q}case V.SQLITE_FLOAT:return V.sqlite3_column_double(this.pointer,y);case V.SQLITE_TEXT:return V.sqlite3_column_text(this.pointer,y);case V.SQLITE_BLOB:{let q=V.sqlite3_column_bytes(this.pointer,y),_=V.sqlite3_column_blob(this.pointer,y),x=new Uint8Array(q);if(q){if(x.set(H.heap8u().slice(Number(_),Number(_)+q),0),this.db._blobXfer instanceof Array)this.db._blobXfer.push(x.buffer)}return x}default:Z("Don't know how to translate","type of result column #"+y+".")}Z("Not reached.")},getInt:function(y){return this.get(y,V.SQLITE_INTEGER)},getFloat:function(y){return this.get(y,V.SQLITE_FLOAT)},getString:function(y){return this.get(y,V.SQLITE_TEXT)},getBlob:function(y){return this.get(y,V.SQLITE_BLOB)},getJSON:function(y){let N=this.get(y,V.SQLITE_STRING);return N===null?N:JSON.parse(N)},getColumnName:function(y){return V.sqlite3_column_name(m(S(this),y).pointer,y)},getColumnNames:function(y=[]){m(S(this),0);let N=this.columnCount;for(let q=0;q<N;++q)y.push(V.sqlite3_column_name(this.pointer,q));return y},getParamIndex:function(y){return S(this).parameterCount?V.sqlite3_bind_parameter_index(this.pointer,y):void 0},getParamName:function(y){return S(this).parameterCount?V.sqlite3_bind_parameter_name(this.pointer,y):void 0},isBusy:function(){return V.sqlite3_stmt_busy(S(this))!==0},isReadOnly:function(){return V.sqlite3_stmt_readonly(S(this))!==0}};{let y={enumerable:!0,get:function(){return E.get(this)},set:()=>Z("The pointer property is read-only.")};Object.defineProperty(e.prototype,"pointer",y),Object.defineProperty(F.prototype,"pointer",y)}Object.defineProperty(e.prototype,"columnCount",{enumerable:!1,get:function(){return V.sqlite3_column_count(this.pointer)},set:()=>Z("The columnCount property is read-only.")}),Object.defineProperty(e.prototype,"parameterCount",{enumerable:!1,get:function(){return V.sqlite3_bind_parameter_count(this.pointer)},set:()=>Z("The parameterCount property is read-only.")}),e.wrapHandle=function(y,N,q=!1){if(!(y instanceof F)||!y.pointer)throw new L.SQLite3Error(L.SQLITE_MISUSE,"First argument must be an opened sqlite3.oo1.DB instance");if(!N||!H.isPtr(N))throw new L.SQLite3Error(L.SQLITE_MISUSE,"Second argument must be a WASM sqlite3_stmt pointer");return new e(y,N,M,!!q)},L.oo1={DB:F,Stmt:e}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(L){let Z=L.util;L.initWorker1API=function(){let V=(...i)=>{throw Error(i.join(" "))};if(!(globalThis.WorkerGlobalScope instanceof Function))V("initWorker1API() must be run from a Worker thread.");let H=this.sqlite3||V("Missing this.sqlite3 object."),P=H.oo1.DB,B=function(i){let d=E.idMap.get(i);if(d)return d;return d="db#"+ ++E.idSeq+":"+Math.floor(Math.random()*1e8)+":"+Math.floor(Math.random()*1e8),E.idMap.set(i,d),d},E={dbList:[],idSeq:0,idMap:new WeakMap,xfer:[],open:function(i){let d=new P(i);if(this.dbs[B(d)]=d,this.dbList.indexOf(d)<0)this.dbList.push(d);return d},close:function(i,d){if(i){delete this.dbs[B(i)];let Z$=i.filename,F=Z.sqlite3__wasm_db_vfs(i.pointer,0);i.close();let M=this.dbList.indexOf(i);if(M>=0)this.dbList.splice(M,1);if(d&&Z$&&F)Z.sqlite3__wasm_vfs_unlink(F,Z$)}},post:function(i,d){if(d&&d.length)globalThis.postMessage(i,Array.from(d)),d.length=0;else globalThis.postMessage(i)},dbs:Object.create(null),getDb:function(i,d=!0){return this.dbs[i]||(d?V("Unknown (or closed) DB ID:",i):void 0)}},t=function(i=E.dbList[0]){return i&&i.pointer?i:V("DB is not opened.")},b=function(i,d=!0){let Z$=E.getDb(i.dbId,!1)||E.dbList[0];return d?t(Z$):Z$},w=function(){return E.dbList[0]&&B(E.dbList[0])},u={open:function(i){let d=Object.create(null),Z$=i.args||Object.create(null);if(Z$.simulateError)V("Throwing because of simulateError flag.");let F=Object.create(null);d.vfs=Z$.vfs,d.filename=Z$.filename||"";let M=E.open(d);return F.filename=M.filename,F.persistent=!!H.capi.sqlite3_js_db_uses_vfs(M.pointer,"opfs"),F.dbId=B(M),F.vfs=M.dbVfsName(),F},close:function(i){let d=b(i,!1),Z$={filename:d&&d.filename};if(d){let F=i.args&&typeof i.args==="object"?!!i.args.unlink:!1;E.close(d,F)}return Z$},exec:function(i){let d=typeof i.args==="string"?{sql:i.args}:i.args||Object.create(null);if(d.rowMode==="stmt")V("Invalid rowMode for 'exec': stmt mode","does not work in the Worker API.");else if(!d.sql)V("'exec' requires input SQL.");let Z$=b(i);if(d.callback||Array.isArray(d.resultRows))Z$._blobXfer=E.xfer;let F=d.callback,M=0,e=!!d.columnNames;if(typeof F==="string"){if(!e)d.columnNames=[];d.callback=function(U$,m){E.post({type:F,columnNames:d.columnNames,rowNumber:++M,row:U$},E.xfer)}}try{let U$=d.countChanges?Z$.changes(!0,d.countChanges===64):void 0;if(Z$.exec(d),U$!==void 0)d.changeCount=Z$.changes(!0,d.countChanges===64)-U$;let m=d.lastInsertRowId?H.capi.sqlite3_last_insert_rowid(Z$):void 0;if(m!==void 0)d.lastInsertRowId=m;if(d.callback instanceof Function)d.callback=F,E.post({type:F,columnNames:d.columnNames,rowNumber:null,row:void 0})}finally{if(delete Z$._blobXfer,d.callback)d.callback=F}return d},"config-get":function(){let i=Object.create(null),d=H.config;return["bigIntEnabled"].forEach(function(Z$){if(Object.getOwnPropertyDescriptor(d,Z$))i[Z$]=d[Z$]}),i.version=H.version,i.vfsList=H.capi.sqlite3_js_vfs_list(),i},export:function(i){let d=b(i),Z$={byteArray:H.capi.sqlite3_js_db_export(d.pointer),filename:d.filename,mimetype:"application/x-sqlite3"};return E.xfer.push(Z$.byteArray.buffer),Z$},toss:function(i){V("Testing worker exception")}};globalThis.onmessage=async function(i){i=i.data;let d,Z$=i.dbId,F=i.type,M=performance.now();try{if(u.hasOwnProperty(F)&&u[F]instanceof Function)d=await u[F](i);else V("Unknown db worker message type:",i.type)}catch(e){if(F="error",d={operation:i.type,message:e.message,errorClass:e.name,input:i},e.stack)d.stack=typeof e.stack==="string"?e.stack.split(/\n\s*/):e.stack}if(!Z$)Z$=d.dbId||w();E.post({type:F,dbId:Z$,messageId:i.messageId,workerReceivedTime:M,workerRespondTime:performance.now(),departureTime:i.departureTime,result:d},E.xfer)},globalThis.postMessage({type:"sqlite3-api",result:"worker1-ready"})}.bind({sqlite3:L})}),globalThis.sqlite3ApiBootstrap.initializers.push(function(L){let{wasm:Z,capi:V}=L,H=L.util.toss3,P=Object.create(null);L.vfs=P,V.sqlite3_vfs.prototype.registerVfs=function(B=!1){if(!(this instanceof L.capi.sqlite3_vfs))H("Expecting a sqlite3_vfs-type argument.");let E=V.sqlite3_vfs_register(this,B?1:0);if(E)H("sqlite3_vfs_register(",this,") failed with rc",E);if(this.pointer!==V.sqlite3_vfs_find(this.$zName))H("BUG: sqlite3_vfs_find(vfs.$zName) failed for just-installed VFS",this);return this},P.installVfs=function(B){let E=0,t=["io","vfs"];for(let b of t){let w=B[b];if(w){if(++E,w.struct.installMethods(w.methods,!!w.applyArgcCheck),b==="vfs"){if(!w.struct.$zName&&typeof w.name==="string")w.struct.addOnDispose(w.struct.$zName=Z.allocCString(w.name));w.struct.registerVfs(!!w.asDefault)}}}if(!E)H("Misuse: installVfs() options object requires at least","one of:",t);return this}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(L){if(!L.wasm.exports.sqlite3_declare_vtab)return;let{wasm:Z,capi:V}=L,H=L.util.toss3,P=Object.create(null);L.vtab=P;let B=V.sqlite3_index_info;B.prototype.nthConstraint=function(b,w=!1){if(b<0||b>=this.$nConstraint)return!1;let u=Z.ptr.add(this.$aConstraint,B.sqlite3_index_constraint.structInfo.sizeof*b);return w?u:new B.sqlite3_index_constraint(u)},B.prototype.nthConstraintUsage=function(b,w=!1){if(b<0||b>=this.$nConstraint)return!1;let u=Z.ptr.add(this.$aConstraintUsage,B.sqlite3_index_constraint_usage.structInfo.sizeof*b);return w?u:new B.sqlite3_index_constraint_usage(u)},B.prototype.nthOrderBy=function(b,w=!1){if(b<0||b>=this.$nOrderBy)return!1;let u=Z.ptr.add(this.$aOrderBy,B.sqlite3_index_orderby.structInfo.sizeof*b);return w?u:new B.sqlite3_index_orderby(u)};let E=function(b,w){return function(u,i=!1){if(arguments.length===0)u=new w;if(u instanceof w)return this.set(u.pointer,u),u;else if(!Z.isPtr(u))L.SQLite3Error.toss("Invalid argument to",b+"()");let d=this.get(u);if(i)this.delete(u);return d}.bind(new Map)},t=function(b,w){let u=E(b,w);return Object.assign(Object.create(null),{StructType:w,create:(i)=>{let d=u();return Z.pokePtr(i,d.pointer),d},get:(i)=>u(i),unget:(i)=>u(i,!0),dispose:(i)=>u(i,!0)?.dispose?.()})};P.xVtab=t("xVtab",V.sqlite3_vtab),P.xCursor=t("xCursor",V.sqlite3_vtab_cursor),P.xIndexInfo=(b)=>new V.sqlite3_index_info(b),P.xError=function b(w,u,i){if(b.errorReporter instanceof Function)try{b.errorReporter("sqlite3_module::"+w+"(): "+u.message)}catch(Z$){}let d;if(u instanceof L.WasmAllocError)d=V.SQLITE_NOMEM;else if(arguments.length>2)d=i;else if(u instanceof L.SQLite3Error)d=u.resultCode;return d||V.SQLITE_ERROR},P.xError.errorReporter=L.config.error.bind(L.config),P.xRowid=(b,w)=>Z.poke(b,w,"i64"),P.setupModule=function(b){let w=!1,u=this instanceof V.sqlite3_module?this:b.struct||(w=new V.sqlite3_module);try{let i=b.methods||H("Missing 'methods' object.");for(let d of Object.entries({xConnect:"xCreate",xDisconnect:"xDestroy"})){let Z$=d[0],F=d[1];if(i[Z$]===!0)i[Z$]=i[F];else if(i[F]===!0)i[F]=i[Z$]}if(b.catchExceptions){let d=function(M,e){if(["xConnect","xCreate"].indexOf(M)>=0)return function(U$,m,a,D$,R,S){try{return e(...arguments)||0}catch(p){if(!(p instanceof L.WasmAllocError))Z.dealloc(Z.peekPtr(S)),Z.pokePtr(S,Z.allocCString(p.message));return P.xError(M,p)}};else return function(...U$){try{return e(...U$)||0}catch(m){return P.xError(M,m)}}},Z$=["xCreate","xConnect","xBestIndex","xDisconnect","xDestroy","xOpen","xClose","xFilter","xNext","xEof","xColumn","xRowid","xUpdate","xBegin","xSync","xCommit","xRollback","xFindFunction","xRename","xSavepoint","xRelease","xRollbackTo","xShadowName"],F=Object.create(null);for(let M of Z$){let e=i[M];if(!(e instanceof Function))continue;else if(M==="xConnect"&&i.xCreate===e)F[M]=i.xCreate;else if(M==="xCreate"&&i.xConnect===e)F[M]=i.xConnect;else F[M]=d(M,e)}u.installMethods(F,!1)}else u.installMethods(i,!!b.applyArgcCheck);if(u.$iVersion===0){let d;if(typeof b.iVersion==="number")d=b.iVersion;else if(u.$xIntegrity)d=4;else if(u.$xShadowName)d=3;else if(u.$xSavePoint||u.$xRelease||u.$xRollbackTo)d=2;else d=1;u.$iVersion=d}}catch(i){if(w)w.dispose();throw i}return u},V.sqlite3_module.prototype.setupModule=function(b){return P.setupModule.call(this,b)}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(L){if(L.config.disable?.vfs?.kvvfs)return;let Z=L.capi,V=Z.sqlite3_kvvfs_methods,H=Z.KVVfsFile,P=L.capi.sqlite3_vfs_find("kvvfs");if(delete Z.sqlite3_kvvfs_methods,delete Z.KVVfsFile,!P)return;let{util:B,wasm:E}=L,t=B.toss3,b=new V(E.exports.sqlite3__wasm_kvvfs_methods());B.assert(32<=b.$nKeySize,"unexpected kvvfsMethods.$nKeySize: "+b.$nKeySize);let w=Object.assign(Object.create(null),{rxJournalSuffix:/-journal$/,zKeyJrnl:E.allocCString("jrnl"),zKeySz:E.allocCString("sz"),keySize:b.$nKeySize,buffer:Object.assign(Object.create(null),{n:b.$nBufferSize,pool:Object.create(null)})});w.memBuffer=(n=0)=>w.buffer.pool[n]??=E.alloc(w.buffer.n),w.memBufferFree=(n)=>{let v$=w.buffer.pool[n];if(v$)E.dealloc(v$),delete w.buffer.pool[n]};let u=()=>{},i=L.__isUnderTest?(...n)=>L.config.debug?.("kvvfs:",...n):u,d=(...n)=>L.config.warn?.("kvvfs:",...n),Z$=(...n)=>L.config.error?.("kvvfs:",...n);class F{#$=Object.create(null);#X=null;#Q=0;constructor(){this.clear()}#U(){return this.#X??=Object.keys(this.#$)}key(n){if(n<0||n>=this.#Q)return null;return this.#U()[n]}getItem(n){return this.#$[n]??null}setItem(n,v$){if(!(n in this.#$))++this.#Q,this.#X=null;this.#$[n]=""+v$}removeItem(n){if(n in this.#$)delete this.#$[n],--this.#Q,this.#X=null}clear(){this.#$=Object.create(null),this.#X=null,this.#Q=0}get length(){return this.#Q}}let M=(n)=>n==="local"||n==="session",e=(n)=>M(n)?"kvvfs-"+n+"-":"",U$=function(n,v$=!1){if(M(n))return;let W$=new Blob([n]).size;if(!W$)t(Z.SQLITE_MISUSE,"Empty name is not permitted.");let K$=w.keySize-1;if(w.rxJournalSuffix.test(n)){if(!v$)t(Z.SQLITE_MISUSE,"Storage names may not have a '-journal' suffix.")}else if(["-wal","-shm"].filter((x$)=>n.endsWith(x$)).length)t(Z.SQLITE_MISUSE,"Storage names may not have a -wal or -shm suffix.");else K$-=8;if(W$>K$)t(Z.SQLITE_RANGE,"Storage name is too long. Limit =",K$);let M$;for(M$=0;M$<W$;++M$){let x$=n.codePointAt(M$);if(x$<32)t(Z.SQLITE_RANGE,"Illegal character ("+x$+"d) in storage name:",n)}},m=(n,v$=void 0)=>Object.assign(Object.create(null),{jzClass:n,refc:1,deleteAtRefc0:!1,storage:v$||new F,keyPrefix:e(n),files:[],listeners:void 0}),a=L.kvvfs=Object.create(null);if(L.__isUnderTest)a.log=Object.assign(Object.create(null),{xOpen:!1,xClose:!1,xWrite:!1,xRead:!1,xSync:!1,xAccess:!1,xFileControl:!1,xRcrdRead:!1,xRcrdWrite:!1,xRcrdDelete:!1});let D$=function(n){let v$=w.rxJournalSuffix.test(n.jzClass)?n.jzClass.replace(w.rxJournalSuffix,""):n.jzClass+"-journal";if(a?.log?.xClose&&i("cleaning up storage handles [",n.jzClass,v$,"]",n),delete w.storagePool[n.jzClass],delete w.storagePool[v$],!L.__isUnderTest)delete n.storage,delete n.refc},R=(n)=>w.storagePool[n.jzClass]=w.storagePool[n.jzClass+"-journal"]=n,S=".";if(w.storagePool=Object.assign(Object.create(null),{[S]:m(S)}),globalThis.Storage){if(globalThis.localStorage instanceof globalThis.Storage)w.storagePool.local=m("local",globalThis.localStorage);if(globalThis.sessionStorage instanceof globalThis.Storage)w.storagePool.session=m("session",globalThis.sessionStorage)}w.builtinStorageNames=Object.keys(w.storagePool);let p=(n)=>w.builtinStorageNames.indexOf(n)>-1;for(let n of Object.keys(w.storagePool)){let v$=w.storagePool[n];w.storagePool[n+"-journal"]=v$}w.setError=(n=void 0,v$=Z.SQLITE_ERROR)=>{if(n)return w.lastError=n,n.resultCode|0||v$;return delete w.lastError,0},w.popError=()=>{let n=w.lastError;return delete w.lastError,n};let Q$=(n)=>{d("kvvfs.listener handler threw:",n)},r=E.exports.sqlite3__wasm_kvvfs_decode,N$=E.exports.sqlite3__wasm_kvvfs_encode,P$=async function(n,v$,...W$){try{if(v$.keyPrefix&&W$[0])W$[0]=W$[0].replace(v$.keyPrefix,"");let K$,M$,x$,y$;for(let S$ of v$.listeners){let n$=Object.create(null);n$.storageName=v$.jzClass,n$.type=n,S$.decodePages;let $6=S$.events[n];if($6){if(!S$.includeJournal&&W$[0]==="jrnl")continue;if(n==="write"&&S$.decodePages&&+W$[0]>0){if(n$.data=[W$[0]],y$?.[W$[0]]){n$.data[1]=y$[W$[0]];continue}K$??=new TextEncoder("utf-8"),M$??=w.memBuffer(10),x$??=w.memBuffer(11);let Y6=K$.encode(W$[1]),r$=E.heap8u();r$.set(Y6,Number(M$)),r$[E.ptr.addn(M$,Y6.length)]=0;let F6=r(M$,x$,w.buffer.n);if(F6>0)y$??=Object.create(null),y$[W$[0]]=n$.data[1]=r$.slice(Number(x$),E.ptr.addn(x$,F6));else continue}else n$.data=W$.length?W$.length===1?W$[0]:W$:void 0;try{$6(n$)?.catch?.(Q$)}catch(Y6){d("notifyListeners [",v$.jzClass,"]",n,Y6)}}}}catch(K$){Q$(K$)}},O$=(n)=>typeof n==="string"?w.storagePool[n]:w.storagePool[E.cstrToJs(n)],R$=E.exports.sqlite3__wasm_kvvfsMakeKey,y=(n,v$,W$)=>{return v$&&n.keyPrefix?R$(v$,W$):W$},N=(n,v$,W$)=>E.cstrToJs(y(n,v$,W$)),q=(n)=>+n.storage.getItem(n.keyPrefix+"sz"),_=new Map,x={vfs:Object.create(null),ioDb:Object.create(null),ioJrnl:Object.create(null)},J$=new Z.sqlite3_vfs(b.$pVfs),G$=new Z.sqlite3_io_methods(b.$pIoDb),C=new Z.sqlite3_io_methods(b.$pIoJrnl),g=Object.create(null),s=Object.assign(Object.create(null),{pFileHandles:_,cache:w,storageForZClass:O$,KVVfsStorage:F,disablePageSizeChange:!0});if(a.log)a.internal=s;let X$={recordHandler:{xRcrdRead:(n,v$,W$,K$)=>{try{let M$=E.cstrToJs(n),x$=O$(M$);if(!x$)return-1;let y$=N(x$,n,v$);a?.log?.xRcrdRead&&d("xRcrdRead",M$,y$,K$,x$);let S$=x$.storage.getItem(y$);if(S$===null)return-1;let n$=S$.length;if(K$<=0)return n$;else if(K$===1)return E.poke(W$,0),n$;if(K$+1<n$)t(Z.SQLITE_RANGE,"xRcrdRead()",M$,y$,"input buffer is too small: need",n$,"but have",K$);let $6=w.memBuffer(0),Y6=E.heap8(),r$;for(r$=0;r$<n$;++r$)Y6[E.ptr.add($6,r$)]=S$.codePointAt(r$)&255;return Y6.copyWithin(Number(W$),Number($6),E.ptr.addn($6,r$)),Y6[E.ptr.add(W$,n$)]=0,K$}catch(M$){return Z$("kvrecordRead()",M$),w.setError(M$),-2}},xRcrdWrite:(n,v$,W$)=>{try{let K$=O$(n),M$=N(K$,n,v$),x$=E.cstrToJs(W$);return a?.log?.xRcrdWrite&&d("xRcrdWrite",M$,K$),K$.storage.setItem(M$,x$),K$.listeners&&P$("write",K$,M$,x$),0}catch(K$){return Z$("kvrecordWrite()",K$),w.setError(K$,Z.SQLITE_IOERR)}},xRcrdDelete:(n,v$)=>{try{let W$=O$(n),K$=N(W$,n,v$);return a?.log?.xRcrdDelete&&d("xRcrdDelete",K$,W$),W$.storage.removeItem(K$),W$.listeners&&P$("delete",W$,K$),0}catch(W$){return Z$("kvrecordDelete()",W$),w.setError(W$,Z.SQLITE_IOERR)}}},vfs:{xOpen:function(n,v$,W$,K$,M$){w.popError();let x$;try{if(!v$)x$=E.allocCString(""+W$+"."+(Math.random()*1e5|0)),v$=x$;let y$=E.cstrToJs(v$);if(a?.log?.xOpen&&i("xOpen",y$,"flags =",K$),U$(y$,!0),K$&(Z.SQLITE_OPEN_MAIN_DB|Z.SQLITE_OPEN_TEMP_DB|Z.SQLITE_OPEN_TRANSIENT_DB)&&w.rxJournalSuffix.test(y$))t(Z.SQLITE_ERROR,"DB files may not have a '-journal' suffix.");let S$=O$(y$);if(!S$&&!(K$&Z.SQLITE_OPEN_CREATE))t(Z.SQLITE_ERROR,"Storage not found:",y$);let n$=x.vfs.xOpen(n,v$,W$,K$,M$);if(n$)return n$;let $6=!!(Z.SQLITE_OPEN_DELETEONCLOSE&K$);if(E.isPtr(arguments[1])){if(Z.sqlite3_uri_boolean(v$,"delete-on-close",0))$6=!0}let Y6=new H(W$);if(B.assert(Y6.$zClass,"Missing f.$zClass"),Y6.addOnDispose(x$),x$=void 0,S$)++S$.refc,S$.files.push(Y6),E.poke32(M$,K$);else{E.poke32(M$,K$|Z.SQLITE_OPEN_CREATE),B.assert(!Y6.$isJournal,"Opening a journal before its db? "+y$);let r$=y$.replace(w.rxJournalSuffix,"");S$=m(r$),R(S$),S$.files.push(Y6),S$.deleteAtRefc0=$6,a?.log?.xOpen&&i("xOpen installed storage handle [",r$,r$+"-journal","]",S$)}return _.set(W$,{store:S$,file:Y6,jzClass:y$}),S$.listeners&&P$("open",S$,S$.files.length),0}catch(y$){return d("xOpen:",y$),w.setError(y$)}finally{x$&&E.dealloc(x$)}},xDelete:function(n,v$,W$){w.popError();try{let K$=E.cstrToJs(v$);if(w.rxJournalSuffix.test(K$))g.xRcrdDelete(v$,w.zKeyJrnl);return 0}catch(K$){return d("xDelete",K$),w.setError(K$)}},xAccess:function(n,v$,W$,K$){w.popError();try{let M$=O$(v$),x$=M$?.jzClass||E.cstrToJs(v$);if(a?.log?.xAccess)i("xAccess",x$,"flags =",W$,"*pResOut =",E.peek32(K$),"store =",M$);if(!M$)try{U$(x$)}catch(y$){return E.poke32(K$,0),0}if(M$){let y$=M$.keyPrefix+(w.rxJournalSuffix.test(x$)?"jrnl":"1"),S$=M$.storage.getItem(y$)?0:1;E.poke32(K$,S$)}else E.poke32(K$,0);return 0}catch(M$){return Z$("xAccess",M$),w.setError(M$)}},xRandomness:function(n,v$,W$){let K$=E.heap8u(),M$=0,x$=Number(W$);for(;M$<v$;++M$)K$[x$+M$]=Math.random()*255000&255;return v$},xGetLastError:function(n,v$,W$){let K$=w.popError();if(i("xGetLastError",K$),K$){let M$=E.scopedAllocPush();try{let[x$,y$]=E.scopedAllocCString(K$.message,!0);if(E.cstrncpy(W$,x$,v$),y$>v$)E.poke8(E.ptr.add(W$,v$,-1),0);return i("set xGetLastError",K$.message),K$.resultCode|0||Z.SQLITE_IOERR}catch(x$){return Z.SQLITE_NOMEM}finally{E.scopedAllocPop(M$)}}return 0}},ioDb:{xClose:function(n){w.popError();try{let v$=_.get(n);if(a?.log?.xClose&&i("xClose",n,v$),v$){_.delete(n);let W$=v$.store;if(W$.files=W$.files.filter((K$)=>K$!==v$.file),--W$.refc<=0&&W$.deleteAtRefc0)D$(W$);x.ioDb.xClose(n),v$.file.dispose(),W$.listeners&&P$("close",W$,W$.files.length)}return 0}catch(v$){return Z$("xClose",v$),w.setError(v$)}},xFileControl:function(n,v$,W$){w.popError();try{let K$=_.get(n);if(B.assert(K$,"Missing KVVfsFile handle"),a?.log?.xFileControl&&i("xFileControl",K$,"op =",v$),v$===Z.SQLITE_FCNTL_PRAGMA&&s.disablePageSizeChange){let x$=E.peekPtr(E.ptr.add(W$,E.ptr.size));if(E.cstrToJs(x$)==="page_size"){a?.log?.xFileControl&&i("xFileControl pragma",E.cstrToJs(x$));let y$=E.peekPtr(E.ptr.add(W$,2*E.ptr.size));if(y$)return a?.log?.xFileControl&&d("xFileControl pragma",K$,"NOT setting page size to",E.cstrToJs(y$)),K$.file.$szPage=-1,0;else if(K$.file.$szPage>0)return a?.log?.xFileControl&&d("xFileControl",K$,"getting page size",K$.file.$szPage),E.pokePtr(W$,E.allocCString(""+K$.file.$szPage)),0}}let M$=x.ioDb.xFileControl(n,v$,W$);if(M$==0&&Z.SQLITE_FCNTL_SYNC===v$)K$.store.listeners&&P$("sync",K$.store,!1);return M$}catch(K$){return Z$("xFileControl",K$),w.setError(K$)}},xSync:function(n,v$){w.popError();try{let W$=_.get(n);a?.log?.xSync&&i("xSync",W$),B.assert(W$,"Missing KVVfsFile handle");let K$=x.ioDb.xSync(n,v$);if(K$==0&&W$.store.listeners)P$("sync",W$.store,!0);return K$}catch(W$){return Z$("xSync",W$),w.setError(W$)}}},ioJrnl:{xClose:!0}};try{B.assert(w.buffer.n>132096,"Heap buffer is not large enough");for(let n of Object.entries(X$.recordHandler)){let v$=n[0],W$=n[1];g[v$]=W$,b[b.memberKey(v$)]=E.installFunction(b.memberSignature(v$),W$)}for(let n of Object.entries(X$.vfs)){let v$=n[0],W$=n[1],K$=J$.memberKey(v$),M$=J$.structInfo.members[v$]||B.toss("Missing pVfs.structInfo[",v$,"]");x.vfs[v$]=E.functionEntry(J$[K$]),J$[K$]=E.installFunction(M$.signature,W$)}for(let n of Object.entries(X$.ioDb)){let v$=n[0],W$=n[1],K$=G$.memberKey(v$);x.ioDb[v$]=E.functionEntry(G$[K$])||B.toss("Missing native pIoDb[",K$,"]"),G$[K$]=E.installFunction(G$.memberSignature(v$),W$)}for(let n of Object.entries(X$.ioJrnl)){let v$=n[0],W$=n[1],K$=C.memberKey(v$);if(x.ioJrnl[v$]=E.functionEntry(C[K$])||B.toss("Missing native pIoJrnl[",K$,"]"),W$===!0)C[K$]=G$[K$]||B.toss("Missing copied pIoDb[",K$,"]");else C[K$]=E.installFunction(C.memberSignature(v$),W$)}}finally{b.dispose(),J$.dispose(),G$.dispose(),C.dispose()}let I$=function n(v$){if(v$==="")return n("local")+n("session");let W$=O$(v$);if(!W$)return 0;if(W$.files.length)if(globalThis.localStorage===W$.storage||globalThis.sessionStorage===W$.storage);else t(Z.SQLITE_ACCESS,"Cannot clear in-use database storage.");let K$=W$.storage,M$=[],x$,y$=K$.length;for(x$=0;x$<y$;++x$){let S$=K$.key(x$);if(!W$.keyPrefix||S$.startsWith(W$.keyPrefix))M$.push(S$)}return M$.forEach((S$)=>K$.removeItem(S$)),M$.length},C$=function n(v$){if(v$==="")return n("local")+n("session");let W$=O$(v$);if(!W$)return 0;let K$=W$.storage,M$,x$=0;for(M$=0;M$<K$.length;++M$){let y$=K$.key(M$);if(!W$.keyPrefix||y$.startsWith(W$.keyPrefix))x$+=y$.length,x$+=K$.getItem(y$).length}return x$*2},h$=function(...v$){let W$;if(v$.length===1&&typeof v$[0]==="object")W$=v$[0];else if(v$.length)W$=Object.assign(Object.create(null),{name:v$[0]});let K$=W$?O$(W$.name):null;if(!K$)t(Z.SQLITE_NOTFOUND,"There is no kvvfs storage named",W$?.name);let M$=K$.storage,x$=Object.assign(Object.create(null),{name:K$.jzClass,timestamp:Date.now(),pages:[]}),y$=Object.create(null),S$=K$.keyPrefix,n$=S$?/^kvvfs-[^-]+-(\w+)/:void 0,$6=0,Y6=M$.length;for(;$6<Y6;++$6){let r$=M$.key($6);if(!S$||r$.startsWith(S$)){let F6=(S$?n$.exec(r$):void 0)?.[1]??r$;switch(F6){case"jrnl":if(W$.includeJournal)x$.journal=M$.getItem(r$);break;case"sz":x$.size=+M$.getItem(r$);break;default:if(F6=+F6,!B.isInt32(F6)||F6<=0)t(Z.SQLITE_RANGE,"Malformed kvvfs key: "+r$);if(W$.decodePages){let G1=M$.getItem(r$),gU=G1.length,D1=w.memBuffer(0),GU=w.memBuffer(1),h0=E.heap8u(),c6=0;for(;c6<gU;++c6)h0[E.ptr.add(D1,c6)]=G1.codePointAt(c6)&255;h0[E.ptr.add(D1,c6)]=0;let p2=r(D1,GU,w.buffer.n);y$[F6]=h0.slice(Number(GU),E.ptr.addn(GU,p2))}else y$[F6]=M$.getItem(r$);break}}}if(W$.decodePages)w.memBufferFree(1);return Object.keys(y$).map((r$)=>+r$).sort().forEach((r$)=>x$.pages.push(y$[r$])),x$},m$=function(n,v$=!1){if(!n?.timestamp||!n.name||n.size===void 0||!Array.isArray(n.pages))t(Z.SQLITE_MISUSE,"Malformed export object.");else if(!n.size||n.size!==(n.size|0)||n.size>=2147483647)t(Z.SQLITE_RANGE,"Invalid db size: "+n.size);U$(n.name);let W$=O$(n.name),K$=!W$;if(W$){if(!v$)t(Z.SQLITE_ACCESS,"Storage '"+n.name+"' already exists and","overwrite was not specified.");else if(!W$.files||!W$.jzClass)t(Z.SQLITE_ERROR,"Internal storage object",n.name,"seems to be malformed.");else if(W$.files.length)t(Z.SQLITE_IOERR_ACCESS,"Cannot import db storage while it is in use.");I$(n.name)}else W$=m(n.name);let M$=e(n.name),x$;try{let y$=W$.storage;if(y$.setItem(M$+"sz",n.size),n.journal)y$.setItem(M$+"jrnl",n.journal);if(n.pages[0]instanceof Uint8Array)n.pages.forEach((S$,n$)=>{let $6=S$.length;x$??=w.memBuffer(1);let Y6=w.memBuffer(0),r$=E.heap8u();r$.set(S$,Number(Y6)),r$[E.ptr.addn(Y6,$6)]=0;let F6=N$(Y6,$6,x$);B.assert(F6<w.buffer.n,"Impossibly long output - possibly smashed the heap"),B.assert(E.peek8(E.ptr.add(x$,F6))===0,"Expecting NUL-terminated encoded output");let G1=E.cstrToJs(x$);y$.setItem(M$+(n$+1),G1)});else if(n.pages[0])n.pages.forEach((S$,n$)=>y$.setItem(M$+(n$+1),S$));if(K$)R(W$)}catch{if(!K$)try{I$(n.name)}catch(y$){}}finally{if(x$)w.memBufferFree(1)}return this},X6=function(n){let v$=O$(n);if(v$){++v$.refc;return}U$(n),R(m(n))},O6=function(n){let v$=O$(n);if(!v$||M(v$.jzClass)||p(v$.jzClass)||w.rxJournalSuffix.test(n))return!1;if(v$.refc>v$.files.length||v$.files.length===0){if(--v$.refc<=0)D$(v$);return!0}return!1},j1=function(n){if(!n||typeof n!=="object")t(Z.SQLITE_MISUSE,"Expecting a listener object.");let v$=O$(n.storage);if(!v$)if(n.storage&&n.reserve)X6(n.storage),v$=O$(n.storage),B.assert(v$,"Unexpectedly cannot fetch reserved storage "+n.storage);else t(Z.SQLITE_NOTFOUND,"No such storage:",n.storage);if(n.events)(v$.listeners??=[]).push(n)},jU=function(n){let v$=O$(n?.storage);if(v$?.listeners&&n.events){let W$=v$.listeners.length;v$.listeners=v$.listeners.filter((M$)=>M$!==n);let K$=W$>v$.listeners.length;if(!v$.listeners.length)v$.listeners=void 0;return K$}return!1};if(L.kvvfs.reserve=X6,L.kvvfs.import=m$,L.kvvfs.export=h$,L.kvvfs.unlink=O6,L.kvvfs.listen=j1,L.kvvfs.unlisten=jU,L.kvvfs.exists=(n)=>!!O$(n),L.kvvfs.estimateSize=C$,L.kvvfs.clear=I$,globalThis.Storage)Z.sqlite3_js_kvvfs_size=(n="")=>C$(n),Z.sqlite3_js_kvvfs_clear=(n="")=>I$(n);if(L.oo1?.DB){let n=L.oo1.DB;L.oo1.JsStorageDb=function(W$=L.oo1.JsStorageDb.defaultStorageName){let K$=n.dbCtorHelper.normalizeArgs(...arguments);switch(K$.vfs="kvvfs",K$.filename){case":sessionStorage:":K$.filename="session";break;case":localStorage:":K$.filename="local";break}let M$=/(file:(\/\/)?)([^?]+)/.exec(K$.filename);U$(M$?M$[3]:K$.filename),n.dbCtorHelper.call(this,K$)},L.oo1.JsStorageDb.defaultStorageName=w.storagePool.session?"session":S;let v$=L.oo1.JsStorageDb;v$.prototype=Object.create(n.prototype),v$.clearStorage=I$,v$.prototype.clearStorage=function(){return v$.clearStorage(this.affirmOpen().dbFilename(),!0)},v$.storageSize=C$,v$.prototype.storageSize=function(){return v$.storageSize(this.affirmOpen().dbFilename(),!0)}}if(L.__isUnderTest&&L.vtab){let n=Object.assign(Object.create(null),{rowid:{type:"INTEGER"},name:{type:"TEXT"},nRef:{type:"INTEGER"},nOpen:{type:"INTEGER"},isTransient:{type:"INTEGER"},dbSize:{type:"INTEGER"}});Object.keys(n).forEach((y$,S$)=>n[y$].colId=S$);let v$=L.vtab,W$=Object.assign(Object.create(null),{row:function(){return w.storagePool[this.names[this.rowid]]}});Object.assign(Object.create(W$),{rowid:0,names:Object.keys(w.storagePool).filter((y$)=>!w.rxJournalSuffix.test(y$))});let K$=function(y$,S$){let n$=y$ instanceof Z.sqlite3_vtab_cursor?y$:v$.xCursor.get(y$);if(S$||!n$.vTabState)n$.vTabState=Object.assign(Object.create(W$),{rowid:0,names:Object.keys(w.storagePool).filter(($6)=>!w.rxJournalSuffix.test($6))});return n$.vTabState},M$=()=>{},x$=function y$(){return y$.mod??=new L.capi.sqlite3_module().setupModule({catchExceptions:!0,methods:{xConnect:function(S$,n$,$6,Y6,r$,F6){M$("xConnect");try{let G1=[];Object.keys(n).forEach((D1)=>{G1.push(D1+" "+n[D1].type)});let gU=Z.sqlite3_declare_vtab(S$,"CREATE TABLE ignored("+G1.join(",")+")");if(gU===0){let D1=v$.xVtab.create(r$);B.assert(D1===v$.xVtab.get(E.peekPtr(r$)),"output pointer check failed")}return gU}catch(G1){return v$.xError("xConnect",G1,Z.SQLITE_ERROR)}},xCreate:E.ptr.null,xDisconnect:function(S$){return M$("xDisconnect",...arguments),v$.xVtab.dispose(S$),0},xOpen:function(S$,n$){return M$("xOpen",...arguments),v$.xCursor.create(n$),0},xClose:function(S$){M$("xClose",...arguments);let n$=v$.xCursor.unget(S$);return delete n$.vTabState,n$.dispose(),0},xNext:function(S$){M$("xNext",...arguments);let n$=v$.xCursor.get(S$);return++K$(n$).rowid,0},xColumn:function(S$,n$,$6){M$("xColumn",...arguments);let Y6=K$(S$),r$=Y6.row();switch(B.assert(r$,"Unexpected xColumn call"),$6){case n.rowid.colId:Z.sqlite3_result_int(n$,Y6.rowid);break;case n.name.colId:Z.sqlite3_result_text(n$,r$.jzClass,-1,Z.SQLITE_TRANSIENT);break;case n.nRef.colId:Z.sqlite3_result_int(n$,r$.refc);break;case n.nOpen.colId:Z.sqlite3_result_int(n$,r$.files.length);break;case n.isTransient.colId:Z.sqlite3_result_int(n$,!!r$.deleteAtRefc0);break;case n.dbSize.colId:Z.sqlite3_result_int(n$,q(r$));break;default:return Z.sqlite3_result_error(n$,"Invalid column id: "+$6),Z.SQLITE_RANGE}return 0},xRowid:function(S$,n$){M$("xRowid",...arguments);let $6=K$(S$);return v$.xRowid(n$,$6.rowid),0},xEof:function(S$){let n$=K$(S$);return M$("xEof?="+!n$.row(),...arguments),!n$.row()},xFilter:function(S$,n$,$6,Y6,r$){return M$("xFilter",...arguments),K$(S$,!0),0},xBestIndex:function(S$,n$){M$("xBestIndex",...arguments);let $6=new Z.sqlite3_index_info(n$);return $6.$estimatedRows=w.storagePool.size,$6.$estimatedCost=1,$6.dispose(),0}}})};L.kvvfs.create_module=function(y$,S$="sqlite_kvvfs"){return Z.sqlite3_create_module(y$,S$,x$(),E.ptr.null)}}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(L){if(L.config.disable?.vfs?.opfs&&L.config.disable.vfs["opfs-vfs"])return;let Z=L.util.toss;L.capi;let V=L.util;L.wasm;let H=L.opfs=Object.create(null);H.thisThreadHasOPFS=()=>{return globalThis.FileSystemHandle&&globalThis.FileSystemDirectoryHandle&&globalThis.FileSystemFileHandle&&globalThis.FileSystemFileHandle.prototype.createSyncAccessHandle&&navigator?.storage?.getDirectory},H.getRootDir=async function B(){return B.promise??=navigator.storage.getDirectory().then((E)=>{return H.rootDirectory=E,E}).catch((E)=>{throw delete B.promise,E})},H.getResolvedPath=function(B,E){let t=new URL(B,"file://irrelevant").pathname;return E?t.split("/").filter((b)=>!!b):t},H.getDirForFilename=async function(E,t=!1){let b=H.getResolvedPath(E,!0),w=b.pop(),u=await H.getRootDir();for(let i of b)if(i)u=await u.getDirectoryHandle(i,{create:!!t});return[u,w]},H.mkdir=async function(B){try{return await H.getDirForFilename(B+"/filepart",!0),!0}catch(E){return!1}},H.entryExists=async function(B){try{let[E,t]=await H.getDirForFilename(B);return await E.getFileHandle(t),!0}catch(E){return!1}},H.randomFilename=function B(E=16){if(!B._chars)B._chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012346789",B._n=B._chars.length;let t=[],b=0;for(;b<E;++b){let w=Math.random()*(B._n*64)%B._n|0;t[b]=B._chars[w]}return t.join("")},H.treeList=async function(){let B=async function t(b,w){w.name=b.name,w.dirs=[],w.files=[];for await(let u of b.values())if(u.kind==="directory"){let i=Object.create(null);w.dirs.push(i),await t(u,i)}else w.files.push(u.name)},E=Object.create(null);return await B(await H.getRootDir(),E),E},H.rmfr=async function(){let B=await H.getRootDir(),E={recurse:!0};for await(let t of B.values())B.removeEntry(t.name,E)},H.unlink=async function(B,E=!1,t=!1){try{let[b,w]=await H.getDirForFilename(B,!1);return await b.removeEntry(w,{recursive:E}),!0}catch(b){if(t)throw Error("unlink(",arguments[0],") failed: "+b.message,{cause:b});return!1}},H.traverse=async function(B){let E={recursive:!0,directory:await H.getRootDir()};if(typeof B==="function")B={callback:B};B=Object.assign(E,B||{}),async function t(b,w){for await(let u of b.values())if(B.callback(u,b,w)===!1)return!1;else if(B.recursive&&u.kind==="directory"){if(await t(u,w+1)===!1)break}}(B.directory,0)};let P=async function(B,E){let[t,b]=await H.getDirForFilename(B,!0),w=await(await t.getFileHandle(b,{create:!0})).createSyncAccessHandle(),u=0,i,d=!1;try{w.truncate(0);while((i=await E())!==void 0){if(i instanceof ArrayBuffer)i=new Uint8Array(i);if(!d&&u===0&&i.byteLength>=15)V.affirmDbHeader(i),d=!0;w.write(i,{at:u}),u+=i.byteLength}if(u<512||u%512!==0)Z("Input size",u,"is not correct for an SQLite database.");if(!d){let Z$=new Uint8Array(20);w.read(Z$,{at:0}),V.affirmDbHeader(Z$)}return w.write(new Uint8Array([1,1]),{at:18}),u}catch(Z$){throw await w.close(),w=void 0,await t.removeEntry(b).catch(()=>{}),Z$}finally{if(w)await w.close()}};H.importDb=async function(B,E){if(E instanceof Function)return P(B,E);if(E instanceof ArrayBuffer)E=new Uint8Array(E);V.affirmIsDb(E);let t=E.byteLength,[b,w]=await H.getDirForFilename(B,!0),u,i=0;try{if(u=await(await b.getFileHandle(w,{create:!0})).createSyncAccessHandle(),u.truncate(0),i=u.write(E,{at:0}),i!=t)Z("Expected to write "+t+" bytes but wrote "+i+".");return u.write(new Uint8Array([1,1]),{at:18}),i}catch(d){if(u)await u.close(),u=void 0;throw await b.removeEntry(w).catch(()=>{}),d}finally{if(u)await u.close()}},H.vfsInstallationFeatureCheck=function(B){if(!globalThis.SharedArrayBuffer||!globalThis.Atomics)Z("Cannot install OPFS: Missing SharedArrayBuffer and/or Atomics.","The server must emit the COOP/COEP response headers to enable those.","See https://sqlite.org/wasm/doc/trunk/persistence.md#coop-coep");else if(typeof WorkerGlobalScope>"u")Z("The OPFS sqlite3_vfs cannot run in the main thread","because it requires Atomics.wait().");else if(!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle?.prototype?.createSyncAccessHandle||!navigator?.storage?.getDirectory)Z("Missing required OPFS APIs.");else if(B==="opfs-wl"&&!globalThis.Atomics.waitAsync)Z("The",B,"VFS requires Atomics.waitAsync(), which is not available.")},H.initOptions=function(E,t){let b=new URL(globalThis.location.href).searchParams;if(b.has(E+"-disable"))return;try{H.vfsInstallationFeatureCheck(E)}catch(w){return}if(t=V.nu(t),t.vfsName=E,t.verbose??=b.has("opfs-verbose")?+b.get("opfs-verbose"):1,t.sanityChecks??=b.has("opfs-sanity-check"),!H.proxyUri){if(H.proxyUri="sqlite3-opfs-async-proxy.js",L.scriptInfo?.sqlite3Dir)H.proxyUri=L.scriptInfo.sqlite3Dir+H.proxyUri}if(t.proxyUri??=H.proxyUri,typeof t.proxyUri==="function")t.proxyUri=t.proxyUri();return H.options=t},H.createVfsState=function(){let B=V.nu(),E=H.options;B.verbose=E.verbose;let t=[L.config.error,L.config.warn,L.config.log],b=E.vfsName||Z("Maintenance required: missing VFS name"),w=(r,...N$)=>{if(B.verbose>r)t[r](b+":",...N$)},u=(...r)=>w(2,...r),i=(...r)=>w(1,...r),d=(...r)=>w(0,...r),Z$=L.capi,F=L.wasm,M=B.vfs=new Z$.sqlite3_vfs,e=M.ioMethods=new Z$.sqlite3_io_methods;e.$iVersion=1,M.$iVersion=2,M.$szOsFile=Z$.sqlite3_file.structInfo.sizeof,M.$mxPathname=1024,M.$zName=F.allocCString(b),M.addOnDispose("$zName",M.$zName,e),M.metrics=V.nu({counters:V.nu(),dump:function(){let r,N$=0,P$=0,O$=0;for(r in B.opIds){let R$=U$[r];N$+=R$.count,P$+=R$.time,O$+=R$.wait,R$.avgTime=R$.count&&R$.time?R$.time/R$.count:0,R$.avgWait=R$.count&&R$.wait?R$.wait/R$.count:0}L.config.log(globalThis.location.href,"metrics for",globalThis.location.href,":",U$,`
526
- Total of`,N$,"op(s) for",P$,"ms (incl. "+O$+" ms of waiting on the async side)"),L.config.log("Serialization metrics:",M.metrics.counters.s11n),M.worker?.postMessage?.({type:"opfs-async-metrics"})},reset:function(){let r,N$=(R$)=>R$.count=R$.time=R$.wait=0,P$=M.metrics.counters;for(r in B.opIds)N$(P$[r]=Object.create(null));let O$=P$.s11n=Object.create(null);O$=O$.serialize=Object.create(null),O$.count=O$.time=0,O$=P$.s11n.deserialize=Object.create(null),O$.count=O$.time=0}}),B.asyncIdleWaitTime=150,B.asyncS11nExceptions=1,B.fileBufferSize=65536,B.sabS11nOffset=B.fileBufferSize,B.sabS11nSize=M.$mxPathname*2,B.sabIO=new SharedArrayBuffer(B.fileBufferSize+B.sabS11nSize),B.opIds=Object.create(null);{let r=0;B.opIds.whichOp=r++,B.opIds.rc=r++,B.opIds.xAccess=r++,B.opIds.xClose=r++,B.opIds.xDelete=r++,B.opIds.xDeleteNoWait=r++,B.opIds.xFileSize=r++,B.opIds.xLock=r++,B.opIds.xOpen=r++,B.opIds.xRead=r++,B.opIds.xSleep=r++,B.opIds.xSync=r++,B.opIds.xTruncate=r++,B.opIds.xUnlock=r++,B.opIds.xWrite=r++,B.opIds.mkdir=r++,B.opIds["opfs-async-metrics"]=r++,B.opIds["opfs-async-shutdown"]=r++,B.opIds.retry=r++,B.sabOP=new SharedArrayBuffer(r*4)}B.sq3Codes=Object.create(null);for(let r of["SQLITE_ACCESS_EXISTS","SQLITE_ACCESS_READWRITE","SQLITE_BUSY","SQLITE_CANTOPEN","SQLITE_ERROR","SQLITE_IOERR","SQLITE_IOERR_ACCESS","SQLITE_IOERR_CLOSE","SQLITE_IOERR_DELETE","SQLITE_IOERR_FSYNC","SQLITE_IOERR_LOCK","SQLITE_IOERR_READ","SQLITE_IOERR_SHORT_READ","SQLITE_IOERR_TRUNCATE","SQLITE_IOERR_UNLOCK","SQLITE_IOERR_WRITE","SQLITE_LOCK_EXCLUSIVE","SQLITE_LOCK_NONE","SQLITE_LOCK_PENDING","SQLITE_LOCK_RESERVED","SQLITE_LOCK_SHARED","SQLITE_LOCKED","SQLITE_MISUSE","SQLITE_NOTFOUND","SQLITE_OPEN_CREATE","SQLITE_OPEN_DELETEONCLOSE","SQLITE_OPEN_MAIN_DB","SQLITE_OPEN_READONLY","SQLITE_LOCK_NONE","SQLITE_LOCK_SHARED","SQLITE_LOCK_RESERVED","SQLITE_LOCK_PENDING","SQLITE_LOCK_EXCLUSIVE"])B.sq3Codes[r]=Z$[r]??Z("Maintenance required: not found:",r);B.opfsFlags=Object.assign(Object.create(null),{OPFS_UNLOCK_ASAP:1,OPFS_UNLINK_BEFORE_OPEN:2,defaultUnlockAsap:!1}),M.metrics.reset();let U$=M.metrics.counters,m=M.opRun=(r,...N$)=>{let P$=B.opIds[r]||Z(M.vfsName+": Invalid op ID:",r);B.s11n.serialize(...N$),Atomics.store(B.sabOPView,B.opIds.rc,-1),Atomics.store(B.sabOPView,B.opIds.whichOp,P$),Atomics.notify(B.sabOPView,B.opIds.whichOp);let O$=performance.now();while(Atomics.wait(B.sabOPView,B.opIds.rc,-1)!=="not-equal");let R$=Atomics.load(B.sabOPView,B.opIds.rc);if(U$[r].wait+=performance.now()-O$,R$&&B.asyncS11nExceptions){let y=B.s11n.deserialize();if(y)d(r+"() async error:",...y)}return R$},a=Object.create(null);a.op=void 0,a.start=void 0;let D$=M.mTimeStart=(r)=>{a.start=performance.now(),a.op=r,++U$[r].count},R=M.mTimeEnd=()=>U$[a.op].time+=performance.now()-a.start,S=M.__openFiles=Object.create(null);M.ioSyncWrappers=V.nu({xCheckReservedLock:function(r,N$){return F.poke(N$,0,"i32"),0},xClose:function(r){D$("xClose");let N$=0,P$=S[r];if(P$){if(delete S[r],N$=m("xClose",r),P$.sq3File)P$.sq3File.dispose()}return R(),N$},xDeviceCharacteristics:function(r){return Z$.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN},xFileControl:function(r,N$,P$){return Z$.SQLITE_NOTFOUND},xFileSize:function(r,N$){D$("xFileSize");let P$=m("xFileSize",r);if(P$==0)try{let O$=B.s11n.deserialize()[0];F.poke(N$,O$,"i64")}catch(O$){d("Unexpected error reading xFileSize() result:",O$),P$=B.sq3Codes.SQLITE_IOERR}return R(),P$},xRead:function(r,N$,P$,O$){D$("xRead");let R$=S[r],y;try{if(y=m("xRead",r,P$,Number(O$)),y===0||Z$.SQLITE_IOERR_SHORT_READ===y)F.heap8u().set(R$.sabView.subarray(0,P$),Number(N$))}catch(N){d("xRead(",arguments,") failed:",N,R$),y=Z$.SQLITE_IOERR_READ}return R(),y},xSync:function(r,N$){D$("xSync");let P$=m("xSync",r,N$);return R(),P$},xTruncate:function(r,N$){D$("xTruncate");let P$=m("xTruncate",r,Number(N$));return R(),P$},xWrite:function(r,N$,P$,O$){D$("xWrite");let R$=S[r],y;try{R$.sabView.set(F.heap8u().subarray(Number(N$),Number(N$)+P$)),y=m("xWrite",r,P$,Number(O$))}catch(N){d("xWrite(",arguments,") failed:",N,R$),y=Z$.SQLITE_IOERR_WRITE}return R(),y}}),M.vfsSyncWrappers={xAccess:function(r,N$,P$,O$){D$("xAccess");let R$=m("xAccess",F.cstrToJs(N$));return F.poke(O$,R$?0:1,"i32"),R(),0},xCurrentTime:function(r,N$){return F.poke(N$,2440587.5+new Date().getTime()/86400000,"double"),0},xCurrentTimeInt64:function(r,N$){return F.poke(N$,210866760000000+new Date().getTime(),"i64"),0},xDelete:function(r,N$,P$){D$("xDelete");let O$=m("xDelete",F.cstrToJs(N$),P$,!1);return R(),O$},xFullPathname:function(r,N$,P$,O$){return F.cstrncpy(O$,N$,P$)<P$?0:Z$.SQLITE_CANTOPEN},xGetLastError:function(r,N$,P$){return L.config.warn("OPFS xGetLastError() has nothing sensible to return."),0},xOpen:function(N$,P$,O$,R$,y){D$("xOpen");let N=0,q,_;if(!P$)q=H.randomFilename(),P$=_=F.allocCString(q);else if(F.isPtr(P$)){if(Z$.sqlite3_uri_boolean(P$,"opfs-unlock-asap",0))N|=B.opfsFlags.OPFS_UNLOCK_ASAP;if(Z$.sqlite3_uri_boolean(P$,"delete-before-open",0))N|=B.opfsFlags.OPFS_UNLINK_BEFORE_OPEN;q=F.cstrToJs(P$)}else return L.config.error("Impossible zName value in xOpen?",P$),Z$.SQLITE_CANTOPEN;let x=V.nu({fid:O$,filename:q,sab:new SharedArrayBuffer(B.fileBufferSize),flags:R$,readOnly:!(Z$.SQLITE_OPEN_CREATE&R$)&&!!(R$&Z$.SQLITE_OPEN_READONLY)}),J$=m("xOpen",O$,q,R$,N);if(J$){if(_)F.dealloc(_)}else{if(x.readOnly)F.poke(y,Z$.SQLITE_OPEN_READONLY,"i32");if(S[O$]=x,x.sabView=B.sabFileBufView,x.sq3File=new Z$.sqlite3_file(O$),_)x.sq3File.addOnDispose(_);x.sq3File.$pMethods=e.pointer,x.lockType=Z$.SQLITE_LOCK_NONE}return R(),J$}};let p=Z$.sqlite3_vfs_find(null);if(p){let r=new Z$.sqlite3_vfs(p);M.$xRandomness=r.$xRandomness,M.$xSleep=r.$xSleep,r.dispose()}if(!M.$xRandomness)M.vfsSyncWrappers.xRandomness=function(r,N$,P$){let O$=F.heap8u(),R$=0,y=Number(P$);for(;R$<N$;++R$)O$[y+R$]=Math.random()*255000&255;return R$};if(!M.$xSleep)M.vfsSyncWrappers.xSleep=function(r,N$){return D$("xSleep"),Atomics.wait(B.sabOPView,B.opIds.xSleep,0,N$),R(),0};let Q$=function(){if(B.s11n)return B.s11n;let r=new TextDecoder,N$=new TextEncoder("utf-8"),P$=new Uint8Array(B.sabIO,B.sabS11nOffset,B.sabS11nSize),O$=new DataView(B.sabIO,B.sabS11nOffset,B.sabS11nSize);B.s11n=Object.create(null);let R$=Object.create(null);R$.number={id:1,size:8,getter:"getFloat64",setter:"setFloat64"},R$.bigint={id:2,size:8,getter:"getBigInt64",setter:"setBigInt64"},R$.boolean={id:3,size:4,getter:"getInt32",setter:"setInt32"},R$.string={id:4};let y=(q)=>R$[typeof q]||Z("Maintenance required: this value type cannot be serialized.",q),N=(q)=>{switch(q){case R$.number.id:return R$.number;case R$.bigint.id:return R$.bigint;case R$.boolean.id:return R$.boolean;case R$.string.id:return R$.string;default:Z("Invalid type ID:",q)}};return B.s11n.deserialize=function(q=!1){performance.now();let _=P$[0],x=_?[]:null;if(_){let J$=[],G$=1,C,g,s;for(C=0;C<_;++C,++G$)J$.push(N(P$[G$]));for(C=0;C<_;++C){let X$=J$[C];if(X$.getter)s=O$[X$.getter](G$,B.littleEndian),G$+=X$.size;else g=O$.getInt32(G$,B.littleEndian),G$+=4,s=r.decode(P$.slice(G$,G$+g)),G$+=g;x.push(s)}}if(q)P$[0]=0;return x},B.s11n.serialize=function(...q){if(performance.now(),q.length){let _=[],x=0,J$=1;P$[0]=q.length&255;for(;x<q.length;++x,++J$)_.push(y(q[x])),P$[J$]=_[x].id;for(x=0;x<q.length;++x){let G$=_[x];if(G$.setter)O$[G$.setter](J$,q[x],B.littleEndian),J$+=G$.size;else{let C=N$.encode(q[x]);O$.setInt32(J$,C.byteLength,B.littleEndian),J$+=4,P$.set(C,J$),J$+=C.byteLength}}}else P$[0]=0},B.s11n};return M.initS11n=Q$,M.bindVfs=function(r,N$){return Object.assign(M.ioSyncWrappers,r),new Promise(function(P$,O$){let R$=void 0,y=(C)=>{return R$=!0,M.dispose(),O$(C)},N=()=>{try{N$(L,M)}catch(C){return y(C)}return R$=!1,P$(L)},q=H.options;q.proxyUri+(q.proxyUri.indexOf("?")<0?"?":"&")+b;let _=new URL("sqlite3-opfs-async-proxy.js",import.meta.url);_.searchParams.set("vfs",b);let x=M.worker=new Worker(_.toString()),J$=setTimeout(()=>{if(R$===void 0)y(Error("Timeout while waiting for OPFS async proxy worker."))},4000);x._originalOnError=x.onerror,x.onerror=function(C){d("Error initializing OPFS asyncer:",C),y(Error("Loading OPFS async Worker failed for unknown reasons."))},M.opRun;let G$=function(){let C=F.scopedAllocPush(),g=new Z$.sqlite3_file;try{let s=g.pointer,X$=Z$.SQLITE_OPEN_CREATE|Z$.SQLITE_OPEN_READWRITE|Z$.SQLITE_OPEN_MAIN_DB,I$=F.scopedAlloc(8),C$="/sanity/check/file"+randomFilename(8),h$=F.scopedAllocCString(C$),m$;if(B.s11n.serialize("This is ä string."),m$=B.s11n.deserialize(),u("deserialize() says:",m$),m$[0]!=="This is ä string.")Z("String d13n error.");if(M.vfsSyncWrappers.xAccess(M.pointer,h$,0,I$),m$=F.peek(I$,"i32"),u("xAccess(",C$,") exists ?=",m$),m$=M.vfsSyncWrappers.xOpen(M.pointer,h$,s,X$,I$),u("open rc =",m$,"state.sabOPView[xOpen] =",B.sabOPView[B.opIds.xOpen]),m$!==0){d("open failed with code",m$);return}if(M.vfsSyncWrappers.xAccess(M.pointer,h$,0,I$),m$=F.peek(I$,"i32"),!m$)Z("xAccess() failed to detect file.");if(m$=M.ioSyncWrappers.xSync(g.pointer,0),m$)Z("sync failed w/ rc",m$);if(m$=M.ioSyncWrappers.xTruncate(g.pointer,1024),m$)Z("truncate failed w/ rc",m$);if(F.poke(I$,0,"i64"),m$=M.ioSyncWrappers.xFileSize(g.pointer,I$),m$)Z("xFileSize failed w/ rc",m$);if(u("xFileSize says:",F.peek(I$,"i64")),m$=M.ioSyncWrappers.xWrite(g.pointer,h$,10,1),m$)Z("xWrite() failed!");let X6=F.scopedAlloc(16);m$=M.ioSyncWrappers.xRead(g.pointer,X6,6,2),F.poke(X6+6,0);let O6=F.cstrToJs(X6);if(u("xRead() got:",O6),O6!=="sanity")Z("Unexpected xRead() value.");if(M.vfsSyncWrappers.xSleep)u("xSleep()ing before close()ing..."),M.vfsSyncWrappers.xSleep(M.pointer,2000),u("waking up from xSleep()");if(m$=M.ioSyncWrappers.xClose(s),u("xClose rc =",m$,"sabOPView =",B.sabOPView),u("Deleting file:",C$),M.vfsSyncWrappers.xDelete(M.pointer,h$,4660),M.vfsSyncWrappers.xAccess(M.pointer,h$,0,I$),m$=F.peek(I$,"i32"),m$)Z("Expecting 0 from xAccess(",C$,") after xDelete().");i("End of OPFS sanity checks.")}finally{g.dispose(),F.scopedAllocPop(C)}};x.onmessage=function({data:C}){switch(C.type){case"opfs-unavailable":y(Error(C.payload.join(" ")));break;case"opfs-async-loaded":delete B.vfs,x.postMessage({type:"opfs-async-init",args:V.nu(B)});break;case"opfs-async-inited":if(R$===!0)break;clearTimeout(J$),J$=null;try{if(L.vfs.installVfs({io:{struct:M.ioMethods,methods:M.ioSyncWrappers},vfs:{struct:M,methods:M.vfsSyncWrappers}}),B.sabOPView=new Int32Array(B.sabOP),B.sabFileBufView=new Uint8Array(B.sabIO,0,B.fileBufferSize),B.sabS11nView=new Uint8Array(B.sabIO,B.sabS11nOffset,B.sabS11nSize),M.initS11n(),delete M.initS11n,q.sanityChecks)i("Running sanity checks because of opfs-sanity-check URL arg..."),G$();if(H.thisThreadHasOPFS())H.getRootDir().then((g)=>{x.onerror=x._originalOnError,delete x._originalOnError,u("End of OPFS sqlite3_vfs setup.",M),N()}).catch(y);else N()}catch(g){d(g),y(g)}break;case"debug":i("debug message from worker:",C);break;default:{let g="Unexpected message from the OPFS async worker: "+JSON.stringify(C);d(g),y(Error(g));break}}}})},B}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(L){if(!L.opfs||L.config.disable?.vfs?.opfs)return;let Z=L.util,V=L.opfs||L.util.toss("Missing sqlite3.opfs"),H=async function(P){if(P=V.initOptions("opfs",P),!P)return L;let B=L.capi,E=V.createVfsState().vfs,t=E.metrics.counters,b=E.mTimeStart,w=E.mTimeEnd,u=E.opRun,i=E.__openFiles;return E.bindVfs(Z.nu({xLock:function(d,Z$){b("xLock"),++t.xLock.count;let F=i[d],M=0;if(F.lockType)F.lockType=Z$;else if(M=u("xLock",d,Z$),M===0)F.lockType=Z$;return w(),M},xUnlock:function(d,Z$){b("xUnlock"),++t.xUnlock.count;let F=i[d],M=0;if(B.SQLITE_LOCK_NONE===Z$&&F.lockType)M=u("xUnlock",d,Z$);if(M===0)F.lockType=Z$;return w(),M}}),function(d,Z$){if(d.oo1){let F=function(...M){let e=d.oo1.DB.dbCtorHelper.normalizeArgs(...M);e.vfs=Z$.$zName,d.oo1.DB.dbCtorHelper.call(this,e)};F.prototype=Object.create(d.oo1.DB.prototype),d.oo1.OpfsDb=F,F.importDb=V.importDb,d.oo1.DB.dbCtorHelper.setVfsPostOpenCallback(E.pointer,function(M,e){e.capi.sqlite3_busy_timeout(M,1e4)})}})};globalThis.sqlite3ApiBootstrap.initializersAsync.push(async(P)=>{return H().catch((B)=>{P.config.warn("Ignoring inability to install 'opfs' sqlite3_vfs:",B)})})}),globalThis.sqlite3ApiBootstrap.initializers.push(function(L){if(L.config.disable?.vfs?.["opfs-sahpool"])return;let Z=L.util.toss,V=L.util.toss3,H=Object.create(null),P=L.capi,B=L.util,E=L.wasm,t=4096,b=512,w=4,u=8,i=b+w,d=b,Z$=i,F=t,M=P.SQLITE_OPEN_MAIN_DB|P.SQLITE_OPEN_MAIN_JOURNAL|P.SQLITE_OPEN_SUPER_JOURNAL|P.SQLITE_OPEN_WAL,e=P.SQLITE_OPEN_MEMORY,U$=".opaque",m=()=>Math.random().toString(36).slice(2),a=new TextDecoder,D$=new TextEncoder,R=Object.assign(Object.create(null),{name:"opfs-sahpool",directory:void 0,initialCapacity:6,clearOnInit:!1,verbosity:2,forceReinitIfPreviouslyFailed:!1}),S=[L.config.error,L.config.warn,L.config.log];L.config.log;let p=L.config.warn;L.config.error;let Q$=new Map,r=(C)=>Q$.get(C),N$=(C,g)=>{if(g)Q$.set(C,g);else Q$.delete(C)},P$=new Map,O$=(C)=>P$.get(C),R$=(C,g)=>{if(g)P$.set(C,g);else P$.delete(C)},y={xCheckReservedLock:function(C,g){let s=O$(C);return s.log("xCheckReservedLock"),s.storeErr(),E.poke32(g,1),0},xClose:function(C){let g=O$(C);g.storeErr();let s=g.getOFileForS3File(C);if(s)try{if(g.log(`xClose ${s.path}`),g.mapS3FileToOFile(C,!1),s.sah.flush(),s.flags&P.SQLITE_OPEN_DELETEONCLOSE)g.deletePath(s.path)}catch(X$){return g.storeErr(X$,P.SQLITE_IOERR)}return 0},xDeviceCharacteristics:function(C){return P.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN},xFileControl:function(C,g,s){return P.SQLITE_NOTFOUND},xFileSize:function(C,g){let s=O$(C);s.log("xFileSize");let X$=s.getOFileForS3File(C).sah.getSize()-F;return E.poke64(g,BigInt(X$)),0},xLock:function(C,g){let s=O$(C);s.log(`xLock ${g}`),s.storeErr();let X$=s.getOFileForS3File(C);return X$.lockType=g,0},xRead:function(C,g,s,X$){let I$=O$(C);I$.storeErr();let C$=I$.getOFileForS3File(C);I$.log(`xRead ${C$.path} ${s} @ ${X$}`);try{let h$=C$.sah.read(E.heap8u().subarray(Number(g),Number(g)+s),{at:F+Number(X$)});if(h$<s)return E.heap8u().fill(0,Number(g)+h$,Number(g)+s),P.SQLITE_IOERR_SHORT_READ;return 0}catch(h$){return I$.storeErr(h$,P.SQLITE_IOERR)}},xSectorSize:function(C){return t},xSync:function(C,g){let s=O$(C);s.log(`xSync ${g}`),s.storeErr();let X$=s.getOFileForS3File(C);try{return X$.sah.flush(),0}catch(I$){return s.storeErr(I$,P.SQLITE_IOERR)}},xTruncate:function(C,g){let s=O$(C);s.log(`xTruncate ${g}`),s.storeErr();let X$=s.getOFileForS3File(C);try{return X$.sah.truncate(F+Number(g)),0}catch(I$){return s.storeErr(I$,P.SQLITE_IOERR)}},xUnlock:function(C,g){let s=O$(C);s.log("xUnlock");let X$=s.getOFileForS3File(C);return X$.lockType=g,0},xWrite:function(C,g,s,X$){let I$=O$(C);I$.storeErr();let C$=I$.getOFileForS3File(C);I$.log(`xWrite ${C$.path} ${s} ${X$}`);try{return s===C$.sah.write(E.heap8u().subarray(Number(g),Number(g)+s),{at:F+Number(X$)})?0:Z("Unknown write() failure.")}catch(h$){return I$.storeErr(h$,P.SQLITE_IOERR)}}},N=new P.sqlite3_io_methods;N.$iVersion=1,L.vfs.installVfs({io:{struct:N,methods:y}});let q={xAccess:function(C,g,s,X$){let I$=r(C);I$.storeErr();try{let C$=I$.getPath(g);E.poke32(X$,I$.hasFilename(C$)?1:0)}catch(C$){E.poke32(X$,0)}return 0},xCurrentTime:function(C,g){return E.poke(g,2440587.5+new Date().getTime()/86400000,"double"),0},xCurrentTimeInt64:function(C,g){return E.poke(g,210866760000000+new Date().getTime(),"i64"),0},xDelete:function(C,g,s){let X$=r(C);X$.log(`xDelete ${E.cstrToJs(g)}`),X$.storeErr();try{return X$.deletePath(X$.getPath(g)),0}catch(I$){return X$.storeErr(I$),P.SQLITE_IOERR_DELETE}},xFullPathname:function(C,g,s,X$){return E.cstrncpy(X$,g,s)<s?0:P.SQLITE_CANTOPEN},xGetLastError:function(C,g,s){let X$=r(C),I$=X$.popErr();if(X$.log(`xGetLastError ${g} e =`,I$),I$){let C$=E.scopedAllocPush();try{let[h$,m$]=E.scopedAllocCString(I$.message,!0);if(E.cstrncpy(s,h$,g),m$>g)E.poke8(E.ptr.add(s,g,-1),0)}catch(h$){return P.SQLITE_NOMEM}finally{E.scopedAllocPop(C$)}}return I$?I$.sqlite3Rc||P.SQLITE_IOERR:0},xOpen:function(g,s,X$,I$,C$){let h$=r(g);try{I$&=~e,h$.log(`xOpen ${E.cstrToJs(s)} ${I$}`);let m$=s&&E.peek8(s)?h$.getPath(s):m(),X6=h$.getSAHForPath(m$);if(!X6&&I$&P.SQLITE_OPEN_CREATE)if(h$.getFileCount()<h$.getCapacity())X6=h$.nextAvailableSAH(),h$.setAssociatedPath(X6,m$,I$);else Z("SAH pool is full. Cannot create file",m$);if(!X6)Z("file not found:",m$);let O6={path:m$,flags:I$,sah:X6};h$.mapS3FileToOFile(X$,O6),O6.lockType=P.SQLITE_LOCK_NONE;let j1=new P.sqlite3_file(X$);return j1.$pMethods=N.pointer,j1.dispose(),E.poke32(C$,I$),0}catch(m$){return h$.storeErr(m$),P.SQLITE_CANTOPEN}}},_=function(C){if(L.capi.sqlite3_vfs_find(C))V("VFS name is already registered:",C);let g=new P.sqlite3_vfs,s=P.sqlite3_vfs_find(null),X$=s?new P.sqlite3_vfs(s):null;if(g.$iVersion=2,g.$szOsFile=P.sqlite3_file.structInfo.sizeof,g.$mxPathname=b,g.addOnDispose(g.$zName=E.allocCString(C),()=>N$(g.pointer,0)),X$)g.$xRandomness=X$.$xRandomness,g.$xSleep=X$.$xSleep,X$.dispose();if(!g.$xRandomness&&!q.xRandomness)q.xRandomness=function(I$,C$,h$){let m$=E.heap8u(),X6=0,O6=Number(h$);for(;X6<C$;++X6)m$[O6+X6]=Math.random()*255000&255;return X6};if(!g.$xSleep&&!q.xSleep)q.xSleep=(I$,C$)=>0;return L.vfs.installVfs({vfs:{struct:g,methods:q}}),g};class x{vfsDir;#$;#X;#Q;#U=new Map;#J=new Map;#j=new Set;#Y=new Map;#v=new Uint8Array(i);#W;#G;#K;constructor(C=Object.create(null)){this.#K=C.verbosity??R.verbosity,this.vfsName=C.name||R.name,this.#G=_(this.vfsName),N$(this.#G.pointer,this),this.vfsDir=C.directory||"."+this.vfsName,this.#W=new DataView(this.#v.buffer,this.#v.byteOffset),this.isReady=this.reset(!!(C.clearOnInit??R.clearOnInit)).then(()=>{if(this.$error)throw this.$error;return this.getCapacity()?Promise.resolve(void 0):this.addCapacity(C.initialCapacity||R.initialCapacity)})}#Z(C,...g){if(this.#K>C)S[C](this.vfsName+":",...g)}log(...C){this.#Z(2,...C)}warn(...C){this.#Z(1,...C)}error(...C){this.#Z(0,...C)}getVfs(){return this.#G}getCapacity(){return this.#U.size}getFileCount(){return this.#J.size}getFileNames(){let C=[];for(let g of this.#J.keys())C.push(g);return C}async addCapacity(C){for(let g=0;g<C;++g){let s=m(),X$=await(await this.#X.getFileHandle(s,{create:!0})).createSyncAccessHandle();this.#U.set(X$,s),this.setAssociatedPath(X$,"",0)}return this.getCapacity()}async reduceCapacity(C){let g=0;for(let s of Array.from(this.#j)){if(g===C||this.getFileCount()===this.getCapacity())break;let X$=this.#U.get(s);s.close(),await this.#X.removeEntry(X$),this.#U.delete(s),this.#j.delete(s),++g}return g}releaseAccessHandles(){for(let C of this.#U.keys())C.close();this.#U.clear(),this.#J.clear(),this.#j.clear()}async acquireAccessHandles(C=!1){let g=[];for await(let[s,X$]of this.#X)if(X$.kind==="file")g.push([s,X$]);return Promise.all(g.map(async([s,X$])=>{try{let I$=await X$.createSyncAccessHandle();if(this.#U.set(I$,s),C)I$.truncate(F),this.setAssociatedPath(I$,"",0);else{let C$=this.getAssociatedPath(I$);if(C$)this.#J.set(C$,I$);else this.#j.add(I$)}}catch(I$){throw this.storeErr(I$),this.releaseAccessHandles(),I$}}))}getAssociatedPath(C){C.read(this.#v,{at:0});let g=this.#W.getUint32(d);if(this.#v[0]&&(g&P.SQLITE_OPEN_DELETEONCLOSE||(g&M)===0))return p(`Removing file with unexpected flags ${g.toString(16)}`,this.#v),this.setAssociatedPath(C,"",0),"";let s=new Uint32Array(u/4);C.read(s,{at:Z$});let X$=this.computeDigest(this.#v,g);if(s.every((I$,C$)=>I$===X$[C$])){let I$=this.#v.findIndex((C$)=>C$===0);if(I$===0)C.truncate(F);return I$?a.decode(this.#v.subarray(0,I$)):""}else return p("Disassociating file with bad digest."),this.setAssociatedPath(C,"",0),""}setAssociatedPath(C,g,s){let X$=D$.encodeInto(g,this.#v);if(b<=X$.written+1)Z("Path too long:",g);if(g&&s)s|=e;this.#v.fill(0,X$.written,b),this.#W.setUint32(d,s);let I$=this.computeDigest(this.#v,s);if(C.write(this.#v,{at:0}),C.write(I$,{at:Z$}),C.flush(),g)this.#J.set(g,C),this.#j.delete(C);else C.truncate(F),this.#j.add(C)}computeDigest(C,g){if(g&e){let s=3735928559,X$=1103547991;for(let I$ of C)s=Math.imul(s^I$,2654435761),X$=Math.imul(X$^I$,104729);return new Uint32Array([s>>>0,X$>>>0])}else return new Uint32Array([0,0])}async reset(C){await this.isReady;let g=await navigator.storage.getDirectory(),s;for(let X$ of this.vfsDir.split("/"))if(X$)s=g,g=await g.getDirectoryHandle(X$,{create:!0});return this.#$=g,this.#Q=s,this.#X=await this.#$.getDirectoryHandle(U$,{create:!0}),this.releaseAccessHandles(),this.acquireAccessHandles(C)}getPath(C){if(E.isPtr(C))C=E.cstrToJs(C);return(C instanceof URL?C:new URL(C,"file://localhost/")).pathname}deletePath(C){let g=this.#J.get(C);if(g)this.#J.delete(C),this.setAssociatedPath(g,"",0);return!!g}storeErr(C,g){if(C)C.sqlite3Rc=g||P.SQLITE_IOERR,this.error(C);return this.$error=C,g}popErr(){let C=this.$error;return this.$error=void 0,C}nextAvailableSAH(){let[C]=this.#j.keys();return C}getOFileForS3File(C){return this.#Y.get(C)}mapS3FileToOFile(C,g){if(g)this.#Y.set(C,g),R$(C,this);else this.#Y.delete(C),R$(C,!1)}hasFilename(C){return this.#J.has(C)}getSAHForPath(C){return this.#J.get(C)}async removeVfs(){if(!this.#G.pointer||!this.#X)return!1;P.sqlite3_vfs_unregister(this.#G.pointer),this.#G.dispose(),delete H[this.vfsName];try{this.releaseAccessHandles(),await this.#$.removeEntry(U$,{recursive:!0}),this.#X=void 0,await this.#Q.removeEntry(this.#$.name,{recursive:!0}),this.#$=this.#Q=void 0}catch(C){L.config.error(this.vfsName,"removeVfs() failed with no recovery strategy:",C)}return!0}pauseVfs(){if(this.#Y.size>0)L.SQLite3Error.toss(P.SQLITE_MISUSE,"Cannot pause VFS",this.vfsName,"because it has opened files.");if(this.#U.size>0)P.sqlite3_vfs_unregister(this.vfsName),this.releaseAccessHandles();return this}isPaused(){return this.#U.size===0}async unpauseVfs(){if(this.#U.size===0)return this.acquireAccessHandles(!1).then(()=>P.sqlite3_vfs_register(this.#G,0),this);return this}exportFile(C){//! Documented elsewhere in this file.
527
- let g=this.#J.get(C)||Z("File not found:",C),s=g.getSize()-F,X$=new Uint8Array(s>0?s:0);if(s>0){let I$=g.read(X$,{at:F});if(I$!=s)Z("Expected to read "+s+" bytes but read "+I$+".")}return X$}async importDbChunked(C,g){//! Impl for importDb() when its 2nd arg is a function.
528
- let s=this.#J.get(C)||this.nextAvailableSAH()||Z("No available handles to import to.");s.truncate(0);let X$=0,I$,C$=!1;try{while((I$=await g())!==void 0){if(I$ instanceof ArrayBuffer)I$=new Uint8Array(I$);if(!C$&&X$===0&&I$.byteLength>=15)B.affirmDbHeader(I$),C$=!0;s.write(I$,{at:F+X$}),X$+=I$.byteLength}if(X$<512||X$%512!==0)Z("Input size",X$,"is not correct for an SQLite database.");if(!C$){let h$=new Uint8Array(20);s.read(h$,{at:0}),B.affirmDbHeader(h$)}s.write(new Uint8Array([1,1]),{at:F+18})}catch(h$){throw this.setAssociatedPath(s,"",0),h$}return this.setAssociatedPath(s,C,P.SQLITE_OPEN_MAIN_DB),X$}importDb(C,g){//! Documented elsewhere in this file.
529
- if(g instanceof ArrayBuffer)g=new Uint8Array(g);else if(g instanceof Function)return this.importDbChunked(C,g);let s=this.#J.get(C)||this.nextAvailableSAH()||Z("No available handles to import to."),X$=g.byteLength;if(X$<512||X$%512!=0)Z("Byte array size is invalid for an SQLite db.");let I$="SQLite format 3";for(let h$=0;h$<15;++h$)if(I$.charCodeAt(h$)!==g[h$])Z("Input does not contain an SQLite database header.");let C$=s.write(g,{at:F});if(C$!=X$)this.setAssociatedPath(s,"",0),Z("Expected to write "+X$+" bytes but wrote "+C$+".");else s.write(new Uint8Array([1,1]),{at:F+18}),this.setAssociatedPath(s,C,P.SQLITE_OPEN_MAIN_DB);return C$}}class J${#$;constructor(C){this.#$=C,this.vfsName=C.vfsName}async addCapacity(C){return this.#$.addCapacity(C)}async reduceCapacity(C){return this.#$.reduceCapacity(C)}getCapacity(){return this.#$.getCapacity(this.#$)}getFileCount(){return this.#$.getFileCount()}getFileNames(){return this.#$.getFileNames()}async reserveMinimumCapacity(C){let g=this.#$.getCapacity();return g<C?this.#$.addCapacity(C-g):g}exportFile(C){return this.#$.exportFile(C)}importDb(C,g){return this.#$.importDb(C,g)}async wipeFiles(){return this.#$.reset(!0)}unlink(C){return this.#$.deletePath(C)}async removeVfs(){return this.#$.removeVfs()}pauseVfs(){return this.#$.pauseVfs(),this}async unpauseVfs(){return this.#$.unpauseVfs().then(()=>this)}isPaused(){return this.#$.isPaused()}}let G$=async()=>{let C=await navigator.storage.getDirectory(),g=".opfs-sahpool-sync-check-"+m(),s=(await(await C.getFileHandle(g,{create:!0})).createSyncAccessHandle()).close();if(await s,await C.removeEntry(g),s?.then)Z("The local OPFS API is too old for opfs-sahpool:","it has an async FileSystemSyncAccessHandle.close() method.");return!0};L.installOpfsSAHPoolVfs=async function(C=Object.create(null)){C=Object.assign(Object.create(null),R,C||{});let g=C.name;if(C.$testThrowPhase1)throw C.$testThrowPhase1;if(H[g])try{return await H[g]}catch(s){if(C.forceReinitIfPreviouslyFailed)delete H[g];else throw s}if(!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle||!globalThis.FileSystemFileHandle.prototype.createSyncAccessHandle||!navigator?.storage?.getDirectory)return H[g]=Promise.reject(Error("Missing required OPFS APIs."));return H[g]=G$().then(async function(){if(C.$testThrowPhase2)throw C.$testThrowPhase2;let s=new x(C);return s.isReady.then(async()=>{let X$=new J$(s);if(L.oo1){let I$=L.oo1,C$=s.getVfs(),h$=function(...m$){let X6=I$.DB.dbCtorHelper.normalizeArgs(...m$);X6.vfs=C$.$zName,I$.DB.dbCtorHelper.call(this,X6)};h$.prototype=Object.create(I$.DB.prototype),X$.OpfsSAHPoolDb=h$}return s.log("VFS initialized."),X$}).catch(async(X$)=>{throw await s.removeVfs().catch(()=>{}),X$})}).catch((s)=>{return H[g]=Promise.reject(s)})}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(L){if(!L.opfs||L.config.disable?.vfs?.["opfs-wl"])return;let Z=L.util;L.util.toss;let V=L.opfs,H="opfs-wl",P=async function(B){if(B=V.initOptions(H,B),!B)return L;L.capi;let E=V.createVfsState().vfs;E.metrics.counters;let{mTimeStart:t,mTimeEnd:b,opRun:w,__openFiles:u}=E;return E.bindVfs(Z.nu({xLock:function(i,d){t("xLock");let Z$=u[i],F=w("xLock",i,d);if(!F)Z$.lockType=d;return b(),F},xUnlock:function(i,d){t("xUnlock");let Z$=u[i],F=w("xUnlock",i,d);if(!F)Z$.lockType=d;return b(),F}}),function(i,d){if(i.oo1){let Z$=function(...F){let M=i.oo1.DB.dbCtorHelper.normalizeArgs(...F);M.vfs=d.$zName,i.oo1.DB.dbCtorHelper.call(this,M)};Z$.prototype=Object.create(i.oo1.DB.prototype),i.oo1.OpfsWlDb=Z$,Z$.importDb=V.importDb}})};globalThis.sqlite3ApiBootstrap.initializersAsync.push(async(B)=>{return P().catch((E)=>{B.config.warn("Ignoring inability to install the",H,"sqlite3_vfs:",E)})})});try{let L=Object.assign(Object.create(null),{memory:typeof E1<"u"?E1:K.wasmMemory,exports:typeof uU<"u"?uU:Object.prototype.hasOwnProperty.call(K,"wasmExports")?K.wasmExports:K.asm},globalThis.sqlite3ApiBootstrap.defaultConfig,globalThis.sqlite3ApiConfig||{});Y.debugModule("Bootstrapping lib config",L);let Z=globalThis.sqlite3ApiBootstrap(L);return delete globalThis.sqlite3ApiBootstrap,Z}catch(L){throw console.error("sqlite3ApiBootstrap() error:",L),L}},w$)U=X;else U=new Promise((Y,K)=>{Y$=Y,L$=K});return U}xX=function(){let $=xX;if(!$)throw Error("Expecting sqlite3InitModule to be defined by the Emscripten build.");let U=globalThis.sqlite3InitModuleState=Object.assign(Object.create(null),{moduleScript:globalThis?.document?.currentScript,isWorker:typeof WorkerGlobalScope<"u",location:globalThis.location,urlParams:globalThis?.location?.href?new URL(globalThis.location.href).searchParams:new URLSearchParams,wasmFilename:"sqlite3.wasm"});if(U.debugModule=U.urlParams.has("sqlite3.debugModule")?(...Q)=>console.warn("sqlite3.debugModule:",...Q):()=>{},U.urlParams.has("sqlite3.dir"))U.sqlite3Dir=U.urlParams.get("sqlite3.dir")+"/";else if(U.moduleScript){let Q=U.moduleScript.src.split("/");Q.pop(),U.sqlite3Dir=Q.join("/")+"/"}let X=globalThis.sqlite3InitModule=function Q(...J){return U.emscriptenLocateFile=J[0]?.locateFile,U.emscriptenInstantiateWasm=J[0]?.instantiateWasm,$(...J).then((j)=>{U.debugModule("sqlite3InitModule() sIMS =",U),U.debugModule("sqlite3InitModule() EmscriptenModule =",j);let G=j.runSQLite3PostLoadInit(U,j,!!Q.__isUnderTest);return U.debugModule("sqlite3InitModule() sqlite3 =",G),G}).catch((j)=>{throw console.error("Exception loading sqlite3 module:",j),j})};if(X.ready=$.ready,U.moduleScript){let Q=U.moduleScript.src.split("/");Q.pop(),U.scriptDir=Q.join("/")+"/"}return U.debugModule("extern-post-js.c-pp.js sqlite3InitModuleState =",U),X}();var iY=xX;class uX{db;txDepth=0;constructor($){this.db=$}query($){let U=this.db;return{get(...X){return U.selectObject($,wX(X))??null},all(...X){return U.selectObjects($,wX(X))},run(...X){return U.exec({sql:$,bind:wX(X)}),{changes:U.changes()}}}}exec($){this.db.exec({sql:$})}transaction($){return(...U)=>{let X=`mh_tx_${this.txDepth}`;this.exec(this.txDepth===0?"BEGIN":`SAVEPOINT ${X}`),this.txDepth++;try{let Q=$(...U);return this.txDepth--,this.exec(this.txDepth===0?"COMMIT":`RELEASE ${X}`),Q}catch(Q){throw this.txDepth--,this.exec(this.txDepth===0?"ROLLBACK":`ROLLBACK TO ${X}; RELEASE ${X}`),Q}}}}function wX($){if($.length===0)return;return $.map((U)=>U===void 0?null:U)}WJ();L1();E6();z6();A6();m0();HG();h2();c0();var xz=($)=>{let U=/^[a-z0-9+]+:\/\/([^/]+)/i.exec($);return U?U[1]:$};function GB($,U,X,Q,J,j){let G=$.kind==="s3",W=G?Q:X,z=Math.max(0,W-$.pushCursor),D=G?["backend"]:["replica"],A=G?$.url:$.nodeId;if(A&&U.includes(A))D.push("blob_anchor");if(G&&$.publish)D.push("publisher");return{kind:G?"bucket":"device",url:$.url,label:$.label??(G?$.bucket??xz($.url):xz($.url)),freshness:!$.enabled?"disabled":$.lastStatus==="error"?"error":$.lastSuccessAt==null?"never":z>0?"behind":J-$.lastSuccessAt>j?"stale":"current",syncedAt:$.lastSuccessAt,error:$.lastStatus==="error"?$.lastError??null:null,acknowledgedSeq:$.pushCursor,highWaterSeq:W,lag:z,roles:D}}function aG($){let U={kind:"self",url:null,label:$.selfLabel??"本机",freshness:"live",syncedAt:null,error:null,acknowledgedSeq:$.globalHighWaterSeq,highWaterSeq:$.globalHighWaterSeq,lag:0,roles:$.blobFullNodes.includes($.selfNodeId)?["replica","blob_anchor"]:["replica"]},X=(G)=>G==="current"?0:G==="stale"?1:G==="behind"?2:G==="error"?3:G==="never"?4:5,Q=$.now??Date.now(),J=$.staleAfterMs??86400000,j=$.peers.map((G)=>GB(G,$.blobFullNodes,$.globalHighWaterSeq,$.ownHighWaterSeq,Q,J)).sort((G,W)=>Number(G.kind==="bucket")-Number(W.kind==="bucket")||X(G.freshness)-X(W.freshness)||G.label.localeCompare(W.label));return[U,...j]}function wz($){let X=aG($).filter((z)=>z.kind!=="self"&&z.freshness!=="disabled"),Q=X.filter((z)=>z.syncedAt!=null&&z.acknowledgedSeq>=z.highWaterSeq),J=Q.length?Q.reduce((z,D)=>z==null||(D.syncedAt??0)<z?D.syncedAt:z,null):null,j=X.reduce((z,D)=>Math.max(z,D.lag),0),G=[];if(X.length===0)G.push({kind:"no_backup",placeUrl:null,placeLabel:null,message:null});for(let z of X)if(z.freshness==="error")G.push({kind:"peer_error",placeUrl:z.url,placeLabel:z.label,message:z.error});if($.pendingBlobCount>0)G.push({kind:"pending_blobs",placeUrl:null,placeLabel:null,message:null});for(let z of X)if(z.freshness==="behind")G.push({kind:"behind",placeUrl:z.url,placeLabel:z.label,message:null});for(let z of X)if(z.freshness==="never")G.push({kind:"never_synced",placeUrl:z.url,placeLabel:z.label,message:null});for(let z of X)if(z.freshness==="stale")G.push({kind:"stale",placeUrl:z.url,placeLabel:z.label,message:null});let W={places:1+Q.length,pendingBlobCount:$.pendingBlobCount,pendingBlobBytes:$.pendingBlobBytes,pendingChanges:j,oldestSyncedAt:J,issues:G};if(X.length===0)return{state:"no_backup",...W};if(X.some((z)=>z.freshness==="error"))return{state:"peer_error",...W};if($.pendingBlobCount>0)return{state:"pending_blobs",...W};if(j>0)return{state:"unsynced_changes",...W};if(X.some((z)=>z.freshness==="never"))return{state:"syncing",...W};if(X.some((z)=>z.freshness==="stale"))return{state:"stale",...W};return{state:"healthy",...W}}L1();m0();h2();function uz($){let U=J6($),X=$.query("SELECT MAX(seq) AS global_seq, MAX(CASE WHEN node_id = ? THEN seq END) AS own_seq FROM crdt_changes").get(U),Q=$.query("SELECT value FROM meta WHERE key = 'cfg_sync_interval'").get(),J=Number(Q?.value),j=Math.max(900000,Number.isFinite(J)&&J>0?J*3:0),G=w6($).filter((D)=>D.kind==="http"||D.kind==="s3").map((D)=>{let A=null,T;if(D.kind==="s3"&&D.config)try{let h=JSON.parse(D.config);A=h.bucket??null,T=h.publish}catch{}return{url:D.url,kind:D.kind,label:D.label,nodeId:D.node_id,enabled:!!D.enabled,lastSuccessAt:D.last_success_at,lastStatus:D.last_status,lastError:D.last_error,pushCursor:D.push_cursor,bucket:A,publish:T}}),W=oW($),z={selfNodeId:U,selfLabel:yU($),peers:G,pendingBlobCount:W.length,pendingBlobBytes:W.reduce((D,A)=>D+A.size,0),blobFullNodes:n0($).fullNodes,globalHighWaterSeq:X.global_seq??0,ownHighWaterSeq:X.own_seq??0,staleAfterMs:j};return{state:wz(z),places:aG(z)}}pG();L1();C0();b2();function gz($,U){let X=J6($),Q=C1($,U,"revoked");if(Q.audience==="public"&&!X1($,Q.site_id).some((J)=>J.audience==="public"&&J.desired_state==="active"))ZX($,Q.site_id,{visibility:"private"});if(Q.hosting==="device"&&Q.target_ref===X)return R6($,{channelId:Q.id,status:"revoked",lastVerifiedAt:Date.now()}),{channel:Q,needsReconcile:!1};if(Q.controller_node_id===X)return{channel:Q,needsReconcile:!0};return R6($,{channelId:Q.id,status:"cleanup_pending",lastError:"等待控制设备上线并应用撤销"}),{channel:Q,needsReconcile:!1}}T0();z6();T0();zX();function mz($){return $.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'")}function KB($){let U=UY($),X=JY($),Q=(j)=>vY($,j);async function J(j,G){let W=await j.text().catch(()=>"");throw Error(`S3 ${G} failed: ${j.status} ${W.slice(0,200)}`)}return{async list(j,G,W){let z=[],D;do{let A=new URL(X);if(A.searchParams.set("list-type","2"),A.searchParams.set("prefix",j),A.searchParams.set("max-keys","1000"),G)A.searchParams.set("start-after",G);if(W)A.searchParams.set("delimiter",W);if(D)A.searchParams.set("continuation-token",D);let T=await U.fetch(A.toString(),{method:"GET"});if(!T.ok)await J(T,"list");let h=await T.text(),o=/<Contents>([\s\S]*?)<\/Contents>/g,V$;while(V$=o.exec(h)){let Y$=V$[1],L$=/<Key>([^<]+)<\/Key>/.exec(Y$)?.[1];if(!L$)continue;z.push({key:mz(L$),etag:/<ETag>([^<]*)<\/ETag>/.exec(Y$)?.[1]})}if(W){let Y$=/<CommonPrefixes>([\s\S]*?)<\/CommonPrefixes>/g;while(V$=Y$.exec(h)){let L$=/<Prefix>([^<]+)<\/Prefix>/.exec(V$[1])?.[1];if(L$)z.push({key:mz(L$)})}}D=/<IsTruncated>true<\/IsTruncated>/.test(h)?/<NextContinuationToken>([^<]+)<\/NextContinuationToken>/.exec(h)?.[1]:void 0}while(D);return z},async get(j){let G=await U.fetch(Q(j));if(G.status===404)return null;if(!G.ok)await J(G,"get");return new Uint8Array(await G.arrayBuffer())},async put(j,G,W){let z={};if(W?.contentType)z["content-type"]=W.contentType;if(W?.ifNoneMatch)z["if-none-match"]="*";if(W?.ifMatch)z["if-match"]=W.ifMatch;let D=await U.fetch(Q(j),{method:"PUT",body:G,headers:Object.keys(z).length?z:void 0});if((W?.ifNoneMatch||W?.ifMatch)&&D.status===412)throw new c("conflict",`S3 conditional put failed (${W?.ifMatch?"If-Match":"exists"}): ${j}`);if(!D.ok)await J(D,"put")},async del(j){let G=await U.fetch(Q(j),{method:"DELETE"});if(!G.ok&&G.status!==404)await J(G,"delete")}}}BK(KB);var zB=Math.floor(167772160);function VB($){if($ instanceof ArrayBuffer)return $;let U=new Uint8Array($.byteLength);return U.set($),U.buffer}async function DB($){let U=await crypto.subtle.digest("SHA-256",VB($));return[...new Uint8Array(U)].map((X)=>X.toString(16).padStart(2,"0")).join("")}async function XY($,U){return(await DB($)).slice(0,U.length)===U}var VX=null;function LB(){if(VX)return VX;return VX=new Promise(($,U)=>{let X=indexedDB.open("mh-blobs",1);X.onupgradeneeded=()=>{let Q=X.result;if(!Q.objectStoreNames.contains("spool"))Q.createObjectStore("spool",{keyPath:"hash"});if(!Q.objectStoreNames.contains("meta"))Q.createObjectStore("meta",{keyPath:"hash"})},X.onsuccess=()=>$(X.result),X.onerror=()=>U(X.error)}),VX}function MU($,U,X){return LB().then((Q)=>new Promise((J,j)=>{let G=X(Q.transaction($,U).objectStore($));G.onsuccess=()=>J(G.result),G.onerror=()=>j(G.error)}))}function QY($){return MU("spool","readonly",(U)=>U.get($))}async function cz(){return(await MU("spool","readonly",(U)=>U.getAll())??[]).filter((U)=>!U.durable)}async function iz($){await MU("spool","readwrite",(U)=>U.delete($))}var lz=($)=>`/blob/${$}`;async function HB($,U,X){let Q=await MU("meta","readonly",(j)=>j.get($)),J={hash:$,size:U,accessed:Date.now(),pinned:Q?.pinned??0,content_type:X??Q?.content_type};await MU("meta","readwrite",(j)=>j.put(J))}async function rz($,U,X){await(await caches.open("mh-blob-v1")).put(lz($),new Response(U,{headers:{"content-type":X,"cache-control":"public, max-age=31536000, immutable"}})),await HB($,U.byteLength,X),await NB()}async function NB(){let $=await MU("meta","readonly",(J)=>J.getAll())??[],U=$.reduce((J,j)=>J+j.size,0);if(U<=209715200)return;let X=await caches.open("mh-blob-v1"),Q=$.filter((J)=>!J.pinned).sort((J,j)=>J.accessed-j.accessed);for(let J of Q){if(U<=zB)break;await X.delete(lz(J.hash)),await MU("meta","readwrite",(j)=>j.delete(J.hash)),U-=J.size}}lv();ZU();WU();KU();rU();A6();rU();WU();z6();var OB=1500;function jY($){return Number($.slice(0,15))}function HX($){return new Date(jY($)).toISOString()}function GY($){if($?.startsWith("repair:"))return"repair";if($?.startsWith("revert:"))return"revert";return"user"}function NX($){let U=[],X=[];for(let Q of $){let J=X[X.length-1];if(J&&(J.txn!==null&&Q.txn!==null?J.txn!==Q.txn:J.node_id!==Q.node_id||jY(Q.hlc)-jY(J.hlc)>OB))U.push(X),X=[];X.push(Q)}if(X.length)U.push(X);return U}function $U($){return $!==null&&$!=="0"&&$!=="false"&&$!=="null"}function DX($,U){let X=new Map;for(let Q of $){if(Q.hlc>U)continue;let J=X.get(Q.col);if(!J||Q.hlc>J.hlc)X.set(Q.col,{value:Q.value,hlc:Q.hlc})}return X}function OX($,U,X){return $.query(`SELECT ${H1} FROM crdt_changes WHERE dataset = ? AND row_id = ? ORDER BY hlc`).all(U,X)}function IB($,U){return $.query("SELECT DISTINCT row_id FROM crdt_changes WHERE dataset = 'doc_blocks' AND col = 'doc_id' AND value = ?").all(JSON.stringify(U)).map((X)=>X.row_id)}function oz($,U){let X=IB($,U),Q=X.map(()=>"?").join(","),J=X.length?` OR (dataset = 'doc_blocks' AND row_id IN (${Q}))`:"";return $.query(`SELECT ${H1} FROM crdt_changes
530
- WHERE (dataset = 'documents' AND row_id = ?)${J}
531
- ORDER BY hlc`).all(U,...X)}function dz($,U){let X=oz($,U);if(!X.length)throw new c("not_found",`no such document: ${U}`);let Q=new Map,J=[];for(let j of NX(X)){let G=new Set,W=new Set,z=new Map,D=!1,A=!1,T=0;for(let Y$ of j)if(Y$.dataset==="documents"){if(z.set(Y$.col,Y$.value),Y$.col==="created_hlc")D=!0;else if(Y$.col==="__deleted")A=$U(Y$.value)}else if(T++,Y$.col==="__deleted"&&$U(Y$.value))W.add(Y$.row_id);else if(Y$.col==="text")G.add(Y$.row_id);let h=!1,o=0;for(let[Y$,L$]of z){let w$=!Q.has(Y$)||Q.get(Y$)!==L$;if(Q.set(Y$,L$),!w$)continue;if(o++,Y$==="title")h=!0}if(o===0&&T===0)continue;let V$=j[j.length-1];J.push({version:V$.hlc,at:HX(V$.hlc),node_id:V$.node_id,kind:GY(V$.txn),changes:j.length,created:D,deleted:A,title_changed:h,blocks_changed:G.size,blocks_deleted:W.size})}return J.reverse()}function YY($,U,X){if(!X)throw new c("invalid_input","missing version cutoff");let Q=oz($,U).filter((D)=>D.hlc<=X);if(!Q.length)throw new c("not_found",`no version of document ${U} at or before ${X}`);let J=DX(Q.filter((D)=>D.dataset==="documents"),X),j=(D)=>{let A=J.get(D);return A?.value==null?void 0:JSON.parse(A.value)},G=new Map;for(let D of Q){if(D.dataset!=="doc_blocks")continue;(G.get(D.row_id)??G.set(D.row_id,[]).get(D.row_id)).push(D)}let W=[];for(let[D,A]of G){let T=DX(A,X),h=(V$)=>{let Y$=T.get(V$);return Y$?.value==null?void 0:JSON.parse(Y$.value)};if(h("doc_id")!==U)continue;if(T.get("__deleted")&&$U(T.get("__deleted").value))continue;let o=h("text");if(typeof o!=="string"||!o)continue;W.push({id:D,text:o,order_key:h("order_key")??null,blankAfter:h("blank_after")??0})}W.sort((D,A)=>{if(D.order_key!==A.order_key){if(D.order_key===null)return-1;if(A.order_key===null)return 1;return D.order_key<A.order_key?-1:1}return D.id<A.id?-1:1});let z=G.size?YU(W):j("body")??"";return{id:U,title:j("title")??"",body:z,deleted:J.get("__deleted")?$U(J.get("__deleted").value):!1,version:Q[Q.length-1].hlc}}var pz=o$(function(U,X,Q,J={}){let j=D6(U,X);if(!j&&!U.query("SELECT 1 AS x FROM documents WHERE id = ?").get(X))throw new c("not_found",`no such document: ${X}`);if(J.ifMatch!==void 0&&h6(U,X)!==J.ifMatch)throw new c("stale",`stale: document changed since ${J.ifMatch}; re-read first`);let G=YY(U,X,Q);if(G.deleted)throw new c("invalid_input","target version is a deleted state; use doc delete instead");let W=!j;if(!j)A$(U,"documents",X,"__deleted",0),j=D6(U,X);let z={};if(G.title!==j.title)z.title=G.title;if(G.body!==(j.body??""))z.body=G.body;if(Object.keys(z).length)GJ(U,X,z);return{id:X,changed:Object.keys(z).length>0||W,restored:G.version,version:h6(U,X),undeleted:W}},"revert"),LX=new Set(["database_id","created_hlc","order_key","__deleted"]);function tz($){let U=new Set,X=!1,Q=!1,J=!1;for(let G of $)if(G.col==="created_hlc")X=!0;else if(G.col==="__deleted")Q=$U(G.value);else if(G.col==="order_key")J=!0;else if(!LX.has(G.col))U.add(G.col);let j=$[$.length-1];return{version:j.hlc,at:HX(j.hlc),node_id:j.node_id,kind:GY(j.txn),changes:$.length,created:X,deleted:Q,fields:[...U],moved:J}}function az($,U){let X=OX($,"records",U);if(!X.length)throw new c("not_found",`no such record: ${U}`);return NX(X).map(tz).reverse()}function ez($,U,X={}){if(!$.query("SELECT 1 AS x FROM databases WHERE id = ?").get(U))throw new c("not_found",`no such database: ${U}`);let Q=$.query("SELECT id FROM properties WHERE database_id = ? AND type = 'text' AND __deleted = 0 ORDER BY position LIMIT 1").get(U)?.id??null,J=$.query(`SELECT ${H1} FROM crdt_changes
520
+ `)}async hexBodyHash(){let e=this.headers.get("X-Amz-Content-Sha256")||(this.service==="s3"&&this.signQuery?"UNSIGNED-PAYLOAD":null);if(e==null){if(this.body&&typeof this.body!=="string"&&!("byteLength"in this.body))throw Error("body must be a string, ArrayBuffer or ArrayBufferView, unless you include the X-Amz-Content-Sha256 header");e=Fa(await hg(this.body||""))}return e}}async function lo(e,t){let r=await crypto.subtle.importKey("raw",typeof e==="string"?Ma.encode(e):e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]);return crypto.subtle.sign("HMAC",r,Ma.encode(t))}async function hg(e){return crypto.subtle.digest("SHA-256",typeof e==="string"?Ma.encode(e):e)}function Fa(e){let t=new Uint8Array(e),r="";for(let n=0;n<t.length;n++){let o=t[n];r+=mg[o>>>4&15],r+=mg[o&15]}return r}function yg(e){return e.replace(/[!'()*]/g,(t)=>"%"+t.charCodeAt(0).toString(16).toUpperCase())}function Sv(e,t){let{hostname:r,pathname:n}=e;if(r.endsWith(".on.aws")){let u=r.match(/^[^.]{1,63}\.lambda-url\.([^.]{1,63})\.on\.aws$/);return u!=null?["lambda",u[1]||""]:["",""]}if(r.endsWith(".r2.cloudflarestorage.com"))return["s3","auto"];if(r.endsWith(".backblazeb2.com")){let u=r.match(/^(?:[^.]{1,63}\.)?s3\.([^.]{1,63})\.backblazeb2\.com$/);return u!=null?["s3",u[1]||""]:["",""]}let o=r.replace("dualstack.","").match(/([^.]{1,63})\.(?:([^.]{0,63})\.)?amazonaws\.com(?:\.cn)?$/),s=o&&o[1]||"",a=o&&o[2];if(a==="us-gov")a="us-gov-west-1";else if(a==="s3"||a==="s3-accelerate")a="us-east-1",s="s3";else if(s==="iot")if(r.startsWith("iot."))s="execute-api";else if(r.startsWith("data.jobs.iot."))s="iot-jobs-data";else s=n==="/mqtt"?"iotdevicegateway":"iotdata";else if(s==="autoscaling"){let u=(t.get("X-Amz-Target")||"").split(".")[0];if(u==="AnyScaleFrontendService")s="application-autoscaling";else if(u==="AnyScaleScalingPlannerFrontendService")s="autoscaling-plans"}else if(a==null&&s.startsWith("s3-"))a=s.slice(3).replace(/^fips-|^external-1/,""),s="s3";else if(s.endsWith("-fips"))s=s.slice(0,-5);else if(a&&/-\d$/.test(s)&&!/-\d$/.test(a))[s,a]=[a,s];return[vv[s]||s,a||""]}var Ma,vv,Ev,mg;var wg=De(()=>{Ma=new TextEncoder,vv={appstream2:"appstream",cloudhsmv2:"cloudhsm",email:"ses",marketplace:"aws-marketplace",mobile:"AWSMobileHubService",pinpoint:"mobiletargeting",queue:"sqs","git-codecommit":"codecommit","mturk-requester-sandbox":"mturk-requester","personalize-runtime":"personalize"},Ev=new Set(["authorization","content-type","content-length","user-agent","presigned-expires","expect","x-amzn-trace-id","range","connection"]);mg=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"]});function Ua(e){return new Ba({accessKeyId:e.accessKeyId,secretAccessKey:e.secretAccessKey,region:e.region||"auto",service:"s3"})}function ja(e){let t=new URL(e.endpoint).origin;return Yp(e)?t:`${t}/${e.bucket}`}function Ha(e,t){return`${ja(e)}/${t.split("/").map(encodeURIComponent).join("/")}`}async function uo(e,t,r){let n=Ua(e),o=new URL(Ha(e,t));return o.searchParams.set("X-Amz-Expires",String(Math.min(Math.max(1,Math.floor(r)),Tn))),(await n.sign(o.toString(),{method:"GET",aws:{signQuery:!0}})).url}var Tn=604800;var wi=De(()=>{wg();wn()});function Wv(e,t){let r=e.query("SELECT value FROM meta WHERE key = ?").get(t);return r?r.value:null}function rc(e,t,r){if(r===null){e.query("DELETE FROM meta WHERE key = ?").run(t);return}e.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,r)}function Ti(e){let t=Wv(e,"edge_config");if(!t)return null;try{let r=JSON.parse(t);if(!r||typeof r.endpoint!=="string"||typeof r.token!=="string")return null;if(r.cf&&"apiToken"in r.cf)delete r.cf.apiToken,rc(e,"edge_config",JSON.stringify(r));if(!Array.isArray(r.capabilities))r.capabilities=r.cf?["inbox","room"]:["inbox"],rc(e,"edge_config",JSON.stringify(r));return r}catch{return null}}function nc(e,t){if(t?.cf&&"apiToken"in t.cf)throw Error("Cloudflare API token must not be persisted");let r=t?{...t,capabilities:t.capabilities??(t.cf?["inbox","room"]:["inbox"])}:null;rc(e,"edge_config",r?JSON.stringify(r):null)}function fo(e){return e.capabilities??(e.cf?["inbox","room"]:["inbox"])}var Tr="3";function po(e){let t=(e||"").replace(/^\/+|\/+$/g,"");return t?`${t}/shares`:"shares"}function Xg(e){let t=new Set,r=/\/blob\/([0-9a-f]{16,64})/g,n;while(n=r.exec(e))t.add(n[1].toLowerCase());return[...t]}function eh(e,t){let r=new TextEncoder().encode(JSON.stringify(t));return e.encrypt&&e.masterKey?pr(Xt(e.masterKey),r):Promise.resolve(r)}async function ic(e,t){let n=await Bt(e).get(oc(po(e.prefix),t)).catch(()=>null);if(!n)return null;try{let o=e.encrypt&&e.masterKey?await Hr(Xt(e.masterKey),n):n;return JSON.parse(new TextDecoder().decode(o))}catch{return null}}async function Gv(e,t){let r=Bt(t.config),n=po(t.config.prefix),o={v:1,kind:t.kind,title:""},s=[];if(t.kind==="doc"){let m=nt(e,t.targetId);if(!m)throw new Z("not_found",`no such document: ${t.targetId}`);o.title=m.title,o.body=m.body??"",s=Xg(o.body)}else{let m=Pt(e,t.targetId);if(!m)throw new Z("not_found",`no such database: ${t.targetId}`);o.title=m.name;let x=Nt(e,t.targetId).sort((j,Y)=>j.position-Y.position);o.properties=x.map((j)=>({id:j.id,name:j.name,type:j.type}));let D=un(e,t.targetId);o.records=D.map((j)=>({cells:j.cells})),s=Xg(JSON.stringify(D.map((j)=>j.cells)))}let a=[],u={};if(s.length>0&&!Ol())throw new Z("network","no blob-bytes resolver is registered for this runtime");for(let m of s){let x=await Dl(e,m);if(!x)continue;let D=Yg(n,t.slug,m);await r.put(D,await pr(t.shareKey,x),{contentType:"application/octet-stream"}),a.push(D),u[m]={url:await uo(t.config,D,t.expiresSec),ct:Nl(e,m)??"application/octet-stream"}}if(Object.keys(u).length)o.blobs=u;let _=Qg(n,t.slug);return await r.put(_,await pr(t.shareKey,new TextEncoder().encode(JSON.stringify(o))),{contentType:"application/octet-stream"}),a.push(_),{manifestUrl:await uo(t.config,_,t.expiresSec),objects:a,title:o.title}}async function th(e,t,r,n=Tn){let o=await ic(t,r);if(!o)throw new Z("not_found",`no such bucket share: ${r}`);let s=Xt(o.key),a=oh(n),{manifestUrl:u,objects:_,title:m}=await Gv(e,{slug:r,kind:o.kind,targetId:o.target_id,config:t,shareKey:s,expiresSec:a}),x=Date.now()+a*1000,D={...o,title:m,presign_exp:x,objects:_,content_updated_at:Date.now()};return await Bt(t).put(oc(po(t.prefix),r),await eh(t,D),{contentType:"application/octet-stream"}),{manifestUrl:u,presignExp:x,keyB64:o.has_password?void 0:o.key,saltB64:o.salt,title:m}}async function Kv(e,t){if(!e.blobs)return e;let r={};for(let[n,o]of Object.entries(e.blobs))r[n]={...o,url:await t(n)};return{...e,blobs:r}}async function rh(e,t,r=Tn){let n=await ic(e,t);if(!n)throw new Z("not_found",`no such bucket share: ${t}`);let o=Bt(e),s=po(e.prefix),a=Xt(n.key),u=oh(r),_=Qg(s,t),m=await o.get(_).catch(()=>null);if(!m)throw new Z("not_found",`bucket share ${t} has no manifest`);let x=JSON.parse(new TextDecoder().decode(await Hr(a,m))),D=await Kv(x,(Y)=>uo(e,Yg(s,t,Y),u));await o.put(_,await pr(a,new TextEncoder().encode(JSON.stringify(D))),{contentType:"application/octet-stream"});let j=Date.now()+u*1000;return await o.put(oc(s,t),await eh(e,{...n,presign_exp:j}),{contentType:"application/octet-stream"}),{manifestUrl:await uo(e,_,u),presignExp:j,keyB64:n.has_password?void 0:n.key,saltB64:n.salt,title:n.title}}async function nh(e){let t=Bt(e),r=po(e.prefix),o=(await t.list(`${r}/`,void 0,"/").catch(()=>[])).map((a)=>a.key.slice(`${r}/`.length).replace(/\/$/,"")).filter((a)=>a&&!a.includes("/")),s=[];for(let a of o){let u=await ic(e,a);if(u)s.push(u)}return s}function oh(e){return Math.min(Math.max(60,Math.floor(e)),Tn)}var oc=(e,t)=>`${e}/${t}/meta.json`,Qg=(e,t)=>`${e}/${t}/manifest.bin`,Yg=(e,t,r)=>`${e}/${t}/blobs/${r}`;var ih=De(()=>{Ye();_n();qr();Nr();Lr();zn();wn();wi();Qn()});function Jv(e,t){if(t)return t.replace(/\/+$/,"");return(e.query("SELECT value FROM meta WHERE key='cfg_share_viewer_url'").get()?.value||Vv).replace(/\/+$/,"")}function Xv(e,t,r,n){let o=`m=${encodeURIComponent(t)}&`+(r?`k=${r}`:`s=${n}`);return`${e}/#${o}`}async function sh(e,t,r,n){for(let o of jt(e).filter((s)=>s.kind==="s3"&&s.config)){let s=JSON.parse(o.config),u=(await nh(s).catch(()=>[])).find((x)=>x.slug===t);if(!u)continue;let _=Jv(e,r),m=n?.refreshContent?await th(e,s,t):await rh(s,t);return{slug:t,kind:u.kind,permission:"view",transport:"s3",hosting:"s3",url:Xv(_,m.manifestUrl,m.keyB64,m.saltB64),expiresAt:m.presignExp,source:`桶 ${o.label??o.url}`}}throw new Z("not_found",`no such object-storage share: ${t}`)}var Vv="https://share.mh.tensorix.org",ID;var ah=De(()=>{ta();Ye();wt();Xi();En();_n();qr();io();vn();ih();wi();co();ID=jr({slug:at().min(1).max(128),kind:ni(["doc","database","site"]),permission:ni(["view","edit"]),transport:$b("server"),hosting:ni(["server","room"]),url:at().url(),expiresAt:ri().nullable(),source:at()})});globalThis.sqlite3Worker1Promiser=function e(t=e.defaultConfig){if(arguments.length===1&&typeof arguments[0]==="function"){let D=t;t=Object.assign(Object.create(null),e.defaultConfig),t.onready=D}else t=Object.assign(Object.create(null),e.defaultConfig,t);let r=Object.create(null),n=function(){},o=t.onerror||n,s=t.debug||n,a=t.generateMessageId?void 0:Object.create(null),u=t.generateMessageId||function(D){return D.type+"#"+(a[D.type]=(a[D.type]||0)+1)},_=(...D)=>{throw Error(D.join(" "))};if(!t.worker)t.worker=e.defaultConfig.worker;if(typeof t.worker==="function")t.worker=t.worker();let m,x;return t.worker.onmessage=function(D){D=D.data,s("worker1.onmessage",D);let j=r[D.messageId];if(!j){if(D&&D.type==="sqlite3-api"&&D.result==="worker1-ready"){if(t.onready)t.onready(x);return}if(j=r[D.type],j&&j.onrow){j.onrow(D);return}if(t.onunhandled)t.onunhandled(arguments[0]);else o("sqlite3Worker1Promiser() unhandled worker message:",D);return}switch(delete r[D.messageId],D.type){case"error":j.reject(D);return;case"open":if(!m)m=D.dbId;break;case"close":if(D.dbId===m)m=void 0;break;default:break}try{j.resolve(D)}catch(Y){j.reject(Y)}},x=function(){let D;if(arguments.length===1)D=arguments[0];else if(arguments.length===2)D=Object.create(null),D.type=arguments[0],D.args=arguments[1],D.dbId=D.args.dbId;else _("Invalid arguments for sqlite3Worker1Promiser()-created factory.");if(!D.dbId&&D.type!=="open")D.dbId=m;D.messageId=u(D),D.departureTime=performance.now();let j=Object.create(null);j.message=D;let Y;if(D.type==="exec"&&D.args){if(typeof D.args.callback==="function")Y=D.messageId+":row",j.onrow=D.args.callback,D.args.callback=Y,r[Y]=j;else if(typeof D.args.callback==="string")_("exec callback may not be a string when using the Promise interface.")}let _e=new Promise(function(de,ge){j.resolve=de,j.reject=ge,r[D.messageId]=j,s("Posting",D.type,"message to Worker dbId="+(m||"default")+":",D),t.worker.postMessage(D)});if(Y)_e=_e.finally(()=>delete r[Y]);return _e}};globalThis.sqlite3Worker1Promiser.defaultConfig={worker:function(){return new Worker(new URL("sqlite3-worker1.mjs",import.meta.url),{type:"module"})},onerror:(...e)=>console.error("sqlite3Worker1Promiser():",...e)};globalThis.sqlite3Worker1Promiser.v2=function e(t=e.defaultConfig){let r;if(typeof t=="function")r=t,t={};else if(typeof t?.onready==="function")r=t.onready,delete t.onready;let n=Object.create(null);t=Object.assign(t||Object.create(null),{onready:async function(s){try{if(r)await r(s);n.resolve(s)}catch(a){n.reject(a)}}});let o=new Promise(function(s,a){n.resolve=s,n.reject=a});try{this.original(t)}catch(s){n.reject(s)}return o}.bind({original:sqlite3Worker1Promiser});globalThis.sqlite3Worker1Promiser.v2.defaultConfig=globalThis.sqlite3Worker1Promiser.defaultConfig;var pE=sqlite3Worker1Promiser.v2;delete globalThis.sqlite3Worker1Promiser;async function Li(e={}){var t,r=e,n=!!globalThis.window,o=!!globalThis.WorkerGlobalScope;globalThis.process?.versions?.node&&globalThis.process?.type;var s="./this.program",a=import.meta.url,u="";function _(i){if(r.locateFile)return r.locateFile(i,u);return u+i}var m,x;if(n||o){try{u=new URL(".",a).href}catch{}if(o)x=(i)=>{var l=new XMLHttpRequest;return l.open("GET",i,!1),l.responseType="arraybuffer",l.send(null),new Uint8Array(l.response)};m=async(i)=>{var l=await fetch(i,{credentials:"same-origin"});if(l.ok)return l.arrayBuffer();throw Error(l.status+" : "+l.url)}}var D=console.log.bind(console),j=console.error.bind(console),Y,_e=!1,de,ge,Le=!1;function Ze(){var i=cr.buffer;$t=new Int8Array(i),On=new Int16Array(i),Ar=new Uint8Array(i),xh=new Uint16Array(i),Je=new Int32Array(i),et=new Uint32Array(i),Eh=new Float32Array(i),Sh=new Float64Array(i),St=new BigInt64Array(i),Th=new BigUint64Array(i)}function $e(){if(r.wasmMemory)cr=r.wasmMemory;else{var i=r.INITIAL_MEMORY||8388608;cr=new WebAssembly.Memory({initial:i/65536,maximum:32768})}Ze()}function Ue(){if(r.preRun){if(typeof r.preRun=="function")r.preRun=[r.preRun];while(r.preRun.length)Rh(r.preRun.shift())}uc(fc)}function tt(){if(Le=!0,!r.noFSInit&&!y.initialized)y.init();mr.init(),tn.__wasm_call_ctors(),y.ignorePermissions=!1}function Rr(){if(r.postRun){if(typeof r.postRun=="function")r.postRun=[r.postRun];while(r.postRun.length)kh(r.postRun.shift())}uc(dc)}function Lt(i){r.onAbort?.(i),i=`Aborted(${i})`,j(i),_e=!0,i+=". Build with -sASSERTIONS for more info.";var l=new WebAssembly.RuntimeError(i);throw ge?.(l),l}var Dn;function gh(){if(r.locateFile)return _("sqlite3.wasm");return new URL("sqlite3.wasm",import.meta.url).href}function hh(i){if(i==Dn&&Y)return new Uint8Array(Y);if(x)return x(i);throw"both async and sync fetching of the wasm failed"}async function mh(i){if(!Y)try{var l=await m(i);return new Uint8Array(l)}catch{}return hh(i)}async function yh(i,l){try{var h=await mh(i);return await WebAssembly.instantiate(h,l)}catch(f){j(`failed to asynchronously prepare wasm: ${f}`),Lt(f)}}async function bh(i,l,h){if(!i)try{var f=fetch(l,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(f,h)}catch(c){j(`wasm streaming compile failed: ${c}`),j("falling back to ArrayBuffer instantiation")}return yh(l,h)}function wh(){return{env:Rc,wasi_snapshot_preview1:Rc}}async function vh(){function i(f,c){return tn=f.exports,Im(tn),tn}function l(f){return i(f.instance)}var h=wh();if(r.instantiateWasm)return new Promise((f,c)=>{r.instantiateWasm(h,(d,p)=>{f(i(d,p))})});return Dn??=gh(),l(await bh(Y,Dn,h))}var On,Je,St,$t,Eh,Sh,xh,et,Th,Ar,uc=(i)=>{while(i.length>0)i.shift()(r)},dc=[],kh=(i)=>dc.push(i),fc=[],Rh=(i)=>fc.push(i),cr,Xe={isAbs:(i)=>i.charAt(0)==="/",splitPath:(i)=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(i).slice(1),normalizeArray:(i,l)=>{var h=0;for(var f=i.length-1;f>=0;f--){var c=i[f];if(c===".")i.splice(f,1);else if(c==="..")i.splice(f,1),h++;else if(h)i.splice(f,1),h--}if(l)for(;h;h--)i.unshift("..");return i},normalize:(i)=>{var l=Xe.isAbs(i),h=i.slice(-1)==="/";if(i=Xe.normalizeArray(i.split("/").filter((f)=>!!f),!l).join("/"),!i&&!l)i=".";if(i&&h)i+="/";return(l?"/":"")+i},dirname:(i)=>{var l=Xe.splitPath(i),h=l[0],f=l[1];if(!h&&!f)return".";if(f)f=f.slice(0,-1);return h+f},basename:(i)=>i&&i.match(/([^\/]+|\/)\/*$/)[1],join:(...i)=>Xe.normalize(i.join("/")),join2:(i,l)=>Xe.normalize(i+"/"+l)},Ah=()=>(i)=>(crypto.getRandomValues(i),0),pc=(i)=>(pc=Ah())(i),Qr={resolve:(...i)=>{var l="",h=!1;for(var f=i.length-1;f>=-1&&!h;f--){var c=f>=0?i[f]:y.cwd();if(typeof c!="string")throw TypeError("Arguments to path.resolve must be strings");else if(!c)return"";l=c+"/"+l,h=Xe.isAbs(c)}return l=Xe.normalizeArray(l.split("/").filter((d)=>!!d),!h).join("/"),(h?"/":"")+l||"."},relative:(i,l)=>{i=Qr.resolve(i).slice(1),l=Qr.resolve(l).slice(1);function h(I){var V=0;for(;V<I.length;V++)if(I[V]!=="")break;var M=I.length-1;for(;M>=0;M--)if(I[M]!=="")break;if(V>M)return[];return I.slice(V,M-V+1)}var f=h(i.split("/")),c=h(l.split("/")),d=Math.min(f.length,c.length),p=d;for(var E=0;E<d;E++)if(f[E]!==c[E]){p=E;break}var b=[];for(var E=p;E<f.length;E++)b.push("..");return b=b.concat(c.slice(p)),b.join("/")}},_c=new TextDecoder,gc=(i,l,h,f)=>{var c=l+h;if(f)return c;while(i[l]&&!(l>=c))++l;return l},In=(i,l=0,h,f)=>{var c=gc(i,l,h,f);return _c.decode(i.buffer?i.subarray(l,c):new Uint8Array(i.slice(l,c)))},Ii=[],go=(i)=>{var l=0;for(var h=0;h<i.length;++h){var f=i.charCodeAt(h);if(f<=127)l++;else if(f<=2047)l+=2;else if(f>=55296&&f<=57343)l+=4,++h;else l+=3}return l},hc=(i,l,h,f)=>{if(!(f>0))return 0;var c=h,d=h+f-1;for(var p=0;p<i.length;++p){var E=i.codePointAt(p);if(E<=127){if(h>=d)break;l[h++]=E}else if(E<=2047){if(h+1>=d)break;l[h++]=192|E>>6,l[h++]=128|E&63}else if(E<=65535){if(h+2>=d)break;l[h++]=224|E>>12,l[h++]=128|E>>6&63,l[h++]=128|E&63}else{if(h+3>=d)break;l[h++]=240|E>>18,l[h++]=128|E>>12&63,l[h++]=128|E>>6&63,l[h++]=128|E&63,p++}}return l[h]=0,h-c},Pi=(i,l,h)=>{var f=h>0?h:go(i)+1,c=Array(f),d=hc(i,c,0,c.length);if(l)c.length=d;return c},Dh=()=>{if(!Ii.length){var i=null;if(globalThis.window?.prompt){if(i=window.prompt("Input: "),i!==null)i+=`
521
+ `}if(!i)return null;Ii=Pi(i,!0)}return Ii.shift()},mr={ttys:[],init(){},shutdown(){},register(i,l){mr.ttys[i]={input:[],output:[],ops:l},y.registerDevice(i,mr.stream_ops)},stream_ops:{open(i){var l=mr.ttys[i.node.rdev];if(!l)throw new y.ErrnoError(43);i.tty=l,i.seekable=!1},close(i){i.tty.ops.fsync(i.tty)},fsync(i){i.tty.ops.fsync(i.tty)},read(i,l,h,f,c){if(!i.tty||!i.tty.ops.get_char)throw new y.ErrnoError(60);var d=0;for(var p=0;p<f;p++){var E;try{E=i.tty.ops.get_char(i.tty)}catch(b){throw new y.ErrnoError(29)}if(E===void 0&&d===0)throw new y.ErrnoError(6);if(E===null||E===void 0)break;d++,l[h+p]=E}if(d)i.node.atime=Date.now();return d},write(i,l,h,f,c){if(!i.tty||!i.tty.ops.put_char)throw new y.ErrnoError(60);try{for(var d=0;d<f;d++)i.tty.ops.put_char(i.tty,l[h+d])}catch(p){throw new y.ErrnoError(29)}if(f)i.node.mtime=i.node.ctime=Date.now();return d}},default_tty_ops:{get_char(i){return Dh()},put_char(i,l){if(l===null||l===10)D(In(i.output)),i.output=[];else if(l!=0)i.output.push(l)},fsync(i){if(i.output?.length>0)D(In(i.output)),i.output=[]},ioctl_tcgets(i){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(i,l,h){return 0},ioctl_tiocgwinsz(i){return[24,80]}},default_tty1_ops:{put_char(i,l){if(l===null||l===10)j(In(i.output)),i.output=[];else if(l!=0)i.output.push(l)},fsync(i){if(i.output?.length>0)j(In(i.output)),i.output=[]}}},Oh=(i,l)=>Ar.fill(0,i,i+l),mc=(i,l)=>Math.ceil(i/l)*l,yc=(i)=>{i=mc(i,65536);var l=kc(65536,i);if(l)Oh(l,i);return l},ze={ops_table:null,mount(i){return ze.createNode(null,"/",16895,0)},createNode(i,l,h,f){if(y.isBlkdev(h)||y.isFIFO(h))throw new y.ErrnoError(63);ze.ops_table||={dir:{node:{getattr:ze.node_ops.getattr,setattr:ze.node_ops.setattr,lookup:ze.node_ops.lookup,mknod:ze.node_ops.mknod,rename:ze.node_ops.rename,unlink:ze.node_ops.unlink,rmdir:ze.node_ops.rmdir,readdir:ze.node_ops.readdir,symlink:ze.node_ops.symlink},stream:{llseek:ze.stream_ops.llseek}},file:{node:{getattr:ze.node_ops.getattr,setattr:ze.node_ops.setattr},stream:{llseek:ze.stream_ops.llseek,read:ze.stream_ops.read,write:ze.stream_ops.write,mmap:ze.stream_ops.mmap,msync:ze.stream_ops.msync}},link:{node:{getattr:ze.node_ops.getattr,setattr:ze.node_ops.setattr,readlink:ze.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ze.node_ops.getattr,setattr:ze.node_ops.setattr},stream:y.chrdev_stream_ops}};var c=y.createNode(i,l,h,f);if(y.isDir(c.mode))c.node_ops=ze.ops_table.dir.node,c.stream_ops=ze.ops_table.dir.stream,c.contents={};else if(y.isFile(c.mode))c.node_ops=ze.ops_table.file.node,c.stream_ops=ze.ops_table.file.stream,c.usedBytes=0,c.contents=ze.emptyFileContents??=new Uint8Array(0);else if(y.isLink(c.mode))c.node_ops=ze.ops_table.link.node,c.stream_ops=ze.ops_table.link.stream;else if(y.isChrdev(c.mode))c.node_ops=ze.ops_table.chrdev.node,c.stream_ops=ze.ops_table.chrdev.stream;if(c.atime=c.mtime=c.ctime=Date.now(),i)i.contents[l]=c,i.atime=i.mtime=i.ctime=c.atime;return c},getFileDataAsTypedArray(i){return i.contents.subarray(0,i.usedBytes)},expandFileStorage(i,l){var h=i.contents.length;if(h>=l)return;if(l=Math.max(l,h*(h<1048576?2:1.125)>>>0),h)l=Math.max(l,256);var f=ze.getFileDataAsTypedArray(i);i.contents=new Uint8Array(l),i.contents.set(f)},resizeFileStorage(i,l){if(i.usedBytes==l)return;var h=i.contents;i.contents=new Uint8Array(l),i.contents.set(h.subarray(0,Math.min(l,i.usedBytes))),i.usedBytes=l},node_ops:{getattr(i){var l={};if(l.dev=y.isChrdev(i.mode)?i.id:1,l.ino=i.id,l.mode=i.mode,l.nlink=1,l.uid=0,l.gid=0,l.rdev=i.rdev,y.isDir(i.mode))l.size=4096;else if(y.isFile(i.mode))l.size=i.usedBytes;else if(y.isLink(i.mode))l.size=i.link.length;else l.size=0;return l.atime=new Date(i.atime),l.mtime=new Date(i.mtime),l.ctime=new Date(i.ctime),l.blksize=4096,l.blocks=Math.ceil(l.size/l.blksize),l},setattr(i,l){for(let h of["mode","atime","mtime","ctime"])if(l[h]!=null)i[h]=l[h];if(l.size!==void 0)ze.resizeFileStorage(i,l.size)},lookup(i,l){if(!ze.doesNotExistError)ze.doesNotExistError=new y.ErrnoError(44),ze.doesNotExistError.stack="<generic error, no stack>";throw ze.doesNotExistError},mknod(i,l,h,f){return ze.createNode(i,l,h,f)},rename(i,l,h){var f;try{f=y.lookupNode(l,h)}catch(d){}if(f){if(y.isDir(i.mode))for(var c in f.contents)throw new y.ErrnoError(55);y.hashRemoveNode(f)}delete i.parent.contents[i.name],l.contents[h]=i,i.name=h,l.ctime=l.mtime=i.parent.ctime=i.parent.mtime=Date.now()},unlink(i,l){delete i.contents[l],i.ctime=i.mtime=Date.now()},rmdir(i,l){for(var h in y.lookupNode(i,l).contents)throw new y.ErrnoError(55);delete i.contents[l],i.ctime=i.mtime=Date.now()},readdir(i){return[".","..",...Object.keys(i.contents)]},symlink(i,l,h){var f=ze.createNode(i,l,41471,0);return f.link=h,f},readlink(i){if(!y.isLink(i.mode))throw new y.ErrnoError(28);return i.link}},stream_ops:{read(i,l,h,f,c){var d=i.node.contents;if(c>=i.node.usedBytes)return 0;var p=Math.min(i.node.usedBytes-c,f);return l.set(d.subarray(c,c+p),h),p},write(i,l,h,f,c,d){if(l.buffer===$t.buffer)d=!1;if(!f)return 0;var p=i.node;if(p.mtime=p.ctime=Date.now(),d)p.contents=l.subarray(h,h+f),p.usedBytes=f;else if(p.usedBytes===0&&c===0)p.contents=l.slice(h,h+f),p.usedBytes=f;else ze.expandFileStorage(p,c+f),p.contents.set(l.subarray(h,h+f),c),p.usedBytes=Math.max(p.usedBytes,c+f);return f},llseek(i,l,h){var f=l;if(h===1)f+=i.position;else if(h===2){if(y.isFile(i.node.mode))f+=i.node.usedBytes}if(f<0)throw new y.ErrnoError(28);return f},mmap(i,l,h,f,c){if(!y.isFile(i.node.mode))throw new y.ErrnoError(43);var d,p,E=i.node.contents;if(!(c&2)&&E.buffer===$t.buffer)p=!1,d=E.byteOffset;else{if(p=!0,d=yc(l),!d)throw new y.ErrnoError(48);if(E){if(h>0||h+l<E.length)if(E.subarray)E=E.subarray(h,h+l);else E=Array.prototype.slice.call(E,h,h+l);$t.set(E,d)}}return{ptr:d,allocated:p}},msync(i,l,h,f,c){return ze.stream_ops.write(i,l,0,f,h,!1),0}}},Ih=(i)=>{if(typeof i!="string")return i;var l={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[i];if(typeof l>"u")throw Error(`Unknown file open mode: ${i}`);return l},bc=(i)=>{if(typeof i=="string")i=Pi(i,!0);if(!i.subarray)i=new Uint8Array(i);return i},Ci=(i,l)=>{var h=0;if(i)h|=365;if(l)h|=146;return h},Ph=async(i)=>{var l=await m(i);return new Uint8Array(l)},Ch=(...i)=>y.createDataFile(...i),Nh=(i)=>i,Dr=0,Pn=null,qh=(i)=>{if(Dr--,r.monitorRunDependencies?.(Dr),Dr==0){if(Pn){var l=Pn;Pn=null,l()}}},Lh=(i)=>{Dr++,r.monitorRunDependencies?.(Dr)},wc=[],$h=async(i,l)=>{if(typeof Browser<"u")Browser.init();for(var h of wc)if(h.canHandle(l))return h.handle(i,l);return i},vc=async(i,l,h,f,c,d,p,E)=>{var b=l?Qr.resolve(Xe.join2(i,l)):i,I=Nh(`cp ${b}`);Lh(I);try{var V=h;if(typeof h=="string")V=await Ph(h);if(V=await $h(V,b),E?.(),!d)Ch(i,l,V,f,c,p)}finally{qh(I)}},zh=(i,l,h,f,c,d,p,E,b,I)=>{vc(i,l,h,f,c,E,b,I).then(d).catch(p)},y={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,ErrnoError:class{name="ErrnoError";constructor(i){this.errno=i}},FSStream:class{shared={};get object(){return this.node}set object(i){this.node=i}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(i){this.shared.flags=i}get position(){return this.shared.position}set position(i){this.shared.position=i}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(i,l,h,f){if(!i)i=this;this.parent=i,this.mount=i.mount,this.id=y.nextInode++,this.name=l,this.mode=h,this.rdev=f,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(i){i?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(i){i?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return y.isDir(this.mode)}get isDevice(){return y.isChrdev(this.mode)}},lookupPath(i,l={}){if(!i)throw new y.ErrnoError(44);if(l.follow_mount??=!0,!Xe.isAbs(i))i=y.cwd()+"/"+i;e:for(var h=0;h<40;h++){var f=i.split("/").filter((I)=>!!I),c=y.root,d="/";for(var p=0;p<f.length;p++){var E=p===f.length-1;if(E&&l.parent)break;if(f[p]===".")continue;if(f[p]===".."){if(d=Xe.dirname(d),y.isRoot(c)){i=d+"/"+f.slice(p+1).join("/"),h--;continue e}else c=c.parent;continue}d=Xe.join2(d,f[p]);try{c=y.lookupNode(c,f[p])}catch(I){if(I?.errno===44&&E&&l.noent_okay)return{path:d};throw I}if(y.isMountpoint(c)&&(!E||l.follow_mount))c=c.mounted.root;if(y.isLink(c.mode)&&(!E||l.follow)){if(!c.node_ops.readlink)throw new y.ErrnoError(52);var b=c.node_ops.readlink(c);if(!Xe.isAbs(b))b=Xe.dirname(d)+"/"+b;i=b+"/"+f.slice(p+1).join("/");continue e}}return{path:d,node:c}}throw new y.ErrnoError(32)},getPath(i){var l;while(!0){if(y.isRoot(i)){var h=i.mount.mountpoint;if(!l)return h;return h[h.length-1]!=="/"?`${h}/${l}`:h+l}l=l?`${i.name}/${l}`:i.name,i=i.parent}},hashName(i,l){var h=0;for(var f=0;f<l.length;f++)h=(h<<5)-h+l.charCodeAt(f)|0;return(i+h>>>0)%y.nameTable.length},hashAddNode(i){var l=y.hashName(i.parent.id,i.name);i.name_next=y.nameTable[l],y.nameTable[l]=i},hashRemoveNode(i){var l=y.hashName(i.parent.id,i.name);if(y.nameTable[l]===i)y.nameTable[l]=i.name_next;else{var h=y.nameTable[l];while(h){if(h.name_next===i){h.name_next=i.name_next;break}h=h.name_next}}},lookupNode(i,l){var h=y.mayLookup(i);if(h)throw new y.ErrnoError(h);var f=y.hashName(i.id,l);for(var c=y.nameTable[f];c;c=c.name_next){var d=c.name;if(c.parent.id===i.id&&d===l)return c}return y.lookup(i,l)},createNode(i,l,h,f){var c=new y.FSNode(i,l,h,f);return y.hashAddNode(c),c},destroyNode(i){y.hashRemoveNode(i)},isRoot(i){return i===i.parent},isMountpoint(i){return!!i.mounted},isFile(i){return(i&61440)===32768},isDir(i){return(i&61440)===16384},isLink(i){return(i&61440)===40960},isChrdev(i){return(i&61440)===8192},isBlkdev(i){return(i&61440)===24576},isFIFO(i){return(i&61440)===4096},isSocket(i){return(i&49152)===49152},flagsToPermissionString(i){var l=["r","w","rw"][i&3];if(i&512)l+="w";return l},nodePermissions(i,l){if(y.ignorePermissions)return 0;if(l.includes("r")&&!(i.mode&292))return 2;if(l.includes("w")&&!(i.mode&146))return 2;if(l.includes("x")&&!(i.mode&73))return 2;return 0},mayLookup(i){if(!y.isDir(i.mode))return 54;var l=y.nodePermissions(i,"x");if(l)return l;if(!i.node_ops.lookup)return 2;return 0},mayCreate(i,l){if(!y.isDir(i.mode))return 54;try{return y.lookupNode(i,l),20}catch(h){}return y.nodePermissions(i,"wx")},mayDelete(i,l,h){var f;try{f=y.lookupNode(i,l)}catch(d){return d.errno}var c=y.nodePermissions(i,"wx");if(c)return c;if(h){if(!y.isDir(f.mode))return 54;if(y.isRoot(f)||y.getPath(f)===y.cwd())return 10}else if(y.isDir(f.mode))return 31;return 0},mayOpen(i,l){if(!i)return 44;if(y.isLink(i.mode))return 32;var h=y.flagsToPermissionString(l);if(y.isDir(i.mode)){if(h!=="r"||l&576)return 31}return y.nodePermissions(i,h)},checkOpExists(i,l){if(!i)throw new y.ErrnoError(l);return i},MAX_OPEN_FDS:4096,nextfd(){for(var i=0;i<=y.MAX_OPEN_FDS;i++)if(!y.streams[i])return i;throw new y.ErrnoError(33)},getStreamChecked(i){var l=y.getStream(i);if(!l)throw new y.ErrnoError(8);return l},getStream:(i)=>y.streams[i],createStream(i,l=-1){if(i=Object.assign(new y.FSStream,i),l==-1)l=y.nextfd();return i.fd=l,y.streams[l]=i,i},closeStream(i){y.streams[i]=null},dupStream(i,l=-1){var h=y.createStream(i,l);return h.stream_ops?.dup?.(h),h},doSetAttr(i,l,h){var f=i?.stream_ops.setattr,c=f?i:l;f??=l.node_ops.setattr,y.checkOpExists(f,63),f(c,h)},chrdev_stream_ops:{open(i){i.stream_ops=y.getDevice(i.node.rdev).stream_ops,i.stream_ops.open?.(i)},llseek(){throw new y.ErrnoError(70)}},major:(i)=>i>>8,minor:(i)=>i&255,makedev:(i,l)=>i<<8|l,registerDevice(i,l){y.devices[i]={stream_ops:l}},getDevice:(i)=>y.devices[i],getMounts(i){var l=[],h=[i];while(h.length){var f=h.pop();l.push(f),h.push(...f.mounts)}return l},syncfs(i,l){if(typeof i=="function")l=i,i=!1;if(y.syncFSRequests++,y.syncFSRequests>1)j(`warning: ${y.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var h=y.getMounts(y.root.mount),f=0;function c(E){return y.syncFSRequests--,l(E)}function d(E){if(E){if(!d.errored)return d.errored=!0,c(E);return}if(++f>=h.length)c(null)}for(var p of h)if(p.type.syncfs)p.type.syncfs(p,i,d);else d(null)},mount(i,l,h){var f=h==="/",c=!h,d;if(f&&y.root)throw new y.ErrnoError(10);else if(!f&&!c){var p=y.lookupPath(h,{follow_mount:!1});if(h=p.path,d=p.node,y.isMountpoint(d))throw new y.ErrnoError(10);if(!y.isDir(d.mode))throw new y.ErrnoError(54)}var E={type:i,opts:l,mountpoint:h,mounts:[]},b=i.mount(E);if(b.mount=E,E.root=b,f)y.root=b;else if(d){if(d.mounted=E,d.mount)d.mount.mounts.push(E)}return b},unmount(i){var l=y.lookupPath(i,{follow_mount:!1});if(!y.isMountpoint(l.node))throw new y.ErrnoError(28);var h=l.node,f=h.mounted,c=y.getMounts(f);for(var[d,p]of Object.entries(y.nameTable))while(p){var E=p.name_next;if(c.includes(p.mount))y.destroyNode(p);p=E}h.mounted=null;var b=h.mount.mounts.indexOf(f);h.mount.mounts.splice(b,1)},lookup(i,l){return i.node_ops.lookup(i,l)},mknod(i,l,h){var f=y.lookupPath(i,{parent:!0}).node,c=Xe.basename(i);if(!c)throw new y.ErrnoError(28);if(c==="."||c==="..")throw new y.ErrnoError(20);var d=y.mayCreate(f,c);if(d)throw new y.ErrnoError(d);if(!f.node_ops.mknod)throw new y.ErrnoError(63);return f.node_ops.mknod(f,c,l,h)},statfs(i){return y.statfsNode(y.lookupPath(i,{follow:!0}).node)},statfsStream(i){return y.statfsNode(i.node)},statfsNode(i){var l={bsize:4096,frsize:4096,blocks:1e6,bfree:500000,bavail:500000,files:y.nextInode,ffree:y.nextInode-1,fsid:42,flags:2,namelen:255};if(i.node_ops.statfs)Object.assign(l,i.node_ops.statfs(i.mount.opts.root));return l},create(i,l=438){return l&=4095,l|=32768,y.mknod(i,l,0)},mkdir(i,l=511){return l&=1023,l|=16384,y.mknod(i,l,0)},mkdirTree(i,l){var h=i.split("/"),f="";for(var c of h){if(!c)continue;if(f||Xe.isAbs(i))f+="/";f+=c;try{y.mkdir(f,l)}catch(d){if(d.errno!=20)throw d}}},mkdev(i,l,h){if(typeof h>"u")h=l,l=438;return l|=8192,y.mknod(i,l,h)},symlink(i,l){if(!Qr.resolve(i))throw new y.ErrnoError(44);var h=y.lookupPath(l,{parent:!0}).node;if(!h)throw new y.ErrnoError(44);var f=Xe.basename(l),c=y.mayCreate(h,f);if(c)throw new y.ErrnoError(c);if(!h.node_ops.symlink)throw new y.ErrnoError(63);return h.node_ops.symlink(h,f,i)},rename(i,l){var h=Xe.dirname(i),f=Xe.dirname(l),c=Xe.basename(i),d=Xe.basename(l),p=y.lookupPath(i,{parent:!0}),E=p.node,b;if(p=y.lookupPath(l,{parent:!0}),b=p.node,!E||!b)throw new y.ErrnoError(44);if(E.mount!==b.mount)throw new y.ErrnoError(75);var I=y.lookupNode(E,c),V=Qr.relative(i,f);if(V.charAt(0)!==".")throw new y.ErrnoError(28);if(V=Qr.relative(l,h),V.charAt(0)!==".")throw new y.ErrnoError(55);var M;try{M=y.lookupNode(b,d)}catch(H){}if(I===M)return;var N=y.isDir(I.mode),q=y.mayDelete(E,c,N);if(q)throw new y.ErrnoError(q);if(q=M?y.mayDelete(b,d,N):y.mayCreate(b,d),q)throw new y.ErrnoError(q);if(!E.node_ops.rename)throw new y.ErrnoError(63);if(y.isMountpoint(I)||M&&y.isMountpoint(M))throw new y.ErrnoError(10);if(b!==E){if(q=y.nodePermissions(E,"w"),q)throw new y.ErrnoError(q)}y.hashRemoveNode(I);try{E.node_ops.rename(I,b,d),I.parent=b}catch(H){throw H}finally{y.hashAddNode(I)}},rmdir(i){var l=y.lookupPath(i,{parent:!0}).node,h=Xe.basename(i),f=y.lookupNode(l,h),c=y.mayDelete(l,h,!0);if(c)throw new y.ErrnoError(c);if(!l.node_ops.rmdir)throw new y.ErrnoError(63);if(y.isMountpoint(f))throw new y.ErrnoError(10);l.node_ops.rmdir(l,h),y.destroyNode(f)},readdir(i){var l=y.lookupPath(i,{follow:!0}).node;return y.checkOpExists(l.node_ops.readdir,54)(l)},unlink(i){var l=y.lookupPath(i,{parent:!0}).node;if(!l)throw new y.ErrnoError(44);var h=Xe.basename(i),f=y.lookupNode(l,h),c=y.mayDelete(l,h,!1);if(c)throw new y.ErrnoError(c);if(!l.node_ops.unlink)throw new y.ErrnoError(63);if(y.isMountpoint(f))throw new y.ErrnoError(10);l.node_ops.unlink(l,h),y.destroyNode(f)},readlink(i){var l=y.lookupPath(i).node;if(!l)throw new y.ErrnoError(44);if(!l.node_ops.readlink)throw new y.ErrnoError(28);return l.node_ops.readlink(l)},stat(i,l){var h=y.lookupPath(i,{follow:!l}).node;return y.checkOpExists(h.node_ops.getattr,63)(h)},fstat(i){var l=y.getStreamChecked(i),h=l.node,f=l.stream_ops.getattr,c=f?l:h;return f??=h.node_ops.getattr,y.checkOpExists(f,63),f(c)},lstat(i){return y.stat(i,!0)},doChmod(i,l,h,f){y.doSetAttr(i,l,{mode:h&4095|l.mode&-4096,ctime:Date.now(),dontFollow:f})},chmod(i,l,h){var f;if(typeof i=="string")f=y.lookupPath(i,{follow:!h}).node;else f=i;y.doChmod(null,f,l,h)},lchmod(i,l){y.chmod(i,l,!0)},fchmod(i,l){var h=y.getStreamChecked(i);y.doChmod(h,h.node,l,!1)},doChown(i,l,h){y.doSetAttr(i,l,{timestamp:Date.now(),dontFollow:h})},chown(i,l,h,f){var c;if(typeof i=="string")c=y.lookupPath(i,{follow:!f}).node;else c=i;y.doChown(null,c,f)},lchown(i,l,h){y.chown(i,l,h,!0)},fchown(i,l,h){var f=y.getStreamChecked(i);y.doChown(f,f.node,!1)},doTruncate(i,l,h){if(y.isDir(l.mode))throw new y.ErrnoError(31);if(!y.isFile(l.mode))throw new y.ErrnoError(28);var f=y.nodePermissions(l,"w");if(f)throw new y.ErrnoError(f);y.doSetAttr(i,l,{size:h,timestamp:Date.now()})},truncate(i,l){if(l<0)throw new y.ErrnoError(28);var h;if(typeof i=="string")h=y.lookupPath(i,{follow:!0}).node;else h=i;y.doTruncate(null,h,l)},ftruncate(i,l){var h=y.getStreamChecked(i);if(l<0||(h.flags&2097155)===0)throw new y.ErrnoError(28);y.doTruncate(h,h.node,l)},utime(i,l,h){var f=y.lookupPath(i,{follow:!0}).node;y.checkOpExists(f.node_ops.setattr,63)(f,{atime:l,mtime:h})},open(i,l,h=438){if(i==="")throw new y.ErrnoError(44);if(l=Ih(l),l&64)h=h&4095|32768;else h=0;var f,c;if(typeof i=="object")f=i;else{c=i.endsWith("/");var d=y.lookupPath(i,{follow:!(l&131072),noent_okay:!0});f=d.node,i=d.path}var p=!1;if(l&64)if(f){if(l&128)throw new y.ErrnoError(20)}else if(c)throw new y.ErrnoError(31);else f=y.mknod(i,h|511,0),p=!0;if(!f)throw new y.ErrnoError(44);if(y.isChrdev(f.mode))l&=-513;if(l&65536&&!y.isDir(f.mode))throw new y.ErrnoError(54);if(!p){var E=y.mayOpen(f,l);if(E)throw new y.ErrnoError(E)}if(l&512&&!p)y.truncate(f,0);l&=-131713;var b=y.createStream({node:f,path:y.getPath(f),flags:l,seekable:!0,position:0,stream_ops:f.stream_ops,ungotten:[],error:!1});if(b.stream_ops.open)b.stream_ops.open(b);if(p)y.chmod(f,h&511);return b},close(i){if(y.isClosed(i))throw new y.ErrnoError(8);if(i.getdents)i.getdents=null;try{if(i.stream_ops.close)i.stream_ops.close(i)}catch(l){throw l}finally{y.closeStream(i.fd)}i.fd=null},isClosed(i){return i.fd===null},llseek(i,l,h){if(y.isClosed(i))throw new y.ErrnoError(8);if(!i.seekable||!i.stream_ops.llseek)throw new y.ErrnoError(70);if(h!=0&&h!=1&&h!=2)throw new y.ErrnoError(28);return i.position=i.stream_ops.llseek(i,l,h),i.ungotten=[],i.position},read(i,l,h,f,c){if(f<0||c<0)throw new y.ErrnoError(28);if(y.isClosed(i))throw new y.ErrnoError(8);if((i.flags&2097155)===1)throw new y.ErrnoError(8);if(y.isDir(i.node.mode))throw new y.ErrnoError(31);if(!i.stream_ops.read)throw new y.ErrnoError(28);var d=typeof c<"u";if(!d)c=i.position;else if(!i.seekable)throw new y.ErrnoError(70);var p=i.stream_ops.read(i,l,h,f,c);if(!d)i.position+=p;return p},write(i,l,h,f,c,d){if(f<0||c<0)throw new y.ErrnoError(28);if(y.isClosed(i))throw new y.ErrnoError(8);if((i.flags&2097155)===0)throw new y.ErrnoError(8);if(y.isDir(i.node.mode))throw new y.ErrnoError(31);if(!i.stream_ops.write)throw new y.ErrnoError(28);if(i.seekable&&i.flags&1024)y.llseek(i,0,2);var p=typeof c<"u";if(!p)c=i.position;else if(!i.seekable)throw new y.ErrnoError(70);var E=i.stream_ops.write(i,l,h,f,c,d);if(!p)i.position+=E;return E},mmap(i,l,h,f,c){if((f&2)!==0&&(c&2)===0&&(i.flags&2097155)!==2)throw new y.ErrnoError(2);if((i.flags&2097155)===1)throw new y.ErrnoError(2);if(!i.stream_ops.mmap)throw new y.ErrnoError(43);if(!l)throw new y.ErrnoError(28);return i.stream_ops.mmap(i,l,h,f,c)},msync(i,l,h,f,c){if(!i.stream_ops.msync)return 0;return i.stream_ops.msync(i,l,h,f,c)},ioctl(i,l,h){if(!i.stream_ops.ioctl)throw new y.ErrnoError(59);return i.stream_ops.ioctl(i,l,h)},readFile(i,l={}){if(l.flags=l.flags||0,l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")Lt(`Invalid encoding type "${l.encoding}"`);var h=y.open(i,l.flags),f=y.stat(i).size,c=new Uint8Array(f);if(y.read(h,c,0,f,0),l.encoding==="utf8")c=In(c);return y.close(h),c},writeFile(i,l,h={}){h.flags=h.flags||577;var f=y.open(i,h.flags,h.mode);l=bc(l),y.write(f,l,0,l.byteLength,void 0,h.canOwn),y.close(f)},cwd:()=>y.currentPath,chdir(i){var l=y.lookupPath(i,{follow:!0});if(l.node===null)throw new y.ErrnoError(44);if(!y.isDir(l.node.mode))throw new y.ErrnoError(54);var h=y.nodePermissions(l.node,"x");if(h)throw new y.ErrnoError(h);y.currentPath=l.path},createDefaultDirectories(){y.mkdir("/tmp"),y.mkdir("/home"),y.mkdir("/home/web_user")},createDefaultDevices(){y.mkdir("/dev"),y.registerDevice(y.makedev(1,3),{read:()=>0,write:(f,c,d,p,E)=>p,llseek:()=>0}),y.mkdev("/dev/null",y.makedev(1,3)),mr.register(y.makedev(5,0),mr.default_tty_ops),mr.register(y.makedev(6,0),mr.default_tty1_ops),y.mkdev("/dev/tty",y.makedev(5,0)),y.mkdev("/dev/tty1",y.makedev(6,0));var i=new Uint8Array(1024),l=0,h=()=>{if(l===0)pc(i),l=i.byteLength;return i[--l]};y.createDevice("/dev","random",h),y.createDevice("/dev","urandom",h),y.mkdir("/dev/shm"),y.mkdir("/dev/shm/tmp")},createSpecialDirectories(){y.mkdir("/proc");var i=y.mkdir("/proc/self");y.mkdir("/proc/self/fd"),y.mount({mount(){var l=y.createNode(i,"fd",16895,73);return l.stream_ops={llseek:ze.stream_ops.llseek},l.node_ops={lookup(h,f){var c=+f,d=y.getStreamChecked(c),p={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>d.path},id:c+1};return p.parent=p,p},readdir(){return Array.from(y.streams.entries()).filter(([h,f])=>f).map(([h,f])=>h.toString())}},l}},{},"/proc/self/fd")},createStandardStreams(i,l,h){if(i)y.createDevice("/dev","stdin",i);else y.symlink("/dev/tty","/dev/stdin");if(l)y.createDevice("/dev","stdout",null,l);else y.symlink("/dev/tty","/dev/stdout");if(h)y.createDevice("/dev","stderr",null,h);else y.symlink("/dev/tty1","/dev/stderr");y.open("/dev/stdin",0),y.open("/dev/stdout",1),y.open("/dev/stderr",1)},staticInit(){y.nameTable=Array(4096),y.mount(ze,{},"/"),y.createDefaultDirectories(),y.createDefaultDevices(),y.createSpecialDirectories(),y.filesystems={MEMFS:ze}},init(i,l,h){y.initialized=!0,i??=r.stdin,l??=r.stdout,h??=r.stderr,y.createStandardStreams(i,l,h)},quit(){y.initialized=!1;for(var i of y.streams)if(i)y.close(i)},findObject(i,l){var h=y.analyzePath(i,l);if(!h.exists)return null;return h.object},analyzePath(i,l){try{var h=y.lookupPath(i,{follow:!l});i=h.path}catch(c){}var f={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var h=y.lookupPath(i,{parent:!0});f.parentExists=!0,f.parentPath=h.path,f.parentObject=h.node,f.name=Xe.basename(i),h=y.lookupPath(i,{follow:!l}),f.exists=!0,f.path=h.path,f.object=h.node,f.name=h.node.name,f.isRoot=h.path==="/"}catch(c){f.error=c.errno}return f},createPath(i,l,h,f){i=typeof i=="string"?i:y.getPath(i);var c=l.split("/").reverse();while(c.length){var d=c.pop();if(!d)continue;var p=Xe.join2(i,d);try{y.mkdir(p)}catch(E){if(E.errno!=20)throw E}i=p}return p},createFile(i,l,h,f,c){var d=Xe.join2(typeof i=="string"?i:y.getPath(i),l),p=Ci(f,c);return y.create(d,p)},createDataFile(i,l,h,f,c,d){var p=l;if(i)i=typeof i=="string"?i:y.getPath(i),p=l?Xe.join2(i,l):i;var E=Ci(f,c),b=y.create(p,E);if(h){h=bc(h),y.chmod(b,E|146);var I=y.open(b,577);y.write(I,h,0,h.length,0,d),y.close(I),y.chmod(b,E)}},createDevice(i,l,h,f){var c=Xe.join2(typeof i=="string"?i:y.getPath(i),l),d=Ci(!!h,!!f);y.createDevice.major??=64;var p=y.makedev(y.createDevice.major++,0);return y.registerDevice(p,{open(E){E.seekable=!1},close(E){if(f?.buffer?.length)f(10)},read(E,b,I,V,M){var N=0;for(var q=0;q<V;q++){var H;try{H=h()}catch(G){throw new y.ErrnoError(29)}if(H===void 0&&N===0)throw new y.ErrnoError(6);if(H===null||H===void 0)break;N++,b[I+q]=H}if(N)E.node.atime=Date.now();return N},write(E,b,I,V,M){for(var N=0;N<V;N++)try{f(b[I+N])}catch(q){throw new y.ErrnoError(29)}if(V)E.node.mtime=E.node.ctime=Date.now();return N}}),y.mkdev(c,d,p)},forceLoadFile(i){if(i.isDevice||i.isFolder||i.link||i.contents)return!0;if(globalThis.XMLHttpRequest)Lt("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");else try{i.contents=x(i.url)}catch(l){throw new y.ErrnoError(29)}},createLazyFile(i,l,h,f,c){class d{lengthKnown=!1;chunks=[];get(V){if(V>this.length-1||V<0)return;var M=V%this.chunkSize,N=V/this.chunkSize|0;return this.getter(N)[M]}setDataGetter(V){this.getter=V}cacheLength(){var V=new XMLHttpRequest;if(V.open("HEAD",h,!1),V.send(null),!(V.status>=200&&V.status<300||V.status===304))Lt("Couldn't load "+h+". Status: "+V.status);var M=Number(V.getResponseHeader("Content-length")),N,q=(N=V.getResponseHeader("Accept-Ranges"))&&N==="bytes",H=(N=V.getResponseHeader("Content-Encoding"))&&N==="gzip",G=1048576;if(!q)G=M;var le=(R,X)=>{if(R>X)Lt("invalid range ("+R+", "+X+") or no bytes requested!");if(X>M-1)Lt("only "+M+" bytes available! programmer error!");var ee=new XMLHttpRequest;if(ee.open("GET",h,!1),M!==G)ee.setRequestHeader("Range","bytes="+R+"-"+X);if(ee.responseType="arraybuffer",ee.overrideMimeType)ee.overrideMimeType("text/plain; charset=x-user-defined");if(ee.send(null),!(ee.status>=200&&ee.status<300||ee.status===304))Lt("Couldn't load "+h+". Status: "+ee.status);if(ee.response!==void 0)return new Uint8Array(ee.response||[]);return Pi(ee.responseText||"",!0)},O=this;if(O.setDataGetter((R)=>{var X=R*G,ee=(R+1)*G-1;if(ee=Math.min(ee,M-1),typeof O.chunks[R]>"u")O.chunks[R]=le(X,ee);if(typeof O.chunks[R]>"u")Lt("doXHR failed!");return O.chunks[R]}),H||!M)G=M=1,M=this.getter(0).length,G=M,D("LazyFiles on gzip forces download of the whole file when length is accessed");this._length=M,this._chunkSize=G,this.lengthKnown=!0}get length(){if(!this.lengthKnown)this.cacheLength();return this._length}get chunkSize(){if(!this.lengthKnown)this.cacheLength();return this._chunkSize}}if(globalThis.XMLHttpRequest){if(!o)Lt("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var p={isDevice:!1,contents:new d}}else var p={isDevice:!1,url:h};var E=y.createFile(i,l,p,f,c);if(p.contents)E.contents=p.contents;else if(p.url)E.contents=null,E.url=p.url;Object.defineProperties(E,{usedBytes:{get:function(){return this.contents.length}}});var b={};for(let[V,M]of Object.entries(E.stream_ops))b[V]=(...N)=>(y.forceLoadFile(E),M(...N));function I(V,M,N,q,H){var G=V.node.contents;if(H>=G.length)return 0;var le=Math.min(G.length-H,q);if(G.slice)for(var O=0;O<le;O++)M[N+O]=G[H+O];else for(var O=0;O<le;O++)M[N+O]=G.get(H+O);return le}return b.read=(V,M,N,q,H)=>(y.forceLoadFile(E),I(V,M,N,q,H)),b.mmap=(V,M,N,q,H)=>{y.forceLoadFile(E);var G=yc(M);if(!G)throw new y.ErrnoError(48);return I(V,$t,G,M,N),{ptr:G,allocated:!0}},E.stream_ops=b,E}},Fh=(i,l,h)=>{if(!i)return"";var f=gc(Ar,i,l,h);return _c.decode(Ar.subarray(i,f))},Be={calculateAt(i,l,h){if(Xe.isAbs(l))return l;var f;if(i===-100)f=y.cwd();else f=Be.getStreamFromFD(i).path;if(l.length==0){if(!h)throw new y.ErrnoError(44);return f}return f+"/"+l},writeStat(i,l){et[i>>2]=l.dev,et[i+4>>2]=l.mode,et[i+8>>2]=l.nlink,et[i+12>>2]=l.uid,et[i+16>>2]=l.gid,et[i+20>>2]=l.rdev,St[i+24>>3]=BigInt(l.size),Je[i+32>>2]=4096,Je[i+36>>2]=l.blocks;var h=l.atime.getTime(),f=l.mtime.getTime(),c=l.ctime.getTime();return St[i+40>>3]=BigInt(Math.floor(h/1000)),et[i+48>>2]=h%1000*1000*1000,St[i+56>>3]=BigInt(Math.floor(f/1000)),et[i+64>>2]=f%1000*1000*1000,St[i+72>>3]=BigInt(Math.floor(c/1000)),et[i+80>>2]=c%1000*1000*1000,St[i+88>>3]=BigInt(l.ino),0},writeStatFs(i,l){et[i+4>>2]=l.bsize,et[i+60>>2]=l.bsize,St[i+8>>3]=BigInt(l.blocks),St[i+16>>3]=BigInt(l.bfree),St[i+24>>3]=BigInt(l.bavail),St[i+32>>3]=BigInt(l.files),St[i+40>>3]=BigInt(l.ffree),et[i+48>>2]=l.fsid,et[i+64>>2]=l.flags,et[i+56>>2]=l.namelen},doMsync(i,l,h,f,c){if(!y.isFile(l.node.mode))throw new y.ErrnoError(43);if(f&2)return 0;var d=Ar.slice(i,i+h);y.msync(l,d,c,h,f)},getStreamFromFD(i){return y.getStreamChecked(i)},varargs:void 0,getStr(i){return Fh(i)}};function Mh(i,l){try{return i=Be.getStr(i),y.chmod(i,l),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function Bh(i,l,h,f){try{if(l=Be.getStr(l),l=Be.calculateAt(i,l),h&-8)return-28;var c=y.lookupPath(l,{follow:!0}).node;if(!c)return-44;var d="";if(h&4)d+="r";if(h&2)d+="w";if(h&1)d+="x";if(d&&y.nodePermissions(c,d))return-2;return 0}catch(p){if(typeof y>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}function Uh(i,l){try{return y.fchmod(i,l),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function jh(i,l,h){try{return y.fchown(i,l,h),0}catch(f){if(typeof y>"u"||f.name!=="ErrnoError")throw f;return-f.errno}}var ho=()=>{var i=Je[+Be.varargs>>2];return Be.varargs+=4,i},Yr=ho;function Hh(i,l,h){Be.varargs=h;try{var f=Be.getStreamFromFD(i);switch(l){case 0:var c=ho();if(c<0)return-28;while(y.streams[c])c++;return y.dupStream(f,c).fd;case 1:case 2:return 0;case 3:return f.flags;case 4:var c=ho();return f.flags|=c,0;case 12:var c=Yr(),d=0;return On[c+d>>1]=2,0;case 13:case 14:return 0}return-28}catch(p){if(typeof y>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}function Wh(i,l){try{return Be.writeStat(l,y.fstat(i))}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}var Zh=9007199254740992,Gh=-9007199254740992,en=(i)=>i<Gh||i>Zh?NaN:Number(i);function Kh(i,l){l=en(l);try{if(isNaN(l))return-61;return y.ftruncate(i,l),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}var Or=(i,l,h)=>hc(i,Ar,l,h);function Vh(i,l){try{if(l===0)return-28;var h=y.cwd(),f=go(h)+1;if(l<f)return-68;return Or(h,i,l),f}catch(c){if(typeof y>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}function Jh(i,l,h){Be.varargs=h;try{var f=Be.getStreamFromFD(i);switch(l){case 21509:if(!f.tty)return-59;return 0;case 21505:if(!f.tty)return-59;if(f.tty.ops.ioctl_tcgets){var c=f.tty.ops.ioctl_tcgets(f),M=Yr();Je[M>>2]=c.c_iflag||0,Je[M+4>>2]=c.c_oflag||0,Je[M+8>>2]=c.c_cflag||0,Je[M+12>>2]=c.c_lflag||0;for(var d=0;d<32;d++)$t[M+d+17]=c.c_cc[d]||0;return 0}return 0;case 21510:case 21511:case 21512:if(!f.tty)return-59;return 0;case 21506:case 21507:case 21508:if(!f.tty)return-59;if(f.tty.ops.ioctl_tcsets){var M=Yr(),p=Je[M>>2],E=Je[M+4>>2],b=Je[M+8>>2],I=Je[M+12>>2],V=[];for(var d=0;d<32;d++)V.push($t[M+d+17]);return f.tty.ops.ioctl_tcsets(f.tty,l,{c_iflag:p,c_oflag:E,c_cflag:b,c_lflag:I,c_cc:V})}return 0;case 21519:if(!f.tty)return-59;var M=Yr();return Je[M>>2]=0,0;case 21520:if(!f.tty)return-59;return-28;case 21537:case 21531:var M=Yr();return y.ioctl(f,l,M);case 21523:if(!f.tty)return-59;if(f.tty.ops.ioctl_tiocgwinsz){var N=f.tty.ops.ioctl_tiocgwinsz(f.tty),M=Yr();On[M>>1]=N[0],On[M+2>>1]=N[1]}return 0;case 21524:if(!f.tty)return-59;return 0;case 21515:if(!f.tty)return-59;return 0;default:return-28}}catch(q){if(typeof y>"u"||q.name!=="ErrnoError")throw q;return-q.errno}}function Xh(i,l){try{return i=Be.getStr(i),Be.writeStat(l,y.lstat(i))}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function Qh(i,l,h){try{return l=Be.getStr(l),l=Be.calculateAt(i,l),y.mkdir(l,h,0),0}catch(f){if(typeof y>"u"||f.name!=="ErrnoError")throw f;return-f.errno}}function Yh(i,l,h,f){try{l=Be.getStr(l);var c=f&256,d=f&4096;return f=f&-6401,l=Be.calculateAt(i,l,d),Be.writeStat(h,c?y.lstat(l):y.stat(l))}catch(p){if(typeof y>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}function em(i,l,h,f){Be.varargs=f;try{l=Be.getStr(l),l=Be.calculateAt(i,l);var c=f?ho():0;return y.open(l,h,c).fd}catch(d){if(typeof y>"u"||d.name!=="ErrnoError")throw d;return-d.errno}}function tm(i,l,h,f){try{if(l=Be.getStr(l),l=Be.calculateAt(i,l),f<=0)return-28;var c=y.readlink(l),d=Math.min(f,go(c)),p=$t[h+d];return Or(c,h,f+1),$t[h+d]=p,d}catch(E){if(typeof y>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}function rm(i){try{return i=Be.getStr(i),y.rmdir(i),0}catch(l){if(typeof y>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}function nm(i,l){try{return i=Be.getStr(i),Be.writeStat(l,y.stat(i))}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return-h.errno}}function om(i,l,h){try{if(l=Be.getStr(l),l=Be.calculateAt(i,l),!h)y.unlink(l);else if(h===512)y.rmdir(l);else return-28;return 0}catch(f){if(typeof y>"u"||f.name!=="ErrnoError")throw f;return-f.errno}}var Ec=(i)=>et[i>>2]+Je[i+4>>2]*4294967296;function im(i,l,h,f){try{l=Be.getStr(l),l=Be.calculateAt(i,l,!0);var c=Date.now(),d,p;if(!h)d=c,p=c;else{var E=Ec(h),b=Je[h+8>>2];if(b==1073741823)d=c;else if(b==1073741822)d=null;else d=E*1000+b/1e6;if(h+=16,E=Ec(h),b=Je[h+8>>2],b==1073741823)p=c;else if(b==1073741822)p=null;else p=E*1000+b/1e6}if((p??d)!==null)y.utime(l,d,p);return 0}catch(I){if(typeof y>"u"||I.name!=="ErrnoError")throw I;return-I.errno}}var sm=(i)=>i%4===0&&(i%100!==0||i%400===0),am=[0,31,60,91,121,152,182,213,244,274,305,335],cm=[0,31,59,90,120,151,181,212,243,273,304,334],lm=(i)=>(sm(i.getFullYear())?am:cm)[i.getMonth()]+i.getDate()-1;function um(i,l){i=en(i);var h=new Date(i*1000);Je[l>>2]=h.getSeconds(),Je[l+4>>2]=h.getMinutes(),Je[l+8>>2]=h.getHours(),Je[l+12>>2]=h.getDate(),Je[l+16>>2]=h.getMonth(),Je[l+20>>2]=h.getFullYear()-1900,Je[l+24>>2]=h.getDay();var f=lm(h)|0;Je[l+28>>2]=f,Je[l+36>>2]=-(h.getTimezoneOffset()*60);var c=new Date(h.getFullYear(),0,1),d=new Date(h.getFullYear(),6,1).getTimezoneOffset(),p=c.getTimezoneOffset(),E=(d!=p&&h.getTimezoneOffset()==Math.min(p,d))|0;Je[l+32>>2]=E}function dm(i,l,h,f,c,d,p){c=en(c);try{var E=Be.getStreamFromFD(f),b=y.mmap(E,i,c,l,h),I=b.ptr;return Je[d>>2]=b.allocated,et[p>>2]=I,0}catch(V){if(typeof y>"u"||V.name!=="ErrnoError")throw V;return-V.errno}}function fm(i,l,h,f,c,d){d=en(d);try{var p=Be.getStreamFromFD(c);if(h&2)Be.doMsync(i,p,l,f,d)}catch(E){if(typeof y>"u"||E.name!=="ErrnoError")throw E;return-E.errno}}var pm=(i,l,h,f)=>{var c=new Date().getFullYear(),d=new Date(c,0,1),p=new Date(c,6,1),E=d.getTimezoneOffset(),b=p.getTimezoneOffset(),I=Math.max(E,b);et[i>>2]=I*60,Je[l>>2]=Number(E!=b);var V=(q)=>{var H=q>=0?"-":"+",G=Math.abs(q);return`UTC${H}${String(Math.floor(G/60)).padStart(2,"0")}${String(G%60).padStart(2,"0")}`},M=V(E),N=V(b);if(b<E)Or(M,h,17),Or(N,f,17);else Or(M,f,17),Or(N,h,17)},Sc=()=>performance.now(),xc=()=>Date.now(),_m=1,gm=(i)=>i>=0&&i<=3;function hm(i,l,h){if(l=en(l),!gm(i))return 28;var f;if(i===0)f=xc();else if(_m)f=Sc();else return 52;var c=Math.round(f*1000*1000);return St[h>>3]=BigInt(c),0}var Tc=()=>2147483648,mm=()=>Tc(),ym=(i)=>{var l=(i-cr.buffer.byteLength+65535)/65536|0;try{return cr.grow(l),Ze(),1}catch(h){}},bm=(i)=>{var l=Ar.length;i>>>=0;var h=Tc();if(i>h)return!1;for(var f=1;f<=4;f*=2){var c=l*(1+0.2/f);if(c=Math.min(c,i+100663296),ym(Math.min(h,mc(Math.max(i,c),65536))))return!0}return!1},Ni={},wm=()=>s||"./this.program",Cn=()=>{if(!Cn.strings){var i={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:wm()};for(var l in Ni)if(Ni[l]===void 0)delete i[l];else i[l]=Ni[l];var h=[];for(var l in i)h.push(`${l}=${i[l]}`);Cn.strings=h}return Cn.strings},vm=(i,l)=>{var h=0,f=0;for(var c of Cn()){var d=l+h;et[i+f>>2]=d,h+=Or(c,d,1/0)+1,f+=4}return 0},Em=(i,l)=>{var h=Cn();et[i>>2]=h.length;var f=0;for(var c of h)f+=go(c)+1;return et[l>>2]=f,0};function Sm(i){try{var l=Be.getStreamFromFD(i);return y.close(l),0}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return h.errno}}function xm(i,l){try{var h=0,f=0,c=0,d=Be.getStreamFromFD(i),p=d.tty?2:y.isDir(d.mode)?3:y.isLink(d.mode)?7:4;return $t[l]=p,On[l+2>>1]=c,St[l+8>>3]=BigInt(h),St[l+16>>3]=BigInt(f),0}catch(E){if(typeof y>"u"||E.name!=="ErrnoError")throw E;return E.errno}}var Tm=(i,l,h,f)=>{var c=0;for(var d=0;d<h;d++){var p=et[l>>2],E=et[l+4>>2];l+=8;var b=y.read(i,$t,p,E,f);if(b<0)return-1;if(c+=b,b<E)break;if(typeof f<"u")f+=b}return c};function km(i,l,h,f){try{var c=Tm(Be.getStreamFromFD(i),l,h);return et[f>>2]=c,0}catch(d){if(typeof y>"u"||d.name!=="ErrnoError")throw d;return d.errno}}function Rm(i,l,h,f){l=en(l);try{if(isNaN(l))return 61;var c=Be.getStreamFromFD(i);if(y.llseek(c,l,h),St[f>>3]=BigInt(c.position),c.getdents&&l===0&&h===0)c.getdents=null;return 0}catch(d){if(typeof y>"u"||d.name!=="ErrnoError")throw d;return d.errno}}function Am(i){try{var l=Be.getStreamFromFD(i);return l.stream_ops?.fsync?.(l)}catch(h){if(typeof y>"u"||h.name!=="ErrnoError")throw h;return h.errno}}var Dm=(i,l,h,f)=>{var c=0;for(var d=0;d<h;d++){var p=et[l>>2],E=et[l+4>>2];l+=8;var b=y.write(i,$t,p,E,f);if(b<0)return-1;if(c+=b,b<E)break;if(typeof f<"u")f+=b}return c};function Om(i,l,h,f){try{var c=Dm(Be.getStreamFromFD(i),l,h);return et[f>>2]=c,0}catch(d){if(typeof y>"u"||d.name!=="ErrnoError")throw d;return d.errno}}if(y.createPreloadedFile=zh,y.preloadFile=vc,y.staticInit(),$e(),r.noExitRuntime)r.noExitRuntime;if(r.preloadPlugins)wc=r.preloadPlugins;if(r.print)D=r.print;if(r.printErr)j=r.printErr;if(r.wasmBinary)Y=r.wasmBinary;if(r.arguments)r.arguments;if(r.thisProgram)s=r.thisProgram;if(r.preInit){if(typeof r.preInit=="function")r.preInit=[r.preInit];while(r.preInit.length>0)r.preInit.shift()()}r.wasmMemory=cr;var kc;function Im(i){r._sqlite3_status64=i.sqlite3_status64,r._sqlite3_status=i.sqlite3_status,r._sqlite3_db_status64=i.sqlite3_db_status64,r._sqlite3_msize=i.sqlite3_msize,r._sqlite3_db_status=i.sqlite3_db_status,r._sqlite3_vfs_find=i.sqlite3_vfs_find,r._sqlite3_initialize=i.sqlite3_initialize,r._sqlite3_malloc=i.sqlite3_malloc,r._sqlite3_free=i.sqlite3_free,r._sqlite3_vfs_register=i.sqlite3_vfs_register,r._sqlite3_vfs_unregister=i.sqlite3_vfs_unregister,r._sqlite3_malloc64=i.sqlite3_malloc64,r._sqlite3_realloc=i.sqlite3_realloc,r._sqlite3_realloc64=i.sqlite3_realloc64,r._sqlite3_value_text=i.sqlite3_value_text,r._sqlite3_randomness=i.sqlite3_randomness,r._sqlite3_stricmp=i.sqlite3_stricmp,r._sqlite3_strnicmp=i.sqlite3_strnicmp,r._sqlite3_uri_parameter=i.sqlite3_uri_parameter,r._sqlite3_uri_boolean=i.sqlite3_uri_boolean,r._sqlite3_serialize=i.sqlite3_serialize,r._sqlite3_prepare_v2=i.sqlite3_prepare_v2,r._sqlite3_step=i.sqlite3_step,r._sqlite3_column_int64=i.sqlite3_column_int64,r._sqlite3_reset=i.sqlite3_reset,r._sqlite3_exec=i.sqlite3_exec,r._sqlite3_column_int=i.sqlite3_column_int,r._sqlite3_finalize=i.sqlite3_finalize,r._sqlite3_file_control=i.sqlite3_file_control,r._sqlite3_column_name=i.sqlite3_column_name,r._sqlite3_column_text=i.sqlite3_column_text,r._sqlite3_column_type=i.sqlite3_column_type,r._sqlite3_errmsg=i.sqlite3_errmsg,r._sqlite3_deserialize=i.sqlite3_deserialize,r._sqlite3_clear_bindings=i.sqlite3_clear_bindings,r._sqlite3_value_blob=i.sqlite3_value_blob,r._sqlite3_value_bytes=i.sqlite3_value_bytes,r._sqlite3_value_double=i.sqlite3_value_double,r._sqlite3_value_int=i.sqlite3_value_int,r._sqlite3_value_int64=i.sqlite3_value_int64,r._sqlite3_value_subtype=i.sqlite3_value_subtype,r._sqlite3_value_pointer=i.sqlite3_value_pointer,r._sqlite3_value_type=i.sqlite3_value_type,r._sqlite3_value_nochange=i.sqlite3_value_nochange,r._sqlite3_value_frombind=i.sqlite3_value_frombind,r._sqlite3_value_dup=i.sqlite3_value_dup,r._sqlite3_value_free=i.sqlite3_value_free,r._sqlite3_result_blob=i.sqlite3_result_blob,r._sqlite3_result_error_toobig=i.sqlite3_result_error_toobig,r._sqlite3_result_error_nomem=i.sqlite3_result_error_nomem,r._sqlite3_result_double=i.sqlite3_result_double,r._sqlite3_result_error=i.sqlite3_result_error,r._sqlite3_result_int=i.sqlite3_result_int,r._sqlite3_result_int64=i.sqlite3_result_int64,r._sqlite3_result_null=i.sqlite3_result_null,r._sqlite3_result_pointer=i.sqlite3_result_pointer,r._sqlite3_result_subtype=i.sqlite3_result_subtype,r._sqlite3_result_text=i.sqlite3_result_text,r._sqlite3_result_zeroblob=i.sqlite3_result_zeroblob,r._sqlite3_result_zeroblob64=i.sqlite3_result_zeroblob64,r._sqlite3_result_error_code=i.sqlite3_result_error_code,r._sqlite3_user_data=i.sqlite3_user_data,r._sqlite3_context_db_handle=i.sqlite3_context_db_handle,r._sqlite3_vtab_nochange=i.sqlite3_vtab_nochange,r._sqlite3_vtab_in_first=i.sqlite3_vtab_in_first,r._sqlite3_vtab_in_next=i.sqlite3_vtab_in_next,r._sqlite3_aggregate_context=i.sqlite3_aggregate_context,r._sqlite3_get_auxdata=i.sqlite3_get_auxdata,r._sqlite3_set_auxdata=i.sqlite3_set_auxdata,r._sqlite3_column_count=i.sqlite3_column_count,r._sqlite3_data_count=i.sqlite3_data_count,r._sqlite3_column_blob=i.sqlite3_column_blob,r._sqlite3_column_bytes=i.sqlite3_column_bytes,r._sqlite3_column_double=i.sqlite3_column_double,r._sqlite3_column_value=i.sqlite3_column_value,r._sqlite3_column_decltype=i.sqlite3_column_decltype,r._sqlite3_column_database_name=i.sqlite3_column_database_name,r._sqlite3_column_table_name=i.sqlite3_column_table_name,r._sqlite3_column_origin_name=i.sqlite3_column_origin_name,r._sqlite3_bind_blob=i.sqlite3_bind_blob,r._sqlite3_bind_double=i.sqlite3_bind_double,r._sqlite3_bind_int=i.sqlite3_bind_int,r._sqlite3_bind_int64=i.sqlite3_bind_int64,r._sqlite3_bind_null=i.sqlite3_bind_null,r._sqlite3_bind_pointer=i.sqlite3_bind_pointer,r._sqlite3_bind_text=i.sqlite3_bind_text,r._sqlite3_bind_zeroblob=i.sqlite3_bind_zeroblob,r._sqlite3_bind_parameter_count=i.sqlite3_bind_parameter_count,r._sqlite3_bind_parameter_name=i.sqlite3_bind_parameter_name,r._sqlite3_bind_parameter_index=i.sqlite3_bind_parameter_index,r._sqlite3_db_handle=i.sqlite3_db_handle,r._sqlite3_stmt_readonly=i.sqlite3_stmt_readonly,r._sqlite3_stmt_isexplain=i.sqlite3_stmt_isexplain,r._sqlite3_stmt_explain=i.sqlite3_stmt_explain,r._sqlite3_stmt_busy=i.sqlite3_stmt_busy,r._sqlite3_next_stmt=i.sqlite3_next_stmt,r._sqlite3_stmt_status=i.sqlite3_stmt_status,r._sqlite3_sql=i.sqlite3_sql,r._sqlite3_expanded_sql=i.sqlite3_expanded_sql,r._sqlite3_preupdate_old=i.sqlite3_preupdate_old,r._sqlite3_preupdate_count=i.sqlite3_preupdate_count,r._sqlite3_preupdate_depth=i.sqlite3_preupdate_depth,r._sqlite3_preupdate_blobwrite=i.sqlite3_preupdate_blobwrite,r._sqlite3_preupdate_new=i.sqlite3_preupdate_new,r._sqlite3_value_numeric_type=i.sqlite3_value_numeric_type,r._sqlite3_set_authorizer=i.sqlite3_set_authorizer,r._sqlite3_strglob=i.sqlite3_strglob,r._sqlite3_strlike=i.sqlite3_strlike,r._sqlite3_auto_extension=i.sqlite3_auto_extension,r._sqlite3_cancel_auto_extension=i.sqlite3_cancel_auto_extension,r._sqlite3_reset_auto_extension=i.sqlite3_reset_auto_extension,r._sqlite3_prepare_v3=i.sqlite3_prepare_v3,r._sqlite3_create_module=i.sqlite3_create_module,r._sqlite3_create_module_v2=i.sqlite3_create_module_v2,r._sqlite3_drop_modules=i.sqlite3_drop_modules,r._sqlite3_declare_vtab=i.sqlite3_declare_vtab,r._sqlite3_vtab_on_conflict=i.sqlite3_vtab_on_conflict,r._sqlite3_vtab_collation=i.sqlite3_vtab_collation,r._sqlite3_vtab_in=i.sqlite3_vtab_in,r._sqlite3_vtab_rhs_value=i.sqlite3_vtab_rhs_value,r._sqlite3_vtab_distinct=i.sqlite3_vtab_distinct,r._sqlite3_keyword_name=i.sqlite3_keyword_name,r._sqlite3_keyword_count=i.sqlite3_keyword_count,r._sqlite3_keyword_check=i.sqlite3_keyword_check,r._sqlite3_complete=i.sqlite3_complete,r._sqlite3_libversion=i.sqlite3_libversion,r._sqlite3_libversion_number=i.sqlite3_libversion_number,r._sqlite3_shutdown=i.sqlite3_shutdown,r._sqlite3_last_insert_rowid=i.sqlite3_last_insert_rowid,r._sqlite3_set_last_insert_rowid=i.sqlite3_set_last_insert_rowid,r._sqlite3_changes64=i.sqlite3_changes64,r._sqlite3_changes=i.sqlite3_changes,r._sqlite3_total_changes64=i.sqlite3_total_changes64,r._sqlite3_total_changes=i.sqlite3_total_changes,r._sqlite3_txn_state=i.sqlite3_txn_state,r._sqlite3_close_v2=i.sqlite3_close_v2,r._sqlite3_busy_handler=i.sqlite3_busy_handler,r._sqlite3_progress_handler=i.sqlite3_progress_handler,r._sqlite3_busy_timeout=i.sqlite3_busy_timeout,r._sqlite3_interrupt=i.sqlite3_interrupt,r._sqlite3_is_interrupted=i.sqlite3_is_interrupted,r._sqlite3_create_function=i.sqlite3_create_function,r._sqlite3_create_function_v2=i.sqlite3_create_function_v2,r._sqlite3_create_window_function=i.sqlite3_create_window_function,r._sqlite3_overload_function=i.sqlite3_overload_function,r._sqlite3_trace_v2=i.sqlite3_trace_v2,r._sqlite3_commit_hook=i.sqlite3_commit_hook,r._sqlite3_update_hook=i.sqlite3_update_hook,r._sqlite3_rollback_hook=i.sqlite3_rollback_hook,r._sqlite3_preupdate_hook=i.sqlite3_preupdate_hook,r._sqlite3_set_errmsg=i.sqlite3_set_errmsg,r._sqlite3_error_offset=i.sqlite3_error_offset,r._sqlite3_errcode=i.sqlite3_errcode,r._sqlite3_extended_errcode=i.sqlite3_extended_errcode,r._sqlite3_errstr=i.sqlite3_errstr,r._sqlite3_limit=i.sqlite3_limit,r._sqlite3_open=i.sqlite3_open,r._sqlite3_open_v2=i.sqlite3_open_v2,r._sqlite3_create_collation=i.sqlite3_create_collation,r._sqlite3_create_collation_v2=i.sqlite3_create_collation_v2,r._sqlite3_collation_needed=i.sqlite3_collation_needed,r._sqlite3_get_autocommit=i.sqlite3_get_autocommit,r._sqlite3_table_column_metadata=i.sqlite3_table_column_metadata,r._sqlite3_extended_result_codes=i.sqlite3_extended_result_codes,r._sqlite3_uri_key=i.sqlite3_uri_key,r._sqlite3_uri_int64=i.sqlite3_uri_int64,r._sqlite3_db_name=i.sqlite3_db_name,r._sqlite3_db_filename=i.sqlite3_db_filename,r._sqlite3_db_readonly=i.sqlite3_db_readonly,r._sqlite3_compileoption_used=i.sqlite3_compileoption_used,r._sqlite3_compileoption_get=i.sqlite3_compileoption_get,r._sqlite3session_diff=i.sqlite3session_diff,r._sqlite3session_attach=i.sqlite3session_attach,r._sqlite3session_create=i.sqlite3session_create,r._sqlite3session_delete=i.sqlite3session_delete,r._sqlite3session_table_filter=i.sqlite3session_table_filter,r._sqlite3session_changeset=i.sqlite3session_changeset,r._sqlite3session_changeset_strm=i.sqlite3session_changeset_strm,r._sqlite3session_patchset_strm=i.sqlite3session_patchset_strm,r._sqlite3session_patchset=i.sqlite3session_patchset,r._sqlite3session_enable=i.sqlite3session_enable,r._sqlite3session_indirect=i.sqlite3session_indirect,r._sqlite3session_isempty=i.sqlite3session_isempty,r._sqlite3session_memory_used=i.sqlite3session_memory_used,r._sqlite3session_object_config=i.sqlite3session_object_config,r._sqlite3session_changeset_size=i.sqlite3session_changeset_size,r._sqlite3changeset_start=i.sqlite3changeset_start,r._sqlite3changeset_start_v2=i.sqlite3changeset_start_v2,r._sqlite3changeset_start_strm=i.sqlite3changeset_start_strm,r._sqlite3changeset_start_v2_strm=i.sqlite3changeset_start_v2_strm,r._sqlite3changeset_next=i.sqlite3changeset_next,r._sqlite3changeset_op=i.sqlite3changeset_op,r._sqlite3changeset_pk=i.sqlite3changeset_pk,r._sqlite3changeset_old=i.sqlite3changeset_old,r._sqlite3changeset_new=i.sqlite3changeset_new,r._sqlite3changeset_conflict=i.sqlite3changeset_conflict,r._sqlite3changeset_fk_conflicts=i.sqlite3changeset_fk_conflicts,r._sqlite3changeset_finalize=i.sqlite3changeset_finalize,r._sqlite3changeset_invert=i.sqlite3changeset_invert,r._sqlite3changeset_invert_strm=i.sqlite3changeset_invert_strm,r._sqlite3changeset_apply_v2=i.sqlite3changeset_apply_v2,r._sqlite3changeset_apply_v3=i.sqlite3changeset_apply_v3,r._sqlite3changeset_apply=i.sqlite3changeset_apply,r._sqlite3changeset_apply_v3_strm=i.sqlite3changeset_apply_v3_strm,r._sqlite3changeset_apply_v2_strm=i.sqlite3changeset_apply_v2_strm,r._sqlite3changeset_apply_strm=i.sqlite3changeset_apply_strm,r._sqlite3changegroup_new=i.sqlite3changegroup_new,r._sqlite3changegroup_add=i.sqlite3changegroup_add,r._sqlite3changegroup_output=i.sqlite3changegroup_output,r._sqlite3changegroup_add_strm=i.sqlite3changegroup_add_strm,r._sqlite3changegroup_output_strm=i.sqlite3changegroup_output_strm,r._sqlite3changegroup_delete=i.sqlite3changegroup_delete,r._sqlite3changeset_concat=i.sqlite3changeset_concat,r._sqlite3changeset_concat_strm=i.sqlite3changeset_concat_strm,r._sqlite3session_config=i.sqlite3session_config,r._sqlite3_sourceid=i.sqlite3_sourceid,r._sqlite3__wasm_pstack_ptr=i.sqlite3__wasm_pstack_ptr,r._sqlite3__wasm_pstack_restore=i.sqlite3__wasm_pstack_restore,r._sqlite3__wasm_pstack_alloc=i.sqlite3__wasm_pstack_alloc,r._sqlite3__wasm_pstack_remaining=i.sqlite3__wasm_pstack_remaining,r._sqlite3__wasm_pstack_quota=i.sqlite3__wasm_pstack_quota,r._sqlite3__wasm_test_struct=i.sqlite3__wasm_test_struct,r._sqlite3__wasm_enum_json=i.sqlite3__wasm_enum_json,r._sqlite3__wasm_vfs_unlink=i.sqlite3__wasm_vfs_unlink,r._sqlite3__wasm_db_vfs=i.sqlite3__wasm_db_vfs,r._sqlite3__wasm_db_reset=i.sqlite3__wasm_db_reset,r._sqlite3__wasm_db_export_chunked=i.sqlite3__wasm_db_export_chunked,r._sqlite3__wasm_db_serialize=i.sqlite3__wasm_db_serialize,r._sqlite3__wasm_vfs_create_file=i.sqlite3__wasm_vfs_create_file,r._sqlite3__wasm_posix_create_file=i.sqlite3__wasm_posix_create_file,r._sqlite3__wasm_kvvfsMakeKey=i.sqlite3__wasm_kvvfsMakeKey,r._sqlite3__wasm_kvvfs_methods=i.sqlite3__wasm_kvvfs_methods,r._sqlite3__wasm_vtab_config=i.sqlite3__wasm_vtab_config,r._sqlite3__wasm_db_config_ip=i.sqlite3__wasm_db_config_ip,r._sqlite3__wasm_db_config_pii=i.sqlite3__wasm_db_config_pii,r._sqlite3__wasm_db_config_s=i.sqlite3__wasm_db_config_s,r._sqlite3__wasm_config_i=i.sqlite3__wasm_config_i,r._sqlite3__wasm_config_ii=i.sqlite3__wasm_config_ii,r._sqlite3__wasm_config_j=i.sqlite3__wasm_config_j,r._sqlite3__wasm_qfmt_token=i.sqlite3__wasm_qfmt_token,r._sqlite3__wasm_kvvfs_decode=i.sqlite3__wasm_kvvfs_decode,r._sqlite3__wasm_kvvfs_encode=i.sqlite3__wasm_kvvfs_encode,r._sqlite3__wasm_init_wasmfs=i.sqlite3__wasm_init_wasmfs,r._sqlite3__wasm_test_intptr=i.sqlite3__wasm_test_intptr,r._sqlite3__wasm_test_voidptr=i.sqlite3__wasm_test_voidptr,r._sqlite3__wasm_test_int64_max=i.sqlite3__wasm_test_int64_max,r._sqlite3__wasm_test_int64_min=i.sqlite3__wasm_test_int64_min,r._sqlite3__wasm_test_int64_times2=i.sqlite3__wasm_test_int64_times2,r._sqlite3__wasm_test_int64_minmax=i.sqlite3__wasm_test_int64_minmax,r._sqlite3__wasm_test_int64ptr=i.sqlite3__wasm_test_int64ptr,r._sqlite3__wasm_test_stack_overflow=i.sqlite3__wasm_test_stack_overflow,r._sqlite3__wasm_test_str_hello=i.sqlite3__wasm_test_str_hello,r._sqlite3__wasm_SQLTester_strglob=i.sqlite3__wasm_SQLTester_strglob,r._malloc=i.malloc,r._free=i.free,r._realloc=i.realloc,kc=i.emscripten_builtin_memalign,i._emscripten_stack_restore,i._emscripten_stack_alloc,i.emscripten_stack_get_current,i.__indirect_function_table}var Rc={__syscall_chmod:Mh,__syscall_faccessat:Bh,__syscall_fchmod:Uh,__syscall_fchown32:jh,__syscall_fcntl64:Hh,__syscall_fstat64:Wh,__syscall_ftruncate64:Kh,__syscall_getcwd:Vh,__syscall_ioctl:Jh,__syscall_lstat64:Xh,__syscall_mkdirat:Qh,__syscall_newfstatat:Yh,__syscall_openat:em,__syscall_readlinkat:tm,__syscall_rmdir:rm,__syscall_stat64:nm,__syscall_unlinkat:om,__syscall_utimensat:im,_localtime_js:um,_mmap_js:dm,_munmap_js:fm,_tzset_js:pm,clock_time_get:hm,emscripten_date_now:xc,emscripten_get_heap_max:mm,emscripten_get_now:Sc,emscripten_resize_heap:bm,environ_get:vm,environ_sizes_get:Em,fd_close:Sm,fd_fdstat_get:xm,fd_read:km,fd_seek:Rm,fd_sync:Am,fd_write:Om,memory:cr};function qi(){if(Dr>0){Pn=qi;return}if(Ue(),Dr>0){Pn=qi;return}function i(){if(r.calledRun=!0,_e)return;tt(),de?.(r),r.onRuntimeInitialized?.(),Rr()}if(r.setStatus)r.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>r.setStatus(""),1),i()},1);else i()}var tn=await vh();if(qi(),r.runSQLite3PostLoadInit=async function(i,l,h){delete l.runSQLite3PostLoadInit,globalThis.sqlite3ApiBootstrap=async function f(c=globalThis.sqlite3ApiConfig||f.defaultConfig){if(f.sqlite3)return(f.sqlite3.config||console).warn("sqlite3ApiBootstrap() called multiple times.","Config and external initializers are ignored on calls after the first."),f.sqlite3;let d=(...S)=>Object.assign(Object.create(null),...S),p=d({exports:void 0,memory:void 0,bigIntEnabled:!!globalThis.BigInt64Array,debug:console.debug.bind(console),warn:console.warn.bind(console),error:console.error.bind(console),log:console.log.bind(console),wasmfsOpfsDir:"/opfs",useStdAlloc:!1},c);Object.assign(p,{allocExportName:p.useStdAlloc?"malloc":"sqlite3_malloc",deallocExportName:p.useStdAlloc?"free":"sqlite3_free",reallocExportName:p.useStdAlloc?"realloc":"sqlite3_realloc"}),["exports","memory","functionTable","wasmfsOpfsDir"].forEach((S)=>{if(typeof p[S]==="function")p[S]=p[S]()});let E=d(),b=d(),I=(S)=>E.sqlite3_js_rc_str&&E.sqlite3_js_rc_str(S)||"Unknown result code #"+S,V=(S)=>typeof S==="number"&&S===(S|0)&&S<=2147483647&&S>=-2147483648;class M extends Error{constructor(...S){let P;if(S.length)if(V(S[0]))if(P=S[0],S.length===1)super(I(S[0]));else{let K=I(P);if(typeof S[1]==="object")super(K,S[1]);else{S[0]=K+":";super(S.join(" "))}}else if(S.length===2&&typeof S[1]==="object")super(...S);else super(S.join(" "));this.resultCode=P||E.SQLITE_ERROR,this.name="SQLite3Error"}}M.toss=(...S)=>{throw new M(...S)};let N=M.toss;if(p.wasmfsOpfsDir&&!/^\/[^/]+$/.test(p.wasmfsOpfsDir))N("config.wasmfsOpfsDir must be falsy or in the form '/dir-name'.");let q=function S(P){if(!S._max)S._max=BigInt("0x7fffffffffffffff"),S._min=~S._max;return P>=S._min&&P<=S._max},H=(S)=>S>=-2147483647n-1n&&S<=2147483647n,G=function S(P){if(!S._min)S._min=Number.MIN_SAFE_INTEGER,S._max=Number.MAX_SAFE_INTEGER;return P>=S._min&&P<=S._max},le=(S)=>S&&S.constructor&&V(S.constructor.BYTES_PER_ELEMENT)?S:!1,O=(S)=>S&&(S instanceof Uint8Array||S instanceof Int8Array||S instanceof ArrayBuffer),R=(S)=>S&&(S instanceof Uint8Array||S instanceof Int8Array||S instanceof ArrayBuffer),X=(S)=>O(S)||N("Value is not of a supported TypedArray type."),ee=function(S){if(R(S))return b.typedArrayToString(S instanceof ArrayBuffer?new Uint8Array(S):S,0,S.length);else if(Array.isArray(S))return S.join("");else if(b.isPtr(S))S=b.cstrToJs(S);return S};class U extends Error{constructor(...S){if(S.length===2&&typeof S[1]==="object")super(...S);else if(S.length)super(S.join(" "));else super("Allocation failed.");this.resultCode=E.SQLITE_NOMEM,this.name="WasmAllocError"}}U.toss=(...S)=>{throw new U(...S)},Object.assign(E,{sqlite3_bind_blob:void 0,sqlite3_bind_text:void 0,sqlite3_create_function_v2:(S,P,K,oe,W,he,be,me,ve)=>{},sqlite3_create_function:(S,P,K,oe,W,he,be,me)=>{},sqlite3_create_window_function:(S,P,K,oe,W,he,be,me,ve,z)=>{},sqlite3_prepare_v3:(S,P,K,oe,W,he)=>{},sqlite3_prepare_v2:(S,P,K,oe,W)=>{},sqlite3_exec:(S,P,K,oe,W)=>{},sqlite3_randomness:(S,P)=>{}});let J={affirmBindableTypedArray:X,flexibleString:ee,bigIntFits32:H,bigIntFits64:q,bigIntFitsDouble:G,isBindableTypedArray:O,isInt32:V,isSQLableTypedArray:R,isTypedArray:le,isUIThread:()=>globalThis.window===globalThis&&!!globalThis.document,toss:function(...S){throw Error(S.join(" "))},toss3:N,typedArrayPart:b.typedArrayPart,nu:d,assert:function(S,P){if(!S)J.toss("Assertion failed:",P)},affirmDbHeader:function(S){if(S instanceof ArrayBuffer)S=new Uint8Array(S);let P="SQLite format 3";if(15>S.byteLength)N("Input does not contain an SQLite3 database header.");for(let K=0;K<15;++K)if(P.charCodeAt(K)!==S[K])N("Input does not contain an SQLite3 database header.")},affirmIsDb:function(S){if(S instanceof ArrayBuffer)S=new Uint8Array(S);let P=S.byteLength;if(P<512||P%512!==0)N("Byte array size",P,"is invalid for an SQLite3 db.");J.affirmDbHeader(S)}};Object.assign(b,{exports:p.exports||N("Missing API config.exports (WASM module exports)."),memory:p.memory||p.exports.memory||N("API config object requires a WebAssembly.Memory object","in either config.exports.memory (exported)","or config.memory (imported)."),pointerSize:typeof p.exports.sqlite3_libversion()==="number"?4:8,bigIntEnabled:!!p.bigIntEnabled,functionTable:p.functionTable,alloc:void 0,realloc:void 0,dealloc:void 0}),b.allocFromTypedArray=function(S){if(S instanceof ArrayBuffer)S=new Uint8Array(S);X(S);let P=b.alloc(S.byteLength||1);return b.heapForSize(S.constructor).set(S.byteLength?S:[0],Number(P)),P};{let{allocExportName:S,deallocExportName:P,reallocExportName:K}=p;for(let oe of[S,P,K])if(!(b.exports[oe]instanceof Function))N("Missing required exports[",oe,"] function.");b.alloc=function oe(W){return oe.impl(W)||U.toss("Failed to allocate",W," bytes.")},b.alloc.impl=b.exports[S],b.realloc=function oe(W,he){let be=oe.impl(b.ptr.coerce(W),he);return he?be||U.toss("Failed to reallocate",he," bytes."):b.ptr.null},b.realloc.impl=b.exports[K],b.dealloc=function oe(W){oe.impl(b.ptr.coerce(W))},b.dealloc.impl=b.exports[P]}b.compileOptionUsed=function S(P){if(!arguments.length){if(S._result)return S._result;else if(!S._opt)S._rx=/^([^=]+)=(.+)/,S._rxInt=/^-?\d+$/,S._opt=function(be,me){let ve=S._rx.exec(be);me[0]=ve?ve[1]:be,me[1]=ve?S._rxInt.test(ve[2])?+ve[2]:ve[2]:!0};let K=d(),oe=[0,0],W=0,he;while(he=E.sqlite3_compileoption_get(W++))S._opt(he,oe),K[oe[0]]=oe[1];return S._result=K}else if(Array.isArray(P)){let K=d();return P.forEach((oe)=>{K[oe]=E.sqlite3_compileoption_used(oe)}),K}else if(typeof P==="object")return Object.keys(P).forEach((K)=>{P[K]=E.sqlite3_compileoption_used(K)}),P;return typeof P==="string"?!!E.sqlite3_compileoption_used(P):!1},b.pstack=d({restore:b.exports.sqlite3__wasm_pstack_restore,alloc:function(S){if(typeof S==="string"&&!(S=b.sizeofIR(S)))U.toss("Invalid value for pstack.alloc(",arguments[0],")");return b.exports.sqlite3__wasm_pstack_alloc(S)||U.toss("Could not allocate",S,"bytes from the pstack.")},allocChunks:function(S,P){if(typeof P==="string"&&!(P=b.sizeofIR(P)))U.toss("Invalid size value for allocChunks(",arguments[1],")");let K=b.pstack.alloc(S*P),oe=[K],W=1,he=P;for(;W<S;++W,he+=P)oe.push(b.ptr.add(K,he));return oe},allocPtr:(S=1,P=!0)=>S===1?b.pstack.alloc(P?8:b.ptr.size):b.pstack.allocChunks(S,P?8:b.ptr.size),call:function(S){let P=b.pstack.pointer;try{return S(pe)}finally{b.pstack.restore(P)}}}),Object.defineProperties(b.pstack,{pointer:{configurable:!1,iterable:!0,writeable:!1,get:b.exports.sqlite3__wasm_pstack_ptr},quota:{configurable:!1,iterable:!0,writeable:!1,get:b.exports.sqlite3__wasm_pstack_quota},remaining:{configurable:!1,iterable:!0,writeable:!1,get:b.exports.sqlite3__wasm_pstack_remaining}}),E.sqlite3_randomness=(...S)=>{if(S.length===1&&J.isTypedArray(S[0])&&S[0].BYTES_PER_ELEMENT===1){let P=S[0];if(P.byteLength===0)return b.exports.sqlite3_randomness(0,b.ptr.null),P;let K=b.pstack.pointer;try{let oe=P.byteLength,W=0,he=b.exports.sqlite3_randomness,be=b.heap8u(),me=oe<512?oe:512,ve=b.pstack.alloc(me);do{let z=oe>me?me:oe;he(z,ve),P.set(b.typedArrayPart(be,ve,b.ptr.add(ve,z)),W),oe-=z,W+=z}while(oe>0)}catch(oe){p.error("Highly unexpected (and ignored!) exception in sqlite3_randomness():",oe)}finally{b.pstack.restore(K)}return P}b.exports.sqlite3_randomness(...S)},E.sqlite3_wasmfs_opfs_dir=function(){if(this.dir!==void 0)return this.dir;let S=p.wasmfsOpfsDir;if(!S||!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle||!b.exports.sqlite3__wasm_init_wasmfs)return this.dir="";try{if(S&&b.xCallWrapped("sqlite3__wasm_init_wasmfs","i32",["string"],S)===0)return this.dir=S;else return this.dir=""}catch(P){return this.dir=""}}.bind(d()),E.sqlite3_wasmfs_filename_is_persistent=function(S){let P=E.sqlite3_wasmfs_opfs_dir();return P&&S?S.startsWith(P+"/"):!1},E.sqlite3_js_db_uses_vfs=function(S,P,K=0){try{let oe=E.sqlite3_vfs_find(P);if(!oe)return!1;else if(!S)return oe===E.sqlite3_vfs_find(0)?oe:!1;else return oe===E.sqlite3_js_db_vfs(S,K)?oe:!1}catch(oe){return!1}},E.sqlite3_js_vfs_list=function(){let S=[],P=E.sqlite3_vfs_find(b.ptr.null);while(P){let K=new E.sqlite3_vfs(P);S.push(b.cstrToJs(K.$zName)),P=K.$pNext,K.dispose()}return S},E.sqlite3_js_db_export=function(S,P=0){if(S=b.xWrap.testConvertArg("sqlite3*",S),!S)N("Invalid sqlite3* argument.");if(!b.bigIntEnabled)N("BigInt support is not enabled.");let K=b.scopedAllocPush(),oe;try{let W=b.scopedAlloc(8+b.ptr.size),he=b.ptr.add(W,8),be=P?b.isPtr(P)?P:b.scopedAllocCString(""+P):b.ptr.null,me=b.exports.sqlite3__wasm_db_serialize(S,be,he,W,0);if(me)N("Database serialization failed with code",pe.capi.sqlite3_js_rc_str(me));oe=b.peekPtr(he);let ve=b.peek(W,"i64");return me=ve?b.heap8u().slice(Number(oe),Number(oe)+Number(ve)):new Uint8Array,me}finally{if(oe)b.exports.sqlite3_free(oe);b.scopedAllocPop(K)}},E.sqlite3_js_db_vfs=(S,P=b.ptr.null)=>J.sqlite3__wasm_db_vfs(S,P),E.sqlite3_js_aggregate_context=(S,P)=>E.sqlite3_aggregate_context(S,P)||(P?U.toss("Cannot allocate",P,"bytes for sqlite3_aggregate_context()"):0),E.sqlite3_js_posix_create_file=function(S,P,K){let oe;if(P&&b.isPtr(P))oe=P;else if(P instanceof ArrayBuffer||P instanceof Uint8Array){if(oe=b.allocFromTypedArray(P),arguments.length<3||!J.isInt32(K)||K<0)K=P.byteLength}else M.toss("Invalid 2nd argument for sqlite3_js_posix_create_file().");try{if(!J.isInt32(K)||K<0)M.toss("Invalid 3rd argument for sqlite3_js_posix_create_file().");let W=J.sqlite3__wasm_posix_create_file(S,oe,K);if(W)M.toss("Creation of file failed with sqlite3 result code",E.sqlite3_js_rc_str(W))}finally{if(oe&&oe!==P)b.dealloc(oe)}},E.sqlite3_js_vfs_create_file=function(S,P,K,oe){p.warn("sqlite3_js_vfs_create_file() is deprecated and","should be avoided because it can lead to C-level crashes.","See its documentation for alternatives.");let W;if(K)if(b.isPtr(K))W=K;else{if(K instanceof ArrayBuffer)K=new Uint8Array(K);if(K instanceof Uint8Array){if(W=b.allocFromTypedArray(K),arguments.length<4||!J.isInt32(oe)||oe<0)oe=K.byteLength}else M.toss("Invalid 3rd argument type for sqlite3_js_vfs_create_file().")}else W=0;if(!J.isInt32(oe)||oe<0){if(W&&W!==K)b.dealloc(W);M.toss("Invalid 4th argument for sqlite3_js_vfs_create_file().")}try{let he=J.sqlite3__wasm_vfs_create_file(S,P,W,oe);if(he)M.toss("Creation of file failed with sqlite3 result code",E.sqlite3_js_rc_str(he))}finally{if(W&&W!==K)b.dealloc(W)}},E.sqlite3_js_sql_to_string=(S)=>{if(typeof S==="string")return S;let P=ee(v);return P===v?void 0:P},E.sqlite3_db_config=function(S,P,...K){switch(P){case E.SQLITE_DBCONFIG_ENABLE_FKEY:case E.SQLITE_DBCONFIG_ENABLE_TRIGGER:case E.SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER:case E.SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION:case E.SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE:case E.SQLITE_DBCONFIG_ENABLE_QPSG:case E.SQLITE_DBCONFIG_TRIGGER_EQP:case E.SQLITE_DBCONFIG_RESET_DATABASE:case E.SQLITE_DBCONFIG_DEFENSIVE:case E.SQLITE_DBCONFIG_WRITABLE_SCHEMA:case E.SQLITE_DBCONFIG_LEGACY_ALTER_TABLE:case E.SQLITE_DBCONFIG_DQS_DML:case E.SQLITE_DBCONFIG_DQS_DDL:case E.SQLITE_DBCONFIG_ENABLE_VIEW:case E.SQLITE_DBCONFIG_LEGACY_FILE_FORMAT:case E.SQLITE_DBCONFIG_TRUSTED_SCHEMA:case E.SQLITE_DBCONFIG_STMT_SCANSTATUS:case E.SQLITE_DBCONFIG_REVERSE_SCANORDER:case E.SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE:case E.SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE:case E.SQLITE_DBCONFIG_ENABLE_COMMENTS:case E.SQLITE_DBCONFIG_FP_DIGITS:if(!this.ip)this.ip=b.xWrap("sqlite3__wasm_db_config_ip","int",["sqlite3*","int","int","*"]);return this.ip(S,P,K[0],K[1]||0);case E.SQLITE_DBCONFIG_LOOKASIDE:if(!this.pii)this.pii=b.xWrap("sqlite3__wasm_db_config_pii","int",["sqlite3*","int","*","int","int"]);return this.pii(S,P,K[0],K[1],K[2]);case E.SQLITE_DBCONFIG_MAINDBNAME:if(!this.s)this.s=b.xWrap("sqlite3__wasm_db_config_s","int",["sqlite3*","int","string:static"]);return this.s(S,P,K[0]);default:return E.SQLITE_MISUSE}}.bind(d()),E.sqlite3_value_to_js=function(S,P=!0){let K,oe=E.sqlite3_value_type(S);switch(oe){case E.SQLITE_INTEGER:if(b.bigIntEnabled){if(K=E.sqlite3_value_int64(S),J.bigIntFitsDouble(K))K=Number(K)}else K=E.sqlite3_value_double(S);break;case E.SQLITE_FLOAT:K=E.sqlite3_value_double(S);break;case E.SQLITE_TEXT:K=E.sqlite3_value_text(S);break;case E.SQLITE_BLOB:{let W=E.sqlite3_value_bytes(S),he=E.sqlite3_value_blob(S);if(W&&!he)pe.WasmAllocError.toss("Cannot allocate memory for blob argument of",W,"byte(s)");K=W?b.heap8u().slice(Number(he),Number(he)+Number(W)):null;break}case E.SQLITE_NULL:K=null;break;default:if(P)N(E.SQLITE_MISMATCH,"Unhandled sqlite3_value_type():",oe);K=void 0}return K},E.sqlite3_values_to_js=function(S,P,K=!0){let oe,W=[];for(oe=0;oe<S;++oe)W.push(E.sqlite3_value_to_js(b.peekPtr(b.ptr.add(P,b.ptr.size*oe)),K));return W},E.sqlite3_result_error_js=function(S,P){if(P instanceof U)E.sqlite3_result_error_nomem(S);else E.sqlite3_result_error(S,""+P,-1)},E.sqlite3_result_js=function(S,P){if(P instanceof Error){E.sqlite3_result_error_js(S,P);return}try{switch(typeof P){case"undefined":break;case"boolean":E.sqlite3_result_int(S,P?1:0);break;case"bigint":if(J.bigIntFits32(P))E.sqlite3_result_int(S,Number(P));else if(J.bigIntFitsDouble(P))E.sqlite3_result_double(S,Number(P));else if(b.bigIntEnabled)if(J.bigIntFits64(P))E.sqlite3_result_int64(S,P);else N("BigInt value",P.toString(),"is too BigInt for int64.");else N("BigInt value",P.toString(),"is too BigInt.");break;case"number":{let K;if(J.isInt32(P))K=E.sqlite3_result_int;else if(b.bigIntEnabled&&Number.isInteger(P)&&J.bigIntFits64(BigInt(P)))K=E.sqlite3_result_int64;else K=E.sqlite3_result_double;K(S,P);break}case"string":{let[K,oe]=b.allocCString(P,!0);E.sqlite3_result_text(S,K,oe,E.SQLITE_WASM_DEALLOC);break}case"object":if(P===null){E.sqlite3_result_null(S);break}else if(J.isBindableTypedArray(P)){let K=b.allocFromTypedArray(P);E.sqlite3_result_blob(S,K,P.byteLength,E.SQLITE_WASM_DEALLOC);break}default:N("Don't not how to handle this UDF result value:",typeof P,P)}}catch(K){E.sqlite3_result_error_js(S,K)}},E.sqlite3_column_js=function(S,P,K=!0){let oe=E.sqlite3_column_value(S,P);return oe===0?void 0:E.sqlite3_value_to_js(oe,K)};{let S=function(P,K,oe){if(oe=E[oe],!this.ptr)this.ptr=b.allocPtr();else b.pokePtr(this.ptr,0);let W=oe(P,K,this.ptr);if(W)return M.toss(W,arguments[2]+"() failed with code "+W);let he=b.peekPtr(this.ptr);return he?E.sqlite3_value_to_js(he,!0):void 0}.bind(d());E.sqlite3_preupdate_new_js=(P,K)=>S(P,K,"sqlite3_preupdate_new"),E.sqlite3_preupdate_old_js=(P,K)=>S(P,K,"sqlite3_preupdate_old"),E.sqlite3changeset_new_js=(P,K)=>S(P,K,"sqlite3changeset_new"),E.sqlite3changeset_old_js=(P,K)=>S(P,K,"sqlite3changeset_old")}E.sqlite3_js_retry_busy=function(S,P,K){for(let oe=1;oe<=S;++oe)try{if(K&&oe>1)K(oe);let W=P();if(E.SQLITE_BUSY===W){if(oe===S)throw new M(W,["sqlite3_js_retry_busy() max retry attempts (",S,") reached."].join(""));continue}return W}catch(W){if(oe<S&&W instanceof M&&W.resultCode===E.SQLITE_BUSY)continue;throw W}};let pe={WasmAllocError:U,SQLite3Error:M,capi:E,util:J,wasm:b,config:p,version:d(),client:void 0,asyncPostInit:async function S(){if(S.isReady instanceof Promise)return S.isReady;let P=this.initializersAsync;delete this.initializersAsync;let K=async()=>{if(!pe.__isUnderTest)delete pe.util,delete pe.StructBinder,delete pe.opfs;return pe},oe=(he)=>{throw p.error("an async sqlite3 initializer failed:",he),he};if(!P||!P.length)return S.isReady=K().catch(oe);P=P.map((he)=>he instanceof Function?async(be)=>he(pe):he),P.push(K);let W=Promise.resolve(pe);while(P.length)W=W.then(P.shift());return S.isReady=W.catch(oe)}.bind(f),scriptInfo:void 0};if(typeof h<"u")pe.__isUnderTest=!!h;try{f.initializers.forEach((S)=>{S(pe)})}catch(S){throw console.error("sqlite3 bootstrap initializer threw:",S),S}if(delete f.initializers,f.sqlite3=pe,typeof i<"u")i.debugModule("sqlite3ApiBootstrap() complete",pe),pe.scriptInfo=i;if(pe.__isUnderTest){if(typeof l<"u")pe.config.emscripten=l;let S=pe.scriptInfo?.instantiateWasm;if(S)pe.wasm.module=S.module,pe.wasm.instance=S.instance,pe.wasm.imports=S.imports}return delete globalThis.sqlite3ApiConfig,delete globalThis.sqlite3ApiBootstrap,delete f.defaultConfig,pe.asyncPostInit().then((S)=>{if(typeof i<"u")i.debugModule("sqlite3.asyncPostInit() complete",S);return delete S.asyncPostInit,delete S.scriptInfo,delete S.emscripten,S})},globalThis.sqlite3ApiBootstrap.initializers=[],globalThis.sqlite3ApiBootstrap.initializersAsync=[],globalThis.sqlite3ApiBootstrap.defaultConfig=Object.create(null),globalThis.sqlite3ApiBootstrap.sqlite3=void 0,globalThis.sqlite3ApiBootstrap.initializers.push(function(f){f.version={libVersion:"3.53.0",libVersionNumber:3053000,sourceId:"2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b",downloadVersion:3530000,scm:{"sha3-256":"4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b",branch:"trunk",tags:"release major-release version-3.53.0",datetime:"2026-04-09T11:41:38.498Z"}}}),globalThis.WhWasmUtilInstaller=function(c){if(c.bigIntEnabled===void 0)c.bigIntEnabled=!!globalThis.BigInt64Array;let d=(...g)=>{throw Error(g.join(" "))};if(!c.pointerSize&&!c.pointerIR&&c.alloc&&c.dealloc){let g=c.alloc(1);c.pointerSize=typeof g==="bigint"?8:4,c.dealloc(g)}if(c.pointerSize&&!c.pointerIR)c.pointerIR=c.pointerSize===4?"i32":"i64";let p=c.pointerIR??="i32",E=c.pointerSize??=p==="i32"?4:p==="i64"?8:0;if(delete c.pointerSize,delete c.pointerIR,p!=="i32"&&p!=="i64")d("Invalid pointerIR:",p);else if(E!==8&&E!==4)d("Invalid pointerSize:",E);let b=c.bigIntEnabled?(g)=>BigInt(g||0):(g)=>d("BigInt support is disabled in this build."),V=E===4?(g)=>Number(g||0):b,M=V(0),N=function(...g){let w=V(0);for(let T of g)w+=V(T);return w};{let g=Object.create(null);Object.defineProperty(c,"ptr",{enumerable:!0,get:()=>g,set:()=>d("The ptr property is read-only.")}),function w(T,C){return Object.defineProperty(g,T,{enumerable:!0,get:()=>C,set:()=>d("ptr["+T+"] is read-only.")}),w}("null",M)("size",E)("ir",p)("coerce",V)("add",N)("addn",p===4?N:(...w)=>Number(N(...w)))}if(!c.exports)Object.defineProperty(c,"exports",{enumerable:!0,configurable:!0,get:()=>c.instance?.exports});let q=Object.create(null);q.heapSize=0,q.memory=null,q.freeFuncIndexes=[],q.scopedAlloc=[],q.scopedAlloc.pushPtr=(g)=>(q.scopedAlloc[q.scopedAlloc.length-1].push(g),g),q.utf8Decoder=new TextDecoder,q.utf8Encoder=new TextEncoder("utf-8"),c.sizeofIR=(g)=>{switch(g){case"i8":return 1;case"i16":return 2;case"i32":case"f32":case"float":return 4;case"i64":case"f64":case"double":return 8;case"*":return E;default:return(""+g).endsWith("*")?E:void 0}};let H=function(){if(!q.memory)q.memory=c.memory instanceof WebAssembly.Memory?c.memory:c.exports.memory;else if(q.heapSize===q.memory.buffer.byteLength)return q;let g=q.memory.buffer;if(q.HEAP8=new Int8Array(g),q.HEAP8U=new Uint8Array(g),q.HEAP16=new Int16Array(g),q.HEAP16U=new Uint16Array(g),q.HEAP32=new Int32Array(g),q.HEAP32U=new Uint32Array(g),q.HEAP32F=new Float32Array(g),q.HEAP64F=new Float64Array(g),c.bigIntEnabled)if(typeof BigInt64Array<"u")q.HEAP64=new BigInt64Array(g),q.HEAP64U=new BigUint64Array(g);else d("BigInt support is enabled, but the BigInt64Array type is missing.");return q.heapSize=g.byteLength,q};c.heap8=()=>H().HEAP8,c.heap8u=()=>H().HEAP8U,c.heap16=()=>H().HEAP16,c.heap16u=()=>H().HEAP16U,c.heap32=()=>H().HEAP32,c.heap32u=()=>H().HEAP32U,c.heapForSize=function(g,w=!0){let T=q.memory&&q.heapSize===q.memory.buffer.byteLength?q:H();switch(g){case Int8Array:return T.HEAP8;case Uint8Array:return T.HEAP8U;case Int16Array:return T.HEAP16;case Uint16Array:return T.HEAP16U;case Int32Array:return T.HEAP32;case Uint32Array:return T.HEAP32U;case 8:return w?T.HEAP8U:T.HEAP8;case 16:return w?T.HEAP16U:T.HEAP16;case 32:return w?T.HEAP32U:T.HEAP32;case 64:if(T.HEAP64)return w?T.HEAP64U:T.HEAP64;break;default:if(c.bigIntEnabled){if(g===globalThis.BigUint64Array)return T.HEAP64U;else if(g===globalThis.BigInt64Array)return T.HEAP64;break}}d("Invalid heapForSize() size: expecting 8, 16, 32,","or (if BigInt is enabled) 64.")};let G=c.functionTable;delete c.functionTable,c.functionTable=G?()=>G:()=>c.exports.__indirect_function_table,c.functionEntry=function(g){let w=c.functionTable();return g<w.length?w.get(V(g)):void 0},c.jsFuncToWasm=function g(w,T){if(!g._)g._={sigTypes:Object.assign(Object.create(null),{i:"i32",p,P:p,s:p,j:"i64",f:"f32",d:"f64"}),typeCodes:Object.assign(Object.create(null),{f64:124,f32:125,i64:126,i32:127}),uleb128Encode:(A,L,Q)=>{if(Q<128)A[L](Q);else A[L](Q%128|128,Q>>7)},rxJSig:/^(\w)\((\w*)\)$/,sigParams:(A)=>{let L=g._.rxJSig.exec(A);return L?L[2]:A.substr(1)},letterType:(A)=>g._.sigTypes[A]||d("Invalid signature letter:",A),pushSigType:(A,L)=>A.push(g._.typeCodes[g._.letterType(L)])};if(typeof w==="string"){let A=T;T=w,w=A}let C=g._,te=C.sigParams(T),se=[1,96];C.uleb128Encode(se,"push",te.length);for(let A of te)C.pushSigType(se,A);if(T[0]==="v")se.push(0);else se.push(1),C.pushSigType(se,T[0]);return C.uleb128Encode(se,"unshift",se.length),se.unshift(0,97,115,109,1,0,0,0,1),se.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0),new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array(se)),{e:{f:w}}).exports.f};let le=function(w,T,C){if(C&&!q.scopedAlloc.length)d("No scopedAllocPush() scope is active.");if(typeof w==="string"){let L=T;T=w,w=L}if(typeof T!=="string"||!(w instanceof Function))d("Invalid arguments: expecting (function,signature) or (signature,function).");let te=c.functionTable(),se=V(te.length),A;while(A=q.freeFuncIndexes.pop())if(te.get(A)){A=null;continue}else break;if(!A)A=V(se),te.grow(V(1));try{if(te.set(A,w),C)q.scopedAlloc.pushPtr(A);return A}catch(L){if(!(L instanceof TypeError)){if(A===se)q.freeFuncIndexes.push(se);throw L}}try{let L=c.jsFuncToWasm(w,T);if(te.set(A,L),C)q.scopedAlloc.pushPtr(A)}catch(L){if(A===se)q.freeFuncIndexes.push(se);throw L}return A};c.installFunction=(g,w)=>le(g,w,!1),c.scopedInstallFunction=(g,w)=>le(g,w,!0),c.uninstallFunction=function(g){if(!g&&M!==g)return;let w=c.functionTable();q.freeFuncIndexes.push(g);let T=w.get(g);return w.set(g,null),T},c.peek=function(w,T="i8"){if(T.endsWith("*"))T=p;let C=q.memory&&q.heapSize===q.memory.buffer.byteLength?q:H(),te=Array.isArray(w)?[]:void 0,se;do{if(te)w=arguments[0].shift();switch(T){case"i1":case"i8":se=C.HEAP8[Number(w)>>0];break;case"i16":se=C.HEAP16[Number(w)>>1];break;case"i32":se=C.HEAP32[Number(w)>>2];break;case"float":case"f32":se=C.HEAP32F[Number(w)>>2];break;case"double":case"f64":se=Number(C.HEAP64F[Number(w)>>3]);break;case"i64":if(C.HEAP64){se=b(C.HEAP64[Number(w)>>3]);break}default:d("Invalid type for peek():",T)}if(te)te.push(se)}while(te&&arguments[0].length);return te||se},c.poke=function(g,w,T="i8"){if(T.endsWith("*"))T=p;let C=q.memory&&q.heapSize===q.memory.buffer.byteLength?q:H();for(let te of Array.isArray(g)?g:[g])switch(T){case"i1":case"i8":C.HEAP8[Number(te)>>0]=w;continue;case"i16":C.HEAP16[Number(te)>>1]=w;continue;case"i32":C.HEAP32[Number(te)>>2]=w;continue;case"float":case"f32":C.HEAP32F[Number(te)>>2]=w;continue;case"double":case"f64":C.HEAP64F[Number(te)>>3]=w;continue;case"i64":if(C.HEAP64){C.HEAP64[Number(te)>>3]=b(w);continue}default:d("Invalid type for poke(): "+T)}return this},c.peekPtr=(...g)=>c.peek(g.length===1?g[0]:g,p),c.pokePtr=(g,w=0)=>c.poke(g,w,p),c.peek8=(...g)=>c.peek(g.length===1?g[0]:g,"i8"),c.poke8=(g,w)=>c.poke(g,w,"i8"),c.peek16=(...g)=>c.peek(g.length===1?g[0]:g,"i16"),c.poke16=(g,w)=>c.poke(g,w,"i16"),c.peek32=(...g)=>c.peek(g.length===1?g[0]:g,"i32"),c.poke32=(g,w)=>c.poke(g,w,"i32"),c.peek64=(...g)=>c.peek(g.length===1?g[0]:g,"i64"),c.poke64=(g,w)=>c.poke(g,w,"i64"),c.peek32f=(...g)=>c.peek(g.length===1?g[0]:g,"f32"),c.poke32f=(g,w)=>c.poke(g,w,"f32"),c.peek64f=(...g)=>c.peek(g.length===1?g[0]:g,"f64"),c.poke64f=(g,w)=>c.poke(g,w,"f64"),c.getMemValue=c.peek,c.getPtrValue=c.peekPtr,c.setMemValue=c.poke,c.setPtrValue=c.pokePtr,c.isPtr32=(g)=>typeof g==="number"&&g>=0&&g===(g|0),c.isPtr64=(g)=>typeof g==="bigint"?g>=0:c.isPtr32(g),c.isPtr=E===4?c.isPtr32:c.isPtr64,c.cstrlen=function(g){if(!g||!c.isPtr(g))return null;g=Number(g);let w=H().HEAP8U,T=g;for(;w[T]!==0;++T);return T-g};let O=typeof SharedArrayBuffer>"u"?function(){}:SharedArrayBuffer,R=(g)=>g.buffer instanceof O;c.isSharedTypedArray=R;let X=(g,w,T)=>{if(E===8){if(typeof w==="bigint")w=Number(w);if(typeof T==="bigint")T=Number(T)}return R(g)?g.slice(w,T):g.subarray(w,T)};c.typedArrayPart=X;let ee=(g,w,T)=>q.utf8Decoder.decode(X(g,w,T));c.typedArrayToString=ee,c.cstrToJs=function(g){let w=c.cstrlen(g);return w?ee(H().HEAP8U,Number(g),Number(g)+w):w===null?w:""},c.jstrlen=function(g){if(typeof g!=="string")return null;let w=g.length,T=0;for(let C=0;C<w;++C){let te=g.charCodeAt(C);if(te>=55296&&te<=57343)te=65536+((te&1023)<<10)|g.charCodeAt(++C)&1023;if(te<=127)++T;else if(te<=2047)T+=2;else if(te<=65535)T+=3;else T+=4}return T},c.jstrcpy=function(g,w,T=0,C=-1,te=!0){if(!w||!(w instanceof Int8Array)&&!(w instanceof Uint8Array))d("jstrcpy() target must be an Int8Array or Uint8Array.");if(C=Number(C),T=Number(T),C<0)C=w.length-T;if(!(C>0)||!(T>=0))return 0;let se=0,A=g.length,L=T,Q=T+C-(te?1:0);for(;se<A&&T<Q;++se){let ne=g.charCodeAt(se);if(ne>=55296&&ne<=57343)ne=65536+((ne&1023)<<10)|g.charCodeAt(++se)&1023;if(ne<=127){if(T>=Q)break;w[T++]=ne}else if(ne<=2047){if(T+1>=Q)break;w[T++]=192|ne>>6,w[T++]=128|ne&63}else if(ne<=65535){if(T+2>=Q)break;w[T++]=224|ne>>12,w[T++]=128|ne>>6&63,w[T++]=128|ne&63}else{if(T+3>=Q)break;w[T++]=240|ne>>18,w[T++]=128|ne>>12&63,w[T++]=128|ne>>6&63,w[T++]=128|ne&63}}if(te)w[T++]=0;return T-L},c.cstrncpy=function(g,w,T){if(!g||!w)d("cstrncpy() does not accept NULL strings.");if(T<0)T=c.cstrlen(strPtr)+1;else if(!(T>0))return 0;let C=c.heap8u(),te=0,se,A=Number(g),L=Number(w);for(;te<T&&(se=C[L+te]);++te)C[A+te]=se;if(te<T)C[A+te++]=0;return te},c.jstrToUintArray=(g,w=!1)=>q.utf8Encoder.encode(w?g+"\x00":g);let U=(g,w)=>{if(!(g.alloc instanceof Function)||!(g.dealloc instanceof Function))d("Object is missing alloc() and/or dealloc() function(s)","required by",w+"().")},J=function(g,w,T,C){if(U(c,C),typeof g!=="string")return null;let te=q.utf8Encoder.encode(g),se=T(te.length+1),A=se;try{let L=H().HEAP8U;return L.set(te,Number(se)),L[N(se,te.length)]=0,A=M,w?[se,te.length]:se}finally{if(A)c.dealloc(A)}};c.allocCString=(g,w=!1)=>J(g,w,c.alloc,"allocCString()"),c.scopedAllocPush=function(){U(c,"scopedAllocPush");let g=[];return q.scopedAlloc.push(g),g},c.scopedAllocPop=function(g){U(c,"scopedAllocPop");let w=arguments.length?q.scopedAlloc.indexOf(g):q.scopedAlloc.length-1;if(w<0)d("Invalid state object for scopedAllocPop().");if(arguments.length===0)g=q.scopedAlloc[w];q.scopedAlloc.splice(w,1);for(let T;T=g.pop();)if(c.functionEntry(T))c.uninstallFunction(T);else c.dealloc(T)},c.scopedAlloc=function(g){if(!q.scopedAlloc.length)d("No scopedAllocPush() scope is active.");let w=V(c.alloc(g));return q.scopedAlloc.pushPtr(w)},Object.defineProperty(c.scopedAlloc,"level",{configurable:!1,enumerable:!1,get:()=>q.scopedAlloc.length,set:()=>d("The 'active' property is read-only.")}),c.scopedAllocCString=(g,w=!1)=>J(g,w,c.scopedAlloc,"scopedAllocCString()");let pe=function(g,w){let T=c[g?"scopedAlloc":"alloc"]((w.length+1)*c.ptr.size),C=0;return w.forEach((te)=>{c.pokePtr(N(T,c.ptr.size*C++),c[g?"scopedAllocCString":"allocCString"](""+te))}),c.pokePtr(N(T,c.ptr.size*C),0),T};c.scopedAllocMainArgv=(g)=>pe(!0,g),c.allocMainArgv=(g)=>pe(!1,g),c.cArgvToJs=(g,w)=>{let T=[];for(let C=0;C<g;++C){let te=c.peekPtr(N(w,c.ptr.size*C));T.push(te?c.cstrToJs(te):null)}return T},c.scopedAllocCall=function(g){c.scopedAllocPush();try{return g()}finally{c.scopedAllocPop()}};let S=function(g,w,T){U(c,T);let C=w?"i64":p,te=c[T](g*(w?8:E));if(c.poke(te,0,C),g===1)return te;let se=[te];for(let A=1;A<g;++A)te=N(te,w?8:E),se[A]=te,c.poke(te,0,C);return se};c.allocPtr=(g=1,w=!0)=>S(g,w,"alloc"),c.scopedAllocPtr=(g=1,w=!0)=>S(g,w,"scopedAlloc"),c.xGet=function(g){return c.exports[g]||d("Cannot find exported symbol:",g)};let P=(g,w)=>d(g+"() requires",w,"argument(s).");c.xCall=function(g,...w){let T=g instanceof Function?g:c.xGet(g);if(!(T instanceof Function))d("Exported symbol",g,"is not a function.");if(T.length!==w.length)P(T===g?T.name:g,T.length);return arguments.length===2&&Array.isArray(arguments[1])?T.apply(null,arguments[1]):T.apply(null,w)},q.xWrap=Object.create(null),q.xWrap.convert=Object.create(null),q.xWrap.convert.arg=new Map,q.xWrap.convert.result=new Map;let K=q.xWrap.convert.arg,oe=q.xWrap.convert.result,W=V;K.set("i64",b).set("i32",(g)=>g|0).set("i16",(g)=>(g|0)&65535).set("i8",(g)=>(g|0)&255).set("f32",(g)=>Number(g).valueOf()).set("float",K.get("f32")).set("f64",K.get("f32")).set("double",K.get("f64")).set("int",K.get("i32")).set("null",(g)=>g).set(null,K.get("null")).set("**",W).set("*",W),oe.set("*",W).set("pointer",W).set("number",(g)=>Number(g)).set("void",(g)=>{return}).set(void 0,oe.get("void")).set("null",(g)=>g).set(null,oe.get("null"));for(let g of["i8","i16","i32","i64","int","f32","float","f64","double"])K.set(g+"*",W),oe.set(g+"*",W),oe.set(g,K.get(g)||d("Maintenance required: missing arg converter for",g));let he=(g)=>typeof g==="string"?c.scopedAllocCString(g):V(g);K.set("string",he).set("utf8",he),oe.set("string",(g)=>c.cstrToJs(g)).set("utf8",oe.get("string")).set("string:dealloc",(g)=>{try{return g?c.cstrToJs(g):null}finally{c.dealloc(g)}}).set("utf8:dealloc",oe.get("string:dealloc")).set("json",(g)=>JSON.parse(c.cstrToJs(g))).set("json:dealloc",(g)=>{try{return g?JSON.parse(c.cstrToJs(g)):null}finally{c.dealloc(g)}});let be=class{constructor(g){this.name=g.name||"unnamed adapter"}convertArg(g,w,T){d("AbstractArgAdapter must be subclassed.")}};K.FuncPtrAdapter=class g extends be{constructor(w){super(w);if(K.FuncPtrAdapter.warnOnUse)console.warn("xArg.FuncPtrAdapter is an internal-only API","and is not intended to be invoked from","client-level code. Invoked with:",w);if(this.name=w.name||"unnamed",this.signature=w.signature,w.contextKey instanceof Function){if(this.contextKey=w.contextKey,!w.bindScope)w.bindScope="context"}if(this.bindScope=w.bindScope||d("FuncPtrAdapter options requires a bindScope (explicit or implied)."),g.bindScopes.indexOf(w.bindScope)<0)d("Invalid options.bindScope ("+w.bindMod+") for FuncPtrAdapter. Expecting one of: ("+g.bindScopes.join(", ")+")");this.isTransient=this.bindScope==="transient",this.isContext=this.bindScope==="context",this.isPermanent=this.bindScope==="permanent",this.singleton=this.bindScope==="singleton"?[]:void 0,this.callProxy=w.callProxy instanceof Function?w.callProxy:void 0}contextKey(w,T){return this}contextMap(w){let T=this.__cmap||(this.__cmap=new Map),C=T.get(w);if(C===void 0)T.set(w,C=[]);return C}convertArg(w,T,C){let te=this.singleton;if(!te&&this.isContext)te=this.contextMap(this.contextKey(T,C));if(te&&te.length===2&&te[0]===w)return te[1];if(w instanceof Function){if(this.callProxy)w=this.callProxy(w);let se=le(w,this.signature,this.isTransient);if(g.debugFuncInstall)g.debugOut("FuncPtrAdapter installed",this,this.contextKey(T,C),"@"+se,w);if(te){if(te[1]){if(g.debugFuncInstall)g.debugOut("FuncPtrAdapter uninstalling",this,this.contextKey(T,C),"@"+te[1],w);try{q.scopedAlloc.pushPtr(te[1])}catch(A){}}te[0]=arguments[0]||M,te[1]=se}return se}else if(c.isPtr(w)||w===null||w===void 0){if(te&&te[1]&&te[1]!==w){if(g.debugFuncInstall)g.debugOut("FuncPtrAdapter uninstalling",this,this.contextKey(T,C),"@"+te[1],w);try{q.scopedAlloc.pushPtr(te[1])}catch(se){}te[0]=te[1]=w||M}return w||M}else throw TypeError("Invalid FuncPtrAdapter argument type. Expecting a function pointer or a "+(this.name?this.name+" ":"")+"function matching signature "+this.signature+".")}},K.FuncPtrAdapter.warnOnUse=!1,K.FuncPtrAdapter.debugFuncInstall=!1,K.FuncPtrAdapter.debugOut=console.debug.bind(console),K.FuncPtrAdapter.bindScopes=["transient","context","singleton","permanent"];let me=(g)=>K.get(g)||d("Argument adapter not found:",g),ve=(g)=>oe.get(g)||d("Result adapter not found:",g);q.xWrap.convertArg=(g,...w)=>me(g)(...w),q.xWrap.convertArgNoCheck=(g,...w)=>K.get(g)(...w),q.xWrap.convertResult=(g,w)=>g===null?w:g?ve(g)(w):void 0,q.xWrap.convertResultNoCheck=(g,w)=>g===null?w:g?oe.get(g)(w):void 0,c.xWrap=function g(w,T,...C){if(arguments.length===3&&Array.isArray(arguments[2]))C=arguments[2];if(c.isPtr(w))w=c.functionEntry(w)||d("Function pointer not found in WASM function table.");let te=w instanceof Function,se=te?w:c.xGet(w);if(te)w=se.name||"unnamed function";if(C.length!==se.length)P(w,se.length);if(se.length===0&&(T===null||T==="null"))return se;ve(T);for(let L of C)if(L instanceof be)K.set(L,(...Q)=>L.convertArg(...Q));else me(L);let A=q.xWrap;if(se.length===0)return(...L)=>L.length?P(w,se.length):A.convertResult(T,se.call(null));return function(...L){if(L.length!==se.length)P(w,se.length);let Q=c.scopedAllocPush();try{let ne=0;if(g.debug)console.debug("xWrap() preparing: resultType ",T,"xf",se,"argTypes",C,"args",L);for(;ne<L.length;++ne)L[ne]=A.convertArgNoCheck(C[ne],L[ne],L,ne);if(g.debug)console.debug("xWrap() calling: resultType ",T,"xf",se,"argTypes",C,"args",L);return A.convertResultNoCheck(T,se.apply(null,L))}finally{c.scopedAllocPop(Q)}}};let z=function(g,w,T,C,te,se){if(typeof T==="string"){if(w===1)return se.get(T);else if(w===2){if(!C)return se.delete(T),g;else if(!(C instanceof Function))d(te,"requires a function argument.");return se.set(T,C),g}}d("Invalid arguments to",te)};return c.xWrap.resultAdapter=function g(w,T){return z(g,arguments.length,w,T,"resultAdapter()",oe)},c.xWrap.argAdapter=function g(w,T){return z(g,arguments.length,w,T,"argAdapter()",K)},c.xWrap.FuncPtrAdapter=K.FuncPtrAdapter,c.xCallWrapped=function(g,w,T,...C){if(Array.isArray(arguments[3]))C=arguments[3];return c.xWrap(g,w,T||[]).apply(null,C||[])},c.xWrap.testConvertArg=q.xWrap.convertArg,c.xWrap.testConvertResult=q.xWrap.convertResult,c},globalThis.WhWasmUtilInstaller.yawl=function(c){let d=()=>fetch(c.uri,{credentials:"same-origin"}),p=this,E=function(b){if(c.wasmUtilTarget){let I=(...M)=>{throw Error(M.join(" "))},V=c.wasmUtilTarget;if(V.module=b.module,V.instance=b.instance,!V.instance.exports.memory)V.memory=c?.imports?.env?.memory||I("Missing 'memory' object!");if(!V.alloc&&b.instance.exports.malloc){let M=b.instance.exports;V.alloc=function(N){return M.malloc(N)||I("Allocation of",N,"bytes failed.")},V.dealloc=function(N){N&&M.free(N)}}p(V)}if(b.config=c,c.onload)c.onload(b);return b};return WebAssembly.instantiateStreaming?()=>WebAssembly.instantiateStreaming(d(),c.imports||{}).then(E):()=>d().then((b)=>b.arrayBuffer()).then((b)=>WebAssembly.instantiate(b,c.imports||{})).then(E)}.bind(globalThis.WhWasmUtilInstaller),globalThis.Jaccwabyt=function f(c){let d=(...F)=>{throw Error(F.join(" "))};{let F=c.heap;if(F instanceof WebAssembly.Memory)F=function(){return new Uint8Array(this.buffer)}.bind(F);else if(!(F instanceof Function))d("config.heap must be WebAssembly.Memory instance or","a function which returns one.");c.heap=F}["alloc","dealloc"].forEach(function(F){c[F]instanceof Function||d("Config option '"+F+"' must be a function.")});let p=f,{heap:E,alloc:b,dealloc:I}=c;c.realloc;let V=c.log||console.debug.bind(console),M=c.memberPrefix||"",N=c.memberSuffix||"",{BigInt:q,BigInt64Array:H}=globalThis,G=c.bigIntEnabled??!!H,le,O=c.pointerSize||c.ptrSize||(typeof(le=b(1))==="bigint"?8:4),R=c.pointerIR||c.ptrIR||(O===4?"i32":"i64");if(le)I(le),le=void 0;if(O!==4&&O!==8)d("Invalid pointer size:",O);if(R!=="i32"&&R!=="i64")d("Invalid pointer representation:",R);let X=G&&q?(F)=>q(F||0):(F)=>d("BigInt support is disabled in this build."),ee=R=="i32"?Number:X,U=ee(0),J=function(...F){let ie=U;for(let fe=0;fe<F.length;++fe)ie+=ee(F[fe]);return ie},pe=function(...F){return J(this.pointer,...F)};if(!p.debugFlags)p.__makeDebugFlags=function(F=null){if(F&&F.__flags)F=F.__flags;let ie=function fe(Ee){if(arguments.length===0)return fe.__flags;if(Ee<0)delete fe.__flags.getter,delete fe.__flags.setter,delete fe.__flags.alloc,delete fe.__flags.dealloc;else fe.__flags.getter=(1&Ee)!==0,fe.__flags.setter=(2&Ee)!==0,fe.__flags.alloc=(4&Ee)!==0,fe.__flags.dealloc=(8&Ee)!==0;return fe._flags};if(Object.defineProperty(ie,"__flags",{iterable:!1,writable:!1,value:Object.create(F)}),!F)ie(0);return ie},p.debugFlags=p.__makeDebugFlags();let S=!0,P=(F)=>F[1]==="(",K=(F)=>F==="p"||F==="P"||F==="s",oe=(F)=>F==="P",W=(F)=>F?P(F)?"p":F[0]:void 0,he=function(F){switch(W(F)){case"c":case"C":return"i8";case"i":return"i32";case"p":case"P":case"s":return R;case"j":return"i64";case"f":return"float";case"d":return"double"}d("Unhandled signature IR:",F)},be=function(F){switch(W(F)){case"c":case"C":return 1;case"i":return 4;case"p":case"P":case"s":return O;case"j":return 8;case"f":return 4;case"d":return 8}d("Unhandled signature sizeof:",F)},me=H?()=>!0:()=>d("BigInt64Array is not available."),ve=function(F){switch(W(F)){case"p":case"P":case"s":switch(O){case 4:return"getInt32";case 8:return me()&&"getBigInt64"}break;case"i":return"getInt32";case"c":return"getInt8";case"C":return"getUint8";case"j":return me()&&"getBigInt64";case"f":return"getFloat32";case"d":return"getFloat64"}d("Unhandled DataView getter for signature:",F)},z=function(F){switch(W(F)){case"p":case"P":case"s":switch(O){case 4:return"setInt32";case 8:return me()&&"setBigInt64"}break;case"i":return"setInt32";case"c":return"setInt8";case"C":return"setUint8";case"j":return me()&&"setBigInt64";case"f":return"setFloat32";case"d":return"setFloat64"}d("Unhandled DataView setter for signature:",F)},g=function(F){switch(W(F)){case"i":case"f":case"c":case"C":case"d":return Number;case"j":return X;case"p":case"P":case"s":switch(O){case 4:return Number;case 8:return X}break}d("Unhandled DataView set wrapper for signature:",F)},w=(F,ie)=>F+"::"+ie,T=function(F,ie){return()=>d(w(F,ie),"is read-only.")},C=function F(ie,fe=!0){let Ee=F.map.get(ie);if(!Ee&&fe)F.map.set(ie,Ee=F.create(ie));return Ee};C.map=new WeakMap,C.create=(F)=>Object.assign(Object.create(null),{o:F,p:void 0,ownsPointer:!1,zod:!1,xb:0});let te=(F)=>C.map.delete(F),se=(F)=>typeof F==="number"&&F===(F|0)&&F>=0,L=O===4?se:(F)=>typeof F==="bigint"&&F>=0||se(F),Q=(F)=>L(F)&&F>0,ne=function(F,ie,fe){let Ee=C(ie,!1);if(!Ee)return;if(te(ie),!fe&&!(fe=Ee.p)){console.warn("Cannot(?) happen: __freeStruct() found no instanceInfo");return}if(Array.isArray(ie.ondispose)){let Ae;while(Ae=ie.ondispose.pop())try{if(Ae instanceof Function)Ae.call(ie);else if(Ae instanceof At)Ae.dispose();else if(L(Ae))I(Ae)}catch(Ke){console.warn("ondispose() for",F.structName,"@",fe,"threw. NOT propagating it.",Ke)}}else if(ie.ondispose instanceof Function)try{ie.ondispose()}catch(Ae){console.warn("ondispose() for",F.structName,"@",fe,"threw. NOT propagating it.",Ae)}if(delete ie.ondispose,F.debugFlags.__flags.dealloc)V("debug.dealloc:",Ee.ownsPointer?"":"EXTERNAL",F.structName,"instance:",F.structInfo.sizeof,"bytes @"+fe);if(Ee.ownsPointer){if(Ee.zod||F.structInfo.zeroOnDispose)E().fill(0,Number(fe),Number(fe)+F.structInfo.sizeof+Ee.xb);I(fe)}},ye=()=>({configurable:!1,writable:!1,iterable:!1}),Te=(F)=>({...ye(),value:F}),Ie=function(ie,fe,Ee){let Ae,Ke=(He)=>{Q(He)||d("Invalid pointer value",arguments[0],"for",ie.structName,"constructor.")};if(arguments.length>=3)if(Ee&&typeof Ee==="object")Ae=Ee,Ee=Ae?.wrap;else Ke(Ee),Ae={wrap:Ee};else Ae={};let ft=!Ee,xt=0,Dt=!1;if(Ee)Ke(Ee),Dt=!!Ae?.takeOwnership;else{let He=Ae?.extraBytes??0;if(He<0||He!==(He|0))d("Invalid extraBytes value:",Ae?.extraBytes);xt=ie.structInfo.sizeof+He,Ee=b(xt)||d("Allocation of",ie.structName,"structure failed."),Dt=!0}try{if(Ae?.debugFlags)fe.debugFlags(Ae.debugFlags);if(ie.debugFlags.__flags.alloc)V("debug.alloc:",ft?"":"EXTERNAL",ie.structName,"instance:",ie.structInfo.sizeof,"bytes @"+Ee);if(ft)E().fill(0,Number(Ee),Number(Ee)+xt);let He=C(fe);if(He.p=Ee,He.ownsPointer=Dt,He.xb=xt?xt-ie.structInfo.sizeof:0,He.zod=!!Ae?.zeroOnDispose,Ae?.ondispose&&Ae.ondispose!==Ee)fe.addOnDispose(Ae.ondispose)}catch(He){throw ne(ie,fe,Ee),He}},qe=function F(ie){return F.rxSig1??=/^[ipPsjfdcC]$/,F.rxSig2??=/^[vipPsjfdcC]\([ipPsjfdcC]*\)$/,F.rxSig1.test(ie)||F.rxSig2.test(ie)},Ge=function(F){let ie=this.get(F);if(!ie)ie=[Object.create(null),Object.create(null),Object.create(null)],this.set(F,ie);return ie}.bind(new WeakMap),ct=function(F,ie,fe,Ee){let Ae=Ge(F)[ie];if(arguments.length===3)return Ae[fe];if(Ee)return Ae[fe]=Ee;return delete Ae[fe]},zt=function(F,...ie){return ct(this,0,F,...ie)},Ir=function(F,ie){qe(ie)&&d(F,"(",ie,") collides with a data type signature.")},B=function(F,...ie){return Ir("Setter adaptor",F),ct(this,1,F,...ie)},re=function(F,...ie){return Ir("Struct adaptor",F),ct(this,2,F,...ie)},ae=function(F,ie){let fe=typeof ie==="string"?ct(F,2,ie):ie;if(typeof fe!=="object")d("Invalid struct mapping object. Arg =",ie,JSON.stringify(fe));return fe},Se=Te((F)=>M+F+N),Re=function(F,ie,fe=!0){let Ee=F.members[ie];if(!Ee&&(M||N)){for(let Ae of Object.values(F.members))if(Ae.key===ie){Ee=Ae;break}if(!Ee&&fe)d(w(F.name||F.structName,ie),"is not a mapped struct member.")}return Ee},Oe=function F(ie,fe,Ee=!1){if(!F._)F._=(Ke)=>Ke.replace(/[^vipPsjrdcC]/g,"").replace(/[pPscC]/g,"i");let Ae=Re(ie.structInfo,fe,!0);return Ee?F._(Ae.signature):Ae.signature},ke=Te(function(){let F=[];for(let ie of Object.keys(this.structInfo.members))F.push(this.memberKey(ie));return F}),Ne=new TextDecoder("utf-8"),je=new TextEncoder,Qe=typeof SharedArrayBuffer>"u"?function(){}:SharedArrayBuffer,Me=function(F,ie,fe){if(O===8)ie=Number(ie),fe=Number(fe);return Ne.decode(F.buffer instanceof Qe?F.slice(ie,fe):F.subarray(ie,fe))},yt=function(F,ie,fe=!1){let Ee=Re(F.structInfo,ie,fe);return Ee&&Ee.signature.length===1&&Ee.signature[0]==="s"?Ee:!1},Ft=function(F){if(F.signature==="s")return;d("Invalid member type signature for C-string value:",JSON.stringify(F))},rn=function(ie,fe){let Ee=Re(ie.structInfo,fe,!0);Ft(Ee);let Ae=ie[Ee.key];if(!Ae)return null;let Ke=Ae,ft=E();for(;ft[Ke]!==0;++Ke);return Ae===Ke?"":Me(ft,Ae,Ke)},Zt=function(F,...ie){if(F.ondispose){if(!Array.isArray(F.ondispose))F.ondispose=[F.ondispose]}else F.ondispose=[];F.ondispose.push(...ie)},Pr=function(F){let ie=je.encode(F),fe=b(ie.length+1);if(!fe)d("Allocation error while duplicating string:",F);let Ee=E();return Ee.set(ie,Number(fe)),Ee[J(fe,ie.length)]=0,fe},Nn=function(F,ie,fe){let Ee=Re(F.structInfo,ie,!0);Ft(Ee);let Ae=Pr(fe);return F[Ee.key]=Ae,Zt(F,Ae),F},At=function(ie,fe){if(arguments[2]!==Te)d("Do not call the StructType constructor","from client-level code.");Object.defineProperties(this,{structName:Te(ie),structInfo:Te(fe)})};At.prototype=Object.create(null,{dispose:Te(function(){ne(this.constructor,this)}),lookupMember:Te(function(F,ie=!0){return Re(this.structInfo,F,ie)}),memberToJsString:Te(function(F){return rn(this,F)}),memberIsString:Te(function(F,ie=!0){return yt(this,F,ie)}),memberKey:Se,memberKeys:ke,memberSignature:Te(function(F,ie=!1){return Oe(this,F,ie)}),memoryDump:Te(function(){let F=this.pointer;return F?new Uint8Array(E().slice(Number(F),Number(F)+this.structInfo.sizeof)):null}),extraBytes:{configurable:!1,enumerable:!1,get:function(){return C(this,!1)?.xb??0}},zeroOnDispose:{configurable:!1,enumerable:!1,get:function(){return C(this,!1)?.zod??!!this.structInfo.zeroOnDispose}},pointer:{configurable:!1,enumerable:!1,get:function(){return C(this,!1)?.p},set:()=>d("Cannot assign the 'pointer' property of a struct.")},setMemberCString:Te(function(F,ie){return Nn(this,F,ie)})}),Object.assign(At.prototype,{addOnDispose:function(...F){return Zt(this,...F),this}}),Object.defineProperties(At,{allocCString:Te(Pr),isA:Te((F)=>F instanceof At),hasExternalPointer:Te((F)=>{let ie=C(F,!1);return!!(ie?.p&&!ie?.ownsPointer)}),memberKey:Se});let mo=function(F){return F.get||(F.adaptGet?Ct.adaptGet(F.adaptGet):void 0)},Ac=function(F){return F.set||(F.adaptSet?Ct.adaptSet(F.adaptSet):void 0)},Pm=function F(ie,fe,Ee){let Ae=F.innerStructs??=new Map,Ke=ie.memberKey(fe);if(Ee.signature!==void 0)d("'signature' cannot be used on an embedded struct (",ie.structName,".",Ke,").");if(Ac(Ee))d("'set' and 'adaptSet' are not permitted for nested struct members.");Ee.structName??=ie.structName+"::"+fe,Ee.key=Ke,Ee.name=fe,Ee.constructor=this.call(this,Ee.structName,Ee);let ft=mo(Ee),xt=Object.assign(Object.create(null),{configurable:!1,enumerable:!1,set:T(ie.structName,Ke),get:function(){let Dt=this.debugFlags.__flags,He=this.pointer,pt=He+"."+Ke,Pe=Ae.get(pt);if(Dt.getter)V("debug.getter: k =",pt);if(!Pe)Pe=new Ee.constructor(J(He,Ee.offset)),Ae.set(pt,Pe),this.addOnDispose(()=>Pe.dispose()),Pe.addOnDispose(()=>Ae.delete(pt));if(ft)Pe=ft.apply(this,[Pe,Ke]);if(Dt.getter)V("debug.getter: result =",Pe);return Pe}});Object.defineProperty(ie.prototype,Ke,xt)},Cm=function F(ie,fe,Ee){if(Ee=ae(this,Ee),Ee.members)return Pm.call(this,ie,fe,Ee);if(!F.cache){F.cache={getters:{},setters:{},sw:{}};let pt=["i","c","C","p","P","s","f","d","v()"];if(G)pt.push("j");pt.forEach(function(Pe){F.cache.getters[Pe]=ve(Pe),F.cache.setters[Pe]=z(Pe),F.cache.sw[Pe]=g(Pe)}),F.sigCheck=function(Pe,lt,yo,Oc){if(Object.prototype.hasOwnProperty.call(Pe,yo))d(Pe.structName,"already has a property named",yo+".");qe(Oc)||d("Malformed signature for",w(Pe.structName,lt)+":",Oc)}}let Ae=ie.memberKey(fe);F.sigCheck(ie.prototype,fe,Ae,Ee.signature),Ee.key=Ae,Ee.name=fe;let Ke=W(Ee.signature),ft=w(ie.structName,Ae),xt=ie.debugFlags.__flags,Dt=mo(Ee),He=Object.create(null);if(He.configurable=!1,He.enumerable=!1,He.get=function(){if(xt.getter)V("debug.getter:",F.cache.getters[Ke],"for",he(Ke),ft,"@",this.pointer,"+",Ee.offset,"sz",Ee.sizeof);let pt=new DataView(E().buffer,Number(this.pointer)+Ee.offset,Ee.sizeof)[F.cache.getters[Ke]](0,S);if(Dt)pt=Dt.apply(this,[Ae,pt]);if(xt.getter)V("debug.getter:",ft,"result =",pt);return pt},Ee.readOnly)He.set=T(ie.prototype.structName,Ae);else{let pt=Ac(Ee);He.set=function(Pe){if(xt.setter)V("debug.setter:",F.cache.setters[Ke],"for",he(Ke),ft,"@",this.pointer,"+",Ee.offset,"sz",Ee.sizeof,Pe);if(!this.pointer)d("Cannot set native property on a disposed",this.structName,"instance.");if(pt)Pe=pt.apply(this,[Ae,Pe]);if(Pe===null||Pe===void 0)Pe=U;else if(K(Ee.signature)&&!L(Pe))if(oe(Ee.signature)&&Pe instanceof At){if(Pe=Pe.pointer||U,xt.setter)V("debug.setter:",ft,"resolved to",Pe)}else d("Invalid value for pointer-type",ft+".");new DataView(E().buffer,Number(this.pointer)+Ee.offset,Ee.sizeof)[F.cache.setters[Ke]](0,F.cache.sw[Ke](Pe),S)}}Object.defineProperty(ie.prototype,Ae,He)},Dc=function F(ie,fe,Ee=Object.create(null)){let Ae=function Pe(lt){if(!(this instanceof Pe))d("The",ie,"constructor may only be called via 'new'.");Ie(Pe,this,...arguments)},Ke=this,ft=(Pe)=>typeof Pe==="string"&&qe(Pe)?{signature:Pe}:ae(Ke,Pe);if(arguments.length===1)fe=ft(ie),ie=fe.structName||fe.name;else if(arguments.length===2)fe=ft(fe),fe.name??=ie;else fe=ft(fe);if(ie??=fe.structName,ie??=Ee.structName,!ie)d("One of 'name' or 'structName' are required.");if(fe.adapt)Object.keys(fe.adapt.struct||{}).forEach((Pe)=>{re.call(F,Pe,fe.adapt.struct[Pe])}),Object.keys(fe.adapt.set||{}).forEach((Pe)=>{B.call(F,Pe,fe.adapt.set[Pe])}),Object.keys(fe.adapt.get||{}).forEach((Pe)=>{zt.call(F,Pe,fe.adapt.get[Pe])});if(!fe.members&&!fe.sizeof)fe.sizeof=be(fe.signature);let xt=Te(p.__makeDebugFlags(Ct.debugFlags));Object.defineProperties(Ae,{debugFlags:xt,isA:Te((Pe)=>Pe instanceof Ae),memberKey:Se,memberKeys:ke,structInfo:Te(fe),structName:Te(ie),ptrAdd:Te(J)}),Ae.prototype=new At(ie,fe,Te),Object.defineProperties(Ae.prototype,{debugFlags:xt,constructor:Te(Ae),ptrAdd:Te(pe)});let Dt=!1,He=0,pt=!!fe.autoCalcSizeOffset;if(!pt){if(!fe.sizeof)d(ie,"description is missing its sizeof property.");fe.offset??=0}else fe.offset??=0;if(Object.keys(fe.members||{}).forEach((Pe)=>{let lt=ft(fe.members[Pe]);if(!lt.members&&!lt.sizeof){if(lt.sizeof=be(lt.signature),!lt.sizeof)d(w(ie,Pe),"is missing a sizeof property.",lt)}if(lt.offset===void 0)if(pt)lt.offset=He;else d(w(ie,Pe),"is missing its offset.",JSON.stringify(lt));if(fe.members[Pe]=lt,!Dt||Dt.offset<lt.offset)Dt=lt;let yo=!!lt.autoCalc;if(pt)lt.autoCalcSizeOffset=!0;if(Cm.call(Ke,Ae,Pe,lt),yo)lt.autoCalcSizeOffset=!0;else delete lt.autoCalcSizeOffset;He+=lt.sizeof}),!Dt)d("No member property descriptions found.");if(!fe.sizeof)fe.sizeof=He;if(fe.sizeof===1)fe.signature==="c"||fe.signature==="C"||d("Unexpected sizeof==1 member",w(ie,k),"with signature",fe.signature);else{if(fe.sizeof%4!==0)console.warn("Invalid struct member description",fe),d(ie,"sizeof is not aligned. sizeof="+fe.sizeof);if(fe.offset%4!==0)console.warn("Invalid struct member description",fe),d(ie,"offset is not aligned. offset="+fe.offset)}if(fe.sizeof<He)console.warn("Suspect struct description:",fe,"offset =",He),d("Mismatch in the calculated vs. the provided sizeof/offset info.","Expected sizeof",He,"but got",fe.sizeof,"for",fe);return delete fe.autoCalcSizeOffset,Ae},Ct=function F(ie,fe){return arguments.length==1?Dc.call(F,ie):Dc.call(F,ie,fe)};if(Ct.StructType=At,Ct.config=c,Ct.allocCString=Pr,Ct.adaptGet=zt,Ct.adaptSet=B,Ct.adaptStruct=re,Ct.ptrAdd=J,!Ct.debugFlags)Ct.debugFlags=p.__makeDebugFlags(p.debugFlags);return Ct},globalThis.sqlite3ApiBootstrap.initializers.push(function(f){let c=(...O)=>{throw Error(O.join(" "))},{capi:d,wasm:p,util:E}=f;globalThis.WhWasmUtilInstaller(p),delete globalThis.WhWasmUtilInstaller;let b={core:[["sqlite3_aggregate_context","void*","sqlite3_context*","int"],["sqlite3_bind_double","int","sqlite3_stmt*","int","f64"],["sqlite3_bind_int","int","sqlite3_stmt*","int","int"],["sqlite3_bind_null",void 0,"sqlite3_stmt*","int"],["sqlite3_bind_parameter_count","int","sqlite3_stmt*"],["sqlite3_bind_parameter_index","int","sqlite3_stmt*","string"],["sqlite3_bind_parameter_name","string","sqlite3_stmt*","int"],["sqlite3_bind_pointer","int","sqlite3_stmt*","int","*","string:static","*"],["sqlite3_bind_zeroblob","int","sqlite3_stmt*","int","int"],["sqlite3_busy_handler","int",["sqlite3*",new p.xWrap.FuncPtrAdapter({signature:"i(pi)",contextKey:(O,R)=>O[0]}),"*"]],["sqlite3_busy_timeout","int","sqlite3*","int"],["sqlite3_changes","int","sqlite3*"],["sqlite3_clear_bindings","int","sqlite3_stmt*"],["sqlite3_collation_needed","int","sqlite3*","*","*"],["sqlite3_column_blob","*","sqlite3_stmt*","int"],["sqlite3_column_bytes","int","sqlite3_stmt*","int"],["sqlite3_column_count","int","sqlite3_stmt*"],["sqlite3_column_decltype","string","sqlite3_stmt*","int"],["sqlite3_column_double","f64","sqlite3_stmt*","int"],["sqlite3_column_int","int","sqlite3_stmt*","int"],["sqlite3_column_name","string","sqlite3_stmt*","int"],["sqlite3_column_type","int","sqlite3_stmt*","int"],["sqlite3_column_value","sqlite3_value*","sqlite3_stmt*","int"],["sqlite3_commit_hook","void*",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"sqlite3_commit_hook",signature:"i(p)",contextKey:(O)=>O[0]}),"*"]],["sqlite3_compileoption_get","string","int"],["sqlite3_compileoption_used","int","string"],["sqlite3_complete","int","string:flexible"],["sqlite3_context_db_handle","sqlite3*","sqlite3_context*"],["sqlite3_data_count","int","sqlite3_stmt*"],["sqlite3_db_filename","string","sqlite3*","string"],["sqlite3_db_handle","sqlite3*","sqlite3_stmt*"],["sqlite3_db_name","string","sqlite3*","int"],["sqlite3_db_readonly","int","sqlite3*","string"],["sqlite3_db_status","int","sqlite3*","int","*","*","int"],["sqlite3_errcode","int","sqlite3*"],["sqlite3_errmsg","string","sqlite3*"],["sqlite3_error_offset","int","sqlite3*"],["sqlite3_errstr","string","int"],["sqlite3_exec","int",["sqlite3*","string:flexible",new p.xWrap.FuncPtrAdapter({signature:"i(pipp)",bindScope:"transient",callProxy:(O)=>{let R;return(X,ee,U,J)=>{try{let pe=p.cArgvToJs(ee,U);if(!R)R=p.cArgvToJs(ee,J);return O(pe,R)|0}catch(pe){return pe.resultCode||d.SQLITE_ERROR}}}}),"*","**"]],["sqlite3_expanded_sql","string","sqlite3_stmt*"],["sqlite3_extended_errcode","int","sqlite3*"],["sqlite3_extended_result_codes","int","sqlite3*","int"],["sqlite3_file_control","int","sqlite3*","string","int","*"],["sqlite3_finalize","int","sqlite3_stmt*"],["sqlite3_free",void 0,"*"],["sqlite3_get_autocommit","int","sqlite3*"],["sqlite3_get_auxdata","*","sqlite3_context*","int"],["sqlite3_initialize",void 0],["sqlite3_interrupt",void 0,"sqlite3*"],["sqlite3_is_interrupted","int","sqlite3*"],["sqlite3_keyword_count","int"],["sqlite3_keyword_name","int",["int","**","*"]],["sqlite3_keyword_check","int",["string","int"]],["sqlite3_libversion","string"],["sqlite3_libversion_number","int"],["sqlite3_limit","int",["sqlite3*","int","int"]],["sqlite3_malloc","*","int"],["sqlite3_next_stmt","sqlite3_stmt*",["sqlite3*","sqlite3_stmt*"]],["sqlite3_open","int","string","*"],["sqlite3_open_v2","int","string","*","int","string"],["sqlite3_realloc","*","*","int"],["sqlite3_reset","int","sqlite3_stmt*"],["sqlite3_result_blob",void 0,"sqlite3_context*","*","int","*"],["sqlite3_result_double",void 0,"sqlite3_context*","f64"],["sqlite3_result_error",void 0,"sqlite3_context*","string","int"],["sqlite3_result_error_code",void 0,"sqlite3_context*","int"],["sqlite3_result_error_nomem",void 0,"sqlite3_context*"],["sqlite3_result_error_toobig",void 0,"sqlite3_context*"],["sqlite3_result_int",void 0,"sqlite3_context*","int"],["sqlite3_result_null",void 0,"sqlite3_context*"],["sqlite3_result_pointer",void 0,"sqlite3_context*","*","string:static","*"],["sqlite3_result_subtype",void 0,"sqlite3_value*","int"],["sqlite3_result_text",void 0,"sqlite3_context*","string","int","*"],["sqlite3_result_zeroblob",void 0,"sqlite3_context*","int"],["sqlite3_rollback_hook","void*",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"sqlite3_rollback_hook",signature:"v(p)",contextKey:(O)=>O[0]}),"*"]],["sqlite3_set_auxdata",void 0,["sqlite3_context*","int","*","*"]],["sqlite3_set_errmsg","int","sqlite3*","int","string"],["sqlite3_shutdown",void 0],["sqlite3_sourceid","string"],["sqlite3_sql","string","sqlite3_stmt*"],["sqlite3_status","int","int","*","*","int"],["sqlite3_step","int","sqlite3_stmt*"],["sqlite3_stmt_busy","int","sqlite3_stmt*"],["sqlite3_stmt_readonly","int","sqlite3_stmt*"],["sqlite3_stmt_status","int","sqlite3_stmt*","int","int"],["sqlite3_strglob","int","string","string"],["sqlite3_stricmp","int","string","string"],["sqlite3_strlike","int","string","string","int"],["sqlite3_strnicmp","int","string","string","int"],["sqlite3_table_column_metadata","int","sqlite3*","string","string","string","**","**","*","*","*"],["sqlite3_total_changes","int","sqlite3*"],["sqlite3_trace_v2","int",["sqlite3*","int",new p.xWrap.FuncPtrAdapter({name:"sqlite3_trace_v2::callback",signature:"i(ippp)",contextKey:(O,R)=>O[0]}),"*"]],["sqlite3_txn_state","int",["sqlite3*","string"]],["sqlite3_uri_boolean","int","sqlite3_filename","string","int"],["sqlite3_uri_key","string","sqlite3_filename","int"],["sqlite3_uri_parameter","string","sqlite3_filename","string"],["sqlite3_user_data","void*","sqlite3_context*"],["sqlite3_value_blob","*","sqlite3_value*"],["sqlite3_value_bytes","int","sqlite3_value*"],["sqlite3_value_double","f64","sqlite3_value*"],["sqlite3_value_dup","sqlite3_value*","sqlite3_value*"],["sqlite3_value_free",void 0,"sqlite3_value*"],["sqlite3_value_frombind","int","sqlite3_value*"],["sqlite3_value_int","int","sqlite3_value*"],["sqlite3_value_nochange","int","sqlite3_value*"],["sqlite3_value_numeric_type","int","sqlite3_value*"],["sqlite3_value_pointer","*","sqlite3_value*","string:static"],["sqlite3_value_subtype","int","sqlite3_value*"],["sqlite3_value_type","int","sqlite3_value*"],["sqlite3_vfs_find","*","string"],["sqlite3_vfs_register","int","sqlite3_vfs*","int"],["sqlite3_vfs_unregister","int","sqlite3_vfs*"]],int64:[["sqlite3_bind_int64","int",["sqlite3_stmt*","int","i64"]],["sqlite3_changes64","i64",["sqlite3*"]],["sqlite3_column_int64","i64",["sqlite3_stmt*","int"]],["sqlite3_deserialize","int","sqlite3*","string","*","i64","i64","int"],["sqlite3_last_insert_rowid","i64",["sqlite3*"]],["sqlite3_malloc64","*","i64"],["sqlite3_msize","i64","*"],["sqlite3_overload_function","int",["sqlite3*","string","int"]],["sqlite3_realloc64","*","*","i64"],["sqlite3_result_int64",void 0,"*","i64"],["sqlite3_result_zeroblob64","int","*","i64"],["sqlite3_serialize","*","sqlite3*","string","*","int"],["sqlite3_set_last_insert_rowid",void 0,["sqlite3*","i64"]],["sqlite3_status64","int","int","*","*","int"],["sqlite3_db_status64","int","sqlite3*","int","*","*","int"],["sqlite3_total_changes64","i64",["sqlite3*"]],["sqlite3_update_hook","*",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"sqlite3_update_hook::callback",signature:"v(pippj)",contextKey:(O)=>O[0],callProxy:(O)=>(R,X,ee,U,J)=>{O(R,X,p.cstrToJs(ee),p.cstrToJs(U),J)}}),"*"]],["sqlite3_uri_int64","i64",["sqlite3_filename","string","i64"]],["sqlite3_value_int64","i64","sqlite3_value*"]],wasmInternal:[["sqlite3__wasm_db_reset","int","sqlite3*"],["sqlite3__wasm_db_vfs","sqlite3_vfs*","sqlite3*","string"],["sqlite3__wasm_vfs_create_file","int","sqlite3_vfs*","string","*","int"],["sqlite3__wasm_posix_create_file","int","string","*","int"],["sqlite3__wasm_vfs_unlink","int","sqlite3_vfs*","string"],["sqlite3__wasm_qfmt_token","string:dealloc","string","int"]]};if(p.exports.sqlite3_progress_handler)b.core.push(["sqlite3_progress_handler",void 0,["sqlite3*","int",new p.xWrap.FuncPtrAdapter({name:"xProgressHandler",signature:"i(p)",bindScope:"context",contextKey:(O,R)=>O[0]}),"*"]]);if(p.exports.sqlite3_stmt_explain)b.core.push(["sqlite3_stmt_explain","int","sqlite3_stmt*","int"],["sqlite3_stmt_isexplain","int","sqlite3_stmt*"]);if(p.exports.sqlite3_set_authorizer)b.core.push(["sqlite3_set_authorizer","int",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"sqlite3_set_authorizer::xAuth",signature:"i(pissss)",contextKey:(O,R)=>O[0],callProxy:(O)=>(R,X,ee,U,J,pe)=>{try{return ee=ee&&p.cstrToJs(ee),U=U&&p.cstrToJs(U),J=J&&p.cstrToJs(J),pe=pe&&p.cstrToJs(pe),O(R,X,ee,U,J,pe)|0}catch(S){return S.resultCode||d.SQLITE_ERROR}}}),"*"]]);if(p.exports.sqlite3_column_origin_name)b.core.push(["sqlite3_column_database_name","string","sqlite3_stmt*","int"],["sqlite3_column_origin_name","string","sqlite3_stmt*","int"],["sqlite3_column_table_name","string","sqlite3_stmt*","int"]);if(p.bigIntEnabled&&!!p.exports.sqlite3_declare_vtab)b.int64.push(["sqlite3_create_module","int",["sqlite3*","string","sqlite3_module*","*"]],["sqlite3_create_module_v2","int",["sqlite3*","string","sqlite3_module*","*","*"]],["sqlite3_declare_vtab","int",["sqlite3*","string:flexible"]],["sqlite3_drop_modules","int",["sqlite3*","**"]],["sqlite3_vtab_collation","string","sqlite3_index_info*","int"],["sqlite3_vtab_distinct","int","sqlite3_index_info*"],["sqlite3_vtab_in","int","sqlite3_index_info*","int","int"],["sqlite3_vtab_in_first","int","sqlite3_value*","**"],["sqlite3_vtab_in_next","int","sqlite3_value*","**"],["sqlite3_vtab_nochange","int","sqlite3_context*"],["sqlite3_vtab_on_conflict","int","sqlite3*"],["sqlite3_vtab_rhs_value","int","sqlite3_index_info*","int","**"]);if(p.bigIntEnabled&&!!p.exports.sqlite3_preupdate_hook)b.int64.push(["sqlite3_preupdate_blobwrite","int","sqlite3*"],["sqlite3_preupdate_count","int","sqlite3*"],["sqlite3_preupdate_depth","int","sqlite3*"],["sqlite3_preupdate_hook","*",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"sqlite3_preupdate_hook",signature:"v(ppippjj)",contextKey:(O)=>O[0],callProxy:(O)=>(R,X,ee,U,J,pe,S)=>{O(R,X,ee,p.cstrToJs(U),p.cstrToJs(J),pe,S)}}),"*"]],["sqlite3_preupdate_new","int",["sqlite3*","int","**"]],["sqlite3_preupdate_old","int",["sqlite3*","int","**"]]);if(p.bigIntEnabled&&!!p.exports.sqlite3changegroup_add&&!!p.exports.sqlite3session_create&&!!p.exports.sqlite3_preupdate_hook){let O={signature:"i(ps)",callProxy:(R)=>(X,ee)=>{try{return R(X,p.cstrToJs(ee))|0}catch(U){return U.resultCode||d.SQLITE_ERROR}}};b.int64.push(["sqlite3changegroup_add","int",["sqlite3_changegroup*","int","void*"]],["sqlite3changegroup_add_strm","int",["sqlite3_changegroup*",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3changegroup_delete",void 0,["sqlite3_changegroup*"]],["sqlite3changegroup_new","int",["**"]],["sqlite3changegroup_output","int",["sqlite3_changegroup*","int*","**"]],["sqlite3changegroup_output_strm","int",["sqlite3_changegroup*",new p.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply","int",["sqlite3*","int","void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...O}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply_strm","int",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...O}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*"]],["sqlite3changeset_apply_v2","int",["sqlite3*","int","void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...O}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v2_strm","int",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",bindScope:"transient",...O}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v3","int",["sqlite3*","int","void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",signature:"i(pp)",bindScope:"transient"}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_apply_v3_strm","int",["sqlite3*",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xFilter",signature:"i(pp)",bindScope:"transient"}),new p.xWrap.FuncPtrAdapter({name:"xConflict",signature:"i(pip)",bindScope:"transient"}),"void*","**","int*","int"]],["sqlite3changeset_concat","int",["int","void*","int","void*","int*","**"]],["sqlite3changeset_concat_strm","int",[new p.xWrap.FuncPtrAdapter({name:"xInputA",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xInputB",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_conflict","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_finalize","int",["sqlite3_changeset_iter*"]],["sqlite3changeset_fk_conflicts","int",["sqlite3_changeset_iter*","int*"]],["sqlite3changeset_invert","int",["int","void*","int*","**"]],["sqlite3changeset_invert_strm","int",[new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*",new p.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppi)",bindScope:"transient"}),"void*"]],["sqlite3changeset_new","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_next","int",["sqlite3_changeset_iter*"]],["sqlite3changeset_old","int",["sqlite3_changeset_iter*","int","**"]],["sqlite3changeset_op","int",["sqlite3_changeset_iter*","**","int*","int*","int*"]],["sqlite3changeset_pk","int",["sqlite3_changeset_iter*","**","int*"]],["sqlite3changeset_start","int",["**","int","*"]],["sqlite3changeset_start_strm","int",["**",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3changeset_start_v2","int",["**","int","*","int"]],["sqlite3changeset_start_v2_strm","int",["**",new p.xWrap.FuncPtrAdapter({name:"xInput",signature:"i(ppp)",bindScope:"transient"}),"void*","int"]],["sqlite3session_attach","int",["sqlite3_session*","string"]],["sqlite3session_changeset","int",["sqlite3_session*","int*","**"]],["sqlite3session_changeset_size","i64",["sqlite3_session*"]],["sqlite3session_changeset_strm","int",["sqlite3_session*",new p.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3session_config","int",["int","void*"]],["sqlite3session_create","int",["sqlite3*","string","**"]],["sqlite3session_diff","int",["sqlite3_session*","string","string","**"]],["sqlite3session_enable","int",["sqlite3_session*","int"]],["sqlite3session_indirect","int",["sqlite3_session*","int"]],["sqlite3session_isempty","int",["sqlite3_session*"]],["sqlite3session_memory_used","i64",["sqlite3_session*"]],["sqlite3session_object_config","int",["sqlite3_session*","int","void*"]],["sqlite3session_patchset","int",["sqlite3_session*","*","**"]],["sqlite3session_patchset_strm","int",["sqlite3_session*",new p.xWrap.FuncPtrAdapter({name:"xOutput",signature:"i(ppp)",bindScope:"transient"}),"void*"]],["sqlite3session_table_filter",void 0,["sqlite3_session*",new p.xWrap.FuncPtrAdapter({name:"xFilter",...O,contextKey:(R,X)=>R[0]}),"*"]])}f.StructBinder=globalThis.Jaccwabyt({heap:p.heap8u,alloc:p.alloc,dealloc:p.dealloc,bigIntEnabled:p.bigIntEnabled,pointerIR:p.ptr.ir,memberPrefix:"$"}),delete globalThis.Jaccwabyt;{let O=p.xWrap.argAdapter("string");p.xWrap.argAdapter("string:flexible",(U)=>O(E.flexibleString(U))),p.xWrap.argAdapter("string:static",function(U){if(p.isPtr(U))return U;return U=""+U,this[U]||(this[U]=p.allocCString(U))}.bind(Object.create(null)));let R=p.xWrap.argAdapter("*"),X=function(){};if(p.xWrap.argAdapter("sqlite3_filename",R)("sqlite3_context*",R)("sqlite3_value*",R)("void*",R)("sqlite3_changegroup*",R)("sqlite3_changeset_iter*",R)("sqlite3_session*",R)("sqlite3_stmt*",(U)=>R(U instanceof(f?.oo1?.Stmt||X)?U.pointer:U))("sqlite3*",(U)=>R(U instanceof(f?.oo1?.DB||X)?U.pointer:U))("sqlite3_vfs*",(U)=>{if(typeof U==="string")return d.sqlite3_vfs_find(U)||f.SQLite3Error.toss(d.SQLITE_NOTFOUND,"Unknown sqlite3_vfs name:",U);return R(U instanceof(d.sqlite3_vfs||X)?U.pointer:U)}),p.exports.sqlite3_declare_vtab)p.xWrap.argAdapter("sqlite3_index_info*",(U)=>R(U instanceof(d.sqlite3_index_info||X)?U.pointer:U))("sqlite3_module*",(U)=>R(U instanceof(d.sqlite3_module||X)?U.pointer:U));let ee=p.xWrap.resultAdapter("*");p.xWrap.resultAdapter("sqlite3*",ee)("sqlite3_context*",ee)("sqlite3_stmt*",ee)("sqlite3_value*",ee)("sqlite3_vfs*",ee)("void*",ee);for(let U of b.core)d[U[0]]=p.xWrap.apply(null,U);for(let U of b.wasmInternal)E[U[0]]=p.xWrap.apply(null,U);for(let U of b.int64)d[U[0]]=p.bigIntEnabled?p.xWrap.apply(null,U):()=>c(U[0]+"() is unavailable due to lack","of BigInt support in this build.");delete b.core,delete b.int64,delete b.wasmInternal,E.sqlite3__wasm_db_error=function(U,J,pe){if(!U)return d.SQLITE_MISUSE;if(J instanceof f.WasmAllocError)J=d.SQLITE_NOMEM,pe=0;else if(J instanceof Error)pe=pe||""+J,J=J.resultCode||d.SQLITE_ERROR;return d.sqlite3_set_errmsg(U,J,pe)||J}}{let O=p.xCall("sqlite3__wasm_enum_json");if(!O)c("Maintenance required: increase sqlite3__wasm_enum_json()'s","static buffer size!");p.ctype=JSON.parse(p.cstrToJs(O));let R=["access","authorizer","blobFinalizers","changeset","config","dataTypes","dbConfig","dbStatus","encodings","fcntl","flock","ioCap","limits","openFlags","prepareFlags","resultCodes","sqlite3Status","stmtStatus","syncFlags","trace","txnState","udfFlags","version"];if(p.bigIntEnabled)R.push("serialize","session","vtab");for(let U of R)for(let J of Object.entries(p.ctype[U]))d[J[0]]=J[1];if(!p.functionEntry(d.SQLITE_WASM_DEALLOC))c("Internal error: cannot resolve exported function","entry SQLITE_WASM_DEALLOC (=="+d.SQLITE_WASM_DEALLOC+").");let X=Object.create(null);for(let U of Object.entries(p.ctype.resultCodes))X[U[1]]=U[0];d.sqlite3_js_rc_str=(U)=>X[U];let ee=Object.assign(Object.create(null),{WasmTestStruct:!0,sqlite3_index_info:!p.bigIntEnabled,sqlite3_index_constraint:!p.bigIntEnabled,sqlite3_index_orderby:!p.bigIntEnabled,sqlite3_index_constraint_usage:!p.bigIntEnabled});for(let U of p.ctype.structs)if(!ee[U.name])d[U.name]=f.StructBinder(U);if(d.sqlite3_index_info){for(let U of["sqlite3_index_constraint","sqlite3_index_orderby","sqlite3_index_constraint_usage"])d.sqlite3_index_info[U]=d[U],delete d[U];d.sqlite3_vtab_config=p.xWrap("sqlite3__wasm_vtab_config","int",["sqlite3*","int","int"])}}let I=(O,R,X)=>E.sqlite3__wasm_db_error(O,d.SQLITE_MISUSE,R+"() requires "+X+" argument"+(X===1?"":"s")+"."),V=(O)=>E.sqlite3__wasm_db_error(O,d.SQLITE_FORMAT,"SQLITE_UTF8 is the only supported encoding."),M=(O)=>p.xWrap.argAdapter("sqlite3*")(O),N=(O)=>p.isPtr(O)?p.cstrToJs(O):O,q=function(O,R){O=M(O);let X=this.dbMap.get(O);if(!R)return this.dbMap.delete(O),X;else if(!X&&R>0)this.dbMap.set(O,X=Object.create(null));return X}.bind(Object.assign(Object.create(null),{dbMap:new Map}));if(q.addCollation=function(O,R){let X=q(O,1);if(!X.collation)X.collation=new Set;X.collation.add(N(R).toLowerCase())},q._addUDF=function(O,R,X,ee){R=N(R).toLowerCase();let U=ee.get(R);if(!U)ee.set(R,U=new Set);U.add(X<0?-1:X)},q.addFunction=function(O,R,X){let ee=q(O,1);if(!ee.udf)ee.udf=new Map;this._addUDF(O,R,X,ee.udf)},p.exports.sqlite3_create_window_function)q.addWindowFunc=function(O,R,X){let ee=q(O,1);if(!ee.wudf)ee.wudf=new Map;this._addUDF(O,R,X,ee.wudf)};q.cleanup=function(O){O=M(O);for(let ee of[["sqlite3_busy_handler",3],["sqlite3_commit_hook",3],["sqlite3_preupdate_hook",3],["sqlite3_progress_handler",4],["sqlite3_rollback_hook",3],["sqlite3_set_authorizer",3],["sqlite3_trace_v2",4],["sqlite3_update_hook",3]]){let[U,J]=ee;if(!p.exports[U])continue;let pe=[O];pe.length=J;try{d[U](...pe)}catch(S){f.config.warn("close-time call of",U+"(",pe,") threw:",S)}}let R=q(O,0);if(!R)return;if(R.collation){for(let ee of R.collation)try{d.sqlite3_create_collation_v2(O,ee,d.SQLITE_UTF8,0,0,0)}catch(U){}delete R.collation}let X;for(X=0;X<2;++X){let ee=X?R.wudf:R.udf;if(!ee)continue;let U=X?d.sqlite3_create_window_function:d.sqlite3_create_function_v2;for(let J of ee){let pe=J[0],S=J[1],P=[O,pe,0,d.SQLITE_UTF8,0,0,0,0,0];if(X)P.push(0);for(let K of S)try{P[2]=K,U.apply(null,P)}catch(oe){}S.clear()}ee.clear()}delete R.udf,delete R.wudf};{let O=p.xWrap("sqlite3_close_v2","int","sqlite3*");d.sqlite3_close_v2=function(R){if(arguments.length!==1)return I(R,"sqlite3_close_v2",1);if(R)try{q.cleanup(R)}catch(X){}return O(R)}}if(d.sqlite3session_create){let O=p.xWrap("sqlite3session_delete",void 0,["sqlite3_session*"]);d.sqlite3session_delete=function(R){if(arguments.length!==1)return I(pDb,"sqlite3session_delete",1);else if(R)d.sqlite3session_table_filter(R,0,0);O(R)}}{let O=(X,ee)=>"argv["+ee+"]:"+X[0]+":"+p.cstrToJs(X[1]).toLowerCase(),R=p.xWrap("sqlite3_create_collation_v2","int",["sqlite3*","string","int","*",new p.xWrap.FuncPtrAdapter({name:"xCompare",signature:"i(pipip)",contextKey:O}),new p.xWrap.FuncPtrAdapter({name:"xDestroy",signature:"v(p)",contextKey:O})]);d.sqlite3_create_collation_v2=function(X,ee,U,J,pe,S){if(arguments.length!==6)return I(X,"sqlite3_create_collation_v2",6);else if((U&15)===0)U|=d.SQLITE_UTF8;else if(d.SQLITE_UTF8!==(U&15))return V(X);try{let P=R(X,ee,U,J,pe,S);if(P===0&&pe instanceof Function)q.addCollation(X,ee);return P}catch(P){return E.sqlite3__wasm_db_error(X,P)}},d.sqlite3_create_collation=(X,ee,U,J,pe)=>arguments.length===5?d.sqlite3_create_collation_v2(X,ee,U,J,pe,0):I(X,"sqlite3_create_collation",5)}{let O=function(U,J){return U[0]+":"+(U[2]<0?-1:U[2])+":"+J+":"+p.cstrToJs(U[1]).toLowerCase()},R=Object.assign(Object.create(null),{xInverseAndStep:{signature:"v(pip)",contextKey:O,callProxy:(U)=>(J,pe,S)=>{try{U(J,...d.sqlite3_values_to_js(pe,S))}catch(P){d.sqlite3_result_error_js(J,P)}}},xFinalAndValue:{signature:"v(p)",contextKey:O,callProxy:(U)=>(J)=>{try{d.sqlite3_result_js(J,U(J))}catch(pe){d.sqlite3_result_error_js(J,pe)}}},xFunc:{signature:"v(pip)",contextKey:O,callProxy:(U)=>(J,pe,S)=>{try{d.sqlite3_result_js(J,U(J,...d.sqlite3_values_to_js(pe,S)))}catch(P){d.sqlite3_result_error_js(J,P)}}},xDestroy:{signature:"v(p)",contextKey:O,callProxy:(U)=>(J)=>{try{U(J)}catch(pe){console.error("UDF xDestroy method threw:",pe)}}}}),X=p.xWrap("sqlite3_create_function_v2","int",["sqlite3*","string","int","int","*",new p.xWrap.FuncPtrAdapter({name:"xFunc",...R.xFunc}),new p.xWrap.FuncPtrAdapter({name:"xStep",...R.xInverseAndStep}),new p.xWrap.FuncPtrAdapter({name:"xFinal",...R.xFinalAndValue}),new p.xWrap.FuncPtrAdapter({name:"xDestroy",...R.xDestroy})]),ee=p.exports.sqlite3_create_window_function?p.xWrap("sqlite3_create_window_function","int",["sqlite3*","string","int","int","*",new p.xWrap.FuncPtrAdapter({name:"xStep",...R.xInverseAndStep}),new p.xWrap.FuncPtrAdapter({name:"xFinal",...R.xFinalAndValue}),new p.xWrap.FuncPtrAdapter({name:"xValue",...R.xFinalAndValue}),new p.xWrap.FuncPtrAdapter({name:"xInverse",...R.xInverseAndStep}),new p.xWrap.FuncPtrAdapter({name:"xDestroy",...R.xDestroy})]):void 0;if(d.sqlite3_create_function_v2=function U(J,pe,S,P,K,oe,W,he,be){if(U.length!==arguments.length)return I(J,"sqlite3_create_function_v2",U.length);else if((P&15)===0)P|=d.SQLITE_UTF8;else if(d.SQLITE_UTF8!==(P&15))return V(J);try{let me=X(J,pe,S,P,K,oe,W,he,be);if(me===0&&(oe instanceof Function||W instanceof Function||he instanceof Function||be instanceof Function))q.addFunction(J,pe,S);return me}catch(me){return console.error("sqlite3_create_function_v2() setup threw:",me),E.sqlite3__wasm_db_error(J,me,"Creation of UDF threw: "+me)}},d.sqlite3_create_function=function U(J,pe,S,P,K,oe,W,he){return U.length===arguments.length?d.sqlite3_create_function_v2(J,pe,S,P,K,oe,W,he,0):I(J,"sqlite3_create_function",U.length)},ee)d.sqlite3_create_window_function=function U(J,pe,S,P,K,oe,W,he,be,me){if(U.length!==arguments.length)return I(J,"sqlite3_create_window_function",U.length);else if((P&15)===0)P|=d.SQLITE_UTF8;else if(d.SQLITE_UTF8!==(P&15))return V(J);try{let ve=ee(J,pe,S,P,K,oe,W,he,be,me);if(ve===0&&(oe instanceof Function||W instanceof Function||he instanceof Function||be instanceof Function||me instanceof Function))q.addWindowFunc(J,pe,S);return ve}catch(ve){return console.error("sqlite3_create_window_function() setup threw:",ve),E.sqlite3__wasm_db_error(J,ve,"Creation of UDF threw: "+ve)}};else delete d.sqlite3_create_window_function;if(d.sqlite3_create_function_v2.udfSetResult=d.sqlite3_create_function.udfSetResult=d.sqlite3_result_js,d.sqlite3_create_window_function)d.sqlite3_create_window_function.udfSetResult=d.sqlite3_result_js;if(d.sqlite3_create_function_v2.udfConvertArgs=d.sqlite3_create_function.udfConvertArgs=d.sqlite3_values_to_js,d.sqlite3_create_window_function)d.sqlite3_create_window_function.udfConvertArgs=d.sqlite3_values_to_js;if(d.sqlite3_create_function_v2.udfSetError=d.sqlite3_create_function.udfSetError=d.sqlite3_result_error_js,d.sqlite3_create_window_function)d.sqlite3_create_window_function.udfSetError=d.sqlite3_result_error_js}{let O=(X,ee)=>{if(typeof X==="string")ee=-1;else if(E.isSQLableTypedArray(X))ee=X.byteLength,X=p.typedArrayToString(X instanceof ArrayBuffer?new Uint8Array(X):X);else if(Array.isArray(X))X=X.join(""),ee=-1;return[X,ee]},R={basic:p.xWrap("sqlite3_prepare_v3","int",["sqlite3*","string","int","int","**","**"]),full:p.xWrap("sqlite3_prepare_v3","int",["sqlite3*","*","int","int","**","**"])};d.sqlite3_prepare_v3=function X(ee,U,J,pe,S,P){if(X.length!==arguments.length)return I(ee,"sqlite3_prepare_v3",X.length);let[K,oe]=O(U,Number(J));switch(typeof K){case"string":return R.basic(ee,K,oe,pe,S,null);case typeof p.ptr.null:return R.full(ee,p.ptr.coerce(K),oe,pe,S,P);default:return E.sqlite3__wasm_db_error(ee,d.SQLITE_MISUSE,"Invalid SQL argument type for sqlite3_prepare_v2/v3(). typeof="+typeof K)}},d.sqlite3_prepare_v2=function X(ee,U,J,pe,S){return X.length===arguments.length?d.sqlite3_prepare_v3(ee,U,J,0,pe,S):I(ee,"sqlite3_prepare_v2",X.length)}}{let O=p.xWrap("sqlite3_bind_text","int",["sqlite3_stmt*","int","string","int","*"]),R=p.xWrap("sqlite3_bind_blob","int",["sqlite3_stmt*","int","*","int","*"]);d.sqlite3_bind_text=function X(ee,U,J,pe,S){if(X.length!==arguments.length)return I(d.sqlite3_db_handle(ee),"sqlite3_bind_text",X.length);else if(p.isPtr(J)||J===null)return O(ee,U,J,pe,S);else if(J instanceof ArrayBuffer)J=new Uint8Array(J);else if(Array.isArray(pMem))J=pMem.join("");let P,K;try{if(E.isSQLableTypedArray(J))P=p.allocFromTypedArray(J),K=J.byteLength;else if(typeof J==="string")[P,K]=p.allocCString(J);else return E.sqlite3__wasm_db_error(d.sqlite3_db_handle(ee),d.SQLITE_MISUSE,"Invalid 3rd argument type for sqlite3_bind_text().");return O(ee,U,P,K,d.SQLITE_WASM_DEALLOC)}catch(oe){return p.dealloc(P),E.sqlite3__wasm_db_error(d.sqlite3_db_handle(ee),oe)}},d.sqlite3_bind_blob=function X(ee,U,J,pe,S){if(X.length!==arguments.length)return I(d.sqlite3_db_handle(ee),"sqlite3_bind_blob",X.length);else if(p.isPtr(J)||J===null)return R(ee,U,J,pe,S);else if(J instanceof ArrayBuffer)J=new Uint8Array(J);else if(Array.isArray(J))J=J.join("");let P,K;try{if(E.isBindableTypedArray(J))P=p.allocFromTypedArray(J),K=pe>=0?pe:J.byteLength;else if(typeof J==="string")[P,K]=p.allocCString(J);else return E.sqlite3__wasm_db_error(d.sqlite3_db_handle(ee),d.SQLITE_MISUSE,"Invalid 3rd argument type for sqlite3_bind_blob().");return R(ee,U,P,K,d.SQLITE_WASM_DEALLOC)}catch(oe){return p.dealloc(P),E.sqlite3__wasm_db_error(d.sqlite3_db_handle(ee),oe)}}}if(!d.sqlite3_column_text){let O=p.xWrap.argAdapter("sqlite3_stmt*"),R=p.xWrap.argAdapter("int"),X=p.xWrap.argAdapter("sqlite3_value*"),ee=(U,J)=>p.typedArrayToString(p.heap8u(),Number(U),Number(U)+J);d.sqlite3_column_text=function(U,J){let pe=O(U),S=R(J),P=p.exports.sqlite3_column_text(pe,S);return P?ee(P,p.exports.sqlite3_column_bytes(pe,S)):null},d.sqlite3_value_text=function(U){let J=X(U),pe=p.exports.sqlite3_value_text(J);return pe?ee(pe,p.exports.sqlite3_value_bytes(J)):null}}d.sqlite3_config=function(O,...R){if(arguments.length<2)return d.SQLITE_MISUSE;switch(O){case d.SQLITE_CONFIG_COVERING_INDEX_SCAN:case d.SQLITE_CONFIG_MEMSTATUS:case d.SQLITE_CONFIG_SMALL_MALLOC:case d.SQLITE_CONFIG_SORTERREF_SIZE:case d.SQLITE_CONFIG_STMTJRNL_SPILL:case d.SQLITE_CONFIG_URI:return p.exports.sqlite3__wasm_config_i(O,R[0]);case d.SQLITE_CONFIG_LOOKASIDE:return p.exports.sqlite3__wasm_config_ii(O,R[0],R[1]);case d.SQLITE_CONFIG_MEMDB_MAXSIZE:return p.exports.sqlite3__wasm_config_j(O,R[0]);case d.SQLITE_CONFIG_GETMALLOC:case d.SQLITE_CONFIG_GETMUTEX:case d.SQLITE_CONFIG_GETPCACHE2:case d.SQLITE_CONFIG_GETPCACHE:case d.SQLITE_CONFIG_HEAP:case d.SQLITE_CONFIG_LOG:case d.SQLITE_CONFIG_MALLOC:case d.SQLITE_CONFIG_MMAP_SIZE:case d.SQLITE_CONFIG_MULTITHREAD:case d.SQLITE_CONFIG_MUTEX:case d.SQLITE_CONFIG_PAGECACHE:case d.SQLITE_CONFIG_PCACHE2:case d.SQLITE_CONFIG_PCACHE:case d.SQLITE_CONFIG_PCACHE_HDRSZ:case d.SQLITE_CONFIG_PMASZ:case d.SQLITE_CONFIG_SERIALIZED:case d.SQLITE_CONFIG_SINGLETHREAD:case d.SQLITE_CONFIG_SQLLOG:case d.SQLITE_CONFIG_WIN32_HEAPSIZE:default:return d.SQLITE_NOTFOUND}};{let O=new Set;d.sqlite3_auto_extension=function(R){if(R instanceof Function)R=p.installFunction("i(ppp)",R);else if(arguments.length!==1||!p.isPtr(R))return d.SQLITE_MISUSE;let X=p.exports.sqlite3_auto_extension(R);if(R!==arguments[0])if(X===0)O.add(R);else p.uninstallFunction(R);return X},d.sqlite3_cancel_auto_extension=function(R){if(!R||arguments.length!==1||!p.isPtr(R))return 0;return p.exports.sqlite3_cancel_auto_extension(R)},d.sqlite3_reset_auto_extension=function(){p.exports.sqlite3_reset_auto_extension();for(let R of O)p.uninstallFunction(R);O.clear()}}p.xWrap.FuncPtrAdapter.warnOnUse=!0;let H=f.StructBinder,G=function O(R,X,ee,U=O.installMethodArgcCheck){if(!(R instanceof H.StructType))c("Usage error: target object is-not-a StructType.");else if(!(ee instanceof Function)&&!p.isPtr(ee))c("Usage error: expecting a Function or WASM pointer to one.");if(arguments.length===1)return(P,K)=>O(R,P,K,U);if(!O.argcProxy)O.argcProxy=function(P,K,oe,W){return function(...he){if(oe.length!==arguments.length)c("Argument mismatch for",P.structInfo.name+"::"+K+": Native signature is:",W);return oe.apply(this,he)}},O.removeFuncList=function(){if(this.ondispose.__removeFuncList)this.ondispose.__removeFuncList.forEach((P,K)=>{if(p.isPtr(P))try{p.uninstallFunction(P)}catch(oe){}}),delete this.ondispose.__removeFuncList};let J=R.memberSignature(X);if(J.length<2)c("Member",X,"does not have a function pointer signature:",J);let pe=R.memberKey(X),S=U&&!p.isPtr(ee)?O.argcProxy(R,pe,ee,J):ee;if(p.isPtr(S)){if(S&&!p.functionEntry(S))c("Pointer",S,"is not a WASM function table entry.");R[pe]=S}else{let P=p.installFunction(S,J);if(R[pe]=P,!R.ondispose||!R.ondispose.__removeFuncList)R.addOnDispose("ondispose.__removeFuncList handler",O.removeFuncList),R.ondispose.__removeFuncList=[];R.ondispose.__removeFuncList.push(pe,P)}return(P,K)=>O(R,P,K,U)};G.installMethodArgcCheck=!1;let le=function(O,R,X=G.installMethodArgcCheck){let ee=new Map;for(let U of Object.keys(R)){let J=R[U],pe=ee.get(J);if(pe){let S=O.memberKey(U);O[S]=O[O.memberKey(pe)]}else G(O,U,J,X),ee.set(J,U)}return O};H.StructType.prototype.installMethod=function(R,X,ee=G.installMethodArgcCheck){return arguments.length<3&&R&&typeof R==="object"?le(this,...arguments):G(this,...arguments)},H.StructType.prototype.installMethods=function(O,R=G.installMethodArgcCheck){return le(this,O,R)}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){let c=(...z)=>{throw new f.SQLite3Error(...z)},{capi:d,wasm:p,util:E}=f,b=function(z){return(...g)=>z("sqlite3.oo1:",...g)};f.__isUnderTest?b(console.debug.bind(console)):b(f.config.debug),f.__isUnderTest?b(console.warn.bind(console)):b(f.config.warn),f.__isUnderTest?b(console.error.bind(console)):b(f.config.error);let I=new WeakMap,V=new Set,M=new WeakMap,N=(z,g,w)=>{let T=Object.getOwnPropertyDescriptor(z,g);return T?T.value:w},q=function(z,g){if(g){if(z instanceof O)z=z.pointer;c(g,"sqlite3 result code",g+":",z?d.sqlite3_errmsg(z):d.sqlite3_errstr(g))}return arguments[0]},H=p.installFunction("i(ippp)",function(z,g,w,T){if(d.SQLITE_TRACE_STMT===z)console.log("SQL TRACE #"+ ++this.counter,"via sqlite3@"+g+"["+d.sqlite3_db_filename(g,null)+"]",p.cstrToJs(T))}.bind({counter:0})),G=Object.create(null),le=function z(...g){let w=z.normalizeArgs(...g),T;if(T=w["sqlite3*"]){if(!w["sqlite3*:takeOwnership"])V.add(this);this.filename=d.sqlite3_db_filename(T,"main")}else{let{filename:C,vfs:te,flags:se}=w;if(typeof C!=="string"&&!p.isPtr(C)||typeof se!=="string"||te&&typeof te!=="string"&&!p.isPtr(te))f.config.error("Invalid DB ctor args",w,arguments),c("Invalid arguments for DB constructor:",arguments,"opts:",w);let A=0;if(se.indexOf("c")>=0)A|=d.SQLITE_OPEN_CREATE|d.SQLITE_OPEN_READWRITE;if(se.indexOf("w")>=0)A|=d.SQLITE_OPEN_READWRITE;if(A===0)A|=d.SQLITE_OPEN_READONLY;A|=d.SQLITE_OPEN_EXRESCODE;let L=p.pstack.pointer;try{let Q=p.pstack.allocPtr(),ne=d.sqlite3_open_v2(C,Q,A,te||p.ptr.null);if(T=p.peekPtr(Q),q(T,ne),d.sqlite3_extended_result_codes(T,1),se.indexOf("t")>=0)d.sqlite3_trace_v2(T,d.SQLITE_TRACE_STMT,H,T)}catch(Q){if(T)d.sqlite3_close_v2(T);throw Q}finally{p.pstack.restore(L)}this.filename=p.isPtr(C)?p.cstrToJs(C):C}if(I.set(this,T),M.set(this,Object.create(null)),!w["sqlite3*"])try{let C=G[d.sqlite3_js_db_vfs(T)||c("Internal error: cannot get VFS for new db handle.")];if(C)if(C instanceof Function)C(this,f);else q(T,d.sqlite3_exec(T,C,0,0,0))}catch(C){throw this.close(),C}};le.setVfsPostOpenCallback=function(z,g){if(!(g instanceof Function))c("dbCtorHelper.setVfsPostOpenCallback() should not be used with a non-function argument.",arguments);G[z]=g},le.normalizeArgs=function(z=":memory:",g="c",w=null){let T={};if(arguments.length===1&&arguments[0]&&typeof arguments[0]==="object"){if(Object.assign(T,arguments[0]),T.flags===void 0)T.flags="c";if(T.vfs===void 0)T.vfs=null;if(T.filename===void 0)T.filename=":memory:"}else T.filename=z,T.flags=g,T.vfs=w;return T};let O=function(...z){le.apply(this,z)};O.dbCtorHelper=le;let R={null:1,number:2,string:3,boolean:4,blob:5};if(p.bigIntEnabled)R.bigint=R.number;let X=function(){if(R!==arguments[2])c(d.SQLITE_MISUSE,"Do not call the Stmt constructor directly. Use DB.prepare().");if(this.db=arguments[0],I.set(this,arguments[1]),arguments.length>3&&!arguments[3])V.add(this)},ee=function(z){if(!z.pointer)c("DB has been closed.");return z},U=function(z,g){if(g!==(g|0)||g<0||g>=z.columnCount)c("Column index",g,"is out of range.");return z},J=function(z,g){let w=Object.create(null);switch(w.opt=Object.create(null),g.length){case 1:if(typeof g[0]==="string"||E.isSQLableTypedArray(g[0]))w.sql=g[0];else if(Array.isArray(g[0]))w.sql=g[0];else if(g[0]&&typeof g[0]==="object")w.opt=g[0],w.sql=w.opt.sql;break;case 2:w.sql=g[0],w.opt=g[1];break;default:c("Invalid argument count for exec().")}if(w.sql=E.flexibleString(w.sql),typeof w.sql!=="string")c("Missing SQL argument or unsupported SQL value type.");let T=w.opt;switch(T.returnValue){case"resultRows":if(!T.resultRows)T.resultRows=[];w.returnVal=()=>T.resultRows;break;case"saveSql":if(!T.saveSql)T.saveSql=[];w.returnVal=()=>T.saveSql;break;case void 0:case"this":w.returnVal=()=>z;break;default:c("Invalid returnValue value:",T.returnValue)}if(!T.callback&&!T.returnValue&&T.rowMode!==void 0){if(!T.resultRows)T.resultRows=[];w.returnVal=()=>T.resultRows}if(T.callback||T.resultRows)switch(T.rowMode===void 0?"array":T.rowMode){case"object":w.cbArg=(C,te)=>{if(!te.columnNames)te.columnNames=C.getColumnNames([]);let se=C.get([]),A=Object.create(null);for(let L in te.columnNames)A[te.columnNames[L]]=se[L];return A};break;case"array":w.cbArg=(C)=>C.get([]);break;case"stmt":if(Array.isArray(T.resultRows))c("exec(): invalid rowMode for a resultRows array: must","be one of 'array', 'object',","a result column number, or column name reference.");w.cbArg=(C)=>C;break;default:if(E.isInt32(T.rowMode)){w.cbArg=(C)=>C.get(T.rowMode);break}else if(typeof T.rowMode==="string"&&T.rowMode.length>1&&T.rowMode[0]==="$"){let C=T.rowMode.substr(1);w.cbArg=(te)=>{let se=te.get(Object.create(null))[C];return se===void 0?c(d.SQLITE_NOTFOUND,"exec(): unknown result column:",C):se};break}c("Invalid rowMode:",T.rowMode)}return w},pe=(z,g,w,...T)=>{let C=z.prepare(g);try{let te=C.bind(w).step()?C.get(...T):void 0;return C.reset(),te}finally{C.finalize()}},S=(z,g,w,T)=>z.exec({sql:g,bind:w,rowMode:T,returnValue:"resultRows"});O.checkRc=(z,g)=>q(z,g),O.prototype={isOpen:function(){return!!this.pointer},affirmOpen:function(){return ee(this)},close:function(){let z=this.pointer;if(z){if(this.onclose&&this.onclose.before instanceof Function)try{this.onclose.before(this)}catch(g){}if(Object.keys(M.get(this)).forEach((g,w)=>{if(w&&w.pointer)try{w.finalize()}catch(T){}}),I.delete(this),M.delete(this),!V.delete(this))d.sqlite3_close_v2(z);if(this.onclose&&this.onclose.after instanceof Function)try{this.onclose.after(this)}catch(g){}delete this.filename}},changes:function(z=!1,g=!1){let w=ee(this).pointer;if(z)return g?d.sqlite3_total_changes64(w):d.sqlite3_total_changes(w);else return g?d.sqlite3_changes64(w):d.sqlite3_changes(w)},dbFilename:function(z="main"){return d.sqlite3_db_filename(ee(this).pointer,z)},dbName:function(z=0){return d.sqlite3_db_name(ee(this).pointer,z)},dbVfsName:function(z=0){let g,w=d.sqlite3_js_db_vfs(ee(this).pointer,z);if(w){let T=new d.sqlite3_vfs(w);try{g=p.cstrToJs(T.$zName)}finally{T.dispose()}}return g},prepare:function(z){ee(this);let g=p.pstack.pointer,w,T;try{w=p.pstack.alloc(8),O.checkRc(this,d.sqlite3_prepare_v2(this.pointer,z,-1,w,null)),T=p.peekPtr(w)}finally{p.pstack.restore(g)}if(!T)c("Cannot prepare empty SQL.");let C=new X(this,T,R);return M.get(this)[T]=C,C},exec:function(){ee(this);let z=J(this,arguments);if(!z.sql)return c("exec() requires an SQL string.");let g=z.opt,w=g.callback,T=Array.isArray(g.resultRows)?g.resultRows:void 0,C,te=g.bind,se=!!(z.cbArg||g.columnNames||T),A=p.scopedAllocPush(),L=Array.isArray(g.saveSql)?g.saveSql:void 0;try{let Q=E.isSQLableTypedArray(z.sql),ne=Q?z.sql.byteLength:p.jstrlen(z.sql),ye=p.scopedAlloc(2*p.ptr.size+(ne+1)),Te=p.ptr.add(ye,p.ptr.size),Ie=p.ptr.add(Te,p.ptr.size),qe=p.ptr.add(Ie,ne);if(Q)p.heap8().set(z.sql,Ie);else p.jstrcpy(z.sql,p.heap8(),Ie,ne,!1);p.poke8(p.ptr.add(Ie,ne),0);while(Ie&&p.peek8(Ie)){p.pokePtr([ye,Te],0),O.checkRc(this,d.sqlite3_prepare_v3(this.pointer,Ie,ne,0,ye,Te));let Ge=p.peekPtr(ye);if(Ie=p.peekPtr(Te),ne=Number(p.ptr.add(qe,-Ie)),!Ge)continue;if(L)L.push(d.sqlite3_sql(Ge).trim());if(C=new X(this,Ge,R),te&&C.parameterCount)C.bind(te),te=null;if(se&&C.columnCount){let ct=Array.isArray(g.columnNames)?0:1;if(se=!1,z.cbArg||T){let zt=Object.create(null);for(;C.step();he.delete(C)){if(ct++===0)C.getColumnNames(zt.columnNames=g.columnNames||[]);he.add(C);let Ir=z.cbArg(C,zt);if(T)T.push(Ir);if(w&&w.call(g,Ir,C)===!1)break}he.delete(C)}if(ct===0)C.getColumnNames(g.columnNames)}else C.step();C.reset().finalize(),C=null}}finally{if(C)he.delete(C),C.finalize();p.scopedAllocPop(A)}return z.returnVal()},createFunction:function(g,w,T){let C=(zt)=>zt instanceof Function;switch(arguments.length){case 1:T=g,g=T.name,w=T.xFunc||0;break;case 2:if(!C(w))T=w,w=T.xFunc||0;break;case 3:break;default:break}if(!T)T={};if(typeof g!=="string")c("Invalid arguments: missing function name.");let te=T.xStep||0,se=T.xFinal||0,A=T.xValue||0,L=T.xInverse||0,Q=void 0;if(C(w)){if(Q=!1,C(te)||C(se))c("Ambiguous arguments: scalar or aggregate?");te=se=null}else if(C(te)){if(!C(se))c("Missing xFinal() callback for aggregate or window UDF.");w=null}else if(C(se))c("Missing xStep() callback for aggregate or window UDF.");else c("Missing function-type properties.");if(Q===!1){if(C(A)||C(L))c("xValue and xInverse are not permitted for non-window UDFs.")}else if(C(A)){if(!C(L))c("xInverse must be provided if xValue is.");Q=!0}else if(C(L))c("xValue must be provided if xInverse is.");let ne=T.pApp;if(ne!==void 0&&ne!==null&&!p.isPtr(ne))c("Invalid value for pApp property. Must be a legal WASM pointer value.");let ye=T.xDestroy||0;if(ye&&!C(ye))c("xDestroy property must be a function.");let Te=0;if(N(T,"deterministic"))Te|=d.SQLITE_DETERMINISTIC;if(N(T,"directOnly"))Te|=d.SQLITE_DIRECTONLY;if(N(T,"innocuous"))Te|=d.SQLITE_INNOCUOUS;g=g.toLowerCase();let Ie=w||te,qe=N(T,"arity"),Ge=typeof qe==="number"?qe:Ie.length?Ie.length-1:0,ct;if(Q)ct=d.sqlite3_create_window_function(this.pointer,g,Ge,d.SQLITE_UTF8|Te,ne||0,te,se,A,L,ye);else ct=d.sqlite3_create_function_v2(this.pointer,g,Ge,d.SQLITE_UTF8|Te,ne||0,w,te,se,ye);return O.checkRc(this,ct),this},selectValue:function(z,g,w){return pe(this,z,g,0,w)},selectValues:function(z,g,w){let T=this.prepare(z),C=[];try{T.bind(g);while(T.step())C.push(T.get(0,w));T.reset()}finally{T.finalize()}return C},selectArray:function(z,g){return pe(this,z,g,[])},selectObject:function(z,g){return pe(this,z,g,{})},selectArrays:function(z,g){return S(this,z,g,"array")},selectObjects:function(z,g){return S(this,z,g,"object")},openStatementCount:function(){return this.pointer?Object.keys(M.get(this)).length:0},transaction:function(z){let g="BEGIN";if(arguments.length>1){if(/[^a-zA-Z]/.test(arguments[0]))c(d.SQLITE_MISUSE,"Invalid argument for BEGIN qualifier.");g+=" "+arguments[0],z=arguments[1]}ee(this).exec(g);try{let w=z(this);return this.exec("COMMIT"),w}catch(w){throw this.exec("ROLLBACK"),w}},savepoint:function(z){ee(this).exec("SAVEPOINT oo1");try{let g=z(this);return this.exec("RELEASE oo1"),g}catch(g){throw this.exec("ROLLBACK to SAVEPOINT oo1; RELEASE SAVEPOINT oo1"),g}},checkRc:function(z){return q(this,z)}},O.wrapHandle=function(z,g=!1){if(!z||!p.isPtr(z))throw new f.SQLite3Error(d.SQLITE_MISUSE,"Argument must be a WASM sqlite3 pointer");return new O({"sqlite3*":z,"sqlite3*:takeOwnership":!!g})};let P=function(z){if(!z.pointer)c("Stmt has been closed.");return z},K=function(z){let g=R[z===null||z===void 0?"null":typeof z];switch(g){case R.boolean:case R.null:case R.number:case R.string:return g;case R.bigint:return p.bigIntEnabled?g:void 0;default:return E.isBindableTypedArray(z)?R.blob:void 0}},oe=function(z){return K(z)||c("Unsupported bind() argument type:",typeof z)},W=function(z,g){let w=typeof g==="number"?g:d.sqlite3_bind_parameter_index(z.pointer,g);if(w===0||!E.isInt32(w))c("Invalid bind() parameter name: "+g);else if(w<1||w>z.parameterCount)c("Bind index",g,"is out of range.");return w},he=new Set,be=new Set,me=function(z,g){if(he.has(z))c("Operation is illegal when statement is locked:",g);return z},ve=function z(g,w,T,C){if(me(P(g),"bind()"),!z._)z._tooBigInt=(se)=>c("BigInt value is too big to store without precision loss:",se),z._={string:function(se,A,L,Q){let[ne,ye]=p.allocCString(L,!0);return(Q?d.sqlite3_bind_blob:d.sqlite3_bind_text)(se.pointer,A,ne,ye,d.SQLITE_WASM_DEALLOC)}};oe(C),w=W(g,w);let te=0;switch(C===null||C===void 0?R.null:T){case R.null:te=d.sqlite3_bind_null(g.pointer,w);break;case R.string:te=z._.string(g,w,C,!1);break;case R.number:{let se;if(E.isInt32(C))se=d.sqlite3_bind_int;else if(typeof C==="bigint")if(!E.bigIntFits64(C))z._tooBigInt(C);else if(p.bigIntEnabled)se=d.sqlite3_bind_int64;else if(E.bigIntFitsDouble(C))C=Number(C),se=d.sqlite3_bind_double;else z._tooBigInt(C);else if(C=Number(C),p.bigIntEnabled&&Number.isInteger(C))se=d.sqlite3_bind_int64;else se=d.sqlite3_bind_double;te=se(g.pointer,w,C);break}case R.boolean:te=d.sqlite3_bind_int(g.pointer,w,C?1:0);break;case R.blob:{if(typeof C==="string"){te=z._.string(g,w,C,!0);break}else if(C instanceof ArrayBuffer)C=new Uint8Array(C);else if(!E.isBindableTypedArray(C))c("Binding a value as a blob requires","that it be a string, Uint8Array, Int8Array, or ArrayBuffer.");let se=p.alloc(C.byteLength||1);p.heap8().set(C.byteLength?C:[0],Number(se)),te=d.sqlite3_bind_blob(g.pointer,w,se,C.byteLength,d.SQLITE_WASM_DEALLOC);break}default:f.config.warn("Unsupported bind() argument type:",C),c("Unsupported bind() argument type: "+typeof C)}if(te)O.checkRc(g.db.pointer,te);return g};X.prototype={finalize:function(){let z=this.pointer;if(z){me(this,"finalize()");let g=V.delete(this)?0:d.sqlite3_finalize(z);return delete M.get(this.db)[z],I.delete(this),he.delete(this),be.delete(this),delete this.parameterCount,delete this.db,g}},clearBindings:function(){return me(P(this),"clearBindings()"),d.sqlite3_clear_bindings(this.pointer),be.delete(this),this},reset:function(z){if(me(this,"reset()"),z)this.clearBindings();let g=d.sqlite3_reset(P(this).pointer);return be.delete(this),q(this.db,g),this},bind:function(){P(this);let z,g;switch(arguments.length){case 1:z=1,g=arguments[0];break;case 2:z=arguments[0],g=arguments[1];break;default:c("Invalid bind() arguments.")}if(g===void 0)return this;else if(!this.parameterCount)c("This statement has no bindable parameters.");if(be.delete(this),g===null)return ve(this,z,R.null,g);else if(Array.isArray(g)){if(arguments.length!==1)c("When binding an array, an index argument is not permitted.");return g.forEach((w,T)=>ve(this,T+1,oe(w),w)),this}else if(g instanceof ArrayBuffer)g=new Uint8Array(g);if(typeof g==="object"&&!E.isBindableTypedArray(g)){if(arguments.length!==1)c("When binding an object, an index argument is not permitted.");return Object.keys(g).forEach((w)=>ve(this,w,oe(g[w]),g[w])),this}else return ve(this,z,oe(g),g);c("Should not reach this point.")},bindAsBlob:function(z,g){if(P(this),arguments.length===1)g=z,z=1;let w=oe(g);if(R.string!==w&&R.blob!==w&&R.null!==w)c("Invalid value type for bindAsBlob()");return ve(this,z,R.blob,g)},step:function(){me(this,"step()");let z=d.sqlite3_step(P(this).pointer);switch(z){case d.SQLITE_DONE:return be.delete(this),!1;case d.SQLITE_ROW:return be.add(this),!0;default:be.delete(this),f.config.warn("sqlite3_step() rc=",z,d.sqlite3_js_rc_str(z),"SQL =",d.sqlite3_sql(this.pointer)),O.checkRc(this.db.pointer,z)}},stepReset:function(){return this.step(),this.reset()},stepFinalize:function(){try{let z=this.step();return this.reset(),z}finally{try{this.finalize()}catch(z){}}},get:function(z,g){if(!be.has(P(this)))c("Stmt.step() has not (recently) returned true.");if(Array.isArray(z)){let w=0,T=this.columnCount;while(w<T)z[w]=this.get(w++);return z}else if(z&&typeof z==="object"){let w=0,T=this.columnCount;while(w<T)z[d.sqlite3_column_name(this.pointer,w)]=this.get(w++);return z}switch(U(this,z),g===void 0?d.sqlite3_column_type(this.pointer,z):g){case d.SQLITE_NULL:return null;case d.SQLITE_INTEGER:if(p.bigIntEnabled){let w=d.sqlite3_column_int64(this.pointer,z);if(w>=Number.MIN_SAFE_INTEGER&&w<=Number.MAX_SAFE_INTEGER)return Number(w).valueOf();return w}else{let w=d.sqlite3_column_double(this.pointer,z);if(w>Number.MAX_SAFE_INTEGER||w<Number.MIN_SAFE_INTEGER)c("Integer is out of range for JS integer range: "+w);return E.isInt32(w)?w|0:w}case d.SQLITE_FLOAT:return d.sqlite3_column_double(this.pointer,z);case d.SQLITE_TEXT:return d.sqlite3_column_text(this.pointer,z);case d.SQLITE_BLOB:{let w=d.sqlite3_column_bytes(this.pointer,z),T=d.sqlite3_column_blob(this.pointer,z),C=new Uint8Array(w);if(w){if(C.set(p.heap8u().slice(Number(T),Number(T)+w),0),this.db._blobXfer instanceof Array)this.db._blobXfer.push(C.buffer)}return C}default:c("Don't know how to translate","type of result column #"+z+".")}c("Not reached.")},getInt:function(z){return this.get(z,d.SQLITE_INTEGER)},getFloat:function(z){return this.get(z,d.SQLITE_FLOAT)},getString:function(z){return this.get(z,d.SQLITE_TEXT)},getBlob:function(z){return this.get(z,d.SQLITE_BLOB)},getJSON:function(z){let g=this.get(z,d.SQLITE_STRING);return g===null?g:JSON.parse(g)},getColumnName:function(z){return d.sqlite3_column_name(U(P(this),z).pointer,z)},getColumnNames:function(z=[]){U(P(this),0);let g=this.columnCount;for(let w=0;w<g;++w)z.push(d.sqlite3_column_name(this.pointer,w));return z},getParamIndex:function(z){return P(this).parameterCount?d.sqlite3_bind_parameter_index(this.pointer,z):void 0},getParamName:function(z){return P(this).parameterCount?d.sqlite3_bind_parameter_name(this.pointer,z):void 0},isBusy:function(){return d.sqlite3_stmt_busy(P(this))!==0},isReadOnly:function(){return d.sqlite3_stmt_readonly(P(this))!==0}};{let z={enumerable:!0,get:function(){return I.get(this)},set:()=>c("The pointer property is read-only.")};Object.defineProperty(X.prototype,"pointer",z),Object.defineProperty(O.prototype,"pointer",z)}Object.defineProperty(X.prototype,"columnCount",{enumerable:!1,get:function(){return d.sqlite3_column_count(this.pointer)},set:()=>c("The columnCount property is read-only.")}),Object.defineProperty(X.prototype,"parameterCount",{enumerable:!1,get:function(){return d.sqlite3_bind_parameter_count(this.pointer)},set:()=>c("The parameterCount property is read-only.")}),X.wrapHandle=function(z,g,w=!1){if(!(z instanceof O)||!z.pointer)throw new f.SQLite3Error(f.SQLITE_MISUSE,"First argument must be an opened sqlite3.oo1.DB instance");if(!g||!p.isPtr(g))throw new f.SQLite3Error(f.SQLITE_MISUSE,"Second argument must be a WASM sqlite3_stmt pointer");return new X(z,g,R,!!w)},f.oo1={DB:O,Stmt:X}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){let c=f.util;f.initWorker1API=function(){let d=(...H)=>{throw Error(H.join(" "))};if(!(globalThis.WorkerGlobalScope instanceof Function))d("initWorker1API() must be run from a Worker thread.");let p=this.sqlite3||d("Missing this.sqlite3 object."),E=p.oo1.DB,b=function(H){let G=I.idMap.get(H);if(G)return G;return G="db#"+ ++I.idSeq+":"+Math.floor(Math.random()*1e8)+":"+Math.floor(Math.random()*1e8),I.idMap.set(H,G),G},I={dbList:[],idSeq:0,idMap:new WeakMap,xfer:[],open:function(H){let G=new E(H);if(this.dbs[b(G)]=G,this.dbList.indexOf(G)<0)this.dbList.push(G);return G},close:function(H,G){if(H){delete this.dbs[b(H)];let le=H.filename,O=c.sqlite3__wasm_db_vfs(H.pointer,0);H.close();let R=this.dbList.indexOf(H);if(R>=0)this.dbList.splice(R,1);if(G&&le&&O)c.sqlite3__wasm_vfs_unlink(O,le)}},post:function(H,G){if(G&&G.length)globalThis.postMessage(H,Array.from(G)),G.length=0;else globalThis.postMessage(H)},dbs:Object.create(null),getDb:function(H,G=!0){return this.dbs[H]||(G?d("Unknown (or closed) DB ID:",H):void 0)}},V=function(H=I.dbList[0]){return H&&H.pointer?H:d("DB is not opened.")},M=function(H,G=!0){let le=I.getDb(H.dbId,!1)||I.dbList[0];return G?V(le):le},N=function(){return I.dbList[0]&&b(I.dbList[0])},q={open:function(H){let G=Object.create(null),le=H.args||Object.create(null);if(le.simulateError)d("Throwing because of simulateError flag.");let O=Object.create(null);G.vfs=le.vfs,G.filename=le.filename||"";let R=I.open(G);return O.filename=R.filename,O.persistent=!!p.capi.sqlite3_js_db_uses_vfs(R.pointer,"opfs"),O.dbId=b(R),O.vfs=R.dbVfsName(),O},close:function(H){let G=M(H,!1),le={filename:G&&G.filename};if(G){let O=H.args&&typeof H.args==="object"?!!H.args.unlink:!1;I.close(G,O)}return le},exec:function(H){let G=typeof H.args==="string"?{sql:H.args}:H.args||Object.create(null);if(G.rowMode==="stmt")d("Invalid rowMode for 'exec': stmt mode","does not work in the Worker API.");else if(!G.sql)d("'exec' requires input SQL.");let le=M(H);if(G.callback||Array.isArray(G.resultRows))le._blobXfer=I.xfer;let O=G.callback,R=0,X=!!G.columnNames;if(typeof O==="string"){if(!X)G.columnNames=[];G.callback=function(ee,U){I.post({type:O,columnNames:G.columnNames,rowNumber:++R,row:ee},I.xfer)}}try{let ee=G.countChanges?le.changes(!0,G.countChanges===64):void 0;if(le.exec(G),ee!==void 0)G.changeCount=le.changes(!0,G.countChanges===64)-ee;let U=G.lastInsertRowId?p.capi.sqlite3_last_insert_rowid(le):void 0;if(U!==void 0)G.lastInsertRowId=U;if(G.callback instanceof Function)G.callback=O,I.post({type:O,columnNames:G.columnNames,rowNumber:null,row:void 0})}finally{if(delete le._blobXfer,G.callback)G.callback=O}return G},"config-get":function(){let H=Object.create(null),G=p.config;return["bigIntEnabled"].forEach(function(le){if(Object.getOwnPropertyDescriptor(G,le))H[le]=G[le]}),H.version=p.version,H.vfsList=p.capi.sqlite3_js_vfs_list(),H},export:function(H){let G=M(H),le={byteArray:p.capi.sqlite3_js_db_export(G.pointer),filename:G.filename,mimetype:"application/x-sqlite3"};return I.xfer.push(le.byteArray.buffer),le},toss:function(H){d("Testing worker exception")}};globalThis.onmessage=async function(H){H=H.data;let G,le=H.dbId,O=H.type,R=performance.now();try{if(q.hasOwnProperty(O)&&q[O]instanceof Function)G=await q[O](H);else d("Unknown db worker message type:",H.type)}catch(X){if(O="error",G={operation:H.type,message:X.message,errorClass:X.name,input:H},X.stack)G.stack=typeof X.stack==="string"?X.stack.split(/\n\s*/):X.stack}if(!le)le=G.dbId||N();I.post({type:O,dbId:le,messageId:H.messageId,workerReceivedTime:R,workerRespondTime:performance.now(),departureTime:H.departureTime,result:G},I.xfer)},globalThis.postMessage({type:"sqlite3-api",result:"worker1-ready"})}.bind({sqlite3:f})}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){let{wasm:c,capi:d}=f,p=f.util.toss3,E=Object.create(null);f.vfs=E,d.sqlite3_vfs.prototype.registerVfs=function(b=!1){if(!(this instanceof f.capi.sqlite3_vfs))p("Expecting a sqlite3_vfs-type argument.");let I=d.sqlite3_vfs_register(this,b?1:0);if(I)p("sqlite3_vfs_register(",this,") failed with rc",I);if(this.pointer!==d.sqlite3_vfs_find(this.$zName))p("BUG: sqlite3_vfs_find(vfs.$zName) failed for just-installed VFS",this);return this},E.installVfs=function(b){let I=0,V=["io","vfs"];for(let M of V){let N=b[M];if(N){if(++I,N.struct.installMethods(N.methods,!!N.applyArgcCheck),M==="vfs"){if(!N.struct.$zName&&typeof N.name==="string")N.struct.addOnDispose(N.struct.$zName=c.allocCString(N.name));N.struct.registerVfs(!!N.asDefault)}}}if(!I)p("Misuse: installVfs() options object requires at least","one of:",V);return this}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(!f.wasm.exports.sqlite3_declare_vtab)return;let{wasm:c,capi:d}=f,p=f.util.toss3,E=Object.create(null);f.vtab=E;let b=d.sqlite3_index_info;b.prototype.nthConstraint=function(M,N=!1){if(M<0||M>=this.$nConstraint)return!1;let q=c.ptr.add(this.$aConstraint,b.sqlite3_index_constraint.structInfo.sizeof*M);return N?q:new b.sqlite3_index_constraint(q)},b.prototype.nthConstraintUsage=function(M,N=!1){if(M<0||M>=this.$nConstraint)return!1;let q=c.ptr.add(this.$aConstraintUsage,b.sqlite3_index_constraint_usage.structInfo.sizeof*M);return N?q:new b.sqlite3_index_constraint_usage(q)},b.prototype.nthOrderBy=function(M,N=!1){if(M<0||M>=this.$nOrderBy)return!1;let q=c.ptr.add(this.$aOrderBy,b.sqlite3_index_orderby.structInfo.sizeof*M);return N?q:new b.sqlite3_index_orderby(q)};let I=function(M,N){return function(q,H=!1){if(arguments.length===0)q=new N;if(q instanceof N)return this.set(q.pointer,q),q;else if(!c.isPtr(q))f.SQLite3Error.toss("Invalid argument to",M+"()");let G=this.get(q);if(H)this.delete(q);return G}.bind(new Map)},V=function(M,N){let q=I(M,N);return Object.assign(Object.create(null),{StructType:N,create:(H)=>{let G=q();return c.pokePtr(H,G.pointer),G},get:(H)=>q(H),unget:(H)=>q(H,!0),dispose:(H)=>q(H,!0)?.dispose?.()})};E.xVtab=V("xVtab",d.sqlite3_vtab),E.xCursor=V("xCursor",d.sqlite3_vtab_cursor),E.xIndexInfo=(M)=>new d.sqlite3_index_info(M),E.xError=function M(N,q,H){if(M.errorReporter instanceof Function)try{M.errorReporter("sqlite3_module::"+N+"(): "+q.message)}catch(le){}let G;if(q instanceof f.WasmAllocError)G=d.SQLITE_NOMEM;else if(arguments.length>2)G=H;else if(q instanceof f.SQLite3Error)G=q.resultCode;return G||d.SQLITE_ERROR},E.xError.errorReporter=f.config.error.bind(f.config),E.xRowid=(M,N)=>c.poke(M,N,"i64"),E.setupModule=function(M){let N=!1,q=this instanceof d.sqlite3_module?this:M.struct||(N=new d.sqlite3_module);try{let H=M.methods||p("Missing 'methods' object.");for(let G of Object.entries({xConnect:"xCreate",xDisconnect:"xDestroy"})){let le=G[0],O=G[1];if(H[le]===!0)H[le]=H[O];else if(H[O]===!0)H[O]=H[le]}if(M.catchExceptions){let G=function(R,X){if(["xConnect","xCreate"].indexOf(R)>=0)return function(ee,U,J,pe,S,P){try{return X(...arguments)||0}catch(K){if(!(K instanceof f.WasmAllocError))c.dealloc(c.peekPtr(P)),c.pokePtr(P,c.allocCString(K.message));return E.xError(R,K)}};else return function(...ee){try{return X(...ee)||0}catch(U){return E.xError(R,U)}}},le=["xCreate","xConnect","xBestIndex","xDisconnect","xDestroy","xOpen","xClose","xFilter","xNext","xEof","xColumn","xRowid","xUpdate","xBegin","xSync","xCommit","xRollback","xFindFunction","xRename","xSavepoint","xRelease","xRollbackTo","xShadowName"],O=Object.create(null);for(let R of le){let X=H[R];if(!(X instanceof Function))continue;else if(R==="xConnect"&&H.xCreate===X)O[R]=H.xCreate;else if(R==="xCreate"&&H.xConnect===X)O[R]=H.xConnect;else O[R]=G(R,X)}q.installMethods(O,!1)}else q.installMethods(H,!!M.applyArgcCheck);if(q.$iVersion===0){let G;if(typeof M.iVersion==="number")G=M.iVersion;else if(q.$xIntegrity)G=4;else if(q.$xShadowName)G=3;else if(q.$xSavePoint||q.$xRelease||q.$xRollbackTo)G=2;else G=1;q.$iVersion=G}}catch(H){if(N)N.dispose();throw H}return q},d.sqlite3_module.prototype.setupModule=function(M){return E.setupModule.call(this,M)}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(f.config.disable?.vfs?.kvvfs)return;let c=f.capi,{sqlite3_kvvfs_methods:d,KVVfsFile:p}=c,E=f.capi.sqlite3_vfs_find("kvvfs");if(delete c.sqlite3_kvvfs_methods,delete c.KVVfsFile,!E)return;let{util:b,wasm:I}=f,V=b.toss3,M=new d(I.exports.sqlite3__wasm_kvvfs_methods());b.assert(32<=M.$nKeySize,"unexpected kvvfsMethods.$nKeySize: "+M.$nKeySize);let N=Object.assign(Object.create(null),{rxJournalSuffix:/-journal$/,zKeyJrnl:I.allocCString("jrnl"),zKeySz:I.allocCString("sz"),keySize:M.$nKeySize,buffer:Object.assign(Object.create(null),{n:M.$nBufferSize,pool:Object.create(null)})});N.memBuffer=(B=0)=>N.buffer.pool[B]??=I.alloc(N.buffer.n),N.memBufferFree=(B)=>{let re=N.buffer.pool[B];if(re)I.dealloc(re),delete N.buffer.pool[B]};let q=()=>{},H=f.__isUnderTest?(...B)=>f.config.debug?.("kvvfs:",...B):q,G=(...B)=>f.config.warn?.("kvvfs:",...B),le=(...B)=>f.config.error?.("kvvfs:",...B);class O{#e=Object.create(null);#o=null;#i=0;constructor(){this.clear()}#t(){return this.#o??=Object.keys(this.#e)}key(B){if(B<0||B>=this.#i)return null;return this.#t()[B]}getItem(B){return this.#e[B]??null}setItem(B,re){if(!(B in this.#e))++this.#i,this.#o=null;this.#e[B]=""+re}removeItem(B){if(B in this.#e)delete this.#e[B],--this.#i,this.#o=null}clear(){this.#e=Object.create(null),this.#o=null,this.#i=0}get length(){return this.#i}}let R=(B)=>B==="local"||B==="session",X=(B)=>R(B)?"kvvfs-"+B+"-":"",ee=function(B,re=!1){if(R(B))return;let ae=new Blob([B]).size;if(!ae)V(c.SQLITE_MISUSE,"Empty name is not permitted.");let ue=N.keySize-1;if(N.rxJournalSuffix.test(B)){if(!re)V(c.SQLITE_MISUSE,"Storage names may not have a '-journal' suffix.")}else if(["-wal","-shm"].filter((Re)=>B.endsWith(Re)).length)V(c.SQLITE_MISUSE,"Storage names may not have a -wal or -shm suffix.");else ue-=8;if(ae>ue)V(c.SQLITE_RANGE,"Storage name is too long. Limit =",ue);let Se;for(Se=0;Se<ae;++Se){let Re=B.codePointAt(Se);if(Re<32)V(c.SQLITE_RANGE,"Illegal character ("+Re+"d) in storage name:",B)}},U=(B,re=void 0)=>Object.assign(Object.create(null),{jzClass:B,refc:1,deleteAtRefc0:!1,storage:re||new O,keyPrefix:X(B),files:[],listeners:void 0}),J=f.kvvfs=Object.create(null);if(f.__isUnderTest)J.log=Object.assign(Object.create(null),{xOpen:!1,xClose:!1,xWrite:!1,xRead:!1,xSync:!1,xAccess:!1,xFileControl:!1,xRcrdRead:!1,xRcrdWrite:!1,xRcrdDelete:!1});let pe=function(B){let re=N.rxJournalSuffix.test(B.jzClass)?B.jzClass.replace(N.rxJournalSuffix,""):B.jzClass+"-journal";if(J?.log?.xClose&&H("cleaning up storage handles [",B.jzClass,re,"]",B),delete N.storagePool[B.jzClass],delete N.storagePool[re],!f.__isUnderTest)delete B.storage,delete B.refc},S=(B)=>N.storagePool[B.jzClass]=N.storagePool[B.jzClass+"-journal"]=B,P=".";if(N.storagePool=Object.assign(Object.create(null),{[P]:U(P)}),globalThis.Storage){if(globalThis.localStorage instanceof globalThis.Storage)N.storagePool.local=U("local",globalThis.localStorage);if(globalThis.sessionStorage instanceof globalThis.Storage)N.storagePool.session=U("session",globalThis.sessionStorage)}N.builtinStorageNames=Object.keys(N.storagePool);let K=(B)=>N.builtinStorageNames.indexOf(B)>-1;for(let B of Object.keys(N.storagePool)){let re=N.storagePool[B];N.storagePool[B+"-journal"]=re}N.setError=(B=void 0,re=c.SQLITE_ERROR)=>{if(B)return N.lastError=B,B.resultCode|0||re;return delete N.lastError,0},N.popError=()=>{let B=N.lastError;return delete N.lastError,B};let oe=(B)=>{G("kvvfs.listener handler threw:",B)},W=I.exports.sqlite3__wasm_kvvfs_decode,he=I.exports.sqlite3__wasm_kvvfs_encode,be=async function(B,re,...ae){try{if(re.keyPrefix&&ae[0])ae[0]=ae[0].replace(re.keyPrefix,"");let ue,Se,Re,Oe;for(let ke of re.listeners){let Ne=Object.create(null);Ne.storageName=re.jzClass,Ne.type=B,ke.decodePages;let je=ke.events[B];if(je){if(!ke.includeJournal&&ae[0]==="jrnl")continue;if(B==="write"&&ke.decodePages&&+ae[0]>0){if(Ne.data=[ae[0]],Oe?.[ae[0]]){Ne.data[1]=Oe[ae[0]];continue}ue??=new TextEncoder("utf-8"),Se??=N.memBuffer(10),Re??=N.memBuffer(11);let Qe=ue.encode(ae[1]),Me=I.heap8u();Me.set(Qe,Number(Se)),Me[I.ptr.addn(Se,Qe.length)]=0;let yt=W(Se,Re,N.buffer.n);if(yt>0)Oe??=Object.create(null),Oe[ae[0]]=Ne.data[1]=Me.slice(Number(Re),I.ptr.addn(Re,yt));else continue}else Ne.data=ae.length?ae.length===1?ae[0]:ae:void 0;try{je(Ne)?.catch?.(oe)}catch(Qe){G("notifyListeners [",re.jzClass,"]",B,Qe)}}}}catch(ue){oe(ue)}},me=(B)=>typeof B==="string"?N.storagePool[B]:N.storagePool[I.cstrToJs(B)],ve=I.exports.sqlite3__wasm_kvvfsMakeKey,z=(B,re,ae)=>re&&B.keyPrefix?ve(re,ae):ae,g=(B,re,ae)=>I.cstrToJs(z(B,re,ae)),w=(B)=>+B.storage.getItem(B.keyPrefix+"sz"),T=new Map,C={vfs:Object.create(null),ioDb:Object.create(null),ioJrnl:Object.create(null)},te=new c.sqlite3_vfs(M.$pVfs),se=new c.sqlite3_io_methods(M.$pIoDb),A=new c.sqlite3_io_methods(M.$pIoJrnl),L=Object.create(null),Q=Object.assign(Object.create(null),{pFileHandles:T,cache:N,storageForZClass:me,KVVfsStorage:O,disablePageSizeChange:!0});if(J.log)J.internal=Q;let ne={recordHandler:{xRcrdRead:(B,re,ae,ue)=>{try{let Se=I.cstrToJs(B),Re=me(Se);if(!Re)return-1;let Oe=g(Re,B,re);J?.log?.xRcrdRead&&G("xRcrdRead",Se,Oe,ue,Re);let ke=Re.storage.getItem(Oe);if(ke===null)return-1;let Ne=ke.length;if(ue<=0)return Ne;else if(ue===1)return I.poke(ae,0),Ne;if(ue+1<Ne)V(c.SQLITE_RANGE,"xRcrdRead()",Se,Oe,"input buffer is too small: need",Ne,"but have",ue);let je=N.memBuffer(0),Qe=I.heap8(),Me;for(Me=0;Me<Ne;++Me)Qe[I.ptr.add(je,Me)]=ke.codePointAt(Me)&255;return Qe.copyWithin(Number(ae),Number(je),I.ptr.addn(je,Me)),Qe[I.ptr.add(ae,Ne)]=0,ue}catch(Se){return le("kvrecordRead()",Se),N.setError(Se),-2}},xRcrdWrite:(B,re,ae)=>{try{let ue=me(B),Se=g(ue,B,re),Re=I.cstrToJs(ae);return J?.log?.xRcrdWrite&&G("xRcrdWrite",Se,ue),ue.storage.setItem(Se,Re),ue.listeners&&be("write",ue,Se,Re),0}catch(ue){return le("kvrecordWrite()",ue),N.setError(ue,c.SQLITE_IOERR)}},xRcrdDelete:(B,re)=>{try{let ae=me(B),ue=g(ae,B,re);return J?.log?.xRcrdDelete&&G("xRcrdDelete",ue,ae),ae.storage.removeItem(ue),ae.listeners&&be("delete",ae,ue),0}catch(ae){return le("kvrecordDelete()",ae),N.setError(ae,c.SQLITE_IOERR)}}},vfs:{xOpen:function(B,re,ae,ue,Se){N.popError();let Re;try{if(!re)Re=I.allocCString(""+ae+"."+(Math.random()*1e5|0)),re=Re;let Oe=I.cstrToJs(re);if(J?.log?.xOpen&&H("xOpen",Oe,"flags =",ue),ee(Oe,!0),ue&(c.SQLITE_OPEN_MAIN_DB|c.SQLITE_OPEN_TEMP_DB|c.SQLITE_OPEN_TRANSIENT_DB)&&N.rxJournalSuffix.test(Oe))V(c.SQLITE_ERROR,"DB files may not have a '-journal' suffix.");let ke=me(Oe);if(!ke&&!(ue&c.SQLITE_OPEN_CREATE))V(c.SQLITE_ERROR,"Storage not found:",Oe);let Ne=C.vfs.xOpen(B,re,ae,ue,Se);if(Ne)return Ne;let je=!!(c.SQLITE_OPEN_DELETEONCLOSE&ue);if(I.isPtr(arguments[1])){if(c.sqlite3_uri_boolean(re,"delete-on-close",0))je=!0}let Qe=new p(ae);if(b.assert(Qe.$zClass,"Missing f.$zClass"),Qe.addOnDispose(Re),Re=void 0,ke)++ke.refc,ke.files.push(Qe),I.poke32(Se,ue);else{I.poke32(Se,ue|c.SQLITE_OPEN_CREATE),b.assert(!Qe.$isJournal,"Opening a journal before its db? "+Oe);let Me=Oe.replace(N.rxJournalSuffix,"");ke=U(Me),S(ke),ke.files.push(Qe),ke.deleteAtRefc0=je,J?.log?.xOpen&&H("xOpen installed storage handle [",Me,Me+"-journal","]",ke)}return T.set(ae,{store:ke,file:Qe,jzClass:Oe}),ke.listeners&&be("open",ke,ke.files.length),0}catch(Oe){return G("xOpen:",Oe),N.setError(Oe)}finally{Re&&I.dealloc(Re)}},xDelete:function(B,re,ae){N.popError();try{let ue=I.cstrToJs(re);if(N.rxJournalSuffix.test(ue))L.xRcrdDelete(re,N.zKeyJrnl);return 0}catch(ue){return G("xDelete",ue),N.setError(ue)}},xAccess:function(B,re,ae,ue){N.popError();try{let Se=me(re),Re=Se?.jzClass||I.cstrToJs(re);if(J?.log?.xAccess)H("xAccess",Re,"flags =",ae,"*pResOut =",I.peek32(ue),"store =",Se);if(!Se)try{ee(Re)}catch(Oe){return I.poke32(ue,0),0}if(Se){let Oe=Se.keyPrefix+(N.rxJournalSuffix.test(Re)?"jrnl":"1"),ke=Se.storage.getItem(Oe)?0:1;I.poke32(ue,ke)}else I.poke32(ue,0);return 0}catch(Se){return le("xAccess",Se),N.setError(Se)}},xRandomness:function(B,re,ae){let ue=I.heap8u(),Se=0,Re=Number(ae);for(;Se<re;++Se)ue[Re+Se]=Math.random()*255000&255;return re},xGetLastError:function(B,re,ae){let ue=N.popError();if(H("xGetLastError",ue),ue){let Se=I.scopedAllocPush();try{let[Re,Oe]=I.scopedAllocCString(ue.message,!0);if(I.cstrncpy(ae,Re,re),Oe>re)I.poke8(I.ptr.add(ae,re,-1),0);return H("set xGetLastError",ue.message),ue.resultCode|0||c.SQLITE_IOERR}catch(Re){return c.SQLITE_NOMEM}finally{I.scopedAllocPop(Se)}}return 0}},ioDb:{xClose:function(B){N.popError();try{let re=T.get(B);if(J?.log?.xClose&&H("xClose",B,re),re){T.delete(B);let ae=re.store;if(ae.files=ae.files.filter((ue)=>ue!==re.file),--ae.refc<=0&&ae.deleteAtRefc0)pe(ae);C.ioDb.xClose(B),re.file.dispose(),ae.listeners&&be("close",ae,ae.files.length)}return 0}catch(re){return le("xClose",re),N.setError(re)}},xFileControl:function(B,re,ae){N.popError();try{let ue=T.get(B);if(b.assert(ue,"Missing KVVfsFile handle"),J?.log?.xFileControl&&H("xFileControl",ue,"op =",re),re===c.SQLITE_FCNTL_PRAGMA&&Q.disablePageSizeChange){let Re=I.peekPtr(I.ptr.add(ae,I.ptr.size));if(I.cstrToJs(Re)==="page_size"){J?.log?.xFileControl&&H("xFileControl pragma",I.cstrToJs(Re));let Oe=I.peekPtr(I.ptr.add(ae,2*I.ptr.size));if(Oe)return J?.log?.xFileControl&&G("xFileControl pragma",ue,"NOT setting page size to",I.cstrToJs(Oe)),ue.file.$szPage=-1,0;else if(ue.file.$szPage>0)return J?.log?.xFileControl&&G("xFileControl",ue,"getting page size",ue.file.$szPage),I.pokePtr(ae,I.allocCString(""+ue.file.$szPage)),0}}let Se=C.ioDb.xFileControl(B,re,ae);if(Se==0&&c.SQLITE_FCNTL_SYNC===re)ue.store.listeners&&be("sync",ue.store,!1);return Se}catch(ue){return le("xFileControl",ue),N.setError(ue)}},xSync:function(B,re){N.popError();try{let ae=T.get(B);J?.log?.xSync&&H("xSync",ae),b.assert(ae,"Missing KVVfsFile handle");let ue=C.ioDb.xSync(B,re);if(ue==0&&ae.store.listeners)be("sync",ae.store,!0);return ue}catch(ae){return le("xSync",ae),N.setError(ae)}}},ioJrnl:{xClose:!0}};try{b.assert(N.buffer.n>132096,"Heap buffer is not large enough");for(let B of Object.entries(ne.recordHandler)){let re=B[0],ae=B[1];L[re]=ae,M[M.memberKey(re)]=I.installFunction(M.memberSignature(re),ae)}for(let B of Object.entries(ne.vfs)){let re=B[0],ae=B[1],ue=te.memberKey(re),Se=te.structInfo.members[re]||b.toss("Missing pVfs.structInfo[",re,"]");C.vfs[re]=I.functionEntry(te[ue]),te[ue]=I.installFunction(Se.signature,ae)}for(let B of Object.entries(ne.ioDb)){let re=B[0],ae=B[1],ue=se.memberKey(re);C.ioDb[re]=I.functionEntry(se[ue])||b.toss("Missing native pIoDb[",ue,"]"),se[ue]=I.installFunction(se.memberSignature(re),ae)}for(let B of Object.entries(ne.ioJrnl)){let re=B[0],ae=B[1],ue=A.memberKey(re);if(C.ioJrnl[re]=I.functionEntry(A[ue])||b.toss("Missing native pIoJrnl[",ue,"]"),ae===!0)A[ue]=se[ue]||b.toss("Missing copied pIoDb[",ue,"]");else A[ue]=I.installFunction(A.memberSignature(re),ae)}}finally{M.dispose(),te.dispose(),se.dispose(),A.dispose()}let ye=function B(re){if(re==="")return B("local")+B("session");let ae=me(re);if(!ae)return 0;if(ae.files.length)if(globalThis.localStorage===ae.storage||globalThis.sessionStorage===ae.storage);else V(c.SQLITE_ACCESS,"Cannot clear in-use database storage.");let ue=ae.storage,Se=[],Re,Oe=ue.length;for(Re=0;Re<Oe;++Re){let ke=ue.key(Re);if(!ae.keyPrefix||ke.startsWith(ae.keyPrefix))Se.push(ke)}return Se.forEach((ke)=>ue.removeItem(ke)),Se.length},Te=function B(re){if(re==="")return B("local")+B("session");let ae=me(re);if(!ae)return 0;let ue=ae.storage,Se,Re=0;for(Se=0;Se<ue.length;++Se){let Oe=ue.key(Se);if(!ae.keyPrefix||Oe.startsWith(ae.keyPrefix))Re+=Oe.length,Re+=ue.getItem(Oe).length}return Re*2},Ie=function(...re){let ae;if(re.length===1&&typeof re[0]==="object")ae=re[0];else if(re.length)ae=Object.assign(Object.create(null),{name:re[0]});let ue=ae?me(ae.name):null;if(!ue)V(c.SQLITE_NOTFOUND,"There is no kvvfs storage named",ae?.name);let Se=ue.storage,Re=Object.assign(Object.create(null),{name:ue.jzClass,timestamp:Date.now(),pages:[]}),Oe=Object.create(null),ke=ue.keyPrefix,Ne=ke?/^kvvfs-[^-]+-(\w+)/:void 0,je=0,Qe=Se.length;for(;je<Qe;++je){let Me=Se.key(je);if(!ke||Me.startsWith(ke)){let yt=(ke?Ne.exec(Me):void 0)?.[1]??Me;switch(yt){case"jrnl":if(ae.includeJournal)Re.journal=Se.getItem(Me);break;case"sz":Re.size=+Se.getItem(Me);break;default:if(yt=+yt,!b.isInt32(yt)||yt<=0)V(c.SQLITE_RANGE,"Malformed kvvfs key: "+Me);if(ae.decodePages){let Ft=Se.getItem(Me),rn=Ft.length,Zt=N.memBuffer(0),Pr=N.memBuffer(1),Nn=I.heap8u(),At=0;for(;At<rn;++At)Nn[I.ptr.add(Zt,At)]=Ft.codePointAt(At)&255;Nn[I.ptr.add(Zt,At)]=0;let mo=W(Zt,Pr,N.buffer.n);Oe[yt]=Nn.slice(Number(Pr),I.ptr.addn(Pr,mo))}else Oe[yt]=Se.getItem(Me);break}}}if(ae.decodePages)N.memBufferFree(1);return Object.keys(Oe).map((Me)=>+Me).sort().forEach((Me)=>Re.pages.push(Oe[Me])),Re},qe=function(B,re=!1){if(!B?.timestamp||!B.name||B.size===void 0||!Array.isArray(B.pages))V(c.SQLITE_MISUSE,"Malformed export object.");else if(!B.size||B.size!==(B.size|0)||B.size>=2147483647)V(c.SQLITE_RANGE,"Invalid db size: "+B.size);ee(B.name);let ae=me(B.name),ue=!ae;if(ae){if(!re)V(c.SQLITE_ACCESS,"Storage '"+B.name+"' already exists and","overwrite was not specified.");else if(!ae.files||!ae.jzClass)V(c.SQLITE_ERROR,"Internal storage object",B.name,"seems to be malformed.");else if(ae.files.length)V(c.SQLITE_IOERR_ACCESS,"Cannot import db storage while it is in use.");ye(B.name)}else ae=U(B.name);let Se=X(B.name),Re;try{let Oe=ae.storage;if(Oe.setItem(Se+"sz",B.size),B.journal)Oe.setItem(Se+"jrnl",B.journal);if(B.pages[0]instanceof Uint8Array)B.pages.forEach((ke,Ne)=>{let je=ke.length;Re??=N.memBuffer(1);let Qe=N.memBuffer(0),Me=I.heap8u();Me.set(ke,Number(Qe)),Me[I.ptr.addn(Qe,je)]=0;let yt=he(Qe,je,Re);b.assert(yt<N.buffer.n,"Impossibly long output - possibly smashed the heap"),b.assert(I.peek8(I.ptr.add(Re,yt))===0,"Expecting NUL-terminated encoded output");let Ft=I.cstrToJs(Re);Oe.setItem(Se+(Ne+1),Ft)});else if(B.pages[0])B.pages.forEach((ke,Ne)=>Oe.setItem(Se+(Ne+1),ke));if(ue)S(ae)}catch{if(!ue)try{ye(B.name)}catch(Oe){}}finally{if(Re)N.memBufferFree(1)}return this},Ge=function(B){let re=me(B);if(re){++re.refc;return}ee(B),S(U(B))},ct=function(B){let re=me(B);if(!re||R(re.jzClass)||K(re.jzClass)||N.rxJournalSuffix.test(B))return!1;if(re.refc>re.files.length||re.files.length===0){if(--re.refc<=0)pe(re);return!0}return!1},zt=function(B){if(!B||typeof B!=="object")V(c.SQLITE_MISUSE,"Expecting a listener object.");let re=me(B.storage);if(!re)if(B.storage&&B.reserve)Ge(B.storage),re=me(B.storage),b.assert(re,"Unexpectedly cannot fetch reserved storage "+B.storage);else V(c.SQLITE_NOTFOUND,"No such storage:",B.storage);if(B.events)(re.listeners??=[]).push(B)},Ir=function(B){let re=me(B?.storage);if(re?.listeners&&B.events){let ae=re.listeners.length;re.listeners=re.listeners.filter((Se)=>Se!==B);let ue=ae>re.listeners.length;if(!re.listeners.length)re.listeners=void 0;return ue}return!1};if(f.kvvfs.reserve=Ge,f.kvvfs.import=qe,f.kvvfs.export=Ie,f.kvvfs.unlink=ct,f.kvvfs.listen=zt,f.kvvfs.unlisten=Ir,f.kvvfs.exists=(B)=>!!me(B),f.kvvfs.estimateSize=Te,f.kvvfs.clear=ye,globalThis.Storage)c.sqlite3_js_kvvfs_size=(B="")=>Te(B),c.sqlite3_js_kvvfs_clear=(B="")=>ye(B);if(f.oo1?.DB){let B=f.oo1.DB;f.oo1.JsStorageDb=function(ae=f.oo1.JsStorageDb.defaultStorageName){let ue=B.dbCtorHelper.normalizeArgs(...arguments);switch(ue.vfs="kvvfs",ue.filename){case":sessionStorage:":ue.filename="session";break;case":localStorage:":ue.filename="local";break}let Se=/(file:(\/\/)?)([^?]+)/.exec(ue.filename);ee(Se?Se[3]:ue.filename),B.dbCtorHelper.call(this,ue)},f.oo1.JsStorageDb.defaultStorageName=N.storagePool.session?"session":P;let re=f.oo1.JsStorageDb;re.prototype=Object.create(B.prototype),re.clearStorage=ye,re.prototype.clearStorage=function(){return re.clearStorage(this.affirmOpen().dbFilename(),!0)},re.storageSize=Te,re.prototype.storageSize=function(){return re.storageSize(this.affirmOpen().dbFilename(),!0)}}if(f.__isUnderTest&&f.vtab){let B=Object.assign(Object.create(null),{rowid:{type:"INTEGER"},name:{type:"TEXT"},nRef:{type:"INTEGER"},nOpen:{type:"INTEGER"},isTransient:{type:"INTEGER"},dbSize:{type:"INTEGER"}});Object.keys(B).forEach((Oe,ke)=>B[Oe].colId=ke);let re=f.vtab,ae=Object.assign(Object.create(null),{row:function(){return N.storagePool[this.names[this.rowid]]}});Object.assign(Object.create(ae),{rowid:0,names:Object.keys(N.storagePool).filter((Oe)=>!N.rxJournalSuffix.test(Oe))});let ue=function(Oe,ke){let Ne=Oe instanceof c.sqlite3_vtab_cursor?Oe:re.xCursor.get(Oe);if(ke||!Ne.vTabState)Ne.vTabState=Object.assign(Object.create(ae),{rowid:0,names:Object.keys(N.storagePool).filter((je)=>!N.rxJournalSuffix.test(je))});return Ne.vTabState},Se=()=>{},Re=function Oe(){return Oe.mod??=new f.capi.sqlite3_module().setupModule({catchExceptions:!0,methods:{xConnect:function(ke,Ne,je,Qe,Me,yt){Se("xConnect");try{let Ft=[];Object.keys(B).forEach((Zt)=>{Ft.push(Zt+" "+B[Zt].type)});let rn=c.sqlite3_declare_vtab(ke,"CREATE TABLE ignored("+Ft.join(",")+")");if(rn===0){let Zt=re.xVtab.create(Me);b.assert(Zt===re.xVtab.get(I.peekPtr(Me)),"output pointer check failed")}return rn}catch(Ft){return re.xError("xConnect",Ft,c.SQLITE_ERROR)}},xCreate:I.ptr.null,xDisconnect:function(ke){return Se("xDisconnect",...arguments),re.xVtab.dispose(ke),0},xOpen:function(ke,Ne){return Se("xOpen",...arguments),re.xCursor.create(Ne),0},xClose:function(ke){Se("xClose",...arguments);let Ne=re.xCursor.unget(ke);return delete Ne.vTabState,Ne.dispose(),0},xNext:function(ke){Se("xNext",...arguments);let Ne=re.xCursor.get(ke);return++ue(Ne).rowid,0},xColumn:function(ke,Ne,je){Se("xColumn",...arguments);let Qe=ue(ke),Me=Qe.row();switch(b.assert(Me,"Unexpected xColumn call"),je){case B.rowid.colId:c.sqlite3_result_int(Ne,Qe.rowid);break;case B.name.colId:c.sqlite3_result_text(Ne,Me.jzClass,-1,c.SQLITE_TRANSIENT);break;case B.nRef.colId:c.sqlite3_result_int(Ne,Me.refc);break;case B.nOpen.colId:c.sqlite3_result_int(Ne,Me.files.length);break;case B.isTransient.colId:c.sqlite3_result_int(Ne,!!Me.deleteAtRefc0);break;case B.dbSize.colId:c.sqlite3_result_int(Ne,w(Me));break;default:return c.sqlite3_result_error(Ne,"Invalid column id: "+je),c.SQLITE_RANGE}return 0},xRowid:function(ke,Ne){Se("xRowid",...arguments);let je=ue(ke);return re.xRowid(Ne,je.rowid),0},xEof:function(ke){let Ne=ue(ke);return Se("xEof?="+!Ne.row(),...arguments),!Ne.row()},xFilter:function(ke,Ne,je,Qe,Me){return Se("xFilter",...arguments),ue(ke,!0),0},xBestIndex:function(ke,Ne){Se("xBestIndex",...arguments);let je=new c.sqlite3_index_info(Ne);return je.$estimatedRows=N.storagePool.size,je.$estimatedCost=1,je.dispose(),0}}})};f.kvvfs.create_module=function(Oe,ke="sqlite_kvvfs"){return c.sqlite3_create_module(Oe,ke,Re(),I.ptr.null)}}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(f.config.disable?.vfs?.opfs&&f.config.disable.vfs["opfs-vfs"])return;let c=f.util.toss;f.capi;let d=f.util;f.wasm;let p=f.opfs=Object.create(null);p.thisThreadHasOPFS=()=>globalThis.FileSystemHandle&&globalThis.FileSystemDirectoryHandle&&globalThis.FileSystemFileHandle&&globalThis.FileSystemFileHandle.prototype.createSyncAccessHandle&&navigator?.storage?.getDirectory,p.getRootDir=async function b(){return b.promise??=navigator.storage.getDirectory().then((I)=>(p.rootDirectory=I,I)).catch((I)=>{throw delete b.promise,I})},p.getResolvedPath=function(b,I){let V=new URL(b,"file://irrelevant").pathname;return I?V.split("/").filter((M)=>!!M):V},p.getDirForFilename=async function(I,V=!1){let M=p.getResolvedPath(I,!0),N=M.pop(),q=await p.getRootDir();for(let H of M)if(H)q=await q.getDirectoryHandle(H,{create:!!V});return[q,N]},p.mkdir=async function(b){try{return await p.getDirForFilename(b+"/filepart",!0),!0}catch(I){return!1}},p.entryExists=async function(b){try{let[I,V]=await p.getDirForFilename(b);return await I.getFileHandle(V),!0}catch(I){return!1}},p.randomFilename=function b(I=16){if(!b._chars)b._chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ012346789",b._n=b._chars.length;let V=[],M=0;for(;M<I;++M){let N=Math.random()*(b._n*64)%b._n|0;V[M]=b._chars[N]}return V.join("")},p.treeList=async function(){let b=async function V(M,N){N.name=M.name,N.dirs=[],N.files=[];for await(let q of M.values())if(q.kind==="directory"){let H=Object.create(null);N.dirs.push(H),await V(q,H)}else N.files.push(q.name)},I=Object.create(null);return await b(await p.getRootDir(),I),I},p.rmfr=async function(){let b=await p.getRootDir(),I={recurse:!0};for await(let V of b.values())b.removeEntry(V.name,I)},p.unlink=async function(b,I=!1,V=!1){try{let[M,N]=await p.getDirForFilename(b,!1);return await M.removeEntry(N,{recursive:I}),!0}catch(M){if(V)throw Error("unlink(",arguments[0],") failed: "+M.message,{cause:M});return!1}},p.traverse=async function(b){let I={recursive:!0,directory:await p.getRootDir()};if(typeof b==="function")b={callback:b};b=Object.assign(I,b||{}),async function V(M,N){for await(let q of M.values())if(b.callback(q,M,N)===!1)return!1;else if(b.recursive&&q.kind==="directory"){if(await V(q,N+1)===!1)break}}(b.directory,0)};let E=async function(b,I){let[V,M]=await p.getDirForFilename(b,!0),N=await(await V.getFileHandle(M,{create:!0})).createSyncAccessHandle(),q=0,H,G=!1;try{N.truncate(0);while((H=await I())!==void 0){if(H instanceof ArrayBuffer)H=new Uint8Array(H);if(!G&&q===0&&H.byteLength>=15)d.affirmDbHeader(H),G=!0;N.write(H,{at:q}),q+=H.byteLength}if(q<512||q%512!==0)c("Input size",q,"is not correct for an SQLite database.");if(!G){let le=new Uint8Array(20);N.read(le,{at:0}),d.affirmDbHeader(le)}return N.write(new Uint8Array([1,1]),{at:18}),q}catch(le){throw await N.close(),N=void 0,await V.removeEntry(M).catch(()=>{}),le}finally{if(N)await N.close()}};p.importDb=async function(b,I){if(I instanceof Function)return E(b,I);if(I instanceof ArrayBuffer)I=new Uint8Array(I);d.affirmIsDb(I);let V=I.byteLength,[M,N]=await p.getDirForFilename(b,!0),q,H=0;try{if(q=await(await M.getFileHandle(N,{create:!0})).createSyncAccessHandle(),q.truncate(0),H=q.write(I,{at:0}),H!=V)c("Expected to write "+V+" bytes but wrote "+H+".");return q.write(new Uint8Array([1,1]),{at:18}),H}catch(G){if(q)await q.close(),q=void 0;throw await M.removeEntry(N).catch(()=>{}),G}finally{if(q)await q.close()}},p.vfsInstallationFeatureCheck=function(b){if(!globalThis.SharedArrayBuffer||!globalThis.Atomics)c("Cannot install OPFS: Missing SharedArrayBuffer and/or Atomics.","The server must emit the COOP/COEP response headers to enable those.","See https://sqlite.org/wasm/doc/trunk/persistence.md#coop-coep");else if(typeof WorkerGlobalScope>"u")c("The OPFS sqlite3_vfs cannot run in the main thread","because it requires Atomics.wait().");else if(!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle?.prototype?.createSyncAccessHandle||!navigator?.storage?.getDirectory)c("Missing required OPFS APIs.");else if(b==="opfs-wl"&&!globalThis.Atomics.waitAsync)c("The",b,"VFS requires Atomics.waitAsync(), which is not available.")},p.initOptions=function(I,V){let M=new URL(globalThis.location.href).searchParams;if(M.has(I+"-disable"))return;try{p.vfsInstallationFeatureCheck(I)}catch(N){return}if(V=d.nu(V),V.vfsName=I,V.verbose??=M.has("opfs-verbose")?+M.get("opfs-verbose"):1,V.sanityChecks??=M.has("opfs-sanity-check"),!p.proxyUri){if(p.proxyUri="sqlite3-opfs-async-proxy.js",f.scriptInfo?.sqlite3Dir)p.proxyUri=f.scriptInfo.sqlite3Dir+p.proxyUri}if(V.proxyUri??=p.proxyUri,typeof V.proxyUri==="function")V.proxyUri=V.proxyUri();return p.options=V},p.createVfsState=function(){let b=d.nu(),I=p.options;b.verbose=I.verbose;let V=[f.config.error,f.config.warn,f.config.log],M=I.vfsName||c("Maintenance required: missing VFS name"),N=(W,...he)=>{if(b.verbose>W)V[W](M+":",...he)},q=(...W)=>N(2,...W),H=(...W)=>N(1,...W),G=(...W)=>N(0,...W),{capi:le,wasm:O}=f,R=b.vfs=new le.sqlite3_vfs,X=R.ioMethods=new le.sqlite3_io_methods;X.$iVersion=1,R.$iVersion=2,R.$szOsFile=le.sqlite3_file.structInfo.sizeof,R.$mxPathname=1024,R.$zName=O.allocCString(M),R.addOnDispose("$zName",R.$zName,X),R.metrics=d.nu({counters:d.nu(),dump:function(){let W,he=0,be=0,me=0;for(W in b.opIds){let ve=ee[W];he+=ve.count,be+=ve.time,me+=ve.wait,ve.avgTime=ve.count&&ve.time?ve.time/ve.count:0,ve.avgWait=ve.count&&ve.wait?ve.wait/ve.count:0}f.config.log(globalThis.location.href,"metrics for",globalThis.location.href,":",ee,`
522
+ Total of`,he,"op(s) for",be,"ms (incl. "+me+" ms of waiting on the async side)"),f.config.log("Serialization metrics:",R.metrics.counters.s11n),R.worker?.postMessage?.({type:"opfs-async-metrics"})},reset:function(){let W,he=(ve)=>ve.count=ve.time=ve.wait=0,be=R.metrics.counters;for(W in b.opIds)he(be[W]=Object.create(null));let me=be.s11n=Object.create(null);me=me.serialize=Object.create(null),me.count=me.time=0,me=be.s11n.deserialize=Object.create(null),me.count=me.time=0}}),b.asyncIdleWaitTime=150,b.asyncS11nExceptions=1,b.fileBufferSize=65536,b.sabS11nOffset=b.fileBufferSize,b.sabS11nSize=R.$mxPathname*2,b.sabIO=new SharedArrayBuffer(b.fileBufferSize+b.sabS11nSize),b.opIds=Object.create(null);{let W=0;b.opIds.whichOp=W++,b.opIds.rc=W++,b.opIds.xAccess=W++,b.opIds.xClose=W++,b.opIds.xDelete=W++,b.opIds.xDeleteNoWait=W++,b.opIds.xFileSize=W++,b.opIds.xLock=W++,b.opIds.xOpen=W++,b.opIds.xRead=W++,b.opIds.xSleep=W++,b.opIds.xSync=W++,b.opIds.xTruncate=W++,b.opIds.xUnlock=W++,b.opIds.xWrite=W++,b.opIds.mkdir=W++,b.opIds["opfs-async-metrics"]=W++,b.opIds["opfs-async-shutdown"]=W++,b.opIds.retry=W++,b.sabOP=new SharedArrayBuffer(W*4)}b.sq3Codes=Object.create(null);for(let W of["SQLITE_ACCESS_EXISTS","SQLITE_ACCESS_READWRITE","SQLITE_BUSY","SQLITE_CANTOPEN","SQLITE_ERROR","SQLITE_IOERR","SQLITE_IOERR_ACCESS","SQLITE_IOERR_CLOSE","SQLITE_IOERR_DELETE","SQLITE_IOERR_FSYNC","SQLITE_IOERR_LOCK","SQLITE_IOERR_READ","SQLITE_IOERR_SHORT_READ","SQLITE_IOERR_TRUNCATE","SQLITE_IOERR_UNLOCK","SQLITE_IOERR_WRITE","SQLITE_LOCK_EXCLUSIVE","SQLITE_LOCK_NONE","SQLITE_LOCK_PENDING","SQLITE_LOCK_RESERVED","SQLITE_LOCK_SHARED","SQLITE_LOCKED","SQLITE_MISUSE","SQLITE_NOTFOUND","SQLITE_OPEN_CREATE","SQLITE_OPEN_DELETEONCLOSE","SQLITE_OPEN_MAIN_DB","SQLITE_OPEN_READONLY","SQLITE_LOCK_NONE","SQLITE_LOCK_SHARED","SQLITE_LOCK_RESERVED","SQLITE_LOCK_PENDING","SQLITE_LOCK_EXCLUSIVE"])b.sq3Codes[W]=le[W]??c("Maintenance required: not found:",W);b.opfsFlags=Object.assign(Object.create(null),{OPFS_UNLOCK_ASAP:1,OPFS_UNLINK_BEFORE_OPEN:2,defaultUnlockAsap:!1}),R.metrics.reset();let ee=R.metrics.counters,U=R.opRun=(W,...he)=>{let be=b.opIds[W]||c(R.vfsName+": Invalid op ID:",W);b.s11n.serialize(...he),Atomics.store(b.sabOPView,b.opIds.rc,-1),Atomics.store(b.sabOPView,b.opIds.whichOp,be),Atomics.notify(b.sabOPView,b.opIds.whichOp);let me=performance.now();while(Atomics.wait(b.sabOPView,b.opIds.rc,-1)!=="not-equal");let ve=Atomics.load(b.sabOPView,b.opIds.rc);if(ee[W].wait+=performance.now()-me,ve&&b.asyncS11nExceptions){let z=b.s11n.deserialize();if(z)G(W+"() async error:",...z)}return ve},J=Object.create(null);J.op=void 0,J.start=void 0;let pe=R.mTimeStart=(W)=>{J.start=performance.now(),J.op=W,++ee[W].count},S=R.mTimeEnd=()=>ee[J.op].time+=performance.now()-J.start,P=R.__openFiles=Object.create(null);R.ioSyncWrappers=d.nu({xCheckReservedLock:function(W,he){return O.poke(he,0,"i32"),0},xClose:function(W){pe("xClose");let he=0,be=P[W];if(be){if(delete P[W],he=U("xClose",W),be.sq3File)be.sq3File.dispose()}return S(),he},xDeviceCharacteristics:function(W){return le.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN},xFileControl:function(W,he,be){return le.SQLITE_NOTFOUND},xFileSize:function(W,he){pe("xFileSize");let be=U("xFileSize",W);if(be==0)try{let me=b.s11n.deserialize()[0];O.poke(he,me,"i64")}catch(me){G("Unexpected error reading xFileSize() result:",me),be=b.sq3Codes.SQLITE_IOERR}return S(),be},xRead:function(W,he,be,me){pe("xRead");let ve=P[W],z;try{if(z=U("xRead",W,be,Number(me)),z===0||le.SQLITE_IOERR_SHORT_READ===z)O.heap8u().set(ve.sabView.subarray(0,be),Number(he))}catch(g){G("xRead(",arguments,") failed:",g,ve),z=le.SQLITE_IOERR_READ}return S(),z},xSync:function(W,he){pe("xSync");let be=U("xSync",W,he);return S(),be},xTruncate:function(W,he){pe("xTruncate");let be=U("xTruncate",W,Number(he));return S(),be},xWrite:function(W,he,be,me){pe("xWrite");let ve=P[W],z;try{ve.sabView.set(O.heap8u().subarray(Number(he),Number(he)+be)),z=U("xWrite",W,be,Number(me))}catch(g){G("xWrite(",arguments,") failed:",g,ve),z=le.SQLITE_IOERR_WRITE}return S(),z}}),R.vfsSyncWrappers={xAccess:function(W,he,be,me){pe("xAccess");let ve=U("xAccess",O.cstrToJs(he));return O.poke(me,ve?0:1,"i32"),S(),0},xCurrentTime:function(W,he){return O.poke(he,2440587.5+new Date().getTime()/86400000,"double"),0},xCurrentTimeInt64:function(W,he){return O.poke(he,210866760000000+new Date().getTime(),"i64"),0},xDelete:function(W,he,be){pe("xDelete");let me=U("xDelete",O.cstrToJs(he),be,!1);return S(),me},xFullPathname:function(W,he,be,me){return O.cstrncpy(me,he,be)<be?0:le.SQLITE_CANTOPEN},xGetLastError:function(W,he,be){return f.config.warn("OPFS xGetLastError() has nothing sensible to return."),0},xOpen:function(he,be,me,ve,z){pe("xOpen");let g=0,w,T;if(!be)w=p.randomFilename(),be=T=O.allocCString(w);else if(O.isPtr(be)){if(le.sqlite3_uri_boolean(be,"opfs-unlock-asap",0))g|=b.opfsFlags.OPFS_UNLOCK_ASAP;if(le.sqlite3_uri_boolean(be,"delete-before-open",0))g|=b.opfsFlags.OPFS_UNLINK_BEFORE_OPEN;w=O.cstrToJs(be)}else return f.config.error("Impossible zName value in xOpen?",be),le.SQLITE_CANTOPEN;let C=d.nu({fid:me,filename:w,sab:new SharedArrayBuffer(b.fileBufferSize),flags:ve,readOnly:!(le.SQLITE_OPEN_CREATE&ve)&&!!(ve&le.SQLITE_OPEN_READONLY)}),te=U("xOpen",me,w,ve,g);if(te){if(T)O.dealloc(T)}else{if(C.readOnly)O.poke(z,le.SQLITE_OPEN_READONLY,"i32");if(P[me]=C,C.sabView=b.sabFileBufView,C.sq3File=new le.sqlite3_file(me),T)C.sq3File.addOnDispose(T);C.sq3File.$pMethods=X.pointer,C.lockType=le.SQLITE_LOCK_NONE}return S(),te}};let K=le.sqlite3_vfs_find(null);if(K){let W=new le.sqlite3_vfs(K);R.$xRandomness=W.$xRandomness,R.$xSleep=W.$xSleep,W.dispose()}if(!R.$xRandomness)R.vfsSyncWrappers.xRandomness=function(W,he,be){let me=O.heap8u(),ve=0,z=Number(be);for(;ve<he;++ve)me[z+ve]=Math.random()*255000&255;return ve};if(!R.$xSleep)R.vfsSyncWrappers.xSleep=function(W,he){return pe("xSleep"),Atomics.wait(b.sabOPView,b.opIds.xSleep,0,he),S(),0};let oe=function(){if(b.s11n)return b.s11n;let W=new TextDecoder,he=new TextEncoder("utf-8"),be=new Uint8Array(b.sabIO,b.sabS11nOffset,b.sabS11nSize),me=new DataView(b.sabIO,b.sabS11nOffset,b.sabS11nSize);b.s11n=Object.create(null);let ve=Object.create(null);ve.number={id:1,size:8,getter:"getFloat64",setter:"setFloat64"},ve.bigint={id:2,size:8,getter:"getBigInt64",setter:"setBigInt64"},ve.boolean={id:3,size:4,getter:"getInt32",setter:"setInt32"},ve.string={id:4};let z=(w)=>ve[typeof w]||c("Maintenance required: this value type cannot be serialized.",w),g=(w)=>{switch(w){case ve.number.id:return ve.number;case ve.bigint.id:return ve.bigint;case ve.boolean.id:return ve.boolean;case ve.string.id:return ve.string;default:c("Invalid type ID:",w)}};return b.s11n.deserialize=function(w=!1){performance.now();let T=be[0],C=T?[]:null;if(T){let te=[],se=1,A,L,Q;for(A=0;A<T;++A,++se)te.push(g(be[se]));for(A=0;A<T;++A){let ne=te[A];if(ne.getter)Q=me[ne.getter](se,b.littleEndian),se+=ne.size;else L=me.getInt32(se,b.littleEndian),se+=4,Q=W.decode(be.slice(se,se+L)),se+=L;C.push(Q)}}if(w)be[0]=0;return C},b.s11n.serialize=function(...w){if(performance.now(),w.length){let T=[],C=0,te=1;be[0]=w.length&255;for(;C<w.length;++C,++te)T.push(z(w[C])),be[te]=T[C].id;for(C=0;C<w.length;++C){let se=T[C];if(se.setter)me[se.setter](te,w[C],b.littleEndian),te+=se.size;else{let A=he.encode(w[C]);me.setInt32(te,A.byteLength,b.littleEndian),te+=4,be.set(A,te),te+=A.byteLength}}}else be[0]=0},b.s11n};return R.initS11n=oe,R.bindVfs=function(W,he){return Object.assign(R.ioSyncWrappers,W),new Promise(function(be,me){let ve=void 0,z=(A)=>(ve=!0,R.dispose(),me(A)),g=()=>{try{he(f,R)}catch(A){return z(A)}return ve=!1,be(f)},w=p.options;w.proxyUri+(w.proxyUri.indexOf("?")<0?"?":"&")+M;let T=new URL("sqlite3-opfs-async-proxy.js",import.meta.url);T.searchParams.set("vfs",M);let C=R.worker=new Worker(T.toString()),te=setTimeout(()=>{if(ve===void 0)z(Error("Timeout while waiting for OPFS async proxy worker."))},4000);C._originalOnError=C.onerror,C.onerror=function(A){G("Error initializing OPFS asyncer:",A),z(Error("Loading OPFS async Worker failed for unknown reasons."))},R.opRun;let se=function(){let A=O.scopedAllocPush(),L=new le.sqlite3_file;try{let Q=L.pointer,ne=le.SQLITE_OPEN_CREATE|le.SQLITE_OPEN_READWRITE|le.SQLITE_OPEN_MAIN_DB,ye=O.scopedAlloc(8),Te="/sanity/check/file"+randomFilename(8),Ie=O.scopedAllocCString(Te),qe;if(b.s11n.serialize("This is ä string."),qe=b.s11n.deserialize(),q("deserialize() says:",qe),qe[0]!=="This is ä string.")c("String d13n error.");if(R.vfsSyncWrappers.xAccess(R.pointer,Ie,0,ye),qe=O.peek(ye,"i32"),q("xAccess(",Te,") exists ?=",qe),qe=R.vfsSyncWrappers.xOpen(R.pointer,Ie,Q,ne,ye),q("open rc =",qe,"state.sabOPView[xOpen] =",b.sabOPView[b.opIds.xOpen]),qe!==0){G("open failed with code",qe);return}if(R.vfsSyncWrappers.xAccess(R.pointer,Ie,0,ye),qe=O.peek(ye,"i32"),!qe)c("xAccess() failed to detect file.");if(qe=R.ioSyncWrappers.xSync(L.pointer,0),qe)c("sync failed w/ rc",qe);if(qe=R.ioSyncWrappers.xTruncate(L.pointer,1024),qe)c("truncate failed w/ rc",qe);if(O.poke(ye,0,"i64"),qe=R.ioSyncWrappers.xFileSize(L.pointer,ye),qe)c("xFileSize failed w/ rc",qe);if(q("xFileSize says:",O.peek(ye,"i64")),qe=R.ioSyncWrappers.xWrite(L.pointer,Ie,10,1),qe)c("xWrite() failed!");let Ge=O.scopedAlloc(16);qe=R.ioSyncWrappers.xRead(L.pointer,Ge,6,2),O.poke(Ge+6,0);let ct=O.cstrToJs(Ge);if(q("xRead() got:",ct),ct!=="sanity")c("Unexpected xRead() value.");if(R.vfsSyncWrappers.xSleep)q("xSleep()ing before close()ing..."),R.vfsSyncWrappers.xSleep(R.pointer,2000),q("waking up from xSleep()");if(qe=R.ioSyncWrappers.xClose(Q),q("xClose rc =",qe,"sabOPView =",b.sabOPView),q("Deleting file:",Te),R.vfsSyncWrappers.xDelete(R.pointer,Ie,4660),R.vfsSyncWrappers.xAccess(R.pointer,Ie,0,ye),qe=O.peek(ye,"i32"),qe)c("Expecting 0 from xAccess(",Te,") after xDelete().");H("End of OPFS sanity checks.")}finally{L.dispose(),O.scopedAllocPop(A)}};C.onmessage=function({data:A}){switch(A.type){case"opfs-unavailable":z(Error(A.payload.join(" ")));break;case"opfs-async-loaded":delete b.vfs,C.postMessage({type:"opfs-async-init",args:d.nu(b)});break;case"opfs-async-inited":if(ve===!0)break;clearTimeout(te),te=null;try{if(f.vfs.installVfs({io:{struct:R.ioMethods,methods:R.ioSyncWrappers},vfs:{struct:R,methods:R.vfsSyncWrappers}}),b.sabOPView=new Int32Array(b.sabOP),b.sabFileBufView=new Uint8Array(b.sabIO,0,b.fileBufferSize),b.sabS11nView=new Uint8Array(b.sabIO,b.sabS11nOffset,b.sabS11nSize),R.initS11n(),delete R.initS11n,w.sanityChecks)H("Running sanity checks because of opfs-sanity-check URL arg..."),se();if(p.thisThreadHasOPFS())p.getRootDir().then((L)=>{C.onerror=C._originalOnError,delete C._originalOnError,q("End of OPFS sqlite3_vfs setup.",R),g()}).catch(z);else g()}catch(L){G(L),z(L)}break;case"debug":H("debug message from worker:",A);break;default:{let L="Unexpected message from the OPFS async worker: "+JSON.stringify(A);G(L),z(Error(L));break}}}})},b}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(!f.opfs||f.config.disable?.vfs?.opfs)return;let c=f.util,d=f.opfs||f.util.toss("Missing sqlite3.opfs"),p=async function(E){if(E=d.initOptions("opfs",E),!E)return f;let b=f.capi,I=d.createVfsState().vfs,V=I.metrics.counters,{mTimeStart:M,mTimeEnd:N,opRun:q,__openFiles:H}=I;return I.bindVfs(c.nu({xLock:function(G,le){M("xLock"),++V.xLock.count;let O=H[G],R=0;if(O.lockType)O.lockType=le;else if(R=q("xLock",G,le),R===0)O.lockType=le;return N(),R},xUnlock:function(G,le){M("xUnlock"),++V.xUnlock.count;let O=H[G],R=0;if(b.SQLITE_LOCK_NONE===le&&O.lockType)R=q("xUnlock",G,le);if(R===0)O.lockType=le;return N(),R}}),function(G,le){if(G.oo1){let O=function(...R){let X=G.oo1.DB.dbCtorHelper.normalizeArgs(...R);X.vfs=le.$zName,G.oo1.DB.dbCtorHelper.call(this,X)};O.prototype=Object.create(G.oo1.DB.prototype),G.oo1.OpfsDb=O,O.importDb=d.importDb,G.oo1.DB.dbCtorHelper.setVfsPostOpenCallback(I.pointer,function(R,X){X.capi.sqlite3_busy_timeout(R,1e4)})}})};globalThis.sqlite3ApiBootstrap.initializersAsync.push(async(E)=>p().catch((b)=>{E.config.warn("Ignoring inability to install 'opfs' sqlite3_vfs:",b)}))}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(f.config.disable?.vfs?.["opfs-sahpool"])return;let c=f.util.toss,d=f.util.toss3,p=Object.create(null),{capi:E,util:b,wasm:I}=f,V=4096,M=512,N=4,q=8,H=M+N,G=M,le=H,O=V,R=E.SQLITE_OPEN_MAIN_DB|E.SQLITE_OPEN_MAIN_JOURNAL|E.SQLITE_OPEN_SUPER_JOURNAL|E.SQLITE_OPEN_WAL,X=E.SQLITE_OPEN_MEMORY,ee=".opaque",U=()=>Math.random().toString(36).slice(2),J=new TextDecoder,pe=new TextEncoder,S=Object.assign(Object.create(null),{name:"opfs-sahpool",directory:void 0,initialCapacity:6,clearOnInit:!1,verbosity:2,forceReinitIfPreviouslyFailed:!1}),P=[f.config.error,f.config.warn,f.config.log];f.config.log;let K=f.config.warn;f.config.error;let oe=new Map,W=(A)=>oe.get(A),he=(A,L)=>{if(L)oe.set(A,L);else oe.delete(A)},be=new Map,me=(A)=>be.get(A),ve=(A,L)=>{if(L)be.set(A,L);else be.delete(A)},z={xCheckReservedLock:function(A,L){let Q=me(A);return Q.log("xCheckReservedLock"),Q.storeErr(),I.poke32(L,1),0},xClose:function(A){let L=me(A);L.storeErr();let Q=L.getOFileForS3File(A);if(Q)try{if(L.log(`xClose ${Q.path}`),L.mapS3FileToOFile(A,!1),Q.sah.flush(),Q.flags&E.SQLITE_OPEN_DELETEONCLOSE)L.deletePath(Q.path)}catch(ne){return L.storeErr(ne,E.SQLITE_IOERR)}return 0},xDeviceCharacteristics:function(A){return E.SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN},xFileControl:function(A,L,Q){return E.SQLITE_NOTFOUND},xFileSize:function(A,L){let Q=me(A);Q.log("xFileSize");let ne=Q.getOFileForS3File(A).sah.getSize()-O;return I.poke64(L,BigInt(ne)),0},xLock:function(A,L){let Q=me(A);Q.log(`xLock ${L}`),Q.storeErr();let ne=Q.getOFileForS3File(A);return ne.lockType=L,0},xRead:function(A,L,Q,ne){let ye=me(A);ye.storeErr();let Te=ye.getOFileForS3File(A);ye.log(`xRead ${Te.path} ${Q} @ ${ne}`);try{let Ie=Te.sah.read(I.heap8u().subarray(Number(L),Number(L)+Q),{at:O+Number(ne)});if(Ie<Q)return I.heap8u().fill(0,Number(L)+Ie,Number(L)+Q),E.SQLITE_IOERR_SHORT_READ;return 0}catch(Ie){return ye.storeErr(Ie,E.SQLITE_IOERR)}},xSectorSize:function(A){return V},xSync:function(A,L){let Q=me(A);Q.log(`xSync ${L}`),Q.storeErr();let ne=Q.getOFileForS3File(A);try{return ne.sah.flush(),0}catch(ye){return Q.storeErr(ye,E.SQLITE_IOERR)}},xTruncate:function(A,L){let Q=me(A);Q.log(`xTruncate ${L}`),Q.storeErr();let ne=Q.getOFileForS3File(A);try{return ne.sah.truncate(O+Number(L)),0}catch(ye){return Q.storeErr(ye,E.SQLITE_IOERR)}},xUnlock:function(A,L){let Q=me(A);Q.log("xUnlock");let ne=Q.getOFileForS3File(A);return ne.lockType=L,0},xWrite:function(A,L,Q,ne){let ye=me(A);ye.storeErr();let Te=ye.getOFileForS3File(A);ye.log(`xWrite ${Te.path} ${Q} ${ne}`);try{return Q===Te.sah.write(I.heap8u().subarray(Number(L),Number(L)+Q),{at:O+Number(ne)})?0:c("Unknown write() failure.")}catch(Ie){return ye.storeErr(Ie,E.SQLITE_IOERR)}}},g=new E.sqlite3_io_methods;g.$iVersion=1,f.vfs.installVfs({io:{struct:g,methods:z}});let w={xAccess:function(A,L,Q,ne){let ye=W(A);ye.storeErr();try{let Te=ye.getPath(L);I.poke32(ne,ye.hasFilename(Te)?1:0)}catch(Te){I.poke32(ne,0)}return 0},xCurrentTime:function(A,L){return I.poke(L,2440587.5+new Date().getTime()/86400000,"double"),0},xCurrentTimeInt64:function(A,L){return I.poke(L,210866760000000+new Date().getTime(),"i64"),0},xDelete:function(A,L,Q){let ne=W(A);ne.log(`xDelete ${I.cstrToJs(L)}`),ne.storeErr();try{return ne.deletePath(ne.getPath(L)),0}catch(ye){return ne.storeErr(ye),E.SQLITE_IOERR_DELETE}},xFullPathname:function(A,L,Q,ne){return I.cstrncpy(ne,L,Q)<Q?0:E.SQLITE_CANTOPEN},xGetLastError:function(A,L,Q){let ne=W(A),ye=ne.popErr();if(ne.log(`xGetLastError ${L} e =`,ye),ye){let Te=I.scopedAllocPush();try{let[Ie,qe]=I.scopedAllocCString(ye.message,!0);if(I.cstrncpy(Q,Ie,L),qe>L)I.poke8(I.ptr.add(Q,L,-1),0)}catch(Ie){return E.SQLITE_NOMEM}finally{I.scopedAllocPop(Te)}}return ye?ye.sqlite3Rc||E.SQLITE_IOERR:0},xOpen:function(L,Q,ne,ye,Te){let Ie=W(L);try{ye&=~X,Ie.log(`xOpen ${I.cstrToJs(Q)} ${ye}`);let qe=Q&&I.peek8(Q)?Ie.getPath(Q):U(),Ge=Ie.getSAHForPath(qe);if(!Ge&&ye&E.SQLITE_OPEN_CREATE)if(Ie.getFileCount()<Ie.getCapacity())Ge=Ie.nextAvailableSAH(),Ie.setAssociatedPath(Ge,qe,ye);else c("SAH pool is full. Cannot create file",qe);if(!Ge)c("file not found:",qe);let ct={path:qe,flags:ye,sah:Ge};Ie.mapS3FileToOFile(ne,ct),ct.lockType=E.SQLITE_LOCK_NONE;let zt=new E.sqlite3_file(ne);return zt.$pMethods=g.pointer,zt.dispose(),I.poke32(Te,ye),0}catch(qe){return Ie.storeErr(qe),E.SQLITE_CANTOPEN}}},T=function(A){if(f.capi.sqlite3_vfs_find(A))d("VFS name is already registered:",A);let L=new E.sqlite3_vfs,Q=E.sqlite3_vfs_find(null),ne=Q?new E.sqlite3_vfs(Q):null;if(L.$iVersion=2,L.$szOsFile=E.sqlite3_file.structInfo.sizeof,L.$mxPathname=M,L.addOnDispose(L.$zName=I.allocCString(A),()=>he(L.pointer,0)),ne)L.$xRandomness=ne.$xRandomness,L.$xSleep=ne.$xSleep,ne.dispose();if(!L.$xRandomness&&!w.xRandomness)w.xRandomness=function(ye,Te,Ie){let qe=I.heap8u(),Ge=0,ct=Number(Ie);for(;Ge<Te;++Ge)qe[ct+Ge]=Math.random()*255000&255;return Ge};if(!L.$xSleep&&!w.xSleep)w.xSleep=(ye,Te)=>0;return f.vfs.installVfs({vfs:{struct:L,methods:w}}),L};class C{vfsDir;#e;#o;#i;#t=new Map;#r=new Map;#s=new Set;#c=new Map;#n=new Uint8Array(H);#l;#a;#d;constructor(A=Object.create(null)){this.#d=A.verbosity??S.verbosity,this.vfsName=A.name||S.name,this.#a=T(this.vfsName),he(this.#a.pointer,this),this.vfsDir=A.directory||"."+this.vfsName,this.#l=new DataView(this.#n.buffer,this.#n.byteOffset),this.isReady=this.reset(!!(A.clearOnInit??S.clearOnInit)).then(()=>{if(this.$error)throw this.$error;return this.getCapacity()?Promise.resolve(void 0):this.addCapacity(A.initialCapacity||S.initialCapacity)})}#u(A,...L){if(this.#d>A)P[A](this.vfsName+":",...L)}log(...A){this.#u(2,...A)}warn(...A){this.#u(1,...A)}error(...A){this.#u(0,...A)}getVfs(){return this.#a}getCapacity(){return this.#t.size}getFileCount(){return this.#r.size}getFileNames(){let A=[];for(let L of this.#r.keys())A.push(L);return A}async addCapacity(A){for(let L=0;L<A;++L){let Q=U(),ne=await(await this.#o.getFileHandle(Q,{create:!0})).createSyncAccessHandle();this.#t.set(ne,Q),this.setAssociatedPath(ne,"",0)}return this.getCapacity()}async reduceCapacity(A){let L=0;for(let Q of Array.from(this.#s)){if(L===A||this.getFileCount()===this.getCapacity())break;let ne=this.#t.get(Q);Q.close(),await this.#o.removeEntry(ne),this.#t.delete(Q),this.#s.delete(Q),++L}return L}releaseAccessHandles(){for(let A of this.#t.keys())A.close();this.#t.clear(),this.#r.clear(),this.#s.clear()}async acquireAccessHandles(A=!1){let L=[];for await(let[Q,ne]of this.#o)if(ne.kind==="file")L.push([Q,ne]);return Promise.all(L.map(async([Q,ne])=>{try{let ye=await ne.createSyncAccessHandle();if(this.#t.set(ye,Q),A)ye.truncate(O),this.setAssociatedPath(ye,"",0);else{let Te=this.getAssociatedPath(ye);if(Te)this.#r.set(Te,ye);else this.#s.add(ye)}}catch(ye){throw this.storeErr(ye),this.releaseAccessHandles(),ye}}))}getAssociatedPath(A){A.read(this.#n,{at:0});let L=this.#l.getUint32(G);if(this.#n[0]&&(L&E.SQLITE_OPEN_DELETEONCLOSE||(L&R)===0))return K(`Removing file with unexpected flags ${L.toString(16)}`,this.#n),this.setAssociatedPath(A,"",0),"";let Q=new Uint32Array(q/4);A.read(Q,{at:le});let ne=this.computeDigest(this.#n,L);if(Q.every((ye,Te)=>ye===ne[Te])){let ye=this.#n.findIndex((Te)=>Te===0);if(ye===0)A.truncate(O);return ye?J.decode(this.#n.subarray(0,ye)):""}else return K("Disassociating file with bad digest."),this.setAssociatedPath(A,"",0),""}setAssociatedPath(A,L,Q){let ne=pe.encodeInto(L,this.#n);if(M<=ne.written+1)c("Path too long:",L);if(L&&Q)Q|=X;this.#n.fill(0,ne.written,M),this.#l.setUint32(G,Q);let ye=this.computeDigest(this.#n,Q);if(A.write(this.#n,{at:0}),A.write(ye,{at:le}),A.flush(),L)this.#r.set(L,A),this.#s.delete(A);else A.truncate(O),this.#s.add(A)}computeDigest(A,L){if(L&X){let Q=3735928559,ne=1103547991;for(let ye of A)Q=Math.imul(Q^ye,2654435761),ne=Math.imul(ne^ye,104729);return new Uint32Array([Q>>>0,ne>>>0])}else return new Uint32Array([0,0])}async reset(A){await this.isReady;let L=await navigator.storage.getDirectory(),Q;for(let ne of this.vfsDir.split("/"))if(ne)Q=L,L=await L.getDirectoryHandle(ne,{create:!0});return this.#e=L,this.#i=Q,this.#o=await this.#e.getDirectoryHandle(ee,{create:!0}),this.releaseAccessHandles(),this.acquireAccessHandles(A)}getPath(A){if(I.isPtr(A))A=I.cstrToJs(A);return(A instanceof URL?A:new URL(A,"file://localhost/")).pathname}deletePath(A){let L=this.#r.get(A);if(L)this.#r.delete(A),this.setAssociatedPath(L,"",0);return!!L}storeErr(A,L){if(A)A.sqlite3Rc=L||E.SQLITE_IOERR,this.error(A);return this.$error=A,L}popErr(){let A=this.$error;return this.$error=void 0,A}nextAvailableSAH(){let[A]=this.#s.keys();return A}getOFileForS3File(A){return this.#c.get(A)}mapS3FileToOFile(A,L){if(L)this.#c.set(A,L),ve(A,this);else this.#c.delete(A),ve(A,!1)}hasFilename(A){return this.#r.has(A)}getSAHForPath(A){return this.#r.get(A)}async removeVfs(){if(!this.#a.pointer||!this.#o)return!1;E.sqlite3_vfs_unregister(this.#a.pointer),this.#a.dispose(),delete p[this.vfsName];try{this.releaseAccessHandles(),await this.#e.removeEntry(ee,{recursive:!0}),this.#o=void 0,await this.#i.removeEntry(this.#e.name,{recursive:!0}),this.#e=this.#i=void 0}catch(A){f.config.error(this.vfsName,"removeVfs() failed with no recovery strategy:",A)}return!0}pauseVfs(){if(this.#c.size>0)f.SQLite3Error.toss(E.SQLITE_MISUSE,"Cannot pause VFS",this.vfsName,"because it has opened files.");if(this.#t.size>0)E.sqlite3_vfs_unregister(this.vfsName),this.releaseAccessHandles();return this}isPaused(){return this.#t.size===0}async unpauseVfs(){if(this.#t.size===0)return this.acquireAccessHandles(!1).then(()=>E.sqlite3_vfs_register(this.#a,0),this);return this}exportFile(A){//! Documented elsewhere in this file.
523
+ let L=this.#r.get(A)||c("File not found:",A),Q=L.getSize()-O,ne=new Uint8Array(Q>0?Q:0);if(Q>0){let ye=L.read(ne,{at:O});if(ye!=Q)c("Expected to read "+Q+" bytes but read "+ye+".")}return ne}async importDbChunked(A,L){//! Impl for importDb() when its 2nd arg is a function.
524
+ let Q=this.#r.get(A)||this.nextAvailableSAH()||c("No available handles to import to.");Q.truncate(0);let ne=0,ye,Te=!1;try{while((ye=await L())!==void 0){if(ye instanceof ArrayBuffer)ye=new Uint8Array(ye);if(!Te&&ne===0&&ye.byteLength>=15)b.affirmDbHeader(ye),Te=!0;Q.write(ye,{at:O+ne}),ne+=ye.byteLength}if(ne<512||ne%512!==0)c("Input size",ne,"is not correct for an SQLite database.");if(!Te){let Ie=new Uint8Array(20);Q.read(Ie,{at:0}),b.affirmDbHeader(Ie)}Q.write(new Uint8Array([1,1]),{at:O+18})}catch(Ie){throw this.setAssociatedPath(Q,"",0),Ie}return this.setAssociatedPath(Q,A,E.SQLITE_OPEN_MAIN_DB),ne}importDb(A,L){//! Documented elsewhere in this file.
525
+ if(L instanceof ArrayBuffer)L=new Uint8Array(L);else if(L instanceof Function)return this.importDbChunked(A,L);let Q=this.#r.get(A)||this.nextAvailableSAH()||c("No available handles to import to."),ne=L.byteLength;if(ne<512||ne%512!=0)c("Byte array size is invalid for an SQLite db.");let ye="SQLite format 3";for(let Ie=0;Ie<15;++Ie)if(ye.charCodeAt(Ie)!==L[Ie])c("Input does not contain an SQLite database header.");let Te=Q.write(L,{at:O});if(Te!=ne)this.setAssociatedPath(Q,"",0),c("Expected to write "+ne+" bytes but wrote "+Te+".");else Q.write(new Uint8Array([1,1]),{at:O+18}),this.setAssociatedPath(Q,A,E.SQLITE_OPEN_MAIN_DB);return Te}}class te{#e;constructor(A){this.#e=A,this.vfsName=A.vfsName}async addCapacity(A){return this.#e.addCapacity(A)}async reduceCapacity(A){return this.#e.reduceCapacity(A)}getCapacity(){return this.#e.getCapacity(this.#e)}getFileCount(){return this.#e.getFileCount()}getFileNames(){return this.#e.getFileNames()}async reserveMinimumCapacity(A){let L=this.#e.getCapacity();return L<A?this.#e.addCapacity(A-L):L}exportFile(A){return this.#e.exportFile(A)}importDb(A,L){return this.#e.importDb(A,L)}async wipeFiles(){return this.#e.reset(!0)}unlink(A){return this.#e.deletePath(A)}async removeVfs(){return this.#e.removeVfs()}pauseVfs(){return this.#e.pauseVfs(),this}async unpauseVfs(){return this.#e.unpauseVfs().then(()=>this)}isPaused(){return this.#e.isPaused()}}let se=async()=>{let A=await navigator.storage.getDirectory(),L=".opfs-sahpool-sync-check-"+U(),Q=(await(await A.getFileHandle(L,{create:!0})).createSyncAccessHandle()).close();if(await Q,await A.removeEntry(L),Q?.then)c("The local OPFS API is too old for opfs-sahpool:","it has an async FileSystemSyncAccessHandle.close() method.");return!0};f.installOpfsSAHPoolVfs=async function(A=Object.create(null)){A=Object.assign(Object.create(null),S,A||{});let L=A.name;if(A.$testThrowPhase1)throw A.$testThrowPhase1;if(p[L])try{return await p[L]}catch(Q){if(A.forceReinitIfPreviouslyFailed)delete p[L];else throw Q}if(!globalThis.FileSystemHandle||!globalThis.FileSystemDirectoryHandle||!globalThis.FileSystemFileHandle||!globalThis.FileSystemFileHandle.prototype.createSyncAccessHandle||!navigator?.storage?.getDirectory)return p[L]=Promise.reject(Error("Missing required OPFS APIs."));return p[L]=se().then(async function(){if(A.$testThrowPhase2)throw A.$testThrowPhase2;let Q=new C(A);return Q.isReady.then(async()=>{let ne=new te(Q);if(f.oo1){let ye=f.oo1,Te=Q.getVfs(),Ie=function(...qe){let Ge=ye.DB.dbCtorHelper.normalizeArgs(...qe);Ge.vfs=Te.$zName,ye.DB.dbCtorHelper.call(this,Ge)};Ie.prototype=Object.create(ye.DB.prototype),ne.OpfsSAHPoolDb=Ie}return Q.log("VFS initialized."),ne}).catch(async(ne)=>{throw await Q.removeVfs().catch(()=>{}),ne})}).catch((Q)=>p[L]=Promise.reject(Q))}}),globalThis.sqlite3ApiBootstrap.initializers.push(function(f){if(!f.opfs||f.config.disable?.vfs?.["opfs-wl"])return;let c=f.util;f.util.toss;let d=f.opfs,p="opfs-wl",E=async function(b){if(b=d.initOptions(p,b),!b)return f;f.capi;let I=d.createVfsState().vfs;I.metrics.counters;let{mTimeStart:V,mTimeEnd:M,opRun:N,__openFiles:q}=I;return I.bindVfs(c.nu({xLock:function(H,G){V("xLock");let le=q[H],O=N("xLock",H,G);if(!O)le.lockType=G;return M(),O},xUnlock:function(H,G){V("xUnlock");let le=q[H],O=N("xUnlock",H,G);if(!O)le.lockType=G;return M(),O}}),function(H,G){if(H.oo1){let le=function(...O){let R=H.oo1.DB.dbCtorHelper.normalizeArgs(...O);R.vfs=G.$zName,H.oo1.DB.dbCtorHelper.call(this,R)};le.prototype=Object.create(H.oo1.DB.prototype),H.oo1.OpfsWlDb=le,le.importDb=d.importDb}})};globalThis.sqlite3ApiBootstrap.initializersAsync.push(async(b)=>E().catch((I)=>{b.config.warn("Ignoring inability to install the",p,"sqlite3_vfs:",I)}))});try{let f=Object.assign(Object.create(null),{memory:typeof cr<"u"?cr:l.wasmMemory,exports:typeof tn<"u"?tn:Object.prototype.hasOwnProperty.call(l,"wasmExports")?l.wasmExports:l.asm},globalThis.sqlite3ApiBootstrap.defaultConfig,globalThis.sqlite3ApiConfig||{});i.debugModule("Bootstrapping lib config",f);let c=globalThis.sqlite3ApiBootstrap(f);return delete globalThis.sqlite3ApiBootstrap,c}catch(f){throw console.error("sqlite3ApiBootstrap() error:",f),f}},Le)t=r;else t=new Promise((i,l)=>{de=i,ge=l});return t}Li=function(){let e=Li;if(!e)throw Error("Expecting sqlite3InitModule to be defined by the Emscripten build.");let t=globalThis.sqlite3InitModuleState=Object.assign(Object.create(null),{moduleScript:globalThis?.document?.currentScript,isWorker:typeof WorkerGlobalScope<"u",location:globalThis.location,urlParams:globalThis?.location?.href?new URL(globalThis.location.href).searchParams:new URLSearchParams,wasmFilename:"sqlite3.wasm"});if(t.debugModule=t.urlParams.has("sqlite3.debugModule")?(...n)=>console.warn("sqlite3.debugModule:",...n):()=>{},t.urlParams.has("sqlite3.dir"))t.sqlite3Dir=t.urlParams.get("sqlite3.dir")+"/";else if(t.moduleScript){let n=t.moduleScript.src.split("/");n.pop(),t.sqlite3Dir=n.join("/")+"/"}let r=globalThis.sqlite3InitModule=function n(...o){return t.emscriptenLocateFile=o[0]?.locateFile,t.emscriptenInstantiateWasm=o[0]?.instantiateWasm,e(...o).then((s)=>{t.debugModule("sqlite3InitModule() sIMS =",t),t.debugModule("sqlite3InitModule() EmscriptenModule =",s);let a=s.runSQLite3PostLoadInit(t,s,!!n.__isUnderTest);return t.debugModule("sqlite3InitModule() sqlite3 =",a),a}).catch((s)=>{throw console.error("Exception loading sqlite3 module:",s),s})};if(r.ready=e.ready,t.moduleScript){let n=t.moduleScript.src.split("/");n.pop(),t.scriptDir=n.join("/")+"/"}return t.debugModule("extern-post-js.c-pp.js sqlite3InitModuleState =",t),r}();var Ic=Li;class zi{db;txDepth=0;constructor(e){this.db=e}query(e){let t=this.db;return{get(...r){return t.selectObject(e,$i(r))??null},all(...r){return t.selectObjects(e,$i(r))},run(...r){return t.exec({sql:e,bind:$i(r)}),{changes:t.changes()}}}}exec(e){this.db.exec({sql:e})}transaction(e){return(...t)=>{let r=`mh_tx_${this.txDepth}`;this.exec(this.txDepth===0?"BEGIN":`SAVEPOINT ${r}`),this.txDepth++;try{let n=e(...t);return this.txDepth--,this.exec(this.txDepth===0?"COMMIT":`RELEASE ${r}`),n}catch(n){throw this.txDepth--,this.exec(this.txDepth===0?"ROLLBACK":`ROLLBACK TO ${r}; RELEASE ${r}`),n}}}}function $i(e){if(e.length===0)return;return e.map((t)=>t===void 0?null:t)}Po();Gt();wt();Ye();dt();zn();ra();io();Fn();var fg=(e)=>{let t=/^[a-z0-9+]+:\/\/([^/]+)/i.exec(e);return t?t[1]:e};function wv(e,t,r,n,o,s){let a=e.kind==="s3",u=a?n:r,_=Math.max(0,u-e.pushCursor),m=a?["backend"]:["replica"],x=a?e.url:e.nodeId;if(x&&t.includes(x))m.push("blob_anchor");if(a&&e.publish)m.push("publisher");return{kind:a?"bucket":"device",url:e.url,label:e.label??(a?e.bucket??fg(e.url):fg(e.url)),freshness:!e.enabled?"disabled":e.lastStatus==="error"?"error":e.lastSuccessAt==null?"never":_>0?"behind":o-e.lastSuccessAt>s?"stale":"current",syncedAt:e.lastSuccessAt,error:e.lastStatus==="error"?e.lastError??null:null,acknowledgedSeq:e.pushCursor,highWaterSeq:u,lag:_,roles:m}}function za(e){let t={kind:"self",url:null,label:e.selfLabel??"本机",freshness:"live",syncedAt:null,error:null,acknowledgedSeq:e.globalHighWaterSeq,highWaterSeq:e.globalHighWaterSeq,lag:0,roles:e.blobFullNodes.includes(e.selfNodeId)?["replica","blob_anchor"]:["replica"]},r=(a)=>a==="current"?0:a==="stale"?1:a==="behind"?2:a==="error"?3:a==="never"?4:5,n=e.now??Date.now(),o=e.staleAfterMs??86400000,s=e.peers.map((a)=>wv(a,e.blobFullNodes,e.globalHighWaterSeq,e.ownHighWaterSeq,n,o)).sort((a,u)=>Number(a.kind==="bucket")-Number(u.kind==="bucket")||r(a.freshness)-r(u.freshness)||a.label.localeCompare(u.label));return[t,...s]}function pg(e){let r=za(e).filter((_)=>_.kind!=="self"&&_.freshness!=="disabled"),n=r.filter((_)=>_.syncedAt!=null&&_.acknowledgedSeq>=_.highWaterSeq),o=n.length?n.reduce((_,m)=>_==null||(m.syncedAt??0)<_?m.syncedAt:_,null):null,s=r.reduce((_,m)=>Math.max(_,m.lag),0),a=[];if(r.length===0)a.push({kind:"no_backup",placeUrl:null,placeLabel:null,message:null});for(let _ of r)if(_.freshness==="error")a.push({kind:"peer_error",placeUrl:_.url,placeLabel:_.label,message:_.error});if(e.pendingBlobCount>0)a.push({kind:"pending_blobs",placeUrl:null,placeLabel:null,message:null});for(let _ of r)if(_.freshness==="behind")a.push({kind:"behind",placeUrl:_.url,placeLabel:_.label,message:null});for(let _ of r)if(_.freshness==="never")a.push({kind:"never_synced",placeUrl:_.url,placeLabel:_.label,message:null});for(let _ of r)if(_.freshness==="stale")a.push({kind:"stale",placeUrl:_.url,placeLabel:_.label,message:null});let u={places:1+n.length,pendingBlobCount:e.pendingBlobCount,pendingBlobBytes:e.pendingBlobBytes,pendingChanges:s,oldestSyncedAt:o,issues:a};if(r.length===0)return{state:"no_backup",...u};if(r.some((_)=>_.freshness==="error"))return{state:"peer_error",...u};if(e.pendingBlobCount>0)return{state:"pending_blobs",...u};if(s>0)return{state:"unsynced_changes",...u};if(r.some((_)=>_.freshness==="never"))return{state:"syncing",...u};if(r.some((_)=>_.freshness==="stale"))return{state:"stale",...u};return{state:"healthy",...u}}Gt();zn();io();function _g(e){let t=We(e),r=e.query("SELECT MAX(seq) AS global_seq, MAX(CASE WHEN node_id = ? THEN seq END) AS own_seq FROM crdt_changes").get(t),n=e.query("SELECT value FROM meta WHERE key = 'cfg_sync_interval'").get(),o=Number(n?.value),s=Math.max(900000,Number.isFinite(o)&&o>0?o*3:0),a=jt(e).filter((m)=>m.kind==="http"||m.kind==="s3").map((m)=>{let x=null,D;if(m.kind==="s3"&&m.config)try{let j=JSON.parse(m.config);x=j.bucket??null,D=j.publish}catch{}return{url:m.url,kind:m.kind,label:m.label,nodeId:m.node_id,enabled:!!m.enabled,lastSuccessAt:m.last_success_at,lastStatus:m.last_status,lastError:m.last_error,pushCursor:m.push_cursor,bucket:x,publish:D}}),u=Cl(e),_={selfNodeId:t,selfLabel:on(e),peers:a,pendingBlobCount:u.length,pendingBlobBytes:u.reduce((m,x)=>m+x.size,0),blobFullNodes:$n(e).fullNodes,globalHighWaterSeq:r.global_seq??0,ownHighWaterSeq:r.own_seq??0,staleAfterMs:s};return{state:pg(_),places:za(_)}}La();Gt();En();co();function gg(e,t){let r=We(e),n=gr(e,t,"revoked");if(n.audience==="public"&&!Ut(e,n.site_id).some((o)=>o.audience==="public"&&o.desired_state==="active"))yi(e,n.site_id,{visibility:"private"});if(n.hosting==="device"&&n.target_ref===r)return Rt(e,{channelId:n.id,status:"revoked",lastVerifiedAt:Date.now()}),{channel:n,needsReconcile:!1};if(n.controller_node_id===r)return{channel:n,needsReconcile:!0};return Rt(e,{channelId:n.id,status:"cleanup_pending",lastError:"等待控制设备上线并应用撤销"}),{channel:n,needsReconcile:!1}}wn();Ye();wn();wi();function vg(e){return e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'")}function xv(e){let t=Ua(e),r=ja(e),n=(s)=>Ha(e,s);async function o(s,a){let u=await s.text().catch(()=>"");throw Error(`S3 ${a} failed: ${s.status} ${u.slice(0,200)}`)}return{async list(s,a,u){let _=[],m;do{let x=new URL(r);if(x.searchParams.set("list-type","2"),x.searchParams.set("prefix",s),x.searchParams.set("max-keys","1000"),a)x.searchParams.set("start-after",a);if(u)x.searchParams.set("delimiter",u);if(m)x.searchParams.set("continuation-token",m);let D=await t.fetch(x.toString(),{method:"GET"});if(!D.ok)await o(D,"list");let j=await D.text(),Y=/<Contents>([\s\S]*?)<\/Contents>/g,_e;while(_e=Y.exec(j)){let de=_e[1],ge=/<Key>([^<]+)<\/Key>/.exec(de)?.[1];if(!ge)continue;_.push({key:vg(ge),etag:/<ETag>([^<]*)<\/ETag>/.exec(de)?.[1]})}if(u){let de=/<CommonPrefixes>([\s\S]*?)<\/CommonPrefixes>/g;while(_e=de.exec(j)){let ge=/<Prefix>([^<]+)<\/Prefix>/.exec(_e[1])?.[1];if(ge)_.push({key:vg(ge)})}}m=/<IsTruncated>true<\/IsTruncated>/.test(j)?/<NextContinuationToken>([^<]+)<\/NextContinuationToken>/.exec(j)?.[1]:void 0}while(m);return _},async get(s){let a=await t.fetch(n(s));if(a.status===404)return null;if(!a.ok)await o(a,"get");return new Uint8Array(await a.arrayBuffer())},async put(s,a,u){let _={};if(u?.contentType)_["content-type"]=u.contentType;if(u?.ifNoneMatch)_["if-none-match"]="*";if(u?.ifMatch)_["if-match"]=u.ifMatch;let m=await t.fetch(n(s),{method:"PUT",body:a,headers:Object.keys(_).length?_:void 0});if((u?.ifNoneMatch||u?.ifMatch)&&m.status===412)throw new Z("conflict",`S3 conditional put failed (${u?.ifMatch?"If-Match":"exists"}): ${s}`);if(!m.ok)await o(m,"put")},async del(s){let a=await t.fetch(n(s),{method:"DELETE"});if(!a.ok&&a.status!==404)await o(a,"delete")}}}e_(xv);var Tv=Math.floor(167772160);function kv(e){if(e instanceof ArrayBuffer)return e;let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}async function Rv(e){let t=await crypto.subtle.digest("SHA-256",kv(e));return[...new Uint8Array(t)].map((r)=>r.toString(16).padStart(2,"0")).join("")}async function Wa(e,t){return(await Rv(e)).slice(0,t.length)===t}var vi=null;function Av(){if(vi)return vi;return vi=new Promise((e,t)=>{let r=indexedDB.open("mh-blobs",1);r.onupgradeneeded=()=>{let n=r.result;if(!n.objectStoreNames.contains("spool"))n.createObjectStore("spool",{keyPath:"hash"});if(!n.objectStoreNames.contains("meta"))n.createObjectStore("meta",{keyPath:"hash"})},r.onsuccess=()=>e(r.result),r.onerror=()=>t(r.error)}),vi}function Kr(e,t,r){return Av().then((n)=>new Promise((o,s)=>{let a=r(n.transaction(e,t).objectStore(e));a.onsuccess=()=>o(a.result),a.onerror=()=>s(a.error)}))}function Za(e){return Kr("spool","readonly",(t)=>t.get(e))}async function Eg(){return(await Kr("spool","readonly",(t)=>t.getAll())??[]).filter((t)=>!t.durable)}async function Sg(e){await Kr("spool","readwrite",(t)=>t.delete(e))}var xg=(e)=>`/blob/${e}`;async function Dv(e,t,r){let n=await Kr("meta","readonly",(s)=>s.get(e)),o={hash:e,size:t,accessed:Date.now(),pinned:n?.pinned??0,content_type:r??n?.content_type};await Kr("meta","readwrite",(s)=>s.put(o))}async function Tg(e,t,r){await(await caches.open("mh-blob-v1")).put(xg(e),new Response(t,{headers:{"content-type":r,"cache-control":"public, max-age=31536000, immutable"}})),await Dv(e,t.byteLength,r),await Ov()}async function Ov(){let e=await Kr("meta","readonly",(o)=>o.getAll())??[],t=e.reduce((o,s)=>o+s.size,0);if(t<=209715200)return;let r=await caches.open("mh-blob-v1"),n=e.filter((o)=>!o.pinned).sort((o,s)=>o.accessed-s.accessed);for(let o of n){if(t<=Tv)break;await r.delete(xg(o.hash)),await Kr("meta","readwrite",(s)=>s.delete(o.hash)),t-=o.size}}oi();qr();Nr();Lr();_n();dt();_n();Nr();Ye();var Iv=1500;function Ga(e){return Number(e.slice(0,15))}function kn(e){return new Date(Ga(e)).toISOString()}function Vr(e){let t=e??"",r=null,n=t.indexOf("/");if(n>0)r=t.slice(0,n),t=t.slice(n+1);let o=t.startsWith("repair:")?"repair":t.startsWith("revert:")?"revert":"user";return{actor:r,kind:o}}function Ka(e){return Vr(e).kind}function Rn(e){let t=[],r=[];for(let n of e){let o=r[r.length-1];if(o&&(o.txn!==null&&n.txn!==null?o.txn!==n.txn:o.node_id!==n.node_id||Ga(n.hlc)-Ga(o.hlc)>Iv))t.push(r),r=[];r.push(n)}if(r.length)t.push(r);return t}function Ht(e){return e!==null&&e!=="0"&&e!=="false"&&e!=="null"}function Ei(e,t){let r=new Map;for(let n of e){if(n.hlc>t)continue;let o=r.get(n.col);if(!o||n.hlc>o.hlc)r.set(n.col,{value:n.value,hlc:n.hlc})}return r}function xi(e,t,r){return e.query(`SELECT ${It} FROM crdt_changes WHERE dataset = ? AND row_id = ? ORDER BY hlc`).all(t,r)}function Pv(e,t){return e.query("SELECT DISTINCT row_id FROM crdt_changes WHERE dataset = 'doc_blocks' AND col = 'doc_id' AND value = ?").all(JSON.stringify(t)).map((r)=>r.row_id)}function kg(e,t){let r=Pv(e,t),n=r.map(()=>"?").join(","),o=r.length?` OR (dataset = 'doc_blocks' AND row_id IN (${n}))`:"";return e.query(`SELECT ${It} FROM crdt_changes
526
+ WHERE (dataset = 'documents' AND row_id = ?)${o}
527
+ ORDER BY hlc`).all(t,...r)}function Rg(e,t){let r=kg(e,t);if(!r.length)throw new Z("not_found",`no such document: ${t}`);let n=new Map,o=[];for(let s of Rn(r)){let a=new Set,u=new Set,_=new Map,m=!1,x=!1,D=0;for(let de of s)if(de.dataset==="documents"){if(_.set(de.col,de.value),de.col==="created_hlc")m=!0;else if(de.col==="__deleted")x=Ht(de.value)}else if(D++,de.col==="__deleted"&&Ht(de.value))u.add(de.row_id);else if(de.col==="text")a.add(de.row_id);let j=!1,Y=0;for(let[de,ge]of _){let Le=!n.has(de)||n.get(de)!==ge;if(n.set(de,ge),!Le)continue;if(Y++,de==="title")j=!0}if(Y===0&&D===0)continue;let _e=s[s.length-1];o.push({version:_e.hlc,at:kn(_e.hlc),node_id:_e.node_id,kind:Ka(_e.txn),actor:Vr(_e.txn).actor,changes:s.length,created:m,deleted:x,title_changed:j,blocks_changed:a.size,blocks_deleted:u.size})}return o.reverse()}function Va(e,t,r){if(!r)throw new Z("invalid_input","missing version cutoff");let n=kg(e,t).filter((m)=>m.hlc<=r);if(!n.length)throw new Z("not_found",`no version of document ${t} at or before ${r}`);let o=Ei(n.filter((m)=>m.dataset==="documents"),r),s=(m)=>{let x=o.get(m);return x?.value==null?void 0:JSON.parse(x.value)},a=new Map;for(let m of n){if(m.dataset!=="doc_blocks")continue;(a.get(m.row_id)??a.set(m.row_id,[]).get(m.row_id)).push(m)}let u=[];for(let[m,x]of a){let D=Ei(x,r),j=(_e)=>{let de=D.get(_e);return de?.value==null?void 0:JSON.parse(de.value)};if(j("doc_id")!==t)continue;if(D.get("__deleted")&&Ht(D.get("__deleted").value))continue;let Y=j("text");if(typeof Y!=="string"||!Y)continue;u.push({id:m,text:Y,order_key:j("order_key")??null,blankAfter:j("blank_after")??0})}u.sort((m,x)=>{if(m.order_key!==x.order_key){if(m.order_key===null)return-1;if(x.order_key===null)return 1;return m.order_key<x.order_key?-1:1}return m.id<x.id?-1:1});let _=a.size?Cr(u):s("body")??"";return{id:t,title:s("title")??"",body:_,deleted:o.get("__deleted")?Ht(o.get("__deleted").value):!1,version:n[n.length-1].hlc}}var Ag=Fe(function(t,r,n,o={}){let s=nt(t,r);if(!s&&!t.query("SELECT 1 AS x FROM documents WHERE id = ?").get(r))throw new Z("not_found",`no such document: ${r}`);if(o.ifMatch!==void 0&&Tt(t,r)!==o.ifMatch)throw new Z("stale",`stale: document changed since ${o.ifMatch}; re-read first`);let a=Va(t,r,n);if(a.deleted)throw new Z("invalid_input","target version is a deleted state; use doc delete instead");let u=!s;if(!s)we(t,"documents",r,"__deleted",0),s=nt(t,r);let _={};if(a.title!==s.title)_.title=a.title;if(a.body!==(s.body??""))_.body=a.body;if(Object.keys(_).length)Oo(t,r,_);return{id:r,changed:Object.keys(_).length>0||u,restored:a.version,version:Tt(t,r),undeleted:u}},"revert"),Si=new Set(["database_id","created_hlc","order_key","__deleted"]);function Dg(e){let t=new Set,r=!1,n=!1,o=!1;for(let a of e)if(a.col==="created_hlc")r=!0;else if(a.col==="__deleted")n=Ht(a.value);else if(a.col==="order_key")o=!0;else if(!Si.has(a.col))t.add(a.col);let s=e[e.length-1];return{version:s.hlc,at:kn(s.hlc),node_id:s.node_id,kind:Ka(s.txn),actor:Vr(s.txn).actor,changes:e.length,created:r,deleted:n,fields:[...t],moved:o}}function Og(e,t){let r=xi(e,"records",t);if(!r.length)throw new Z("not_found",`no such record: ${t}`);return Rn(r).map(Dg).reverse()}function Ig(e,t,r={}){if(!e.query("SELECT 1 AS x FROM databases WHERE id = ?").get(t))throw new Z("not_found",`no such database: ${t}`);let n=e.query("SELECT id FROM properties WHERE database_id = ? AND type = 'text' AND __deleted = 0 ORDER BY position LIMIT 1").get(t)?.id??null,o=e.query(`SELECT ${It} FROM crdt_changes
532
528
  WHERE dataset = 'records' AND row_id IN (SELECT id FROM records WHERE database_id = ?)
533
- ORDER BY row_id, hlc`).all(U),j=[],G=0;for(let W=1;W<=J.length;W++){if(W!==J.length&&J[W].row_id===J[G].row_id)continue;let z=J[G].row_id,D=new Map;for(let A of NX(J.slice(G,W))){let T=new Set;for(let V$ of A)if(!LX.has(V$.col))T.add(V$.col);let h=new Map;for(let V$ of T)if(D.has(V$))h.set(V$,D.get(V$));for(let V$ of A){if(LX.has(V$.col))continue;if(V$.value===null)D.delete(V$.col);else D.set(V$.col,JSON.parse(V$.value))}let o=[];for(let V$ of T){let Y$={prop:V$};if(h.has(V$))Y$.before=h.get(V$);if(D.has(V$))Y$.after=D.get(V$);o.push(Y$)}j.push({...tz(A),record_id:z,record_title:Q&&D.has(Q)?String(D.get(Q)??""):null,diffs:o})}G=W}return j.sort((W,z)=>W.version<z.version?1:-1),j.slice(0,X.limit??100)}function WY($,U,X){if(!X)throw new c("invalid_input","missing version cutoff");let Q=OX($,"records",U).filter((W)=>W.hlc<=X);if(!Q.length)throw new c("not_found",`no version of record ${U} at or before ${X}`);let J=DX(Q,X),j={};for(let[W,z]of J){if(LX.has(W))continue;if(z.value===null)continue;j[W]=JSON.parse(z.value)}let G=J.get("database_id");return{id:U,database_id:G?.value==null?null:JSON.parse(G.value),deleted:J.get("__deleted")?$U(J.get("__deleted").value):!1,data:j,version:Q[Q.length-1].hlc}}var sz=o$(function(U,X,Q){let J=U.query("SELECT database_id, data, __deleted FROM records WHERE id = ?").get(X);if(!J)throw new c("not_found",`no such record: ${X}`);let j=WY(U,X,Q);if(j.deleted)throw new c("invalid_input","target version is a deleted state; use record delete instead");let G=new Set(J.database_id?a6(U,J.database_id).map((A)=>A.id):[]),W=JSON.parse(J.data||"{}"),z=[];for(let A of G){let T=Object.hasOwn(j.data,A),h=Object.hasOwn(W,A);if(T&&(!h||JSON.stringify(j.data[A])!==JSON.stringify(W[A])))A$(U,"records",X,A,j.data[A]),z.push(A);else if(!T&&h)A$(U,"records",X,A,void 0),z.push(A)}let D=J.__deleted!==0;if(D)A$(U,"records",X,"__deleted",0);return{id:X,changed:z.length>0||D,fields:z,undeleted:D,restored:j.version}},"revert"),$V=["name","type","config","position"];function UV($,U){let X=OX($,"properties",U);if(!X.length)throw new c("not_found",`no such property: ${U}`);let Q=new Map($.query("SELECT txn, COUNT(*) AS n FROM crdt_changes WHERE dataset = 'records' AND col = ? AND txn IS NOT NULL GROUP BY txn").all(U).map((J)=>[J.txn,J.n]));return NX(X).map((J)=>{let j=new Set,G=!1,W=!1;for(let D of J)if(D.col==="database_id")G=!0;else if(D.col==="__deleted")W=$U(D.value);else if($V.includes(D.col))j.add(D.col);let z=J[J.length-1];return{version:z.hlc,at:HX(z.hlc),node_id:z.node_id,kind:GY(z.txn),changes:J.length,created:G,deleted:W,fields:[...j],cells_cleared:z.txn?Q.get(z.txn)??0:0}}).reverse()}function BB($,U,X){if(!X)throw new c("invalid_input","missing version cutoff");let Q=OX($,"properties",U).filter((G)=>G.hlc<=X);if(!Q.length)throw new c("not_found",`no version of property ${U} at or before ${X}`);let J=DX(Q,X),j=(G)=>{let W=J.get(G);return W?.value==null?void 0:JSON.parse(W.value)};return{id:U,database_id:j("database_id")??null,name:j("name")??"",type:j("type")??"text",config:j("config")??null,position:j("position")??null,deleted:J.get("__deleted")?$U(J.get("__deleted").value):!1,version:Q[Q.length-1].hlc}}var JV=o$(function(U,X,Q){let J=U.query("SELECT database_id, name, type, config, position, __deleted FROM properties WHERE id = ?").get(X);if(!J)throw new c("not_found",`no such property: ${X}`);let j=BB(U,X,Q);if(j.deleted)throw new c("invalid_input","target version is a deleted state; use prop remove instead");let G={name:J.name,type:J.type,config:J.config?JSON.parse(J.config):null,position:J.position},W={name:j.name,type:j.type,config:j.config,position:j.position},z=[];for(let L$ of $V)if(JSON.stringify(W[L$]??null)!==JSON.stringify(G[L$]??null))A$(U,"properties",X,L$,W[L$]),z.push(L$);let D=J.__deleted!==0;if(D)A$(U,"properties",X,"__deleted",0);let A=new Set(U.query("SELECT DISTINCT txn FROM crdt_changes WHERE dataset = 'properties' AND row_id = ? AND hlc > ? AND txn IS NOT NULL").all(X,Q).map((L$)=>L$.txn)),T=U.query("SELECT row_id, hlc, value, txn FROM crdt_changes WHERE dataset = 'records' AND col = ? ORDER BY row_id, hlc").all(X),h=(L$)=>L$!==null&&(A.has(L$)||L$.startsWith("repair:")),o=0,V$=0,Y$=0;while(Y$<T.length){let L$=T[Y$].row_id,w$=T[Y$],e$=null;for(;Y$<T.length&&T[Y$].row_id===L$;Y$++)if(w$=T[Y$],!h(w$.txn))e$=w$;if(w$.hlc<=Q)continue;if(!h(w$.txn)){V$++;continue}let b$=e$?e$.value:null;if(b$===w$.value)continue;A$(U,"records",L$,X,b$===null?void 0:JSON.parse(b$)),o++}return{id:X,changed:z.length>0||D||o>0,fields:z,restored_cells:o,skipped_cells:V$,undeleted:D,restored:j.version}},"revert");function vV($,U,X){return $.query("SELECT hlc, node_id, value FROM crdt_changes WHERE dataset = 'records' AND row_id = ? AND col = ? ORDER BY hlc DESC").all(U,X).map((J)=>({version:J.hlc,at:HX(J.hlc),node_id:J.node_id,value:J.value===null?void 0:JSON.parse(J.value),cleared:J.value===null}))}WJ();A6();var QV="('text','url','select','multi_select','date')",jV="1";function ZY($,U){return $.query("SELECT value FROM meta WHERE key = ?").get(U)?.value??null}function KY($,U,X){$.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(U,X)}function qB($,U){$.query("DELETE FROM search_fts WHERE kind = 'document' AND id = ?").run(U);let X=$.query("SELECT id, title, body, database_id FROM documents WHERE id = ? AND __deleted = 0").get(U);if(X)$.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('document', ?, ?, ?, ?)").run(X.id,X.database_id,X.title??"",X.body??"")}function zY($,U,...X){return $.query(`SELECT r.id AS id, r.database_id AS database_id, group_concat(je.value, ' ') AS body
529
+ ORDER BY row_id, hlc`).all(t),s=[],a=0;for(let u=1;u<=o.length;u++){if(u!==o.length&&o[u].row_id===o[a].row_id)continue;let _=o[a].row_id,m=new Map;for(let x of Rn(o.slice(a,u))){let D=new Set;for(let _e of x)if(!Si.has(_e.col))D.add(_e.col);let j=new Map;for(let _e of D)if(m.has(_e))j.set(_e,m.get(_e));for(let _e of x){if(Si.has(_e.col))continue;if(_e.value===null)m.delete(_e.col);else m.set(_e.col,JSON.parse(_e.value))}let Y=[];for(let _e of D){let de={prop:_e};if(j.has(_e))de.before=j.get(_e);if(m.has(_e))de.after=m.get(_e);Y.push(de)}s.push({...Dg(x),record_id:_,record_title:n&&m.has(n)?String(m.get(n)??""):null,diffs:Y})}a=u}return s.sort((u,_)=>u.version<_.version?1:-1),s.slice(0,r.limit??100)}function Ja(e,t,r){if(!r)throw new Z("invalid_input","missing version cutoff");let n=xi(e,"records",t).filter((u)=>u.hlc<=r);if(!n.length)throw new Z("not_found",`no version of record ${t} at or before ${r}`);let o=Ei(n,r),s={};for(let[u,_]of o){if(Si.has(u))continue;if(_.value===null)continue;s[u]=JSON.parse(_.value)}let a=o.get("database_id");return{id:t,database_id:a?.value==null?null:JSON.parse(a.value),deleted:o.get("__deleted")?Ht(o.get("__deleted").value):!1,data:s,version:n[n.length-1].hlc}}var Pg=Fe(function(t,r,n){let o=t.query("SELECT database_id, data, __deleted FROM records WHERE id = ?").get(r);if(!o)throw new Z("not_found",`no such record: ${r}`);let s=Ja(t,r,n);if(s.deleted)throw new Z("invalid_input","target version is a deleted state; use record delete instead");let a=new Set(o.database_id?Nt(t,o.database_id).map((x)=>x.id):[]),u=JSON.parse(o.data||"{}"),_=[];for(let x of a){let D=Object.hasOwn(s.data,x),j=Object.hasOwn(u,x);if(D&&(!j||JSON.stringify(s.data[x])!==JSON.stringify(u[x])))we(t,"records",r,x,s.data[x]),_.push(x);else if(!D&&j)we(t,"records",r,x,void 0),_.push(x)}let m=o.__deleted!==0;if(m)we(t,"records",r,"__deleted",0);return{id:r,changed:_.length>0||m,fields:_,undeleted:m,restored:s.version}},"revert"),Cg=["name","type","config","position"];function Ng(e,t){let r=xi(e,"properties",t);if(!r.length)throw new Z("not_found",`no such property: ${t}`);let n=new Map(e.query("SELECT txn, COUNT(*) AS n FROM crdt_changes WHERE dataset = 'records' AND col = ? AND txn IS NOT NULL GROUP BY txn").all(t).map((o)=>[o.txn,o.n]));return Rn(r).map((o)=>{let s=new Set,a=!1,u=!1;for(let m of o)if(m.col==="database_id")a=!0;else if(m.col==="__deleted")u=Ht(m.value);else if(Cg.includes(m.col))s.add(m.col);let _=o[o.length-1];return{version:_.hlc,at:kn(_.hlc),node_id:_.node_id,kind:Ka(_.txn),actor:Vr(_.txn).actor,changes:o.length,created:a,deleted:u,fields:[...s],cells_cleared:_.txn?n.get(_.txn)??0:0}}).reverse()}function Cv(e,t,r){if(!r)throw new Z("invalid_input","missing version cutoff");let n=xi(e,"properties",t).filter((a)=>a.hlc<=r);if(!n.length)throw new Z("not_found",`no version of property ${t} at or before ${r}`);let o=Ei(n,r),s=(a)=>{let u=o.get(a);return u?.value==null?void 0:JSON.parse(u.value)};return{id:t,database_id:s("database_id")??null,name:s("name")??"",type:s("type")??"text",config:s("config")??null,position:s("position")??null,deleted:o.get("__deleted")?Ht(o.get("__deleted").value):!1,version:n[n.length-1].hlc}}var qg=Fe(function(t,r,n){let o=t.query("SELECT database_id, name, type, config, position, __deleted FROM properties WHERE id = ?").get(r);if(!o)throw new Z("not_found",`no such property: ${r}`);let s=Cv(t,r,n);if(s.deleted)throw new Z("invalid_input","target version is a deleted state; use prop remove instead");let a={name:o.name,type:o.type,config:o.config?JSON.parse(o.config):null,position:o.position},u={name:s.name,type:s.type,config:s.config,position:s.position},_=[];for(let ge of Cg)if(JSON.stringify(u[ge]??null)!==JSON.stringify(a[ge]??null))we(t,"properties",r,ge,u[ge]),_.push(ge);let m=o.__deleted!==0;if(m)we(t,"properties",r,"__deleted",0);let x=new Set(t.query("SELECT DISTINCT txn FROM crdt_changes WHERE dataset = 'properties' AND row_id = ? AND hlc > ? AND txn IS NOT NULL").all(r,n).map((ge)=>ge.txn)),D=t.query("SELECT row_id, hlc, value, txn FROM crdt_changes WHERE dataset = 'records' AND col = ? ORDER BY row_id, hlc").all(r),j=(ge)=>ge!==null&&(x.has(ge)||Vr(ge).kind==="repair"),Y=0,_e=0,de=0;while(de<D.length){let ge=D[de].row_id,Le=D[de],Ze=null;for(;de<D.length&&D[de].row_id===ge;de++)if(Le=D[de],!j(Le.txn))Ze=Le;if(Le.hlc<=n)continue;if(!j(Le.txn)){_e++;continue}let $e=Ze?Ze.value:null;if($e===Le.value)continue;we(t,"records",ge,r,$e===null?void 0:JSON.parse($e)),Y++}return{id:r,changed:_.length>0||m||Y>0,fields:_,restored_cells:Y,skipped_cells:_e,undeleted:m,restored:s.version}},"revert");function Lg(e,t,r){return e.query("SELECT hlc, node_id, value FROM crdt_changes WHERE dataset = 'records' AND row_id = ? AND col = ? ORDER BY hlc DESC").all(t,r).map((o)=>({version:o.hlc,at:kn(o.hlc),node_id:o.node_id,value:o.value===null?void 0:JSON.parse(o.value),cleared:o.value===null}))}dt();Ye();function $g(e,t){if(e==="records")return Hi.has(t);return t==="created_hlc"||t==="__deleted"}function zg(){return{sql:[...Ln].map(()=>"dataset != ?"),params:[...Ln]}}function Xa(e,t,r){let n=zg(),o=["txn = ?",...n.sql],s=[t,...n.params];if(r)o.push("hlc < ?"),s.push(r);return e.query(`SELECT ${It} FROM crdt_changes WHERE ${o.join(" AND ")} ORDER BY hlc`).all(...s)}function Fg(e,t,r){if(!t)return null;if(!r.dbNames.has(t)){let n=e.query("SELECT name FROM databases WHERE id = ?").get(t);r.dbNames.set(t,n?.name??null)}return r.dbNames.get(t)}function Nv(e,t,r){if(!r.titleProps.has(t)){let n=e.query("SELECT id FROM properties WHERE database_id = ? AND type = 'text' AND __deleted = 0 ORDER BY position LIMIT 1").get(t);r.titleProps.set(t,n?.id??null)}return r.titleProps.get(t)??null}function qv(e,t,r,n){if(t==="records"){let o=e.query("SELECT database_id, data FROM records WHERE id = ?").get(r);if(!o)return{label:null,database_id:null};let s=o.database_id?Nv(e,o.database_id,n):null,a=JSON.parse(o.data||"{}");return{label:s&&a[s]!=null?String(a[s]):null,database_id:o.database_id}}if(t==="documents"){let o=e.query("SELECT title, database_id FROM documents WHERE id = ?").get(r);return{label:o?.title??null,database_id:o?.database_id??null}}if(t==="properties"){let o=e.query("SELECT name, database_id FROM properties WHERE id = ?").get(r);return{label:o?.name??null,database_id:o?.database_id??null}}if(t==="databases")return{label:Fg(e,r,n),database_id:r};if(t==="sites"){let o=e.query("SELECT title, name FROM sites WHERE id = ?").get(r);return{label:o?.title??o?.name??null,database_id:null}}return{label:null,database_id:null}}function Mg(e,t,r){for(let s of t)if(s.dataset==="doc_blocks"&&s.row_id===r&&s.col==="doc_id"&&s.value)return JSON.parse(s.value);let n=e.query("SELECT doc_id FROM doc_blocks WHERE id = ?").get(r);if(n?.doc_id)return n.doc_id;let o=e.query("SELECT value FROM crdt_changes WHERE dataset = 'doc_blocks' AND row_id = ? AND col = 'doc_id' AND value IS NOT NULL ORDER BY hlc DESC LIMIT 1").get(r);return o?JSON.parse(o.value):null}function Bg(e,t,r){let n=new Map,o=(m,x)=>{let D=m+"\x00"+x,j=n.get(D);if(!j)j={dataset:m,id:x,created:!1,deleted:!1,fields:new Set,blocksChanged:new Set,blocksDeleted:new Set},n.set(D,j);return j};for(let m of t){if(m.dataset==="doc_blocks"){let D=Mg(e,t,m.row_id),j=D?o("documents",D):o("doc_blocks",m.row_id);if(m.col==="__deleted"&&Ht(m.value))j.blocksDeleted.add(m.row_id);else j.blocksChanged.add(m.row_id);continue}let x=o(m.dataset,m.row_id);if(m.col==="created_hlc"||m.dataset==="properties"&&m.col==="database_id")x.created=!0;else if(m.col==="__deleted")x.deleted=Ht(m.value);if(!$g(m.dataset,m.col))x.fields.add(m.col)}let s=[...n.values()].map((m)=>{let{label:x,database_id:D}=qv(e,m.dataset,m.id,r);return{dataset:m.dataset,id:m.id,label:x,database_id:D,database_label:m.dataset==="databases"?null:Fg(e,D,r),created:m.created,deleted:m.deleted,fields:m.fields.size,blocks_changed:[...m.blocksChanged].filter((j)=>!m.blocksDeleted.has(j)).length,blocks_deleted:m.blocksDeleted.size}}),a=t[t.length-1],{actor:u,kind:_}=Vr(a.txn);return{version:a.hlc,at:kn(a.hlc),node_id:a.node_id,kind:_,actor:u,txn:a.txn,changes:t.length,entities:s}}function Ug(e,t={}){let r=Math.max(1,Math.min(t.limit??50,200));if(t.actor!==void 0&&!Hc.test(t.actor))throw new Z("invalid_input",`invalid actor tag: ${t.actor}`);let n=Math.min(Math.max(r*40,800),8000),o=zg(),s=[...o.sql],a=[...o.params];if(t.before)s.push("hlc < ?"),a.push(t.before);if(t.actor!==void 0)s.push("txn >= ?","txn < ?"),a.push(t.actor+"/",t.actor+"0");let u=e.query(`SELECT ${It} FROM crdt_changes
530
+ ${s.length?"WHERE "+s.join(" AND "):""}
531
+ ORDER BY hlc DESC LIMIT ?`).all(...a,n),_=u.length<n;u.reverse();let m=Rn(u);if(!_&&m.length>0){let ge=m[0][0].txn;if(ge!==null)m[0]=Xa(e,ge,t.before);else if(m.length>1)m=m.slice(1)}let x={dbNames:new Map,titleProps:new Map},D=m.reverse(),j=D.slice(0,r),Y=j.map((ge)=>Bg(e,ge,x)),de=(!_||D.length>r)&&j.length?j[j.length-1][0].hlc:null;return{entries:Y,next:de}}function jg(e,t,r,n,o){return e.query("SELECT value FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ? AND hlc < ? ORDER BY hlc DESC LIMIT 1").get(t,r,n,o)??void 0}function Lv(e,t,r){if(t!=="records")return r;return e.query("SELECT name FROM properties WHERE id = ?").get(r)?.name??r}function Hg(e,t){let r=Xa(e,t);if(!r.length)throw new Z("not_found",`no change group: ${t}`);let o=Bg(e,r,{dbNames:new Map,titleProps:new Map}),s=new Map,a=new Map;for(let m of r){let x=m.dataset+"\x00"+m.row_id+"\x00"+m.col;if(!s.has(x))s.set(x,m);a.set(x,m)}let u=o.entities.map((m)=>({...m,diffs:[],block_diffs:[]})),_=new Map(u.map((m)=>[m.dataset+"\x00"+m.id,m]));for(let[m,x]of a){let D=s.get(m),j=(Y)=>{let _e={col:x.dataset==="doc_blocks"?x.row_id:x.col,label:Y},de=jg(e,x.dataset,x.row_id,x.col,D.hlc);if(de&&de.value!==null)_e.before=JSON.parse(de.value);if(x.value!==null)_e.after=JSON.parse(x.value);return _e};if(x.dataset==="doc_blocks"){if(x.col!=="text")continue;let Y=Mg(e,r,x.row_id);_.get(Y?"documents\x00"+Y:"doc_blocks\x00"+x.row_id)?.block_diffs.push(j("block"));continue}if($g(x.dataset,x.col))continue;_.get(x.dataset+"\x00"+x.row_id)?.diffs.push(j(Lv(e,x.dataset,x.col)))}return{...o,entities:u}}var Wg=Fe(function(t,r){let n=Xa(t,r);if(!n.length)throw new Z("not_found",`no change group: ${r}`);let o=new Map;for(let m of n){let x=m.dataset+"\x00"+m.row_id,D=o.get(x);if(!D)o.set(x,D=[]);D.push(m)}let s=0,a=0,u=0,_=0;for(let m of o.values()){let{dataset:x,row_id:D}=m[0],j=m[0].hlc;if(!t.query("SELECT 1 AS x FROM crdt_changes WHERE dataset = ? AND row_id = ? AND hlc < ? LIMIT 1").get(x,D,j)){if(t.query("SELECT 1 AS x FROM crdt_changes WHERE dataset = ? AND row_id = ? AND txn IS NOT ? LIMIT 1").get(x,D,r)){_++;continue}let ge=[...m].reverse().find((Le)=>Le.col==="__deleted");if(ge&&Ht(ge.value))continue;we(t,x,D,"__deleted",1),u++;continue}let _e=new Map;for(let de of m)if(!_e.has(de.col))_e.set(de.col,de);for(let[de,ge]of _e){let Le=t.query("SELECT value, txn FROM crdt_changes WHERE dataset = ? AND row_id = ? AND col = ? ORDER BY hlc DESC LIMIT 1").get(x,D,de);if(Le.txn!==r){a++;continue}let Ze=jg(t,x,D,de,ge.hlc),$e=Ze===void 0?de==="__deleted"?0:void 0:Ze.value===null?void 0:JSON.parse(Ze.value);if(($e===void 0?null:JSON.stringify($e))===Le.value)continue;we(t,x,D,de,$e),s++}}return{txn:r,changed:s>0||u>0,restored_registers:s,skipped_registers:a,removed_rows:u,skipped_rows:_}},"revert");Po();dt();var Gg="('text','url','select','multi_select','date')",Kg="1";function Qa(e,t){return e.query("SELECT value FROM meta WHERE key = ?").get(t)?.value??null}function Ya(e,t,r){e.query("INSERT INTO meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value").run(t,r)}function $v(e,t){e.query("DELETE FROM search_fts WHERE kind = 'document' AND id = ?").run(t);let r=e.query("SELECT id, title, body, database_id FROM documents WHERE id = ? AND __deleted = 0").get(t);if(r)e.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('document', ?, ?, ?, ?)").run(r.id,r.database_id,r.title??"",r.body??"")}function ec(e,t,...r){return e.query(`SELECT r.id AS id, r.database_id AS database_id, group_concat(je.value, ' ') AS body
534
532
  FROM records r, json_each(r.data) je
535
533
  JOIN properties p ON p.id = je.key AND p.__deleted = 0
536
- WHERE ${U} AND r.__deleted = 0 AND p.type IN ${QV}
537
- GROUP BY r.id`).all(...X)}function VY($,U){$.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('record', ?, ?, ?, ?)").run(U.id,U.database_id,U.id,U.body??"")}function PB($,U){$.query("DELETE FROM search_fts WHERE kind = 'record' AND id = ?").run(U);let X=zY($,"r.id = ?",U)[0];if(X)VY($,X)}function kB($,U){$.query("DELETE FROM search_fts WHERE kind = 'record' AND database_id = ?").run(U);for(let X of zY($,"r.database_id = ?",U))VY($,X)}function AB($){$.query("DELETE FROM search_fts").run();for(let X of $.query("SELECT id, title, body, database_id FROM documents WHERE __deleted = 0").all())$.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('document', ?, ?, ?, ?)").run(X.id,X.database_id,X.title??"",X.body??"");for(let X of zY($,"1 = 1"))VY($,X);let U=$.query("SELECT MAX(rowid) AS m FROM crdt_changes").get().m??0;KY($,"search_seq",String(U)),KY($,"search_index_version",jV)}function RB($){let U=Number(ZY($,"search_seq")??"0"),{changes:X,cursor:Q}=n1($,U);if(X.length===0)return;let J=new Set,j=new Set,G=new Set;for(let W of X)switch(W.dataset){case"documents":J.add(W.row_id);break;case"doc_blocks":{let z=$.query("SELECT doc_id FROM doc_blocks WHERE id = ?").get(W.row_id);if(z?.doc_id)J.add(z.doc_id);break}case"records":j.add(W.row_id);break;case"properties":if(W.col==="type"||W.col==="__deleted"||W.col==="database_id"){let z=$.query("SELECT database_id FROM properties WHERE id = ?").get(W.row_id);if(z?.database_id)G.add(z.database_id)}break}for(let W of J)qB($,W);for(let W of G)kB($,W);for(let W of j){let z=$.query("SELECT database_id FROM records WHERE id = ?").get(W);if(z?.database_id&&G.has(z.database_id))continue;PB($,W)}KY($,"search_seq",String(Q))}function TB($){if(!aW($))return!1;let U=ZY($,"search_index_version"),X=ZY($,"search_seq");return $.transaction(()=>{if(U!==jV||X===null)AB($);else RB($)})(),!0}function _B($,U,X){let Q=U.split(/\s+/).filter(Boolean).map((j)=>`"${j.replace(/"/g,'""')}"`).join(" ");if(!Q)return[];return $.query("SELECT kind, id, database_id, title, snippet(search_fts, -1, '[', ']', '…', 10) AS snippet FROM search_fts WHERE search_fts MATCH ? ORDER BY rank LIMIT ?").all(Q,X).map((j)=>({type:j.kind,id:j.id,database_id:j.database_id,title:j.title||void 0,snippet:j.snippet}))}function XV($,U){let X=$.toLowerCase().indexOf(U.toLowerCase());if(X<0)return $.slice(0,80);let Q=Math.max(0,X-30);return`${Q>0?"…":""}${$.slice(Q,X+U.length+50)}…`}function MB($,U,X){let Q=`%${U.replace(/[%_\\]/g,"\\$&")}%`,J=[],j=$.query("SELECT id, title, body, database_id FROM documents WHERE __deleted = 0 AND (title LIKE ? ESCAPE '\\' OR body LIKE ? ESCAPE '\\') LIMIT ?").all(Q,Q,X);for(let G of j)J.push({type:"document",id:G.id,database_id:G.database_id,title:G.title??void 0,snippet:XV(G.body||G.title||"",U)});if(J.length<X){let G=$.query(`SELECT r.id AS id, r.database_id AS database_id, group_concat(je.value, ' ') AS body
534
+ WHERE ${t} AND r.__deleted = 0 AND p.type IN ${Gg}
535
+ GROUP BY r.id`).all(...r)}function tc(e,t){e.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('record', ?, ?, ?, ?)").run(t.id,t.database_id,t.id,t.body??"")}function zv(e,t){e.query("DELETE FROM search_fts WHERE kind = 'record' AND id = ?").run(t);let r=ec(e,"r.id = ?",t)[0];if(r)tc(e,r)}function Fv(e,t){e.query("DELETE FROM search_fts WHERE kind = 'record' AND database_id = ?").run(t);for(let r of ec(e,"r.database_id = ?",t))tc(e,r)}function Mv(e){e.query("DELETE FROM search_fts").run();for(let r of e.query("SELECT id, title, body, database_id FROM documents WHERE __deleted = 0").all())e.query("INSERT INTO search_fts (kind, id, database_id, title, body) VALUES ('document', ?, ?, ?, ?)").run(r.id,r.database_id,r.title??"",r.body??"");for(let r of ec(e,"1 = 1"))tc(e,r);let t=e.query("SELECT MAX(rowid) AS m FROM crdt_changes").get().m??0;Ya(e,"search_seq",String(t)),Ya(e,"search_index_version",Kg)}function Bv(e){let t=Number(Qa(e,"search_seq")??"0"),{changes:r,cursor:n}=br(e,t);if(r.length===0)return;let o=new Set,s=new Set,a=new Set;for(let u of r)switch(u.dataset){case"documents":o.add(u.row_id);break;case"doc_blocks":{let _=e.query("SELECT doc_id FROM doc_blocks WHERE id = ?").get(u.row_id);if(_?.doc_id)o.add(_.doc_id);break}case"records":s.add(u.row_id);break;case"properties":if(u.col==="type"||u.col==="__deleted"||u.col==="database_id"){let _=e.query("SELECT database_id FROM properties WHERE id = ?").get(u.row_id);if(_?.database_id)a.add(_.database_id)}break}for(let u of o)$v(e,u);for(let u of a)Fv(e,u);for(let u of s){let _=e.query("SELECT database_id FROM records WHERE id = ?").get(u);if(_?.database_id&&a.has(_.database_id))continue;zv(e,u)}Ya(e,"search_seq",String(n))}function Uv(e){if(!$l(e))return!1;let t=Qa(e,"search_index_version"),r=Qa(e,"search_seq");return e.transaction(()=>{if(t!==Kg||r===null)Mv(e);else Bv(e)})(),!0}function jv(e,t,r){let n=t.split(/\s+/).filter(Boolean).map((s)=>`"${s.replace(/"/g,'""')}"`).join(" ");if(!n)return[];return e.query("SELECT kind, id, database_id, title, snippet(search_fts, -1, '[', ']', '…', 10) AS snippet FROM search_fts WHERE search_fts MATCH ? ORDER BY rank LIMIT ?").all(n,r).map((s)=>({type:s.kind,id:s.id,database_id:s.database_id,title:s.title||void 0,snippet:s.snippet}))}function Zg(e,t){let r=e.toLowerCase().indexOf(t.toLowerCase());if(r<0)return e.slice(0,80);let n=Math.max(0,r-30);return`${n>0?"…":""}${e.slice(n,r+t.length+50)}…`}function Hv(e,t,r){let n=`%${t.replace(/[%_\\]/g,"\\$&")}%`,o=[],s=e.query("SELECT id, title, body, database_id FROM documents WHERE __deleted = 0 AND (title LIKE ? ESCAPE '\\' OR body LIKE ? ESCAPE '\\') LIMIT ?").all(n,n,r);for(let a of s)o.push({type:"document",id:a.id,database_id:a.database_id,title:a.title??void 0,snippet:Zg(a.body||a.title||"",t)});if(o.length<r){let a=e.query(`SELECT r.id AS id, r.database_id AS database_id, group_concat(je.value, ' ') AS body
538
536
  FROM records r, json_each(r.data) je
539
537
  JOIN properties p ON p.id = je.key AND p.__deleted = 0
540
- WHERE r.__deleted = 0 AND p.type IN ${QV}
541
- GROUP BY r.id HAVING body LIKE ? ESCAPE '\\' LIMIT ?`).all(Q,X-J.length);for(let W of G)J.push({type:"record",id:W.id,database_id:W.database_id,snippet:XV(W.body||"",U)})}return J}function GV($,U,X={}){let Q=X.limit??20;if(TB($))try{let J=_B($,U,Q);if(J.length)return J}catch{}return MB($,U,Q)}C0();b2();RU();_0();TU();z6();function FB($){if($===401)return"auth";if($===404)return"not_found";if($===429)return"rate_limited";return"network"}function IX($,U,X=fetch){let Q=$.replace(/\/+$/,"");async function J(G,W={},z=!0){let D;try{D=await X(Q+G,{...W,signal:W.signal??AbortSignal.timeout(15000),headers:{...W.body!=null?{"content-type":"application/json"}:{},...z?{authorization:`Bearer ${U}`}:{},...W.headers}})}catch(T){throw new c("network",`inbox host unreachable: ${T.message}`)}let A=await D.json().catch(()=>null);if(!D.ok)throw new c(FB(D.status),`inbox host: ${A?.error??`HTTP ${D.status}`}`);return A}let j=(G)=>`/v1/inbox/${encodeURIComponent(G)}`;return{async register(G,W){await J(j(G),{method:"PUT",body:JSON.stringify(W)})},async unregister(G){return(await J(j(G),{method:"DELETE"})).deleted},async listEnvelopes(G,W,z){return(await J(`${j(G)}/envelopes?after_id=${W}&limit=${z}`)).rows},async ackEnvelopes(G,W){if(W.length===0)return 0;return(await J(`${j(G)}/envelopes`,{method:"DELETE",body:JSON.stringify({ids:W})})).deleted},async stats(G){return J(`${j(G)}/stats`)},async health(){return J("/health",{},!1)},async ownerHealth(){return J("/owner/health")}}}z6();async function YV($,U,X){let Q;try{let W=new URL($.trim());if(W.protocol!=="https:"&&W.hostname!=="localhost")throw Error(`${X==="edge"?"Edge":"Inbox"} endpoint must use HTTPS`);Q=W.toString().replace(/\/+$/,"")}catch(W){throw new c("invalid_input",W.message||"invalid Edge endpoint")}let J=U.trim();if(!J)throw new c("invalid_input","owner token is required");let j=IX(Q,J),G=X==="edge"?await j.ownerHealth():await j.health();if(!G.ok)throw new c("network",`${X==="edge"?"Edge":"Inbox host"} at ${Q} is not healthy`);if(X==="edge"&&G.version!==UU)throw new c("conflict",`Edge version ${G.version??"unknown"} is incompatible; expected ${UU}`);return{endpoint:Q,token:J,version:G.version,capabilities:X==="edge"?["inbox","room"]:["inbox"]}}var IY=15000,EV=2000,F1=self.location.origin,F$=null,V1={state:"booting",paired:!1,node:null};function AX($){self.postMessage($)}function h1($){V1={...V1,...$},AX({event:"status",status:V1})}function T6(){if(!F$)throw new c("network","本地副本未就绪");return F$}var qY=null,xV=null;function wV(){let $=new qY.OpfsSAHPoolDb("/metahub.db");xV=$;let U=new uX($);Q8(U),F$=U}var oB=(async()=>{qY=await(await iY()).installOpfsSAHPoolVfs({name:"metahub-replica"}),wV();let U=F$,X=J6(U),Q=N6(U,F1)?.token!=null,J=RX(U);if(J)TX();h1({state:"ready",node:X,paired:Q,bucketDirty:J})})().catch(($)=>{throw h1({state:"error",error:$ instanceof Error?$.message:String($)}),$}),FU=null,SV=new Set;function dB($){if(N6($,F1)?.token!=null)return!0;return w6($).some((U)=>U.enabled===1&&(U.kind==="s3"||U.kind==="room"))}function JU($){return w6($).filter((U)=>U.enabled===1&&U.kind==="s3")}function pB($){return w6($).filter((U)=>U.enabled===1&&U.kind==="room")}async function PY($,U){let X=await QY(U).catch(()=>{return});if(X)return new Uint8Array(X.bytes);for(let Q of JU(T6())){if(!Q.config)continue;let J=await AG(JSON.parse(Q.config),U).catch(()=>null);if(J&&await XY(J,U))return new Uint8Array(J)}return null}yG(PY);mW(PY);function RX($){let U=J6($);return JU($).some((X)=>n1($,X.push_cursor,{onlyNode:U}).changes.length>0)}var tB=25,uV=1e4,x0=null;function TX(){if(x0)return;x0=setTimeout(()=>{if(x0=null,navigator.onLine!==!1)EU(!0)},uV)}function BY(){if(!x0)return;clearTimeout(x0),x0=null}function aB(){let $=F$;if(!$)return;let U=JU($).length>0&&RX($);if(h1({bucketDirty:U,bucketError:void 0}),U)TX();else BY()}function eB($,U){$.query(`UPDATE peers SET
538
+ WHERE r.__deleted = 0 AND p.type IN ${Gg}
539
+ GROUP BY r.id HAVING body LIKE ? ESCAPE '\\' LIMIT ?`).all(n,r-o.length);for(let u of a)o.push({type:"record",id:u.id,database_id:u.database_id,snippet:Zg(u.body||"",t)})}return o}function Vg(e,t,r={}){let n=r.limit??20;if(Uv(e))try{let o=jv(e,t,n);if(o.length)return o}catch{}return Hv(e,t,n)}En();co();Wr();vn();mi();Ye();function Zv(e){if(e===401)return"auth";if(e===404)return"not_found";if(e===429)return"rate_limited";return"network"}function ki(e,t,r=fetch){let n=e.replace(/\/+$/,"");async function o(a,u={},_=!0){let m;try{m=await r(n+a,{...u,signal:u.signal??AbortSignal.timeout(15000),headers:{...u.body!=null?{"content-type":"application/json"}:{},..._?{authorization:`Bearer ${t}`}:{},...u.headers}})}catch(D){throw new Z("network",`inbox host unreachable: ${D.message}`)}let x=await m.json().catch(()=>null);if(!m.ok)throw new Z(Zv(m.status),`inbox host: ${x?.error??`HTTP ${m.status}`}`);return x}let s=(a)=>`/v1/inbox/${encodeURIComponent(a)}`;return{async register(a,u){await o(s(a),{method:"PUT",body:JSON.stringify(u)})},async unregister(a){return(await o(s(a),{method:"DELETE"})).deleted},async listEnvelopes(a,u,_){return(await o(`${s(a)}/envelopes?after_id=${u}&limit=${_}`)).rows},async ackEnvelopes(a,u){if(u.length===0)return 0;return(await o(`${s(a)}/envelopes`,{method:"DELETE",body:JSON.stringify({ids:u})})).deleted},async stats(a){return o(`${s(a)}/stats`)},async health(){return o("/health",{},!1)},async ownerHealth(){return o("/owner/health")}}}Ye();async function Jg(e,t,r){let n;try{let u=new URL(e.trim());if(u.protocol!=="https:"&&u.hostname!=="localhost")throw Error(`${r==="edge"?"Edge":"Inbox"} endpoint must use HTTPS`);n=u.toString().replace(/\/+$/,"")}catch(u){throw new Z("invalid_input",u.message||"invalid Edge endpoint")}let o=t.trim();if(!o)throw new Z("invalid_input","owner token is required");let s=ki(n,o),a=r==="edge"?await s.ownerHealth():await s.health();if(!a.ok)throw new Z("network",`${r==="edge"?"Edge":"Inbox host"} at ${n} is not healthy`);if(r==="edge"&&a.version!==Tr)throw new Z("conflict",`Edge version ${a.version??"unknown"} is incompatible; expected ${Tr}`);return{endpoint:n,token:o,version:a.version,capabilities:r==="edge"?["inbox","room"]:["inbox"]}}var sc=15000,ch=2000,ar=self.location.origin,xe=null,Wt={state:"booting",paired:!1,node:null};function Ai(e){self.postMessage(e)}function hr(e){Wt={...Wt,...e},Ai({event:"status",status:Wt})}function gt(){if(!xe)throw new Z("network","本地副本未就绪");return xe}var cc=null,uh=null;function dh(){let e=new cc.OpfsSAHPoolDb("/metahub.db");uh=e;let t=new zi(e);ls(t),xe=t}var Qv=(async()=>{cc=await(await Ic()).installOpfsSAHPoolVfs({name:"metahub-replica"}),dh();let t=xe,r=We(t),n=Et(t,ar)?.token!=null,o=Di(t);if(o)Oi();hr({state:"ready",node:r,paired:n,bucketDirty:o})})().catch((e)=>{throw hr({state:"error",error:e instanceof Error?e.message:String(e)}),e}),Jr=null,lh=new Set;function Yv(e){if(Et(e,ar)?.token!=null)return!0;return jt(e).some((t)=>t.enabled===1&&(t.kind==="s3"||t.kind==="room"))}function kr(e){return jt(e).filter((t)=>t.enabled===1&&t.kind==="s3")}function eE(e){return jt(e).filter((t)=>t.enabled===1&&t.kind==="room")}async function lc(e,t){let r=await Za(t).catch(()=>{return});if(r)return new Uint8Array(r.bytes);for(let n of kr(gt())){if(!n.config)continue;let o=await ua(JSON.parse(n.config),t).catch(()=>null);if(o&&await Wa(o,t))return new Uint8Array(o)}return null}N_(lc);Al(lc);function Di(e){let t=We(e);return kr(e).some((r)=>br(e,r.push_cursor,{onlyNode:t}).changes.length>0)}var tE=25,fh=1e4,An=null;function Oi(){if(An)return;An=setTimeout(()=>{if(An=null,navigator.onLine!==!1)Xr(!0)},fh)}function ac(){if(!An)return;clearTimeout(An),An=null}function rE(){let e=xe;if(!e)return;let t=kr(e).length>0&&Di(e);if(hr({bucketDirty:t,bucketError:void 0}),t)Oi();else ac()}function nE(e,t){e.query(`UPDATE peers SET
542
540
  pull_cursor = ?,
543
541
  push_cursor = ?,
544
542
  token = ?,
@@ -551,4 +549,4 @@ if(g instanceof ArrayBuffer)g=new Uint8Array(g);else if(g instanceof Function)re
551
549
  last_error = ?,
552
550
  kind = ?,
553
551
  config = ?
554
- WHERE url = ?`).run(U.pull_cursor,U.push_cursor,U.token,U.label,U.node_id,U.enabled,U.last_sync_at,U.last_success_at,U.last_status,U.last_error,U.kind,U.config,U.url)}async function sB($){let U=JU($);if(!U.length)return;let X;try{X=await cz()}catch{return}for(let Q of X){let J=!1;for(let j of U){if(!j.config)continue;try{await MK(JSON.parse(j.config),Q.hash,new Uint8Array(Q.bytes)),J=!0;break}catch{}}if(J)await rz(Q.hash,Q.bytes,Q.content_type).catch(()=>{}),await iz(Q.hash).catch(()=>{})}}async function EU($=!1){if(!F$)return{pushed:0,pulled:0,ok:!0};let U=F$;if(!dB(U))return{pushed:0,pulled:0,ok:!0};if(FU)return FU;return FU=(async()=>{let X=U.query("SELECT MAX(rowid) AS m FROM crdt_changes").get().m??0,Q=0,J=0,j=[],G=[],W=JU(U).length>0;if(W&&$)h1({bucketSyncing:!0,bucketError:void 0});let z=!1;if(N6(U,F1)?.token!=null)try{let T=0;for(;;){let h=N6(U,F1)?.pull_cursor??0,o=await rv(U,F1,{pullLimit:EV});if(Q+=o.pushed,J+=o.pulled,T+=o.received??o.pulled,(o.received??o.pulled)<EV)break;if((N6(U,F1)?.pull_cursor??0)===h)break;h1({state:"hydrating",hydrated:T})}z=!0}catch(T){j.push(`server: ${T instanceof Error?T.message:String(T)}`)}for(let T of JU(U)){let h=z&&!$&&SV.has(T.url),o=await tG(U,T.url,{storage:{minPushChanges:tB,maxPushAgeMs:uV,forcePush:$,pull:!h}});if(o.ok){if(Q+=o.pushed??0,J+=o.pulled??0,!h)SV.add(T.url)}else{let V$=`${T.label??T.url}: ${o.error}`;j.push(V$),G.push(V$)}}for(let T of pB(U)){let h=await tG(U,T.url);if(h.ok)Q+=h.pushed??0,J+=h.pulled??0;else j.push(`${T.label??T.url}: ${h.error}`)}if(!z&&W)await sB(U);await n2(U);let D=W?RX(U):!1;if(D&&G.length===0)TX();else BY();let A=U.query("SELECT DISTINCT dataset, row_id FROM crdt_changes WHERE rowid > ?").all(X);if(h1({state:"ready",hydrated:void 0,lastSync:{at:Date.now(),ok:j.length===0,pushed:Q,pulled:J,error:j.join("; ")||void 0},bucketDirty:D,bucketSyncing:!1,bucketError:G.join("; ")||void 0}),A.length||Q)AX({event:"synced",datasets:[...new Set(A.map((T)=>T.dataset))],rowIds:A.map((T)=>T.row_id),pushed:Q,pulled:J});return{pushed:Q,pulled:J,ok:j.length===0}})().finally(()=>{if(F$&&JU(F$).length>0&&!V1.bucketSyncing)if(RX(F$)&&!V1.bucketError)TX();else BY();FU=null}),FU}var $q=150000,r2=IY,Uq=180000;function Jq(){if(!F$)return!1;if(N6(F$,F1)?.token!=null)return!1;return w6(F$).some(($)=>$.enabled===1&&($.kind==="s3"||$.kind==="room"))}async function gV(){try{if(navigator.onLine!==!1&&Jq()){let $=await EU();r2=$.pushed>0||$.pulled>0?IY:Math.min(r2*2,$q)}else r2=IY}finally{setTimeout(gV,r2)}}setTimeout(gV,r2);async function vq($){let U=T6(),X={code:$,node_id:J6(U),grant:k6(32)},Q=await fetch(new URL(GK,F1),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(X)});if(!Q.ok)throw new c(Q.status===401||Q.status===403?"auth":"network",`pairing failed: ${Q.status} ${await Q.text()}`);let J=await Q.json();return Ez(U,{url:F1,token:J.grant,node_id:J.node_id,label:"server"}),h1({paired:!0}),EU(),{node_id:J.node_id}}function Xq(){let $=x6(T6(),F1);return h1({paired:!1}),{ok:$}}var yV={status:()=>V1,pair:($)=>vq($),unpair:()=>Xq(),sync:()=>EU(!0).then(()=>V1.lastSync),addStorageReplica:async($,U)=>{let X=T6(),Q={publish:!0,priority:10,...$};if(Q.encrypt)Q.masterKey=await _G(p6(Q),Q,U)??void 0;let J=oU(Q.endpoint,Q.bucket,Q.prefix);if(FU)await FU;let j=N6(X,J);if(Sz(X,{url:J,config:Q,label:Q.bucket}),await EU(!0),V1.bucketError){if(j)eB(X,j);else x6(X,J);throw new c("network",`storage peer first sync failed: ${V1.bucketError}`)}return{url:J,lastSync:V1.lastSync}},removeStorageReplica:($)=>({ok:x6(T6(),$)}),storagePeerConfig:($)=>{let U=N6(F$,$);return U?.config?JSON.parse(U.config):null},dataMap:()=>uz(T6()),listStoragePeers:()=>w6(F$).filter(($)=>$.kind==="s3").map(($)=>({url:$.url,label:$.label,enabled:$.enabled===1,status:$.last_status,error:$.last_error,lastSyncAt:$.last_success_at,lastAttemptAt:$.last_sync_at})),edgeStatus:async()=>{let $=T6(),U=i2($),X=w6($).filter((Q)=>Q.kind==="room"&&Q.config).map((Q)=>{let J=JSON.parse(Q.config);return{slug:J.slug,url:I1(J),status:Q.last_status,lastSuccessAt:Q.last_success_at,error:Q.last_error}});if(!U)return{configured:!1,expectedVersion:UU,aligned:!1,reachable:!1,managed:!1,rooms:X,defaults:null,pending:null};try{let Q=await IX(U.endpoint,U.token).ownerHealth();return{configured:!0,endpoint:U.endpoint,capabilities:S0(U),version:Q.version??null,expectedVersion:UU,aligned:Q.version===UU,reachable:Q.ok,managed:!1,rooms:X,defaults:null,pending:null}}catch(Q){return{configured:!0,endpoint:U.endpoint,capabilities:S0(U),version:null,expectedVersion:UU,aligned:!1,reachable:!1,error:Q.message,managed:!1,rooms:X,defaults:null,pending:null}}},connectEdge:async($,U)=>{let X=await YV($,U,"edge");return LY(T6(),{endpoint:X.endpoint,token:X.token,capabilities:X.capabilities,deployedVersion:X.version}),{...await yV.edgeStatus(),status:"connected",wired:[],warnings:[]}},disconnectEdge:()=>{let $=T6();if(w6($).some((U)=>U.kind==="room"))throw new c("conflict","请先撤销所有 Edge Room 再断开");return LY($,null),{ok:!0}},listLocalShares:($)=>{let U=T6();return($?ev(U,$):av(U)).map((Q)=>{let J=N6(U,`room://${Q.slug}`),j=J?.config?JSON.parse(J.config):null,G=j?.lifecycle??"active",W=j&&G==="active"?I1(j):void 0,z=Q.kind==="site"?s1(U,Q.target_id):null;return{slug:Q.slug,kind:Q.kind,target_id:Q.target_id,title:z?.title||z?.name||Q.target_id,permission:Q.permission,transport:"server",source:j?G==="cleanup_pending"?"Edge Room(撤销待确认)":"Edge Room":"本机",sourceKind:j?"room":"server",hosting:j?"room":"server",...j?{lifecycle:G}:{},expiresAt:Q.expires_at,hasPassword:!!Q.pw_hash,url:W}})},createLocalShare:async($)=>{let U=T6();if($.kind!=="site"||$.hosting!=="room")throw new c("invalid_input","此设备不驻留在线托管,目前仅支持通过 Edge 发布站点");let X=i2(U);if(!X)throw new c("invalid_input","请先连接 Edge");if(!S0(X).includes("room"))throw new c("conflict","当前 Edge 仅支持 inbox,不支持 Room 托管");let Q=s1(U,$.ref),J=$.password?await sv($.password):null,j=tv(U,{kind:"site",target_id:Q.id,permission:$.permission,pwSalt:J?.salt,pwHash:J?.hash,expiresAt:$.expiresMs!=null?Date.now()+$.expiresMs:null,grants:$.grants,requestId:$.requestId});try{let G=await fG(U,j,X,PY),W=E0(U,{siteId:Q.id,audience:"link",hosting:"edge",targetRef:j.slug,canonicalUrl:G.url,policy:{permission:j.permission,hasPassword:!!j.pw_hash,expiresAt:j.expires_at}});return R6(U,{channelId:W.id,status:"ready",lastVerifiedAt:Date.now()}),{slug:j.slug,kind:"site",permission:j.permission,transport:"server",hosting:"room",url:G.url,expiresAt:j.expires_at,source:"Edge Room"}}catch(G){if(await WX(U,j.slug)!=="cleanup_pending")v1(U,j.slug);throw G}},revokeLocalShare:async($)=>{let U=T6();if(!K1(U,$))return{ok:!1,status:"not_found"};let X=X1(U).filter((j)=>j.audience==="link"&&j.target_ref===$&&j.desired_state==="active");for(let j of X)C1(U,j.id,"revoked");if(await WX(U,$)==="cleanup_pending"){for(let j of X)R6(U,{channelId:j.id,status:"cleanup_pending",lastError:"Edge 尚未确认销毁 Room"});return{ok:!1,status:"cleanup_pending"}}let J=v1(U,$);for(let j of X)R6(U,{channelId:j.id,status:"revoked",lastVerifiedAt:Date.now()});return{ok:J,status:"revoked"}},renewLocalShare:async($,U)=>{let X=T6(),{renewShareAction:Q}=await Promise.resolve().then(() => (FV(),CV));return Q(X,$,void 0,U)},listDatabases:()=>OW(F$),createDatabase:($)=>lX(F$,$),updateDatabase:($,U)=>HW(F$,$,U),duplicateDatabase:($,U)=>NW(F$,$,U??{}),deleteDatabase:($)=>({ok:IW(F$,$)}),listDatabaseActivity:($,U)=>ez(F$,$,{limit:U}),listProperties:($)=>a6(F$,$),addProperty:($,U)=>JJ(F$,$,U),updateProperty:($,U)=>iX(F$,$,U),setPropertyWidth:($,U)=>YW(F$,$,U),removeProperty:($)=>({ok:zW(F$,$)}),renameSelectOption:($,U,X)=>ZW(F$,$,U,X),removeSelectOption:($,U)=>KW(F$,$,U),listPropertyRevisions:($)=>UV(F$,$),revertProperty:($,U)=>JV(F$,$,U),listRecords:($,U)=>mU(F$,$,U??{}),createRecord:($,U)=>vJ(F$,$,U),getRecord:($)=>{let U=c1(F$,$);if(!U)throw new c("not_found",`no such record: ${$}`);return U},updateRecord:($,U)=>FW(F$,$,U),moveRecord:($,U,X)=>CW(F$,$,U,X),deleteRecord:($)=>({ok:EW(F$,$)}),listRecordRevisions:($)=>az(F$,$),recordAtVersion:($,U)=>WY(F$,$,U),recordFieldHistory:($,U)=>vV(F$,$,U),revertRecord:($,U)=>sz(F$,$,U),listDocuments:($)=>wW(F$,$??{}),createDocument:($)=>U8(F$,$),getDocument:($)=>{let U=D6(F$,$);if(!U)throw new c("not_found",`no such document: ${$}`);return{...U,version:h6(F$,U.id)}},updateDocument:($,U,X)=>{let Q=GJ(F$,$,U,{ifMatch:X});return{...Q,version:h6(F$,Q.id)}},duplicateDocument:($,U)=>{let X=fW(F$,$,{title:U?.title,parentId:U?.parent_id});return{...X,version:h6(F$,X.id)}},moveDocument:($,U,X)=>v8(F$,$,U,X),listDocumentRevisions:($)=>dz(F$,$),documentAtVersion:($,U)=>YY(F$,$,U),revertDocument:($,U,X)=>pz(F$,$,U,{ifMatch:X}),deleteDocument:($)=>({ok:bW(F$,$)}),siteFile:async($,U)=>{if((V1.lastSync?.at?Date.now()-V1.lastSync.at:1/0)>Uq)await EU(!0).catch(()=>{});let Q=F$,J;try{J=s1(Q,$)}catch{return null}let j=Wz(Q,J.id,U,{spa:J.spa===1});if(!j)return null;return{...j.row,status:j.status,public:Rz(Q,J).serving}},blobBytes:async($)=>{let U=await QY($).catch(()=>{return});if(U)return U.bytes;for(let X of JU(F$)){if(!X.config)continue;try{let Q=await AG(JSON.parse(X.config),$);if(Q&&await XY(Q,$))return new Uint8Array(Q).buffer}catch{}}return null},blobRefs:()=>[...rW(F$)],listSites:()=>{let $=Iz(F$);return Yz(F$).map((U)=>({...U,file_count:$.get(U.id)??0}))},listSiteFiles:($)=>Zz(F$,$),createSite:($)=>{if($.visibility==="public")throw new c("invalid_input","此浏览器通过同步存储桶交换数据、不驻留在线;请在在线主节点管理公开发布");return{...Vz(F$,$),file_count:0}},updateSite:($,U)=>{if(U.visibility==="public")throw new c("invalid_input","此浏览器通过同步存储桶交换数据、不驻留在线;请在在线主节点管理公开发布");return{...Pz(F$,$,U),file_count:Bz(F$,$)}},deleteSite:async($)=>{let U=kz(F$,$);return await n2(F$),{ok:U}},getSiteGrants:($)=>({grants:y1(s1(F$,$).public_grants)}),setSiteGrants:($,U)=>{let X=s1(F$,$),Q=Dz(F$,X.id,U.tables.length?U:null);return qz(F$,X.id,y1(Q.public_grants)),{grants:y1(Q.public_grants)}},siteHosting:()=>({publicBaseUrl:null,scope:null,node:J6(F$),pendingRollbacks:[],publishedSites:[],channels:oG(F$)}),revokeSiteChannel:async($)=>{let U=T6(),{needsReconcile:X}=gz(U,$);if(X)await n2(U);let Q=oG(U).find((J)=>J.id===$);if(!Q)throw new c("not_found",`no such site channel: ${$}`);return Q},putSiteFile:($,U,X,Q)=>{let{content:J,...j}=Nz(F$,$,U,{data:X,contentType:Q});return{...j,size:Kz(F$,{encoding:j.encoding,content:J})}},deleteSiteFile:($,U)=>({ok:Oz(F$,$,U)}),reset:async()=>{try{xV?.close()}catch{}return F$=null,await qY?.wipeFiles(),wV(),h1({state:"ready",paired:!1,node:J6(T6()),hydrated:void 0,lastSync:void 0}),{ok:!0}},nodes:()=>dY(F$),setNodeLabel:($)=>{return oY(T6(),$),{node_id:J6(T6()),label:yU(T6()),self:!0}},search:($,U)=>GV(F$,$,{limit:U})},Qq=/^(create|update|delete|move|duplicate|revert|add|remove|set|put)/,kX=null;function jq(){if(kX)clearTimeout(kX);kX=setTimeout(()=>{if(kX=null,navigator.onLine!==!1)EU()},800)}self.onmessage=async($)=>{let{id:U,op:X,args:Q}=$.data;try{await oB;let J=yV[X];if(!J)throw new c("invalid_input",`unknown op: ${X}`);let j=await J(...Q??[]);if(AX({id:U,ok:!0,result:j}),Qq.test(X))aB(),jq()}catch(J){let j=J instanceof Error?J.message:String(J),G=nU(J)??void 0;AX({id:U,ok:!1,error:{message:j,code:G}})}};
552
+ WHERE url = ?`).run(t.pull_cursor,t.push_cursor,t.token,t.label,t.node_id,t.enabled,t.last_sync_at,t.last_success_at,t.last_status,t.last_error,t.kind,t.config,t.url)}async function oE(e){let t=kr(e);if(!t.length)return;let r;try{r=await Eg()}catch{return}for(let n of r){let o=!1;for(let s of t){if(!s.config)continue;try{await a_(JSON.parse(s.config),n.hash,new Uint8Array(n.bytes)),o=!0;break}catch{}}if(o)await Tg(n.hash,n.bytes,n.content_type).catch(()=>{}),await Sg(n.hash).catch(()=>{})}}async function Xr(e=!1){if(!xe)return{pushed:0,pulled:0,ok:!0};let t=xe;if(!Yv(t))return{pushed:0,pulled:0,ok:!0};if(Jr)return Jr;return Jr=(async()=>{let r=t.query("SELECT MAX(rowid) AS m FROM crdt_changes").get().m??0,n=0,o=0,s=[],a=[],u=kr(t).length>0;if(u&&e)hr({bucketSyncing:!0,bucketError:void 0});let _=!1;if(Et(t,ar)?.token!=null)try{let D=0;for(;;){let j=Et(t,ar)?.pull_cursor??0,Y=await ii(t,ar,{pullLimit:ch});if(n+=Y.pushed,o+=Y.pulled,D+=Y.received??Y.pulled,(Y.received??Y.pulled)<ch)break;if((Et(t,ar)?.pull_cursor??0)===j)break;hr({state:"hydrating",hydrated:D})}_=!0}catch(D){s.push(`server: ${D instanceof Error?D.message:String(D)}`)}for(let D of kr(t)){let j=_&&!e&&lh.has(D.url),Y=await $a(t,D.url,{storage:{minPushChanges:tE,maxPushAgeMs:fh,forcePush:e,pull:!j}});if(Y.ok){if(n+=Y.pushed??0,o+=Y.pulled??0,!j)lh.add(D.url)}else{let _e=`${D.label??D.url}: ${Y.error}`;s.push(_e),a.push(_e)}}for(let D of eE(t)){let j=await $a(t,D.url);if(j.ok)n+=j.pushed??0,o+=j.pulled??0;else s.push(`${D.label??D.url}: ${j.error}`)}if(!_&&u)await oE(t);await xn(t);let m=u?Di(t):!1;if(m&&a.length===0)Oi();else ac();let x=t.query("SELECT DISTINCT dataset, row_id FROM crdt_changes WHERE rowid > ?").all(r);if(hr({state:"ready",hydrated:void 0,lastSync:{at:Date.now(),ok:s.length===0,pushed:n,pulled:o,error:s.join("; ")||void 0},bucketDirty:m,bucketSyncing:!1,bucketError:a.join("; ")||void 0}),x.length||n)Ai({event:"synced",datasets:[...new Set(x.map((D)=>D.dataset))],rowIds:x.map((D)=>D.row_id),pushed:n,pulled:o});return{pushed:n,pulled:o,ok:s.length===0}})().finally(()=>{if(xe&&kr(xe).length>0&&!Wt.bucketSyncing)if(Di(xe)&&!Wt.bucketError)Oi();else ac();Jr=null}),Jr}var iE=150000,_o=sc,sE=180000;function aE(){if(!xe)return!1;if(Et(xe,ar)?.token!=null)return!1;return jt(xe).some((e)=>e.enabled===1&&(e.kind==="s3"||e.kind==="room"))}async function ph(){try{if(navigator.onLine!==!1&&aE()){let e=await Xr();_o=e.pushed>0||e.pulled>0?sc:Math.min(_o*2,iE)}else _o=sc}finally{setTimeout(ph,_o)}}setTimeout(ph,_o);async function cE(e){let t=gt(),r={code:e,node_id:We(t),grant:bt(32)},n=await fetch(new URL(Bp,ar),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(r)});if(!n.ok)throw new Z(n.status===401||n.status===403?"auth":"network",`pairing failed: ${n.status} ${await n.text()}`);let o=await n.json();return ug(t,{url:ar,token:o.grant,node_id:o.node_id,label:"server"}),hr({paired:!0}),Xr(),{node_id:o.node_id}}function lE(){let e=vt(gt(),ar);return hr({paired:!1}),{ok:e}}var _h={status:()=>Wt,pair:(e)=>cE(e),unpair:()=>lE(),sync:()=>Xr(!0).then(()=>Wt.lastSync),addStorageReplica:async(e,t)=>{let r=gt(),n={publish:!0,priority:10,...e};if(n.encrypt)n.masterKey=await pa(Bt(n),n,t)??void 0;let o=gn(n.endpoint,n.bucket,n.prefix);if(Jr)await Jr;let s=Et(r,o);if(dg(r,{url:o,config:n,label:n.bucket}),await Xr(!0),Wt.bucketError){if(s)nE(r,s);else vt(r,o);throw new Z("network",`storage peer first sync failed: ${Wt.bucketError}`)}return{url:o,lastSync:Wt.lastSync}},removeStorageReplica:(e)=>({ok:vt(gt(),e)}),storagePeerConfig:(e)=>{let t=Et(xe,e);return t?.config?JSON.parse(t.config):null},dataMap:()=>_g(gt()),listStoragePeers:()=>jt(xe).filter((e)=>e.kind==="s3").map((e)=>({url:e.url,label:e.label,enabled:e.enabled===1,status:e.last_status,error:e.last_error,lastSyncAt:e.last_success_at,lastAttemptAt:e.last_sync_at})),edgeStatus:async()=>{let e=gt(),t=Ti(e),r=jt(e).filter((n)=>n.kind==="room"&&n.config).map((n)=>{let o=JSON.parse(n.config);return{slug:o.slug,url:Zr(o),status:n.last_status,lastSuccessAt:n.last_success_at,error:n.last_error}});if(!t)return{configured:!1,expectedVersion:Tr,aligned:!1,reachable:!1,managed:!1,rooms:r,defaults:null,pending:null};try{let n=await ki(t.endpoint,t.token).ownerHealth();return{configured:!0,endpoint:t.endpoint,capabilities:fo(t),version:n.version??null,expectedVersion:Tr,aligned:n.version===Tr,reachable:n.ok,managed:!1,rooms:r,defaults:null,pending:null}}catch(n){return{configured:!0,endpoint:t.endpoint,capabilities:fo(t),version:null,expectedVersion:Tr,aligned:!1,reachable:!1,error:n.message,managed:!1,rooms:r,defaults:null,pending:null}}},connectEdge:async(e,t)=>{let r=await Jg(e,t,"edge");return nc(gt(),{endpoint:r.endpoint,token:r.token,capabilities:r.capabilities,deployedVersion:r.version}),{...await _h.edgeStatus(),status:"connected",wired:[],warnings:[]}},disconnectEdge:()=>{let e=gt();if(jt(e).some((t)=>t.kind==="room"))throw new Z("conflict","请先撤销所有 Edge Room 再断开");return nc(e,null),{ok:!0}},listLocalShares:(e)=>{let t=gt();return(e?ya(t,e):ma(t)).map((n)=>{let o=Et(t,`room://${n.slug}`),s=o?.config?JSON.parse(o.config):null,a=s?.lifecycle??"active",u=s&&a==="active"?Zr(s):void 0,_=n.kind==="site"?Gr(t,n.target_id):null;return{slug:n.slug,kind:n.kind,target_id:n.target_id,title:_?.title||_?.name||n.target_id,permission:n.permission,transport:"server",source:s?a==="cleanup_pending"?"Edge Room(撤销待确认)":"Edge Room":"本机",sourceKind:s?"room":"server",hosting:s?"room":"server",...s?{lifecycle:a}:{},expiresAt:n.expires_at,hasPassword:!!n.pw_hash,url:u}})},createLocalShare:async(e)=>{let t=gt();if(e.kind!=="site"||e.hosting!=="room")throw new Z("invalid_input","此设备不驻留在线托管,目前仅支持通过 Edge 发布站点");let r=Ti(t);if(!r)throw new Z("invalid_input","请先连接 Edge");if(!fo(r).includes("room"))throw new Z("conflict","当前 Edge 仅支持 inbox,不支持 Room 托管");let n=Gr(t,e.ref),o=e.password?await ba(e.password):null,s=ha(t,{kind:"site",target_id:n.id,permission:e.permission,pwSalt:o?.salt,pwHash:o?.hash,expiresAt:e.expiresMs!=null?Date.now()+e.expiresMs:null,grants:e.grants,requestId:e.requestId});try{let a=await $_(t,s,r,lc),u=ao(t,{siteId:n.id,audience:"link",hosting:"edge",targetRef:s.slug,canonicalUrl:a.url,policy:{permission:s.permission,hasPassword:!!s.pw_hash,expiresAt:s.expires_at}});return Rt(t,{channelId:u.id,status:"ready",lastVerifiedAt:Date.now()}),{slug:s.slug,kind:"site",permission:s.permission,transport:"server",hosting:"room",url:a.url,expiresAt:s.expires_at,source:"Edge Room"}}catch(a){if(await oo(t,s.slug)!=="cleanup_pending")Qt(t,s.slug);throw a}},revokeLocalShare:async(e)=>{let t=gt();if(!or(t,e))return{ok:!1,status:"not_found"};let r=Ut(t).filter((s)=>s.audience==="link"&&s.target_ref===e&&s.desired_state==="active");for(let s of r)gr(t,s.id,"revoked");if(await oo(t,e)==="cleanup_pending"){for(let s of r)Rt(t,{channelId:s.id,status:"cleanup_pending",lastError:"Edge 尚未确认销毁 Room"});return{ok:!1,status:"cleanup_pending"}}let o=Qt(t,e);for(let s of r)Rt(t,{channelId:s.id,status:"revoked",lastVerifiedAt:Date.now()});return{ok:o,status:"revoked"}},renewLocalShare:async(e,t)=>{let r=gt();await Promise.resolve().then(() => ah());return sh(r,e,void 0,t)},listDatabases:()=>sl(xe),createDatabase:(e)=>Vi(xe,e),updateDatabase:(e,t)=>ol(xe,e,t),duplicateDatabase:(e,t)=>il(xe,e,t??{}),deleteDatabase:(e)=>({ok:al(xe,e)}),listDatabaseActivity:(e,t)=>Ig(xe,e,{limit:t}),listAuditEntries:(e)=>Ug(xe,e??{}),auditEntryDetail:(e)=>Hg(xe,e),revertChangeGroup:(e)=>Wg(xe,e),listProperties:(e)=>Nt(xe,e),addProperty:(e,t)=>xo(xe,e,t),updateProperty:(e,t)=>Ki(xe,e,t),setPropertyWidth:(e,t)=>Jc(xe,e,t),removeProperty:(e)=>({ok:el(xe,e)}),renameSelectOption:(e,t,r)=>Qc(xe,e,t,r),removeSelectOption:(e,t)=>Yc(xe,e,t),listPropertyRevisions:(e)=>Ng(xe,e),revertProperty:(e,t)=>qg(xe,e,t),listRecords:(e,t)=>un(xe,e,t??{}),createRecord:(e,t)=>To(xe,e,t),getRecord:(e)=>{let t=vr(xe,e);if(!t)throw new Z("not_found",`no such record: ${e}`);return t},updateRecord:(e,t)=>ko(xe,e,t),moveRecord:(e,t,r)=>hl(xe,e,t,r),deleteRecord:(e)=>({ok:ml(xe,e)}),listRecordRevisions:(e)=>Og(xe,e),recordAtVersion:(e,t)=>Ja(xe,e,t),recordFieldHistory:(e,t)=>Lg(xe,e,t),revertRecord:(e,t)=>Pg(xe,e,t),listDocuments:(e)=>wl(xe,e??{}),createDocument:(e)=>is(xe,e),getDocument:(e)=>{let t=nt(xe,e);if(!t)throw new Z("not_found",`no such document: ${e}`);return{...t,version:Tt(xe,t.id)}},updateDocument:(e,t,r)=>{let n=Oo(xe,e,t,{ifMatch:r});return{...n,version:Tt(xe,n.id)}},duplicateDocument:(e,t)=>{let r=Tl(xe,e,{title:t?.title,parentId:t?.parent_id});return{...r,version:Tt(xe,r.id)}},moveDocument:(e,t,r)=>as(xe,e,t,r),listDocumentRevisions:(e)=>Rg(xe,e),documentAtVersion:(e,t)=>Va(xe,e,t),revertDocument:(e,t,r)=>Ag(xe,e,t,{ifMatch:r}),deleteDocument:(e)=>({ok:kl(xe,e)}),siteFile:async(e,t)=>{if((Wt.lastSync?.at?Date.now()-Wt.lastSync.at:1/0)>sE)await Xr(!0).catch(()=>{});let n=xe,o;try{o=Gr(n,e)}catch{return null}let s=j_(n,o.id,t,{spa:o.spa===1});if(!s)return null;return{...s.row,status:s.status,public:ig(n,o).serving}},blobBytes:async(e)=>{let t=await Za(e).catch(()=>{return});if(t)return t.bytes;for(let r of kr(xe)){if(!r.config)continue;try{let n=await ua(JSON.parse(r.config),e);if(n&&await Wa(n,e))return new Uint8Array(n).buffer}catch{}}return null},blobRefs:()=>[...Pl(xe)],listSites:()=>{let e=Y_(xe);return U_(xe).map((t)=>({...t,file_count:e.get(t.id)??0}))},listSiteFiles:(e)=>H_(xe,e),createSite:(e)=>{if(e.visibility==="public")throw new Z("invalid_input","此浏览器通过同步存储桶交换数据、不驻留在线;请在在线主节点管理公开发布");return{...G_(xe,e),file_count:0}},updateSite:(e,t)=>{if(t.visibility==="public")throw new Z("invalid_input","此浏览器通过同步存储桶交换数据、不驻留在线;请在在线主节点管理公开发布");return{...rg(xe,e,t),file_count:eg(xe,e)}},deleteSite:async(e)=>{let t=ng(xe,e);return await xn(xe),{ok:t}},getSiteGrants:(e)=>({grants:_r(Gr(xe,e).public_grants)}),setSiteGrants:(e,t)=>{let r=Gr(xe,e),n=K_(xe,r.id,t.tables.length?t:null);return tg(xe,r.id,_r(n.public_grants)),{grants:_r(n.public_grants)}},siteHosting:()=>({publicBaseUrl:null,scope:null,node:We(xe),pendingRollbacks:[],publishedSites:[],channels:qa(xe)}),revokeSiteChannel:async(e)=>{let t=gt(),{needsReconcile:r}=gg(t,e);if(r)await xn(t);let n=qa(t).find((o)=>o.id===e);if(!n)throw new Z("not_found",`no such site channel: ${e}`);return n},putSiteFile:(e,t,r,n)=>{let{content:o,...s}=X_(xe,e,t,{data:r,contentType:n});return{...s,size:W_(xe,{encoding:s.encoding,content:o})}},deleteSiteFile:(e,t)=>({ok:Q_(xe,e,t)}),reset:async()=>{try{uh?.close()}catch{}return xe=null,await cc?.wipeFiles(),dh(),hr({state:"ready",paired:!1,node:We(gt()),hydrated:void 0,lastSync:void 0}),{ok:!0}},nodes:()=>qc(xe),setNodeLabel:(e)=>(Nc(gt(),e),{node_id:We(gt()),label:on(gt()),self:!0}),search:(e,t)=>Vg(xe,e,{limit:t})},uE=/^(create|update|delete|move|duplicate|revert|add|remove|set|put)/,Ri=null;function dE(){if(Ri)clearTimeout(Ri);Ri=setTimeout(()=>{if(Ri=null,navigator.onLine!==!1)Xr()},800)}self.onmessage=async(e)=>{let{id:t,op:r,args:n}=e.data;try{await Qv;let o=_h[r];if(!o)throw new Z("invalid_input",`unknown op: ${r}`);let s=await o(...n??[]);if(Ai({id:t,ok:!0,result:s}),uE.test(r))rE(),dE()}catch(o){let s=o instanceof Error?o.message:String(o),a=ln(o)??void 0;Ai({id:t,ok:!1,error:{message:s,code:a}})}};