@velarscript-labs/sqlite 0.3.2 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +6 -0
- package/THIRD_PARTY_NOTICES.md +35 -0
- package/dist/index.js +2 -1936
- package/dist/index.js.map +1 -1
- package/dist/index.veli.json +213 -129
- package/dist/velar-library.json +10 -6
- package/package.json +24 -6
- package/src/generated/worker-source.vel +3 -0
- package/src/index.vel +44 -242
package/dist/velar-library.json
CHANGED
|
@@ -4,15 +4,19 @@
|
|
|
4
4
|
"abiVersion": 1,
|
|
5
5
|
"package": {
|
|
6
6
|
"name": "@velarscript-labs/sqlite",
|
|
7
|
-
"version": "0.3.
|
|
7
|
+
"version": "0.3.4"
|
|
8
8
|
},
|
|
9
9
|
"target": "node",
|
|
10
|
-
"compilerVersion": "0.
|
|
10
|
+
"compilerVersion": "0.30.1",
|
|
11
11
|
"sourceEntry": "src/index.vel",
|
|
12
12
|
"sources": [
|
|
13
|
+
{
|
|
14
|
+
"path": "src/generated/worker-source.vel",
|
|
15
|
+
"sha256": "abe6ed50e4517c1a6f1a60fdc3abc25454cf668ab515b75e965d9cf7293d13a4"
|
|
16
|
+
},
|
|
13
17
|
{
|
|
14
18
|
"path": "src/index.vel",
|
|
15
|
-
"sha256": "
|
|
19
|
+
"sha256": "1e7f4eb04da301e11bcb19c4f367952991f8800b73d28c231418e1dfea7a778f"
|
|
16
20
|
}
|
|
17
21
|
],
|
|
18
22
|
"entry": {
|
|
@@ -20,9 +24,9 @@
|
|
|
20
24
|
"sourceMap": "index.js.map",
|
|
21
25
|
"interface": "index.veli.json",
|
|
22
26
|
"sha256": {
|
|
23
|
-
"javascript": "
|
|
24
|
-
"sourceMap": "
|
|
25
|
-
"interface": "
|
|
27
|
+
"javascript": "19509970a336e8edb6f87b41be76702681ee299aec4e05a7985f644872c4ea82",
|
|
28
|
+
"sourceMap": "efb722b4a3a0a3d257bcb4243cf7d6bb84ef3faf4878e1c0303715f34ca5af5e",
|
|
29
|
+
"interface": "790c858498140229ee22c7dd11af24f2333dd58c67657536bd85bf1c45454226"
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
32
|
}
|
package/package.json
CHANGED
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velarscript-labs/sqlite",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "Injection-resistant bounded SQLite capability for VelarScript Node applications.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"files": [
|
|
8
8
|
"src/index.vel",
|
|
9
|
+
"src/generated/worker-source.vel",
|
|
9
10
|
"dist",
|
|
10
11
|
"README.md",
|
|
11
12
|
"CHANGELOG.md",
|
|
13
|
+
"THIRD_PARTY_NOTICES.md",
|
|
12
14
|
"LICENSE"
|
|
13
15
|
],
|
|
14
16
|
"scripts": {
|
|
17
|
+
"generate:worker": "node scripts/generate-worker.mjs",
|
|
18
|
+
"prebuild": "npm run generate:worker",
|
|
15
19
|
"build": "velar build-library",
|
|
20
|
+
"precheck": "npm run generate:worker -- --check",
|
|
16
21
|
"check": "velar format --check && velar check",
|
|
17
|
-
"
|
|
22
|
+
"pretest": "npm run generate:worker -- --check",
|
|
23
|
+
"test": "velar test && node --test tests/*.test.mjs"
|
|
18
24
|
},
|
|
19
25
|
"engines": {
|
|
20
26
|
"node": ">=24.12"
|
|
@@ -32,12 +38,24 @@
|
|
|
32
38
|
},
|
|
33
39
|
"velar": {
|
|
34
40
|
"entry": "src/index.vel",
|
|
35
|
-
"artifacts": {
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
"artifacts": {
|
|
42
|
+
"node": "dist/velar-library.json"
|
|
43
|
+
},
|
|
44
|
+
"targets": [
|
|
45
|
+
"node"
|
|
46
|
+
],
|
|
47
|
+
"requires": {
|
|
48
|
+
"capabilities": [
|
|
49
|
+
"node"
|
|
50
|
+
],
|
|
51
|
+
"language": ">=0.30 <0.31"
|
|
52
|
+
}
|
|
38
53
|
},
|
|
39
54
|
"dependencies": {
|
|
40
|
-
"@velarscript-labs/database": "0.3.
|
|
55
|
+
"@velarscript-labs/database": "0.3.3"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"esbuild": "0.28.2",
|
|
41
59
|
"sqlite3-parser": "0.7.1"
|
|
42
60
|
}
|
|
43
61
|
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/// Generated by the SQLite Worker resource pipeline. Do not edit.
|
|
2
|
+
export const sqliteWorkerSourceFormatVersion = 1
|
|
3
|
+
export const sqliteWorkerSource = `/*!\n * # Third-party notices\n *\n * The generated SQLite Worker contains \`sqlite3-parser\` 0.7.1.\n *\n * ## sqlite3-parser\n *\n * MIT License\n *\n * Copyright (c) 2026 Jake Teton-Landis\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the "Software"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * Additional notice regarding vendored SQLite sources:\n *\n * Some files under \`vendor/\` originate from the SQLite project. SQLite is in the\n * public domain, and those upstream SQLite source files remain available under\n * public-domain terms. Repository-specific modifications and original code in\n * this repository are provided under the MIT license above unless otherwise\n * noted.\n */\nvar Vn=Object.defineProperty;var Zn=(r,o)=>{for(var e in o)Vn(r,e,{get:o[e],enumerable:!0})};import{Buffer as d1}from"node:buffer";import{DatabaseSync as He,constants as i1}from"node:sqlite";import{isMainThread as ve,parentPort as p,workerData as W}from"node:worker_threads";var Q1=r=>r;var \u{24}n=new Uint8Array([29,28,28,28,28,28,28,28,28,7,7,28,7,7,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,9,28,28,28,2,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,28,10,28,25,28,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,30,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27]);function h1(r,o){let e=r.charCodeAt(o);return e!==e?29:e>255?27:\u{24}n[e]}function v(r){return r===void 0?!1:r.charCodeAt(0)>=128?!0:r>="0"&&r<="9"||r>="A"&&r<="Z"||r>="a"&&r<="z"||r==="_"||r==="\u{24}"}function q(r){return r!==void 0&&r>="0"&&r<="9"}function g1(r){return r===void 0?!1:r>="0"&&r<="9"||r>="A"&&r<="F"||r>="a"&&r<="f"}function V1(r){if(r===" ")return!0;if(r===void 0)return!1;let o=r.charCodeAt(0);return o>=9&&o<=13}var qn="";function Z1(r,o,e={}){let s=e.digitSeparator??qn,m=typeof s=="string"&&s.length===1,n=new Map,t=new Map;for(let u=0;u<r.constants.YYNTOKEN;u++){let f=r.symbols[u],E=u;n.set(f,E),t.set(E,f)}function i(u){let f=n.get(u);if(f===void 0)throw new Error(\`tokenize.ts: parser defs are missing terminal token "\u{24}{u}". This usually means the parser defs and tokenizer are out of sync.\`);return f}let a={SPACE:i("SPACE"),COMMENT:i("COMMENT"),ILLEGAL:i("ILLEGAL"),PTR:i("PTR"),MINUS:i("MINUS"),LP:i("LP"),RP:i("RP"),SEMI:i("SEMI"),PLUS:i("PLUS"),STAR:i("STAR"),SLASH:i("SLASH"),REM:i("REM"),EQ:i("EQ"),LE:i("LE"),NE:i("NE"),LT:i("LT"),LSHIFT:i("LSHIFT"),GE:i("GE"),RSHIFT:i("RSHIFT"),GT:i("GT"),BITOR:i("BITOR"),CONCAT:i("CONCAT"),COMMA:i("COMMA"),BITAND:i("BITAND"),BITNOT:i("BITNOT"),DOT:i("DOT"),STRING:i("STRING"),ID:i("ID"),INTEGER:i("INTEGER"),FLOAT:i("FLOAT"),QNUMBER:i("QNUMBER"),VARIABLE:i("VARIABLE"),BLOB:i("BLOB"),CASE:i("CASE"),END:i("END")},c=o.meta.maskFlags,A=Object.keys(c),I=e.flags??A,T=c.ALWAYS??Q1(0);for(let u of I)T=Q1(T|(c[u]??0));let C=[],k=0,M=0;for(let u of o.keywords){if((u.mask&T)===0)continue;M++;let f=u.name.length;f>k&&(k=f);let E=C[f];E===void 0&&(E={names:[],codes:[]},C[f]=E),E.names.push(u.name),E.codes.push(i(u.token))}function X(u,f,E){let l;switch(h1(u,f)){case 7:{for(l=f+1;V1(u[l]);l++);return E[0]=a.SPACE,l-f}case 11:{if(u[f+1]==="-"){for(l=f+2;u[l]!==void 0&&u[l]!==\`\n\`;l++);return E[0]=a.COMMENT,l-f}return u[f+1]===">"?(E[0]=a.PTR,u[f+2]===">"?3:2):(E[0]=a.MINUS,1)}case 17:return E[0]=a.LP,1;case 18:return E[0]=a.RP,1;case 19:return E[0]=a.SEMI,1;case 20:return E[0]=a.PLUS,1;case 21:return E[0]=a.STAR,1;case 16:{if(u[f+1]!=="*"||u[f+2]===void 0)return E[0]=a.SLASH,1;l=f+3;let N=u[f+2];for(;u[l]!==void 0&&!(N==="*"&&u[l]==="/");)N=u[l],l++;return u[l]!==void 0&&l++,E[0]=a.COMMENT,l-f}case 22:return E[0]=a.REM,1;case 14:return E[0]=a.EQ,u[f+1]==="="?2:1;case 12:{let N=u[f+1];return N==="="?(E[0]=a.LE,2):N===">"?(E[0]=a.NE,2):N==="<"?(E[0]=a.LSHIFT,2):(E[0]=a.LT,1)}case 13:{let N=u[f+1];return N==="="?(E[0]=a.GE,2):N===">"?(E[0]=a.RSHIFT,2):(E[0]=a.GT,1)}case 15:return u[f+1]==="="?(E[0]=a.NE,2):(E[0]=a.ILLEGAL,1);case 10:return u[f+1]==="|"?(E[0]=a.CONCAT,2):(E[0]=a.BITOR,1);case 23:return E[0]=a.COMMA,1;case 24:return E[0]=a.BITAND,1;case 25:return E[0]=a.BITNOT,1;case 8:{let N=u[f],L;for(l=f+1;(L=u[l])!==void 0;l++)if(L===N)if(u[l+1]===N)l++;else break;return L==="'"?(E[0]=a.STRING,l-f+1):L!==void 0?(E[0]=a.ID,l-f+1):(E[0]=a.ILLEGAL,l-f)}case 26:return q(u[f+1])?H(u,f,E,!0):(E[0]=a.DOT,1);case 3:return H(u,f,E,!1);case 9:{for(l=f+1;u[l]!==void 0;l++)if(u[l]==="]")return E[0]=a.ID,l-f+1;return E[0]=a.ILLEGAL,l-f}case 6:{for(E[0]=a.VARIABLE,l=f+1;q(u[l]);l++);return l-f}case 4:case 5:{let N=0;for(E[0]=a.VARIABLE,l=f+1;u[l]!==void 0;){let L=u[l];if(v(L)){N++,l++;continue}if(L==="("&&N>0){let x;do l++,x=u[l];while(x!==void 0&&!V1(x)&&x!==")");x===")"?l++:E[0]=a.ILLEGAL;break}if(L===":"&&u[l+1]===":"){l+=2;continue}break}return N===0&&(E[0]=a.ILLEGAL),l-f}case 1:{if(h1(u,f+1)>2){if(l=f+1,v(u[l])){for(l++;v(u[l]);)l++;return E[0]=a.ID,l-f}return g(u,f,l,E)}for(l=f+2;h1(u,l)<=2;l++);if(v(u[l])){for(l++;v(u[l]);)l++;return E[0]=a.ID,l-f}return g(u,f,l,E)}case 0:{if(u[f+1]==="'"){for(E[0]=a.BLOB,l=f+2;g1(u[l]);l++);if(u[l]!=="'"||(l-f-2)%2)for(E[0]=a.ILLEGAL;u[l]!==void 0&&u[l]!=="'";)l++;return u[l]!==void 0&&l++,l-f}for(l=f+1;v(u[l]);)l++;return E[0]=a.ID,l-f}case 2:case 27:{for(l=f+1;v(u[l]);)l++;return E[0]=a.ID,l-f}case 30:{if(u.charCodeAt(f+1)===187&&u.charCodeAt(f+2)===191)return E[0]=a.SPACE,3;for(l=f+1;v(u[l]);)l++;return E[0]=a.ID,l-f}case 29:return E[0]=a.ILLEGAL,0;default:return E[0]=a.ILLEGAL,1}}function H(u,f,E,l){let N=f;if(E[0]=a.INTEGER,!l&&u[f]==="0"&&(u[f+1]==="x"||u[f+1]==="X")&&g1(u[f+2])){for(N=f+3;u[N]!==void 0;N++)if(!g1(u[N])){if(m&&u[N]===s){E[0]=a.QNUMBER;continue}break}}else{if(!l){for(N=f;u[N]!==void 0;N++)if(!q(u[N])){if(m&&u[N]===s){E[0]=a.QNUMBER;continue}break}}if(l&&N===f||u[N]==="."){for(E[0]===a.INTEGER&&(E[0]=a.FLOAT),N=l?f+1:N+1;u[N]!==void 0;N++)if(!q(u[N])){if(m&&u[N]===s){E[0]=a.QNUMBER;continue}break}}if((u[N]==="e"||u[N]==="E")&&(q(u[N+1])||(u[N+1]==="+"||u[N+1]==="-")&&q(u[N+2]))){for(E[0]===a.INTEGER&&(E[0]=a.FLOAT),N+=2;u[N]!==void 0;N++)if(!q(u[N])){if(m&&u[N]===s){E[0]=a.QNUMBER;continue}break}}}for(;v(u[N]);)E[0]=a.ILLEGAL,N++;return N-f}function g(u,f,E,l){let N=E-f;if(N>=2&&N<=k){let L=C[N];if(L!==void 0){let x=L.names,O=L.codes,D=x.length;n:for(let U=0;U<D;U++){let S=x[U];for(let F=0;F<N;F++){let Z=u.charCodeAt(f+F),Y=S.charCodeAt(F);if(Z!==Y&&Z!==(Y|32))continue n}return l[0]=O[U],N}}}return l[0]=a.ID,N}let w=a.SPACE,n1=a.COMMENT,e1={done:!0,value:void 0};class l1{sql;len;emitTrivia;offset;line;col;_out=[0];_result={done:!1,value:void 0};constructor(f,E){this.sql=f,this.len=f.length,this.emitTrivia=E,this.offset=0,this.line=1,this.col=0}[Symbol.iterator](){return this}next(){let f=this.sql,E=this.len,l=this.emitTrivia,N=this._out,L=this.offset,x=this.line,O=this.col;for(;L<E;){let D=X(f,L,N),U=N[0];if(D===0)return this.offset=L,this.line=x,this.col=O,e1;let S=L,F=x,Z=O,Y=S+D;for(let \u{24}=S;\u{24}<Y;\u{24}++)f.charCodeAt(\u{24})===10?(x++,O=0):O++;if(L=Y,!(!l&&(U===w||U===n1)))return this.offset=L,this.line=x,this.col=O,this._result.value={type:U,text:f.slice(S,Y),span:{offset:S,length:D,line:F,col:Z}},this._result}return this.offset=L,this.line=x,this.col=O,e1}}function L1(u,{emitTrivia:f=!1}={}){return new l1(u,f)}return{tokens:a,tokenName:u=>t.get(u),tokenize:L1,_nextToken:X,_keywordCount:M}}function \u{24}1(r){let o=r.constants,e=r.tables,s=e.yyFallback??[];function m(a,c){if(c>o.YY_MAX_SHIFT)return c;let A=a;for(;;){let T=e.yy_shift_ofst[c]+A;if(e.yy_lookahead[T]!==A){if(o.YYFALLBACK&&A<s.length){let C=s[A];if(C!==0){A=C;continue}}if(o.YYWILDCARD>0){let C=T-A+o.YYWILDCARD;if(C>=0&&C<e.yy_lookahead.length&&e.yy_lookahead[C]===o.YYWILDCARD&&A>0)return e.yy_action[C]}return e.yy_default[c]}return e.yy_action[T]}}function n(a,c){if(a>o.YY_REDUCE_COUNT)return e.yy_default[a];let A=e.yy_reduce_ofst[a]+c;return A<0||A>=o.YY_ACTTAB_COUNT||e.yy_lookahead[A]!==c?e.yy_default[a]:e.yy_action[A]}class t{#n=[{stateno:0,major:0,minor:void 0,span:{offset:0,length:0,line:1,col:0}}];#t=[];#e="running";#r;#s;#o=0;#i;constructor(c,A){this.#i=c,this.#s=A}get phase(){return this.#e}get root(){return this.#r}get stack(){return this.#n}get errors(){return this.#t}get state(){return this.#s}next(c,A,I){if(this.#e!=="running")return;let T=this.#n,C=T[T.length-1].stateno;for(;;){let k=C;if(C=m(c,C),C>=o.YY_MIN_REDUCE){this.#a(C-o.YY_MIN_REDUCE),C=T[T.length-1].stateno;continue}if(C<=o.YY_MAX_SHIFTREDUCE){let M=C;M>o.YY_MAX_SHIFT&&(M+=o.YY_MIN_REDUCE-o.YY_MIN_SHIFTREDUCE),T.push({stateno:M,major:c,minor:A,span:I}),this.#o++;return}if(C===o.YY_ACCEPT_ACTION){this.#r=T[T.length-1].minor,this.#e="accepted";return}this.#t.push({stateno:k,major:c,minor:A,tokenIndex:this.#o}),this.#e="errored";return}}#a(c){let A=e.yyRuleInfoNRhs[c],I=e.yyRuleInfoLhs[c],T=this.#n,C=[];for(let g=0;g<A;g++){let w=T.pop();C.push({major:w.major,minor:w.minor,span:w.span})}C.reverse();let k;if(C.length===0){let g=T[T.length-1].span;k={offset:g.offset+g.length,length:0,line:g.line,col:g.col}}else{let g=C[0].span,w=C[C.length-1].span;k={offset:g.offset,length:w.offset+w.length-g.offset,line:g.line,col:g.col}}let M=this.#i(this.#s,c,C,k),X=T[T.length-1].stateno,H=n(X,I);T.push({stateno:H,major:I,minor:M,span:k})}}function i(a,c){return new t(a,c)}return i}function jn(r,o){let{filename:e}=r,{message:s,span:m,hints:n}=o,t=e?\`At \u{24}{e}:\u{24}{m.line}:\u{24}{m.col}:\`:\`At \u{24}{m.line}:\u{24}{m.col}:\`,i=[s,"",t,J1(r,m,{indent:" "})];return n?.forEach(({message:a,span:c},A)=>{(A===0||c)&&i.push(""),i.push(\` hint: \u{24}{a}\`),c&&i.push(J1(r,c,{indent:" ",contextBefore:0,contextAfter:0}))}),i.join(\`\n\`)}var O1=class{#n;#t;#e;#r;constructor(o,e){if(!o)throw new TypeError(\`Expected a ParseErrorContext, got \u{24}{typeof o} (\u{24}{o})\`);this.#n=e,this.#t=o,this.#r=o.filename}get message(){return this.#n.message}get span(){return this.#n.span}get token(){return this.#n.token}get hints(){return this.#n.hints}get filename(){return this.#r}format(){if(this.#e!==void 0)return this.#e;if(!this.#t)throw new Error("ParserDiagnostic: context is required to format a diagnostic");return this.#e=jn(this.#t,this.#n),this.#t=void 0,this.#e}toString(){return this.format()}toJSON(){return{message:this.message,span:this.span,token:this.token,hints:this.hints,filename:this.filename}}};function j(r,o){return o.map(e=>new O1(r,e))}function q1(r,o,e){let s=e?.line??1,m=e?.col??0;for(let n=e?.offset??0;n<o;n++)r.charCodeAt(n)===10?(s++,m=0):m++;return{line:s,col:m}}var j1="\\u2502 ";function J1(r,o,e){let{source:s}=r,m=Math.max(0,e?.contextBefore??1),n=Math.max(0,e?.contextAfter??1),t=e?.indent??"",i=Math.max(0,Math.min(o.offset,s.length)),a=Math.max(i,Math.min(o.offset+o.length,s.length)),c=s.split(\`\n\`),A=o.offset===i?o:q1(s,i),I=q1(s,a,o),T=Math.max(1,A.line-m),C=Math.min(c.length,I.line+n),k=Math.max(2,String(C).length),M=[];for(let X=T;X<=C;X++){let H=c[X-1]??"";if(M.push(\`\u{24}{t}\u{24}{String(X).padStart(k," ")}\u{24}{j1}\u{24}{H}\`),X<A.line||X>I.line)continue;let g=X===A.line?A.col:0,w=X===I.line?I.col:H.length,n1=Math.max(1,w-g),e1=" ".repeat(k)+j1+" ".repeat(g);M.push(t+e1+"^".repeat(n1))}return M.join(\`\n\`)}function z1(r){let o=[{message:Jn(r.text)}],e=JSON.stringify(r.text);return e.slice(1,-1)!==String(r.text)&&o.push({message:\`escaped token text: \u{24}{e}\`}),{message:\`unrecognized token: "\u{24}{r.text}"\`,span:r.span,token:r,hints:o}}function Jn(r){return r.startsWith("'")?"unterminated string literal":r.startsWith('"')||r.startsWith("\`")||r.startsWith("[")?"unterminated quoted identifier":/^[0-9.]/.test(r)?"malformed numeric literal":"the tokenizer could not classify this input"}var y;(function(r){r[r.ExprStart=1]="ExprStart",r[r.ItemStart=2]="ItemStart",r[r.ItemEnd=4]="ItemEnd",r[r.ClauseBoundary=8]="ClauseBoundary",r[r.TableNameContext=16]="TableNameContext",r[r.Hidden=32]="Hidden",r[r.KeywordLike=64]="KeywordLike",r[r.FallbackToId=128]="FallbackToId"})(y||(y={}));var zn=["ID","STRING","ILLEGAL","SPACE","COMMENT","COMMA","SEMI","LP","RP","CASE","END","FROM","FILTER","OVER"],B=y.ExprStart|y.ItemStart|y.ItemEnd,K=y.ExprStart|y.ItemStart,h=y.ClauseBoundary,E1=y.TableNameContext,pn={\u{24}:{display:"end of input"},SPACE:{flags:y.Hidden},COMMENT:{flags:y.Hidden},ILLEGAL:{flags:y.Hidden},ID:{display:"identifier",flags:B},STRING:{display:"string literal",flags:B},INTEGER:{display:"integer literal",flags:B},FLOAT:{display:"float literal",flags:B},QNUMBER:{display:"numeric literal",flags:B},BLOB:{display:"blob literal",flags:B},VARIABLE:{display:"bind parameter",flags:B},LP:{display:"(",flags:K},RP:{display:")",flags:y.ItemEnd},COMMA:{display:","},SEMI:{display:";"},STAR:{display:"*",flags:K},DOT:{display:"."},PLUS:{display:"+",flags:K},MINUS:{display:"-",flags:K},SLASH:{display:"/"},REM:{display:"%"},EQ:{display:"="},LT:{display:"<"},LE:{display:"<="},GT:{display:">"},GE:{display:">="},NE:{display:"!="},CONCAT:{display:"||"},BITAND:{display:"&"},BITOR:{display:"|"},BITNOT:{display:"~",flags:K},LSHIFT:{display:"<<"},RSHIFT:{display:">>"},PTR:{display:"->"},NULL:{flags:B},CASE:{flags:K},CAST:{flags:K},EXISTS:{flags:K},NOT:{flags:K},CURRENT:{flags:B},CTIME_KW:{display:"date/time literal",flags:B},TRUEFALSE:{flags:y.ItemEnd},SELECT:{flags:y.ItemStart},VALUES:{flags:y.ItemStart|h},END:{flags:y.ItemEnd},FROM:{flags:h|E1},WHERE:{flags:h},GROUP:{flags:h},HAVING:{flags:h},WINDOW:{flags:h},ORDER:{flags:h},LIMIT:{flags:h},FILTER:{flags:h},OVER:{flags:h},JOIN:{flags:h|E1},ON:{flags:h},USING:{flags:h},UNION:{flags:h},INTERSECT:{flags:h},EXCEPT:{flags:h},THEN:{flags:h},ELSE:{flags:h},WHEN:{flags:h},DO:{flags:h},SET:{flags:h},RETURNING:{flags:h},INTO:{flags:E1},UPDATE:{flags:E1},JOIN_KW:{display:"join operator"}};function p1(r,o){let e=ee(r,o);return s=>te(e,s)}function ne(r){return r.text.length>0?\`near "\u{24}{r.text}": syntax error\`:"incomplete input"}function ee(r,o){let e=r.constants.YYNTOKEN,s=new Map,m=new Array(e),n=new Uint16Array(e);for(let a=0;a<e;a++){let c=a,A=r.symbols[a],I=pn[A];s.set(A,c),m[a]=re(A,I),n[a]=I?.flags??0}let t=oe(s),i=r.tables.yyFallback??[];for(let a=0;a<e;a++)a!==t.ID&&(i[a]??0)===t.ID&&(n[a]|=y.FallbackToId);for(let a of o.keywords){let c=s.get(a.token);c!==void 0&&(c===t.ID||c===t.STRING||c===t.ILLEGAL||(n[c]|=y.KeywordLike))}return{defs:r,tok:t,displayById:m,flagsById:n}}function te(r,o){let{token:e,state:s,previousToken:m,sawOverSinceLastFilterOrSemi:n,openers:t}=o,i=ne(e),a=ie(r,s),c=le(r,{token:e,canonical:i,expected:a,previousToken:m,openers:t,sawOverSinceLastFilterOrSemi:n})??(a.length>0?[{message:\`expected \u{24}{ue(r,a)}\`}]:void 0);return c?{message:i,span:e.span,token:e,hints:c}:{message:i,span:e.span,token:e}}function re(r,o){if(!((o?.flags??0)&y.Hidden))return o?.display?o.display:/^[A-Z_]+\u{24}/.test(r)?r.replace(/_KW\u{24}/,"").toLowerCase():r}function se(r,o){let e=r.get(o);if(e===void 0)throw new Error(\`errors.ts: missing terminal token "\u{24}{o}"\`);return e}function oe(r){return Object.fromEntries(zn.map(o=>[o,se(r,o)]))}function ie(r,o){let e=r.defs.tables.yy_expected?.[o]??[],s=[];for(let m of e)nn(r,m)||s.push(m);return s}function nn(r,o){return Q(r,o,y.Hidden)}function en(r,o){return Q(r,o,y.FallbackToId)}function ae(r,o){for(let e of o)if(e===r.tok.ID||en(r,e))return!0;return!1}function A1(r,o){return r.includes(o)}function tn(r,o,e){for(let s of o)if(Q(r,s,e))return!0;return!1}function ce(r,o){if(!nn(r,o))return en(r,o)?x1(r,r.tok.ID):x1(r,o)}function me(r,o){let e=/^[^a-z0-9]/i.test(r),s=/^[^a-z0-9]/i.test(o);return e!==s?e?-1:1:r.localeCompare(o)}function ue(r,o){let e=new Set,s=[];for(let a of o){let c=ce(r,a);c===void 0||e.has(c)||(e.add(c),s.push(c))}s.sort(me);let m=s.slice(0,5);if(m.length===1)return m[0];if(m.length===2)return\`\u{24}{m[0]} or \u{24}{m[1]}\`;let n=m.slice(0,-1).join(", "),t=m[m.length-1],i=s.length>m.length?", ...":"";return\`\u{24}{n}, or \u{24}{t}\u{24}{i}\`}function le(r,o){let{token:e,canonical:s,expected:m,previousToken:n,openers:t,sawOverSinceLastFilterOrSemi:i}=o,a=t[t.length-1],c=fe(r,e,n);if(c)return[{message:c}];if(s==="incomplete input")return rn(r,e,a)??[{message:"query ended before a complete statement was formed"}];let A=Ee(r,e,t);if(A)return[{message:A}];let I=Ae(r,e,i);if(I)return[{message:I}];let T=Ne(r,e,a);if(T)return T;let C=Ce(r,e,m,n);if(C)return[{message:C}];if(e.type===r.tok.FROM&&tn(r,m,y.ExprStart))return[{message:"expected a result expression before FROM"}];let k=Te(r,e,m);if(k)return[{message:k}]}function t1(r){return r.text.length===0?"end of input":\`"\u{24}{r.text}"\`}function fe(r,o,e){if(!e||!Q(r,e.type,y.TableNameContext))return;let s=x1(r,e.type);if(b1(r,o))return\`expected a table name after \u{24}{s}\`;if(!(o.type===r.tok.ID||o.type===r.tok.STRING))return\`expected a table name after \u{24}{s}\`}function rn(r,o,e){if(!e)return;let s;if(e.type===r.tok.LP)s=\`missing ")" before \u{24}{t1(o)}\`;else if(e.type===r.tok.CASE)s=\`missing END before \u{24}{t1(o)}\`;else return;return[{message:s},{message:"opened here",span:e.span}]}function Ee(r,o,e){if(o.type===r.tok.RP&&!e.some(s=>s.type===r.tok.LP))return'unexpected ")" with no matching "("'}function Ae(r,o,e){if(o.type===r.tok.FILTER)return e?"FILTER clauses must appear before OVER clauses":void 0}function Ne(r,o,e){if(!(!e||!sn(r,o)))return rn(r,o,e)}function Ce(r,o,e,s){if(o.type===r.tok.COMMA&&A1(e,r.tok.RP))return'remove this comma or add another list item before ")"';if(b1(r,o)&&s?.type===r.tok.COMMA)return"remove the trailing comma or add another list item before end of input";if(s?.type===r.tok.COMMA&&sn(r,o))return\`remove the trailing comma or add another list item before \u{24}{t1(o)}\`;if(!(!s||!Ie(r,o)||!de(r,s))){if(A1(e,r.tok.COMMA))return\`missing comma before \u{24}{t1(o)}\`;if(A1(e,r.tok.RP)||A1(e,r.tok.SEMI)||tn(r,e,y.ClauseBoundary))return\`possible missing comma or operator before \u{24}{t1(o)}\`}}function Te(r,o,e){if(ae(r,e)&&ye(r,o))return\`if you intended \u{24}{t1(o)} as an identifier here, quote it\`}function Q(r,o,e){return(r.flagsById[o]&e)!==0}function b1(r,o){return o.type===0||o.type===r.tok.SEMI&&o.synthetic===!0}function sn(r,o){return b1(r,o)||Q(r,o.type,y.ClauseBoundary)}function Ie(r,o){return Q(r,o.type,y.ItemStart)}function de(r,o){return Q(r,o.type,y.ItemEnd)}function ye(r,o){return o.type===r.tok.ID||o.type===r.tok.STRING||o.type===r.tok.ILLEGAL?!1:Q(r,o.type,y.KeywordLike)}function x1(r,o){return r.displayById[o]??Le(r.defs,o)}function Le(r,o){return r.symbols[o]??String(o)}var Re=Symbol("Sqlite3ParserError"),S1=class r extends Error{name="Sqlite3ParserError";static wrap(o){return o instanceof r?o:new r(o.stack??\`\u{24}{o.name}: \u{24}{o.message}\`,{cause:o})}[Re]=!0;toJSON(){return Object.assign({name:this.name,message:this.message,stack:this.stack,cause:this.cause},this)}},a1=class extends S1{name="Sqlite3ParserDiagnosticError";constructor(o){let e="";switch(o.length){case 0:e="No diagnostics provided when constructing error";break;case 1:e=o[0].format();break;default:e=\`\u{24}{o.length} diagnostics:\n\u{24}{o.map(s=>s.format()).join(\`\n\`)}\`}super(e),this.errors=o}};function ke(r){return r!==void 0&&r>="0"&&r<="9"}function he(r){return r===void 0?!1:r>="0"&&r<="9"||r>="A"&&r<="F"||r>="a"&&r<="f"}function ge(r){return r==="'"||r==='"'||r==="\`"||r==="["}function V(r){if(r.length===0||!ge(r[0]))return r;let o=r[0]==="["?"]":r[0],e="";for(let s=1;s<r.length;s++){let m=r[s];if(m===o)if(r[s+1]===o)e+=o,s++;else break;else e+=m}return e}function an(r,o={}){let e=o.digitSeparator??"_",s=r[0]==="0"&&(r[1]==="x"||r[1]==="X"),m=s?he:ke,n="INTEGER",t="",i;for(let a=0;a<r.length;a++){let c=r[a];if(c!==e){t+=c,!s&&(c==="e"||c==="E"||c===".")&&(n="FLOAT");continue}(!m(r[a-1])||!m(r[a+1]))&&(i=\`unrecognized token: "\u{24}{r}"\`)}return i?{op:n,text:t,error:i}:{op:n,text:t}}function on(r){if(r===void 0)return NaN;let o=typeof r=="string"?r.charCodeAt(0):r|0;return o>=48&&o<=57?o-48:o>=65&&o<=70?o-65+10:o>=97&&o<=102?o-97+10:NaN}function cn(r){if(r[0]!=="x"&&r[0]!=="X"||r[1]!=="'"||r[r.length-1]!=="'")throw new Error(\`not a blob literal: \u{24}{JSON.stringify(r)}\`);let o=r.slice(2,r.length-1);if(o.length%2!==0)throw new Error(\`blob literal has odd hex digit count: \u{24}{JSON.stringify(r)}\`);let e=new Uint8Array(o.length/2);for(let s=0;s<o.length;s+=2)e[s/2]=on(o[s])<<4|on(o[s+1]);return e}function G(r,o,...e){return e.length>0?{message:r,span:o,hints:e}:{message:r,span:o}}function N1(r,o,e){return G(r,o,{message:"first specified here",span:e})}var Oe={offset:0,length:0,line:0,col:0};function xe(r,o){let e=mn(r),s=mn(o);return e&&s?Oe:e?o:s?r:{offset:r.offset,length:o.offset+o.length-r.offset,line:r.line,col:r.col}}function mn(r){return r.line===0&&r.offset===0&&r.length===0}var c1=r=>({type:"Name",text:V(r.text),span:r.span}),r1=r=>({type:"Id",name:V(r.text),span:r.span});function ln(r){let o=r.span,e=r.text.toUpperCase();if(e==="CURRENT_DATE")return{type:"CurrentDateLiteral",span:o};if(e==="CURRENT_TIME")return{type:"CurrentTimeLiteral",span:o};if(e==="CURRENT_TIMESTAMP")return{type:"CurrentTimestampLiteral",span:o};throw new Error(\`unreachable CTIME_KW: \u{24}{r.text}\`)}var fn=r=>({type:"NullLiteral",span:r.span}),En=r=>({type:"StringLiteral",value:V(r.text),span:r.span}),An=r=>({type:"BlobLiteral",bytes:cn(r.text),span:r.span}),m1=r=>({type:"NumericLiteral",value:r.text,span:r.span}),Nn=r=>({type:"KeywordLiteral",value:r.text,span:r.span});function _1(r,o){if(r.type===o.MATCH)return"Match";let e=r.text.toUpperCase();if(e==="LIKE")return"Like";if(e==="GLOB")return"Glob";if(e==="REGEXP")return"Regexp";throw new Error(\`unreachable LIKE_KW: \u{24}{r.text}\`)}function Cn(r,o){switch(r){case o.AND:return"And";case o.OR:return"Or";case o.LT:return"Less";case o.GT:return"Greater";case o.GE:return"GreaterEquals";case o.LE:return"LessEquals";case o.EQ:return"Equals";case o.NE:return"NotEquals";case o.BITAND:return"BitwiseAnd";case o.BITOR:return"BitwiseOr";case o.LSHIFT:return"LeftShift";case o.RSHIFT:return"RightShift";case o.PLUS:return"Add";case o.MINUS:return"Subtract";case o.STAR:return"Multiply";case o.SLASH:return"Divide";case o.REM:return"Modulus";case o.CONCAT:return"Concat";case o.IS:return"Is";case o.NOT:return"IsNot";default:throw new Error(\`unreachable binary op token: \u{24}{r}\`)}}function Tn(r,o){switch(r){case o.BITNOT:return"BitwiseNot";case o.MINUS:return"Negative";case o.NOT:return"Not";case o.PLUS:return"Positive";default:throw new Error(\`unreachable unary op token: \u{24}{r}\`)}}var In=r=>r.text==="->>"?"ArrowRightShift":"ArrowRight",D1=(r,o)=>({type:"ParenthesizedExpr",exprs:[r],span:o}),dn=r=>({type:"VariableExpr",name:r.text,span:r.span}),yn=(r,o,e)=>({type:"CollateExpr",expr:r,collation:V(o.text),span:e}),Ln=(r,o,e)=>({type:"CastExpr",expr:r,typeName:o,span:e}),J=(r,o,e,s)=>({type:"BinaryExpr",left:r,op:o,right:e,span:s}),s1=(r,o,e)=>({type:"UnaryExpr",op:r,expr:o,span:e}),Rn=(r,o,e,s,m)=>({type:"BetweenExpr",lhs:r,not:o,start:e,end:s,span:m}),kn=(r,o,e,s)=>({type:"InListExpr",lhs:r,not:o,rhs:e,span:s}),hn=(r,o,e,s)=>({type:"InSelectExpr",lhs:r,not:o,rhs:e,span:s}),gn=(r,o,e,s,m)=>({type:"InTableExpr",lhs:r,not:o,rhs:e,args:s,span:m}),On=(r,o)=>({type:"SubqueryExpr",select:r,span:o}),xn=(r,o)=>({type:"ExistsExpr",select:r,span:o});function bn(r,o,e,s){if(o===e.ISNULL)return{type:"IsNullExpr",expr:r,span:s};if(o===e.NOTNULL)return{type:"NotNullExpr",expr:r,span:s};throw new Error(\`unreachable NULL-test token: \u{24}{o}\`)}function U1(r,o,e,s,m,n){return{type:"LikeExpr",lhs:r,not:o,op:e,rhs:s,escape:m,span:n}}function z(r,o,e,s,m,n,t){return e==="Distinct"&&(s?.length??0)!==1&&r.errors.push({message:"DISTINCT aggregates must have exactly one argument",span:o.span}),{type:"FunctionCallExpr",name:r1(o),distinctness:e,args:s,orderBy:m,filterOver:n,span:t}}var X1=(r,o,e)=>({type:"FunctionCallStarExpr",name:r1(r),filterOver:o,span:e}),M1=(r,o)=>({type:"QualifiedName",dbName:void 0,objName:r,alias:void 0,span:o}),w1=(r,o,e)=>({type:"QualifiedName",dbName:r,objName:o,alias:void 0,span:e}),Sn=(r,o,e)=>({type:"QualifiedName",dbName:void 0,objName:r,alias:o,span:e}),_n=(r,o,e,s)=>({type:"QualifiedName",dbName:r,objName:o,alias:e,span:s});function un(r){switch(r.toUpperCase()){case"CROSS":return 3;case"FULL":return 56;case"INNER":return 1;case"LEFT":return 40;case"NATURAL":return 4;case"RIGHT":return 48;case"OUTER":return 32;default:return}}function C1(r,o,e,s,m){let n=un(o.text);if(n===void 0)return r.errors.push({message:\`unknown join type: \u{24}{o.text}\`,span:o.span}),{type:"TypedJoinJoinOperator",joinType:void 0,span:m};for(let A of[e,s]){if(A===void 0)continue;let I=un(A.text);if(I===void 0){r.errors.push({message:\`unknown join type: \u{24}{A.text}\`,span:A.span});continue}n|=I}let t=1,i=8,a=16,c=32;return((n&(t|c))===(t|c)||(n&(c|i|a))===c)&&r.errors.push({message:\`unknown join type: \u{24}{o.text} \u{24}{e?.text??""} \u{24}{s?.text??""}\`.trimEnd(),span:o.span}),{type:"TypedJoinJoinOperator",joinType:n,span:m}}var Dn=()=>({select:void 0,joins:[],pendingOp:void 0});function F1(r,o){return{type:"FromClause",select:r.select,joins:r.joins.length>0?r.joins.map(e=>({type:"JoinedSelectTable",operator:e.operator,table:e.table,constraint:e.constraint,span:e.operator.span})):void 0,span:o}}function u1(r,o,e,s){let m=o.pendingOp;o.pendingOp=void 0,m?(m.type==="TypedJoinJoinOperator"&&m.joinType!==void 0&&(m.joinType&4)!==0&&s&&r.errors.push({message:"a NATURAL join may not have an ON or USING clause",span:s.span}),o.joins.push({operator:m,table:e,constraint:s})):(s&&r.errors.push({message:"a JOIN clause is required before ON",span:s.span}),o.select=e)}function T1(r,o,e,s,m){return{type:"Select",with:r,select:o.select,compounds:o.compounds,orderBy:e,limit:s,span:m}}function Un(r,o){let e=r;e.compounds?e.compounds.push(o):e.compounds=[o]}function P1(r,o,e,s,m,n,t,i,a){let c=s===void 0?e.find(A=>A.type==="StarResultColumn"||A.type==="TableStarResultColumn"):void 0;return c&&r.errors.push({message:"no tables specified",span:c.span}),{type:"SelectFrom",distinctness:o,columns:e,from:s,whereClause:m,groupBy:n,having:t,windowClause:i,span:a}}function Xn(r,o,e,s){let m=o[0]?.values;if(m&&m.length!==e.length){let n=m.length>0?xe(m[0].span,m[m.length-1].span):void 0;r.errors.push(n?G("all VALUES must have the same number of terms",s,{message:\`first row has \u{24}{m.length} terms\`,span:n}):G("all VALUES must have the same number of terms",s))}o.push({type:"ValuesRow",values:e,span:s})}function I1(r,o,e,s){let m=0;for(let n of e){let t=n.constraint;switch(t.type){case"CollateColumnConstraint":m|=512;break;case"GeneratedColumnConstraint":{m|=32,t.typ&&t.typ.name.toUpperCase()==="STORED"&&(m|=64);break}case"PrimaryKeyColumnConstraint":m|=9;break;case"UniqueColumnConstraint":m|=8;break;default:break}}return o&&o.name.length>0&&(m|=4),{type:"ColumnDefinition",colName:r,colType:o,constraints:e,flags:m,span:s}}function Y1(r,o,e){let s=e.colName.text;for(let m=0;m<o.length;m++){let n=o[m];if(n.colName.text===s){r.errors.push(N1(\`duplicate column name: \u{24}{s}\`,e.colName.span,n.colName.span));return}}o.push(e)}function Mn(r,o,e,s){let m=e;for(let n of r)(n.flags&1)!==0&&(m|=4);return{type:"ColumnsAndConstraintsCreateTableBody",columns:r,constraints:o,flags:m,span:s}}function wn(r,o,e){let s=e.tblName.text;for(let m=0;m<o.length;m++){let n=o[m];if(n.tblName.text===s){r.errors.push(N1(\`duplicate WITH table name: \u{24}{s}\`,e.tblName.span,n.tblName.span));return}}o.push(e)}function B1(r,o,e,s){for(let m of o)m.nulls&&r.errors.push({message:\`unsupported use of NULLS \u{24}{m.nulls==="First"?"FIRST":"LAST"}\`,span:m.span});return{type:"UpsertIndex",targets:o,whereClause:e,span:s}}function Fn(r){let o=r.stmt;if(o===void 0)return;let e=r.explain===void 0?o:{type:"ExplainStmt",queryPlan:r.explain==="QueryPlan",stmt:o,span:o.span};r.cmds.push(e),r.stmt=void 0,r.explain=void 0}function Pn(r){let o=r.cmds,e=o[0]?.span,s=o[o.length-1]?.span,m=e!==void 0&&s!==void 0?{offset:e.offset,length:s.offset+s.length-e.offset,line:e.line,col:e.col}:{offset:0,length:0,line:1,col:1};return{type:"CmdList",cmds:o,span:m}}function G1(r,o,e){let{reduce:s,createState:m}=r,n=Z1(r,o,e),t=\u{24}1(r),i=p1(r,o),{CASE:a,COMMENT:c,END:A,ILLEGAL:I,LP:T,RP:C,SEMI:k,SPACE:M}=n.tokens,X=Yn(r,"FILTER"),H=Yn(r,"OVER"),g=0;function w(u,f,E){let{filename:l,emitTokens:N,...L}=f,x={source:u,filename:l},O=[],D=N?[]:void 0,U=m(),S=t(s,U),F=[],Z,Y=!1;function \u{24}(d){let R=S.errors[S.errors.length-1];return O.push(i({token:d,state:R.stateno,previousToken:Z,openers:F,sawOverSinceLastFilterOrSemi:Y})),O.push(...U.errors),{ok:!1,errors:j(x,O),tokens:D}}function Qn(d){let R=d.type;if(R===T||R===a)F.push(d);else if(R===C||R===A){let k1=F[F.length-1];k1&&(k1.type===T&&R===C||k1.type===a&&R===A)&&F.pop()}R===H?Y=!0:(R===X||R===k)&&(Y=!1),Z=d,K1=R}let K1,R1=u.length,f1=n.tokenize(u,L);for(let d of f1){if(d.type===M||d.type===c)continue;if(d.type===I)return D?.push(d),O.push(z1(d)),O.push(...U.errors),{ok:!1,errors:j(x,O),tokens:D};D?.push(d),S.next(d.type,d,d.span);let R=U.cmds.length>=1&&d.type!==k;if(R&&E.rejectTrailing)return O.push({message:"expected end of input after single statement",token:d,span:{offset:d.span.offset,length:u.length-d.span.offset,line:d.span.line,col:d.span.col}}),O.push(...U.errors),{ok:!1,errors:j(x,O),tokens:D};if(R&&E.firstStatement)return R1=d.span.offset,{ok:!0,state:U,tail:R1,tokens:D};if(S.phase==="errored")return \u{24}(d);if(Qn(d),S.phase!=="running")break}if(S.phase==="running"){let d={offset:f1.offset,length:0,line:f1.line,col:f1.col};if(K1!==k){let R={type:k,text:"",span:d,synthetic:!0};if(D?.push(R),S.next(k,R,d),S.errors.length>0)return \u{24}(R)}if(S.phase==="running"){let R={type:g,text:"",span:d,synthetic:!0};if(D?.push(R),S.next(g,R,d),S.errors.length>0)return \u{24}(R)}}return O.push(...U.errors),O.length>0?{ok:!1,errors:j(x,O),tokens:D}:S.phase==="accepted"?{ok:!0,state:U,tail:R1,tokens:D}:{ok:!1,errors:j(x,[{message:"parse did not accept input",span:{offset:0,length:0,line:1,col:0}}]),tokens:D}}function n1(u,f={}){let E=w(u,f,{firstStatement:!1,rejectTrailing:!!e.singleStatement});return E.ok?{status:"ok",root:Pn(E.state),tokens:E.tokens}:{status:"error",errors:E.errors,tokens:E.tokens}}function e1(u,f){let E=n1(u,f);if(E.status==="error")throw new a1(E.errors);return E}function l1(u,f={}){let{allowTrailing:E=!1,...l}=f,N=w(u,l,{firstStatement:!0,rejectTrailing:!E});if(!N.ok)return{status:"error",errors:N.errors,tokens:N.tokens};let L=N.state.cmds[0];return L?{status:"ok",root:L,tail:N.tail,tokens:N.tokens}:{status:"error",errors:j({source:u,filename:f.filename},[{message:"no SQL statement in input",span:{offset:0,length:0,line:1,col:0}}]),tokens:N.tokens}}function L1(u,f={}){let E=l1(u,f);if(E.status==="error")throw new a1(E.errors);return E}return{parse:n1,parseOrThrow:e1,parseStmt:l1,parseStmtOrThrow:L1,tokenize:n.tokenize,tokenName:n.tokenName,createEngine:t,reduce:s,createState:m,withOptions:u=>G1(r,o,{...e,...u}),parserDefs:r,keywordDefs:o}}function Yn(r,o){let e=r.symbols.indexOf(o);if(e<0)throw new Error(\`parser.ts: missing terminal token "\u{24}{o}"\`);return e}var W1={};Zn(W1,{constants:()=>be,createState:()=>We,reduce:()=>Ge,symbols:()=>Ye,tables:()=>Be,tokens:()=>o1});function Bn(){return{stmt:void 0,explain:void 0,cmds:[],constraintName:void 0,vtabArgs:[],vtabArgCurrent:"",errors:[]}}var o1={SEMI:1,EXPLAIN:2,QUERY:3,PLAN:4,BEGIN:5,TRANSACTION:6,DEFERRED:7,IMMEDIATE:8,EXCLUSIVE:9,COMMIT:10,END:11,ROLLBACK:12,SAVEPOINT:13,RELEASE:14,TO:15,TABLE:16,CREATE:17,IF:18,NOT:19,EXISTS:20,TEMP:21,LP:22,RP:23,AS:24,COMMA:25,WITHOUT:26,ABORT:27,ACTION:28,AFTER:29,ANALYZE:30,ASC:31,ATTACH:32,BEFORE:33,BY:34,CASCADE:35,CAST:36,CONFLICT:37,DATABASE:38,DESC:39,DETACH:40,EACH:41,FAIL:42,OR:43,AND:44,IS:45,MATCH:46,LIKE_KW:47,BETWEEN:48,IN:49,ISNULL:50,NOTNULL:51,NE:52,EQ:53,GT:54,LE:55,LT:56,GE:57,ESCAPE:58,ID:59,COLUMNKW:60,DO:61,FOR:62,IGNORE:63,INITIALLY:64,INSTEAD:65,NO:66,KEY:67,OF:68,OFFSET:69,PRAGMA:70,RAISE:71,RECURSIVE:72,REPLACE:73,RESTRICT:74,ROW:75,ROWS:76,TRIGGER:77,VACUUM:78,VIEW:79,VIRTUAL:80,WITH:81,NULLS:82,FIRST:83,LAST:84,CURRENT:85,FOLLOWING:86,PARTITION:87,PRECEDING:88,RANGE:89,UNBOUNDED:90,EXCLUDE:91,GROUPS:92,OTHERS:93,TIES:94,WITHIN:95,GENERATED:96,ALWAYS:97,MATERIALIZED:98,REINDEX:99,RENAME:100,CTIME_KW:101,ANY:102,BITAND:103,BITOR:104,LSHIFT:105,RSHIFT:106,PLUS:107,MINUS:108,STAR:109,SLASH:110,REM:111,CONCAT:112,PTR:113,COLLATE:114,BITNOT:115,ON:116,INDEXED:117,STRING:118,JOIN_KW:119,CONSTRAINT:120,DEFAULT:121,NULL:122,PRIMARY:123,UNIQUE:124,CHECK:125,REFERENCES:126,AUTOINCR:127,INSERT:128,DELETE:129,UPDATE:130,SET:131,DEFERRABLE:132,FOREIGN:133,DROP:134,UNION:135,ALL:136,EXCEPT:137,INTERSECT:138,SELECT:139,VALUES:140,DISTINCT:141,DOT:142,FROM:143,JOIN:144,USING:145,ORDER:146,GROUP:147,HAVING:148,LIMIT:149,WHERE:150,RETURNING:151,INTO:152,NOTHING:153,BLOB:154,FLOAT:155,INTEGER:156,VARIABLE:157,CASE:158,WHEN:159,THEN:160,ELSE:161,INDEX:162,ALTER:163,ADD:164,WINDOW:165,OVER:166,FILTER:167,COLUMN:168,AGG_FUNCTION:169,AGG_COLUMN:170,TRUEFALSE:171,ISNOT:172,FUNCTION:173,UPLUS:174,UMINUS:175,TRUTH:176,REGISTER:177,VECTOR:178,SELECT_COLUMN:179,IF_NULL_ROW:180,ASTERISK:181,SPAN:182,ERROR:183,QNUMBER:184,SPACE:185,COMMENT:186,ILLEGAL:187},be={YYNSTATE:586,YYNRULE:413,YYNTOKEN:188,YYNSYMBOL:314,YY_MAX_SHIFT:585,YY_MIN_SHIFTREDUCE:858,YY_MAX_SHIFTREDUCE:1270,YY_ERROR_ACTION:1271,YY_ACCEPT_ACTION:1272,YY_NO_ACTION:1273,YY_MIN_REDUCE:1274,YY_MAX_REDUCE:1686,YY_ACTTAB_COUNT:2353,YY_SHIFT_COUNT:585,YY_REDUCE_COUNT:405,YYWILDCARD:102,YYFALLBACK:1},Se=[490,230,579,133,130,188,579,1363,391,1337,579,382,579,402,579,383,579,1361,378,406,1396,579,48,48,274,1317,48,48,187,538,48,48,83,83,148,148,83,83,133,130,188,81,81,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,1320,984,335,223,1379,406,579,133,130,188,539,133,130,188,539,378,567,1015,560,533,1314,271,186,540,1319,1016,83,83,1328,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,384,137,137,137,137,136,136,135,135,135,134,131,445,1640,381,45,984,1642,539,380,1624,1640,553,570,570,570,1302,433,139,139,139,139,132,445,521,1632,406,1300,8,187,139,139,139,139,1549,137,137,137,137,136,136,135,135,135,134,131,445,133,130,188,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,1623,1592,137,137,137,137,136,136,135,135,135,134,131,445,137,137,137,137,136,136,135,135,135,134,131,445,1199,1681,1230,1681,1228,137,137,137,137,136,136,135,135,135,134,131,445,579,282,137,137,137,137,136,136,135,135,135,134,131,445,1272,1,1,585,3,1278,21,21,406,218,226,376,431,890,111,573,1632,364,1375,8,890,417,1585,136,136,135,135,135,134,131,445,1264,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,426,1302,1197,223,1379,244,520,223,1379,230,581,142,581,1354,443,442,567,1558,560,579,567,405,560,1143,890,891,890,896,1145,157,256,890,891,890,460,459,1144,486,1472,83,83,313,512,1355,249,137,137,137,137,136,136,135,135,135,134,131,445,6,478,449,428,537,1147,1147,579,406,281,239,372,515,367,514,269,376,534,545,327,561,363,298,1633,20,20,8,83,83,896,327,561,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,460,437,223,1379,488,436,406,223,1379,95,331,1662,585,3,1278,567,539,560,1658,226,567,1052,560,1199,1682,535,1682,1375,578,157,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,137,137,137,137,136,136,135,135,135,134,131,445,327,561,223,1379,579,577,579,443,442,264,275,1076,509,506,505,567,526,560,300,353,479,352,504,544,150,150,61,61,1063,256,327,561,1061,137,137,137,137,136,136,135,135,135,134,131,445,890,1197,488,223,1379,444,444,444,406,890,1147,1147,332,449,1683,399,567,527,560,1062,1064,1064,159,135,135,135,134,131,445,1367,1367,378,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,1365,1365,1244,890,536,406,967,968,425,274,96,890,891,890,264,557,161,509,506,505,890,891,890,401,412,890,305,504,47,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,984,137,137,137,137,136,136,135,135,135,134,131,445,584,1149,1278,1472,890,891,890,226,216,1379,1305,412,309,127,568,1375,4,337,982,928,525,567,1373,560,577,575,890,891,890,379,571,1623,137,137,137,137,136,136,135,135,135,134,131,445,223,1379,984,223,1379,374,513,171,406,446,223,1379,378,567,929,560,567,1298,560,1052,157,564,25,567,890,560,474,157,569,412,256,157,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,244,520,223,1379,1076,488,134,131,445,44,125,125,449,461,418,567,1630,560,126,8,446,580,446,890,429,1061,890,353,479,352,528,327,561,558,209,890,891,890,327,561,576,1625,327,561,484,137,137,137,137,136,136,135,135,135,134,131,445,1062,1064,1064,1065,36,223,1379,1631,223,1379,8,579,1623,406,890,7,255,360,567,308,560,567,236,560,890,891,890,890,891,890,1244,83,83,1155,1154,475,234,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,890,1222,1003,1222,406,413,117,98,510,1264,1052,1472,549,577,1221,323,1221,1223,407,1223,890,891,890,579,12,378,274,2,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,83,83,137,137,137,137,136,136,135,135,135,134,131,445,1222,890,891,890,984,224,1379,890,353,466,338,1264,46,1221,548,890,1223,575,567,406,560,422,439,910,210,1087,1087,1101,1104,472,246,137,137,137,137,136,136,135,135,135,134,131,445,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,406,577,579,890,902,984,1599,890,891,890,392,879,415,251,1623,890,891,890,454,462,579,41,50,50,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,579,51,51,1002,1091,579,137,137,137,137,136,136,135,135,135,134,131,445,579,890,21,21,890,891,890,21,21,1626,242,1380,1604,469,356,406,358,420,1602,1243,83,83,427,567,456,560,163,137,137,137,137,136,136,135,135,135,134,131,445,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,406,425,440,1124,170,890,891,890,342,897,868,869,870,267,266,265,577,1629,577,579,8,1597,579,416,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,83,83,1541,21,21,1488,137,137,137,137,136,136,135,135,135,134,131,445,312,1257,488,579,577,389,425,171,1558,1591,301,897,339,1628,341,406,8,237,441,1077,229,373,1655,83,83,1554,1556,137,137,137,137,136,136,135,135,135,134,131,445,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,406,291,579,1e3,1057,324,1151,1015,577,577,1150,371,501,1548,1374,1016,398,1269,303,310,144,370,66,66,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,268,579,1554,473,340,406,137,137,137,137,136,136,135,135,135,134,131,445,905,577,577,67,67,577,1370,468,237,1490,471,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,579,137,137,137,137,136,136,135,135,135,134,131,445,1270,247,555,1076,373,1655,1603,21,21,241,240,398,1198,411,414,190,425,1489,1472,905,1063,554,432,390,1061,171,1001,579,425,363,1236,1585,137,137,137,137,136,136,135,135,135,134,131,445,890,1172,579,21,21,530,579,373,1655,297,1172,1472,1062,1064,1064,425,1173,1222,220,223,1379,517,21,21,124,1173,23,23,572,1491,1221,1174,567,1223,560,464,579,221,304,1235,1174,423,1244,296,90,118,579,1270,977,486,350,114,952,976,1341,579,21,21,890,891,890,563,953,373,1655,406,52,52,457,1171,495,556,330,287,577,68,68,577,424,355,543,311,289,577,1204,406,579,547,357,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,579,406,53,53,541,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,69,69,579,293,186,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,579,557,70,70,268,137,137,137,137,136,136,135,135,135,134,131,445,579,577,579,71,71,579,328,1600,137,137,137,137,136,136,135,135,135,134,131,445,72,72,73,73,1340,54,54,579,137,137,137,137,136,136,135,135,135,134,131,445,579,465,579,1611,481,542,579,55,55,579,90,470,579,90,579,485,579,411,579,1580,56,56,58,58,90,122,59,59,579,60,60,326,74,74,146,146,147,147,75,75,90,117,579,99,233,406,492,1414,76,76,231,1353,977,940,123,1415,120,976,1194,494,400,242,77,77,451,406,579,453,359,140,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,1339,406,22,22,579,140,129,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,165,579,17,579,78,78,141,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,260,62,62,79,79,137,137,137,137,136,136,135,135,135,134,131,445,480,579,919,493,579,344,579,117,137,137,137,137,136,136,135,135,135,134,131,445,579,63,63,348,80,80,64,64,137,137,137,137,136,136,135,135,135,134,131,445,82,82,579,913,579,115,579,1357,406,579,482,579,1e3,349,1054,117,273,1338,487,39,273,366,174,174,175,175,87,87,377,65,65,149,149,306,91,1086,1086,1100,1103,1090,1090,138,138,139,139,139,139,1248,448,579,40,295,579,489,579,273,396,396,395,284,393,262,913,1251,579,502,361,270,117,84,84,294,172,172,151,151,193,1404,334,927,926,934,935,166,145,145,333,579,169,579,117,1425,137,137,137,137,136,136,135,135,135,134,131,445,1471,579,247,173,173,167,167,1131,127,568,1399,4,195,579,1127,579,270,1018,1019,579,179,155,155,156,1066,571,579,1001,127,568,579,4,579,154,154,152,152,10,579,153,153,194,579,1148,1148,571,86,86,446,322,88,88,85,85,1006,975,273,124,49,49,564,1648,57,57,562,972,1131,124,446,974,1411,124,1146,1146,551,894,408,162,1476,550,564,327,561,1066,497,1316,1301,1306,1290,252,1076,1289,1291,1282,551,288,125,125,318,552,319,13,518,320,126,458,446,580,446,397,1076,1061,299,250,254,1452,125,125,463,127,568,1457,4,302,126,346,446,580,446,1445,1462,1061,1461,507,491,1583,571,243,369,1337,1545,347,1544,1062,1064,1064,1065,36,307,351,565,388,227,228,1292,516,1264,1261,1408,446,1409,1606,1407,1062,1064,1064,1065,36,321,295,1406,564,238,1244,396,396,395,284,393,98,1608,1251,1607,207,235,551,184,1458,197,1550,550,14,248,1244,193,94,334,97,467,500,199,1076,203,200,333,201,202,125,125,115,204,1464,1463,127,568,126,4,446,580,446,1539,1584,1061,483,15,1582,211,1467,100,477,571,496,354,217,195,213,498,214,403,1360,1359,1358,179,430,106,156,1348,404,1331,1330,919,244,1325,446,1062,1064,1064,1065,36,1661,1248,448,368,194,295,564,1323,1324,1347,396,396,395,284,393,1322,143,1251,434,1654,435,1377,529,316,375,1244,317,11,1524,276,193,438,334,1430,1636,1635,1076,119,164,408,333,1429,125,125,327,561,1386,116,325,386,126,385,446,580,446,387,546,1061,1378,1376,43,582,127,568,1249,4,225,283,458,285,195,286,583,160,1287,1279,532,176,179,571,409,156,191,410,177,314,861,447,232,1062,1064,1064,1065,36,178,329,450,1189,452,194,92,455,446,93,253,336,192,196,1141,1139,180,198,1257,955,564,257,343,24,258,1244,345,1152,273,205,1159,1163,206,181,182,476,419,421,208,101,408,183,102,1165,259,327,561,261,1162,5,1076,103,212,16,878,104,125,125,981,499,89,568,370,4,126,263,446,580,446,458,215,1061,503,105,26,508,362,571,27,917,127,568,365,4,107,930,315,185,168,28,108,519,522,1241,511,523,110,571,109,524,446,1106,1206,1062,1064,1064,1065,36,18,1205,112,113,564,1122,1107,1105,966,290,245,272,446,124,292,219,1010,1004,1225,29,1227,30,1233,31,564,1244,32,1229,117,33,1234,1109,34,1110,1076,35,559,121,9,1170,125,125,277,37,566,19,278,1067,126,895,446,580,446,128,1076,1061,1211,42,574,38,125,125,222,189,158,279,280,1307,126,394,446,580,446,859,531,1061,858,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1062,1064,1064,1065,36,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1062,1064,1064,1065,36,1273,1273,1273,1273,1273,1244,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1244],_e=[196,196,196,273,274,275,196,223,203,225,196,219,196,208,196,219,196,233,196,19,255,196,216,217,24,216,216,217,196,206,216,217,216,217,216,217,216,217,273,274,275,216,217,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,216,59,196,238,239,19,196,273,274,275,252,273,274,275,252,196,251,31,253,261,215,256,257,261,216,39,216,217,223,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,277,103,104,105,106,107,108,109,110,111,112,113,114,309,310,240,118,309,252,311,300,309,310,212,213,214,196,261,54,55,56,57,58,114,304,305,19,207,308,196,54,55,56,57,282,103,104,105,106,107,108,109,110,111,112,113,114,273,274,275,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,300,292,103,104,105,106,107,108,109,110,111,112,113,114,103,104,105,106,107,108,109,110,111,112,113,114,22,23,86,25,88,103,104,105,106,107,108,109,110,111,112,113,114,196,26,103,104,105,106,107,108,109,110,111,112,113,114,188,189,190,191,192,193,216,217,19,25,198,196,19,59,25,304,305,24,206,308,59,231,206,107,108,109,110,111,112,113,114,60,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,232,196,102,238,239,166,167,238,239,196,205,69,207,230,107,108,251,196,253,196,251,208,253,116,117,118,119,59,121,81,265,117,118,119,213,214,129,268,196,216,217,228,96,230,120,103,104,105,106,107,108,109,110,111,112,113,114,288,289,294,114,196,155,156,196,19,120,121,122,123,124,125,126,196,206,252,139,140,132,206,305,216,217,308,216,217,118,139,140,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,283,263,238,239,196,232,19,238,239,67,23,190,191,192,193,251,252,253,196,198,251,73,253,22,23,261,25,206,196,81,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114,139,140,238,239,196,196,196,107,108,120,201,101,123,124,125,251,206,253,267,128,129,130,133,196,216,217,216,217,118,265,139,140,122,103,104,105,106,107,108,109,110,111,112,113,114,59,102,196,238,239,212,213,214,19,59,155,156,23,294,297,298,251,252,253,154,155,156,72,109,110,111,112,113,114,235,236,196,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,235,236,184,59,135,19,137,138,196,24,24,117,118,119,120,146,72,123,124,125,117,118,119,210,211,59,267,133,240,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,59,103,104,105,106,107,108,109,110,111,112,113,114,191,11,193,196,117,118,119,198,238,239,210,211,206,19,20,206,22,262,109,35,95,251,206,253,196,196,117,118,119,201,36,300,103,104,105,106,107,108,109,110,111,112,113,114,238,239,118,238,239,241,66,243,19,59,238,239,196,251,74,253,251,206,253,73,81,71,22,251,59,253,263,81,210,211,265,81,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,166,167,238,239,101,196,112,113,114,240,107,108,294,121,61,251,305,253,115,308,117,118,119,59,131,122,59,128,129,130,206,139,140,206,22,117,118,119,139,140,302,303,139,140,116,103,104,105,106,107,108,109,110,111,112,113,114,154,155,156,157,158,238,239,305,238,239,308,196,300,19,59,22,15,23,251,267,253,251,151,253,117,118,119,117,118,119,184,216,217,128,129,130,151,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,59,76,144,76,19,199,25,152,23,60,73,196,87,196,89,252,89,92,201,92,117,118,119,196,22,196,24,22,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,216,217,103,104,105,106,107,108,109,110,111,112,113,114,76,117,118,119,59,238,239,59,128,129,130,60,240,89,146,59,92,196,251,19,253,263,252,23,22,46,47,48,49,280,196,103,104,105,106,107,108,109,110,111,112,113,114,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,19,196,196,59,23,118,201,117,118,119,16,21,196,120,300,117,118,119,125,268,196,22,216,217,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,196,216,217,144,122,196,103,104,105,106,107,108,109,110,111,112,113,114,196,59,216,217,117,118,119,216,217,303,25,239,196,80,77,19,79,231,196,23,216,217,231,251,196,253,22,103,104,105,106,107,108,109,110,111,112,113,114,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,19,196,252,124,23,117,118,119,16,59,7,8,9,128,129,130,196,305,196,196,308,201,196,201,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,216,217,162,216,217,272,103,104,105,106,107,108,109,110,111,112,113,114,231,25,196,196,196,241,196,243,196,201,262,118,77,305,79,19,308,143,252,23,196,306,307,216,217,213,214,103,104,105,106,107,108,109,110,111,112,113,114,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,19,23,196,25,23,252,29,31,196,196,33,122,19,201,201,39,22,23,262,267,22,132,216,217,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,46,196,283,65,162,19,103,104,105,106,107,108,109,110,111,112,113,114,59,196,196,216,217,196,201,201,143,272,201,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,196,103,104,105,106,107,108,109,110,111,112,113,114,102,119,66,101,306,307,196,216,217,107,108,22,23,116,295,296,196,272,196,117,118,85,231,241,122,243,144,196,196,132,94,206,103,104,105,106,107,108,109,110,111,112,113,114,59,12,196,216,217,19,196,306,307,100,12,196,154,155,156,196,27,76,231,238,239,109,216,217,25,27,216,217,87,272,89,42,251,92,253,245,196,231,262,147,42,263,184,134,254,160,196,102,136,268,262,116,63,141,226,196,216,217,117,118,119,63,73,306,307,19,216,217,196,23,289,231,163,164,196,216,217,196,263,201,145,262,201,196,98,19,196,146,201,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,196,19,216,217,19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,216,217,196,256,257,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,196,146,216,217,46,103,104,105,106,107,108,109,110,111,112,113,114,196,196,196,216,217,196,201,196,103,104,105,106,107,108,109,110,111,112,113,114,216,217,216,217,226,216,217,196,103,104,105,106,107,108,109,110,111,112,113,114,196,245,196,196,245,117,196,216,217,196,254,196,196,254,196,245,196,116,196,196,216,217,216,217,254,160,216,217,196,216,217,245,216,217,216,217,216,217,216,217,254,25,196,150,151,19,19,196,216,217,24,23,136,25,159,196,161,141,23,196,25,25,216,217,131,19,196,134,196,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,226,19,216,217,196,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,22,196,24,196,216,217,44,45,46,47,48,49,50,51,52,53,54,55,56,57,24,216,217,216,217,103,104,105,106,107,108,109,110,111,112,113,114,130,196,127,117,196,23,196,25,103,104,105,106,107,108,109,110,111,112,113,114,196,216,217,153,216,217,216,217,103,104,105,106,107,108,109,110,111,112,113,114,216,217,196,59,196,150,196,196,19,196,130,196,25,23,23,25,25,196,23,22,25,196,216,217,216,217,216,217,196,216,217,216,217,153,45,46,47,48,49,50,51,52,53,54,55,56,57,1,2,196,53,5,196,23,196,25,10,11,12,13,14,142,118,17,196,23,23,25,25,216,217,22,216,217,216,217,30,258,32,121,122,7,8,23,216,217,40,196,23,196,25,196,103,104,105,106,107,108,109,110,111,112,113,114,196,196,119,216,217,216,217,59,19,20,196,22,70,196,23,196,25,83,84,196,78,216,217,81,59,36,196,144,19,20,196,22,196,216,217,216,217,48,196,216,217,99,196,155,156,36,216,217,59,255,216,217,216,217,23,23,25,25,216,217,71,313,216,217,236,23,118,25,59,23,196,25,155,156,85,23,134,25,196,90,71,139,140,118,285,196,196,142,196,293,101,196,196,196,85,284,107,108,255,90,255,244,146,255,115,163,117,118,119,194,101,122,246,293,293,266,107,108,259,19,20,270,22,259,115,290,117,118,119,266,270,122,270,220,290,270,36,229,219,225,219,247,219,154,155,156,157,158,247,246,279,246,241,241,202,116,60,38,260,59,260,218,260,154,155,156,157,158,259,5,260,71,244,184,10,11,12,13,14,152,218,17,218,22,151,85,43,271,234,282,90,269,293,184,30,291,32,291,18,18,237,101,200,237,40,237,237,107,108,150,200,271,271,19,20,115,22,117,118,119,247,247,122,247,269,247,234,234,159,62,36,287,286,22,70,200,221,200,221,218,218,218,78,64,22,81,227,221,224,224,127,166,218,59,154,155,156,157,158,0,1,2,218,99,5,71,218,220,227,10,11,12,13,14,218,149,17,24,307,114,242,301,281,221,184,281,22,276,91,30,82,32,264,312,312,101,159,165,134,40,264,107,108,139,140,250,148,278,248,115,249,117,118,119,247,147,122,242,242,25,204,19,20,13,22,200,197,163,197,70,6,195,222,195,195,141,209,78,36,299,81,296,299,209,222,4,3,22,154,155,156,157,158,209,122,19,122,19,99,22,125,59,22,15,140,16,152,23,23,131,143,25,20,71,145,16,22,116,184,162,68,25,68,75,1,143,131,131,41,61,37,152,53,134,131,53,117,34,139,140,24,1,5,101,53,116,24,20,53,107,108,109,19,19,20,132,22,115,126,117,118,119,163,22,122,67,22,22,67,23,36,22,59,19,20,24,22,22,28,67,37,23,34,150,22,146,23,97,22,25,36,34,147,59,23,23,154,155,156,157,158,22,98,143,143,71,23,23,23,136,23,142,34,59,25,23,22,117,144,88,34,86,34,93,34,71,184,34,75,25,34,75,23,22,11,101,22,25,25,44,23,107,108,22,22,25,22,142,23,115,23,117,118,119,22,101,122,23,22,24,34,107,108,25,25,23,142,142,142,115,15,117,118,119,1,141,122,1,314,314,314,314,314,314,314,314,314,314,154,155,156,157,158,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,154,155,156,157,158,314,314,314,314,314,184,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,184,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,314,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188],De=[1696,2013,585,1918,585,333,581,229,1743,1763,1854,2168,2168,2168,574,229,229,229,229,229,0,44,44,327,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,188,188,1209,1209,428,218,218,218,218,119,223,372,476,520,624,733,776,848,887,959,998,1070,1109,1153,1314,1334,1495,1354,1354,1354,1354,1354,1354,1354,1354,1354,1354,1354,1354,1354,1354,1354,1354,1354,1354,1515,1354,1535,1639,1639,1948,2056,2148,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,2168,76,88,88,88,88,88,88,88,105,150,401,437,478,195,600,1121,600,342,342,600,600,516,576,120,120,120,303,21,21,2353,2353,227,227,227,646,694,694,694,694,1257,1257,732,716,796,195,181,386,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,403,600,600,600,772,772,600,403,403,600,896,718,718,249,249,249,2353,2353,2353,2353,2353,2353,2353,1126,352,352,850,331,905,500,649,804,600,600,600,600,600,600,600,600,728,600,600,600,600,600,600,600,600,575,575,575,600,600,600,1106,600,600,600,793,1160,1266,600,600,600,600,600,600,600,600,600,799,644,1105,519,519,519,1637,1180,1020,205,740,610,1362,948,1357,1362,1357,1496,1505,610,610,1505,610,948,1496,1485,1497,1370,1104,1104,1104,1203,1203,1203,1203,1357,1267,1267,1364,1050,1385,1551,1793,1850,1793,1793,1873,1873,1781,1787,1915,1897,1934,1934,1934,1934,1935,1813,1935,1813,1787,1787,1813,1915,1813,1897,1897,1823,1921,1935,1965,1935,1965,1793,1793,1793,1933,1976,1976,1965,1793,1877,1793,1933,1793,1793,1839,1880,2007,1919,1919,1965,2018,1951,1951,1962,1962,1891,1886,1912,1922,1813,1880,1880,2048,1935,2064,2064,2078,2078,2078,2353,2353,2353,2353,2353,2353,2353,2353,827,1177,1009,1122,1213,902,967,900,1504,1402,1647,1592,1480,1530,1640,635,1641,1645,1680,1569,1692,1693,1594,1608,1724,1017,1715,1710,1254,1702,1745,1785,1688,1786,1796,1800,1642,1671,1806,1719,1699,2095,2097,2079,1986,2090,1988,2092,2091,2094,1989,2102,2103,2098,2099,1978,1968,1992,2100,2100,1981,2106,1983,2113,2108,2015,1971,2066,2110,2068,2062,2101,2137,1996,2009,2100,2010,2082,2107,2100,1993,2093,2096,2105,2109,2017,2033,2117,2130,2154,2151,2043,2136,2141,2147,2037,2046,2155,2112,2158,2159,2160,2163,2115,2127,2165,2104,2164,2169,2126,2157,2172,2162,2047,2176,2177,2171,2053,2180,2059,2185,2178,2186,2193,2118,2074,2075,2197,2198,2199,2087,2083,2201,2203,2206,2114,2192,2208,2088,2203,2200,2202,2204,2207,2145,2167,2149,2209,2170,2144,2218,2210,2223,2225,2226,2228,2227,2231,2235,2237,2236,2234,2238,2239,2241,2246,2240,2248,2250,2249,2252,2119,2138,2139,2140,2253,2256,2269,2287,2290],Ue=[46,206,149,400,252,50,1049,-177,-194,-190,-186,-184,-180,-132,154,397,407,446,506,509,-235,-208,-204,-114,24,749,754,843,1015,104,1055,1074,554,1108,618,767,-175,840,881,102,886,-168,-55,94,361,615,361,615,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-182,146,250,712,730,934,972,1078,1118,1127,1158,1176,1198,1216,1233,1235,1238,1260,1273,1275,1279,1282,1285,1287,1289,1291,1301,1315,1339,1361,1378,1380,1415,1418,1420,1434,1456,1458,1460,1463,1465,1503,1506,1508,1518,1541,1543,1559,1571,1573,1577,1584,1588,1590,1596,1600,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-123,322,86,451,-216,620,-87,280,420,-195,789,-270,922,969,1025,735,-270,-270,-270,-270,-137,-137,-137,-136,193,293,491,880,281,299,251,56,419,-68,204,204,608,711,837,839,346,822,884,882,940,941,990,991,994,398,1044,606,1056,1046,1083,1087,1146,1149,1155,49,399,158,-178,123,393,441,669,838,1006,1234,597,729,782,347,391,453,943,1058,1225,1228,1239,1139,1255,-191,-158,-134,-196,64,207,217,269,682,722,779,785,791,898,1034,1140,1240,657,1276,1284,1292,1320,1328,1332,1341,1461,1096,1227,1327,1471,1475,1482,1469,1545,1558,1568,1548,1502,1582,1628,1636,217,1643,1644,1646,1649,1650,1651,1550,1553,1565,1597,1599,1602,1469,1611,1669,1574,1575,1605,1603,1620,1613,1617,1618,1589,1648,1614,1616,1655,1619,1657,1598,1667,1662,1668,1673,1675,1677,1652,1654,1656,1664,1663,1665,1666,1625,1659,1682,1706,1697,1653,1716,1718,1658,1660,1661,1670,1676,1708,1717,1720,1722,1723,1756,1727,1764,1728,1694,1695,1730,1709,1732,1746,1747,1698,1700,1789,1769,1791,1771,1775,1776,1777,1773,1778,1779,1780,1788,1801,1798,1795,1802,1810,1725,1792,1734,1755,1758,1816,1765,1735,1736,1782,1790,1783,1809,1815,1814,1821,1829,1830,1870,1879,1883,1885,1890,1892,1893,1794,1797,1799,1881,1888,1864,1876,1898],Xe=[1616,1616,1534,1616,1271,1271,1271,1405,1271,1271,1271,1534,1534,1534,1271,1271,1271,1271,1271,1271,1401,1433,1433,1594,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1532,1271,1271,1271,1271,1634,1634,1271,1618,1617,1271,1271,1271,1442,1271,1271,1271,1449,1271,1271,1271,1271,1271,1271,1535,1536,1271,1271,1271,1271,1593,1595,1551,1577,1456,1455,1454,1453,1444,1421,1447,1440,1528,1529,1527,1531,1535,1536,1271,1443,1495,1512,1494,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1504,1511,1510,1509,1518,1508,1505,1497,1496,1498,1499,1271,1271,1299,1271,1362,1271,1271,1271,1271,1271,1484,1500,1486,1485,1487,1271,1515,1501,1514,1513,1601,1304,1303,1552,1271,1271,1271,1271,1271,1271,1271,1634,1271,1271,1271,1271,1271,1598,1596,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1427,1271,1271,1271,1634,1634,1271,1427,1427,1271,1296,1634,1634,1308,1308,1308,1612,1395,1395,1395,1395,1405,1395,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1401,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1281,1679,1271,1569,1401,1401,1401,1403,1394,1283,1679,1679,1459,1448,1402,1424,1448,1424,1676,1446,1459,1459,1446,1459,1402,1676,1334,1671,1327,1433,1433,1433,1423,1423,1423,1423,1424,1427,1427,1530,1402,1394,1271,1364,1679,1364,1364,1678,1678,1552,1466,1469,1366,1372,1372,1372,1372,1293,1446,1293,1446,1466,1466,1446,1469,1446,1366,1366,1576,1574,1293,1542,1293,1542,1364,1364,1364,1349,1271,1271,1542,1364,1334,1364,1349,1364,1364,1656,1441,1271,1546,1546,1542,1537,1647,1647,1436,1436,1271,1385,1439,1437,1446,1441,1441,1352,1293,1666,1666,1280,1280,1280,1684,1684,1612,1315,1315,1336,1336,1315,1271,1271,1271,1271,1271,1271,1309,1271,1271,1271,1553,1271,1271,1271,1271,1271,1271,1271,1271,1412,1271,1271,1271,1271,1271,1271,1271,1271,1619,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1474,1271,1276,1609,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1450,1451,1271,1271,1271,1271,1271,1271,1271,1271,1573,1572,1271,1271,1271,1271,1271,1465,1271,1271,1271,1460,1271,1271,1271,1271,1271,1271,1271,1271,1413,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1332,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1381,1271,1271,1533,1271,1271,1271,1271,1271,1438,1271,1271,1271,1271,1271,1271,1271,1271,1271,1271,1428,1271,1271,1271,1389,1271,1271,1271,1271,1271,1271,1387,1271,1271,1271,1271,1271,1271,1271,1271,1653,1410,1475,1271,1479,1297,1271,1288,1271,1271],Me=[0,0,59,59,59,59,0,59,59,59,0,59,59,59,59,0,0,0,59,0,0,59,0,0,0,0,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,0,0,0,59,59,0,0,0,0,0,0,0,0,0,0,0,0,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],we=[190,190,192,192,191,193,195,195,195,194,194,194,194,193,193,193,193,193,193,200,200,199,199,202,202,205,205,207,207,203,203,208,196,196,210,210,210,210,211,211,209,209,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,215,224,224,220,220,222,222,225,225,225,225,226,226,226,226,226,223,223,227,227,227,204,204,228,228,229,230,230,230,230,230,233,233,218,218,234,234,235,235,193,237,237,193,193,193,206,206,206,238,238,243,243,243,243,239,239,239,251,239,253,253,244,244,244,254,245,245,245,255,255,255,246,246,257,257,256,256,256,256,201,201,262,262,262,262,258,258,258,258,258,260,260,260,259,259,259,241,241,231,231,219,219,219,264,264,264,248,248,249,249,242,242,242,242,193,247,247,266,266,266,266,193,267,267,267,267,193,193,270,270,270,270,270,270,271,271,268,268,269,269,263,263,217,217,217,217,216,216,216,216,217,217,217,217,217,217,217,217,217,217,217,216,217,217,217,217,217,217,217,217,217,273,273,217,217,217,217,217,217,217,217,217,217,217,217,274,274,217,275,275,217,217,217,217,217,217,278,278,279,279,277,277,261,261,252,252,276,276,193,280,280,221,221,232,232,281,281,193,193,193,282,282,193,193,193,193,193,283,283,283,283,213,213,214,193,284,284,284,284,285,285,285,285,286,286,287,287,288,288,290,290,289,289,289,289,217,217,236,236,236,193,193,193,292,292,193,193,193,193,193,193,193,193,193,193,193,193,193,193,193,294,296,297,297,298,265,265,265,301,301,301,300,240,240,302,302,303,304,304,304,304,304,304,305,305,305,308,308,308,310,310,311,311,309,309,309,312,312,313,313,313,313,250,272,272,272,307,307,306,216,188,189,189,190,197,197,198,205,212,212,229,235,254,217,283,290,291,291,293,293,295,295,296,299,299,299],Fe=[2,3,1,3,1,3,0,1,2,0,1,1,1,2,2,2,3,5,6,0,3,1,0,5,2,0,3,2,1,4,2,2,1,1,0,1,4,6,1,2,2,0,2,2,4,3,3,2,2,3,5,2,4,4,1,2,4,2,3,4,0,1,0,2,2,3,3,3,2,2,1,1,2,3,2,0,2,2,0,2,3,1,1,2,7,5,5,10,0,1,0,3,0,2,1,1,4,2,0,8,4,1,5,6,3,1,3,1,2,1,1,7,8,1,4,1,5,5,1,1,0,0,3,2,4,2,1,0,0,2,2,0,5,7,6,6,1,3,1,3,3,5,1,1,2,3,4,2,4,0,0,3,2,0,3,5,3,1,1,0,2,2,0,0,3,0,2,0,2,4,4,6,0,2,0,2,2,4,9,5,7,3,5,7,8,0,2,12,9,5,8,2,0,2,1,0,3,3,1,3,1,3,5,1,1,1,1,1,3,6,5,8,4,12,6,9,5,13,1,5,3,3,3,3,3,3,3,3,1,2,3,5,2,3,3,4,6,5,2,2,2,3,1,2,5,1,2,5,3,5,4,4,5,5,4,2,0,1,0,1,0,3,1,0,3,11,1,0,0,3,5,3,0,2,4,2,3,2,0,2,4,5,4,5,1,1,1,1,2,1,2,14,1,1,2,0,1,1,1,3,0,3,0,2,3,2,3,2,8,6,5,1,4,6,1,1,1,4,6,3,0,2,1,2,1,2,6,8,6,8,6,9,10,11,9,1,4,7,0,1,3,1,0,2,3,1,2,3,6,1,3,1,3,5,5,6,4,5,1,2,0,3,6,1,1,1,1,2,1,2,2,2,2,0,2,2,2,1,1,2,2,1,1,4,2,5,1,1,2,1,1,1,0,1,1,1,1,0,1,2,1,1,0,1,0,0,1,1,3,2,0,4,2],Pe=[[1,2,5,10,11,12,13,14,17,30,32,40,70,78,81,99,134,139,140,163],[0,1,2,5,10,11,12,13,14,17,30,32,40,70,78,81,99,134,139,140,163],[19,20,22,36,59,71,81,101,107,108,115,117,118,119,122,139,140,154,155,156,157,158,184],[5,10,11,12,13,14,17,30,32,40,70,78,81,99,134,139,140,163],[19,20,22,36,59,71,81,101,107,108,115,117,118,119,122,139,140,154,155,156,157,158,184],[73,81,128,129,130,139,140],[11,73,81,128,129,130,139,140],[81,139,140],[19,20,22,36,48,59,71,85,90,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,85,90,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,85,90,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[81,121,139,140],[81,139,140],[81,139,140],[81,139,140],[81,139,140],[81,139,140],[19,24,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,59,103,104,105,106,107,108,109,110,111,112,113,114,118],[19,31,39,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,31,39,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,67,103,104,105,106,107,108,109,110,111,112,113,114],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[59,107,108,116,117,118,119,121,129,155,156],[59,107,108,116,117,118,119,121,129,155,156],[59,76,87,89,92,117,118,119,146],[59,76,87,89,92,117,118,119,146],[59,117,118,119,120,123,124,125,133],[25,139,140],[25,139,140],[25,139,140],[25,139,140],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,86,88,103,104,105,106,107,108,109,110,111,112,113,114],[19,25,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,69,103,104,105,106,107,108,109,110,111,112,113,114],[19,23,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,23,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,24,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114,151],[19,23,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,23,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,23,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,23,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,23,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,23,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,23,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,23,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114,160],[19,23,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114,160],[19,24,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,44,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,45,46,47,48,49,50,51,52,53,54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,141,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,109,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,141,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[19,20,22,36,59,71,101,107,108,115,117,118,119,122,154,155,156,157,158,184],[54,55,56,57,58,103,104,105,106,107,108,109,110,111,112,113,114],[54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[54,55,56,57,103,104,105,106,107,108,109,110,111,112,113,114],[103,104,105,106,107,108,109,110,111,112,113,114],[107,108,109,110,111,112,113,114],[109,110,111,112,113,114],[59,72,117,118,119],[59,72,117,118,119],[26,59,117,118,119],[59,117,118,119],[19,46,116,132],[59,117,118,119],[107,108,155,156],[107,108,155,156],[59,117,118,119],[59,117,118,119],[95,166,167],[112,113,114],[166,167],[166,167],[166,167],[139,140],[114],[114],[],[],[19,24,96,114,120,121,122,123,124,125,126,132],[19,24,96,114,120,121,122,123,124,125,126,132],[19,24,96,114,120,121,122,123,124,125,126,132],[59,117,118,119,152],[22,59,117,118,119],[22,59,117,118,119],[22,59,117,118,119],[22,59,117,118,119],[12,27,42,63,73],[12,27,42,63,73],[22,59,117,118,119],[76,87,89,92,146],[22,59,117,118,119],[26,59,117,118,119],[22,23,25,102],[22,23,25,102],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[135,137,138,146],[59,117,118,119],[59,117,118,119],[59,117,118,119],[25,76,89,92],[25,76,89,92],[59,117,118,119],[135,137,138,146],[135,137,138,146],[59,117,118,119],[21,80,124,162],[76,89,92],[76,89,92],[59,118],[59,118],[59,118],[],[],[],[],[],[],[],[22,59,101,107,108,117,118,122,154,155,156,184],[101,118,122,154,155,156,184],[101,118,122,154,155,156,184],[22,59,117,118,119],[120,123,124,125,133],[22,59,117,118,119],[59,109,117,118,119],[59,117,118,119,144],[59,117,118,119,144],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[73,128,129,130],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[35,66,74,131],[35,66,74,131],[35,66,74,131],[59,117,118,119],[59,117,118,119],[59,117,118,119],[23,25,119,144],[59,117,118,119],[59,117,118,119],[59,117,118,119],[22,24,59,118],[66,85,94,147],[12,27,42,63],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[59,117,118,119],[60,120,125],[128,129,130],[29,33,65],[24,59,118],[24,59,118],[24,59,118],[25,119,144],[109,136,141],[7,8,9],[60,120],[15,60],[116,151],[150,151],[25,143],[19,117],[150,151],[19,117],[19,117],[25,150],[116,151],[116,151],[25,150],[116,151],[25,143],[19,117],[25,127],[23,25],[46,116],[31,39],[31,39],[31,39],[116,145],[116,145],[116,145],[116,145],[19,117],[25,146],[25,146],[159,161],[25,143],[136,141],[22,24],[116],[60],[116],[116],[38],[38],[152],[151],[22],[43],[18],[18],[18],[18],[18],[150],[18],[150],[151],[151],[150],[22],[150],[43],[43],[159],[62],[18],[22],[18],[22],[116],[116],[116],[64],[22],[22],[22],[116],[127],[116],[64],[116],[116],[166],[149],[24],[114],[114],[22],[22],[91],[91],[82],[82],[159],[165],[148],[147],[150],[149],[149],[25],[18],[13],[13],[6],[6],[6],[],[],[],[],[],[],[],[],[46,47,48,49,122],[100,134,163,164],[16,77,79,162],[22,23,102],[22,23,102],[128,129,130],[22,59,118],[16,77,79],[23,25],[131,134],[22,53],[23,25],[130,153],[130,153],[23,25],[22,61],[23,25],[23,25],[23,25],[24,142],[23,25],[23,25],[59,118],[121,122],[7,8],[122,132],[23,25],[23,146],[19,98],[59,118],[23,25],[23,25],[83,84],[23,25],[23,25],[23,25],[155,156],[155,156],[23,25],[59,118],[22,142],[4],[3],[22],[122],[19],[122],[19],[22],[22],[125],[15],[16],[23],[23],[140],[152],[131],[25],[25],[143],[20],[145],[16],[22],[116],[162],[68],[25],[68],[75],[41],[1],[143],[131],[25],[131],[61],[37],[25],[152],[53],[53],[53],[53],[131],[117],[34],[24],[1],[5],[116],[24],[20],[19],[132],[126],[22],[67],[22],[22],[23],[22],[67],[59],[24],[97],[28],[22],[67],[37],[23],[34],[150],[22],[23],[34],[146],[22],[147],[23],[25],[23],[22],[98],[143],[143],[23],[23],[23],[136],[142],[23],[25],[23],[117],[34],[22],[144],[25],[34],[34],[34],[34],[88],[75],[86],[44],[75],[93],[25],[34],[23],[22],[25],[22],[25],[23],[22],[11],[22],[25],[22],[23],[23],[22],[34],[23],[22],[24],[25],[142],[142],[142],[142],[25],[23],[15],[1],[1]],Ye=["\u{24}","SEMI","EXPLAIN","QUERY","PLAN","BEGIN","TRANSACTION","DEFERRED","IMMEDIATE","EXCLUSIVE","COMMIT","END","ROLLBACK","SAVEPOINT","RELEASE","TO","TABLE","CREATE","IF","NOT","EXISTS","TEMP","LP","RP","AS","COMMA","WITHOUT","ABORT","ACTION","AFTER","ANALYZE","ASC","ATTACH","BEFORE","BY","CASCADE","CAST","CONFLICT","DATABASE","DESC","DETACH","EACH","FAIL","OR","AND","IS","MATCH","LIKE_KW","BETWEEN","IN","ISNULL","NOTNULL","NE","EQ","GT","LE","LT","GE","ESCAPE","ID","COLUMNKW","DO","FOR","IGNORE","INITIALLY","INSTEAD","NO","KEY","OF","OFFSET","PRAGMA","RAISE","RECURSIVE","REPLACE","RESTRICT","ROW","ROWS","TRIGGER","VACUUM","VIEW","VIRTUAL","WITH","NULLS","FIRST","LAST","CURRENT","FOLLOWING","PARTITION","PRECEDING","RANGE","UNBOUNDED","EXCLUDE","GROUPS","OTHERS","TIES","WITHIN","GENERATED","ALWAYS","MATERIALIZED","REINDEX","RENAME","CTIME_KW","ANY","BITAND","BITOR","LSHIFT","RSHIFT","PLUS","MINUS","STAR","SLASH","REM","CONCAT","PTR","COLLATE","BITNOT","ON","INDEXED","STRING","JOIN_KW","CONSTRAINT","DEFAULT","NULL","PRIMARY","UNIQUE","CHECK","REFERENCES","AUTOINCR","INSERT","DELETE","UPDATE","SET","DEFERRABLE","FOREIGN","DROP","UNION","ALL","EXCEPT","INTERSECT","SELECT","VALUES","DISTINCT","DOT","FROM","JOIN","USING","ORDER","GROUP","HAVING","LIMIT","WHERE","RETURNING","INTO","NOTHING","BLOB","FLOAT","INTEGER","VARIABLE","CASE","WHEN","THEN","ELSE","INDEX","ALTER","ADD","WINDOW","OVER","FILTER","COLUMN","AGG_FUNCTION","AGG_COLUMN","TRUEFALSE","ISNOT","FUNCTION","UPLUS","UMINUS","TRUTH","REGISTER","VECTOR","SELECT_COLUMN","IF_NULL_ROW","ASTERISK","SPAN","ERROR","QNUMBER","SPACE","COMMENT","ILLEGAL","input","cmdlist","ecmd","cmdx","explain","cmd","transtype","trans_opt","nm","savepoint_opt","createkw","temp","ifnotexists","fullname","create_table_args","columnlist","conslist_opt","table_option_set","select","table_option","columnname","carglist","typetoken","typename","signed","plus_num","minus_num","ccons","term","expr","onconf","sortorder","autoinc","eidlist_opt","refargs","defer_subclause","generated","refarg","refact","init_deferred_pred_opt","conslist","tconscomma","tcons","sortlist","eidlist","defer_subclause_opt","orconf","resolvetype","raisetype","ifexists","selectnowith","oneselect","wqlist","orderby_opt","limit_opt","multiselect_op","distinct","selcollist","from","where_opt","groupby_opt","having_opt","window_clause","values","nexprlist","mvalues","sclp","as","seltablist","stl_prefix","joinop","indexed_opt","on_using","exprlist","xfullname","idlist","nulls","with","where_opt_ret","setlist","insert_cmd","idlist_opt","upsert","returning","filter_over","likeop","between_op","in_op","paren_exprlist","case_operand","case_exprlist","case_else","uniqueflag","collate","vinto","nmnum","trigger_time","trigger_event","foreach_clause","when_clause","trigger_cmd_list","trigger_cmd","tridxby","database_kw_opt","key_opt","kwcolumn_opt","create_vtab","vtabarglist","vtabarg","vtabargtoken","lp","anylist","wqitem","wqas","windowdefn_list","windowdefn","window","frame_opt","filter_clause","over_clause","range_or_rows","frame_bound","frame_bound_s","frame_bound_e","frame_exclude_opt","frame_exclude"],Be={yy_action:Se,yy_lookahead:_e,yy_shift_ofst:De,yy_reduce_ofst:Ue,yy_default:Xe,yyFallback:Me,yyRuleInfoLhs:we,yyRuleInfoNRhs:Fe,yy_expected:Pe},Ge=(r,o,e,s)=>{let m=(n,t,...i)=>{r.errors.push({message:n,span:t,hints:i})};switch(o){case 0:case 1:{Fn(r);return}case 2:{r.explain="Explain";return}case 3:{r.explain="QueryPlan";return}case 4:return;case 5:{let n=e[1].minor,t=e[2].minor;r.stmt={type:"BeginStmt",tx:n,txName:t,span:s};return}case 6:case 7:{let n;return n=void 0,n}case 8:{let n=e[1].minor,t;return t=n,t}case 9:{let n;return n=void 0,n}case 10:{let n;return n="Deferred",n}case 11:{let n;return n="Immediate",n}case 12:{let n;return n="Exclusive",n}case 13:{let n=e[1].minor;r.stmt={type:"CommitStmt",txName:n,span:s};return}case 14:{let n=e[1].minor;r.stmt={type:"RollbackStmt",txName:n,savepointName:void 0,span:s};return}case 15:{let n=e[1].minor;r.stmt={type:"SavepointStmt",savepointName:n,span:s};return}case 16:{let n=e[2].minor;r.stmt={type:"ReleaseStmt",savepointName:n,span:s};return}case 17:{let n=e[1].minor,t=e[4].minor;r.stmt={type:"RollbackStmt",txName:n,savepointName:t,span:s};return}case 18:{let n=e[1].minor,t=e[3].minor,i=e[4].minor,a=e[5].minor;r.stmt={type:"CreateTableStmt",temporary:n,ifNotExists:t,tblName:i,body:a,span:s};return}case 19:{let n;return n=!1,n}case 20:case 21:{let n;return n=!0,n}case 22:{let n;return n=!1,n}case 23:{let n=e[1].minor,t=e[2].minor,i=e[4].minor,a;return a=Mn(n,t,i,s),a}case 24:{let n=e[1].minor,t;return t={type:"AsSelectCreateTableBody",select:n,span:s},t}case 25:{let n;return n=0,n}case 26:{let n=e[0].minor,t=e[2].minor,i;return i=n|t,i}case 27:{let n=e[1].minor,t;return n.text.toLowerCase()==="rowid"?t=128:(r.errors.push(G(\`unknown table option: \u{24}{n.text}\`,n.span,{message:"expected WITHOUT ROWID",span:void 0})),t=0),t}case 28:{let n=e[0].minor,t;return n.text.toLowerCase()==="strict"?t=65536:(r.errors.push(G(\`unknown table option: \u{24}{n.text}\`,n.span,{message:"expected STRICT or WITHOUT ROWID",span:void 0})),t=0),t}case 29:{let n=e[2].minor,t=e[3].minor,i=e[0].minor,a=I1(n.colName,n.colType,t,s);return Y1(r,i,a),i}case 30:{let n=e[0].minor,t=e[1].minor,i,a=I1(n.colName,n.colType,t,s);return i=[],Y1(r,i,a),i}case 31:{let n=e[0].minor,t=e[1].minor,i;return i={colName:n,colType:t,span:s},i}case 32:case 33:{let n=e[0].minor,t;return t=c1(n),t}case 34:{let n;return n=void 0,n}case 35:{let n=e[0].minor,t;return t={type:"Type",name:n,size:void 0,span:s},t}case 36:{let n=e[0].minor,t=e[2].minor,i;return i={type:"Type",name:n,size:{type:"MaxSizeTypeSize",size:t,span:s},span:s},i}case 37:{let n=e[0].minor,t=e[2].minor,i=e[4].minor,a;return a={type:"Type",name:n,size:{type:"TypeSizeTypeSize",size1:t,size2:i,span:s},span:s},a}case 38:{let n=e[0].minor,t;return t=V(n.text),t}case 39:{let n=e[1].minor,t=e[0].minor;return t=t+" "+V(n.text),t}case 40:{let n=e[1].minor,t=e[0].minor;return n&&t.push(n),t}case 41:{let n;return n=[],n}case 42:{let n=e[1].minor,t;return r.constraintName=n,t=void 0,t}case 43:{let n=e[1].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"DefaultColumnConstraint",expr:n,span:s},span:s},r.constraintName=void 0,t}case 44:{let n=e[2].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"DefaultColumnConstraint",expr:D1(n,s),span:s},span:s},r.constraintName=void 0,t}case 45:{let n=e[2].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"DefaultColumnConstraint",expr:s1("Positive",n,s),span:s},span:s},r.constraintName=void 0,t}case 46:{let n=e[2].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"DefaultColumnConstraint",expr:s1("Negative",n,s),span:s},span:s},r.constraintName=void 0,t}case 47:{let n=e[1].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"DefaultColumnConstraint",expr:r1(n),span:s},span:s},r.constraintName=void 0,t}case 48:{let n=e[1].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"NotNullColumnConstraint",nullable:!0,conflictClause:n,span:s},span:s},r.constraintName=void 0,t}case 49:{let n=e[2].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"NotNullColumnConstraint",nullable:!1,conflictClause:n,span:s},span:s},r.constraintName=void 0,t}case 50:{let n=e[2].minor,t=e[3].minor,i=e[4].minor,a;return a={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"PrimaryKeyColumnConstraint",order:n,conflictClause:t,autoIncrement:i,span:s},span:s},r.constraintName=void 0,a}case 51:{let n=e[1].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"UniqueColumnConstraint",conflictClause:n,span:s},span:s},r.constraintName=void 0,t}case 52:{let n=e[2].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"CheckColumnConstraint",expr:n,span:s},span:s},r.constraintName=void 0,t}case 53:{let n=e[1].minor,t=e[2].minor,i=e[3].minor,a;return a={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"ForeignKeyColumnConstraint",clause:{type:"ForeignKeyClause",tblName:n,columns:t,args:i,span:s},deferClause:void 0,span:s},span:s},r.constraintName=void 0,a}case 54:{let n=e[0].minor,t;return t={type:"NamedColumnConstraint",name:void 0,constraint:{type:"DeferColumnConstraint",clause:n,span:s},span:s},t}case 55:{let n=e[1].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:{type:"CollateColumnConstraint",collationName:c1(n),span:s},span:s},r.constraintName=void 0,t}case 56:{let n=e[3].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:n,span:s},r.constraintName=void 0,t}case 57:{let n=e[1].minor,t;return t={type:"NamedColumnConstraint",name:r.constraintName,constraint:n,span:s},r.constraintName=void 0,t}case 58:{let n=e[1].minor,t;return t={type:"GeneratedColumnConstraint",expr:n,typ:void 0,span:s},t}case 59:{let n=e[1].minor,t=e[3].minor,i;return i={type:"GeneratedColumnConstraint",expr:n,typ:r1(t),span:s},i}case 60:{let n;return n=!1,n}case 61:{let n;return n=!0,n}case 62:{let n;return n=[],n}case 63:{let n=e[1].minor,t=e[0].minor;return t.push(n),t}case 64:{let n=e[1].minor,t;return t={type:"MatchRefArg",name:n,span:s},t}case 65:{let n=e[2].minor,t;return t={type:"OnInsertRefArg",action:n,span:s},t}case 66:{let n=e[2].minor,t;return t={type:"OnDeleteRefArg",action:n,span:s},t}case 67:{let n=e[2].minor,t;return t={type:"OnUpdateRefArg",action:n,span:s},t}case 68:{let n;return n="SetNull",n}case 69:{let n;return n="SetDefault",n}case 70:{let n;return n="Cascade",n}case 71:{let n;return n="Restrict",n}case 72:{let n;return n="NoAction",n}case 73:{let n=e[2].minor,t;return t={type:"DeferSubclause",deferrable:!1,initDeferred:n,span:s},t}case 74:{let n=e[1].minor,t;return t={type:"DeferSubclause",deferrable:!0,initDeferred:n,span:s},t}case 75:{let n;return n=void 0,n}case 76:{let n;return n="InitiallyDeferred",n}case 77:{let n;return n="InitiallyImmediate",n}case 78:{let n;return n=void 0,n}case 79:{let n=e[1].minor,t;return t=n,t}case 80:{let n=e[2].minor,t=e[0].minor;return n&&t.push(n),t}case 81:{let n=e[0].minor,t;return t=n?[n]:[],t}case 82:{r.constraintName=void 0;return}case 83:{let n=e[1].minor,t;return r.constraintName=n,t=void 0,t}case 84:{let n=e[3].minor,t=e[4].minor,i=e[6].minor,a;return a={type:"NamedTableConstraint",name:r.constraintName,constraint:{type:"PrimaryKeyTableConstraint",columns:n,autoIncrement:t,conflictClause:i,span:s},span:s},r.constraintName=void 0,a}case 85:{let n=e[2].minor,t=e[4].minor,i;return i={type:"NamedTableConstraint",name:r.constraintName,constraint:{type:"UniqueTableConstraint",columns:n,conflictClause:t,span:s},span:s},r.constraintName=void 0,i}case 86:{let n=e[2].minor,t=e[4].minor,i;return i={type:"NamedTableConstraint",name:r.constraintName,constraint:{type:"CheckTableConstraint",expr:n,conflictClause:t,span:s},span:s},r.constraintName=void 0,i}case 87:{let n=e[3].minor,t=e[6].minor,i=e[7].minor,a=e[8].minor,c=e[9].minor,A;return A={type:"NamedTableConstraint",name:r.constraintName,constraint:{type:"ForeignKeyTableConstraint",columns:n,clause:{type:"ForeignKeyClause",tblName:t,columns:i,args:a,span:s},deferClause:c,span:s},span:s},r.constraintName=void 0,A}case 88:{let n;return n=void 0,n}case 89:{let n=e[0].minor,t;return t=n,t}case 90:{let n;return n=void 0,n}case 91:{let n=e[2].minor,t;return t=n,t}case 92:{let n;return n=void 0,n}case 93:{let n=e[1].minor,t;return t=n,t}case 94:{let n;return n="Ignore",n}case 95:{let n;return n="Replace",n}case 96:{let n=e[2].minor,t=e[3].minor;r.stmt={type:"DropTableStmt",ifExists:n,tblName:t,span:s};return}case 97:{let n;return n=!0,n}case 98:{let n;return n=!1,n}case 99:{let n=e[1].minor,t=e[3].minor,i=e[4].minor,a=e[5].minor,c=e[7].minor;r.stmt={type:"CreateViewStmt",temporary:n,ifNotExists:t,viewName:i,columns:a,select:c,span:s};return}case 100:{let n=e[2].minor,t=e[3].minor;r.stmt={type:"DropViewStmt",ifExists:n,viewName:t,span:s};return}case 101:{let n=e[0].minor;r.stmt={type:"SelectStmt",body:n,span:s};return}case 102:{let n=e[1].minor,t=e[2].minor,i=e[3].minor,a=e[4].minor,c;return c=T1({type:"With",recursive:!1,ctes:n,span:s},t,i,a,s),c}case 103:{let n=e[2].minor,t=e[3].minor,i=e[4].minor,a=e[5].minor,c;return c=T1({type:"With",recursive:!0,ctes:n,span:s},t,i,a,s),c}case 104:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a;return a=T1(void 0,n,t,i,s),a}case 105:{let n=e[0].minor,t;return t={select:n,compounds:void 0},t}case 106:{let n=e[1].minor,t=e[2].minor,i=e[0].minor;return Un(i,{type:"CompoundSelect",operator:n,select:t,span:s}),i}case 107:{let n;return n="Union",n}case 108:{let n;return n="UnionAll",n}case 109:{let n;return n="Except",n}case 110:{let n;return n="Intersect",n}case 111:{let n=e[1].minor,t=e[2].minor,i=e[3].minor,a=e[4].minor,c=e[5].minor,A=e[6].minor,I;return I=P1(r,n,t,i,a,c,A,void 0,s),I}case 112:{let n=e[1].minor,t=e[2].minor,i=e[3].minor,a=e[4].minor,c=e[5].minor,A=e[6].minor,I=e[7].minor,T;return T=P1(r,n,t,i,a,c,A,I,s),T}case 113:{let n=e[0].minor,t;return t={type:"SelectValues",values:n,span:s},t}case 114:{let n=e[2].minor,t;return t=[{type:"ValuesRow",values:n,span:s}],t}case 115:{let n=e[0].minor,t;return t={type:"SelectValues",values:n,span:s},t}case 116:case 117:{let n=e[3].minor,t=e[0].minor;return Xn(r,t,n,s),t}case 118:{let n;return n="Distinct",n}case 119:{let n;return n="All",n}case 120:{let n;return n=void 0,n}case 121:{let n;return n=[],n}case 122:{let n=e[1].minor,t=e[2].minor,i=e[0].minor;return i.push({type:"ExprResultColumn",expr:n,alias:t,span:s}),i}case 123:{let n=e[0].minor;return n.push({type:"StarResultColumn",span:s}),n}case 124:{let n=e[1].minor,t=e[0].minor;return t.push({type:"TableStarResultColumn",table:n,span:s}),t}case 125:{let n=e[1].minor,t;return t={type:"AsAs",name:n,span:s},t}case 126:{let n=e[0].minor,t;return t={type:"ElidedAs",name:c1(n),span:s},t}case 127:{let n;return n=void 0,n}case 128:{let n;return n=void 0,n}case 129:{let n=e[1].minor,t;return t=F1(n,s),t}case 130:{let n=e[1].minor,t=e[0].minor;return t.pendingOp=n,t}case 131:{let n;return n=Dn(),n}case 132:{let n=e[1].minor,t=e[2].minor,i=e[3].minor,a=e[4].minor,c=e[0].minor;return u1(r,c,{type:"TableSelectTable",tblName:n,alias:t,indexed:i,span:s},a),c}case 133:{let n=e[1].minor,t=e[3].minor,i=e[5].minor,a=e[6].minor,c=e[0].minor;return u1(r,c,{type:"TableCallSelectTable",tblName:n,args:t,alias:i,span:s},a),c}case 134:{let n=e[2].minor,t=e[4].minor,i=e[5].minor,a=e[0].minor;return u1(r,a,{type:"SelectSelectTable",select:n,alias:t,span:s},i),a}case 135:{let n=e[2].minor,t=e[4].minor,i=e[5].minor,a=e[0].minor;return u1(r,a,{type:"SubSelectTable",from:F1(n,s),alias:t,span:s},i),a}case 136:{let n=e[0].minor,t;return t=M1(n,s),t}case 137:{let n=e[0].minor,t=e[2].minor,i;return i=w1(n,t,s),i}case 138:{let n=e[0].minor,t;return t=M1(n,s),t}case 139:{let n=e[0].minor,t=e[2].minor,i;return i=w1(n,t,s),i}case 140:{let n=e[0].minor,t=e[2].minor,i;return i=Sn(n,t,s),i}case 141:{let n=e[0].minor,t=e[2].minor,i=e[4].minor,a;return a=_n(n,t,i,s),a}case 142:{let n;return n={type:"CommaJoinOperator",span:s},n}case 143:{let n;return n={type:"TypedJoinJoinOperator",joinType:void 0,span:s},n}case 144:{let n=e[0].minor,t;return t=C1(r,n,void 0,void 0,s),t}case 145:{let n=e[0].minor,t=e[1].minor,i;return i=C1(r,n,t,void 0,s),i}case 146:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a;return a=C1(r,n,t,i,s),a}case 147:{let n=e[1].minor,t;return t={type:"OnJoinConstraint",expr:n,span:s},t}case 148:{let n=e[2].minor,t;return t={type:"UsingJoinConstraint",columns:n,span:s},t}case 149:{let n;return n=void 0,n}case 150:{let n;return n=void 0,n}case 151:{let n=e[2].minor,t;return t={type:"IndexedByIndexed",idxName:n,span:s},t}case 152:{let n;return n={type:"NotIndexedIndexed",span:s},n}case 153:{let n;return n=void 0,n}case 154:{let n=e[2].minor,t;return t=n,t}case 155:{let n=e[2].minor,t=e[3].minor,i=e[4].minor,a=e[0].minor;return a.push({type:"SortedColumn",expr:n,order:t,nulls:i,span:s}),a}case 156:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a;return a=[{type:"SortedColumn",expr:n,order:t,nulls:i,span:s}],a}case 157:{let n;return n="Asc",n}case 158:{let n;return n="Desc",n}case 159:{let n;return n=void 0,n}case 160:{let n;return n="First",n}case 161:{let n;return n="Last",n}case 162:{let n;return n=void 0,n}case 163:{let n;return n=void 0,n}case 164:{let n=e[2].minor,t;return t=n,t}case 165:{let n;return n=void 0,n}case 166:{let n=e[1].minor,t;return t=n,t}case 167:{let n;return n=void 0,n}case 168:{let n=e[1].minor,t;return t={type:"Limit",expr:n,offset:void 0,span:s},t}case 169:{let n=e[1].minor,t=e[3].minor,i;return i={type:"Limit",expr:n,offset:t,span:s},i}case 170:{let n=e[1].minor,t=e[3].minor,i;return i={type:"Limit",expr:t,offset:n,span:s},i}case 171:{let n=e[0].minor,t=e[3].minor,i=e[4].minor,a=e[5].minor;r.stmt={type:"DeleteStmt",with:n,tblName:t,indexed:i,whereClause:a.where,returning:a.returning,orderBy:void 0,limit:void 0,span:s};return}case 172:{let n;return n=void 0,n}case 173:{let n=e[1].minor,t;return t=n,t}case 174:{let n;return n={where:void 0,returning:void 0,span:s},n}case 175:{let n=e[1].minor,t;return t={where:n,returning:void 0,span:s},t}case 176:{let n=e[1].minor,t;return t={where:void 0,returning:n,span:s},t}case 177:{let n=e[1].minor,t=e[3].minor,i;return i={where:n,returning:t,span:s},i}case 178:{let n=e[0].minor,t=e[2].minor,i=e[3].minor,a=e[4].minor,c=e[6].minor,A=e[7].minor,I=e[8].minor;r.stmt={type:"UpdateStmt",with:n,orConflict:t,tblName:i,indexed:a,sets:c,from:A,whereClause:I.where,returning:I.returning,orderBy:void 0,limit:void 0,span:s};return}case 179:{let n=e[2].minor,t=e[4].minor,i=e[0].minor;return i.push({type:"SetAssignment",colNames:[n],expr:t,span:s}),i}case 180:{let n=e[3].minor,t=e[6].minor,i=e[0].minor;return i.push({type:"SetAssignment",colNames:n,expr:t,span:s}),i}case 181:{let n=e[0].minor,t=e[2].minor,i;return i=[{type:"SetAssignment",colNames:[n],expr:t,span:s}],i}case 182:{let n=e[1].minor,t=e[4].minor,i;return i=[{type:"SetAssignment",colNames:n,expr:t,span:s}],i}case 183:{let n=e[0].minor,t=e[1].minor,i=e[3].minor,a=e[4].minor,c=e[5].minor,A=e[6].minor;r.stmt={type:"InsertStmt",with:n,orConflict:t,tblName:i,columns:a,body:{type:"SelectInsertBody",select:c,upsert:A.upsert,span:s},returning:A.returning,span:s};return}case 184:{let n=e[0].minor,t=e[1].minor,i=e[3].minor,a=e[4].minor,c=e[7].minor;r.stmt={type:"InsertStmt",with:n,orConflict:t,tblName:i,columns:a,body:{type:"DefaultValuesInsertBody",span:s},returning:c.columns,span:s};return}case 185:{let n;return n={upsert:void 0,returning:void 0,returningSpan:void 0,span:s},n}case 186:{let n=e[1].minor,t;return t={upsert:void 0,returning:n,returningSpan:s,span:s},t}case 187:{let n=e[3].minor,t=e[5].minor,i=e[9].minor,a=e[10].minor,c=e[11].minor,A;return A={upsert:{type:"Upsert",index:B1(r,n,t,s),doClause:{type:"SetUpsertDo",sets:i,whereClause:a,span:s},next:c.upsert,span:s},returning:c.returning,returningSpan:c.returningSpan,span:s},A}case 188:{let n=e[3].minor,t=e[5].minor,i=e[8].minor,a;return a={upsert:{type:"Upsert",index:B1(r,n,t,s),doClause:{type:"NothingUpsertDo",span:s},next:i.upsert,span:s},returning:i.returning,returningSpan:i.returningSpan,span:s},a}case 189:{let n=e[4].minor,t;return t={upsert:{type:"Upsert",index:void 0,doClause:{type:"NothingUpsertDo",span:s},next:void 0,span:s},returning:n.columns,returningSpan:n.span,span:s},t}case 190:{let n=e[5].minor,t=e[6].minor,i=e[7].minor,a;return a={upsert:{type:"Upsert",index:void 0,doClause:{type:"SetUpsertDo",sets:n,whereClause:t,span:s},next:void 0,span:s},returning:i.columns,returningSpan:i.span,span:s},a}case 191:{let n=e[1].minor,t;return t={columns:n,span:s},t}case 192:{let n;return n={columns:void 0,span:void 0},n}case 193:{let n=e[1].minor,t;return t=n,t}case 194:{let n;return n="Replace",n}case 195:{let n;return n=void 0,n}case 196:{let n=e[1].minor,t;return t=n,t}case 197:{let n=e[2].minor,t=e[0].minor,i=t.find(a=>a.text===n.text);return i?r.errors.push(N1(\`column "\u{24}{n.text}" specified more than once\`,n.span,i.span)):t.push(n),t}case 198:{let n=e[0].minor,t;return t=[n],t}case 199:{let n=e[1].minor,t;return t=D1(n,s),t}case 200:{let n=e[0].minor,t;return t=r1(n),t}case 201:{let n=e[0].minor,t=e[2].minor,i;return i={type:"QualifiedExpr",schema:void 0,table:n,column:t,span:s},i}case 202:{let n=e[0].minor,t=e[2].minor,i=e[4].minor,a;return a={type:"QualifiedExpr",schema:n,table:t,column:i,span:s},a}case 203:{let n=e[0].minor,t;return t=fn(n),t}case 204:{let n=e[0].minor,t;return t=An(n),t}case 205:{let n=e[0].minor,t;return t=En(n),t}case 206:{let n=e[0].minor,t;return t=m1(n),t}case 207:{let n=e[0].minor,t;return t=dn(n),t}case 208:{let n=e[0].minor,t=e[2].minor,i;return i=yn(n,t,s),i}case 209:{let n=e[2].minor,t=e[4].minor,i;return i=Ln(n,t,s),i}case 210:{let n=e[0].minor,t=e[2].minor,i=e[3].minor,a;return a=z(r,n,t,i,void 0,void 0,s),a}case 211:{let n=e[0].minor,t=e[2].minor,i=e[3].minor,a=e[6].minor,c;return c=z(r,n,t,i,{type:"SortListFunctionCallOrder",columns:a,span:s},void 0,s),c}case 212:{let n=e[0].minor,t;return t=X1(n,void 0,s),t}case 213:{let n=e[0].minor,t=e[2].minor,i=e[3].minor,a=e[10].minor,c;return c=z(r,n,t,i,{type:"WithinGroupFunctionCallOrder",expr:a,span:s},void 0,s),c}case 214:{let n=e[0].minor,t=e[2].minor,i=e[3].minor,a=e[5].minor,c;return c=z(r,n,t,i,void 0,a,s),c}case 215:{let n=e[0].minor,t=e[2].minor,i=e[3].minor,a=e[6].minor,c=e[8].minor,A;return A=z(r,n,t,i,{type:"SortListFunctionCallOrder",columns:a,span:s},c,s),A}case 216:{let n=e[0].minor,t=e[4].minor,i;return i=X1(n,t,s),i}case 217:{let n=e[0].minor,t=e[2].minor,i=e[3].minor,a=e[10].minor,c=e[12].minor,A;return A=z(r,n,t,i,{type:"WithinGroupFunctionCallOrder",expr:a,span:s},c,s),A}case 218:{let n=e[0].minor,t;return t=ln(n),t}case 219:{let n=e[1].minor,t=e[3].minor,i;return i={type:"ParenthesizedExpr",exprs:[...n,t],span:s},i}case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a;return a=J(n,Cn(t.type,o1),i,s),a}case 228:{let n=e[0].minor,t;return t={not:!1,op:_1(n,o1),span:s},t}case 229:{let n=e[1].minor,t;return t={not:!0,op:_1(n,o1),span:s},t}case 230:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a;return a=U1(n,t.not,t.op,i,void 0,s),a}case 231:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a=e[4].minor,c;return c=U1(n,t.not,t.op,i,a,s),c}case 232:{let n=e[0].minor,t=e[1].minor,i;return i=bn(n,t.type,o1,s),i}case 233:{let n=e[0].minor,t;return t={type:"NotNullExpr",expr:n,span:s},t}case 234:{let n=e[0].minor,t=e[2].minor,i;return i=J(n,"Is",t,s),i}case 235:{let n=e[0].minor,t=e[3].minor,i;return i=J(n,"IsNot",t,s),i}case 236:{let n=e[0].minor,t=e[5].minor,i;return i=J(n,"Is",t,s),i}case 237:{let n=e[0].minor,t=e[4].minor,i;return i=J(n,"IsNot",t,s),i}case 238:case 239:case 240:{let n=e[0].minor,t=e[1].minor,i;return i=s1(Tn(n.type,o1),t,s),i}case 241:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a;return a=J(n,In(t),i,s),a}case 242:{let n;return n=!1,n}case 243:{let n;return n=!0,n}case 244:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a=e[4].minor,c;return c=Rn(n,t,i,a,s),c}case 245:{let n;return n=!1,n}case 246:{let n;return n=!0,n}case 247:{let n=e[0].minor,t=e[1].minor,i=e[3].minor,a;return a=kn(n,t,i,s),a}case 248:{let n=e[1].minor,t;return t=On(n,s),t}case 249:{let n=e[0].minor,t=e[1].minor,i=e[3].minor,a;return a=hn(n,t,i,s),a}case 250:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a=e[3].minor,c;return c=gn(n,t,i,a,s),c}case 251:{let n=e[2].minor,t;return t=xn(n,s),t}case 252:{let n=e[1].minor,t=e[2].minor,i=e[3].minor,a;return a={type:"CaseExpr",base:n,whenThenPairs:t,elseExpr:i,span:s},a}case 253:{let n=e[2].minor,t=e[4].minor,i=e[0].minor;return i.push({type:"WhenThen",when:n,then:t,span:s}),i}case 254:{let n=e[1].minor,t=e[3].minor,i;return i=[{type:"WhenThen",when:n,then:t,span:s}],i}case 255:{let n=e[1].minor,t;return t=n,t}case 256:{let n;return n=void 0,n}case 257:{let n=e[0].minor,t;return t=n,t}case 258:{let n;return n=void 0,n}case 259:{let n=e[0].minor,t;return t=n,t}case 260:{let n;return n=void 0,n}case 261:{let n=e[2].minor,t=e[0].minor;return t.push(n),t}case 262:{let n=e[0].minor,t;return t=[n],t}case 263:{let n;return n=void 0,n}case 264:{let n=e[1].minor,t;return t=n,t}case 265:{let n=e[1].minor,t=e[3].minor,i=e[4].minor,a=e[6].minor,c=e[8].minor,A=e[10].minor;r.stmt={type:"CreateIndexStmt",unique:n,ifNotExists:t,idxName:i,tblName:a,columns:c,whereClause:A,span:s};return}case 266:{let n;return n=!0,n}case 267:{let n;return n=!1,n}case 268:{let n;return n=void 0,n}case 269:{let n=e[1].minor,t;return t=n,t}case 270:{let n=e[2].minor,t=e[3].minor,i=e[4].minor,a=e[0].minor;return a.push({type:"IndexedColumn",colName:n,collationName:t,order:i,span:s}),a}case 271:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a;return a=[{type:"IndexedColumn",colName:n,collationName:t,order:i,span:s}],a}case 272:{let n;return n=void 0,n}case 273:{let n=e[1].minor,t;return t=c1(n),t}case 274:{let n=e[2].minor,t=e[3].minor;r.stmt={type:"DropIndexStmt",ifExists:n,idxName:t,span:s};return}case 275:{let n=e[1].minor;r.stmt={type:"VacuumStmt",dbName:void 0,into:n,span:s};return}case 276:{let n=e[1].minor,t=e[2].minor;r.stmt={type:"VacuumStmt",dbName:n,into:t,span:s};return}case 277:{let n=e[1].minor,t;return t=n,t}case 278:{let n;return n=void 0,n}case 279:{let n=e[1].minor;r.stmt={type:"PragmaStmt",name:n,body:void 0,span:s};return}case 280:{let n=e[1].minor,t=e[3].minor;r.stmt={type:"PragmaStmt",name:n,body:{type:"EqualsPragmaBody",value:t,span:s},span:s};return}case 281:{let n=e[1].minor,t=e[3].minor;r.stmt={type:"PragmaStmt",name:n,body:{type:"CallPragmaBody",value:t,span:s},span:s};return}case 282:{let n=e[1].minor,t=e[3].minor;r.stmt={type:"PragmaStmt",name:n,body:{type:"EqualsPragmaBody",value:t,span:s},span:s};return}case 283:{let n=e[1].minor,t=e[3].minor;r.stmt={type:"PragmaStmt",name:n,body:{type:"CallPragmaBody",value:t,span:s},span:s};return}case 284:{let n=e[0].minor,t;return t={type:"NameExpr",name:n,span:s},t}case 285:case 286:case 287:{let n=e[0].minor,t;return t=Nn(n),t}case 288:{let n=e[1].minor,t;return t=s1("Positive",m1(n),s),t}case 289:{let n=e[0].minor,t;return t=m1(n),t}case 290:{let n=e[1].minor,t;return t=s1("Negative",m1(n),s),t}case 291:{let n=e[1].minor,t=e[3].minor,i=e[4].minor,a=e[5].minor,c=e[6].minor,A=e[8].minor,I=e[9].minor,T=e[10].minor,C=e[12].minor;r.stmt={type:"CreateTriggerStmt",temporary:n,ifNotExists:t,triggerName:i,time:a,event:c,tblName:A,forEachRow:I,whenClause:T,commands:C,span:s};return}case 292:{let n;return n="Before",n}case 293:{let n;return n="After",n}case 294:{let n;return n="InsteadOf",n}case 295:{let n;return n=void 0,n}case 296:{let n;return n={type:"DeleteTriggerEvent",span:s},n}case 297:{let n;return n={type:"InsertTriggerEvent",span:s},n}case 298:{let n;return n={type:"UpdateTriggerEvent",span:s},n}case 299:{let n=e[2].minor,t;return t={type:"UpdateOfTriggerEvent",columns:n,span:s},t}case 300:{let n;return n=!1,n}case 301:{let n;return n=!0,n}case 302:{let n;return n=void 0,n}case 303:{let n=e[1].minor,t;return t=n,t}case 304:{let n=e[1].minor,t=e[0].minor;return t.push(n),t}case 305:{let n=e[0].minor,t;return t=[n],t}case 306:{r.errors.push(G("the INDEXED BY clause is not allowed on UPDATE or DELETE statements within triggers",s));return}case 307:{r.errors.push(G("the NOT INDEXED clause is not allowed on UPDATE or DELETE statements within triggers",s));return}case 308:{let n=e[1].minor,t=e[2].minor,i=e[5].minor,a=e[6].minor,c=e[7].minor,A;return A={type:"UpdateTriggerCmd",orConflict:n,tblName:t,sets:i,from:a,whereClause:c,span:s},A}case 309:{let n=e[0].minor,t=e[2].minor,i=e[3].minor,a=e[4].minor,c=e[5].minor,A;return c.returning&&r.errors.push(G("cannot use RETURNING in a trigger",c.returningSpan??s)),A={type:"InsertTriggerCmd",orConflict:n,tblName:t,colNames:i,select:a,upsert:c.upsert,span:s},A}case 310:{let n=e[2].minor,t=e[4].minor,i;return i={type:"DeleteTriggerCmd",tblName:n,whereClause:t,span:s},i}case 311:{let n=e[0].minor,t;return t={type:"SelectTriggerCmd",select:n,span:s},t}case 312:{let n;return n={type:"RaiseExpr",resolve:"Ignore",message:void 0,span:s},n}case 313:{let n=e[2].minor,t=e[4].minor,i;return i={type:"RaiseExpr",resolve:n,message:t,span:s},i}case 314:{let n;return n="Rollback",n}case 315:{let n;return n="Abort",n}case 316:{let n;return n="Fail",n}case 317:{let n=e[2].minor,t=e[3].minor;r.stmt={type:"DropTriggerStmt",ifExists:n,triggerName:t,span:s};return}case 318:{let n=e[2].minor,t=e[4].minor,i=e[5].minor;r.stmt={type:"AttachStmt",expr:n,dbName:t,key:i,span:s};return}case 319:{let n=e[2].minor;r.stmt={type:"DetachStmt",expr:n,span:s};return}case 320:{let n;return n=void 0,n}case 321:{let n=e[1].minor,t;return t=n,t}case 322:{r.stmt={type:"ReindexStmt",objName:void 0,span:s};return}case 323:{let n=e[1].minor;r.stmt={type:"ReindexStmt",objName:n,span:s};return}case 324:{r.stmt={type:"AnalyzeStmt",objName:void 0,span:s};return}case 325:{let n=e[1].minor;r.stmt={type:"AnalyzeStmt",objName:n,span:s};return}case 326:{let n=e[2].minor,t=e[5].minor;r.stmt={type:"AlterTableStmt",tblName:n,body:{type:"RenameToAlterTableBody",name:t,span:s},span:s};return}case 327:{let n=e[2].minor,t=e[5].minor,i=e[6].minor,a=e[7].minor,c=I1(t,i,a,s);r.stmt={type:"AlterTableStmt",tblName:n,body:{type:"AddColumnAlterTableBody",column:c,span:s},span:s};return}case 328:{let n=e[2].minor,t=e[5].minor;r.stmt={type:"AlterTableStmt",tblName:n,body:{type:"DropColumnAlterTableBody",column:t,span:s},span:s};return}case 329:{let n=e[2].minor,t=e[5].minor,i=e[7].minor;r.stmt={type:"AlterTableStmt",tblName:n,body:{type:"RenameColumnAlterTableBody",old:t,new:i,span:s},span:s};return}case 330:{let n=e[2].minor,t=e[5].minor;r.stmt={type:"AlterTableStmt",tblName:n,body:{type:"DropConstraintAlterTableBody",name:t,span:s},span:s};return}case 331:{let n=e[2].minor,t=e[5].minor;r.stmt={type:"AlterTableStmt",tblName:n,body:{type:"DropColumnNotNullAlterTableBody",column:t,span:s},span:s};return}case 332:{let n=e[2].minor,t=e[5].minor,i=e[9].minor;r.stmt={type:"AlterTableStmt",tblName:n,body:{type:"SetColumnNotNullAlterTableBody",column:t,onConflict:i,span:s},span:s};return}case 333:{let n=e[2].minor,t=e[5].minor,i=e[8].minor,a=e[10].minor,c={type:"CheckTableConstraint",expr:i,conflictClause:a,span:s};r.stmt={type:"AlterTableStmt",tblName:n,body:{type:"AddConstraintAlterTableBody",constraint:{type:"NamedTableConstraint",name:t,constraint:c,span:s},span:s},span:s};return}case 334:{let n=e[2].minor,t=e[6].minor,i=e[8].minor,a={type:"CheckTableConstraint",expr:t,conflictClause:i,span:s};r.stmt={type:"AlterTableStmt",tblName:n,body:{type:"AddConstraintAlterTableBody",constraint:{type:"NamedTableConstraint",name:void 0,constraint:a,span:s},span:s},span:s};return}case 335:{let n=e[0].minor;r.stmt=n;return}case 336:{let n=e[0].minor;r.vtabArgCurrent.length>0&&(r.vtabArgs.push(r.vtabArgCurrent),r.vtabArgCurrent=""),n.type==="CreateVirtualTableStmt"?r.stmt={...n,args:r.vtabArgs.slice(),span:s}:r.stmt=n,r.vtabArgs=[];return}case 337:{let n=e[3].minor,t=e[4].minor,i=e[6].minor,a;return a={type:"CreateVirtualTableStmt",ifNotExists:n,tblName:t,moduleName:i,args:void 0,span:s},a}case 338:{r.vtabArgCurrent.length>0&&r.vtabArgs.push(r.vtabArgCurrent),r.vtabArgCurrent="";return}case 339:{let n=e[0].minor;r.vtabArgCurrent+=n.text;return}case 340:{let n=e[2].minor;r.vtabArgCurrent+=n.text;return}case 341:{let n=e[0].minor;r.vtabArgCurrent+=n.text;return}case 342:{let n;return n=void 0,n}case 343:{let n=e[1].minor,t;return t={type:"With",recursive:!1,ctes:n,span:s},t}case 344:{let n=e[2].minor,t;return t={type:"With",recursive:!0,ctes:n,span:s},t}case 345:{let n;return n="Any",n}case 346:{let n;return n="Yes",n}case 347:{let n;return n="No",n}case 348:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a=e[4].minor,c;return c={type:"CommonTableExpr",tblName:n,columns:t,materialized:i,select:a,span:s},c}case 349:{let n=e[0].minor,t;return t=[n],t}case 350:{let n=e[2].minor,t=e[0].minor;return wn(r,t,n),t}case 351:{let n=e[0].minor,t;return t=[n],t}case 352:{let n=e[2].minor,t=e[0].minor;return t.push(n),t}case 353:{let n=e[0].minor,t=e[3].minor,i;return i={type:"WindowDef",name:n,window:t,span:s},i}case 354:{let n=e[2].minor,t=e[3].minor,i=e[4].minor,a;return a={type:"Window",base:void 0,partitionBy:n,orderBy:t,frameClause:i,span:s},a}case 355:{let n=e[0].minor,t=e[3].minor,i=e[4].minor,a=e[5].minor,c;return c={type:"Window",base:n,partitionBy:t,orderBy:i,frameClause:a,span:s},c}case 356:{let n=e[2].minor,t=e[3].minor,i;return i={type:"Window",base:void 0,partitionBy:void 0,orderBy:n,frameClause:t,span:s},i}case 357:{let n=e[0].minor,t=e[3].minor,i=e[4].minor,a;return a={type:"Window",base:n,partitionBy:void 0,orderBy:t,frameClause:i,span:s},a}case 358:{let n=e[0].minor,t;return t={type:"Window",base:void 0,partitionBy:void 0,orderBy:void 0,frameClause:n,span:s},t}case 359:{let n=e[0].minor,t=e[1].minor,i;return i={type:"Window",base:n,partitionBy:void 0,orderBy:void 0,frameClause:t,span:s},i}case 360:{let n;return n=void 0,n}case 361:{let n=e[0].minor,t=e[1].minor,i=e[2].minor,a;return a={type:"FrameClause",mode:n,start:t,end:void 0,exclude:i,span:s},a}case 362:{let n=e[0].minor,t=e[2].minor,i=e[4].minor,a=e[5].minor,c;return c={type:"FrameClause",mode:n,start:t,end:i,exclude:a,span:s},c}case 363:{let n;return n="Range",n}case 364:{let n;return n="Rows",n}case 365:{let n;return n="Groups",n}case 366:{let n=e[0].minor,t;return t=n,t}case 367:{let n;return n={type:"UnboundedPrecedingFrameBound",span:s},n}case 368:{let n=e[0].minor,t;return t=n,t}case 369:{let n;return n={type:"UnboundedFollowingFrameBound",span:s},n}case 370:{let n=e[0].minor,t;return t={type:"PrecedingFrameBound",expr:n,span:s},t}case 371:{let n;return n={type:"CurrentRowFrameBound",span:s},n}case 372:{let n=e[0].minor,t;return t={type:"FollowingFrameBound",expr:n,span:s},t}case 373:{let n;return n=void 0,n}case 374:{let n=e[1].minor,t;return t=n,t}case 375:{let n;return n="NoOthers",n}case 376:{let n;return n="CurrentRow",n}case 377:{let n;return n="Group",n}case 378:{let n;return n="Ties",n}case 379:{let n=e[1].minor,t;return t=n,t}case 380:{let n=e[0].minor,t=e[1].minor,i;return i={type:"FunctionTail",filterClause:n,overClause:t,span:s},i}case 381:{let n=e[0].minor,t;return t={type:"FunctionTail",filterClause:void 0,overClause:n,span:s},t}case 382:{let n=e[0].minor,t;return t={type:"FunctionTail",filterClause:n,overClause:void 0,span:s},t}case 383:{let n=e[2].minor,t;return t={type:"WindowOver",window:n,span:s},t}case 384:{let n=e[1].minor,t;return t={type:"NameOver",name:n,span:s},t}case 385:{let n=e[3].minor,t;return t=n,t}case 386:{let n=e[0].minor,t,i=an(n.text,{digitSeparator:r.digitSeparator});return i.error&&r.errors.push(G(i.error,n.span,{message:"digit separators must sit between two digits (e.g. 1_000, 0xDE_AD)",span:void 0})),t={type:"NumericLiteral",value:i.text,span:n.span},t}case 387:case 388:case 389:case 390:case 391:return e[0].minor;case 392:return;case 393:return e[0].minor;case 394:return e[0].minor;case 395:case 396:return e[0].minor;case 397:return;case 398:return e[0].minor;case 399:return e[0].minor;case 400:case 401:return e[0].minor;case 402:return;case 403:return e[0].minor;case 404:case 405:return;case 406:case 407:case 408:case 409:return e[0].minor;case 410:return;case 411:case 412:return e[0].minor;default:return}},We=Bn;var Gn={meta:{maskFlags:{ALTER:1,ALWAYS:2,ANALYZE:4,ATTACH:8,AUTOINCR:16,CAST:32,COMPOUND:64,CONFLICT:128,EXPLAIN:256,FKEY:512,PRAGMA:1024,REINDEX:2048,SUBQUERY:4096,TRIGGER:8192,VACUUM:16384,VIEW:32768,VTAB:65536,AUTOVACUUM:131072,CTE:262144,UPSERT:524288,WINDOWFUNC:1048576,GENCOL:2097152,RETURNING:4194304,ORDERSET:8388608}},keywords:[{name:"ABORT",token:"ABORT",mask:8320},{name:"ACTION",token:"ACTION",mask:512},{name:"ADD",token:"ADD",mask:1},{name:"AFTER",token:"AFTER",mask:8192},{name:"ALL",token:"ALL",mask:2},{name:"ALTER",token:"ALTER",mask:1},{name:"ALWAYS",token:"ALWAYS",mask:2097152},{name:"ANALYZE",token:"ANALYZE",mask:4},{name:"AND",token:"AND",mask:2},{name:"AS",token:"AS",mask:2},{name:"ASC",token:"ASC",mask:2},{name:"ATTACH",token:"ATTACH",mask:8},{name:"AUTOINCREMENT",token:"AUTOINCR",mask:16},{name:"BEFORE",token:"BEFORE",mask:8192},{name:"BEGIN",token:"BEGIN",mask:2},{name:"BETWEEN",token:"BETWEEN",mask:2},{name:"BY",token:"BY",mask:2},{name:"CASCADE",token:"CASCADE",mask:512},{name:"CASE",token:"CASE",mask:2},{name:"CAST",token:"CAST",mask:32},{name:"CHECK",token:"CHECK",mask:2},{name:"COLLATE",token:"COLLATE",mask:2},{name:"COLUMN",token:"COLUMNKW",mask:1},{name:"COMMIT",token:"COMMIT",mask:2},{name:"CONFLICT",token:"CONFLICT",mask:128},{name:"CONSTRAINT",token:"CONSTRAINT",mask:2},{name:"CREATE",token:"CREATE",mask:2},{name:"CROSS",token:"JOIN_KW",mask:2},{name:"CURRENT",token:"CURRENT",mask:1048576},{name:"CURRENT_DATE",token:"CTIME_KW",mask:2},{name:"CURRENT_TIME",token:"CTIME_KW",mask:2},{name:"CURRENT_TIMESTAMP",token:"CTIME_KW",mask:2},{name:"DATABASE",token:"DATABASE",mask:8},{name:"DEFAULT",token:"DEFAULT",mask:2},{name:"DEFERRED",token:"DEFERRED",mask:2},{name:"DEFERRABLE",token:"DEFERRABLE",mask:512},{name:"DELETE",token:"DELETE",mask:2},{name:"DESC",token:"DESC",mask:2},{name:"DETACH",token:"DETACH",mask:8},{name:"DISTINCT",token:"DISTINCT",mask:2},{name:"DO",token:"DO",mask:524288},{name:"DROP",token:"DROP",mask:2},{name:"END",token:"END",mask:2},{name:"EACH",token:"EACH",mask:8192},{name:"ELSE",token:"ELSE",mask:2},{name:"ESCAPE",token:"ESCAPE",mask:2},{name:"EXCEPT",token:"EXCEPT",mask:64},{name:"EXCLUSIVE",token:"EXCLUSIVE",mask:2},{name:"EXCLUDE",token:"EXCLUDE",mask:1048576},{name:"EXISTS",token:"EXISTS",mask:2},{name:"EXPLAIN",token:"EXPLAIN",mask:256},{name:"FAIL",token:"FAIL",mask:8320},{name:"FILTER",token:"FILTER",mask:1048576},{name:"FIRST",token:"FIRST",mask:2},{name:"FOLLOWING",token:"FOLLOWING",mask:1048576},{name:"FOR",token:"FOR",mask:8192},{name:"FOREIGN",token:"FOREIGN",mask:512},{name:"FROM",token:"FROM",mask:2},{name:"FULL",token:"JOIN_KW",mask:2},{name:"GENERATED",token:"GENERATED",mask:2},{name:"GLOB",token:"LIKE_KW",mask:2},{name:"GROUP",token:"GROUP",mask:2},{name:"GROUPS",token:"GROUPS",mask:1048576},{name:"HAVING",token:"HAVING",mask:2},{name:"IF",token:"IF",mask:2},{name:"IGNORE",token:"IGNORE",mask:8320},{name:"IMMEDIATE",token:"IMMEDIATE",mask:2},{name:"IN",token:"IN",mask:2},{name:"INDEX",token:"INDEX",mask:2},{name:"INDEXED",token:"INDEXED",mask:2},{name:"INITIALLY",token:"INITIALLY",mask:512},{name:"INNER",token:"JOIN_KW",mask:2},{name:"INSERT",token:"INSERT",mask:2},{name:"INSTEAD",token:"INSTEAD",mask:8192},{name:"INTERSECT",token:"INTERSECT",mask:64},{name:"INTO",token:"INTO",mask:2},{name:"IS",token:"IS",mask:2},{name:"ISNULL",token:"ISNULL",mask:2},{name:"JOIN",token:"JOIN",mask:2},{name:"KEY",token:"KEY",mask:2},{name:"LAST",token:"LAST",mask:2},{name:"LEFT",token:"JOIN_KW",mask:2},{name:"LIKE",token:"LIKE_KW",mask:2},{name:"LIMIT",token:"LIMIT",mask:2},{name:"MATCH",token:"MATCH",mask:2},{name:"MATERIALIZED",token:"MATERIALIZED",mask:262144},{name:"NATURAL",token:"JOIN_KW",mask:2},{name:"NO",token:"NO",mask:1049088},{name:"NOT",token:"NOT",mask:2},{name:"NOTHING",token:"NOTHING",mask:524288},{name:"NOTNULL",token:"NOTNULL",mask:2},{name:"NULL",token:"NULL",mask:2},{name:"NULLS",token:"NULLS",mask:2},{name:"OF",token:"OF",mask:2},{name:"OFFSET",token:"OFFSET",mask:2},{name:"ON",token:"ON",mask:2},{name:"OR",token:"OR",mask:2},{name:"ORDER",token:"ORDER",mask:2},{name:"OTHERS",token:"OTHERS",mask:1048576},{name:"OUTER",token:"JOIN_KW",mask:2},{name:"OVER",token:"OVER",mask:1048576},{name:"PARTITION",token:"PARTITION",mask:1048576},{name:"PLAN",token:"PLAN",mask:256},{name:"PRAGMA",token:"PRAGMA",mask:1024},{name:"PRECEDING",token:"PRECEDING",mask:1048576},{name:"PRIMARY",token:"PRIMARY",mask:2},{name:"QUERY",token:"QUERY",mask:256},{name:"RAISE",token:"RAISE",mask:8192},{name:"RANGE",token:"RANGE",mask:1048576},{name:"RECURSIVE",token:"RECURSIVE",mask:262144},{name:"REFERENCES",token:"REFERENCES",mask:512},{name:"REGEXP",token:"LIKE_KW",mask:2},{name:"REINDEX",token:"REINDEX",mask:2048},{name:"RELEASE",token:"RELEASE",mask:2},{name:"RENAME",token:"RENAME",mask:1},{name:"REPLACE",token:"REPLACE",mask:128},{name:"RESTRICT",token:"RESTRICT",mask:512},{name:"RETURNING",token:"RETURNING",mask:4194304},{name:"RIGHT",token:"JOIN_KW",mask:2},{name:"ROLLBACK",token:"ROLLBACK",mask:2},{name:"ROW",token:"ROW",mask:8192},{name:"ROWS",token:"ROWS",mask:2},{name:"SAVEPOINT",token:"SAVEPOINT",mask:2},{name:"SELECT",token:"SELECT",mask:2},{name:"SET",token:"SET",mask:2},{name:"TABLE",token:"TABLE",mask:2},{name:"TEMP",token:"TEMP",mask:2},{name:"TEMPORARY",token:"TEMP",mask:2},{name:"THEN",token:"THEN",mask:2},{name:"TIES",token:"TIES",mask:1048576},{name:"TO",token:"TO",mask:2},{name:"TRANSACTION",token:"TRANSACTION",mask:2},{name:"TRIGGER",token:"TRIGGER",mask:8192},{name:"UNBOUNDED",token:"UNBOUNDED",mask:1048576},{name:"UNION",token:"UNION",mask:64},{name:"UNIQUE",token:"UNIQUE",mask:2},{name:"UPDATE",token:"UPDATE",mask:2},{name:"USING",token:"USING",mask:2},{name:"VACUUM",token:"VACUUM",mask:16384},{name:"VALUES",token:"VALUES",mask:2},{name:"VIEW",token:"VIEW",mask:32768},{name:"VIRTUAL",token:"VIRTUAL",mask:65536},{name:"WHEN",token:"WHEN",mask:2},{name:"WHERE",token:"WHERE",mask:2},{name:"WINDOW",token:"WINDOW",mask:1048576},{name:"WITH",token:"WITH",mask:262144},{name:"WITHIN",token:"WITHIN",mask:8388608},{name:"WITHOUT",token:"WITHOUT",mask:2}]};var P=G1(W1,Gn,{}),Rt=P.parse,kt=P.parseOrThrow,Wn=P.parseStmt,ht=P.parseStmtOrThrow,gt=P.tokenize,Ot=P.tokenName,xt=P.createEngine,bt=P.withOptions,St=P.reduce,_t=P.createState,Dt=P.parserDefs,Ut=P.keywordDefs;if(ve||p===null)throw new Error("SQLite runtime must execute inside its owned Worker");var _=null,y1=null,H1=!1,Hn=!1;function b(r,o,e,s=!1){let m=new Error(r);return m.code=o,m.operation=e,m.retryable=s,m}function vn(r,o){let e=r instanceof Error?r.message:String(r),s=r&&typeof r=="object"?r.errstr??r.code??null:null,m=s==null?null:String(s),n=m==null?"":m.toUpperCase();return{message:e,sqliteCode:m,operation:r&&typeof r.operation=="string"?r.operation:o,retryable:r&&r.retryable===!0||n.includes("BUSY")||n.includes("LOCKED")}}function Ke(r,o){if(r===null)return null;if(typeof r=="boolean")return r?1:0;if(typeof r=="string")return o.value+=d1.byteLength(r,"utf8"),r;if(typeof r=="number"){if(!Number.isFinite(r))throw b("SQLite number parameters must be finite","SQLITE_INPUT","params");if(Number.isInteger(r)&&!Number.isSafeInteger(r))throw b("SQLite integer parameters must be safe integers","SQLITE_INPUT","params");return o.value+=8,r}if(r instanceof Uint8Array)return o.value+=r.byteLength,r;throw b("SQLite parameters support only null, bool, string, finite number, and Bytes","SQLITE_INPUT","params")}function Qe(r){if(!Array.isArray(r)||r.length>999)throw b("SQLite parameters must be a List with at most 999 values","SQLITE_INPUT","params");let o={value:0},e=r.map(s=>Ke(s,o));if(o.value>W.maxResultBytes)throw b("SQLite parameters exceed the connection byte limit","SQLITE_INPUT","params");return e}function v1(r,o,e){if(!Array.isArray(r)||r.length!==o.length+1||r.length>1e3)throw b("SQLite statements require exactly one more SQL fragment than bound parameters","SQLITE_INPUT",e);let s=0,m=r.map(a=>{if(typeof a!="string"||a.includes("\\0")||a.includes("?"))throw b("SQLite SQL fragments must be text without NUL or raw parameter placeholders","SQLITE_INPUT",e);return s+=d1.byteLength(a,"utf8"),a});if(s===0||s>1024*1024)throw b("SQLite SQL must be non-empty text no longer than 1 MiB","SQLITE_INPUT",e);let n=Qe(o),t=m.join("?"),i=Wn(t);if(i.status!=="ok"){let a=i.errors.length===0?"invalid statement":i.errors[0].message;throw b("SQLite requires exactly one valid statement: "+a,"SQLITE_INPUT",e)}return{fragments:m,bound:n}}function Ve(r,o){let e=typeof r=="bigint"?Number(r):r;if(!Number.isSafeInteger(e)||e<0)throw b(o+" is outside VelarScript's safe integer range","SQLITE_INTEGER_RANGE","result");return e}function Ze(r,o,e){if(r===null)return null;if(typeof r=="string")return o.value+=d1.byteLength(r,"utf8"),r;if(typeof r=="number"){if(!Number.isFinite(r))throw b("SQLite returned a non-finite number in "+e,"SQLITE_RESULT","result");return o.value+=8,r}if(typeof r=="bigint"){let s=Number(r);if(!Number.isSafeInteger(s))throw b("SQLite returned an integer outside VelarScript's safe range in "+e,"SQLITE_INTEGER_RANGE","result");return o.value+=8,s}if(r instanceof Uint8Array)return o.value+=r.byteLength,r;throw b("SQLite returned an unsupported value in "+e,"SQLITE_RESULT","result")}function Kn(r,o){if(r===null||typeof r!="object"||Array.isArray(r))throw b("SQLite returned a non-record row","SQLITE_RESULT","result");let e=Object.create(null);for(let s of Object.keys(r))if(o.value+=d1.byteLength(s,"utf8"),e[s]=Ze(r[s],o,s),o.value>W.maxResultBytes)throw b("SQLite result exceeds the connection byte limit","SQLITE_RESULT_LIMIT","result");return e}function \u{24}e(r){let o=v1(r.fragments,r.params,"execute"),e=y1.run(o.fragments,...o.bound);return Ve(e.changes,"SQLite affected row count")}function qe(r){let o=v1(r.fragments,r.params,"one"),e=y1.get(o.fragments,...o.bound);return e===void 0?null:Kn(e,{value:0})}function je(r){let o=v1(r.fragments,r.params,"all"),e=[],s={value:0};for(let m of y1.iterate(o.fragments,...o.bound)){if(e.length>=W.maxRows)throw b("SQLite result exceeds the connection row limit","SQLITE_ROW_LIMIT","all");e.push(Kn(m,s))}return e}function Je(r){if(H1)throw b("SQLite connection is closed","SQLITE_CLOSED",r.operation);if(r.operation==="execute")return \u{24}e(r);if(r.operation==="one")return qe(r);if(r.operation==="all")return je(r);if(r.operation==="begin"){if(_.isTransaction)throw b("SQLite transaction is already active","SQLITE_TRANSACTION","begin",!0);return _.exec("BEGIN IMMEDIATE"),null}if(r.operation==="commit"){if(!_.isTransaction)throw b("SQLite transaction is not active","SQLITE_TRANSACTION","commit");return _.exec("COMMIT"),null}if(r.operation==="rollback")return _.isTransaction&&_.exec("ROLLBACK"),null;if(r.operation==="close"){let o=null;try{_.isTransaction&&_.exec("ROLLBACK")}catch(e){o=e}try{_.close()}catch(e){o===null&&(o=e)}if(H1=!0,o!==null)throw o;return null}throw b("Unknown SQLite operation","SQLITE_PROTOCOL",String(r.operation))}try{_=new He(W.path,{timeout:W.busyTimeoutMilliseconds,readOnly:W.readOnly,enableForeignKeyConstraints:!0,enableDoubleQuotedStringLiterals:!1,allowExtension:!1,readBigInts:!0,allowBareNamedParameters:!1,allowUnknownNamedParameters:!1,defensive:!0,limits:{length:W.maxResultBytes,sqlLength:1024*1024,column:2e3,exprDepth:1e3,compoundSelect:500,vdbeOp:25e4,functionArg:1e3,attach:0,likePatternLength:5e4,variableNumber:999,triggerDepth:100}}),_.enableDefensive(!0),_.enableLoadExtension(!1),_.setAuthorizer((r,o,e)=>r===i1.SQLITE_ATTACH||r===i1.SQLITE_DETACH?i1.SQLITE_DENY:r===i1.SQLITE_FUNCTION&&typeof e=="string"&&e.toLowerCase()==="load_extension"?i1.SQLITE_DENY:i1.SQLITE_OK),y1=_.createTagStore(W.statementCacheCapacity),W.journalMode!==null&&_.exec("PRAGMA journal_mode = "+W.journalMode.toUpperCase()),Hn=!0,p.postMessage({kind:"ready"})}catch(r){let o=vn(r,"open");try{_?.isTransaction===!0&&_.exec("ROLLBACK")}catch{}try{_?.close()}catch{}H1=!0;try{p.postMessage({kind:"ready",error:o})}finally{p.close()}}Hn&&p.on("message",r=>{let o;try{let e=Je(r);o={kind:"response",id:r.id,value:e}}catch(e){o={kind:"response",id:r.id,error:vn(e,r.operation)}}try{p.postMessage(o)}finally{r.operation==="close"&&p.close()}});\n`
|